@elyx-code/project-logic-tree 0.0.6100 → 0.0.6101

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
@@ -36274,8 +36274,8 @@ This is likely an incorrect strategy, either the '${this.type}' entity doesn't n
36274
36274
  name: this.name,
36275
36275
  autogeneration: this.autogeneration,
36276
36276
  value: this.value,
36277
- // @ts-ignore
36278
- valueAsType: this.valueAsType ? Array.isArray(this.valueAsType) ? this.valueAsType.map((t) => t.toReference()) : this.valueAsType.toReference() : null,
36277
+ parentRelationType: this.parentRelationType,
36278
+ valueAsType: this.valueAsType ? Array.isArray(this.valueAsType) ? this.valueAsType.map((t) => t.toJSON()) : this.valueAsType.toJSON() : null,
36279
36279
  parent: (e = this.parent) == null ? void 0 : e.toReference()
36280
36280
  };
36281
36281
  }
@@ -36353,7 +36353,7 @@ This is likely an incorrect strategy, either the '${this.type}' entity doesn't n
36353
36353
  a,
36354
36354
  this.project
36355
36355
  );
36356
- return e && o.setParent(e), i && o.subscribe(), o;
36356
+ return o.initChildren(), e && o.setParent(e), i && o.subscribe(), o;
36357
36357
  }
36358
36358
  // This function merges a given source entity with the current one
36359
36359
  // The goal is to keep the current instance with the current id
@@ -43630,19 +43630,16 @@ function Pq(r) {
43630
43630
  return e.push(...t), e;
43631
43631
  }
43632
43632
  function Aq(r) {
43633
- var i;
43633
+ var t;
43634
43634
  if (!r || r.type !== n.CustomEntity || !_a(r, x.PERSISTED_ENTITY))
43635
43635
  return null;
43636
- const t = T([
43637
- ...r.allBasePropertiesFromExtendedAndImplementedEntities,
43638
- ...r.ownDeclaredProperties
43639
- ]).find(
43640
- (a) => {
43641
- var s;
43642
- return ((s = a.implements) == null ? void 0 : s.id) === C[n.BuiltInBaseEntity][x.PERSISTED_ENTITY].properties.database.id;
43636
+ const e = r.properties.find(
43637
+ (i) => {
43638
+ var a;
43639
+ return ((a = i.implements) == null ? void 0 : a.id) === C[n.BuiltInBaseEntity][x.PERSISTED_ENTITY].properties.database.id;
43643
43640
  }
43644
43641
  );
43645
- return (i = t == null ? void 0 : t.getDefaultValue()) == null ? void 0 : i.valueAsType;
43642
+ return (t = e == null ? void 0 : e.getDefaultValue()) == null ? void 0 : t.valueAsType;
43646
43643
  }
43647
43644
  function f2(r, e) {
43648
43645
  const t = [];
@@ -43896,20 +43893,22 @@ Alternatively you can update the parent data-type entity with 'update' action to
43896
43893
  );
43897
43894
  }
43898
43895
  get implementedPropertiesFromOriginalParents() {
43899
- return T([
43900
- ...this.extends.reduce((e, t) => {
43901
- const i = t.implementedPropertiesFromOriginalParents, a = [...t.ownDeclaredProperties].filter(
43902
- (s) => !!s.abstract && !i.find((o) => o.name === s.name)
43903
- );
43904
- return [...i, ...a, ...e];
43905
- }, []),
43906
- ...this.implements.reduce((e, t) => {
43907
- const i = t.implementedPropertiesFromOriginalParents, a = [...t.ownDeclaredProperties].filter(
43908
- (s) => !!s.abstract && !i.find((o) => o.name === s.name)
43909
- );
43910
- return [...i, ...a, ...e];
43911
- }, [])
43912
- ].filter((e) => !!e.abstract));
43896
+ return T(
43897
+ [
43898
+ ...this.extends.reduce((e, t) => {
43899
+ const i = t.implementedPropertiesFromOriginalParents, a = [...t.ownDeclaredProperties].filter(
43900
+ (s) => !!s.abstract && !i.find((o) => o.name === s.name)
43901
+ );
43902
+ return [...i, ...a, ...e];
43903
+ }, []),
43904
+ ...this.implements.reduce((e, t) => {
43905
+ const i = t.implementedPropertiesFromOriginalParents, a = [...t.ownDeclaredProperties].filter(
43906
+ (s) => !!s.abstract && !i.find((o) => o.name === s.name)
43907
+ );
43908
+ return [...i, ...a, ...e];
43909
+ }, [])
43910
+ ].filter((e) => !!e.abstract)
43911
+ );
43913
43912
  }
43914
43913
  get extendedProperties() {
43915
43914
  return this.properties.filter((e) => e.isExtendedProperty);
@@ -44018,10 +44017,14 @@ Alternatively you can update the parent data-type entity with 'update' action to
44018
44017
  }
44019
44018
  // If this custom entity implements a base entity, it creates a new property for each property implemented that doesn't yet have one
44020
44019
  syncImplementationProperties() {
44021
- return this.implementedPropertiesFromOriginalParents.filter((i) => !!!this.allBasePropertiesFromExtendedAndImplementedEntities.find((o) => {
44022
- var l;
44023
- return ((l = o.implements) == null ? void 0 : l.id) === i.id;
44024
- })).forEach((i) => {
44020
+ return this.implementedPropertiesFromOriginalParents.filter(
44021
+ (i) => !!!this.allBasePropertiesFromExtendedAndImplementedEntities.find(
44022
+ (o) => {
44023
+ var l;
44024
+ return ((l = o.implements) == null ? void 0 : l.id) === i.id;
44025
+ }
44026
+ )
44027
+ ).forEach((i) => {
44025
44028
  if (this.properties.find(
44026
44029
  (l) => {
44027
44030
  var u;
@@ -44036,7 +44039,10 @@ Alternatively you can update the parent data-type entity with 'update' action to
44036
44039
  s.implements = i, s.abstract = !1;
44037
44040
  return;
44038
44041
  }
44039
- const o = i.clone(this);
44042
+ const o = i.clone(
44043
+ this,
44044
+ B.UUID.uuid()
44045
+ );
44040
44046
  o.initChildren(), o.implements = i, o.abstract = !1, this.addProperty(o);
44041
44047
  }), this;
44042
44048
  }
@@ -44049,10 +44055,11 @@ Alternatively you can update the parent data-type entity with 'update' action to
44049
44055
  }
44050
44056
  ) : !0), a = new Set(e.map((s) => s.name));
44051
44057
  return i.forEach((s) => {
44052
- if (a.has(s.name))
44053
- return;
44054
44058
  a.add(s.name);
44055
- const o = s.clone(this);
44059
+ const o = s.clone(
44060
+ this,
44061
+ B.UUID.uuid()
44062
+ );
44056
44063
  o.initChildren(), this.addProperty(o);
44057
44064
  }), this;
44058
44065
  }
@@ -148,7 +148,7 @@ You can update the existing 'primitive-value' with the 'update' action, for exam
148
148
  }
149
149
  }\`\`\`
150
150
  Or 'delete' and then 'post' actions to replace it.`,issue:null})):t.push(new b({id:`${i.id}--${i.parent}--${h.InvalidParentReference}`,code:h.InvalidParentReference,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.id}", has a parent reference that isn't pointing to an entity of type 'input-map' or 'data-type'.`,issue:null})):t.push(new b({id:`${i.id}--${i.parent}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.id}", is referencing an entity with id "${i.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}else t.push(new b({id:`${i.id}--${S.InvalidObjectStructure}`,code:S.InvalidObjectStructure,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.id}" is missing a 'parent' reference. The 'parent' of a primitive value entity must be a reference to an entity of type 'input-map' or 'data-type'.`,issue:null}));else return t.push(new b({id:`${i.id}--${S.InvalidObjectStructure}`,code:S.InvalidObjectStructure,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.id}" is missing a 'parent' reference. The 'parent' of a primitive value entity must be a reference to an entity of type 'input-map' or 'data-type'.`,issue:null})),t;if(i.valueAsType){const r=[],a=[],s=i.valueAsType;Array.isArray(s)?s.forEach(o=>{typeof o=="string"?a.push(o):r.push(o)}):typeof s=="string"?a.push(s):r.push(s),r.forEach(o=>{const l=$o(o);t.push(...l),l.length===0&&a.push(o.entityId)}),a.forEach(o=>{const l=e.get(o);l?[n.CustomEntity,n.BuiltInBaseEntity].includes(l.type)||t.push(new b({id:`${i.id}--${o}--${h.InvalidImplementsReference}`,code:h.InvalidImplementsReference,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.id}", has an 'valueAsType' reference that isn't pointing to an entity of type 'custom-entity', 'function-declaration' or 'operation'.`,issue:null})):t.push(new b({id:`${i.id}--${o}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.id}", is referencing an entity with id "${o}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))})}return t}const Oe=class Oe{constructor(e,t){c(this,"initialData");c(this,"type",n.PrimitiveValue);c(this,"id");c(this,"version");c(this,"name");c(this,"parentRelationType",null);c(this,"autogeneration",null);c(this,"value",null);c(this,"valueAsType",null);c(this,"errors",[]);c(this,"parent");c(this,"standaloneParent");c(this,"project");c(this,"initialized",!1);c(this,"standalone",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.autogeneration=e.autogeneration,this.value=e.value,this.parentRelationType=e.parentRelationType||null}static fromGenerationTarget(e,t){const r=N(e.parent),a=t.get(r);let s=null;e.valueAsType&&(Array.isArray(e.valueAsType)?s=e.valueAsType.map(p=>t.get(p)||t.getBuiltIn(p)):s=t.get(e.valueAsType)||t.getBuiltIn(e.valueAsType));const o={id:e.id,version:1,type:n.PrimitiveValue,name:e.name,autogeneration:e.autogeneration,valueAsType:s,value:e.value||null,parentRelationType:e.parentRelationType||null,parent:a},l=g(o,t);return l.setParent(a),l.initChildren(),l}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=o7(r,t);return a.push(...s,...Le(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new b({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
151
- This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){var a;const e=[this],t=[],r=[];return this.parentRelationType===nl.DataTypeLiteralValue&&this.parent.type===n.DataType?this.parent.setEntity(this):(a=this.parent)==null||a.setDefaultValue(this),e.push(this.parent),{updated:E(e),added:E(t),removed:E(r),self:this}}setParent(e){return this.parent=e,this}setStandaloneParent(e){return this.standaloneParent=e,this}setValueAsType(e){return this.valueAsType=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.standalone){if(this.initialData.valueAsType)if(Array.isArray(this.initialData.valueAsType))this.valueAsType=this.initialData.valueAsType.map(e=>{const t=this.project.get(e.id);if(!t)throw new Error(`Standalone entity of type '${this.type}' with id '${this.id}' has a reference to an entity of type '${e.type}' with id '${e.id}' that is not part of the project state.`);return t});else{const e=this.project.get(this.initialData.valueAsType.id);if(!e)throw new Error(`Standalone entity of type '${this.type}' with id '${this.id}' has a reference to an entity of type '${this.initialData.valueAsType.type}' with id '${this.initialData.valueAsType.id}' that is not part of the project state.`);this.valueAsType=e}return this}return this.initialData.valueAsType&&(Array.isArray(this.initialData.valueAsType)?this.valueAsType=this.initialData.valueAsType.map(e=>g(e,this.project)):this.valueAsType=g(this.initialData.valueAsType,this.project)),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.subscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.autogeneration=e.autogeneration||this.autogeneration,this.parentRelationType=e.parentRelationType||this.parentRelationType,e.value!==void 0&&(this.value=e.value),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 r=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),{affected:E(r),removed:E(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(r=>r.toFlat(e)):this.valueAsType.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(r=>r.toFlatIds(e)):this.valueAsType.toFlatIds(e):[]])}toJSON(){var e;return{id:this.id,version:this.version,type:this.type,name:this.name,autogeneration:this.autogeneration,value:this.value,valueAsType:this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.map(t=>t.toReference()):this.valueAsType.toReference():null,parent:(e=this.parent)==null?void 0:e.toReference()}}toReference(){return{id:this.id+"--"+_.UUID.uuid()+"--ref",type:n.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e;return{id:this.id,version:this.version,type:this.type,name:this.name,valueAsType:this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.map(t=>t.toReference()):this.valueAsType.toReference():null,value:this.value,autogeneration:this.autogeneration,parentRelationType:this.parentRelationType,parent:(e=this.parent)==null?void 0:e.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(r=>r.toFlatJSON(e)):this.valueAsType.toFlatJSON(e):[]])}toGenerationTarget(){var e;return{id:this.id,type:this.type,name:this.name,valueAsType:this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.map(t=>t.id):this.valueAsType.id:null,value:this.value,autogeneration:this.autogeneration,parentRelationType:this.parentRelationType,parent:(e=this.parent)==null?void 0:e.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(r=>r.toFlatGenerationTarget(e)):this.valueAsType.toFlatGenerationTarget(e):[]])}clearErrors(){return this.errors=[],this}validate(){const e=s7(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors]}getShallowErrors(){return this.errors}clone(e=null,t=null,r=!0){const a=this.toJSON(),s=t||Ze(this.name,n.PrimitiveValue,this.project);a.id=s;const o=qt(a,this.project);return e&&o.setParent(e),r&&o.subscribe(),o}merge(e){const t=[],r=[],a=[];return this.valueAsType!==(e==null?void 0:e.valueAsType)&&(this.setValueAsType(e.valueAsType),t.push(this)),this.value!==e.value&&(this.value=e.value,t.push(this)),this.autogeneration!==e.autogeneration&&(this.autogeneration=e.autogeneration,t.push(this)),this.name!==e.name&&(this.name=e.name,t.push(this)),{updated:E(t),added:E(r),removed:E(a),self:this}}};c(Oe,"MUTABLE_BASE_PROPERTIES",["name","autogeneration","value"]),c(Oe,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(Oe,"BASE_PROPERTIES",[...Oe.MUTABLE_BASE_PROPERTIES,...Oe.INMUTABLE_BASE_PROPERTIES]),c(Oe,"MUTABLE_META_PROPERTIES",[...Oe.MUTABLE_BASE_PROPERTIES]),c(Oe,"INMUTABLE_META_PROPERTIES",[...Oe.INMUTABLE_BASE_PROPERTIES]),c(Oe,"META_PROPERTIES",[...Oe.MUTABLE_META_PROPERTIES,...Oe.INMUTABLE_META_PROPERTIES]),c(Oe,"MUTABLE_UPSTREAM_PROPERTIES",[]),c(Oe,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),c(Oe,"UPSTREAM_PROPERTIES",[...Oe.MUTABLE_UPSTREAM_PROPERTIES,...Oe.INMUTABLE_UPSTREAM_PROPERTIES]),c(Oe,"MUTABLE_DOWNSTREAM_PROPERTIES",["valueAsType"]),c(Oe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(Oe,"DOWNSTREAM_PROPERTIES",[...Oe.MUTABLE_DOWNSTREAM_PROPERTIES,...Oe.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(Oe,"PROPERTIES",[...Oe.META_PROPERTIES,...Oe.UPSTREAM_PROPERTIES,...Oe.DOWNSTREAM_PROPERTIES]);let Mi=Oe;function l7(i){var s;const e=u6(),t=i.toJSON();e.safeParse(t).success,i.outputs.forEach(o=>o.validate()),(s=i.throws)==null||s.validate();const a=[];return ie(i.errors,a)}function c7(i){var s;const e=o6(),t=i.toJSON();e.safeParse(t).success,i.outputs.forEach(o=>o.validate()),(s=i.throws)==null||s.validate();const a=[];return ie(i.errors,a)}const Se=class Se{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"x");c(this,"y");c(this,"type",n.ContinueStatement);c(this,"outputs",[]);c(this,"calledBySuccess",[]);c(this,"calledByError",[]);c(this,"calledByEntry",[]);c(this,"throws",null);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){const r=N(e.parent),a=t.get(r),s=e.calledByEntry.map(f=>{const m=N(f);return t.get(m)}),o=e.calledBySuccess.map(f=>{const m=N(f);return t.get(m)}),l=e.calledByError.map(f=>{const m=N(f);return t.get(m)}),p={id:e.id,version:1,type:n.ContinueStatement,x:0,y:0,outputs:[],calledBySuccess:o,calledByError:l,calledByEntry:s,throws:null,parent:a},y=g(p,t);return y.setParent(a),y.initChildren(),y}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=Ye(r,{parent:{list:!1,types:[n.Loop]}},t);return r=s.modifiedData,a.push(...s.errors,...Le(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new b({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.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.
151
+ This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){var a;const e=[this],t=[],r=[];return this.parentRelationType===nl.DataTypeLiteralValue&&this.parent.type===n.DataType?this.parent.setEntity(this):(a=this.parent)==null||a.setDefaultValue(this),e.push(this.parent),{updated:E(e),added:E(t),removed:E(r),self:this}}setParent(e){return this.parent=e,this}setStandaloneParent(e){return this.standaloneParent=e,this}setValueAsType(e){return this.valueAsType=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.standalone){if(this.initialData.valueAsType)if(Array.isArray(this.initialData.valueAsType))this.valueAsType=this.initialData.valueAsType.map(e=>{const t=this.project.get(e.id);if(!t)throw new Error(`Standalone entity of type '${this.type}' with id '${this.id}' has a reference to an entity of type '${e.type}' with id '${e.id}' that is not part of the project state.`);return t});else{const e=this.project.get(this.initialData.valueAsType.id);if(!e)throw new Error(`Standalone entity of type '${this.type}' with id '${this.id}' has a reference to an entity of type '${this.initialData.valueAsType.type}' with id '${this.initialData.valueAsType.id}' that is not part of the project state.`);this.valueAsType=e}return this}return this.initialData.valueAsType&&(Array.isArray(this.initialData.valueAsType)?this.valueAsType=this.initialData.valueAsType.map(e=>g(e,this.project)):this.valueAsType=g(this.initialData.valueAsType,this.project)),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.subscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.autogeneration=e.autogeneration||this.autogeneration,this.parentRelationType=e.parentRelationType||this.parentRelationType,e.value!==void 0&&(this.value=e.value),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 r=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),{affected:E(r),removed:E(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(r=>r.toFlat(e)):this.valueAsType.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(r=>r.toFlatIds(e)):this.valueAsType.toFlatIds(e):[]])}toJSON(){var e;return{id:this.id,version:this.version,type:this.type,name:this.name,autogeneration:this.autogeneration,value:this.value,parentRelationType:this.parentRelationType,valueAsType:this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.map(t=>t.toJSON()):this.valueAsType.toJSON():null,parent:(e=this.parent)==null?void 0:e.toReference()}}toReference(){return{id:this.id+"--"+_.UUID.uuid()+"--ref",type:n.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e;return{id:this.id,version:this.version,type:this.type,name:this.name,valueAsType:this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.map(t=>t.toReference()):this.valueAsType.toReference():null,value:this.value,autogeneration:this.autogeneration,parentRelationType:this.parentRelationType,parent:(e=this.parent)==null?void 0:e.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(r=>r.toFlatJSON(e)):this.valueAsType.toFlatJSON(e):[]])}toGenerationTarget(){var e;return{id:this.id,type:this.type,name:this.name,valueAsType:this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.map(t=>t.id):this.valueAsType.id:null,value:this.value,autogeneration:this.autogeneration,parentRelationType:this.parentRelationType,parent:(e=this.parent)==null?void 0:e.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(r=>r.toFlatGenerationTarget(e)):this.valueAsType.toFlatGenerationTarget(e):[]])}clearErrors(){return this.errors=[],this}validate(){const e=s7(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors]}getShallowErrors(){return this.errors}clone(e=null,t=null,r=!0){const a=this.toJSON(),s=t||Ze(this.name,n.PrimitiveValue,this.project);a.id=s;const o=qt(a,this.project);return o.initChildren(),e&&o.setParent(e),r&&o.subscribe(),o}merge(e){const t=[],r=[],a=[];return this.valueAsType!==(e==null?void 0:e.valueAsType)&&(this.setValueAsType(e.valueAsType),t.push(this)),this.value!==e.value&&(this.value=e.value,t.push(this)),this.autogeneration!==e.autogeneration&&(this.autogeneration=e.autogeneration,t.push(this)),this.name!==e.name&&(this.name=e.name,t.push(this)),{updated:E(t),added:E(r),removed:E(a),self:this}}};c(Oe,"MUTABLE_BASE_PROPERTIES",["name","autogeneration","value"]),c(Oe,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(Oe,"BASE_PROPERTIES",[...Oe.MUTABLE_BASE_PROPERTIES,...Oe.INMUTABLE_BASE_PROPERTIES]),c(Oe,"MUTABLE_META_PROPERTIES",[...Oe.MUTABLE_BASE_PROPERTIES]),c(Oe,"INMUTABLE_META_PROPERTIES",[...Oe.INMUTABLE_BASE_PROPERTIES]),c(Oe,"META_PROPERTIES",[...Oe.MUTABLE_META_PROPERTIES,...Oe.INMUTABLE_META_PROPERTIES]),c(Oe,"MUTABLE_UPSTREAM_PROPERTIES",[]),c(Oe,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),c(Oe,"UPSTREAM_PROPERTIES",[...Oe.MUTABLE_UPSTREAM_PROPERTIES,...Oe.INMUTABLE_UPSTREAM_PROPERTIES]),c(Oe,"MUTABLE_DOWNSTREAM_PROPERTIES",["valueAsType"]),c(Oe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(Oe,"DOWNSTREAM_PROPERTIES",[...Oe.MUTABLE_DOWNSTREAM_PROPERTIES,...Oe.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(Oe,"PROPERTIES",[...Oe.META_PROPERTIES,...Oe.UPSTREAM_PROPERTIES,...Oe.DOWNSTREAM_PROPERTIES]);let Mi=Oe;function l7(i){var s;const e=u6(),t=i.toJSON();e.safeParse(t).success,i.outputs.forEach(o=>o.validate()),(s=i.throws)==null||s.validate();const a=[];return ie(i.errors,a)}function c7(i){var s;const e=o6(),t=i.toJSON();e.safeParse(t).success,i.outputs.forEach(o=>o.validate()),(s=i.throws)==null||s.validate();const a=[];return ie(i.errors,a)}const Se=class Se{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"x");c(this,"y");c(this,"type",n.ContinueStatement);c(this,"outputs",[]);c(this,"calledBySuccess",[]);c(this,"calledByError",[]);c(this,"calledByEntry",[]);c(this,"throws",null);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){const r=N(e.parent),a=t.get(r),s=e.calledByEntry.map(f=>{const m=N(f);return t.get(m)}),o=e.calledBySuccess.map(f=>{const m=N(f);return t.get(m)}),l=e.calledByError.map(f=>{const m=N(f);return t.get(m)}),p={id:e.id,version:1,type:n.ContinueStatement,x:0,y:0,outputs:[],calledBySuccess:o,calledByError:l,calledByEntry:s,throws:null,parent:a},y=g(p,t);return y.setParent(a),y.initChildren(),y}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=Ye(r,{parent:{list:!1,types:[n.Loop]}},t);return r=s.modifiedData,a.push(...s.errors,...Le(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new b({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.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.
152
152
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
153
153
  You shouldn't have to manually update a 'parent' property.
154
154
  Specifically for continue statements the parent needs to always be the 'loop' entity that contains it.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){const e=[this],t=[],r=[];return this.calledByEntry.forEach(a=>{a.addCall(this),e.push(a)}),this.calledBySuccess.forEach(a=>{a.addSuccessCall(this),e.push(a)}),this.calledByError.forEach(a=>{a.addErrorCall(this),e.push(a)}),this.parent.addContinueStatement(this),e.push(this),{updated:E(e),added:E(t),removed:E(r),self:this}}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}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}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}addOutputDeclaration(e){return this.outputs.find(t=>t.id===e.id)||this.outputs.push(e),this}removeOutputDeclaration(e){return this.outputs=this.outputs.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.outputs=this.initialData.outputs.map(e=>{const t=g(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.throws&&(this.throws=g(this.initialData.throws,this.project),this.throws.setParent(this),this.throws.initChildren()),this.parent.addContinueStatement(this),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}){const r=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.outputs.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.throws){const{affected:s,removed:o}=this.throws.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s),a.push(...o)}return this.parent.removeContinueStatement(this),e||this.calledBy.forEach(s=>{r.push(s),s.removeCall(this)}),{affected:E(r),removed:E(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.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.throws){const{affected:r}=this.throws.restore({seenEntities:e});t.push(...r)}return this.parent.addContinueStatement(this),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:E(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.outputs.flatMap(r=>r.toFlat(e)),...this.calledBy.flatMap(r=>r.toFlat(e)),...this.throws?this.throws.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.outputs.flatMap(r=>r.toFlatIds(e)),...this.calledBy.flatMap(r=>r.toFlatIds(e)),...this.throws?this.throws.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.toReference()),outputs:this.outputs.map(r=>r.toJSON()),throws:((e=this.throws)==null?void 0:e.toJSON())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toReference(){return{id:this.id+"--"+_.UUID.uuid()+"--ref",type:n.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,outputs:this.outputs.map(t=>t.toReference()),calledBySuccess:this.calledBySuccess.map(t=>t.toReference()),calledByError:this.calledByError.map(t=>t.toReference()),calledByEntry:this.calledByEntry.map(t=>t.toReference()),throws:((e=this.throws)==null?void 0:e.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var r;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.outputs.flatMap(a=>a.toFlatJSON(e)),...this.calledBy.flatMap(a=>a.toFlatJSON(e)),...((r=this.throws)==null?void 0:r.toFlatJSON(e))||[]])}toGenerationTarget(){return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(e=>e.id),calledByError:this.calledByError.map(e=>e.id),calledBySuccess:this.calledBySuccess.map(e=>e.id),parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.outputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.throws?this.throws.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.outputs.forEach(t=>t.clearErrors()),(e=this.throws)==null||e.clearErrors(),this}validate(){const e=c7(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.outputs.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(e){return new Se(this.toJSON(),this.project)}};c(Se,"MUTABLE_BASE_PROPERTIES",[]),c(Se,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(Se,"BASE_PROPERTIES",[...Se.MUTABLE_BASE_PROPERTIES,...Se.INMUTABLE_BASE_PROPERTIES]),c(Se,"MUTABLE_META_PROPERTIES",["x","y"]),c(Se,"INMUTABLE_META_PROPERTIES",[...Se.INMUTABLE_BASE_PROPERTIES]),c(Se,"META_PROPERTIES",[...Se.MUTABLE_META_PROPERTIES,...Se.INMUTABLE_META_PROPERTIES]),c(Se,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),c(Se,"INMUTABLE_UPSTREAM_PROPERTIES",[]),c(Se,"UPSTREAM_PROPERTIES",[...Se.MUTABLE_UPSTREAM_PROPERTIES,...Se.INMUTABLE_UPSTREAM_PROPERTIES]),c(Se,"MUTABLE_DOWNSTREAM_PROPERTIES",["outputs","throws"]),c(Se,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(Se,"DOWNSTREAM_PROPERTIES",[...Se.MUTABLE_DOWNSTREAM_PROPERTIES,...Se.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(Se,"PROPERTIES",[...Se.META_PROPERTIES,...Se.UPSTREAM_PROPERTIES,...Se.DOWNSTREAM_PROPERTIES]);let bt=Se;const dt=class dt{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"x");c(this,"y");c(this,"type",n.ReturnStatement);c(this,"outputs",[]);c(this,"calledBySuccess",[]);c(this,"calledByError",[]);c(this,"calledByEntry",[]);c(this,"throws",null);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){const r=N(e.parent),a=t.get(r),s=e.calledByEntry.map(f=>{const m=N(f);return t.get(m)}),o=e.calledBySuccess.map(f=>{const m=N(f);return t.get(m)}),l=e.calledByError.map(f=>{const m=N(f);return t.get(m)}),p={id:e.id,version:1,type:n.ReturnStatement,x:0,y:0,outputs:[],calledBySuccess:o,calledByError:l,calledByEntry:s,throws:null,parent:a},y=g(p,t);return y.setParent(a),y.initChildren(),y}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=Ye(r,{parent:{list:!1,types:ut}},t);return r=s.modifiedData,a.push(...s.errors,...Le(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new b({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.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.
@@ -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 b({id:`${r.id}--${h.InvalidReference}`,code:h.InvalidReference,severity:T.Error,message:`Entity of type "${n.FunctionCall}" with id "${r.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:r}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new b({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.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=[],r=[];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:E(e),added:E(t),removed:E(r),self:this}}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(r=>r.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(r=>r.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 r=this.errorCalls.findIndex(a=>a.id===e.id);return r>-1&&this.errorCalls.splice(r,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=g(this.initialData.declaration,this.project);this.declaration=e}else{const e=N(this.initialData.declaration),t=this.project.get(e);this.declaration=t}return this.successCalls=this.initialData.successCalls.map(e=>{const t=g(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=g(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=g(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.process&&(this.process=g(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this.initialData.error&&(this.error=g(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this.syncMissingFixedInputs(),this.syncMissingFixedOutputs(),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 r=[],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});r.push(...o),a.push(...l)}if(this.inputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),this.outputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),this.error){const{affected:o,removed:l}=this.error.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}return this.successCalls.forEach(o=>{r.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{r.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{r.push(o),o.removeCall(this)}),{affected:E(r),removed:E(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:r}=this.process.restore({seenEntities:e});t.push(...r)}return this.inputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(r=>{t.push(r),r.addSuccessCaller(this)}),this.errorCalls.forEach(r=>{t.push(r),r.addErrorCaller(this)}),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:E(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(r=>r.toFlat(e)),...this.errorCalls.flatMap(r=>r.toFlat(e)),...this.inputs.flatMap(r=>r.toFlat(e)),...this.outputs.flatMap(r=>r.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(r=>r.toFlatIds(e)),...this.errorCalls.flatMap(r=>r.toFlatIds(e)),...this.inputs.flatMap(r=>r.toFlatIds(e)),...this.outputs.flatMap(r=>r.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(r=>r.toJSON()),errorCalls:this.errorCalls.map(r=>r.toJSON()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(r=>r.toJSON()),outputs:this.outputs.map(r=>r.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON()}}toReference(){return{id:this.id+"--"+_.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(r=>r.toFlatJSON(e)),...this.errorCalls.flatMap(r=>r.toFlatJSON(e)),...this.inputs.flatMap(r=>r.toFlatJSON(e)),...this.outputs.flatMap(r=>r.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(r=>r.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.inputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.outputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.process?this.process.toFlatGenerationTarget(e):[],...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(r=>r.clearErrors()),this.outputs.forEach(r=>r.clearErrors()),this.successCalls.forEach(r=>r.clearErrors()),this.errorCalls.forEach(r=>r.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=P7(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 _e(this.toJSON(),this.project)}removeUnrecognizedInputs(){const e=[],t=[],r=[];return this.inputs.forEach(a=>{if(!this.declaration.inputs.find(o=>o.id===a.declaration.id)){const o=a.remove();r.push(...o.removed),e.push(...o.affected)}}),{updated:E(e),added:E(t),removed:E(r),self:this}}removeUnrecognizedOutputs(){const e=[],t=[],r=[];return this.outputs.forEach(a=>{if(!this.declaration.getUniqueReturnDeclarations().find(o=>o.id===a.declaration.id)){const o=a.remove();r.push(...o.removed),e.push(...o.affected)}}),{updated:E(e),added:E(t),removed:E(r),self:this}}syncMissingFixedInputs(){const e=[],t=[],r=[],a=this.declaration.inputs.filter(p=>!this.inputs.find(y=>y.declaration.id===p.id));this.inputs.sort((p,y)=>p.index-y.index),a.forEach(p=>{this.inputs.forEach(m=>{m.index>=p.index&&m.sync({index:m.index+1})});const y={id:_.UUID.uuid(),version:1,type:n.InputMap,declaration:p.toJSON(),readsValue:null,defaultValue:null,index:p.index,name:null,description:null,parent:this.toReference()},f=g(y,this.project);f.setParent(this),f.initChildren(),f.addSelfToProject(),t.push(f)}),this.inputs.sort((p,y)=>p.index-y.index);const{updated:s,added:o,removed:l}=this.removeUnrecognizedInputs();return e.push(...s),t.push(...o),r.push(...l),{updated:E(e),added:E(t),removed:E(r),self:this}}syncMissingFixedOutputs(){const e=[],t=[],r=[],a=[];this.outputs=this.initialData.outputs.map(y=>{const f=g(y,this.project);return a.push(f.index),f.setParent(this),f.initChildren(),f});const s=this.declaration.getUniqueReturnDeclarations().filter(y=>!this.outputs.find(f=>f.declaration.id===y.id));this.outputs.sort((y,f)=>y.index-f.index),s.forEach((y,f)=>{this.outputs.forEach(P=>{P.index>=y.index&&P.index++});const m=a.includes(y.index)?this.outputs.length-1+f:y.index,R={id:_.UUID.uuid(),version:1,type:n.OutputMap,declaration:y.toJSON(),writesValues:[],index:m,parent:this.toReference()},v=g(R,this.project);v.setParent(this),v.initChildren(),v.addSelfToProject()}),this.outputs.sort((y,f)=>y.index-f.index);const{updated:o,added:l,removed:p}=this.removeUnrecognizedOutputs();return e.push(...o),t.push(...l),r.push(...p),{updated:E(e),added:E(t),removed:E(r),self:this}}};c(_e,"MUTABLE_BASE_PROPERTIES",[]),c(_e,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(_e,"BASE_PROPERTIES",[..._e.MUTABLE_BASE_PROPERTIES,..._e.INMUTABLE_BASE_PROPERTIES]),c(_e,"MUTABLE_META_PROPERTIES",["x","y"]),c(_e,"INMUTABLE_META_PROPERTIES",[..._e.INMUTABLE_BASE_PROPERTIES]),c(_e,"META_PROPERTIES",[..._e.MUTABLE_META_PROPERTIES,..._e.INMUTABLE_META_PROPERTIES]),c(_e,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),c(_e,"INMUTABLE_UPSTREAM_PROPERTIES",["declaration","parent"]),c(_e,"UPSTREAM_PROPERTIES",[..._e.MUTABLE_UPSTREAM_PROPERTIES,..._e.INMUTABLE_UPSTREAM_PROPERTIES]),c(_e,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","writesValues","inputs","outputs","error"]),c(_e,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(_e,"DOWNSTREAM_PROPERTIES",[..._e.MUTABLE_DOWNSTREAM_PROPERTIES,..._e.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(_e,"PROPERTIES",[..._e.META_PROPERTIES,..._e.UPSTREAM_PROPERTIES,..._e.DOWNSTREAM_PROPERTIES]);let kr=_e;function JP(i){var e,t,r;switch(i.id){case B["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const a=i.project.entities.filter(f=>!!f.implements.find(m=>m.id===B["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id));if(a.find(f=>!!f.properties.find(m=>{var R;return m.implements&&m.implements.id===B["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id&&((R=m.getDefaultValue())==null?void 0:R.value)===!0}))){const m=a[0].properties.find(v=>v.implements&&v.implements.id===B["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id),R=(e=m==null?void 0:m.dataType)==null?void 0:e.defaultValue;if(R)R.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],P=g({id:v+"-default-value-id",version:1,type:n.PrimitiveValue,name:I.EntityTemplate,parentRelationType:null,autogeneration:null,value:!0,valueAsType:null,parent:m==null?void 0:m.dataType.toReference()},i.project);return P.setParent(m==null?void 0:m.dataType),P.initChildren(),P.addSelfToProject(),{newEntities:[P]}}return{newEntities:[]}}const o=i.project.get(B["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id),l=Jo(o,"Main database");if(l.errors.length>0)return{newEntities:[]};const p=l.implemented.properties.find(f=>f.implements&&f.implements.id===B["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id),y=(r=p==null?void 0:p.dataType)==null?void 0:r.defaultValue;if(y)y.value=!0;else if(p!=null&&p.dataType){const f=p==null?void 0:p.dataType.id.split("-id")[0],m=g({id:f+"-default-value-id",version:1,type:n.PrimitiveValue,name:I.EntityTemplate,parentRelationType:null,autogeneration:null,value:!0,valueAsType:null,parent:p==null?void 0:p.dataType.toReference()},i.project);m.setParent(p==null?void 0:p.dataType),m.initChildren(),m.addSelfToProject()}return{newEntities:[l.implemented]}}}return{newEntities:[]}}function WP(i){return i.implements.filter(t=>t.type===n.BuiltInBaseEntity).map(t=>{var r;switch(t.id){case B["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const s=i.project.entities.filter(p=>p.implements.find(y=>y.id===B["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id)).find(p=>!!p.properties.find(y=>{var f;return y.implements&&y.implements.id===B["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id&&((f=y.getDefaultValue())==null?void 0:f.value)===!0}));if(!s)return{newEntities:[]};const o=i.properties.find(p=>p.implements&&p.implements.id===B["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.properties.database.id),l=(r=o==null?void 0:o.dataType)==null?void 0:r.defaultValue;if(o&&(o!=null&&o.dataType)&&!l){const p=o==null?void 0:o.dataType.id.split("-id")[0],y=g({id:p+"-default-value-id",version:1,type:n.PrimitiveValue,name:I.EntityTemplate,parentRelationType:null,autogeneration:null,value:null,valueAsType:s,parent:o==null?void 0:o.dataType.toReference()},i.project);return y.setParent(o==null?void 0:o.dataType),y.initChildren(),y.addSelfToProject(),{newEntities:[y]}}return{newEntities:[]}}}}),{newEntities:[]}}function Jo(i,e,t){const r=t||Ze(e,n.CustomEntity,i.project),a=r.split("-id"),s=a[a.length-1||0]||r,o={id:r,version:1,name:e,type:n.CustomEntity,description:null,static:!1,abstract:!1,properties:[],methods:[],abstractMethods:[],extends:[],implements:[i],x:0,y:0,parent:i.project},l=Lo(o,i.project);if(l.length>0)return{errors:l,implemented:null,entitiesChanges:{new:[],updated:[],deleted:[]}};const p=JP(i),y=g(o,i.project);y.setParent(i.project),y.initChildren();const f=i.properties.map(v=>{const P=s+"-"+Ze(C(v,i.project),n.Property,i.project),A=v.clone(y,P);return A.abstract=!1,A.implements=v,A.setParent(y),y.addProperty(A),A}),m=i.abstractMethods.map(v=>{const P=s+Ze(v.name,n.FunctionDeclaration,i.project),A=v.implementAsFunctionDeclaration(P),D={id:P+"-parent-ref-id",type:n.GenericReference,entityId:r,entityType:n.CustomEntity},F={...A,implements:v,parent:D},k=g(F,i.project);return y.addMethod(k),k.setParent(y),k.initChildren(),k.implements=v,k});o.properties=f,o.methods=m;const R=WP(y);return{implemented:y,errors:[],entitiesChanges:{new:[y,...p.newEntities,...R.newEntities],updated:[y],deleted:[]}}}function Mu(i,e){return e.entities.find(a=>{const s=a.properties,o=s.map(m=>m.name),l=i.every(m=>o.includes(m)),p=o.filter(m=>!i.includes(m)),y=s.every(m=>!p.includes(m.name)||!m.required);return l&&y})||null}function YP(i,e,t=We.OrDataTypeGroup){const r=[],a=[],s=[],l={id:e.id+"--nested-data-type-id-"+i.id,version:1,type:n.DataType,entity:i.toJSON(),isList:!1,isNullable:!1,defaultValue:null,asType:null,andChildrenGroup:null,orChildrenGroup:null,like:!0,inferred:!1,constant:!1,parentRelationType:t,parent:e.toReference()},p=g(l,i.project);return a.push(p),p.setParent(e),p.initChildren(),p.setEntity(i),p.addSelfToProject(),{updated:E(r),added:E(a),removed:E(s),self:p}}function Vu(i,e,t,r){const a=[],s=[],o=[];switch(typeof i){case"string":let l=!1;const p=new Date(i);if(p instanceof Date&&!isNaN(p.valueOf())&&(l=!0),l){const y=e.project.getBuiltIn(B[n.PrimitiveEntity][I.Date].id);e.setEntity(y);break}else{const y=e.project.getBuiltIn(B[n.PrimitiveEntity][I.String].id);e.setEntity(y);break}case"number":e.setEntity(e.project.getBuiltIn(B[n.PrimitiveEntity][I.Number].id));break;case"boolean":e.setEntity(e.project.getBuiltIn(B[n.PrimitiveEntity][I.Boolean].id));break;case"object":if(i===null){e.setEntity(e.project.getBuiltIn(B[n.PrimitiveEntity][I.Null].id));break}else if(Array.isArray(i))if(e.sync({isList:!0}),i.length>0){const y=i.slice(0,5).filter(m=>m!==void 0);if(y.every(m=>typeof m==typeof y[0])&&(typeof y[0]!="object"||y[0]===null))switch(typeof y[0]){case"string":e.setEntity(e.project.getBuiltIn(B[n.PrimitiveEntity][I.String].id));break;case"number":e.setEntity(e.project.getBuiltIn(B[n.PrimitiveEntity][I.Number].id));break;case"boolean":e.setEntity(e.project.getBuiltIn(B[n.PrimitiveEntity][I.Boolean].id));break;case"object":e.setEntity(e.project.getBuiltIn(B[n.PrimitiveEntity][I.Null].id));break}else{const m=[];let R=!1;y.forEach((P,A)=>{if(Array.isArray(P)&&(R=!0),typeof P=="object"&&!Array.isArray(P)&&P!==null){const D=Wo(P,e.project,{...t,id:e.id+"--or-child-data-type-entity-id-"+A},r);D.hasCreated&&m.push(D.changeSet.self),a.push(...D.changeSet.updated),s.push(...D.changeSet.added),o.push(...D.changeSet.removed)}});const v=E(m);if(!v.length&&!R){y.forEach(P=>{const A={id:_.UUID.uuid(),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,parentRelationType:We.OrDataTypeGroup,parent:e.toReference()},D=g(A,e.project);switch(D.setParent(e),D.initChildren(),D.addSelfToProject(),typeof P){case"string":D.setEntity(D.project.getBuiltIn(B[n.PrimitiveEntity][I.String].id));break;case"number":D.setEntity(D.project.getBuiltIn(B[n.PrimitiveEntity][I.Number].id));break;case"boolean":D.setEntity(D.project.getBuiltIn(B[n.PrimitiveEntity][I.Boolean].id));break;case"object":D.setEntity(D.project.getBuiltIn(B[n.PrimitiveEntity][I.Null].id));break}});break}else v.length===1&&!R?e.setEntity(v[0]):y.forEach((P,A)=>{if(typeof P=="object"&&!Array.isArray(P)&&P!==null){const D=Mu(Object.keys(P),e.project);if(D){const F=YP(D||v[0],e,We.OrDataTypeGroup);a.push(...F.updated),s.push(...F.added),o.push(...F.removed)}}else{const D={id:e.id+"--or-child-data-type-id--"+A,version:1,type:n.DataType,entity:null,isList:Array.isArray(P),isNullable:!1,defaultValue:null,asType:null,andChildrenGroup:null,orChildrenGroup:null,like:!0,inferred:!1,constant:!1,parentRelationType:We.OrDataTypeGroup,parent:e.toReference()},F=g(D,e.project);F.setParent(e),F.initChildren(),F.addSelfToProject();const k=Vu(P,F,{...t,id:e.id+"--or-child-data-type-entity-id-"+A},r);a.push(...k.updated),s.push(...k.added),o.push(...k.removed)}})}}else{const y=Wo(i[0],e.project,{...t},r);e.setEntity(y.changeSet.self),a.push(...y.changeSet.updated),s.push(...y.changeSet.added),o.push(...y.changeSet.removed);break}else{const y=Wo(i,e.project,{...t},r);e.setEntity(y.changeSet.self),a.push(...y.changeSet.updated),s.push(...y.changeSet.added),o.push(...y.changeSet.removed);break}}return{updated:E(a),added:E(s),removed:E(o),self:e}}function Wo(i,e,t,r){const a=[],s=[],o=[],l=Object.keys(i),p=Mu(l,e);if(p)return{hasCreated:!1,changeSet:{updated:[],added:[],removed:[],self:p}};const y=r?t.name+" of "+r.name:t.name,m={id:t.id||Ze(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()},R=g(m,e);return R.setParent(e),R.initChildren(),R.addSelfToProject(),s.push(R),l.forEach((v,P)=>{const A=Ze(y+" "+v,n.Property,e),D={id:A,version:1,name:v,type:n.Property,description:null,static:!1,abstract:!1,dataType:null,implements:null,index:P,hidden:!1,private:!1,required:!0,parent:R.toReference()},F=g(D,e);F.setParent(R),F.initChildren(),F.addSelfToProject(),s.push(F);const k=i[v],me={id:A+"--data-type-id",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:F.toReference()},ae=g(me,e);ae.setParent(F),ae.initChildren(),ae.addSelfToProject(),s.push(ae);const Je=Vu(k,ae,{...t,name:v,id:A+"--data-type-entity-id"},r||R);a.push(...Je.updated),s.push(...Je.added),o.push(...Je.removed)}),{hasCreated:!0,changeSet:{updated:E(a),added:E(s),removed:E(o),self:R}}}function Yo(i,e){const t=qr(i);if(t.length===0)return{list:[],last:null};let r=null;return{list:t.flatMap(s=>{if(s===e)return r=s,[s];const o=Yo(s,e);return o.last&&(r=o.last),[s,...o.list]}),last:r}}function HP(i,e,t=new Set){const r=er(i),a=er(e),s=r.filter(p=>!a.includes(p)),o=r.filter(p=>a.includes(p)),l=s.reduce((p,y)=>t.has(y.id)?p:(t.add(y.id),E([...p,...HP(y,e,t)])),[]);return E([...o,...l])}function Ha(i,e){const t=Yo(i,e);return t.last===e&&t.list.length>0&&t.list[0]!==e}function A7(i,e){return!!Yo(i,e).last}function O7(i){if(Ue.includes(i.type))return i;if([...Nn,n.VariableDeclaration].includes(i.type)){const e=i.parent;return Ue.includes(e.type)?e:null}return null}function Lu(i,e){if(!i||!e)throw new Error("Both entities must be defined to find a common ancestor");if(i===e)return i;const t=i.parent;if(t){if(t===e)return e;if(t.type===n.Project)return null}else return null;const r=e.parent;if(r){if(r===i)return i;if(r.type===n.Project)return null}else return null;return Lu(t,r)}function et(i){if(al.includes(i.type)){if(i.type===n.FunctionDeclaration){const e=i.parent;if(e.type===n.CustomEntity)return e;if(e.type===n.Loop)return e}return i}else{const e=i.parent;return e?et(e):null}}function S7(i){return i.type===n.VariableDeclaration?[i]:ke.includes(i.type)?[...i.inputs,...i.outputs||[]]:Ve.includes(i.type)?i.outputs:zr.includes(i.type)||i.type===n.FunctionDeclaration?i.inputs:[]}function C7(i){const e=er(i),t=[],r=[];Zu.includes(i.type)&&t.push(...Gu(i));const a=e.filter(s=>{const o=t.includes(s);return o?!1:Nn.includes(s.type)&&!o?(r.push(s),!1):!0});return t.sort((s,o)=>Ha(o,s)?-1:0),r.sort((s,o)=>Ha(o,s)?-1:0),[...t,...r,...a]}function zP(i){return[...i].sort((e,t)=>Ha(t,e)?-1:0)}function B7(i){const e=zP(i),t=[];return e.forEach(r=>{const a=t[t.length-1];if(a){const s=a[a.length-1];Ha(r,s)?t.push([r]):a.push(r)}else t.push([r])}),t}function Rt(i){const e=i.map(t=>et(t));return E(e)}function Gu(i){return ke.includes(i.type)?[...Rt(i.successCalls),...Rt(i.errorCalls)]:Ue.includes(i.type)?Rt(i.calls):[]}function w7(i,e){return Gu(i).includes(e)}function $u(i){return i.writesValues||[]}function _7(i,e){return $u(i).includes(e)}function ZP(i){var e;return Fe.includes((e=i==null?void 0:i.readsValue)==null?void 0:e.type)?i.readsValue:null}function N7(i){return i.writesValues}function KP(i=[]){return i.map(ZP).filter(e=>!!e)}function Ho(i=[]){return i.map(e=>e.writesValues).flat().filter(e=>Fe.includes(e.type))}function XP(i=[]){return i.map(e=>e.readsValue).filter(e=>!!e&&Fe.includes(e.type))}function QP(i){return Fe.includes(i.type)?i:null}function eA(i){return i.writesValues.map(QP).filter(e=>!!e)}function tA(i=[]){return i.reduce((e,t)=>t.type===n.OutputMap?[...e,...eA(t)]:e,[])}function Me(i){return ke.includes(i.type)?[...pn(Rt(i.successCalls)),...pn(Rt(i.errorCalls))]:Ue.includes(i.type)?pn(Rt(i.calls)):[]}function M7(i){return ke.includes(i.type)?[...pn(Rt(i.successCalls)),...pn(Rt(i.errorCalls))]:Ue.includes(i.type)?pn(Rt(i.calls)):[]}function nA(i,e=new Set){return i.writesValues.filter(r=>Fe.includes(r.type)&&!e.has(r.id)).reduce((r,a)=>e.has(a.id)?r:[...r,...re(a,e)],[])}function rA(i,e=new Set){var r;return(((r=i.readsValue)==null?void 0:r.writesValues)||[]).filter(a=>Fe.includes(a.type)&&!e.has(a.id)).reduce((a,s)=>e.has(s.id)?a:[...a,...re(s,e)],[])}function re(i,e=new Set){if(e.has(i.id))return[];if(i.type===n.ReturnStatement)return XP(i.outputs).reduce((r,a)=>[...r,...re(a,e)],[]);if(i.type===n.FunctionCall||i.type===n.Operation||i.type===n.Condition)return[...Me(i).reduce((s,o)=>{const l=et(o);return[...s,...re(l||o,e)]},[]),...KP(i.inputs),...tA(i.outputs)].reduce((s,o)=>[...s,...re(o,e)],[]);if(zr.includes(i.type)){const t=Ho(i.inputs),a=Me(i).reduce((s,o)=>{const l=et(o);return[...s,...re(l||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...re(o,e)],[])}if(i.type===n.FunctionDeclaration){const t=[...Ho(i.inputs)],a=Me(i).reduce((s,o)=>{const l=et(o);return[...s,...re(l||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...re(o)],[])}if(Fe.includes(i.type)){e.add(i.id);const r=Me(i).reduce((a,s)=>{const o=et(s);return[...a,...re(o||s,e)]},[]);return[i,...r,...rA(i,e),...nA(i,e)]}return[]}function St(i,e=new Set){return e.has(i.id)?[]:(e.add(i.id),[...er(i).reduce((a,s)=>[...a,s,...St(s,e)],[])])}function pn(i){return i.reduce((e,t)=>t.type===n.ReturnStatement||t.type===n.ContinueStatement||t.type===n.BreakStatement?[...e,t]:[...e,t,...Me(t)],[])}function iA(i){const e=i.entities||[],t=[...e,...i.functions||[],...i.events||[],...i.projects||[]],r=e.reduce((p,y)=>[...p,...y.properties],[]),a=e.reduce((p,y)=>[...p,...y.methods],[]),s=a.reduce((p,y)=>[...p,...Ho(y.inputs),...pn(Rt(y.calls)),...y.returnStatements],[]),o=i.functions.reduce((p,y)=>[...p,...pn(Rt(y.calls)),...y.returnStatements],[]),l=i.events.reduce((p,y)=>[...p,...pn(Rt(y.calls)),...y.returnStatements],[]);return[...t,...r,...a,...s,...o,...l]}function aA(i,e){return e.filter(r=>{if(!r)return!1;switch(r.type){case n.FunctionCall:return r.inputs.find(a=>a.id===i.id)!==void 0||r.outputs.find(a=>a.id===i.id)!==void 0;case n.Condition:return r.successCalls.find(a=>a.id===i.id)!==void 0||r.errorCalls.find(a=>a.id===i.id)!==void 0||r.inputs.find(a=>a.id===i.id)!==void 0;case n.Operation:return r.outputs.find(a=>a.id===i.id)!==void 0;case n.VariableDeclaration:return ke.includes(i.type)?sA(i).find(s=>{var o;return((o=s.readsValue)==null?void 0:o.id)===r.id})!==void 0:!1;case n.CustomEntity:return r.properties.find(a=>a.id===i.id)!==void 0||r.methods.find(a=>a.id===i.id)!==void 0;case n.FunctionDeclaration:return r.inputs.find(a=>a.id===i.id)!==void 0||(r.returnStatements.map(a=>a.outputs).flat()||[]).find(a=>a.id===i.id)!==void 0;default:return!1}})}function V7(i){const e=iA(i.project);return aA(i,e)}function qr(i){const e=[];if(Nn.includes(i.type)){i.calledBy.forEach(a=>{const s=et(a);s&&e.push(s)});const r=[...i.inputs||[],...i.outputs||[]].map(a=>Uu(a)).filter(a=>a!==null);e.push(...E(r))}if(Fe.includes(i.type)){const t=Uu(i);t&&e.push(t)}return E(e)}function Fu(i){return i.type===n.FunctionCall||i.type===n.InternalCall||[n.Operation,n.Condition,n.Loop].includes(i.type)?i.declaration.inputs:i.type===n.FunctionDeclaration||zr.includes(i.type)?i.inputs:i.type===n.Search?i.inputsDeclarations:[]}function L7(i,e){return e.type===n.Condition?e.inputs.find(t=>t.declaration.id===i.id):e.type===n.FunctionCall||e.type===n.Operation?e.inputs.find(t=>t.declaration.id===i.id):null}function sA(i){return ke.includes(i.type)?i.inputs:[]}function oA(i){var e;return i.type===n.FunctionCall?((e=i.declaration.returnStatements[0])==null?void 0:e.outputs)||[]:[n.Operation,n.Condition,n.Loop].includes(i.type)?i.declaration.outputs:i.type===n.Search?i.outputsDeclarations:Ve.includes(i.type)?i.outputs:[]}function G7(i,e){return e.type===n.Condition?null:e.type===n.FunctionCall||e.type===n.Operation?e.outputs.find(t=>t.declaration.id===i.id):null}function $7(i){return i.type===n.Condition?[]:ke.includes(i.type)?i.outputs:[]}function Uu(i){const e=i.readsValue;return e?et(e):null}function lA(i){const e=i.internalCalls||[];return E(Rt(E(e.flatMap(t=>[...t.successCalls,...t.errorCalls]))))}function Li(i){const e=$u(i),t=[];return e.forEach(r=>{if(Fe.includes(r.type))t.push(r);else if(_n.includes(r.type)){const a=r.parent;t.push(a)}}),t}function E(i){const e=new Set;return i.filter(t=>!t||e.has(t.id)?!1:(e.add(t.id),!0))}function er(i,e=!1){const t=[];if(i.type===n.Project&&t.push(...(i==null?void 0:i.entities)||[],...(i==null?void 0:i.functions)||[],...(i==null?void 0:i.variableDeclarations)||[],...(i==null?void 0:i.variableInstances)||[],...(i==null?void 0:i.searches)||[],...(i==null?void 0:i.loops)||[],...(i==null?void 0:i.operations)||[],...(i==null?void 0:i.conditions)||[],...(i==null?void 0:i.functionCalls)||[],...(i==null?void 0:i.events)||[],...(i==null?void 0:i.projects)||[]),ut.includes(i.type)&&t.push(...(i==null?void 0:i.detachedChildren)||[]),i.type===n.CustomEntity){const r=[...i.suggestedMethods,...i.methods].flatMap(a=>a.collapsed&&e?[]:er(a));t.push(...r)}if(i.type===n.Condition){const r=i.successCalls.map(s=>et(s)),a=i.errorCalls.map(s=>et(s));t.push(...r,...a)}if(zr.includes(i.type)){if(i.collapsed&&e)return[];const r=i.inputs.map(s=>Li(s)).flat(),a=i.calls.map(s=>et(s));t.push(...E(r),...a)}if(ke.includes(i.type)&&i.type!==n.Condition&&i.type!==n.Loop){const r=i==null?void 0:i.outputs.map(o=>Li(o)).flat(),a=i.successCalls.map(o=>et(o)),s=i.errorCalls.map(o=>et(o));t.push(...E(r),...a,...s)}if(Fe.includes(i.type)){const r=Li(i),a=lA(i);t.push(...r,...a)}if(i.type===n.Loop){const r=i.outputs.map(o=>Li(o)).flat();if(i.body){const o=er(i.body,e);t.push(...o)}const a=i.errorCalls.map(o=>et(o)),s=i.successCalls.map(o=>et(o));t.push(...E(r),...s,...a)}if(i.type===n.FunctionDeclaration){if(i.collapsed&&e)return[];const r=i.inputs.map(s=>Li(s)).flat(),a=i.calls.map(s=>et(s));t.push(...E(r),...a)}return E(t)}function cA(i,e=!1){const t=er(i,e),r=[...t,...t.reduce((a,s)=>[...a,...cA(s,e)],[])];return E(r)}function dA(i){const e=qr(i),t=[...e,...e.reduce((r,a)=>[...r,...dA(a)],[])];return E(t)}function zo(i){return i.implements.reduce((e,t)=>t.type===n.CustomEntity?[...e,n.CustomEntity,...zo(t),...Zo(t)]:[...e,t.name],[])}function Zo(i){return i.extends.reduce((e,t)=>t.type===n.CustomEntity?[...e,n.CustomEntity,...Zo(t),...zo(t)]:[...e,t.name],[])}function xu(i){return i.extends.reduce((e,t)=>t.type===n.CustomEntity?[...e,t,...xu(t),...ju(t)]:[...e,t],[])}function ju(i){return i.implements.reduce((e,t)=>t.type===n.CustomEntity?[...e,t,...ju(t),...xu(t)]:[...e,t],[])}function ku(i){return[...Zo(i),...zo(i)].filter((t,r,a)=>a.indexOf(t)===r)}function uA(i){return i.implements.length===0&&i.extends.length===0?null:i.implements.find(r=>r.type===n.BuiltInBaseEntity&&r.name===V.PERSISTED_ENTITY)?i:[...i.implements,...i.extends].reduce((r,a)=>{if(a.type===n.CustomEntity){const s=uA(a);if(s)return s}return r},null)}function F7(i){const e=i.extends.find(t=>t.type===n.BuiltInBaseEntity);return e&&e.type===n.BuiltInBaseEntity?e:null}function U7(i){const e=i.implements.find(t=>t.type===n.BuiltInBaseEntity);return e&&e.type===n.BuiltInBaseEntity?e:null}function qu(i){const e=i.extends.find(t=>t.type===n.CustomEntity);return e&&e.type===n.CustomEntity?e:null}function tr(i){const e=[...i.implements,...i.extends].reduce((t,r)=>r.type===n.BuiltInBaseEntity?[...t,r]:r.type===n.CustomEntity?[...t,...tr(r)]:t,[]);return E(e)}function Ju(i){return i.type===n.PrimitiveEntity?!0:i.type===n.BuiltInBaseEntity?i.interactive:!tr(i).find(r=>!r.interactive)}function x7(i){return i.parent===i.project&&i.project.variableDeclarations.includes(i)}function Wu(i){return i.parent!==i.project?!1:n.VariableDeclaration===i.type?i.project.variableDeclarations.includes(i):n.VariableInstance===i.type?i.project.variableInstances.includes(i):n.FunctionCall===i.type?i.project.functionCalls.includes(i):n.Condition===i.type?i.project.conditions.includes(i):n.Operation===i.type?i.project.operations.includes(i):n.Loop===i.type?i.project.loops.includes(i):n.Search===i.type?i.project.searches.includes(i):!1}function pA(i){if([...Ue,n.CustomEntity,n.InstalledProject,n.Project].includes(i.type)||Wu(i))return!1;const e=qr(i);return e.length===0?!0:e.some(t=>pA(t))}function Yu(i){return[...Ue,n.CustomEntity,n.InstalledProject,n.Project].includes(i.type)||Wu(i)?!1:qr(i).length===0}function yA(i,e=0){if(Yu(i)){const t=qr(i);return t.length===0?i:t.map(a=>yA(a,e+1)).reduce((a,s)=>a?s&&s.x<a.x?s:a:s,null)}return null}function fA(i){const e=[];if(Yu(i))e.push(i);else return[];return qr(i).forEach(r=>{e.push(...fA(r))}),e}function hA(i){return i.type===n.FunctionDeclaration&&i.parent!==i.project&&!![n.CustomEntity,n.Loop,n.InstalledProject].includes(i.parent.type)}function j7(i,e){const t=new Map;return i.forEach(r=>{t.set(r.id,r)}),e.forEach(r=>{t.set(r.id,r)}),Array.from(t.values())}function Ko(i){switch(i){case n.CustomEntity:return Jr;case n.FunctionDeclaration:return _r;case n.VariableDeclaration:return Lr;case n.VariableInstance:return Gr;case n.FunctionCall:return kr;case n.Operation:return Nr;case n.Condition:return Vr;case n.ReturnStatement:return xr;case n.Loop:return Mr;case n.Search:return $r;case n.InputMap:return Cn;case n.OutputMap:return Bn;case n.ArgumentDeclaration:return Ur;case n.ReturnDeclaration:return Nt;case n.Property:return wr;case n.InstalledProject:return Fr;case n.Project:return _;case n.BuiltInBaseEntity:return Xt;default:return null}}function gt(i,e){if(ut.includes(i.type))return i;if(Zr.includes(i.type))return null;const t=i.parent;if(!t)return null;if(t.type===n.GenericReference){const r=N(t);if(!r)return null;const a=e.get(r);return a?gt(a,e):null}else return t===e?e:gt(t,e)}function Hu(i,e){if(Zr.includes(i.type)||e.getBuiltIn(i.id))return null;const t=Mt(i.parent,e);return t?t===e?ut.includes(i.type)?i:null:t.type===n.CustomEntity?i:Hu(t,e):null}function Xo(i,e,t){if(i===e||e===t||i===t)return!1;const r=gt(e.parent,t);return r===i?!0:Xo(r,e,t)}var Qo=(i=>(i.SameBothLocal="same-both-local",i.AInB="a-in-b",i.BInA="b-in-a",i.ParallelInCommonParent="parallel-in-common-parent",i.ParallelInProject="parallel-in-project",i.AIsGlobalBIsNot="a-is-global-b-is-not",i.BIsGlobalAIsNot="b-is-global-a-is-not",i.SameBothGlobal="same-both-global",i))(Qo||{});function za(i,e,t){const r=gt(i,t),a=gt(e,t);if(!r)throw new Error("Could not find scope owner for the entity: "+i.id);if(!a)throw new Error("Could not find scope owner for the entity: "+e.id);if(r===a&&r.type!==n.Project)return{compatible:!0,type:"same-both-local",commonAncestorScope:r};if(r===a&&r.type===n.Project)return{compatible:!0,type:"same-both-global",commonAncestorScope:r};if(r.type===n.Project&&a.type!==n.Project)return{compatible:!1,type:"a-is-global-b-is-not",commonAncestorScope:r};if(r.type!==n.Project&&a.type===n.Project)return{compatible:!1,type:"b-is-global-a-is-not",commonAncestorScope:a};if(Xo(r,a,t))return{compatible:!0,type:"b-in-a",commonAncestorScope:r};if(Xo(a,r,t))return{compatible:!0,type:"a-in-b",commonAncestorScope:a};const l=Lu(r,a);return l===t?{compatible:!1,type:"parallel-in-project",commonAncestorScope:l}:l?{compatible:!1,type:"parallel-in-common-parent",commonAncestorScope:gt(l,t)}:{compatible:!1,type:"parallel-in-project",commonAncestorScope:t}}function mA(i,e,t){const r=za(i,e,t);if(!r.compatible||r.type!=="same-both-local")return null;if(i===e)return i;let a=gt(i.parent,t);if(a){if(a===e)return e;if(a.type===n.Project)return i}else return i;for(;a;){if(a){if(a===e)return e;if(a.type===n.Project)return i}else return i;a=gt(a.parent,t)}let s=gt(e.parent,t);if(s){if(s===i)return i;if(s.type===n.Project)return e}else return e;for(;s;){if(s){if(s===i)return i;if(s.type===n.Project)return e}else return e;s=gt(s.parent,t)}return null}function TA(i){return i.length===0?null:i.length===1?i[0]:i.reduce((t,r)=>{const a=mA(t,r,r.project);return!a||a===r?t:r},i[0])}function Mt(i,e){let t;return typeof i=="string"?t=i:i.type===n.GenericReference?t=N(i):t=i.id,t===e.id?e:e.get(t)}function nr(i){if(!i)return null;if(Zr.includes(i.type))return i;if(i.type===n.Project)return null;if(i.project.getBuiltIn(i.id))return i;const e=i.parent;return!e||e.type===n.Project?null:nr(e)}function Za(i,e){var t;if(i.readsValue){const r=Mt(i.readsValue,e.project);e.setValueWriter(r),r.addValueReader(e)}else i.readsValue===null&&((t=e.readsValue)==null||t.removeValueReader(e),e.readsValue=null);return e}function Ka(i){const e=[];function t(s,o){return e.some(l=>l.blockedByCaller===s&&l.blockedByCalling===o)}function r(s,o){t(s,o)||e.push({blockedByCaller:s,blockedByCalling:o})}const a=Hu(i,i.project);return i.calledBySuccess.forEach(s=>{[...s.successCalls||[]].forEach(p=>{Ve.includes(p.type)&&p!==i&&(Me(i).find(m=>m===p)||r(s,p))});let l;if(ke.includes(s.type)&&(l=s),l){const p=Ka(l);p.reachable||Me(i).find(m=>m===s)||p.blocks.forEach(m=>{r(s,m.blockedByCalling)})}}),i.calledByError.forEach(s=>{[...s.errorCalls||[]].forEach(p=>{Ve.includes(p.type)&&p!==i&&(Me(i).find(m=>m===p)||r(s,p))});let l;if(ke.includes(s.type)&&(l=s),l){const p=Ka(l);p.reachable||Me(i).find(m=>m===s)||p.blocks.forEach(m=>{r(s,m.blockedByCalling)})}}),i.calledByEntry.forEach(s=>{if([...s.calls||[]].forEach(p=>{Ve.includes(p.type)&&p!==i&&(Me(i).find(m=>m===p)||r(s,p))}),s===a)return;let l;if(s.type===n.FunctionDeclaration){const p=et(s);if(p.type===n.CustomEntity)return;p.type===n.Loop&&(l=p)}if(l){const p=Ka(l);p.reachable||p.blocks.forEach(y=>{r(s,y.blockedByCalling)})}}),{reachable:e.length===0,entryPoint:a,blocks:e}}function k7(i){return al.includes(i.type)?i.type===n.FunctionDeclaration?!hA(i):!0:!1}function q7(i){if(n.ActionDescriptor===i.type){if(i.project.operationDeclarations.find(s=>s.id===i.id))return n.Operation;if(i.project.globalEventActionDescriptors.find(s=>s.id===i.id))return n.GlobalEvent;if(i.project.loopDeclarations.find(s=>s.id===i.id))return n.Loop;if(i.project.conditionDeclarations.find(s=>s.id===i.id))return n.Condition}return i.type}function Gi(i,e){if(i.type!==n.CustomEntity||i.abstract)return!1;const t=qu(i)||i;return!!ku(t).includes(e)}function J7(i){const e=[];return i.entities.forEach(t=>{if(Gi(t,V.PERSISTED_ENTITY)){e.push(t);return}}),E(e)}function W7(i){const e=[];return i.entities.forEach(t=>{if(Gi(t,V.RELATIONAL_DATABASE)){e.push(t);return}}),E(e)}function Y7(i){return i.type!==n.CustomEntity||i.abstract||!Gi(i,V.PERSISTED_ENTITY)?null:(i==null?void 0:i.properties.find(t=>{var r;return((r=t.implements)==null?void 0:r.id)===B[n.BuiltInBaseEntity][V.PERSISTED_ENTITY].properties.primaryKey.id&&!t.abstract}))||null}function H7(i){if(i.type!==n.CustomEntity)return[];if(i.abstract)return[];if(!Gi(i,V.PERSISTED_ENTITY))return[];const e=[],t=i.properties.filter(r=>{var a;return((a=r.implements)==null?void 0:a.id)!==B[n.BuiltInBaseEntity][V.PERSISTED_ENTITY].properties.database.id&&!r.abstract});return e.push(...t),e}function z7(i){var r;if(!i||i.type!==n.CustomEntity||!Gi(i,V.PERSISTED_ENTITY))return null;const t=E([...i.allBasePropertiesFromExtendedAndImplementedEntities,...i.ownDeclaredProperties]).find(a=>{var s;return((s=a.implements)==null?void 0:s.id)===B[n.BuiltInBaseEntity][V.PERSISTED_ENTITY].properties.database.id});return(r=t==null?void 0:t.getDefaultValue())==null?void 0:r.valueAsType}function Z7(i,e){const t=[];if(i.parent)if(i.id===i.parent)t.push(new b({id:`${i.id}--${i.parent}--${h.SelfReference}`,code:h.SelfReference,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.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 r=e.get(i.parent);r?[n.Project,n.DataType].includes(r.type)||t.push(new b({id:`${i.id}--${i.parent}--${h.InvalidParentReference}`,code:h.InvalidParentReference,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.id}", has a parent reference that isn't pointing to an entity of type 'project' or 'data-type'.`,issue:null})):t.push(new b({id:`${i.id}--${i.parent}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.id}", is referencing an entity with id "${i.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}return i.implements&&Array.isArray(i.implements)?i.implements.forEach(r=>{if(i.id===r){t.push(new b({id:`${i.id}--${r}--${h.SelfReference}`,code:h.SelfReference,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.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(r);a?[n.CustomEntity,n.BuiltInBaseEntity].includes(a.type)?a.abstract||t.push(new b({id:`${i.id}--${r}--${h.InvalidImplementsReference}`,code:h.InvalidImplementsReference,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.id}", has an 'implements' reference that isn't pointing to an abstract entity.`,issue:null})):t.push(new b({id:`${i.id}--${r}--${h.InvalidImplementsReference}`,code:h.InvalidImplementsReference,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.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 b({id:`${i.id}--${r}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.id}", is referencing an entity with id "${r}" 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 b({id:`${i.id}--${S.InvalidObjectStructure}`,code:S.InvalidObjectStructure,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.id}", has an 'implements' property that isn't an array.`,issue:null})),i.extends&&Array.isArray(i.extends)&&i.extends.forEach(r=>{const a=e.get(r);a?[n.CustomEntity,n.BuiltInBaseEntity].includes(a.type)?a.abstract&&t.push(new b({id:`${i.id}--${r}--${h.InvalidExtendsReference}`,code:h.InvalidExtendsReference,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.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 b({id:`${i.id}--${r}--${h.InvalidExtendsReference}`,code:h.InvalidExtendsReference,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.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 b({id:`${i.id}--${r}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.id}", is referencing an entity with id "${r}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}),t}const Ne=class Ne{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 r=t;if(e.parent){const p=N(e.parent);r=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:r},l=g(o,t);return l.setParent(r),l.initChildren(),l}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=Z7(r,t),o=Lo(r,t);a.push(...s,...o,...Le(r));const l=r.parent?t.get(r.parent):null;if(l&&l.type===n.DataType){const p=l;p.entity&&a.push(new b({id:`${e.id}--${h.NewEntityWouldOverriteExisting}`,code:h.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=[],r=[];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:E(e),added:E(t),removed:E(r),self:this}}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(r=>r.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(r=>r.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 r=this.errorCalls.findIndex(a=>a.id===e.id);return r>-1&&this.errorCalls.splice(r,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=g(this.initialData.declaration,this.project);this.declaration=e}else{const e=N(this.initialData.declaration),t=this.project.get(e);this.declaration=t}return this.successCalls=this.initialData.successCalls.map(e=>{const t=g(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=g(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=g(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.process&&(this.process=g(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this.initialData.error&&(this.error=g(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this.syncMissingFixedInputs(),this.syncMissingFixedOutputs(),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 r=[],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});r.push(...o),a.push(...l)}if(this.inputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),this.outputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),this.error){const{affected:o,removed:l}=this.error.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}return this.successCalls.forEach(o=>{r.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{r.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{r.push(o),o.removeCall(this)}),{affected:E(r),removed:E(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:r}=this.process.restore({seenEntities:e});t.push(...r)}return this.inputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(r=>{t.push(r),r.addSuccessCaller(this)}),this.errorCalls.forEach(r=>{t.push(r),r.addErrorCaller(this)}),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:E(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(r=>r.toFlat(e)),...this.errorCalls.flatMap(r=>r.toFlat(e)),...this.inputs.flatMap(r=>r.toFlat(e)),...this.outputs.flatMap(r=>r.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(r=>r.toFlatIds(e)),...this.errorCalls.flatMap(r=>r.toFlatIds(e)),...this.inputs.flatMap(r=>r.toFlatIds(e)),...this.outputs.flatMap(r=>r.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(r=>r.toJSON()),errorCalls:this.errorCalls.map(r=>r.toJSON()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(r=>r.toJSON()),outputs:this.outputs.map(r=>r.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON()}}toReference(){return{id:this.id+"--"+_.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(r=>r.toFlatJSON(e)),...this.errorCalls.flatMap(r=>r.toFlatJSON(e)),...this.inputs.flatMap(r=>r.toFlatJSON(e)),...this.outputs.flatMap(r=>r.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(r=>r.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.inputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.outputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.process?this.process.toFlatGenerationTarget(e):[],...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(r=>r.clearErrors()),this.outputs.forEach(r=>r.clearErrors()),this.successCalls.forEach(r=>r.clearErrors()),this.errorCalls.forEach(r=>r.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=P7(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 _e(this.toJSON(),this.project)}removeUnrecognizedInputs(){const e=[],t=[],r=[];return this.inputs.forEach(a=>{if(!this.declaration.inputs.find(o=>o.id===a.declaration.id)){const o=a.remove();r.push(...o.removed),e.push(...o.affected)}}),{updated:E(e),added:E(t),removed:E(r),self:this}}removeUnrecognizedOutputs(){const e=[],t=[],r=[];return this.outputs.forEach(a=>{if(!this.declaration.getUniqueReturnDeclarations().find(o=>o.id===a.declaration.id)){const o=a.remove();r.push(...o.removed),e.push(...o.affected)}}),{updated:E(e),added:E(t),removed:E(r),self:this}}syncMissingFixedInputs(){const e=[],t=[],r=[],a=this.declaration.inputs.filter(p=>!this.inputs.find(y=>y.declaration.id===p.id));this.inputs.sort((p,y)=>p.index-y.index),a.forEach(p=>{this.inputs.forEach(m=>{m.index>=p.index&&m.sync({index:m.index+1})});const y={id:_.UUID.uuid(),version:1,type:n.InputMap,declaration:p.toJSON(),readsValue:null,defaultValue:null,index:p.index,name:null,description:null,parent:this.toReference()},f=g(y,this.project);f.setParent(this),f.initChildren(),f.addSelfToProject(),t.push(f)}),this.inputs.sort((p,y)=>p.index-y.index);const{updated:s,added:o,removed:l}=this.removeUnrecognizedInputs();return e.push(...s),t.push(...o),r.push(...l),{updated:E(e),added:E(t),removed:E(r),self:this}}syncMissingFixedOutputs(){const e=[],t=[],r=[],a=[];this.outputs=this.initialData.outputs.map(y=>{const f=g(y,this.project);return a.push(f.index),f.setParent(this),f.initChildren(),f});const s=this.declaration.getUniqueReturnDeclarations().filter(y=>!this.outputs.find(f=>f.declaration.id===y.id));this.outputs.sort((y,f)=>y.index-f.index),s.forEach((y,f)=>{this.outputs.forEach(P=>{P.index>=y.index&&P.index++});const m=a.includes(y.index)?this.outputs.length-1+f:y.index,R={id:_.UUID.uuid(),version:1,type:n.OutputMap,declaration:y.toJSON(),writesValues:[],index:m,parent:this.toReference()},v=g(R,this.project);v.setParent(this),v.initChildren(),v.addSelfToProject()}),this.outputs.sort((y,f)=>y.index-f.index);const{updated:o,added:l,removed:p}=this.removeUnrecognizedOutputs();return e.push(...o),t.push(...l),r.push(...p),{updated:E(e),added:E(t),removed:E(r),self:this}}};c(_e,"MUTABLE_BASE_PROPERTIES",[]),c(_e,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(_e,"BASE_PROPERTIES",[..._e.MUTABLE_BASE_PROPERTIES,..._e.INMUTABLE_BASE_PROPERTIES]),c(_e,"MUTABLE_META_PROPERTIES",["x","y"]),c(_e,"INMUTABLE_META_PROPERTIES",[..._e.INMUTABLE_BASE_PROPERTIES]),c(_e,"META_PROPERTIES",[..._e.MUTABLE_META_PROPERTIES,..._e.INMUTABLE_META_PROPERTIES]),c(_e,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),c(_e,"INMUTABLE_UPSTREAM_PROPERTIES",["declaration","parent"]),c(_e,"UPSTREAM_PROPERTIES",[..._e.MUTABLE_UPSTREAM_PROPERTIES,..._e.INMUTABLE_UPSTREAM_PROPERTIES]),c(_e,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","writesValues","inputs","outputs","error"]),c(_e,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(_e,"DOWNSTREAM_PROPERTIES",[..._e.MUTABLE_DOWNSTREAM_PROPERTIES,..._e.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(_e,"PROPERTIES",[..._e.META_PROPERTIES,..._e.UPSTREAM_PROPERTIES,..._e.DOWNSTREAM_PROPERTIES]);let kr=_e;function JP(i){var e,t,r;switch(i.id){case B["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const a=i.project.entities.filter(f=>!!f.implements.find(m=>m.id===B["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id));if(a.find(f=>!!f.properties.find(m=>{var R;return m.implements&&m.implements.id===B["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id&&((R=m.getDefaultValue())==null?void 0:R.value)===!0}))){const m=a[0].properties.find(v=>v.implements&&v.implements.id===B["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id),R=(e=m==null?void 0:m.dataType)==null?void 0:e.defaultValue;if(R)R.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],P=g({id:v+"-default-value-id",version:1,type:n.PrimitiveValue,name:I.EntityTemplate,parentRelationType:null,autogeneration:null,value:!0,valueAsType:null,parent:m==null?void 0:m.dataType.toReference()},i.project);return P.setParent(m==null?void 0:m.dataType),P.initChildren(),P.addSelfToProject(),{newEntities:[P]}}return{newEntities:[]}}const o=i.project.get(B["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id),l=Jo(o,"Main database");if(l.errors.length>0)return{newEntities:[]};const p=l.implemented.properties.find(f=>f.implements&&f.implements.id===B["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id),y=(r=p==null?void 0:p.dataType)==null?void 0:r.defaultValue;if(y)y.value=!0;else if(p!=null&&p.dataType){const f=p==null?void 0:p.dataType.id.split("-id")[0],m=g({id:f+"-default-value-id",version:1,type:n.PrimitiveValue,name:I.EntityTemplate,parentRelationType:null,autogeneration:null,value:!0,valueAsType:null,parent:p==null?void 0:p.dataType.toReference()},i.project);m.setParent(p==null?void 0:p.dataType),m.initChildren(),m.addSelfToProject()}return{newEntities:[l.implemented]}}}return{newEntities:[]}}function WP(i){return i.implements.filter(t=>t.type===n.BuiltInBaseEntity).map(t=>{var r;switch(t.id){case B["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const s=i.project.entities.filter(p=>p.implements.find(y=>y.id===B["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id)).find(p=>!!p.properties.find(y=>{var f;return y.implements&&y.implements.id===B["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id&&((f=y.getDefaultValue())==null?void 0:f.value)===!0}));if(!s)return{newEntities:[]};const o=i.properties.find(p=>p.implements&&p.implements.id===B["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.properties.database.id),l=(r=o==null?void 0:o.dataType)==null?void 0:r.defaultValue;if(o&&(o!=null&&o.dataType)&&!l){const p=o==null?void 0:o.dataType.id.split("-id")[0],y=g({id:p+"-default-value-id",version:1,type:n.PrimitiveValue,name:I.EntityTemplate,parentRelationType:null,autogeneration:null,value:null,valueAsType:s,parent:o==null?void 0:o.dataType.toReference()},i.project);return y.setParent(o==null?void 0:o.dataType),y.initChildren(),y.addSelfToProject(),{newEntities:[y]}}return{newEntities:[]}}}}),{newEntities:[]}}function Jo(i,e,t){const r=t||Ze(e,n.CustomEntity,i.project),a=r.split("-id"),s=a[a.length-1||0]||r,o={id:r,version:1,name:e,type:n.CustomEntity,description:null,static:!1,abstract:!1,properties:[],methods:[],abstractMethods:[],extends:[],implements:[i],x:0,y:0,parent:i.project},l=Lo(o,i.project);if(l.length>0)return{errors:l,implemented:null,entitiesChanges:{new:[],updated:[],deleted:[]}};const p=JP(i),y=g(o,i.project);y.setParent(i.project),y.initChildren();const f=i.properties.map(v=>{const P=s+"-"+Ze(C(v,i.project),n.Property,i.project),A=v.clone(y,P);return A.abstract=!1,A.implements=v,A.setParent(y),y.addProperty(A),A}),m=i.abstractMethods.map(v=>{const P=s+Ze(v.name,n.FunctionDeclaration,i.project),A=v.implementAsFunctionDeclaration(P),D={id:P+"-parent-ref-id",type:n.GenericReference,entityId:r,entityType:n.CustomEntity},F={...A,implements:v,parent:D},k=g(F,i.project);return y.addMethod(k),k.setParent(y),k.initChildren(),k.implements=v,k});o.properties=f,o.methods=m;const R=WP(y);return{implemented:y,errors:[],entitiesChanges:{new:[y,...p.newEntities,...R.newEntities],updated:[y],deleted:[]}}}function Mu(i,e){return e.entities.find(a=>{const s=a.properties,o=s.map(m=>m.name),l=i.every(m=>o.includes(m)),p=o.filter(m=>!i.includes(m)),y=s.every(m=>!p.includes(m.name)||!m.required);return l&&y})||null}function YP(i,e,t=We.OrDataTypeGroup){const r=[],a=[],s=[],l={id:e.id+"--nested-data-type-id-"+i.id,version:1,type:n.DataType,entity:i.toJSON(),isList:!1,isNullable:!1,defaultValue:null,asType:null,andChildrenGroup:null,orChildrenGroup:null,like:!0,inferred:!1,constant:!1,parentRelationType:t,parent:e.toReference()},p=g(l,i.project);return a.push(p),p.setParent(e),p.initChildren(),p.setEntity(i),p.addSelfToProject(),{updated:E(r),added:E(a),removed:E(s),self:p}}function Vu(i,e,t,r){const a=[],s=[],o=[];switch(typeof i){case"string":let l=!1;const p=new Date(i);if(p instanceof Date&&!isNaN(p.valueOf())&&(l=!0),l){const y=e.project.getBuiltIn(B[n.PrimitiveEntity][I.Date].id);e.setEntity(y);break}else{const y=e.project.getBuiltIn(B[n.PrimitiveEntity][I.String].id);e.setEntity(y);break}case"number":e.setEntity(e.project.getBuiltIn(B[n.PrimitiveEntity][I.Number].id));break;case"boolean":e.setEntity(e.project.getBuiltIn(B[n.PrimitiveEntity][I.Boolean].id));break;case"object":if(i===null){e.setEntity(e.project.getBuiltIn(B[n.PrimitiveEntity][I.Null].id));break}else if(Array.isArray(i))if(e.sync({isList:!0}),i.length>0){const y=i.slice(0,5).filter(m=>m!==void 0);if(y.every(m=>typeof m==typeof y[0])&&(typeof y[0]!="object"||y[0]===null))switch(typeof y[0]){case"string":e.setEntity(e.project.getBuiltIn(B[n.PrimitiveEntity][I.String].id));break;case"number":e.setEntity(e.project.getBuiltIn(B[n.PrimitiveEntity][I.Number].id));break;case"boolean":e.setEntity(e.project.getBuiltIn(B[n.PrimitiveEntity][I.Boolean].id));break;case"object":e.setEntity(e.project.getBuiltIn(B[n.PrimitiveEntity][I.Null].id));break}else{const m=[];let R=!1;y.forEach((P,A)=>{if(Array.isArray(P)&&(R=!0),typeof P=="object"&&!Array.isArray(P)&&P!==null){const D=Wo(P,e.project,{...t,id:e.id+"--or-child-data-type-entity-id-"+A},r);D.hasCreated&&m.push(D.changeSet.self),a.push(...D.changeSet.updated),s.push(...D.changeSet.added),o.push(...D.changeSet.removed)}});const v=E(m);if(!v.length&&!R){y.forEach(P=>{const A={id:_.UUID.uuid(),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,parentRelationType:We.OrDataTypeGroup,parent:e.toReference()},D=g(A,e.project);switch(D.setParent(e),D.initChildren(),D.addSelfToProject(),typeof P){case"string":D.setEntity(D.project.getBuiltIn(B[n.PrimitiveEntity][I.String].id));break;case"number":D.setEntity(D.project.getBuiltIn(B[n.PrimitiveEntity][I.Number].id));break;case"boolean":D.setEntity(D.project.getBuiltIn(B[n.PrimitiveEntity][I.Boolean].id));break;case"object":D.setEntity(D.project.getBuiltIn(B[n.PrimitiveEntity][I.Null].id));break}});break}else v.length===1&&!R?e.setEntity(v[0]):y.forEach((P,A)=>{if(typeof P=="object"&&!Array.isArray(P)&&P!==null){const D=Mu(Object.keys(P),e.project);if(D){const F=YP(D||v[0],e,We.OrDataTypeGroup);a.push(...F.updated),s.push(...F.added),o.push(...F.removed)}}else{const D={id:e.id+"--or-child-data-type-id--"+A,version:1,type:n.DataType,entity:null,isList:Array.isArray(P),isNullable:!1,defaultValue:null,asType:null,andChildrenGroup:null,orChildrenGroup:null,like:!0,inferred:!1,constant:!1,parentRelationType:We.OrDataTypeGroup,parent:e.toReference()},F=g(D,e.project);F.setParent(e),F.initChildren(),F.addSelfToProject();const k=Vu(P,F,{...t,id:e.id+"--or-child-data-type-entity-id-"+A},r);a.push(...k.updated),s.push(...k.added),o.push(...k.removed)}})}}else{const y=Wo(i[0],e.project,{...t},r);e.setEntity(y.changeSet.self),a.push(...y.changeSet.updated),s.push(...y.changeSet.added),o.push(...y.changeSet.removed);break}else{const y=Wo(i,e.project,{...t},r);e.setEntity(y.changeSet.self),a.push(...y.changeSet.updated),s.push(...y.changeSet.added),o.push(...y.changeSet.removed);break}}return{updated:E(a),added:E(s),removed:E(o),self:e}}function Wo(i,e,t,r){const a=[],s=[],o=[],l=Object.keys(i),p=Mu(l,e);if(p)return{hasCreated:!1,changeSet:{updated:[],added:[],removed:[],self:p}};const y=r?t.name+" of "+r.name:t.name,m={id:t.id||Ze(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()},R=g(m,e);return R.setParent(e),R.initChildren(),R.addSelfToProject(),s.push(R),l.forEach((v,P)=>{const A=Ze(y+" "+v,n.Property,e),D={id:A,version:1,name:v,type:n.Property,description:null,static:!1,abstract:!1,dataType:null,implements:null,index:P,hidden:!1,private:!1,required:!0,parent:R.toReference()},F=g(D,e);F.setParent(R),F.initChildren(),F.addSelfToProject(),s.push(F);const k=i[v],me={id:A+"--data-type-id",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:F.toReference()},ae=g(me,e);ae.setParent(F),ae.initChildren(),ae.addSelfToProject(),s.push(ae);const Je=Vu(k,ae,{...t,name:v,id:A+"--data-type-entity-id"},r||R);a.push(...Je.updated),s.push(...Je.added),o.push(...Je.removed)}),{hasCreated:!0,changeSet:{updated:E(a),added:E(s),removed:E(o),self:R}}}function Yo(i,e){const t=qr(i);if(t.length===0)return{list:[],last:null};let r=null;return{list:t.flatMap(s=>{if(s===e)return r=s,[s];const o=Yo(s,e);return o.last&&(r=o.last),[s,...o.list]}),last:r}}function HP(i,e,t=new Set){const r=er(i),a=er(e),s=r.filter(p=>!a.includes(p)),o=r.filter(p=>a.includes(p)),l=s.reduce((p,y)=>t.has(y.id)?p:(t.add(y.id),E([...p,...HP(y,e,t)])),[]);return E([...o,...l])}function Ha(i,e){const t=Yo(i,e);return t.last===e&&t.list.length>0&&t.list[0]!==e}function A7(i,e){return!!Yo(i,e).last}function O7(i){if(Ue.includes(i.type))return i;if([...Nn,n.VariableDeclaration].includes(i.type)){const e=i.parent;return Ue.includes(e.type)?e:null}return null}function Lu(i,e){if(!i||!e)throw new Error("Both entities must be defined to find a common ancestor");if(i===e)return i;const t=i.parent;if(t){if(t===e)return e;if(t.type===n.Project)return null}else return null;const r=e.parent;if(r){if(r===i)return i;if(r.type===n.Project)return null}else return null;return Lu(t,r)}function et(i){if(al.includes(i.type)){if(i.type===n.FunctionDeclaration){const e=i.parent;if(e.type===n.CustomEntity)return e;if(e.type===n.Loop)return e}return i}else{const e=i.parent;return e?et(e):null}}function S7(i){return i.type===n.VariableDeclaration?[i]:ke.includes(i.type)?[...i.inputs,...i.outputs||[]]:Ve.includes(i.type)?i.outputs:zr.includes(i.type)||i.type===n.FunctionDeclaration?i.inputs:[]}function C7(i){const e=er(i),t=[],r=[];Zu.includes(i.type)&&t.push(...Gu(i));const a=e.filter(s=>{const o=t.includes(s);return o?!1:Nn.includes(s.type)&&!o?(r.push(s),!1):!0});return t.sort((s,o)=>Ha(o,s)?-1:0),r.sort((s,o)=>Ha(o,s)?-1:0),[...t,...r,...a]}function zP(i){return[...i].sort((e,t)=>Ha(t,e)?-1:0)}function B7(i){const e=zP(i),t=[];return e.forEach(r=>{const a=t[t.length-1];if(a){const s=a[a.length-1];Ha(r,s)?t.push([r]):a.push(r)}else t.push([r])}),t}function Rt(i){const e=i.map(t=>et(t));return E(e)}function Gu(i){return ke.includes(i.type)?[...Rt(i.successCalls),...Rt(i.errorCalls)]:Ue.includes(i.type)?Rt(i.calls):[]}function w7(i,e){return Gu(i).includes(e)}function $u(i){return i.writesValues||[]}function _7(i,e){return $u(i).includes(e)}function ZP(i){var e;return Fe.includes((e=i==null?void 0:i.readsValue)==null?void 0:e.type)?i.readsValue:null}function N7(i){return i.writesValues}function KP(i=[]){return i.map(ZP).filter(e=>!!e)}function Ho(i=[]){return i.map(e=>e.writesValues).flat().filter(e=>Fe.includes(e.type))}function XP(i=[]){return i.map(e=>e.readsValue).filter(e=>!!e&&Fe.includes(e.type))}function QP(i){return Fe.includes(i.type)?i:null}function eA(i){return i.writesValues.map(QP).filter(e=>!!e)}function tA(i=[]){return i.reduce((e,t)=>t.type===n.OutputMap?[...e,...eA(t)]:e,[])}function Me(i){return ke.includes(i.type)?[...pn(Rt(i.successCalls)),...pn(Rt(i.errorCalls))]:Ue.includes(i.type)?pn(Rt(i.calls)):[]}function M7(i){return ke.includes(i.type)?[...pn(Rt(i.successCalls)),...pn(Rt(i.errorCalls))]:Ue.includes(i.type)?pn(Rt(i.calls)):[]}function nA(i,e=new Set){return i.writesValues.filter(r=>Fe.includes(r.type)&&!e.has(r.id)).reduce((r,a)=>e.has(a.id)?r:[...r,...re(a,e)],[])}function rA(i,e=new Set){var r;return(((r=i.readsValue)==null?void 0:r.writesValues)||[]).filter(a=>Fe.includes(a.type)&&!e.has(a.id)).reduce((a,s)=>e.has(s.id)?a:[...a,...re(s,e)],[])}function re(i,e=new Set){if(e.has(i.id))return[];if(i.type===n.ReturnStatement)return XP(i.outputs).reduce((r,a)=>[...r,...re(a,e)],[]);if(i.type===n.FunctionCall||i.type===n.Operation||i.type===n.Condition)return[...Me(i).reduce((s,o)=>{const l=et(o);return[...s,...re(l||o,e)]},[]),...KP(i.inputs),...tA(i.outputs)].reduce((s,o)=>[...s,...re(o,e)],[]);if(zr.includes(i.type)){const t=Ho(i.inputs),a=Me(i).reduce((s,o)=>{const l=et(o);return[...s,...re(l||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...re(o,e)],[])}if(i.type===n.FunctionDeclaration){const t=[...Ho(i.inputs)],a=Me(i).reduce((s,o)=>{const l=et(o);return[...s,...re(l||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...re(o)],[])}if(Fe.includes(i.type)){e.add(i.id);const r=Me(i).reduce((a,s)=>{const o=et(s);return[...a,...re(o||s,e)]},[]);return[i,...r,...rA(i,e),...nA(i,e)]}return[]}function St(i,e=new Set){return e.has(i.id)?[]:(e.add(i.id),[...er(i).reduce((a,s)=>[...a,s,...St(s,e)],[])])}function pn(i){return i.reduce((e,t)=>t.type===n.ReturnStatement||t.type===n.ContinueStatement||t.type===n.BreakStatement?[...e,t]:[...e,t,...Me(t)],[])}function iA(i){const e=i.entities||[],t=[...e,...i.functions||[],...i.events||[],...i.projects||[]],r=e.reduce((p,y)=>[...p,...y.properties],[]),a=e.reduce((p,y)=>[...p,...y.methods],[]),s=a.reduce((p,y)=>[...p,...Ho(y.inputs),...pn(Rt(y.calls)),...y.returnStatements],[]),o=i.functions.reduce((p,y)=>[...p,...pn(Rt(y.calls)),...y.returnStatements],[]),l=i.events.reduce((p,y)=>[...p,...pn(Rt(y.calls)),...y.returnStatements],[]);return[...t,...r,...a,...s,...o,...l]}function aA(i,e){return e.filter(r=>{if(!r)return!1;switch(r.type){case n.FunctionCall:return r.inputs.find(a=>a.id===i.id)!==void 0||r.outputs.find(a=>a.id===i.id)!==void 0;case n.Condition:return r.successCalls.find(a=>a.id===i.id)!==void 0||r.errorCalls.find(a=>a.id===i.id)!==void 0||r.inputs.find(a=>a.id===i.id)!==void 0;case n.Operation:return r.outputs.find(a=>a.id===i.id)!==void 0;case n.VariableDeclaration:return ke.includes(i.type)?sA(i).find(s=>{var o;return((o=s.readsValue)==null?void 0:o.id)===r.id})!==void 0:!1;case n.CustomEntity:return r.properties.find(a=>a.id===i.id)!==void 0||r.methods.find(a=>a.id===i.id)!==void 0;case n.FunctionDeclaration:return r.inputs.find(a=>a.id===i.id)!==void 0||(r.returnStatements.map(a=>a.outputs).flat()||[]).find(a=>a.id===i.id)!==void 0;default:return!1}})}function V7(i){const e=iA(i.project);return aA(i,e)}function qr(i){const e=[];if(Nn.includes(i.type)){i.calledBy.forEach(a=>{const s=et(a);s&&e.push(s)});const r=[...i.inputs||[],...i.outputs||[]].map(a=>Uu(a)).filter(a=>a!==null);e.push(...E(r))}if(Fe.includes(i.type)){const t=Uu(i);t&&e.push(t)}return E(e)}function Fu(i){return i.type===n.FunctionCall||i.type===n.InternalCall||[n.Operation,n.Condition,n.Loop].includes(i.type)?i.declaration.inputs:i.type===n.FunctionDeclaration||zr.includes(i.type)?i.inputs:i.type===n.Search?i.inputsDeclarations:[]}function L7(i,e){return e.type===n.Condition?e.inputs.find(t=>t.declaration.id===i.id):e.type===n.FunctionCall||e.type===n.Operation?e.inputs.find(t=>t.declaration.id===i.id):null}function sA(i){return ke.includes(i.type)?i.inputs:[]}function oA(i){var e;return i.type===n.FunctionCall?((e=i.declaration.returnStatements[0])==null?void 0:e.outputs)||[]:[n.Operation,n.Condition,n.Loop].includes(i.type)?i.declaration.outputs:i.type===n.Search?i.outputsDeclarations:Ve.includes(i.type)?i.outputs:[]}function G7(i,e){return e.type===n.Condition?null:e.type===n.FunctionCall||e.type===n.Operation?e.outputs.find(t=>t.declaration.id===i.id):null}function $7(i){return i.type===n.Condition?[]:ke.includes(i.type)?i.outputs:[]}function Uu(i){const e=i.readsValue;return e?et(e):null}function lA(i){const e=i.internalCalls||[];return E(Rt(E(e.flatMap(t=>[...t.successCalls,...t.errorCalls]))))}function Li(i){const e=$u(i),t=[];return e.forEach(r=>{if(Fe.includes(r.type))t.push(r);else if(_n.includes(r.type)){const a=r.parent;t.push(a)}}),t}function E(i){const e=new Set;return i.filter(t=>!t||e.has(t.id)?!1:(e.add(t.id),!0))}function er(i,e=!1){const t=[];if(i.type===n.Project&&t.push(...(i==null?void 0:i.entities)||[],...(i==null?void 0:i.functions)||[],...(i==null?void 0:i.variableDeclarations)||[],...(i==null?void 0:i.variableInstances)||[],...(i==null?void 0:i.searches)||[],...(i==null?void 0:i.loops)||[],...(i==null?void 0:i.operations)||[],...(i==null?void 0:i.conditions)||[],...(i==null?void 0:i.functionCalls)||[],...(i==null?void 0:i.events)||[],...(i==null?void 0:i.projects)||[]),ut.includes(i.type)&&t.push(...(i==null?void 0:i.detachedChildren)||[]),i.type===n.CustomEntity){const r=[...i.suggestedMethods,...i.methods].flatMap(a=>a.collapsed&&e?[]:er(a));t.push(...r)}if(i.type===n.Condition){const r=i.successCalls.map(s=>et(s)),a=i.errorCalls.map(s=>et(s));t.push(...r,...a)}if(zr.includes(i.type)){if(i.collapsed&&e)return[];const r=i.inputs.map(s=>Li(s)).flat(),a=i.calls.map(s=>et(s));t.push(...E(r),...a)}if(ke.includes(i.type)&&i.type!==n.Condition&&i.type!==n.Loop){const r=i==null?void 0:i.outputs.map(o=>Li(o)).flat(),a=i.successCalls.map(o=>et(o)),s=i.errorCalls.map(o=>et(o));t.push(...E(r),...a,...s)}if(Fe.includes(i.type)){const r=Li(i),a=lA(i);t.push(...r,...a)}if(i.type===n.Loop){const r=i.outputs.map(o=>Li(o)).flat();if(i.body){const o=er(i.body,e);t.push(...o)}const a=i.errorCalls.map(o=>et(o)),s=i.successCalls.map(o=>et(o));t.push(...E(r),...s,...a)}if(i.type===n.FunctionDeclaration){if(i.collapsed&&e)return[];const r=i.inputs.map(s=>Li(s)).flat(),a=i.calls.map(s=>et(s));t.push(...E(r),...a)}return E(t)}function cA(i,e=!1){const t=er(i,e),r=[...t,...t.reduce((a,s)=>[...a,...cA(s,e)],[])];return E(r)}function dA(i){const e=qr(i),t=[...e,...e.reduce((r,a)=>[...r,...dA(a)],[])];return E(t)}function zo(i){return i.implements.reduce((e,t)=>t.type===n.CustomEntity?[...e,n.CustomEntity,...zo(t),...Zo(t)]:[...e,t.name],[])}function Zo(i){return i.extends.reduce((e,t)=>t.type===n.CustomEntity?[...e,n.CustomEntity,...Zo(t),...zo(t)]:[...e,t.name],[])}function xu(i){return i.extends.reduce((e,t)=>t.type===n.CustomEntity?[...e,t,...xu(t),...ju(t)]:[...e,t],[])}function ju(i){return i.implements.reduce((e,t)=>t.type===n.CustomEntity?[...e,t,...ju(t),...xu(t)]:[...e,t],[])}function ku(i){return[...Zo(i),...zo(i)].filter((t,r,a)=>a.indexOf(t)===r)}function uA(i){return i.implements.length===0&&i.extends.length===0?null:i.implements.find(r=>r.type===n.BuiltInBaseEntity&&r.name===V.PERSISTED_ENTITY)?i:[...i.implements,...i.extends].reduce((r,a)=>{if(a.type===n.CustomEntity){const s=uA(a);if(s)return s}return r},null)}function F7(i){const e=i.extends.find(t=>t.type===n.BuiltInBaseEntity);return e&&e.type===n.BuiltInBaseEntity?e:null}function U7(i){const e=i.implements.find(t=>t.type===n.BuiltInBaseEntity);return e&&e.type===n.BuiltInBaseEntity?e:null}function qu(i){const e=i.extends.find(t=>t.type===n.CustomEntity);return e&&e.type===n.CustomEntity?e:null}function tr(i){const e=[...i.implements,...i.extends].reduce((t,r)=>r.type===n.BuiltInBaseEntity?[...t,r]:r.type===n.CustomEntity?[...t,...tr(r)]:t,[]);return E(e)}function Ju(i){return i.type===n.PrimitiveEntity?!0:i.type===n.BuiltInBaseEntity?i.interactive:!tr(i).find(r=>!r.interactive)}function x7(i){return i.parent===i.project&&i.project.variableDeclarations.includes(i)}function Wu(i){return i.parent!==i.project?!1:n.VariableDeclaration===i.type?i.project.variableDeclarations.includes(i):n.VariableInstance===i.type?i.project.variableInstances.includes(i):n.FunctionCall===i.type?i.project.functionCalls.includes(i):n.Condition===i.type?i.project.conditions.includes(i):n.Operation===i.type?i.project.operations.includes(i):n.Loop===i.type?i.project.loops.includes(i):n.Search===i.type?i.project.searches.includes(i):!1}function pA(i){if([...Ue,n.CustomEntity,n.InstalledProject,n.Project].includes(i.type)||Wu(i))return!1;const e=qr(i);return e.length===0?!0:e.some(t=>pA(t))}function Yu(i){return[...Ue,n.CustomEntity,n.InstalledProject,n.Project].includes(i.type)||Wu(i)?!1:qr(i).length===0}function yA(i,e=0){if(Yu(i)){const t=qr(i);return t.length===0?i:t.map(a=>yA(a,e+1)).reduce((a,s)=>a?s&&s.x<a.x?s:a:s,null)}return null}function fA(i){const e=[];if(Yu(i))e.push(i);else return[];return qr(i).forEach(r=>{e.push(...fA(r))}),e}function hA(i){return i.type===n.FunctionDeclaration&&i.parent!==i.project&&!![n.CustomEntity,n.Loop,n.InstalledProject].includes(i.parent.type)}function j7(i,e){const t=new Map;return i.forEach(r=>{t.set(r.id,r)}),e.forEach(r=>{t.set(r.id,r)}),Array.from(t.values())}function Ko(i){switch(i){case n.CustomEntity:return Jr;case n.FunctionDeclaration:return _r;case n.VariableDeclaration:return Lr;case n.VariableInstance:return Gr;case n.FunctionCall:return kr;case n.Operation:return Nr;case n.Condition:return Vr;case n.ReturnStatement:return xr;case n.Loop:return Mr;case n.Search:return $r;case n.InputMap:return Cn;case n.OutputMap:return Bn;case n.ArgumentDeclaration:return Ur;case n.ReturnDeclaration:return Nt;case n.Property:return wr;case n.InstalledProject:return Fr;case n.Project:return _;case n.BuiltInBaseEntity:return Xt;default:return null}}function gt(i,e){if(ut.includes(i.type))return i;if(Zr.includes(i.type))return null;const t=i.parent;if(!t)return null;if(t.type===n.GenericReference){const r=N(t);if(!r)return null;const a=e.get(r);return a?gt(a,e):null}else return t===e?e:gt(t,e)}function Hu(i,e){if(Zr.includes(i.type)||e.getBuiltIn(i.id))return null;const t=Mt(i.parent,e);return t?t===e?ut.includes(i.type)?i:null:t.type===n.CustomEntity?i:Hu(t,e):null}function Xo(i,e,t){if(i===e||e===t||i===t)return!1;const r=gt(e.parent,t);return r===i?!0:Xo(r,e,t)}var Qo=(i=>(i.SameBothLocal="same-both-local",i.AInB="a-in-b",i.BInA="b-in-a",i.ParallelInCommonParent="parallel-in-common-parent",i.ParallelInProject="parallel-in-project",i.AIsGlobalBIsNot="a-is-global-b-is-not",i.BIsGlobalAIsNot="b-is-global-a-is-not",i.SameBothGlobal="same-both-global",i))(Qo||{});function za(i,e,t){const r=gt(i,t),a=gt(e,t);if(!r)throw new Error("Could not find scope owner for the entity: "+i.id);if(!a)throw new Error("Could not find scope owner for the entity: "+e.id);if(r===a&&r.type!==n.Project)return{compatible:!0,type:"same-both-local",commonAncestorScope:r};if(r===a&&r.type===n.Project)return{compatible:!0,type:"same-both-global",commonAncestorScope:r};if(r.type===n.Project&&a.type!==n.Project)return{compatible:!1,type:"a-is-global-b-is-not",commonAncestorScope:r};if(r.type!==n.Project&&a.type===n.Project)return{compatible:!1,type:"b-is-global-a-is-not",commonAncestorScope:a};if(Xo(r,a,t))return{compatible:!0,type:"b-in-a",commonAncestorScope:r};if(Xo(a,r,t))return{compatible:!0,type:"a-in-b",commonAncestorScope:a};const l=Lu(r,a);return l===t?{compatible:!1,type:"parallel-in-project",commonAncestorScope:l}:l?{compatible:!1,type:"parallel-in-common-parent",commonAncestorScope:gt(l,t)}:{compatible:!1,type:"parallel-in-project",commonAncestorScope:t}}function mA(i,e,t){const r=za(i,e,t);if(!r.compatible||r.type!=="same-both-local")return null;if(i===e)return i;let a=gt(i.parent,t);if(a){if(a===e)return e;if(a.type===n.Project)return i}else return i;for(;a;){if(a){if(a===e)return e;if(a.type===n.Project)return i}else return i;a=gt(a.parent,t)}let s=gt(e.parent,t);if(s){if(s===i)return i;if(s.type===n.Project)return e}else return e;for(;s;){if(s){if(s===i)return i;if(s.type===n.Project)return e}else return e;s=gt(s.parent,t)}return null}function TA(i){return i.length===0?null:i.length===1?i[0]:i.reduce((t,r)=>{const a=mA(t,r,r.project);return!a||a===r?t:r},i[0])}function Mt(i,e){let t;return typeof i=="string"?t=i:i.type===n.GenericReference?t=N(i):t=i.id,t===e.id?e:e.get(t)}function nr(i){if(!i)return null;if(Zr.includes(i.type))return i;if(i.type===n.Project)return null;if(i.project.getBuiltIn(i.id))return i;const e=i.parent;return!e||e.type===n.Project?null:nr(e)}function Za(i,e){var t;if(i.readsValue){const r=Mt(i.readsValue,e.project);e.setValueWriter(r),r.addValueReader(e)}else i.readsValue===null&&((t=e.readsValue)==null||t.removeValueReader(e),e.readsValue=null);return e}function Ka(i){const e=[];function t(s,o){return e.some(l=>l.blockedByCaller===s&&l.blockedByCalling===o)}function r(s,o){t(s,o)||e.push({blockedByCaller:s,blockedByCalling:o})}const a=Hu(i,i.project);return i.calledBySuccess.forEach(s=>{[...s.successCalls||[]].forEach(p=>{Ve.includes(p.type)&&p!==i&&(Me(i).find(m=>m===p)||r(s,p))});let l;if(ke.includes(s.type)&&(l=s),l){const p=Ka(l);p.reachable||Me(i).find(m=>m===s)||p.blocks.forEach(m=>{r(s,m.blockedByCalling)})}}),i.calledByError.forEach(s=>{[...s.errorCalls||[]].forEach(p=>{Ve.includes(p.type)&&p!==i&&(Me(i).find(m=>m===p)||r(s,p))});let l;if(ke.includes(s.type)&&(l=s),l){const p=Ka(l);p.reachable||Me(i).find(m=>m===s)||p.blocks.forEach(m=>{r(s,m.blockedByCalling)})}}),i.calledByEntry.forEach(s=>{if([...s.calls||[]].forEach(p=>{Ve.includes(p.type)&&p!==i&&(Me(i).find(m=>m===p)||r(s,p))}),s===a)return;let l;if(s.type===n.FunctionDeclaration){const p=et(s);if(p.type===n.CustomEntity)return;p.type===n.Loop&&(l=p)}if(l){const p=Ka(l);p.reachable||p.blocks.forEach(y=>{r(s,y.blockedByCalling)})}}),{reachable:e.length===0,entryPoint:a,blocks:e}}function k7(i){return al.includes(i.type)?i.type===n.FunctionDeclaration?!hA(i):!0:!1}function q7(i){if(n.ActionDescriptor===i.type){if(i.project.operationDeclarations.find(s=>s.id===i.id))return n.Operation;if(i.project.globalEventActionDescriptors.find(s=>s.id===i.id))return n.GlobalEvent;if(i.project.loopDeclarations.find(s=>s.id===i.id))return n.Loop;if(i.project.conditionDeclarations.find(s=>s.id===i.id))return n.Condition}return i.type}function Gi(i,e){if(i.type!==n.CustomEntity||i.abstract)return!1;const t=qu(i)||i;return!!ku(t).includes(e)}function J7(i){const e=[];return i.entities.forEach(t=>{if(Gi(t,V.PERSISTED_ENTITY)){e.push(t);return}}),E(e)}function W7(i){const e=[];return i.entities.forEach(t=>{if(Gi(t,V.RELATIONAL_DATABASE)){e.push(t);return}}),E(e)}function Y7(i){return i.type!==n.CustomEntity||i.abstract||!Gi(i,V.PERSISTED_ENTITY)?null:(i==null?void 0:i.properties.find(t=>{var r;return((r=t.implements)==null?void 0:r.id)===B[n.BuiltInBaseEntity][V.PERSISTED_ENTITY].properties.primaryKey.id&&!t.abstract}))||null}function H7(i){if(i.type!==n.CustomEntity)return[];if(i.abstract)return[];if(!Gi(i,V.PERSISTED_ENTITY))return[];const e=[],t=i.properties.filter(r=>{var a;return((a=r.implements)==null?void 0:a.id)!==B[n.BuiltInBaseEntity][V.PERSISTED_ENTITY].properties.database.id&&!r.abstract});return e.push(...t),e}function z7(i){var t;if(!i||i.type!==n.CustomEntity||!Gi(i,V.PERSISTED_ENTITY))return null;const e=i.properties.find(r=>{var a;return((a=r.implements)==null?void 0:a.id)===B[n.BuiltInBaseEntity][V.PERSISTED_ENTITY].properties.database.id});return(t=e==null?void 0:e.getDefaultValue())==null?void 0:t.valueAsType}function Z7(i,e){const t=[];if(i.parent)if(i.id===i.parent)t.push(new b({id:`${i.id}--${i.parent}--${h.SelfReference}`,code:h.SelfReference,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.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 r=e.get(i.parent);r?[n.Project,n.DataType].includes(r.type)||t.push(new b({id:`${i.id}--${i.parent}--${h.InvalidParentReference}`,code:h.InvalidParentReference,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.id}", has a parent reference that isn't pointing to an entity of type 'project' or 'data-type'.`,issue:null})):t.push(new b({id:`${i.id}--${i.parent}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.id}", is referencing an entity with id "${i.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}return i.implements&&Array.isArray(i.implements)?i.implements.forEach(r=>{if(i.id===r){t.push(new b({id:`${i.id}--${r}--${h.SelfReference}`,code:h.SelfReference,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.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(r);a?[n.CustomEntity,n.BuiltInBaseEntity].includes(a.type)?a.abstract||t.push(new b({id:`${i.id}--${r}--${h.InvalidImplementsReference}`,code:h.InvalidImplementsReference,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.id}", has an 'implements' reference that isn't pointing to an abstract entity.`,issue:null})):t.push(new b({id:`${i.id}--${r}--${h.InvalidImplementsReference}`,code:h.InvalidImplementsReference,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.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 b({id:`${i.id}--${r}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.id}", is referencing an entity with id "${r}" 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 b({id:`${i.id}--${S.InvalidObjectStructure}`,code:S.InvalidObjectStructure,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.id}", has an 'implements' property that isn't an array.`,issue:null})),i.extends&&Array.isArray(i.extends)&&i.extends.forEach(r=>{const a=e.get(r);a?[n.CustomEntity,n.BuiltInBaseEntity].includes(a.type)?a.abstract&&t.push(new b({id:`${i.id}--${r}--${h.InvalidExtendsReference}`,code:h.InvalidExtendsReference,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.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 b({id:`${i.id}--${r}--${h.InvalidExtendsReference}`,code:h.InvalidExtendsReference,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.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 b({id:`${i.id}--${r}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${i.type}" with id "${i.id}", is referencing an entity with id "${r}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}),t}const Ne=class Ne{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 r=t;if(e.parent){const p=N(e.parent);r=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:r},l=g(o,t);return l.setParent(r),l.initChildren(),l}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=Z7(r,t),o=Lo(r,t);a.push(...s,...o,...Le(r));const l=r.parent?t.get(r.parent):null;if(l&&l.type===n.DataType){const p=l;p.entity&&a.push(new b({id:`${e.id}--${h.NewEntityWouldOverriteExisting}`,code:h.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
  ${un({describe_entity:p.entity.id})}
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:r}}get allBasePropertiesFromExtendedAndImplementedEntities(){return E([...this.extends.reduce((e,t)=>[...[...t.ownDeclaredProperties,...t.allBasePropertiesFromExtendedAndImplementedEntities].filter(a=>!a.abstract),...e],[]),...this.implements.reduce((e,t)=>[...[...t.ownDeclaredProperties,...t.allBasePropertiesFromExtendedAndImplementedEntities].filter(a=>!a.abstract),...e],[])])}get extendedPropertiesFromOriginalParents(){return E(this.extends.reduce((e,t)=>{const r=[...t.ownDeclaredProperties,...t.extendedPropertiesFromOriginalParents].filter(a=>!a.abstract);return[...e,...r]},[]))}get implementedPropertiesFromOriginalParents(){return E([...this.extends.reduce((e,t)=>{const r=t.implementedPropertiesFromOriginalParents,a=[...t.ownDeclaredProperties].filter(s=>!!s.abstract&&!r.find(o=>o.name===s.name));return[...r,...a,...e]},[]),...this.implements.reduce((e,t)=>{const r=t.implementedPropertiesFromOriginalParents,a=[...t.ownDeclaredProperties].filter(s=>!!s.abstract&&!r.find(o=>o.name===s.name));return[...r,...a,...e]},[])].filter(e=>!!e.abstract))}get extendedProperties(){return this.properties.filter(e=>e.isExtendedProperty)}get ownDeclaredProperties(){return this.properties.filter(e=>!e.isExtendedProperty)}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new b({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.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=[],r=[];if(this.parent.type===n.DataType){const a=this.parent;a.entity=this,e.push(a)}else this.project.addCustomEntity(this);return{updated:E(e),added:E(t),removed:E(r),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=g(e,this.project);return t.setParent(this),t.initChildren(),t}),this.methods=this.initialData.methods.map(e=>{const t=g(e,this.project);return t.setParent(this),t.initChildren(),t}),this.abstractMethods=this.initialData.abstractMethods.map(e=>{const t=g(e,this.project);return t.setParent(this),t.initChildren(),t}),this.extends=this.initialData.extends.map(e=>g(e,this.project)),this.implements=this.initialData.implements.map(e=>g(e,this.project)),this.syncImplementationProperties(),this.addExtendedProperties(),this.addSuggestions(),this)}syncImplementationProperties(){return this.implementedPropertiesFromOriginalParents.filter(r=>!!!this.allBasePropertiesFromExtendedAndImplementedEntities.find(o=>{var l;return((l=o.implements)==null?void 0:l.id)===r.id})).forEach(r=>{if(this.properties.find(l=>{var p;return((p=l.implements)==null?void 0:p.id)===r.id}))return;const s=this.properties.find(l=>l.name===r.name&&!!l.abstract&&!l.implements);if(s){s.implements=r,s.abstract=!1;return}const o=r.clone(this);o.initChildren(),o.implements=r,o.abstract=!1,this.addProperty(o)}),this}addExtendedProperties(){const e=this.properties,t=this.extendedPropertiesFromOriginalParents,r=t.filter(s=>s.abstract?!!!t.find(l=>{var p;return((p=l.implements)==null?void 0:p.id)===s.id}):!0),a=new Set(e.map(s=>s.name));return r.forEach(s=>{if(a.has(s.name))return;a.add(s.name);const o=s.clone(this);o.initChildren(),this.addProperty(o)}),this}addSuggestions(){return this.implements.forEach(e=>{Rk(this,e).forEach(a=>{const s=a.toJSON();s.id=`_suggestion--parent--${this.id}--${a.id}`;const o=g(s,this.project);o.suggestion=!0,o.setParent(this),o.initChildren(),this.addSuggestedProperty(o)}),gk(this,e).forEach(a=>{const s=`_suggestion--parent--${this.id}--${a.id}`,o=a.implementAsFunctionDeclaration(s),l=g(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 r=[],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});r.push(...o),a.push(...l)}),this.methods.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.abstractMethods.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.suggestedProperties.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.suggestedMethods.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),{affected:E(r),removed:E(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(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.methods.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.abstractMethods.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.suggestedProperties.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.suggestedMethods.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),{affected:E(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.extends.flatMap(r=>r.toFlat(e)),...this.implements.flatMap(r=>r.toFlat(e)),...this.properties.flatMap(r=>r.toFlat(e)),...this.methods.flatMap(r=>r.toFlat(e)),...this.abstractMethods.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.extends.flatMap(r=>r.toFlatIds(e)),...this.implements.flatMap(r=>r.toFlatIds(e)),...this.properties.flatMap(r=>r.toFlatIds(e)),...this.methods.flatMap(r=>r.toFlatIds(e)),...this.abstractMethods.flatMap(r=>r.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+"--"+_.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(r=>r.toFlatJSON(e)),...this.methods.flatMap(r=>r.toFlatJSON(e)),...this.abstractMethods.flatMap(r=>r.toFlatJSON(e)),...this.implements.flatMap(r=>r.toFlatJSON(e)),...this.extends.flatMap(r=>r.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(r=>r.toFlatGenerationTarget(e)),...this.methods.flatMap(r=>r.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(r=>r.toFlatGenerationTarget(e)),...this.implements.filter(r=>r.type===n.CustomEntity).flatMap(r=>r.toFlatGenerationTarget(e)),...this.implements.filter(r=>r.type===n.CustomEntity).flatMap(r=>r.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=bk(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,r=!0){var R,v,P;const a=this.toJSON(),s=t||Ze(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=qt(a,this.project);e&&p.setParent(e),r&&p.subscribe(),p.initChildren();const y=(R=this.properties)==null?void 0:R.map((A,D)=>A.clone(p,l+"-property-"+D+"-id",r));p.properties=y;const f=(v=this.methods)==null?void 0:v.map((A,D)=>A.clone(p,l+"-method-"+D+"-id",r));p.methods=f;const m=(P=this.abstractMethods)==null?void 0:P.map((A,D)=>A.clone(p,l+"-abstract-method-"+D+"-id",r));return p.abstractMethods=m,p}getFunctionDeclaration(e){return this.methods.find(t=>t.id===e)}implement(e,t){return Jo(this,e,t)}getAllInteractiveMethods(){const e=this.implements.filter(r=>r.type===n.CustomEntity||r.type===n.BuiltInBaseEntity&&r.interactive);return E([...this.methods,...this.extends.flatMap(r=>r.getAllInteractiveMethods()),...e.flatMap(r=>r.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 r=this.properties.filter(s=>!s.getDataType());t.forEach(s=>{const o=r.find(m=>C(m,this.project)===C(s,this.project));if(!o)return;const p=Br(s.parent).getMasterInputWithValueWritterFromAllInstances(s),y=dn(p),f=y==null?void 0:y.clone(o,o.id+"--data-type",!0);f&&o.setDataType(f),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 P=Br(s.parent).getMasterInputWithValueWritterFromAllInstances(s),A=dn(P),D=A==null?void 0:A.clone(o,o.id+"--data-type",!0);D&&o.setDataType(D)}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=g(l,this.project);p.setParent(this),p.initChildren();const f=Br(s.parent).getMasterInputWithValueWritterFromAllInstances(s),m=dn(f),R=m==null?void 0:m.clone(p,l.id+"--data-type",!0);return R&&p.setDataType(R),this.addProperty(p),s.setDeclaration(p),p}),this)}};c(Ne,"MUTABLE_BASE_PROPERTIES",["name","description","static","abstract"]),c(Ne,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(Ne,"BASE_PROPERTIES",[...Ne.MUTABLE_BASE_PROPERTIES,...Ne.INMUTABLE_BASE_PROPERTIES]),c(Ne,"MUTABLE_META_PROPERTIES",[...Ne.MUTABLE_BASE_PROPERTIES,"x","y"]),c(Ne,"INMUTABLE_META_PROPERTIES",[...Ne.INMUTABLE_BASE_PROPERTIES]),c(Ne,"META_PROPERTIES",[...Ne.MUTABLE_META_PROPERTIES,...Ne.INMUTABLE_META_PROPERTIES]),c(Ne,"MUTABLE_UPSTREAM_PROPERTIES",["extends","implements"]),c(Ne,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),c(Ne,"UPSTREAM_PROPERTIES",[...Ne.MUTABLE_UPSTREAM_PROPERTIES,...Ne.INMUTABLE_UPSTREAM_PROPERTIES]),c(Ne,"MUTABLE_DOWNSTREAM_PROPERTIES",["properties","methods","abstractMethods"]),c(Ne,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(Ne,"DOWNSTREAM_PROPERTIES",[...Ne.MUTABLE_DOWNSTREAM_PROPERTIES,...Ne.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(Ne,"PROPERTIES",[...Ne.META_PROPERTIES,...Ne.UPSTREAM_PROPERTIES,...Ne.DOWNSTREAM_PROPERTIES]);let Jr=Ne;function K7(i){const e=Z9(),t=i.toJSON();e.safeParse(t).success;const a=[];return ie(i.errors,a)}class Xt{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(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.abstractMethods=this.initialData.abstractMethods.map(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.extends=this.initialData.extends.map(r=>g(r,this.project))}get allBasePropertiesFromExtendedAndImplementedEntities(){return E(this.extends.reduce((e,t)=>{const r=[...t.ownDeclaredProperties,...t.allBasePropertiesFromExtendedAndImplementedEntities].filter(a=>!a.abstract);return[...e,...r]},[]))}get extendedPropertiesFromOriginalParents(){return E(this.extends.reduce((e,t)=>{const r=[...t.ownDeclaredProperties,...t.extendedPropertiesFromOriginalParents].filter(a=>!a.abstract);return[...e,...r]},[]))}get implementedPropertiesFromOriginalParents(){return E([...this.extends.reduce((e,t)=>{const r=t.implementedPropertiesFromOriginalParents,a=[...t.ownDeclaredProperties].filter(s=>!!s.abstract&&!r.find(o=>o.name===s.name));return[...r,...a,...e]},[])])}get extendedProperties(){return this.properties.filter(e=>e.isExtendedProperty)}get ownDeclaredProperties(){return this.properties.filter(e=>!e.isExtendedProperty)}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(r=>r.toFlat(e)),...this.methods.flatMap(r=>r.toFlat(e)),...this.abstractMethods.flatMap(r=>r.toFlat(e)),...this.extends.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.properties.flatMap(r=>r.toFlatIds(e)),...this.methods.flatMap(r=>r.toFlatIds(e)),...this.abstractMethods.flatMap(r=>r.toFlatIds(e)),...this.extends.flatMap(r=>r.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+"--"+_.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(r=>r.toFlatJSON(e)),...this.methods.flatMap(r=>r.toFlatJSON(e)),...this.abstractMethods.flatMap(r=>r.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(r=>r.toFlatGenerationTarget(e)),...this.methods.flatMap(r=>r.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(r=>r.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=K7(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 Xt(this.toJSON(),this.project)}implement(e,t){return Jo(this,e,t)}getAllInteractiveMethods(){const e=[];return this.interactive&&(e.push(...this.methods),this.extends.filter(r=>r.type===n.BuiltInBaseEntity&&r.interactive||r.type===n.PrimitiveEntity).forEach(r=>{r instanceof Xt&&e.push(...r.getAllInteractiveMethods())})),E(e)}}function X7(i){const e=x9(),t=i.toJSON();e.safeParse(t).success;const a=[];return ie(i.errors,a)}class kt{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(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(r=>{const a=g(r,this.project);return a.parent=this,a}),this.abstractMethods=this.initialData.abstractMethods.map(r=>{const a=g(r,this.project);return a.parent=this,a})}get allBasePropertiesFromExtendedAndImplementedEntities(){return E(this.extends.reduce((e,t)=>{const r=[...t.ownDeclaredProperties,...t.allBasePropertiesFromExtendedAndImplementedEntities].filter(a=>!a.abstract);return[...e,...r]},[]))}get extendedPropertiesFromOriginalParents(){return E(this.extends.reduce((e,t)=>{const r=[...t.ownDeclaredProperties,...t.extendedPropertiesFromOriginalParents].filter(a=>!a.abstract);return[...e,...r]},[]))}get implementedPropertiesFromOriginalParents(){return E([...this.extends.reduce((e,t)=>{const r=t.implementedPropertiesFromOriginalParents,a=[...t.ownDeclaredProperties].filter(s=>!!s.abstract&&!r.find(o=>o.name===s.name));return[...r,...a,...e]},[])])}get extendedProperties(){return this.properties.filter(e=>e.isExtendedProperty)}get ownDeclaredProperties(){return this.properties.filter(e=>!e.isExtendedProperty)}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(r=>r.toFlat(e)),...this.methods.flatMap(r=>r.toFlat(e)),...this.abstractMethods.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.properties.flatMap(r=>r.toFlatIds(e)),...this.methods.flatMap(r=>r.toFlatIds(e)),...this.abstractMethods.flatMap(r=>r.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+"--"+_.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(r=>r.toFlatJSON(e)),...this.methods.flatMap(r=>r.toFlatJSON(e)),...this.abstractMethods.flatMap(r=>r.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(r=>r.toFlatGenerationTarget(e)),...this.methods.flatMap(r=>r.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(r=>r.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=X7(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 kt(this.toJSON(),this.project)}getAllInteractiveMethods(){const e=[];return e.push(...this.methods),this.extends.filter(r=>r.type===n.BuiltInBaseEntity&&r.interactive||r.type===n.PrimitiveEntity).forEach(r=>{r instanceof Xt&&e.push(...r.getAllInteractiveMethods())}),E(e)}}function qt(i,e){if(!i)throw new Error("Entity is null");const t=e.get(i.id);switch(i.type){case n.PrimitiveValue:return t||new Mi(i,e);case n.CustomEntity:return t||new Jr(i,e);case n.PrimitiveEntity:return t||new kt(i,e);case n.FunctionDeclaration:return t||new _r(i,e);case n.GlobalEvent:return t||new _i(i,e);case n.DataType:return t||new wi(i,e);case n.Property:return t||new wr(i,e);case n.FunctionCall:return t||new kr(i,e);case n.Condition:return t||new Vr(i,e);case n.Operation:return t||new Nr(i,e);case n.VariableDeclaration:return t||new Lr(i,e);case n.VariableInstance:return t||new Gr(i,e);case n.OutputMap:return t||new Bn(i,e);case n.ReturnDeclaration:return t||new Nt(i,e);case n.ArgumentDeclaration:return t||new Ur(i,e);case n.InputMap:return t||new Cn(i,e);case n.Project:return t||new _(i);case n.InstalledProject:return t||new Fr(i,e);case n.ActionDescriptor:return t||new te(i,e);case n.ReturnStatement:return t||new xr(i,e);case n.Loop:return t||new Mr(i,e);case n.Search:return t||new $r(i,e);case n.ValueDescriptor:return t||new jr(i,e);case n.BuiltInBaseEntity:return t||new Xt(i,e);case n.InternalCall:return t||new Ni(i,e);case n.ContinueStatement:return t||new bt(i,e);case n.BreakStatement:return t||new Vi(i,e);default:throw new Error("Invalid entity type: "+i.type)}}function g(i,e){if(!i)throw new Error("Entity is null");const t=qt(i,e);return t.subscribe(),t}function Q7(i,e){if(!i)throw new Error("Entity is null");switch(i.type){case n.PrimitiveValue:return Mi.fromGenerationTarget(i,e);case n.CustomEntity:return Jr.fromGenerationTarget(i,e);case n.FunctionDeclaration:return _r.fromGenerationTarget(i,e);case n.GlobalEvent:return _i.fromGenerationTarget(i,e);case n.DataType:return wi.fromGenerationTarget(i,e);case n.Property:return wr.fromGenerationTarget(i,e);case n.FunctionCall:return kr.fromGenerationTarget(i,e);case n.Condition:return Vr.fromGenerationTarget(i,e);case n.Operation:return Nr.fromGenerationTarget(i,e);case n.VariableDeclaration:return Lr.fromGenerationTarget(i,e);case n.VariableInstance:return Gr.fromGenerationTarget(i,e);case n.OutputMap:return Bn.fromGenerationTarget(i,e);case n.ReturnDeclaration:return Nt.fromGenerationTarget(i,e);case n.ArgumentDeclaration:return Ur.fromGenerationTarget(i,e);case n.InputMap:return Cn.fromGenerationTarget(i,e);case n.InstalledProject:return Fr.fromGenerationTarget(i,e);case n.ReturnStatement:return xr.fromGenerationTarget(i,e);case n.Loop:return Mr.fromGenerationTarget(i,e);case n.Search:return $r.fromGenerationTarget(i,e);case n.ActionDescriptor:return te.fromGenerationTarget(i,e);case n.ValueDescriptor:return jr.fromGenerationTarget(i,e);case n.InternalCall:return Ni.fromGenerationTarget(i,e);case n.ContinueStatement:return bt.fromGenerationTarget(i,e);case n.BreakStatement:return Vi.fromGenerationTarget(i,e);default:throw new Error("Invalid entity type: "+i.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=ks==null?void 0:ks()),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:r=>r}}}static injectUUIDModule(e){ee.UUID=e}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[];return a.push(...Le(r)),{errors:a,modifiedData:r}}async inject(...e){return await Promise.all(e.map(t=>new Promise(async r=>{await t.init(this),r(null)}))),this}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){const e=[this],t=[],r=[];return{updated:E(e),added:E(t),removed:E(r),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=g(e,this);return t.setParent(this),t.initChildren(),t}),this.projects=this.initialData.projects.map(e=>{const t=g(e,this);return t.setParent(this),t.initChildren(),t}),this.functions=this.initialData.functions.map(e=>{const t=g(e,this);return t.setParent(this),t.initChildren(),t}),this.events=this.initialData.events.map(e=>{const t=g(e,this);return t.setParent(this),t.initChildren(),t}),this.variableDeclarations=this.initialData.variableDeclarations.map(e=>{const t=g(e,this);return t.setParent(this),t.initChildren(),t}),this.variableInstances=this.initialData.variableInstances.map(e=>{const t=g(e,this);return t.setParent(this),t.initChildren(),t}),this.conditions=this.initialData.conditions.map(e=>{const t=g(e,this);return t.setParent(this),t.initChildren(),t}),this.operations=this.initialData.operations.map(e=>{const t=g(e,this);return t.setParent(this),t.initChildren(),t}),this.functionCalls=this.initialData.functionCalls.map(e=>{const t=g(e,this);return t.setParent(this),t.initChildren(),t}),this.loops=this.initialData.loops.map(e=>{const t=g(e,this);return t.setParent(this),t.initChildren(),t}),this.searches=this.initialData.searches.map(e=>{const t=g(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(r=>r.toFlat(e)),...this.functions.flatMap(r=>r.toFlat(e)),...this.events.flatMap(r=>r.toFlat(e)),...this.projects.flatMap(r=>r.toFlat(e)),...this.variableDeclarations.flatMap(r=>r.toFlat(e)),...this.variableInstances.flatMap(r=>r.toFlat(e)),...this.conditions.flatMap(r=>r.toFlat(e)),...this.operations.flatMap(r=>r.toFlat(e)),...this.functionCalls.flatMap(r=>r.toFlat(e)),...this.loops.flatMap(r=>r.toFlat(e)),...this.searches.flatMap(r=>r.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(r=>r.toFlatJSON(e)),...this.functions.flatMap(r=>r.toFlatJSON(e)),...this.events.flatMap(r=>r.toFlatJSON(e)),...this.projects.flatMap(r=>r.toFlatJSON(e)),...this.variableDeclarations.flatMap(r=>r.toFlatJSON(e)),...this.variableInstances.flatMap(r=>r.toFlatJSON(e)),...this.conditions.flatMap(r=>r.toFlatJSON(e)),...this.operations.flatMap(r=>r.toFlatJSON(e)),...this.functionCalls.flatMap(r=>r.toFlatJSON(e)),...this.loops.flatMap(r=>r.toFlatJSON(e)),...this.searches.flatMap(r=>r.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(r=>r.toFlatGenerationTarget(e)),...this.functions.flatMap(r=>r.toFlatGenerationTarget(e)),...this.events.flatMap(r=>r.toFlatGenerationTarget(e)),...this.projects.flatMap(r=>r.toFlatGenerationTarget(e)),...this.variableDeclarations.flatMap(r=>r.toFlatGenerationTarget(e)),...this.variableInstances.flatMap(r=>r.toFlatGenerationTarget(e)),...this.conditions.flatMap(r=>r.toFlatGenerationTarget(e)),...this.operations.flatMap(r=>r.toFlatGenerationTarget(e)),...this.functionCalls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.loops.flatMap(r=>r.toFlatGenerationTarget(e)),...this.searches.flatMap(r=>r.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=yk(),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=g(e,this);return this.addCustomEntity(t),t}addCustomEntity(e){return this.entities.includes(e)||this.entities.push(e),e}addFunctionDeclarationFromTransfer(e){const t=g(e,this);return this.addFunctionDeclaration(t),t}addFunctionDeclaration(e){return this.functions.includes(e)||this.functions.push(e),e}addFunctionCallFromTransfer(e){const t=g(e,this);return this.addFunctionCall(t),t}addFunctionCall(e){return this.functionCalls.includes(e)||this.functionCalls.push(e),e}addVariableDeclarationFromTransfer(e){const t=g(e,this);return this.addVariableDeclaration(t),t}addVariableDeclaration(e){return this.variableDeclarations.includes(e)||this.variableDeclarations.push(e),e}addVariableInstanceFromTransfer(e){const t=g(e,this);return this.addVariableInstance(t),t}addVariableInstance(e){return this.variableInstances.includes(e)||this.variableInstances.push(e),e}addInstalledProjectFromTransfer(e){const t=g(e,this);return this.addInstalledProject(t),this}addInstalledProject(e){return this.projects.includes(e)||this.projects.push(e),this}addGlobalEventFromTransfer(e){const t=g(e,this);return this.addGlobalEvent(t),this}addGlobalEvent(e){return this.events.includes(e)||this.events.push(e),this}addConditionFromTransfer(e){const t=g(e,this);return this.addCondition(t),this}addCondition(e){return this.conditions.includes(e)||this.conditions.push(e),this}addOperationFromTransfer(e){const t=g(e,this);return this.addOperation(t),this}addOperation(e){return this.operations.includes(e)||this.operations.push(e),this}addLoopFromTransfer(e){const t=g(e,this);return this.addLoop(t),this}addLoop(e){return this.loops.includes(e)||this.loops.push(e),this}addSearchFromTransfer(e){const t=g(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(r=>r.id===e.id);if(t>-1){const r=this.entities[t];return this.entities.splice(t,1),r}return null}removeFunctionDeclaration(e){const t=this.functions.findIndex(r=>r.id===e.id);if(t>-1){const r=this.functions[t];return this.functions.splice(t,1),r}return null}removeExternalProject(e){const t=this.projects.findIndex(r=>r.id===e.id);if(t>-1){const r=this.projects[t];return this.projects.splice(t,1),r}return null}removeGlobalEvent(e){const t=this.events.findIndex(r=>r.id===e.id);if(t>-1){const r=this.events[t];return this.events.splice(t,1),r}return null}removeTopLevelVariableDeclaration(e){if(e.type!==n.VariableDeclaration)return null;const t=this.variableDeclarations.findIndex(r=>r.id===e.id);if(t>-1){const r=this.variableDeclarations[t];return this.variableDeclarations.splice(t,1),r}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,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Condition)]},[]),...this.functionCalls.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Condition)]},[]),...this.operations.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Condition)]},[]),...this.loops.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Condition)]},[]),...this.searches.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Condition)]},[])]}getOperations(){return[...this.operations,...this.getEntryPoints().reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Operation)]},[]),...this.functionCalls.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Operation)]},[]),...this.conditions.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Operation)]},[]),...this.loops.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Operation)]},[]),...this.searches.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Operation)]},[])]}getFunctionCalls(){return[...this.functionCalls,...this.getEntryPoints().reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.FunctionCall)]},[]),...this.conditions.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.FunctionCall)]},[]),...this.operations.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.FunctionCall)]},[]),...this.loops.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.FunctionCall)]},[]),...this.searches.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.FunctionCall)]},[])]}getVariables(){return[...this.variableDeclarations,...this.getEntryPoints().reduce((t,r)=>{const a=re(r);return[...t,...a]},[]),...this.functionCalls.reduce((t,r)=>{const a=re(r);return[...t,...a]},[]),...this.conditions.reduce((t,r)=>{const a=re(r);return[...t,...a]},[]),...this.operations.reduce((t,r)=>{const a=re(r);return[...t,...a]},[]),...this.loops.reduce((t,r)=>{const a=re(r);return[...t,...a]},[]),...this.searches.reduce((t,r)=>{const a=re(r);return[...t,...a]},[])]}getVariableInstances(){return[...this.variableInstances,...this.getEntryPoints().reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableInstance);return[...t,...s]},[]),...this.functionCalls.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableInstance);return[...t,...s]},[]),...this.conditions.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableInstance);return[...t,...s]},[]),...this.operations.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableInstance);return[...t,...s]},[]),...this.loops.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableInstance);return[...t,...s]},[]),...this.searches.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableInstance);return[...t,...s]},[])]}getVariableDeclarations(){return E([...this.variableDeclarations,...this.getEntryPoints().reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableDeclaration);return[...t,...s]},[]),...this.functionCalls.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableDeclaration);return[...t,...s]},[]),...this.conditions.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableDeclaration);return[...t,...s]},[]),...this.operations.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableDeclaration);return[...t,...s]},[]),...this.loops.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableDeclaration);return[...t,...s]},[]),...this.searches.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableDeclaration);return[...t,...s]},[])])}attachOrphanReferences(){const e=this.getVariableInstances(),t=this.getVariableDeclarations();return e.forEach(r=>{if(!r.declaration){const a=r.initialData,s=a.declaration.entityId||a.declaration.id,o=t.find(l=>l.id===s);o&&r.setDeclaration(o)}}),this}getBuiltInPersistedEntity(){return this.builtInBaseEntities.find(e=>e.name===V.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 _=ee;class EA extends te{constructor(t){super(Wt,t);c(this,"id",le.Parallel);c(this,"name",le.Parallel);c(this,"description","Execute a list of actions one after the other");c(this,"version",1);c(this,"autoexecutable",!0);c(this,"initialData",Wt);c(this,"type",n.ActionDescriptor);c(this,"inputs",[]);c(this,"outputs",[]);c(this,"error",null);c(this,"project");this.project=t,this.inputs=Wt.inputs.map(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.outputs=Wt.outputs.map(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.error=Wt.error?g(Wt.error,this.project):null}}class bA extends te{constructor(t){super(pt,t);c(this,"id",pt.id);c(this,"name",pt.name);c(this,"description",pt.description);c(this,"version",pt.version);c(this,"autoexecutable",!1);c(this,"initialData",pt);c(this,"type",n.ActionDescriptor);c(this,"inputs",[]);c(this,"outputs",[]);c(this,"error",null);c(this,"project");this.project=t,this.inputs=pt.inputs.map(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.outputs=pt.outputs.map(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.error=pt.error?g(pt.error,this.project):null}}class RA extends te{constructor(t){super(Tn,t);c(this,"id",le.Sequential);c(this,"name",le.Sequential);c(this,"description","Execute a list of actions one after the other");c(this,"version",1);c(this,"autoexecutable",!0);c(this,"initialData",Tn);c(this,"type",n.ActionDescriptor);c(this,"inputs",[]);c(this,"outputs",[]);c(this,"error",null);c(this,"project");this.project=t,this.inputs=Tn.inputs.map(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.outputs=Tn.outputs.map(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.error=Tn.error?g(Tn.error,this.project):null}}class eq extends te{constructor(e){super(xi,e)}}class tq extends te{constructor(e){super(ir,e)}}class nq extends te{constructor(t){super(ar,t);c(this,"autoexecutable",!0)}getEntityToMatchInputMap(t){return t.inputs.find(r=>{var a;return((a=r.declaration)==null?void 0:a.id)===B.operation[ce.Validate].inputs.entityToMatch.id})||null}getDataToValidateInputMap(t){return t.inputs.find(r=>{var a;return((a=r.declaration)==null?void 0:a.id)===B.operation[ce.Validate].inputs.dataToValidate.id})||null}getOutputDataOutputMap(t){return t.outputs.find(r=>{var a;return((a=r.declaration)==null?void 0:a.id)===B.operation[ce.Validate].outputs.outputEntity.id})||null}getEntityToMatch(t){let r=null;if(t.readsValue){const s=t.readsValue.getDataType();s&&s.entity&&s.entity.type===n.CustomEntity&&(r=s.entity)}const a=t.getDefaultValue();return!r&&a&&a.valueAsType&&!Array.isArray(a.valueAsType)&&a.valueAsType.type===n.CustomEntity&&(r=a.valueAsType),r}syncOperationInstance(t){const r=this.getEntityToMatchInputMap(t);r&&this.syncEntityToMatchInputMapDataType(r);const a=this.getDataToValidateInputMap(t);a&&this.syncDataToValidateInputMapDataType(a);const s=this.getOutputDataOutputMap(t);return s&&this.syncOutputDataOutputMapDataType(s),t}syncEntityToMatchInputMapDataType(t){var a,s,o;if(((a=t.declaration)==null?void 0:a.id)!==B.operation[ce.Validate].inputs.entityToMatch.id)return null;if(!t.dataType){const l={id:t.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:t.toReference()},p=g(l,t.project);p.setParent(t),p.initChildren(),t.setDataType(p)}(s=t.dataType)==null||s.sync({inferred:!0,like:!1,asType:!0});const r=this.getEntityToMatch(t);return(o=t.dataType)==null||o.setEntity(r),t.dataType}syncDataToValidateInputMapDataType(t){var o,l,p;if(((o=t.declaration)==null?void 0:o.id)!==B.operation[ce.Validate].inputs.dataToValidate.id)return null;const r=this.getEntityToMatchInputMap(t.parent);if(!r||!this.getEntityToMatch(r))return null;if(!t.dataType){const y={id:t.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:t.toReference()},f=g(y,t.project);f.setParent(t),f.initChildren(),t.setDataType(f)}(l=t.dataType)==null||l.sync({inferred:!0,like:!0,asType:!1});const s=this.getEntityToMatch(r);return(p=t.dataType)==null||p.setEntity(s),t.dataType}syncOutputDataOutputMapDataType(t){var o,l,p;if(((o=t.declaration)==null?void 0:o.id)!==B.operation[ce.Validate].outputs.outputEntity.id)return null;const r=this.getEntityToMatchInputMap(t.parent);if(!r||!this.getEntityToMatch(r))return null;if(!t.dataType){const y={id:t.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:t.toReference()},f=g(y,t.project);f.setParent(t),f.initChildren(),t.setDataType(f)}(l=t.dataType)==null||l.sync({inferred:!0,like:!0,asType:!1});const s=this.getEntityToMatch(r);return(p=t.dataType)==null||p.setEntity(s),t.dataType}inferInputMapDataType(t){var r,a;return((r=t.declaration)==null?void 0:r.id)===B.operation[ce.Validate].inputs.entityToMatch.id?this.syncEntityToMatchInputMapDataType(t):((a=t.declaration)==null?void 0:a.id)===B.operation[ce.Validate].inputs.dataToValidate.id?this.syncDataToValidateInputMapDataType(t):null}inferOutputMapDataType(t){var r;return((r=t.declaration)==null?void 0:r.id)===B.operation[ce.Validate].outputs.outputEntity.id?this.syncOutputDataOutputMapDataType(t):null}}class rq extends te{constructor(e){super(fl,e)}}class iq extends te{constructor(e){super(ml,e)}}class aq extends te{constructor(e){super(Tl,e)}}class sq extends te{constructor(e){super(ts,e)}}class oq extends te{constructor(e){super(Xa,e)}}class lq extends te{constructor(e){super(Ui,e)}}function cq(i){const e=[new RA(i),new EA(i),new bA(i),new eq(i),new tq(i),new nq(i),new sq(i),new rq(i),new aq(i),new iq(i),new oq(i),new lq(i),new te(yl,i),new te(pl,i)];return e.forEach(t=>{t.initChildren(),i.subscribeBuiltInInstance(t)}),i.operationDeclarations=e,e}class gA extends Xt{constructor(t){super(nt,t);c(this,"initialData");c(this,"id",V.PERSISTED_ENTITY);c(this,"version",1);c(this,"name",V.PERSISTED_ENTITY);c(this,"description",nt.description);c(this,"type",n.BuiltInBaseEntity);c(this,"abstract",nt.abstract);c(this,"static",nt.static);c(this,"properties",[]);c(this,"methods",[]);c(this,"abstractMethods",[]);c(this,"extends",[]);c(this,"errors",[]);c(this,"project");this.initialData=nt,this.project=t,this.id=nt.id,this.version=nt.version,this.name=nt.name,this.static=nt.static,this.abstract=nt.abstract,this.properties=this.initialData.properties.map(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(r=>{const a=g(r,this.project);return a.parent=this,a}),this.abstractMethods=this.initialData.abstractMethods.map(r=>{const a=g(r,this.project);return a.parent=this,a}),this.extends=this.initialData.extends.map(r=>g(r,this.project))}}function dq(i){const e=[new gA(i),new Xt(ys,i),new Xt(En,i),new Xt(Zl,i)];return e.forEach(t=>{i.subscribeBuiltInInstance(t)}),i.builtInBaseEntities=e,e}function uq(i){const e=[new kt(x,i),new kt(Mn,i),new kt(Z,i),new kt(Ke,i),new kt(Vn,i),new kt(hn,i),new kt(Ln,i),new kt($i,i)];return e.forEach(t=>{i.subscribeBuiltInInstance(t)}),i.primitives=e,e}function pq(i){const e=[new te(Es,i)];return e.forEach(t=>{t.initChildren(),i.subscribeBuiltInInstance(t)}),i.globalEventActionDescriptors=e,e}function yq(i){const e=[new te(ps,i),new te(sr,i),new te(us,i),new te(ki,i),new te(qi,i),new te(Al,i)];e.forEach(r=>{r.initChildren(),i.subscribeBuiltInInstance(r)}),i.loopDeclarations=e;const t=[new te(Vl,i),new te(ds,i),new te(wl,i),new te(bT,i),new te($T,i),new te(Sl,i)];return t.forEach(r=>{r.initChildren(),i.subscribeBuiltInInstance(r)}),i.loopDeclarationsBodies=t,e}function fq(i){const e=[new jr(ec,i)];return e.forEach(t=>{t.initChildren(),i.subscribeBuiltInInstance(t)}),i.valueDescriptors=e,e}function hq(i){const e=[new te(ur,i),new te(ri,i)];return e.forEach(t=>{t.initChildren(),i.subscribeBuiltInInstance(t)}),i.operationDeclarations=e,e}const Wr={},el={};async function mq(i,e={}){const t={...LI};return t.id=i.id,e.empty?{data:{id:i.id,type:n.Project,version:1,name:null,description:null,projects:[],entities:[],operations:[],functions:[],variableDeclarations:[],variableInstances:[],functionCalls:[],conditions:[],loops:[],searches:[],events:[]}}:{data:t}}function vA(i){const e=new _(i);return uq(e),dq(e),cq(e),pq(e),yq(e),fq(e),hq(e),e.getAllBuiltIn().forEach(r=>{e.builtInInstances[r.id]||(e.builtInInstances[r.id]=r,delete e.instances[r.id])}),e.initChildren(),e}async function Tq(i,e={}){if(i.id&&Wr[i.id])return Wr[i.id];if(i.id&&el[i.id])return await el[i.id],Wr[i.id];const t=mq(i,e);i.id&&(el[i.id]=t);const r=await t;if(r.data){const a=vA(r.data);return Wr[i.id]=a,i.id&&delete el[i.id],a}return null}function Eq(i){return Wr[i.id]&&delete Wr[i.id],null}const bq="test_primitive_entities_export";d.AI_VALUE_CONNECTION_GENERATION_ACTION_EXPLANATION=wu,d.ActionDescriptorState=te,d.ActionInputMapState=t7,d.ActionOutputMapState=i7,d.AppendToListOperationInputIds=uf,d.AppendToListOperationOutputIds=pf,d.ArgumentDeclarationState=Ur,d.BREAK_AND_CONTINUE_STATEMENTS_RETURN_DECLARATIONS_EXPLANATION=Ou,d.BUILT_IN_BASE_ENTITY_IDS=B,d.BUILT_IN_ENTITY_TYPES=Zr,d.BaseCanvasDraggableState=F2,d.BaseEntityNames=V,d.BaseState=$2,d.BaseValueDescriptorIds=sl,d.BreakStatementState=Vi,d.BuiltInBaseEntityState=Xt,d.CACHED_PROJECTS_BY_ID=Wr,d.CALLABLE_ENTITIES_EXPLANATION=m7,d.CALLABLE_TYPES=Nn,d.CALLER_ENTITIES_EXPLANATION=VP,d.CALLER_TYPES=fn,d.CALLS_UPDATE_EXPLANATION=Xn,d.COMPARISON_CONDITIONS=Sb,d.CONDITIONS=JA,d.CUSTOM_ENTITY_OPERATIONS=Bh,d.CallableEntityClass=x2,d.CallerEntityClass=Iu,d.ChildEntityState=U2,d.ComparisonOperatorTypes=$e,d.ConditionState=Vr,d.ContinueStatementState=bt,d.CreateNewInputIds=ih,d.CreateNewOutputIds=ah,d.CustomEntityState=Jr,d.DRAGGABLE_CALLABLE_TYPES=il,d.DRAGGABLE_CALLER_TYPES=Zu,d.DRAGGABLE_ELEMENT_TYPES=al,d.DRAGGABLE_EXECUTABLE_TYPES=DA,d.DRAGGABLE_PASS_THROUGH_CALLABLE_TYPES=rl,d.DataTypeCompatibilityTypes=xt,d.DataTypeParentChildRelation=We,d.DataTypeState=wi,d.ENTITIES_WITH_VALLUES_EXPLANATION=Uo,d.ENTITY_TYPES=PA,d.ENTITY_WITH_LOGIC_SCOPE_TYPES=ut,d.ENTITY_WITH_NAMES_TYPES=Ku,d.ENTITY_WITH_VALUE_TYPES=zu,d.ENTRY_POINT_ENTITIES_EXPLANATION=Wa,d.ENTRY_POINT_TYPES=Ue,d.EVENT_TYPES=zr,d.EXECUTABLE_TYPES=IA,d.EXECUTION_OPERATIONS=rh,d.EntityError=br,d.EntityErrorSeverity=T,d.EntityGenerationError=b,d.EntityGenerationErrorCode=h,d.EntityInstanceErrorCode=M,d.EntityOperations=ce,d.EntityType=n,d.EntityWithLogicScopeClass=J2,d.EntityWithValueClass=q2,d.EntryPointEntityClass=j2,d.ExecutionOperations=le,d.ExecutionTerminationType=_P,d.FunctionCallState=kr,d.FunctionDeclarationState=_r,d.GLOBAL_EVENT_DECLARATIONS=WA,d.GetLastInListOperationInputIds=Xy,d.GetLastInListOperationOutputIds=Qy,d.GlobalEventNames=yn,d.GlobalEventState=_i,d.HTTPOperations=tt,d.HTTP_OPERATIONS=dm,d.InputMapState=Cn,d.InstalledProjectState=Fr,d.InternalCallState=Ni,d.JoinListOperationInputIds=Ey,d.JoinListOperationOutputIds=by,d.LIST_OPERATIONS=Pf,d.ListOperations=Y,d.LoopState=Mr,d.LoopTypes=$,d.NON_INTERACTIVE_BASE_ENTITIES_EXPLANATION=Qn,d.NUMBER_OPERATIONS=_p,d.NumberOperations=Te,d.OPERATION_DECLARATIONS=CA,d.OperationState=Nr,d.OutputMapParentChildRelation=Hr,d.OutputMapState=Bn,d.PARENT_AUTO_CALCULATION_FROM_CALLER_EXPLANATION=xo,d.PASS_THROUGH_CALLABLE_ENTITIES_EXPLANATION=Kn,d.PASS_THROUGH_CALLABLE_TYPES=ke,d.PROPERTY_NOT_VALUE_READER_WRITTER_EXPLANATION=Bu,d.ParallelExecutionOperation=EA,d.PassThroughCallableEntityClass=k2,d.PersistedEntity=gA,d.PersistedEntityMethods=Ct,d.PrimitiveEntityState=kt,d.PrimitiveTypes=I,d.PrimitiveValueParentChildRelation=nl,d.PrimitiveValueState=Mi,d.ProjectState=_,d.PropertyState=wr,d.RETURN_STATEMENT_RETURN_DECLARATIONS_EXPLANATION=T7,d.ReturnDeclarationState=Nt,d.ReturnStatementState=xr,d.STANDALONE_CONDITIONS=bb,d.STRING_OPERATIONS=Ty,d.ScopeCompatibilityType=Qo,d.SearchState=$r,d.SequentialExecutionOperation=RA,d.SequentialExecutionOperationInputIds=qf,d.SequentialExecutionOperationOutputIds=Jf,d.SharedEntityErrorCode=S,d.SharedStateFunctionality=wP,d.SplitListOperationInputIds=My,d.SplitListOperationOutputIds=Vy,d.StandaloneOperatorTypes=Vt,d.StringOperations=X,d.TERMINATION_TYPES=Ve,d.USER_MANAGED_ENTITY_TYPES=AA,d.UserManagedEntityStateFunctionality=G2,d.VALUE_READING_ENTITIES_EXPLANATION=Cu,d.VALUE_READING_TYPES=_n,d.VALUE_WRITING_ENTITIES_EXPLANATION=LP,d.VALUE_WRITING_TYPES=je,d.VARIABLE_DATA_TYPE_INFERRANCE_EXPLANATION=Su,d.VARIABLE_TYPES=Fe,d.ValueAutogenerationType=xe,d.ValueDescriptorParentChildRelation=O,d.ValueDescriptorState=jr,d.ValueReadingEntityClass=qa,d.ValueWritingEntityClass=Ja,d.VariableDeclarationState=Lr,d.VariableInputMapState=e7,d.VariableInstanceState=Gr,d.VariableOutputMapState=r7,d.WaitOperation=bA,d.WaitOperationInputIds=Gf,d.WaitOperationOutputIds=$f,d.appendToListOperation=ts,d.appendToListOperationElementToAppendArgument=bl,d.appendToListOperationElementToAppendArgumentParentRef=Rf,d.appendToListOperationElementToAppendArgumentRef=hf,d.appendToListOperationError=Df,d.appendToListOperationErrorParentRef=If,d.appendToListOperationListArgument=El,d.appendToListOperationListArgumentParentRef=bf,d.appendToListOperationListArgumentRef=yf,d.appendToListOperationListDataType=ff,d.appendToListOperationResultListDataType=Ef,d.appendToListOperationResultListReturn=vf,d.appendToListOperationResultListReturnParentRef=gf,d.appendToListOperationResultListReturnRef=Tf,d.appendToListOperationSecondListDataType=mf,d.asGenerationActionExample=un,d.booleanPrototype=Mn,d.capitalizeFirstLetter=wo,d.checkAreCustomEntitiesCompatibleAsDataType=bP,d.checkAreDataTypesCompatible=jt,d.checkArePropertiesCompatibleAsDataType=EP,d.checkIsBranchDependentButNotDirectlyOnBranch=Ha,d.checkIsBranchDependentOnBranch=A7,d.checkIsCallableEntityReachable=Ka,d.checkIsCanvasEntity=k7,d.checkIsDetachedBranch=pA,d.checkIsDetachedBranchShallow=Yu,d.checkIsGlobalVariable=x7,d.checkIsGloballyDeclared=Wu,d.checkIsMethod=hA,d.checkIsNestedScope=Xo,d.checkScopeCompatibility=za,d.countedLoopActionDescriptor=ps,d.countedLoopActionDescriptorDynamicReturnDeclaration=YT,d.countedLoopActionDescriptorDynamicReturnDeclarationParentRef=WT,d.countedLoopActionDescriptorStringArgumentDeclaration=JT,d.countedLoopActionDescriptorStringArgumentDeclarationDataType=kT,d.countedLoopActionDescriptorStringArgumentDeclarationDataTypeDefaultValue=xT,d.countedLoopActionDescriptorStringArgumentDeclarationDataTypeDefaultValueParentRef=UT,d.countedLoopActionDescriptorStringArgumentDeclarationDataTypeParentRef=jT,d.countedLoopActionDescriptorStringArgumentDeclarationParentRef=qT,d.countedLoopBodyActionDescriptor=Vl,d.countedLoopBodyActionDescriptorAnyDynamicArgument=XT,d.countedLoopBodyActionDescriptorAnyDynamicArgumentParentRef=KT,d.countedLoopBodyActionDescriptorAnyDynamicReturn=eE,d.countedLoopBodyActionDescriptorAnyDynamicReturnParentRef=QT,d.countedLoopBodyActionDescriptorIterationNumberArgumentDeclaration=Ml,d.countedLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataType=zT,d.countedLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataTypeParentRef=HT,d.countedLoopBodyActionDescriptorIterationNumberArgumentDeclarationParentRef=ZT,d.createCustomEntityFromJSONObject=Wo,d.createEntityError=H,d.createNestedDataTypeForEntity=YP,d.createNewInstanceOperation=ir,d.createNewInstanceOperationEntityToInstanciateArgument=yh,d.createNewInstanceOperationEntityToInstanciateArgumentRef=dh,d.createNewInstanceOperationEntityToInstanciateDataType=uh,d.createNewInstanceOperationError=Th,d.createNewInstanceOperationErrorParentRef=mh,d.createNewInstanceOperationNewEntityDataArgument=ch,d.createNewInstanceOperationNewEntityDataArgumentDataType=lh,d.createNewInstanceOperationNewEntityDataArgumentDataTypeParentRef=oh,d.createNewInstanceOperationNewEntityDataArgumentParentRef=sh,d.createNewInstanceOperationOutputEntityDeclaration=hh,d.createNewInstanceOperationOutputEntityDeclarationParentRef=fh,d.createNewInstanceOperationRef=ph,d.createSemanticId=Ze,d.createStateFromGenerationTargetType=Q7,d.createStateFromType=qt,d.createStateFromTypeAndSubscribe=g,d.cronJobBuiltInBaseEntity=Zl,d.cronJobBuiltInBaseEntityExpressionProperty=hb,d.cronJobBuiltInBaseEntityExpressionPropertyDataTypeRef=jA,d.cronJobBuiltInBaseEntityExpressionPropertyRef=yb,d.cronJobBuiltInBaseEntityRef=fb,d.cronJobTriggeredFunctionDeclarationBlueprint=zl,d.cronJobTriggeredFunctionDeclarationBlueprintParentRef=ub,d.customEntityToZodSchema=Wb,d.dataTypeCompatibilityToErrorExplanation=qP,d.datePrototype=hn,d.dateValueAutogenerationSchema=ud,d.deletePersistedEntityMethod=Hl,d.deletePersistedEntityMethodParentRef=KE,d.deleteRootProject=Eq,d.endpointBuiltInBaseEntity=ys,d.endpointBuiltInBaseEntityRef=iE,d.endpointBuiltInBaseEntityRefFour=FE,d.endpointBuiltInBaseEntityRefThree=yE,d.endpointBuiltInBaseEntityRefTwo=cE,d.endpointBuiltInCorsProperty=aE,d.endpointBuiltInCorsPropertyDataType=rE,d.endpointBuiltInCorsPropertyDataTypeRef=tE,d.endpointBuiltInCorsPropertyRef=nE,d.endpointBuiltInMethodProperty=Gl,d.endpointBuiltInMethodPropertyDataType=pE,d.endpointBuiltInMethodPropertyDataTypeRef=dE,d.endpointBuiltInMethodPropertyRef=uE,d.endpointBuiltInPathProperty=Ll,d.endpointBuiltInPathPropertyDataType=lE,d.endpointBuiltInPathPropertyDataTypeRef=sE,d.endpointBuiltInPathPropertyRef=oE,d.endpointPathParamsArgumentDeclaration=Fl,d.endpointPathParamsArgumentDeclarationRef=IE,d.endpointPathParamsVariableDataType=DE,d.endpointPathParamsVariableDataTypeRef=vE,d.endpointReachedTriggerActionDescriptor=Jl,d.endpointReachedTriggerActionDescriptorRef=PE,d.endpointReachedTriggerActionDescriptorRefFour=SE,d.endpointReachedTriggerActionDescriptorRefThree=OE,d.endpointReachedTriggerActionDescriptorRefTwo=AE,d.endpointRequestBodyArgumentDeclaration=xl,d.endpointRequestBodyArgumentDeclarationRef=TE,d.endpointRequestBodyVariableDataType=EE,d.endpointRequestHeadersArgumentDeclaration=$l,d.endpointRequestHeadersArgumentDeclarationRef=hE,d.endpointRequestHeadersVariableDataType=mE,d.endpointRequestHeadersVariableDataTypeRef=fE,d.endpointRequestQueryParamsArgumentDeclaration=Ul,d.endpointRequestQueryParamsArgumentDeclarationRef=RE,d.endpointRequestQueryParamsVariableDataType=gE,d.endpointRequestQueryParamsVariableDataTypeRef=bE,d.endpointResponseBodyDataType=GE,d.endpointResponseBodyReturnDeclaration=ql,d.endpointResponseBodyReturnDeclarationRef=LE,d.endpointResponseCodeDataType=BE,d.endpointResponseCodeReturnDeclaration=jl,d.endpointResponseCodeReturnDeclarationRef=CE,d.endpointResponseHeadersDataType=ME,d.endpointResponseHeadersDataTypeRef=_E,d.endpointResponseHeadersReturnDeclaration=kl,d.endpointResponseHeadersReturnDeclarationRef=NE,d.endpointReturnStatementRef=wE,d.endpointReturnStatementRefThree=$E,d.endpointReturnStatementRefTwo=VE,d.enumOptionsProperty=np,d.enumOptionsPropertyDataType=ep,d.enumOptionsPropertyDataTypeRef=Xu,d.enumOptionsPropertyRef=Qu,d.enumPrototype=Vn,d.enumPrototypeRef=tp,d.executionBuiltInEntity=Xl,d.executionBuiltInEntityAbortMethod=Kl,d.executionBuiltInEntityAbortMethodParentRef=mb,d.filterOutDuplicateEntities=E,d.filterOutDuplicateErrors=_9,d.findEntityFromKeys=Mu,d.findReferenceToSelfInList=aA,d.findReferencesToSelfInProject=V7,d.flattenCalls=pn,d.flattenCanvasAncestorsUntil=Yo,d.flattenCustomEntityExtensionAndImplementationTypes=ku,d.flattenCustomEntityExtensionTypes=Zo,d.flattenCustomEntityExtensions=xu,d.flattenCustomEntityImplementations=ju,d.flattenCustomEntityImplementionTypes=zo,d.flattenDerivedCanvasEntities=St,d.flattenDetachedBranch=fA,d.flattenElementCalls=Me,d.flattenElementCallsOnTheSameScope=M7,d.flattenProjectElements=iA,d.flattenRelatedCanvasElementsOnTheLeft=dA,d.flattenRelatedCanvasElementsOnTheRight=cA,d.flattenVariableReads=rA,d.flattenVariableWrites=nA,d.flattenVariables=re,d.fromZodParseToEntityGenerationErrors=Du,d.generate=jS,d.generateActionExample=E7,d.generateExecutionDataType=T2,d.generateMutablePropertiesExplanation=Go,d.generateRandomBoolean=ER,d.generateRandomDate=Zb,d.generateRandomDateAfter=Yb,d.generateRandomDateBefore=Hb,d.generateRandomDateBetweenRange=zb,d.generateRandomNumber=yR,d.generateRandomNumberAfter=dR,d.generateRandomNumberBefore=uR,d.generateRandomNumberBetweenRange=pR,d.generateRandomText=TR,d.generateRandomTextAfter=fR,d.generateRandomTextBefore=hR,d.generateRandomTextBetweenRange=mR,d.generateUniqueUUID=cR,d.getAllActionDescriptorsForConditions=qo,d.getAllActionDescriptorsForGlobalEvents=jo,d.getAllActionDescriptorsForLoops=ko,d.getAllActionDescriptorsForOperations=v7,d.getAllGloballyDeclaredFunctionDeclarationsExplanation=xP,d.getBaseBuiltInEntities=tr,d.getBaseSchemaBasedOnType=NP,d.getBuiltInEntityOwner=nr,d.getCallableEntityReferenceSchema=ze,d.getCallableEntityTypeSchema=sD,d.getCallerEntityReferenceSchema=G3,d.getCallerEntityTypeSchema=L3,d.getCalls=Gu,d.getCanvasEntitiesDerivedFromInternalCalls=lA,d.getCanvasEntitiesDerivedFromWrites=Li,d.getCanvasEntityDerivedFromValueReadingEntity=Uu,d.getCanvasEntityReferenceSchema=ek,d.getCanvasEntityTypeSchema=Q3,d.getChildrenEntityWithValues=S7,d.getColumnProperties=H7,d.getCommonAncestor=Lu,d.getCommonChildren=HP,d.getCustomEntityExtends=Gi,d.getDatabaseEntities=W7,d.getDatabaseEntity=z7,d.getDeclaration=Br,d.getDeepestScope=TA,d.getDraggableCallableEntityReferenceSchema=lD,d.getDraggableCallableEntityTypeSchema=oD,d.getDraggableCallerEntityReferenceSchema=F3,d.getDraggableCallerEntityTypeSchema=$3,d.getDraggableExecutableEntityReferenceSchema=k3,d.getDraggableExecutableEntityTypeSchema=j3,d.getDraggablePassThroughCallableEntityReferenceSchema=Io,d.getDraggablePassThroughCallableEntityTypeSchema=vo,d.getDraggablePlayableEntityReferenceSchema=H3,d.getDraggablePlayableEntityTypeSchema=Y3,d.getEntityArgumentDeclarations=Fu,d.getEntityInputMaps=sA,d.getEntityOutputMaps=$7,d.getEntityReferenceSchema=X3,d.getEntityReturnDeclarations=oA,d.getEntityTypeSchema=K3,d.getEntityWithLogicScopeReferenceSchema=An,d.getEntityWithLogicScopeTypeSchema=q3,d.getEntityWithValueReferenceSchema=aD,d.getEntityWithValueTypeSchema=V3,d.getEntryPointEntityReferenceSchema=He,d.getEntryPointEntityTypeSchema=Hn,d.getEventEntityReferenceSchema=Ro,d.getEventEntityTypeSchema=bo,d.getExecutableEntityReferenceSchema=x3,d.getExecutableEntityTypeSchema=U3,d.getExtendedBuiltInEntity=F7,d.getExtendedCustomEntity=qu,d.getGenerationTargetSchemaBasedOnType=MP,d.getHeadIfPartOfDetachedBranch=yA,d.getHighestScope=mA,d.getImplementedBuiltInEntity=U7,d.getIsInteractive=Ju,d.getLastInListOperation=Tl,d.getLastInListOperationError=df,d.getLastInListOperationErrorParentRef=cf,d.getLastInListOperationInputListArgument=sf,d.getLastInListOperationInputListArgumentParentRef=af,d.getLastInListOperationInputListArgumentRef=ef,d.getLastInListOperationInputListDataType=tf,d.getLastInListOperationOutputElementDataType=rf,d.getLastInListOperationOutputElementReturn=lf,d.getLastInListOperationOutputElementReturnParentRef=of,d.getLastInListOperationOutputElementReturnRef=nf,d.getLinkedEntitiesFromArgumentDeclaration=N7,d.getLowestPersistedEntityImplementation=uA,d.getParentCanvasEntities=Rt,d.getParentCanvasEntity=et,d.getParentEntryPoint=O7,d.getPassThroughCallableEntityReferenceSchema=Ee,d.getPassThroughCallableEntityTypeSchema=go,d.getPeristedEntities=J7,d.getPlayableEntityReferenceSchema=W3,d.getPlayableEntityTypeSchema=J3,d.getProject=Tq,d.getPrototypeByType=Ko,d.getReferenceEntityId=N,d.getReferencedEntitiesStateOrErrors=Fo,d.getReferencedEntityStateOrErrors=Pu,d.getRelatedCanvasElementsOnTheLeft=qr,d.getRelatedCanvasElementsOnTheRight=er,d.getRootEntryPointScopeOwner=Hu,d.getScopeOwner=gt,d.getTerminationReferenceSchema=Z3,d.getTerminationTypeSchema=z3,d.getUsedArgFromDeclaration=L7,d.getUsedReturnFromDeclaration=G7,d.getValueReadingEntityReferenceSchema=iD,d.getValueReadingEntityTypeSchema=Pn,d.getValueWritingEntityReferenceSchema=M3,d.getValueWritingEntityTypeSchema=Na,d.getVariableFromInputMapping=ZP,d.getVariableFromReturnVariablePointer=QP,d.getVariableReferenceSchema=Yn,d.getVariableTypeSchema=Dr,d.getVariablesFromArgumentDeclarations=Ho,d.getVariablesFromInputMaps=KP,d.getVariablesFromOutputMapping=eA,d.getVariablesFromOutputMaps=tA,d.getVariablesFromReturnDeclarations=XP,d.getVariablesInSameOrHigherScope=mu,d.getWrites=$u,d.groupCallsBasedOnParallelizableExecution=B7,d.handleAfterEntityImplementationSideEffects=WP,d.handleBeforeEntityImplementationSideEffects=JP,d.httpRequestBodyArgument=as,d.httpRequestBodyArgumentRef=kh,d.httpRequestBodyDataType=qh,d.httpRequestHeadersArgument=is,d.httpRequestHeadersArgumentRef=xh,d.httpRequestHeadersDataType=jh,d.httpRequestMethodArgument=ns,d.httpRequestMethodArgumentRef=Fh,d.httpRequestMethodDataType=Uh,d.httpRequestMethodDataTypeRef=Gh,d.httpRequestOperation=xi,d.httpRequestOperationErrorValueDescriptor=Pl,d.httpRequestOperationErrorValueDescriptorDatatype=cm,d.httpRequestOperationErrorValueDescriptorRef=lm,d.httpRequestOperationRef=im,d.httpRequestOperationRefEight=sm,d.httpRequestOperationRefFive=nm,d.httpRequestOperationRefFour=tm,d.httpRequestOperationRefNine=om,d.httpRequestOperationRefSeven=am,d.httpRequestOperationRefSix=rm,d.httpRequestOperationRefThree=em,d.httpRequestOperationRefTwo=Qh,d.httpRequestQueryParamsArgument=Dl,d.httpRequestQueryParamsArgumentRef=Vh,d.httpRequestQueryParamsDataType=Lh,d.httpRequestVariableURLArgument=rs,d.httpRequestVariableURLArgumentRef=Nh,d.httpRequestVariableURLDataType=Mh,d.httpRequestVariableURLDataTypeRef=wh,d.httpResponseBodyReturnDataType=Xh,d.httpResponseBodyReturnDataTypeRef=Zh,d.httpResponseBodyReturnReturn=ls,d.httpResponseBodyReturnReturnRef=Kh,d.httpResponseCodeDataType=Wh,d.httpResponseCodeReturn=ss,d.httpResponseCodeReturnRef=Jh,d.httpResponseHeadersDataType=zh,d.httpResponseHeadersDataTypeRef=Yh,d.httpResponseHeadersReturn=os,d.httpResponseHeadersReturnRef=Hh,d.implement=Jo,d.inferArgumentDeclarationDataType=RP,d.inferDataType=dn,d.inferInputMapDataType=yu,d.inferOutputMapDataType=hu,d.inferPropertyDataType=IP,d.inferReturnDeclarationDataType=fu,d.inferValueDescriptorDataType=DP,d.inferVariableDeclarationDataType=vP,d.inferVariableInstanceDataType=gP,d.initProject=vA,d.iterateOverListActionDescriptorListArgumentDeclaration=Dm,d.iterateOverListActionDescriptorListArgumentDeclarationDataType=vm,d.iterateOverListActionDescriptorListArgumentDeclarationDataTypeParentRef=gm,d.iterateOverListActionDescriptorListArgumentDeclarationParentRef=Im,d.iterateOverListLoopActionDescriptor=sr,d.iterateOverListLoopActionDescriptorDynamicReturnDeclaration=Am,d.iterateOverListLoopActionDescriptorDynamicReturnDeclarationParentRef=Pm,d.iterateOverListLoopBodyActionDescriptor=ds,d.iterateOverListLoopBodyActionDescriptorAnyDynamicArgument=Vm,d.iterateOverListLoopBodyActionDescriptorAnyDynamicArgumentParentRef=Mm,d.iterateOverListLoopBodyActionDescriptorAnyDynamicReturn=Gm,d.iterateOverListLoopBodyActionDescriptorAnyDynamicReturnParentRef=Lm,d.iterateOverListLoopBodyActionDescriptorCurrentValueArgumentDeclaration=cs,d.iterateOverListLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataType=Sm,d.iterateOverListLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataTypeParentRef=Om,d.iterateOverListLoopBodyActionDescriptorCurrentValueArgumentDeclarationParentRef=Cm,d.iterateOverListLoopBodyActionDescriptorIterationNumberArgumentDeclaration=Nm,d.iterateOverListLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataType=wm,d.iterateOverListLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataTypeParentRef=Bm,d.iterateOverListLoopBodyActionDescriptorIterationNumberArgumentDeclarationParentRef=_m,d.iterateOverObjectKeysActionDescriptorObjectArgumentDeclaration=aT,d.iterateOverObjectKeysActionDescriptorObjectArgumentDeclarationDataType=rT,d.iterateOverObjectKeysActionDescriptorObjectArgumentDeclarationDataTypeParentRef=nT,d.iterateOverObjectKeysActionDescriptorObjectArgumentDeclarationParentRef=iT,d.iterateOverObjectKeysLoopActionDescriptor=ki,d.iterateOverObjectKeysLoopActionDescriptorDynamicReturnDeclaration=oT,d.iterateOverObjectKeysLoopActionDescriptorDynamicReturnDeclarationParentRef=sT,d.iterateOverObjectKeysLoopBodyActionDescriptor=bT,d.iterateOverObjectKeysLoopBodyActionDescriptorAnyDynamicArgument=mT,d.iterateOverObjectKeysLoopBodyActionDescriptorAnyDynamicArgumentParentRef=hT,d.iterateOverObjectKeysLoopBodyActionDescriptorAnyDynamicReturn=ET,d.iterateOverObjectKeysLoopBodyActionDescriptorAnyDynamicReturnParentRef=TT,d.iterateOverObjectKeysLoopBodyActionDescriptorCurrentValueArgumentDeclaration=_l,d.iterateOverObjectKeysLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataType=cT,d.iterateOverObjectKeysLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataTypeParentRef=lT,d.iterateOverObjectKeysLoopBodyActionDescriptorCurrentValueArgumentDeclarationParentRef=dT,d.iterateOverObjectKeysLoopBodyActionDescriptorIterationNumberArgumentDeclaration=fT,d.iterateOverObjectKeysLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataType=pT,d.iterateOverObjectKeysLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataTypeParentRef=uT,d.iterateOverObjectKeysLoopBodyActionDescriptorIterationNumberArgumentDeclarationParentRef=yT,d.iterateOverObjectValuesActionDescriptorObjectArgumentDeclaration=DT,d.iterateOverObjectValuesActionDescriptorObjectArgumentDeclarationDataType=vT,d.iterateOverObjectValuesActionDescriptorObjectArgumentDeclarationDataTypeParentRef=gT,d.iterateOverObjectValuesActionDescriptorObjectArgumentDeclarationParentRef=IT,d.iterateOverObjectValuesLoopActionDescriptor=qi,d.iterateOverObjectValuesLoopActionDescriptorDynamicReturnDeclaration=AT,d.iterateOverObjectValuesLoopActionDescriptorDynamicReturnDeclarationParentRef=PT,d.iterateOverObjectValuesLoopBodyActionDescriptor=$T,d.iterateOverObjectValuesLoopBodyActionDescriptorAnyDynamicArgument=VT,d.iterateOverObjectValuesLoopBodyActionDescriptorAnyDynamicArgumentParentRef=MT,d.iterateOverObjectValuesLoopBodyActionDescriptorAnyDynamicReturn=GT,d.iterateOverObjectValuesLoopBodyActionDescriptorAnyDynamicReturnParentRef=LT,d.iterateOverObjectValuesLoopBodyActionDescriptorCurrentValueArgumentDeclaration=Nl,d.iterateOverObjectValuesLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataType=ST,d.iterateOverObjectValuesLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataTypeParentRef=OT,d.iterateOverObjectValuesLoopBodyActionDescriptorCurrentValueArgumentDeclarationParentRef=CT,d.iterateOverObjectValuesLoopBodyActionDescriptorIterationNumberArgumentDeclaration=NT,d.iterateOverObjectValuesLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataType=wT,d.iterateOverObjectValuesLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataTypeParentRef=BT,d.iterateOverObjectValuesLoopBodyActionDescriptorIterationNumberArgumentDeclarationParentRef=_T,d.iterateOverStringActionDescriptorDynamicReturnDeclaration=qm,d.iterateOverStringActionDescriptorDynamicReturnDeclarationParentRef=km,d.iterateOverStringActionDescriptorStringArgumentDeclaration=jm,d.iterateOverStringActionDescriptorStringArgumentDeclarationDataType=Um,d.iterateOverStringActionDescriptorStringArgumentDeclarationDataTypeParentRef=Fm,d.iterateOverStringActionDescriptorStringArgumentDeclarationParentRef=xm,d.iterateOverStringLoopActionDescriptor=us,d.iterateOverStringLoopBodyActionDescriptor=wl,d.iterateOverStringLoopBodyActionDescriptorAnyDynamicArgument=Xm,d.iterateOverStringLoopBodyActionDescriptorAnyDynamicArgumentParentRef=Km,d.iterateOverStringLoopBodyActionDescriptorAnyDynamicReturn=eT,d.iterateOverStringLoopBodyActionDescriptorAnyDynamicReturnParentRef=Qm,d.iterateOverStringLoopBodyActionDescriptorCurrentValueArgumentDeclaration=Cl,d.iterateOverStringLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataType=Wm,d.iterateOverStringLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataTypeParentRef=Jm,d.iterateOverStringLoopBodyActionDescriptorCurrentValueArgumentDeclarationParentRef=Ym,d.iterateOverStringLoopBodyActionDescriptorIterationNumberArgumentDeclaration=Bl,d.iterateOverStringLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataType=zm,d.iterateOverStringLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataTypeParentRef=Hm,d.iterateOverStringLoopBodyActionDescriptorIterationNumberArgumentDeclarationParentRef=Zm,d.joinListOperation=fl,d.joinListOperationError=Ny,d.joinListOperationErrorParentRef=_y,d.joinListOperationFirstListArgument=Oy,d.joinListOperationFirstListArgumentParentRef=Ay,d.joinListOperationFirstListArgumentRef=Ry,d.joinListOperationFirstListDataType=gy,d.joinListOperationResultListDataType=Py,d.joinListOperationResultListReturn=wy,d.joinListOperationResultListReturnParentRef=By,d.joinListOperationResultListReturnRef=Dy,d.joinListOperationSecondListArgument=Cy,d.joinListOperationSecondListArgumentParentRef=Sy,d.joinListOperationSecondListArgumentRef=vy,d.joinListOperationSecondListDataType=Iy,d.joinListWithLastSeparator=U,d.joinStringsOperation=Ui,d.joinStringsOperationDynamicStringArgument=Qp,d.joinStringsOperationDynamicStringArgumentParentRef=Xp,d.joinStringsOperationDynamicStringArgumentRef=Zp,d.joinStringsOperationDynamicStringDataType=Kp,d.joinStringsOperationError=zp,d.joinStringsOperationErrorParentRef=Hp,d.joinStringsOperationFirstStringArgument=Qa,d.joinStringsOperationFirstStringArgumentParentRef=Fp,d.joinStringsOperationFirstStringArgumentRef=Np,d.joinStringsOperationFirstStringDataType=Mp,d.joinStringsOperationResultStringDataType=$p,d.joinStringsOperationResultStringReturn=Fi,d.joinStringsOperationResultStringReturnParentRef=Yp,d.joinStringsOperationResultStringReturnRef=Gp,d.joinStringsOperationSecondStringArgument=es,d.joinStringsOperationSecondStringArgumentParentRef=Wp,d.joinStringsOperationSecondStringArgumentRef=Vp,d.joinStringsOperationSecondStringDataType=Lp,d.joinStringsOperationSeparatorStringArgument=Jp,d.joinStringsOperationSeparatorStringArgumentParentRef=qp,d.joinStringsOperationSeparatorStringArgumentRef=Up,d.joinStringsOperationSeparatorStringDataType=kp,d.joinStringsOperationSeparatorStringDataTypeDefaultValue=jp,d.joinStringsOperationSeparatorStringDataTypeDefaultValueParentRef=xp,d.keyValuePrototype=$i,d.lowercaseFirstLetter=_o,d.manualFlowActionDescriptorDeclarationArgumentDeclaration=Ol,d.manualFlowActionDescriptorDeclarationArgumentDeclarationDataType=fm,d.manualFlowActionDescriptorDeclarationArgumentDeclarationDataTypeParentRef=ym,d.manualFlowActionDescriptorDeclarationArgumentDeclarationParentRef=hm,d.manualFlowLoopActionDescriptor=Al,d.manualFlowLoopActionDescriptorDynamicReturnDeclaration=pm,d.manualFlowLoopActionDescriptorDynamicReturnDeclarationParentRef=um,d.manualFlowLoopBodyActionDescriptor=Sl,d.manualFlowLoopBodyActionDescriptorAnyDynamicArgument=Tm,d.manualFlowLoopBodyActionDescriptorAnyDynamicArgumentParentRef=mm,d.manualFlowLoopBodyActionDescriptorAnyDynamicReturn=bm,d.manualFlowLoopBodyActionDescriptorAnyDynamicReturnParentRef=Em,d.mapActionDescriptorToTypeItRepresents=q7,d.mergeEntityErrorsList=N9,d.mergeListOfEntities=j7,d.methodDefaultValue=$h,d.mockClientProject=LI,d.moreThanOrEqualCondition=ri,d.moreThanOrEqualConditionLeftHandArgument=Ib,d.moreThanOrEqualConditionLeftHandArgumentDataType=gb,d.moreThanOrEqualConditionLeftHandArgumentDataTypeParentRef=Rb,d.moreThanOrEqualConditionLeftHandArgumentParentRef=vb,d.moreThanOrEqualConditionRightHandArgument=Ob,d.moreThanOrEqualConditionRightHandArgumentDataType=Pb,d.moreThanOrEqualConditionRightHandArgumentDataTypeParentRef=Db,d.moreThanOrEqualConditionRightHandArgumentParentRef=Ab,d.notEmptyCondition=ur,d.notEmptyConditionArgument=Eb,d.notEmptyConditionRef=Tb,d.nullPrototype=OA,d.numberAdditionOperation=Xa,d.numberAdditionOperationDynamicSummandArgument=hp,d.numberAdditionOperationDynamicSummandArgumentType=fp,d.numberAdditionOperationDynamicSummandArgumentTypeParentRef=yp,d.numberAdditionOperationError=pp,d.numberAdditionOperationErrorParentRef=up,d.numberAdditionOperationFirstNumberArgument=ol,d.numberAdditionOperationFirstNumberArgumentRef=rp,d.numberAdditionOperationFirstNumberDataType=ip,d.numberAdditionOperationRef=cp,d.numberAdditionOperationRefThree=cl,d.numberAdditionOperationRefTwo=dp,d.numberAdditionOperationResultNumberDataType=lp,d.numberAdditionOperationResultNumberReturn=dl,d.numberAdditionOperationResultNumberReturnRef=op,d.numberAdditionOperationSecondNumberArgument=ll,d.numberAdditionOperationSecondNumberArgumentRef=ap,d.numberAdditionOperationSecondNumberDataType=sp,d.numberPrototype=Z,d.numberSubtractionOperation=pl,d.numberSubtractionOperationDynamicSubtrahendArgument=wp,d.numberSubtractionOperationDynamicSubtrahendArgumentType=Bp,d.numberSubtractionOperationDynamicSubtrahendArgumentTypeParentRef=Cp,d.numberSubtractionOperationError=Sp,d.numberSubtractionOperationErrorParentRef=Op,d.numberSubtractionOperationFirstNumberArgument=vp,d.numberSubtractionOperationFirstNumberArgumentRef=mp,d.numberSubtractionOperationFirstNumberDataType=Tp,d.numberSubtractionOperationRef=ul,d.numberSubtractionOperationRefThree=Pp,d.numberSubtractionOperationRefTwo=Ip,d.numberSubtractionOperationResultNumberDataType=gp,d.numberSubtractionOperationResultNumberReturn=Ap,d.numberSubtractionOperationResultNumberReturnRef=Rp,d.numberSubtractionOperationSecondNumberArgument=Dp,d.numberSubtractionOperationSecondNumberArgumentRef=Ep,d.numberSubtractionOperationSecondNumberDataType=bp,d.numberValueAutogenerationSchema=dd,d.parallelExecutionOperation=Wt,d.parallelExecutionOperationError=Lf,d.parallelExecutionOperationErrorParentRef=Vf,d.parallelExecutionOperationListOfExecutionResultsDataType=_f,d.parallelExecutionOperationListOfExecutionResultsReturn=gl,d.parallelExecutionOperationListOfExecutionResultsReturnRef=wf,d.parallelExecutionOperationListOfFunctionsArgument=Rl,d.parallelExecutionOperationListOfFunctionsArgumentDatatype=Bf,d.parallelExecutionOperationListOfFunctionsArgumentRef=Cf,d.parallelExecutionOperationListOfFunctionsBlueprint=Sf,d.parallelExecutionOperationListOfFunctionsBlueprintDynamicInput=Of,d.parallelExecutionOperationListOfFunctionsBlueprintDynamicOutput=Af,d.parallelExecutionOperationRef=Nf,d.parallelExecutionOperationRefThree=Mf,d.persistedBuiltInBaseEntity=nt,d.persistedBuiltInBaseEntityDatabaseProperty=ei,d.persistedBuiltInBaseEntityDatabasePropertyDataTypeRef=FA,d.persistedBuiltInBaseEntityDatabasePropertyParentRef=eb,d.persistedBuiltInBaseEntityDatabasePropertyRef=QE,d.persistedBuiltInBaseEntityPrimaryKeyProperty=ti,d.persistedBuiltInBaseEntityPrimaryKeyPropertyDataType=lb,d.persistedBuiltInBaseEntityPrimaryKeyPropertyNumberDataTypeOption=nb,d.persistedBuiltInBaseEntityPrimaryKeyPropertyNumberDataTypeOptionParentRef=tb,d.persistedBuiltInBaseEntityPrimaryKeyPropertyParentRef=cb,d.persistedBuiltInBaseEntityPrimaryKeyPropertyRef=ob,d.persistedBuiltInBaseEntityPrimaryKeyPropertyStringDataTypeOption=ib,d.persistedBuiltInBaseEntityPrimaryKeyPropertyStringDataTypeOptionParentRef=rb,d.persistedBuiltInBaseEntityPrimaryKeyPropertyUUIDDataTypeOption=sb,d.persistedBuiltInBaseEntityPrimaryKeyPropertyUUIDDataTypeOptionParentRef=ab,d.processOutputGlobalValueDescriptorDataType=Bb,d.processOutputGlobalValueDescriptorReturn=ec,d.processOutputGlobalValueDescriptorReturnRef=Cb,d.projectPublicationCompletedGlobalEvent=Es,d.propertyToZodSchema=Jb,d.relationalDatabaseBuiltInBaseEntity=En,d.relationalDatabaseBuiltInBaseEntityAutoscalingProperty=Yl,d.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyDataTypeRef=zE,d.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyParentRef=ZE,d.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyRef=HE,d.relationalDatabaseBuiltInBaseEntityDefaultProperty=Wl,d.relationalDatabaseBuiltInBaseEntityDefaultPropertyDataTypeRef=WE,d.relationalDatabaseBuiltInBaseEntityDefaultPropertyRef=YE,d.relationalDatabaseBuiltInBaseEntityIdentifierProperty=fs,d.relationalDatabaseBuiltInBaseEntityIdentifierPropertyDataTypeRef=UE,d.relationalDatabaseBuiltInBaseEntityIdentifierPropertyRef=xE,d.relationalDatabaseBuiltInBaseEntityMinSizeProperty=Ts,d.relationalDatabaseBuiltInBaseEntityMinSizePropertyDataTypeRef=qE,d.relationalDatabaseBuiltInBaseEntityMinSizePropertyRef=JE,d.relationalDatabaseBuiltInBaseEntityPasswordProperty=ms,d.relationalDatabaseBuiltInBaseEntityPasswordPropertyDataTypeRef=MA,d.relationalDatabaseBuiltInBaseEntityPasswordPropertyRef=kE,d.relationalDatabaseBuiltInBaseEntityRef=Qr,d.relationalDatabaseBuiltInBaseEntityUsernameProperty=hs,d.relationalDatabaseBuiltInBaseEntityUsernamePropertyDataTypeRef=_A,d.relationalDatabaseBuiltInBaseEntityUsernamePropertyRef=jE,d.resolveActionDescriptorName=BP,d.resolveBaseEntityName=AP,d.resolveBuiltInBaseEntityDataTypeLabel=OP,d.resolveConditionOperatorLabel=Vo,d.resolveCustomEntityDataTypeLabel=v2,d.resolveDataType=No,d.resolveDataTypeEntityOrNestedChildrenFromLiteralValue=Vu,d.resolveDataTypeLabel=ka,d.resolveEntityDataTypeLabel=g2,d.resolveEntityName=C,d.resolveFirstCallsSecond=w7,d.resolveFirstWritesSecond=_7,d.resolvePrimaryKeyProperty=Y7,d.resolvePrimitiveEntityName=CP,d.resolveSearchName=SP,d.resolveVariableScope=E2,d.sequentialExecutionOperation=Tn,d.sequentialExecutionOperationError=nh,d.sequentialExecutionOperationErrorParentRef=th,d.sequentialExecutionOperationListOfExecutionResultsDataType=Xf,d.sequentialExecutionOperationListOfExecutionResultsReturn=Il,d.sequentialExecutionOperationListOfExecutionResultsReturnParentRef=eh,d.sequentialExecutionOperationListOfExecutionResultsReturnRef=Kf,d.sequentialExecutionOperationListOfFunctionsArgument=vl,d.sequentialExecutionOperationListOfFunctionsArgumentDatatype=Zf,d.sequentialExecutionOperationListOfFunctionsArgumentParentRef=Qf,d.sequentialExecutionOperationListOfFunctionsArgumentRef=zf,d.sequentialExecutionOperationListOfFunctionsBlueprint=Hf,d.sequentialExecutionOperationListOfFunctionsBlueprintDynamicInput=Yf,d.sequentialExecutionOperationListOfFunctionsBlueprintDynamicOutput=Wf,d.softDeletePersistedEntityMethod=xA,d.softDeletePersistedEntityMethodParentRef=db,d.sortCallsBasedOnExecutionDependencies=zP,d.sortChildrenEntitiesBasedOnExecutionDependencies=C7,d.splitListOperation=ml,d.splitListOperationError=Ky,d.splitListOperationErrorParentRef=Zy,d.splitListOperationFirstOutputListDataType=Uy,d.splitListOperationFirstOutputListReturn=Wy,d.splitListOperationFirstOutputListReturnParentRef=Jy,d.splitListOperationFirstOutputListReturnRef=hl,d.splitListOperationInputListArgument=jy,d.splitListOperationInputListArgumentParentRef=xy,d.splitListOperationInputListArgumentRef=Ly,d.splitListOperationInputListDataType=Gy,d.splitListOperationSecondOutputListDataType=Yy,d.splitListOperationSecondOutputListReturn=zy,d.splitListOperationSecondOutputListReturnParentRef=Hy,d.splitListOperationSplitIndexArgument=qy,d.splitListOperationSplitIndexArgumentParentRef=ky,d.splitListOperationSplitIndexArgumentRef=$y,d.splitListOperationSplitIndexDataType=Fy,d.splitStringOperation=yl,d.splitStringOperationError=my,d.splitStringOperationErrorParentRef=hy,d.splitStringOperationFirstPartResultStringDataType=ay,d.splitStringOperationFirstPartResultStringReturn=fy,d.splitStringOperationFirstPartResultStringReturnParentRef=yy,d.splitStringOperationFirstPartResultStringReturnRef=iy,d.splitStringOperationIndexArgument=uy,d.splitStringOperationIndexArgumentParentRef=dy,d.splitStringOperationIndexArgumentRef=ny,d.splitStringOperationIndexDataType=ry,d.splitStringOperationSecondPartResultStringDataType=oy,d.splitStringOperationSecondPartResultStringReturn=SA,d.splitStringOperationSecondPartResultStringReturnParentRef=py,d.splitStringOperationSecondPartResultStringReturnRef=sy,d.splitStringOperationStringArgument=cy,d.splitStringOperationStringArgumentParentRef=ly,d.splitStringOperationStringArgumentRef=ey,d.splitStringOperationStringDataType=ty,d.stringPrototype=x,d.stringValueAutogenerationSchema=cd,d.suggestNewIdForEntity=vu,d.test_primitive_entities_export=bq,d.toCamelCase=b2,d.toEntityState=Mt,d.toKebabCase=PP,d.toLowerCaseKebabCase=Mo,d.toPascalCase=R2,d.untypedDataPrototype=Ke,d.updateErrorsList=ie,d.updateValueReader=Za,d.urlDefaultValue=_h,d.uuidPrototype=Ln,d.validateArgumentDeclarationName=Ru,d.validateCalledByErrorIdInAction=R7,d.validateCalledByIdInAction=b7,d.validateCallers=UP,d.validateConditionEntityDeclaration=I7,d.validateCustomEntityName=Lo,d.validateDataOperation=ar,d.validateDataOperationDataToValidateArgument=gh,d.validateDataOperationDataToValidateArgumentParentRef=Rh,d.validateDataOperationDataToValidateArgumentRef=Eh,d.validateDataOperationDataToValidateDataType=bh,d.validateDataOperationEntityToMatchTypeArgument=Ph,d.validateDataOperationEntityToMatchTypeArgumentParentRef=Dh,d.validateDataOperationEntityToMatchTypeArgumentRef=vh,d.validateDataOperationEntityToMatchTypeDataType=Ih,d.validateDataOperationError=Ch,d.validateDataOperationErrorParentRef=Sh,d.validateDataOperationOutputEntityDeclaration=Oh,d.validateDataOperationOutputEntityDeclarationParentRef=Ah,d.validateEntryCaller=FP,d.validateErrorCaller=$P,d.validateFunctionCallDeclaration=jP,d.validateFunctionDeclarationName=Tu,d.validateGeneratedEntityParentIsNotBuiltInEntity=h7,d.validateGeneration=y7,d.validateGenerationTarget=Le,d.validateGenerationUpdate=f7,d.validateLoopEntityDeclaration=D7,d.validateName=I2,d.validateOperationEntityDeclaration=kP,d.validatePropertyName=bu,d.validateReachability=wn,d.validateReadsValueInActionPayload=g7,d.validateReferenceObject=$o,d.validateReferenceToOne=Au,d.validateReferences=Ye,d.validateReturnDeclarationName=gu,d.validateSuccessCaller=GP,d.validateValueReaderGenerationUpdate=Ya,d.validateValueWritter=_u,d.validateVariableDeclarationName=Eu,d.validateVariableInternalCallUse=Nu,d.valueAutogenerationCurrentDateAndTimeSchema=$I,d.valueAutogenerationGenericSchema=ro,d.valueAutogenerationOptions=pd,d.valueAutogenerationOptionsSchema=GI,d.valueAutogenerationRandomBooleanSchema=ld,d.valueAutogenerationRandomDateBetweenSchema=YI,d.valueAutogenerationRandomDateFromSchema=JI,d.valueAutogenerationRandomDateSchema=so,d.valueAutogenerationRandomDateUntilSchema=WI,d.valueAutogenerationRandomNumberBetweenSchema=xI,d.valueAutogenerationRandomNumberFromSchema=FI,d.valueAutogenerationRandomNumberSchema=io,d.valueAutogenerationRandomNumberUntilSchema=UI,d.valueAutogenerationRandomSchema=Aa,d.valueAutogenerationRandomTextBetweenSchema=qI,d.valueAutogenerationRandomTextFromSchema=jI,d.valueAutogenerationRandomTextSchema=ao,d.valueAutogenerationRandomTextUntilSchema=kI,d.valueAutogenerationRangeValueTypesSchema=Pa,d.valueAutogenerationUniqueSchema=od,d.waitOperation=pt,d.waitOperationMillisecondsNumberArgument=rr,d.waitOperationMillisecondsNumberArgumentRef=Ff,d.waitOperationMillisecondsNumberDataType=Uf,d.waitOperationOperationError=kf,d.waitOperationOperationErrorParentRef=jf,d.waitOperationRef=xf,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});
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:r}}get allBasePropertiesFromExtendedAndImplementedEntities(){return E([...this.extends.reduce((e,t)=>[...[...t.ownDeclaredProperties,...t.allBasePropertiesFromExtendedAndImplementedEntities].filter(a=>!a.abstract),...e],[]),...this.implements.reduce((e,t)=>[...[...t.ownDeclaredProperties,...t.allBasePropertiesFromExtendedAndImplementedEntities].filter(a=>!a.abstract),...e],[])])}get extendedPropertiesFromOriginalParents(){return E(this.extends.reduce((e,t)=>{const r=[...t.ownDeclaredProperties,...t.extendedPropertiesFromOriginalParents].filter(a=>!a.abstract);return[...e,...r]},[]))}get implementedPropertiesFromOriginalParents(){return E([...this.extends.reduce((e,t)=>{const r=t.implementedPropertiesFromOriginalParents,a=[...t.ownDeclaredProperties].filter(s=>!!s.abstract&&!r.find(o=>o.name===s.name));return[...r,...a,...e]},[]),...this.implements.reduce((e,t)=>{const r=t.implementedPropertiesFromOriginalParents,a=[...t.ownDeclaredProperties].filter(s=>!!s.abstract&&!r.find(o=>o.name===s.name));return[...r,...a,...e]},[])].filter(e=>!!e.abstract))}get extendedProperties(){return this.properties.filter(e=>e.isExtendedProperty)}get ownDeclaredProperties(){return this.properties.filter(e=>!e.isExtendedProperty)}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new b({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.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=[],r=[];if(this.parent.type===n.DataType){const a=this.parent;a.entity=this,e.push(a)}else this.project.addCustomEntity(this);return{updated:E(e),added:E(t),removed:E(r),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=g(e,this.project);return t.setParent(this),t.initChildren(),t}),this.methods=this.initialData.methods.map(e=>{const t=g(e,this.project);return t.setParent(this),t.initChildren(),t}),this.abstractMethods=this.initialData.abstractMethods.map(e=>{const t=g(e,this.project);return t.setParent(this),t.initChildren(),t}),this.extends=this.initialData.extends.map(e=>g(e,this.project)),this.implements=this.initialData.implements.map(e=>g(e,this.project)),this.syncImplementationProperties(),this.addExtendedProperties(),this.addSuggestions(),this)}syncImplementationProperties(){return this.implementedPropertiesFromOriginalParents.filter(r=>!!!this.allBasePropertiesFromExtendedAndImplementedEntities.find(o=>{var l;return((l=o.implements)==null?void 0:l.id)===r.id})).forEach(r=>{if(this.properties.find(l=>{var p;return((p=l.implements)==null?void 0:p.id)===r.id}))return;const s=this.properties.find(l=>l.name===r.name&&!!l.abstract&&!l.implements);if(s){s.implements=r,s.abstract=!1;return}const o=r.clone(this,_.UUID.uuid());o.initChildren(),o.implements=r,o.abstract=!1,this.addProperty(o)}),this}addExtendedProperties(){const e=this.properties,t=this.extendedPropertiesFromOriginalParents,r=t.filter(s=>s.abstract?!!!t.find(l=>{var p;return((p=l.implements)==null?void 0:p.id)===s.id}):!0),a=new Set(e.map(s=>s.name));return r.forEach(s=>{a.add(s.name);const o=s.clone(this,_.UUID.uuid());o.initChildren(),this.addProperty(o)}),this}addSuggestions(){return this.implements.forEach(e=>{Rk(this,e).forEach(a=>{const s=a.toJSON();s.id=`_suggestion--parent--${this.id}--${a.id}`;const o=g(s,this.project);o.suggestion=!0,o.setParent(this),o.initChildren(),this.addSuggestedProperty(o)}),gk(this,e).forEach(a=>{const s=`_suggestion--parent--${this.id}--${a.id}`,o=a.implementAsFunctionDeclaration(s),l=g(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 r=[],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});r.push(...o),a.push(...l)}),this.methods.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.abstractMethods.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.suggestedProperties.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.suggestedMethods.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),{affected:E(r),removed:E(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(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.methods.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.abstractMethods.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.suggestedProperties.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.suggestedMethods.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),{affected:E(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.extends.flatMap(r=>r.toFlat(e)),...this.implements.flatMap(r=>r.toFlat(e)),...this.properties.flatMap(r=>r.toFlat(e)),...this.methods.flatMap(r=>r.toFlat(e)),...this.abstractMethods.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.extends.flatMap(r=>r.toFlatIds(e)),...this.implements.flatMap(r=>r.toFlatIds(e)),...this.properties.flatMap(r=>r.toFlatIds(e)),...this.methods.flatMap(r=>r.toFlatIds(e)),...this.abstractMethods.flatMap(r=>r.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+"--"+_.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(r=>r.toFlatJSON(e)),...this.methods.flatMap(r=>r.toFlatJSON(e)),...this.abstractMethods.flatMap(r=>r.toFlatJSON(e)),...this.implements.flatMap(r=>r.toFlatJSON(e)),...this.extends.flatMap(r=>r.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(r=>r.toFlatGenerationTarget(e)),...this.methods.flatMap(r=>r.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(r=>r.toFlatGenerationTarget(e)),...this.implements.filter(r=>r.type===n.CustomEntity).flatMap(r=>r.toFlatGenerationTarget(e)),...this.implements.filter(r=>r.type===n.CustomEntity).flatMap(r=>r.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=bk(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,r=!0){var R,v,P;const a=this.toJSON(),s=t||Ze(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=qt(a,this.project);e&&p.setParent(e),r&&p.subscribe(),p.initChildren();const y=(R=this.properties)==null?void 0:R.map((A,D)=>A.clone(p,l+"-property-"+D+"-id",r));p.properties=y;const f=(v=this.methods)==null?void 0:v.map((A,D)=>A.clone(p,l+"-method-"+D+"-id",r));p.methods=f;const m=(P=this.abstractMethods)==null?void 0:P.map((A,D)=>A.clone(p,l+"-abstract-method-"+D+"-id",r));return p.abstractMethods=m,p}getFunctionDeclaration(e){return this.methods.find(t=>t.id===e)}implement(e,t){return Jo(this,e,t)}getAllInteractiveMethods(){const e=this.implements.filter(r=>r.type===n.CustomEntity||r.type===n.BuiltInBaseEntity&&r.interactive);return E([...this.methods,...this.extends.flatMap(r=>r.getAllInteractiveMethods()),...e.flatMap(r=>r.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 r=this.properties.filter(s=>!s.getDataType());t.forEach(s=>{const o=r.find(m=>C(m,this.project)===C(s,this.project));if(!o)return;const p=Br(s.parent).getMasterInputWithValueWritterFromAllInstances(s),y=dn(p),f=y==null?void 0:y.clone(o,o.id+"--data-type",!0);f&&o.setDataType(f),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 P=Br(s.parent).getMasterInputWithValueWritterFromAllInstances(s),A=dn(P),D=A==null?void 0:A.clone(o,o.id+"--data-type",!0);D&&o.setDataType(D)}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=g(l,this.project);p.setParent(this),p.initChildren();const f=Br(s.parent).getMasterInputWithValueWritterFromAllInstances(s),m=dn(f),R=m==null?void 0:m.clone(p,l.id+"--data-type",!0);return R&&p.setDataType(R),this.addProperty(p),s.setDeclaration(p),p}),this)}};c(Ne,"MUTABLE_BASE_PROPERTIES",["name","description","static","abstract"]),c(Ne,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(Ne,"BASE_PROPERTIES",[...Ne.MUTABLE_BASE_PROPERTIES,...Ne.INMUTABLE_BASE_PROPERTIES]),c(Ne,"MUTABLE_META_PROPERTIES",[...Ne.MUTABLE_BASE_PROPERTIES,"x","y"]),c(Ne,"INMUTABLE_META_PROPERTIES",[...Ne.INMUTABLE_BASE_PROPERTIES]),c(Ne,"META_PROPERTIES",[...Ne.MUTABLE_META_PROPERTIES,...Ne.INMUTABLE_META_PROPERTIES]),c(Ne,"MUTABLE_UPSTREAM_PROPERTIES",["extends","implements"]),c(Ne,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),c(Ne,"UPSTREAM_PROPERTIES",[...Ne.MUTABLE_UPSTREAM_PROPERTIES,...Ne.INMUTABLE_UPSTREAM_PROPERTIES]),c(Ne,"MUTABLE_DOWNSTREAM_PROPERTIES",["properties","methods","abstractMethods"]),c(Ne,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(Ne,"DOWNSTREAM_PROPERTIES",[...Ne.MUTABLE_DOWNSTREAM_PROPERTIES,...Ne.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(Ne,"PROPERTIES",[...Ne.META_PROPERTIES,...Ne.UPSTREAM_PROPERTIES,...Ne.DOWNSTREAM_PROPERTIES]);let Jr=Ne;function K7(i){const e=Z9(),t=i.toJSON();e.safeParse(t).success;const a=[];return ie(i.errors,a)}class Xt{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(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.abstractMethods=this.initialData.abstractMethods.map(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.extends=this.initialData.extends.map(r=>g(r,this.project))}get allBasePropertiesFromExtendedAndImplementedEntities(){return E(this.extends.reduce((e,t)=>{const r=[...t.ownDeclaredProperties,...t.allBasePropertiesFromExtendedAndImplementedEntities].filter(a=>!a.abstract);return[...e,...r]},[]))}get extendedPropertiesFromOriginalParents(){return E(this.extends.reduce((e,t)=>{const r=[...t.ownDeclaredProperties,...t.extendedPropertiesFromOriginalParents].filter(a=>!a.abstract);return[...e,...r]},[]))}get implementedPropertiesFromOriginalParents(){return E([...this.extends.reduce((e,t)=>{const r=t.implementedPropertiesFromOriginalParents,a=[...t.ownDeclaredProperties].filter(s=>!!s.abstract&&!r.find(o=>o.name===s.name));return[...r,...a,...e]},[])])}get extendedProperties(){return this.properties.filter(e=>e.isExtendedProperty)}get ownDeclaredProperties(){return this.properties.filter(e=>!e.isExtendedProperty)}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(r=>r.toFlat(e)),...this.methods.flatMap(r=>r.toFlat(e)),...this.abstractMethods.flatMap(r=>r.toFlat(e)),...this.extends.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.properties.flatMap(r=>r.toFlatIds(e)),...this.methods.flatMap(r=>r.toFlatIds(e)),...this.abstractMethods.flatMap(r=>r.toFlatIds(e)),...this.extends.flatMap(r=>r.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+"--"+_.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(r=>r.toFlatJSON(e)),...this.methods.flatMap(r=>r.toFlatJSON(e)),...this.abstractMethods.flatMap(r=>r.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(r=>r.toFlatGenerationTarget(e)),...this.methods.flatMap(r=>r.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(r=>r.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=K7(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 Xt(this.toJSON(),this.project)}implement(e,t){return Jo(this,e,t)}getAllInteractiveMethods(){const e=[];return this.interactive&&(e.push(...this.methods),this.extends.filter(r=>r.type===n.BuiltInBaseEntity&&r.interactive||r.type===n.PrimitiveEntity).forEach(r=>{r instanceof Xt&&e.push(...r.getAllInteractiveMethods())})),E(e)}}function X7(i){const e=x9(),t=i.toJSON();e.safeParse(t).success;const a=[];return ie(i.errors,a)}class kt{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(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(r=>{const a=g(r,this.project);return a.parent=this,a}),this.abstractMethods=this.initialData.abstractMethods.map(r=>{const a=g(r,this.project);return a.parent=this,a})}get allBasePropertiesFromExtendedAndImplementedEntities(){return E(this.extends.reduce((e,t)=>{const r=[...t.ownDeclaredProperties,...t.allBasePropertiesFromExtendedAndImplementedEntities].filter(a=>!a.abstract);return[...e,...r]},[]))}get extendedPropertiesFromOriginalParents(){return E(this.extends.reduce((e,t)=>{const r=[...t.ownDeclaredProperties,...t.extendedPropertiesFromOriginalParents].filter(a=>!a.abstract);return[...e,...r]},[]))}get implementedPropertiesFromOriginalParents(){return E([...this.extends.reduce((e,t)=>{const r=t.implementedPropertiesFromOriginalParents,a=[...t.ownDeclaredProperties].filter(s=>!!s.abstract&&!r.find(o=>o.name===s.name));return[...r,...a,...e]},[])])}get extendedProperties(){return this.properties.filter(e=>e.isExtendedProperty)}get ownDeclaredProperties(){return this.properties.filter(e=>!e.isExtendedProperty)}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(r=>r.toFlat(e)),...this.methods.flatMap(r=>r.toFlat(e)),...this.abstractMethods.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.properties.flatMap(r=>r.toFlatIds(e)),...this.methods.flatMap(r=>r.toFlatIds(e)),...this.abstractMethods.flatMap(r=>r.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+"--"+_.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(r=>r.toFlatJSON(e)),...this.methods.flatMap(r=>r.toFlatJSON(e)),...this.abstractMethods.flatMap(r=>r.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(r=>r.toFlatGenerationTarget(e)),...this.methods.flatMap(r=>r.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(r=>r.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=X7(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 kt(this.toJSON(),this.project)}getAllInteractiveMethods(){const e=[];return e.push(...this.methods),this.extends.filter(r=>r.type===n.BuiltInBaseEntity&&r.interactive||r.type===n.PrimitiveEntity).forEach(r=>{r instanceof Xt&&e.push(...r.getAllInteractiveMethods())}),E(e)}}function qt(i,e){if(!i)throw new Error("Entity is null");const t=e.get(i.id);switch(i.type){case n.PrimitiveValue:return t||new Mi(i,e);case n.CustomEntity:return t||new Jr(i,e);case n.PrimitiveEntity:return t||new kt(i,e);case n.FunctionDeclaration:return t||new _r(i,e);case n.GlobalEvent:return t||new _i(i,e);case n.DataType:return t||new wi(i,e);case n.Property:return t||new wr(i,e);case n.FunctionCall:return t||new kr(i,e);case n.Condition:return t||new Vr(i,e);case n.Operation:return t||new Nr(i,e);case n.VariableDeclaration:return t||new Lr(i,e);case n.VariableInstance:return t||new Gr(i,e);case n.OutputMap:return t||new Bn(i,e);case n.ReturnDeclaration:return t||new Nt(i,e);case n.ArgumentDeclaration:return t||new Ur(i,e);case n.InputMap:return t||new Cn(i,e);case n.Project:return t||new _(i);case n.InstalledProject:return t||new Fr(i,e);case n.ActionDescriptor:return t||new te(i,e);case n.ReturnStatement:return t||new xr(i,e);case n.Loop:return t||new Mr(i,e);case n.Search:return t||new $r(i,e);case n.ValueDescriptor:return t||new jr(i,e);case n.BuiltInBaseEntity:return t||new Xt(i,e);case n.InternalCall:return t||new Ni(i,e);case n.ContinueStatement:return t||new bt(i,e);case n.BreakStatement:return t||new Vi(i,e);default:throw new Error("Invalid entity type: "+i.type)}}function g(i,e){if(!i)throw new Error("Entity is null");const t=qt(i,e);return t.subscribe(),t}function Q7(i,e){if(!i)throw new Error("Entity is null");switch(i.type){case n.PrimitiveValue:return Mi.fromGenerationTarget(i,e);case n.CustomEntity:return Jr.fromGenerationTarget(i,e);case n.FunctionDeclaration:return _r.fromGenerationTarget(i,e);case n.GlobalEvent:return _i.fromGenerationTarget(i,e);case n.DataType:return wi.fromGenerationTarget(i,e);case n.Property:return wr.fromGenerationTarget(i,e);case n.FunctionCall:return kr.fromGenerationTarget(i,e);case n.Condition:return Vr.fromGenerationTarget(i,e);case n.Operation:return Nr.fromGenerationTarget(i,e);case n.VariableDeclaration:return Lr.fromGenerationTarget(i,e);case n.VariableInstance:return Gr.fromGenerationTarget(i,e);case n.OutputMap:return Bn.fromGenerationTarget(i,e);case n.ReturnDeclaration:return Nt.fromGenerationTarget(i,e);case n.ArgumentDeclaration:return Ur.fromGenerationTarget(i,e);case n.InputMap:return Cn.fromGenerationTarget(i,e);case n.InstalledProject:return Fr.fromGenerationTarget(i,e);case n.ReturnStatement:return xr.fromGenerationTarget(i,e);case n.Loop:return Mr.fromGenerationTarget(i,e);case n.Search:return $r.fromGenerationTarget(i,e);case n.ActionDescriptor:return te.fromGenerationTarget(i,e);case n.ValueDescriptor:return jr.fromGenerationTarget(i,e);case n.InternalCall:return Ni.fromGenerationTarget(i,e);case n.ContinueStatement:return bt.fromGenerationTarget(i,e);case n.BreakStatement:return Vi.fromGenerationTarget(i,e);default:throw new Error("Invalid entity type: "+i.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=ks==null?void 0:ks()),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:r=>r}}}static injectUUIDModule(e){ee.UUID=e}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[];return a.push(...Le(r)),{errors:a,modifiedData:r}}async inject(...e){return await Promise.all(e.map(t=>new Promise(async r=>{await t.init(this),r(null)}))),this}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){const e=[this],t=[],r=[];return{updated:E(e),added:E(t),removed:E(r),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=g(e,this);return t.setParent(this),t.initChildren(),t}),this.projects=this.initialData.projects.map(e=>{const t=g(e,this);return t.setParent(this),t.initChildren(),t}),this.functions=this.initialData.functions.map(e=>{const t=g(e,this);return t.setParent(this),t.initChildren(),t}),this.events=this.initialData.events.map(e=>{const t=g(e,this);return t.setParent(this),t.initChildren(),t}),this.variableDeclarations=this.initialData.variableDeclarations.map(e=>{const t=g(e,this);return t.setParent(this),t.initChildren(),t}),this.variableInstances=this.initialData.variableInstances.map(e=>{const t=g(e,this);return t.setParent(this),t.initChildren(),t}),this.conditions=this.initialData.conditions.map(e=>{const t=g(e,this);return t.setParent(this),t.initChildren(),t}),this.operations=this.initialData.operations.map(e=>{const t=g(e,this);return t.setParent(this),t.initChildren(),t}),this.functionCalls=this.initialData.functionCalls.map(e=>{const t=g(e,this);return t.setParent(this),t.initChildren(),t}),this.loops=this.initialData.loops.map(e=>{const t=g(e,this);return t.setParent(this),t.initChildren(),t}),this.searches=this.initialData.searches.map(e=>{const t=g(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(r=>r.toFlat(e)),...this.functions.flatMap(r=>r.toFlat(e)),...this.events.flatMap(r=>r.toFlat(e)),...this.projects.flatMap(r=>r.toFlat(e)),...this.variableDeclarations.flatMap(r=>r.toFlat(e)),...this.variableInstances.flatMap(r=>r.toFlat(e)),...this.conditions.flatMap(r=>r.toFlat(e)),...this.operations.flatMap(r=>r.toFlat(e)),...this.functionCalls.flatMap(r=>r.toFlat(e)),...this.loops.flatMap(r=>r.toFlat(e)),...this.searches.flatMap(r=>r.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(r=>r.toFlatJSON(e)),...this.functions.flatMap(r=>r.toFlatJSON(e)),...this.events.flatMap(r=>r.toFlatJSON(e)),...this.projects.flatMap(r=>r.toFlatJSON(e)),...this.variableDeclarations.flatMap(r=>r.toFlatJSON(e)),...this.variableInstances.flatMap(r=>r.toFlatJSON(e)),...this.conditions.flatMap(r=>r.toFlatJSON(e)),...this.operations.flatMap(r=>r.toFlatJSON(e)),...this.functionCalls.flatMap(r=>r.toFlatJSON(e)),...this.loops.flatMap(r=>r.toFlatJSON(e)),...this.searches.flatMap(r=>r.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(r=>r.toFlatGenerationTarget(e)),...this.functions.flatMap(r=>r.toFlatGenerationTarget(e)),...this.events.flatMap(r=>r.toFlatGenerationTarget(e)),...this.projects.flatMap(r=>r.toFlatGenerationTarget(e)),...this.variableDeclarations.flatMap(r=>r.toFlatGenerationTarget(e)),...this.variableInstances.flatMap(r=>r.toFlatGenerationTarget(e)),...this.conditions.flatMap(r=>r.toFlatGenerationTarget(e)),...this.operations.flatMap(r=>r.toFlatGenerationTarget(e)),...this.functionCalls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.loops.flatMap(r=>r.toFlatGenerationTarget(e)),...this.searches.flatMap(r=>r.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=yk(),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=g(e,this);return this.addCustomEntity(t),t}addCustomEntity(e){return this.entities.includes(e)||this.entities.push(e),e}addFunctionDeclarationFromTransfer(e){const t=g(e,this);return this.addFunctionDeclaration(t),t}addFunctionDeclaration(e){return this.functions.includes(e)||this.functions.push(e),e}addFunctionCallFromTransfer(e){const t=g(e,this);return this.addFunctionCall(t),t}addFunctionCall(e){return this.functionCalls.includes(e)||this.functionCalls.push(e),e}addVariableDeclarationFromTransfer(e){const t=g(e,this);return this.addVariableDeclaration(t),t}addVariableDeclaration(e){return this.variableDeclarations.includes(e)||this.variableDeclarations.push(e),e}addVariableInstanceFromTransfer(e){const t=g(e,this);return this.addVariableInstance(t),t}addVariableInstance(e){return this.variableInstances.includes(e)||this.variableInstances.push(e),e}addInstalledProjectFromTransfer(e){const t=g(e,this);return this.addInstalledProject(t),this}addInstalledProject(e){return this.projects.includes(e)||this.projects.push(e),this}addGlobalEventFromTransfer(e){const t=g(e,this);return this.addGlobalEvent(t),this}addGlobalEvent(e){return this.events.includes(e)||this.events.push(e),this}addConditionFromTransfer(e){const t=g(e,this);return this.addCondition(t),this}addCondition(e){return this.conditions.includes(e)||this.conditions.push(e),this}addOperationFromTransfer(e){const t=g(e,this);return this.addOperation(t),this}addOperation(e){return this.operations.includes(e)||this.operations.push(e),this}addLoopFromTransfer(e){const t=g(e,this);return this.addLoop(t),this}addLoop(e){return this.loops.includes(e)||this.loops.push(e),this}addSearchFromTransfer(e){const t=g(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(r=>r.id===e.id);if(t>-1){const r=this.entities[t];return this.entities.splice(t,1),r}return null}removeFunctionDeclaration(e){const t=this.functions.findIndex(r=>r.id===e.id);if(t>-1){const r=this.functions[t];return this.functions.splice(t,1),r}return null}removeExternalProject(e){const t=this.projects.findIndex(r=>r.id===e.id);if(t>-1){const r=this.projects[t];return this.projects.splice(t,1),r}return null}removeGlobalEvent(e){const t=this.events.findIndex(r=>r.id===e.id);if(t>-1){const r=this.events[t];return this.events.splice(t,1),r}return null}removeTopLevelVariableDeclaration(e){if(e.type!==n.VariableDeclaration)return null;const t=this.variableDeclarations.findIndex(r=>r.id===e.id);if(t>-1){const r=this.variableDeclarations[t];return this.variableDeclarations.splice(t,1),r}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,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Condition)]},[]),...this.functionCalls.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Condition)]},[]),...this.operations.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Condition)]},[]),...this.loops.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Condition)]},[]),...this.searches.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Condition)]},[])]}getOperations(){return[...this.operations,...this.getEntryPoints().reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Operation)]},[]),...this.functionCalls.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Operation)]},[]),...this.conditions.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Operation)]},[]),...this.loops.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Operation)]},[]),...this.searches.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.Operation)]},[])]}getFunctionCalls(){return[...this.functionCalls,...this.getEntryPoints().reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.FunctionCall)]},[]),...this.conditions.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.FunctionCall)]},[]),...this.operations.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.FunctionCall)]},[]),...this.loops.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.FunctionCall)]},[]),...this.searches.reduce((t,r)=>{const a=Me(r);return[...t,...a.filter(s=>s.type===n.FunctionCall)]},[])]}getVariables(){return[...this.variableDeclarations,...this.getEntryPoints().reduce((t,r)=>{const a=re(r);return[...t,...a]},[]),...this.functionCalls.reduce((t,r)=>{const a=re(r);return[...t,...a]},[]),...this.conditions.reduce((t,r)=>{const a=re(r);return[...t,...a]},[]),...this.operations.reduce((t,r)=>{const a=re(r);return[...t,...a]},[]),...this.loops.reduce((t,r)=>{const a=re(r);return[...t,...a]},[]),...this.searches.reduce((t,r)=>{const a=re(r);return[...t,...a]},[])]}getVariableInstances(){return[...this.variableInstances,...this.getEntryPoints().reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableInstance);return[...t,...s]},[]),...this.functionCalls.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableInstance);return[...t,...s]},[]),...this.conditions.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableInstance);return[...t,...s]},[]),...this.operations.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableInstance);return[...t,...s]},[]),...this.loops.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableInstance);return[...t,...s]},[]),...this.searches.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableInstance);return[...t,...s]},[])]}getVariableDeclarations(){return E([...this.variableDeclarations,...this.getEntryPoints().reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableDeclaration);return[...t,...s]},[]),...this.functionCalls.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableDeclaration);return[...t,...s]},[]),...this.conditions.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableDeclaration);return[...t,...s]},[]),...this.operations.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableDeclaration);return[...t,...s]},[]),...this.loops.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableDeclaration);return[...t,...s]},[]),...this.searches.reduce((t,r)=>{const s=re(r).filter(o=>o.type===n.VariableDeclaration);return[...t,...s]},[])])}attachOrphanReferences(){const e=this.getVariableInstances(),t=this.getVariableDeclarations();return e.forEach(r=>{if(!r.declaration){const a=r.initialData,s=a.declaration.entityId||a.declaration.id,o=t.find(l=>l.id===s);o&&r.setDeclaration(o)}}),this}getBuiltInPersistedEntity(){return this.builtInBaseEntities.find(e=>e.name===V.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 _=ee;class EA extends te{constructor(t){super(Wt,t);c(this,"id",le.Parallel);c(this,"name",le.Parallel);c(this,"description","Execute a list of actions one after the other");c(this,"version",1);c(this,"autoexecutable",!0);c(this,"initialData",Wt);c(this,"type",n.ActionDescriptor);c(this,"inputs",[]);c(this,"outputs",[]);c(this,"error",null);c(this,"project");this.project=t,this.inputs=Wt.inputs.map(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.outputs=Wt.outputs.map(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.error=Wt.error?g(Wt.error,this.project):null}}class bA extends te{constructor(t){super(pt,t);c(this,"id",pt.id);c(this,"name",pt.name);c(this,"description",pt.description);c(this,"version",pt.version);c(this,"autoexecutable",!1);c(this,"initialData",pt);c(this,"type",n.ActionDescriptor);c(this,"inputs",[]);c(this,"outputs",[]);c(this,"error",null);c(this,"project");this.project=t,this.inputs=pt.inputs.map(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.outputs=pt.outputs.map(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.error=pt.error?g(pt.error,this.project):null}}class RA extends te{constructor(t){super(Tn,t);c(this,"id",le.Sequential);c(this,"name",le.Sequential);c(this,"description","Execute a list of actions one after the other");c(this,"version",1);c(this,"autoexecutable",!0);c(this,"initialData",Tn);c(this,"type",n.ActionDescriptor);c(this,"inputs",[]);c(this,"outputs",[]);c(this,"error",null);c(this,"project");this.project=t,this.inputs=Tn.inputs.map(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.outputs=Tn.outputs.map(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.error=Tn.error?g(Tn.error,this.project):null}}class eq extends te{constructor(e){super(xi,e)}}class tq extends te{constructor(e){super(ir,e)}}class nq extends te{constructor(t){super(ar,t);c(this,"autoexecutable",!0)}getEntityToMatchInputMap(t){return t.inputs.find(r=>{var a;return((a=r.declaration)==null?void 0:a.id)===B.operation[ce.Validate].inputs.entityToMatch.id})||null}getDataToValidateInputMap(t){return t.inputs.find(r=>{var a;return((a=r.declaration)==null?void 0:a.id)===B.operation[ce.Validate].inputs.dataToValidate.id})||null}getOutputDataOutputMap(t){return t.outputs.find(r=>{var a;return((a=r.declaration)==null?void 0:a.id)===B.operation[ce.Validate].outputs.outputEntity.id})||null}getEntityToMatch(t){let r=null;if(t.readsValue){const s=t.readsValue.getDataType();s&&s.entity&&s.entity.type===n.CustomEntity&&(r=s.entity)}const a=t.getDefaultValue();return!r&&a&&a.valueAsType&&!Array.isArray(a.valueAsType)&&a.valueAsType.type===n.CustomEntity&&(r=a.valueAsType),r}syncOperationInstance(t){const r=this.getEntityToMatchInputMap(t);r&&this.syncEntityToMatchInputMapDataType(r);const a=this.getDataToValidateInputMap(t);a&&this.syncDataToValidateInputMapDataType(a);const s=this.getOutputDataOutputMap(t);return s&&this.syncOutputDataOutputMapDataType(s),t}syncEntityToMatchInputMapDataType(t){var a,s,o;if(((a=t.declaration)==null?void 0:a.id)!==B.operation[ce.Validate].inputs.entityToMatch.id)return null;if(!t.dataType){const l={id:t.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:t.toReference()},p=g(l,t.project);p.setParent(t),p.initChildren(),t.setDataType(p)}(s=t.dataType)==null||s.sync({inferred:!0,like:!1,asType:!0});const r=this.getEntityToMatch(t);return(o=t.dataType)==null||o.setEntity(r),t.dataType}syncDataToValidateInputMapDataType(t){var o,l,p;if(((o=t.declaration)==null?void 0:o.id)!==B.operation[ce.Validate].inputs.dataToValidate.id)return null;const r=this.getEntityToMatchInputMap(t.parent);if(!r||!this.getEntityToMatch(r))return null;if(!t.dataType){const y={id:t.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:t.toReference()},f=g(y,t.project);f.setParent(t),f.initChildren(),t.setDataType(f)}(l=t.dataType)==null||l.sync({inferred:!0,like:!0,asType:!1});const s=this.getEntityToMatch(r);return(p=t.dataType)==null||p.setEntity(s),t.dataType}syncOutputDataOutputMapDataType(t){var o,l,p;if(((o=t.declaration)==null?void 0:o.id)!==B.operation[ce.Validate].outputs.outputEntity.id)return null;const r=this.getEntityToMatchInputMap(t.parent);if(!r||!this.getEntityToMatch(r))return null;if(!t.dataType){const y={id:t.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:t.toReference()},f=g(y,t.project);f.setParent(t),f.initChildren(),t.setDataType(f)}(l=t.dataType)==null||l.sync({inferred:!0,like:!0,asType:!1});const s=this.getEntityToMatch(r);return(p=t.dataType)==null||p.setEntity(s),t.dataType}inferInputMapDataType(t){var r,a;return((r=t.declaration)==null?void 0:r.id)===B.operation[ce.Validate].inputs.entityToMatch.id?this.syncEntityToMatchInputMapDataType(t):((a=t.declaration)==null?void 0:a.id)===B.operation[ce.Validate].inputs.dataToValidate.id?this.syncDataToValidateInputMapDataType(t):null}inferOutputMapDataType(t){var r;return((r=t.declaration)==null?void 0:r.id)===B.operation[ce.Validate].outputs.outputEntity.id?this.syncOutputDataOutputMapDataType(t):null}}class rq extends te{constructor(e){super(fl,e)}}class iq extends te{constructor(e){super(ml,e)}}class aq extends te{constructor(e){super(Tl,e)}}class sq extends te{constructor(e){super(ts,e)}}class oq extends te{constructor(e){super(Xa,e)}}class lq extends te{constructor(e){super(Ui,e)}}function cq(i){const e=[new RA(i),new EA(i),new bA(i),new eq(i),new tq(i),new nq(i),new sq(i),new rq(i),new aq(i),new iq(i),new oq(i),new lq(i),new te(yl,i),new te(pl,i)];return e.forEach(t=>{t.initChildren(),i.subscribeBuiltInInstance(t)}),i.operationDeclarations=e,e}class gA extends Xt{constructor(t){super(nt,t);c(this,"initialData");c(this,"id",V.PERSISTED_ENTITY);c(this,"version",1);c(this,"name",V.PERSISTED_ENTITY);c(this,"description",nt.description);c(this,"type",n.BuiltInBaseEntity);c(this,"abstract",nt.abstract);c(this,"static",nt.static);c(this,"properties",[]);c(this,"methods",[]);c(this,"abstractMethods",[]);c(this,"extends",[]);c(this,"errors",[]);c(this,"project");this.initialData=nt,this.project=t,this.id=nt.id,this.version=nt.version,this.name=nt.name,this.static=nt.static,this.abstract=nt.abstract,this.properties=this.initialData.properties.map(r=>{const a=g(r,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(r=>{const a=g(r,this.project);return a.parent=this,a}),this.abstractMethods=this.initialData.abstractMethods.map(r=>{const a=g(r,this.project);return a.parent=this,a}),this.extends=this.initialData.extends.map(r=>g(r,this.project))}}function dq(i){const e=[new gA(i),new Xt(ys,i),new Xt(En,i),new Xt(Zl,i)];return e.forEach(t=>{i.subscribeBuiltInInstance(t)}),i.builtInBaseEntities=e,e}function uq(i){const e=[new kt(x,i),new kt(Mn,i),new kt(Z,i),new kt(Ke,i),new kt(Vn,i),new kt(hn,i),new kt(Ln,i),new kt($i,i)];return e.forEach(t=>{i.subscribeBuiltInInstance(t)}),i.primitives=e,e}function pq(i){const e=[new te(Es,i)];return e.forEach(t=>{t.initChildren(),i.subscribeBuiltInInstance(t)}),i.globalEventActionDescriptors=e,e}function yq(i){const e=[new te(ps,i),new te(sr,i),new te(us,i),new te(ki,i),new te(qi,i),new te(Al,i)];e.forEach(r=>{r.initChildren(),i.subscribeBuiltInInstance(r)}),i.loopDeclarations=e;const t=[new te(Vl,i),new te(ds,i),new te(wl,i),new te(bT,i),new te($T,i),new te(Sl,i)];return t.forEach(r=>{r.initChildren(),i.subscribeBuiltInInstance(r)}),i.loopDeclarationsBodies=t,e}function fq(i){const e=[new jr(ec,i)];return e.forEach(t=>{t.initChildren(),i.subscribeBuiltInInstance(t)}),i.valueDescriptors=e,e}function hq(i){const e=[new te(ur,i),new te(ri,i)];return e.forEach(t=>{t.initChildren(),i.subscribeBuiltInInstance(t)}),i.operationDeclarations=e,e}const Wr={},el={};async function mq(i,e={}){const t={...LI};return t.id=i.id,e.empty?{data:{id:i.id,type:n.Project,version:1,name:null,description:null,projects:[],entities:[],operations:[],functions:[],variableDeclarations:[],variableInstances:[],functionCalls:[],conditions:[],loops:[],searches:[],events:[]}}:{data:t}}function vA(i){const e=new _(i);return uq(e),dq(e),cq(e),pq(e),yq(e),fq(e),hq(e),e.getAllBuiltIn().forEach(r=>{e.builtInInstances[r.id]||(e.builtInInstances[r.id]=r,delete e.instances[r.id])}),e.initChildren(),e}async function Tq(i,e={}){if(i.id&&Wr[i.id])return Wr[i.id];if(i.id&&el[i.id])return await el[i.id],Wr[i.id];const t=mq(i,e);i.id&&(el[i.id]=t);const r=await t;if(r.data){const a=vA(r.data);return Wr[i.id]=a,i.id&&delete el[i.id],a}return null}function Eq(i){return Wr[i.id]&&delete Wr[i.id],null}const bq="test_primitive_entities_export";d.AI_VALUE_CONNECTION_GENERATION_ACTION_EXPLANATION=wu,d.ActionDescriptorState=te,d.ActionInputMapState=t7,d.ActionOutputMapState=i7,d.AppendToListOperationInputIds=uf,d.AppendToListOperationOutputIds=pf,d.ArgumentDeclarationState=Ur,d.BREAK_AND_CONTINUE_STATEMENTS_RETURN_DECLARATIONS_EXPLANATION=Ou,d.BUILT_IN_BASE_ENTITY_IDS=B,d.BUILT_IN_ENTITY_TYPES=Zr,d.BaseCanvasDraggableState=F2,d.BaseEntityNames=V,d.BaseState=$2,d.BaseValueDescriptorIds=sl,d.BreakStatementState=Vi,d.BuiltInBaseEntityState=Xt,d.CACHED_PROJECTS_BY_ID=Wr,d.CALLABLE_ENTITIES_EXPLANATION=m7,d.CALLABLE_TYPES=Nn,d.CALLER_ENTITIES_EXPLANATION=VP,d.CALLER_TYPES=fn,d.CALLS_UPDATE_EXPLANATION=Xn,d.COMPARISON_CONDITIONS=Sb,d.CONDITIONS=JA,d.CUSTOM_ENTITY_OPERATIONS=Bh,d.CallableEntityClass=x2,d.CallerEntityClass=Iu,d.ChildEntityState=U2,d.ComparisonOperatorTypes=$e,d.ConditionState=Vr,d.ContinueStatementState=bt,d.CreateNewInputIds=ih,d.CreateNewOutputIds=ah,d.CustomEntityState=Jr,d.DRAGGABLE_CALLABLE_TYPES=il,d.DRAGGABLE_CALLER_TYPES=Zu,d.DRAGGABLE_ELEMENT_TYPES=al,d.DRAGGABLE_EXECUTABLE_TYPES=DA,d.DRAGGABLE_PASS_THROUGH_CALLABLE_TYPES=rl,d.DataTypeCompatibilityTypes=xt,d.DataTypeParentChildRelation=We,d.DataTypeState=wi,d.ENTITIES_WITH_VALLUES_EXPLANATION=Uo,d.ENTITY_TYPES=PA,d.ENTITY_WITH_LOGIC_SCOPE_TYPES=ut,d.ENTITY_WITH_NAMES_TYPES=Ku,d.ENTITY_WITH_VALUE_TYPES=zu,d.ENTRY_POINT_ENTITIES_EXPLANATION=Wa,d.ENTRY_POINT_TYPES=Ue,d.EVENT_TYPES=zr,d.EXECUTABLE_TYPES=IA,d.EXECUTION_OPERATIONS=rh,d.EntityError=br,d.EntityErrorSeverity=T,d.EntityGenerationError=b,d.EntityGenerationErrorCode=h,d.EntityInstanceErrorCode=M,d.EntityOperations=ce,d.EntityType=n,d.EntityWithLogicScopeClass=J2,d.EntityWithValueClass=q2,d.EntryPointEntityClass=j2,d.ExecutionOperations=le,d.ExecutionTerminationType=_P,d.FunctionCallState=kr,d.FunctionDeclarationState=_r,d.GLOBAL_EVENT_DECLARATIONS=WA,d.GetLastInListOperationInputIds=Xy,d.GetLastInListOperationOutputIds=Qy,d.GlobalEventNames=yn,d.GlobalEventState=_i,d.HTTPOperations=tt,d.HTTP_OPERATIONS=dm,d.InputMapState=Cn,d.InstalledProjectState=Fr,d.InternalCallState=Ni,d.JoinListOperationInputIds=Ey,d.JoinListOperationOutputIds=by,d.LIST_OPERATIONS=Pf,d.ListOperations=Y,d.LoopState=Mr,d.LoopTypes=$,d.NON_INTERACTIVE_BASE_ENTITIES_EXPLANATION=Qn,d.NUMBER_OPERATIONS=_p,d.NumberOperations=Te,d.OPERATION_DECLARATIONS=CA,d.OperationState=Nr,d.OutputMapParentChildRelation=Hr,d.OutputMapState=Bn,d.PARENT_AUTO_CALCULATION_FROM_CALLER_EXPLANATION=xo,d.PASS_THROUGH_CALLABLE_ENTITIES_EXPLANATION=Kn,d.PASS_THROUGH_CALLABLE_TYPES=ke,d.PROPERTY_NOT_VALUE_READER_WRITTER_EXPLANATION=Bu,d.ParallelExecutionOperation=EA,d.PassThroughCallableEntityClass=k2,d.PersistedEntity=gA,d.PersistedEntityMethods=Ct,d.PrimitiveEntityState=kt,d.PrimitiveTypes=I,d.PrimitiveValueParentChildRelation=nl,d.PrimitiveValueState=Mi,d.ProjectState=_,d.PropertyState=wr,d.RETURN_STATEMENT_RETURN_DECLARATIONS_EXPLANATION=T7,d.ReturnDeclarationState=Nt,d.ReturnStatementState=xr,d.STANDALONE_CONDITIONS=bb,d.STRING_OPERATIONS=Ty,d.ScopeCompatibilityType=Qo,d.SearchState=$r,d.SequentialExecutionOperation=RA,d.SequentialExecutionOperationInputIds=qf,d.SequentialExecutionOperationOutputIds=Jf,d.SharedEntityErrorCode=S,d.SharedStateFunctionality=wP,d.SplitListOperationInputIds=My,d.SplitListOperationOutputIds=Vy,d.StandaloneOperatorTypes=Vt,d.StringOperations=X,d.TERMINATION_TYPES=Ve,d.USER_MANAGED_ENTITY_TYPES=AA,d.UserManagedEntityStateFunctionality=G2,d.VALUE_READING_ENTITIES_EXPLANATION=Cu,d.VALUE_READING_TYPES=_n,d.VALUE_WRITING_ENTITIES_EXPLANATION=LP,d.VALUE_WRITING_TYPES=je,d.VARIABLE_DATA_TYPE_INFERRANCE_EXPLANATION=Su,d.VARIABLE_TYPES=Fe,d.ValueAutogenerationType=xe,d.ValueDescriptorParentChildRelation=O,d.ValueDescriptorState=jr,d.ValueReadingEntityClass=qa,d.ValueWritingEntityClass=Ja,d.VariableDeclarationState=Lr,d.VariableInputMapState=e7,d.VariableInstanceState=Gr,d.VariableOutputMapState=r7,d.WaitOperation=bA,d.WaitOperationInputIds=Gf,d.WaitOperationOutputIds=$f,d.appendToListOperation=ts,d.appendToListOperationElementToAppendArgument=bl,d.appendToListOperationElementToAppendArgumentParentRef=Rf,d.appendToListOperationElementToAppendArgumentRef=hf,d.appendToListOperationError=Df,d.appendToListOperationErrorParentRef=If,d.appendToListOperationListArgument=El,d.appendToListOperationListArgumentParentRef=bf,d.appendToListOperationListArgumentRef=yf,d.appendToListOperationListDataType=ff,d.appendToListOperationResultListDataType=Ef,d.appendToListOperationResultListReturn=vf,d.appendToListOperationResultListReturnParentRef=gf,d.appendToListOperationResultListReturnRef=Tf,d.appendToListOperationSecondListDataType=mf,d.asGenerationActionExample=un,d.booleanPrototype=Mn,d.capitalizeFirstLetter=wo,d.checkAreCustomEntitiesCompatibleAsDataType=bP,d.checkAreDataTypesCompatible=jt,d.checkArePropertiesCompatibleAsDataType=EP,d.checkIsBranchDependentButNotDirectlyOnBranch=Ha,d.checkIsBranchDependentOnBranch=A7,d.checkIsCallableEntityReachable=Ka,d.checkIsCanvasEntity=k7,d.checkIsDetachedBranch=pA,d.checkIsDetachedBranchShallow=Yu,d.checkIsGlobalVariable=x7,d.checkIsGloballyDeclared=Wu,d.checkIsMethod=hA,d.checkIsNestedScope=Xo,d.checkScopeCompatibility=za,d.countedLoopActionDescriptor=ps,d.countedLoopActionDescriptorDynamicReturnDeclaration=YT,d.countedLoopActionDescriptorDynamicReturnDeclarationParentRef=WT,d.countedLoopActionDescriptorStringArgumentDeclaration=JT,d.countedLoopActionDescriptorStringArgumentDeclarationDataType=kT,d.countedLoopActionDescriptorStringArgumentDeclarationDataTypeDefaultValue=xT,d.countedLoopActionDescriptorStringArgumentDeclarationDataTypeDefaultValueParentRef=UT,d.countedLoopActionDescriptorStringArgumentDeclarationDataTypeParentRef=jT,d.countedLoopActionDescriptorStringArgumentDeclarationParentRef=qT,d.countedLoopBodyActionDescriptor=Vl,d.countedLoopBodyActionDescriptorAnyDynamicArgument=XT,d.countedLoopBodyActionDescriptorAnyDynamicArgumentParentRef=KT,d.countedLoopBodyActionDescriptorAnyDynamicReturn=eE,d.countedLoopBodyActionDescriptorAnyDynamicReturnParentRef=QT,d.countedLoopBodyActionDescriptorIterationNumberArgumentDeclaration=Ml,d.countedLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataType=zT,d.countedLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataTypeParentRef=HT,d.countedLoopBodyActionDescriptorIterationNumberArgumentDeclarationParentRef=ZT,d.createCustomEntityFromJSONObject=Wo,d.createEntityError=H,d.createNestedDataTypeForEntity=YP,d.createNewInstanceOperation=ir,d.createNewInstanceOperationEntityToInstanciateArgument=yh,d.createNewInstanceOperationEntityToInstanciateArgumentRef=dh,d.createNewInstanceOperationEntityToInstanciateDataType=uh,d.createNewInstanceOperationError=Th,d.createNewInstanceOperationErrorParentRef=mh,d.createNewInstanceOperationNewEntityDataArgument=ch,d.createNewInstanceOperationNewEntityDataArgumentDataType=lh,d.createNewInstanceOperationNewEntityDataArgumentDataTypeParentRef=oh,d.createNewInstanceOperationNewEntityDataArgumentParentRef=sh,d.createNewInstanceOperationOutputEntityDeclaration=hh,d.createNewInstanceOperationOutputEntityDeclarationParentRef=fh,d.createNewInstanceOperationRef=ph,d.createSemanticId=Ze,d.createStateFromGenerationTargetType=Q7,d.createStateFromType=qt,d.createStateFromTypeAndSubscribe=g,d.cronJobBuiltInBaseEntity=Zl,d.cronJobBuiltInBaseEntityExpressionProperty=hb,d.cronJobBuiltInBaseEntityExpressionPropertyDataTypeRef=jA,d.cronJobBuiltInBaseEntityExpressionPropertyRef=yb,d.cronJobBuiltInBaseEntityRef=fb,d.cronJobTriggeredFunctionDeclarationBlueprint=zl,d.cronJobTriggeredFunctionDeclarationBlueprintParentRef=ub,d.customEntityToZodSchema=Wb,d.dataTypeCompatibilityToErrorExplanation=qP,d.datePrototype=hn,d.dateValueAutogenerationSchema=ud,d.deletePersistedEntityMethod=Hl,d.deletePersistedEntityMethodParentRef=KE,d.deleteRootProject=Eq,d.endpointBuiltInBaseEntity=ys,d.endpointBuiltInBaseEntityRef=iE,d.endpointBuiltInBaseEntityRefFour=FE,d.endpointBuiltInBaseEntityRefThree=yE,d.endpointBuiltInBaseEntityRefTwo=cE,d.endpointBuiltInCorsProperty=aE,d.endpointBuiltInCorsPropertyDataType=rE,d.endpointBuiltInCorsPropertyDataTypeRef=tE,d.endpointBuiltInCorsPropertyRef=nE,d.endpointBuiltInMethodProperty=Gl,d.endpointBuiltInMethodPropertyDataType=pE,d.endpointBuiltInMethodPropertyDataTypeRef=dE,d.endpointBuiltInMethodPropertyRef=uE,d.endpointBuiltInPathProperty=Ll,d.endpointBuiltInPathPropertyDataType=lE,d.endpointBuiltInPathPropertyDataTypeRef=sE,d.endpointBuiltInPathPropertyRef=oE,d.endpointPathParamsArgumentDeclaration=Fl,d.endpointPathParamsArgumentDeclarationRef=IE,d.endpointPathParamsVariableDataType=DE,d.endpointPathParamsVariableDataTypeRef=vE,d.endpointReachedTriggerActionDescriptor=Jl,d.endpointReachedTriggerActionDescriptorRef=PE,d.endpointReachedTriggerActionDescriptorRefFour=SE,d.endpointReachedTriggerActionDescriptorRefThree=OE,d.endpointReachedTriggerActionDescriptorRefTwo=AE,d.endpointRequestBodyArgumentDeclaration=xl,d.endpointRequestBodyArgumentDeclarationRef=TE,d.endpointRequestBodyVariableDataType=EE,d.endpointRequestHeadersArgumentDeclaration=$l,d.endpointRequestHeadersArgumentDeclarationRef=hE,d.endpointRequestHeadersVariableDataType=mE,d.endpointRequestHeadersVariableDataTypeRef=fE,d.endpointRequestQueryParamsArgumentDeclaration=Ul,d.endpointRequestQueryParamsArgumentDeclarationRef=RE,d.endpointRequestQueryParamsVariableDataType=gE,d.endpointRequestQueryParamsVariableDataTypeRef=bE,d.endpointResponseBodyDataType=GE,d.endpointResponseBodyReturnDeclaration=ql,d.endpointResponseBodyReturnDeclarationRef=LE,d.endpointResponseCodeDataType=BE,d.endpointResponseCodeReturnDeclaration=jl,d.endpointResponseCodeReturnDeclarationRef=CE,d.endpointResponseHeadersDataType=ME,d.endpointResponseHeadersDataTypeRef=_E,d.endpointResponseHeadersReturnDeclaration=kl,d.endpointResponseHeadersReturnDeclarationRef=NE,d.endpointReturnStatementRef=wE,d.endpointReturnStatementRefThree=$E,d.endpointReturnStatementRefTwo=VE,d.enumOptionsProperty=np,d.enumOptionsPropertyDataType=ep,d.enumOptionsPropertyDataTypeRef=Xu,d.enumOptionsPropertyRef=Qu,d.enumPrototype=Vn,d.enumPrototypeRef=tp,d.executionBuiltInEntity=Xl,d.executionBuiltInEntityAbortMethod=Kl,d.executionBuiltInEntityAbortMethodParentRef=mb,d.filterOutDuplicateEntities=E,d.filterOutDuplicateErrors=_9,d.findEntityFromKeys=Mu,d.findReferenceToSelfInList=aA,d.findReferencesToSelfInProject=V7,d.flattenCalls=pn,d.flattenCanvasAncestorsUntil=Yo,d.flattenCustomEntityExtensionAndImplementationTypes=ku,d.flattenCustomEntityExtensionTypes=Zo,d.flattenCustomEntityExtensions=xu,d.flattenCustomEntityImplementations=ju,d.flattenCustomEntityImplementionTypes=zo,d.flattenDerivedCanvasEntities=St,d.flattenDetachedBranch=fA,d.flattenElementCalls=Me,d.flattenElementCallsOnTheSameScope=M7,d.flattenProjectElements=iA,d.flattenRelatedCanvasElementsOnTheLeft=dA,d.flattenRelatedCanvasElementsOnTheRight=cA,d.flattenVariableReads=rA,d.flattenVariableWrites=nA,d.flattenVariables=re,d.fromZodParseToEntityGenerationErrors=Du,d.generate=jS,d.generateActionExample=E7,d.generateExecutionDataType=T2,d.generateMutablePropertiesExplanation=Go,d.generateRandomBoolean=ER,d.generateRandomDate=Zb,d.generateRandomDateAfter=Yb,d.generateRandomDateBefore=Hb,d.generateRandomDateBetweenRange=zb,d.generateRandomNumber=yR,d.generateRandomNumberAfter=dR,d.generateRandomNumberBefore=uR,d.generateRandomNumberBetweenRange=pR,d.generateRandomText=TR,d.generateRandomTextAfter=fR,d.generateRandomTextBefore=hR,d.generateRandomTextBetweenRange=mR,d.generateUniqueUUID=cR,d.getAllActionDescriptorsForConditions=qo,d.getAllActionDescriptorsForGlobalEvents=jo,d.getAllActionDescriptorsForLoops=ko,d.getAllActionDescriptorsForOperations=v7,d.getAllGloballyDeclaredFunctionDeclarationsExplanation=xP,d.getBaseBuiltInEntities=tr,d.getBaseSchemaBasedOnType=NP,d.getBuiltInEntityOwner=nr,d.getCallableEntityReferenceSchema=ze,d.getCallableEntityTypeSchema=sD,d.getCallerEntityReferenceSchema=G3,d.getCallerEntityTypeSchema=L3,d.getCalls=Gu,d.getCanvasEntitiesDerivedFromInternalCalls=lA,d.getCanvasEntitiesDerivedFromWrites=Li,d.getCanvasEntityDerivedFromValueReadingEntity=Uu,d.getCanvasEntityReferenceSchema=ek,d.getCanvasEntityTypeSchema=Q3,d.getChildrenEntityWithValues=S7,d.getColumnProperties=H7,d.getCommonAncestor=Lu,d.getCommonChildren=HP,d.getCustomEntityExtends=Gi,d.getDatabaseEntities=W7,d.getDatabaseEntity=z7,d.getDeclaration=Br,d.getDeepestScope=TA,d.getDraggableCallableEntityReferenceSchema=lD,d.getDraggableCallableEntityTypeSchema=oD,d.getDraggableCallerEntityReferenceSchema=F3,d.getDraggableCallerEntityTypeSchema=$3,d.getDraggableExecutableEntityReferenceSchema=k3,d.getDraggableExecutableEntityTypeSchema=j3,d.getDraggablePassThroughCallableEntityReferenceSchema=Io,d.getDraggablePassThroughCallableEntityTypeSchema=vo,d.getDraggablePlayableEntityReferenceSchema=H3,d.getDraggablePlayableEntityTypeSchema=Y3,d.getEntityArgumentDeclarations=Fu,d.getEntityInputMaps=sA,d.getEntityOutputMaps=$7,d.getEntityReferenceSchema=X3,d.getEntityReturnDeclarations=oA,d.getEntityTypeSchema=K3,d.getEntityWithLogicScopeReferenceSchema=An,d.getEntityWithLogicScopeTypeSchema=q3,d.getEntityWithValueReferenceSchema=aD,d.getEntityWithValueTypeSchema=V3,d.getEntryPointEntityReferenceSchema=He,d.getEntryPointEntityTypeSchema=Hn,d.getEventEntityReferenceSchema=Ro,d.getEventEntityTypeSchema=bo,d.getExecutableEntityReferenceSchema=x3,d.getExecutableEntityTypeSchema=U3,d.getExtendedBuiltInEntity=F7,d.getExtendedCustomEntity=qu,d.getGenerationTargetSchemaBasedOnType=MP,d.getHeadIfPartOfDetachedBranch=yA,d.getHighestScope=mA,d.getImplementedBuiltInEntity=U7,d.getIsInteractive=Ju,d.getLastInListOperation=Tl,d.getLastInListOperationError=df,d.getLastInListOperationErrorParentRef=cf,d.getLastInListOperationInputListArgument=sf,d.getLastInListOperationInputListArgumentParentRef=af,d.getLastInListOperationInputListArgumentRef=ef,d.getLastInListOperationInputListDataType=tf,d.getLastInListOperationOutputElementDataType=rf,d.getLastInListOperationOutputElementReturn=lf,d.getLastInListOperationOutputElementReturnParentRef=of,d.getLastInListOperationOutputElementReturnRef=nf,d.getLinkedEntitiesFromArgumentDeclaration=N7,d.getLowestPersistedEntityImplementation=uA,d.getParentCanvasEntities=Rt,d.getParentCanvasEntity=et,d.getParentEntryPoint=O7,d.getPassThroughCallableEntityReferenceSchema=Ee,d.getPassThroughCallableEntityTypeSchema=go,d.getPeristedEntities=J7,d.getPlayableEntityReferenceSchema=W3,d.getPlayableEntityTypeSchema=J3,d.getProject=Tq,d.getPrototypeByType=Ko,d.getReferenceEntityId=N,d.getReferencedEntitiesStateOrErrors=Fo,d.getReferencedEntityStateOrErrors=Pu,d.getRelatedCanvasElementsOnTheLeft=qr,d.getRelatedCanvasElementsOnTheRight=er,d.getRootEntryPointScopeOwner=Hu,d.getScopeOwner=gt,d.getTerminationReferenceSchema=Z3,d.getTerminationTypeSchema=z3,d.getUsedArgFromDeclaration=L7,d.getUsedReturnFromDeclaration=G7,d.getValueReadingEntityReferenceSchema=iD,d.getValueReadingEntityTypeSchema=Pn,d.getValueWritingEntityReferenceSchema=M3,d.getValueWritingEntityTypeSchema=Na,d.getVariableFromInputMapping=ZP,d.getVariableFromReturnVariablePointer=QP,d.getVariableReferenceSchema=Yn,d.getVariableTypeSchema=Dr,d.getVariablesFromArgumentDeclarations=Ho,d.getVariablesFromInputMaps=KP,d.getVariablesFromOutputMapping=eA,d.getVariablesFromOutputMaps=tA,d.getVariablesFromReturnDeclarations=XP,d.getVariablesInSameOrHigherScope=mu,d.getWrites=$u,d.groupCallsBasedOnParallelizableExecution=B7,d.handleAfterEntityImplementationSideEffects=WP,d.handleBeforeEntityImplementationSideEffects=JP,d.httpRequestBodyArgument=as,d.httpRequestBodyArgumentRef=kh,d.httpRequestBodyDataType=qh,d.httpRequestHeadersArgument=is,d.httpRequestHeadersArgumentRef=xh,d.httpRequestHeadersDataType=jh,d.httpRequestMethodArgument=ns,d.httpRequestMethodArgumentRef=Fh,d.httpRequestMethodDataType=Uh,d.httpRequestMethodDataTypeRef=Gh,d.httpRequestOperation=xi,d.httpRequestOperationErrorValueDescriptor=Pl,d.httpRequestOperationErrorValueDescriptorDatatype=cm,d.httpRequestOperationErrorValueDescriptorRef=lm,d.httpRequestOperationRef=im,d.httpRequestOperationRefEight=sm,d.httpRequestOperationRefFive=nm,d.httpRequestOperationRefFour=tm,d.httpRequestOperationRefNine=om,d.httpRequestOperationRefSeven=am,d.httpRequestOperationRefSix=rm,d.httpRequestOperationRefThree=em,d.httpRequestOperationRefTwo=Qh,d.httpRequestQueryParamsArgument=Dl,d.httpRequestQueryParamsArgumentRef=Vh,d.httpRequestQueryParamsDataType=Lh,d.httpRequestVariableURLArgument=rs,d.httpRequestVariableURLArgumentRef=Nh,d.httpRequestVariableURLDataType=Mh,d.httpRequestVariableURLDataTypeRef=wh,d.httpResponseBodyReturnDataType=Xh,d.httpResponseBodyReturnDataTypeRef=Zh,d.httpResponseBodyReturnReturn=ls,d.httpResponseBodyReturnReturnRef=Kh,d.httpResponseCodeDataType=Wh,d.httpResponseCodeReturn=ss,d.httpResponseCodeReturnRef=Jh,d.httpResponseHeadersDataType=zh,d.httpResponseHeadersDataTypeRef=Yh,d.httpResponseHeadersReturn=os,d.httpResponseHeadersReturnRef=Hh,d.implement=Jo,d.inferArgumentDeclarationDataType=RP,d.inferDataType=dn,d.inferInputMapDataType=yu,d.inferOutputMapDataType=hu,d.inferPropertyDataType=IP,d.inferReturnDeclarationDataType=fu,d.inferValueDescriptorDataType=DP,d.inferVariableDeclarationDataType=vP,d.inferVariableInstanceDataType=gP,d.initProject=vA,d.iterateOverListActionDescriptorListArgumentDeclaration=Dm,d.iterateOverListActionDescriptorListArgumentDeclarationDataType=vm,d.iterateOverListActionDescriptorListArgumentDeclarationDataTypeParentRef=gm,d.iterateOverListActionDescriptorListArgumentDeclarationParentRef=Im,d.iterateOverListLoopActionDescriptor=sr,d.iterateOverListLoopActionDescriptorDynamicReturnDeclaration=Am,d.iterateOverListLoopActionDescriptorDynamicReturnDeclarationParentRef=Pm,d.iterateOverListLoopBodyActionDescriptor=ds,d.iterateOverListLoopBodyActionDescriptorAnyDynamicArgument=Vm,d.iterateOverListLoopBodyActionDescriptorAnyDynamicArgumentParentRef=Mm,d.iterateOverListLoopBodyActionDescriptorAnyDynamicReturn=Gm,d.iterateOverListLoopBodyActionDescriptorAnyDynamicReturnParentRef=Lm,d.iterateOverListLoopBodyActionDescriptorCurrentValueArgumentDeclaration=cs,d.iterateOverListLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataType=Sm,d.iterateOverListLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataTypeParentRef=Om,d.iterateOverListLoopBodyActionDescriptorCurrentValueArgumentDeclarationParentRef=Cm,d.iterateOverListLoopBodyActionDescriptorIterationNumberArgumentDeclaration=Nm,d.iterateOverListLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataType=wm,d.iterateOverListLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataTypeParentRef=Bm,d.iterateOverListLoopBodyActionDescriptorIterationNumberArgumentDeclarationParentRef=_m,d.iterateOverObjectKeysActionDescriptorObjectArgumentDeclaration=aT,d.iterateOverObjectKeysActionDescriptorObjectArgumentDeclarationDataType=rT,d.iterateOverObjectKeysActionDescriptorObjectArgumentDeclarationDataTypeParentRef=nT,d.iterateOverObjectKeysActionDescriptorObjectArgumentDeclarationParentRef=iT,d.iterateOverObjectKeysLoopActionDescriptor=ki,d.iterateOverObjectKeysLoopActionDescriptorDynamicReturnDeclaration=oT,d.iterateOverObjectKeysLoopActionDescriptorDynamicReturnDeclarationParentRef=sT,d.iterateOverObjectKeysLoopBodyActionDescriptor=bT,d.iterateOverObjectKeysLoopBodyActionDescriptorAnyDynamicArgument=mT,d.iterateOverObjectKeysLoopBodyActionDescriptorAnyDynamicArgumentParentRef=hT,d.iterateOverObjectKeysLoopBodyActionDescriptorAnyDynamicReturn=ET,d.iterateOverObjectKeysLoopBodyActionDescriptorAnyDynamicReturnParentRef=TT,d.iterateOverObjectKeysLoopBodyActionDescriptorCurrentValueArgumentDeclaration=_l,d.iterateOverObjectKeysLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataType=cT,d.iterateOverObjectKeysLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataTypeParentRef=lT,d.iterateOverObjectKeysLoopBodyActionDescriptorCurrentValueArgumentDeclarationParentRef=dT,d.iterateOverObjectKeysLoopBodyActionDescriptorIterationNumberArgumentDeclaration=fT,d.iterateOverObjectKeysLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataType=pT,d.iterateOverObjectKeysLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataTypeParentRef=uT,d.iterateOverObjectKeysLoopBodyActionDescriptorIterationNumberArgumentDeclarationParentRef=yT,d.iterateOverObjectValuesActionDescriptorObjectArgumentDeclaration=DT,d.iterateOverObjectValuesActionDescriptorObjectArgumentDeclarationDataType=vT,d.iterateOverObjectValuesActionDescriptorObjectArgumentDeclarationDataTypeParentRef=gT,d.iterateOverObjectValuesActionDescriptorObjectArgumentDeclarationParentRef=IT,d.iterateOverObjectValuesLoopActionDescriptor=qi,d.iterateOverObjectValuesLoopActionDescriptorDynamicReturnDeclaration=AT,d.iterateOverObjectValuesLoopActionDescriptorDynamicReturnDeclarationParentRef=PT,d.iterateOverObjectValuesLoopBodyActionDescriptor=$T,d.iterateOverObjectValuesLoopBodyActionDescriptorAnyDynamicArgument=VT,d.iterateOverObjectValuesLoopBodyActionDescriptorAnyDynamicArgumentParentRef=MT,d.iterateOverObjectValuesLoopBodyActionDescriptorAnyDynamicReturn=GT,d.iterateOverObjectValuesLoopBodyActionDescriptorAnyDynamicReturnParentRef=LT,d.iterateOverObjectValuesLoopBodyActionDescriptorCurrentValueArgumentDeclaration=Nl,d.iterateOverObjectValuesLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataType=ST,d.iterateOverObjectValuesLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataTypeParentRef=OT,d.iterateOverObjectValuesLoopBodyActionDescriptorCurrentValueArgumentDeclarationParentRef=CT,d.iterateOverObjectValuesLoopBodyActionDescriptorIterationNumberArgumentDeclaration=NT,d.iterateOverObjectValuesLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataType=wT,d.iterateOverObjectValuesLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataTypeParentRef=BT,d.iterateOverObjectValuesLoopBodyActionDescriptorIterationNumberArgumentDeclarationParentRef=_T,d.iterateOverStringActionDescriptorDynamicReturnDeclaration=qm,d.iterateOverStringActionDescriptorDynamicReturnDeclarationParentRef=km,d.iterateOverStringActionDescriptorStringArgumentDeclaration=jm,d.iterateOverStringActionDescriptorStringArgumentDeclarationDataType=Um,d.iterateOverStringActionDescriptorStringArgumentDeclarationDataTypeParentRef=Fm,d.iterateOverStringActionDescriptorStringArgumentDeclarationParentRef=xm,d.iterateOverStringLoopActionDescriptor=us,d.iterateOverStringLoopBodyActionDescriptor=wl,d.iterateOverStringLoopBodyActionDescriptorAnyDynamicArgument=Xm,d.iterateOverStringLoopBodyActionDescriptorAnyDynamicArgumentParentRef=Km,d.iterateOverStringLoopBodyActionDescriptorAnyDynamicReturn=eT,d.iterateOverStringLoopBodyActionDescriptorAnyDynamicReturnParentRef=Qm,d.iterateOverStringLoopBodyActionDescriptorCurrentValueArgumentDeclaration=Cl,d.iterateOverStringLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataType=Wm,d.iterateOverStringLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataTypeParentRef=Jm,d.iterateOverStringLoopBodyActionDescriptorCurrentValueArgumentDeclarationParentRef=Ym,d.iterateOverStringLoopBodyActionDescriptorIterationNumberArgumentDeclaration=Bl,d.iterateOverStringLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataType=zm,d.iterateOverStringLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataTypeParentRef=Hm,d.iterateOverStringLoopBodyActionDescriptorIterationNumberArgumentDeclarationParentRef=Zm,d.joinListOperation=fl,d.joinListOperationError=Ny,d.joinListOperationErrorParentRef=_y,d.joinListOperationFirstListArgument=Oy,d.joinListOperationFirstListArgumentParentRef=Ay,d.joinListOperationFirstListArgumentRef=Ry,d.joinListOperationFirstListDataType=gy,d.joinListOperationResultListDataType=Py,d.joinListOperationResultListReturn=wy,d.joinListOperationResultListReturnParentRef=By,d.joinListOperationResultListReturnRef=Dy,d.joinListOperationSecondListArgument=Cy,d.joinListOperationSecondListArgumentParentRef=Sy,d.joinListOperationSecondListArgumentRef=vy,d.joinListOperationSecondListDataType=Iy,d.joinListWithLastSeparator=U,d.joinStringsOperation=Ui,d.joinStringsOperationDynamicStringArgument=Qp,d.joinStringsOperationDynamicStringArgumentParentRef=Xp,d.joinStringsOperationDynamicStringArgumentRef=Zp,d.joinStringsOperationDynamicStringDataType=Kp,d.joinStringsOperationError=zp,d.joinStringsOperationErrorParentRef=Hp,d.joinStringsOperationFirstStringArgument=Qa,d.joinStringsOperationFirstStringArgumentParentRef=Fp,d.joinStringsOperationFirstStringArgumentRef=Np,d.joinStringsOperationFirstStringDataType=Mp,d.joinStringsOperationResultStringDataType=$p,d.joinStringsOperationResultStringReturn=Fi,d.joinStringsOperationResultStringReturnParentRef=Yp,d.joinStringsOperationResultStringReturnRef=Gp,d.joinStringsOperationSecondStringArgument=es,d.joinStringsOperationSecondStringArgumentParentRef=Wp,d.joinStringsOperationSecondStringArgumentRef=Vp,d.joinStringsOperationSecondStringDataType=Lp,d.joinStringsOperationSeparatorStringArgument=Jp,d.joinStringsOperationSeparatorStringArgumentParentRef=qp,d.joinStringsOperationSeparatorStringArgumentRef=Up,d.joinStringsOperationSeparatorStringDataType=kp,d.joinStringsOperationSeparatorStringDataTypeDefaultValue=jp,d.joinStringsOperationSeparatorStringDataTypeDefaultValueParentRef=xp,d.keyValuePrototype=$i,d.lowercaseFirstLetter=_o,d.manualFlowActionDescriptorDeclarationArgumentDeclaration=Ol,d.manualFlowActionDescriptorDeclarationArgumentDeclarationDataType=fm,d.manualFlowActionDescriptorDeclarationArgumentDeclarationDataTypeParentRef=ym,d.manualFlowActionDescriptorDeclarationArgumentDeclarationParentRef=hm,d.manualFlowLoopActionDescriptor=Al,d.manualFlowLoopActionDescriptorDynamicReturnDeclaration=pm,d.manualFlowLoopActionDescriptorDynamicReturnDeclarationParentRef=um,d.manualFlowLoopBodyActionDescriptor=Sl,d.manualFlowLoopBodyActionDescriptorAnyDynamicArgument=Tm,d.manualFlowLoopBodyActionDescriptorAnyDynamicArgumentParentRef=mm,d.manualFlowLoopBodyActionDescriptorAnyDynamicReturn=bm,d.manualFlowLoopBodyActionDescriptorAnyDynamicReturnParentRef=Em,d.mapActionDescriptorToTypeItRepresents=q7,d.mergeEntityErrorsList=N9,d.mergeListOfEntities=j7,d.methodDefaultValue=$h,d.mockClientProject=LI,d.moreThanOrEqualCondition=ri,d.moreThanOrEqualConditionLeftHandArgument=Ib,d.moreThanOrEqualConditionLeftHandArgumentDataType=gb,d.moreThanOrEqualConditionLeftHandArgumentDataTypeParentRef=Rb,d.moreThanOrEqualConditionLeftHandArgumentParentRef=vb,d.moreThanOrEqualConditionRightHandArgument=Ob,d.moreThanOrEqualConditionRightHandArgumentDataType=Pb,d.moreThanOrEqualConditionRightHandArgumentDataTypeParentRef=Db,d.moreThanOrEqualConditionRightHandArgumentParentRef=Ab,d.notEmptyCondition=ur,d.notEmptyConditionArgument=Eb,d.notEmptyConditionRef=Tb,d.nullPrototype=OA,d.numberAdditionOperation=Xa,d.numberAdditionOperationDynamicSummandArgument=hp,d.numberAdditionOperationDynamicSummandArgumentType=fp,d.numberAdditionOperationDynamicSummandArgumentTypeParentRef=yp,d.numberAdditionOperationError=pp,d.numberAdditionOperationErrorParentRef=up,d.numberAdditionOperationFirstNumberArgument=ol,d.numberAdditionOperationFirstNumberArgumentRef=rp,d.numberAdditionOperationFirstNumberDataType=ip,d.numberAdditionOperationRef=cp,d.numberAdditionOperationRefThree=cl,d.numberAdditionOperationRefTwo=dp,d.numberAdditionOperationResultNumberDataType=lp,d.numberAdditionOperationResultNumberReturn=dl,d.numberAdditionOperationResultNumberReturnRef=op,d.numberAdditionOperationSecondNumberArgument=ll,d.numberAdditionOperationSecondNumberArgumentRef=ap,d.numberAdditionOperationSecondNumberDataType=sp,d.numberPrototype=Z,d.numberSubtractionOperation=pl,d.numberSubtractionOperationDynamicSubtrahendArgument=wp,d.numberSubtractionOperationDynamicSubtrahendArgumentType=Bp,d.numberSubtractionOperationDynamicSubtrahendArgumentTypeParentRef=Cp,d.numberSubtractionOperationError=Sp,d.numberSubtractionOperationErrorParentRef=Op,d.numberSubtractionOperationFirstNumberArgument=vp,d.numberSubtractionOperationFirstNumberArgumentRef=mp,d.numberSubtractionOperationFirstNumberDataType=Tp,d.numberSubtractionOperationRef=ul,d.numberSubtractionOperationRefThree=Pp,d.numberSubtractionOperationRefTwo=Ip,d.numberSubtractionOperationResultNumberDataType=gp,d.numberSubtractionOperationResultNumberReturn=Ap,d.numberSubtractionOperationResultNumberReturnRef=Rp,d.numberSubtractionOperationSecondNumberArgument=Dp,d.numberSubtractionOperationSecondNumberArgumentRef=Ep,d.numberSubtractionOperationSecondNumberDataType=bp,d.numberValueAutogenerationSchema=dd,d.parallelExecutionOperation=Wt,d.parallelExecutionOperationError=Lf,d.parallelExecutionOperationErrorParentRef=Vf,d.parallelExecutionOperationListOfExecutionResultsDataType=_f,d.parallelExecutionOperationListOfExecutionResultsReturn=gl,d.parallelExecutionOperationListOfExecutionResultsReturnRef=wf,d.parallelExecutionOperationListOfFunctionsArgument=Rl,d.parallelExecutionOperationListOfFunctionsArgumentDatatype=Bf,d.parallelExecutionOperationListOfFunctionsArgumentRef=Cf,d.parallelExecutionOperationListOfFunctionsBlueprint=Sf,d.parallelExecutionOperationListOfFunctionsBlueprintDynamicInput=Of,d.parallelExecutionOperationListOfFunctionsBlueprintDynamicOutput=Af,d.parallelExecutionOperationRef=Nf,d.parallelExecutionOperationRefThree=Mf,d.persistedBuiltInBaseEntity=nt,d.persistedBuiltInBaseEntityDatabaseProperty=ei,d.persistedBuiltInBaseEntityDatabasePropertyDataTypeRef=FA,d.persistedBuiltInBaseEntityDatabasePropertyParentRef=eb,d.persistedBuiltInBaseEntityDatabasePropertyRef=QE,d.persistedBuiltInBaseEntityPrimaryKeyProperty=ti,d.persistedBuiltInBaseEntityPrimaryKeyPropertyDataType=lb,d.persistedBuiltInBaseEntityPrimaryKeyPropertyNumberDataTypeOption=nb,d.persistedBuiltInBaseEntityPrimaryKeyPropertyNumberDataTypeOptionParentRef=tb,d.persistedBuiltInBaseEntityPrimaryKeyPropertyParentRef=cb,d.persistedBuiltInBaseEntityPrimaryKeyPropertyRef=ob,d.persistedBuiltInBaseEntityPrimaryKeyPropertyStringDataTypeOption=ib,d.persistedBuiltInBaseEntityPrimaryKeyPropertyStringDataTypeOptionParentRef=rb,d.persistedBuiltInBaseEntityPrimaryKeyPropertyUUIDDataTypeOption=sb,d.persistedBuiltInBaseEntityPrimaryKeyPropertyUUIDDataTypeOptionParentRef=ab,d.processOutputGlobalValueDescriptorDataType=Bb,d.processOutputGlobalValueDescriptorReturn=ec,d.processOutputGlobalValueDescriptorReturnRef=Cb,d.projectPublicationCompletedGlobalEvent=Es,d.propertyToZodSchema=Jb,d.relationalDatabaseBuiltInBaseEntity=En,d.relationalDatabaseBuiltInBaseEntityAutoscalingProperty=Yl,d.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyDataTypeRef=zE,d.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyParentRef=ZE,d.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyRef=HE,d.relationalDatabaseBuiltInBaseEntityDefaultProperty=Wl,d.relationalDatabaseBuiltInBaseEntityDefaultPropertyDataTypeRef=WE,d.relationalDatabaseBuiltInBaseEntityDefaultPropertyRef=YE,d.relationalDatabaseBuiltInBaseEntityIdentifierProperty=fs,d.relationalDatabaseBuiltInBaseEntityIdentifierPropertyDataTypeRef=UE,d.relationalDatabaseBuiltInBaseEntityIdentifierPropertyRef=xE,d.relationalDatabaseBuiltInBaseEntityMinSizeProperty=Ts,d.relationalDatabaseBuiltInBaseEntityMinSizePropertyDataTypeRef=qE,d.relationalDatabaseBuiltInBaseEntityMinSizePropertyRef=JE,d.relationalDatabaseBuiltInBaseEntityPasswordProperty=ms,d.relationalDatabaseBuiltInBaseEntityPasswordPropertyDataTypeRef=MA,d.relationalDatabaseBuiltInBaseEntityPasswordPropertyRef=kE,d.relationalDatabaseBuiltInBaseEntityRef=Qr,d.relationalDatabaseBuiltInBaseEntityUsernameProperty=hs,d.relationalDatabaseBuiltInBaseEntityUsernamePropertyDataTypeRef=_A,d.relationalDatabaseBuiltInBaseEntityUsernamePropertyRef=jE,d.resolveActionDescriptorName=BP,d.resolveBaseEntityName=AP,d.resolveBuiltInBaseEntityDataTypeLabel=OP,d.resolveConditionOperatorLabel=Vo,d.resolveCustomEntityDataTypeLabel=v2,d.resolveDataType=No,d.resolveDataTypeEntityOrNestedChildrenFromLiteralValue=Vu,d.resolveDataTypeLabel=ka,d.resolveEntityDataTypeLabel=g2,d.resolveEntityName=C,d.resolveFirstCallsSecond=w7,d.resolveFirstWritesSecond=_7,d.resolvePrimaryKeyProperty=Y7,d.resolvePrimitiveEntityName=CP,d.resolveSearchName=SP,d.resolveVariableScope=E2,d.sequentialExecutionOperation=Tn,d.sequentialExecutionOperationError=nh,d.sequentialExecutionOperationErrorParentRef=th,d.sequentialExecutionOperationListOfExecutionResultsDataType=Xf,d.sequentialExecutionOperationListOfExecutionResultsReturn=Il,d.sequentialExecutionOperationListOfExecutionResultsReturnParentRef=eh,d.sequentialExecutionOperationListOfExecutionResultsReturnRef=Kf,d.sequentialExecutionOperationListOfFunctionsArgument=vl,d.sequentialExecutionOperationListOfFunctionsArgumentDatatype=Zf,d.sequentialExecutionOperationListOfFunctionsArgumentParentRef=Qf,d.sequentialExecutionOperationListOfFunctionsArgumentRef=zf,d.sequentialExecutionOperationListOfFunctionsBlueprint=Hf,d.sequentialExecutionOperationListOfFunctionsBlueprintDynamicInput=Yf,d.sequentialExecutionOperationListOfFunctionsBlueprintDynamicOutput=Wf,d.softDeletePersistedEntityMethod=xA,d.softDeletePersistedEntityMethodParentRef=db,d.sortCallsBasedOnExecutionDependencies=zP,d.sortChildrenEntitiesBasedOnExecutionDependencies=C7,d.splitListOperation=ml,d.splitListOperationError=Ky,d.splitListOperationErrorParentRef=Zy,d.splitListOperationFirstOutputListDataType=Uy,d.splitListOperationFirstOutputListReturn=Wy,d.splitListOperationFirstOutputListReturnParentRef=Jy,d.splitListOperationFirstOutputListReturnRef=hl,d.splitListOperationInputListArgument=jy,d.splitListOperationInputListArgumentParentRef=xy,d.splitListOperationInputListArgumentRef=Ly,d.splitListOperationInputListDataType=Gy,d.splitListOperationSecondOutputListDataType=Yy,d.splitListOperationSecondOutputListReturn=zy,d.splitListOperationSecondOutputListReturnParentRef=Hy,d.splitListOperationSplitIndexArgument=qy,d.splitListOperationSplitIndexArgumentParentRef=ky,d.splitListOperationSplitIndexArgumentRef=$y,d.splitListOperationSplitIndexDataType=Fy,d.splitStringOperation=yl,d.splitStringOperationError=my,d.splitStringOperationErrorParentRef=hy,d.splitStringOperationFirstPartResultStringDataType=ay,d.splitStringOperationFirstPartResultStringReturn=fy,d.splitStringOperationFirstPartResultStringReturnParentRef=yy,d.splitStringOperationFirstPartResultStringReturnRef=iy,d.splitStringOperationIndexArgument=uy,d.splitStringOperationIndexArgumentParentRef=dy,d.splitStringOperationIndexArgumentRef=ny,d.splitStringOperationIndexDataType=ry,d.splitStringOperationSecondPartResultStringDataType=oy,d.splitStringOperationSecondPartResultStringReturn=SA,d.splitStringOperationSecondPartResultStringReturnParentRef=py,d.splitStringOperationSecondPartResultStringReturnRef=sy,d.splitStringOperationStringArgument=cy,d.splitStringOperationStringArgumentParentRef=ly,d.splitStringOperationStringArgumentRef=ey,d.splitStringOperationStringDataType=ty,d.stringPrototype=x,d.stringValueAutogenerationSchema=cd,d.suggestNewIdForEntity=vu,d.test_primitive_entities_export=bq,d.toCamelCase=b2,d.toEntityState=Mt,d.toKebabCase=PP,d.toLowerCaseKebabCase=Mo,d.toPascalCase=R2,d.untypedDataPrototype=Ke,d.updateErrorsList=ie,d.updateValueReader=Za,d.urlDefaultValue=_h,d.uuidPrototype=Ln,d.validateArgumentDeclarationName=Ru,d.validateCalledByErrorIdInAction=R7,d.validateCalledByIdInAction=b7,d.validateCallers=UP,d.validateConditionEntityDeclaration=I7,d.validateCustomEntityName=Lo,d.validateDataOperation=ar,d.validateDataOperationDataToValidateArgument=gh,d.validateDataOperationDataToValidateArgumentParentRef=Rh,d.validateDataOperationDataToValidateArgumentRef=Eh,d.validateDataOperationDataToValidateDataType=bh,d.validateDataOperationEntityToMatchTypeArgument=Ph,d.validateDataOperationEntityToMatchTypeArgumentParentRef=Dh,d.validateDataOperationEntityToMatchTypeArgumentRef=vh,d.validateDataOperationEntityToMatchTypeDataType=Ih,d.validateDataOperationError=Ch,d.validateDataOperationErrorParentRef=Sh,d.validateDataOperationOutputEntityDeclaration=Oh,d.validateDataOperationOutputEntityDeclarationParentRef=Ah,d.validateEntryCaller=FP,d.validateErrorCaller=$P,d.validateFunctionCallDeclaration=jP,d.validateFunctionDeclarationName=Tu,d.validateGeneratedEntityParentIsNotBuiltInEntity=h7,d.validateGeneration=y7,d.validateGenerationTarget=Le,d.validateGenerationUpdate=f7,d.validateLoopEntityDeclaration=D7,d.validateName=I2,d.validateOperationEntityDeclaration=kP,d.validatePropertyName=bu,d.validateReachability=wn,d.validateReadsValueInActionPayload=g7,d.validateReferenceObject=$o,d.validateReferenceToOne=Au,d.validateReferences=Ye,d.validateReturnDeclarationName=gu,d.validateSuccessCaller=GP,d.validateValueReaderGenerationUpdate=Ya,d.validateValueWritter=_u,d.validateVariableDeclarationName=Eu,d.validateVariableInternalCallUse=Nu,d.valueAutogenerationCurrentDateAndTimeSchema=$I,d.valueAutogenerationGenericSchema=ro,d.valueAutogenerationOptions=pd,d.valueAutogenerationOptionsSchema=GI,d.valueAutogenerationRandomBooleanSchema=ld,d.valueAutogenerationRandomDateBetweenSchema=YI,d.valueAutogenerationRandomDateFromSchema=JI,d.valueAutogenerationRandomDateSchema=so,d.valueAutogenerationRandomDateUntilSchema=WI,d.valueAutogenerationRandomNumberBetweenSchema=xI,d.valueAutogenerationRandomNumberFromSchema=FI,d.valueAutogenerationRandomNumberSchema=io,d.valueAutogenerationRandomNumberUntilSchema=UI,d.valueAutogenerationRandomSchema=Aa,d.valueAutogenerationRandomTextBetweenSchema=qI,d.valueAutogenerationRandomTextFromSchema=jI,d.valueAutogenerationRandomTextSchema=ao,d.valueAutogenerationRandomTextUntilSchema=kI,d.valueAutogenerationRangeValueTypesSchema=Pa,d.valueAutogenerationUniqueSchema=od,d.waitOperation=pt,d.waitOperationMillisecondsNumberArgument=rr,d.waitOperationMillisecondsNumberArgumentRef=Ff,d.waitOperationMillisecondsNumberDataType=Uf,d.waitOperationOperationError=kf,d.waitOperationOperationErrorParentRef=jf,d.waitOperationRef=xf,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.6100",
3
+ "version": "0.0.6101",
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",