@elyx-code/project-logic-tree 0.0.6585 → 0.0.6586

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
@@ -134597,7 +134597,10 @@ const r0 = class r0 extends Qw {
134597
134597
  this.project
134598
134598
  );
134599
134599
  return c.parent = this, c;
134600
- });
134600
+ }), this.initialData.extends && (this.extends = re(
134601
+ this.initialData.extends,
134602
+ this.project
134603
+ ));
134601
134604
  }
134602
134605
  get allMethods() {
134603
134606
  return R([
@@ -395,5 +395,5 @@ This is likely an incorrect strategy, either the '${this.type}' entity doesn't n
395
395
  ${U0}`})),{errors:a,modifiedData:i}}onProjectInitialized(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,new Date().toISOString(),this,!0,"on-property-received-project-initialized"))){return xz(this,a),a==null||a.attemptAutoclose("on-property-received-project-initialized",this.id),this}subscribeDependents(i){return i.forEach(a=>{this.detachedDependents[a.entity.id]||(this.detachedDependents[a.entity.id]=a)}),this}unsubscribeDependents(i){return i.forEach(a=>{this.detachedDependents[a.entity.id]&&delete this.detachedDependents[a.entity.id]}),this}syncDependents(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"sync-dependents"))){const a=[],l=[],c=[],e=[];return Object.values(this.detachedDependents).forEach(y=>{const v=y.entity.afterAllChildrenInitialized(i);a.push(...v.updated),l.push(...v.added),c.push(...v.removed),e.push(...v.affected)}),i==null||i.attemptAutoclose("sync-dependents",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}onDetachedDependencyRemoved(i,a,l){const c=[],e=[],y=[],v=[];if(a==="property-implements-field"&&(this.removeImplementation(i,l),c.push(this)),a==="property-extends-field"){const{updated:T,added:I,removed:b,affected:D}=this.remove({ignoreUpstream:!1},l);c.push(...T),e.push(...I),y.push(...b),v.push(...D)}return{updated:C(c),added:C(e),removed:C(y),affected:C(v),self:this}}onDetachedDependencyRestored(i,a,l){const c=[],e=[],y=[],v=[];if(a==="property-implements-field"&&(this.addImplementation(i,l),c.push(this)),a==="property-extends-field"){const{updated:T,added:I,removed:b,affected:D}=this.restore({},l);c.push(...T),e.push(...I),y.push(...b),v.push(...D)}return{updated:C(c),added:C(e),removed:C(y),affected:C(v),self:this}}unsubscribeFromDependencies(){var i,a,l,c,e,y,v;return this.implements.forEach(T=>{this.project.getBuiltIn(T.id)||T.unsubscribeDependents([{entity:this,field:"property-implements-field"}])}),(a=(i=this.extends)==null?void 0:i.unsubscribeDependents)==null||a.call(i,[{entity:this,field:"property-extends-field"}]),(e=(c=(l=this.dataType)==null?void 0:l.entity)==null?void 0:c.unsubscribeDependents)==null||e.call(c,[{entity:this,field:"property-data-type-entity-field"}]),(v=(y=this.dataType)==null?void 0:y.unsubscribeDependents)==null||v.call(y,[{entity:this,field:"property-data-type-field"}]),this.project.off(Yi.PROJECT_INITIALIZED,this.onProjectInitialized),this}subscribeToDependencies(){var i,a,l,c,e,y,v;return this.implements.forEach(T=>{this.project.getBuiltIn(T.id)||T.subscribeDependents([{entity:this,field:"property-implements-field"}])}),(a=(i=this.extends)==null?void 0:i.subscribeDependents)==null||a.call(i,[{entity:this,field:"property-extends-field"}]),(e=(c=(l=this.dataType)==null?void 0:l.entity)==null?void 0:c.subscribeDependents)==null||e.call(c,[{entity:this,field:"property-data-type-entity-field"}]),(v=(y=this.dataType)==null?void 0:y.subscribeDependents)==null||v.call(y,[{entity:this,field:"property-data-type-field"}]),this.project.on(Yi.PROJECT_INITIALIZED,this.onProjectInitialized),this}increaseVersion(i){if(i&&!B(i).isValid())throw new Error(`The shared timestamp '${i}' is not a valid ISO 8601 date string.`);return i&&B(i).isSame(B(this.createdAt))?this:(this.previousVersion=this.version,this.version=L.UUID.uuid(),this.createdAt=B(i).toISOString()||B().toISOString(),this)}captureVersion(){var a;const i=((a=this.knownVersions)==null?void 0:a.get(this.version))||new Kt(this,this.project);return i.metaSync(this.toMeta(),null),this.knownVersions=this.knownVersions?this.knownVersions.set(this.version,i):new Map([[this.version,i]]),i.defaultValue=this.defaultValue,i.dataType=this.dataType,i.implements=[...this.implements],i.extends=this.extends,i.parent=this.parent,this}recursiveCaptureUpstreamVersions(i){const a=[],l=[],c=[],e=[];if(this.parent&&this.parent.type!==p.PrimitiveEntity&&this.parent.type!==p.BuiltInBaseEntity){this.parent.increaseVersion(i);const y=this.parent.recursiveCaptureUpstreamVersions(i);a.push(this.parent,...y.updated),l.push(...y.added),c.push(...y.removed)}return{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}async restoreVersion(i){var v;const a=[],l=[],c=[],e=[];if(this.version===i)return{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this};if(!this.knownVersions){const T=new Map;for(const[I,b]of this.knownVersions||new Map){if(T.set(I,b),b.activeVersion=!1,b.knownVersions)for(const[D,V]of b.knownVersions)T.set(D,V);b.knownVersions=null}}let y=(v=this.knownVersions)==null?void 0:v.get(i);if(!y){const T=await this.APILoadVersion({},i);if(!T)throw new Error(`Version with id '${i}' for entity with id '${this.id}' not found.`);y=new Kt(T,this.project)}return this.metaSync(y.toShallowJSON(),null),this.previousVersion=y.previousVersion,this.version=y.version,this.createdAt=y.createdAt,this.author=y.author,this.deleted=y.deleted,this.defaultValue=y.defaultValue,this.dataType=y.dataType,this.implements=[...y.implements],this.parent=y.parent,{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}updateWithShallowTransfer(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.UpdateWithShallowTransfer))){if(!this.checkCanEdit(this,a))return Y.warn(`[updateWithShallowTransfer] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.UpdateWithShallowTransfer,this.id),this;if(this.metaSync(i,a),this.version=i.version,this.createdAt=i.createdAt,this.author=i.author,this.deleted=i.deleted,this.previousVersion=i.previousVersion,this.unsubscribeFromDependencies(),i.parent){const l=te(i.parent),c=this.project.get(l),e=this.parent;if(e&&e.id!==(c==null?void 0:c.id)&&this.removeFromParent(a),c)this.setParent(c,null);else throw a==null||a.attemptAutoclose(P.UpdateWithShallowTransfer,this.id),new Error(`${this.type} with id '${this.id}' has a 'parent' reference '${l}' that isn't found in the project`)}else throw a==null||a.attemptAutoclose(P.UpdateWithShallowTransfer,this.id),new Error(`${this.type} with id '${this.id}' must have a 'parent'`);if(i.implements.forEach(l=>{const c=te(l),e=this.project.get(c);if(e)this.addImplementation(e,a);else throw new Error(`${Tr(this.type)} with id '${this.id}' has a 'implements' reference "${c}" which is missing in the project`)}),i.extends){const l=te(i.extends),c=this.project.get(l);if(c)this.setExtends(c,a);else if(l)throw new Error(`${Tr(this.type)} with id '${this.id}' has a 'extends' reference "${l}" which is missing in the project`)}return this.captureVersion(),this.subscribeToDependencies(),a==null||a.attemptAutoclose(P.UpdateWithShallowTransfer,this.id),this}hydrateAncestors(){const i=[],a=[],l=[],c=[];if(this.initialData.parent){const e=te(this.initialData.parent),y=this.project.get(e);if(y)this.setParent(y,null);else throw new Error(`${this.type} with id '${this.id}' has a 'parent' reference '${e}' that isn't found in the project`)}else throw new Error(`${this.type} with id '${this.id}' must have a 'parent'`);if((this.initialData.implements||[]).forEach(e=>{const y=te(e),v=this.project.get(y);if(v)this.addImplementation(v,null),i.push(v);else throw new Error(`${Tr(this.type)} with id '${this.id}' has a 'implements' reference "${y}" which is missing in the project`)}),this.initialData.extends){const e=te(this.initialData.extends),y=this.project.get(e);if(y)this.setExtends(y,null),i.push(y);else if(e)throw new Error(`${Tr(this.type)} with id '${this.id}' has a 'extends' reference "${e}" which is missing in the project`)}return{updated:C(i),added:C(a),removed:C(l),affected:C(c),self:this}}afterAllChildrenInitialized(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.AfterAllChildrenInitialized))){if(!this.checkCanEdit(this,i))return Y.warn(`[afterAllChildrenInitialized] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),i==null||i.attemptAutoclose(P.AfterAllChildrenInitialized,this.id),{updated:[],added:[],removed:[],affected:[],self:this};const a=[],l=[],c=[],e=[];if(this.initialized=!0,this.parent.type===p.DefinitionEntity&&this.parentRelationType!==ko.AllPropertiesImplementationTarget){let x=this.index||0;const q=this.parent.properties.filter(W=>!W.deleted&&W.id!==this.id);q.length&&(x>q.length+1?x=q.length:x<0&&(x=0)),q.find(W=>(W.index||0)===x&&!W.deleted)&&q.filter(W=>(W.index||0)>=x&&!W.deleted).forEach(W=>{W.metaSync({index:(W.index||0)+1},i),i==null||i.add(W,k.Updated),a.push(W)}),this.metaSync({index:x},i)}const{updated:y,added:v,removed:T,affected:I}=this.syncWithImplementation(i);a.push(...y),l.push(...v),c.push(...T),e.push(...I);const{updated:b,added:D,removed:V,affected:M}=xz(this,i);return a.push(...b),l.push(...D),c.push(...V),e.push(...M),this.captureVersion(),i==null||i.attemptAutoclose(P.AfterAllChildrenInitialized,this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}addSelfToProject(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"add-self-to-project"))){const a=[this],l=[],c=[],e=[];return this.parentRelationType===ko.AllPropertiesImplementationTarget?this.parent.setAllPropertiesImplement(this,i):this.parent.addProperty(this,i),a.push(this.parent),this.subscribe(),this.subscribeToDependencies(),i==null||i.attemptAutoclose("add-self-to-project",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}setParent(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.SetParent))){var l;return this.checkCanEditWithCounterpartAndSideEffects(this,i,P.SetParent,a)?(((l=this.parent)==null?void 0:l.id)!==(i==null?void 0:i.id)&&(this.parent=i,a&&(a==null||a.add(this,k.Updated))),a==null||a.attemptAutoclose(P.SetParent,this.id),this):this}addImplementation(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.AddImplementation))){return this.checkCanEdit(this,a)?(this.implements.includes(i)||(this.implements.push(i),a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose(P.AddImplementation,this.id),this):(Y.warn(`[addImplementation] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.AddImplementation,this.id),this)}removeImplementation(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveImplementation))){return this.checkCanEdit(this,a)?(this.implements.includes(i)&&(this.implements=this.implements.filter(l=>l.id!==i.id),a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose(P.RemoveImplementation,this.id),this):(Y.warn(`[removeImplementation] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.RemoveImplementation,this.id),this)}setExtends(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.SetExtends))){var l;return this.checkCanEdit(this,a)?(((l=this.extends)==null?void 0:l.id)!==(i==null?void 0:i.id)&&(this.extends=i,a&&(a==null||a.add(this,k.Updated))),a==null||a.attemptAutoclose(P.SetExtends,this.id),this):(Y.warn(`[setExtends] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.SetExtends,this.id),this)}initChildren(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"init-children"))){if(this.initialized||this.startedInitialization)return this;if(this.startedInitialization=!0,this.initialData.defaultValue&&(this.defaultValue=ne(this.initialData.defaultValue,this.project),this.defaultValue.setParent(this,null),this.defaultValue.initChildren(i)),this.initialData.dataType){const a=ne(this.initialData.dataType,this.project);a.setParent(this,null),a.initChildren(i),this.dataType=a}if(this.implements=this.initialData.implements.map(a=>ne(a,this.project)),this.initialData.extends){const a=ne(this.initialData.extends,this.project);this.setExtends(a,null)}return this.subscribeToDependencies(),this.afterAllChildrenInitialized(i),i==null||i.attemptAutoclose("init-children",this.id),this}subscribe(){return this.activeVersion=!0,this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}metaSync(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"meta-sync"))){const l=sr(this,i,a),c=nr(this,l),e=this.toMeta();return this.name=l.name!==void 0?l.name:e.name,this.codeName=l.codeName!==void 0?l.codeName:e.codeName,this.description=l.description!==void 0?l.description:e.description,this.abstract=l.abstract!==void 0?l.abstract:e.abstract,this.private=l.private!==void 0?l.private:e.private,this.index=l.index||(l.index!==0?e.index:0),this.static=l.static!==void 0?l.static:e.static,this.hidden=l.hidden!==void 0?l.hidden:e.hidden,this.constant=l.constant!==void 0?l.constant:e.constant,this.interactive=l.interactive!==void 0?l.interactive:e.interactive,this.required=l.required!==void 0?l.required:e.required,super.baseMetaSync(l,this,a),l.deleted===!0&&!e.deleted?a==null||a.add(this,k.Removed):l.deleted===!1&&e.deleted?a==null||a.add(this,k.Added):c&&(a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose("meta-sync",this.id),this}async APILoad(i=we,...a){return await Kt.repository.APILoad(this.id,...a),this}async APICreate(i=we,...a){return await Kt.repository.APICreate(this.toShallowJSON(),...a),this}async APIUpdate(i=we,...a){return await Kt.repository.APIUpdate(this.toShallowJSON(),...a),this}async APIDelete(i=we,...a){return await Kt.repository.APIDelete(this.toShallowJSON(),...a),this}async APIClone(i=we,...a){return await Kt.repository.APIClone(this.id,...a),this}async APILoadVersion(i=we,a,...l){return await Kt.repository.APILoadVersion(this.id,a,...l)}removeFromParent(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveFromParent))){if(!this.checkCanEdit(this,i))return Y.warn(`[removeFromParent] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),i==null||i.attemptAutoclose(P.RemoveFromParent,this.id),{added:[],updated:[],removed:[],affected:[],self:this};const a=[],l=[],c=[],e=[];return this.parent.type===p.DefinitionEntity&&(this.parentRelationType===ko.AllPropertiesImplementationTarget?this.parent.removeAllPropertiesImplement(i):this.parent.removeProperty(this,i),e.push(this.parent)),i==null||i.attemptAutoclose(P.RemoveFromParent,this.id),{added:C(c),updated:C(a),removed:C(l),affected:C(e),self:this}}remove({ignoreUpstream:i}={ignoreUpstream:!1},a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveEntity))){var v;if(!this.checkCanDelete(this,a))return Y.warn(`[remove] User is not allowed to delete or edit this ${this.type} entity with id: ${this.id}`),a==null||a.event({id:`${P.RemoveEntity}-${this.id}`,action:P.RemoveEntity,owner:this,errorReason:ji.ActionOwnerEntityNonDeletable,rootAction:((v=a==null?void 0:a.self)==null?void 0:v.id)===this.id&&(a==null?void 0:a.autoCloseActionName)===P.RemoveEntity}),a==null||a.attemptAutoclose(P.RemoveEntity,this.id),{added:[],updated:[],removed:[],affected:[],self:this};const l=[],c=[],e=[],y=[];if(a!=null&&a.hasRemoved(this.id))return a==null||a.attemptAutoclose(P.RemoveEntity,this.id),{added:[],updated:[],removed:[],affected:[],self:this};if(c.push(this),this.unsubscribe(),this.unsubscribeFromDependencies(),this.project.subscribeDeletedInstance(this),this.metaSync({deleted:!0},a),Object.values(this.detachedDependents).forEach(T=>{const{updated:I,removed:b,added:D}=T.entity.onDetachedDependencyRemoved(this,T.field,a);l.push(...I),c.push(...b),e.push(...D)}),this.defaultValue){const{updated:T,removed:I}=this.defaultValue.remove({ignoreUpstream:!0},a);l.push(...T),c.push(...I)}if(this.dataType){const{updated:T,removed:I}=this.dataType.remove({ignoreUpstream:!0},a);l.push(...T),c.push(...I)}if(!i){const T=this.removeFromParent(a);e.push(...T.added),l.push(...T.updated),c.push(...T.removed),y.push(...T.affected)}return a==null||a.attemptAutoclose(P.RemoveEntity,this.id),{added:C(e),updated:C(l),removed:C(c),affected:C(y),self:this}}restore({}={},i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RestoreEntity))){if(!this.checkCanEdit(this,i))return Y.warn(`[restore] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),i==null||i.attemptAutoclose(P.RestoreEntity,this.id),{added:[],updated:[],removed:[],affected:[],self:this};const a=[],l=[],c=[],e=[];if(i!=null&&i.hasAdded(this.id))return i==null||i.attemptAutoclose(P.RestoreEntity,this.id),{added:[],updated:[],removed:[],affected:[],self:this};if(this.subscribe(),this.project.unsubscribeDeletedInstance(this),this.metaSync({deleted:!1},i),Object.values(this.detachedDependents).forEach(y=>{const{updated:v,removed:T,added:I}=y.entity.onDetachedDependencyRestored(this,y.field,i);l.push(...v),c.push(...T),a.push(...I)}),this.defaultValue){const{updated:y}=this.defaultValue.restore({},i);l.push(...y)}if(this.dataType){const{updated:y}=this.dataType.restore({},i);l.push(...y)}return this.parent.type===p.DefinitionEntity&&(this.parentRelationType===ko.AllPropertiesImplementationTarget?this.parent.removeAllPropertiesImplement(i):this.parent.addProperty(this,i),e.push(this.parent)),i==null||i.attemptAutoclose(P.RestoreEntity,this.id),{added:C(a),updated:C(l),removed:C(c),affected:C(e),self:this}}toFlat(i=new Set){var l,c;return i.has(this.id)?[]:(i.add(this.id),[this,...((l=this.defaultValue)==null?void 0:l.toFlat(i))||[],...((c=this.dataType)==null?void 0:c.toFlat(i))||[],...this.parent.toFlat(i)])}toFlatIds(i=new Set){var l,c;if(i.has(this.id))return[];if(i.add(this.id),!this.parent)throw new Error(`Property with id '${this.id}' has no parent and cannot be flattened`);return[this.id,...((l=this.defaultValue)==null?void 0:l.toFlatIds(i))||[],...((c=this.dataType)==null?void 0:c.toFlatIds(i))||[],...this.parent.toFlatIds(i)]}toMeta(){return{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,codeName:this.codeName,description:this.description,index:this.index,hidden:this.hidden,private:this.private,abstract:this.abstract,required:this.required,constant:this.constant,interactive:this.interactive,static:this.static,type:this.type,editable:this.editable,deletable:this.deletable,name:this.name}}toJSON(i=new Set){var a,l,c;return i.has(this.id)?this.toReference():(i.add(this.id),{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,type:this.type,editable:this.editable,deletable:this.deletable,name:this.name,codeName:this.codeName,description:this.description,index:this.index,private:this.private,required:this.required,static:this.static,constant:this.constant,interactive:this.interactive,abstract:this.abstract,hidden:this.hidden,parentRelationType:this.parentRelationType,defaultValue:((a=this.defaultValue)==null?void 0:a.toJSON(i))||null,dataType:((l=this.dataType)==null?void 0:l.toJSON(i))||null,implements:this.implements.map(e=>e.toJSON(i)),extends:((c=this.extends)==null?void 0:c.toJSON(i))||null,parent:this.parent.toReference()})}toJSONClone(i=He){var l,c,e,y,v,T,I;let a;return(l=i.seenEntityMaps)!=null&&l.has(this.id)?a=i.seenEntityMaps.get(this.id):(a=i.newId||yr(this,this.project,i.uuidStrategy),i.seenEntityMaps&&i.seenEntityMaps.set(this.id,a)),(c=i.seenEntities)!=null&&c.has(a)||(e=i.seenEntities)!=null&&e.has(this.id)?this.toReference({seenEntityMaps:i.seenEntityMaps}):((y=i.seenEntities)==null||y.add(a),(v=i.seenEntities)==null||v.add(this.id),{id:a,version:L.UUID.uuid(),createdAt:i.timestamp||B().toISOString(),author:L.sessionAuthor,previousVersion:null,deleted:!1,type:this.type,editable:this.editable,deletable:this.deletable,name:this.name,codeName:this.codeName,description:this.description,index:this.index,private:this.private,required:this.required,static:this.static,constant:this.constant,interactive:this.interactive,abstract:this.abstract,hidden:this.hidden,parentRelationType:this.parentRelationType,defaultValue:((T=this.defaultValue)==null?void 0:T.toJSONClone({...i,newId:null}))||null,dataType:((I=this.dataType)==null?void 0:I.toJSONClone({...i,newId:null}))||null,implements:this.implements.map(b=>this.project.getBuiltIn(b.id)?b.toJSON(i.seenEntities):b.toJSONClone({...i,newId:null})),extends:(()=>{var b;return this.extends&&this.project.getBuiltIn(this.extends.id)?this.extends.toJSON():((b=this.extends)==null?void 0:b.toJSONClone({...i,newId:null}))||null})(),parent:this.parent.toReference({seenEntityMaps:i.seenEntityMaps})})}toReference(i=He){var l;let a=this.id;return(l=i.seenEntityMaps)!=null&&l.has(this.id)&&(a=i.seenEntityMaps.get(this.id)),{id:a+"--"+L.UUID.uuid()+"--ref",type:p.GenericReference,entityId:a,version:this.version,entityType:this.type}}toShallowJSON(i=He){var l,c,e,y;let a=this.id;return(l=i.seenEntityMaps)!=null&&l.has(this.id)&&(a=i.seenEntityMaps.get(this.id)),{id:a,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,name:this.name,codeName:this.codeName,description:this.description,type:this.type,editable:this.editable,deletable:this.deletable,index:this.index,private:this.private,required:this.required,abstract:this.abstract,static:this.static,constant:this.constant,interactive:this.interactive,hidden:this.hidden,parentRelationType:this.parentRelationType,defaultValue:((c=this.defaultValue)==null?void 0:c.toReference(i))||null,dataType:((e=this.dataType)==null?void 0:e.toReference(i))||null,implements:this.implements.map(v=>v.toReference(i)),extends:((y=this.extends)==null?void 0:y.toReference(i))||null,parent:this.parent.toReference(i)}}toFlatJSON(i=new Set){var l,c;return i.has(this.id)?[]:(i.add(this.id),[this.toShallowJSON(),...((l=this.defaultValue)==null?void 0:l.toFlatJSON(i))||[],...((c=this.dataType)==null?void 0:c.toFlatJSON(i))||[],...this.implements.flatMap(e=>e.toFlatJSON(i)),...this.parent.toFlatJSON(i)])}toGenerationTarget(){var i;return{id:this.id,name:this.name,description:this.description,type:this.type,private:this.private,required:this.required,abstract:this.abstract,static:this.static,parentRelationType:this.parentRelationType,implements:this.implements.map(a=>a.id),extends:(i=this.extends)==null?void 0:i.id,parent:this.parent.id}}toFlatGenerationTarget(i=new Set){var l,c;return i.has(this.id)?[]:(i.add(this.id),[this.toGenerationTarget(),...((l=this.defaultValue)==null?void 0:l.toFlatGenerationTarget(i))||[],...((c=this.dataType)==null?void 0:c.toFlatGenerationTarget(i))||[],...this.implements.flatMap(e=>e.toFlatGenerationTarget(i))])}clearErrors(){var i,a;return this.errors=[],(i=this.defaultValue)==null||i.clearErrors(),(a=this.dataType)==null||a.clearErrors(),this}validate(){return this.errors=Lz(this),{success:!0}}getErrors(){var a,l;return[...this.errors,...((a=this.defaultValue)==null?void 0:a.getErrors())||[],...((l=this.dataType)==null?void 0:l.getErrors())||[],...this.implements.flatMap(c=>c.getErrors())]}getShallowErrors(){return this.errors}implement(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"implement-self-as-property")),l=null){var T;const c=l||L.UUID.uuid(),e=Kt.new(a);e.id=c,e.name=this.name,e.description=this.description,e.index=this.index,e.private=this.private,e.required=this.required,e.static=this.static,e.constant=this.constant,e.hidden=this.hidden,e.interactive=this.interactive,e.parent=i.toReference(),e.implements=[this.toJSON()];const y=ne(e,this.project);y.hydrateAncestors(),y.addSelfToProject(a),y.initChildren(a);const v=(T=this.defaultValue)==null?void 0:T.clone(a,y,L.UUID.uuid());return v&&(v.editable=!0,v.deletable=!0),y}clone(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.CloneEntity)),a=null,l=null,c=!0){var V,M;let e=fr(a,this);const y=l||L.UUID.uuid();let v=a||this.parent;const T={hidden:!1,id:y,version:L.UUID.uuid(),createdAt:(i==null?void 0:i.timestamp)||B().toISOString(),author:(i==null?void 0:i.author)||"1",previousVersion:null,deleted:!1,type:this.type,editable:!0,deletable:!0,name:this.name,codeName:this.codeName,description:this.description,index:this.index,private:this.private,constant:this.constant,interactive:this.interactive,required:this.required,abstract:this.abstract,static:this.static,parentRelationType:this.parentRelationType,defaultValue:null,dataType:null,implements:this.implements.map(x=>x.toJSON()),extends:this.extends,parent:v.toReference()},I=Ci(T,e);c&&I.subscribe(),I.hydrateAncestors(),I.setParent(v,null),c&&I.addSelfToProject(i),I.initChildren(i),i==null||i.add(I,k.Added);const b=((V=this.dataType)==null?void 0:V.clone(i,I,L.UUID.uuid(),c))||null;b&&I.setDataType(b,i);const D=(M=this.defaultValue)==null?void 0:M.clone(i,I,L.UUID.uuid(),c);return I.setDefaultValue(D||null,i),this.implements.length&&this.implements.forEach(x=>I.addImplementation(x,i)),I.addSelfToProject(null),i==null||i.attemptAutoclose(P.CloneEntity,this.id),I}setDataType(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.SetDataType))){if(!this.checkCanEdit(this,a))return Y.warn(`[setDataType] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.SetDataType,this.id),this;const l=this.dataType;return(l==null?void 0:l.id)!==(i==null?void 0:i.id)&&(l==null||l.remove({ignoreUpstream:!0},a),this.dataType=i,this.subscribeToDependencies(),a==null||a.add(this,k.Affected)),a==null||a.attemptAutoclose(P.SetDataType,this.id),this}removeDataType(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveDataType))){return this.checkCanEdit(this,i)?(this.dataType&&(this.dataType.remove({ignoreUpstream:!0},i),i==null||i.add(this,k.Affected),this.dataType=null),i==null||i.attemptAutoclose(P.RemoveDataType,this.id),this):(Y.warn(`[removeDataType] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),i==null||i.attemptAutoclose(P.RemoveDataType,this.id),this)}getDataType(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"get-data-type"))){return i==null||i.attemptAutoclose("get-data-type",this.id),this.dataType}getDefaultValue(){var c;let i=null;for(const e of this.implements){const y=e.getDefaultValue();(!i||ds(i))&&y&&(i=y)}let a=this.defaultValue;const l=(c=this.extends)==null?void 0:c.getDefaultValue();return ds(a)&&l&&!ds(l)&&(a=l),ds(a)&&i&&!ds(i)&&(a=i),a}setDefaultValue(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"set-default-value"))){if(!this.checkCanEdit(this,a))return Y.warn(`[setDefaultValue] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose("set-default-value",this.id),this;const l=this.defaultValue;return(l==null?void 0:l.id)!==(i==null?void 0:i.id)&&(l==null||l.remove({ignoreUpstream:!0},a),this.defaultValue=i,a==null||a.add(this,k.Affected)),a==null||a.attemptAutoclose("set-default-value",this.id),this}syncWithImplementation(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"sync-with-implementation"))){var v;if(!this.checkCanEdit(this,i))return Y.warn(`[syncWithImplementation] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),i==null||i.attemptAutoclose("sync-with-implementation",this.id),{added:[],updated:[],removed:[],affected:[],self:this};const a=[],l=[],c=[],e=[];this.parent.type!==p.PrimitiveEntity&&this.interactive&&this.parent.getAllPropertiesImplements().forEach(I=>{this.addImplementation(I,i)});let y=null;for(const T of this.implements)(v=T.dataType)!=null&&v.isResolved&&(y=T.dataType);if(!this.dataType&&y){const T=y.clone(i,this,L.UUID.uuid(),!0);this.setDataType(T,i),l.push(T)}if(!this.defaultValue){let T=null;for(const I of this.implements){const b=I.getDefaultValue();b&&(T=b)}if(T){const I=T.clone(i,this,L.UUID.uuid(),!0);this.setDefaultValue(I,i),l.push(I)}}return i==null||i.attemptAutoclose("sync-with-implementation",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}implementAsInputMap(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"implement-as-return-declaration")),a,l){const c=ls.new(i);c.id=l||c.id,c.name=this.name,c.description=this.description,c.parent=a.toReference(),c.declaration=this.toJSON();const e=Ci(c,this.project);if(e.hydrateAncestors(),e.addSelfToProject(i),i==null||i.add(e,k.Added),e.initChildren(i),this.dataType){const y=this.dataType.clone(i,e);e.setDataType(y,i)}if(this.defaultValue){const y=this.defaultValue.clone(i,e);e.setDefaultValue(y,i)}return i==null||i.attemptAutoclose("implement-as-return-declaration",this.id),e}};_(Kt,"repository",{APICreate:async(i,...a)=>i,APIUpdate:async(i,...a)=>i,APIDelete:async(i,...a)=>i,APIClone:async(i,...a)=>{},APILoad:async(i,...a)=>null,APILoadVersion:async(i,a,...l)=>null}),_(Kt,"type",p.Property),_(Kt,"USER_MANAGED_PARENT_TYPES",[p.DefinitionEntity]),_(Kt,"PARENT_TYPES",[...Kt.USER_MANAGED_PARENT_TYPES,p.PrimitiveEntity,p.BuiltInBaseEntity]),_(Kt,"MUTABLE_BASE_PROPERTIES",["name","codeName","description","private","abstract","static","required","constant","interactive"]),_(Kt,"INMUTABLE_BASE_PROPERTIES",["id","type","version","createdAt","author","previousVersion"]),_(Kt,"BASE_PROPERTIES",[...Kt.MUTABLE_BASE_PROPERTIES,...Kt.INMUTABLE_BASE_PROPERTIES]),_(Kt,"MUTABLE_META_PROPERTIES",[...Kt.MUTABLE_BASE_PROPERTIES,"index"]),_(Kt,"INMUTABLE_META_PROPERTIES",[...Kt.INMUTABLE_BASE_PROPERTIES]),_(Kt,"META_PROPERTIES",[...Kt.MUTABLE_META_PROPERTIES,...Kt.INMUTABLE_META_PROPERTIES]),_(Kt,"MUTABLE_UPSTREAM_PROPERTIES",[]),_(Kt,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","implements","extends"]),_(Kt,"UPSTREAM_PROPERTIES",[...Kt.MUTABLE_UPSTREAM_PROPERTIES,...Kt.INMUTABLE_UPSTREAM_PROPERTIES]),_(Kt,"MUTABLE_DOWNSTREAM_PROPERTIES",["dataType"]),_(Kt,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),_(Kt,"DOWNSTREAM_PROPERTIES",[...Kt.MUTABLE_DOWNSTREAM_PROPERTIES,...Kt.INMUTABLE_DOWNSTREAM_PROPERTIES]),_(Kt,"PROPERTIES",[...Kt.META_PROPERTIES,...Kt.UPSTREAM_PROPERTIES,...Kt.DOWNSTREAM_PROPERTIES]);let us=Kt;function jz(d){var y,v;const u=d.implements.flatMap(T=>dVe(d,T)),i=uVe(d,d.extends),a=cVe(d),l=pVe(d);d.methods.flatMap(T=>T.validate()),d.abstractMethods.flatMap(T=>T.validate()),(y=d.allPropertiesImplement)==null||y.validate(),(v=d.additionalPropertiesDataType)==null||v.validate();const c=[...u,...i,...a,...l,...Fz(d)];return xi(d.errors,c)}function Gz(d,u){const i=u.properties.filter(c=>c.abstract),a=[];let l=[...d.properties];return i.forEach(c=>{const e=l.find(y=>!!y.implements.find(v=>v.id===c.id));e?l=l.filter(y=>y.id!==e.id):a.push(c)}),a}function kz(d,u){const i=u.abstractMethods,a=[];let l=[...d.methods];return i.forEach(c=>{const e=l.find(y=>{var v;return((v=y.implements)==null?void 0:v.id)===c.id});e?l=l.filter(y=>y.id!==e.id):a.push(c)}),a}function dVe(d,u){const i=[];if(!u.abstract){const I=_t({id:d.id+"--"+se.ImplementingNonAbstractEntity,message:`Entity "${d.name}" with id "${d.id}" is implementing a non-abstract entity "${u.name}" with id "${u.id}"`,severity:ee.Error,code:se.ImplementingNonAbstractEntity,entity:d});return i.push(I.error),i}const a=u.properties.filter(I=>I.abstract),l=[];let c=[...d.properties];a.forEach(I=>{const b=c.find(D=>!!D.implements.find(V=>V.id===I.id));b?c=c.filter(D=>D.id!==b.id):l.push(I)}),l.length&&l.forEach(I=>{const b=_t({id:d.id+"--"+se.MissingPropertyImplementation+"--"+I.id,message:`Property "${I.name}" with id "${I.id}" of entity "${u.name}" with id "${u.id}" is not implemented when entity "${d.name}" with id "${d.id}" implements it`,severity:ee.Error,code:se.MissingPropertyImplementation,entity:d});i.push(b.error)});const e=[];let y=[...d.methods];u.abstractMethods.forEach(I=>{const b=y.find(D=>{var V;return((V=D.implements)==null?void 0:V.id)===I.id});b?y=y.filter(D=>D.id!==b.id):e.push(I)}),e.length&&e.forEach(I=>{const b=_t({id:d.id+"--"+se.MissingMethodImplementation+"--"+I.id,message:`Method "${I.name}" with id "${I.id}" of entity "${u.name}" with id "${u.id}" is not implemented when entity "${d.name}" with id "${d.id}" implements it`,severity:ee.Error,code:se.MissingMethodImplementation,entity:d});i.push(b.error)});const v=[];u.properties.forEach(I=>{const b=c.find(D=>D.name===I.name);b&&v.push([b,I])}),v.length&&v.forEach(([I])=>{const b=_t({id:d.id+"--"+oe.PropertyOverwritesOtherSiblingWithSameName+"--"+I.id,message:`Property "${I.name}" with id "${I.id}" of entity "${d.name}" with id "${d.id}" overwrites the property with the same name from the base entity "${u.name}" with id "${u.id}"`,severity:ee.Error,code:oe.PropertyOverwritesOtherSiblingWithSameName,entity:d});i.push(b.error)});const T=[];return u.methods.forEach(I=>{const b=y.find(D=>D.name===I.name);b&&T.push([b,I])}),T.length&&T.forEach(([I])=>{const b=_t({id:d.id+"--"+oe.MethodOverwritesOtherSiblingWithSameName+"--"+I.id,message:`Method "${I.name}" with id "${I.id}" of entity "${d.name}" with id "${d.id}" overwrites the method with the same name from the base entity "${u.name}" with id "${u.id}"`,severity:ee.Error,code:oe.MethodOverwritesOtherSiblingWithSameName,entity:d});i.push(b.error)}),i}function uVe(d,u){const i=[];if(!u)return i;const a=[];if(!d.abstract&&u.abstract){const c=_t({id:d.id+"--"+u.id+"--"+se.NonAbstractExtendingAbstractEntity,message:`Entity "${d.name}" with id "${d.id}" is not-abstract but is extending an abstract entity "${u.name}" with id "${u.id}"`,severity:ee.Error,code:se.NonAbstractExtendingAbstractEntity,entity:d,firstRelationship:u});return i.push(c.error),i}if(d.abstract&&!u.abstract){const c=_t({id:d.id+"--"+u.id+"--"+se.AbstractExtendingNonAbstractEntity,message:`Entity "${d.name}" with id "${d.id}" is abstract but is extending an non-abstract entity "${u.name}" with id "${u.id}"`,severity:ee.Error,code:se.AbstractExtendingNonAbstractEntity,entity:d,firstRelationship:u});return i.push(c.error),i}d.properties.forEach(c=>{const e=u.properties.find(y=>{var v;return y.name===c.name&&((v=c.extends)==null?void 0:v.id)!==y.id});c.implements.find(y=>y.id===(e==null?void 0:e.id))||e&&a.push(c)}),a.length&&a.forEach(c=>{const e=_t({id:d.id+"--"+oe.PropertyOverwritesOtherSiblingWithSameName,message:`Property "${c.name}" with id "${c.id}" of entity "${d.name}" with id "${d.id}" overwrites the property with the same name from the extended entity "${u.name}" with id "${u.id}"`,severity:ee.Error,code:oe.PropertyOverwritesOtherSiblingWithSameName,entity:d});i.push(e.error)});const l=[];return d.methods.forEach(c=>{var y;const e=u.methods.find(v=>{var T;return v.name===c.name&&((T=c.extends)==null?void 0:T.id)!==v.id});((y=c.implements)==null?void 0:y.id)!==(e==null?void 0:e.id)&&e&&l.push(c)}),l.length&&l.forEach(c=>{const e=_t({id:d.id+"--"+oe.MethodOverwritesOtherSiblingWithSameName,message:`Method "${c.name}" with id "${c.id}" of entity "${d.name}" with id "${d.id}" overwrites the method with the same name from the extended entity "${u.name}" with id "${u.id}"`,severity:ee.Error,code:oe.MethodOverwritesOtherSiblingWithSameName,entity:d});i.push(e.error)}),i}function pVe(d){const u=[];if(!d.properties.length){const i=_t({id:d.id+"--"+se.NoProperties,message:"No properties implemented",severity:ee.Warning,code:se.NoProperties,entity:d});u.push(i.error)}return d.properties.forEach(i=>{i.validate()}),u}function cVe(d){const u=[];if(d.abstract){if(d.methods.length){const i=_t({id:d.id+"--"+se.AbstractEntityWithNonAbstractMethods,message:`Entity "${d.name}" with id "${d.id}" is marked as abstract but has non-abstract methods`,severity:ee.Error,code:se.AbstractEntityWithNonAbstractMethods,entity:d});u.push(i.error)}if(d.properties.some(i=>!i.abstract)){const i=_t({id:d.id+"--"+se.AbstractEntityWithNonAbstractProperties,message:`Entity "${d.name}" with id "${d.id}" is marked as abstract but has non-abstract properties`,severity:ee.Error,code:se.AbstractEntityWithNonAbstractProperties,entity:d});u.push(i.error),d.properties.forEach(a=>{if(!a.abstract){const l=_t({id:d.id+"--"+se.StaticEntityWithNonStaticProperties+"--"+a.id,message:`Property "${a.name}" with id "${a.id}" of entity "${d.name}" with id "${d.id}" is not marked as abstract but the entity is marked as abstract`,severity:ee.Error,code:se.StaticEntityWithNonStaticProperties,entity:d});u.push(l.error)}})}}else{if(d.abstractMethods.length){const i=_t({id:d.id+"--"+se.AbstractPropertyInNonAbstractEntity,message:`Entity "${d.name}" with id "${d.id}" is not marked as abstract but has abstract methods`,severity:ee.Error,code:se.AbstractPropertyInNonAbstractEntity,entity:d});u.push(i.error)}d.properties.some(i=>i.abstract)&&d.properties.forEach(i=>{if(i.abstract){const a=_t({id:d.id+"--"+se.AbstractPropertyInNonAbstractEntity+"--"+i.id,message:`Property "${i.name}" with id "${i.id}" of entity "${d.name}" with id "${d.id}" is marked as abstract but the entity is not marked as abstract`,severity:ee.Error,code:se.AbstractPropertyInNonAbstractEntity,entity:d,firstRelationship:i});u.push(a.error)}})}return d.static&&d.properties.some(i=>!i.static)&&d.properties.forEach(i=>{if(!i.static){const a=_t({id:d.id+"--"+se.NonStaticPropertyInStaticEntity+"--"+i.id,message:`Property "${i.name}" with id "${i.id}" of entity "${d.name}" with id "${d.id}" is not marked as static but the entity is marked as static`,severity:ee.Error,code:se.NonStaticPropertyInStaticEntity,entity:d,firstRelationship:i});u.push(a.error)}}),u}function fVe(d,u){const i=[],a=sn(u);if(!u.abstract){const e=new vi({id:d.id+"--"+u.id+"--"+se.ImplementingNonAbstractEntity,message:`Entity "${d.name}" with id "${d.id}" is implementing a non-abstract built-in entity "${u.name}" with id "${u.id}"`,severity:ee.Error,code:se.ImplementingNonAbstractEntity,entity:d,firstRelationship:u});i.push(e)}const l=d.implements.filter(e=>e.id!==u.id);if(d.abstract){const e=new vi({id:d.id+"--"+u.id+"--"+se.AbstractEntityImplements,message:`Entity "${d.name}" with id "${d.id}" is marked as abstract and cannot implement built-in entity "${u.name}" with id "${u.id}"`,severity:ee.Error,code:se.AbstractEntityImplements,entity:d,firstRelationship:u});i.push(e)}if(d.static&&!u.static){const e=new vi({id:d.id+"--"+u.id+"--"+se.StaticImplementingNonStaticEntity,message:`Entity "${d.name}" with id "${d.id}" is marked as static and cannot implement non-static built-in entity "${u.name}" with id "${u.id}"`,severity:ee.Error,code:se.StaticImplementingNonStaticEntity,entity:d,firstRelationship:u});i.push(e)}if(!d.static&&u.static){const e=new vi({id:d.id+"--"+u.id+"--"+se.NonStaticImplementingStaticEntity,message:`Entity "${d.name}" with id "${d.id}" is not marked as static and cannot implement static built-in entity "${u.name}" with id "${u.id}"`,severity:ee.Error,code:se.NonStaticImplementingStaticEntity,entity:d,firstRelationship:u});i.push(e)}return l.length&&l.forEach(e=>{if(e.type===p.BuiltInBaseEntity){const y=a.filter(v=>v.id!==e.id);y.length&&y.forEach(v=>{if(v.id!==e.id){const T=new vi({id:d.id+"--"+v.id+"--"+e.id+"--"+se.ImplementsIncompatibleEntities,message:`Entity "${d.name}" with id "${d.id}" is implementing built-in entity "${v.name}" with id "${v.id}" but also implements entity "${e.name}" with id "${e.id}" which is incompatible`,severity:ee.Error,code:se.ImplementsIncompatibleEntities,entity:d,firstRelationship:v,secondRelationship:e});i.push(T)}})}else{sn(e).forEach(I=>{const b=a.filter(D=>D.id!==I.id);b.length&&b.forEach(D=>{if(D.id!==I.id){const V=new vi({id:d.id+"--"+D.id+"--"+I.id+"--"+se.ImplementsIncompatibleEntities,message:`Entity "${d.name}" with id "${d.id}" is implementing built-in entity "${D.name}" with id "${D.id}" but also implements entity "${I.name}" with id "${I.id}" which is incompatible`,severity:ee.Error,code:se.ImplementsIncompatibleEntities,entity:d,firstRelationship:D,secondRelationship:I});i.push(V)}})});const v=Tl(u.ownDeclaredProperties,e.ownDeclaredProperties,oe.PropertyOverwritesOtherImplementedEntitysPropertyWithSameImplementation,oe.PropertyOverwritesOtherImplementedEntitysPropertyWithSameName);i.push(...v.errors);const T=Tl(u.abstractMethods,[...e.abstractMethods,...e.methods],oe.MethodOverwritesOtherImplementedEntitysMethodWithSameImplementation,oe.MethodOverwritesOtherImplementedEntitysMethodWithSameName);i.push(...T.errors)}}),C(d.extends?sn(d.extends):[]).forEach(e=>{if(!a.find(y=>y.id===e.id)){const y=new vi({id:d.id+"--"+u.id+"--"+e.id+"--"+se.ExtendsIncompatibleEntities,message:`Entity "${d.name}" with id "${d.id}" is implementing built-in entity "${u.name}" with id "${u.id}" but also extends entity "${e.name}" with id "${e.id}" which is incompatible`,severity:ee.Error,code:se.ExtendsIncompatibleEntities,entity:d,firstRelationship:u,secondRelationship:e});i.push(y)}}),i}function yVe(d,u,i=!1){var T,I;const a=[],l=sn(u);if(!d.abstract&&u.abstract){const b=_t({id:d.id+"--"+u.id+"--"+se.NonAbstractExtendingAbstractEntity,message:`Entity "${d.name}" with id "${d.id}" is not-abstract but is extending an abstract entity "${u.name}" with id "${u.id}"`,severity:ee.Error,code:se.NonAbstractExtendingAbstractEntity,entity:d,firstRelationship:u});a.push(b.error)}if(d.abstract&&!u.abstract){const b=_t({id:d.id+"--"+u.id+"--"+se.AbstractExtendingNonAbstractEntity,message:`Entity "${d.name}" with id "${d.id}" is abstract but is extending an non-abstract entity "${u.name}" with id "${u.id}"`,severity:ee.Error,code:se.AbstractExtendingNonAbstractEntity,entity:d,firstRelationship:u});a.push(b.error)}if(!d.static&&u.static){const b=_t({id:d.id+"--"+u.id+"--"+se.NonStaticExtendingStaticEntity,message:`Entity "${d.name}" with id "${d.id}" is not static but is extending a static entity "${u.name}" with id "${u.id}"`,severity:ee.Error,code:se.NonStaticExtendingStaticEntity,entity:d,firstRelationship:u});a.push(b.error)}if(d.static&&!u.static){const b=_t({id:d.id+"--"+u.id+"--"+se.StaticExtendingNonStaticEntity,message:`Entity "${d.name}" with id "${d.id}" is static but is extending an non-static entity "${u.name}" with id "${u.id}"`,severity:ee.Error,code:se.StaticExtendingNonStaticEntity,entity:d,firstRelationship:u});a.push(b.error)}if(!cp(u)){const b=_t({id:d.id+"--"+u.id+"--"+se.ExtendingNonInteractiveEntity,message:`Entity "${d.name}" with id "${d.id}" is extending an non-interactive entity "${u.name}" with id "${u.id}"`,severity:ee.Error,code:se.ExtendingNonInteractiveEntity,entity:d,firstRelationship:u});a.push(b.error)}if(d.extends&&((T=d.extends)==null?void 0:T.id)!==u.id)if(((I=d.extends)==null?void 0:I.type)===p.BuiltInBaseEntity){const b=l.filter(D=>{var V;return D.id!==((V=d.extends)==null?void 0:V.id)});b.length&&b.forEach(D=>{var V,M,x,q;if(D.id!==((V=d.extends)==null?void 0:V.id)){const Z=_t({id:d.id+"--"+D.id+"--"+((M=d.extends)==null?void 0:M.id)+"--"+se.ExtendsIncompatibleEntities,message:`Entity "${d.name}" with id "${d.id}" is extending built-in entity "${D.name}" with id "${D.id}" but also extends entity "${(x=d.extends)==null?void 0:x.name}" with id "${(q=d.extends)==null?void 0:q.id}" which is incompatible`,severity:ee.Error,code:se.ExtendsIncompatibleEntities,entity:d,firstRelationship:D,secondRelationship:d.extends});a.push(Z.error)}})}else{sn(d.extends).forEach(Z=>{const W=l.filter(z=>z.id!==Z.id);W.length&&W.forEach(z=>{if(z.id!==Z.id){const ae=new vi({id:d.id+"--"+z.id+"--"+Z.id+"--"+se.ImplementsIncompatibleEntities,message:`Entity "${d.name}" with id "${d.id}" is extending built-in entity "${z.name}" with id "${z.id}" but also extends or implements entity "${Z.name}" with id "${Z.id}" which is incompatible`,severity:ee.Error,code:se.ImplementsIncompatibleEntities,entity:d,firstRelationship:z,secondRelationship:Z});a.push(ae)}})});const D=!!sn(d.extends).find(Z=>Z.id===u.id);let V=[...d.extends.properties];D&&(V=V.filter(Z=>!u.properties.find(W=>W.id===Z.id||W.name===Z.name||!!Z.implements.find(z=>z.id===W.id))));let M=[...d.extends.methods];D&&(M=M.filter(Z=>!u.methods.find(W=>{var z;return W.id===Z.id||W.name===Z.name||W.id===((z=Z.implements)==null?void 0:z.id)})));const x=Tl(u.ownDeclaredProperties,V,oe.PropertyOverwritesOtherExtendedEntitysPropertyWithSameImplementation,oe.PropertyOverwritesOtherExtendedEntitysPropertyWithSameName);a.push(...x.errors);const q=Tl(u.abstractMethods,M,oe.MethodOverwritesOtherExtendedEntitysMethodWithSameImplementation,oe.MethodOverwritesOtherExtendedEntitysMethodWithSameName);a.push(...q.errors)}i&&Y.log("self.implements.length",d.implements.length),d.implements.length&&d.implements.forEach(b=>{if(b.type===p.BuiltInBaseEntity){const D=l.filter(V=>V.id!==b.id);D.length&&D.forEach(V=>{if(V.id!==b.id){const M=new vi({id:d.id+"--"+V.id+"--"+b.id+"--"+se.ImplementsIncompatibleEntities,message:`Entity "${d.name}" with id "${d.id}" is implementing built-in entity "${V.name}" with id "${V.id}" but also implements entity "${b.name}" with id "${b.id}" which is incompatible`,severity:ee.Error,code:se.ImplementsIncompatibleEntities,entity:d,firstRelationship:V,secondRelationship:b});a.push(M)}})}else{sn(b).forEach(x=>{const q=l.filter(Z=>Z.id!==x.id);q.length&&q.forEach(Z=>{if(Z.id!==x.id){const W=new vi({id:d.id+"--"+Z.id+"--"+x.id+"--"+se.ImplementsIncompatibleEntities,message:`Entity "${d.name}" with id "${d.id}" is implementing built-in entity "${Z.name}" with id "${Z.id}" but also implements entity "${x.name}" with id "${x.id}" which is incompatible`,severity:ee.Error,code:se.ImplementsIncompatibleEntities,entity:d,firstRelationship:Z,secondRelationship:x});a.push(W)}})});const V=Tl(u.ownDeclaredProperties,b.ownDeclaredProperties,oe.PropertyOverwritesOtherImplementedEntitysPropertyWithSameImplementation,oe.PropertyOverwritesOtherImplementedEntitysPropertyWithSameName);a.push(...V.errors);const M=Tl(u.abstractMethods,[...b.abstractMethods,...b.methods],oe.MethodOverwritesOtherImplementedEntitysMethodWithSameImplementation,oe.MethodOverwritesOtherImplementedEntitysMethodWithSameName);a.push(...M.errors)}});const e=Tl(d.ownDeclaredProperties,u.ownDeclaredProperties,oe.PropertyOverwritesOtherSiblingWithSameImplementation,oe.PropertyOverwritesOtherSiblingWithSameName);a.push(...e.errors);const y=Tl(u.methods,u.abstractMethods,oe.MethodOverwritesOtherSiblingWithSameImplementation,oe.MethodOverwritesOtherSiblingWithSameName);return a.push(...y.errors),C(d.extends?sn(d.extends):[]).forEach(b=>{if(!l.find(D=>D.id===b.id)){const D=new vi({id:d.id+"--"+u.id+"--"+b.id+"--"+se.ImplementsIncompatibleEntities,message:`Entity "${d.name}" with id "${d.id}" is extending built-in entity "${u.name}" with id "${u.id}" but also extends entity "${b.name}" with id "${b.id}" which is incompatible`,severity:ee.Error,code:se.ImplementsIncompatibleEntities,entity:d,firstRelationship:u,secondRelationship:b});a.push(D)}}),a}function hVe(d){const u=[];if(d.implements.forEach(i=>{if(!i.static){const a=new vi({id:d.id+"--"+i.id+"--"+se.StaticImplementingNonStaticEntity,message:`Entity "${d.name}" with id "${d.id}" is static but implements entity "${i.name}" with id "${i.id}" which is non-static`,severity:ee.Error,code:se.StaticImplementingNonStaticEntity,entity:d,firstRelationship:i});u.push(a)}}),d.extends&&!d.extends.static){const i=new vi({id:d.id+"--"+d.extends.id+"--"+se.StaticExtendingNonStaticEntity,message:`Entity "${d.name}" with id "${d.id}" is static but extends entity "${d.extends.name}" with id "${d.extends.id}" which is non-static`,severity:ee.Error,code:se.StaticExtendingNonStaticEntity,entity:d,firstRelationship:d.extends});u.push(i)}return u}function mVe(d){const u=[];if(d.implements.length){const i=new vi({id:d.id+"--"+se.AbstractEntityImplements,message:`Entity "${d.name}" with id "${d.id}" cannot be marked as abstract because it implements other entities`,severity:ee.Error,code:se.AbstractEntityImplements,entity:d});u.push(i)}if(d.extends&&!d.extends.abstract){const i=new vi({id:d.id+"--"+d.extends.id+"--"+se.AbstractExtendingNonAbstractEntity,message:`Entity "${d.name}" with id "${d.id}" is abstract but extends entity "${d.extends.name}" with id "${d.extends.id}" which is non-abstract`,severity:ee.Error,code:se.AbstractExtendingNonAbstractEntity,entity:d,firstRelationship:d.extends});u.push(i)}return u}function vVe(d){const u=[];if(d.extends&&d.extends.static){const i=new vi({id:d.id+"--"+d.extends.id+"--"+se.NonStaticExtendingStaticEntity,message:`Entity "${d.name}" with id "${d.id}" is non-static but extends entity "${d.extends.name}" with id "${d.extends.id}" which is static`,severity:ee.Error,code:se.NonStaticExtendingStaticEntity,entity:d,firstRelationship:d.extends});u.push(i)}return u}function TVe(d){const u=[];if(d.extends&&d.extends.abstract){const i=new vi({id:d.id+"--"+d.extends.id+"--"+se.NonAbstractExtendingAbstractEntity,message:`Entity "${d.name}" with id "${d.id}" is non-abstract but extends entity "${d.extends.name}" with id "${d.extends.id}" which is abstract`,severity:ee.Error,code:se.NonAbstractExtendingAbstractEntity,entity:d,firstRelationship:d.extends});u.push(i)}return u}function Fz(d,u){const a=[...d.project.entities].filter(l=>l.id!==d.id);return cy(d,[Bi,$d],a,u)}const EVe=Object.freeze(Object.defineProperty({__proto__:null,getBaseMethodsNotImplemented:kz,getBasePropertiesNotImplemented:Gz,validate:jz,validateCanBecomeAbstract:mVe,validateCanBecomeNonAbstract:TVe,validateCanBecomeNonStatic:vVe,validateCanBecomeStatic:hVe,validateCanExtendEntity:yVe,validateCanImplementEntity:fVe,validateDefinitionEntityName:Fz},Symbol.toStringTag,{value:"Module"}));function bVe(d,u){const i=[];if(d.parent)if(d.id===d.parent)i.push(new de({id:`${d.id}--${d.parent}--${H.SelfReference}`,code:H.SelfReference,severity:ee.Error,message:`Entity of type "${d.type}" with id "${d.id}", has a reference to itself at 'parent'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`}));else{const a=u.get(d.parent);a?[p.Project,p.DataType].includes(a.type)||i.push(new de({id:`${d.id}--${d.parent}--${H.InvalidParentReference}`,code:H.InvalidParentReference,severity:ee.Error,message:`Entity of type "${d.type}" with id "${d.id}", has a parent reference that isn't pointing to an entity of type 'project' or 'data-type'.`})):i.push(new de({id:`${d.id}--${d.parent}--${H.ReferencedEntityNotFound}`,code:H.ReferencedEntityNotFound,severity:ee.Error,message:`Entity of type "${d.type}" with id "${d.id}", is referencing an entity with id "${d.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`}))}return d.implements&&Array.isArray(d.implements)?d.implements.forEach(a=>{if(d.id===a){i.push(new de({id:`${d.id}--${a}--${H.SelfReference}`,code:H.SelfReference,severity:ee.Error,message:`Entity of type "${d.type}" with id "${d.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.`}));return}const l=u.get(a);l?[p.DefinitionEntity,p.BuiltInBaseEntity].includes(l.type)?l.abstract||i.push(new de({id:`${d.id}--${a}--${H.InvalidImplementsReference}`,code:H.InvalidImplementsReference,severity:ee.Error,message:`Entity of type "${d.type}" with id "${d.id}", has an 'implements' reference that isn't pointing to an abstract entity.`})):i.push(new de({id:`${d.id}--${a}--${H.InvalidImplementsReference}`,code:H.InvalidImplementsReference,severity:ee.Error,message:`Entity of type "${d.type}" with id "${d.id}", has an 'implements' reference that isn't pointing to an entity of type 'definition-entity' or 'built-in-base-entity'.`})):i.push(new de({id:`${d.id}--${a}--${H.ReferencedEntityNotFound}`,code:H.ReferencedEntityNotFound,severity:ee.Error,message:`Entity of type "${d.type}" with id "${d.id}", is referencing an entity with id "${a}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`}))}):i.push(new de({id:`${d.id}--${oe.InvalidObjectStructure}`,code:oe.InvalidObjectStructure,severity:ee.Error,message:`Entity of type "${d.type}" with id "${d.id}", has an 'implements' property that isn't an array.`})),d.extends&&Array.isArray(d.extends)&&d.extends.forEach(a=>{const l=u.get(a);l?[p.DefinitionEntity,p.BuiltInBaseEntity].includes(l.type)?l.abstract&&i.push(new de({id:`${d.id}--${a}--${H.InvalidExtendsReference}`,code:H.InvalidExtendsReference,severity:ee.Error,message:`Entity of type "${d.type}" with id "${d.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?`})):i.push(new de({id:`${d.id}--${a}--${H.InvalidExtendsReference}`,code:H.InvalidExtendsReference,severity:ee.Error,message:`Entity of type "${d.type}" with id "${d.id}", has an 'extends' reference that isn't pointing to an entity of type 'definition-entity' or 'built-in-base-entity'.`})):i.push(new de({id:`${d.id}--${a}--${H.ReferencedEntityNotFound}`,code:H.ReferencedEntityNotFound,severity:ee.Error,message:`Entity of type "${d.type}" with id "${d.id}", is referencing an entity with id "${a}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`}))}),i}var dv=(d=>(d.Extends="extends",d.Implements="implements",d))(dv||{});const ai=class ai extends pr{constructor(i,a){super(i);_(this,"initialData");_(this,"id");_(this,"name");_(this,"codeName",null);_(this,"description",null);_(this,"x");_(this,"y");_(this,"static");_(this,"abstract");_(this,"type",p.DefinitionEntity);_(this,"additionalProperties",!1);_(this,"properties",[]);_(this,"allPropertiesImplement",null);_(this,"additionalPropertiesDataType",null);_(this,"methods",[]);_(this,"abstractMethods",[]);_(this,"extends",null);_(this,"implements",[]);_(this,"project");_(this,"errors",[]);_(this,"parent");_(this,"detachedDependents",{});_(this,"knownVersions",null);_(this,"activeVersion",!1);_(this,"initialized",!1);_(this,"startedInitialization",!1);_(this,"suggestedProperties",[]);_(this,"suggestedMethods",[]);this.initialData=i,this.project=a,this.id=i.id,this.name=i.name,this.description=i.description,this.x=i.x,this.y=i.y,this.codeName=i.codeName,this.static=i.static,this.abstract=i.abstract}static new(i=null){return{id:L.UUID.uuid(),version:L.UUID.uuid(),createdAt:(i==null?void 0:i.timestamp)||B().toISOString(),author:(i==null?void 0:i.author)||L.sessionAuthor,previousVersion:null,deleted:!1,deletable:!0,editable:!0,type:p.DefinitionEntity,additionalProperties:!1,additionalPropertiesDataType:null,allPropertiesImplement:null,name:"",codeName:null,description:"",static:!1,abstract:!1,properties:[],methods:[],abstractMethods:[],extends:null,implements:[],x:0,y:0,parent:null}}static fromGenerationTarget(i,a){let l=a;if(i.parent){const T=te(i.parent);l=a.get(T)}const c=[];i.implements&&i.implements.forEach(T=>{c.push(a.get(T)||a.getBuiltIn(T))});let e=null;i.extends&&(e=a.get(i.extends)||a.getBuiltIn(i.extends));const y={id:i.id,version:L.UUID.uuid(),createdAt:B().toISOString(),author:L.sessionAuthor,previousVersion:null,deleted:!1,name:i.name,deletable:!0,editable:!0,type:p.DefinitionEntity,codeName:i.codeName||null,description:i.description,static:i.static,abstract:i.abstract,additionalProperties:i.additionalProperties||!1,allPropertiesImplement:null,additionalPropertiesDataType:null,properties:[],methods:[],abstractMethods:[],extends:e,implements:c,x:0,y:0,parent:l},v=ne(y,a);return v.setParent(l,null),v}static validateGenerationTarget(i,a){let l=JSON.parse(JSON.stringify(i));const c=[],e=bVe(l,a),y=dR(l,a);c.push(...e,...y,...rr(l));const v=l.parent?a.get(l.parent):null;if(v&&v.type===p.DataType){const T=v;T.entity&&c.push(new de({id:`${i.id}--${H.NewEntityWouldOverriteExisting}`,code:H.NewEntityWouldOverriteExisting,severity:ee.Error,message:`The entity of type '${i.type}' with id '${i.id}' can't be added to the 'parent' entity with id '${T.id}' because it already has an 'entity' child. Data type entities can only have one 'entity' as children.
396
396
  You can inspect the existing 'entity' field with the 'describe_entity' action. Like so:
397
397
  ${_a({describe_entity:T.entity.id})}
398
- Alternatively you can update the parent data-type entity with 'update' action to remove the existing value of the field.`}))}return{errors:c,modifiedData:l}}get interactive(){return this.implements.length?this.implements.every(i=>i.interactive):!0}get allMethods(){return C([...this.ownDeclaredMethods,...this.allBaseMethodsFromOriginalParents])}get allProperties(){return C([...this.ownDeclaredProperties,...this.allBasePropertiesFromOriginalParents])}get allBaseMethodsFromOriginalParents(){var l;const i=((l=this.extends)==null?void 0:l.type)===p.DefinitionEntity?this.extends.allMethods:[],a=[...i].filter(c=>!i.some(e=>{var y,v;return e.id!==c.id&&(((y=e.implements)==null?void 0:y.id)===c.id||((v=e.extends)==null?void 0:v.id)===c.id)}));return C([...a,...this.implements.flatMap(c=>{const e=c.type===p.DefinitionEntity?[...c.allMethods]:[];return[...e].filter(v=>!e.some(T=>{var I,b;return T.id!==v.id&&(((I=T.implements)==null?void 0:I.id)===v.id||((b=T.extends)==null?void 0:b.id)===v.id)}))})])}get allBasePropertiesFromOriginalParents(){var c;const i=((c=this.extends)==null?void 0:c.allProperties)||[],a=[...i].filter(e=>!i.some(y=>{var v;return y.id!==e.id&&(!!y.implements.find(T=>T.id===e.id)||((v=y.extends)==null?void 0:v.id)===e.id)}));return C([...a,...this.implements.flatMap(e=>{const y=[...e.allProperties];return[...y].filter(T=>!y.some(I=>{var b;return I.id!==T.id&&(!!I.implements.find(D=>D.id===T.id)||((b=I.extends)==null?void 0:b.id)===T.id)}))})])}get allBasePropertiesFromExtendedAndImplementedEntities(){var c,e;const i=[...((c=this.extends)==null?void 0:c.ownDeclaredProperties)||[],...((e=this.extends)==null?void 0:e.allBasePropertiesFromExtendedAndImplementedEntities)||[]].filter(y=>!y.abstract),a=[...i].filter(y=>!i.some(v=>{var T;return v.id!==y.id&&(!!v.implements.find(I=>I.id===y.id)||((T=v.extends)==null?void 0:T.id)===y.id)})),l=this.implements.reduce((y,v)=>{const T=v.implementedPropertiesFromOriginalParents,I=[...v.ownDeclaredProperties].filter(V=>!V.abstract),b=[...T,...I,...y];return[...b].filter(V=>!!!b.find(x=>{var q;return!!x.implements.find(Z=>Z.id===V.id)||((q=x.extends)==null?void 0:q.id)===V.id}))},[]);return C([...a,...l])}get allBaseMethodsFromExtendedAndImplementedEntities(){return C([...(this.extends?[this.extends]:[]).reduce((i,a)=>a.type!==p.DefinitionEntity?[]:[...[...a.ownDeclaredMethods,...a.allBaseMethodsFromExtendedAndImplementedEntities].filter(c=>c.type!==p.ActionDescriptor),...i],[]),...this.implements.reduce((i,a)=>a.type!==p.DefinitionEntity?a.abstractMethods:[...[...a.ownDeclaredMethods,...a.allBaseMethodsFromExtendedAndImplementedEntities].filter(c=>c.type!==p.ActionDescriptor),...i],[])])}get extendedPropertiesFromOriginalParents(){var l,c;const i=[...((l=this.extends)==null?void 0:l.ownDeclaredProperties)||[],...((c=this.extends)==null?void 0:c.extendedPropertiesFromOriginalParents)||[]].filter(e=>!e.abstract),a=[...i].filter(e=>!i.some(y=>{var v;return y.id!==e.id&&(!!y.implements.find(T=>T.id===e.id)||((v=y.extends)==null?void 0:v.id)===e.id)}));return C(a)}get implementedPropertiesFromOriginalParents(){return C([...(this.extends?[this.extends]:[]).reduce((i,a)=>{const l=a.implementedPropertiesFromOriginalParents,c=[...a.ownDeclaredProperties].filter(v=>!!v.abstract),e=[...l,...c,...i];return[...e].filter(v=>!!!e.find(I=>{var b;return((b=I.extends)==null?void 0:b.id)===v.id||!!I.implements.find(D=>D.id===v.id)}))},[]),...this.implements.reduce((i,a)=>{const l=a.implementedPropertiesFromOriginalParents,c=[...a.ownDeclaredProperties].filter(v=>!!v.abstract),e=[...l,...c,...i];return[...e].filter(v=>!!!e.find(I=>{var b;return!!I.implements.find(D=>D.id===v.id)||((b=I.extends)==null?void 0:b.id)===v.id}))},[])].filter(i=>!!i.abstract))}get extendedMethodsFromOriginalParents(){return C((this.extends?[this.extends]:[]).reduce((i,a)=>{if(a.type!==p.DefinitionEntity)return[];const l=[...a.ownDeclaredMethods,...a.extendedMethodsFromOriginalParents].filter(c=>c.type!==p.ActionDescriptor);return[...i,...l]},[]))}get implementedMethodsFromOriginalParents(){return C([...(this.extends?[this.extends]:[]).reduce((i,a)=>{const l=a.type===p.DefinitionEntity?a.methods:[],c=[...a.abstractMethods].filter(e=>!l.find(y=>y.name===e.name));return[...l,...c,...i]},[]),...this.implements.reduce((i,a)=>[...a.abstractMethods,...i],[])].filter(i=>i.type===p.ActionDescriptor))}get extendedProperties(){return this.properties.filter(i=>i.isExtendedProperty)}get ownDeclaredProperties(){return this.properties.filter(a=>!a.isExtendedProperty)}get extendedMethods(){return this.methods.filter(i=>i.isExtendedMethod)}get ownDeclaredMethods(){return this.methods.filter(i=>!i.isExtendedMethod)}validateGeneratedUpdate(i){const a=[];return i.parent&&a.push(new de({id:`${this.id}--${H.InvalidParentUpdate}`,code:H.InvalidParentUpdate,severity:ee.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.`})),{errors:a,modifiedData:i}}subscribeDependents(i){return i.forEach(a=>{this.detachedDependents[a.entity.id]||(this.detachedDependents[a.entity.id]=a)}),this}unsubscribeDependents(i){return i.forEach(a=>{this.detachedDependents[a.entity.id]&&delete this.detachedDependents[a.entity.id]}),this}syncDependents(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"sync-dependents"))){const a=[],l=[],c=[],e=[];return Object.values(this.detachedDependents).forEach(y=>{const v=y.entity.afterAllChildrenInitialized(i);a.push(...v.updated),l.push(...v.added),c.push(...v.removed),e.push(...v.affected)}),i==null||i.attemptAutoclose("sync-dependents",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}onDetachedDependencyRemoved(i,a,l){const c=[],e=[],y=[],v=[];return a==="implements"&&(this.removeImplementation(i,l),c.push(this)),a==="extends"&&(this.setExtension(null,l),c.push(this)),{updated:C(c),added:C(e),removed:C(y),affected:C(v),self:this}}onDetachedDependencyRestored(i,a,l){const c=[],e=[],y=[],v=[];return a==="implements"&&(this.addImplementation(i,l),c.push(this)),a==="extends"&&(this.setExtension(i,l),c.push(this)),{updated:C(c),added:C(e),removed:C(y),affected:C(v),self:this}}unsubscribeFromDependencies(){return this.implements.forEach(i=>{vn.includes(i.type)||i.unsubscribeDependents([{entity:this,field:"implements"}])}),this}subscribeToDependencies(){return this.implements.forEach(i=>{vn.includes(i.type)||i.subscribeDependents([{entity:this,field:"implements"}])}),this.extends&&(vn.includes(this.extends.type)||this.extends.subscribeDependents([{entity:this,field:"extends"}])),this}increaseVersion(i){if(i&&!B(i).isValid())throw new Error(`The shared timestamp '${i}' is not a valid ISO 8601 date string.`);return i&&B(i).isSame(B(this.createdAt))?this:(this.previousVersion=this.version,this.version=L.UUID.uuid(),this.createdAt=B(i).toISOString()||B().toISOString(),this)}captureVersion(){var a;const i=((a=this.knownVersions)==null?void 0:a.get(this.version))||new ai(this,this.project);return i.metaSync(this.toMeta(),null),this.knownVersions=this.knownVersions?this.knownVersions.set(this.version,i):new Map([[this.version,i]]),i.properties=[...this.properties],i.methods=[...this.methods],i.abstractMethods=[...this.abstractMethods],i.extends=this.extends,i.implements=[...this.implements],i.allPropertiesImplement=this.allPropertiesImplement,i.additionalPropertiesDataType=this.additionalPropertiesDataType,i.parent=this.parent,this}recursiveCaptureUpstreamVersions(i){const a=[],l=[],c=[],e=[];if(this.parent){this.parent.increaseVersion(i);const y=this.parent.recursiveCaptureUpstreamVersions(i);a.push(this.parent,...y.updated),l.push(...y.added),c.push(...y.removed)}return{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}async restoreVersion(i){var v;const a=[],l=[],c=[],e=[];if(this.version===i)return{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this};if(!this.knownVersions){const T=new Map;for(const[I,b]of this.knownVersions||new Map){if(T.set(I,b),b.activeVersion=!1,b.knownVersions)for(const[D,V]of b.knownVersions)T.set(D,V);b.knownVersions=null}}let y=(v=this.knownVersions)==null?void 0:v.get(i);if(!y){const T=await this.APILoadVersion({},i);if(!T)throw new Error(`Version with id '${i}' for entity with id '${this.id}' not found.`);y=new ai(T,this.project)}return this.metaSync(y.toShallowJSON(),null),this.previousVersion=y.previousVersion,this.version=y.version,this.createdAt=y.createdAt,this.author=y.author,this.deleted=y.deleted,this.properties=[...y.properties],this.methods=[...y.methods],this.abstractMethods=[...y.abstractMethods],this.extends=y.extends,this.implements=[...y.implements],this.allPropertiesImplement=y.allPropertiesImplement,this.additionalPropertiesDataType=y.additionalPropertiesDataType,this.parent=y.parent,{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}updateWithShallowTransfer(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.UpdateWithShallowTransfer))){if(!this.checkCanEdit(this,a))return Y.warn(`[updateWithShallowTransfer] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.UpdateWithShallowTransfer,this.id),this;if(this.metaSync(i,a),this.version=i.version,this.createdAt=i.createdAt,this.author=i.author,this.deleted=i.deleted,this.previousVersion=i.previousVersion,this.unsubscribeFromDependencies(),i.parent){const l=te(i.parent),c=this.project.get(l),e=this.parent;if(e&&e.id!==(c==null?void 0:c.id)&&this.removeFromParent(a),c)this.setParent(c,a);else throw a==null||a.attemptAutoclose(P.UpdateWithShallowTransfer,this.id),new Error(`${this.type} with id '${this.id}' has a 'parent' reference '${l}' that isn't found in the project`)}else throw a==null||a.attemptAutoclose(P.UpdateWithShallowTransfer,this.id),new Error(`${this.type} with id '${this.id}' must have a 'parent'`);if(i.extends){const l=te(i.extends),c=this.project.get(l);c&&this.setExtension(c,a)}if(i.implements.forEach(l=>{const c=te(l),e=this.project.get(c);if(e)this.addImplementation(e,a);else throw new Error(`${Tr(this.type)} with id '${this.id}' has a 'implements' reference "${c}" which is missing in the project`)}),i.allPropertiesImplement){const l=te(i.allPropertiesImplement),c=this.project.get(l);c&&this.setAllPropertiesImplement(c,a)}if(i.additionalPropertiesDataType){const l=te(i.additionalPropertiesDataType),c=this.project.get(l);c&&this.setAdditionalPropertiesDataType(c,a)}return this.captureVersion(),this.subscribeToDependencies(),a==null||a.attemptAutoclose(P.UpdateWithShallowTransfer,this.id),this}hydrateAncestors(){const i=[],a=[],l=[],c=[];if(this.initialData.parent){const e=te(this.initialData.parent),y=this.project.get(e);if(y)this.setParent(y,null),i.push(y);else throw new Error(`${this.type} with id '${this.id}' has a 'parent' reference '${e}' that isn't found in the project`)}else throw new Error(`${this.type} with id '${this.id}' must have a 'parent'`);if(this.initialData.extends){const e=te(this.initialData.extends),y=this.project.get(e);y&&(this.setExtension(y,null),y.type!==p.BuiltInBaseEntity&&i.push(y))}return this.initialData.implements.forEach(e=>{const y=te(e),v=this.project.get(y);if(v)this.addImplementation(v,null),v.type!==p.BuiltInBaseEntity&&i.push(v);else throw new Error(`${Tr(this.type)} with id '${this.id}' has a 'implements' reference "${y}" which is missing in the project`)}),{updated:C(i),added:C(a),removed:C(l),affected:C(c),self:this}}afterAllChildrenInitialized(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.AfterAllChildrenInitialized))){if(!this.checkCanEdit(this,i))return Y.warn(`[afterAllChildrenInitialized] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),i==null||i.attemptAutoclose(P.AfterAllChildrenInitialized,this.id),{updated:[],added:[],removed:[],affected:[],self:this};const a=[],l=[],c=[],e=[];this.initialized=!0;const{updated:y,added:v,removed:T,affected:I}=this.syncImplementationProperties(i);a.push(...y),l.push(...v),c.push(...T),e.push(...I);const{updated:b,added:D,removed:V,affected:M}=this.addExtendedProperties(i);a.push(...b),l.push(...D),c.push(...V),e.push(...M);const{updated:x,added:q,removed:Z}=this.removeUnrecognizedProperties(i);a.push(...x),l.push(...q),c.push(...Z);const{updated:W,added:z,removed:ae,affected:J}=this.syncImplementationMethods(i);a.push(...W),l.push(...z),c.push(...ae),e.push(...J);const{updated:fe,added:le,removed:ye,affected:me}=this.addExtendedMethods(i);a.push(...fe),l.push(...le),c.push(...ye),e.push(...me);const{updated:Q,added:ue,removed:Te}=this.removeUnrecognizedMethods(i);return a.push(...Q),l.push(...ue),c.push(...Te),this.addSuggestions(),this.properties.sort((_e,$e)=>_e.index-$e.index),this.captureVersion(),i==null||i.attemptAutoclose(P.AfterAllChildrenInitialized,this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}addSelfToProject(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"add-self-to-project"))){const a=[this],l=[],c=[],e=[];if(this.parent.type===p.DataType){const y=this.parent;y.entity=this,a.push(y)}else this.project.addDefinitionEntity(this);return this.subscribe(),this.subscribeToDependencies(),i==null||i.attemptAutoclose("add-self-to-project",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}setParent(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.SetParent))){var l;return this.checkCanEditWithCounterpartAndSideEffects(this,i,P.SetParent,a)?(((l=this.parent)==null?void 0:l.id)!==(i==null?void 0:i.id)&&(this.parent=i,a&&(a==null||a.add(this,k.Updated))),a==null||a.attemptAutoclose(P.SetParent,this.id),this):this}setExtension(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.SetExtension))){var l;return this.checkCanEdit(this,a)?(((l=this.extends)==null?void 0:l.id)!==(i==null?void 0:i.id)&&(this.extends=i,a&&(a==null||a.add(this,k.Updated))),a==null||a.attemptAutoclose(P.SetExtension,this.id),this):(Y.warn(`[setExtension] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.SetExtension,this.id),this)}addImplementation(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.AddImplementation))){return this.checkCanEdit(this,a)?(this.implements.includes(i)||(this.implements.push(i),a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose(P.AddImplementation,this.id),this):(Y.warn(`[addImplementation] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.AddImplementation,this.id),this)}removeImplementation(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveImplementation))){return this.checkCanEdit(this,a)?(this.implements.includes(i)&&(this.implements=this.implements.filter(l=>l.id!==i.id),a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose(P.RemoveImplementation,this.id),this):(Y.warn(`[removeImplementation] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.RemoveImplementation,this.id),this)}removeProperty(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveProperty))){return this.checkCanEdit(this,a)?(this.properties.includes(i)&&(this.properties=this.properties.filter(l=>l.id!==i.id),a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose(P.RemoveProperty,this.id),this):(Y.warn(`[removeProperty] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.RemoveProperty,this.id),this)}addMethod(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.AddMethod))){return this.checkCanEdit(this,a)?(this.methods.includes(i)||(this.methods.push(i),this.suggestedMethods=this.suggestedMethods.filter(l=>l.name!==i.name),a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose(P.AddMethod,this.id),this):(Y.warn(`[addMethod] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.AddMethod,this.id),this)}removeMethod(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveMethod))){return this.checkCanEdit(this,a)?(this.methods.includes(i)&&(this.methods=this.methods.filter(l=>l.id!==i.id),a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose(P.RemoveMethod,this.id),this):(Y.warn(`[removeMethod] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.RemoveMethod,this.id),this)}addProperty(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.AddProperty))){return this.checkCanEdit(this,a)?(this.properties.includes(i)||(this.properties.push(i),this.suggestedProperties=this.suggestedProperties.filter(l=>l.name!==i.name),a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose(P.AddProperty,this.id),this):(Y.warn(`[addProperty] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.AddProperty,this.id),this)}addSuggestedProperty(i){return this.suggestedProperties.includes(i)||this.suggestedProperties.push(i),this}addSuggestedMethod(i){return this.suggestedMethods.includes(i)||this.suggestedMethods.push(i),this}removeSuggestedProperty(i){return this.suggestedProperties=this.suggestedProperties.filter(a=>a.id!==i.id),this}removeSuggestedMethod(i){return this.suggestedMethods=this.suggestedMethods.filter(a=>a.id!==i.id),this}addAbstractMethod(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.AddAbstractMethod))){return this.checkCanEdit(this,a)?(this.abstractMethods.includes(i)||(this.abstractMethods.push(i),a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose(P.AddAbstractMethod,this.id),this):(Y.warn(`[addAbstractMethod] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.AddAbstractMethod,this.id),this)}removeAbstractMethod(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveAbstractMethod))){return this.checkCanEdit(this,a)?(this.abstractMethods.includes(i)&&(this.abstractMethods=this.abstractMethods.filter(l=>l.id!==i.id),a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose(P.RemoveAbstractMethod,this.id),this):(Y.warn(`[removeAbstractMethod] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.RemoveAbstractMethod,this.id),this)}initChildren(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"init-children"))){if(this.initialized||this.startedInitialization)return this;if(this.startedInitialization=!0,this.properties=this.initialData.properties.map(a=>{const l=ne(a,this.project);return l.setParent(this,null),l.initChildren(i),l}),this.methods=this.initialData.methods.map(a=>{const l=ne(a,this.project);return l.setParent(this,null),l.initChildren(i),l}),this.abstractMethods=this.initialData.abstractMethods.map(a=>{const l=ne(a,this.project);return l.setParent(this,null),l.initChildren(i),l}),this.initialData.extends&&(this.extends=ne(this.initialData.extends,this.project)),this.implements=this.initialData.implements.map(a=>ne(a,this.project)),this.initialData.allPropertiesImplement){const a=ne(this.initialData.allPropertiesImplement,this.project);a.setParent(this,null),a.initChildren(null),this.setAllPropertiesImplement(a,i)}if(this.initialData.additionalPropertiesDataType){const a=ne(this.initialData.additionalPropertiesDataType,this.project);a.setParent(this,null),a.initChildren(null),this.setAdditionalPropertiesDataType(a,i)}return this.subscribeToDependencies(),this.afterAllChildrenInitialized(i),i==null||i.attemptAutoclose("init-children",this.id),this}removeUnrecognizedProperties(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"remove-unrecognized-properties"))){const a=[],l=[],c=[],e=[];let y=[...this.properties];y=y.filter(b=>b.parent.id===this.id),y=y.filter(b=>!b.isExtendedProperty);const v=this.implementedPropertiesFromOriginalParents,T=this.getAllPropertiesImplements();return y.filter(b=>this.interactive&&!b.implements.length?!1:!b.implements.find(V=>!!v.find(M=>M.id===V.id)||!!T.find(M=>M.id===V.id))).forEach(b=>{const D=b.remove({ignoreUpstream:!1},i);c.push(...D.removed),a.push(...D.updated)}),i==null||i.attemptAutoclose("remove-unrecognized-properties",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}removeUnrecognizedMethods(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"remove-unrecognized-methods"))){const a=[],l=[],c=[],e=[];let y=[...this.methods];y=y.filter(T=>T.parent.id===this.id),y=y.filter(T=>!T.isExtendedMethod);const v=this.implementedMethodsFromOriginalParents;return y=y.filter(T=>this.interactive&&!T.implements?!1:!v.find(I=>{var b;return I.id===((b=T.implements)==null?void 0:b.id)})),y.forEach(T=>{const I=T.remove({ignoreUpstream:!1},i);c.push(...I.removed),a.push(...I.updated)}),i==null||i.attemptAutoclose("remove-unrecognized-methods",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}syncImplementationMethods(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"sync-implementation-methods"))){const a=[],l=[],c=[],e=[],y=this.methods,v=this.implementedMethodsFromOriginalParents,T=[...this.allBaseMethodsFromExtendedAndImplementedEntities,...y];return v.filter(b=>!T.find(V=>{var M;return((M=V.implements)==null?void 0:M.id)===b.id})).forEach(b=>{if(this.methods.find(x=>{var q;return((q=x.implements)==null?void 0:q.id)===b.id}))return;const V=this.methods.find(x=>{var ae,J;if(x.name===b.name&&!x.implements)return!0;const q=cr(this,ce.CRON_JOB),Z=cr(this,ce.HTTP_ENDPOINT),W=((ae=x.implements)==null?void 0:ae.id)===pe["built-in-base-entity"].BUILT_IN_HTTP_ENDPOINT_ENTITY.methods.handler.id,z=((J=x.implements)==null?void 0:J.id)===pe["built-in-base-entity"].BUILT_IN_CRON_JOB_ENTITY.methods.handler.id;return!!(q&&!z&&!Z&&W||Z&&!W&&!q&&z)});if(V&&V.type===p.FunctionDeclaration){V.setImplements(b,i),V.metaSync({name:b.name},i),i==null||i.add(V,k.Updated),i==null||i.add(this,k.Updated);return}const M=b.implementAsFunctionDeclaration(i,this);l.push(M),i==null||i.add(M,k.Added),this.addMethod(M,i)}),this.methods.sort((b,D)=>b.index-D.index).forEach(b=>{b.afterAllChildrenInitialized(i)}),i==null||i.attemptAutoclose("sync-implementation-methods",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}syncImplementationProperties(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"sync-implementation-properties"))){const a=[],l=[],c=[],e=[],y=this.properties,v=this.implementedPropertiesFromOriginalParents.filter(b=>!this.allBasePropertiesFromExtendedAndImplementedEntities.find(V=>!!V.implements.find(M=>M.id===b.id))),T=[...this.allBasePropertiesFromExtendedAndImplementedEntities,...y];return v.filter(b=>!T.find(V=>!!V.implements.find(M=>M.id===b.id))).forEach(b=>{if(this.properties.find(x=>!!x.implements.find(q=>q.id===b.id)))return;const V=this.properties.find(x=>x.name===b.name&&!!x.abstract&&!x.implements);if(V){V.addImplementation(b,i),V.metaSync({abstract:!1},i),V.afterAllChildrenInitialized(i);return}const M=b.implement(this,i,L.UUID.uuid());l.push(M),i==null||i.add(M,k.Added)}),i==null||i.attemptAutoclose("sync-implementation-properties",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}addExtendedMethods(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"add-extended-methods"))){const a=[],l=[],c=[],e=[],y=this.methods,T=this.extendedMethodsFromOriginalParents.filter(b=>b.type===p.FunctionDeclaration),I=new Set(y.filter(b=>{var D;return!!((D=b.extends)!=null&&D.id)}).map(b=>b.extends.id));return T.forEach(b=>{if(I.has(b.id))return;I.add(b.id);const D=b.clone(i,this,L.UUID.uuid());D.setExtends(b,i),D.initChildren(i),l.push(D),i==null||i.add(D,k.Added),this.addMethod(D,i)}),i==null||i.attemptAutoclose("add-extended-methods",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}addExtendedProperties(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"add-extended-properties"))){const a=[],l=[],c=[],e=[],y=this.properties,v=this.extendedPropertiesFromOriginalParents,T=v.filter(b=>v.find(V=>!!V.implements.find(M=>M.id===b.id))?!1:!b.abstract),I=new Set(y.filter(b=>{var D;return!!((D=b.extends)!=null&&D.id)}).map(b=>b.extends.id));return T.forEach(b=>{if(I.has(b.id))return;I.add(b.id);const D=b.clone(i,this,L.UUID.uuid());D.setExtends(b,i),D.initChildren(i),l.push(D),i==null||i.add(D,k.Added),this.addProperty(D,i)}),i==null||i.attemptAutoclose("add-extended-properties",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}addSuggestions(){return this.implements.forEach(i=>{Gz(this,i).forEach(c=>{const e=c.toJSON();e.id=`_suggestion--parent--${this.id}--${c.id}`;const y=ne(e,this.project);y.suggestion=!0,y.setParent(this,null),y.initChildren(null),this.addSuggestedProperty(y)}),kz(this,i).forEach(c=>{const e=`_suggestion--parent--${this.id}--${c.id}`,y=c.implementAsFunctionDeclaration(null,this,e),v=ne(y,this.project);if(v.suggestion=!0,v.setParent(this,null),v.initChildren(null),this.methods=this.methods.filter(T=>T.id!==e),v.inputs.forEach(T=>{T.suggestion=!0}),v.returnStatements.length){const T=v.returnStatements[0];T.suggestion=!0,T.outputs.forEach(I=>{I.suggestion=!0})}this.addSuggestedMethod(v)})}),this}subscribe(){return this.activeVersion=!0,this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}metaSync(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"meta-sync"))){const l=sr(this,i,a),c=nr(this,l),e=this.toMeta();return this.name=l.name!==void 0?l.name:e.name,this.codeName=l.codeName!==void 0?l.codeName:e.codeName,this.description=l.description!==void 0?l.description:e.description,this.x=l.x||e.x,this.y=l.y||e.y,this.static=l.static!==void 0?l.static:this.static,this.abstract=l.abstract!==void 0?l.abstract:this.abstract,this.additionalProperties=l.additionalProperties!==void 0?l.additionalProperties:e.additionalProperties,super.baseMetaSync(l,this,a),l.deleted===!0&&!e.deleted?a==null||a.add(this,k.Removed):l.deleted===!1&&e.deleted?a==null||a.add(this,k.Added):c&&(a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose("meta-sync",this.id),this}async APILoad(i=we,...a){return await ai.repository.APILoad(this.id,...a),this}async APICreate(i=we,...a){return await ai.repository.APICreate(this.toShallowJSON(),...a),this}async APIUpdate(i=we,...a){return await ai.repository.APIUpdate(this.toShallowJSON(),...a),this}async APIDelete(i=we,...a){return await ai.repository.APIDelete(this.toShallowJSON(),...a),this}async APIClone(i=we,...a){return await ai.repository.APIClone(this.id,...a),this}async APILoadVersion(i=we,a,...l){return await ai.repository.APILoadVersion(this.id,a,...l)}removeFromParent(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveFromParent))){if(!this.checkCanEdit(this,i))return Y.warn(`[removeFromParent] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),i==null||i.attemptAutoclose(P.RemoveFromParent,this.id),{added:[],updated:[],removed:[],affected:[],self:this};const a=[],l=[],c=[],e=[];if(this.parent.type===p.Project)this.parent.removeDefinitionEntity(this);else if(this.parent.type===p.DataType&&this.parent.entity&&this.parent.entity.id===this.id){const y=this.parent.setEntity(null,i);a.push(y)}return i==null||i.attemptAutoclose(P.RemoveFromParent,this.id),{added:C(c),updated:C(a),removed:C(l),affected:C(e),self:this}}remove({ignoreUpstream:i}={ignoreUpstream:!1},a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveEntity))){var v;if(!this.checkCanDelete(this,a))return Y.warn(`[remove] User is not allowed to delete or edit this ${this.type} entity with id: ${this.id}`),a==null||a.event({id:`${P.RemoveEntity}-${this.id}`,action:P.RemoveEntity,owner:this,errorReason:ji.ActionOwnerEntityNonDeletable,rootAction:((v=a==null?void 0:a.self)==null?void 0:v.id)===this.id&&(a==null?void 0:a.autoCloseActionName)===P.RemoveEntity}),a==null||a.attemptAutoclose(P.RemoveEntity,this.id),{added:[],updated:[],removed:[],affected:[],self:this};const l=[],c=[],e=[],y=[];if(a!=null&&a.hasRemoved(this.id))return a==null||a.attemptAutoclose(P.RemoveEntity,this.id),{added:[],updated:[],removed:[],affected:[],self:this};if(c.push(this),this.unsubscribe(),this.unsubscribeFromDependencies(),this.project.subscribeDeletedInstance(this),this.metaSync({deleted:!0},a),Object.values(this.detachedDependents).forEach(T=>{const{updated:I,removed:b,added:D}=T.entity.onDetachedDependencyRemoved(this,T.field,a);l.push(...I),c.push(...b),e.push(...D)}),this.properties.forEach(T=>{const{updated:I,removed:b}=T.remove({ignoreUpstream:!0},a);l.push(...I),c.push(...b)}),this.methods.forEach(T=>{const{updated:I,removed:b}=T.remove({ignoreUpstream:!0},a);l.push(...I),c.push(...b)}),this.abstractMethods.forEach(T=>{const{updated:I,removed:b}=T.remove({ignoreUpstream:!0},a);l.push(...I),c.push(...b)}),this.suggestedProperties.forEach(T=>{const{updated:I,removed:b}=T.remove({ignoreUpstream:!0},a);l.push(...I),c.push(...b)}),this.suggestedMethods.forEach(T=>{const{updated:I,removed:b}=T.remove({ignoreUpstream:!0},a);l.push(...I),c.push(...b)}),!i){const T=this.removeFromParent(a);e.push(...T.added),l.push(...T.updated),c.push(...T.removed),y.push(...T.affected)}return a==null||a.attemptAutoclose(P.RemoveEntity,this.id),{added:C(e),updated:C(l),removed:C(c),affected:C(y),self:this}}restore({}={},i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RestoreEntity))){if(!this.checkCanEdit(this,i))return Y.warn(`[restore] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),i==null||i.attemptAutoclose(P.RestoreEntity,this.id),{added:[],updated:[],removed:[],affected:[],self:this};const a=[],l=[],c=[],e=[];return i!=null&&i.hasAdded(this.id)?(i==null||i.attemptAutoclose(P.RestoreEntity,this.id),{added:[],updated:[],removed:[],affected:[],self:this}):(this.subscribe(),this.project.unsubscribeDeletedInstance(this),this.metaSync({deleted:!1},i),Object.values(this.detachedDependents).forEach(y=>{const{updated:v,removed:T,added:I}=y.entity.onDetachedDependencyRestored(this,y.field,i);l.push(...v),c.push(...T),a.push(...I)}),this.properties.forEach(y=>{const{updated:v}=y.restore({},i);l.push(...v)}),this.methods.forEach(y=>{const{updated:v}=y.restore({},i);l.push(...v)}),this.abstractMethods.forEach(y=>{const{updated:v}=y.restore({},i);l.push(...v)}),this.suggestedProperties.forEach(y=>{const{updated:v}=y.restore({},i);l.push(...v)}),this.suggestedMethods.forEach(y=>{const{updated:v}=y.restore({},i);l.push(...v)}),i==null||i.attemptAutoclose(P.RestoreEntity,this.id),{added:C(a),updated:C(l),removed:C(c),affected:C(e),self:this})}toFlat(i=new Set){var l;return i.has(this.id)?[]:(i.add(this.id),[this,...((l=this.extends)==null?void 0:l.toFlat(i))||[],...this.implements.flatMap(c=>c.toFlat(i)),...this.properties.flatMap(c=>c.toFlat(i)),...this.methods.flatMap(c=>c.toFlat(i)),...this.abstractMethods.flatMap(c=>c.toFlat(i)),...this.parent.toFlat(i)])}toFlatIds(i=new Set){var l;return i.has(this.id)?[]:(i.add(this.id),[this.id,...((l=this.extends)==null?void 0:l.toFlatIds(i))||[],...this.implements.flatMap(c=>c.toFlatIds(i)),...this.properties.flatMap(c=>c.toFlatIds(i)),...this.methods.flatMap(c=>c.toFlatIds(i)),...this.abstractMethods.flatMap(c=>c.toFlatIds(i)),...this.parent.toFlatIds(i)])}toMeta(){return{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,codeName:this.codeName,description:this.description,static:this.static,abstract:this.abstract,x:this.x,y:this.y,type:this.type,editable:this.editable,deletable:this.deletable,additionalProperties:this.additionalProperties,name:this.name}}toJSON(i=new Set){var a,l,c;return i.has(this.id)?this.toReference():(i.add(this.id),{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,type:this.type,editable:this.editable,deletable:this.deletable,name:this.name,codeName:this.codeName,description:this.description,x:this.x,y:this.y,static:this.static,abstract:this.abstract,additionalProperties:this.additionalProperties,allPropertiesImplement:((a=this.allPropertiesImplement)==null?void 0:a.toJSON(i))||null,additionalPropertiesDataType:((l=this.additionalPropertiesDataType)==null?void 0:l.toJSON(i))||null,properties:this.properties.map(e=>e.toJSON(i)),methods:this.methods.map(e=>e.toJSON(i)),abstractMethods:this.abstractMethods.map(e=>e.toJSON(i)),implements:this.implements.map(e=>e.toJSON(i)),extends:((c=this.extends)==null?void 0:c.toJSON(i))||null,parent:this.parent.toReference()})}toJSONClone(i=He){var l,c,e,y,v,T,I,b,D,V;let a;return(l=i.seenEntityMaps)!=null&&l.has(this.id)?a=i.seenEntityMaps.get(this.id):(a=i.newId||yr(this,this.project,i.uuidStrategy),i.seenEntityMaps&&i.seenEntityMaps.set(this.id,a)),(c=i.seenEntities)!=null&&c.has(a)||(e=i.seenEntities)!=null&&e.has(this.id)?this.toReference({seenEntityMaps:i.seenEntityMaps}):((y=i.seenEntities)==null||y.add(a),(v=i.seenEntities)==null||v.add(this.id),{id:a,version:L.UUID.uuid(),createdAt:i.timestamp||B().toISOString(),author:L.sessionAuthor,previousVersion:null,deleted:!1,type:this.type,editable:this.editable,deletable:this.deletable,name:this.name,codeName:this.codeName,description:this.description,x:this.x,y:this.y,static:this.static,abstract:this.abstract,additionalProperties:this.additionalProperties,allPropertiesImplement:((T=this.allPropertiesImplement)==null?void 0:T.toJSONClone(i))||null,additionalPropertiesDataType:((I=this.additionalPropertiesDataType)==null?void 0:I.toJSONClone(i))||null,properties:this.properties.map(M=>M.toJSONClone({...i,newId:null})),methods:this.methods.map(M=>M.toJSONClone({...i,newId:null})),abstractMethods:this.abstractMethods.map(M=>M.toJSONClone({...i,newId:null})),implements:this.implements.map(M=>M.type===p.BuiltInBaseEntity?M.toJSON(i.seenEntities):M.toJSONClone({...i,newId:null})),extends:((b=this.extends)==null?void 0:b.type)===p.BuiltInBaseEntity?(D=this.extends)==null?void 0:D.toJSON(i.seenEntities):(V=this.extends)==null?void 0:V.toJSONClone({...i,newId:null}),parent:this.parent.toReference({seenEntityMaps:i.seenEntityMaps})})}toReference(i=He){var l;let a=this.id;return(l=i.seenEntityMaps)!=null&&l.has(this.id)&&(a=i.seenEntityMaps.get(this.id)),{id:a+"--"+L.UUID.uuid()+"--ref",type:p.GenericReference,entityId:a,version:this.version,entityType:this.type}}toShallowJSON(i=He){var l,c,e,y;let a=this.id;return(l=i.seenEntityMaps)!=null&&l.has(this.id)&&(a=i.seenEntityMaps.get(this.id)),{id:a,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,name:this.name,codeName:this.codeName,description:this.description,type:this.type,editable:this.editable,deletable:this.deletable,x:this.x,y:this.y,static:this.static,abstract:this.abstract,additionalProperties:this.additionalProperties,allPropertiesImplement:((c=this.allPropertiesImplement)==null?void 0:c.toReference(i))||null,additionalPropertiesDataType:((e=this.additionalPropertiesDataType)==null?void 0:e.toReference(i))||null,properties:this.properties.map(v=>v.toReference(i)),methods:this.methods.map(v=>v.toReference(i)),abstractMethods:this.abstractMethods.map(v=>v.toReference(i)),implements:this.implements.map(v=>v.toReference(i)),extends:((y=this.extends)==null?void 0:y.toReference(i))||null,parent:this.parent.toReference(i)}}toFlatJSON(i=new Set){var l,c,e;return i.has(this.id)?[]:(i.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(y=>y.toFlatJSON(i)),...this.methods.flatMap(y=>y.toFlatJSON(i)),...this.abstractMethods.flatMap(y=>y.toFlatJSON(i)),...this.implements.flatMap(y=>y.toFlatJSON(i)),...((l=this.extends)==null?void 0:l.toFlatJSON(i))||[],...this.parent.toFlatJSON(i),...((c=this.additionalPropertiesDataType)==null?void 0:c.toFlatJSON(i))||[],...((e=this.allPropertiesImplement)==null?void 0:e.toFlatJSON(i))||[]])}toGenerationTarget(){var a;const i=this.parent.type===p.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:(a=this.extends)==null?void 0:a.id,additionalProperties:this.additionalProperties,implements:this.implements.map(l=>l.id),parent:i}}toFlatGenerationTarget(i=new Set){var l,c,e;return i.has(this.id)?[]:(i.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(y=>y.toFlatGenerationTarget(i)),...this.methods.flatMap(y=>y.toFlatGenerationTarget(i)),...this.abstractMethods.flatMap(y=>y.toFlatGenerationTarget(i)),...this.implements.filter(y=>y.type===p.DefinitionEntity).flatMap(y=>y.toFlatGenerationTarget(i)),...((l=this.extends)==null?void 0:l.toFlatGenerationTarget(i))||[],...this.parent.toFlatGenerationTarget(i),...((c=this.additionalPropertiesDataType)==null?void 0:c.toFlatGenerationTarget(i))||[],...((e=this.allPropertiesImplement)==null?void 0:e.toFlatGenerationTarget(i))||[]])}clearErrors(){var i,a;return this.errors=[],this.properties.forEach(l=>l.clearErrors()),this.methods.forEach(l=>l.clearErrors()),this.abstractMethods.forEach(l=>l.clearErrors()),(i=this.additionalPropertiesDataType)==null||i.clearErrors(),(a=this.allPropertiesImplement)==null||a.clearErrors(),this}validate(){return this.errors=jz(this),{success:!0}}getErrors(){var a,l;return[...this.errors,...this.properties.flatMap(c=>c.getErrors()),...this.methods.flatMap(c=>c.getErrors()),...this.abstractMethods.flatMap(c=>c.getErrors()),...((a=this.additionalPropertiesDataType)==null?void 0:a.getErrors())||[],...((l=this.allPropertiesImplement)==null?void 0:l.getErrors())||[]]}getShallowErrors(){return this.errors}clone(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.CloneEntity)),a=null,l=null,c=!0){var x,q,Z;let e=fr(a,this);const y=this.toJSON(),v=l||L.UUID.uuid();y.properties=[],y.methods=[],y.abstractMethods=[];const T=v.split("-id"),I=T[T.length-1||0]||v;y.id=v,y.version=L.UUID.uuid(),y.createdAt=(i==null?void 0:i.timestamp)||B().toISOString(),y.author=(i==null?void 0:i.author)||"1",y.previousVersion=null,y.deleted=!1,y.editable=!0,y.deletable=!0;const b=Ci(y,e);a&&b.setParent(a,null),c&&b.subscribe(),b.initChildren(i),i==null||i.add(b,k.Added);const D=(x=this.properties)==null?void 0:x.map(W=>W.clone(i,b,L.UUID.uuid(),c));b.properties=D;const V=(q=this.methods)==null?void 0:q.map((W,z)=>W.clone(i,b,I+"-method-"+z+"-id",c));b.methods=V;const M=(Z=this.abstractMethods)==null?void 0:Z.map((W,z)=>W.clone(i,b,I+"-abstract-method-"+z+"-id",c));if(b.abstractMethods=M,this.additionalPropertiesDataType){const W=this.additionalPropertiesDataType.clone(i,b,L.UUID.uuid(),c);b.setAdditionalPropertiesDataType(W,i)}if(this.allPropertiesImplement){const W=this.allPropertiesImplement.clone(i,b,L.UUID.uuid(),c);b.setAllPropertiesImplement(W,i)}return i==null||i.attemptAutoclose(P.CloneEntity,this.id),b}getFunctionDeclaration(i){return this.methods.find(a=>a.id===i)}implement(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"implement-definition-entity")),l){const c=K0(this,i,a,l);return a==null||a.attemptAutoclose("implement-definition-entity",this.id),c}getAllPropertiesImplements(){var a;const i=[];return this.allPropertiesImplement&&i.push(this.allPropertiesImplement),i.push(...((a=this.extends)==null?void 0:a.getAllPropertiesImplements())||[],...this.implements.flatMap(l=>l.getAllPropertiesImplements())),i}getAllInteractiveMethods(){var e;const i=this.implements.filter(y=>y.type===p.DefinitionEntity||y.type===p.BuiltInBaseEntity&&y.interactive),a=((e=this.extends)==null?void 0:e.getAllInteractiveMethods())||[],l=i.flatMap(y=>y.getAllInteractiveMethods());return C([...this.methods,...a,...l])}inferFromInputs(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"infer-definition-entity-from-inputs"))){const l=[],c=[],e=[],y=[];if(this.parent.type!==p.DataType||!this.parent.inferred)return a==null||a.attemptAutoclose("infer-definition-entity-from-inputs",this.id),{added:[],updated:[],removed:[],affected:[],self:this};const v=[];i.forEach(b=>{v.find(V=>S(V,this.project)===S(b,this.project))||v.push(b)});const T=this.properties.filter(b=>!b.dataType);v.forEach(b=>{var W,z,ae;const D=T.find(J=>S(J,this.project)===S(b,this.project));if(!D)return;const M=nn(b.parent).getMasterInputWithValueWritterFromAllInstances(b),x=ga(M,a),q=x==null?void 0:x.clone(a,D,L.UUID.uuid(),!0);q&&((W=D.dataType)==null||W.merge(q,a),q.id!==((z=D.dataType)==null?void 0:z.id)&&q.remove({ignoreUpstream:!1},a),D.dataType&&(D.dataType.metaSync({inferred:!0,like:!0},a),D.setDataType(D.dataType,a),a==null||a.add(D,k.Affected)));let Z=null;if(b.declaration&&D.id!==((ae=b.declaration)==null?void 0:ae.id)&&(Z=b.declaration),b.setDeclaration(D,a),a==null||a.add(b,k.Updated),Z){const{updated:J,removed:fe}=Z.remove({ignoreUpstream:!1},a);c.push(...J),e.push(...fe)}});const I=[];return v.forEach(b=>{if(!b.declaration){I.push(b);return}}),I.length===0?(a==null||a.attemptAutoclose("infer-definition-entity-from-inputs",this.id),{added:[],updated:[],removed:[],affected:[],self:this}):(I.forEach(b=>{var J,fe,le,ye;const D=this.properties.find(me=>S(me,this.project)===S(b,this.project));if(D){if(b.setDeclaration(D,a),!D.getDataType(a)){const Q=nn(b.parent).getMasterInputWithValueWritterFromAllInstances(b),ue=ga(Q),Te=ue==null?void 0:ue.clone(a,D,L.UUID.uuid(),!0);Te&&((J=D.dataType)==null||J.merge(Te,a),Te.id!==((fe=D.dataType)==null?void 0:fe.id)&&Te.remove({ignoreUpstream:!1},a),D.dataType&&(D.dataType.metaSync({inferred:!0,like:!0},a),D.setDataType(D.dataType,a),a==null||a.add(D,k.Affected)))}return}const V=S(b,this.project),M=b.codeName||ov(b,this.project)||dd(Bi(V)),x=us.new(a);x.parent=this.toReference(),x.index=b.index,x.name=V,x.codeName=M,x.description=b.description;const q=ne(x,this.project);q.hydrateAncestors(),a==null||a.add(q,k.Added),q.setParent(this,a),q.initChildren(a);const W=nn(b.parent).getMasterInputWithValueWritterFromAllInstances(b),z=ga(W),ae=z==null?void 0:z.clone(a,q,L.UUID.uuid(),!0);return ae&&((le=q.dataType)==null||le.merge(ae,a),ae.id!==((ye=q.dataType)==null?void 0:ye.id)&&ae.remove({ignoreUpstream:!1},a),q.dataType&&(q.dataType.metaSync({inferred:!0,like:!0},a),q.setDataType(q.dataType,a),a==null||a.add(q,k.Affected))),this.addProperty(q,a),b.setDeclaration(q,a),a==null||a.add(b,k.Updated),q}),a==null||a.attemptAutoclose("infer-definition-entity-from-inputs",this.id),{added:C(l),updated:C(c),removed:C(e),affected:C(y),self:this})}getRawDefaultValue(){const i={};return this.properties.forEach(a=>{var c;if(!aR(a))return;const l=Bi(a.name);i[l]=((c=a.getDefaultValue())==null?void 0:c.value)||null}),i}getActiveRawDefaultValue(){const i={};return this.properties.forEach(a=>{var e;if(!aR(a))return;const l=Bi(a.name),c=(e=this.project.requestActiveDynamicValue(a,!0))==null?void 0:e.value;i[l]=(c==null?void 0:c.value)||null}),i}setAdditionalPropertiesDataType(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.SetAdditionalPropertiesDataType))){if(!this.checkCanEdit(this,a))return Y.warn(`[setAdditionalPropertiesDataType] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.SetAdditionalPropertiesDataType,this.id),this;const l=this.additionalPropertiesDataType;return(l==null?void 0:l.id)!==(i==null?void 0:i.id)&&(l==null||l.remove({ignoreUpstream:!0},a),this.additionalPropertiesDataType=i,this.subscribeToDependencies(),a==null||a.add(this,k.Affected)),a==null||a.attemptAutoclose(P.SetAdditionalPropertiesDataType,this.id),this}removeAdditionalPropertiesDataType(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveAllPropertiesImplement))){return this.checkCanEdit(this,i)?(this.additionalPropertiesDataType&&(this.additionalPropertiesDataType.remove({ignoreUpstream:!0},i),i==null||i.add(this,k.Affected),this.additionalPropertiesDataType=null),i==null||i.attemptAutoclose(P.RemoveAllPropertiesImplement,this.id),this):(Y.warn(`[removeAdditionalPropertiesDataType] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),i==null||i.attemptAutoclose(P.RemoveAllPropertiesImplement,this.id),this)}setAllPropertiesImplement(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.SetAllPropertiesImplement))){if(!this.checkCanEdit(this,a))return Y.warn(`[setAllPropertiesImplement] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.SetAllPropertiesImplement,this.id),this;const l=this.allPropertiesImplement;return(l==null?void 0:l.id)!==(i==null?void 0:i.id)&&(l==null||l.remove({ignoreUpstream:!0},a),this.allPropertiesImplement=i,this.subscribeToDependencies(),a==null||a.add(this,k.Affected)),a==null||a.attemptAutoclose(P.SetAllPropertiesImplement,this.id),this}removeAllPropertiesImplement(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveAllPropertiesImplement))){return this.checkCanEdit(this,i)?(this.allPropertiesImplement&&(this.allPropertiesImplement.remove({ignoreUpstream:!0},i),i==null||i.add(this,k.Affected),this.allPropertiesImplement=null),i==null||i.attemptAutoclose(P.RemoveAllPropertiesImplement,this.id),this):(Y.warn(`[removeAllPropertiesImplement] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),i==null||i.attemptAutoclose(P.RemoveAllPropertiesImplement,this.id),this)}};_(ai,"repository",{APICreate:async(i,...a)=>i,APIUpdate:async(i,...a)=>i,APIDelete:async(i,...a)=>i,APIClone:async(i,...a)=>{},APILoad:async(i,...a)=>null,APILoadVersion:async(i,a,...l)=>null}),_(ai,"type",p.DefinitionEntity),_(ai,"USER_MANAGED_PARENT_TYPES",[p.Project,p.DataType]),_(ai,"PARENT_TYPES",[...ai.USER_MANAGED_PARENT_TYPES]),_(ai,"MUTABLE_BASE_PROPERTIES",["name","codeName","description","static","abstract","additionalProperties"]),_(ai,"INMUTABLE_BASE_PROPERTIES",["id","type","version","createdAt","author","previousVersion"]),_(ai,"BASE_PROPERTIES",[...ai.MUTABLE_BASE_PROPERTIES,...ai.INMUTABLE_BASE_PROPERTIES]),_(ai,"MUTABLE_META_PROPERTIES",[...ai.MUTABLE_BASE_PROPERTIES,"x","y"]),_(ai,"INMUTABLE_META_PROPERTIES",[...ai.INMUTABLE_BASE_PROPERTIES]),_(ai,"META_PROPERTIES",[...ai.MUTABLE_META_PROPERTIES,...ai.INMUTABLE_META_PROPERTIES]),_(ai,"MUTABLE_UPSTREAM_PROPERTIES",["extends","implements"]),_(ai,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),_(ai,"UPSTREAM_PROPERTIES",[...ai.MUTABLE_UPSTREAM_PROPERTIES,...ai.INMUTABLE_UPSTREAM_PROPERTIES]),_(ai,"MUTABLE_DOWNSTREAM_PROPERTIES",["properties","methods","abstractMethods","allPropertiesImplement","additionalPropertiesDataType"]),_(ai,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),_(ai,"DOWNSTREAM_PROPERTIES",[...ai.MUTABLE_DOWNSTREAM_PROPERTIES,...ai.INMUTABLE_DOWNSTREAM_PROPERTIES]),_(ai,"PROPERTIES",[...ai.META_PROPERTIES,...ai.UPSTREAM_PROPERTIES,...ai.DOWNSTREAM_PROPERTIES]);let ps=ai;function IVe(d){const u=[];return xi(d.errors,u)}const wy=class wy extends dA{constructor(i,a){super(i);_(this,"initialData");_(this,"id");_(this,"version");_(this,"name");_(this,"description",null);_(this,"type",p.BuiltInBaseEntity);_(this,"abstract",!1);_(this,"static");_(this,"additionalProperties",!1);_(this,"properties",[]);_(this,"allPropertiesImplement",null);_(this,"additionalPropertiesDataType",null);_(this,"methods",[]);_(this,"abstractMethods",[]);_(this,"extends",null);_(this,"interactive",!1);_(this,"errors",[]);_(this,"project");if(this.initialData=this.initialData||i,this.project=this.project||a,this.id=this.id||i.id,this.version=this.version||i.version,this.name=this.name||i.name,this.static=this.static||i.static,this.interactive=this.interactive||i.interactive,this.abstract=i.abstract,this.additionalProperties=i.additionalProperties,this.properties=this.initialData.properties.map(l=>{const c=ne(l,this.project);return c.setParent(this,null),c.initChildren(null),c}),this.methods=this.initialData.methods.map(l=>{const c=ne(l,this.project);return c.setParent(this,null),c.initChildren(null),c}),this.abstractMethods=this.initialData.abstractMethods.map(l=>{const c=ne(l,this.project);return c.setParent(this,null),c.initChildren(null),c}),this.initialData.allPropertiesImplement){const l=ne(this.initialData.allPropertiesImplement,this.project);l.setParent(this,null),l.initChildren(null),this.allPropertiesImplement=l}if(this.initialData.additionalPropertiesDataType){const l=ne(this.initialData.additionalPropertiesDataType,this.project);l.setParent(this,null),l.initChildren(null),this.additionalPropertiesDataType=l}this.initialData.extends&&(this.extends=ne(this.initialData.extends,this.project))}get allMethods(){return C([...this.ownDeclaredMethods,...this.allBaseMethodsFromOriginalParents])}get allProperties(){return C([...this.ownDeclaredProperties,...this.allBasePropertiesFromOriginalParents])}get allBaseMethodsFromOriginalParents(){var l;const i=((l=this.extends)==null?void 0:l.allMethods)||[],a=[...i].filter(c=>!i.some(e=>e.id!==c.id));return C(a)}get allBasePropertiesFromOriginalParents(){var l;const i=((l=this.extends)==null?void 0:l.allProperties)||[],a=[...i].filter(c=>!i.some(e=>{var y;return e.id!==c.id&&(!!e.implements.find(v=>v.id===c.id)||((y=e.extends)==null?void 0:y.id)===c.id)}));return C(a)}get allBasePropertiesFromExtendedAndImplementedEntities(){var l,c;const i=[...((l=this.extends)==null?void 0:l.ownDeclaredProperties)||[],...((c=this.extends)==null?void 0:c.allBasePropertiesFromExtendedAndImplementedEntities)||[]].filter(e=>!e.abstract),a=[...i].filter(e=>!i.some(y=>{var v;return y.id!==e.id&&(!!y.implements.find(T=>T.id===e.id)||((v=y.extends)==null?void 0:v.id)===e.id)}));return C([...a])}get allBaseMethodsFromExtendedAndImplementedEntities(){return C([...(this.extends?[this.extends]:[]).reduce((i,a)=>a.type===p.PrimitiveEntity?i:[...[...a.ownDeclaredMethods,...a.allBaseMethodsFromExtendedAndImplementedEntities].filter(c=>c.type!==p.ActionDescriptor),...i],[])])}get extendedPropertiesFromOriginalParents(){var l,c;const i=[...((l=this.extends)==null?void 0:l.ownDeclaredProperties)||[],...((c=this.extends)==null?void 0:c.extendedPropertiesFromOriginalParents)||[]].filter(e=>!e.abstract),a=[...i].filter(e=>!i.some(y=>{var v;return y.id!==e.id&&(!!y.implements.find(T=>T.id===e.id)||((v=y.extends)==null?void 0:v.id)===e.id)}));return C(a)}get implementedPropertiesFromOriginalParents(){return C([...(this.extends?[this.extends]:[]).reduce((i,a)=>{const l=a.implementedPropertiesFromOriginalParents,c=[...a.ownDeclaredProperties].filter(v=>!!v.abstract),e=[...l,...c,...i];return[...e].filter(v=>!!!e.find(I=>{var b;return((b=I.extends)==null?void 0:b.id)===v.id||!!I.implements.find(D=>D.id===v.id)}))},[])].filter(i=>!!i.abstract))}get extendedProperties(){return this.properties.filter(i=>i.isExtendedProperty)}get ownDeclaredMethods(){return[...this.methods,...this.abstractMethods]}get ownDeclaredProperties(){return this.properties.filter(i=>!i.isExtendedProperty)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}async APILoad(i=we,...a){return await wy.repository.APILoad(this.id,...a),this}toFlat(i=new Set){var l;return i.has(this.id)?[]:(i.add(this.id),[this,...this.properties.flatMap(c=>c.toFlat(i)),...this.methods.flatMap(c=>c.toFlat(i)),...this.abstractMethods.flatMap(c=>c.toFlat(i)),...((l=this.extends)==null?void 0:l.toFlat(i))||[]])}toFlatIds(i=new Set){var l;return i.has(this.id)?[]:(i.add(this.id),[this.id,...this.properties.flatMap(c=>c.toFlatIds(i)),...this.methods.flatMap(c=>c.toFlatIds(i)),...this.abstractMethods.flatMap(c=>c.toFlatIds(i)),...((l=this.extends)==null?void 0:l.toFlatIds(i))||[]])}toMeta(){return{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,description:this.description,interactive:this.interactive,additionalProperties:this.additionalProperties,abstract:this.abstract,static:this.static,type:this.type,name:this.name}}toJSON(i=new Set){var a,l,c;return i.has(this.id)?this.toReference():(i.add(this.id),{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,additionalProperties:this.additionalProperties,interactive:this.interactive,additionalPropertiesDataType:((a=this.additionalPropertiesDataType)==null?void 0:a.toJSON(i))||null,allPropertiesImplement:((l=this.allPropertiesImplement)==null?void 0:l.toJSON(i))||null,properties:this.properties.map(e=>e.toJSON(i)),methods:this.methods.map(e=>e.toJSON(i)),abstractMethods:this.abstractMethods.map(e=>e.toJSON(i)),extends:((c=this.extends)==null?void 0:c.toJSON(i))||null})}toReference(i=He){return{id:this.id+"--"+L.UUID.uuid()+"--ref",type:p.GenericReference,entityId:this.id,version:this.version,entityType:this.type}}toShallowJSON(i=He){var a,l,c;return{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,interactive:this.interactive,additionalProperties:this.additionalProperties,additionalPropertiesDataType:((a=this.additionalPropertiesDataType)==null?void 0:a.toReference())||null,allPropertiesImplement:((l=this.allPropertiesImplement)==null?void 0:l.toReference())||null,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),extends:((c=this.extends)==null?void 0:c.toReference())||null}}toFlatJSON(i=new Set){var l,c;return i.has(this.id)?[]:(i.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(e=>e.toFlatJSON(i)),...this.methods.flatMap(e=>e.toFlatJSON(i)),...this.abstractMethods.flatMap(e=>e.toFlatJSON(i)),...((l=this.additionalPropertiesDataType)==null?void 0:l.toFlatJSON(i))||[],...((c=this.allPropertiesImplement)==null?void 0:c.toFlatJSON(i))||[]])}toGenerationTarget(){var i;return{id:this.id,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,interactive:this.interactive,additionalProperties:this.additionalProperties,extends:(i=this.extends)==null?void 0:i.id}}toFlatGenerationTarget(i=new Set){var l,c;return i.has(this.id)?[]:(i.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(e=>e.toFlatGenerationTarget(i)),...this.methods.flatMap(e=>e.toFlatGenerationTarget(i)),...this.abstractMethods.flatMap(e=>e.toFlatGenerationTarget(i)),...((l=this.additionalPropertiesDataType)==null?void 0:l.toFlatGenerationTarget(i))||[],...((c=this.allPropertiesImplement)==null?void 0:c.toFlatGenerationTarget(i))||[]])}clearErrors(){var i,a;return this.errors=[],this.properties.forEach(l=>l.clearErrors()),this.methods.forEach(l=>l.clearErrors()),this.abstractMethods.forEach(l=>l.clearErrors()),(i=this.additionalPropertiesDataType)==null||i.clearErrors(),(a=this.allPropertiesImplement)==null||a.clearErrors(),this}validate(){const i=IVe(this);return this.errors=i,{success:!0}}getErrors(){var a,l;return[...this.errors,...this.properties.flatMap(c=>c.getErrors()),...this.methods.flatMap(c=>c.getErrors()),...this.abstractMethods.flatMap(c=>c.getErrors()),...((a=this.additionalPropertiesDataType)==null?void 0:a.getErrors())||[],...((l=this.allPropertiesImplement)==null?void 0:l.getErrors())||[]]}getShallowErrors(){return this.errors}implement(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),null,!0,"implement-built-in-base-entity")),l){const c=K0(this,i,a,l);return a==null||a.attemptAutoclose("implement-built-in-base-entity",this.id),c}getAllPropertiesImplements(){var a;const i=[];return this.allPropertiesImplement&&i.push(this.allPropertiesImplement),((a=this.extends)==null?void 0:a.type)===p.BuiltInBaseEntity&&i.push(...this.extends.getAllPropertiesImplements()||[]),i}getAllInteractiveMethods(){const i=[];if(this.interactive){if(i.push(...this.methods,...this.abstractMethods),!this.extends||this.extends.type===p.BuiltInBaseEntity&&this.extends.interactive||this.extends.type===p.PrimitiveEntity)return i;this.extends instanceof wy&&i.push(...this.extends.getAllInteractiveMethods())}return C(i)}};_(wy,"repository",{APILoad:async(i,...a)=>null});let Oa=wy;function AVe(d){const u=[];return xi(d.errors,u)}const fv=class fv extends dA{constructor(i,a){super(i);_(this,"initialData");_(this,"id");_(this,"name");_(this,"description",null);_(this,"type",p.PrimitiveEntity);_(this,"static");_(this,"abstract");_(this,"properties",[]);_(this,"methods",[]);_(this,"abstractMethods",[]);_(this,"extends",null);_(this,"errors",[]);_(this,"project");this.initialData=i,this.project=a,this.id=i.id,this.name=i.name,this.static=i.static,this.abstract=i.abstract,this.properties=this.initialData.properties.map(l=>{const c=ne(l,this.project);return c.setParent(this,null),c.initChildren(null),c}),this.methods=this.initialData.methods.map(l=>{const c=ne(l,this.project);return c.parent=this,c}),this.abstractMethods=this.initialData.abstractMethods.map(l=>{const c=ne(l,this.project);return c.parent=this,c})}get allMethods(){return C([...this.ownDeclaredMethods,...this.allBaseMethodsFromOriginalParents])}get allProperties(){return C([...this.ownDeclaredProperties,...this.allBasePropertiesFromOriginalParents])}get allBaseMethodsFromOriginalParents(){var l;const i=((l=this.extends)==null?void 0:l.allMethods)||[],a=[...i].filter(c=>!i.some(e=>e.id!==c.id));return C(a)}get allBasePropertiesFromOriginalParents(){var l;const i=((l=this.extends)==null?void 0:l.allProperties)||[],a=[...i].filter(c=>!i.some(e=>{var y;return e.id!==c.id&&(e.implements.find(v=>v.id===c.id)||((y=e.extends)==null?void 0:y.id)===c.id)}));return C(a)}get allBasePropertiesFromExtendedAndImplementedEntities(){var l,c;const i=[...((l=this.extends)==null?void 0:l.ownDeclaredProperties)||[],...((c=this.extends)==null?void 0:c.allBasePropertiesFromExtendedAndImplementedEntities)||[]].filter(e=>!e.abstract),a=[...i].filter(e=>!i.some(y=>{var v;return y.id!==e.id&&(y.implements.find(T=>T.id===e.id)||((v=y.extends)==null?void 0:v.id)===e.id)}));return C(a)}get extendedPropertiesFromOriginalParents(){var l,c;const i=[...((l=this.extends)==null?void 0:l.ownDeclaredProperties)||[],...((c=this.extends)==null?void 0:c.extendedPropertiesFromOriginalParents)||[]].filter(e=>!e.abstract),a=[...i].filter(e=>!i.some(y=>{var v;return y.id!==e.id&&(y.implements.find(T=>T.id===e.id)||((v=y.extends)==null?void 0:v.id)===e.id)}));return C(a)}get implementedPropertiesFromOriginalParents(){return C([...(this.extends?[this.extends]:[]).reduce((i,a)=>{const l=a.implementedPropertiesFromOriginalParents,c=[...a.ownDeclaredProperties].filter(v=>!!v.abstract),e=[...l,...c,...i];return[...e].filter(v=>!!!e.find(I=>{var b;return((b=I.extends)==null?void 0:b.id)===v.id||I.implements.find(D=>D.id===v.id)}))},[])])}get extendedProperties(){return this.properties.filter(i=>i.isExtendedProperty)}get ownDeclaredMethods(){return[...this.methods]}get ownDeclaredProperties(){return this.properties.filter(i=>!i.isExtendedProperty)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}async APILoad(i=we,...a){return await fv.repository.APILoad(this.id,...a),this}toFlat(i=new Set){return i.has(this.id)?[]:(i.add(this.id),[this,...this.properties.flatMap(l=>l.toFlat(i)),...this.methods.flatMap(l=>l.toFlat(i)),...this.abstractMethods.flatMap(l=>l.toFlat(i))])}toFlatIds(i=new Set){return i.has(this.id)?[]:(i.add(this.id),[this.id,...this.properties.flatMap(l=>l.toFlatIds(i)),...this.methods.flatMap(l=>l.toFlatIds(i)),...this.abstractMethods.flatMap(l=>l.toFlatIds(i))])}toMeta(){return{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,description:this.description,static:this.static,abstract:this.abstract,type:this.type,name:this.name}}toJSON(i=new Set){var a;return i.has(this.id)?this.toReference():(i.add(this.id),{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,properties:this.properties.map(l=>l.toJSON(i)),methods:this.methods.map(l=>l.toJSON(i)),abstractMethods:this.abstractMethods.map(l=>l.toJSON(i)),extends:((a=this.extends)==null?void 0:a.toJSON(i))||null})}toReference(i=He){return{id:this.id+"--"+L.UUID.uuid()+"--ref",type:p.GenericReference,entityId:this.id,version:this.version,entityType:this.type}}toShallowJSON(i=He){var a;return{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,properties:this.properties.map(l=>l.toReference()),methods:this.methods.map(l=>l.toReference()),abstractMethods:this.abstractMethods.map(l=>l.toReference()),extends:((a=this.extends)==null?void 0:a.toReference())||null}}toFlatJSON(i=new Set){return i.has(this.id)?[]:(i.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(l=>l.toFlatJSON(i)),...this.methods.flatMap(l=>l.toFlatJSON(i)),...this.abstractMethods.flatMap(l=>l.toFlatJSON(i))])}toGenerationTarget(){var i;return{id:this.id,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,extends:(i=this.extends)==null?void 0:i.id}}toFlatGenerationTarget(i=new Set){return i.has(this.id)?[]:(i.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(l=>l.toFlatGenerationTarget(i)),...this.methods.flatMap(l=>l.toFlatGenerationTarget(i)),...this.abstractMethods.flatMap(l=>l.toFlatGenerationTarget(i))])}clearErrors(){return this.errors=[],this.properties.forEach(i=>i.clearErrors()),this.methods.forEach(i=>i.clearErrors()),this.abstractMethods.forEach(i=>i.clearErrors()),this}validate(){const i=AVe(this);return this.errors=i,{success:!0}}getErrors(){return[...this.errors,...this.properties.flatMap(a=>a.getErrors()),...this.methods.flatMap(a=>a.getErrors()),...this.abstractMethods.flatMap(a=>a.getErrors())]}getShallowErrors(){return this.errors}getAllInteractiveMethods(){const i=[];return i.push(...this.methods),!this.extends||this.extends.type===p.BuiltInBaseEntity&&this.extends.interactive||this.extends.type===p.PrimitiveEntity?i:(this.extends instanceof Oa&&i.push(...this.extends.getAllInteractiveMethods()),C(i))}};_(fv,"repository",{APILoad:async(i,...a)=>null});let Rn=fv;function Ci(d,u){if(!d)throw new Error("Entity is null");const i=u.get(d.id);switch(d.type){case p.LiteralValue:return i||new Pr(d,u);case p.DefinitionEntity:return i||new ps(d,u);case p.PrimitiveEntity:return i||new Rn(d,u);case p.FunctionDeclaration:return i||new Ia(d,u);case p.GlobalEvent:return i||new to(d,u);case p.DataType:return i||new Zr(d,u);case p.Property:return i||new us(d,u);case p.FunctionCall:return i||new Eo(d,u);case p.Condition:return i||new ro(d,u);case p.Operation:return i||new eo(d,u);case p.VariableDeclaration:return i||new lo(d,u);case p.VariableInstance:return i||new ao(d,u);case p.OutputMap:return i||new ta(d,u);case p.ArgumentDeclaration:return i||new ns(d,u);case p.InputMap:return i||new ls(d,u);case p.Project:return i||new L(d);case p.InstalledProject:return i||new uo(d,u);case p.ActionDescriptor:return i||new Ut(d,u);case p.ReturnStatement:return i||new cl(d,u);case p.Loop:return i||new io(d,u);case p.Search:return i||new oo(d,u);case p.ValueDescriptor:return i||new hl(d,u);case p.BuiltInBaseEntity:return i||new Oa(d,u);case p.InternalCall:return i||new po(d,u);case p.ContinueStatement:return i||new fo(d,u);case p.BreakStatement:return i||new co(d,u);case p.GenericReference:return u.get(d.entityId);default:throw new Error("Invalid entity type: "+d.type)}}function ne(d,u){if(!d)throw new Error("Entity is null");const i=Ci(d,u);return i.subscribe(),i}function wVe(d,u){if(!d)throw new Error("Entity is null");switch(d.type){case p.LiteralValue:return Pr.fromGenerationTarget(d,u);case p.DefinitionEntity:return ps.fromGenerationTarget(d,u);case p.FunctionDeclaration:return Ia.fromGenerationTarget(d,u);case p.GlobalEvent:return to.fromGenerationTarget(d,u);case p.DataType:return Zr.fromGenerationTarget(d,u);case p.Property:return us.fromGenerationTarget(d,u);case p.FunctionCall:return Eo.fromGenerationTarget(d,u);case p.Condition:return ro.fromGenerationTarget(d,u);case p.Operation:return eo.fromGenerationTarget(d,u);case p.VariableDeclaration:return lo.fromGenerationTarget(d,u);case p.VariableInstance:return ao.fromGenerationTarget(d,u);case p.OutputMap:return ta.fromGenerationTarget(d,u);case p.ArgumentDeclaration:return ns.fromGenerationTarget(d,u);case p.InputMap:return ls.fromGenerationTarget(d,u);case p.InstalledProject:return uo.fromGenerationTarget(d,u);case p.ReturnStatement:return cl.fromGenerationTarget(d,u);case p.Loop:return io.fromGenerationTarget(d,u);case p.Search:return oo.fromGenerationTarget(d,u);case p.ActionDescriptor:return Ut.fromGenerationTarget(d,u);case p.ValueDescriptor:return hl.fromGenerationTarget(d,u);case p.InternalCall:return po.fromGenerationTarget(d,u);case p.ContinueStatement:return fo.fromGenerationTarget(d,u);case p.BreakStatement:return co.fromGenerationTarget(d,u);default:throw new Error("Invalid entity type: "+d.type)}}const He={seenEntityMaps:new Map,seenEntities:new Set,timestamp:B().toISOString()};class Kz{constructor(){_(this,"initialData")}}const we={cascade:!1},qz={APILoad:async(d,...u)=>null},RVe={APICreate:async(d,...u)=>d,APIUpdate:async(d,...u)=>d,APIDelete:async(d,...u)=>d,APIClone:async(d,...u)=>{},APILoadVersion:async(d,u,...i)=>null,...qz};class CVe{}class Zz extends Kz{}class gVe extends Zz{}class _Ve{}class DVe{}class OVe{}class mR{}class PVe extends mR{}class $Ve extends mR{}class NVe{}class Nd{static initReadsValue(u){if(u.initialData.readsValue&&u.initialData.readsValue.type!==p.GenericReference)u.readsValue=ne(u.initialData.readsValue,u.project);else if(u.initialData.readsValue&&u.initialData.readsValue.type===p.GenericReference){const i=an(u.initialData.readsValue,u.project);i&&(u.readsValue=i)}if(u.readsValue){if($t.includes(u.readsValue.type)){let i=u.parent;!Qi.includes(i.type)&&i.type!==p.Project&&(i=i.parent);const a=u.type===p.InputMap&&u.parent.type===p.Loop;a&&(i=u.parent.parent),u.readsValue.setParent(i,null),u.readsValue.initChildren(null),i&&i.type!==p.Project&&!a&&i.detachedChildren.includes(u)?i.replaceDetachedChild(u,u.readsValue):i&&i.type!==p.Project&&!a&&i.subscribeDetachedChild(u.readsValue)}u.readsValue.addValueReader(u,null)}return u.readsValue}}class Iy{static initWritesValues(u,i){const a=u.initialData.writesValues.reduce((c,e)=>{if(e.type===p.GenericReference||u.writesValues.some(v=>v.id===e.id))return c;const y=ne(e,u.project);return y.setValueWriter(u,null),$t.includes(y.type)&&(y.setParent(i,null),y.initChildren(null)),[...c,y]},[]),l=[...u.writesValues];return u.writesValues=C([...l,...a]),u.writesValues}}class VVe{}var Yi=(d=>(d.PROJECT_INITIALIZED="project-initialized",d.CHANGE_SET_CLOSED="change-set-closed",d.EXPLICIT_DEFINITION_ENTITY_ADDED="explicit-definition-entity-added",d.EXPLICIT_DEFINITION_ENTITY_REMOVED="explicit-definition-entity-removed",d.EXPLICIT_DEFINITION_ENTITY_UPDATED="explicit-definition-entity-updated",d.PERSISTED_DEFINITION_ENTITY_ADDED="persisted-definition-entity-added",d.PERSISTED_DEFINITION_ENTITY_REMOVED="persisted-definition-entity-removed",d.PERSISTED_DEFINITION_ENTITY_UPDATED="persisted-definition-entity-updated",d.RELATIONAL_DATABASE_DEFINITION_ENTITY_ADDED="relational-database-definition-entity-added",d.RELATIONAL_DATABASE_DEFINITION_ENTITY_REMOVED="relational-database-definition-entity-removed",d.RELATIONAL_DATABASE_DEFINITION_ENTITY_UPDATED="relational-database-definition-entity-updated",d))(Yi||{});const vR={...MA,events:new Gu},Wz={requestActiveDynamicValue:(d,u=!1)=>null,...vR},Et=class Et extends pr{constructor(i,a={...Wz,events:new Gu}){super(i);_(this,"initialData");_(this,"id");_(this,"type",p.Project);_(this,"name",null);_(this,"description",null);_(this,"x");_(this,"y");_(this,"entities",[]);_(this,"projects",[]);_(this,"functions",[]);_(this,"events",[]);_(this,"variableDeclarations",[]);_(this,"variableInstances",[]);_(this,"conditions",[]);_(this,"operations",[]);_(this,"functionCalls",[]);_(this,"loops",[]);_(this,"searches",[]);_(this,"primitives",[]);_(this,"builtInBaseEntities",[]);_(this,"operationDeclarations",[]);_(this,"globalEventActionDescriptors",[]);_(this,"loopDeclarations",[]);_(this,"loopDeclarationsBodies",[]);_(this,"conditionDeclarations",[]);_(this,"valueDescriptors",[]);_(this,"dataTypes",[]);_(this,"project");_(this,"instances",{});_(this,"builtInInstances",{});_(this,"deletedInstances",{});_(this,"errors",[]);_(this,"references",[]);_(this,"history",[]);_(this,"undoableStackValueIndex",-1);_(this,"detachedDependents",{});_(this,"knownVersions",null);_(this,"activeVersion",!1);_(this,"initialized",!1);_(this,"startedInitialization",!1);_(this,"onCloseChangeSetCallback",null);_(this,"onAddChangeSetCallback",null);_(this,"onDiscardChangeSetCallback",null);if(this.parentContext=a,this.initialData=i,this.id=i.id,this.name=i.name,this.description=i.description,this.x=0,this.y=0,this.instances[this.id]=this,!Et.UUID)throw new Error("UUID module is already initialized. Please inject a valid UUID module.")}static get UUID(){var i;return(i=this.parentContext.requestExtension("uuid"))==null?void 0:i.module}static new(i=null){return{id:Et.UUID.uuid(),version:Et.UUID.uuid(),createdAt:(i==null?void 0:i.timestamp)||B().toISOString(),author:(i==null?void 0:i.author)||Et.sessionAuthor,previousVersion:null,deleted:!1,deletable:!0,editable:!0,type:p.Project,name:"",description:"",entities:[],functions:[],events:[],projects:[],variableDeclarations:[],variableInstances:[],conditions:[],operations:[],functionCalls:[],loops:[],searches:[]}}static validateGenerationTarget(i,a){let l=JSON.parse(JSON.stringify(i));const c=[];return c.push(...rr(l)),{errors:c,modifiedData:l}}get off(){return this.parentContext.events.off}get on(){return this.parentContext.events.on}get emit(){return this.parentContext.events.emit}async closePendingChangeSets(){const i=this.history.find(a=>a.dirty&&!a.open);i&&await this.closeChangeSet(i)}async onCloseChangeSet(i){this.onCloseChangeSetCallback=i,await this.closePendingChangeSets()}onAddChangeSet(i){this.onAddChangeSetCallback=i}onDiscardChangeSet(i){this.onDiscardChangeSetCallback=i}async closeChangeSet(i){const a=this.history.findIndex(e=>e.id===i.id),l=this.history.slice(0,a),c=l[l.length-1];if(!(c!=null&&c.dirty)&&this.onCloseChangeSetCallback){(await this.onCloseChangeSetCallback(i)).success&&(i.dirty=!1,this.emit("change-set-closed",i),this.closePendingChangeSets());return}}toLatestChangeSet(i,a,l,c=!1,e="here-this"){if(!this.history.length)return new G(this,i,a,l,c,e);const y=this.history[this.history.length-1];return y.open?y:this.addChangeSet(new G(this,i,a,l,c,e))}addChangeSet(i){var c,e;if(!this.history.length)return this.undoableStackValueIndex=oA(this.undoableStackValueIndex,this.history,i),(c=this.onAddChangeSetCallback)==null||c.call(this,i,this.undoableStackValueIndex),i;const a=this.history.find(y=>y.id===(i==null?void 0:i.id));if(a)return a;const l=this.history.find(y=>y.open);if(l)throw Y.warn("Previous still open: ",l),Y.warn("New change set: ",i),new Error(`There is already an open change-set with id '${l.id}'.`);return this.undoableStackValueIndex=oA(this.undoableStackValueIndex,this.history,i),(e=this.onAddChangeSetCallback)==null||e.call(this,i,this.undoableStackValueIndex),i}discardChangeSet(i){var l;const a=this.history.findIndex(c=>c.id===(i==null?void 0:i.id));return a!==-1&&(this.history.splice(a,1),this.undoableStackValueIndex=this.undoableStackValueIndex-1,(l=this.onDiscardChangeSetCallback)==null||l.call(this,i),i==null||i.teardown()),this}validateGeneratedUpdate(i){return{errors:[],modifiedData:i}}subscribeDependents(i){return i.forEach(a=>{this.detachedDependents[a.entity.id]||(this.detachedDependents[a.entity.id]=a)}),this}unsubscribeDependents(i){return i.forEach(a=>{this.detachedDependents[a.entity.id]&&delete this.detachedDependents[a.entity.id]}),this}syncDependents(i=this.project.addChangeSet(new G(this.project,Et.sessionAuthor,B().toISOString(),this,!0,"sync-dependents"))){const a=[],l=[],c=[],e=[];return Object.values(this.detachedDependents).forEach(y=>{const v=y.entity.afterAllChildrenInitialized(i);a.push(...v.updated),l.push(...v.added),c.push(...v.removed),e.push(...v.affected)}),i==null||i.attemptAutoclose("sync-dependents",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}onDetachedDependencyRemoved(i,a,l){const c=[],e=[],y=[],v=[];return{updated:C(c),added:C(e),removed:C(y),affected:C(v),self:this}}onDetachedDependencyRestored(i,a,l){const c=[],e=[],y=[],v=[];return{updated:C(c),added:C(e),removed:C(y),affected:C(v),self:this}}unsubscribeFromDependencies(){return this}subscribeToDependencies(){return this}increaseVersion(i){if(i&&!B(i).isValid())throw new Error(`The shared timestamp '${i}' is not a valid ISO 8601 date string.`);return i&&B(i).isSame(B(this.createdAt))?this:(this.previousVersion=this.version,this.version=Et.UUID.uuid(),this.createdAt=B(i).toISOString()||B().toISOString(),this)}captureVersion(){var a;const i=((a=this.knownVersions)==null?void 0:a.get(this.version))||new Et(this);return i.metaSync(this.toMeta(),null),this.knownVersions=this.knownVersions?this.knownVersions.set(this.version,i):new Map([[this.version,i]]),i.entities=[...this.entities],i.projects=[...this.projects],i.functions=[...this.functions],i.events=[...this.events],i.variableDeclarations=[...this.variableDeclarations],i.variableInstances=[...this.variableInstances],i.conditions=[...this.conditions],i.operations=[...this.operations],i.functionCalls=[...this.functionCalls],i.loops=[...this.loops],i.searches=[...this.searches],this}recursiveCaptureUpstreamVersions(i){const a=[],l=[],c=[],e=[];return{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}async restoreVersion(i){var v;const a=[],l=[],c=[],e=[];if(this.version===i)return{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this};if(!this.knownVersions){const T=new Map;for(const[I,b]of this.knownVersions||new Map){if(T.set(I,b),b.activeVersion=!1,b.knownVersions)for(const[D,V]of b.knownVersions)T.set(D,V);b.knownVersions=null}}let y=(v=this.knownVersions)==null?void 0:v.get(i);if(!y){const T=await this.APILoadVersion({},i);if(!T)throw new Error(`Version with id '${i}' for entity with id '${this.id}' not found.`);y=new Et(T)}return this.metaSync(y.toShallowJSON(),null),this.previousVersion=y.previousVersion,this.version=y.version,this.createdAt=y.createdAt,this.author=y.author,this.deleted=y.deleted,this.entities=y.entities,this.projects=y.projects,this.functions=y.functions,this.events=y.events,this.variableDeclarations=y.variableDeclarations,this.variableInstances=y.variableInstances,this.conditions=y.conditions,this.operations=y.operations,this.functionCalls=y.functionCalls,this.loops=y.loops,this.searches=y.searches,{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}updateWithShallowTransfer(i,a=this.project.addChangeSet(new G(this.project,Et.sessionAuthor,B().toISOString(),this,!0,P.UpdateWithShallowTransfer))){return this.checkCanEdit(this,a)?(this.metaSync(i,a),this.version=i.version,this.createdAt=i.createdAt,this.author=i.author,this.deleted=i.deleted,this.previousVersion=i.previousVersion,this.captureVersion(),this.subscribeToDependencies(),a==null||a.attemptAutoclose(P.UpdateWithShallowTransfer,this.id),this):(Y.warn(`[updateWithShallowTransfer] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.UpdateWithShallowTransfer,this.id),this)}hydrateAncestors(){const i=[],a=[],l=[],c=[];return{updated:C(i),added:C(a),removed:C(l),affected:C(c),self:this}}afterAllChildrenInitialized(i=null){const a=[],l=[],c=[],e=[];return this.initialized||(this.initialized=!0,this.emit("project-initialized",this,i)),this.validate(),this.captureVersion(),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}addSelfToProject(i){const a=[],l=[],c=[],e=[];return this.subscribe(),this.subscribeToDependencies(),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}get instancesList(){return Object.values(this.instances)}isOperationDeclaration(i){return this.operationDeclarations.includes(i)}isGlobalEventActionDescriptor(i){return this.globalEventActionDescriptors.includes(i)}isLoopDeclaration(i){return this.loopDeclarations.includes(i)}isConditionDeclaration(i){return this.conditionDeclarations.includes(i)}initChildren(i=this.project.addChangeSet(new G(this.project,Et.sessionAuthor,B().toISOString(),this,!0,"init-children"))){return this.initialized||this.startedInitialization?this:(this.startedInitialization=!0,this.entities=this.initialData.entities.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.projects=this.initialData.projects.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.variableDeclarations=this.initialData.variableDeclarations.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.variableInstances=this.initialData.variableInstances.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.conditions=this.initialData.conditions.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.operations=this.initialData.operations.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.functions=this.initialData.functions.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.events=this.initialData.events.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.functionCalls=this.initialData.functionCalls.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.loops=this.initialData.loops.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.searches=this.initialData.searches.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.attachOrphanReferences(),this.subscribeToDependencies(),this.afterAllChildrenInitialized(i),i==null||i.attemptAutoclose("init-children",this.id),this)}subscribeInstance(i){return(!this.instances[i.id]||this.instances[i.id]!==i)&&(this.instances[i.id]=i),this}subscribeDeletedInstance(i){return(!this.deletedInstances[i.id]||this.deletedInstances[i.id]!==i)&&(this.deletedInstances[i.id]=i),this}subscribeBuiltInInstance(i){return(!this.builtInInstances[i.id]||this.builtInInstances[i.id]!==i)&&(this.builtInInstances[i.id]=i),this}subscribe(){return this}unsubscribe(){return this}unsubscribeInstance(i){return delete this.instances[i.id],this}unsubscribeDeletedInstance(i){return delete this.deletedInstances[i.id],this}findSubscribedBuiltInInstance(i){return this.builtInInstances[i.id]||null}get(i){return this.instances[i]||this.builtInInstances[i]||null}getDeleted(i){return this.deletedInstances[i]||null}getManaged(i){return this.getBuiltIn(i)?null:this.instances[i]||null}getBuiltIn(i){return this.builtInInstances[i]||null}findSubscribedInstanceFromReference(i){return this.instances[i.entityId]||null}findSubscribedBuiltInInstanceFromReference(i){return this.builtInInstances[i.entityId]||null}metaSync(i,a=this.project.addChangeSet(new G(this.project,Et.sessionAuthor,B().toISOString(),this,!0,"meta-sync"))){const l=sr(this,i,a),c=nr(this,l),e=this.toMeta();return this.name=l.name!==void 0?l.name:e.name,this.description=l.description!==void 0?l.description:e.description,this.x=l.x||e.x,this.y=l.y||e.y,super.baseMetaSync(l,this,a),l.deleted===!0&&!e.deleted?a==null||a.add(this,k.Removed):l.deleted===!1&&e.deleted?a==null||a.add(this,k.Added):c&&(a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose("meta-sync",this.id),this}async APILoad(i=we,...a){return await Et.repository.APILoad(this.id,...a),this}async APICreate(i=we,...a){return await Et.repository.APICreate(this.toShallowJSON(),...a),this}async APIUpdate(i=we,...a){return await Et.repository.APIUpdate(this.toShallowJSON(),...a),this}async APIDelete(i=we,...a){return await Et.repository.APIDelete(this.toShallowJSON(),...a),this}async APIClone(i=we,...a){return await Et.repository.APIClone(this.id,...a),this}async APILoadVersion(i=we,a,...l){return await Et.repository.APILoadVersion(this.id,a,...l)}remove({ignoreUpstream:i}={ignoreUpstream:!1},a=this.project.addChangeSet(new G(this.project,Et.sessionAuthor,B().toISOString(),this,!0,P.RemoveEntity))){return{added:[],updated:[],removed:[],affected:[],self:this}}restore({}={},i=this.project.addChangeSet(new G(this.project,Et.sessionAuthor,B().toISOString(),this,!0,P.RestoreEntity))){return{added:[],updated:[],removed:[],affected:[],self:this}}getAllBuiltInIds(){const i=new Set;return[...this.primitives.flatMap(a=>a.toFlatIds(i)),...this.builtInBaseEntities.flatMap(a=>a.toFlatIds(i)),...this.operationDeclarations.flatMap(a=>a.toFlatIds(i)),...this.globalEventActionDescriptors.flatMap(a=>a.toFlatIds(i)),...this.loopDeclarations.flatMap(a=>a.toFlatIds(i)),...this.conditionDeclarations.flatMap(a=>a.toFlatIds(i)),...this.valueDescriptors.flatMap(a=>a.toFlatIds(i)),...this.dataTypes.flatMap(a=>a.toFlatIds(i))]}getAllBuiltIn(){const i=new Set;return[...this.primitives.flatMap(a=>a.toFlat(i)),...this.builtInBaseEntities.flatMap(a=>a.toFlat(i)),...this.operationDeclarations.flatMap(a=>a.toFlat(i)),...this.globalEventActionDescriptors.flatMap(a=>a.toFlat(i)),...this.loopDeclarations.flatMap(a=>a.toFlat(i)),...this.conditionDeclarations.flatMap(a=>a.toFlat(i)),...this.valueDescriptors.flatMap(a=>a.toFlat(i)),...this.dataTypes.flatMap(a=>a.toFlat(i))]}toFlat(i=new Set){return i.has(this.id)?[]:(i.add(this.id),[this,...this.entities.flatMap(l=>l.toFlat(i)),...this.functions.flatMap(l=>l.toFlat(i)),...this.events.flatMap(l=>l.toFlat(i)),...this.projects.flatMap(l=>l.toFlat(i)),...this.variableDeclarations.flatMap(l=>l.toFlat(i)),...this.variableInstances.flatMap(l=>l.toFlat(i)),...this.conditions.flatMap(l=>l.toFlat(i)),...this.operations.flatMap(l=>l.toFlat(i)),...this.functionCalls.flatMap(l=>l.toFlat(i)),...this.loops.flatMap(l=>l.toFlat(i)),...this.searches.flatMap(l=>l.toFlat(i))])}toFlatIds(i=new Set){return i.has(this.id)?[]:(i.add(this.id),[this.id,...this.entities.flatMap(l=>l.toFlatIds(i)),...this.functions.flatMap(l=>l.toFlatIds(i)),...this.events.flatMap(l=>l.toFlatIds(i)),...this.projects.flatMap(l=>l.toFlatIds(i)),...this.variableDeclarations.flatMap(l=>l.toFlatIds(i)),...this.variableInstances.flatMap(l=>l.toFlatIds(i)),...this.conditions.flatMap(l=>l.toFlatIds(i)),...this.operations.flatMap(l=>l.toFlatIds(i)),...this.functionCalls.flatMap(l=>l.toFlatIds(i)),...this.loops.flatMap(l=>l.toFlatIds(i)),...this.searches.flatMap(l=>l.toFlatIds(i))])}toMeta(){return{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,description:this.description,type:this.type,editable:this.editable,deletable:this.deletable,name:this.name}}toJSON(i=new Set){return i.has(this.id)?this.toReference():(i.add(this.id),{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,type:this.type,editable:this.editable,deletable:this.deletable,name:this.name,description:this.description,entities:this.entities.map(a=>a.toJSON(i)),variableDeclarations:this.variableDeclarations.map(a=>a.toJSON(i)),variableInstances:this.variableInstances.map(a=>a.toJSON(i)),conditions:this.conditions.map(a=>a.toJSON(i)),operations:this.operations.map(a=>a.toJSON(i)),loops:this.loops.map(a=>a.toJSON(i)),searches:this.searches.map(a=>a.toJSON(i)),functions:this.functions.map(a=>a.toJSON(i)),events:this.events.map(a=>a.toJSON(i)),projects:this.projects.map(a=>a.toJSON(i)),functionCalls:this.functionCalls.map(a=>a.toJSON(i))})}toJSONClone(i={uuidStrategy:"uuid"}){const a=new Map,l=new Set,c=this.getAllBuiltInIds();return Object.keys(this.instances).forEach(e=>{if(c.includes(e)){a.set(e,e);return}a.set(e,Et.UUID.uuid())}),l.add(this.id),{id:a.get(this.id),version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,type:this.type,editable:this.editable,deletable:this.deletable,name:this.name,description:this.description,entities:this.entities.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),projects:this.projects.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),variableDeclarations:this.variableDeclarations.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),variableInstances:this.variableInstances.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),conditions:this.conditions.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),operations:this.operations.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),functions:this.functions.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),events:this.events.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),functionCalls:this.functionCalls.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),loops:this.loops.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),searches:this.searches.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null}))}}toReference(i=He){var l;let a=this.id;return(l=i.seenEntityMaps)!=null&&l.has(this.id)&&(a=i.seenEntityMaps.get(this.id)),{id:a+"--"+Et.UUID.uuid()+"--ref",type:p.GenericReference,entityId:a,version:this.version,entityType:this.type}}toShallowJSON(i=He){var l;let a=this.id;return(l=i.seenEntityMaps)!=null&&l.has(this.id)&&(a=i.seenEntityMaps.get(this.id)),{id:a,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,type:this.type,editable:this.editable,deletable:this.deletable,name:this.name,description:this.description,entities:this.entities.map(c=>c.toReference(i)),functions:this.functions.map(c=>c.toReference(i)),events:this.events.map(c=>c.toReference(i)),projects:this.projects.map(c=>c.toReference(i)),variableDeclarations:this.variableDeclarations.map(c=>c.toReference(i)),variableInstances:this.variableInstances.map(c=>c.toReference(i)),conditions:this.conditions.map(c=>c.toReference(i)),operations:this.operations.map(c=>c.toReference(i)),functionCalls:this.functionCalls.map(c=>c.toReference(i)),loops:this.loops.map(c=>c.toReference(i)),searches:this.searches.map(c=>c.toReference(i))}}toFlatJSON(i=new Set){return i.has(this.id)?[]:(i.add(this.id),[this.toShallowJSON(),...this.entities.flatMap(l=>l.toFlatJSON(i)),...this.functions.flatMap(l=>l.toFlatJSON(i)),...this.events.flatMap(l=>l.toFlatJSON(i)),...this.projects.flatMap(l=>l.toFlatJSON(i)),...this.variableDeclarations.flatMap(l=>l.toFlatJSON(i)),...this.variableInstances.flatMap(l=>l.toFlatJSON(i)),...this.conditions.flatMap(l=>l.toFlatJSON(i)),...this.operations.flatMap(l=>l.toFlatJSON(i)),...this.functionCalls.flatMap(l=>l.toFlatJSON(i)),...this.loops.flatMap(l=>l.toFlatJSON(i)),...this.searches.flatMap(l=>l.toFlatJSON(i))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description}}toFlatGenerationTarget(i=new Set){return i.has(this.id)?[]:(i.add(this.id),[...this.entities.flatMap(l=>l.toFlatGenerationTarget(i)),...this.functions.flatMap(l=>l.toFlatGenerationTarget(i)),...this.events.flatMap(l=>l.toFlatGenerationTarget(i)),...this.projects.flatMap(l=>l.toFlatGenerationTarget(i)),...this.variableDeclarations.flatMap(l=>l.toFlatGenerationTarget(i)),...this.variableInstances.flatMap(l=>l.toFlatGenerationTarget(i)),...this.conditions.flatMap(l=>l.toFlatGenerationTarget(i)),...this.operations.flatMap(l=>l.toFlatGenerationTarget(i)),...this.functionCalls.flatMap(l=>l.toFlatGenerationTarget(i)),...this.loops.flatMap(l=>l.toFlatGenerationTarget(i)),...this.searches.flatMap(l=>l.toFlatGenerationTarget(i))])}clearErrors(){return this.errors=[],this.entities.forEach(i=>i.clearErrors()),this.projects.forEach(i=>i.clearErrors()),this.functions.forEach(i=>i.clearErrors()),this.events.forEach(i=>i.clearErrors()),this.variableDeclarations.forEach(i=>i.clearErrors()),this.variableInstances.forEach(i=>i.clearErrors()),this.conditions.forEach(i=>i.clearErrors()),this.operations.forEach(i=>i.clearErrors()),this.functionCalls.forEach(i=>i.clearErrors()),this.loops.forEach(i=>i.clearErrors()),this.searches.forEach(i=>i.clearErrors()),this}validate(){return this.validateChildren(),Vc([...this.errors]),{success:!0}}validateChildren(){this.entities.forEach(i=>i.validate()),this.projects.forEach(i=>i.validate()),this.functions.forEach(i=>i.validate()),this.events.forEach(i=>i.validate()),this.variableDeclarations.forEach(i=>i.validate()),this.variableInstances.forEach(i=>i.validate()),this.conditions.forEach(i=>i.validate()),this.operations.forEach(i=>i.validate()),this.functionCalls.forEach(i=>i.validate()),this.loops.forEach(i=>i.validate()),this.searches.forEach(i=>i.validate())}getErrors(){return[...this.errors,...this.entities.flatMap(a=>a.getErrors()),...this.projects.flatMap(a=>a.getErrors()),...this.functions.flatMap(a=>a.getErrors()),...this.events.flatMap(a=>a.getErrors()),...this.variableDeclarations.flatMap(a=>a.getErrors()),...this.variableInstances.flatMap(a=>a.getErrors()),...this.conditions.flatMap(a=>a.getErrors()),...this.operations.flatMap(a=>a.getErrors()),...this.functionCalls.flatMap(a=>a.getErrors()),...this.loops.flatMap(a=>a.getErrors()),...this.searches.flatMap(a=>a.getErrors())]}getShallowErrors(){return this.errors}clone(){return this}getDefinitionEntity(i){return this.entities.find(a=>a.id===i)||null}addDefinitionEntity(i){return this.entities.includes(i)||this.entities.push(i),i}addFunctionDeclaration(i){return this.functions.includes(i)||this.functions.push(i),i}addFunctionCall(i){return this.functionCalls.includes(i)||this.functionCalls.push(i),i}addVariableDeclaration(i){return this.variableDeclarations.includes(i)||this.variableDeclarations.push(i),i}addVariableInstance(i){return this.variableInstances.includes(i)||this.variableInstances.push(i),i}addInstalledProject(i){return this.projects.includes(i)||this.projects.push(i),this}addGlobalEvent(i){return this.events.includes(i)||this.events.push(i),this}addCondition(i){return this.conditions.includes(i)||this.conditions.push(i),this}addOperation(i){return this.operations.includes(i)||this.operations.push(i),this}addLoop(i){return this.loops.includes(i)||this.loops.push(i),this}addSearch(i){return this.searches.includes(i)||this.searches.push(i),this}removeDefinitionEntity(i){const a=this.entities.findIndex(l=>l.id===i.id);if(a>-1){const l=this.entities[a];return this.entities.splice(a,1),l}return null}removeCondition(i){const a=this.conditions.findIndex(l=>l.id===i.id);if(a>-1){const l=this.conditions[a];return this.conditions.splice(a,1),l}return null}removeOperation(i){const a=this.operations.findIndex(l=>l.id===i.id);if(a>-1){const l=this.operations[a];return this.operations.splice(a,1),l}return null}removeLoop(i){const a=this.loops.findIndex(l=>l.id===i.id);if(a>-1){const l=this.loops[a];return this.loops.splice(a,1),l}return null}removeSearch(i){const a=this.searches.findIndex(l=>l.id===i.id);if(a>-1){const l=this.searches[a];return this.searches.splice(a,1),l}return null}removeFunctionCall(i){const a=this.functionCalls.findIndex(l=>l.id===i.id);if(a>-1){const l=this.functionCalls[a];return this.functionCalls.splice(a,1),l}return null}removeVariableInstance(i){const a=this.variableInstances.findIndex(l=>l.id===i.id);if(a>-1){const l=this.variableInstances[a];return this.variableInstances.splice(a,1),l}return null}removeVariableDeclaration(i){const a=this.variableDeclarations.findIndex(l=>l.id===i.id);if(a>-1){const l=this.variableDeclarations[a];return this.variableDeclarations.splice(a,1),l}return null}removeFunctionDeclaration(i){const a=this.functions.findIndex(l=>l.id===i.id);if(a>-1){const l=this.functions[a];return this.functions.splice(a,1),l}return null}removeInstalledProject(i){const a=this.projects.findIndex(l=>l.id===i.id);if(a>-1){const l=this.projects[a];return this.projects.splice(a,1),l}return null}removeGlobalEvent(i){const a=this.events.findIndex(l=>l.id===i.id);if(a>-1){const l=this.events[a];return this.events.splice(a,1),l}return null}removeTopLevelVariableDeclaration(i){if(i.type!==p.VariableDeclaration)return null;const a=this.variableDeclarations.findIndex(l=>l.id===i.id);if(a>-1){const l=this.variableDeclarations[a];return this.variableDeclarations.splice(a,1),l}return null}getEntryPoints(){return[...this.functions,...this.events,...this.entities.flatMap(a=>a.methods)]}getTerminationStatements(){return[...this.getEntryPoints().reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.ReturnStatement||e.type===p.ContinueStatement||e.type===p.BreakStatement)]},[])]}getFunctionDeclaration(i){return this.functions.find(a=>a.id===i)||null}getConditions(){return[...this.conditions,...this.getEntryPoints().reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Condition)]},[]),...this.functionCalls.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Condition)]},[]),...this.operations.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Condition)]},[]),...this.loops.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Condition)]},[]),...this.searches.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Condition)]},[])]}getOperations(){return[...this.operations,...this.getEntryPoints().reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Operation)]},[]),...this.functionCalls.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Operation)]},[]),...this.conditions.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Operation)]},[]),...this.loops.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Operation)]},[]),...this.searches.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Operation)]},[])]}getFunctionCalls(){return[...this.functionCalls,...this.getEntryPoints().reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.FunctionCall)]},[]),...this.conditions.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.FunctionCall)]},[]),...this.operations.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.FunctionCall)]},[]),...this.loops.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.FunctionCall)]},[]),...this.searches.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.FunctionCall)]},[])]}getVariables(){return[...this.variableDeclarations,...this.getEntryPoints().reduce((a,l)=>{const c=Li(l);return[...a,...c]},[]),...this.functionCalls.reduce((a,l)=>{const c=Li(l);return[...a,...c]},[]),...this.conditions.reduce((a,l)=>{const c=Li(l);return[...a,...c]},[]),...this.operations.reduce((a,l)=>{const c=Li(l);return[...a,...c]},[]),...this.loops.reduce((a,l)=>{const c=Li(l);return[...a,...c]},[]),...this.searches.reduce((a,l)=>{const c=Li(l);return[...a,...c]},[])]}getVariableInstances(){return[...this.variableInstances,...this.entities.reduce((a,l)=>[...a,...l.methods.flatMap(c=>{const y=ht(c).filter(v=>v.type===p.VariableInstance);return[...a,...y]})],[]),...this.getEntryPoints().reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableInstance);return[...a,...e]},[]),...this.functionCalls.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableInstance);return[...a,...e]},[]),...this.conditions.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableInstance);return[...a,...e]},[]),...this.operations.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableInstance);return[...a,...e]},[]),...this.loops.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableInstance);return[...a,...e]},[]),...this.searches.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableInstance);return[...a,...e]},[])]}getVariableDeclarations(){return C([...this.variableDeclarations,...this.entities.reduce((a,l)=>[...a,...l.methods.flatMap(c=>{const y=ht(c).filter(v=>v.type===p.VariableDeclaration);return[...a,...y]})],[]),...this.getEntryPoints().reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableDeclaration);return[...a,...e]},[]),...this.functionCalls.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableDeclaration);return[...a,...e]},[]),...this.conditions.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableDeclaration);return[...a,...e]},[]),...this.operations.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableDeclaration);return[...a,...e]},[]),...this.loops.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableDeclaration);return[...a,...e]},[]),...this.searches.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableDeclaration);return[...a,...e]},[])])}getLoops(){return[...this.loops,...this.getEntryPoints().reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Loop)]},[]),...this.functionCalls.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Loop)]},[]),...this.conditions.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Loop)]},[]),...this.operations.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Loop)]},[]),...this.searches.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Loop)]},[])]}getSearches(){return[...this.searches,...this.getEntryPoints().reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Search)]},[]),...this.functionCalls.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Search)]},[]),...this.conditions.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Search)]},[]),...this.operations.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Search)]},[]),...this.loops.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Search)]},[])]}attachOrphanReferences(){const i=this.getVariableInstances(),a=this.getVariableDeclarations();return i.forEach(l=>{if(!l.declaration){const c=l.initialData,e=c.declaration.entityId||c.declaration.id,y=a.find(v=>v.id===e);y&&l.setDeclaration(y)}}),this}getBuiltInPersistedEntity(){return this.builtInBaseEntities.find(i=>i.name===ce.PERSISTED_ENTITY)||null}requestActiveDynamicValue(i,a=!1){var c,e;const l=(e=(c=this.parentContext).requestActiveDynamicValue)==null?void 0:e.call(c,i,a);if(!l&&vh.includes(i.type)){const y=i.getDefaultValue();return y?{value:y,type:Ce.DefaultValue,inheritanceLink:null,valueOwner:i}:null}return l||null}requestExtension(i){if(this.parentContext.requestExtension){const a=this.parentContext.requestExtension(i);if(a&&!a.module)throw new Error(`Module ${i} is not registered properly.`);return a.module||null}return null}undo(){Y.log("Undoing, from: ",this.undoableStackValueIndex),this.undoableStackValueIndex=this.undoableStackValueIndex-1,Y.log("To: ",this.undoableStackValueIndex);const i=this.history[this.undoableStackValueIndex+1],a=this.history[this.undoableStackValueIndex];return Y.log("Current change set: ",i==null?void 0:i.toJSON()),Y.log("Change set to restore: ",a==null?void 0:a.toJSON()),aA(i||"initial",a||"initial",this)}redo(){Y.log("Undoing, from: ",this.undoableStackValueIndex),this.undoableStackValueIndex=this.undoableStackValueIndex+1,Y.log("To: ",this.undoableStackValueIndex);const i=this.history[this.undoableStackValueIndex-1],a=this.history[this.undoableStackValueIndex];return Y.log("Current change set: ",i==null?void 0:i.toJSON()),Y.log("Change set to restore: ",a.toJSON()),aA(i||"initial",a||"initial",this)}applyExternalChangeSet(i){const a=i.payload,l=this.addChangeSet(new G(this,i.userAuthor,i.emittedAt,this));l.ignoreNonEditable=!0,l.ignoreNonDeletable=!0;const c=a.updated[this.id];if(!c)throw new Error("Project root not found in change set transfer. Cannot apply changes.");const e={...a.added,...a.updated,...a.removed},y=[...Object.keys(a.added),...Object.keys(a.updated),...Object.keys(a.removed)];y.forEach(T=>{var I;if(!e[T]){Y.warn(`Entity '${T}' not found in change set transfer. Cannot apply changes.`);const b=(I=this.get(T))==null?void 0:I.toShallowJSON();throw b?Y.warn("Entity in project: ",b):Y.warn("Entity not in project"),new Error(`Entity '${T}' not found in change set transfer. Cannot apply changes.`)}});const v=new Da(c);return v.flatRecord=e,v.order=y,v.orderEntities(),Y.log("All entities: ",v.order.map((T,I)=>`${I+1}: ${e[T].type} - ${T}`).join(`,
398
+ Alternatively you can update the parent data-type entity with 'update' action to remove the existing value of the field.`}))}return{errors:c,modifiedData:l}}get interactive(){return this.implements.length?this.implements.every(i=>i.interactive):!0}get allMethods(){return C([...this.ownDeclaredMethods,...this.allBaseMethodsFromOriginalParents])}get allProperties(){return C([...this.ownDeclaredProperties,...this.allBasePropertiesFromOriginalParents])}get allBaseMethodsFromOriginalParents(){var l;const i=((l=this.extends)==null?void 0:l.type)===p.DefinitionEntity?this.extends.allMethods:[],a=[...i].filter(c=>!i.some(e=>{var y,v;return e.id!==c.id&&(((y=e.implements)==null?void 0:y.id)===c.id||((v=e.extends)==null?void 0:v.id)===c.id)}));return C([...a,...this.implements.flatMap(c=>{const e=c.type===p.DefinitionEntity?[...c.allMethods]:[];return[...e].filter(v=>!e.some(T=>{var I,b;return T.id!==v.id&&(((I=T.implements)==null?void 0:I.id)===v.id||((b=T.extends)==null?void 0:b.id)===v.id)}))})])}get allBasePropertiesFromOriginalParents(){var c;const i=((c=this.extends)==null?void 0:c.allProperties)||[],a=[...i].filter(e=>!i.some(y=>{var v;return y.id!==e.id&&(!!y.implements.find(T=>T.id===e.id)||((v=y.extends)==null?void 0:v.id)===e.id)}));return C([...a,...this.implements.flatMap(e=>{const y=[...e.allProperties];return[...y].filter(T=>!y.some(I=>{var b;return I.id!==T.id&&(!!I.implements.find(D=>D.id===T.id)||((b=I.extends)==null?void 0:b.id)===T.id)}))})])}get allBasePropertiesFromExtendedAndImplementedEntities(){var c,e;const i=[...((c=this.extends)==null?void 0:c.ownDeclaredProperties)||[],...((e=this.extends)==null?void 0:e.allBasePropertiesFromExtendedAndImplementedEntities)||[]].filter(y=>!y.abstract),a=[...i].filter(y=>!i.some(v=>{var T;return v.id!==y.id&&(!!v.implements.find(I=>I.id===y.id)||((T=v.extends)==null?void 0:T.id)===y.id)})),l=this.implements.reduce((y,v)=>{const T=v.implementedPropertiesFromOriginalParents,I=[...v.ownDeclaredProperties].filter(V=>!V.abstract),b=[...T,...I,...y];return[...b].filter(V=>!!!b.find(x=>{var q;return!!x.implements.find(Z=>Z.id===V.id)||((q=x.extends)==null?void 0:q.id)===V.id}))},[]);return C([...a,...l])}get allBaseMethodsFromExtendedAndImplementedEntities(){return C([...(this.extends?[this.extends]:[]).reduce((i,a)=>a.type!==p.DefinitionEntity?[]:[...[...a.ownDeclaredMethods,...a.allBaseMethodsFromExtendedAndImplementedEntities].filter(c=>c.type!==p.ActionDescriptor),...i],[]),...this.implements.reduce((i,a)=>a.type!==p.DefinitionEntity?a.abstractMethods:[...[...a.ownDeclaredMethods,...a.allBaseMethodsFromExtendedAndImplementedEntities].filter(c=>c.type!==p.ActionDescriptor),...i],[])])}get extendedPropertiesFromOriginalParents(){var l,c;const i=[...((l=this.extends)==null?void 0:l.ownDeclaredProperties)||[],...((c=this.extends)==null?void 0:c.extendedPropertiesFromOriginalParents)||[]].filter(e=>!e.abstract),a=[...i].filter(e=>!i.some(y=>{var v;return y.id!==e.id&&(!!y.implements.find(T=>T.id===e.id)||((v=y.extends)==null?void 0:v.id)===e.id)}));return C(a)}get implementedPropertiesFromOriginalParents(){return C([...(this.extends?[this.extends]:[]).reduce((i,a)=>{const l=a.implementedPropertiesFromOriginalParents,c=[...a.ownDeclaredProperties].filter(v=>!!v.abstract),e=[...l,...c,...i];return[...e].filter(v=>!!!e.find(I=>{var b;return((b=I.extends)==null?void 0:b.id)===v.id||!!I.implements.find(D=>D.id===v.id)}))},[]),...this.implements.reduce((i,a)=>{const l=a.implementedPropertiesFromOriginalParents,c=[...a.ownDeclaredProperties].filter(v=>!!v.abstract),e=[...l,...c,...i];return[...e].filter(v=>!!!e.find(I=>{var b;return!!I.implements.find(D=>D.id===v.id)||((b=I.extends)==null?void 0:b.id)===v.id}))},[])].filter(i=>!!i.abstract))}get extendedMethodsFromOriginalParents(){return C((this.extends?[this.extends]:[]).reduce((i,a)=>{if(a.type!==p.DefinitionEntity)return[];const l=[...a.ownDeclaredMethods,...a.extendedMethodsFromOriginalParents].filter(c=>c.type!==p.ActionDescriptor);return[...i,...l]},[]))}get implementedMethodsFromOriginalParents(){return C([...(this.extends?[this.extends]:[]).reduce((i,a)=>{const l=a.type===p.DefinitionEntity?a.methods:[],c=[...a.abstractMethods].filter(e=>!l.find(y=>y.name===e.name));return[...l,...c,...i]},[]),...this.implements.reduce((i,a)=>[...a.abstractMethods,...i],[])].filter(i=>i.type===p.ActionDescriptor))}get extendedProperties(){return this.properties.filter(i=>i.isExtendedProperty)}get ownDeclaredProperties(){return this.properties.filter(a=>!a.isExtendedProperty)}get extendedMethods(){return this.methods.filter(i=>i.isExtendedMethod)}get ownDeclaredMethods(){return this.methods.filter(i=>!i.isExtendedMethod)}validateGeneratedUpdate(i){const a=[];return i.parent&&a.push(new de({id:`${this.id}--${H.InvalidParentUpdate}`,code:H.InvalidParentUpdate,severity:ee.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.`})),{errors:a,modifiedData:i}}subscribeDependents(i){return i.forEach(a=>{this.detachedDependents[a.entity.id]||(this.detachedDependents[a.entity.id]=a)}),this}unsubscribeDependents(i){return i.forEach(a=>{this.detachedDependents[a.entity.id]&&delete this.detachedDependents[a.entity.id]}),this}syncDependents(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"sync-dependents"))){const a=[],l=[],c=[],e=[];return Object.values(this.detachedDependents).forEach(y=>{const v=y.entity.afterAllChildrenInitialized(i);a.push(...v.updated),l.push(...v.added),c.push(...v.removed),e.push(...v.affected)}),i==null||i.attemptAutoclose("sync-dependents",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}onDetachedDependencyRemoved(i,a,l){const c=[],e=[],y=[],v=[];return a==="implements"&&(this.removeImplementation(i,l),c.push(this)),a==="extends"&&(this.setExtension(null,l),c.push(this)),{updated:C(c),added:C(e),removed:C(y),affected:C(v),self:this}}onDetachedDependencyRestored(i,a,l){const c=[],e=[],y=[],v=[];return a==="implements"&&(this.addImplementation(i,l),c.push(this)),a==="extends"&&(this.setExtension(i,l),c.push(this)),{updated:C(c),added:C(e),removed:C(y),affected:C(v),self:this}}unsubscribeFromDependencies(){return this.implements.forEach(i=>{vn.includes(i.type)||i.unsubscribeDependents([{entity:this,field:"implements"}])}),this}subscribeToDependencies(){return this.implements.forEach(i=>{vn.includes(i.type)||i.subscribeDependents([{entity:this,field:"implements"}])}),this.extends&&(vn.includes(this.extends.type)||this.extends.subscribeDependents([{entity:this,field:"extends"}])),this}increaseVersion(i){if(i&&!B(i).isValid())throw new Error(`The shared timestamp '${i}' is not a valid ISO 8601 date string.`);return i&&B(i).isSame(B(this.createdAt))?this:(this.previousVersion=this.version,this.version=L.UUID.uuid(),this.createdAt=B(i).toISOString()||B().toISOString(),this)}captureVersion(){var a;const i=((a=this.knownVersions)==null?void 0:a.get(this.version))||new ai(this,this.project);return i.metaSync(this.toMeta(),null),this.knownVersions=this.knownVersions?this.knownVersions.set(this.version,i):new Map([[this.version,i]]),i.properties=[...this.properties],i.methods=[...this.methods],i.abstractMethods=[...this.abstractMethods],i.extends=this.extends,i.implements=[...this.implements],i.allPropertiesImplement=this.allPropertiesImplement,i.additionalPropertiesDataType=this.additionalPropertiesDataType,i.parent=this.parent,this}recursiveCaptureUpstreamVersions(i){const a=[],l=[],c=[],e=[];if(this.parent){this.parent.increaseVersion(i);const y=this.parent.recursiveCaptureUpstreamVersions(i);a.push(this.parent,...y.updated),l.push(...y.added),c.push(...y.removed)}return{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}async restoreVersion(i){var v;const a=[],l=[],c=[],e=[];if(this.version===i)return{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this};if(!this.knownVersions){const T=new Map;for(const[I,b]of this.knownVersions||new Map){if(T.set(I,b),b.activeVersion=!1,b.knownVersions)for(const[D,V]of b.knownVersions)T.set(D,V);b.knownVersions=null}}let y=(v=this.knownVersions)==null?void 0:v.get(i);if(!y){const T=await this.APILoadVersion({},i);if(!T)throw new Error(`Version with id '${i}' for entity with id '${this.id}' not found.`);y=new ai(T,this.project)}return this.metaSync(y.toShallowJSON(),null),this.previousVersion=y.previousVersion,this.version=y.version,this.createdAt=y.createdAt,this.author=y.author,this.deleted=y.deleted,this.properties=[...y.properties],this.methods=[...y.methods],this.abstractMethods=[...y.abstractMethods],this.extends=y.extends,this.implements=[...y.implements],this.allPropertiesImplement=y.allPropertiesImplement,this.additionalPropertiesDataType=y.additionalPropertiesDataType,this.parent=y.parent,{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}updateWithShallowTransfer(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.UpdateWithShallowTransfer))){if(!this.checkCanEdit(this,a))return Y.warn(`[updateWithShallowTransfer] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.UpdateWithShallowTransfer,this.id),this;if(this.metaSync(i,a),this.version=i.version,this.createdAt=i.createdAt,this.author=i.author,this.deleted=i.deleted,this.previousVersion=i.previousVersion,this.unsubscribeFromDependencies(),i.parent){const l=te(i.parent),c=this.project.get(l),e=this.parent;if(e&&e.id!==(c==null?void 0:c.id)&&this.removeFromParent(a),c)this.setParent(c,a);else throw a==null||a.attemptAutoclose(P.UpdateWithShallowTransfer,this.id),new Error(`${this.type} with id '${this.id}' has a 'parent' reference '${l}' that isn't found in the project`)}else throw a==null||a.attemptAutoclose(P.UpdateWithShallowTransfer,this.id),new Error(`${this.type} with id '${this.id}' must have a 'parent'`);if(i.extends){const l=te(i.extends),c=this.project.get(l);c&&this.setExtension(c,a)}if(i.implements.forEach(l=>{const c=te(l),e=this.project.get(c);if(e)this.addImplementation(e,a);else throw new Error(`${Tr(this.type)} with id '${this.id}' has a 'implements' reference "${c}" which is missing in the project`)}),i.allPropertiesImplement){const l=te(i.allPropertiesImplement),c=this.project.get(l);c&&this.setAllPropertiesImplement(c,a)}if(i.additionalPropertiesDataType){const l=te(i.additionalPropertiesDataType),c=this.project.get(l);c&&this.setAdditionalPropertiesDataType(c,a)}return this.captureVersion(),this.subscribeToDependencies(),a==null||a.attemptAutoclose(P.UpdateWithShallowTransfer,this.id),this}hydrateAncestors(){const i=[],a=[],l=[],c=[];if(this.initialData.parent){const e=te(this.initialData.parent),y=this.project.get(e);if(y)this.setParent(y,null),i.push(y);else throw new Error(`${this.type} with id '${this.id}' has a 'parent' reference '${e}' that isn't found in the project`)}else throw new Error(`${this.type} with id '${this.id}' must have a 'parent'`);if(this.initialData.extends){const e=te(this.initialData.extends),y=this.project.get(e);y&&(this.setExtension(y,null),y.type!==p.BuiltInBaseEntity&&i.push(y))}return this.initialData.implements.forEach(e=>{const y=te(e),v=this.project.get(y);if(v)this.addImplementation(v,null),v.type!==p.BuiltInBaseEntity&&i.push(v);else throw new Error(`${Tr(this.type)} with id '${this.id}' has a 'implements' reference "${y}" which is missing in the project`)}),{updated:C(i),added:C(a),removed:C(l),affected:C(c),self:this}}afterAllChildrenInitialized(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.AfterAllChildrenInitialized))){if(!this.checkCanEdit(this,i))return Y.warn(`[afterAllChildrenInitialized] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),i==null||i.attemptAutoclose(P.AfterAllChildrenInitialized,this.id),{updated:[],added:[],removed:[],affected:[],self:this};const a=[],l=[],c=[],e=[];this.initialized=!0;const{updated:y,added:v,removed:T,affected:I}=this.syncImplementationProperties(i);a.push(...y),l.push(...v),c.push(...T),e.push(...I);const{updated:b,added:D,removed:V,affected:M}=this.addExtendedProperties(i);a.push(...b),l.push(...D),c.push(...V),e.push(...M);const{updated:x,added:q,removed:Z}=this.removeUnrecognizedProperties(i);a.push(...x),l.push(...q),c.push(...Z);const{updated:W,added:z,removed:ae,affected:J}=this.syncImplementationMethods(i);a.push(...W),l.push(...z),c.push(...ae),e.push(...J);const{updated:fe,added:le,removed:ye,affected:me}=this.addExtendedMethods(i);a.push(...fe),l.push(...le),c.push(...ye),e.push(...me);const{updated:Q,added:ue,removed:Te}=this.removeUnrecognizedMethods(i);return a.push(...Q),l.push(...ue),c.push(...Te),this.addSuggestions(),this.properties.sort((_e,$e)=>_e.index-$e.index),this.captureVersion(),i==null||i.attemptAutoclose(P.AfterAllChildrenInitialized,this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}addSelfToProject(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"add-self-to-project"))){const a=[this],l=[],c=[],e=[];if(this.parent.type===p.DataType){const y=this.parent;y.entity=this,a.push(y)}else this.project.addDefinitionEntity(this);return this.subscribe(),this.subscribeToDependencies(),i==null||i.attemptAutoclose("add-self-to-project",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}setParent(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.SetParent))){var l;return this.checkCanEditWithCounterpartAndSideEffects(this,i,P.SetParent,a)?(((l=this.parent)==null?void 0:l.id)!==(i==null?void 0:i.id)&&(this.parent=i,a&&(a==null||a.add(this,k.Updated))),a==null||a.attemptAutoclose(P.SetParent,this.id),this):this}setExtension(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.SetExtension))){var l;return this.checkCanEdit(this,a)?(((l=this.extends)==null?void 0:l.id)!==(i==null?void 0:i.id)&&(this.extends=i,a&&(a==null||a.add(this,k.Updated))),a==null||a.attemptAutoclose(P.SetExtension,this.id),this):(Y.warn(`[setExtension] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.SetExtension,this.id),this)}addImplementation(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.AddImplementation))){return this.checkCanEdit(this,a)?(this.implements.includes(i)||(this.implements.push(i),a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose(P.AddImplementation,this.id),this):(Y.warn(`[addImplementation] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.AddImplementation,this.id),this)}removeImplementation(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveImplementation))){return this.checkCanEdit(this,a)?(this.implements.includes(i)&&(this.implements=this.implements.filter(l=>l.id!==i.id),a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose(P.RemoveImplementation,this.id),this):(Y.warn(`[removeImplementation] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.RemoveImplementation,this.id),this)}removeProperty(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveProperty))){return this.checkCanEdit(this,a)?(this.properties.includes(i)&&(this.properties=this.properties.filter(l=>l.id!==i.id),a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose(P.RemoveProperty,this.id),this):(Y.warn(`[removeProperty] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.RemoveProperty,this.id),this)}addMethod(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.AddMethod))){return this.checkCanEdit(this,a)?(this.methods.includes(i)||(this.methods.push(i),this.suggestedMethods=this.suggestedMethods.filter(l=>l.name!==i.name),a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose(P.AddMethod,this.id),this):(Y.warn(`[addMethod] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.AddMethod,this.id),this)}removeMethod(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveMethod))){return this.checkCanEdit(this,a)?(this.methods.includes(i)&&(this.methods=this.methods.filter(l=>l.id!==i.id),a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose(P.RemoveMethod,this.id),this):(Y.warn(`[removeMethod] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.RemoveMethod,this.id),this)}addProperty(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.AddProperty))){return this.checkCanEdit(this,a)?(this.properties.includes(i)||(this.properties.push(i),this.suggestedProperties=this.suggestedProperties.filter(l=>l.name!==i.name),a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose(P.AddProperty,this.id),this):(Y.warn(`[addProperty] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.AddProperty,this.id),this)}addSuggestedProperty(i){return this.suggestedProperties.includes(i)||this.suggestedProperties.push(i),this}addSuggestedMethod(i){return this.suggestedMethods.includes(i)||this.suggestedMethods.push(i),this}removeSuggestedProperty(i){return this.suggestedProperties=this.suggestedProperties.filter(a=>a.id!==i.id),this}removeSuggestedMethod(i){return this.suggestedMethods=this.suggestedMethods.filter(a=>a.id!==i.id),this}addAbstractMethod(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.AddAbstractMethod))){return this.checkCanEdit(this,a)?(this.abstractMethods.includes(i)||(this.abstractMethods.push(i),a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose(P.AddAbstractMethod,this.id),this):(Y.warn(`[addAbstractMethod] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.AddAbstractMethod,this.id),this)}removeAbstractMethod(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveAbstractMethod))){return this.checkCanEdit(this,a)?(this.abstractMethods.includes(i)&&(this.abstractMethods=this.abstractMethods.filter(l=>l.id!==i.id),a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose(P.RemoveAbstractMethod,this.id),this):(Y.warn(`[removeAbstractMethod] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.RemoveAbstractMethod,this.id),this)}initChildren(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"init-children"))){if(this.initialized||this.startedInitialization)return this;if(this.startedInitialization=!0,this.properties=this.initialData.properties.map(a=>{const l=ne(a,this.project);return l.setParent(this,null),l.initChildren(i),l}),this.methods=this.initialData.methods.map(a=>{const l=ne(a,this.project);return l.setParent(this,null),l.initChildren(i),l}),this.abstractMethods=this.initialData.abstractMethods.map(a=>{const l=ne(a,this.project);return l.setParent(this,null),l.initChildren(i),l}),this.initialData.extends&&(this.extends=ne(this.initialData.extends,this.project)),this.implements=this.initialData.implements.map(a=>ne(a,this.project)),this.initialData.allPropertiesImplement){const a=ne(this.initialData.allPropertiesImplement,this.project);a.setParent(this,null),a.initChildren(null),this.setAllPropertiesImplement(a,i)}if(this.initialData.additionalPropertiesDataType){const a=ne(this.initialData.additionalPropertiesDataType,this.project);a.setParent(this,null),a.initChildren(null),this.setAdditionalPropertiesDataType(a,i)}return this.subscribeToDependencies(),this.afterAllChildrenInitialized(i),i==null||i.attemptAutoclose("init-children",this.id),this}removeUnrecognizedProperties(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"remove-unrecognized-properties"))){const a=[],l=[],c=[],e=[];let y=[...this.properties];y=y.filter(b=>b.parent.id===this.id),y=y.filter(b=>!b.isExtendedProperty);const v=this.implementedPropertiesFromOriginalParents,T=this.getAllPropertiesImplements();return y.filter(b=>this.interactive&&!b.implements.length?!1:!b.implements.find(V=>!!v.find(M=>M.id===V.id)||!!T.find(M=>M.id===V.id))).forEach(b=>{const D=b.remove({ignoreUpstream:!1},i);c.push(...D.removed),a.push(...D.updated)}),i==null||i.attemptAutoclose("remove-unrecognized-properties",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}removeUnrecognizedMethods(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"remove-unrecognized-methods"))){const a=[],l=[],c=[],e=[];let y=[...this.methods];y=y.filter(T=>T.parent.id===this.id),y=y.filter(T=>!T.isExtendedMethod);const v=this.implementedMethodsFromOriginalParents;return y=y.filter(T=>this.interactive&&!T.implements?!1:!v.find(I=>{var b;return I.id===((b=T.implements)==null?void 0:b.id)})),y.forEach(T=>{const I=T.remove({ignoreUpstream:!1},i);c.push(...I.removed),a.push(...I.updated)}),i==null||i.attemptAutoclose("remove-unrecognized-methods",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}syncImplementationMethods(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"sync-implementation-methods"))){const a=[],l=[],c=[],e=[],y=this.methods,v=this.implementedMethodsFromOriginalParents,T=[...this.allBaseMethodsFromExtendedAndImplementedEntities,...y];return v.filter(b=>!T.find(V=>{var M;return((M=V.implements)==null?void 0:M.id)===b.id})).forEach(b=>{if(this.methods.find(x=>{var q;return((q=x.implements)==null?void 0:q.id)===b.id}))return;const V=this.methods.find(x=>{var ae,J;if(x.name===b.name&&!x.implements)return!0;const q=cr(this,ce.CRON_JOB),Z=cr(this,ce.HTTP_ENDPOINT),W=((ae=x.implements)==null?void 0:ae.id)===pe["built-in-base-entity"].BUILT_IN_HTTP_ENDPOINT_ENTITY.methods.handler.id,z=((J=x.implements)==null?void 0:J.id)===pe["built-in-base-entity"].BUILT_IN_CRON_JOB_ENTITY.methods.handler.id;return!!(q&&!z&&!Z&&W||Z&&!W&&!q&&z)});if(V&&V.type===p.FunctionDeclaration){V.setImplements(b,i),V.metaSync({name:b.name},i),i==null||i.add(V,k.Updated),i==null||i.add(this,k.Updated);return}const M=b.implementAsFunctionDeclaration(i,this);l.push(M),i==null||i.add(M,k.Added),this.addMethod(M,i)}),this.methods.sort((b,D)=>b.index-D.index).forEach(b=>{b.afterAllChildrenInitialized(i)}),i==null||i.attemptAutoclose("sync-implementation-methods",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}syncImplementationProperties(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"sync-implementation-properties"))){const a=[],l=[],c=[],e=[],y=this.properties,v=this.implementedPropertiesFromOriginalParents.filter(b=>!this.allBasePropertiesFromExtendedAndImplementedEntities.find(V=>!!V.implements.find(M=>M.id===b.id))),T=[...this.allBasePropertiesFromExtendedAndImplementedEntities,...y];return v.filter(b=>!T.find(V=>!!V.implements.find(M=>M.id===b.id))).forEach(b=>{if(this.properties.find(x=>!!x.implements.find(q=>q.id===b.id)))return;const V=this.properties.find(x=>x.name===b.name&&!!x.abstract&&!x.implements);if(V){V.addImplementation(b,i),V.metaSync({abstract:!1},i),V.afterAllChildrenInitialized(i);return}const M=b.implement(this,i,L.UUID.uuid());l.push(M),i==null||i.add(M,k.Added)}),i==null||i.attemptAutoclose("sync-implementation-properties",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}addExtendedMethods(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"add-extended-methods"))){const a=[],l=[],c=[],e=[],y=this.methods,T=this.extendedMethodsFromOriginalParents.filter(b=>b.type===p.FunctionDeclaration),I=new Set(y.filter(b=>{var D;return!!((D=b.extends)!=null&&D.id)}).map(b=>b.extends.id));return T.forEach(b=>{if(I.has(b.id))return;I.add(b.id);const D=b.clone(i,this,L.UUID.uuid());D.setExtends(b,i),D.initChildren(i),l.push(D),i==null||i.add(D,k.Added),this.addMethod(D,i)}),i==null||i.attemptAutoclose("add-extended-methods",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}addExtendedProperties(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"add-extended-properties"))){const a=[],l=[],c=[],e=[],y=this.properties,v=this.extendedPropertiesFromOriginalParents,T=v.filter(b=>v.find(V=>!!V.implements.find(M=>M.id===b.id))?!1:!b.abstract),I=new Set(y.filter(b=>{var D;return!!((D=b.extends)!=null&&D.id)}).map(b=>b.extends.id));return T.forEach(b=>{if(I.has(b.id))return;I.add(b.id);const D=b.clone(i,this,L.UUID.uuid());D.setExtends(b,i),D.initChildren(i),l.push(D),i==null||i.add(D,k.Added),this.addProperty(D,i)}),i==null||i.attemptAutoclose("add-extended-properties",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}addSuggestions(){return this.implements.forEach(i=>{Gz(this,i).forEach(c=>{const e=c.toJSON();e.id=`_suggestion--parent--${this.id}--${c.id}`;const y=ne(e,this.project);y.suggestion=!0,y.setParent(this,null),y.initChildren(null),this.addSuggestedProperty(y)}),kz(this,i).forEach(c=>{const e=`_suggestion--parent--${this.id}--${c.id}`,y=c.implementAsFunctionDeclaration(null,this,e),v=ne(y,this.project);if(v.suggestion=!0,v.setParent(this,null),v.initChildren(null),this.methods=this.methods.filter(T=>T.id!==e),v.inputs.forEach(T=>{T.suggestion=!0}),v.returnStatements.length){const T=v.returnStatements[0];T.suggestion=!0,T.outputs.forEach(I=>{I.suggestion=!0})}this.addSuggestedMethod(v)})}),this}subscribe(){return this.activeVersion=!0,this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}metaSync(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"meta-sync"))){const l=sr(this,i,a),c=nr(this,l),e=this.toMeta();return this.name=l.name!==void 0?l.name:e.name,this.codeName=l.codeName!==void 0?l.codeName:e.codeName,this.description=l.description!==void 0?l.description:e.description,this.x=l.x||e.x,this.y=l.y||e.y,this.static=l.static!==void 0?l.static:this.static,this.abstract=l.abstract!==void 0?l.abstract:this.abstract,this.additionalProperties=l.additionalProperties!==void 0?l.additionalProperties:e.additionalProperties,super.baseMetaSync(l,this,a),l.deleted===!0&&!e.deleted?a==null||a.add(this,k.Removed):l.deleted===!1&&e.deleted?a==null||a.add(this,k.Added):c&&(a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose("meta-sync",this.id),this}async APILoad(i=we,...a){return await ai.repository.APILoad(this.id,...a),this}async APICreate(i=we,...a){return await ai.repository.APICreate(this.toShallowJSON(),...a),this}async APIUpdate(i=we,...a){return await ai.repository.APIUpdate(this.toShallowJSON(),...a),this}async APIDelete(i=we,...a){return await ai.repository.APIDelete(this.toShallowJSON(),...a),this}async APIClone(i=we,...a){return await ai.repository.APIClone(this.id,...a),this}async APILoadVersion(i=we,a,...l){return await ai.repository.APILoadVersion(this.id,a,...l)}removeFromParent(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveFromParent))){if(!this.checkCanEdit(this,i))return Y.warn(`[removeFromParent] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),i==null||i.attemptAutoclose(P.RemoveFromParent,this.id),{added:[],updated:[],removed:[],affected:[],self:this};const a=[],l=[],c=[],e=[];if(this.parent.type===p.Project)this.parent.removeDefinitionEntity(this);else if(this.parent.type===p.DataType&&this.parent.entity&&this.parent.entity.id===this.id){const y=this.parent.setEntity(null,i);a.push(y)}return i==null||i.attemptAutoclose(P.RemoveFromParent,this.id),{added:C(c),updated:C(a),removed:C(l),affected:C(e),self:this}}remove({ignoreUpstream:i}={ignoreUpstream:!1},a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveEntity))){var v;if(!this.checkCanDelete(this,a))return Y.warn(`[remove] User is not allowed to delete or edit this ${this.type} entity with id: ${this.id}`),a==null||a.event({id:`${P.RemoveEntity}-${this.id}`,action:P.RemoveEntity,owner:this,errorReason:ji.ActionOwnerEntityNonDeletable,rootAction:((v=a==null?void 0:a.self)==null?void 0:v.id)===this.id&&(a==null?void 0:a.autoCloseActionName)===P.RemoveEntity}),a==null||a.attemptAutoclose(P.RemoveEntity,this.id),{added:[],updated:[],removed:[],affected:[],self:this};const l=[],c=[],e=[],y=[];if(a!=null&&a.hasRemoved(this.id))return a==null||a.attemptAutoclose(P.RemoveEntity,this.id),{added:[],updated:[],removed:[],affected:[],self:this};if(c.push(this),this.unsubscribe(),this.unsubscribeFromDependencies(),this.project.subscribeDeletedInstance(this),this.metaSync({deleted:!0},a),Object.values(this.detachedDependents).forEach(T=>{const{updated:I,removed:b,added:D}=T.entity.onDetachedDependencyRemoved(this,T.field,a);l.push(...I),c.push(...b),e.push(...D)}),this.properties.forEach(T=>{const{updated:I,removed:b}=T.remove({ignoreUpstream:!0},a);l.push(...I),c.push(...b)}),this.methods.forEach(T=>{const{updated:I,removed:b}=T.remove({ignoreUpstream:!0},a);l.push(...I),c.push(...b)}),this.abstractMethods.forEach(T=>{const{updated:I,removed:b}=T.remove({ignoreUpstream:!0},a);l.push(...I),c.push(...b)}),this.suggestedProperties.forEach(T=>{const{updated:I,removed:b}=T.remove({ignoreUpstream:!0},a);l.push(...I),c.push(...b)}),this.suggestedMethods.forEach(T=>{const{updated:I,removed:b}=T.remove({ignoreUpstream:!0},a);l.push(...I),c.push(...b)}),!i){const T=this.removeFromParent(a);e.push(...T.added),l.push(...T.updated),c.push(...T.removed),y.push(...T.affected)}return a==null||a.attemptAutoclose(P.RemoveEntity,this.id),{added:C(e),updated:C(l),removed:C(c),affected:C(y),self:this}}restore({}={},i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RestoreEntity))){if(!this.checkCanEdit(this,i))return Y.warn(`[restore] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),i==null||i.attemptAutoclose(P.RestoreEntity,this.id),{added:[],updated:[],removed:[],affected:[],self:this};const a=[],l=[],c=[],e=[];return i!=null&&i.hasAdded(this.id)?(i==null||i.attemptAutoclose(P.RestoreEntity,this.id),{added:[],updated:[],removed:[],affected:[],self:this}):(this.subscribe(),this.project.unsubscribeDeletedInstance(this),this.metaSync({deleted:!1},i),Object.values(this.detachedDependents).forEach(y=>{const{updated:v,removed:T,added:I}=y.entity.onDetachedDependencyRestored(this,y.field,i);l.push(...v),c.push(...T),a.push(...I)}),this.properties.forEach(y=>{const{updated:v}=y.restore({},i);l.push(...v)}),this.methods.forEach(y=>{const{updated:v}=y.restore({},i);l.push(...v)}),this.abstractMethods.forEach(y=>{const{updated:v}=y.restore({},i);l.push(...v)}),this.suggestedProperties.forEach(y=>{const{updated:v}=y.restore({},i);l.push(...v)}),this.suggestedMethods.forEach(y=>{const{updated:v}=y.restore({},i);l.push(...v)}),i==null||i.attemptAutoclose(P.RestoreEntity,this.id),{added:C(a),updated:C(l),removed:C(c),affected:C(e),self:this})}toFlat(i=new Set){var l;return i.has(this.id)?[]:(i.add(this.id),[this,...((l=this.extends)==null?void 0:l.toFlat(i))||[],...this.implements.flatMap(c=>c.toFlat(i)),...this.properties.flatMap(c=>c.toFlat(i)),...this.methods.flatMap(c=>c.toFlat(i)),...this.abstractMethods.flatMap(c=>c.toFlat(i)),...this.parent.toFlat(i)])}toFlatIds(i=new Set){var l;return i.has(this.id)?[]:(i.add(this.id),[this.id,...((l=this.extends)==null?void 0:l.toFlatIds(i))||[],...this.implements.flatMap(c=>c.toFlatIds(i)),...this.properties.flatMap(c=>c.toFlatIds(i)),...this.methods.flatMap(c=>c.toFlatIds(i)),...this.abstractMethods.flatMap(c=>c.toFlatIds(i)),...this.parent.toFlatIds(i)])}toMeta(){return{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,codeName:this.codeName,description:this.description,static:this.static,abstract:this.abstract,x:this.x,y:this.y,type:this.type,editable:this.editable,deletable:this.deletable,additionalProperties:this.additionalProperties,name:this.name}}toJSON(i=new Set){var a,l,c;return i.has(this.id)?this.toReference():(i.add(this.id),{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,type:this.type,editable:this.editable,deletable:this.deletable,name:this.name,codeName:this.codeName,description:this.description,x:this.x,y:this.y,static:this.static,abstract:this.abstract,additionalProperties:this.additionalProperties,allPropertiesImplement:((a=this.allPropertiesImplement)==null?void 0:a.toJSON(i))||null,additionalPropertiesDataType:((l=this.additionalPropertiesDataType)==null?void 0:l.toJSON(i))||null,properties:this.properties.map(e=>e.toJSON(i)),methods:this.methods.map(e=>e.toJSON(i)),abstractMethods:this.abstractMethods.map(e=>e.toJSON(i)),implements:this.implements.map(e=>e.toJSON(i)),extends:((c=this.extends)==null?void 0:c.toJSON(i))||null,parent:this.parent.toReference()})}toJSONClone(i=He){var l,c,e,y,v,T,I,b,D,V;let a;return(l=i.seenEntityMaps)!=null&&l.has(this.id)?a=i.seenEntityMaps.get(this.id):(a=i.newId||yr(this,this.project,i.uuidStrategy),i.seenEntityMaps&&i.seenEntityMaps.set(this.id,a)),(c=i.seenEntities)!=null&&c.has(a)||(e=i.seenEntities)!=null&&e.has(this.id)?this.toReference({seenEntityMaps:i.seenEntityMaps}):((y=i.seenEntities)==null||y.add(a),(v=i.seenEntities)==null||v.add(this.id),{id:a,version:L.UUID.uuid(),createdAt:i.timestamp||B().toISOString(),author:L.sessionAuthor,previousVersion:null,deleted:!1,type:this.type,editable:this.editable,deletable:this.deletable,name:this.name,codeName:this.codeName,description:this.description,x:this.x,y:this.y,static:this.static,abstract:this.abstract,additionalProperties:this.additionalProperties,allPropertiesImplement:((T=this.allPropertiesImplement)==null?void 0:T.toJSONClone(i))||null,additionalPropertiesDataType:((I=this.additionalPropertiesDataType)==null?void 0:I.toJSONClone(i))||null,properties:this.properties.map(M=>M.toJSONClone({...i,newId:null})),methods:this.methods.map(M=>M.toJSONClone({...i,newId:null})),abstractMethods:this.abstractMethods.map(M=>M.toJSONClone({...i,newId:null})),implements:this.implements.map(M=>M.type===p.BuiltInBaseEntity?M.toJSON(i.seenEntities):M.toJSONClone({...i,newId:null})),extends:((b=this.extends)==null?void 0:b.type)===p.BuiltInBaseEntity?(D=this.extends)==null?void 0:D.toJSON(i.seenEntities):(V=this.extends)==null?void 0:V.toJSONClone({...i,newId:null}),parent:this.parent.toReference({seenEntityMaps:i.seenEntityMaps})})}toReference(i=He){var l;let a=this.id;return(l=i.seenEntityMaps)!=null&&l.has(this.id)&&(a=i.seenEntityMaps.get(this.id)),{id:a+"--"+L.UUID.uuid()+"--ref",type:p.GenericReference,entityId:a,version:this.version,entityType:this.type}}toShallowJSON(i=He){var l,c,e,y;let a=this.id;return(l=i.seenEntityMaps)!=null&&l.has(this.id)&&(a=i.seenEntityMaps.get(this.id)),{id:a,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,name:this.name,codeName:this.codeName,description:this.description,type:this.type,editable:this.editable,deletable:this.deletable,x:this.x,y:this.y,static:this.static,abstract:this.abstract,additionalProperties:this.additionalProperties,allPropertiesImplement:((c=this.allPropertiesImplement)==null?void 0:c.toReference(i))||null,additionalPropertiesDataType:((e=this.additionalPropertiesDataType)==null?void 0:e.toReference(i))||null,properties:this.properties.map(v=>v.toReference(i)),methods:this.methods.map(v=>v.toReference(i)),abstractMethods:this.abstractMethods.map(v=>v.toReference(i)),implements:this.implements.map(v=>v.toReference(i)),extends:((y=this.extends)==null?void 0:y.toReference(i))||null,parent:this.parent.toReference(i)}}toFlatJSON(i=new Set){var l,c,e;return i.has(this.id)?[]:(i.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(y=>y.toFlatJSON(i)),...this.methods.flatMap(y=>y.toFlatJSON(i)),...this.abstractMethods.flatMap(y=>y.toFlatJSON(i)),...this.implements.flatMap(y=>y.toFlatJSON(i)),...((l=this.extends)==null?void 0:l.toFlatJSON(i))||[],...this.parent.toFlatJSON(i),...((c=this.additionalPropertiesDataType)==null?void 0:c.toFlatJSON(i))||[],...((e=this.allPropertiesImplement)==null?void 0:e.toFlatJSON(i))||[]])}toGenerationTarget(){var a;const i=this.parent.type===p.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:(a=this.extends)==null?void 0:a.id,additionalProperties:this.additionalProperties,implements:this.implements.map(l=>l.id),parent:i}}toFlatGenerationTarget(i=new Set){var l,c,e;return i.has(this.id)?[]:(i.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(y=>y.toFlatGenerationTarget(i)),...this.methods.flatMap(y=>y.toFlatGenerationTarget(i)),...this.abstractMethods.flatMap(y=>y.toFlatGenerationTarget(i)),...this.implements.filter(y=>y.type===p.DefinitionEntity).flatMap(y=>y.toFlatGenerationTarget(i)),...((l=this.extends)==null?void 0:l.toFlatGenerationTarget(i))||[],...this.parent.toFlatGenerationTarget(i),...((c=this.additionalPropertiesDataType)==null?void 0:c.toFlatGenerationTarget(i))||[],...((e=this.allPropertiesImplement)==null?void 0:e.toFlatGenerationTarget(i))||[]])}clearErrors(){var i,a;return this.errors=[],this.properties.forEach(l=>l.clearErrors()),this.methods.forEach(l=>l.clearErrors()),this.abstractMethods.forEach(l=>l.clearErrors()),(i=this.additionalPropertiesDataType)==null||i.clearErrors(),(a=this.allPropertiesImplement)==null||a.clearErrors(),this}validate(){return this.errors=jz(this),{success:!0}}getErrors(){var a,l;return[...this.errors,...this.properties.flatMap(c=>c.getErrors()),...this.methods.flatMap(c=>c.getErrors()),...this.abstractMethods.flatMap(c=>c.getErrors()),...((a=this.additionalPropertiesDataType)==null?void 0:a.getErrors())||[],...((l=this.allPropertiesImplement)==null?void 0:l.getErrors())||[]]}getShallowErrors(){return this.errors}clone(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.CloneEntity)),a=null,l=null,c=!0){var x,q,Z;let e=fr(a,this);const y=this.toJSON(),v=l||L.UUID.uuid();y.properties=[],y.methods=[],y.abstractMethods=[];const T=v.split("-id"),I=T[T.length-1||0]||v;y.id=v,y.version=L.UUID.uuid(),y.createdAt=(i==null?void 0:i.timestamp)||B().toISOString(),y.author=(i==null?void 0:i.author)||"1",y.previousVersion=null,y.deleted=!1,y.editable=!0,y.deletable=!0;const b=Ci(y,e);a&&b.setParent(a,null),c&&b.subscribe(),b.initChildren(i),i==null||i.add(b,k.Added);const D=(x=this.properties)==null?void 0:x.map(W=>W.clone(i,b,L.UUID.uuid(),c));b.properties=D;const V=(q=this.methods)==null?void 0:q.map((W,z)=>W.clone(i,b,I+"-method-"+z+"-id",c));b.methods=V;const M=(Z=this.abstractMethods)==null?void 0:Z.map((W,z)=>W.clone(i,b,I+"-abstract-method-"+z+"-id",c));if(b.abstractMethods=M,this.additionalPropertiesDataType){const W=this.additionalPropertiesDataType.clone(i,b,L.UUID.uuid(),c);b.setAdditionalPropertiesDataType(W,i)}if(this.allPropertiesImplement){const W=this.allPropertiesImplement.clone(i,b,L.UUID.uuid(),c);b.setAllPropertiesImplement(W,i)}return i==null||i.attemptAutoclose(P.CloneEntity,this.id),b}getFunctionDeclaration(i){return this.methods.find(a=>a.id===i)}implement(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"implement-definition-entity")),l){const c=K0(this,i,a,l);return a==null||a.attemptAutoclose("implement-definition-entity",this.id),c}getAllPropertiesImplements(){var a;const i=[];return this.allPropertiesImplement&&i.push(this.allPropertiesImplement),i.push(...((a=this.extends)==null?void 0:a.getAllPropertiesImplements())||[],...this.implements.flatMap(l=>l.getAllPropertiesImplements())),i}getAllInteractiveMethods(){var e;const i=this.implements.filter(y=>y.type===p.DefinitionEntity||y.type===p.BuiltInBaseEntity&&y.interactive),a=((e=this.extends)==null?void 0:e.getAllInteractiveMethods())||[],l=i.flatMap(y=>y.getAllInteractiveMethods());return C([...this.methods,...a,...l])}inferFromInputs(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"infer-definition-entity-from-inputs"))){const l=[],c=[],e=[],y=[];if(this.parent.type!==p.DataType||!this.parent.inferred)return a==null||a.attemptAutoclose("infer-definition-entity-from-inputs",this.id),{added:[],updated:[],removed:[],affected:[],self:this};const v=[];i.forEach(b=>{v.find(V=>S(V,this.project)===S(b,this.project))||v.push(b)});const T=this.properties.filter(b=>!b.dataType);v.forEach(b=>{var W,z,ae;const D=T.find(J=>S(J,this.project)===S(b,this.project));if(!D)return;const M=nn(b.parent).getMasterInputWithValueWritterFromAllInstances(b),x=ga(M,a),q=x==null?void 0:x.clone(a,D,L.UUID.uuid(),!0);q&&((W=D.dataType)==null||W.merge(q,a),q.id!==((z=D.dataType)==null?void 0:z.id)&&q.remove({ignoreUpstream:!1},a),D.dataType&&(D.dataType.metaSync({inferred:!0,like:!0},a),D.setDataType(D.dataType,a),a==null||a.add(D,k.Affected)));let Z=null;if(b.declaration&&D.id!==((ae=b.declaration)==null?void 0:ae.id)&&(Z=b.declaration),b.setDeclaration(D,a),a==null||a.add(b,k.Updated),Z){const{updated:J,removed:fe}=Z.remove({ignoreUpstream:!1},a);c.push(...J),e.push(...fe)}});const I=[];return v.forEach(b=>{if(!b.declaration){I.push(b);return}}),I.length===0?(a==null||a.attemptAutoclose("infer-definition-entity-from-inputs",this.id),{added:[],updated:[],removed:[],affected:[],self:this}):(I.forEach(b=>{var J,fe,le,ye;const D=this.properties.find(me=>S(me,this.project)===S(b,this.project));if(D){if(b.setDeclaration(D,a),!D.getDataType(a)){const Q=nn(b.parent).getMasterInputWithValueWritterFromAllInstances(b),ue=ga(Q),Te=ue==null?void 0:ue.clone(a,D,L.UUID.uuid(),!0);Te&&((J=D.dataType)==null||J.merge(Te,a),Te.id!==((fe=D.dataType)==null?void 0:fe.id)&&Te.remove({ignoreUpstream:!1},a),D.dataType&&(D.dataType.metaSync({inferred:!0,like:!0},a),D.setDataType(D.dataType,a),a==null||a.add(D,k.Affected)))}return}const V=S(b,this.project),M=b.codeName||ov(b,this.project)||dd(Bi(V)),x=us.new(a);x.parent=this.toReference(),x.index=b.index,x.name=V,x.codeName=M,x.description=b.description;const q=ne(x,this.project);q.hydrateAncestors(),a==null||a.add(q,k.Added),q.setParent(this,a),q.initChildren(a);const W=nn(b.parent).getMasterInputWithValueWritterFromAllInstances(b),z=ga(W),ae=z==null?void 0:z.clone(a,q,L.UUID.uuid(),!0);return ae&&((le=q.dataType)==null||le.merge(ae,a),ae.id!==((ye=q.dataType)==null?void 0:ye.id)&&ae.remove({ignoreUpstream:!1},a),q.dataType&&(q.dataType.metaSync({inferred:!0,like:!0},a),q.setDataType(q.dataType,a),a==null||a.add(q,k.Affected))),this.addProperty(q,a),b.setDeclaration(q,a),a==null||a.add(b,k.Updated),q}),a==null||a.attemptAutoclose("infer-definition-entity-from-inputs",this.id),{added:C(l),updated:C(c),removed:C(e),affected:C(y),self:this})}getRawDefaultValue(){const i={};return this.properties.forEach(a=>{var c;if(!aR(a))return;const l=Bi(a.name);i[l]=((c=a.getDefaultValue())==null?void 0:c.value)||null}),i}getActiveRawDefaultValue(){const i={};return this.properties.forEach(a=>{var e;if(!aR(a))return;const l=Bi(a.name),c=(e=this.project.requestActiveDynamicValue(a,!0))==null?void 0:e.value;i[l]=(c==null?void 0:c.value)||null}),i}setAdditionalPropertiesDataType(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.SetAdditionalPropertiesDataType))){if(!this.checkCanEdit(this,a))return Y.warn(`[setAdditionalPropertiesDataType] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.SetAdditionalPropertiesDataType,this.id),this;const l=this.additionalPropertiesDataType;return(l==null?void 0:l.id)!==(i==null?void 0:i.id)&&(l==null||l.remove({ignoreUpstream:!0},a),this.additionalPropertiesDataType=i,this.subscribeToDependencies(),a==null||a.add(this,k.Affected)),a==null||a.attemptAutoclose(P.SetAdditionalPropertiesDataType,this.id),this}removeAdditionalPropertiesDataType(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveAllPropertiesImplement))){return this.checkCanEdit(this,i)?(this.additionalPropertiesDataType&&(this.additionalPropertiesDataType.remove({ignoreUpstream:!0},i),i==null||i.add(this,k.Affected),this.additionalPropertiesDataType=null),i==null||i.attemptAutoclose(P.RemoveAllPropertiesImplement,this.id),this):(Y.warn(`[removeAdditionalPropertiesDataType] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),i==null||i.attemptAutoclose(P.RemoveAllPropertiesImplement,this.id),this)}setAllPropertiesImplement(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.SetAllPropertiesImplement))){if(!this.checkCanEdit(this,a))return Y.warn(`[setAllPropertiesImplement] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.SetAllPropertiesImplement,this.id),this;const l=this.allPropertiesImplement;return(l==null?void 0:l.id)!==(i==null?void 0:i.id)&&(l==null||l.remove({ignoreUpstream:!0},a),this.allPropertiesImplement=i,this.subscribeToDependencies(),a==null||a.add(this,k.Affected)),a==null||a.attemptAutoclose(P.SetAllPropertiesImplement,this.id),this}removeAllPropertiesImplement(i=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,P.RemoveAllPropertiesImplement))){return this.checkCanEdit(this,i)?(this.allPropertiesImplement&&(this.allPropertiesImplement.remove({ignoreUpstream:!0},i),i==null||i.add(this,k.Affected),this.allPropertiesImplement=null),i==null||i.attemptAutoclose(P.RemoveAllPropertiesImplement,this.id),this):(Y.warn(`[removeAllPropertiesImplement] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),i==null||i.attemptAutoclose(P.RemoveAllPropertiesImplement,this.id),this)}};_(ai,"repository",{APICreate:async(i,...a)=>i,APIUpdate:async(i,...a)=>i,APIDelete:async(i,...a)=>i,APIClone:async(i,...a)=>{},APILoad:async(i,...a)=>null,APILoadVersion:async(i,a,...l)=>null}),_(ai,"type",p.DefinitionEntity),_(ai,"USER_MANAGED_PARENT_TYPES",[p.Project,p.DataType]),_(ai,"PARENT_TYPES",[...ai.USER_MANAGED_PARENT_TYPES]),_(ai,"MUTABLE_BASE_PROPERTIES",["name","codeName","description","static","abstract","additionalProperties"]),_(ai,"INMUTABLE_BASE_PROPERTIES",["id","type","version","createdAt","author","previousVersion"]),_(ai,"BASE_PROPERTIES",[...ai.MUTABLE_BASE_PROPERTIES,...ai.INMUTABLE_BASE_PROPERTIES]),_(ai,"MUTABLE_META_PROPERTIES",[...ai.MUTABLE_BASE_PROPERTIES,"x","y"]),_(ai,"INMUTABLE_META_PROPERTIES",[...ai.INMUTABLE_BASE_PROPERTIES]),_(ai,"META_PROPERTIES",[...ai.MUTABLE_META_PROPERTIES,...ai.INMUTABLE_META_PROPERTIES]),_(ai,"MUTABLE_UPSTREAM_PROPERTIES",["extends","implements"]),_(ai,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),_(ai,"UPSTREAM_PROPERTIES",[...ai.MUTABLE_UPSTREAM_PROPERTIES,...ai.INMUTABLE_UPSTREAM_PROPERTIES]),_(ai,"MUTABLE_DOWNSTREAM_PROPERTIES",["properties","methods","abstractMethods","allPropertiesImplement","additionalPropertiesDataType"]),_(ai,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),_(ai,"DOWNSTREAM_PROPERTIES",[...ai.MUTABLE_DOWNSTREAM_PROPERTIES,...ai.INMUTABLE_DOWNSTREAM_PROPERTIES]),_(ai,"PROPERTIES",[...ai.META_PROPERTIES,...ai.UPSTREAM_PROPERTIES,...ai.DOWNSTREAM_PROPERTIES]);let ps=ai;function IVe(d){const u=[];return xi(d.errors,u)}const wy=class wy extends dA{constructor(i,a){super(i);_(this,"initialData");_(this,"id");_(this,"version");_(this,"name");_(this,"description",null);_(this,"type",p.BuiltInBaseEntity);_(this,"abstract",!1);_(this,"static");_(this,"additionalProperties",!1);_(this,"properties",[]);_(this,"allPropertiesImplement",null);_(this,"additionalPropertiesDataType",null);_(this,"methods",[]);_(this,"abstractMethods",[]);_(this,"extends",null);_(this,"interactive",!1);_(this,"errors",[]);_(this,"project");if(this.initialData=this.initialData||i,this.project=this.project||a,this.id=this.id||i.id,this.version=this.version||i.version,this.name=this.name||i.name,this.static=this.static||i.static,this.interactive=this.interactive||i.interactive,this.abstract=i.abstract,this.additionalProperties=i.additionalProperties,this.properties=this.initialData.properties.map(l=>{const c=ne(l,this.project);return c.setParent(this,null),c.initChildren(null),c}),this.methods=this.initialData.methods.map(l=>{const c=ne(l,this.project);return c.setParent(this,null),c.initChildren(null),c}),this.abstractMethods=this.initialData.abstractMethods.map(l=>{const c=ne(l,this.project);return c.setParent(this,null),c.initChildren(null),c}),this.initialData.allPropertiesImplement){const l=ne(this.initialData.allPropertiesImplement,this.project);l.setParent(this,null),l.initChildren(null),this.allPropertiesImplement=l}if(this.initialData.additionalPropertiesDataType){const l=ne(this.initialData.additionalPropertiesDataType,this.project);l.setParent(this,null),l.initChildren(null),this.additionalPropertiesDataType=l}this.initialData.extends&&(this.extends=ne(this.initialData.extends,this.project))}get allMethods(){return C([...this.ownDeclaredMethods,...this.allBaseMethodsFromOriginalParents])}get allProperties(){return C([...this.ownDeclaredProperties,...this.allBasePropertiesFromOriginalParents])}get allBaseMethodsFromOriginalParents(){var l;const i=((l=this.extends)==null?void 0:l.allMethods)||[],a=[...i].filter(c=>!i.some(e=>e.id!==c.id));return C(a)}get allBasePropertiesFromOriginalParents(){var l;const i=((l=this.extends)==null?void 0:l.allProperties)||[],a=[...i].filter(c=>!i.some(e=>{var y;return e.id!==c.id&&(!!e.implements.find(v=>v.id===c.id)||((y=e.extends)==null?void 0:y.id)===c.id)}));return C(a)}get allBasePropertiesFromExtendedAndImplementedEntities(){var l,c;const i=[...((l=this.extends)==null?void 0:l.ownDeclaredProperties)||[],...((c=this.extends)==null?void 0:c.allBasePropertiesFromExtendedAndImplementedEntities)||[]].filter(e=>!e.abstract),a=[...i].filter(e=>!i.some(y=>{var v;return y.id!==e.id&&(!!y.implements.find(T=>T.id===e.id)||((v=y.extends)==null?void 0:v.id)===e.id)}));return C([...a])}get allBaseMethodsFromExtendedAndImplementedEntities(){return C([...(this.extends?[this.extends]:[]).reduce((i,a)=>a.type===p.PrimitiveEntity?i:[...[...a.ownDeclaredMethods,...a.allBaseMethodsFromExtendedAndImplementedEntities].filter(c=>c.type!==p.ActionDescriptor),...i],[])])}get extendedPropertiesFromOriginalParents(){var l,c;const i=[...((l=this.extends)==null?void 0:l.ownDeclaredProperties)||[],...((c=this.extends)==null?void 0:c.extendedPropertiesFromOriginalParents)||[]].filter(e=>!e.abstract),a=[...i].filter(e=>!i.some(y=>{var v;return y.id!==e.id&&(!!y.implements.find(T=>T.id===e.id)||((v=y.extends)==null?void 0:v.id)===e.id)}));return C(a)}get implementedPropertiesFromOriginalParents(){return C([...(this.extends?[this.extends]:[]).reduce((i,a)=>{const l=a.implementedPropertiesFromOriginalParents,c=[...a.ownDeclaredProperties].filter(v=>!!v.abstract),e=[...l,...c,...i];return[...e].filter(v=>!!!e.find(I=>{var b;return((b=I.extends)==null?void 0:b.id)===v.id||!!I.implements.find(D=>D.id===v.id)}))},[])].filter(i=>!!i.abstract))}get extendedProperties(){return this.properties.filter(i=>i.isExtendedProperty)}get ownDeclaredMethods(){return[...this.methods,...this.abstractMethods]}get ownDeclaredProperties(){return this.properties.filter(i=>!i.isExtendedProperty)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}async APILoad(i=we,...a){return await wy.repository.APILoad(this.id,...a),this}toFlat(i=new Set){var l;return i.has(this.id)?[]:(i.add(this.id),[this,...this.properties.flatMap(c=>c.toFlat(i)),...this.methods.flatMap(c=>c.toFlat(i)),...this.abstractMethods.flatMap(c=>c.toFlat(i)),...((l=this.extends)==null?void 0:l.toFlat(i))||[]])}toFlatIds(i=new Set){var l;return i.has(this.id)?[]:(i.add(this.id),[this.id,...this.properties.flatMap(c=>c.toFlatIds(i)),...this.methods.flatMap(c=>c.toFlatIds(i)),...this.abstractMethods.flatMap(c=>c.toFlatIds(i)),...((l=this.extends)==null?void 0:l.toFlatIds(i))||[]])}toMeta(){return{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,description:this.description,interactive:this.interactive,additionalProperties:this.additionalProperties,abstract:this.abstract,static:this.static,type:this.type,name:this.name}}toJSON(i=new Set){var a,l,c;return i.has(this.id)?this.toReference():(i.add(this.id),{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,additionalProperties:this.additionalProperties,interactive:this.interactive,additionalPropertiesDataType:((a=this.additionalPropertiesDataType)==null?void 0:a.toJSON(i))||null,allPropertiesImplement:((l=this.allPropertiesImplement)==null?void 0:l.toJSON(i))||null,properties:this.properties.map(e=>e.toJSON(i)),methods:this.methods.map(e=>e.toJSON(i)),abstractMethods:this.abstractMethods.map(e=>e.toJSON(i)),extends:((c=this.extends)==null?void 0:c.toJSON(i))||null})}toReference(i=He){return{id:this.id+"--"+L.UUID.uuid()+"--ref",type:p.GenericReference,entityId:this.id,version:this.version,entityType:this.type}}toShallowJSON(i=He){var a,l,c;return{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,interactive:this.interactive,additionalProperties:this.additionalProperties,additionalPropertiesDataType:((a=this.additionalPropertiesDataType)==null?void 0:a.toReference())||null,allPropertiesImplement:((l=this.allPropertiesImplement)==null?void 0:l.toReference())||null,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),extends:((c=this.extends)==null?void 0:c.toReference())||null}}toFlatJSON(i=new Set){var l,c;return i.has(this.id)?[]:(i.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(e=>e.toFlatJSON(i)),...this.methods.flatMap(e=>e.toFlatJSON(i)),...this.abstractMethods.flatMap(e=>e.toFlatJSON(i)),...((l=this.additionalPropertiesDataType)==null?void 0:l.toFlatJSON(i))||[],...((c=this.allPropertiesImplement)==null?void 0:c.toFlatJSON(i))||[]])}toGenerationTarget(){var i;return{id:this.id,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,interactive:this.interactive,additionalProperties:this.additionalProperties,extends:(i=this.extends)==null?void 0:i.id}}toFlatGenerationTarget(i=new Set){var l,c;return i.has(this.id)?[]:(i.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(e=>e.toFlatGenerationTarget(i)),...this.methods.flatMap(e=>e.toFlatGenerationTarget(i)),...this.abstractMethods.flatMap(e=>e.toFlatGenerationTarget(i)),...((l=this.additionalPropertiesDataType)==null?void 0:l.toFlatGenerationTarget(i))||[],...((c=this.allPropertiesImplement)==null?void 0:c.toFlatGenerationTarget(i))||[]])}clearErrors(){var i,a;return this.errors=[],this.properties.forEach(l=>l.clearErrors()),this.methods.forEach(l=>l.clearErrors()),this.abstractMethods.forEach(l=>l.clearErrors()),(i=this.additionalPropertiesDataType)==null||i.clearErrors(),(a=this.allPropertiesImplement)==null||a.clearErrors(),this}validate(){const i=IVe(this);return this.errors=i,{success:!0}}getErrors(){var a,l;return[...this.errors,...this.properties.flatMap(c=>c.getErrors()),...this.methods.flatMap(c=>c.getErrors()),...this.abstractMethods.flatMap(c=>c.getErrors()),...((a=this.additionalPropertiesDataType)==null?void 0:a.getErrors())||[],...((l=this.allPropertiesImplement)==null?void 0:l.getErrors())||[]]}getShallowErrors(){return this.errors}implement(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),null,!0,"implement-built-in-base-entity")),l){const c=K0(this,i,a,l);return a==null||a.attemptAutoclose("implement-built-in-base-entity",this.id),c}getAllPropertiesImplements(){var a;const i=[];return this.allPropertiesImplement&&i.push(this.allPropertiesImplement),((a=this.extends)==null?void 0:a.type)===p.BuiltInBaseEntity&&i.push(...this.extends.getAllPropertiesImplements()||[]),i}getAllInteractiveMethods(){const i=[];if(this.interactive){if(i.push(...this.methods,...this.abstractMethods),!this.extends||this.extends.type===p.BuiltInBaseEntity&&this.extends.interactive||this.extends.type===p.PrimitiveEntity)return i;this.extends instanceof wy&&i.push(...this.extends.getAllInteractiveMethods())}return C(i)}};_(wy,"repository",{APILoad:async(i,...a)=>null});let Oa=wy;function AVe(d){const u=[];return xi(d.errors,u)}const fv=class fv extends dA{constructor(i,a){super(i);_(this,"initialData");_(this,"id");_(this,"name");_(this,"description",null);_(this,"type",p.PrimitiveEntity);_(this,"static");_(this,"abstract");_(this,"properties",[]);_(this,"methods",[]);_(this,"abstractMethods",[]);_(this,"extends",null);_(this,"errors",[]);_(this,"project");this.initialData=i,this.project=a,this.id=i.id,this.name=i.name,this.static=i.static,this.abstract=i.abstract,this.properties=this.initialData.properties.map(l=>{const c=ne(l,this.project);return c.setParent(this,null),c.initChildren(null),c}),this.methods=this.initialData.methods.map(l=>{const c=ne(l,this.project);return c.parent=this,c}),this.abstractMethods=this.initialData.abstractMethods.map(l=>{const c=ne(l,this.project);return c.parent=this,c}),this.initialData.extends&&(this.extends=ne(this.initialData.extends,this.project))}get allMethods(){return C([...this.ownDeclaredMethods,...this.allBaseMethodsFromOriginalParents])}get allProperties(){return C([...this.ownDeclaredProperties,...this.allBasePropertiesFromOriginalParents])}get allBaseMethodsFromOriginalParents(){var l;const i=((l=this.extends)==null?void 0:l.allMethods)||[],a=[...i].filter(c=>!i.some(e=>e.id!==c.id));return C(a)}get allBasePropertiesFromOriginalParents(){var l;const i=((l=this.extends)==null?void 0:l.allProperties)||[],a=[...i].filter(c=>!i.some(e=>{var y;return e.id!==c.id&&(e.implements.find(v=>v.id===c.id)||((y=e.extends)==null?void 0:y.id)===c.id)}));return C(a)}get allBasePropertiesFromExtendedAndImplementedEntities(){var l,c;const i=[...((l=this.extends)==null?void 0:l.ownDeclaredProperties)||[],...((c=this.extends)==null?void 0:c.allBasePropertiesFromExtendedAndImplementedEntities)||[]].filter(e=>!e.abstract),a=[...i].filter(e=>!i.some(y=>{var v;return y.id!==e.id&&(y.implements.find(T=>T.id===e.id)||((v=y.extends)==null?void 0:v.id)===e.id)}));return C(a)}get extendedPropertiesFromOriginalParents(){var l,c;const i=[...((l=this.extends)==null?void 0:l.ownDeclaredProperties)||[],...((c=this.extends)==null?void 0:c.extendedPropertiesFromOriginalParents)||[]].filter(e=>!e.abstract),a=[...i].filter(e=>!i.some(y=>{var v;return y.id!==e.id&&(y.implements.find(T=>T.id===e.id)||((v=y.extends)==null?void 0:v.id)===e.id)}));return C(a)}get implementedPropertiesFromOriginalParents(){return C([...(this.extends?[this.extends]:[]).reduce((i,a)=>{const l=a.implementedPropertiesFromOriginalParents,c=[...a.ownDeclaredProperties].filter(v=>!!v.abstract),e=[...l,...c,...i];return[...e].filter(v=>!!!e.find(I=>{var b;return((b=I.extends)==null?void 0:b.id)===v.id||I.implements.find(D=>D.id===v.id)}))},[])])}get extendedProperties(){return this.properties.filter(i=>i.isExtendedProperty)}get ownDeclaredMethods(){return[...this.methods]}get ownDeclaredProperties(){return this.properties.filter(i=>!i.isExtendedProperty)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}async APILoad(i=we,...a){return await fv.repository.APILoad(this.id,...a),this}toFlat(i=new Set){return i.has(this.id)?[]:(i.add(this.id),[this,...this.properties.flatMap(l=>l.toFlat(i)),...this.methods.flatMap(l=>l.toFlat(i)),...this.abstractMethods.flatMap(l=>l.toFlat(i))])}toFlatIds(i=new Set){return i.has(this.id)?[]:(i.add(this.id),[this.id,...this.properties.flatMap(l=>l.toFlatIds(i)),...this.methods.flatMap(l=>l.toFlatIds(i)),...this.abstractMethods.flatMap(l=>l.toFlatIds(i))])}toMeta(){return{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,description:this.description,static:this.static,abstract:this.abstract,type:this.type,name:this.name}}toJSON(i=new Set){var a;return i.has(this.id)?this.toReference():(i.add(this.id),{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,properties:this.properties.map(l=>l.toJSON(i)),methods:this.methods.map(l=>l.toJSON(i)),abstractMethods:this.abstractMethods.map(l=>l.toJSON(i)),extends:((a=this.extends)==null?void 0:a.toJSON(i))||null})}toReference(i=He){return{id:this.id+"--"+L.UUID.uuid()+"--ref",type:p.GenericReference,entityId:this.id,version:this.version,entityType:this.type}}toShallowJSON(i=He){var a;return{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,properties:this.properties.map(l=>l.toReference()),methods:this.methods.map(l=>l.toReference()),abstractMethods:this.abstractMethods.map(l=>l.toReference()),extends:((a=this.extends)==null?void 0:a.toReference())||null}}toFlatJSON(i=new Set){return i.has(this.id)?[]:(i.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(l=>l.toFlatJSON(i)),...this.methods.flatMap(l=>l.toFlatJSON(i)),...this.abstractMethods.flatMap(l=>l.toFlatJSON(i))])}toGenerationTarget(){var i;return{id:this.id,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,extends:(i=this.extends)==null?void 0:i.id}}toFlatGenerationTarget(i=new Set){return i.has(this.id)?[]:(i.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(l=>l.toFlatGenerationTarget(i)),...this.methods.flatMap(l=>l.toFlatGenerationTarget(i)),...this.abstractMethods.flatMap(l=>l.toFlatGenerationTarget(i))])}clearErrors(){return this.errors=[],this.properties.forEach(i=>i.clearErrors()),this.methods.forEach(i=>i.clearErrors()),this.abstractMethods.forEach(i=>i.clearErrors()),this}validate(){const i=AVe(this);return this.errors=i,{success:!0}}getErrors(){return[...this.errors,...this.properties.flatMap(a=>a.getErrors()),...this.methods.flatMap(a=>a.getErrors()),...this.abstractMethods.flatMap(a=>a.getErrors())]}getShallowErrors(){return this.errors}getAllInteractiveMethods(){const i=[];return i.push(...this.methods),!this.extends||this.extends.type===p.BuiltInBaseEntity&&this.extends.interactive||this.extends.type===p.PrimitiveEntity?i:(this.extends instanceof Oa&&i.push(...this.extends.getAllInteractiveMethods()),C(i))}};_(fv,"repository",{APILoad:async(i,...a)=>null});let Rn=fv;function Ci(d,u){if(!d)throw new Error("Entity is null");const i=u.get(d.id);switch(d.type){case p.LiteralValue:return i||new Pr(d,u);case p.DefinitionEntity:return i||new ps(d,u);case p.PrimitiveEntity:return i||new Rn(d,u);case p.FunctionDeclaration:return i||new Ia(d,u);case p.GlobalEvent:return i||new to(d,u);case p.DataType:return i||new Zr(d,u);case p.Property:return i||new us(d,u);case p.FunctionCall:return i||new Eo(d,u);case p.Condition:return i||new ro(d,u);case p.Operation:return i||new eo(d,u);case p.VariableDeclaration:return i||new lo(d,u);case p.VariableInstance:return i||new ao(d,u);case p.OutputMap:return i||new ta(d,u);case p.ArgumentDeclaration:return i||new ns(d,u);case p.InputMap:return i||new ls(d,u);case p.Project:return i||new L(d);case p.InstalledProject:return i||new uo(d,u);case p.ActionDescriptor:return i||new Ut(d,u);case p.ReturnStatement:return i||new cl(d,u);case p.Loop:return i||new io(d,u);case p.Search:return i||new oo(d,u);case p.ValueDescriptor:return i||new hl(d,u);case p.BuiltInBaseEntity:return i||new Oa(d,u);case p.InternalCall:return i||new po(d,u);case p.ContinueStatement:return i||new fo(d,u);case p.BreakStatement:return i||new co(d,u);case p.GenericReference:return u.get(d.entityId);default:throw new Error("Invalid entity type: "+d.type)}}function ne(d,u){if(!d)throw new Error("Entity is null");const i=Ci(d,u);return i.subscribe(),i}function wVe(d,u){if(!d)throw new Error("Entity is null");switch(d.type){case p.LiteralValue:return Pr.fromGenerationTarget(d,u);case p.DefinitionEntity:return ps.fromGenerationTarget(d,u);case p.FunctionDeclaration:return Ia.fromGenerationTarget(d,u);case p.GlobalEvent:return to.fromGenerationTarget(d,u);case p.DataType:return Zr.fromGenerationTarget(d,u);case p.Property:return us.fromGenerationTarget(d,u);case p.FunctionCall:return Eo.fromGenerationTarget(d,u);case p.Condition:return ro.fromGenerationTarget(d,u);case p.Operation:return eo.fromGenerationTarget(d,u);case p.VariableDeclaration:return lo.fromGenerationTarget(d,u);case p.VariableInstance:return ao.fromGenerationTarget(d,u);case p.OutputMap:return ta.fromGenerationTarget(d,u);case p.ArgumentDeclaration:return ns.fromGenerationTarget(d,u);case p.InputMap:return ls.fromGenerationTarget(d,u);case p.InstalledProject:return uo.fromGenerationTarget(d,u);case p.ReturnStatement:return cl.fromGenerationTarget(d,u);case p.Loop:return io.fromGenerationTarget(d,u);case p.Search:return oo.fromGenerationTarget(d,u);case p.ActionDescriptor:return Ut.fromGenerationTarget(d,u);case p.ValueDescriptor:return hl.fromGenerationTarget(d,u);case p.InternalCall:return po.fromGenerationTarget(d,u);case p.ContinueStatement:return fo.fromGenerationTarget(d,u);case p.BreakStatement:return co.fromGenerationTarget(d,u);default:throw new Error("Invalid entity type: "+d.type)}}const He={seenEntityMaps:new Map,seenEntities:new Set,timestamp:B().toISOString()};class Kz{constructor(){_(this,"initialData")}}const we={cascade:!1},qz={APILoad:async(d,...u)=>null},RVe={APICreate:async(d,...u)=>d,APIUpdate:async(d,...u)=>d,APIDelete:async(d,...u)=>d,APIClone:async(d,...u)=>{},APILoadVersion:async(d,u,...i)=>null,...qz};class CVe{}class Zz extends Kz{}class gVe extends Zz{}class _Ve{}class DVe{}class OVe{}class mR{}class PVe extends mR{}class $Ve extends mR{}class NVe{}class Nd{static initReadsValue(u){if(u.initialData.readsValue&&u.initialData.readsValue.type!==p.GenericReference)u.readsValue=ne(u.initialData.readsValue,u.project);else if(u.initialData.readsValue&&u.initialData.readsValue.type===p.GenericReference){const i=an(u.initialData.readsValue,u.project);i&&(u.readsValue=i)}if(u.readsValue){if($t.includes(u.readsValue.type)){let i=u.parent;!Qi.includes(i.type)&&i.type!==p.Project&&(i=i.parent);const a=u.type===p.InputMap&&u.parent.type===p.Loop;a&&(i=u.parent.parent),u.readsValue.setParent(i,null),u.readsValue.initChildren(null),i&&i.type!==p.Project&&!a&&i.detachedChildren.includes(u)?i.replaceDetachedChild(u,u.readsValue):i&&i.type!==p.Project&&!a&&i.subscribeDetachedChild(u.readsValue)}u.readsValue.addValueReader(u,null)}return u.readsValue}}class Iy{static initWritesValues(u,i){const a=u.initialData.writesValues.reduce((c,e)=>{if(e.type===p.GenericReference||u.writesValues.some(v=>v.id===e.id))return c;const y=ne(e,u.project);return y.setValueWriter(u,null),$t.includes(y.type)&&(y.setParent(i,null),y.initChildren(null)),[...c,y]},[]),l=[...u.writesValues];return u.writesValues=C([...l,...a]),u.writesValues}}class VVe{}var Yi=(d=>(d.PROJECT_INITIALIZED="project-initialized",d.CHANGE_SET_CLOSED="change-set-closed",d.EXPLICIT_DEFINITION_ENTITY_ADDED="explicit-definition-entity-added",d.EXPLICIT_DEFINITION_ENTITY_REMOVED="explicit-definition-entity-removed",d.EXPLICIT_DEFINITION_ENTITY_UPDATED="explicit-definition-entity-updated",d.PERSISTED_DEFINITION_ENTITY_ADDED="persisted-definition-entity-added",d.PERSISTED_DEFINITION_ENTITY_REMOVED="persisted-definition-entity-removed",d.PERSISTED_DEFINITION_ENTITY_UPDATED="persisted-definition-entity-updated",d.RELATIONAL_DATABASE_DEFINITION_ENTITY_ADDED="relational-database-definition-entity-added",d.RELATIONAL_DATABASE_DEFINITION_ENTITY_REMOVED="relational-database-definition-entity-removed",d.RELATIONAL_DATABASE_DEFINITION_ENTITY_UPDATED="relational-database-definition-entity-updated",d))(Yi||{});const vR={...MA,events:new Gu},Wz={requestActiveDynamicValue:(d,u=!1)=>null,...vR},Et=class Et extends pr{constructor(i,a={...Wz,events:new Gu}){super(i);_(this,"initialData");_(this,"id");_(this,"type",p.Project);_(this,"name",null);_(this,"description",null);_(this,"x");_(this,"y");_(this,"entities",[]);_(this,"projects",[]);_(this,"functions",[]);_(this,"events",[]);_(this,"variableDeclarations",[]);_(this,"variableInstances",[]);_(this,"conditions",[]);_(this,"operations",[]);_(this,"functionCalls",[]);_(this,"loops",[]);_(this,"searches",[]);_(this,"primitives",[]);_(this,"builtInBaseEntities",[]);_(this,"operationDeclarations",[]);_(this,"globalEventActionDescriptors",[]);_(this,"loopDeclarations",[]);_(this,"loopDeclarationsBodies",[]);_(this,"conditionDeclarations",[]);_(this,"valueDescriptors",[]);_(this,"dataTypes",[]);_(this,"project");_(this,"instances",{});_(this,"builtInInstances",{});_(this,"deletedInstances",{});_(this,"errors",[]);_(this,"references",[]);_(this,"history",[]);_(this,"undoableStackValueIndex",-1);_(this,"detachedDependents",{});_(this,"knownVersions",null);_(this,"activeVersion",!1);_(this,"initialized",!1);_(this,"startedInitialization",!1);_(this,"onCloseChangeSetCallback",null);_(this,"onAddChangeSetCallback",null);_(this,"onDiscardChangeSetCallback",null);if(this.parentContext=a,this.initialData=i,this.id=i.id,this.name=i.name,this.description=i.description,this.x=0,this.y=0,this.instances[this.id]=this,!Et.UUID)throw new Error("UUID module is already initialized. Please inject a valid UUID module.")}static get UUID(){var i;return(i=this.parentContext.requestExtension("uuid"))==null?void 0:i.module}static new(i=null){return{id:Et.UUID.uuid(),version:Et.UUID.uuid(),createdAt:(i==null?void 0:i.timestamp)||B().toISOString(),author:(i==null?void 0:i.author)||Et.sessionAuthor,previousVersion:null,deleted:!1,deletable:!0,editable:!0,type:p.Project,name:"",description:"",entities:[],functions:[],events:[],projects:[],variableDeclarations:[],variableInstances:[],conditions:[],operations:[],functionCalls:[],loops:[],searches:[]}}static validateGenerationTarget(i,a){let l=JSON.parse(JSON.stringify(i));const c=[];return c.push(...rr(l)),{errors:c,modifiedData:l}}get off(){return this.parentContext.events.off}get on(){return this.parentContext.events.on}get emit(){return this.parentContext.events.emit}async closePendingChangeSets(){const i=this.history.find(a=>a.dirty&&!a.open);i&&await this.closeChangeSet(i)}async onCloseChangeSet(i){this.onCloseChangeSetCallback=i,await this.closePendingChangeSets()}onAddChangeSet(i){this.onAddChangeSetCallback=i}onDiscardChangeSet(i){this.onDiscardChangeSetCallback=i}async closeChangeSet(i){const a=this.history.findIndex(e=>e.id===i.id),l=this.history.slice(0,a),c=l[l.length-1];if(!(c!=null&&c.dirty)&&this.onCloseChangeSetCallback){(await this.onCloseChangeSetCallback(i)).success&&(i.dirty=!1,this.emit("change-set-closed",i),this.closePendingChangeSets());return}}toLatestChangeSet(i,a,l,c=!1,e="here-this"){if(!this.history.length)return new G(this,i,a,l,c,e);const y=this.history[this.history.length-1];return y.open?y:this.addChangeSet(new G(this,i,a,l,c,e))}addChangeSet(i){var c,e;if(!this.history.length)return this.undoableStackValueIndex=oA(this.undoableStackValueIndex,this.history,i),(c=this.onAddChangeSetCallback)==null||c.call(this,i,this.undoableStackValueIndex),i;const a=this.history.find(y=>y.id===(i==null?void 0:i.id));if(a)return a;const l=this.history.find(y=>y.open);if(l)throw Y.warn("Previous still open: ",l),Y.warn("New change set: ",i),new Error(`There is already an open change-set with id '${l.id}'.`);return this.undoableStackValueIndex=oA(this.undoableStackValueIndex,this.history,i),(e=this.onAddChangeSetCallback)==null||e.call(this,i,this.undoableStackValueIndex),i}discardChangeSet(i){var l;const a=this.history.findIndex(c=>c.id===(i==null?void 0:i.id));return a!==-1&&(this.history.splice(a,1),this.undoableStackValueIndex=this.undoableStackValueIndex-1,(l=this.onDiscardChangeSetCallback)==null||l.call(this,i),i==null||i.teardown()),this}validateGeneratedUpdate(i){return{errors:[],modifiedData:i}}subscribeDependents(i){return i.forEach(a=>{this.detachedDependents[a.entity.id]||(this.detachedDependents[a.entity.id]=a)}),this}unsubscribeDependents(i){return i.forEach(a=>{this.detachedDependents[a.entity.id]&&delete this.detachedDependents[a.entity.id]}),this}syncDependents(i=this.project.addChangeSet(new G(this.project,Et.sessionAuthor,B().toISOString(),this,!0,"sync-dependents"))){const a=[],l=[],c=[],e=[];return Object.values(this.detachedDependents).forEach(y=>{const v=y.entity.afterAllChildrenInitialized(i);a.push(...v.updated),l.push(...v.added),c.push(...v.removed),e.push(...v.affected)}),i==null||i.attemptAutoclose("sync-dependents",this.id),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}onDetachedDependencyRemoved(i,a,l){const c=[],e=[],y=[],v=[];return{updated:C(c),added:C(e),removed:C(y),affected:C(v),self:this}}onDetachedDependencyRestored(i,a,l){const c=[],e=[],y=[],v=[];return{updated:C(c),added:C(e),removed:C(y),affected:C(v),self:this}}unsubscribeFromDependencies(){return this}subscribeToDependencies(){return this}increaseVersion(i){if(i&&!B(i).isValid())throw new Error(`The shared timestamp '${i}' is not a valid ISO 8601 date string.`);return i&&B(i).isSame(B(this.createdAt))?this:(this.previousVersion=this.version,this.version=Et.UUID.uuid(),this.createdAt=B(i).toISOString()||B().toISOString(),this)}captureVersion(){var a;const i=((a=this.knownVersions)==null?void 0:a.get(this.version))||new Et(this);return i.metaSync(this.toMeta(),null),this.knownVersions=this.knownVersions?this.knownVersions.set(this.version,i):new Map([[this.version,i]]),i.entities=[...this.entities],i.projects=[...this.projects],i.functions=[...this.functions],i.events=[...this.events],i.variableDeclarations=[...this.variableDeclarations],i.variableInstances=[...this.variableInstances],i.conditions=[...this.conditions],i.operations=[...this.operations],i.functionCalls=[...this.functionCalls],i.loops=[...this.loops],i.searches=[...this.searches],this}recursiveCaptureUpstreamVersions(i){const a=[],l=[],c=[],e=[];return{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}async restoreVersion(i){var v;const a=[],l=[],c=[],e=[];if(this.version===i)return{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this};if(!this.knownVersions){const T=new Map;for(const[I,b]of this.knownVersions||new Map){if(T.set(I,b),b.activeVersion=!1,b.knownVersions)for(const[D,V]of b.knownVersions)T.set(D,V);b.knownVersions=null}}let y=(v=this.knownVersions)==null?void 0:v.get(i);if(!y){const T=await this.APILoadVersion({},i);if(!T)throw new Error(`Version with id '${i}' for entity with id '${this.id}' not found.`);y=new Et(T)}return this.metaSync(y.toShallowJSON(),null),this.previousVersion=y.previousVersion,this.version=y.version,this.createdAt=y.createdAt,this.author=y.author,this.deleted=y.deleted,this.entities=y.entities,this.projects=y.projects,this.functions=y.functions,this.events=y.events,this.variableDeclarations=y.variableDeclarations,this.variableInstances=y.variableInstances,this.conditions=y.conditions,this.operations=y.operations,this.functionCalls=y.functionCalls,this.loops=y.loops,this.searches=y.searches,{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}updateWithShallowTransfer(i,a=this.project.addChangeSet(new G(this.project,Et.sessionAuthor,B().toISOString(),this,!0,P.UpdateWithShallowTransfer))){return this.checkCanEdit(this,a)?(this.metaSync(i,a),this.version=i.version,this.createdAt=i.createdAt,this.author=i.author,this.deleted=i.deleted,this.previousVersion=i.previousVersion,this.captureVersion(),this.subscribeToDependencies(),a==null||a.attemptAutoclose(P.UpdateWithShallowTransfer,this.id),this):(Y.warn(`[updateWithShallowTransfer] User is not allowed to edit this ${this.type} entity with id: ${this.id}`),a==null||a.attemptAutoclose(P.UpdateWithShallowTransfer,this.id),this)}hydrateAncestors(){const i=[],a=[],l=[],c=[];return{updated:C(i),added:C(a),removed:C(l),affected:C(c),self:this}}afterAllChildrenInitialized(i=null){const a=[],l=[],c=[],e=[];return this.initialized||(this.initialized=!0,this.emit("project-initialized",this,i)),this.validate(),this.captureVersion(),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}addSelfToProject(i){const a=[],l=[],c=[],e=[];return this.subscribe(),this.subscribeToDependencies(),{updated:C(a),added:C(l),removed:C(c),affected:C(e),self:this}}get instancesList(){return Object.values(this.instances)}isOperationDeclaration(i){return this.operationDeclarations.includes(i)}isGlobalEventActionDescriptor(i){return this.globalEventActionDescriptors.includes(i)}isLoopDeclaration(i){return this.loopDeclarations.includes(i)}isConditionDeclaration(i){return this.conditionDeclarations.includes(i)}initChildren(i=this.project.addChangeSet(new G(this.project,Et.sessionAuthor,B().toISOString(),this,!0,"init-children"))){return this.initialized||this.startedInitialization?this:(this.startedInitialization=!0,this.entities=this.initialData.entities.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.projects=this.initialData.projects.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.variableDeclarations=this.initialData.variableDeclarations.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.variableInstances=this.initialData.variableInstances.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.conditions=this.initialData.conditions.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.operations=this.initialData.operations.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.functions=this.initialData.functions.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.events=this.initialData.events.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.functionCalls=this.initialData.functionCalls.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.loops=this.initialData.loops.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.searches=this.initialData.searches.map(a=>{const l=ne(a,this);return l.setParent(this,null),l.initChildren(i),l}),this.attachOrphanReferences(),this.subscribeToDependencies(),this.afterAllChildrenInitialized(i),i==null||i.attemptAutoclose("init-children",this.id),this)}subscribeInstance(i){return(!this.instances[i.id]||this.instances[i.id]!==i)&&(this.instances[i.id]=i),this}subscribeDeletedInstance(i){return(!this.deletedInstances[i.id]||this.deletedInstances[i.id]!==i)&&(this.deletedInstances[i.id]=i),this}subscribeBuiltInInstance(i){return(!this.builtInInstances[i.id]||this.builtInInstances[i.id]!==i)&&(this.builtInInstances[i.id]=i),this}subscribe(){return this}unsubscribe(){return this}unsubscribeInstance(i){return delete this.instances[i.id],this}unsubscribeDeletedInstance(i){return delete this.deletedInstances[i.id],this}findSubscribedBuiltInInstance(i){return this.builtInInstances[i.id]||null}get(i){return this.instances[i]||this.builtInInstances[i]||null}getDeleted(i){return this.deletedInstances[i]||null}getManaged(i){return this.getBuiltIn(i)?null:this.instances[i]||null}getBuiltIn(i){return this.builtInInstances[i]||null}findSubscribedInstanceFromReference(i){return this.instances[i.entityId]||null}findSubscribedBuiltInInstanceFromReference(i){return this.builtInInstances[i.entityId]||null}metaSync(i,a=this.project.addChangeSet(new G(this.project,Et.sessionAuthor,B().toISOString(),this,!0,"meta-sync"))){const l=sr(this,i,a),c=nr(this,l),e=this.toMeta();return this.name=l.name!==void 0?l.name:e.name,this.description=l.description!==void 0?l.description:e.description,this.x=l.x||e.x,this.y=l.y||e.y,super.baseMetaSync(l,this,a),l.deleted===!0&&!e.deleted?a==null||a.add(this,k.Removed):l.deleted===!1&&e.deleted?a==null||a.add(this,k.Added):c&&(a==null||a.add(this,k.Updated)),a==null||a.attemptAutoclose("meta-sync",this.id),this}async APILoad(i=we,...a){return await Et.repository.APILoad(this.id,...a),this}async APICreate(i=we,...a){return await Et.repository.APICreate(this.toShallowJSON(),...a),this}async APIUpdate(i=we,...a){return await Et.repository.APIUpdate(this.toShallowJSON(),...a),this}async APIDelete(i=we,...a){return await Et.repository.APIDelete(this.toShallowJSON(),...a),this}async APIClone(i=we,...a){return await Et.repository.APIClone(this.id,...a),this}async APILoadVersion(i=we,a,...l){return await Et.repository.APILoadVersion(this.id,a,...l)}remove({ignoreUpstream:i}={ignoreUpstream:!1},a=this.project.addChangeSet(new G(this.project,Et.sessionAuthor,B().toISOString(),this,!0,P.RemoveEntity))){return{added:[],updated:[],removed:[],affected:[],self:this}}restore({}={},i=this.project.addChangeSet(new G(this.project,Et.sessionAuthor,B().toISOString(),this,!0,P.RestoreEntity))){return{added:[],updated:[],removed:[],affected:[],self:this}}getAllBuiltInIds(){const i=new Set;return[...this.primitives.flatMap(a=>a.toFlatIds(i)),...this.builtInBaseEntities.flatMap(a=>a.toFlatIds(i)),...this.operationDeclarations.flatMap(a=>a.toFlatIds(i)),...this.globalEventActionDescriptors.flatMap(a=>a.toFlatIds(i)),...this.loopDeclarations.flatMap(a=>a.toFlatIds(i)),...this.conditionDeclarations.flatMap(a=>a.toFlatIds(i)),...this.valueDescriptors.flatMap(a=>a.toFlatIds(i)),...this.dataTypes.flatMap(a=>a.toFlatIds(i))]}getAllBuiltIn(){const i=new Set;return[...this.primitives.flatMap(a=>a.toFlat(i)),...this.builtInBaseEntities.flatMap(a=>a.toFlat(i)),...this.operationDeclarations.flatMap(a=>a.toFlat(i)),...this.globalEventActionDescriptors.flatMap(a=>a.toFlat(i)),...this.loopDeclarations.flatMap(a=>a.toFlat(i)),...this.conditionDeclarations.flatMap(a=>a.toFlat(i)),...this.valueDescriptors.flatMap(a=>a.toFlat(i)),...this.dataTypes.flatMap(a=>a.toFlat(i))]}toFlat(i=new Set){return i.has(this.id)?[]:(i.add(this.id),[this,...this.entities.flatMap(l=>l.toFlat(i)),...this.functions.flatMap(l=>l.toFlat(i)),...this.events.flatMap(l=>l.toFlat(i)),...this.projects.flatMap(l=>l.toFlat(i)),...this.variableDeclarations.flatMap(l=>l.toFlat(i)),...this.variableInstances.flatMap(l=>l.toFlat(i)),...this.conditions.flatMap(l=>l.toFlat(i)),...this.operations.flatMap(l=>l.toFlat(i)),...this.functionCalls.flatMap(l=>l.toFlat(i)),...this.loops.flatMap(l=>l.toFlat(i)),...this.searches.flatMap(l=>l.toFlat(i))])}toFlatIds(i=new Set){return i.has(this.id)?[]:(i.add(this.id),[this.id,...this.entities.flatMap(l=>l.toFlatIds(i)),...this.functions.flatMap(l=>l.toFlatIds(i)),...this.events.flatMap(l=>l.toFlatIds(i)),...this.projects.flatMap(l=>l.toFlatIds(i)),...this.variableDeclarations.flatMap(l=>l.toFlatIds(i)),...this.variableInstances.flatMap(l=>l.toFlatIds(i)),...this.conditions.flatMap(l=>l.toFlatIds(i)),...this.operations.flatMap(l=>l.toFlatIds(i)),...this.functionCalls.flatMap(l=>l.toFlatIds(i)),...this.loops.flatMap(l=>l.toFlatIds(i)),...this.searches.flatMap(l=>l.toFlatIds(i))])}toMeta(){return{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,description:this.description,type:this.type,editable:this.editable,deletable:this.deletable,name:this.name}}toJSON(i=new Set){return i.has(this.id)?this.toReference():(i.add(this.id),{id:this.id,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,type:this.type,editable:this.editable,deletable:this.deletable,name:this.name,description:this.description,entities:this.entities.map(a=>a.toJSON(i)),variableDeclarations:this.variableDeclarations.map(a=>a.toJSON(i)),variableInstances:this.variableInstances.map(a=>a.toJSON(i)),conditions:this.conditions.map(a=>a.toJSON(i)),operations:this.operations.map(a=>a.toJSON(i)),loops:this.loops.map(a=>a.toJSON(i)),searches:this.searches.map(a=>a.toJSON(i)),functions:this.functions.map(a=>a.toJSON(i)),events:this.events.map(a=>a.toJSON(i)),projects:this.projects.map(a=>a.toJSON(i)),functionCalls:this.functionCalls.map(a=>a.toJSON(i))})}toJSONClone(i={uuidStrategy:"uuid"}){const a=new Map,l=new Set,c=this.getAllBuiltInIds();return Object.keys(this.instances).forEach(e=>{if(c.includes(e)){a.set(e,e);return}a.set(e,Et.UUID.uuid())}),l.add(this.id),{id:a.get(this.id),version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,type:this.type,editable:this.editable,deletable:this.deletable,name:this.name,description:this.description,entities:this.entities.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),projects:this.projects.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),variableDeclarations:this.variableDeclarations.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),variableInstances:this.variableInstances.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),conditions:this.conditions.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),operations:this.operations.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),functions:this.functions.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),events:this.events.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),functionCalls:this.functionCalls.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),loops:this.loops.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null})),searches:this.searches.map(e=>e.toJSONClone({...i,seenEntityMaps:a,seenEntities:l,newId:null}))}}toReference(i=He){var l;let a=this.id;return(l=i.seenEntityMaps)!=null&&l.has(this.id)&&(a=i.seenEntityMaps.get(this.id)),{id:a+"--"+Et.UUID.uuid()+"--ref",type:p.GenericReference,entityId:a,version:this.version,entityType:this.type}}toShallowJSON(i=He){var l;let a=this.id;return(l=i.seenEntityMaps)!=null&&l.has(this.id)&&(a=i.seenEntityMaps.get(this.id)),{id:a,version:this.version,createdAt:this.createdAt,previousVersion:this.previousVersion,author:this.author,deleted:this.deleted,type:this.type,editable:this.editable,deletable:this.deletable,name:this.name,description:this.description,entities:this.entities.map(c=>c.toReference(i)),functions:this.functions.map(c=>c.toReference(i)),events:this.events.map(c=>c.toReference(i)),projects:this.projects.map(c=>c.toReference(i)),variableDeclarations:this.variableDeclarations.map(c=>c.toReference(i)),variableInstances:this.variableInstances.map(c=>c.toReference(i)),conditions:this.conditions.map(c=>c.toReference(i)),operations:this.operations.map(c=>c.toReference(i)),functionCalls:this.functionCalls.map(c=>c.toReference(i)),loops:this.loops.map(c=>c.toReference(i)),searches:this.searches.map(c=>c.toReference(i))}}toFlatJSON(i=new Set){return i.has(this.id)?[]:(i.add(this.id),[this.toShallowJSON(),...this.entities.flatMap(l=>l.toFlatJSON(i)),...this.functions.flatMap(l=>l.toFlatJSON(i)),...this.events.flatMap(l=>l.toFlatJSON(i)),...this.projects.flatMap(l=>l.toFlatJSON(i)),...this.variableDeclarations.flatMap(l=>l.toFlatJSON(i)),...this.variableInstances.flatMap(l=>l.toFlatJSON(i)),...this.conditions.flatMap(l=>l.toFlatJSON(i)),...this.operations.flatMap(l=>l.toFlatJSON(i)),...this.functionCalls.flatMap(l=>l.toFlatJSON(i)),...this.loops.flatMap(l=>l.toFlatJSON(i)),...this.searches.flatMap(l=>l.toFlatJSON(i))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description}}toFlatGenerationTarget(i=new Set){return i.has(this.id)?[]:(i.add(this.id),[...this.entities.flatMap(l=>l.toFlatGenerationTarget(i)),...this.functions.flatMap(l=>l.toFlatGenerationTarget(i)),...this.events.flatMap(l=>l.toFlatGenerationTarget(i)),...this.projects.flatMap(l=>l.toFlatGenerationTarget(i)),...this.variableDeclarations.flatMap(l=>l.toFlatGenerationTarget(i)),...this.variableInstances.flatMap(l=>l.toFlatGenerationTarget(i)),...this.conditions.flatMap(l=>l.toFlatGenerationTarget(i)),...this.operations.flatMap(l=>l.toFlatGenerationTarget(i)),...this.functionCalls.flatMap(l=>l.toFlatGenerationTarget(i)),...this.loops.flatMap(l=>l.toFlatGenerationTarget(i)),...this.searches.flatMap(l=>l.toFlatGenerationTarget(i))])}clearErrors(){return this.errors=[],this.entities.forEach(i=>i.clearErrors()),this.projects.forEach(i=>i.clearErrors()),this.functions.forEach(i=>i.clearErrors()),this.events.forEach(i=>i.clearErrors()),this.variableDeclarations.forEach(i=>i.clearErrors()),this.variableInstances.forEach(i=>i.clearErrors()),this.conditions.forEach(i=>i.clearErrors()),this.operations.forEach(i=>i.clearErrors()),this.functionCalls.forEach(i=>i.clearErrors()),this.loops.forEach(i=>i.clearErrors()),this.searches.forEach(i=>i.clearErrors()),this}validate(){return this.validateChildren(),Vc([...this.errors]),{success:!0}}validateChildren(){this.entities.forEach(i=>i.validate()),this.projects.forEach(i=>i.validate()),this.functions.forEach(i=>i.validate()),this.events.forEach(i=>i.validate()),this.variableDeclarations.forEach(i=>i.validate()),this.variableInstances.forEach(i=>i.validate()),this.conditions.forEach(i=>i.validate()),this.operations.forEach(i=>i.validate()),this.functionCalls.forEach(i=>i.validate()),this.loops.forEach(i=>i.validate()),this.searches.forEach(i=>i.validate())}getErrors(){return[...this.errors,...this.entities.flatMap(a=>a.getErrors()),...this.projects.flatMap(a=>a.getErrors()),...this.functions.flatMap(a=>a.getErrors()),...this.events.flatMap(a=>a.getErrors()),...this.variableDeclarations.flatMap(a=>a.getErrors()),...this.variableInstances.flatMap(a=>a.getErrors()),...this.conditions.flatMap(a=>a.getErrors()),...this.operations.flatMap(a=>a.getErrors()),...this.functionCalls.flatMap(a=>a.getErrors()),...this.loops.flatMap(a=>a.getErrors()),...this.searches.flatMap(a=>a.getErrors())]}getShallowErrors(){return this.errors}clone(){return this}getDefinitionEntity(i){return this.entities.find(a=>a.id===i)||null}addDefinitionEntity(i){return this.entities.includes(i)||this.entities.push(i),i}addFunctionDeclaration(i){return this.functions.includes(i)||this.functions.push(i),i}addFunctionCall(i){return this.functionCalls.includes(i)||this.functionCalls.push(i),i}addVariableDeclaration(i){return this.variableDeclarations.includes(i)||this.variableDeclarations.push(i),i}addVariableInstance(i){return this.variableInstances.includes(i)||this.variableInstances.push(i),i}addInstalledProject(i){return this.projects.includes(i)||this.projects.push(i),this}addGlobalEvent(i){return this.events.includes(i)||this.events.push(i),this}addCondition(i){return this.conditions.includes(i)||this.conditions.push(i),this}addOperation(i){return this.operations.includes(i)||this.operations.push(i),this}addLoop(i){return this.loops.includes(i)||this.loops.push(i),this}addSearch(i){return this.searches.includes(i)||this.searches.push(i),this}removeDefinitionEntity(i){const a=this.entities.findIndex(l=>l.id===i.id);if(a>-1){const l=this.entities[a];return this.entities.splice(a,1),l}return null}removeCondition(i){const a=this.conditions.findIndex(l=>l.id===i.id);if(a>-1){const l=this.conditions[a];return this.conditions.splice(a,1),l}return null}removeOperation(i){const a=this.operations.findIndex(l=>l.id===i.id);if(a>-1){const l=this.operations[a];return this.operations.splice(a,1),l}return null}removeLoop(i){const a=this.loops.findIndex(l=>l.id===i.id);if(a>-1){const l=this.loops[a];return this.loops.splice(a,1),l}return null}removeSearch(i){const a=this.searches.findIndex(l=>l.id===i.id);if(a>-1){const l=this.searches[a];return this.searches.splice(a,1),l}return null}removeFunctionCall(i){const a=this.functionCalls.findIndex(l=>l.id===i.id);if(a>-1){const l=this.functionCalls[a];return this.functionCalls.splice(a,1),l}return null}removeVariableInstance(i){const a=this.variableInstances.findIndex(l=>l.id===i.id);if(a>-1){const l=this.variableInstances[a];return this.variableInstances.splice(a,1),l}return null}removeVariableDeclaration(i){const a=this.variableDeclarations.findIndex(l=>l.id===i.id);if(a>-1){const l=this.variableDeclarations[a];return this.variableDeclarations.splice(a,1),l}return null}removeFunctionDeclaration(i){const a=this.functions.findIndex(l=>l.id===i.id);if(a>-1){const l=this.functions[a];return this.functions.splice(a,1),l}return null}removeInstalledProject(i){const a=this.projects.findIndex(l=>l.id===i.id);if(a>-1){const l=this.projects[a];return this.projects.splice(a,1),l}return null}removeGlobalEvent(i){const a=this.events.findIndex(l=>l.id===i.id);if(a>-1){const l=this.events[a];return this.events.splice(a,1),l}return null}removeTopLevelVariableDeclaration(i){if(i.type!==p.VariableDeclaration)return null;const a=this.variableDeclarations.findIndex(l=>l.id===i.id);if(a>-1){const l=this.variableDeclarations[a];return this.variableDeclarations.splice(a,1),l}return null}getEntryPoints(){return[...this.functions,...this.events,...this.entities.flatMap(a=>a.methods)]}getTerminationStatements(){return[...this.getEntryPoints().reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.ReturnStatement||e.type===p.ContinueStatement||e.type===p.BreakStatement)]},[])]}getFunctionDeclaration(i){return this.functions.find(a=>a.id===i)||null}getConditions(){return[...this.conditions,...this.getEntryPoints().reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Condition)]},[]),...this.functionCalls.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Condition)]},[]),...this.operations.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Condition)]},[]),...this.loops.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Condition)]},[]),...this.searches.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Condition)]},[])]}getOperations(){return[...this.operations,...this.getEntryPoints().reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Operation)]},[]),...this.functionCalls.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Operation)]},[]),...this.conditions.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Operation)]},[]),...this.loops.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Operation)]},[]),...this.searches.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Operation)]},[])]}getFunctionCalls(){return[...this.functionCalls,...this.getEntryPoints().reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.FunctionCall)]},[]),...this.conditions.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.FunctionCall)]},[]),...this.operations.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.FunctionCall)]},[]),...this.loops.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.FunctionCall)]},[]),...this.searches.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.FunctionCall)]},[])]}getVariables(){return[...this.variableDeclarations,...this.getEntryPoints().reduce((a,l)=>{const c=Li(l);return[...a,...c]},[]),...this.functionCalls.reduce((a,l)=>{const c=Li(l);return[...a,...c]},[]),...this.conditions.reduce((a,l)=>{const c=Li(l);return[...a,...c]},[]),...this.operations.reduce((a,l)=>{const c=Li(l);return[...a,...c]},[]),...this.loops.reduce((a,l)=>{const c=Li(l);return[...a,...c]},[]),...this.searches.reduce((a,l)=>{const c=Li(l);return[...a,...c]},[])]}getVariableInstances(){return[...this.variableInstances,...this.entities.reduce((a,l)=>[...a,...l.methods.flatMap(c=>{const y=ht(c).filter(v=>v.type===p.VariableInstance);return[...a,...y]})],[]),...this.getEntryPoints().reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableInstance);return[...a,...e]},[]),...this.functionCalls.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableInstance);return[...a,...e]},[]),...this.conditions.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableInstance);return[...a,...e]},[]),...this.operations.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableInstance);return[...a,...e]},[]),...this.loops.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableInstance);return[...a,...e]},[]),...this.searches.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableInstance);return[...a,...e]},[])]}getVariableDeclarations(){return C([...this.variableDeclarations,...this.entities.reduce((a,l)=>[...a,...l.methods.flatMap(c=>{const y=ht(c).filter(v=>v.type===p.VariableDeclaration);return[...a,...y]})],[]),...this.getEntryPoints().reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableDeclaration);return[...a,...e]},[]),...this.functionCalls.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableDeclaration);return[...a,...e]},[]),...this.conditions.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableDeclaration);return[...a,...e]},[]),...this.operations.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableDeclaration);return[...a,...e]},[]),...this.loops.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableDeclaration);return[...a,...e]},[]),...this.searches.reduce((a,l)=>{const e=Li(l).filter(y=>y.type===p.VariableDeclaration);return[...a,...e]},[])])}getLoops(){return[...this.loops,...this.getEntryPoints().reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Loop)]},[]),...this.functionCalls.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Loop)]},[]),...this.conditions.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Loop)]},[]),...this.operations.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Loop)]},[]),...this.searches.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Loop)]},[])]}getSearches(){return[...this.searches,...this.getEntryPoints().reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Search)]},[]),...this.functionCalls.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Search)]},[]),...this.conditions.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Search)]},[]),...this.operations.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Search)]},[]),...this.loops.reduce((a,l)=>{const c=ht(l);return[...a,...c.filter(e=>e.type===p.Search)]},[])]}attachOrphanReferences(){const i=this.getVariableInstances(),a=this.getVariableDeclarations();return i.forEach(l=>{if(!l.declaration){const c=l.initialData,e=c.declaration.entityId||c.declaration.id,y=a.find(v=>v.id===e);y&&l.setDeclaration(y)}}),this}getBuiltInPersistedEntity(){return this.builtInBaseEntities.find(i=>i.name===ce.PERSISTED_ENTITY)||null}requestActiveDynamicValue(i,a=!1){var c,e;const l=(e=(c=this.parentContext).requestActiveDynamicValue)==null?void 0:e.call(c,i,a);if(!l&&vh.includes(i.type)){const y=i.getDefaultValue();return y?{value:y,type:Ce.DefaultValue,inheritanceLink:null,valueOwner:i}:null}return l||null}requestExtension(i){if(this.parentContext.requestExtension){const a=this.parentContext.requestExtension(i);if(a&&!a.module)throw new Error(`Module ${i} is not registered properly.`);return a.module||null}return null}undo(){Y.log("Undoing, from: ",this.undoableStackValueIndex),this.undoableStackValueIndex=this.undoableStackValueIndex-1,Y.log("To: ",this.undoableStackValueIndex);const i=this.history[this.undoableStackValueIndex+1],a=this.history[this.undoableStackValueIndex];return Y.log("Current change set: ",i==null?void 0:i.toJSON()),Y.log("Change set to restore: ",a==null?void 0:a.toJSON()),aA(i||"initial",a||"initial",this)}redo(){Y.log("Undoing, from: ",this.undoableStackValueIndex),this.undoableStackValueIndex=this.undoableStackValueIndex+1,Y.log("To: ",this.undoableStackValueIndex);const i=this.history[this.undoableStackValueIndex-1],a=this.history[this.undoableStackValueIndex];return Y.log("Current change set: ",i==null?void 0:i.toJSON()),Y.log("Change set to restore: ",a.toJSON()),aA(i||"initial",a||"initial",this)}applyExternalChangeSet(i){const a=i.payload,l=this.addChangeSet(new G(this,i.userAuthor,i.emittedAt,this));l.ignoreNonEditable=!0,l.ignoreNonDeletable=!0;const c=a.updated[this.id];if(!c)throw new Error("Project root not found in change set transfer. Cannot apply changes.");const e={...a.added,...a.updated,...a.removed},y=[...Object.keys(a.added),...Object.keys(a.updated),...Object.keys(a.removed)];y.forEach(T=>{var I;if(!e[T]){Y.warn(`Entity '${T}' not found in change set transfer. Cannot apply changes.`);const b=(I=this.get(T))==null?void 0:I.toShallowJSON();throw b?Y.warn("Entity in project: ",b):Y.warn("Entity not in project"),new Error(`Entity '${T}' not found in change set transfer. Cannot apply changes.`)}});const v=new Da(c);return v.flatRecord=e,v.order=y,v.orderEntities(),Y.log("All entities: ",v.order.map((T,I)=>`${I+1}: ${e[T].type} - ${T}`).join(`,
399
399
  `)),Y.log("Persisting new additions"),v.visit(async(T,I)=>{if(a.added[T.id]){Y.log("Adding: ",T.id);try{const b=ne(T,this);if(b.hydrateAncestors(),b.addSelfToProject(l),l.add(b,k.Added),!this.get(T.id))throw new Error(`Entity ${T.id} was not added to the project`)}catch(b){Y.error("Error: ",b),Y.error("Errored entity: ",T)}}}),Y.log("Persisting updates"),v.visit(async(T,I)=>{if(a.updated[T.id]){Y.log("Updating: ",T.id);try{const b=this.get(T.id);b?(b.updateWithShallowTransfer(T,l),l.add(b,k.Updated)):Y.warn(`Active version of ${T.id} not found when applying external changes`)}catch(b){Y.error("Error: ",b),Y.error("Errored entity: ",T)}}}),Y.log("Persisting removals"),v.visit(async(T,I)=>{if(a.removed[T.id]){Y.log("Removing: ",T.id);try{const b=this.get(T.id);b&&b.remove({ignoreUpstream:!1},l)}catch(b){Y.error("Error: ",b),Y.error("Errored entity: ",T)}}}),l.open=!1,l}toBuiltInShallowRecord(){const i={};return Object.values(this.builtInInstances).forEach(a=>{const l=a.toShallowJSON();i[a.id]=l}),i}toShallowRecord(){const i={};return Object.values(this.instances).forEach(a=>{const l=a.toShallowJSON();i[a.id]=l}),i}toFullProjectTransfer(){const i=new Da(this),a={};return i.visit(l=>{const c=l.toShallowJSON();a[l.id]=c}),{order:i.order,size:i.order.length,record:a}}};_(Et,"parentContext",vR),_(Et,"sessionAuthor","1"),_(Et,"repository",{APICreate:async(i,...a)=>i,APIUpdate:async(i,...a)=>i,APIDelete:async(i,...a)=>i,APIClone:async(i,...a)=>{},APILoad:async(i,...a)=>null,APILoadVersion:async(i,a,...l)=>null}),_(Et,"type",p.Project),_(Et,"USER_MANAGED_PARENT_TYPES",[]),_(Et,"PARENT_TYPES",[...Et.USER_MANAGED_PARENT_TYPES]),_(Et,"MUTABLE_BASE_PROPERTIES",["name","description"]),_(Et,"INMUTABLE_BASE_PROPERTIES",["id","type","version","createdAt","author","previousVersion"]),_(Et,"BASE_PROPERTIES",[...Et.MUTABLE_BASE_PROPERTIES,...Et.INMUTABLE_BASE_PROPERTIES]),_(Et,"MUTABLE_META_PROPERTIES",[...Et.MUTABLE_BASE_PROPERTIES,"x","y"]),_(Et,"INMUTABLE_META_PROPERTIES",[...Et.INMUTABLE_BASE_PROPERTIES]),_(Et,"META_PROPERTIES",[...Et.MUTABLE_META_PROPERTIES,...Et.INMUTABLE_META_PROPERTIES]),_(Et,"MUTABLE_UPSTREAM_PROPERTIES",[]),_(Et,"INMUTABLE_UPSTREAM_PROPERTIES",["primitives","builtInBaseEntities","operationDeclarations","globalEventActionDescriptors","loopDeclarations","builtInInstances"]),_(Et,"UPSTREAM_PROPERTIES",[...Et.MUTABLE_UPSTREAM_PROPERTIES,...Et.INMUTABLE_UPSTREAM_PROPERTIES]),_(Et,"MUTABLE_DOWNSTREAM_PROPERTIES",["entities","projects","functions","events","variableDeclarations","variableInstances","conditions","operations","functionCalls","loops","searches"]),_(Et,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),_(Et,"DOWNSTREAM_PROPERTIES",[...Et.MUTABLE_DOWNSTREAM_PROPERTIES,...Et.INMUTABLE_DOWNSTREAM_PROPERTIES]),_(Et,"PROPERTIES",[...Et.META_PROPERTIES,...Et.UPSTREAM_PROPERTIES,...Et.DOWNSTREAM_PROPERTIES]);let L=Et;class Hz extends Ut{constructor(i){super(Zs,i);_(this,"id",Ei.Parallel);_(this,"name",Ei.Parallel);_(this,"description","Programmatically execute a list of actions one after the other");_(this,"version","1");_(this,"autoexecutable",!0);_(this,"initialData",Zs);_(this,"type",p.ActionDescriptor);_(this,"inputs",[]);_(this,"dataType",null);_(this,"error",null);_(this,"project");this.project=i,this.inputs=Zs.inputs.map(a=>{const l=ne(a,this.project);return l.setParent(this,null),l.initChildren(null),l}),this.dataType=ne(Zs.dataType,this.project),this.dataType.setParent(this,null),this.dataType.initChildren(null),this.error=Zs.error?ne(Zs.error,this.project):null}}class zz extends Ut{constructor(i){super(Nn,i);_(this,"id",Nn.id);_(this,"name",Nn.name);_(this,"description",Nn.description);_(this,"version",Nn.version);_(this,"autoexecutable",!1);_(this,"initialData",Nn);_(this,"type",p.ActionDescriptor);_(this,"inputs",[]);_(this,"dataType",null);_(this,"error",null);_(this,"project");this.project=i,this.inputs=Nn.inputs.map(a=>{const l=ne(a,this.project);return l.setParent(this,null),l.initChildren(null),l}),this.dataType=ne(Nn.dataType,this.project),this.dataType.setParent(this,null),this.dataType.initChildren(null),this.error=Nn.error?ne(Nn.error,this.project):null}}class Jz extends Ut{constructor(i){super(Ja,i);_(this,"id",Ei.Sequential);_(this,"name",Ei.Sequential);_(this,"description","Programmatically execute a list of actions one after the other");_(this,"version","1");_(this,"autoexecutable",!0);_(this,"initialData",Ja);_(this,"type",p.ActionDescriptor);_(this,"inputs",[]);_(this,"dataType",null);_(this,"error",null);_(this,"project");this.project=i,this.inputs=Ja.inputs.map(a=>{const l=ne(a,this.project);return l.setParent(this,null),l.initChildren(null),l}),this.dataType=ne(Ja.dataType,this.project),this.dataType.setParent(this,null),this.dataType.initChildren(null),this.error=Ja.error?ne(Ja.error,this.project):null}}class LVe extends Ut{constructor(u){super(dc,u)}}class BVe extends Ut{constructor(i){super(lu,i);_(this,"autoexecutable",!0)}getEntityToMatchInputMap(i){return i.inputs.find(a=>{var l;return((l=a.declaration)==null?void 0:l.id)===pe.operation[mr.Validate].inputs.entityToMatch.id})||null}getDataToValidateInputMap(i){return i.inputs.find(a=>{var l;return((l=a.declaration)==null?void 0:l.id)===pe.operation[mr.Validate].inputs.dataToValidate.id})||null}getOutputDataOutputMap(i){return i.outputs.find(a=>{var l;return((l=a.declaration)==null?void 0:l.id)===pe.operation[mr.Validate].dataType.entity.properties.outputEntity.id})||null}getEntityToMatch(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"get-entity-to-match-validate-data"))){var e;const l=((e=this.project.requestActiveDynamicValue(i))==null?void 0:e.value)||null,c=l==null?void 0:l.valueAsTypeSingle;return a==null||a.attemptAutoclose("get-entity-to-match-validate-data",this.id),c}syncOperationInstance(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"sync-operation-instance-validate-data"))){const l=[],c=[],e=[],y=[],v=this.getEntityToMatchInputMap(i);if(v){const{added:b,updated:D,removed:V,affected:M}=this.syncEntityToMatchInputMapDataType(v,a);l.push(...D),c.push(...b),e.push(...V),y.push(...M)}const T=this.getDataToValidateInputMap(i);if(T){const{added:b,updated:D,removed:V,affected:M}=this.syncDataToValidateInputMapDataType(T,a);l.push(...D),c.push(...b),e.push(...V),y.push(...M)}const I=this.getOutputDataOutputMap(i);if(I){const{added:b,updated:D,removed:V,affected:M}=this.syncOutputDataOutputMapDataType(I,a);l.push(...D),c.push(...b),e.push(...V),y.push(...M)}return a==null||a.attemptAutoclose("sync-operation-instance-validate-data",this.id),{updated:C(l),added:C(c),removed:C(e),affected:C(y),self:i}}syncEntityToMatchInputMapDataType(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"sync-entity-to-match-input-map-data-type"))){var I,b,D,V,M,x,q,Z,W,z,ae,J,fe,le,ye,me,Q;const l=[],c=[],e=[],y=[];if(((I=i.declaration)==null?void 0:I.id)!==pe.operation[mr.Validate].inputs.entityToMatch.id)return a==null||a.attemptAutoclose("sync-entity-to-match-input-map-data-type",this.id),{updated:[],added:[],removed:[],affected:[],self:null};const v=((b=this.project.requestActiveDynamicValue(i))==null?void 0:b.value)||null,T=v==null?void 0:v.valueAsTypeSingle;if(!i.dataType){const ue={id:L.UUID.uuid(),version:L.UUID.uuid(),createdAt:(a==null?void 0:a.timestamp)||new Date().toISOString(),author:(a==null?void 0:a.author)||L.sessionAuthor,previousVersion:null,deleted:!1,deletable:!0,editable:!0,type:p.DataType,parentRelationType:null,options:((D=i.declaration.dataType)==null?void 0:D.options)||null,implementationChooseOne:((V=i.declaration.dataType)==null?void 0:V.implementationChooseOne)||!1,staticEntities:((M=i.declaration.dataType)==null?void 0:M.staticEntities)??null,interactiveEntities:((x=i.declaration.dataType)==null?void 0:x.interactiveEntities)??null,actionEntities:((q=i.declaration.dataType)==null?void 0:q.actionEntities)??null,index:((Z=i.declaration.dataType)==null?void 0:Z.index)??null,isList:((W=i.declaration.dataType)==null?void 0:W.isList)||!1,andChildrenGroup:null,orChildrenGroup:null,asType:!0,entity:(T==null?void 0:T.toJSON())||null,like:!0,inferred:!0,parent:i.toReference()},Te=ne(ue,i.project);Te.hydrateAncestors(),Te.setParent(i,a),Te.initChildren(a),Te.setEntity(T,a),a==null||a.add(Te,k.Added),l.push(Te),i.setDataType(Te,a)}return(me=i.dataType)==null||me.metaSync({inferred:!0,like:!1,asType:!0,options:((z=i.declaration.dataType)==null?void 0:z.options)||null,implementationChooseOne:((ae=i.declaration.dataType)==null?void 0:ae.implementationChooseOne)||!1,staticEntities:((J=i.declaration.dataType)==null?void 0:J.staticEntities)??null,interactiveEntities:((fe=i.declaration.dataType)==null?void 0:fe.interactiveEntities)??null,actionEntities:((le=i.declaration.dataType)==null?void 0:le.actionEntities)??null,isList:((ye=i.declaration.dataType)==null?void 0:ye.isList)||!1},a),(Q=i.dataType)==null||Q.setEntity(T,a),i.dataType&&c.push(i.dataType),a==null||a.attemptAutoclose("sync-entity-to-match-input-map-data-type",this.id),{updated:C(c),added:C(l),removed:C(e),affected:C(y),self:i.dataType}}syncDataToValidateInputMapDataType(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"sync-data-to-validate-input-map-data-type"))){var b,D,V;const l=[],c=[],e=[],y=[];if(((b=i.declaration)==null?void 0:b.id)!==pe.operation[mr.Validate].inputs.dataToValidate.id)return a==null||a.attemptAutoclose("sync-data-to-validate-input-map-data-type",this.id),{updated:[],added:[],removed:[],affected:[],self:null};const v=this.getEntityToMatchInputMap(i.parent);if(!v)return a==null||a.attemptAutoclose("sync-data-to-validate-input-map-data-type",this.id),{updated:[],added:[],removed:[],affected:[],self:null};if(!this.getEntityToMatch(v,a))return a==null||a.attemptAutoclose("sync-data-to-validate-input-map-data-type",this.id),{updated:[],added:[],removed:[],affected:[],self:null};if(!i.dataType){const M={id:L.UUID.uuid(),version:L.UUID.uuid(),createdAt:(a==null?void 0:a.timestamp)||new Date().toISOString(),author:(a==null?void 0:a.author)||L.sessionAuthor,previousVersion:null,deleted:!1,deletable:!0,editable:!0,type:p.DataType,index:null,parentRelationType:null,options:null,implementationChooseOne:!1,isList:!1,andChildrenGroup:null,orChildrenGroup:null,staticEntities:null,interactiveEntities:null,actionEntities:null,asType:!1,entity:null,like:!0,inferred:!0,parent:i.toReference()},x=ne(M,i.project);x.setParent(i,a),x.initChildren(a),a==null||a.add(x,k.Added),l.push(x),i.setDataType(x,a)}(D=i.dataType)==null||D.metaSync({inferred:!0,like:!0,asType:!1},a);const I=this.getEntityToMatch(v,a);return(V=i.dataType)==null||V.setEntity(I,a),i.dataType&&c.push(i.dataType),a==null||a.attemptAutoclose("sync-data-to-validate-input-map-data-type",this.id),{updated:C(c),added:C(l),removed:C(e),affected:C(y),self:i.dataType}}syncOutputDataOutputMapDataType(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"sync-output-data-output-map-data-type"))){var D,V,M,x;const l=[],c=[],e=[],y=[];if(((D=i.declaration)==null?void 0:D.id)!==pe.operation[mr.Validate].dataType.entity.properties.outputEntity.id)return a==null||a.attemptAutoclose("sync-output-data-output-map-data-type",this.id),{updated:[],added:[],removed:[],affected:[],self:null};const v=this.getEntityToMatchInputMap(i.parent);if(!v)return a==null||a.attemptAutoclose("sync-output-data-output-map-data-type",this.id),{updated:[],added:[],removed:[],affected:[],self:null};if(!this.getEntityToMatch(v,a))return a==null||a.attemptAutoclose("sync-output-data-output-map-data-type",this.id),{updated:[],added:[],removed:[],affected:[],self:null};const I=((V=this.project.requestActiveDynamicValue(v))==null?void 0:V.value)||null,b=(I==null?void 0:I.valueAsTypeSingle)||null;if(!i.dataType){const q={id:L.UUID.uuid(),version:L.UUID.uuid(),createdAt:(a==null?void 0:a.timestamp)||new Date().toISOString(),author:(a==null?void 0:a.author)||L.sessionAuthor,previousVersion:null,deleted:!1,deletable:!0,editable:!0,type:p.DataType,parentRelationType:null,options:null,implementationChooseOne:!1,staticEntities:null,interactiveEntities:null,index:null,actionEntities:null,isList:!1,andChildrenGroup:null,orChildrenGroup:null,asType:!1,entity:(b==null?void 0:b.toJSON())||null,like:!0,inferred:!0,parent:i.toReference()},Z=ne(q,i.project);Z.hydrateAncestors(),Z.setParent(i,a),Z.initChildren(a),Z.setEntity(b,a),a==null||a.add(Z,k.Added),l.push(Z),i.setDataType(Z,a)}return(M=i.dataType)==null||M.metaSync({inferred:!0,like:!0,asType:!1},a),(x=i.dataType)==null||x.setEntity(b,a),i.dataType&&c.push(i.dataType),a==null||a.attemptAutoclose("sync-output-data-output-map-data-type",this.id),{updated:C(c),added:C(l),removed:C(e),affected:C(y),self:i.dataType}}inferInputMapDataType(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"infer-input-map-data-type-validate-data"))){var c,e,y;if(((c=i.declaration)==null?void 0:c.id)===pe.operation[mr.Validate].inputs.entityToMatch.id){const{added:v,updated:T,removed:I,affected:b}=this.syncEntityToMatchInputMapDataType(i,a);return a==null||a.attemptAutoclose("infer-input-map-data-type",this.id),{updated:C(T),added:C(v),removed:C(I),affected:C(b),self:i.dataType}}if(((e=i.declaration)==null?void 0:e.id)===pe.operation[mr.Validate].inputs.dataToValidate.id){const{added:v,updated:T,removed:I,affected:b}=this.syncDataToValidateInputMapDataType(i,a);return a==null||a.attemptAutoclose("infer-input-map-data-type",this.id),{updated:C(T),added:C(v),removed:C(I),affected:C(b),self:i.dataType}}const l=(y=i.declaration)==null?void 0:y.getDataType(a);if(l&&l.isResolved)return a==null||a.attemptAutoclose("infer-input-map-data-type-validate-data",this.id),{updated:[],added:[],removed:[],affected:[],self:l};if(i.readsValue){const v=ga(i.readsValue,a);return a==null||a.attemptAutoclose("infer-input-map-data-type-validate-data",this.id),{updated:[],added:[],removed:[],affected:[],self:v}}return a==null||a.attemptAutoclose("infer-input-map-data-type-validate-data",this.id),{updated:[],added:[],removed:[],affected:[],self:null}}inferOutputMapDataType(i,a=this.project.addChangeSet(new G(this.project,L.sessionAuthor,B().toISOString(),this,!0,"infer-output-map-data-type-validate-data"))){var l;if(((l=i.declaration)==null?void 0:l.id)===pe.operation[mr.Validate].dataType.entity.properties.outputEntity.id){const{added:c,updated:e,removed:y,affected:v}=this.syncOutputDataOutputMapDataType(i,a);return a==null||a.attemptAutoclose("infer-output-map-data-type-validate-data",this.id),{updated:C(e),added:C(c),removed:C(y),affected:C(v),self:i.dataType}}return{updated:[],added:[],removed:[],affected:[],self:null}}}class MVe extends Ut{constructor(u){super(lE,u)}}class xVe extends Ut{constructor(u){super(dE,u)}}class UVe extends Ut{constructor(u){super(uE,u)}}class jVe extends Ut{constructor(u){super(Ch,u)}}class GVe extends Ut{constructor(u){super(bh,u)}}class kVe extends Ut{constructor(u){super(oc,u)}}function FVe(d){const u=[new Jz(d),new Hz(d),new zz(d),new LVe(d),new BVe(d),new jVe(d),new MVe(d),new UVe(d),new xVe(d),new GVe(d),new kVe(d)];return XE.forEach(i=>{u.some(a=>a.id===i.id)||u.push(new Ut(i,d))}),u.forEach(i=>{i.initChildren(null),d.subscribeBuiltInInstance(i)}),d.operationDeclarations=u,u}class Yz extends Oa{constructor(i){super(Or,i);_(this,"initialData");_(this,"id",ce.PERSISTED_ENTITY);_(this,"version","1");_(this,"name",ce.PERSISTED_ENTITY);_(this,"description",Or.description);_(this,"type",p.BuiltInBaseEntity);_(this,"abstract",Or.abstract);_(this,"static",Or.static);_(this,"properties",[]);_(this,"methods",[]);_(this,"abstractMethods",[]);_(this,"extends",null);_(this,"errors",[]);_(this,"project");this.initialData=Or,this.project=i,this.id=Or.id,this.version=Or.version,this.name=Or.name,this.static=Or.static,this.abstract=Or.abstract,this.properties=this.initialData.properties.map(a=>{const l=ne(a,this.project);return l.setParent(this,null),l.initChildren(null),l}),this.methods=this.initialData.methods.map(a=>{const l=ne(a,this.project);return l.parent=this,l}),this.abstractMethods=this.initialData.abstractMethods.map(a=>{const l=ne(a,this.project);return l.parent=this,l}),this.initialData.extends&&(this.extends=ne(this.initialData.extends,this.project))}}var Pa=(d=>(d.StatusCodeMustBeNumber="status-code-must-be-number",d.StatusCodeMustBeBetween100And599="status-code-must-be-between-100-and-599",d))(Pa||{});function Sz(d,u){const i=[];if(typeof u!="number"){const a=new vi({id:d.id+"--status-code-must-be-number",message:`Entity of type ${d.type} with id "${d.id}" has an invalid value "${u}". The value must be a number.`,severity:ee.Error,code:"status-code-must-be-number",entity:d});return i.push(a),{errors:i,override:u}}if(u<100){const a=new vi({id:d.id+"--status-code-must-be-between-100-and-599",message:`Entity of type ${d.type} with id "${d.id}" has an invalid value "${u}". The value must be a number between 100 and 599.`,severity:ee.Error,code:"status-code-must-be-between-100-and-599",entity:d});i.push(a)}if(u>599){const a=new vi({id:d.id+"--status-code-must-be-between-100-and-599",message:`Entity of type ${d.type} with id "${d.id}" has an invalid value "${u}". The value must be a number between 100 and 599.`,severity:ee.Error,code:"status-code-must-be-between-100-and-599",entity:d});i.push(a)}return{errors:i,override:u}}class Xz extends Oa{constructor(i){var e,y;super(Ln,i);_(this,"initialData");_(this,"id",ce.PERSISTED_ENTITY);_(this,"version","1");_(this,"name",ce.PERSISTED_ENTITY);_(this,"description",Ln.description);_(this,"type",p.BuiltInBaseEntity);_(this,"abstract",Ln.abstract);_(this,"static",Ln.static);_(this,"properties",[]);_(this,"methods",[]);_(this,"abstractMethods",[]);_(this,"extends",null);_(this,"errors",[]);_(this,"project");this.initialData=Ln,this.project=i,this.id=Ln.id,this.version=Ln.version,this.name=Ln.name,this.static=Ln.static,this.abstract=Ln.abstract,this.properties=this.initialData.properties.map(v=>{const T=ne(v,this.project);return T.setParent(this,null),T.initChildren(null),T}),this.methods=this.initialData.methods.map(v=>{const T=ne(v,this.project);return T.parent=this,T}),this.abstractMethods=this.initialData.abstractMethods.map(v=>{const T=ne(v,this.project);return T.parent=this,T}),this.initialData.extends&&(this.extends=ne(this.initialData.extends,this.project));const a=this.properties.find(v=>v.id===pe["built-in-base-entity"].BUILT_IN_HTTP_ENDPOINT_ENTITY.properties.path.id);if(!a)throw new Error("Path property not found in endpoint entity");a._codeNativeValueValidation=(v,T)=>{const I=Ww(v,T);if(v.project.entities.filter(D=>cr(D,ce.HTTP_ENDPOINT)&&D.id!==v.parent.id).map(D=>{const V=D.properties.find(q=>q.implements.find(Z=>Z.id===pe["built-in-base-entity"].BUILT_IN_HTTP_ENDPOINT_ENTITY.properties.path.id));if(!V)throw new Error("Path property not found in endpoint entity "+D.name+" ("+D.id+")");const M=V.getDefaultValue();return(M==null?void 0:M.value)||""}).includes(T)){const D=new vi({id:v.id+"--"+mn.MustBeUniqueAmongSameEntities,message:`Entity of type ${v.type} with id "${v.id}" has an invalid value "${T}". The value must be unique among all endpoint paths.`,severity:ee.Error,code:mn.MustBeUniqueAmongSameEntities,entity:v});I.errors.push(D)}return I};const l=this.abstractMethods.find(v=>v.id===pe["built-in-base-entity"].BUILT_IN_HTTP_ENDPOINT_ENTITY.methods.handler.id);if(!l)throw new Error("Handler method not found in endpoint entity");const c=(((y=(e=l.dataType)==null?void 0:e.entity)==null?void 0:y.properties)||[]).find(v=>v.id===pe["built-in-base-entity"].BUILT_IN_HTTP_ENDPOINT_ENTITY.methods.handler.dataType.entity.properties.statusCode.id);if(!c)throw new Error("Status code output not found in handler method");c._codeNativeValueValidation=(v,T)=>Sz(v,T)}}var qn=(d=>(d.UUIDMustBeString="uuid-must-be-string",d.UUIDMustBeValidFormat="uuid-must-be-valid-format",d.UUIDMustNotContainSpaces="uuid-must-not-contain-spaces",d))(qn||{});function KVe(d,u){const i=[];if(typeof u!="string"){const l=new vi({id:d.id+"--uuid-must-be-string",message:`Entity of type ${d.type} with id "${d.id}" has an invalid value "${u}". The value must be text.`,severity:ee.Error,code:"uuid-must-be-string",entity:d});return i.push(l),{errors:i,override:u}}const a=Ww(d,u);if(a.errors.length>0)return i.push(...a.errors),{errors:i,override:u};if(!hR(u)){const l=new vi({id:d.id+"--uuid-must-be-valid-format",message:`Entity of type ${d.type} with id "${d.id}" has an invalid value "${u}". The value must be a valid UUID format. Eg: "123e4567-e89b-12d3-a456-426614174000".`,severity:ee.Error,code:"uuid-must-be-valid-format",entity:d});i.push(l)}return{errors:i,override:u}}class qVe extends Oa{constructor(i){super(Kr,i);_(this,"initialData");_(this,"id",ce.PERSISTED_ENTITY);_(this,"version","1");_(this,"name",ce.PERSISTED_ENTITY);_(this,"description",Kr.description);_(this,"type",p.BuiltInBaseEntity);_(this,"abstract",Kr.abstract);_(this,"static",Kr.static);_(this,"properties",[]);_(this,"methods",[]);_(this,"abstractMethods",[]);_(this,"extends",null);_(this,"errors",[]);_(this,"project");this.initialData=Kr,this.project=i,this.id=Kr.id,this.version=Kr.version,this.name=Kr.name,this.static=Kr.static,this.abstract=Kr.abstract,this.properties=this.initialData.properties.map(l=>{const c=ne(l,this.project);return c.setParent(this,null),c.initChildren(null),c}),this.methods=this.initialData.methods.map(l=>{const c=ne(l,this.project);return c.parent=this,c}),this.abstractMethods=this.initialData.abstractMethods.map(l=>{const c=ne(l,this.project);return c.parent=this,c}),this.initialData.extends&&(this.extends=ne(this.initialData.extends,this.project));const a=this.properties.find(l=>l.id===pe["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.identifier.id);if(!a)throw new Error("Path property not found in endpoint entity");a._codeNativeValueValidation=(l,c)=>vH(l,c)}}const ZVe=[];function WVe(d){const u=[new Yz(d),new Xz(d),new qVe(d)];return Rb.forEach(i=>{!u.some(a=>a.id===i.id)&&!ZVe.includes(i.id)&&u.push(new Oa(i,d))}),u.forEach(i=>{d.subscribeBuiltInInstance(i)}),d.builtInBaseEntities=u,u}function HVe(d){const u=[new Rn(Ae,d),new Rn(Di,d),new Rn(Xe,d),new Rn(nE,d),new Rn(Tn,d),new Rn(Mi,d),new Rn(ks,d),new Rn(Fs,d),new Rn(Ol,d)];return u.forEach(i=>{d.subscribeBuiltInInstance(i)}),d.primitives=u,u}function zVe(d){const u=[new Ut(im,d)];return u.forEach(i=>{i.initChildren(null),d.subscribeBuiltInInstance(i)}),d.globalEventActionDescriptors=u,u}function JVe(d){const u=[new Ut(vc,d),new Ut(Yo,d),new Ut(hc,d),new Ut(hu,d),new Ut(mu,d),new Ut(jh,d)];u.forEach(a=>{a.initChildren(null),d.subscribeBuiltInInstance(a)}),d.loopDeclarations=u;const i=[new Ut(Jh,d),new Ut(mc,d),new Ut(Kh,d),new Ut(nb,d),new Ut(lb,d),new Ut(Gh,d)];return i.forEach(a=>{a.initChildren(null),d.subscribeBuiltInInstance(a)}),d.loopDeclarationsBodies=i,u}function YVe(d){const u=[new hl(_b,d)];return u.forEach(i=>{i.initChildren(null),d.subscribeBuiltInInstance(i)}),d.valueDescriptors=u,u}function SVe(d){const u=[new Ut(OG,d),new Ut(DG,d),new Ut(Xo,d),new Ut(Cb,d),new Ut(ek,d),new Ut(tk,d),new Ut(XG,d),new Ut(QG,d),new Ut(Au,d),new Ut(SG,d)];return u.forEach(i=>{i.initChildren(null),d.subscribeBuiltInInstance(i)}),d.conditionDeclarations=u,u}const Vd={},uv={},Ay={empty:!1,enrich:!0,mock:!1,ignoreCache:!1,onFetch:async()=>null,manuallyInit:!1};function Qz(d,u={enrich:!0,shallowErrors:!1},i){const a={enrich:!0,shallowErrors:!1,...u},{enrich:l,shallowErrors:c}=a,e=d.project,y=d.record,v=new Da(e),T=new Set;y[e.id]=e,T.add(e.id);const I=B().toISOString();Object.values(y).forEach(V=>{!V||v.allBuiltInEntityIds.includes(V.id)||T.add(V.id)}),v.order=Array.from(T),v.flatRecord=y,v.orderEntities();const b=pv(d.project,{shallowErrors:c},i);b.instances[e.id]=b;const D=l?b.addChangeSet(new G(b,L.sessionAuthor,I,b,!0,"project-init-from-fetch-result")):null;return v.visit(V=>{if(V.id===b.id)return;const M=ne(V,b);try{M.hydrateAncestors(),M.addSelfToProject(null);const x=op(V);Object.keys(x.downstream).forEach(q=>{const Z=b.get(q);Z&&Z.hydrateAncestors()})}catch(x){if(c)Y.error("Error hydrating ancestors: ",x);else throw x}}),l?(v.visit(V=>{if(V.id===b.id)return;const M=b.get(V.id);M&&M.afterAllChildrenInitialized(D)}),b.afterAllChildrenInitialized(D)):cv(b,I).forEach(M=>{M.remove({ignoreUpstream:!0},null)}),b.instancesList.forEach(V=>{V.previousVersion=null}),D==null||D.attemptAutoclose("project-init-from-fetch-result",b.id),b}async function XVe(d,u=Ay){const i={...Ay,...u};if(i.empty)return{data:{project:{id:d.id,deletable:!0,editable:!0,type:p.Project,version:L.UUID.uuid(),createdAt:B().toISOString(),author:L.sessionAuthor,previousVersion:null,deleted:!1,name:null,description:null,projects:[],entities:[],operations:[],functions:[],variableDeclarations:[],variableInstances:[],functionCalls:[],conditions:[],loops:[],searches:[],events:[]},record:{}}};if(i.mock){const l={...NI};return l.id=d.id,{data:{project:l,record:{}}}}return Y.log("Fetching project from external API"),new Promise(async l=>{try{if(i.onFetch){const c=await i.onFetch(d.id);if(c){l({data:c});return}}else l({data:null})}catch(c){Y.error("Error fetching project: ",c),l({data:null})}})}function pv(d,u={shallowErrors:!1},i){const a=new L(d,i);return HVe(a),WVe(a),FVe(a),zVe(a),JVe(a),YVe(a),SVe(a),Array.from(new Set([...a.getAllBuiltInIds(),...Kn()])).forEach(c=>{if(!a.builtInInstances[c]&&a.instances[c])a.builtInInstances[c]=a.instances[c],delete a.instances[c];else if(!a.builtInInstances[c]&&!u.shallowErrors)throw new Error(`Built in entity was not properly initialized: ${c}`)}),a.instances[a.id]=a,a}function cv(d,u){return d.instancesList.filter(a=>B(a.createdAt).isAfter(B(u)||!!a.previousVersion))}function QVe(d,{enrich:u,shallowErrors:i}={enrich:!0,shallowErrors:!1},a){const l=new Map,c=new Map,e=Array.from(new Set([...d.getAllBuiltInIds(),...Kn()]));Object.keys(d.instances).forEach(D=>{if(e.includes(D)){l.set(D,D),c.set(D,D);return}const V=d.get(D);if(!sv(V,{...d.instances,...d.builtInInstances}).every(Z=>!e.includes(Z))){l.set(D,D),c.set(D,D);return}const q=L.UUID.uuid();l.set(D,q),c.set(q,D)});const y=B().toISOString(),v=d.toShallowJSON({seenEntityMaps:l});v.previousVersion=null,v.createdAt=y,v.version=L.UUID.uuid();const T=pv(v,{shallowErrors:i},a);T.instances[T.id]=T;const I=u?T.addChangeSet(new G(T,L.sessionAuthor,y,T,!0,"project-clone")):null,b=new Da(d);return b.visit(D=>{const V=D.toShallowJSON({seenEntityMaps:l});V.previousVersion=null,V.createdAt=y,V.version=L.UUID.uuid();const M=op(V,xH(b.flatRecord,l));if(Object.keys(M.upstream).length){let q=!1;if(Object.keys(M.upstream).forEach(Z=>{if(!q&&(!T.get(Z)||T.getDeleted(Z))){q=!0;return}}),q)return}const x=ne(V,T);x.hydrateAncestors(),x.addSelfToProject(I),I==null||I.add(x,k.Added)}),u?(b.visit(D=>{if(D.id===T.id)return;const V=T.get(l.get(D.id));V&&V.afterAllChildrenInitialized(I)}),T.afterAllChildrenInitialized(I)):cv(T,y).forEach(V=>{V.remove({ignoreUpstream:!0},null)}),T.instancesList.forEach(D=>{D.previousVersion=null}),I==null||I.attemptAutoclose("project-clone",T.id),T}function eJ(d,{enrich:u,shallowErrors:i}={enrich:!0,shallowErrors:!1},a){const l=pv(d,{shallowErrors:i},a),c=B().toISOString(),e=u?l.addChangeSet(new G(l,L.sessionAuthor,c,l,!0,"project-init")):null;e&&(e.type=sA.Automatic);const y=new Da(d);return y.visit(v=>{const T=ne(v,l);T.hydrateAncestors(),T.addSelfToProject(e)}),u?(y.visit(v=>{if(v.id===l.id)return;const T=l.get(v.id);T&&T.afterAllChildrenInitialized(e)}),l.afterAllChildrenInitialized(e)):(cv(l,c).forEach(I=>{I.remove({ignoreUpstream:!0},null)}),new Da(l).visit(I=>{I.initialized=!0,I.captureVersion()})),l.initialized=!0,e==null||e.attemptAutoclose("project-init",l.id),l}async function eLe(d,u=Ay,i){const a={...Ay,...u};if(d.id&&Vd[d.id]&&!a.ignoreCache)return Vd[d.id];if(d.id&&uv[d.id]&&!a.ignoreCache)return await uv[d.id],Vd[d.id];const l=XVe(d,a);d.id&&(uv[d.id]=l);const c=await l;if(c.data){let e;return a.mock?e=eJ(NI,{enrich:!!a.enrich},i):c.data instanceof L?e=c.data:e=Qz(c.data,{enrich:!!a.enrich},i),Vd[d.id]=e,d.id&&delete uv[d.id],e}return null}function tLe(d){return Vd[d.id]&&delete Vd[d.id],null}w.AI_VALUE_CONNECTION_GENERATION_ACTION_EXPLANATION=xw,w.ALL_BUILT_EXTERNAL_AUTH_PROVIDERS=AN,w.ALL_BUILT_IN_BASE_ENTITIES=Rb,w.ALL_BUILT_IN_CONDITION_ENTITIES=nk,w.ALL_BUILT_IN_GLOBAL_EVENT_ENTITIES=ok,w.ALL_BUILT_IN_LOOP_BODY_ENTITIES=aU,w.ALL_BUILT_IN_LOOP_ENTITIES=sU,w.ALL_BUILT_IN_OPERATION_ENTITIES=XE,w.ALL_BUILT_IN_PRIMITIVE_ENTITIES=qg,w.ALL_BUILT_IN_TOP_LEVEL_ENTITIES=ck,w.ALL_BUILT_IN_VALUE_DESCRIPTORS=pk,w.ALL_CONNECTION_DISABLED_REASONS=nDe,w.ALL_OTHER_DISABLED_REASONS=aDe,w.ALL_TESTING_DISABLED_REASONS=sDe,w.ActionDescriptorState=Ut,w.ActionInputMapState=IPe,w.ActionOutputMapState=RPe,w.Area=Wr,w.ArgumentDeclarationDependencyField=EK,w.ArgumentDeclarationState=ns,w.BREAK_AND_CONTINUE_STATEMENTS_RETURN_DECLARATIONS_EXPLANATION=iNe,w.BUILT_INT_OPERATIONS_IMPLEMENTATIONS__PREFIX=vt,w.BUILT_IN_BASE_ENTITY_IDS=pe,w.BUILT_IN_ENTITY_TYPES=vn,w.BUILT_IN_FUNCTION_IMPLEMENTATIONS__PREFIX=ku,w.BaseCanvasDraggableState=_Ve,w.BaseEntityNames=ce,w.BaseRegisteredExtension=pt,w.BaseState=Zz,w.BaseValueDescriptorIds=Th,w.BreakStatementDependencyField=XZ,w.BreakStatementState=co,w.BuiltInBaseEntityState=Oa,w.BuiltInFunctionIds=dr,w.BuiltInFunctionImplementationAbortExecutionModule=JK,w.BuiltInFunctionImplementationCreatePersistedEntityModule=SK,w.BuiltInFunctionImplementationDeletePersistedEntityModule=YK,w.BuiltInFunctionImplementationUpdatePersistedEntityModule=XK,w.CACHED_PROJECTS_BY_ID=Vd,w.CALLABLE_ENTITIES_EXPLANATION=tNe,w.CALLABLE_TYPES=tn,w.CALLER_ENTITIES_EXPLANATION=iH,w.CALLER_TYPES=Gr,w.CALLS_UPDATE_EXPLANATION=vo,w.CANVAS_BASE_X=J7,w.CANVAS_BASE_Y=Y7,w.CANVAS_CARD_HEADER_CENTER_HEIGHT=Zu,w.CANVAS_CARD_WIDTH=W7,w.CANVAS_COMPLEX_CARD_HEIGHT=X_e,w.CANVAS_HORIZONTAL_BUFFER_BETWEEN_CARDS=KA,w.CANVAS_SIMPLE_CARD_HEIGHT=kA,w.CANVAS_SIZE=GA,w.CANVAS_VERTICAL_BUFFER_BETWEEN_CARDS=i0,w.CARD_FOOTER_HEIGHT=t0,w.CARD_PROPERTIES_SECTION_PADDING=fl,w.CARD_PROPERTIES_SECTION_SINGLE_PADDING=FA,w.CHILDREN_TYPES=$te,w.COMPARISON_CONDITIONS=ik,w.CONDITIONS=rk,w.CUSTOM_ENTITY_OPERATIONS=PD,w.CallableEntityClass=OVe,w.CallerEntityClass=mR,w.CanvasEntityConnectionDisabledReason=qA,w.CanvasEntityOtherDisabledReason=WA,w.CanvasEntityTestingDisabledReason=ZA,w.ChangeSet=G,w.ChangeSetChangeCaptureType=sA,w.ChangeSetEntityChangeType=k,w.ChangeSetEvent=TK,w.ChildEntityBaseClass=DVe,w.CloudHostedCodebaseInfrastructureResource=s9,w.CommonStringValidationErrorCodes=mn,w.ComparisonOperatorTypes=ut,w.CompiledLocalCodebaseInfrastructureResource=a9,w.ConditionDependencyField=$K,w.ConditionState=ro,w.ContinueStatementDependencyField=eW,w.ContinueStatementState=fo,w.DEFAULT_BASE_EXTENSIONS_CONTEXT=MA,w.DEFAULT_EXECUTION_INSTANCE_PARENT_CONTEXT=q7,w.DEFAULT_MODULE_IDS=ot,w.DEFAULT_PROJECT_INSTANCE_PARENT_CONTEXT=Wz,w.DEFAULT_PROJECT_STATIC_PARENT_CONTEXT=vR,w.DEFAULT_UUID_MODULE=eE,w.DRAGGABLE_CALLABLE_TYPES=iE,w.DRAGGABLE_CALLER_TYPES=Lg,w.DRAGGABLE_ELEMENT_TYPES=lc,w.DRAGGABLE_EXECUTABLE_TYPES=Cte,w.DRAGGABLE_PASS_THROUGH_CALLABLE_TYPES=mh,w.DRAGGABLE_PASS_THROUGH_CALLABLE_TYPES_WITH_OUTPUTS=tE,w.DataTypeCompatibilityTypes=Ds,w.DataTypeDependencyField=uA,w.DataTypeParentChildRelation=vr,w.DataTypeState=Zr,w.DefaultEditorContext=VA,w.DefaultProjectLogicContext=mA,w.DefaultPublicationRunContext=LA,w.DefinitionEntityDependencyField=dv,w.DefinitionEntityState=ps,w.DynamicValueTypes=Ce,w.EDITABLE_PERSISTANCE_REPOSITORY_DEFAULTS=RVe,w.ENTITIES_WITH_VALLUES_EXPLANATION=U0,w.ENTITY_PERSISTANCE_OPTIONS_DEFAULTS=we,w.ENTITY_RECUSION_OPTIONS_DEFAULTS=He,w.ENTITY_TYPES=Ote,w.ENTITY_WITH_CODE_NAMES_TYPES=Pte,w.ENTITY_WITH_DECLARATION_TYPES=Dte,w.ENTITY_WITH_DEFAULT_VALUE_TYPES=vh,w.ENTITY_WITH_LOGIC_SCOPE_TYPES=Qi,w.ENTITY_WITH_NAMES_TYPES=xg,w.ENTITY_WITH_PARENT_TYPES=gte,w.ENTITY_WITH_USER_MANAGED_DECLARATION_TYPES=Mg,w.ENTITY_WITH_USER_MANAGED_SINGLE_IMPLEMENTS_TYPES=_te,w.ENTITY_WITH_VALUE_TYPES=Bg,w.ENTRY_POINT_ENTITIES_EXPLANATION=py,w.ENTRY_POINT_TYPES=Gt,w.ERROR_PROPERTY_HEIGHT=e0,w.EVENT_TYPES=Fo,w.EXECUTABLE_TYPES=rE,w.EXECUTION_OPERATIONS=yD,w.EXTERNAL_INTERGRATION_OPERATIONS=Yx,w.EfimeralValueStore=Fc,w.EndpointEntity=Xz,w.EntityError=vi,w.EntityErrorSeverity=ee,w.EntityGenerationError=de,w.EntityGenerationErrorCode=H,w.EntityInstanceErrorCode=se,w.EntityOperations=mr,w.EntityType=p,w.EntityWithDefaultValueClass=NVe,w.EntityWithLogicScopeClass=VVe,w.EntryPointEntityClass=PVe,w.Execution=so,w.ExecutionOperations=Ei,w.ExecutionState=xA,w.ExecutionTerminationType=X,w.ExtensionContextBase=Bm,w.ExtensionContextType=Oe,w.ExtensionPermissions=lt,w.ExtensionState=zK,w.ExtensionsRegistry=BA,w.ExtentionPriority=rt,w.ExternalIntegrationAliasMaps=pP,w.ExternalIntegrationAliasProviders=OE,w.ExternalIntegrationNames=tr,w.ExternalIntegrationOperations=jt,w.ExternalIntegrationRootProviders=DE,w.FORBIDDEN_KEYWORDS=cH,w.FunctionCallDependencyField=Fw,w.FunctionCallState=Eo,w.FunctionDeclarationDependencyField=wK,w.FunctionDeclarationState=Ia,w.GET_PROJECT_OPTIONS_DEFAULTS=Ay,w.GLOBAL_EVENT_DECLARATIONS=lk,w.GOOGLE_DRIVE_MIME_TYPES=yc,w.GOOGLE_DRIVE_SMART_FETCH_MODE_OPTIONS=_2,w.GlobalEventNames=Gs,w.GlobalEventState=to,w.GoogleDriveMimeType=SE,w.GroupOperatorTypes=Gi,w.HTTPOperations=cn,w.HTTPStatucCodeValidationErrorCodes=Pa,w.HTTP_OPERATIONS=yO,w.HttpApiInfrastructureResource=r9,w.HttpEndpointInfrastructureResource=pDe,w.InfrastructureResource=bd,w.InfrastructureResourceStatus=i9,w.InputMapDependencyField=WZ,w.InputMapParentChildRelation=Wa,w.InputMapState=ls,w.InstalledProjectState=uo,w.InternalCallDependencyField=qZ,w.InternalCallState=po,w.LIST_OPERATIONS=W_,w.ListOperations=dt,w.LiteralValueDependencyField=YZ,w.LiteralValueState=Pr,w.Logger=Y,w.LoopDependencyField=OK,w.LoopState=io,w.LoopTypes=We,w.MAIN_VALUE_PROPERTY_HEADER_HEIGHT=Qm,w.MAIN_VALUE_SUB_PROPERTY_HEIGHT=Q_e,w.NESTED_PROPERTY_HEIGHT=H7,w.NON_INTERACTIVE_BASE_ENTITIES_EXPLANATION=To,w.NUMBER_OPERATIONS=n_,w.NumberOperations=$i,w.OPERATION_DECLARATIONS=Sx,w.OperationDependencyField=CK,w.OperationState=eo,w.OperationsImplementationsEntityValidateModule=F7,w.OperationsImplementationsExecutionParallelModule=j7,w.OperationsImplementationsExecutionSequentialModule=G7,w.OperationsImplementationsExecutionWaitModule=k7,w.OperationsImplementationsHttpRequestModule=K7,w.OperationsImplementationsListAddIndexModule=P7,w.OperationsImplementationsListAppendModule=x7,w.OperationsImplementationsListDeleteFirstModule=O7,w.OperationsImplementationsListDeleteLastModule=D7,w.OperationsImplementationsListGetFirstModule=B7,w.OperationsImplementationsListGetIndexItemModule=L7,w.OperationsImplementationsListGetLastModule=M7,w.OperationsImplementationsListJoinModule=C7,w.OperationsImplementationsListPrependModule=U7,w.OperationsImplementationsListReplaceFirstModule=N7,w.OperationsImplementationsListReplaceIndexModule=$7,w.OperationsImplementationsListReplaceLastModule=V7,w.OperationsImplementationsListReverseModule=_7,w.OperationsImplementationsListSplitModule=g7,w.OperationsImplementationsNumberAdditionModule=Kq,w.OperationsImplementationsNumberDivisionModule=Wq,w.OperationsImplementationsNumberExponentiationModule=zq,w.OperationsImplementationsNumberMultiplicationModule=Zq,w.OperationsImplementationsNumberRemainderModule=Hq,w.OperationsImplementationsNumberSubstractionModule=qq,w.OperationsImplementationsRandomGenerateHexadecimalTokenModule=n7,w.OperationsImplementationsRandomGenerateIdentifierModule=t7,w.OperationsImplementationsRandomGenerateShortIdentifierModule=r7,w.OperationsImplementationsRandomGenerateUUIDv4Module=i7,w.OperationsImplementationsRandomnessGenerateRandomAlphaNumericModule=e7,w.OperationsImplementationsRandomnessGenerateRandomBase62Module=Xq,w.OperationsImplementationsRandomnessGenerateRandomBase64Module=Qq,w.OperationsImplementationsRandomnessGenerateRandomFloatModule=Yq,w.OperationsImplementationsRandomnessGenerateRandomHexadecimalModule=Sq,w.OperationsImplementationsRandomnessGenerateRandomIntegerModule=Jq,w.OperationsImplementationsStringAddIndexModule=f7,w.OperationsImplementationsStringAppendModule=w7,w.OperationsImplementationsStringDeleteFirstModule=o7,w.OperationsImplementationsStringDeleteIndexModule=c7,w.OperationsImplementationsStringDeleteLastModule=l7,w.OperationsImplementationsStringGetFirstModule=b7,w.OperationsImplementationsStringGetIndexItemModule=E7,w.OperationsImplementationsStringGetIndexOfModule=A7,w.OperationsImplementationsStringGetLastModule=I7,w.OperationsImplementationsStringJoinModule=s7,w.OperationsImplementationsStringPrependModule=R7,w.OperationsImplementationsStringReplaceAllMatchesModule=T7,w.OperationsImplementationsStringReplaceFirstModule=y7,w.OperationsImplementationsStringReplaceIndexModule=m7,w.OperationsImplementationsStringReplaceLastModule=h7,w.OperationsImplementationsStringReplaceSingleMatchModule=v7,w.OperationsImplementationsStringReverseModule=d7,w.OperationsImplementationsStringSplitModule=a7,w.OperationsImplementationsStringToLowerCaseModule=u7,w.OperationsImplementationsStringToUpperCaseModule=p7,w.OutputMapDependencyField=zZ,w.OutputMapParentChildRelation=Dl,w.OutputMapState=ta,w.PARENT_AUTO_CALCULATION_FROM_CALLER_EXPLANATION=j0,w.PASS_THROUGH_CALLABLE_ENTITIES_EXPLANATION=mo,w.PASS_THROUGH_CALLABLE_TYPES=mi,w.PASS_THROUGH_CALLABLE_TYPES_WITH_OUTPUTS=ac,w.PLACEHOLDER_VALUE_STORE_CLIENT=NK,w.PROPERTY_HEIGHT=Xm,w.PROPERTY_NOT_VALUE_READER_WRITTER_EXPLANATION=Mw,w.PUBLISHING_DISABLED_REASONS=l9,w.ParallelExecutionOperation=Hz,w.PassThroughCallableEntityClass=$Ve,w.PersistedEntity=Yz,w.PrimitiveEntityState=Rn,w.PrimitiveTypes=ie,w.ProjectState=L,w.ProjectStateEvents=Yi,w.PropertyDependencyField=Uz,w.PropertyParentChildRelation=ko,w.PropertyState=us,w.PublicationRun=fDe,w.PublicationStep=t9,w.RANDOMNESS_OPERATIONS=uP,w.READABLE_ENTITY_TYPES=ss,w.READ_ONLY_ENTITY_PERSISTANCE_REPOSITORY=qz,w.RETURN_STATEMENT_RETURN_DECLARATIONS_EXPLANATION=rNe,w.RandomnessOperations=Ze,w.RelationalDatabaseInfrastructureResource=n9,w.ReturnStatementDependencyField=pA,w.ReturnStatementState=cl,w.SLACK_CONVERSATION_TYPES=MN,w.SQLAST=pPe,w.STANDALONE_CONDITIONS=GG,w.STATIC_PROPERTY_HEIGHT=z7,w.STRING_OPERATIONS=I_,w.ScopeCompatibilityType=rv,w.SearchDependencyField=_Z,w.SearchNodeImplementationModule=QK,w.SearchState=oo,w.SequentialExecutionOperation=Jz,w.ServerlessFunctionInfrastructureResource=cDe,w.SharedEntityErrorCode=oe,w.SharedStateFunctionality=Kz,w.StandaloneOperatorTypes=Ar,w.StateMutationAction=P,w.StateMutationErrorCode=ji,w.StringOperations=Je,w.TERMINATION_TYPES=Bt,w.TerminationInputMapState=bPe,w.Traverser=Da,w.USER_MANAGED_ENTITY_TYPES=Ug,w.UUIDModule=eq,w.UUIDV4ValidationErrorCodes=qn,w.UserManagedBaseState=gVe,w.UserManagedEntityStateTemplate=CVe,w.VALUE_READING_ENTITIES_EXPLANATION=Bw,w.VALUE_READING_TYPES=Xn,w.VALUE_WRITING_ENTITIES_EXPLANATION=rH,w.VALUE_WRITING_TYPES=er,w.VARIABLE_DATA_TYPE_INFERRANCE_EXPLANATION=Lw,w.VARIABLE_TYPES=$t,w.ValueAutogenerationType=or,w.ValueDescriptorDependencyField=iW,w.ValueDescriptorParentChildRelation=he,w.ValueDescriptorState=hl,w.ValueReadingEntityClass=Nd,w.ValueWritingEntityClass=Iy,w.VariableDeclarationDependencyField=h9,w.VariableDeclarationState=lo,w.VariableInputMapState=EPe,w.VariableInstanceDependencyField=YA,w.VariableInstanceState=ao,w.VariableOutputMapState=wPe,w.WaitOperation=zz,w.actionDescriptorValidation=oge,w.addDisabledReasons=oDe,w.afterLiteralValueAsTypeChangeSideEffects=WK,w.afterLiteralValueAsTypeDeleteSideEffects=ZK,w.afterLiteralValueChangeSideEffects=KK,w.afterLiteralValueDeleteSideEffects=FK,w.aggregateVariableInputsNextValues=qc,w.aggregateVariableInputsValues=Nm,w.airtableAuthExternalConnectionBuiltInBaseEntity=g$,w.airtableAuthExternalConnectionBuiltInBaseEntityConnectionIdProperty=C$,w.airtableAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataType=w$,w.airtableAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataTypeParentRef=A$,w.airtableAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyParentRef=R$,w.airtableAuthExternalConnectionBuiltInBaseEntityIntegrationProperty=I$,w.airtableAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDataTypeRef=Hie,w.airtableAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValue=E$,w.airtableAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValueParentRef=T$,w.airtableAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyParentRef=b$,w.airtableAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyRef=v$,w.appendToListOperation=Ch,w.appendToListOperationElementToAppendArgument=fE,w.appendToListOperationElementToAppendDataType=q_,w.appendToListOperationListArgument=cE,w.appendToListOperationListDataType=K_,w.appendToListOperationResponseDataType=Z_,w.applyNewScope=et,w.argumentDeclarationValidation=PCe,w.asGenerationActionExample=_a,w.assembleAndAddLiteralValueFromDataType=Js,w.assembleStandaloneLiteralValueFromDataType=it,w.atlassianAuthExternalConnectionBuiltInBaseEntity=tN,w.atlassianAuthExternalConnectionBuiltInBaseEntityConnectionIdProperty=eN,w.atlassianAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataType=X$,w.atlassianAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataTypeParentRef=S$,w.atlassianAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyParentRef=Q$,w.atlassianAuthExternalConnectionBuiltInBaseEntityIntegrationProperty=Y$,w.atlassianAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDataTypeRef=Qie,w.atlassianAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValue=z$,w.atlassianAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValueParentRef=H$,w.atlassianAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyParentRef=J$,w.atlassianAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyRef=W$,w.booleanPrototype=Di,w.breakStatementValidation=_Pe,w.calculateCardSize=X7,w.calculateMethodCardSize=S7,w.calculateNewParentBasedOnCallers=yy,w.capitalizeFirstLetter=Tr,w.changeSetJSONRecordToUniqueIds=LCe,w.channelsIntegrationBuiltInActionDescriptorTransfer=RV,w.checkAreDataTypesCompatible=Xr,w.checkAreDefinitionEntitiesCompatibleAsDataType=hw,w.checkArePropertiesCompatibleAsDataType=ty,w.checkEveryCallerComesFromCaller=IH,w.checkEveryCallerReachesOrIsAncestor=zw,w.checkExtendsBaseEntity=nv,w.checkHasBaseEntity=cr,w.checkHasMetadataChanged=nr,w.checkImplementationsOverlap=Tl,w.checkImplementsBaseEntity=WNe,w.checkIsBranchDependentButNotDirectlyOnBranch=Dd,w.checkIsBranchDependentOnBranch=Sw,w.checkIsBuiltIn=sR,w.checkIsCallableEntityReachable=Ty,w.checkIsCallerBranchDependentOnBranch=H0,w.checkIsCanvasEntity=qNe,w.checkIsDefEntityInlineDeclaredForSearchOutputType=fw,w.checkIsDetachedBranch=Tz,w.checkIsDetachedBranchShallow=rR,w.checkIsEmptyValue=Ro,w.checkIsGlobalVariable=FNe,w.checkIsGloballyDeclared=iR,w.checkIsLiteralValueEmpty=ds,w.checkIsMethod=nR,w.checkIsNestedScope=iv,w.checkIsRequiredValue=Il,w.checkParentEntryPointRequiresTermination=Gw,w.checkReachesOrIsTarget=RNe,w.checkScopeCompatibility=Os,w.checkShouldInputOrOutputBePartOfFinalVariableObjectValue=Ey,w.checkShouldPropertyBePartOfFinalVariableObjectValue=aR,w.cloneProject=QVe,w.conditionValidation=dge,w.continueStatementValidation=DPe,w.convertToAbstract=bNe,w.convertToNonAbstract=INe,w.convertToNonStatic=wNe,w.convertToStatic=ANe,w.countedLoopActionDescriptor=vc,w.countedLoopActionDescriptorStringArgumentDeclaration=S4,w.countedLoopActionDescriptorStringArgumentDeclarationDataType=J4,w.countedLoopActionDescriptorStringArgumentDeclarationDataTypeDefaultValue=H4,w.countedLoopActionDescriptorStringArgumentDeclarationDataTypeDefaultValueParentRef=W4,w.countedLoopActionDescriptorStringArgumentDeclarationDataTypeParentRef=z4,w.countedLoopActionDescriptorStringArgumentDeclarationParentRef=Y4,w.countedLoopBodyActionDescriptor=Jh,w.countedLoopBodyActionDescriptorAnyDynamicArgument=rU,w.countedLoopBodyActionDescriptorAnyDynamicArgumentParentRef=iU,w.countedLoopBodyActionDescriptorIterationNumberArgumentDeclaration=ob,w.countedLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataType=eU,w.countedLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataTypeParentRef=Q4,w.countedLoopBodyActionDescriptorIterationNumberArgumentDeclarationParentRef=tU,w.countedLoopBodyDataType=nU,w.countedLoopDataType=X4,w.createDefinitionEntityFromJSONObject=q0,w.createEntityError=_t,w.createNestedDataTypeForEntity=mH,w.createPersistedEntityMethod=Ij,w.createPersistedEntityMethodParentRef=Tj,w.createPersistedEntityMethodVoidDataType=bj,w.createPersistedEntityMethodVoidDataTypeParentRef=Ej,w.createSemanticId=Vz,w.createStateFromGenerationTargetType=wVe,w.createStateFromType=Ci,w.createStateFromTypeAndSubscribe=ne,w.cronJobBuiltInBaseEntity=wb,w.cronJobBuiltInBaseEntityExpressionProperty=_G,w.cronJobBuiltInBaseEntityExpressionPropertyDataTypeRef=Dse,w.cronJobBuiltInBaseEntityExpressionPropertyRef=CG,w.cronJobBuiltInBaseEntityRef=gG,w.cronJobHandlerVoidDataType=wG,w.cronJobHandlerVoidDataTypeParentRef=AG,w.cronJobTriggeredFunctionDeclarationBlueprint=Ab,w.cronJobTriggeredFunctionDeclarationBlueprintParentRef=IG,w.dataTypeCompatibilityToErrorExplanation=pH,w.dataTypeValidation=WCe,w.datePrototype=ks,w.dateValueAutogenerationSchema=TW,w.definitionEntityToZodSchema=zb,w.definitionEntityValidation=EVe,w.deletePersistedEntityMethod=Eb,w.deletePersistedEntityMethodParentRef=yj,w.deletePersistedEntityMethodVoidDataType=mj,w.deletePersistedEntityMethodVoidDataTypeParentRef=hj,w.deleteRootProject=tLe,w.downSqlRowTransformerEntityMethod=iG,w.downSqlRowTransformerEntityMethodNewShapeDataType=Yj,w.downSqlRowTransformerEntityMethodNewShapeDataTypeParentRef=Jj,w.downSqlRowTransformerEntityMethodParentRef=tG,w.downSqlRowTransformerEntityMethodRootDataType=eG,w.downSqlRowTransformerEntityMethodRootDataTypeParentRef=Qj,w.downSqlRowTransformerEntityMethodVoidDataType=Xj,w.downSqlRowTransformerEntityMethodVoidDataTypeParentRef=Sj,w.emitProjectSideEffects=vK,w.emptyCondition=Cb,w.emptyConditionArgument=xG,w.emptyConditionRef=MG,w.emptyConditionResultVoidDataType=jG,w.emptyConditionResultVoidDataTypeParentRef=UG,w.endpointBuiltInBaseEntity=Ln,w.endpointBuiltInBaseEntityRef=uU,w.endpointBuiltInBaseEntityRefFour=zU,w.endpointBuiltInBaseEntityRefThree=EU,w.endpointBuiltInBaseEntityRefTwo=hU,w.endpointBuiltInCorsProperty=pU,w.endpointBuiltInCorsPropertyDataType=dU,w.endpointBuiltInCorsPropertyDataTypeRef=lU,w.endpointBuiltInCorsPropertyRef=oU,w.endpointBuiltInMethodProperty=ub,w.endpointBuiltInMethodPropertyDataType=TU,w.endpointBuiltInMethodPropertyDataTypeRef=mU,w.endpointBuiltInMethodPropertyRef=vU,w.endpointBuiltInPathProperty=db,w.endpointBuiltInPathPropertyDataType=yU,w.endpointBuiltInPathPropertyDataTypeRef=cU,w.endpointBuiltInPathPropertyRef=fU,w.endpointHandlerBodyProperty=Sh,w.endpointHandlerBodyPropertyDataType=FU,w.endpointHandlerBodyPropertyParentRef=KU,w.endpointHandlerBodyPropertyRef=kU,w.endpointHandlerHeadersProperty=hb,w.endpointHandlerHeadersPropertyDataType=jU,w.endpointHandlerHeadersPropertyParentRef=GU,w.endpointHandlerHeadersPropertyRef=UU,w.endpointHandlerResponseDataType=HU,w.endpointHandlerResponseDataTypeEntity=ZU,w.endpointHandlerResponseDataTypeEntityParentRef=qU,w.endpointHandlerResponseDataTypeParentRef=WU,w.endpointHandlerStatusCodeProperty=Yh,w.endpointHandlerStatusCodePropertyDataType=xU,w.endpointHandlerStatusCodePropertyParentRef=BU,w.endpointHandlerStatusCodePropertyRef=MU,w.endpointPathParamsArgumentDeclaration=cb,w.endpointPathParamsArgumentDeclarationRef=OU,w.endpointPathParamsVariableDataType=PU,w.endpointPathParamsVariableDataTypeRef=DU,w.endpointReachedTriggerActionDescriptor=mb,w.endpointReachedTriggerActionDescriptorRef=$U,w.endpointReachedTriggerActionDescriptorRefFour=LU,w.endpointReachedTriggerActionDescriptorRefThree=VU,w.endpointReachedTriggerActionDescriptorRefTwo=NU,w.endpointRequestBodyArgumentDeclaration=yb,w.endpointRequestBodyArgumentDeclarationRef=wU,w.endpointRequestBodyVariableDataType=RU,w.endpointRequestHeadersArgumentDeclaration=pb,w.endpointRequestHeadersArgumentDeclarationRef=IU,w.endpointRequestHeadersVariableDataType=AU,w.endpointRequestHeadersVariableDataTypeRef=bU,w.endpointRequestQueryParamsArgumentDeclaration=fb,w.endpointRequestQueryParamsArgumentDeclarationRef=gU,w.endpointRequestQueryParamsVariableDataType=_U,w.endpointRequestQueryParamsVariableDataTypeRef=CU,w.enrichFromKnownEntities=lp,w.enumOptionsProperty=Kg,w.enumOptionsPropertyDataType=kg,w.enumOptionsPropertyDataTypeRef=jg,w.enumOptionsPropertyRef=Gg,w.enumPrototype=Mi,w.enumPrototypeRef=Fg,w.errorCodeToMessage=Qc,w.externalIntegrationConnectionBuiltInBaseEntity=Qa,w.externalIntegrationConnectionBuiltInBaseEntityConnectionIdProperty=Xa,w.externalIntegrationConnectionBuiltInBaseEntityConnectionIdPropertyDataType=hP,w.externalIntegrationConnectionBuiltInBaseEntityConnectionIdPropertyDataTypeParentRef=yP,w.externalIntegrationConnectionBuiltInBaseEntityConnectionIdPropertyParentRef=mP,w.externalIntegrationConnectionBuiltInBaseEntityIntegrationProperty=Sa,w.externalIntegrationConnectionBuiltInBaseEntityIntegrationPropertyDataTypeRef=Vie,w.externalIntegrationConnectionBuiltInBaseEntityIntegrationPropertyParentRef=fP,w.externalIntegrationConnectionBuiltInBaseEntityIntegrationPropertyRef=cP,w.filesIntegrationBuiltInActionDescriptorTransfer=g2,w.filterOutDependentCallers=TH,w.filterOutDuplicateEntities=C,w.filterOutDuplicateErrors=Vc,w.findEntityFromKeys=qw,w.findNextAvailableName=Nz,w.findNextSingleCallerAncestor=bH,w.findReferenceToSelfInList=MH,w.findReferencesToSelfInProject=LNe,w.flattenActionDescriptor=UH,w.flattenArgumentDeclaration=jH,w.flattenBreakStatement=GH,w.flattenBuiltInBaseEntity=kH,w.flattenCallerAncestorsUntil=bo,w.flattenCallers=Jw,w.flattenCalls=br,w.flattenCanvasAncestorsUntil=sp,w.flattenCondition=FH,w.flattenContinueStatement=KH,w.flattenDataType=ZH,w.flattenDefinitionEntity=qH,w.flattenDefinitionEntityExtensionAndImplementationTypes=pp,w.flattenDefinitionEntityExtensionTypes=Ao,w.flattenDefinitionEntityExtensions=vy,w.flattenDefinitionEntityImplementations=eR,w.flattenDefinitionEntityImplementionTypes=my,w.flattenDerivedCanvasEntities=Fn,w.flattenDetachedBranch=bz,w.flattenElementCalls=ht,w.flattenElementCallsOnTheSameScope=VNe,w.flattenElementCallsWithCallType=hy,w.flattenEntity=Ee,w.flattenFunctionCall=WH,w.flattenFunctionDeclaration=HH,w.flattenGlobalEvent=zH,w.flattenInputMap=JH,w.flattenInstalledProject=YH,w.flattenInternalCall=SH,w.flattenLiteralValue=XH,w.flattenLoop=QH,w.flattenOperation=ez,w.flattenOutputMap=tz,w.flattenPrimitiveEntity=iz,w.flattenProject=rz,w.flattenProjectElements=BH,w.flattenProperty=nz,w.flattenRelatedCallableElementsOnTheRight=hz,w.flattenRelatedCanvasElementsOnTheLeft=vz,w.flattenRelatedCanvasElementsOnTheRight=ev,w.flattenReturnStatement=sz,w.flattenSearch=az,w.flattenValueDescriptor=lz,w.flattenVariableDeclaration=oz,w.flattenVariableInstance=dz,w.flattenVariableReads=LH,w.flattenVariableWrites=VH,w.flattenVariables=Li,w.flattenWrites=Z0,w.fromChangeSetToRecordChangeSet=XNe,w.fromLiteralValueTypeToPrimitiveType=pw,w.fromPublishingDisabledCodeToReadable=mDe,w.fromZodParseToEntityGenerationErrors=$w,w.functionCallValidation=cNe,w.functionDeclarationValidation=ZCe,w.gdriveSmartFetchActionDescriptorTransfer=ex,w.gdriveSmartFetchConnectionInputDataTypeTransfer=D2,w.gdriveSmartFetchConnectionInputTransfer=O2,w.gdriveSmartFetchFileIdInputDataTypeTransfer=P2,w.gdriveSmartFetchFileIdInputTransfer=$2,w.gdriveSmartFetchModeInputDataTypeTransfer=N2,w.gdriveSmartFetchModeInputTransfer=V2,w.gdriveSmartFetchResponseDataTypeTransfer=Q2,w.gdriveSmartFetchResponseEntityTransfer=X2,w.generate=dm,w.generateActionExample=nNe,w.generateContentConnectionInputDataTypeTransfer=BM,w.generateContentConnectionInputTransfer=MM,w.generateContentIntegrationBuiltInActionDescriptorTransfer=ZM,w.generateContentModelInputDataTypeTransfer=jM,w.generateContentModelInputTransfer=GM,w.generateContentPromptInputDataTypeTransfer=xM,w.generateContentPromptInputTransfer=UM,w.generateContentResponseContentPropertyDataTypeTransfer=kM,w.generateContentResponseContentPropertyTransfer=FM,w.generateContentResponseDataTypeTransfer=qM,w.generateContentResponseEntityTransfer=KM,w.generateHexadecimalTokenOperation=dP,w.generateHexadecimalTokenOperationError=oP,w.generateHexadecimalTokenOperationErrorParentRef=lP,w.generateHexadecimalTokenResponseDataType=aP,w.generateIdFromStrategy=yr,w.generateIdentifierOperation=QO,w.generateIdentifierOperationAlphabetInput=YO,w.generateIdentifierOperationAlphabetInputType=JO,w.generateIdentifierOperationError=XO,w.generateIdentifierOperationLengthInput=zO,w.generateIdentifierOperationLengthInputType=HO,w.generateIdentifierOperationResponseDataType=SO,w.generateMutablePropertiesExplanation=B0,w.generatePlaceholderValueStore=uge,w.generateRandomAlphanumericOperation=WO,w.generateRandomAlphanumericOperationError=ZO,w.generateRandomAlphanumericOperationLengthInput=KO,w.generateRandomAlphanumericOperationLengthInputType=FO,w.generateRandomAlphanumericOperationResponseDataType=qO,w.generateRandomBase62Operation=MO,w.generateRandomBase62OperationError=BO,w.generateRandomBase62OperationLengthInput=VO,w.generateRandomBase62OperationLengthInputType=NO,w.generateRandomBase62OperationResponseDataType=LO,w.generateRandomBase64Operation=kO,w.generateRandomBase64OperationError=GO,w.generateRandomBase64OperationLengthInput=UO,w.generateRandomBase64OperationLengthInputType=xO,w.generateRandomBase64OperationResponseDataType=jO,w.generateRandomBoolean=Bk,w.generateRandomDate=Ck,w.generateRandomDateAfter=Ak,w.generateRandomDateBefore=wk,w.generateRandomDateBetweenRange=Rk,w.generateRandomFloatOperation=CO,w.generateRandomFloatOperationError=RO,w.generateRandomFloatOperationResponseDataType=wO,w.generateRandomHexadecimalOperation=$O,w.generateRandomHexadecimalOperationError=PO,w.generateRandomHexadecimalOperationLengthInput=DO,w.generateRandomHexadecimalOperationLengthInputType=_O,w.generateRandomHexadecimalOperationResponseDataType=OO,w.generateRandomIntegerOperation=IO,w.generateRandomIntegerOperationError=bO,w.generateRandomIntegerOperationMaxValueInput=TO,w.generateRandomIntegerOperationMaxValueInputType=vO,w.generateRandomIntegerOperationMinValueInput=mO,w.generateRandomIntegerOperationMinValueInputType=hO,w.generateRandomIntegerOperationResponseDataType=EO,w.generateRandomNumber=Pk,w.generateRandomNumberAfter=_k,w.generateRandomNumberBefore=Dk,w.generateRandomNumberBetweenRange=Ok,w.generateRandomText=Lk,w.generateRandomTextAfter=$k,w.generateRandomTextBefore=Nk,w.generateRandomTextBetweenRange=Vk,w.generateRandomUUIDv4Operation=iP,w.generateRandomUUIDv4OperationError=tP,w.generateRandomUUIDv4OperationResponseDataType=eP,w.generateShortIdentifierOperation=sP,w.generateShortIdentifierOperationError=nP,w.generateShortIdentifierOperationResponseDataType=rP,w.generateStandaloneIfDefault=pge,w.generateUniqueUUID=gk,w.getAllActionDescriptorsForConditions=F0,w.getAllActionDescriptorsForGlobalEvents=G0,w.getAllActionDescriptorsForLoops=k0,w.getAllActionDescriptorsForOperations=oNe,w.getAllBuiltInEntityIds=Kn,w.getAllGloballyDeclaredFunctionDeclarationsExplanation=oH,w.getAllVariablesInScope=tVe,w.getBaseBuiltInEntities=sn,w.getBaseBuiltInNameFromIntegrationName=bDe,w.getBaseEntity=bl,w.getBaseSchemaBasedOnType=eH,w.getBuiltInEntityOwner=wo,w.getCallableEntitiesDerivedFromInternalCalls=fz,w.getCallableEntitiesDerivedFromWrites=up,w.getCallableEntityReferenceSchema=ZW,w.getCallableEntityTypeSchema=qW,w.getCalledBy=os,w.getCalledByParallelCallers=AH,w.getCallerEntityReferenceSchema=_$e,w.getCallerEntityTypeSchema=g$e,w.getCalls=J0,w.getCanvasEntitiesDerivedFromInternalCalls=cz,w.getCanvasEntitiesDerivedFromWrites=dp,w.getCanvasEntityDerivedFromValueReadingEntity=X0,w.getCanvasEntityDerivedFromValueReadingEntityFromTransfer=pz,w.getCanvasEntityReferenceSchema=Z$e,w.getCanvasEntityTypeSchema=q$e,w.getChildrenEntityWithValues=_Ne,w.getColumnProperties=yp,w.getCommonAncestor=Xw,w.getCommonChildren=W0,w.getConnectionIdFromDefinitionEntity=u9,w.getDatabaseEntities=zNe,w.getDatabaseEntity=YNe,w.getDeclaration=nn,w.getDeclarationOutputedError=eVe,w.getDeepestScope=Az,w.getDefaultRelationalDatabaseEntityOrFirst=Rz,w.getDraggableCallableEntityReferenceSchema=HW,w.getDraggableCallableEntityTypeSchema=WW,w.getDraggableCallerEntityReferenceSchema=O$e,w.getDraggableCallerEntityTypeSchema=D$e,w.getDraggableExecutableEntityReferenceSchema=V$e,w.getDraggableExecutableEntityTypeSchema=N$e,w.getDraggablePassThroughCallableEntityReferenceSchema=L0,w.getDraggablePassThroughCallableEntityTypeSchema=V0,w.getDraggablePlayableEntityReferenceSchema=j$e,w.getDraggablePlayableEntityTypeSchema=U$e,w.getEarliestCommonCallerAncestor=gNe,w.getEarliestSingleCallerAncestorOfValueWriterAndItsValueReaders=CNe,w.getEntitiesCreatedSinceInitialization=cv,w.getEntitiesToPropagateValuesTo=Ys,w.getEntityArgumentDeclarations=Qw,w.getEntityInputMaps=uz,w.getEntityOutputMaps=jNe,w.getEntityReferenceSchema=K$e,w.getEntityReturnDeclarations=xNe,w.getEntityTypeSchema=F$e,w.getEntityWithLogicScopeReferenceSchema=B$e,w.getEntityWithLogicScopeTypeSchema=L$e,w.getEntityWithValueReferenceSchema=C$e,w.getEntityWithValueTypeSchema=R$e,w.getEntryPointEntityReferenceSchema=ho,w.getEntryPointEntityTypeSchema=yo,w.getEventEntityReferenceSchema=P0,w.getEventEntityTypeSchema=O0,w.getEventNameFromDefinition=hDe,w.getExecutableEntityReferenceSchema=$$e,w.getExecutableEntityTypeSchema=P$e,w.getExtendedBuiltInEntity=GNe,w.getExtendedDefinitionEntity=tv,w.getExternalIntegrationIdFromAction=d9,w.getExternalIntegrationNameFromBuiltInBaseName=JA,w.getFilesConnectionInputDataTypeTransfer=WM,w.getFilesConnectionInputTransfer=HM,w.getFilesFilesFilterInputDataTypeTransfer=zM,w.getFilesFilesFilterInputTransfer=JM,w.getFilesFoldersFilterInputDataTypeTransfer=YM,w.getFilesFoldersFilterInputTransfer=SM,w.getFilesMimeTypesInputDataTypeTransfer=XM,w.getFilesMimeTypesInputTransfer=QM,w.getFilesPageSizeInputDataTypeTransfer=i2,w.getFilesPageSizeInputTransfer=r2,w.getFilesPageTokenInputDataTypeTransfer=n2,w.getFilesPageTokenInputTransfer=s2,w.getFilesResponseDataTypeTransfer=C2,w.getFilesResponseEntityTransfer=R2,w.getFilesResponseNextPageTokenPropertyDataTypeTransfer=A2,w.getFilesResponseNextPageTokenPropertyTransfer=w2,w.getFilesResponseResultsPropertyDataTypeTransfer=b2,w.getFilesResponseResultsPropertyTransfer=I2,w.getFilesResultsEntityIdPropertyDataTypeTransfer=l2,w.getFilesResultsEntityIdPropertyTransfer=o2,w.getFilesResultsEntityMimeTypePropertyDataTypeTransfer=f2,w.getFilesResultsEntityMimeTypePropertyTransfer=y2,w.getFilesResultsEntityModifiedTimePropertyDataTypeTransfer=v2,w.getFilesResultsEntityModifiedTimePropertyTransfer=T2,w.getFilesResultsEntityNamePropertyDataTypeTransfer=p2,w.getFilesResultsEntityNamePropertyTransfer=c2,w.getFilesResultsEntityParentsPropertyDataTypeTransfer=d2,w.getFilesResultsEntityParentsPropertyTransfer=u2,w.getFilesResultsEntityTransfer=E2,w.getFilesResultsEntityWebViewLinkPropertyDataTypeTransfer=h2,w.getFilesResultsEntityWebViewLinkPropertyTransfer=m2,w.getFilesTrashedInputDataTypeTransfer=e2,w.getFilesTrashedInputTransfer=t2,w.getFirstBaseEntityWithOwnBase=mz,w.getFirstNonLoopScopeOwner=Rr,w.getFirstParentExecutableEntity=yz,w.getGenerationTargetSchemaBasedOnType=tH,w.getHTTPAPINameFromProjectId=e9,w.getHeadIfPartOfDetachedBranch=Ez,w.getHighestScope=Iz,w.getImplementedBuiltInEntity=kNe,w.getIntegrationIdFromDefinitionEntity=o9,w.getIntegrationIdFromEntity=IDe,w.getIsInteractive=cp,w.getLastInListOperation=uE,w.getLastInListOperationInputListArgument=k_,w.getLastInListOperationInputListDataType=G_,w.getLastInListOperationResponseDataType=F_,w.getLinkedEntitiesFromArgumentDeclaration=NNe,w.getLiteralValueNameFromDataType=wd,w.getLowestFunctionDeclarationOrActionDescriptorImplementation=Pd,w.getLowestPersistedEntityImplementation=tR,w.getOnlyRelevantErrorsForPublication=pNe,w.getParentCallableEntity=z0,w.getParentCallerEntity=CH,w.getParentCanvasEntities=El,w.getParentCanvasEntity=Pi,w.getParentCanvasEntityFromTransfer=ap,w.getParentEntryPoint=fy,w.getParentExecutableEntity=Yw,w.getParentPassthroughCallableEntity=RH,w.getPassThroughCallableEntityReferenceSchema=N0,w.getPassThroughCallableEntityTypeSchema=$0,w.getPeristedEntities=HNe,w.getPlayableEntityReferenceSchema=x$e,w.getPlayableEntityTypeSchema=M$e,w.getProject=eLe,w.getPrototypeByType=fp,w.getRecordOrderForTraversal=yNe,w.getRecusriveParentsIds=sv,w.getReferenceEntityId=te,w.getReferencedEntitiesStateOrErrors=x0,w.getReferencedEntityStateOrErrors=Nw,w.getReferencedIds=op,w.getRelatedCallableElementsOnTheRight=Q0,w.getRelatedCanvasElementsOnTheLeft=Io,w.getRelatedCanvasElementsOnTheLeftFromTransfer=BNe,w.getRelatedCanvasElementsOnTheRight=ia,w.getRelationalDBInstanceNameFromEntityId=r0,w.getRootEntryPointScopeOwner=Od,w.getRootExternalIntegrationFromAlias=EDe,w.getScopeOwner=Hr,w.getStateClassFromType=SNe,w.getStepNameFromDefinition=yDe,w.getTerminationReferenceSchema=k$e,w.getTerminationTypeSchema=G$e,w.getTopLevelFunctionDeclarationOrActionDescriptor=lR,w.getTopLevelParentEntityId=Cz,w.getTouchedCanvasEntitiesFromChangeSet=QNe,w.getUsedArgFromDeclaration=MNe,w.getUsedReturnFromDeclaration=UNe,w.getValueReadingEntityReferenceSchema=KW,w.getValueReadingEntityTypeSchema=FW,w.getValueWritingEntityReferenceSchema=w$e,w.getValueWritingEntityTypeSchema=A$e,w.getVariableFromInputMapping=_H,w.getVariableFromReturnVariablePointer=PH,w.getVariableReferenceSchema=Cd,w.getVariableTypeSchema=Rd,w.getVariablesFromArgumentDeclarations=S0,w.getVariablesFromInputMaps=DH,w.getVariablesFromOutputMapping=$H,w.getVariablesFromOutputMaps=NH,w.getVariablesFromReturnDeclarations=OH,w.getVariablesInSameOrHigherScope=Tw,w.getWrites=Y0,w.globalEventValidation=sge,w.gmailEmailsAfterInputDataTypeTransfer=LB,w.gmailEmailsAfterInputTransfer=BB,w.gmailEmailsAttachmentEntityParentRef=oM,w.gmailEmailsAttachmentEntityTransfer=RM,w.gmailEmailsAttachmentFilenameProp=EM,w.gmailEmailsAttachmentFilenamePropDT=TM,w.gmailEmailsAttachmentFilenamePropDTParentRef=uM,w.gmailEmailsAttachmentIdProp=vM,w.gmailEmailsAttachmentIdPropDT=mM,w.gmailEmailsAttachmentIdPropDTParentRef=dM,w.gmailEmailsAttachmentMimeTypeProp=IM,w.gmailEmailsAttachmentMimeTypePropDT=bM,w.gmailEmailsAttachmentMimeTypePropDTParentRef=pM,w.gmailEmailsAttachmentPropParentRef=cc,w.gmailEmailsAttachmentSizeProp=wM,w.gmailEmailsAttachmentSizePropDT=AM,w.gmailEmailsAttachmentSizePropDTParentRef=cM,w.gmailEmailsAttachmentsListDataTypeTransfer=CM,w.gmailEmailsAttachmentsModeInputDataTypeTransfer=zB,w.gmailEmailsAttachmentsModeInputTransfer=JB,w.gmailEmailsAttachmentsProp=gM,w.gmailEmailsAutoPaginateInputDataTypeTransfer=qB,w.gmailEmailsAutoPaginateInputTransfer=ZB,w.gmailEmailsBeforeInputDataTypeTransfer=MB,w.gmailEmailsBeforeInputTransfer=xB,w.gmailEmailsBuiltInActionDescriptorTransfer=LM,w.gmailEmailsConnectionInputDataTypeTransfer=PB,w.gmailEmailsConnectionInputTransfer=$B,w.gmailEmailsEmailAttachmentsPropDTParentRef=fM,w.gmailEmailsEmailBccPropDTParentRef=fne,w.gmailEmailsEmailBodyHtmlPropDTParentRef=Ene,w.gmailEmailsEmailBodyTextPropDTParentRef=Tne,w.gmailEmailsEmailCcPropDTParentRef=cne,w.gmailEmailsEmailDateIsoPropDTParentRef=dne,w.gmailEmailsEmailEntityTransfer=_M,w.gmailEmailsEmailFromPropDTParentRef=une,w.gmailEmailsEmailIdPropDTParentRef=sne,w.gmailEmailsEmailInternalDateMsPropDTParentRef=one,w.gmailEmailsEmailLabelIdsPropDTParentRef=lne,w.gmailEmailsEmailMessageIdPropDTParentRef=mne,w.gmailEmailsEmailPropParentRef=fc,w.gmailEmailsEmailRawJsonPropDTParentRef=bne,w.gmailEmailsEmailReplyToPropDTParentRef=yne,w.gmailEmailsEmailSnippetPropDTParentRef=vne,w.gmailEmailsEmailSubjectPropDTParentRef=hne,w.gmailEmailsEmailThreadIdPropDTParentRef=ane,w.gmailEmailsEmailToPropDTParentRef=pne,w.gmailEmailsIncludeBodyInputDataTypeTransfer=WB,w.gmailEmailsIncludeBodyInputTransfer=HB,w.gmailEmailsIncludeHeadersInputDataTypeTransfer=YB,w.gmailEmailsIncludeHeadersInputTransfer=SB,w.gmailEmailsIncludeSpamTrashInputDataTypeTransfer=XB,w.gmailEmailsIncludeSpamTrashInputTransfer=QB,w.gmailEmailsLabelIdsInputDataTypeTransfer=UB,w.gmailEmailsLabelIdsInputTransfer=jB,w.gmailEmailsMaxMessagesInputDataTypeTransfer=iM,w.gmailEmailsMaxMessagesInputTransfer=rM,w.gmailEmailsMaxPagesInputDataTypeTransfer=eM,w.gmailEmailsMaxPagesInputTransfer=tM,w.gmailEmailsOutputDataTypeParentRef=nM,w.gmailEmailsPageSizeInputDataTypeTransfer=GB,w.gmailEmailsPageSizeInputTransfer=kB,w.gmailEmailsPageTokenInputDataTypeTransfer=FB,w.gmailEmailsPageTokenInputTransfer=KB,w.gmailEmailsQInputDataTypeTransfer=NB,w.gmailEmailsQInputTransfer=VB,w.gmailEmailsResponseDataTypeTransfer=VM,w.gmailEmailsResponseEmailsProp=OM,w.gmailEmailsResponseEmailsPropDT=DM,w.gmailEmailsResponseEmailsPropDTParentRef=lM,w.gmailEmailsResponseEmailsPropParentRef=aM,w.gmailEmailsResponseEntityParentRef=sM,w.gmailEmailsResponseEntityTransfer=NM,w.gmailEmailsResponseNextPageTokenProp=$M,w.gmailEmailsResponseNextPageTokenPropDT=PM,w.gmailEmailsResponseNextPageTokenPropDTParentRef=hM,w.gmailEmailsResponseNextPageTokenPropParentRef=yM,w.googleAuthExternalConnectionBuiltInBaseEntity=Ho,w.googleAuthExternalConnectionBuiltInBaseEntityConnectionIdProperty=Wo,w.googleAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataType=AP,w.googleAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataTypeParentRef=IP,w.googleAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyParentRef=wP,w.googleAuthExternalConnectionBuiltInBaseEntityIntegrationProperty=Zo,w.googleAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDataTypeRef=Bie,w.googleAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValue=EP,w.googleAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValueParentRef=TP,w.googleAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyParentRef=bP,w.googleAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyRef=vP,w.googleDriveAuthExternalConnectionBuiltInBaseEntity=uc,w.googleDriveAuthExternalConnectionBuiltInBaseEntityConnectionIdProperty=NP,w.googleDriveAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataType=PP,w.googleDriveAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataTypeParentRef=OP,w.googleDriveAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyParentRef=$P,w.googleDriveAuthExternalConnectionBuiltInBaseEntityIntegrationProperty=DP,w.googleDriveAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDataTypeRef=xie,w.googleDriveAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValue=gP,w.googleDriveAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValueParentRef=CP,w.googleDriveAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyParentRef=_P,w.googleDriveAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyRef=RP,w.googleGeminiAuthExternalConnectionBuiltInBaseEntity=PE,w.googleGeminiAuthExternalConnectionBuiltInBaseEntityConnectionIdProperty=m$,w.googleGeminiAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataType=y$,w.googleGeminiAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataTypeParentRef=f$,w.googleGeminiAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyParentRef=h$,w.googleGeminiAuthExternalConnectionBuiltInBaseEntityIntegrationProperty=c$,w.googleGeminiAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDataTypeRef=Zie,w.googleGeminiAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValue=u$,w.googleGeminiAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValueParentRef=d$,w.googleGeminiAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyParentRef=p$,w.googleGeminiAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyRef=o$,w.googleMailAuthExternalConnectionBuiltInBaseEntity=Bh,w.googleMailAuthExternalConnectionBuiltInBaseEntityConnectionIdProperty=kP,w.googleMailAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataType=jP,w.googleMailAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataTypeParentRef=UP,w.googleMailAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyParentRef=GP,w.googleMailAuthExternalConnectionBuiltInBaseEntityIntegrationProperty=xP,w.googleMailAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDataTypeRef=jie,w.googleMailAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValue=BP,w.googleMailAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValueParentRef=LP,w.googleMailAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyParentRef=MP,w.googleMailAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyRef=VP,w.googleSheetAuthExternalConnectionBuiltInBaseEntity=SP,w.googleSheetAuthExternalConnectionBuiltInBaseEntityConnectionIdProperty=YP,w.googleSheetAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataType=zP,w.googleSheetAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataTypeParentRef=HP,w.googleSheetAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyParentRef=JP,w.googleSheetAuthExternalConnectionBuiltInBaseEntityIntegrationProperty=WP,w.googleSheetAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDataTypeRef=kie,w.googleSheetAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValue=qP,w.googleSheetAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValueParentRef=KP,w.googleSheetAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyParentRef=ZP,w.googleSheetAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyRef=FP,w.googleSlidesAuthExternalConnectionBuiltInBaseEntity=l$,w.googleSlidesAuthExternalConnectionBuiltInBaseEntityConnectionIdProperty=a$,w.googleSlidesAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataType=n$,w.googleSlidesAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataTypeParentRef=r$,w.googleSlidesAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyParentRef=s$,w.googleSlidesAuthExternalConnectionBuiltInBaseEntityIntegrationProperty=i$,w.googleSlidesAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDataTypeRef=Kie,w.googleSlidesAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValue=e$,w.googleSlidesAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValueParentRef=QP,w.googleSlidesAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyParentRef=t$,w.googleSlidesAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyRef=XP,w.groupCallsBasedOnParallelizableExecution=ONe,w.handleAfterEntityImplementationSideEffects=hH,w.handleBeforeEntityImplementationSideEffects=yH,w.handleLiteralValueChange=cge,w.handleLiteralValueDelete=qK,w.handleMetadataChange=sr,w.handleValueAsTypeChange=fge,w.handleValueAsTypeDelete=HK,w.httpRequestBodyArgument=Ph,w.httpRequestBodyArgumentRef=KD,w.httpRequestBodyDataType=qD,w.httpRequestHeadersArgument=Oh,w.httpRequestHeadersArgumentRef=kD,w.httpRequestHeadersDataType=FD,w.httpRequestMethodArgument=_h,w.httpRequestMethodArgumentRef=jD,w.httpRequestMethodDataType=GD,w.httpRequestMethodDataTypeRef=xD,w.httpRequestOperation=dc,w.httpRequestOperationErrorValueDescriptor=AE,w.httpRequestOperationErrorValueDescriptorDatatype=dO,w.httpRequestOperationErrorValueDescriptorRef=oO,w.httpRequestOperationOutputDataType=fO,w.httpRequestOperationOutputDataTypeEntity=pO,w.httpRequestOperationOutputDataTypeEntityParentRef=uO,w.httpRequestOperationOutputDataTypeParentRef=cO,w.httpRequestOperationRefFive=iO,w.httpRequestOperationRefFour=tO,w.httpRequestOperationRefNine=lO,w.httpRequestOperationRefSix=rO,w.httpRequestOperationRefThree=eO,w.httpRequestOperationRefTwo=QD,w.httpRequestQueryParamsArgument=EE,w.httpRequestQueryParamsArgumentRef=BD,w.httpRequestQueryParamsDataType=MD,w.httpRequestVariableURLArgument=Dh,w.httpRequestVariableURLArgumentRef=VD,w.httpRequestVariableURLDataType=LD,w.httpRequestVariableURLDataTypeRef=$D,w.httpResponseBodyOutputProperty=IE,w.httpResponseBodyOutputPropertyParentRef=aO,w.httpResponseBodyReturnDataType=XD,w.httpResponseBodyReturnDataTypeRef=YD,w.httpResponseBodyReturnReturnRef=SD,w.httpResponseCodeDataType=WD,w.httpResponseCodeOutputProperty=bE,w.httpResponseCodeOutputPropertyParentRef=nO,w.httpResponseCodeReturnRef=ZD,w.httpResponseHeadersDataType=JD,w.httpResponseHeadersDataTypeRef=HD,w.httpResponseHeadersOutputProperty=$h,w.httpResponseHeadersOutputPropertyParentRef=sO,w.httpResponseHeadersReturnRef=zD,w.httpStatusCodeValueValidation=Sz,w.hydrateOrDiscardLiteralValue=VK,w.implement=K0,w.inferArgumentDeclarationDataType=NZ,w.inferBreakStatementDataType=UZ,w.inferContinueStatementDataType=jZ,w.inferDataType=ga,w.inferFunctionCallDataType=kZ,w.inferInputMapDataType=mw,w.inferInternalCallDataType=FZ,w.inferLoopDataType=KZ,w.inferOutputMapDataType=vw,w.inferPropertyDataType=BZ,w.inferReturnStatementDataType=xZ,w.inferSearchDataType=GZ,w.inferValueDescriptorDataType=MZ,w.inferVariableDeclarationDataType=LZ,w.inferVariableInstanceDataType=VZ,w.initBaseProjectEntity=pv,w.initProject=eJ,w.initProjectFromFetchResult=Qz,w.inputMapValidation=vPe,w.inputOrOutputShouldBePartOfFinalVariableObjectValue=E0,w.installedProjectValidation=hPe,w.internalCallValidation=mPe,w.isPromise=Kw,w.isUUID=hR,w.iterateOverListActionDescriptorListArgumentDeclaration=y4,w.iterateOverListActionDescriptorListArgumentDeclarationDataType=c4,w.iterateOverListActionDescriptorListArgumentDeclarationDataTypeParentRef=p4,w.iterateOverListActionDescriptorListArgumentDeclarationParentRef=f4,w.iterateOverListLoopActionDescriptor=Yo,w.iterateOverListLoopActionDescriptorDynamicReturnDeclaration=pse,w.iterateOverListLoopActionDescriptorDynamicReturnDeclarationParentRef=h4,w.iterateOverListLoopBodyActionDescriptor=mc,w.iterateOverListLoopBodyActionDescriptorAnyDynamicArgument=C4,w.iterateOverListLoopBodyActionDescriptorAnyDynamicArgumentParentRef=R4,w.iterateOverListLoopBodyActionDescriptorCurrentValueArgumentDeclaration=qh,w.iterateOverListLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataType=T4,w.iterateOverListLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataTypeParentRef=v4,w.iterateOverListLoopBodyActionDescriptorCurrentValueArgumentDeclarationParentRef=E4,w.iterateOverListLoopBodyActionDescriptorIterationNumberArgumentDeclaration=w4,w.iterateOverListLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataType=I4,w.iterateOverListLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataTypeParentRef=b4,w.iterateOverListLoopBodyActionDescriptorIterationNumberArgumentDeclarationParentRef=A4,w.iterateOverListLoopBodyDataType=g4,w.iterateOverListLoopDataType=m4,w.iterateOverObjectKeysActionDataType=O4,w.iterateOverObjectKeysActionDescriptorObjectArgumentDeclaration=D4,w.iterateOverObjectKeysActionDescriptorObjectArgumentDeclarationDataType=_4,w.iterateOverObjectKeysLoopActionDescriptor=hu,w.iterateOverObjectKeysLoopBodyActionDescriptor=nb,w.iterateOverObjectKeysLoopBodyAnyDynamicArgument=V4,w.iterateOverObjectKeysLoopBodyCurrentValue=rb,w.iterateOverObjectKeysLoopBodyCurrentValueDataType=P4,w.iterateOverObjectKeysLoopBodyDataType=L4,w.iterateOverObjectKeysLoopBodyIterationNumber=N4,w.iterateOverObjectKeysLoopBodyIterationNumberDataType=$4,w.iterateOverObjectValuesActionDescriptorObjectArgumentDeclaration=x4,w.iterateOverObjectValuesActionDescriptorObjectArgumentDeclarationDataType=M4,w.iterateOverObjectValuesLoopActionDataType=U4,w.iterateOverObjectValuesLoopActionDescriptor=mu,w.iterateOverObjectValuesLoopBodyActionDescriptor=lb,w.iterateOverObjectValuesLoopBodyActionDescriptorAnyDynamicArgument=K4,w.iterateOverObjectValuesLoopBodyActionDescriptorAnyDynamicArgumentParentRef=F4,w.iterateOverObjectValuesLoopBodyActionDescriptorCurrentValueArgumentDeclaration=ab,w.iterateOverObjectValuesLoopBodyActionDescriptorIterationNumberArgumentDeclaration=k4,w.iterateOverObjectValuesLoopBodyCurrentValueDataType=j4,w.iterateOverObjectValuesLoopBodyIterationNumberDataType=G4,w.iterateOverObjectValuesLoopBodyReturnDataType=q4,w.iterateOverStringActionDescriptorStringArgumentDeclaration=s4,w.iterateOverStringActionDescriptorStringArgumentDeclarationDataType=n4,w.iterateOverStringLoopActionDescriptor=hc,w.iterateOverStringLoopBodyActionDescriptor=Kh,w.iterateOverStringLoopBodyAnyDynamicArgument=d4,w.iterateOverStringLoopBodyCurrentValueArgument=tb,w.iterateOverStringLoopBodyCurrentValueDataType=o4,w.iterateOverStringLoopBodyIterationNumberArgument=eb,w.iterateOverStringLoopBodyIterationNumberDataType=l4,w.iterateOverStringLoopBodyOutputDataType=u4,w.iterateOverStringLoopResultsDataType=a4,w.jiraAuthExternalConnectionBuiltInBaseEntity=pN,w.jiraAuthExternalConnectionBuiltInBaseEntityConnectionIdProperty=uN,w.jiraAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataType=oN,w.jiraAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataTypeParentRef=lN,w.jiraAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyParentRef=dN,w.jiraAuthExternalConnectionBuiltInBaseEntityIntegrationProperty=aN,w.jiraAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDataTypeRef=tre,w.jiraAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValue=nN,w.jiraAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValueParentRef=rN,w.jiraAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyParentRef=sN,w.jiraAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyRef=iN,w.joinListOperation=lE,w.joinListOperationFirstListArgument=w_,w.joinListOperationFirstListDataType=A_,w.joinListOperationResponseDataType=D_,w.joinListOperationSecondListArgument=C_,w.joinListOperationSecondListDataType=R_,w.joinListOperationSeparatorArgument=__,w.joinListOperationSeparatorDataType=g_,w.joinListWithLastSeparator=yt,w.joinStringsOperation=oc,w.joinStringsOperationDynamicStringArgument=p_,w.joinStringsOperationDynamicStringDataType=u_,w.joinStringsOperationError=f_,w.joinStringsOperationFirstStringArgument=Ah,w.joinStringsOperationFirstStringDataType=o_,w.joinStringsOperationResponseDataType=c_,w.joinStringsOperationSecondStringArgument=wh,w.joinStringsOperationSecondStringDataType=d_,w.joinStringsOperationSeparatorStringArgument=l_,w.joinStringsOperationSeparatorStringDataType=a_,w.joinStringsOperationSeparatorStringDataTypeDefaultValue=s_,w.keyValuePrototype=Ol,w.literalValueValidation=CPe,w.loopValidation=lge,w.lowercaseFirstLetter=dd,w.makeAllChangeSetEntitiesDeletable=MCe,w.makeAllChangeSetEntitiesEditable=BCe,w.makeAllChangeSetEntitiesEditableAndDeletable=xCe,w.makeAllChangeSetEntitiesNonDeletable=jCe,w.makeAllChangeSetEntitiesNonEditable=UCe,w.makeAllChangeSetEntitiesNonEditableAndNonDeletable=GCe,w.manualFlowActionDescriptorDeclarationArgumentDeclaration=QE,w.manualFlowActionDescriptorDeclarationArgumentDeclarationDataType=Qx,w.manualFlowLoopActionDescriptor=jh,w.manualFlowLoopBodyActionDescriptor=Gh,w.manualFlowLoopBodyActionDescriptorAnyDynamicArgument=t4,w.manualFlowLoopBodyActionDescriptorAnyDynamicArgumentParentRef=e4,w.manualFlowLoopBodyDataType=i4,w.manualFlowLoopDataType=Xx,w.mapActionDescriptorToTypeItRepresents=ZNe,w.mapRecord=xH,w.mergeArraysOfStringsWithoutDuplicates=lDe,w.mergeDefinitionEntities=$Z,w.mergeEntityErrorsList=jRe,w.mergeListOfEntities=KNe,w.mergeProperties=v0,w.messagesActionRef=ws,w.messagesEntityParentDTRef=tL,w.messagesEntityTransfer=iL,w.messagesIntegrationAutoPaginateInputDTParentRef=GE,w.messagesIntegrationAutoPaginateInputDataTypeTransfer=WV,w.messagesIntegrationAutoPaginateInputTransfer=HV,w.messagesIntegrationBuiltInActionDescriptorTransfer=pL,w.messagesIntegrationChannelInputDTParentRef=DV,w.messagesIntegrationChannelInputDataTypeTransfer=OV,w.messagesIntegrationChannelInputTransfer=PV,w.messagesIntegrationConnectionInputDTParentRef=CV,w.messagesIntegrationConnectionInputDataTypeTransfer=gV,w.messagesIntegrationConnectionInputTransfer=_V,w.messagesIntegrationIncludeAllMetadataInputDTParentRef=jE,w.messagesIntegrationIncludeAllMetadataInputDataTypeTransfer=qV,w.messagesIntegrationIncludeAllMetadataInputTransfer=ZV,w.messagesIntegrationInclusiveInputDTParentRef=UE,w.messagesIntegrationInclusiveInputDataTypeTransfer=FV,w.messagesIntegrationInclusiveInputTransfer=KV,w.messagesIntegrationLatestInputDTParentRef=jV,w.messagesIntegrationLatestInputDataTypeTransfer=GV,w.messagesIntegrationLatestInputTransfer=kV,w.messagesIntegrationOldestInputDTParentRef=MV,w.messagesIntegrationOldestInputDataTypeTransfer=xV,w.messagesIntegrationOldestInputTransfer=UV,w.messagesIntegrationOnlyThreadRootsInputDTParentRef=kE,w.messagesIntegrationOnlyThreadRootsInputDataTypeTransfer=SV,w.messagesIntegrationOnlyThreadRootsInputTransfer=XV,w.messagesIntegrationPageSizeInputDTParentRef=xE,w.messagesIntegrationPageSizeInputDataTypeTransfer=$V,w.messagesIntegrationPageSizeInputTransfer=NV,w.messagesIntegrationPageTokenInputDTParentRef=VV,w.messagesIntegrationPageTokenInputDataTypeTransfer=LV,w.messagesIntegrationPageTokenInputTransfer=BV,w.messagesIntegrationResponseDataTypeTransfer=uL,w.messagesIntegrationTextContainsInputDTParentRef=zV,w.messagesIntegrationTextContainsInputDataTypeTransfer=JV,w.messagesIntegrationTextContainsInputTransfer=YV,w.messagesResponseDTParentRef=QV,w.messagesResponseEntityParentRef=eL,w.messagesResponseEntityTransfer=dL,w.messagesResponseMessagesProp=sL,w.messagesResponseMessagesPropDT=nL,w.messagesResponseMessagesPropDTParentRef=rL,w.messagesResponseNextPageTokenProp=oL,w.messagesResponseNextPageTokenPropDT=lL,w.messagesResponseNextPageTokenPropDTParentRef=aL,w.messagesResponsePropsParentRef=FE,w.methodDefaultValue=UD,w.microsoftAuthExternalConnectionBuiltInBaseEntity=M$,w.microsoftAuthExternalConnectionBuiltInBaseEntityConnectionIdProperty=B$,w.microsoftAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataType=V$,w.microsoftAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataTypeParentRef=N$,w.microsoftAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyParentRef=L$,w.microsoftAuthExternalConnectionBuiltInBaseEntityIntegrationProperty=$$,w.microsoftAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDataTypeRef=Jie,w.microsoftAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValue=O$,w.microsoftAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValueParentRef=D$,w.microsoftAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyParentRef=P$,w.microsoftAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyRef=_$,w.mockClientProject=NI,w.moreThanOrEqualCondition=Au,w.moreThanOrEqualConditionLeftHandArgument=qG,w.moreThanOrEqualConditionLeftHandArgumentDataType=FG,w.moreThanOrEqualConditionLeftHandArgumentDataTypeParentRef=kG,w.moreThanOrEqualConditionLeftHandArgumentParentRef=KG,w.moreThanOrEqualConditionResultVoidDataType=YG,w.moreThanOrEqualConditionResultVoidDataTypeParentRef=JG,w.moreThanOrEqualConditionRightHandArgument=zG,w.moreThanOrEqualConditionRightHandArgumentDataType=WG,w.moreThanOrEqualConditionRightHandArgumentDataTypeParentRef=ZG,w.moreThanOrEqualConditionRightHandArgumentParentRef=HG,w.noSpacesOrDashesValueValidation=vH,w.noSpacesValueValidation=Ww,w.notEmptyCondition=Xo,w.notEmptyConditionArgument=NG,w.notEmptyConditionRef=$G,w.notEmptyConditionResultVoidDataType=LG,w.notEmptyConditionResultVoidDataTypeParentRef=VG,w.nullPrototype=nE,w.numberAdditionDynamicSummand=aE,w.numberAdditionDynamicSummandDataType=zg,w.numberAdditionFirstSummand=sE,w.numberAdditionFirstSummandDataType=Zg,w.numberAdditionOperation=bh,w.numberAdditionResponseDataType=Jg,w.numberAdditionSecondSummand=Hg,w.numberAdditionSecondSummandDataType=Wg,w.numberPrototype=Xe,w.numberSubtractionDynamicSubtrahend=t_,w.numberSubtractionDynamicSubtrahendDataType=e_,w.numberSubtractionMinuend=Sg,w.numberSubtractionMinuendDataType=Yg,w.numberSubtractionOperation=r_,w.numberSubtractionResponseDataType=i_,w.numberSubtractionSubtrahend=Qg,w.numberSubtractionSubtrahendDataType=Xg,w.numberValueAutogenerationSchema=vW,w.openaiAuthExternalConnectionBuiltInBaseEntity=IN,w.openaiAuthExternalConnectionBuiltInBaseEntityConnectionIdProperty=bN,w.openaiAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataType=TN,w.openaiAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataTypeParentRef=vN,w.openaiAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyParentRef=EN,w.openaiAuthExternalConnectionBuiltInBaseEntityIntegrationProperty=mN,w.openaiAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDataTypeRef=rre,w.openaiAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValue=yN,w.openaiAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValueParentRef=fN,w.openaiAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyParentRef=hN,w.openaiAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyRef=cN,w.operationValidation=rge,w.orderEntitiesForTraversal=fNe,w.outputMapValidation=APe,w.parallelExecutionOperation=Zs,w.parallelExecutionOperationListOfFunctionsArgument=hE,w.parallelExecutionOperationListOfFunctionsArgumentDatatype=X_,w.parallelExecutionOperationListOfFunctionsBlueprint=S_,w.parallelExecutionOperationListOfFunctionsBlueprintDataType=Y_,w.parallelExecutionOperationListOfFunctionsBlueprintDynamicInput=J_,w.parallelExecutionOperationListOfFunctionsBlueprintDynamicInputParentRef=z_,w.parallelExecutionOperationListOfFunctionsBlueprintParentRef=yE,w.parallelExecutionOperationResponseDataType=Q_,w.persistedBuiltInBaseEntity=Or,w.persistedBuiltInBaseEntityBaseColumnProperty=zj,w.persistedBuiltInBaseEntityBaseColumnPropertyDataType=Wj,w.persistedBuiltInBaseEntityBaseColumnPropertyNumberDataTypeOption=Gj,w.persistedBuiltInBaseEntityBaseColumnPropertyNumberDataTypeOptionParentRef=jj,w.persistedBuiltInBaseEntityBaseColumnPropertyParentRef=Hj,w.persistedBuiltInBaseEntityBaseColumnPropertyRef=Zj,w.persistedBuiltInBaseEntityBaseColumnPropertyStringDataTypeOption=Fj,w.persistedBuiltInBaseEntityBaseColumnPropertyStringDataTypeOptionParentRef=kj,w.persistedBuiltInBaseEntityBaseColumnPropertyUUIDDataTypeOption=qj,w.persistedBuiltInBaseEntityBaseColumnPropertyUUIDDataTypeOptionParentRef=Kj,w.persistedBuiltInBaseEntityDatabaseProperty=Tu,w.persistedBuiltInBaseEntityDatabasePropertyDataType=Dj,w.persistedBuiltInBaseEntityDatabasePropertyDataTypeRef=gse,w.persistedBuiltInBaseEntityDatabasePropertyParentRef=Oj,w.persistedBuiltInBaseEntityDatabasePropertyRef=_j,w.persistedBuiltInBaseEntityPrimaryKeyProperty=Eu,w.persistedBuiltInBaseEntityPrimaryKeyPropertyDataType=xj,w.persistedBuiltInBaseEntityPrimaryKeyPropertyNumberDataTypeOption=$j,w.persistedBuiltInBaseEntityPrimaryKeyPropertyNumberDataTypeOptionParentRef=Pj,w.persistedBuiltInBaseEntityPrimaryKeyPropertyParentRef=Uj,w.persistedBuiltInBaseEntityPrimaryKeyPropertyRef=Mj,w.persistedBuiltInBaseEntityPrimaryKeyPropertyStringDataTypeOption=Vj,w.persistedBuiltInBaseEntityPrimaryKeyPropertyStringDataTypeOptionParentRef=Nj,w.persistedBuiltInBaseEntityPrimaryKeyPropertyUUIDDataTypeOption=Bj,w.persistedBuiltInBaseEntityPrimaryKeyPropertyUUIDDataTypeOptionParentRef=Lj,w.printEntity=Hw,w.projectPublicationCompletedEventDataType=ak,w.projectPublicationCompletedEventDataTypeParentRef=sk,w.projectPublicationCompletedGlobalEvent=im,w.propagateNewInputOrOutputMapValueAsTypeToParentVariable=Jc,w.propagateNewInputOrOutputMapValueToParentVariable=zc,w.propagateNewStaticPropertyValueAsTypeToVariables=hd,w.propagateNewStaticPropertyValueToVariables=yd,w.propertyShouldBePartOfFinalVariableObjectValue=Ew,w.propertyToZodSchema=Ik,w.propertyValidation=lVe,w.readValueFromWritter=Kc,w.rebaseStack=oA,w.recursivelyMakeAllEditableAndDeletableFromGiven=FCe,w.recursivelyMakeAllNonEditableAndNonDeletableFromGiven=kCe,w.relationalDatabaseBuiltInBaseEntity=Kr,w.relationalDatabaseBuiltInBaseEntityAutoscalingProperty=Tb,w.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyDataType=pj,w.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyDataTypeRef=uj,w.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyParentRef=cj,w.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyRef=dj,w.relationalDatabaseBuiltInBaseEntityDefaultProperty=vb,w.relationalDatabaseBuiltInBaseEntityDefaultPropertyDataType=oj,w.relationalDatabaseBuiltInBaseEntityDefaultPropertyDataTypeRef=aj,w.relationalDatabaseBuiltInBaseEntityDefaultPropertyRef=lj,w.relationalDatabaseBuiltInBaseEntityIdentifierProperty=Xh,w.relationalDatabaseBuiltInBaseEntityIdentifierPropertyDataType=SU,w.relationalDatabaseBuiltInBaseEntityIdentifierPropertyDataTypeRef=JU,w.relationalDatabaseBuiltInBaseEntityIdentifierPropertyRef=YU,w.relationalDatabaseBuiltInBaseEntityMinSizeProperty=tm,w.relationalDatabaseBuiltInBaseEntityMinSizePropertyDataType=sj,w.relationalDatabaseBuiltInBaseEntityMinSizePropertyDataTypeRef=rj,w.relationalDatabaseBuiltInBaseEntityMinSizePropertyRef=nj,w.relationalDatabaseBuiltInBaseEntityPasswordProperty=em,w.relationalDatabaseBuiltInBaseEntityPasswordPropertyDataType=tj,w.relationalDatabaseBuiltInBaseEntityPasswordPropertyDataTypeRef=Cse,w.relationalDatabaseBuiltInBaseEntityPasswordPropertyDefaultValueParentRef=ij,w.relationalDatabaseBuiltInBaseEntityPasswordPropertyRef=ej,w.relationalDatabaseBuiltInBaseEntityRef=vu,w.relationalDatabaseBuiltInBaseEntityUsernameProperty=Qh,w.relationalDatabaseBuiltInBaseEntityUsernamePropertyDataType=QU,w.relationalDatabaseBuiltInBaseEntityUsernamePropertyDataTypeRef=Rse,w.relationalDatabaseBuiltInBaseEntityUsernamePropertyRef=XU,w.removeDisabledReasons=dDe,w.repliesActionRef=Rs,w.repliesAutoPaginateInputDTParentRef=WE,w.repliesChannelInputDTParentRef=hL,w.repliesConnectionInputDTParentRef=cL,w.repliesIncludeAllMetadataInputDTParentRef=ZE,w.repliesIncludeParentInputDTParentRef=HE,w.repliesInclusiveInputDTParentRef=qE,w.repliesIntegrationAutoPaginateInputDataTypeTransfer=ML,w.repliesIntegrationAutoPaginateInputTransfer=xL,w.repliesIntegrationBuiltInActionDescriptorTransfer=XL,w.repliesIntegrationChannelInputDataTypeTransfer=mL,w.repliesIntegrationChannelInputTransfer=vL,w.repliesIntegrationConnectionInputDataTypeTransfer=fL,w.repliesIntegrationConnectionInputTransfer=yL,w.repliesIntegrationIncludeAllMetadataInputDataTypeTransfer=LL,w.repliesIntegrationIncludeAllMetadataInputTransfer=BL,w.repliesIntegrationIncludeParentInputDataTypeTransfer=UL,w.repliesIntegrationIncludeParentInputTransfer=jL,w.repliesIntegrationInclusiveInputDataTypeTransfer=NL,w.repliesIntegrationInclusiveInputTransfer=VL,w.repliesIntegrationLatestInputDataTypeTransfer=PL,w.repliesIntegrationLatestInputTransfer=$L,w.repliesIntegrationOldestInputDataTypeTransfer=_L,w.repliesIntegrationOldestInputTransfer=DL,w.repliesIntegrationPageSizeInputDataTypeTransfer=IL,w.repliesIntegrationPageSizeInputTransfer=AL,w.repliesIntegrationPageTokenInputDataTypeTransfer=RL,w.repliesIntegrationPageTokenInputTransfer=CL,w.repliesIntegrationResponseDataTypeTransfer=SL,w.repliesIntegrationThreadTsInputDataTypeTransfer=EL,w.repliesIntegrationThreadTsInputTransfer=bL,w.repliesLatestInputDTParentRef=OL,w.repliesMessagesEntityParentDTRef=FL,w.repliesMessagesEntityTransfer=KL,w.repliesOldestInputDTParentRef=gL,w.repliesPageSizeInputDTParentRef=KE,w.repliesPageTokenInputDTParentRef=wL,w.repliesResponseDTParentRef=GL,w.repliesResponseEntityParentRef=kL,w.repliesResponseEntityTransfer=YL,w.repliesResponseMessagesProp=WL,w.repliesResponseMessagesPropDT=ZL,w.repliesResponseMessagesPropDTParentRef=qL,w.repliesResponseNextPageTokenProp=JL,w.repliesResponseNextPageTokenPropDT=zL,w.repliesResponseNextPageTokenPropDTParentRef=HL,w.repliesResponsePropsParentRef=zE,w.repliesThreadTsInputDTParentRef=TL,w.resolveActionDescriptorName=$z,w.resolveAllParallelAncestorConditionCallersForEntity=wH,w.resolveArgumentDeclarationValue=yA,w.resolveBaseEntityName=_z,w.resolveBuiltInBaseEntityDataTypeLabel=Dz,w.resolveCardSubheader=Y_e,w.resolveClonedEntityProject=fr,w.resolveConditionOperatorLabel=lv,w.resolveDataType=T0,w.resolveDataTypeEntityOrNestedChildrenFromLiteralValue=Zw,w.resolveDataTypeLabel=hp,w.resolveDatatypeIconName=J_e,w.resolveDefinitionEntityDataTypeLabel=nVe,w.resolveDefinitionEntitySubheader=UA,w.resolveEarliestSingleCallerAncestor=EH,w.resolveEntityCodeName=ov,w.resolveEntityDataTypeLabel=rVe,w.resolveEntityName=S,w.resolveEntitySubheader=S_e,w.resolveFirstCallsSecond=PNe,w.resolveFirstWritesSecond=$Ne,w.resolveFunctionDeclarationCardSubheader=jA,w.resolveInputMapNextStandaloneValue=Wc,w.resolveInputMapNextValue=Lm,w.resolveInputMapNextValueAsPropertyOfAnObject=xK,w.resolveInputMapStandaloneValue=Hc,w.resolveInputMapValue=jK,w.resolveInputMapValueAsPropertyOfAnObject=UK,w.resolveMethodCardSubheader=Z7,w.resolveNextValue=Aa,w.resolveOutputMapValue=hA,w.resolvePersistedDefinitionEntityDatabaseEntity=wz,w.resolvePrimaryKeyProperty=JNe,w.resolvePrimitiveEntityForSearchLiteralValueType=cw,w.resolvePrimitiveEntityName=Pz,w.resolvePropertyValue=GK,w.resolvePublicationStepStatusFromType=TDe,w.resolveResourceNameFromType=vDe,w.resolveSearchName=Oz,w.resolveValue=fd,w.resolveValueDescriptorValue=kK,w.resolveVarDeclarationAggregateObjectValue=BK,w.resolveVarDeclarationNextAggregateObjectValue=LK,w.resolveVarDeclarationNextValue=Zc,w.resolveVarDeclarationValue=fA,w.resolveVarInstanceNextValue=Vm,w.resolveVarInstanceValue=MK,w.resolveVariableScope=TPe,w.returnStatementValidation=nge,w.searchStatementErrorGlobalValueDescriptor=_b,w.searchStatementErrorGlobalValueDescriptorDataType=uk,w.searchStatementErrorGlobalValueDescriptorRef=dk,w.searchStatementState=cPe,w.searchStatementUtils=yPe,w.searchValidation=RDe,w.sendEmailActionRef=nne,w.sendEmailBodyInput=TB,w.sendEmailBodyInputDTParentRef=hB,w.sendEmailBodyInputDataType=vB,w.sendEmailBodyInputParentRef=mB,w.sendEmailConnectionInput=iB,w.sendEmailConnectionInputDTParentRef=QL,w.sendEmailConnectionInputDataType=tB,w.sendEmailConnectionInputParentRef=eB,w.sendEmailFromInput=aB,w.sendEmailFromInputDTParentRef=rB,w.sendEmailFromInputDataType=sB,w.sendEmailFromInputParentRef=nB,w.sendEmailIdProp=AB,w.sendEmailIdPropDT=IB,w.sendEmailIdPropDTParentRef=bB,w.sendEmailIntegrationBuiltInActionDescriptorTransfer=OB,w.sendEmailResponseDTParentRef=_B,w.sendEmailResponseDataType=DB,w.sendEmailResponseEntity=gB,w.sendEmailResponseEntityParentRef=EB,w.sendEmailResponsePropsParentRef=JE,w.sendEmailSubjectInput=yB,w.sendEmailSubjectInputDTParentRef=pB,w.sendEmailSubjectInputDataType=fB,w.sendEmailSubjectInputParentRef=cB,w.sendEmailThreadIdProp=CB,w.sendEmailThreadIdPropDT=RB,w.sendEmailThreadIdPropDTParentRef=wB,w.sendEmailToInput=uB,w.sendEmailToInputDTParentRef=lB,w.sendEmailToInputDataType=dB,w.sendEmailToInputParentRef=oB,w.sendMessageChannelInput=gN,w.sendMessageChannelInputDT=CN,w.sendMessageConnectionInput=RN,w.sendMessageConnectionInputDT=wN,w.sendMessageIntegrationBuiltInActionDescriptorTransfer=BN,w.sendMessageReplyBroadcastInput=NN,w.sendMessageReplyBroadcastInputDT=$N,w.sendMessageResponseDataType=LN,w.sendMessageResponseEntity=VN,w.sendMessageTextInput=DN,w.sendMessageTextInputDT=_N,w.sendMessageThreadTsInput=PN,w.sendMessageThreadTsInputDT=ON,w.sequentialExecutionOperation=Ja,w.sequentialExecutionOperationListOfFunctionsArgument=vE,w.sequentialExecutionOperationListOfFunctionsArgumentDatatype=cD,w.sequentialExecutionOperationListOfFunctionsBlueprint=pD,w.sequentialExecutionOperationListOfFunctionsBlueprintDataType=uD,w.sequentialExecutionOperationListOfFunctionsBlueprintDynamicInput=dD,w.sequentialExecutionOperationListOfFunctionsBlueprintDynamicInputParentRef=oD,w.sequentialExecutionOperationListOfFunctionsBlueprintParentRef=mE,w.sequentialExecutionOperationResponseDataType=fD,w.slackAuthExternalConnectionBuiltInBaseEntity=pu,w.slackAuthExternalConnectionBuiltInBaseEntityConnectionIdProperty=Z$,w.slackAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataType=K$,w.slackAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyDataTypeParentRef=F$,w.slackAuthExternalConnectionBuiltInBaseEntityConnectionIdPropertyParentRef=q$,w.slackAuthExternalConnectionBuiltInBaseEntityIntegrationProperty=k$,w.slackAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDataTypeRef=Sie,w.slackAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValue=j$,w.slackAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyDefaultValueParentRef=U$,w.slackAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyParentRef=G$,w.slackAuthExternalConnectionBuiltInBaseEntityIntegrationPropertyRef=x$,w.slackChannelEntityParentRef=cV,w.slackChannelEntityTransfer=mV,w.slackChannelIdProp=hV,w.slackChannelIdPropDT=yV,w.slackChannelsActionRef=el,w.slackChannelsAutoPaginateInputDTParentRef=BE,w.slackChannelsAutoPaginateInputDataTypeTransfer=sV,w.slackChannelsAutoPaginateInputTransfer=aV,w.slackChannelsConnectionInputDTParentRef=xN,w.slackChannelsConnectionInputDataTypeTransfer=jN,w.slackChannelsConnectionInputParentRef=UN,w.slackChannelsConnectionInputTransfer=GN,w.slackChannelsExcludeArchivedInputDTParentRef=$E,w.slackChannelsExcludeArchivedInputDataTypeTransfer=ZN,w.slackChannelsExcludeArchivedInputTransfer=WN,w.slackChannelsJoinPublicChannelsInputDTParentRef=LE,w.slackChannelsJoinPublicChannelsInputDataTypeTransfer=rV,w.slackChannelsJoinPublicChannelsInputTransfer=nV,w.slackChannelsNameContainsInputDTParentRef=lV,w.slackChannelsNameContainsInputDataTypeTransfer=oV,w.slackChannelsNameContainsInputTransfer=dV,w.slackChannelsOnlyJoinedInputDTParentRef=VE,w.slackChannelsOnlyJoinedInputDataTypeTransfer=XN,w.slackChannelsOnlyJoinedInputTransfer=QN,w.slackChannelsPageSizeInputDTParentRef=NE,w.slackChannelsPageSizeInputDataTypeTransfer=HN,w.slackChannelsPageSizeInputTransfer=zN,w.slackChannelsPageTokenInputDTParentRef=JN,w.slackChannelsPageTokenInputDataTypeTransfer=YN,w.slackChannelsPageTokenInputTransfer=SN,w.slackChannelsResponseChannelsProp=TV,w.slackChannelsResponseChannelsPropDT=vV,w.slackChannelsResponseDTParentRef=uV,w.slackChannelsResponseDataTypeTransfer=wV,w.slackChannelsResponseEntityParentRef=pV,w.slackChannelsResponseEntityTransfer=AV,w.slackChannelsResponseNextPageTokenProp=IV,w.slackChannelsResponseNextPageTokenPropDT=bV,w.slackChannelsResponseNextPageTokenPropDTParentRef=EV,w.slackChannelsResponsePropsParentRef=ME,w.slackChannelsTeamIdInputDTParentRef=eV,w.slackChannelsTeamIdInputDataTypeTransfer=tV,w.slackChannelsTeamIdInputTransfer=iV,w.slackChannelsTypesInputDTParentRef=kN,w.slackChannelsTypesInputDataTypeTransfer=FN,w.slackChannelsTypesInputParentRef=KN,w.slackChannelsTypesInputTransfer=qN,w.smartFetchBase64PropertyDataTypeTransfer=W2,w.smartFetchBase64PropertyTransfer=H2,w.smartFetchIsBinaryPropertyDataTypeTransfer=U2,w.smartFetchIsBinaryPropertyTransfer=j2,w.smartFetchJsonPropertyDataTypeTransfer=z2,w.smartFetchJsonPropertyTransfer=J2,w.smartFetchKindPropertyDataTypeTransfer=L2,w.smartFetchKindPropertyTransfer=B2,w.smartFetchMimeTypePropertyDataTypeTransfer=M2,w.smartFetchMimeTypePropertyTransfer=x2,w.smartFetchRawJsonPropertyDataTypeTransfer=Y2,w.smartFetchRawJsonPropertyTransfer=S2,w.smartFetchSizeBytesPropertyDataTypeTransfer=F2,w.smartFetchSizeBytesPropertyTransfer=K2,w.smartFetchTextPropertyDataTypeTransfer=q2,w.smartFetchTextPropertyTransfer=Z2,w.smartFetchTitlePropertyDataTypeTransfer=G2,w.smartFetchTitlePropertyTransfer=k2,w.sortCallsBasedOnExecutionDependencies=gH,w.sortChildrenEntitiesBasedOnExecutionDependencies=DNe,w.splitListOperation=dE,w.splitListOperationFirstPartProperty=L_,w.splitListOperationFirstPartPropertyDataType=V_,w.splitListOperationInputListArgument=P_,w.splitListOperationInputListDataType=O_,w.splitListOperationResponseDataType=U_,w.splitListOperationResponseEntity=x_,w.splitListOperationSecondPartProperty=M_,w.splitListOperationSecondPartPropertyDataType=B_,w.splitListOperationSplitIndexArgument=N_,w.splitListOperationSplitIndexDataType=$_,w.splitStringOperation=b_,w.splitStringOperationError=E_,w.splitStringOperationIndexArgument=v_,w.splitStringOperationIndexDataType=m_,w.splitStringOperationResponseDataType=T_,w.splitStringOperationStringArgument=h_,w.splitStringOperationStringDataType=y_,w.sqlRowTransformerBuiltInBaseEntity=bG,w.sqlRowTransformerBuiltInBaseEntityDefinitionProperty=hG,w.sqlRowTransformerBuiltInBaseEntityDefinitionPropertyDataType=fG,w.sqlRowTransformerBuiltInBaseEntityDefinitionPropertyDataTypeRef=_se,w.sqlRowTransformerBuiltInBaseEntityDefinitionPropertyParentRef=yG,w.sqlRowTransformerBuiltInBaseEntityDefinitionPropertyRef=cG,w.sqlRowTransformerBuiltInBaseEntityTimeProperty=EG,w.sqlRowTransformerBuiltInBaseEntityTimePropertyDataType=vG,w.sqlRowTransformerBuiltInBaseEntityTimePropertyParentRef=TG,w.sqlRowTransformerBuiltInBaseEntityTimePropertyRef=mG,w.stringPrototype=Ae,w.stringValueAutogenerationSchema=mW,w.suggestNewIdForEntity=yR,w.syncSearchEntityOutput=yw,w.toCamelCase=Bi,w.toEditorContext=W_e,w.toEntityState=an,w.toKebabCase=gz,w.toLowerCaseKebabCase=av,w.toPascalCase=$d,w.toProjectLogicContext=yge,w.toPublicationRunContext=H_e,w.toSentenceCase=oR,w.toSnakeCase=iVe,w.transitionProjectVersion=aA,w.translateLogicErrorCode=eDe,w.translateLogicErrorCodeShort=tDe,w.translateLogicErrorCodeShortWithEntityName=iDe,w.translateLogicErrorCodeWithEntityName=rDe,w.traverseChangeSet=lA,w.untypedDataPrototype=Tn,w.upSqlRowTransformerEntityMethod=uG,w.upSqlRowTransformerEntityMethodNewShapeDataType=nG,w.upSqlRowTransformerEntityMethodNewShapeDataTypeParentRef=rG,w.upSqlRowTransformerEntityMethodParentRef=dG,w.upSqlRowTransformerEntityMethodRootDataType=oG,w.upSqlRowTransformerEntityMethodRootDataTypeParentRef=lG,w.upSqlRowTransformerEntityMethodVoidDataType=aG,w.upSqlRowTransformerEntityMethodVoidDataTypeParentRef=sG,w.updateErrorsList=xi,w.updatePersistedEntityMethod=gj,w.updatePersistedEntityMethodParentRef=wj,w.updatePersistedEntityMethodVoidDataType=Cj,w.updatePersistedEntityMethodVoidDataTypeParentRef=Rj,w.uploadFileConnectionInputDataTypeTransfer=tx,w.uploadFileConnectionInputTransfer=ix,w.uploadFileContentInputDataTypeTransfer=rx,w.uploadFileContentInputTransfer=nx,w.uploadFileDescriptionInputDataTypeTransfer=cx,w.uploadFileDescriptionInputTransfer=fx,w.uploadFileFieldsInputDataTypeTransfer=Cx,w.uploadFileFieldsInputTransfer=gx,w.uploadFileFolderIdInputDataTypeTransfer=ux,w.uploadFileFolderIdInputTransfer=px,w.uploadFileImportMimeTypeInputDataTypeTransfer=Dx,w.uploadFileImportMimeTypeInputTransfer=Ox,w.uploadFileIntegrationBuiltInActionDescriptorTransfer=Jx,w.uploadFileIsBase64InputDataTypeTransfer=hx,w.uploadFileIsBase64InputTransfer=mx,w.uploadFileMaxBytesInputDataTypeTransfer=vx,w.uploadFileMaxBytesInputTransfer=Tx,w.uploadFileMimeTypeInputDataTypeTransfer=ox,w.uploadFileMimeTypeInputTransfer=dx,w.uploadFileNameInputDataTypeTransfer=sx,w.uploadFileNameInputTransfer=ax,w.uploadFileRecordEntityIdPropertyDataTypeTransfer=Px,w.uploadFileRecordEntityIdPropertyTransfer=$x,w.uploadFileRecordEntityMimeTypePropertyDataTypeTransfer=Lx,w.uploadFileRecordEntityMimeTypePropertyTransfer=Bx,w.uploadFileRecordEntityModifiedTimePropertyDataTypeTransfer=Fx,w.uploadFileRecordEntityModifiedTimePropertyTransfer=Kx,w.uploadFileRecordEntityNamePropertyDataTypeTransfer=Nx,w.uploadFileRecordEntityNamePropertyTransfer=Vx,w.uploadFileRecordEntityParentsPropertyDataTypeTransfer=Gx,w.uploadFileRecordEntityParentsPropertyTransfer=kx,w.uploadFileRecordEntitySizePropertyDataTypeTransfer=Mx,w.uploadFileRecordEntitySizePropertyTransfer=xx,w.uploadFileRecordEntityTransfer=qx,w.uploadFileRecordEntityWebViewLinkPropertyDataTypeTransfer=Ux,w.uploadFileRecordEntityWebViewLinkPropertyTransfer=jx,w.uploadFileRemoveFromRootInputDataTypeTransfer=wx,w.uploadFileRemoveFromRootInputTransfer=Rx,w.uploadFileResponseDataTypeTransfer=zx,w.uploadFileResponseEntityTransfer=Hx,w.uploadFileResponseRecordPropertyDataTypeTransfer=Zx,w.uploadFileResponseRecordPropertyTransfer=Wx,w.uploadFileSupportsAllDrivesInputDataTypeTransfer=bx,w.uploadFileSupportsAllDrivesInputTransfer=Ix,w.urlDefaultValue=ND,w.uuidPrototype=Fs,w.uuidValueValidation=KVe,w.validateArgumentDeclarationName=fR,w.validateCallableEntityShouldCallReturnStatement=vl,w.validateCalledByErrorIdInAction=aNe,w.validateCalledByIdInAction=sNe,w.validateCallers=lH,w.validateConditionEntityDeclaration=dNe,w.validateDataOperation=lu,w.validateDataOperationDataToValidateArgument=TD,w.validateDataOperationDataToValidateArgumentParentRef=vD,w.validateDataOperationDataToValidateArgumentRef=hD,w.validateDataOperationDataToValidateDataType=mD,w.validateDataOperationDataType=OD,w.validateDataOperationDataTypeEntity=_D,w.validateDataOperationDataTypeEntityOutputEntityProperty=TE,w.validateDataOperationDataTypeEntityOutputEntityPropertyParentRef=CD,w.validateDataOperationDataTypeEntityParentRef=gD,w.validateDataOperationDataTypeParentRef=DD,w.validateDataOperationEntityToMatchTypeArgument=AD,w.validateDataOperationEntityToMatchTypeArgumentParentRef=ID,w.validateDataOperationEntityToMatchTypeArgumentRef=ED,w.validateDataOperationEntityToMatchTypeDataType=bD,w.validateDataOperationError=RD,w.validateDataOperationErrorParentRef=wD,w.validateDefinitionEntityName=dR,w.validateEntityName=cy,w.validateEntryCaller=aH,w.validateEntryPointsTermination=kw,w.validateErrorCaller=sH,w.validateFunctionCallDeclaration=dH,w.validateFunctionDeclarationName=uR,w.validateGeneratedEntityParentIsNotBuiltInEntity=eNe,w.validateGeneration=X$e,w.validateGenerationTarget=rr,w.validateGenerationUpdate=Q$e,w.validateLoopEntityDeclaration=uNe,w.validateMissingValue=_d,w.validateName=sVe,w.validateOperationEntityDeclaration=uH,w.validatePropertyName=cR,w.validateReachability=ml,w.validateReadsValueInActionPayload=lNe,w.validateReferenceObject=M0,w.validateReferenceToOne=Vw,w.validateReferences=xr,w.validateSuccessCaller=nH,w.validateValueReaderGenerationUpdate=gd,w.validateValueWritter=Uw,w.validateVariableDeclarationName=pR,w.validateVariableInternalCallUse=jw,w.valueAutogenerationCurrentDateAndTimeSchema=sW,w.valueAutogenerationGenericSchema=b0,w.valueAutogenerationOptions=EW,w.valueAutogenerationOptionsSchema=rW,w.valueAutogenerationRandomBooleanSchema=hW,w.valueAutogenerationRandomDateBetweenSchema=yW,w.valueAutogenerationRandomDateFromSchema=cW,w.valueAutogenerationRandomDateSchema=w0,w.valueAutogenerationRandomDateUntilSchema=fW,w.valueAutogenerationRandomNumberBetweenSchema=oW,w.valueAutogenerationRandomNumberFromSchema=aW,w.valueAutogenerationRandomNumberSchema=I0,w.valueAutogenerationRandomNumberUntilSchema=lW,w.valueAutogenerationRandomSchema=ry,w.valueAutogenerationRandomTextBetweenSchema=pW,w.valueAutogenerationRandomTextFromSchema=dW,w.valueAutogenerationRandomTextSchema=A0,w.valueAutogenerationRandomTextUntilSchema=uW,w.valueAutogenerationRangeValueTypesSchema=iy,w.valueAutogenerationUniqueSchema=nW,w.valueDescriptorValidation=OPe,w.variableDeclarationValidation=ADe,w.variableInstanceValidation=wDe,w.voidPrototype=kr,w.waitOperation=Nn,w.waitOperationMillisecondsNumberArgument=au,w.waitOperationMillisecondsNumberArgumentRef=eD,w.waitOperationMillisecondsNumberDataType=tD,w.waitOperationOperationError=nD,w.waitOperationOperationErrorParentRef=rD,w.waitOperationOutputDataType=aD,w.waitOperationOutputDataTypeParentRef=sD,w.waitOperationRef=iD,Object.defineProperty(w,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.6585",
3
+ "version": "0.0.6586",
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",