@elyx-code/project-logic-tree 0.0.598 → 0.0.5991

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.
@@ -1,79 +1,79 @@
1
- (function(d,r){typeof exports=="object"&&typeof module<"u"?r(exports):typeof define=="function"&&define.amd?define(["exports"],r):(d=typeof globalThis<"u"?globalThis:d||self,r(d["@elyx-code/project-logic-tree"]={}))})(this,function(d){"use strict";var f3=Object.defineProperty;var m3=(d,r,_)=>r in d?f3(d,r,{enumerable:!0,configurable:!0,writable:!0,value:_}):d[r]=_;var l=(d,r,_)=>(m3(d,typeof r!="symbol"?r+"":r,_),_);var r=(n=>(n.CustomEntity="custom-entity",n.BuiltInBaseEntity="built-in-base-entity",n.Project="project",n.InstalledProject="installed-project",n.GlobalEvent="global-event",n.DataType="data-type",n.FunctionCall="function-call",n.FunctionDeclaration="function-declaration",n.ActionDescriptor="action-descriptor",n.ValueDescriptor="value-descriptor",n.ArgumentDeclaration="argument-declaration",n.InputMap="input-map",n.ReturnStatement="return-statement",n.BreakStatement="break-statement",n.ContinueStatement="continue-statement",n.ReturnDeclaration="return-declaration",n.OutputMap="output-map",n.PrimitiveEntity="primitive-entity",n.PrimitiveValue="primitive-value",n.Property="property",n.Operation="operation",n.Condition="condition",n.VariableDeclaration="variable-declaration",n.VariableInstance="variable-instance",n.Search="search",n.Loop="loop",n.InternalCall="internal-call",n.GenericReference="generic-reference",n))(r||{}),_=(n=>(n.HTTP_ENDPOINT="BUILT_IN_HTTP_ENDPOINT_ENTITY",n.RELATIONAL_DATABASE="BUILT_IN_RELATIONAL_DATABASE_ENTITY",n.PERSISTED_ENTITY="BUILT_IN_PERSISTED_ENTITY_ENTITY",n.CRON_JOB="BUILT_IN_CRON_JOB_ENTITY",n.EXECUTION="BUILT_IN_EXECUTION_ENTITY",n.KEY_VALUE_PARAM="BUILT_IN_KEY_VALUE_PARAM_ENTITY",n))(_||{}),xe=(n=>(n.CurrentDateAndTime="current-date-and-time",n.Unique="unique",n.Random="random",n))(xe||{}),gt=(n=>(n.DeletePersistedEntity="base-delete-persisted-entity",n.SoftDeletePersistedEntity="base-soft-delete-persisted-entity",n.AbortExecution="base-abort-execution",n))(gt||{}),L=(n=>(n.Fixed="fixed",n.None="none",n.Dynamic="dynamic",n))(L||{}),C=(n=>(n.FixedArguments="fixed-arguments",n.FixedReturns="fixed-returns",n.ReturnedError="returned-error",n.OngoingProcessExecution="ongoing-process-execution",n))(C||{}),g=(n=>(n.EntityTemplate="entity-template",n.ActionDescriptor="action-descriptor",n.String="string",n.Number="number",n.Boolean="boolean",n.Null="null",n.Enum="enum",n.JSON="json",n.Date="date",n.UUID="uuid",n.File="file",n))(g||{}),at=(n=>(n.Addition="addition",n.Substraction="substraction",n.Multiplication="multiplication",n.Division="division",n.Remainder="remainder",n.Exponentiation="exponentiation",n))(at||{}),ge=(n=>(n.Join="string-join",n.Split="stringSsplit",n.DeleteLast="string-delete-last",n.DeleteFirst="string-delete-first",n.DeleteIndex="string-delete-index",n.AddIndex="string-add-index",n.ReplaceFirst="string-replace-first",n.ReplaceLast="string-replace-last",n.ReplaceIndex="string-replace-index",n.ReplaceSingleMatch="string-replace-single-match",n.ReplaceAllMatches="string-replace-all-matches",n.GetIndex="string-get-index",n.GetFirst="string-get-first",n.GetLast="string-get-last",n.Append="string-append",n.Prepend="string-prepend",n))(ge||{}),j=(n=>(n.Join="list-join",n.Split="list-split",n.DeleteLast="list-delete-last",n.DeleteFirst="list-delete-first",n.DeleteIndex="list-delete-index",n.AddIndex="list-add-index",n.ReplaceFirst="list-replace-first",n.ReplaceLast="list-replace-last",n.ReplaceIndex="list-replace-index",n.ReplaceSingleMatch="list-replace-single-match",n.ReplaceAllMatches="list-replace-all-matches",n.GetIndex="list-get-index",n.GetFirst="list-get-first",n.GetLast="list-get-last",n.Append="list-append",n.Prepend="list-prepend",n))(j||{}),Ie=(n=>(n.Parallel="parallel",n.Sequential="sequential",n.Wait="wait",n))(Ie||{}),Ze=(n=>(n.CreateNewInstance="create-new-instance",n.Validate="validate",n))(Ze||{}),Ye=(n=>(n.HttpRequest="base-http-request",n))(Ye||{}),Ae=(n=>(n.Equal="equal",n.NotEqual="not-equal",n.And="and",n.Or="or",n.LessThan="less-than",n.MoreThan="more-than",n.LessThanOrEqual="less-than-or-equal",n.MoreThanOrEqual="more-than-or-equal",n))(Ae||{}),Ct=(n=>(n.Empty="empty",n.NotEmpty="not-empty",n))(Ct||{}),je=(n=>(n.ManualFlow="manual-flow-loop",n.Counted="counted-loop",n.List="list-loop",n.ObjectKeys="object-keys-loop",n.ObjectValues="object-values-loop",n.String="string-loop",n))(je||{}),qe=(n=>(n.OrDataTypeGroup="or-data-type-group",n.AndDataTypeGroup="and-data-type-group",n.DynamicArgumentTypes="dynamic-argument-types",n.DynamicReturnTypes="dynamic-return-types",n))(qe||{}),Kt=(n=>(n.PROJECT_PUBLICATION_COMPLETED="GLOBAL_EVENT_PROJECT_PUBLICATION_COMPLETED",n))(Kt||{}),Bd=(n=>(n.Error="error",n.Task="task",n))(Bd||{});const Tn=[r.VariableDeclaration,r.VariableInstance,r.InputMap,r.ReturnDeclaration],Hg=[r.VariableDeclaration,r.VariableInstance,r.InputMap,r.ReturnDeclaration];console.log("VALUE_READING_TYPES: ",[...Tn]);const Se=[r.VariableDeclaration,r.VariableInstance,r.ArgumentDeclaration,r.OutputMap],Yg=[r.VariableDeclaration,r.VariableInstance,r.ArgumentDeclaration,r.OutputMap];console.log("VALUE_WRITING_TYPES: ",[...Se]);const wd=[...Tn,...Se],Fe=[r.VariableDeclaration,r.VariableInstance],Dr=[r.GlobalEvent],Ne=[r.Operation,r.FunctionCall,r.Condition,r.Search,r.VariableDeclaration,r.VariableInstance,r.InternalCall,r.Loop],mo=[r.Operation,r.FunctionCall,r.Condition,r.Search,r.VariableDeclaration,r.VariableInstance,r.Loop],$e=[r.FunctionDeclaration,...Dr],En=[...Ne,r.ReturnStatement,r.BreakStatement,r.ContinueStatement],To=[...mo,r.ReturnStatement,r.BreakStatement,r.ContinueStatement],en=[...Ne,...$e],_d=[...mo,...$e],zg=[...En,...$e],Zg=[...To,...$e],st=[...$e,r.Loop],Oe=[r.ReturnStatement,r.BreakStatement,r.ContinueStatement],Xg=[r.CustomEntity,r.BuiltInBaseEntity,r.Project,r.InstalledProject,r.GlobalEvent,r.DataType,r.FunctionCall,r.FunctionDeclaration,r.ActionDescriptor,r.ValueDescriptor,r.ArgumentDeclaration,r.InputMap,r.ReturnStatement,r.BreakStatement,r.ContinueStatement,r.ReturnDeclaration,r.OutputMap,r.PrimitiveEntity,r.PrimitiveValue,r.Property,r.Operation,r.Condition,r.VariableDeclaration,r.VariableInstance,r.Search,r.Loop,r.InternalCall],Eo=[r.CustomEntity,r.GlobalEvent,r.FunctionDeclaration,r.FunctionCall,r.VariableDeclaration,r.VariableInstance,r.Operation,r.Condition,r.ReturnStatement,r.BreakStatement,r.ContinueStatement,r.InstalledProject,r.Loop,r.Search],Md=[r.CustomEntity,r.FunctionDeclaration,r.ArgumentDeclaration,r.ReturnDeclaration,r.Property,r.VariableDeclaration,r.Search,r.Project,r.InstalledProject,r.ActionDescriptor,r.ValueDescriptor],Ar=[r.BuiltInBaseEntity,r.PrimitiveEntity],Qg=[r.CustomEntity,r.FunctionDeclaration,r.ArgumentDeclaration,r.ReturnDeclaration,r.Property,r.VariableDeclaration,r.GlobalEvent,r.Search,r.Project,r.InstalledProject,r.ActionDescriptor,r.ValueDescriptor,r.InputMap,r.OutputMap,r.FunctionCall,r.Operation,r.Condition,r.ReturnStatement,r.BreakStatement,r.ContinueStatement,r.VariableInstance,r.PrimitiveValue,r.InternalCall],F={type:r.PrimitiveEntity,id:"8b5fbe15-4c2b-48c0-9fd8-e5efbe3978dc",description:"A string of characters.",version:1,name:g.String,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Fn={type:r.PrimitiveEntity,id:"f596545d-1565-4faa-9969-d95fa5edfea4",description:"A 'true' or 'false' value.",version:1,name:g.Boolean,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Ce={type:r.PrimitiveEntity,id:"ecb84c29-6153-4b82-86a5-fce2b5f92002",description:"A number value.",version:1,name:g.Number,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Xe={type:r.PrimitiveEntity,id:"730e8ea9-8498-439a-9001-b07de55aaa7d",description:"A complex data structure with any combination of properties with names and values.",version:1,name:g.JSON,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Nd={id:"c2f52f01-8f2e-490e-8083-72289c8189c1",type:r.GenericReference,entityId:"7dd59b70-f97b-43a7-a051-fde1842ce5d6",entityType:r.DataType},$d={id:"4e803941-2e6a-4227-b803-b8877c0d7fee",type:r.GenericReference,entityId:"00ccfcae-2104-45ef-bf6c-50ddccd74286",entityType:r.Property},Vd={id:"7dd59b70-f97b-43a7-a051-fde1842ce5d6",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:F,asType:!1,defaultValue:{id:"enum-options-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.JSON,autogeneration:null,value:[],valueAsType:null,parent:Nd},parent:$d},Ld={id:"a2983c4c-0286-4ef1-8b5c-5a52904d3200",type:r.GenericReference,entityId:"9542b8b4-2642-4eee-9db9-def7963a17a0",entityType:r.PrimitiveEntity},Gd={required:!0,id:"00ccfcae-2104-45ef-bf6c-50ddccd74286",name:"Options",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:Vd,description:"Options for the enum. Each option is a text value.",parent:Ld},Rn={type:r.PrimitiveEntity,id:"9542b8b4-2642-4eee-9db9-def7963a17a0",description:"A set of text options to choose from.",version:1,name:g.Enum,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[Gd],methods:[]},Sr={type:r.PrimitiveEntity,id:"dc58f38b-d574-4956-aac6-32ce9529b937",description:"A date and time value.",version:1,name:g.Date,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},fa={type:r.PrimitiveEntity,id:"4a6234aa-c0f6-4731-b4dd-750388029226",description:"A unique identifier in the form of a 36-character string.",version:1,name:g.UUID,static:!1,abstract:!1,abstractMethods:[],extends:[F],properties:[],methods:[]},Ro={type:r.PrimitiveEntity,id:"b6f3c3c4-9c3d-4f9d-9e9e-1c0f6a3c8c6b",description:"A complex data structure with any combination of properties with names and values.",version:1,name:g.JSON,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]};var Fd=(n=>(n.FirstInputNumber="number-addition-first-number-argument-declaration",n.SecondInputNumber="number-addition-second-number-argument-declaration",n))(Fd||{}),Ud=(n=>(n.ResultNumber="number-addition-result-number-return-delaration",n.Error="number-addition-error-return-delaration",n))(Ud||{});const xd={type:r.GenericReference,id:"3bd4aeb2-e3b7-4120-b289-011ebb03dba5",entityId:"number-addition-first-number-argument-declaration",entityType:r.ValueDescriptor},jd={id:"number-addition-first-number-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:xd},kd={type:r.GenericReference,id:"9f486db2-a983-4293-9eef-81d4fc8d2d3e",entityId:"number-addition-second-number-argument-declaration",entityType:r.ValueDescriptor},qd={id:"1d4abe83-3e87-4f74-99be-c1fd8c2f8d2d",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:kd},Jd={type:r.GenericReference,id:"da5e9fe9-f18a-49e3-98e5-c1bf7b9b3153",entityId:"number-addition-result-number-return-delaration",entityType:r.ValueDescriptor},Wd={id:"b761acec-0755-4582-a68b-76267038bbe1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Jd},Hd={type:r.GenericReference,id:"a6c14305-d4f7-43ae-9d5e-b7dbacdc830a",entityId:at.Addition,entityType:r.ActionDescriptor},bo={id:"number-addition-first-number-argument-declaration",type:r.ValueDescriptor,version:1,name:"First value",description:"The first number to add",dataType:jd,required:!0,parentRelationType:C.FixedArguments,index:0,parent:Hd},Yd={type:r.GenericReference,id:"c5015128-4a65-462c-9da0-1c86e83ef897",entityId:at.Addition,entityType:r.ActionDescriptor},vo={id:"number-addition-second-number-argument-declaration",type:r.ValueDescriptor,description:"The second number to add",version:1,name:"Second value",dataType:qd,required:!0,parentRelationType:C.FixedArguments,index:1,parent:Yd},zd={type:r.GenericReference,id:"caac2bc7-c23c-4f01-9581-a515c2e4637f",entityId:at.Addition,entityType:r.ActionDescriptor},go={parentRelationType:C.FixedReturns,id:"number-addition-result-number-return-delaration",type:r.ValueDescriptor,description:"The result number of the addition",version:1,name:"Result",dataType:Wd,required:!0,index:0,parent:zd},Zd={type:r.GenericReference,id:"number-addition-operation-error-parent-ref",entityId:at.Addition,entityType:r.ActionDescriptor},Xd={parentRelationType:C.FixedReturns,id:"number-addition-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Zd},ma={id:at.Addition,type:r.ActionDescriptor,description:"Add two numbers together",version:1,name:at.Addition,fixedArguments:[bo,vo],error:Xd,fixedReturns:[go],argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},Qd={[at.Addition]:ma};var Kd=(n=>(n.FirstInputString="join-string-first-string-argument-declaration",n.SecondInputString="join-string-second-string-argument-declaration",n))(Kd||{}),eu=(n=>(n.ResultString="join-string-result-string-return-delaration",n.Error="join-string-error-return-delaration",n))(eu||{});const tu={type:r.GenericReference,id:"join-string-first-string-argument-declaration",entityId:"join-string-first-string-argument-declaration",entityType:r.ValueDescriptor},nu={id:"join-string-first-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:tu},ru={type:r.GenericReference,id:"join-string-second-string-argument-declaration",entityId:"join-string-second-string-argument-declaration",entityType:r.ValueDescriptor},iu={id:"join-string-second-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:ru},au={type:r.GenericReference,id:"join-string-result-string-return-delaration",entityId:"join-string-result-string-return-delaration",entityType:r.ValueDescriptor},su={id:"join-string-result-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:au},ou={type:r.GenericReference,id:"join-string-operation-first-string-argument-parent-ref",entityId:ge.Join,entityType:r.ActionDescriptor},Ta={id:"join-string-first-string-argument-declaration",type:r.ValueDescriptor,version:1,name:"First value",description:"The first text to join to the second one. Its value will be at the beginning of the resulting text.",dataType:nu,parentRelationType:C.FixedArguments,required:!0,index:0,parent:ou},lu={type:r.GenericReference,id:"join-string-operation-second-string-argument-parent-ref",entityId:ge.Join,entityType:r.ActionDescriptor},Ea={id:"join-string-second-string-argument-declaration",type:r.ValueDescriptor,version:1,name:"Second value",description:"The second text to join to the first one. Its value will be at the end of the resulting text.",dataType:iu,parentRelationType:C.FixedArguments,required:!0,index:1,parent:lu},cu={type:r.GenericReference,id:"join-string-operation-result-string-return-parent-ref",entityId:ge.Join,entityType:r.ActionDescriptor},ui={parentRelationType:C.FixedReturns,id:"join-string-result-string-return-delaration",type:r.ValueDescriptor,version:1,name:"Result",description:"The resulting text value.",dataType:su,required:!0,index:0,parent:cu},du={type:r.GenericReference,id:"join-string-operation-error-parent-ref",entityId:ge.Join,entityType:r.ActionDescriptor},uu={parentRelationType:C.FixedReturns,id:"join-string-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:du},pi={id:ge.Join,type:r.ActionDescriptor,version:1,name:ge.Join,description:"Join two text together, to form a single resulting text value.",fixedArguments:[Ta,Ea],fixedReturns:[ui],error:uu,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},pu={[ge.Join]:pi};var yu=(n=>(n.FirstInputList="join-list-first-list-argument-declaration",n.SecondInputList="join-list-second-list-argument-declaration",n))(yu||{}),hu=(n=>(n.ResultList="join-list-result-list-return-delaration",n.Error="join-list-error-return-delaration",n))(hu||{});const fu={type:r.GenericReference,id:"join-list-operation-first-list-argument-ref",entityId:"join-list-first-list-argument-declaration",entityType:r.ValueDescriptor},mu={id:"join-list-first-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:fu},Tu={type:r.GenericReference,id:"join-list-operation-second-list-argument-ref",entityId:"join-list-second-list-argument-declaration",entityType:r.ValueDescriptor},Eu={id:"join-list-second-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Tu},Ru={type:r.GenericReference,id:"join-list-operation-result-list-return-ref",entityId:"join-list-result-list-return-delaration",entityType:r.ValueDescriptor},bu={id:"join-list-result-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Ru},vu={type:r.GenericReference,id:"join-list-operation-first-list-argument-parent-ref",entityId:j.Join,entityType:r.ActionDescriptor},gu={id:"join-list-first-list-argument-declaration",type:r.ValueDescriptor,version:1,name:"First value",description:"The first list to join to the second one. Its values will be at the beginning of the resulting list.",dataType:mu,parentRelationType:C.FixedArguments,required:!0,index:0,parent:vu},Iu={type:r.GenericReference,id:"join-list-operation-second-list-argument-parent-ref",entityId:j.Join,entityType:r.ActionDescriptor},Pu={id:"join-list-second-list-argument-declaration",type:r.ValueDescriptor,version:1,name:"Second value",description:"The second list to join to the first one. Its values will be at the end of the resulting list.",dataType:Eu,parentRelationType:C.FixedArguments,required:!0,index:1,parent:Iu},Du={type:r.GenericReference,id:"join-list-operation-result-list-return-parent-ref",entityId:j.Join,entityType:r.ActionDescriptor},Au={parentRelationType:C.FixedReturns,id:"join-list-result-list-return-delaration",type:r.ValueDescriptor,version:1,name:"Result",description:"The resulting list value.",dataType:bu,required:!0,index:0,parent:Du},Su={type:r.GenericReference,id:"join-list-operation-error-parent-ref",entityId:j.Join,entityType:r.ActionDescriptor},Ou={parentRelationType:C.FixedReturns,id:"join-list-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Su},Io={id:j.Join,type:r.ActionDescriptor,version:1,name:j.Join,description:"Join two lists together, to form a single resulting list value.",fixedArguments:[gu,Pu],error:Ou,fixedReturns:[Au],argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var Cu=(n=>(n.InputList="list-to-split-argument-declaration",n.SplitIndex="split-list-index-argument-declaration",n))(Cu||{}),Bu=(n=>(n.FirstOutputList="split-list-first-output-list-return-delaration",n.SecondOutputList="split-list-second-output-list-return-delaration",n.Error="split-list-error-return-delaration",n))(Bu||{});const wu={type:r.GenericReference,id:"split-list-operation-input-list-argument-ref",entityId:"list-to-split-argument-declaration",entityType:r.ValueDescriptor},_u={id:"split-list-operation-input-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:wu},Mu={type:r.GenericReference,id:"split-list-operation-split-index-argument-ref",entityId:"split-list-index-argument-declaration",entityType:r.ValueDescriptor},Nu={id:"split-list-operation-split-index-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Mu},Po={type:r.GenericReference,id:"split-list-operation-first-output-list-return-ref",entityId:"split-list-first-output-list-return-delaration",entityType:r.ValueDescriptor},$u={id:"split-list-operation-first-output-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Po},Vu={type:r.GenericReference,id:"split-list-operation-input-list-argument-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},Lu={id:"list-to-split-argument-declaration",type:r.ValueDescriptor,version:1,name:"List to split",description:"The list to split at the given index",dataType:_u,parentRelationType:C.FixedArguments,required:!0,index:0,parent:Vu},Gu={type:r.GenericReference,id:"split-list-operation-split-index-argument-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},Fu={id:"split-list-index-argument-declaration",type:r.ValueDescriptor,version:1,name:"Split location",description:"The index at which to split the list. The value at this index will be the first value of the second list.",dataType:Nu,parentRelationType:C.FixedArguments,required:!0,index:1,parent:Gu},Uu={type:r.GenericReference,id:"split-list-operation-first-output-list-return-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},xu={parentRelationType:C.FixedReturns,id:"split-list-first-output-list-return-delaration",type:r.ValueDescriptor,version:1,name:"First list",description:"The list of values up to the split index",dataType:$u,required:!0,index:0,parent:Uu},ju={id:"split-list-operation-second-output-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Po},ku={type:r.GenericReference,id:"split-list-operation-second-output-list-return-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},qu={parentRelationType:C.FixedReturns,id:"split-list-second-output-list-return-delaration",type:r.ValueDescriptor,version:1,name:"Second list",description:"The list of values up to the split index",dataType:ju,required:!0,index:0,parent:ku},Ju={type:r.GenericReference,id:"split-list-operation-error-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},Wu={parentRelationType:C.FixedReturns,id:"split-list-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Ju},Do={id:j.Split,type:r.ActionDescriptor,version:1,name:j.Split,description:"Splits a given list at the given index, and returns two lists, one with the values up to the index, and the other with the values after the index",fixedArguments:[Lu,Fu],fixedReturns:[xu,qu],error:Wu,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var Hu=(n=>(n.InputList="get-last-in-list-input-list-argument-declaration",n))(Hu||{}),Yu=(n=>(n.OutputElement="get-last-in-list-output-element-return-delaration",n.Error="get-last-in-list-error-return-delaration",n))(Yu||{});const zu={type:r.GenericReference,id:"get-last-in-list-operation-input-list-argument-ref",entityId:"get-last-in-list-input-list-argument-declaration",entityType:r.ValueDescriptor},Zu={id:"get-last-in-list-input-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:zu},Xu={type:r.GenericReference,id:"get-last-in-list-operation-output-element-return-ref",entityId:"get-last-in-list-output-element-return-delaration",entityType:r.ValueDescriptor},Qu={id:"get-last-in-list-output-element-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Xu},Ku={type:r.GenericReference,id:"get-last-in-list-operation-input-list-argument-parent-ref",entityId:j.GetLast,entityType:r.ActionDescriptor},ep={id:"get-last-in-list-input-list-argument-declaration",type:r.ValueDescriptor,version:1,name:"List",description:"The list to get the last element from.",dataType:Zu,parentRelationType:C.FixedArguments,required:!0,index:0,parent:Ku},tp={type:r.GenericReference,id:"get-last-in-list-operation-output-element-return-parent-ref",entityId:j.GetLast,entityType:r.ActionDescriptor},np={parentRelationType:C.FixedReturns,id:"get-last-in-list-output-element-return-delaration",type:r.ValueDescriptor,version:1,name:"Last element",description:"The last element of the given list.",dataType:Qu,required:!0,index:0,parent:tp},rp={type:r.GenericReference,id:"get-last-in-list-operation-error-parent-ref",entityId:j.GetLast,entityType:r.ActionDescriptor},ip={parentRelationType:C.FixedReturns,id:"get-last-in-list-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:rp},Ao={id:j.GetLast,type:r.ActionDescriptor,version:1,name:j.GetLast,description:"Outputs the last element of a given list.",fixedArguments:[ep],fixedReturns:[np],error:ip,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var ap=(n=>(n.List="append-to-list-lsit-argument-declaration",n.ElementToAppend="append-to-list-element-to-append-argument-declaration",n))(ap||{}),sp=(n=>(n.ResultList="append-to-list-result-list-return-delaration",n.Error="append-to-list-error-return-delaration",n))(sp||{});const op={type:r.GenericReference,id:"append-to-list-operation-lsit-argument-ref",entityId:"append-to-list-lsit-argument-declaration",entityType:r.ValueDescriptor},lp={id:"append-to-list-lsit-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:op},cp={type:r.GenericReference,id:"append-to-list-operation-second-list-argument-ref",entityId:"append-to-list-element-to-append-argument-declaration",entityType:r.ValueDescriptor},dp={id:"append-to-list-second-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:cp},up={type:r.GenericReference,id:"append-to-list-operation-result-list-return-ref",entityId:"append-to-list-result-list-return-delaration",entityType:r.ValueDescriptor},pp={id:"append-to-list-result-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:up},yp={type:r.GenericReference,id:"append-to-list-operation-lsit-argument-parent-ref",entityId:j.Append,entityType:r.ActionDescriptor},So={id:"append-to-list-lsit-argument-declaration",type:r.ValueDescriptor,version:1,name:"List value",description:"The list to which the element will be appended",dataType:lp,parentRelationType:C.FixedArguments,required:!0,index:0,parent:yp},hp={type:r.GenericReference,id:"append-to-list-operation-second-list-argument-parent-ref",entityId:j.Append,entityType:r.ActionDescriptor},Oo={id:"append-to-list-element-to-append-argument-declaration",type:r.ValueDescriptor,version:1,name:"Element",description:"The element that will be added at the end of the list",dataType:dp,parentRelationType:C.FixedArguments,required:!0,index:1,parent:hp},fp={type:r.GenericReference,id:"append-to-list-operation-result-list-return-parent-ref",entityId:j.Append,entityType:r.ActionDescriptor},mp={parentRelationType:C.FixedReturns,id:"append-to-list-result-list-return-delaration",type:r.ValueDescriptor,version:1,name:"Result",description:"The resulting list value.",dataType:pp,required:!0,index:0,parent:fp},Tp={type:r.GenericReference,id:"append-to-list-operation-error-parent-ref",entityId:j.Append,entityType:r.ActionDescriptor},Ep={parentRelationType:C.FixedReturns,id:"append-to-list-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Tp},Ra={id:j.Append,type:r.ActionDescriptor,version:1,name:j.Append,description:"Adds a given element to the end of a list value.",fixedArguments:[So,Oo],error:Ep,fixedReturns:[mp],argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},Rp={[j.Join]:Io,[j.Split]:Do,[j.GetLast]:Ao,[j.Append]:Ra};var bp=(n=>(n.ListOfFunctions="parallel-execution-list-of-functions-argument-declaration",n))(bp||{}),vp=(n=>(n.ListOfExecutionResults="parallel-execution-result-return-delaration",n.Error="parallel-execution-error-return-delaration",n))(vp||{});const gp={id:"parallel-execution-list-of-functions-blueprint-id",type:r.ActionDescriptor,version:1,name:"Action to execute",description:"An action of any type, to be executed. It can contain any number of inputs and outputs.",argumentsType:L.Dynamic,dynamicArgumentTypes:null,fixedArguments:[],returnsType:L.Dynamic,dynamicReturnTypes:null,fixedReturns:[],error:null,parent:null},Ip={type:r.GenericReference,id:"3bd4aeb2-e3b7-4120-b289-011ebb03dba5",entityId:"parallel-execution-list-of-functions-argument-declaration",entityType:r.ValueDescriptor},Pp={id:"parallel-execution-list-of-functions-argument-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:gp,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Ip},Dp={type:r.GenericReference,id:"da5e9fe9-f18a-49e3-98e5-c1bf7b9b3153",entityId:"parallel-execution-result-return-delaration",entityType:r.ValueDescriptor},Ap={id:"b761acec-0755-4582-a68b-76267038bbe1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Dp},Sp={type:r.GenericReference,id:"a6c14305-d4f7-43ae-9d5e-b7dbacdc830a",entityId:Ie.Parallel,entityType:r.ActionDescriptor},Co={id:"parallel-execution-list-of-functions-argument-declaration",type:r.ValueDescriptor,version:1,name:"Actions to execute",description:"A value, of a list of actions to be executed in parallel",dataType:Pp,required:!0,index:0,parent:Sp,parentRelationType:C.FixedArguments},Op={type:r.GenericReference,id:"caac2bc7-c23c-4f01-9581-a515c2e4637f",entityId:Ie.Parallel,entityType:r.ActionDescriptor},Bo={id:"parallel-execution-result-return-delaration",type:r.ValueDescriptor,version:1,name:"List of execution results",description:"Each execution result, in the same order as the input list of actions. One item on this list for each executed action.",dataType:Ap,required:!0,index:0,parent:Op,parentRelationType:C.FixedReturns},Cp={type:r.GenericReference,id:"parallel-execution-operation-error-parent-ref",entityId:Ie.Parallel,entityType:r.ActionDescriptor},Bp={id:"parallel-execution-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Cp,parentRelationType:C.ReturnedError},$t={id:Ie.Parallel,type:r.ActionDescriptor,description:"Execute a list of actions in parallel",version:1,name:Ie.Parallel,fixedArguments:[Co],fixedReturns:[Bo],argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,error:Bp,parent:null};var wp=(n=>(n.MillisecondsNumber="wait-milliseconds-number-argument-declaration",n))(wp||{}),_p=(n=>(n.Error="wait-operation-error-return-delaration",n))(_p||{});const Mp={type:r.GenericReference,id:"3bd4aeb2-e3b7-4120-b289-011ebb03dba5",entityType:r.ValueDescriptor,entityId:"wait-milliseconds-number-argument-declaration"},Np={id:"wait-milliseconds-number-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Mp},$p={type:r.GenericReference,id:"a6c14305-d4f7-43ae-9d5e-b7dbacdc830a",entityType:r.ActionDescriptor,entityId:Ie.Wait},Un={id:"wait-milliseconds-number-argument-declaration",type:r.ValueDescriptor,version:1,name:"Milliseconds to wait",description:"The amount of milliseconds to wait before calling the next entity",dataType:Np,required:!0,index:0,parent:$p,parentRelationType:C.FixedArguments},Vp={type:r.GenericReference,id:"wait-operation-error-parent-ref",entityId:Ie.Wait,entityType:r.ActionDescriptor},Lp={id:"wait-operation-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Vp,parentRelationType:C.ReturnedError},ot={id:Ie.Wait,type:r.ActionDescriptor,description:"Wait for the given amount of milliseconds before calling the next entity",version:1,name:Ie.Wait,fixedArguments:[Un],fixedReturns:[],error:Lp,argumentsType:L.Fixed,returnsType:L.None,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var Gp=(n=>(n.ListOfFunctions="sequential-execution-list-of-functions-argument-declaration",n))(Gp||{}),Fp=(n=>(n.ListOfExecutionResults="sequential-execution-result-return-delaration",n.Error="sequential-execution-error-return-delaration",n))(Fp||{});const Up={id:"sequential-execution-list-of-functions-blueprint-id",type:r.ActionDescriptor,version:1,name:"Action to execute",description:"An action of any type, to be executed. It can contain any number of inputs and outputs.",argumentsType:L.Dynamic,dynamicArgumentTypes:null,fixedArguments:[],returnsType:L.Dynamic,dynamicReturnTypes:null,fixedReturns:[],error:null,parent:null},xp={type:r.GenericReference,id:"parallel-execution-list-of-functions-argument-declaration-id",entityId:"sequential-execution-list-of-functions-argument-declaration",entityType:r.ValueDescriptor},jp={id:"sequential-execution-list-of-functions-argument-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Up,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:xp},kp={type:r.GenericReference,id:"sequential-execution-list-of-execution-results-return-declaration-id",entityId:"sequential-execution-result-return-delaration",entityType:r.ValueDescriptor},qp={id:"sequential-execution-list-of-execution-results-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:kp},Jp={type:r.GenericReference,id:"parallel-execution-operation-list-of-functions-argument-parent-ref",entityId:Ie.Sequential,entityType:r.ActionDescriptor},wo={id:"sequential-execution-list-of-functions-argument-declaration",type:r.ValueDescriptor,version:1,name:"Actions to execute",description:"A value, of a list of actions to be executed in parallel",dataType:jp,required:!0,index:0,parent:Jp,parentRelationType:C.FixedArguments},Wp={type:r.GenericReference,id:"parallel-execution-operation-list-of-execution-results-return-parent-ref",entityId:Ie.Sequential,entityType:r.ActionDescriptor},_o={id:"sequential-execution-result-return-delaration",type:r.ValueDescriptor,version:1,name:"List of execution results",description:"Each execution result, in the same order as the input list of actions. One item on this list for each executed action.",dataType:qp,required:!0,index:0,parent:Wp,parentRelationType:C.FixedReturns},Hp={type:r.GenericReference,id:"sequential-execution-operation-error-parent-ref",entityId:Ie.Sequential,entityType:r.ActionDescriptor},Yp={id:"sequential-execution-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Hp,parentRelationType:C.ReturnedError},tn={id:Ie.Sequential,type:r.ActionDescriptor,description:"Execute a list of actions one after the other",version:1,name:Ie.Sequential,fixedArguments:[wo],fixedReturns:[_o],error:Yp,returnsType:L.Fixed,argumentsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},zp={[Ie.Parallel]:$t,[Ie.Wait]:ot,[Ie.Sequential]:tn};var Zp=(n=>(n.EntityToInstanciate="entity-to-instanciate-argument-declaration",n))(Zp||{}),Xp=(n=>(n.Error="create-new-instance-error-return-delaration",n))(Xp||{});const Qp={type:r.GenericReference,id:"entity-to-instanciate-argument-declaration-ref",entityType:r.ValueDescriptor,entityId:"entity-to-instanciate-argument-declaration"},Kp={id:"entity-to-instanciate-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Qp},ey={type:r.GenericReference,id:"create-new-instance-operation-ref",entityType:r.ActionDescriptor,entityId:Ze.CreateNewInstance},ty={id:"entity-to-instanciate-argument-declaration",type:r.ValueDescriptor,version:1,name:"Entity to create a new copy of",description:"The entity of which a new copy will to be created",dataType:Kp,required:!0,parentRelationType:C.FixedArguments,index:0,parent:ey},ny={type:r.GenericReference,id:"create-new-instance-output-entity-declaration-parent-ref",entityId:Ze.CreateNewInstance,entityType:r.ActionDescriptor},ry={parentRelationType:C.FixedReturns,id:"create-new-instance-output-entity-declaration",type:r.ValueDescriptor,version:1,dataType:null,name:"Created entity",description:"The entity that was created",parent:ny,required:!0,index:0},iy={type:r.GenericReference,id:"create-new-instance-error-parent-ref",entityId:Ze.CreateNewInstance,entityType:r.ActionDescriptor},ay={parentRelationType:C.FixedReturns,id:"create-new-instance-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:iy},Or={id:Ze.CreateNewInstance,type:r.ActionDescriptor,description:"Creates a new copy of a given entity, with the given values for each property, or default values if a value is not provided",version:1,name:Ze.CreateNewInstance,fixedArguments:[ty],fixedReturns:[ry],error:ay,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var sy=(n=>(n.EntityToMatchType="validate-data-operation-entity-to-match-type-argument-declaration",n.DataToValidate="validate-data-operation-data-to-validate-argument-declaration",n))(sy||{}),oy=(n=>(n.Error="validate-data-error-return-delaration",n.OutputEntity="validate-data-output-entity-declaration",n))(oy||{});const ly={type:r.GenericReference,id:"validate-data-operation-data-to-validate-argument-declaration-ref",entityType:r.ValueDescriptor,entityId:"validate-data-operation-data-to-validate-argument-declaration"},cy={id:"validate-data-operation-data-to-validate-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:ly},dy={type:r.GenericReference,id:"validate-data-operation-data-to-validate-argument-parent-ref",entityType:r.ActionDescriptor,entityId:Ze.Validate},uy={id:"validate-data-operation-data-to-validate-argument-declaration",type:r.ValueDescriptor,version:1,name:"Data to validate",description:"The value to validate against the given entity type",dataType:cy,required:!0,parentRelationType:C.FixedArguments,index:0,parent:dy},py={type:r.GenericReference,id:"validate-data-operation-entity-to-match-type-argument-declaration-ref",entityType:r.ValueDescriptor,entityId:"validate-data-operation-entity-to-match-type-argument-declaration"},yy={id:"validate-data-operation-entity-to-match-type-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!0,isNullable:!1,defaultValue:null,constant:!1,parent:py},hy={type:r.GenericReference,id:"validate-data-operation-entity-to-match-type-argument-parent-ref",entityType:r.ActionDescriptor,entityId:Ze.Validate},fy={id:"validate-data-operation-entity-to-match-type-argument-declaration",type:r.ValueDescriptor,version:1,name:"Entity to match",description:"The entity to match the data against",dataType:yy,required:!0,index:0,parentRelationType:C.FixedArguments,parent:hy},my={type:r.GenericReference,id:"validate-data-operation-output-entity-declaration-parent-ref",entityId:Ze.Validate,entityType:r.ActionDescriptor},Ty={id:"validate-data-output-entity-declaration",type:r.ValueDescriptor,version:1,dataType:null,name:"Output value",description:"A value with the type of the entity that was validated",parent:my,required:!0,index:0,parentRelationType:C.FixedReturns},Ey={type:r.GenericReference,id:"wait-operation-error-parent-ref",entityId:Ze.Validate,entityType:r.ActionDescriptor},Ry={id:"validate-data-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Ey,parentRelationType:C.ReturnedError},xn={id:Ze.Validate,type:r.ActionDescriptor,description:"Validates the given data to see if it matches the structure of a given type/entity",version:1,name:Ze.Validate,fixedArguments:[fy,uy],fixedReturns:[Ty],error:Ry,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},by={[Ze.CreateNewInstance]:Or,[Ze.Validate]:xn};var Mo=(n=>(n.ActionOngoingProcessOutputValue="action-ongoing-process-output-value-descriptor-id",n))(Mo||{});const Ve={[r.ValueDescriptor]:{"action-ongoing-process-output-value-descriptor-id":{id:"action-ongoing-process-output-value-descriptor-id",dataType:{id:"process-output-value-data-type-id"}}},[r.BuiltInBaseEntity]:{[_.KEY_VALUE_PARAM]:{id:_.KEY_VALUE_PARAM},[_.HTTP_ENDPOINT]:{id:_.HTTP_ENDPOINT,properties:{method:"http-endpoint-built-in-method-property-id",path:"http-endpoint-built-in-path-property-id",cors:"http-endpoint-built-in-cors-property-id"}},[_.PERSISTED_ENTITY]:{id:_.PERSISTED_ENTITY,properties:{database:"persisted-built-in-base-entity-database-property-id",identifier:"persisted-built-in-base-entity-identifier-property-id"}},[_.RELATIONAL_DATABASE]:{id:_.RELATIONAL_DATABASE,properties:{identifier:"relational-database-built-in-base-entity-identifier-property-id",username:"relational-database-built-in-base-entity-username-property-id",password:"relational-database-built-in-base-entity-password-property-id",minSize:"relational-database-built-in-base-entity-min-size-property-id",default:"relational-database-built-in-base-entity-default-property-id"}},[_.CRON_JOB]:{id:_.CRON_JOB,properties:{expression:"cron-job-built-in-base-entity-expression-property-id"}}},[r.Operation]:{[ge.Join]:{id:ge.Join,inputs:{first:"join-string-first-string-input-id",second:"join-string-second-string-input-id"},outputs:{result:"join-string-result-string-return-delaration-id",error:"join-string-error-return-delaration-id"}},[Ye.HttpRequest]:{id:Ye.HttpRequest,inputs:{url:"http-request-url-input-id",query:"http-request-query-input-id",method:"http-request-method-input-id",headers:"http-request-headers-input-id",body:"http-request-body-string-input-id"},outputs:{code:"http-response-code-return-delaration-id",body:"http-response-body-return-delaration-id",headers:"http-response-headers-return-delaration-id",error:"http-request-error-return-delaration-id"}}},[r.Loop]:{[je.List]:{id:je.List,inputs:{list:"iterate-over-list-loop-list-input-id"},outputs:{results:"iterate-over-list-loop-output-id"}},[je.ManualFlow]:{id:je.ManualFlow,inputs:{},outputs:{results:"manual-flow-loop-output-id"}}},[r.Condition]:{[Ae.MoreThanOrEqual]:{id:Ae.MoreThanOrEqual,inputs:{leftHand:"condition-more-than-or-equal-left-hand-input-id",rightHand:"condition-more-than-or-equal-right-hand-input-id"}},[Ct.NotEmpty]:{id:Ct.NotEmpty,inputs:{leftHand:"condition-not-empty-input-id"}}},[r.GlobalEvent]:{[Kt.PROJECT_PUBLICATION_COMPLETED]:{id:Kt.PROJECT_PUBLICATION_COMPLETED}}},Je=Ve[r.Operation]["base-http-request"],vy={type:r.GenericReference,id:"d87cf943-57e1-4d19-9f05-190fa8c8ebc4",entityType:r.DataType,entityId:"0deb4ef7-d739-4ddc-a4d6-50bd6fababe3"},gy={id:"http-request-url-default-value-id",type:r.PrimitiveValue,version:1,value:"https://some-url.com",name:g.String,valueAsType:null,parent:vy,autogeneration:null},Iy={type:r.GenericReference,id:"aed50d73-eab5-42ce-b00e-7f5c45a9026f",entityId:Je.inputs.url,entityType:r.ValueDescriptor},Py={id:"0deb4ef7-d739-4ddc-a4d6-50bd6fababe3",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:gy,constant:!1,parent:Iy},Dy={type:r.GenericReference,id:"c3145af6-3387-464a-8887-272e483c856d",entityId:Je.inputs.query,entityType:r.ValueDescriptor},Ay={id:"2a5ba737-6335-4cc4-a2c0-16dca4052fac",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Dy},Sy={type:r.GenericReference,id:"075556b7-e468-48f7-8485-7159eaf389b2",entityType:r.DataType,entityId:"6df7ec2b-5dbd-44af-896b-17b314e88560"},Oy={id:"http-request-method-default-value-id",type:r.PrimitiveValue,version:1,value:"GET",name:g.Enum,valueAsType:null,parent:Sy,autogeneration:null},Cy={type:r.GenericReference,id:"aed647c8-a1b5-4cfc-9a3d-97887a567a80",entityId:Je.inputs.method,entityType:r.ValueDescriptor},By={id:"6df7ec2b-5dbd-44af-896b-17b314e88560",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rn,isList:!1,asType:!1,isNullable:!1,defaultValue:Oy,options:["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","TRACE","CONNECT","CUSTOM"],constant:!1,parent:Cy},wy={type:r.GenericReference,id:"77203dfa-d2f6-4804-9556-e1cce46228f3",entityId:Je.inputs.headers,entityType:r.ValueDescriptor},_y={id:"2c8a2a07-69c6-40ad-b5c9-f0dc4d5955ce",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:wy},My={type:r.GenericReference,id:"03db68a0-7ab6-4c6a-85b6-f4b95ebb53ff",entityId:Je.inputs.body,entityType:r.ValueDescriptor},Ny={id:"0397876c-ed54-4ee9-85a4-04fd16dad973",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:My},$y={type:r.GenericReference,id:"182f767f-50e8-4394-ba5f-43e78c232733",entityType:r.ValueDescriptor,entityId:Je.outputs.code},Vy={id:"45e6d0bc-0c0e-4059-a7a1-6bee925d73d0",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:$y},Ly={type:r.GenericReference,id:"2baaa53a-9aef-4bd1-b06d-967c17b7b627",entityType:r.DataType,entityId:"dac63bfa-640d-4f4e-ba0f-86c2401bcfbe"},Gy={type:r.GenericReference,id:"69f34d6c-c686-4165-b6ff-70dae8e1778b",entityType:r.ValueDescriptor,entityId:Je.outputs.headers},Fy={id:"dac63bfa-640d-4f4e-ba0f-86c2401bcfbe",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"http-response-headers-default-value-id",type:r.PrimitiveValue,version:1,value:{},name:g.JSON,parent:Ly,valueAsType:null,autogeneration:null},constant:!1,parent:Gy},Uy={type:r.GenericReference,id:"744334e0-5135-4214-85d0-809437cb620b",entityType:r.DataType,entityId:"05fc1a5d-151a-479a-9c4e-4063f3456177"},xy={type:r.GenericReference,id:"0e0e20df-1a46-432c-ba01-fd96508a6a61",entityType:r.ValueDescriptor,entityId:Je.outputs.body},jy={id:"05fc1a5d-151a-479a-9c4e-4063f3456177",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"http-response-body-default-value-id",type:r.PrimitiveValue,version:1,value:{},name:g.JSON,parent:Uy,valueAsType:null,autogeneration:null},constant:!1,parent:xy},ky={type:r.GenericReference,id:"26911792-f707-4bf1-b6f7-03d04a84232c",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},ba={id:Je.inputs.method,type:r.ValueDescriptor,description:"A single word that represents the type of request you want to make. For example: GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD, TRACE, CONNECT, CUSTOM",version:1,name:"Method",dataType:By,required:!1,index:0,parentRelationType:C.FixedArguments,parent:ky},qy={type:r.GenericReference,id:"eee0c501-0ae6-4448-b914-aada76d63163",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},va={id:Je.inputs.url,type:r.ValueDescriptor,description:"The base domain, or address where the request is being sent to. For example: https://some-url.com",version:1,name:"URL",dataType:Py,required:!1,index:1,parentRelationType:C.FixedArguments,parent:qy},Jy={type:r.GenericReference,id:"670091a4-21b1-4223-ad4c-b6dada0aec49",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},No={id:Je.inputs.query,type:r.ValueDescriptor,description:"A text with standarized format, without spaces that is added at the end of the URL path, after the ? character. It contains data that might be used to process the request. For example: /api/users?name=John&age=30",version:1,name:"Query Params",dataType:Ay,required:!1,index:2,parentRelationType:C.FixedArguments,parent:Jy},Wy={type:r.GenericReference,id:"85aad3eb-22fe-45f9-b68c-1dc7061f41e0",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},ga={id:Je.inputs.headers,type:r.ValueDescriptor,description:"A set of any properties, with names and values that represent metadata about the request, such as the server, date, content type, and more, that you want to send alongside your request data.",version:1,name:"Headers",dataType:_y,required:!1,index:3,parent:Wy,parentRelationType:C.FixedArguments},Hy={type:r.GenericReference,id:"c3e2a4af-9b84-4574-8b30-5044ffc51776",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},Ia={id:Je.inputs.body,type:r.ValueDescriptor,description:"The main data payload of the request. This is the data that you want to send to the server. It could be anything, but it is usually a JSON data structure or a text value.",version:1,name:"Body",dataType:Ny,required:!1,index:4,parentRelationType:C.FixedArguments,parent:Hy},Yy={type:r.GenericReference,id:"92e04dc7-2145-4a31-908e-03810f7235e8",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},$o={id:Je.outputs.code,type:r.ValueDescriptor,description:'A standardized status code of the response. It is a 3-digit number that represents the response status. For example, 200 means "OK", 404 means "Not Found", and 500 means "Internal Server Error".',version:1,name:"Code",dataType:Vy,required:!0,index:0,parentRelationType:C.FixedReturns,parent:Yy},zy={type:r.GenericReference,id:"86aca556-bbf1-4679-9909-31db61b288e2",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},Pa={parentRelationType:C.FixedReturns,id:Je.outputs.headers,type:r.ValueDescriptor,description:"A set of any properties, with names and value that the server sent back to you. It represents metadata about the response, such as the server, date, content type, and more.",version:1,name:"Headers",dataType:Fy,required:!0,index:1,parent:zy},Zy={type:r.GenericReference,id:"ccf3d1be-04e4-4d03-99fd-5bc1e1919f90",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},yi={parentRelationType:C.FixedReturns,id:Je.outputs.body,type:r.ValueDescriptor,description:"The main data payload of the response. This is the data that the server sent back to you. It could be anything, but it is usually a JSON data structure or a text value.",version:1,name:"Body",dataType:jy,required:!0,index:2,parent:Zy},Xy={type:r.GenericReference,id:"21487ffc-82b9-473d-bc19-6e7d7c480ed7",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},Qy={type:r.GenericReference,id:"ad69861b-32f7-4461-b7f7-aa84a82578d9",entityType:r.ValueDescriptor,entityId:Je.outputs.error},Ky={id:"5da68b15-57bc-40c1-b79f-a9075e0f22c1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,isList:!1,asType:!1,isNullable:!1,constant:!1,defaultValue:null,parent:Qy},Vo={parentRelationType:C.ReturnedError,id:Je.outputs.error,type:r.ValueDescriptor,description:"Http request error, if any. Contains a payload describing what went wrong.",version:1,name:"Error",dataType:Ky,required:!0,index:0,parent:Xy},hi={type:r.ActionDescriptor,id:Ye.HttpRequest,name:Ye.HttpRequest,description:"Make an HTTP request, out to the internet, to a given URL with the specified method, query parameters, headers, and body.",version:1,fixedArguments:[ba,va,No,ga,Ia],fixedReturns:[$o,Pa,yi],argumentsType:L.Fixed,returnsType:L.Fixed,error:Vo,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},eh={[Ye.HttpRequest]:hi},Kg={...pu,...Qd,...Rp,...zp,...by,...eh},th=Ve[r.Loop]["list-loop"],nh={id:"iterate-over-list-loop-return-declaration-parent-ref-id",type:r.GenericReference,entityId:je.List,entityType:r.ActionDescriptor},rh={id:th.outputs.results,type:r.ValueDescriptor,version:1,name:"Results",description:"List of results from the loop. One item in the list for each iteration of the loop.",dataType:null,required:!0,index:0,parent:nh,parentRelationType:C.FixedReturns},ih={id:"iterate-over-list-loop-list-argument-declaration-data-type-parent-ref-id",type:r.GenericReference,entityId:"iterate-over-list-loop-list-argument-declaration-id",entityType:r.ArgumentDeclaration},ah={id:"iterate-over-list-loop-list-argument-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!0,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:ih},sh={id:"iterate-over-list-loop-list-argument-declaration-parent-ref-id",type:r.GenericReference,entityId:je.List,entityType:r.ActionDescriptor},oh={id:th.inputs.list,type:r.ValueDescriptor,version:1,name:"List",description:"The list to iterate over",required:!0,dataType:ah,index:0,parent:sh,parentRelationType:C.FixedArguments},jn={id:je.List,type:r.ActionDescriptor,version:1,name:je.List,description:"Iterates over a list of entities",fixedArguments:[oh],fixedReturns:[rh],error:null,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},eI=Ve[r.Loop]["list-loop"],lh={id:"manual-flow-loop-previous-iterations-results-declaration-data-type-parent-ref-id",type:r.GenericReference,entityId:"manual-flow-loop-previous-iterations-results-declaration-id",entityType:r.ReturnDeclaration},ch={id:"manual-flow-loop-previous-iterations-results-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!0,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:lh},dh={id:"manual-flow-loop-previous-iterations-results-declaration-parent-ref-id",type:r.GenericReference,entityId:je.ManualFlow,entityType:r.ActionDescriptor},uh={id:eI.outputs.results,type:r.ValueDescriptor,version:1,name:"Results",description:"List of results from the loop. One item in the list for each iteration of the loop.",dataType:ch,required:!0,index:1,parentRelationType:C.FixedReturns,parent:dh},Lo={id:je.ManualFlow,type:r.ActionDescriptor,version:1,name:je.ManualFlow,description:"A loop that is manually controlled by the continue and break statements. It runs until the break statement is called, and it can skip to the next iteration with the continue statement.",fixedArguments:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,fixedReturns:[uh],argumentsType:L.None,returnsType:L.Fixed,error:null,parent:null},Da=Ve[r.BuiltInBaseEntity][_.KEY_VALUE_PARAM],tI={id:"key-value-param-built-in-base-entity-name-property-data-type-ref",type:r.GenericReference,entityId:"key-value-param-built-in-base-entity-name-property-data-type",entityType:r.DataType},ph={id:"key-value-param-built-in-base-entity-name-property-ref",type:r.GenericReference,entityId:"key-value-param-built-in-base-entity-name-property",entityType:r.Property},nI={id:"key-value-param-built-in-base-entity-name-property-data-type",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:F,asType:!1,defaultValue:null,parent:ph},yh={id:"key-value-param-built-in-base-entity-name-property-parent-ref",type:r.GenericReference,entityId:Da.id,entityType:r.BuiltInBaseEntity},hh={required:!0,id:"key-value-param-built-in-base-entity-name-property",name:"Parameter name",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:nI,description:"The name of the path parameter",parent:yh},rI={id:"key-value-param-built-in-base-entity-value-property-data-type-ref",type:r.GenericReference,entityId:"key-value-param-built-in-base-entity-value-property-data-type",entityType:r.DataType},fh={id:"key-value-param-built-in-base-entity-value-property-ref",type:r.GenericReference,entityId:"key-value-param-built-in-base-entity-value-property",entityType:r.Property},iI={id:"key-value-param-built-in-base-entity-value-property-data-type",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:F,asType:!1,defaultValue:null,parent:fh},mh={id:"key-value-param-built-in-base-entity-value-property-parent-ref",type:r.GenericReference,entityId:Da.id,entityType:r.BuiltInBaseEntity},Th={required:!0,id:"key-value-param-built-in-base-entity-value-property",name:"Parameter Value",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:1,dataType:iI,description:"The value of the path parameter",parent:mh},Aa={id:Da.id,version:1,description:'An entity with a "name" and "value" property representing a breakdown of a key-value pair.',name:Da.id,type:r.BuiltInBaseEntity,abstract:!1,static:!1,interactive:!0,properties:[hh,Th],abstractMethods:[],methods:[],extends:[]},fi=Ve[r.BuiltInBaseEntity][_.HTTP_ENDPOINT].properties,Eh={id:"endpointBuiltInCorsPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointBuiltInCorsPropertyDataType"},Rh={id:"endpointBuiltInCorsPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:fi.cors},bh={id:"endpointBuiltInCorsPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"endpointBuiltInCorsPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:["*"],parent:Eh,autogeneration:null,valueAsType:null},parent:Rh},vh={id:"endpointBuiltInBaseEntityRef",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},gh={required:!0,id:fi.cors,name:"Allowed origins",version:1,type:r.Property,private:!1,abstract:!0,implements:null,static:!0,index:0,dataType:bh,description:"The origins that are allowed to access this endpoint, use * for all origins, or http://example.com/* to be as specific as you need.",parent:vh},Ih={id:"endpointBuiltInPathPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointBuiltInPathPropertyDataType"},Ph={id:"endpointBuiltInPathPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:fi.path},Dh={id:"endpointBuiltInPathPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"endpointBuiltInPathPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.String,value:"/",parent:Ih,autogeneration:null,valueAsType:null},parent:Ph},Ah={id:"endpointBuiltInBaseEntityRefTwo",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},Go={required:!0,id:fi.path,name:"Path",version:1,type:r.Property,private:!1,abstract:!0,implements:null,static:!0,index:1,dataType:Dh,description:"Path to the endpoint, for example /api/users, or /api/users/{id}, or /api/users/{id}/:name. The path can contain parameters, which are defined by curly braces, and will be passed to the endpoint event as variables with the same name.",parent:Ah},Sh={id:"endpointBuiltInMethodPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointBuiltInMethodPropertyDataType"},Oh={id:"endpointBuiltInMethodPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:"endpointBuiltInMethodProperty"},Ch={id:"endpointBuiltInMethodPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Rn,isList:!0,isNullable:!1,constant:!0,asType:!1,defaultValue:{id:"endpointBuiltInMethodPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,value:"GET",name:g.Enum,parent:Sh,autogeneration:null,valueAsType:null},options:["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","TRACE","CONNECT","CUSTOM"],parent:Oh},Bh={id:"endpointBuiltInBaseEntityRefThree",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},Fo={required:!0,id:fi.method,name:"Method",version:1,type:r.Property,private:!1,index:2,implements:null,abstract:!0,static:!0,dataType:Ch,description:"The HTTP method that this endpoint will respond to, for example GET, POST, PUT, DELETE, etc.",parent:Bh},wh={id:"endpointRequestHeadersVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointRequestHeadersVariableDataType"},_h={id:"endpointRequestHeadersArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"endpointRequestHeadersArgumentDeclaration"},Mh={id:"endpointRequestHeadersVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Xe,asType:!1,defaultValue:{id:"endpointRequestHeadersVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:wh,autogeneration:null,valueAsType:null},parent:_h},Nh={id:"endpointRequestBodyArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"endpointRequestBodyArgumentDeclaration"},$h={id:"endpointRequestBodyVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:Xe,defaultValue:null,parent:Nh},Vh={id:"endpointRequestQueryParamsVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointRequestQueryParamsVariableDataType"},Lh={id:"endpointRequestQueryParamsArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"endpointRequestQueryParamsArgumentDeclaration"},Gh={id:"endpointRequestQueryParamsVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,asType:!1,entity:Aa,defaultValue:{id:"endpointRequestQueryParamsVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:[],parent:Vh,autogeneration:null,valueAsType:null},parent:Lh},Fh={id:"endpointPathParamsVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointPathParamsVariableDataType"},Uh={id:"endpointPathParamsArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"endpointPathParamsArgumentDeclaration"},xh={id:"endpointPathParamsVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Aa,asType:!1,defaultValue:{id:"endpointPathParamsVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:[],parent:Fh,autogeneration:null,valueAsType:null},parent:Uh},jh={id:"endpointReachedTriggerActionDescriptorRef",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},kh={id:"endpointRequestHeadersArgumentDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the request.",type:r.ValueDescriptor,name:"Request headers",dataType:Mh,required:!0,index:0,parentRelationType:C.FixedArguments,parent:jh},qh={id:"endpointReachedTriggerActionDescriptorRefTwo",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},Jh={id:"endpointPathParamsArgumentDeclaration",type:r.ValueDescriptor,description:"A standarized text, without spaces that is added at the end of the domain and routes the request to a specific resource within the target server. For example: /api/users/123, /api/users/123/:name, /api/users/123/:name/:age.",version:1,name:"Path parameters",dataType:xh,required:!0,index:1,parentRelationType:C.FixedArguments,parent:qh},Wh={id:"endpointReachedTriggerActionDescriptorRefThree",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},Hh={id:"endpointRequestQueryParamsArgumentDeclaration",version:1,description:"A text with standarized format, without spaces that is added at the end of the URL path, after the ? character. It contains data that might be used to process the request. For example: /api/users?name=John&age=30",type:r.ValueDescriptor,name:"Request query params",dataType:Gh,required:!0,index:2,parentRelationType:C.FixedArguments,parent:Wh},Yh={id:"endpointReachedTriggerActionDescriptorRefFour",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},zh={id:"endpointRequestBodyArgumentDeclaration",version:1,description:"The main data payload of the request.",type:r.ValueDescriptor,name:"Request body",dataType:$h,index:3,required:!0,parentRelationType:C.FixedArguments,parent:Yh},Zh={id:"endpointResponseCodeReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"endpointResponseCodeReturnDeclaration"},Xh={id:"9ba575b0-6f8e-436d-a3de-3b843622aa17",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Zh},Qh={id:"endpointReturnStatementRef",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReturnStatement"},Kh={id:"endpointResponseCodeReturnDeclaration",version:1,description:"A standarized number that represents the status of the response. 200 for OK, 404 for not found, 500 for server error, etc.",type:r.ValueDescriptor,name:"Response code",dataType:Xh,required:!0,index:0,parentRelationType:C.FixedReturns,parent:Qh},ef={id:"endpointResponseHeadersDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointResponseHeadersDataType"},tf={id:"endpointResponseHeadersReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"endpointResponseHeadersReturnDeclaration"},nf={id:"endpointResponseHeadersDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Xe,asType:!1,defaultValue:{id:"endpointResponseHeadersDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:ef,autogeneration:null,valueAsType:null},parent:tf},rf={id:"endpointReturnStatementRefTwo",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReturnStatement"},af={id:"endpointResponseHeadersReturnDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the response.",type:r.ValueDescriptor,name:"Response headers",dataType:nf,required:!1,index:1,parentRelationType:C.FixedReturns,parent:rf},sf={id:"endpointResponseBodyReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"endpointResponseBodyReturnDeclaration"},of={id:"endpointResponseBodyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:Xe,defaultValue:null,parent:sf},lf={id:"endpointReturnStatementRefThree",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReturnStatement"},cf={id:"endpointResponseBodyReturnDeclaration",version:1,description:"The main data payload of the response.",type:r.ValueDescriptor,name:"Response body",dataType:of,required:!1,index:2,parentRelationType:C.FixedReturns,parent:lf},df={id:"endpointBuiltInBaseEntityRefFour",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},Uo={id:"endpointReachedTriggerActionDescriptor",type:r.ActionDescriptor,version:1,name:"Endpoint reached",description:"Fired when the endpoint is reached.",argumentsType:L.Fixed,dynamicArgumentTypes:null,fixedArguments:[kh,Jh,Hh,zh],returnsType:L.Fixed,fixedReturns:[Kh,af,cf],error:null,dynamicReturnTypes:null,parent:df},Sa={id:_.HTTP_ENDPOINT,version:1,description:"An HTTP endpoint that can be reached by a client from the internet.",name:_.HTTP_ENDPOINT,type:r.BuiltInBaseEntity,interactive:!1,abstract:!0,static:!0,properties:[gh,Go,Fo],abstractMethods:[Uo],extends:[],methods:[]},jt=Ve[r.BuiltInBaseEntity].BUILT_IN_RELATIONAL_DATABASE_ENTITY,uf={id:"relational-database-built-in-base-entity-identifier-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-identifier-property-data-type-id",entityType:r.DataType},pf={id:"relational-database-built-in-base-entity-identifier-property-ref-id",type:r.GenericReference,entityId:jt.properties.identifier,entityType:r.Property},aI={id:"relational-database-built-in-base-entity-identifier-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-identifier-property-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:null,parent:uf,autogeneration:{type:xe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:pf},Cr={id:"relational-database-built-in-base-entity-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},Oa={required:!0,id:jt.properties.identifier,name:"Identifier name",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:0,dataType:aI,description:"The name of the main database inside of the server instance where the data will be stored.",parent:Cr},sI={id:"relational-database-built-in-base-entity-username-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-username-property-data-type-idd",entityType:r.DataType},yf={id:"relational-database-built-in-base-entity-username-property-ref-id",type:r.GenericReference,entityId:jt.properties.username,entityType:r.Property},oI={id:"relational-database-built-in-base-entity-username-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-username-property-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:"postgres",parent:{id:"relational-database-built-in-base-entity-username-property-data-type-default-value-parent-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-username-property-data-type-id",entityType:r.DataType},autogeneration:null,valueAsType:null},parent:yf},Ca={required:!0,id:jt.properties.username,name:"Username",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:1,dataType:oI,description:"The username that will be used to connect to the database.",parent:Cr},lI={id:"relational-database-built-in-base-entity-password-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-password-property-data-type-id",entityType:r.DataType},hf={id:"relational-database-built-in-base-entity-password-property-ref-id",type:r.GenericReference,entityId:jt.properties.password,entityType:r.Property},cI={id:"relational-database-built-in-base-entity-password-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:hf},Ba={required:!0,id:jt.properties.password,name:"Password",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:2,dataType:cI,description:"The password that will be used to connect to the database.",parent:Cr},ff={id:"relational-database-built-in-base-entity-min-size-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-min-size-property-data-type-id",entityType:r.DataType},mf={id:"relational-database-built-in-base-entity-min-size-property-ref-id",type:r.GenericReference,entityId:jt.properties.minSize,entityType:r.Property},dI={id:"relational-database-built-in-base-entity-min-size-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Ce,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-min-size-property-default-value-id",type:r.PrimitiveValue,version:1,name:g.Number,value:6,parent:ff,autogeneration:null,valueAsType:null},parent:mf},wa={required:!0,id:jt.properties.minSize,name:"Minimum GB size",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:3,dataType:dI,description:"The minimum size of the database in GB.",parent:Cr},Tf={id:"relational-database-built-in-base-entity-default-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-default-property-data-type-id",entityType:r.DataType},Ef={id:"relational-database-built-in-base-entity-default-property-ref-id",type:r.GenericReference,entityId:jt.properties.default,entityType:r.Property},uI={id:"relational-database-built-in-base-entity-default-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Fn,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-default-property-default-value-id",type:r.PrimitiveValue,version:1,name:g.Boolean,value:!1,parent:Tf,autogeneration:null,valueAsType:null},parent:Ef},Rf={required:!0,id:jt.properties.default,name:"Default",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:4,dataType:uI,description:"If true, this database will be the default database for the server instance and all the new entities.",parent:Cr},bn={id:_.RELATIONAL_DATABASE,version:1,description:"This entity provisions a relational database in the cloud.",name:_.RELATIONAL_DATABASE,type:r.BuiltInBaseEntity,abstract:!0,static:!0,interactive:!1,properties:[Oa,Ca,Ba,wa,Rf],abstractMethods:[],methods:[],extends:[]},bf={type:r.GenericReference,entityId:"persisted-built-in-base-entity-ref-id",entityType:r.BuiltInBaseEntity,id:gt.DeletePersistedEntity},xo={type:r.FunctionDeclaration,id:gt.DeletePersistedEntity,name:gt.DeletePersistedEntity,description:"Permanently deletes the current copy of an entity from the database",version:1,parent:bf,inputs:[],calls:[],implements:null,collapsed:!1,returnStatements:[],index:0,private:!1,x:0,y:0},vf={type:r.GenericReference,entityId:"persisted-built-in-base-entity-ref-id",entityType:r.BuiltInBaseEntity,id:gt.SoftDeletePersistedEntity},gf={type:r.FunctionDeclaration,id:gt.SoftDeletePersistedEntity,name:gt.SoftDeletePersistedEntity,description:"Designates the entity as deleted, but does not remove it from the database.",version:1,parent:vf,inputs:[],calls:[],implements:null,collapsed:!1,returnStatements:[],index:0,private:!1,x:0,y:0},If=Ve[r.BuiltInBaseEntity][_.PERSISTED_ENTITY].properties,pI={id:"persisted-built-in-base-entity-database-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-database-property-data-type-id",entityType:r.DataType},Pf={id:"persisted-built-in-base-entity-database-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-database-property-id",entityType:r.Property},yI={id:"persisted-built-in-base-entity-database-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:bn,asType:!1,defaultValue:null,parent:Pf},Df={id:"persisted-built-in-base-entity-database-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},mi={required:!0,id:If.database,name:"Database",version:1,type:r.Property,private:!1,abstract:!0,implements:null,static:!0,index:0,dataType:yI,description:"The database that the entity belongs to.",parent:Df},Af={id:"persisted-built-in-base-entity-identifier-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-identifier-property-data-type-id",entityType:r.DataType},Sf={id:"persisted-built-in-base-entity-identifier-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-identifier-property-id",entityType:r.Property},hI={id:"persisted-built-in-base-entity-identifier-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:fa,asType:!1,defaultValue:{id:"persisted-built-in-base-entity-identifier-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.UUID,value:null,parent:Af,autogeneration:{type:xe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:Sf},Of={id:"persisted-built-in-base-entity-identifier-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},Cf={required:!0,id:If.identifier,name:"Identifier",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:hI,description:"Auto-generated unique identifier for the entity, can be used to identify the entity among other entities of the same type.",parent:Of},fI={id:"persisted-built-in-base-entity-deleted-at-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-deleted-at-property-data-type-id",entityType:r.DataType},Bf={id:"persisted-built-in-base-entity-deleted-at-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-deleted-at-property-id",entityType:r.Property},wf={id:"persisted-built-in-base-entity-deleted-at-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!0,constant:!1,entity:null,asType:!1,defaultValue:null,parent:Bf},_f={id:"persisted-built-in-base-entity-deleted-at-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},Mf={required:!0,id:"persisted-built-in-base-entity-deleted-at-property-id",name:"Deleted at",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:wf,description:"The date and time when the entity was deleted.",parent:_f},mI={id:"persisted-built-in-base-entity-created-at-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-created-at-property-data-type-id",entityType:r.DataType},Nf={id:"persisted-built-in-base-entity-created-at-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-created-at-property-id",entityType:r.Property},$f={id:"persisted-built-in-base-entity-created-at-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:Nf},Vf={id:"persisted-built-in-base-entity-created-at-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},Lf={required:!0,id:"persisted-built-in-base-entity-created-at-property-id",name:"Created at",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:$f,description:"The date and time when the entity was created.",parent:Vf},TI={id:"persisted-built-in-base-entity-updated-at-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-updated-at-property-data-type-id",entityType:r.DataType},Gf={id:"persisted-built-in-base-entity-updated-at-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-updated-at-property-id",entityType:r.Property},Ff={id:"persisted-built-in-base-entity-updated-at-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:Gf},Uf={id:"persisted-built-in-base-entity-updated-at-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},xf={required:!0,id:"persisted-built-in-base-entity-updated-at-property-id",name:"Updated at",version:1,type:r.Property,private:!1,implements:null,abstract:!1,static:!1,index:0,dataType:Ff,description:"The date and time when the entity was last updated.",parent:Uf},Be={id:_.PERSISTED_ENTITY,version:1,description:"An entity that is permanently stored in the database and can be accessed at any point.",name:_.PERSISTED_ENTITY,type:r.BuiltInBaseEntity,abstract:!0,static:!1,interactive:!0,abstractMethods:[],properties:[mi,Cf,Mf,Lf,xf],methods:[xo,gf],extends:[]},jf={id:"cron-job-triggered-function-declaration-blueprint-parent-ref-id",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},jo={id:"cron-job-triggered-function-declaration-blueprint-id",name:"Cron job triggered",version:1,type:r.ActionDescriptor,argumentsType:L.None,returnsType:L.None,description:"Executed when the cron job is triggered",fixedArguments:[],dynamicArgumentTypes:null,error:null,fixedReturns:[],dynamicReturnTypes:null,parent:jf},kf=Ve[r.BuiltInBaseEntity].BUILT_IN_CRON_JOB_ENTITY,EI={id:"cron-job-built-in-base-entity-expression-property-data-type-ref",type:r.GenericReference,entityId:"cron-job-built-in-base-entity-expression-property-data-type",entityType:r.DataType},qf={id:"cron-job-built-in-base-entity-expression-property-ref",type:r.GenericReference,entityId:kf.properties.expression,entityType:r.Property},RI={id:"cron-job-built-in-base-entity-expression-property-data-type",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:qf},Jf={id:"cron-job-built-in-base-entity-ref",type:r.GenericReference,entityId:_.CRON_JOB,entityType:r.BuiltInBaseEntity},Wf={required:!0,id:kf.properties.expression,name:"Cron expression",version:1,type:r.Property,private:!1,abstract:!0,implements:null,static:!0,index:0,dataType:RI,description:"The cron-job expression that defines when the cron-job job should be triggered. The expression should be in the format of a cron-job expression.",parent:Jf},ko={id:_.CRON_JOB,version:1,description:"This entity represents a scheduled trigger. The action on this entity will be executed one the time set by the cron-job expression is reached.",name:_.CRON_JOB,type:r.BuiltInBaseEntity,abstract:!0,static:!0,interactive:!1,properties:[Wf],methods:[],abstractMethods:[jo],extends:[]},Hf={type:r.GenericReference,id:"execution-built-in-entity-abort-method-parent-ref-id",entityType:r.BuiltInBaseEntity,entityId:"execution-built-in-entity-id"},qo={id:"execution-built-in-entity-abort-method-id",type:r.FunctionDeclaration,version:1,name:gt.AbortExecution,description:"Aborts the execution of the entity",inputs:[],returnStatements:[],calls:[],implements:null,private:!1,collapsed:!1,index:null,x:0,y:0,parent:Hf},Jo={id:_.EXECUTION,type:r.BuiltInBaseEntity,version:1,name:_.EXECUTION,description:"A reference to an ongoing execution of any entity that can be called. Eg: Operations, custom trigger calls, etc.",static:!1,abstract:!1,interactive:!0,extends:[],properties:[],methods:[qo],abstractMethods:[]},bI=Ve[r.Condition]["not-empty"],Yf={type:r.GenericReference,id:"not-empty-condition-ref",entityType:r.ActionDescriptor,entityId:Ct.NotEmpty},zf={id:bI.inputs.leftHand,type:r.ValueDescriptor,version:1,name:"Value",description:"The value to check if it is not empty",dataType:null,required:!0,parentRelationType:C.FixedArguments,index:0,parent:Yf},kn={type:r.ActionDescriptor,id:Ct.NotEmpty,version:1,name:Ct.NotEmpty,description:"Checks if the value is not empty",parent:null,fixedArguments:[zf],fixedReturns:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:L.Fixed,returnsType:L.None,error:null},Zf={[Ct.NotEmpty]:kn},Xf=Ve[r.Condition]["more-than-or-equal"],Qf={type:r.GenericReference,id:"more-than-or-equal-condition-left-hand-argument-parent-ref",entityType:r.ActionDescriptor,entityId:Ae.MoreThanOrEqual},Kf={id:Xf.inputs.leftHand,type:r.ValueDescriptor,version:1,name:"First value",description:"The first value to compare",dataType:null,required:!0,parentRelationType:C.FixedArguments,index:0,parent:Qf},em={type:r.GenericReference,id:"more-than-or-equal-condition-right-hand-argument-parent-ref",entityType:r.ActionDescriptor,entityId:Ae.MoreThanOrEqual},tm={id:Xf.inputs.rightHand,type:r.ValueDescriptor,version:1,name:"Second value",description:"The second value to compare",dataType:null,required:!0,parentRelationType:C.FixedArguments,index:1,parent:em},Br={type:r.ActionDescriptor,id:Ae.MoreThanOrEqual,version:1,name:Ae.MoreThanOrEqual,description:"Checks if the value is not empty",parent:null,fixedArguments:[Kf,tm],fixedReturns:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:L.Fixed,returnsType:L.None,error:null},nm={[Ae.MoreThanOrEqual]:Br},vI={...Zf,...nm},_a={type:r.ActionDescriptor,id:Kt.PROJECT_PUBLICATION_COMPLETED,version:1,name:Kt.PROJECT_PUBLICATION_COMPLETED,description:"The event that is triggered when the project has completed its publication and all its code and resurces are now deployed and ready to be used by the users",parent:null,fixedArguments:[],fixedReturns:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:L.None,returnsType:L.None,error:null},gI={[Kt.PROJECT_PUBLICATION_COMPLETED]:_a},Wo=Ve[r.ValueDescriptor][Mo.ActionOngoingProcessOutputValue],rm={type:r.GenericReference,id:"182f767f-50e8-4394-ba5f-43e78c232733",entityType:r.ValueDescriptor,entityId:Wo.id},im={id:Wo.dataType.id,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Jo,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:rm},Ho={id:Wo.id,type:r.ValueDescriptor,description:"A value that represents the ongoing process of the parent action",version:1,name:"Process",dataType:im,required:!0,index:0,parent:null,parentRelationType:C.OngoingProcessExecution};var Y;(function(n){n.assertEqual=a=>a;function e(a){}n.assertIs=e;function t(a){throw new Error}n.assertNever=t,n.arrayToEnum=a=>{const s={};for(const o of a)s[o]=o;return s},n.getValidEnumValues=a=>{const s=n.objectKeys(a).filter(u=>typeof a[a[u]]!="number"),o={};for(const u of s)o[u]=a[u];return n.objectValues(o)},n.objectValues=a=>n.objectKeys(a).map(function(s){return a[s]}),n.objectKeys=typeof Object.keys=="function"?a=>Object.keys(a):a=>{const s=[];for(const o in a)Object.prototype.hasOwnProperty.call(a,o)&&s.push(o);return s},n.find=(a,s)=>{for(const o of a)if(s(o))return o},n.isInteger=typeof Number.isInteger=="function"?a=>Number.isInteger(a):a=>typeof a=="number"&&isFinite(a)&&Math.floor(a)===a;function i(a,s=" | "){return a.map(o=>typeof o=="string"?`'${o}'`:o).join(s)}n.joinValues=i,n.jsonStringifyReplacer=(a,s)=>typeof s=="bigint"?s.toString():s})(Y||(Y={}));var Yo;(function(n){n.mergeShapes=(e,t)=>({...e,...t})})(Yo||(Yo={}));const M=Y.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),vn=n=>{switch(typeof n){case"undefined":return M.undefined;case"string":return M.string;case"number":return isNaN(n)?M.nan:M.number;case"boolean":return M.boolean;case"function":return M.function;case"bigint":return M.bigint;case"symbol":return M.symbol;case"object":return Array.isArray(n)?M.array:n===null?M.null:n.then&&typeof n.then=="function"&&n.catch&&typeof n.catch=="function"?M.promise:typeof Map<"u"&&n instanceof Map?M.map:typeof Set<"u"&&n instanceof Set?M.set:typeof Date<"u"&&n instanceof Date?M.date:M.object;default:return M.unknown}},P=Y.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),II=n=>JSON.stringify(n,null,2).replace(/"([^"]+)":/g,"$1:");class ft extends Error{constructor(e){super(),this.issues=[],this.addIssue=i=>{this.issues=[...this.issues,i]},this.addIssues=(i=[])=>{this.issues=[...this.issues,...i]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(s){return s.message},i={_errors:[]},a=s=>{for(const o of s.issues)if(o.code==="invalid_union")o.unionErrors.map(a);else if(o.code==="invalid_return_type")a(o.returnTypeError);else if(o.code==="invalid_arguments")a(o.argumentsError);else if(o.path.length===0)i._errors.push(t(o));else{let u=i,p=0;for(;p<o.path.length;){const h=o.path[p];p===o.path.length-1?(u[h]=u[h]||{_errors:[]},u[h]._errors.push(t(o))):u[h]=u[h]||{_errors:[]},u=u[h],p++}}};return a(this),i}static assert(e){if(!(e instanceof ft))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Y.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},i=[];for(const a of this.issues)a.path.length>0?(t[a.path[0]]=t[a.path[0]]||[],t[a.path[0]].push(e(a))):i.push(e(a));return{formErrors:i,fieldErrors:t}}get formErrors(){return this.flatten()}}ft.create=n=>new ft(n);const wr=(n,e)=>{let t;switch(n.code){case P.invalid_type:n.received===M.undefined?t="Required":t=`Expected ${n.expected}, received ${n.received}`;break;case P.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(n.expected,Y.jsonStringifyReplacer)}`;break;case P.unrecognized_keys:t=`Unrecognized key(s) in object: ${Y.joinValues(n.keys,", ")}`;break;case P.invalid_union:t="Invalid input";break;case P.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${Y.joinValues(n.options)}`;break;case P.invalid_enum_value:t=`Invalid enum value. Expected ${Y.joinValues(n.options)}, received '${n.received}'`;break;case P.invalid_arguments:t="Invalid function arguments";break;case P.invalid_return_type:t="Invalid function return type";break;case P.invalid_date:t="Invalid date";break;case P.invalid_string:typeof n.validation=="object"?"includes"in n.validation?(t=`Invalid input: must include "${n.validation.includes}"`,typeof n.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${n.validation.position}`)):"startsWith"in n.validation?t=`Invalid input: must start with "${n.validation.startsWith}"`:"endsWith"in n.validation?t=`Invalid input: must end with "${n.validation.endsWith}"`:Y.assertNever(n.validation):n.validation!=="regex"?t=`Invalid ${n.validation}`:t="Invalid";break;case P.too_small:n.type==="array"?t=`Array must contain ${n.exact?"exactly":n.inclusive?"at least":"more than"} ${n.minimum} element(s)`:n.type==="string"?t=`String must contain ${n.exact?"exactly":n.inclusive?"at least":"over"} ${n.minimum} character(s)`:n.type==="number"?t=`Number must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${n.minimum}`:n.type==="date"?t=`Date must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(n.minimum))}`:t="Invalid input";break;case P.too_big:n.type==="array"?t=`Array must contain ${n.exact?"exactly":n.inclusive?"at most":"less than"} ${n.maximum} element(s)`:n.type==="string"?t=`String must contain ${n.exact?"exactly":n.inclusive?"at most":"under"} ${n.maximum} character(s)`:n.type==="number"?t=`Number must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`:n.type==="bigint"?t=`BigInt must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`:n.type==="date"?t=`Date must be ${n.exact?"exactly":n.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(n.maximum))}`:t="Invalid input";break;case P.custom:t="Invalid input";break;case P.invalid_intersection_types:t="Intersection results could not be merged";break;case P.not_multiple_of:t=`Number must be a multiple of ${n.multipleOf}`;break;case P.not_finite:t="Number must be finite";break;default:t=e.defaultError,Y.assertNever(n)}return{message:t}};let am=wr;function PI(n){am=n}function Ma(){return am}const Na=n=>{const{data:e,path:t,errorMaps:i,issueData:a}=n,s=[...t,...a.path||[]],o={...a,path:s};if(a.message!==void 0)return{...a,path:s,message:a.message};let u="";const p=i.filter(h=>!!h).slice().reverse();for(const h of p)u=h(o,{data:e,defaultError:u}).message;return{...a,path:s,message:u}},DI=[];function w(n,e){const t=Ma(),i=Na({issueData:e,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,t,t===wr?void 0:wr].filter(a=>!!a)});n.common.issues.push(i)}class Qe{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const i=[];for(const a of t){if(a.status==="aborted")return x;a.status==="dirty"&&e.dirty(),i.push(a.value)}return{status:e.value,value:i}}static async mergeObjectAsync(e,t){const i=[];for(const a of t){const s=await a.key,o=await a.value;i.push({key:s,value:o})}return Qe.mergeObjectSync(e,i)}static mergeObjectSync(e,t){const i={};for(const a of t){const{key:s,value:o}=a;if(s.status==="aborted"||o.status==="aborted")return x;s.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof o.value<"u"||a.alwaysSet)&&(i[s.value]=o.value)}return{status:e.value,value:i}}}const x=Object.freeze({status:"aborted"}),_r=n=>({status:"dirty",value:n}),lt=n=>({status:"valid",value:n}),zo=n=>n.status==="aborted",Zo=n=>n.status==="dirty",Ti=n=>n.status==="valid",Ei=n=>typeof Promise<"u"&&n instanceof Promise;function $a(n,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!i:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(n):i?i.value:e.get(n)}function sm(n,e,t,i,a){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!a:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?a.call(n,t):a?a.value=t:e.set(n,t),t}typeof SuppressedError=="function"&&SuppressedError;var V;(function(n){n.errToObj=e=>typeof e=="string"?{message:e}:e||{},n.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(V||(V={}));var Ri,bi;class kt{constructor(e,t,i,a){this._cachedPath=[],this.parent=e,this.data=t,this._path=i,this._key=a}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const om=(n,e)=>{if(Ti(e))return{success:!0,data:e.value};if(!n.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new ft(n.common.issues);return this._error=t,this._error}}};function q(n){if(!n)return{};const{errorMap:e,invalid_type_error:t,required_error:i,description:a}=n;if(e&&(t||i))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:a}:{errorMap:(o,u)=>{var p,h;const{message:m}=n;return o.code==="invalid_enum_value"?{message:m??u.defaultError}:typeof u.data>"u"?{message:(p=m??i)!==null&&p!==void 0?p:u.defaultError}:o.code!=="invalid_type"?{message:u.defaultError}:{message:(h=m??t)!==null&&h!==void 0?h:u.defaultError}},description:a}}class H{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return vn(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:vn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Qe,ctx:{common:e.parent.common,data:e.data,parsedType:vn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(Ei(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const i=this.safeParse(e,t);if(i.success)return i.data;throw i.error}safeParse(e,t){var i;const a={common:{issues:[],async:(i=t==null?void 0:t.async)!==null&&i!==void 0?i:!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:vn(e)},s=this._parseSync({data:e,path:a.path,parent:a});return om(a,s)}async parseAsync(e,t){const i=await this.safeParseAsync(e,t);if(i.success)return i.data;throw i.error}async safeParseAsync(e,t){const i={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:vn(e)},a=this._parse({data:e,path:i.path,parent:i}),s=await(Ei(a)?a:Promise.resolve(a));return om(i,s)}refine(e,t){const i=a=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(a):t;return this._refinement((a,s)=>{const o=e(a),u=()=>s.addIssue({code:P.custom,...i(a)});return typeof Promise<"u"&&o instanceof Promise?o.then(p=>p?!0:(u(),!1)):o?!0:(u(),!1)})}refinement(e,t){return this._refinement((i,a)=>e(i)?!0:(a.addIssue(typeof t=="function"?t(i,a):t),!1))}_refinement(e){return new Gt({schema:this,typeName:U.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return Jt.create(this,this._def)}nullable(){return Dn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Lt.create(this,this._def)}promise(){return Vr.create(this,this._def)}or(e){return Pi.create([this,e],this._def)}and(e){return Di.create(this,e,this._def)}transform(e){return new Gt({...q(this._def),schema:this,typeName:U.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new Bi({...q(this._def),innerType:this,defaultValue:t,typeName:U.ZodDefault})}brand(){return new Ko({typeName:U.ZodBranded,type:this,...q(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new wi({...q(this._def),innerType:this,catchValue:t,typeName:U.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return _i.create(this,e)}readonly(){return Mi.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const AI=/^c[^\s-]{8,}$/i,SI=/^[0-9a-z]+$/,OI=/^[0-9A-HJKMNP-TV-Z]{26}$/,CI=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,BI=/^[a-z0-9_-]{21}$/i,wI=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,_I=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,MI="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Xo;const NI=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,$I=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,VI=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,lm="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",LI=new RegExp(`^${lm}$`);function cm(n){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return n.precision?e=`${e}\\.\\d{${n.precision}}`:n.precision==null&&(e=`${e}(\\.\\d+)?`),e}function GI(n){return new RegExp(`^${cm(n)}$`)}function dm(n){let e=`${lm}T${cm(n)}`;const t=[];return t.push(n.local?"Z?":"Z"),n.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function FI(n,e){return!!((e==="v4"||!e)&&NI.test(n)||(e==="v6"||!e)&&$I.test(n))}class Vt extends H{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==M.string){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_type,expected:M.string,received:s.parsedType}),x}const i=new Qe;let a;for(const s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(a=this._getOrReturnCtx(e,a),w(a,{code:P.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),i.dirty());else if(s.kind==="max")e.data.length>s.value&&(a=this._getOrReturnCtx(e,a),w(a,{code:P.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),i.dirty());else if(s.kind==="length"){const o=e.data.length>s.value,u=e.data.length<s.value;(o||u)&&(a=this._getOrReturnCtx(e,a),o?w(a,{code:P.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):u&&w(a,{code:P.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),i.dirty())}else if(s.kind==="email")_I.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"email",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="emoji")Xo||(Xo=new RegExp(MI,"u")),Xo.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"emoji",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="uuid")CI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"uuid",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="nanoid")BI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"nanoid",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="cuid")AI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"cuid",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="cuid2")SI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"cuid2",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="ulid")OI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"ulid",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{a=this._getOrReturnCtx(e,a),w(a,{validation:"url",code:P.invalid_string,message:s.message}),i.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"regex",code:P.invalid_string,message:s.message}),i.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),i.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:{startsWith:s.value},message:s.message}),i.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:{endsWith:s.value},message:s.message}),i.dirty()):s.kind==="datetime"?dm(s).test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:"datetime",message:s.message}),i.dirty()):s.kind==="date"?LI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:"date",message:s.message}),i.dirty()):s.kind==="time"?GI(s).test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:"time",message:s.message}),i.dirty()):s.kind==="duration"?wI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"duration",code:P.invalid_string,message:s.message}),i.dirty()):s.kind==="ip"?FI(e.data,s.version)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"ip",code:P.invalid_string,message:s.message}),i.dirty()):s.kind==="base64"?VI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"base64",code:P.invalid_string,message:s.message}),i.dirty()):Y.assertNever(s);return{status:i.value,value:e.data}}_regex(e,t,i){return this.refinement(a=>e.test(a),{validation:t,code:P.invalid_string,...V.errToObj(i)})}_addCheck(e){return new Vt({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...V.errToObj(e)})}url(e){return this._addCheck({kind:"url",...V.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...V.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...V.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...V.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...V.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...V.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...V.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...V.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...V.errToObj(e)})}datetime(e){var t,i;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(t=e==null?void 0:e.offset)!==null&&t!==void 0?t:!1,local:(i=e==null?void 0:e.local)!==null&&i!==void 0?i:!1,...V.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...V.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...V.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...V.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...V.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...V.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...V.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...V.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...V.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...V.errToObj(t)})}nonempty(e){return this.min(1,V.errToObj(e))}trim(){return new Vt({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Vt({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Vt({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get minLength(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}Vt.create=n=>{var e;return new Vt({checks:[],typeName:U.ZodString,coerce:(e=n==null?void 0:n.coerce)!==null&&e!==void 0?e:!1,...q(n)})};function UI(n,e){const t=(n.toString().split(".")[1]||"").length,i=(e.toString().split(".")[1]||"").length,a=t>i?t:i,s=parseInt(n.toFixed(a).replace(".","")),o=parseInt(e.toFixed(a).replace(".",""));return s%o/Math.pow(10,a)}class gn extends H{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==M.number){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_type,expected:M.number,received:s.parsedType}),x}let i;const a=new Qe;for(const s of this._def.checks)s.kind==="int"?Y.isInteger(e.data)||(i=this._getOrReturnCtx(e,i),w(i,{code:P.invalid_type,expected:"integer",received:"float",message:s.message}),a.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),a.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),a.dirty()):s.kind==="multipleOf"?UI(e.data,s.value)!==0&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.not_multiple_of,multipleOf:s.value,message:s.message}),a.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(i=this._getOrReturnCtx(e,i),w(i,{code:P.not_finite,message:s.message}),a.dirty()):Y.assertNever(s);return{status:a.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,V.toString(t))}gt(e,t){return this.setLimit("min",e,!1,V.toString(t))}lte(e,t){return this.setLimit("max",e,!0,V.toString(t))}lt(e,t){return this.setLimit("max",e,!1,V.toString(t))}setLimit(e,t,i,a){return new gn({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:i,message:V.toString(a)}]})}_addCheck(e){return new gn({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:V.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:V.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:V.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:V.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:V.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:V.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&Y.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const i of this._def.checks){if(i.kind==="finite"||i.kind==="int"||i.kind==="multipleOf")return!0;i.kind==="min"?(t===null||i.value>t)&&(t=i.value):i.kind==="max"&&(e===null||i.value<e)&&(e=i.value)}return Number.isFinite(t)&&Number.isFinite(e)}}gn.create=n=>new gn({checks:[],typeName:U.ZodNumber,coerce:(n==null?void 0:n.coerce)||!1,...q(n)});class In extends H{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==M.bigint){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_type,expected:M.bigint,received:s.parsedType}),x}let i;const a=new Qe;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),a.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),a.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.not_multiple_of,multipleOf:s.value,message:s.message}),a.dirty()):Y.assertNever(s);return{status:a.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,V.toString(t))}gt(e,t){return this.setLimit("min",e,!1,V.toString(t))}lte(e,t){return this.setLimit("max",e,!0,V.toString(t))}lt(e,t){return this.setLimit("max",e,!1,V.toString(t))}setLimit(e,t,i,a){return new In({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:i,message:V.toString(a)}]})}_addCheck(e){return new In({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:V.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:V.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}In.create=n=>{var e;return new In({checks:[],typeName:U.ZodBigInt,coerce:(e=n==null?void 0:n.coerce)!==null&&e!==void 0?e:!1,...q(n)})};class vi extends H{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==M.boolean){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.boolean,received:i.parsedType}),x}return lt(e.data)}}vi.create=n=>new vi({typeName:U.ZodBoolean,coerce:(n==null?void 0:n.coerce)||!1,...q(n)});class qn extends H{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==M.date){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_type,expected:M.date,received:s.parsedType}),x}if(isNaN(e.data.getTime())){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_date}),x}const i=new Qe;let a;for(const s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(a=this._getOrReturnCtx(e,a),w(a,{code:P.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),i.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(a=this._getOrReturnCtx(e,a),w(a,{code:P.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),i.dirty()):Y.assertNever(s);return{status:i.value,value:new Date(e.data.getTime())}}_addCheck(e){return new qn({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:V.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:V.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}}qn.create=n=>new qn({checks:[],coerce:(n==null?void 0:n.coerce)||!1,typeName:U.ZodDate,...q(n)});class Va extends H{_parse(e){if(this._getType(e)!==M.symbol){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.symbol,received:i.parsedType}),x}return lt(e.data)}}Va.create=n=>new Va({typeName:U.ZodSymbol,...q(n)});class gi extends H{_parse(e){if(this._getType(e)!==M.undefined){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.undefined,received:i.parsedType}),x}return lt(e.data)}}gi.create=n=>new gi({typeName:U.ZodUndefined,...q(n)});class Ii extends H{_parse(e){if(this._getType(e)!==M.null){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.null,received:i.parsedType}),x}return lt(e.data)}}Ii.create=n=>new Ii({typeName:U.ZodNull,...q(n)});class Mr extends H{constructor(){super(...arguments),this._any=!0}_parse(e){return lt(e.data)}}Mr.create=n=>new Mr({typeName:U.ZodAny,...q(n)});class Jn extends H{constructor(){super(...arguments),this._unknown=!0}_parse(e){return lt(e.data)}}Jn.create=n=>new Jn({typeName:U.ZodUnknown,...q(n)});class nn extends H{_parse(e){const t=this._getOrReturnCtx(e);return w(t,{code:P.invalid_type,expected:M.never,received:t.parsedType}),x}}nn.create=n=>new nn({typeName:U.ZodNever,...q(n)});class La extends H{_parse(e){if(this._getType(e)!==M.undefined){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.void,received:i.parsedType}),x}return lt(e.data)}}La.create=n=>new La({typeName:U.ZodVoid,...q(n)});class Lt extends H{_parse(e){const{ctx:t,status:i}=this._processInputParams(e),a=this._def;if(t.parsedType!==M.array)return w(t,{code:P.invalid_type,expected:M.array,received:t.parsedType}),x;if(a.exactLength!==null){const o=t.data.length>a.exactLength.value,u=t.data.length<a.exactLength.value;(o||u)&&(w(t,{code:o?P.too_big:P.too_small,minimum:u?a.exactLength.value:void 0,maximum:o?a.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:a.exactLength.message}),i.dirty())}if(a.minLength!==null&&t.data.length<a.minLength.value&&(w(t,{code:P.too_small,minimum:a.minLength.value,type:"array",inclusive:!0,exact:!1,message:a.minLength.message}),i.dirty()),a.maxLength!==null&&t.data.length>a.maxLength.value&&(w(t,{code:P.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),i.dirty()),t.common.async)return Promise.all([...t.data].map((o,u)=>a.type._parseAsync(new kt(t,o,t.path,u)))).then(o=>Qe.mergeArray(i,o));const s=[...t.data].map((o,u)=>a.type._parseSync(new kt(t,o,t.path,u)));return Qe.mergeArray(i,s)}get element(){return this._def.type}min(e,t){return new Lt({...this._def,minLength:{value:e,message:V.toString(t)}})}max(e,t){return new Lt({...this._def,maxLength:{value:e,message:V.toString(t)}})}length(e,t){return new Lt({...this._def,exactLength:{value:e,message:V.toString(t)}})}nonempty(e){return this.min(1,e)}}Lt.create=(n,e)=>new Lt({type:n,minLength:null,maxLength:null,exactLength:null,typeName:U.ZodArray,...q(e)});function Nr(n){if(n instanceof we){const e={};for(const t in n.shape){const i=n.shape[t];e[t]=Jt.create(Nr(i))}return new we({...n._def,shape:()=>e})}else return n instanceof Lt?new Lt({...n._def,type:Nr(n.element)}):n instanceof Jt?Jt.create(Nr(n.unwrap())):n instanceof Dn?Dn.create(Nr(n.unwrap())):n instanceof qt?qt.create(n.items.map(e=>Nr(e))):n}class we extends H{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=Y.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==M.object){const h=this._getOrReturnCtx(e);return w(h,{code:P.invalid_type,expected:M.object,received:h.parsedType}),x}const{status:i,ctx:a}=this._processInputParams(e),{shape:s,keys:o}=this._getCached(),u=[];if(!(this._def.catchall instanceof nn&&this._def.unknownKeys==="strip"))for(const h in a.data)o.includes(h)||u.push(h);const p=[];for(const h of o){const m=s[h],T=a.data[h];p.push({key:{status:"valid",value:h},value:m._parse(new kt(a,T,a.path,h)),alwaysSet:h in a.data})}if(this._def.catchall instanceof nn){const h=this._def.unknownKeys;if(h==="passthrough")for(const m of u)p.push({key:{status:"valid",value:m},value:{status:"valid",value:a.data[m]}});else if(h==="strict")u.length>0&&(w(a,{code:P.unrecognized_keys,keys:u}),i.dirty());else if(h!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const h=this._def.catchall;for(const m of u){const T=a.data[m];p.push({key:{status:"valid",value:m},value:h._parse(new kt(a,T,a.path,m)),alwaysSet:m in a.data})}}return a.common.async?Promise.resolve().then(async()=>{const h=[];for(const m of p){const T=await m.key,b=await m.value;h.push({key:T,value:b,alwaysSet:m.alwaysSet})}return h}).then(h=>Qe.mergeObjectSync(i,h)):Qe.mergeObjectSync(i,p)}get shape(){return this._def.shape()}strict(e){return V.errToObj,new we({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,i)=>{var a,s,o,u;const p=(o=(s=(a=this._def).errorMap)===null||s===void 0?void 0:s.call(a,t,i).message)!==null&&o!==void 0?o:i.defaultError;return t.code==="unrecognized_keys"?{message:(u=V.errToObj(e).message)!==null&&u!==void 0?u:p}:{message:p}}}:{}})}strip(){return new we({...this._def,unknownKeys:"strip"})}passthrough(){return new we({...this._def,unknownKeys:"passthrough"})}extend(e){return new we({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new we({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:U.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new we({...this._def,catchall:e})}pick(e){const t={};return Y.objectKeys(e).forEach(i=>{e[i]&&this.shape[i]&&(t[i]=this.shape[i])}),new we({...this._def,shape:()=>t})}omit(e){const t={};return Y.objectKeys(this.shape).forEach(i=>{e[i]||(t[i]=this.shape[i])}),new we({...this._def,shape:()=>t})}deepPartial(){return Nr(this)}partial(e){const t={};return Y.objectKeys(this.shape).forEach(i=>{const a=this.shape[i];e&&!e[i]?t[i]=a:t[i]=a.optional()}),new we({...this._def,shape:()=>t})}required(e){const t={};return Y.objectKeys(this.shape).forEach(i=>{if(e&&!e[i])t[i]=this.shape[i];else{let s=this.shape[i];for(;s instanceof Jt;)s=s._def.innerType;t[i]=s}}),new we({...this._def,shape:()=>t})}keyof(){return um(Y.objectKeys(this.shape))}}we.create=(n,e)=>new we({shape:()=>n,unknownKeys:"strip",catchall:nn.create(),typeName:U.ZodObject,...q(e)}),we.strictCreate=(n,e)=>new we({shape:()=>n,unknownKeys:"strict",catchall:nn.create(),typeName:U.ZodObject,...q(e)}),we.lazycreate=(n,e)=>new we({shape:n,unknownKeys:"strip",catchall:nn.create(),typeName:U.ZodObject,...q(e)});class Pi extends H{_parse(e){const{ctx:t}=this._processInputParams(e),i=this._def.options;function a(s){for(const u of s)if(u.result.status==="valid")return u.result;for(const u of s)if(u.result.status==="dirty")return t.common.issues.push(...u.ctx.common.issues),u.result;const o=s.map(u=>new ft(u.ctx.common.issues));return w(t,{code:P.invalid_union,unionErrors:o}),x}if(t.common.async)return Promise.all(i.map(async s=>{const o={...t,common:{...t.common,issues:[]},parent:null};return{result:await s._parseAsync({data:t.data,path:t.path,parent:o}),ctx:o}})).then(a);{let s;const o=[];for(const p of i){const h={...t,common:{...t.common,issues:[]},parent:null},m=p._parseSync({data:t.data,path:t.path,parent:h});if(m.status==="valid")return m;m.status==="dirty"&&!s&&(s={result:m,ctx:h}),h.common.issues.length&&o.push(h.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;const u=o.map(p=>new ft(p));return w(t,{code:P.invalid_union,unionErrors:u}),x}}get options(){return this._def.options}}Pi.create=(n,e)=>new Pi({options:n,typeName:U.ZodUnion,...q(e)});const rn=n=>n instanceof Si?rn(n.schema):n instanceof Gt?rn(n.innerType()):n instanceof Oi?[n.value]:n instanceof Pn?n.options:n instanceof Ci?Y.objectValues(n.enum):n instanceof Bi?rn(n._def.innerType):n instanceof gi?[void 0]:n instanceof Ii?[null]:n instanceof Jt?[void 0,...rn(n.unwrap())]:n instanceof Dn?[null,...rn(n.unwrap())]:n instanceof Ko||n instanceof Mi?rn(n.unwrap()):n instanceof wi?rn(n._def.innerType):[];class Ga extends H{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==M.object)return w(t,{code:P.invalid_type,expected:M.object,received:t.parsedType}),x;const i=this.discriminator,a=t.data[i],s=this.optionsMap.get(a);return s?t.common.async?s._parseAsync({data:t.data,path:t.path,parent:t}):s._parseSync({data:t.data,path:t.path,parent:t}):(w(t,{code:P.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[i]}),x)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,i){const a=new Map;for(const s of t){const o=rn(s.shape[e]);if(!o.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const u of o){if(a.has(u))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(u)}`);a.set(u,s)}}return new Ga({typeName:U.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:a,...q(i)})}}function Qo(n,e){const t=vn(n),i=vn(e);if(n===e)return{valid:!0,data:n};if(t===M.object&&i===M.object){const a=Y.objectKeys(e),s=Y.objectKeys(n).filter(u=>a.indexOf(u)!==-1),o={...n,...e};for(const u of s){const p=Qo(n[u],e[u]);if(!p.valid)return{valid:!1};o[u]=p.data}return{valid:!0,data:o}}else if(t===M.array&&i===M.array){if(n.length!==e.length)return{valid:!1};const a=[];for(let s=0;s<n.length;s++){const o=n[s],u=e[s],p=Qo(o,u);if(!p.valid)return{valid:!1};a.push(p.data)}return{valid:!0,data:a}}else return t===M.date&&i===M.date&&+n==+e?{valid:!0,data:n}:{valid:!1}}class Di extends H{_parse(e){const{status:t,ctx:i}=this._processInputParams(e),a=(s,o)=>{if(zo(s)||zo(o))return x;const u=Qo(s.value,o.value);return u.valid?((Zo(s)||Zo(o))&&t.dirty(),{status:t.value,value:u.data}):(w(i,{code:P.invalid_intersection_types}),x)};return i.common.async?Promise.all([this._def.left._parseAsync({data:i.data,path:i.path,parent:i}),this._def.right._parseAsync({data:i.data,path:i.path,parent:i})]).then(([s,o])=>a(s,o)):a(this._def.left._parseSync({data:i.data,path:i.path,parent:i}),this._def.right._parseSync({data:i.data,path:i.path,parent:i}))}}Di.create=(n,e,t)=>new Di({left:n,right:e,typeName:U.ZodIntersection,...q(t)});class qt extends H{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==M.array)return w(i,{code:P.invalid_type,expected:M.array,received:i.parsedType}),x;if(i.data.length<this._def.items.length)return w(i,{code:P.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),x;!this._def.rest&&i.data.length>this._def.items.length&&(w(i,{code:P.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const s=[...i.data].map((o,u)=>{const p=this._def.items[u]||this._def.rest;return p?p._parse(new kt(i,o,i.path,u)):null}).filter(o=>!!o);return i.common.async?Promise.all(s).then(o=>Qe.mergeArray(t,o)):Qe.mergeArray(t,s)}get items(){return this._def.items}rest(e){return new qt({...this._def,rest:e})}}qt.create=(n,e)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new qt({items:n,typeName:U.ZodTuple,rest:null,...q(e)})};class Ai extends H{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==M.object)return w(i,{code:P.invalid_type,expected:M.object,received:i.parsedType}),x;const a=[],s=this._def.keyType,o=this._def.valueType;for(const u in i.data)a.push({key:s._parse(new kt(i,u,i.path,u)),value:o._parse(new kt(i,i.data[u],i.path,u)),alwaysSet:u in i.data});return i.common.async?Qe.mergeObjectAsync(t,a):Qe.mergeObjectSync(t,a)}get element(){return this._def.valueType}static create(e,t,i){return t instanceof H?new Ai({keyType:e,valueType:t,typeName:U.ZodRecord,...q(i)}):new Ai({keyType:Vt.create(),valueType:e,typeName:U.ZodRecord,...q(t)})}}class Fa extends H{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==M.map)return w(i,{code:P.invalid_type,expected:M.map,received:i.parsedType}),x;const a=this._def.keyType,s=this._def.valueType,o=[...i.data.entries()].map(([u,p],h)=>({key:a._parse(new kt(i,u,i.path,[h,"key"])),value:s._parse(new kt(i,p,i.path,[h,"value"]))}));if(i.common.async){const u=new Map;return Promise.resolve().then(async()=>{for(const p of o){const h=await p.key,m=await p.value;if(h.status==="aborted"||m.status==="aborted")return x;(h.status==="dirty"||m.status==="dirty")&&t.dirty(),u.set(h.value,m.value)}return{status:t.value,value:u}})}else{const u=new Map;for(const p of o){const h=p.key,m=p.value;if(h.status==="aborted"||m.status==="aborted")return x;(h.status==="dirty"||m.status==="dirty")&&t.dirty(),u.set(h.value,m.value)}return{status:t.value,value:u}}}}Fa.create=(n,e,t)=>new Fa({valueType:e,keyType:n,typeName:U.ZodMap,...q(t)});class Wn extends H{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==M.set)return w(i,{code:P.invalid_type,expected:M.set,received:i.parsedType}),x;const a=this._def;a.minSize!==null&&i.data.size<a.minSize.value&&(w(i,{code:P.too_small,minimum:a.minSize.value,type:"set",inclusive:!0,exact:!1,message:a.minSize.message}),t.dirty()),a.maxSize!==null&&i.data.size>a.maxSize.value&&(w(i,{code:P.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),t.dirty());const s=this._def.valueType;function o(p){const h=new Set;for(const m of p){if(m.status==="aborted")return x;m.status==="dirty"&&t.dirty(),h.add(m.value)}return{status:t.value,value:h}}const u=[...i.data.values()].map((p,h)=>s._parse(new kt(i,p,i.path,h)));return i.common.async?Promise.all(u).then(p=>o(p)):o(u)}min(e,t){return new Wn({...this._def,minSize:{value:e,message:V.toString(t)}})}max(e,t){return new Wn({...this._def,maxSize:{value:e,message:V.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Wn.create=(n,e)=>new Wn({valueType:n,minSize:null,maxSize:null,typeName:U.ZodSet,...q(e)});class $r extends H{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==M.function)return w(t,{code:P.invalid_type,expected:M.function,received:t.parsedType}),x;function i(u,p){return Na({data:u,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Ma(),wr].filter(h=>!!h),issueData:{code:P.invalid_arguments,argumentsError:p}})}function a(u,p){return Na({data:u,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Ma(),wr].filter(h=>!!h),issueData:{code:P.invalid_return_type,returnTypeError:p}})}const s={errorMap:t.common.contextualErrorMap},o=t.data;if(this._def.returns instanceof Vr){const u=this;return lt(async function(...p){const h=new ft([]),m=await u._def.args.parseAsync(p,s).catch(I=>{throw h.addIssue(i(p,I)),h}),T=await Reflect.apply(o,this,m);return await u._def.returns._def.type.parseAsync(T,s).catch(I=>{throw h.addIssue(a(T,I)),h})})}else{const u=this;return lt(function(...p){const h=u._def.args.safeParse(p,s);if(!h.success)throw new ft([i(p,h.error)]);const m=Reflect.apply(o,this,h.data),T=u._def.returns.safeParse(m,s);if(!T.success)throw new ft([a(m,T.error)]);return T.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new $r({...this._def,args:qt.create(e).rest(Jn.create())})}returns(e){return new $r({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,i){return new $r({args:e||qt.create([]).rest(Jn.create()),returns:t||Jn.create(),typeName:U.ZodFunction,...q(i)})}}class Si extends H{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}Si.create=(n,e)=>new Si({getter:n,typeName:U.ZodLazy,...q(e)});class Oi extends H{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return w(t,{received:t.data,code:P.invalid_literal,expected:this._def.value}),x}return{status:"valid",value:e.data}}get value(){return this._def.value}}Oi.create=(n,e)=>new Oi({value:n,typeName:U.ZodLiteral,...q(e)});function um(n,e){return new Pn({values:n,typeName:U.ZodEnum,...q(e)})}class Pn extends H{constructor(){super(...arguments),Ri.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),i=this._def.values;return w(t,{expected:Y.joinValues(i),received:t.parsedType,code:P.invalid_type}),x}if($a(this,Ri,"f")||sm(this,Ri,new Set(this._def.values),"f"),!$a(this,Ri,"f").has(e.data)){const t=this._getOrReturnCtx(e),i=this._def.values;return w(t,{received:t.data,code:P.invalid_enum_value,options:i}),x}return lt(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return Pn.create(e,{...this._def,...t})}exclude(e,t=this._def){return Pn.create(this.options.filter(i=>!e.includes(i)),{...this._def,...t})}}Ri=new WeakMap,Pn.create=um;class Ci extends H{constructor(){super(...arguments),bi.set(this,void 0)}_parse(e){const t=Y.getValidEnumValues(this._def.values),i=this._getOrReturnCtx(e);if(i.parsedType!==M.string&&i.parsedType!==M.number){const a=Y.objectValues(t);return w(i,{expected:Y.joinValues(a),received:i.parsedType,code:P.invalid_type}),x}if($a(this,bi,"f")||sm(this,bi,new Set(Y.getValidEnumValues(this._def.values)),"f"),!$a(this,bi,"f").has(e.data)){const a=Y.objectValues(t);return w(i,{received:i.data,code:P.invalid_enum_value,options:a}),x}return lt(e.data)}get enum(){return this._def.values}}bi=new WeakMap,Ci.create=(n,e)=>new Ci({values:n,typeName:U.ZodNativeEnum,...q(e)});class Vr extends H{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==M.promise&&t.common.async===!1)return w(t,{code:P.invalid_type,expected:M.promise,received:t.parsedType}),x;const i=t.parsedType===M.promise?t.data:Promise.resolve(t.data);return lt(i.then(a=>this._def.type.parseAsync(a,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Vr.create=(n,e)=>new Vr({type:n,typeName:U.ZodPromise,...q(e)});class Gt extends H{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===U.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:i}=this._processInputParams(e),a=this._def.effect||null,s={addIssue:o=>{w(i,o),o.fatal?t.abort():t.dirty()},get path(){return i.path}};if(s.addIssue=s.addIssue.bind(s),a.type==="preprocess"){const o=a.transform(i.data,s);if(i.common.async)return Promise.resolve(o).then(async u=>{if(t.value==="aborted")return x;const p=await this._def.schema._parseAsync({data:u,path:i.path,parent:i});return p.status==="aborted"?x:p.status==="dirty"||t.value==="dirty"?_r(p.value):p});{if(t.value==="aborted")return x;const u=this._def.schema._parseSync({data:o,path:i.path,parent:i});return u.status==="aborted"?x:u.status==="dirty"||t.value==="dirty"?_r(u.value):u}}if(a.type==="refinement"){const o=u=>{const p=a.refinement(u,s);if(i.common.async)return Promise.resolve(p);if(p instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return u};if(i.common.async===!1){const u=this._def.schema._parseSync({data:i.data,path:i.path,parent:i});return u.status==="aborted"?x:(u.status==="dirty"&&t.dirty(),o(u.value),{status:t.value,value:u.value})}else return this._def.schema._parseAsync({data:i.data,path:i.path,parent:i}).then(u=>u.status==="aborted"?x:(u.status==="dirty"&&t.dirty(),o(u.value).then(()=>({status:t.value,value:u.value}))))}if(a.type==="transform")if(i.common.async===!1){const o=this._def.schema._parseSync({data:i.data,path:i.path,parent:i});if(!Ti(o))return o;const u=a.transform(o.value,s);if(u instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:u}}else return this._def.schema._parseAsync({data:i.data,path:i.path,parent:i}).then(o=>Ti(o)?Promise.resolve(a.transform(o.value,s)).then(u=>({status:t.value,value:u})):o);Y.assertNever(a)}}Gt.create=(n,e,t)=>new Gt({schema:n,typeName:U.ZodEffects,effect:e,...q(t)}),Gt.createWithPreprocess=(n,e,t)=>new Gt({schema:e,effect:{type:"preprocess",transform:n},typeName:U.ZodEffects,...q(t)});class Jt extends H{_parse(e){return this._getType(e)===M.undefined?lt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Jt.create=(n,e)=>new Jt({innerType:n,typeName:U.ZodOptional,...q(e)});class Dn extends H{_parse(e){return this._getType(e)===M.null?lt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Dn.create=(n,e)=>new Dn({innerType:n,typeName:U.ZodNullable,...q(e)});class Bi extends H{_parse(e){const{ctx:t}=this._processInputParams(e);let i=t.data;return t.parsedType===M.undefined&&(i=this._def.defaultValue()),this._def.innerType._parse({data:i,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}Bi.create=(n,e)=>new Bi({innerType:n,typeName:U.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...q(e)});class wi extends H{_parse(e){const{ctx:t}=this._processInputParams(e),i={...t,common:{...t.common,issues:[]}},a=this._def.innerType._parse({data:i.data,path:i.path,parent:{...i}});return Ei(a)?a.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ft(i.common.issues)},input:i.data})})):{status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new ft(i.common.issues)},input:i.data})}}removeCatch(){return this._def.innerType}}wi.create=(n,e)=>new wi({innerType:n,typeName:U.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...q(e)});class Ua extends H{_parse(e){if(this._getType(e)!==M.nan){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.nan,received:i.parsedType}),x}return{status:"valid",value:e.data}}}Ua.create=n=>new Ua({typeName:U.ZodNaN,...q(n)});const xI=Symbol("zod_brand");class Ko extends H{_parse(e){const{ctx:t}=this._processInputParams(e),i=t.data;return this._def.type._parse({data:i,path:t.path,parent:t})}unwrap(){return this._def.type}}class _i extends H{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:i.data,path:i.path,parent:i});return s.status==="aborted"?x:s.status==="dirty"?(t.dirty(),_r(s.value)):this._def.out._parseAsync({data:s.value,path:i.path,parent:i})})();{const a=this._def.in._parseSync({data:i.data,path:i.path,parent:i});return a.status==="aborted"?x:a.status==="dirty"?(t.dirty(),{status:"dirty",value:a.value}):this._def.out._parseSync({data:a.value,path:i.path,parent:i})}}static create(e,t){return new _i({in:e,out:t,typeName:U.ZodPipeline})}}class Mi extends H{_parse(e){const t=this._def.innerType._parse(e),i=a=>(Ti(a)&&(a.value=Object.freeze(a.value)),a);return Ei(t)?t.then(a=>i(a)):i(t)}unwrap(){return this._def.innerType}}Mi.create=(n,e)=>new Mi({innerType:n,typeName:U.ZodReadonly,...q(e)});function pm(n,e={},t){return n?Mr.create().superRefine((i,a)=>{var s,o;if(!n(i)){const u=typeof e=="function"?e(i):typeof e=="string"?{message:e}:e,p=(o=(s=u.fatal)!==null&&s!==void 0?s:t)!==null&&o!==void 0?o:!0,h=typeof u=="string"?{message:u}:u;a.addIssue({code:"custom",...h,fatal:p})}}):Mr.create()}const jI={object:we.lazycreate};var U;(function(n){n.ZodString="ZodString",n.ZodNumber="ZodNumber",n.ZodNaN="ZodNaN",n.ZodBigInt="ZodBigInt",n.ZodBoolean="ZodBoolean",n.ZodDate="ZodDate",n.ZodSymbol="ZodSymbol",n.ZodUndefined="ZodUndefined",n.ZodNull="ZodNull",n.ZodAny="ZodAny",n.ZodUnknown="ZodUnknown",n.ZodNever="ZodNever",n.ZodVoid="ZodVoid",n.ZodArray="ZodArray",n.ZodObject="ZodObject",n.ZodUnion="ZodUnion",n.ZodDiscriminatedUnion="ZodDiscriminatedUnion",n.ZodIntersection="ZodIntersection",n.ZodTuple="ZodTuple",n.ZodRecord="ZodRecord",n.ZodMap="ZodMap",n.ZodSet="ZodSet",n.ZodFunction="ZodFunction",n.ZodLazy="ZodLazy",n.ZodLiteral="ZodLiteral",n.ZodEnum="ZodEnum",n.ZodEffects="ZodEffects",n.ZodNativeEnum="ZodNativeEnum",n.ZodOptional="ZodOptional",n.ZodNullable="ZodNullable",n.ZodDefault="ZodDefault",n.ZodCatch="ZodCatch",n.ZodPromise="ZodPromise",n.ZodBranded="ZodBranded",n.ZodPipeline="ZodPipeline",n.ZodReadonly="ZodReadonly"})(U||(U={}));const kI=(n,e={message:`Input not instance of ${n.name}`})=>pm(t=>t instanceof n,e),xa=Vt.create,el=gn.create,qI=Ua.create,JI=In.create,tl=vi.create,ym=qn.create,WI=Va.create,HI=gi.create,hm=Ii.create,YI=Mr.create,ja=Jn.create,zI=nn.create,ZI=La.create,XI=Lt.create,fm=we.create,QI=we.strictCreate,KI=Pi.create,eP=Ga.create,tP=Di.create,nP=qt.create,mm=Ai.create,rP=Fa.create,iP=Wn.create,aP=$r.create,sP=Si.create,oP=Oi.create,Tm=Pn.create,lP=Ci.create,cP=Vr.create,Em=Gt.create,dP=Jt.create,uP=Dn.create,pP=Gt.createWithPreprocess,yP=_i.create;var c=Object.freeze({__proto__:null,defaultErrorMap:wr,setErrorMap:PI,getErrorMap:Ma,makeIssue:Na,EMPTY_PATH:DI,addIssueToContext:w,ParseStatus:Qe,INVALID:x,DIRTY:_r,OK:lt,isAborted:zo,isDirty:Zo,isValid:Ti,isAsync:Ei,get util(){return Y},get objectUtil(){return Yo},ZodParsedType:M,getParsedType:vn,ZodType:H,datetimeRegex:dm,ZodString:Vt,ZodNumber:gn,ZodBigInt:In,ZodBoolean:vi,ZodDate:qn,ZodSymbol:Va,ZodUndefined:gi,ZodNull:Ii,ZodAny:Mr,ZodUnknown:Jn,ZodNever:nn,ZodVoid:La,ZodArray:Lt,ZodObject:we,ZodUnion:Pi,ZodDiscriminatedUnion:Ga,ZodIntersection:Di,ZodTuple:qt,ZodRecord:Ai,ZodMap:Fa,ZodSet:Wn,ZodFunction:$r,ZodLazy:Si,ZodLiteral:Oi,ZodEnum:Pn,ZodNativeEnum:Ci,ZodPromise:Vr,ZodEffects:Gt,ZodTransformer:Gt,ZodOptional:Jt,ZodNullable:Dn,ZodDefault:Bi,ZodCatch:wi,ZodNaN:Ua,BRAND:xI,ZodBranded:Ko,ZodPipeline:_i,ZodReadonly:Mi,custom:pm,Schema:H,ZodSchema:H,late:jI,get ZodFirstPartyTypeKind(){return U},coerce:{string:n=>Vt.create({...n,coerce:!0}),number:n=>gn.create({...n,coerce:!0}),boolean:n=>vi.create({...n,coerce:!0}),bigint:n=>In.create({...n,coerce:!0}),date:n=>qn.create({...n,coerce:!0})},any:YI,array:XI,bigint:JI,boolean:tl,date:ym,discriminatedUnion:eP,effect:Em,enum:Tm,function:aP,instanceof:kI,intersection:tP,lazy:sP,literal:oP,map:rP,nan:qI,nativeEnum:lP,never:zI,null:hm,nullable:uP,number:el,object:fm,oboolean:()=>tl().optional(),onumber:()=>el().optional(),optional:dP,ostring:()=>xa().optional(),pipeline:yP,preprocess:pP,promise:cP,record:mm,set:iP,strictObject:QI,string:xa,symbol:WI,transformer:Em,tuple:nP,undefined:HI,union:KI,unknown:ja,void:ZI,NEVER:x,ZodIssueCode:P,quotelessJson:II,ZodError:ft});function Rm(n){var a,s,o;if(!(n!=null&&n.dataType))return ja();const e=n.dataType.isNullable||!1,t=n.dataType.isList||!1;let i=ja();if(((a=n.dataType.entity)==null?void 0:a.type)===r.PrimitiveEntity)switch(n.dataType.entity.name){case g.String:i=xa();break;case g.JSON:i=mm(ja());break;case g.Number:i=el();break;case g.Boolean:i=tl();break;case g.Date:i=ym();break;case g.Enum:{const u=n.dataType.options||[];if(u.length===0)throw new Error(`Enum property ${n.name} has no options`);i=Tm(u);break}case g.Null:i=hm();break;case g.UUID:i=xa().uuid();break}else if(((s=n.dataType.entity)==null?void 0:s.type)===r.CustomEntity)i=bm(n.dataType.entity);else throw new Error(`Unsupported data type validation: ${(o=n.dataType.entity)==null?void 0:o.type}`);return e&&(i=i.nullable()),t&&(i=i.array()),i}function bm(n){const e=fm({});for(const t of n.properties){const i=Rm(t);e.shape[t.name]=i}return e}function vm(n){const e=n.rangeStart;return new Date(e.getTime()+Math.random()*(Date.now()-e.getTime()))}function gm(n){const e=n.rangeEnd;return new Date(Math.random()*e.getTime())}function Im(n){const e=n.rangeStart,t=n.rangeEnd;return new Date(e.getTime()+Math.random()*(t.getTime()-e.getTime()))}function Pm(n){return n.rangeStart&&n.rangeEnd?Im(n):n.rangeStart?vm(n):n.rangeEnd?gm(n):new Date}function hP(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Dm={},ka={},qa={};Object.defineProperty(qa,"__esModule",{value:!0}),qa.default=mP;let Ja;const fP=new Uint8Array(16);function mP(){if(!Ja&&(Ja=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Ja))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Ja(fP)}var An={},Hn={},Wa={};Object.defineProperty(Wa,"__esModule",{value:!0}),Wa.default=void 0;var TP=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;Wa.default=TP,Object.defineProperty(Hn,"__esModule",{value:!0}),Hn.default=void 0;var EP=RP(Wa);function RP(n){return n&&n.__esModule?n:{default:n}}function bP(n){return typeof n=="string"&&EP.default.test(n)}var vP=bP;Hn.default=vP,Object.defineProperty(An,"__esModule",{value:!0}),An.default=void 0,An.unsafeStringify=Am;var gP=IP(Hn);function IP(n){return n&&n.__esModule?n:{default:n}}const ze=[];for(let n=0;n<256;++n)ze.push((n+256).toString(16).slice(1));function Am(n,e=0){return ze[n[e+0]]+ze[n[e+1]]+ze[n[e+2]]+ze[n[e+3]]+"-"+ze[n[e+4]]+ze[n[e+5]]+"-"+ze[n[e+6]]+ze[n[e+7]]+"-"+ze[n[e+8]]+ze[n[e+9]]+"-"+ze[n[e+10]]+ze[n[e+11]]+ze[n[e+12]]+ze[n[e+13]]+ze[n[e+14]]+ze[n[e+15]]}function PP(n,e=0){const t=Am(n,e);if(!(0,gP.default)(t))throw TypeError("Stringified UUID is invalid");return t}var DP=PP;An.default=DP,Object.defineProperty(ka,"__esModule",{value:!0}),ka.default=void 0;var AP=OP(qa),SP=An;function OP(n){return n&&n.__esModule?n:{default:n}}let Sm,nl,rl=0,il=0;function CP(n,e,t){let i=e&&t||0;const a=e||new Array(16);n=n||{};let s=n.node||Sm,o=n.clockseq!==void 0?n.clockseq:nl;if(s==null||o==null){const b=n.random||(n.rng||AP.default)();s==null&&(s=Sm=[b[0]|1,b[1],b[2],b[3],b[4],b[5]]),o==null&&(o=nl=(b[6]<<8|b[7])&16383)}let u=n.msecs!==void 0?n.msecs:Date.now(),p=n.nsecs!==void 0?n.nsecs:il+1;const h=u-rl+(p-il)/1e4;if(h<0&&n.clockseq===void 0&&(o=o+1&16383),(h<0||u>rl)&&n.nsecs===void 0&&(p=0),p>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");rl=u,il=p,nl=o,u+=122192928e5;const m=((u&268435455)*1e4+p)%4294967296;a[i++]=m>>>24&255,a[i++]=m>>>16&255,a[i++]=m>>>8&255,a[i++]=m&255;const T=u/4294967296*1e4&268435455;a[i++]=T>>>8&255,a[i++]=T&255,a[i++]=T>>>24&15|16,a[i++]=T>>>16&255,a[i++]=o>>>8|128,a[i++]=o&255;for(let b=0;b<6;++b)a[i+b]=s[b];return e||(0,SP.unsafeStringify)(a)}var BP=CP;ka.default=BP;var Ha={},Sn={},Ni={};Object.defineProperty(Ni,"__esModule",{value:!0}),Ni.default=void 0;var wP=_P(Hn);function _P(n){return n&&n.__esModule?n:{default:n}}function MP(n){if(!(0,wP.default)(n))throw TypeError("Invalid UUID");let e;const t=new Uint8Array(16);return t[0]=(e=parseInt(n.slice(0,8),16))>>>24,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=e&255,t[4]=(e=parseInt(n.slice(9,13),16))>>>8,t[5]=e&255,t[6]=(e=parseInt(n.slice(14,18),16))>>>8,t[7]=e&255,t[8]=(e=parseInt(n.slice(19,23),16))>>>8,t[9]=e&255,t[10]=(e=parseInt(n.slice(24,36),16))/1099511627776&255,t[11]=e/4294967296&255,t[12]=e>>>24&255,t[13]=e>>>16&255,t[14]=e>>>8&255,t[15]=e&255,t}var NP=MP;Ni.default=NP,Object.defineProperty(Sn,"__esModule",{value:!0}),Sn.URL=Sn.DNS=void 0,Sn.default=FP;var $P=An,VP=LP(Ni);function LP(n){return n&&n.__esModule?n:{default:n}}function GP(n){n=unescape(encodeURIComponent(n));const e=[];for(let t=0;t<n.length;++t)e.push(n.charCodeAt(t));return e}const Om="6ba7b810-9dad-11d1-80b4-00c04fd430c8";Sn.DNS=Om;const Cm="6ba7b811-9dad-11d1-80b4-00c04fd430c8";Sn.URL=Cm;function FP(n,e,t){function i(a,s,o,u){var p;if(typeof a=="string"&&(a=GP(a)),typeof s=="string"&&(s=(0,VP.default)(s)),((p=s)===null||p===void 0?void 0:p.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let h=new Uint8Array(16+a.length);if(h.set(s),h.set(a,s.length),h=t(h),h[6]=h[6]&15|e,h[8]=h[8]&63|128,o){u=u||0;for(let m=0;m<16;++m)o[u+m]=h[m];return o}return(0,$P.unsafeStringify)(h)}try{i.name=n}catch{}return i.DNS=Om,i.URL=Cm,i}var Ya={};Object.defineProperty(Ya,"__esModule",{value:!0}),Ya.default=void 0;function UP(n){if(typeof n=="string"){const e=unescape(encodeURIComponent(n));n=new Uint8Array(e.length);for(let t=0;t<e.length;++t)n[t]=e.charCodeAt(t)}return xP(jP(kP(n),n.length*8))}function xP(n){const e=[],t=n.length*32,i="0123456789abcdef";for(let a=0;a<t;a+=8){const s=n[a>>5]>>>a%32&255,o=parseInt(i.charAt(s>>>4&15)+i.charAt(s&15),16);e.push(o)}return e}function Bm(n){return(n+64>>>9<<4)+14+1}function jP(n,e){n[e>>5]|=128<<e%32,n[Bm(e)-1]=e;let t=1732584193,i=-271733879,a=-1732584194,s=271733878;for(let o=0;o<n.length;o+=16){const u=t,p=i,h=a,m=s;t=Ke(t,i,a,s,n[o],7,-680876936),s=Ke(s,t,i,a,n[o+1],12,-389564586),a=Ke(a,s,t,i,n[o+2],17,606105819),i=Ke(i,a,s,t,n[o+3],22,-1044525330),t=Ke(t,i,a,s,n[o+4],7,-176418897),s=Ke(s,t,i,a,n[o+5],12,1200080426),a=Ke(a,s,t,i,n[o+6],17,-1473231341),i=Ke(i,a,s,t,n[o+7],22,-45705983),t=Ke(t,i,a,s,n[o+8],7,1770035416),s=Ke(s,t,i,a,n[o+9],12,-1958414417),a=Ke(a,s,t,i,n[o+10],17,-42063),i=Ke(i,a,s,t,n[o+11],22,-1990404162),t=Ke(t,i,a,s,n[o+12],7,1804603682),s=Ke(s,t,i,a,n[o+13],12,-40341101),a=Ke(a,s,t,i,n[o+14],17,-1502002290),i=Ke(i,a,s,t,n[o+15],22,1236535329),t=et(t,i,a,s,n[o+1],5,-165796510),s=et(s,t,i,a,n[o+6],9,-1069501632),a=et(a,s,t,i,n[o+11],14,643717713),i=et(i,a,s,t,n[o],20,-373897302),t=et(t,i,a,s,n[o+5],5,-701558691),s=et(s,t,i,a,n[o+10],9,38016083),a=et(a,s,t,i,n[o+15],14,-660478335),i=et(i,a,s,t,n[o+4],20,-405537848),t=et(t,i,a,s,n[o+9],5,568446438),s=et(s,t,i,a,n[o+14],9,-1019803690),a=et(a,s,t,i,n[o+3],14,-187363961),i=et(i,a,s,t,n[o+8],20,1163531501),t=et(t,i,a,s,n[o+13],5,-1444681467),s=et(s,t,i,a,n[o+2],9,-51403784),a=et(a,s,t,i,n[o+7],14,1735328473),i=et(i,a,s,t,n[o+12],20,-1926607734),t=tt(t,i,a,s,n[o+5],4,-378558),s=tt(s,t,i,a,n[o+8],11,-2022574463),a=tt(a,s,t,i,n[o+11],16,1839030562),i=tt(i,a,s,t,n[o+14],23,-35309556),t=tt(t,i,a,s,n[o+1],4,-1530992060),s=tt(s,t,i,a,n[o+4],11,1272893353),a=tt(a,s,t,i,n[o+7],16,-155497632),i=tt(i,a,s,t,n[o+10],23,-1094730640),t=tt(t,i,a,s,n[o+13],4,681279174),s=tt(s,t,i,a,n[o],11,-358537222),a=tt(a,s,t,i,n[o+3],16,-722521979),i=tt(i,a,s,t,n[o+6],23,76029189),t=tt(t,i,a,s,n[o+9],4,-640364487),s=tt(s,t,i,a,n[o+12],11,-421815835),a=tt(a,s,t,i,n[o+15],16,530742520),i=tt(i,a,s,t,n[o+2],23,-995338651),t=nt(t,i,a,s,n[o],6,-198630844),s=nt(s,t,i,a,n[o+7],10,1126891415),a=nt(a,s,t,i,n[o+14],15,-1416354905),i=nt(i,a,s,t,n[o+5],21,-57434055),t=nt(t,i,a,s,n[o+12],6,1700485571),s=nt(s,t,i,a,n[o+3],10,-1894986606),a=nt(a,s,t,i,n[o+10],15,-1051523),i=nt(i,a,s,t,n[o+1],21,-2054922799),t=nt(t,i,a,s,n[o+8],6,1873313359),s=nt(s,t,i,a,n[o+15],10,-30611744),a=nt(a,s,t,i,n[o+6],15,-1560198380),i=nt(i,a,s,t,n[o+13],21,1309151649),t=nt(t,i,a,s,n[o+4],6,-145523070),s=nt(s,t,i,a,n[o+11],10,-1120210379),a=nt(a,s,t,i,n[o+2],15,718787259),i=nt(i,a,s,t,n[o+9],21,-343485551),t=On(t,u),i=On(i,p),a=On(a,h),s=On(s,m)}return[t,i,a,s]}function kP(n){if(n.length===0)return[];const e=n.length*8,t=new Uint32Array(Bm(e));for(let i=0;i<e;i+=8)t[i>>5]|=(n[i/8]&255)<<i%32;return t}function On(n,e){const t=(n&65535)+(e&65535);return(n>>16)+(e>>16)+(t>>16)<<16|t&65535}function qP(n,e){return n<<e|n>>>32-e}function za(n,e,t,i,a,s){return On(qP(On(On(e,n),On(i,s)),a),t)}function Ke(n,e,t,i,a,s,o){return za(e&t|~e&i,n,e,a,s,o)}function et(n,e,t,i,a,s,o){return za(e&i|t&~i,n,e,a,s,o)}function tt(n,e,t,i,a,s,o){return za(e^t^i,n,e,a,s,o)}function nt(n,e,t,i,a,s,o){return za(t^(e|~i),n,e,a,s,o)}var JP=UP;Ya.default=JP,Object.defineProperty(Ha,"__esModule",{value:!0}),Ha.default=void 0;var WP=wm(Sn),HP=wm(Ya);function wm(n){return n&&n.__esModule?n:{default:n}}var YP=(0,WP.default)("v3",48,HP.default);Ha.default=YP;var Za={},Xa={};Object.defineProperty(Xa,"__esModule",{value:!0}),Xa.default=void 0;var zP={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};Xa.default=zP,Object.defineProperty(Za,"__esModule",{value:!0}),Za.default=void 0;var _m=Mm(Xa),ZP=Mm(qa),XP=An;function Mm(n){return n&&n.__esModule?n:{default:n}}function QP(n,e,t){if(_m.default.randomUUID&&!e&&!n)return _m.default.randomUUID();n=n||{};const i=n.random||(n.rng||ZP.default)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,e){t=t||0;for(let a=0;a<16;++a)e[t+a]=i[a];return e}return(0,XP.unsafeStringify)(i)}var KP=QP;Za.default=KP;var Qa={},Ka={};Object.defineProperty(Ka,"__esModule",{value:!0}),Ka.default=void 0;function eD(n,e,t,i){switch(n){case 0:return e&t^~e&i;case 1:return e^t^i;case 2:return e&t^e&i^t&i;case 3:return e^t^i}}function al(n,e){return n<<e|n>>>32-e}function tD(n){const e=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof n=="string"){const o=unescape(encodeURIComponent(n));n=[];for(let u=0;u<o.length;++u)n.push(o.charCodeAt(u))}else Array.isArray(n)||(n=Array.prototype.slice.call(n));n.push(128);const i=n.length/4+2,a=Math.ceil(i/16),s=new Array(a);for(let o=0;o<a;++o){const u=new Uint32Array(16);for(let p=0;p<16;++p)u[p]=n[o*64+p*4]<<24|n[o*64+p*4+1]<<16|n[o*64+p*4+2]<<8|n[o*64+p*4+3];s[o]=u}s[a-1][14]=(n.length-1)*8/Math.pow(2,32),s[a-1][14]=Math.floor(s[a-1][14]),s[a-1][15]=(n.length-1)*8&4294967295;for(let o=0;o<a;++o){const u=new Uint32Array(80);for(let I=0;I<16;++I)u[I]=s[o][I];for(let I=16;I<80;++I)u[I]=al(u[I-3]^u[I-8]^u[I-14]^u[I-16],1);let p=t[0],h=t[1],m=t[2],T=t[3],b=t[4];for(let I=0;I<80;++I){const B=Math.floor(I/20),G=al(p,5)+eD(B,h,m,T)+b+e[B]+u[I]>>>0;b=T,T=m,m=al(h,30)>>>0,h=p,p=G}t[0]=t[0]+p>>>0,t[1]=t[1]+h>>>0,t[2]=t[2]+m>>>0,t[3]=t[3]+T>>>0,t[4]=t[4]+b>>>0}return[t[0]>>24&255,t[0]>>16&255,t[0]>>8&255,t[0]&255,t[1]>>24&255,t[1]>>16&255,t[1]>>8&255,t[1]&255,t[2]>>24&255,t[2]>>16&255,t[2]>>8&255,t[2]&255,t[3]>>24&255,t[3]>>16&255,t[3]>>8&255,t[3]&255,t[4]>>24&255,t[4]>>16&255,t[4]>>8&255,t[4]&255]}var nD=tD;Ka.default=nD,Object.defineProperty(Qa,"__esModule",{value:!0}),Qa.default=void 0;var rD=Nm(Sn),iD=Nm(Ka);function Nm(n){return n&&n.__esModule?n:{default:n}}var aD=(0,rD.default)("v5",80,iD.default);Qa.default=aD;var es={};Object.defineProperty(es,"__esModule",{value:!0}),es.default=void 0;var sD="00000000-0000-0000-0000-000000000000";es.default=sD;var ts={};Object.defineProperty(ts,"__esModule",{value:!0}),ts.default=void 0;var oD=lD(Hn);function lD(n){return n&&n.__esModule?n:{default:n}}function cD(n){if(!(0,oD.default)(n))throw TypeError("Invalid UUID");return parseInt(n.slice(14,15),16)}var dD=cD;ts.default=dD,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"NIL",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(n,"parse",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(n,"stringify",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(n,"v1",{enumerable:!0,get:function(){return e.default}}),Object.defineProperty(n,"v3",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(n,"v4",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(n,"v5",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(n,"validate",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(n,"version",{enumerable:!0,get:function(){return o.default}});var e=m(ka),t=m(Ha),i=m(Za),a=m(Qa),s=m(es),o=m(ts),u=m(Hn),p=m(An),h=m(Ni);function m(T){return T&&T.__esModule?T:{default:T}}}(Dm);function sl(n,e){if(!n||!e||!n.length||!e.length)throw new Error("Bad alphabet");this.srcAlphabet=n,this.dstAlphabet=e}sl.prototype.convert=function(n){var e,t,i,a={},s=this.srcAlphabet.length,o=this.dstAlphabet.length,u=n.length,p=typeof n=="string"?"":[];if(!this.isValid(n))throw new Error('Number "'+n+'" contains of non-alphabetic digits ('+this.srcAlphabet+")");if(this.srcAlphabet===this.dstAlphabet)return n;for(e=0;e<u;e++)a[e]=this.srcAlphabet.indexOf(n[e]);do{for(t=0,i=0,e=0;e<u;e++)t=t*s+a[e],t>=o?(a[i++]=parseInt(t/o,10),t=t%o):i>0&&(a[i++]=0);u=i,p=this.dstAlphabet.slice(t,t+1).concat(p)}while(i!==0);return p},sl.prototype.isValid=function(n){for(var e=0;e<n.length;++e)if(this.srcAlphabet.indexOf(n[e])===-1)return!1;return!0};var uD=sl,pD=uD;function $i(n,e){var t=new pD(n,e);return function(i){return t.convert(i)}}$i.BIN="01",$i.OCT="01234567",$i.DEC="0123456789",$i.HEX="0123456789abcdef";var yD=$i;const{v4:ol,validate:hD}=Dm,ns=yD,ll={cookieBase90:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~",flickrBase58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",uuid25Base36:"0123456789abcdefghijklmnopqrstuvwxyz"},fD={consistentLength:!0};let cl;const $m=(n,e,t)=>{const i=e(n.toLowerCase().replace(/-/g,""));return!t||!t.consistentLength?i:i.padStart(t.shortIdLength,t.paddingChar)},Vm=(n,e)=>{const i=e(n).padStart(32,"0").match(/(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})/);return[i[1],i[2],i[3],i[4],i[5]].join("-")},mD=n=>Math.ceil(Math.log(2**128)/Math.log(n));var TD=(()=>{const n=(e,t)=>{const i=e||ll.flickrBase58,a={...fD,...t};if([...new Set(Array.from(i))].length!==i.length)throw new Error("The provided Alphabet has duplicate characters resulting in unreliable results");const s=mD(i.length),o={shortIdLength:s,consistentLength:a.consistentLength,paddingChar:i[0]},u=ns(ns.HEX,i),p=ns(i,ns.HEX),h=()=>$m(ol(),u,o),T={alphabet:i,fromUUID:b=>$m(b,u,o),maxLength:s,generate:h,new:h,toUUID:b=>Vm(b,p),uuid:ol,validate:(b,I=!1)=>{if(!b||typeof b!="string")return!1;const B=a.consistentLength?b.length===s:b.length<=s,G=b.split("").every(W=>i.includes(W));return I===!1?B&&G:B&&G&&hD(Vm(b,p))}};return Object.freeze(T),T};return n.constants=ll,n.uuid=ol,n.generate=()=>(cl||(cl=n(ll.flickrBase58).generate),cl()),n})();const Lm=hP(TD),ED=Lm();function Gm(){return ED.uuid()}function Fm(n){return n.rangeStart+Math.random()}function Um(n){const e=n.rangeEnd;return Math.random()*e}function xm(n){const e=n.rangeStart,t=n.rangeEnd;return Math.random()*(t-e)+e}function jm(n){return n.rangeStart&&n.rangeEnd?xm(n):n.rangeStart?Fm(n):n.rangeEnd?Um(n):Math.random()}function km(n){const e=n.rangeStart;return Math.random().toString(36).substring(e)}function qm(n){const e=n.rangeEnd;return Math.random().toString(36).substring(0,e)}function Jm(n){const e=n.rangeStart,t=n.rangeEnd;return Math.random().toString(36).substring(e,t)}function Wm(n){return n.rangeStart&&n.rangeEnd?Jm(n):n.rangeStart?km(n):n.rangeEnd?qm(n):Math.random().toString(36)}function Hm(n){return Math.random()>=.5}function RD(n){if(!n||!n.autogeneration)return null;switch(n.autogeneration.type){case xe.CurrentDateAndTime:if(n.name===g.Date)return new Date;case xe.Random:{if(n.name===g.Date)return Pm(n.autogeneration);if(n.name===g.Number)return jm(n.autogeneration);if(n.name===g.String)return Wm(n.autogeneration);if(n.name===g.Boolean)return Hm(n.autogeneration)}case xe.Unique:if(n.name===g.UUID)return Gm();default:throw new Error(`Generating a ${n.autogeneration.type} value for a ${n.name} is not supported`)}}const J="e7eb5382-3d99-44fd-972a-b8b1e819f6be",dl="global-user-variable-id",Ym="last-executed-timestamp-variable-id",bD={id:"alternative-relational-database-entity-identifier-property-data-type-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-identifier-property-data-type-id",entityType:r.DataType},vD={id:"alternative-relational-database-entity-identifier-property-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-identifier-property-id",entityType:r.Property},gD={id:"alternative-relational-database-entity-identifier-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"alternative-relational-database-entity-identifier-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:null,parent:bD,autogeneration:{type:xe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:vD},rs={id:"alternative-relational-database-entity-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},ID={required:!0,id:"alternative-relational-database-entity-identifier-property-id",name:"Identifier name",version:1,type:r.Property,private:!1,abstract:!1,implements:Oa,static:!0,index:0,dataType:gD,description:"The name of the main database inside of the server instance where the data will be stored.",parent:rs};r.GenericReference,r.DataType;const PD={id:"alternative-relational-database-entity-username-property-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-username-property-id",entityType:r.Property},DD={id:"alternative-relational-database-entity-username-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:PD},AD={required:!0,id:"alternative-relational-database-entity-username-property-id",name:"Username",version:1,type:r.Property,private:!1,abstract:!1,implements:Ca,static:!0,index:1,dataType:DD,description:"The username that will be used to connect to the database.",parent:rs};r.GenericReference,r.DataType;const SD={id:"alternative-relational-database-entity-password-property-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-password-property-id",entityType:r.Property},OD={id:"alternative-relational-database-entity-password-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:SD},CD={required:!0,id:"alternative-relational-database-entity-password-property-id",name:"Password",version:1,type:r.Property,private:!1,abstract:!1,implements:Ba,static:!0,index:2,dataType:OD,description:"The password that will be used to connect to the database.",parent:rs},BD={id:"alternative-relational-database-entity-min-size-property-data-type-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-min-size-property-data-type-id",entityType:r.DataType},wD={id:"alternative-relational-database-entity-min-size-property-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-min-size-property-id",entityType:r.Property},_D={id:"alternative-relational-database-entity-min-size-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Ce,asType:!1,defaultValue:{id:"alternative-relational-database-entity-min-size-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.Number,value:6,parent:BD,autogeneration:null,valueAsType:null},parent:wD},MD={required:!0,id:"alternative-relational-database-entity-min-size-property-id",name:"Minimum GB size",version:1,type:r.Property,private:!1,abstract:!1,implements:wa,static:!0,index:3,dataType:_D,description:"The minimum size of the database in GB.",parent:rs},ND={id:"alternative-relational-database-entity-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},zm={id:"alternative-relational-database-entity-id",type:r.CustomEntity,version:1,name:"Alternative relational Database",description:"A database that permanently stores the persisted entities attached to it.",abstract:!1,static:!0,properties:[ID,AD,CD,MD],methods:[],abstractMethods:[],extends:[],implements:[bn],x:0,y:0,parent:ND},$D={id:"animal-prototype-database-property-ref-id",type:r.GenericReference,entityId:"animal-prototype-database-property-id",entityType:r.Property},VD={id:"animal-prototype-database-property-data-type-default-value-parent-ref-id",type:r.GenericReference,entityId:"animal-prototype-database-property-data-type-default-value-id",entityType:r.DataType},LD={id:"animal-prototype-database-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:bn,asType:!1,defaultValue:{id:"animal-prototype-database-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,value:null,name:g.EntityTemplate,valueAsType:zm,autogeneration:null,parent:VD},parent:$D},GD={id:"animal-prototype-database-property-parent-ref-id",type:r.GenericReference,entityId:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",entityType:r.CustomEntity},FD={required:!0,id:"animal-prototype-database-property-id",name:"Database",version:1,type:r.Property,private:!1,abstract:!1,implements:mi,static:!0,index:0,dataType:LD,description:"The database that the entity belongs to.",parent:GD},UD={type:r.GenericReference,id:"291e4d4f-01d8-40a0-90dc-5f1ac6636e9b",entityType:r.Property,entityId:"5cb617b0-92be-4dbe-a007-49093368d94f"},xD={id:"c1930577-9e79-48a6-8905-be24611015c1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:UD},jD={type:r.GenericReference,id:"e2b9e456-f2b3-4dc7-85a2-fbb68ed0c9c7",entityType:r.CustomEntity,entityId:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},kD={required:!0,type:r.Property,id:"5cb617b0-92be-4dbe-a007-49093368d94f",version:1,name:"Name",description:"The name of the animal",implements:null,static:!1,private:!1,index:0,dataType:xD,abstract:!1,parent:jD},qD={type:r.GenericReference,id:"abc565de-4c83-4936-bc48-4013bef213b8",entityType:r.Project,entityId:J},JD={type:r.CustomEntity,id:"83eaa847-e62b-4192-84fb-3d8d6f5ea970",version:1,name:"Animal",description:"A living creature that is not human",abstract:!1,static:!1,abstractMethods:[],properties:[FD,kD],methods:[],extends:[],implements:[Be],x:0,y:0,parent:qD},WD={id:"default-relational-database-entity-identifier-property-data-type-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-identifier-property-data-type-id",entityType:r.DataType},HD={id:"default-relational-database-entity-identifier-property-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-identifier-property-id",entityType:r.Property},YD={id:"default-relational-database-entity-identifier-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"default-relational-database-entity-identifier-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:null,parent:WD,autogeneration:{type:xe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:HD},is={id:"default-relational-database-entity-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},zD={required:!0,id:"default-relational-database-entity-identifier-property-id",name:"Identifier name",version:1,type:r.Property,private:!1,abstract:!1,implements:Oa,static:!0,index:0,dataType:YD,description:"The name of the main database inside of the server instance where the data will be stored.",parent:is};r.GenericReference,r.DataType;const ZD={id:"default-relational-database-entity-username-property-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-username-property-id",entityType:r.Property},XD={id:"default-relational-database-entity-username-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:ZD},QD={required:!0,id:"default-relational-database-entity-username-property-id",name:"Username",version:1,type:r.Property,private:!1,abstract:!1,implements:Ca,static:!0,index:1,dataType:XD,description:"The username that will be used to connect to the database.",parent:is};r.GenericReference,r.DataType;const KD={id:"default-relational-database-entity-password-property-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-password-property-id",entityType:r.Property},eA={id:"default-relational-database-entity-password-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:KD},tA={required:!0,id:"default-relational-database-entity-password-property-id",name:"Password",version:1,type:r.Property,private:!1,abstract:!1,implements:Ba,static:!0,index:2,dataType:eA,description:"The password that will be used to connect to the database.",parent:is},nA={id:"default-relational-database-entity-min-size-property-data-type-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-min-size-property-data-type-id",entityType:r.DataType},rA={id:"default-relational-database-entity-min-size-property-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-min-size-property-id",entityType:r.Property},iA={id:"default-relational-database-entity-min-size-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Ce,asType:!1,defaultValue:{id:"default-relational-database-entity-min-size-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.Number,value:6,parent:nA,autogeneration:null,valueAsType:null},parent:rA},aA={required:!0,id:"default-relational-database-entity-min-size-property-id",name:"Minimum GB size",version:1,type:r.Property,private:!1,abstract:!1,implements:wa,static:!0,index:3,dataType:iA,description:"The minimum size of the database in GB.",parent:is},sA={id:"default-relational-database-entity-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},ul={id:"default-relational-database-entity-id",type:r.CustomEntity,version:1,name:"Relational Database",description:"A database that permanently stores the persisted entities attached to it.",abstract:!1,static:!0,properties:[zD,QD,tA,aA],methods:[],abstractMethods:[],extends:[],implements:[bn],x:0,y:0,parent:sA},oA={id:"user-prototype-database-property-data-type-ref-id",type:r.GenericReference,entityId:"user-prototype-database-property-data-type-id",entityType:r.DataType},lA={id:"user-prototype-database-property-ref-id",type:r.GenericReference,entityId:"user-prototype-database-property-id",entityType:r.Property},cA={id:"user-prototype-database-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:bn,asType:!1,defaultValue:{id:"user-prototype-database-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,value:null,name:g.EntityTemplate,valueAsType:ul,autogeneration:null,parent:oA},parent:lA},dA={id:"user-prototype-database-property-parent-ref-id",type:r.GenericReference,entityId:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",entityType:r.CustomEntity},uA={required:!0,id:"user-prototype-database-property-id",name:"Database",version:1,type:r.Property,private:!1,abstract:!1,implements:mi,static:!0,index:0,dataType:cA,description:"The database that the entity belongs to.",parent:dA},pA={type:r.GenericReference,id:"user-prototype-parent-ref-id",entityType:r.Project,entityId:J},pl={type:r.CustomEntity,id:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",version:1,name:"User",description:"A user of the application",implements:[Be],abstract:!1,static:!1,abstractMethods:[],extends:[],properties:[uA],methods:[],x:0,y:0,parent:pA},yA={type:r.GenericReference,id:"person-date-of-birth-property-data-type-parent-ref-id",entityType:r.Property,entityId:"person-date-of-birth-property-id"},hA={id:"person-date-of-birth-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Sr,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:yA},fA={type:r.GenericReference,id:"person-date-of-birth-property-parent-ref-id",entityType:r.CustomEntity,entityId:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},mA={required:!0,type:r.Property,id:"person-date-of-birth-property-id",version:1,name:"Date of birth",description:"The date of birth of the person",implements:null,private:!1,static:!1,index:0,dataType:hA,abstract:!1,parent:fA},TA={type:r.GenericReference,id:"a2867827-2f8e-4c25-b18b-d91857d7f24e",entityType:r.Property,entityId:"cacfec92-46c3-4fca-a1d9-fd1ba94d78c7"},EA={id:"1d49f41b-17b9-4f48-87aa-3ce43498e5a9",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:TA},RA={type:r.GenericReference,id:"01cbe760-40a9-4f49-8e3d-194d2f57cb1e",entityType:r.CustomEntity,entityId:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},bA={required:!0,type:r.Property,id:"cacfec92-46c3-4fca-a1d9-fd1ba94d78c7",version:1,name:"Name",description:"The name of the person",implements:null,private:!1,static:!1,index:0,dataType:EA,abstract:!1,parent:RA},vA={type:r.GenericReference,id:"3542b22a-3a2f-41c6-876e-24c885572498",entityType:r.Project,entityId:J},ct={type:r.CustomEntity,id:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416",version:1,name:"Person",description:"A entity to store more information about a person than the user entity does, to split the responsibilities and keep it the logic clean.",properties:[bA,mA],abstract:!1,static:!1,abstractMethods:[],methods:[],implements:[],extends:[pl],x:0,y:0,parent:vA},gA={type:r.GenericReference,id:"b59c80b7-b2e9-41e9-abcd-7c5652835efc",entityType:r.FunctionDeclaration,entityId:"36f29f96-c001-4b9a-b49c-83eff406a060"},IA={type:r.GenericReference,id:"1190b5a2-f25e-46db-884d-8a3dd1a44d94",entityType:r.ReturnStatement,entityId:"3ebc4342-c9e8-42e7-a61c-7937081e1d2e"},PA={type:r.GenericReference,id:"36c63126-7814-496f-a6cc-48662c2aabae",entityType:r.ArgumentDeclaration,entityId:"500dee3a-3435-4453-9699-0d053f646523"},DA={type:r.GenericReference,id:"c567e55d-ec12-4e4e-958e-f07522892b4b",entityType:r.ReturnDeclaration,entityId:"9e070523-7e07-4100-8637-960a187f5f14"},AA={id:"3973c5a1-f0d8-49a0-a9a9-a0009bf3f0d8",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:DA},yl={isError:!1,id:"9e070523-7e07-4100-8637-960a187f5f14",type:r.ReturnDeclaration,version:1,name:"Output Account Owner",description:null,dataType:AA,readsValue:PA,required:!0,index:0,parent:IA},SA={type:r.GenericReference,id:"567d923c-20da-4c1e-956d-962ea30c6d0b",entityType:r.FunctionDeclaration,entityId:"36f29f96-c001-4b9a-b49c-83eff406a060"},OA={type:r.GenericReference,id:"da85e620-59f3-42ab-88c8-b38d33c2c833",entityType:r.FunctionDeclaration,entityId:"36f29f96-c001-4b9a-b49c-83eff406a060"},Zm={type:r.ReturnStatement,id:"3ebc4342-c9e8-42e7-a61c-7937081e1d2e",version:1,outputs:[yl],calledByError:[],calledByEntry:[SA],calledBySuccess:[],throws:null,x:0,y:0,parent:OA},CA={type:r.GenericReference,id:"1c806bb7-4c25-4bad-963b-93dfbb7c8304",entityType:r.ArgumentDeclaration,entityId:"500dee3a-3435-4453-9699-0d053f646523"},BA={id:"d90fcc18-642b-433c-8fcb-4094b9031cd5",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:CA},Xm={id:"500dee3a-3435-4453-9699-0d053f646523",type:r.ArgumentDeclaration,version:1,name:"New Account Owner",description:null,dataType:BA,required:!0,writesValues:[yl],index:0,parent:gA},wA={type:r.GenericReference,id:"83dceb60-f3c4-4085-824c-85f2003bfd27",entityType:r.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},Qm={type:r.FunctionDeclaration,id:"36f29f96-c001-4b9a-b49c-83eff406a060",version:1,name:"Change owner of bank account",description:null,implements:null,inputs:[Xm],calls:[Zm],returnStatements:[Zm],index:0,collapsed:!1,private:!1,x:0,y:0,parent:wA},_A={type:r.GenericReference,id:"adbaf302-ffa9-49b6-a3c6-83f9a75068e3",entityType:r.VariableDeclaration,entityId:"8e36a476-766e-4cc2-a8a7-27a07dfb5a4b"},MA={id:"79ee04aa-1ba4-4ae9-a406-ed45e5b03f7f",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:_A},NA={type:r.GenericReference,id:"55e212d1-f0ec-4bb6-acbe-60f741367daf",entityType:r.OutputMap,entityId:"dc9ddb8f-02a0-4a43-aea6-270ec7b7f8a4"},$A={type:r.GenericReference,id:"944e1171-3d9b-4559-9386-1d4974b15962",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},VA={id:"8e36a476-766e-4cc2-a8a7-27a07dfb5a4b",type:r.VariableDeclaration,version:1,name:"Output Account Owner",description:null,dataType:MA,readsValue:NA,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:$A},LA={type:r.GenericReference,id:"b89ebc83-52cf-4447-a5ae-62241f713079",entityType:r.FunctionCall,entityId:"78f6dba8-bed8-44cd-8b0f-6dcc787d1e1e"},GA={id:"dc9ddb8f-02a0-4a43-aea6-270ec7b7f8a4",type:r.OutputMap,version:1,declaration:yl,writesValues:[VA],index:0,parent:LA},FA={type:r.GenericReference,id:"c1b9e125-1aad-48b7-9687-95c57a6bc10d",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},UA={type:r.GenericReference,id:"d2deaa02-e164-4425-905c-6dee47eb4eac",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},xA={type:r.GenericReference,id:"1109a655-ac62-4110-a933-42a72106f4f0",entityType:r.VariableDeclaration,entityId:"8bea6986-8da2-487b-905d-2fb962db6728"},jA={id:"7d9a1307-512e-42ec-9797-2f7229796b97",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:xA},kA={type:r.GenericReference,id:"bb61ebf7-57b3-4d14-905d-82ec907205b5",entityType:r.ArgumentDeclaration,entityId:"38f6b236-98ac-47b0-ab9c-d2f9610137b9"},qA={type:r.GenericReference,id:"6b8c7bf2-9fc8-4ea4-9ec0-f41679d513b1",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},JA={type:r.GenericReference,id:"6163d1a1-7a94-49b1-95bb-aecd8d6d335c",entityType:r.FunctionCall,entityId:"78f6dba8-bed8-44cd-8b0f-6dcc787d1e1e"},WA={type:r.GenericReference,id:"1f900f62-4bd2-4246-94aa-b8f5aad384fd",entityType:r.VariableDeclaration,entityId:"8bea6986-8da2-487b-905d-2fb962db6728"},Km={id:"be8538be-e6f9-4b94-9314-a546003ebaa0",type:r.InputMap,version:1,declaration:Xm,name:null,description:null,readsValue:WA,dynamicArguments:[],defaultValue:null,index:0,parent:JA},HA={type:r.VariableDeclaration,id:"8bea6986-8da2-487b-905d-2fb962db6728",version:1,name:"Changed Account Owner",description:null,dataType:jA,readsValue:kA,writesValues:[Km],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:qA},YA={type:r.FunctionCall,id:"78f6dba8-bed8-44cd-8b0f-6dcc787d1e1e",version:1,declaration:Qm,inputs:[Km],outputs:[GA],process:null,successCalls:[],errorCalls:[],calledByError:[],calledByEntry:[FA],calledBySuccess:[],parent:UA,error:null,x:0,y:0},zA={type:r.GenericReference,id:"2d47aba1-a918-46a7-8db7-78809928654a",entityType:r.ArgumentDeclaration,entityId:"38f6b236-98ac-47b0-ab9c-d2f9610137b9"},ZA={id:"5583766c-e9a5-484c-8f43-f4b0a6a1876c",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:zA},XA={type:r.GenericReference,id:"3e2a81e4-55b2-49f5-94eb-39135e95c3d7",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},QA={id:"38f6b236-98ac-47b0-ab9c-d2f9610137b9",type:r.ArgumentDeclaration,version:1,description:null,name:"New Company Owner",dataType:ZA,required:!0,index:0,writesValues:[HA],parent:XA},KA={type:r.GenericReference,id:"30291b01-1b94-4d03-b434-dec122c2bc7d",entityType:r.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},eS={type:r.FunctionDeclaration,id:"15ee556d-681f-47de-a31f-16d4ba73cc4e",version:1,description:null,name:"Change Account Owner",inputs:[QA],collapsed:!0,returnStatements:[],calls:[YA],private:!1,index:0,implements:null,x:0,y:0,parent:KA},tS={type:r.GenericReference,id:"72c7ac0a-886e-4e10-b7ed-2f5a819a0233",entityType:r.Property,entityId:"b8f4656a-2b77-43ab-af51-7c32ddede044"},nS={id:"c09dd282-73f6-4077-a467-b66db20b9fc6",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:tS},rS={type:r.GenericReference,id:"8a950024-512c-4580-81db-a705410aeb99",entityType:r.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},eT={required:!0,type:r.Property,id:"b8f4656a-2b77-43ab-af51-7c32ddede044",version:1,name:"Account number",description:null,private:!0,implements:null,static:!1,index:0,dataType:nS,abstract:!1,parent:rS},iS={type:r.GenericReference,id:"b6704b6c-c3bd-49d0-8ebc-82d03e726cbb",entityType:r.Property,entityId:"733d06a6-b8c5-44f3-a1f7-a8c9bd9e44ea"},aS={id:"c03e0b0a-88ab-401a-8833-4806738bdc37",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:iS},sS={type:r.GenericReference,id:"1ef999a7-e9ed-406a-866e-e58277fc985b",entityType:r.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},tT={required:!0,type:r.Property,id:"733d06a6-b8c5-44f3-a1f7-a8c9bd9e44ea",version:1,description:null,name:"Account Owner",index:1,dataType:aS,implements:null,static:!1,private:!0,abstract:!1,parent:sS},oS={type:r.GenericReference,id:"d41d7f41-98b8-4f67-be92-c349fdda5156",entityType:r.Project,entityId:J},Lr={type:r.CustomEntity,id:"506946aa-30da-48e6-918f-ffd9eac58813",version:1,name:"Bank Account",description:null,abstract:!1,static:!1,abstractMethods:[],properties:[eT,tT],methods:[Qm,eS],extends:[],implements:[Be],x:0,y:0,parent:oS},Vi="bitcoin-api-response-id",nT="time-property-id",rT="disclamer-property-id",iT="chart-name-property-id",aT="bpi-property-id",as="bpi-entity-id",sT="usd-property-id",oT="gbp-property-id",lT="eur-property-id",Gr="currency-entity-id",cT="currency-code-property-id",dT="currency-symbol-property-id",uT="currency-rate-property-id",pT="currency-description-property-id",yT="currency-rate-number-property-id",lS={type:r.GenericReference,id:"code-property-data-type-parent-ref-id",entityType:r.Property,entityId:cT},cS={id:"code-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rn,isList:!1,asType:!1,isNullable:!1,defaultValue:null,options:["USD","GBP","EUR"],constant:!1,parent:lS},dS={type:r.GenericReference,id:"code-property-parent-ref-id",entityType:r.CustomEntity,entityId:Gr},uS={required:!0,type:r.Property,id:cT,version:1,name:"code",description:null,dataType:cS,index:0,implements:null,static:!1,private:!1,abstract:!1,parent:dS},pS={type:r.GenericReference,id:"symbol-property-data-type-parent-ref-id",entityType:r.Property,entityId:dT},yS={id:"symbol-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rn,isList:!1,asType:!1,isNullable:!1,defaultValue:null,options:["&#36;","&pound;","&euro;"],constant:!1,parent:pS},hS={type:r.GenericReference,id:"symbol-property-parent-ref-id",entityType:r.CustomEntity,entityId:Gr},fS={required:!0,type:r.Property,id:dT,version:1,name:"symbol",description:null,index:0,dataType:yS,implements:null,static:!1,private:!1,abstract:!1,parent:hS},mS={type:r.GenericReference,id:"rate-property-data-type-parent-ref-id",entityType:r.Property,entityId:uT},TS={id:"rate-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:mS},ES={type:r.GenericReference,id:"rate-property-parent-ref-id",entityType:r.CustomEntity,entityId:Gr},RS={required:!0,type:r.Property,id:uT,version:1,name:"rate",description:null,index:0,dataType:TS,implements:null,static:!1,private:!1,abstract:!1,parent:ES},bS={type:r.GenericReference,id:"description-property-data-type-parent-ref-id",entityType:r.Property,entityId:pT},vS={id:"description-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:bS},gS={type:r.GenericReference,id:"description-property-parent-ref-id",entityType:r.CustomEntity,entityId:Gr},IS={required:!0,type:r.Property,id:pT,version:1,name:"description",description:null,dataType:vS,implements:null,static:!1,index:0,private:!1,abstract:!1,parent:gS},PS={type:r.GenericReference,id:"rate-number-property-data-type-parent-ref-id",entityType:r.Property,entityId:yT},DS={id:"rate-number-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:PS},AS={type:r.GenericReference,id:"rate-number-property-parent-ref-id",entityType:r.CustomEntity,entityId:Gr},SS={required:!0,type:r.Property,id:yT,version:1,name:"rate_float",description:null,dataType:DS,implements:null,static:!1,index:0,private:!1,abstract:!1,parent:AS},OS={type:r.GenericReference,id:"currency-prototype-parent-ref-id",entityType:r.Project,entityId:J},ss={type:r.CustomEntity,id:Gr,version:1,name:"Currency",description:"This entity describes a currency in the Bitcoin Price Index.",properties:[uS,fS,RS,IS,SS],static:!1,abstract:!1,abstractMethods:[],methods:[],extends:[],implements:[],x:0,y:0,parent:OS},CS={type:r.GenericReference,id:"usd-property-data-type-parent-ref-id",entityType:r.Property,entityId:sT},BS={id:"usd-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ss,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:CS},wS={type:r.GenericReference,id:"usd-property-parent-ref-id",entityType:r.CustomEntity,entityId:as},_S={required:!0,id:sT,type:r.Property,version:1,name:"USD",description:null,index:0,dataType:BS,implements:null,static:!1,private:!1,abstract:!1,parent:wS},MS={type:r.GenericReference,id:"gbp-property-data-type-parent-ref-id",entityType:r.Property,entityId:oT},NS={id:"gbp-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ss,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:MS},$S={type:r.GenericReference,id:"gbp-property-parent-ref-id",entityType:r.CustomEntity,entityId:as},VS={required:!0,id:oT,type:r.Property,version:1,name:"GBP",description:null,index:0,dataType:NS,implements:null,static:!1,private:!1,abstract:!1,parent:$S},LS={type:r.GenericReference,id:"eur-property-data-type-parent-ref-id",entityType:r.Property,entityId:lT},GS={id:"eur-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ss,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:LS},FS={type:r.GenericReference,id:"eur-property-parent-ref-id",entityType:r.CustomEntity,entityId:as},US={required:!0,id:lT,type:r.Property,version:1,name:"EUR",description:null,implements:null,static:!1,index:0,dataType:GS,private:!1,abstract:!1,parent:FS},xS={type:r.GenericReference,id:"bpi-prototype-parent-ref-id",entityType:r.Project,entityId:J},hT={type:r.CustomEntity,id:as,version:1,name:"BPI",description:"The Bitcoin Price Index",properties:[_S,VS,US],abstract:!1,static:!1,abstractMethods:[],methods:[],extends:[],implements:[],x:0,y:0,parent:xS},jS={type:r.GenericReference,id:"time-property-data-type-parent-ref-id",entityType:r.Property,entityId:nT},kS={id:"time-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ro,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:jS},qS={type:r.GenericReference,id:"time-property-parent-ref-id",entityType:r.CustomEntity,entityId:Vi},JS={required:!0,type:r.Property,id:nT,version:1,name:"time",description:null,index:0,dataType:kS,implements:null,static:!1,private:!1,abstract:!1,parent:qS},WS={type:r.GenericReference,id:"disclamer-property-data-type-parent-ref-id",entityType:r.Property,entityId:rT},HS={id:"disclamer-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:WS},YS={type:r.GenericReference,id:"disclamer-property-parent-ref-id",entityType:r.CustomEntity,entityId:Vi},zS={required:!0,type:r.Property,id:rT,version:1,name:"disclamer",description:null,index:0,dataType:HS,implements:null,static:!1,private:!1,abstract:!1,parent:YS},ZS={type:r.GenericReference,id:"chart-name-property-data-type-parent-ref-id",entityType:r.Property,entityId:iT},XS={id:"chart-name-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:ZS},QS={type:r.GenericReference,id:"chart-name-property-parent-ref-id",entityType:r.CustomEntity,entityId:Vi},KS={required:!0,type:r.Property,id:iT,version:1,name:"chartName",description:null,index:0,dataType:XS,implements:null,static:!1,private:!1,abstract:!1,parent:QS},eO={type:r.GenericReference,id:"bpi-property-data-type-parent-ref-id",entityType:r.Property,entityId:aT},tO={id:"bpi-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:hT,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:eO},nO={type:r.GenericReference,id:"bpi-property-parent-ref-id",entityType:r.CustomEntity,entityId:Vi},rO={required:!0,type:r.Property,id:aT,version:1,name:"bpi",description:null,implements:null,index:0,dataType:tO,static:!1,private:!1,abstract:!1,parent:nO},iO={type:r.GenericReference,id:"bitcoin-api-response-parent-ref-id",entityType:r.Project,entityId:J},fT={type:r.CustomEntity,id:Vi,version:1,name:"Bitcoin API Response type",description:"The type of the data structure response from the Bitcoin API call",properties:[JS,zS,KS,rO],abstract:!1,static:!1,abstractMethods:[],methods:[],extends:[],implements:[],x:0,y:0,parent:iO},aO={type:r.GenericReference,id:"eefa0147-f873-484b-b4f3-9e6493aab183",entityType:r.ArgumentDeclaration,entityId:"f2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},sO={id:"b9f35112-dcb2-4b7c-8fb9-f196b3fa37f9",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:aO},oO={type:r.GenericReference,id:"128770d6-5e3a-4aff-bca0-ad1f32ebefa8",entityType:r.ReturnStatement,entityId:"e4e05975-c277-471a-b869-f0aed316045c"},lO={type:r.GenericReference,id:"0be84bf9-6421-42b9-980f-6a03f30cb809",entityType:r.ReturnDeclaration,entityId:"a1ec31f0-25ca-42ac-a4c4-c9ec2255f55b"},cO={id:"43daa02a-237b-4b7c-a6e9-2b8c167f6e22",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:lO},dO={type:r.GenericReference,id:"ad380383-4a47-43da-968e-75a2d603b230",entityType:r.ArgumentDeclaration,entityId:"f2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},mT={isError:!1,id:"a1ec31f0-25ca-42ac-a4c4-c9ec2255f55b",type:r.ReturnDeclaration,version:1,name:"New Company Owner",description:"The new owner of the company",dataType:cO,readsValue:dO,required:!0,index:0,parent:oO},uO={type:r.GenericReference,id:"4f24dc27-59a1-49bf-abcc-7d72b00926e4",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},pO={id:"f2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a",type:r.ArgumentDeclaration,version:1,name:"New Company Owner",description:null,dataType:sO,writesValues:[mT],required:!0,index:0,parent:uO},yO={type:r.GenericReference,id:"5c9a02f0-d2cf-4efc-828e-467f33a74dd3",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},hO={type:r.GenericReference,id:"2ff8f3da-e0c5-4f0f-b688-2c051c588786",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},fO={type:r.GenericReference,id:"195ae28c-159b-42de-80b1-2ebb8be3619f",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},TT={type:r.ReturnStatement,id:"e4e05975-c277-471a-b869-f0aed316045c",version:1,outputs:[mT],calledByError:[],calledByEntry:[hO],calledBySuccess:[],throws:null,x:0,y:0,parent:fO},mO={type:r.FunctionDeclaration,id:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4",version:1,name:"Change owner of company",description:"Change the owner of the company to a new person",inputs:[pO],calls:[TT],index:0,collapsed:!1,implements:null,returnStatements:[TT],private:!1,x:0,y:0,parent:yO},TO={type:r.GenericReference,id:"e691026f-6db0-43ec-93cd-805ae7d713e3",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},EO={type:r.GenericReference,id:"29c4e3e0-1b66-4075-b559-45b27c5cf356",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},RO={type:r.GenericReference,id:"b1289358-b185-455d-8f58-7791b15cd52a",entityType:r.ReturnStatement,entityId:"9690cd1d-ea35-4e83-823d-0c7310265fee"},bO={type:r.GenericReference,id:"d847bb49-8789-4550-bb2d-e2d551993b28",entityType:r.VariableDeclaration,entityId:"e5a8b6d0-0e6f-4e9a-9b1e-8a2b5c7f0d5a"},vO={type:r.GenericReference,id:"06535500-c37c-4915-8398-1d4e184fa5e7",entityType:r.ReturnDeclaration,entityId:"e7a35277-a0c4-46d5-aca2-bddd0c26e931"},gO={id:"d358dd91-35f7-4095-b728-3fb3c71dbc05",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Fn,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:vO},hl={isError:!1,id:"e7a35277-a0c4-46d5-aca2-bddd0c26e931",type:r.ReturnDeclaration,version:1,name:"Is name registered",description:"Whether the company name is already registered",dataType:gO,readsValue:bO,required:!0,index:0,parent:RO},ET={type:r.ReturnStatement,id:"9690cd1d-ea35-4e83-823d-0c7310265fee",version:1,outputs:[hl],calledByError:[],calledByEntry:[],calledBySuccess:[TO],throws:null,x:0,y:0,parent:EO},IO={type:r.GenericReference,id:"b3126414-4c9b-495f-901e-59f5073c8d67",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},PO={type:r.GenericReference,id:"35115c48-618b-411b-a290-d746d22fdd10",entityType:r.VariableDeclaration,entityId:"83e12ebb-c958-4dee-b750-8ab9930f0f4e"},RT={id:"a0e7b4e5-2f5f-4d4c-8f5c-1e1f1e1a1b1a",type:r.InputMap,version:1,declaration:No,name:null,description:null,dynamicArguments:[],readsValue:PO,defaultValue:null,parent:IO,index:2},DO={type:r.GenericReference,id:"14f46eae-04a5-47d1-9c7f-28fb09b84d1d",entityType:r.VariableDeclaration,entityId:"e5a8b6d0-0e6f-4e9a-9b1e-8a2b5c7f0d5a"},AO={id:"990bd5d1-07ea-4253-acc1-d03bedd22a38",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Fn,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:DO},SO={type:r.GenericReference,id:"e4c3542a-8fb0-4b72-8d6e-3fdff812dd67",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},OO={type:r.GenericReference,id:"825f9f60-22a8-4cc6-9055-d7333f8e92f4",entityType:r.OutputMap,entityId:"8f30d787-9459-4d8d-98a2-b46fbc2006d5"},CO={type:r.GenericReference,id:"is-company-name-registered-var-called-by-ref",entityType:r.Operation,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},bT={type:r.VariableDeclaration,id:"e5a8b6d0-0e6f-4e9a-9b1e-8a2b5c7f0d5a",version:1,name:"Is name registered",description:"Whether the company name is registered with the government company registry",dataType:AO,readsValue:OO,writesValues:[hl],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[CO],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:SO},BO={type:r.GenericReference,id:"1aba021e-48ef-44ac-93d0-eaecac5895da",entityType:r.InputMap,entityId:"c3c8d6c1-3e0d-4e6c-9f9c-6b8c7d7f8e9a"},wO={type:r.GenericReference,id:"dffae7e0-0a5c-4c14-8ed2-8d680b4c4c86",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},_O={type:r.InputMap,id:"c3c8d6c1-3e0d-4e6c-9f9c-6b8c7d7f8e9a",version:1,declaration:va,name:null,description:null,readsValue:null,defaultValue:{id:"gov-http-request-url-argument-default-value-id",type:r.PrimitiveValue,version:1,value:"https://api.publicapis.org/entries",name:g.String,valueAsType:null,parent:BO,autogeneration:null},index:1,dynamicArguments:[],parent:wO},MO={type:r.GenericReference,id:"64ae61f5-ace7-401b-926d-25f852daa60e",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},NO={id:"8f30d787-9459-4d8d-98a2-b46fbc2006d5",type:r.OutputMap,version:1,declaration:yi,index:2,writesValues:[bT],parent:MO},$O={type:r.GenericReference,id:"62a1a086-caea-4270-9c9f-a1695503e745",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},VO={id:"48cf7654-8f3e-4fcd-abc6-740876c310a0",type:r.InputMap,version:1,declaration:ba,name:null,description:null,dynamicArguments:[],readsValue:null,index:0,defaultValue:null,parent:$O},LO={type:r.GenericReference,id:"b0c9c79f-f525-428d-99e7-087d3237ad62",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},GO={id:"2c1dc406-4b71-4023-87b2-abede3a111d2",type:r.InputMap,version:1,name:null,description:null,declaration:ga,dynamicArguments:[],index:3,readsValue:null,defaultValue:null,parent:LO},FO={type:r.GenericReference,id:"9887d6c9-d75b-4c97-b722-e2e60945ea20",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},UO={id:"3fef94b2-0278-43ae-b0c5-bc7083f0a111",type:r.InputMap,version:1,declaration:Ia,name:null,description:null,dynamicArguments:[],readsValue:null,index:4,defaultValue:null,parent:FO},xO={type:r.GenericReference,id:"561275b6-5056-45d8-bf7d-8abaa4645593",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},jO={id:"3efe20a7-4d63-411e-89ef-63e277f48d66",type:r.OutputMap,version:1,declaration:Pa,index:1,writesValues:[],parent:xO},kO={type:r.GenericReference,id:"3170ccc2-13de-4bfc-802a-a643be41cd42",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},qO={id:"40d34323-d7e6-440a-8016-67c05a3b66dd",type:r.OutputMap,version:1,declaration:yi,index:0,writesValues:[],parent:kO},JO={type:r.GenericReference,id:"7432fa82-f574-4c54-a8fa-4cc4376da3d5",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},WO={type:r.GenericReference,id:"8f518502-9eea-462c-8753-8bc3bf3e29a9",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},HO={type:r.GenericReference,id:"123b8f18-79d9-4166-a5f6-78ec4b461680",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},YO={type:r.GenericReference,id:"e691026f-6db0-43ec-93cd-805ae7d713e3",entityType:r.FunctionCall,entityId:"abb5d456-ee85-4800-bdd9-d409415f60d7"},zO={type:r.GenericReference,id:"a375eedf-4811-41aa-a998-4897c69c46b9",entityType:r.ReturnDeclaration,entityId:"024a9b77-c1cd-4b67-b3ba-1935046b590d"},ZO={id:"767cc5ed-20ec-4fd1-89b1-c8d19daa87d1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:zO},XO={type:r.GenericReference,id:"e64b0c23-129d-4d74-8ab4-eec60e1e5b9b",entityType:r.ReturnStatement,entityId:"ea444a9e-6a5b-4138-b81f-0d5618c3c6f3"},vT={isError:!0,id:"024a9b77-c1cd-4b67-b3ba-1935046b590d",type:r.ReturnDeclaration,version:1,name:"Error",description:"The error that occurred during the HTTP request to the government company registry",dataType:ZO,required:!0,readsValue:null,index:0,parent:XO},QO={type:r.ReturnStatement,id:"ea444a9e-6a5b-4138-b81f-0d5618c3c6f3",version:1,outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[YO],throws:vT,x:0,y:0,parent:HO},KO={type:r.GenericReference,id:"323814fb-9723-49ef-bbba-f882384f18e4",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},eC={id:"2f63f7ba-0ff0-458a-92bc-65d1dd4df8c3",type:r.OutputMap,declaration:Vo,version:1,writesValues:[vT],index:0,parent:KO},tC={type:r.Operation,id:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7",version:1,declaration:hi,inputs:[VO,_O,RT,GO,UO],outputs:[qO,jO,NO],process:null,calledByError:[],calledByEntry:[JO],calledBySuccess:[],successCalls:[ET,bT],errorCalls:[QO],error:eC,dynamicArguments:[],x:0,y:0,parent:WO},nC={type:r.GenericReference,id:"597b8aa2-f6f2-4f7d-bbb9-b703d02de96a",entityType:r.InputMap,entityId:"b0e7b4e5-2f5f-4d4c-8f5c-1e1f1e1a1b1a"},rC={type:r.GenericReference,id:"546d99b3-28c4-4186-93a0-ac53c1565e07",entityType:r.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},iC={id:"b0e7b4e5-2f5f-4d4c-8f5c-1e1f1e1a1b1a",type:r.InputMap,version:1,declaration:Ta,name:null,description:null,readsValue:null,defaultValue:{id:"base-query-string-map-default-value-id",type:r.PrimitiveValue,version:1,value:"?name=",name:g.String,parent:nC,valueAsType:null,autogeneration:null},dynamicArguments:[],index:0,parent:rC},aC={type:r.GenericReference,id:"6a56fb22-82e1-47c9-bf85-41c4e5986c74",entityType:r.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},sC={type:r.GenericReference,id:"191c6a6d-9bcb-441e-bf98-de0da96f5f3a",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},oC={type:r.GenericReference,id:"d8fcbb76-dae2-40cf-847a-02364721b387",entityType:r.VariableDeclaration,entityId:"83e12ebb-c958-4dee-b750-8ab9930f0f4e"},lC={id:"6a70c42b-024a-47c6-8a9d-af52be9c9b9a",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:oC},cC={type:r.GenericReference,id:"2282e2c0-ed9e-4c7b-86fc-1a364fa0fdb8",entityType:r.OutputMap,entityId:"f6c22cf8-63e4-4b2d-b649-b5ab884cf9a5"},dC={type:r.GenericReference,id:"assembled-query-string-called-by-ref",entityType:r.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},gT={type:r.VariableDeclaration,id:"83e12ebb-c958-4dee-b750-8ab9930f0f4e",version:1,name:"Query string",description:"The final, assembled query string that will be used in the HTTP request to the government company registry",dataType:lC,readsValue:cC,writesValues:[RT],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[dC],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:sC},uC={id:"f6c22cf8-63e4-4b2d-b649-b5ab884cf9a5",type:r.OutputMap,version:1,writesValues:[gT],declaration:ui,index:0,parent:aC},pC={type:r.GenericReference,id:"a1b48e7c-0301-4747-b4dd-b5af79956f7f",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},yC={type:r.GenericReference,id:"487c9235-be95-4c96-b9b5-2714b374a277",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},hC={type:r.GenericReference,id:"f6471f4f-b269-46fa-80ec-885e87a449c2",entityId:"a4106e8e-ec4f-4633-a636-09ae73135f69",entityType:r.ArgumentDeclaration},fC={type:r.GenericReference,id:"62b4afb0-6c21-4b0f-abd3-cebef7b17c28",entityType:r.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},IT={id:"08f36e2b-bad2-425c-8129-93560bec8488",version:1,type:r.InputMap,declaration:Ea,name:null,description:null,readsValue:hC,dynamicArguments:[],defaultValue:null,index:1,parent:fC},mC={type:r.Operation,id:"8f2094c0-e27e-465e-9280-112da0de9019",declaration:pi,version:1,inputs:[iC,IT],outputs:[uC],process:null,calledByError:[],calledByEntry:[pC],calledBySuccess:[],dynamicArguments:[],successCalls:[gT],errorCalls:[],error:null,x:0,y:0,parent:yC},TC={type:r.GenericReference,id:"c2e0e9b4-aa46-4974-bf8a-886b737b12fb",entityType:r.ArgumentDeclaration,entityId:"a4106e8e-ec4f-4633-a636-09ae73135f69"},EC={id:"a4279518-3bf3-44b7-a2ac-65142ca37f1c",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:TC},RC={type:r.GenericReference,id:"dc273f24-164b-4943-82f9-589b237141e2",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},PT={id:"a4106e8e-ec4f-4633-a636-09ae73135f69",type:r.ArgumentDeclaration,version:1,name:"Company Name to check",description:"The name of the company to check in the government registry",dataType:EC,required:!1,writesValues:[IT],index:0,parent:RC},bC={type:r.GenericReference,id:"2178a10c-1cc0-4dad-97c3-0941be6c9738",entityType:r.Project,entityId:J},DT={type:r.FunctionDeclaration,id:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d",version:1,name:"Check Gov Company Registry availability",description:"Check whether the company name is already registered in the government company registry, or it is available for a new company to use.",inputs:[PT],calls:[mC,tC],returnStatements:[ET],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:bC},vC={type:r.GenericReference,id:"4d66c53c-f0f7-496a-9955-1e6c8533c5e0",entityType:r.Condition,entityId:"a8f4b0f2-5e5e-4e8f-9d7b-1b5b9b6e9a4b"},gC={type:r.GenericReference,id:"6fa0c8e0-d104-4b4d-a035-d4f6e0c49f09",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},IC={type:r.GenericReference,id:"146408d5-5336-4877-941a-777dd5871926",entityType:r.ArgumentDeclaration,entityId:"c6cf620c-1eee-4919-8578-1a0b6c088551"},PC={type:r.GenericReference,id:"34ae8f8c-548d-4654-984a-6f36affdaf49",entityType:r.FunctionCall,entityId:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},AT={id:"69b1215d-9ebf-4274-b9cb-d4a5888f5122",version:1,type:r.InputMap,declaration:PT,name:null,description:null,readsValue:IC,dynamicArguments:[],defaultValue:null,index:0,parent:PC},DC={type:r.GenericReference,id:"07540a94-dda1-40b3-8452-f209bdc87b88",entityType:r.FunctionCall,entityId:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},AC={type:r.GenericReference,id:"eaddf12a-a995-429e-90a0-13bf06efeb28",entityType:r.VariableDeclaration,entityId:"faaf3bf6-917d-40d7-aee6-5164f6646c4b"},SC={id:"7fdaf943-3ffb-48e0-b766-b86cc24090cf",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Fn,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:AC},OC={type:r.GenericReference,id:"030fb5c5-af4d-4c85-8cf0-e99edd50d2bd",entityType:r.OutputMap,entityId:"c1ec31f0-25ca-42ac-a4c4-c9ec2255f55b"},CC={type:r.GenericReference,id:"a8b618e9-c68c-48c1-8bd6-ef47c87d699e",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},BC={type:r.GenericReference,id:"is-company-name-valid-var-called-by-ref",entityType:r.FunctionCall,entityId:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},ST={type:r.VariableDeclaration,id:"faaf3bf6-917d-40d7-aee6-5164f6646c4b",version:1,name:"Is name valid",description:"Whether the company name is valid",dataType:SC,readsValue:OC,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[BC],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:CC},wC={id:"c1ec31f0-25ca-42ac-a4c4-c9ec2255f55b",type:r.OutputMap,version:1,declaration:hl,writesValues:[ST],index:0,parent:DC},_C={type:r.FunctionCall,id:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a",version:1,declaration:DT,inputs:[AT],outputs:[wC],calledByError:[],calledByEntry:[],process:null,calledBySuccess:[vC],successCalls:[ST],errorCalls:[],error:null,x:0,y:0,parent:gC},MC={type:r.GenericReference,id:"9d0b87b4-bfed-4e02-9e84-6831c21feae2",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},NC={type:r.GenericReference,id:"74345f4f-e80d-48be-adff-d12fcea25bec",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},$C={type:r.GenericReference,id:"b39279ea-969a-4efb-a9ec-353bfd13db65",entityType:r.ArgumentDeclaration,entityId:"c6cf620c-1eee-4919-8578-1a0b6c088551"},VC={type:r.GenericReference,id:"549db613-f225-4c5b-9634-7d096717f0ff",entityType:r.Condition,entityId:"a8f4b0f2-5e5e-4e8f-9d7b-1b5b9b6e9a4b"},OT={id:"358e242c-7448-442e-ab8b-fd7fa119ea71",version:1,type:r.InputMap,declaration:kn.fixedArguments[0],name:null,description:null,dynamicArguments:[],readsValue:$C,defaultValue:null,index:0,parent:VC},LC={type:r.Condition,id:"a8f4b0f2-5e5e-4e8f-9d7b-1b5b9b6e9a4b",version:1,declaration:kn,inputs:[OT],calledByError:[],calledByEntry:[MC],calledBySuccess:[],successCalls:[_C],errorCalls:[],x:0,y:0,parent:NC},GC={type:r.GenericReference,id:"43ba1e25-f805-488f-8ae8-c58bb6215b2f",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},FC={type:r.GenericReference,id:"eb091bed-507f-4a1e-93b5-7cd2fccfe002",entityType:r.VariableDeclaration,entityId:"9c928995-0dd5-4f97-9962-56b343bc8a45"},UC={id:"d64152ea-831f-4426-9506-a39bfa170513",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Lr,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:FC},xC={type:r.GenericReference,id:"7e79c29f-f7bd-441a-a77e-c627604dae94",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},jC={type:r.GenericReference,id:"8995ce5f-d5cf-4341-a8b1-5c046cc78b89",entityType:r.ArgumentDeclaration,entityId:"7ed0f7bb-2df0-44e2-b0b3-0709dcca8071"},kC={type:r.GenericReference,id:"new-company-bank-account-var-decl-1-called-by-ref",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},CT={type:r.VariableDeclaration,id:"9c928995-0dd5-4f97-9962-56b343bc8a45",version:1,name:"New bank account",description:"The new entity value representing the new bank account of the company",dataType:UC,readsValue:jC,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[kC],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:xC},qC={type:r.GenericReference,id:"9a4887bf-d50d-43e4-bdd5-a5262f65f04b",entityType:r.ArgumentDeclaration,entityId:"7ed0f7bb-2df0-44e2-b0b3-0709dcca8071"},JC={id:"ae148c06-3143-49e9-9614-c3aca3f6fa7b",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Lr,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:qC},WC={id:"7ed0f7bb-2df0-44e2-b0b3-0709dcca8071",type:r.ArgumentDeclaration,version:1,name:"New bank account",description:"The new bank account of the company",dataType:JC,required:!0,index:1,writesValues:[CT],parent:GC},HC={type:r.GenericReference,id:"caec9cf8-3133-48d4-a390-114fa71b2933",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},YC={type:r.GenericReference,id:"cebcbad8-ca87-4c4b-be8a-312293d49892",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},zC={type:r.GenericReference,id:"7b8ccfe5-f9cd-4776-a19b-80c689bbe3df",entityType:r.ArgumentDeclaration,entityId:"c6cf620c-1eee-4919-8578-1a0b6c088551"},ZC={id:"2a6b4703-ac8d-4d25-8abd-48a115577fec",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:zC},XC={id:"c6cf620c-1eee-4919-8578-1a0b6c088551",type:r.ArgumentDeclaration,version:1,name:"New company name",description:null,dataType:ZC,required:!0,index:0,writesValues:[OT,AT],parent:YC},QC={type:r.FunctionDeclaration,id:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84",version:1,name:"Company changed event",description:"The event that is triggered when a company is changed",returnStatements:[],collapsed:!1,inputs:[XC,WC],calls:[LC,CT],index:1,private:!1,implements:null,x:0,y:0,parent:HC},KC={type:r.GenericReference,id:"employee-manager-property-data-type-entity-ref-id",entityType:r.CustomEntity,entityId:"employee-entity-id"},eB={type:r.GenericReference,id:"employee-manager-property-data-type-parent-ref-id",entityType:r.Property,entityId:"employee-manager-property-id"},tB={id:"employee-manager-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:KC,isList:!1,isNullable:!0,asType:!1,defaultValue:null,constant:!1,parent:eB},nB={type:r.GenericReference,id:"employee-manager-property-parent-ref-id",entityType:r.CustomEntity,entityId:"employee-entity-id"},rB={required:!0,type:r.Property,id:"employee-manager-property-id",version:1,name:"Manager",description:"The manager of the employee",index:0,implements:null,private:!1,static:!1,dataType:tB,abstract:!1,parent:nB},iB={type:r.GenericReference,id:"employee-start-date-property-data-type-parent-ref-id",entityType:r.Property,entityId:"employee-start-date-property-id"},aB={id:"employee-start-date-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Sr,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:iB},sB={type:r.GenericReference,id:"employee-start-date-property-parent-ref-id",entityType:r.CustomEntity,entityId:"employee-entity-id"},oB={required:!0,type:r.Property,id:"employee-start-date-property-id",version:1,name:"Start date",description:"The date the employee started working in the company",index:0,private:!1,static:!1,implements:null,dataType:aB,abstract:!1,parent:sB},lB={type:r.GenericReference,id:"employee-department-property-ref-id",entityType:r.Property,entityId:"employee-department-property-id"},cB={id:"employee-department-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rn,isList:!1,isNullable:!1,asType:!1,options:["Human Resources","Finance","IT","Sales","Marketing","Customer Service","Logistics","Product"],defaultValue:null,constant:!1,parent:lB},dB={type:r.GenericReference,id:"employee-department-property-parent-ref-id",entityType:r.CustomEntity,entityId:"employee-entity-id"},uB={required:!0,type:r.Property,id:"employee-department-property-id",version:1,name:"Department",description:"The department the employee works in, from a list of departments in the company",index:0,implements:null,static:!1,private:!1,dataType:cB,abstract:!1,parent:dB},pB={type:r.GenericReference,id:"employee-prototype-parent-ref-id",entityType:r.Project,entityId:J},It={type:r.CustomEntity,id:"employee-entity-id",version:1,name:"Employee",description:"A entity that represents an employee in the company",properties:[uB,oB,rB],abstract:!1,static:!1,abstractMethods:[],methods:[],implements:[],extends:[ct],x:0,y:0,parent:pB},yB={type:r.GenericReference,id:"dec8fbfe-9124-41fd-9f1c-5b2f07cfd6ba",entityType:r.Property,entityId:"4f52d044-f3dd-4bdf-927e-637c3b92e8bd"},hB={id:"bc0b8979-6c43-4d47-a712-6742b89e3c00",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:yB},fB={type:r.GenericReference,id:"4f8c0a05-466e-4672-b4c4-6bd408c0be9a",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},mB={required:!0,type:r.Property,id:"4f52d044-f3dd-4bdf-927e-637c3b92e8bd",version:1,name:"Company Name",private:!1,static:!1,description:"The name of the company",index:0,implements:null,dataType:hB,abstract:!1,parent:fB},TB={type:r.GenericReference,id:"95173fe0-a6e6-443c-94f3-f7c5cf171fcf",entityType:r.Property,entityId:"80c86e1b-caca-4ba5-9b1f-38f72d10e4a3"},EB={id:"ddbb6f5c-0cf4-41fb-83b3-b6c47c0e338d",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Lr,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:TB},RB={type:r.GenericReference,id:"6a9a0b72-a05d-4169-b3f3-5afb01e8d0df",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},fl={required:!0,type:r.Property,id:"80c86e1b-caca-4ba5-9b1f-38f72d10e4a3",version:1,name:"Bank account",description:"The bank account of the company",index:1,implements:null,static:!1,private:!1,dataType:EB,abstract:!1,parent:RB},bB={type:r.GenericReference,id:"62892cc6-d227-4088-90d3-ae7c15ed4af4",entityType:r.Property,entityId:"19a31727-1fba-40a5-be25-18e0f149d5cb"},vB={id:"1f7629df-dc29-4c89-8369-c6d043e97a9e",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:bB},gB={type:r.GenericReference,id:"89384206-fd5a-4f0a-849c-f777473e5773",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},IB={required:!0,type:r.Property,id:"19a31727-1fba-40a5-be25-18e0f149d5cb",version:1,name:"Company Owner",description:"The person that owns the company",index:2,static:!1,implements:null,dataType:vB,private:!0,abstract:!1,parent:gB},PB={type:r.GenericReference,id:"4d2ffb6c-5f38-436e-8339-fb9878ac2b5e",entityType:r.Property,entityId:"f8310850-a87e-405c-b182-4f1d5fa49240"},DB={id:"ad44250b-40c2-48f7-a480-381fa938f562",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:It,isList:!0,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:PB},AB={type:r.GenericReference,id:"aa5d4eee-6fac-4e72-bf21-9c8750024541",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},SB={required:!0,type:r.Property,id:"f8310850-a87e-405c-b182-4f1d5fa49240",version:1,name:"Employees",description:null,index:3,dataType:DB,implements:null,private:!0,static:!1,abstract:!1,parent:AB},OB={type:r.GenericReference,id:"e3c03b6b-2ea0-4d99-865d-5e6a348672d0",entityType:r.Project,entityId:J},mt={type:r.CustomEntity,id:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d",version:1,name:"Company",description:null,properties:[mB,fl,IB,SB],static:!1,abstract:!1,abstractMethods:[],methods:[mO,QC],extends:[],implements:[Be],x:0,y:0,parent:OB},CB={type:r.GenericReference,id:"ffcad334-138d-4b67-8fb3-5f0e6f5fefbd",entityType:r.Project,entityId:J},ml={type:r.FunctionDeclaration,id:"0f89260c-8c58-4639-8629-d9ea5ab40ba7",version:1,name:"Show popup",description:null,inputs:[],calls:[],returnStatements:[],implements:null,collapsed:!1,private:!1,index:null,x:0,y:0,parent:CB};r.GenericReference,r.DataType;const BB={id:"cron-job-entity-expression-property-ref-id",type:r.GenericReference,entityId:"cron-job-entity-expression-property-id",entityType:r.Property},wB={id:"cron-job-entity-expression-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:BB},_B={id:"cron-job-entity-ref-id",type:r.GenericReference,entityId:"cron-job-entity-id",entityType:r.CustomEntity},MB={required:!0,id:"cron-job-entity-expression-property-id",type:r.Property,version:1,name:"Cron expression",description:"The cron expression that defines when the cron job should be triggered",dataType:wB,implements:null,static:!0,private:!1,abstract:!1,index:0,parent:_B},NB={id:"cron-job-entity-trigger-show-popup-func-call-called-by-ref-one-id",type:r.GenericReference,entityId:"show-popup-func-decl-id",entityType:r.FunctionDeclaration},$B={id:"cron-job-entity-trigger-show-popup-func-call-parent-ref-id",type:r.GenericReference,entityId:"cron-job-entity-trigger-func-decl-id",entityType:r.FunctionDeclaration},VB={id:"cron-job-entity-trigger-show-popup-func-call-id",version:1,type:r.FunctionCall,declaration:ml,inputs:[],outputs:[],process:null,successCalls:[],calledByError:[],calledByEntry:[NB],calledBySuccess:[],errorCalls:[],error:null,x:0,y:0,parent:$B},LB={id:"cron-job-entity-trigger-func-decl-parent-ref-id",type:r.GenericReference,entityId:"cron-job-entity-id",entityType:r.CustomEntity},GB={id:"cron-job-entity-trigger-func-decl-id",version:1,type:r.FunctionDeclaration,name:"Scheduled trigger",description:"The function that is called when the cron job is triggered",inputs:[],private:!1,implements:jo,calls:[VB],collapsed:!1,returnStatements:[],index:0,x:0,y:0,parent:LB},FB={id:"cron-job-entity-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},UB={id:"cron-job-entity-id",version:1,type:r.CustomEntity,name:"Run at 12pm on Christmas day",description:"A cron job that runs at 12pm on Christmas day",properties:[MB],static:!0,abstract:!1,abstractMethods:[],extends:[ko],implements:[],methods:[GB],x:0,y:0,parent:FB},xB={type:r.GenericReference,id:"52dbd85c-48b1-462a-8205-2437d6fb1cb4",entityType:r.Project,entityId:J},jB={type:r.CustomEntity,id:"6f0908c2-09c6-4a8b-8f43-d2467fe6fb39",version:1,name:"Get bank all bank accounts",description:null,properties:[],static:!0,abstract:!1,abstractMethods:[],methods:[],extends:[],implements:[Sa],x:0,y:0,parent:xB},BT="f558fbf8-67de-4545-9804-6ae621e0b2d4",kB={id:"getCompanyByIdEndpointPathParamsVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointPathParamsVariableDataType"},qB={id:"getCompanyByIdEndpointPathParamsArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"getCompanyByIdEndpointPathParamsArgumentDeclaration"},JB={id:"getCompanyByIdEndpointPathParamsVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:F,asType:!1,defaultValue:{id:"getCompanyByIdEndpointPathParamsVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:kB,autogeneration:null,valueAsType:null},parent:qB},WB={id:"getCompanyByIdEndpointReachedEntityEventRef",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},HB={id:"getCompanyByIdEndpointRequestHeadersVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointRequestHeadersVariableDataType"},YB={id:"getCompanyByIdEndpointRequestHeadersArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"getCompanyByIdEndpointRequestHeadersArgumentDeclaration"},zB={id:"getCompanyByIdEndpointRequestHeadersVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Xe,asType:!1,defaultValue:{id:"getCompanyByIdEndpointRequestHeadersVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:HB,autogeneration:null,valueAsType:null},parent:YB},ZB={id:"getCompanyByIdEndpointRequestHeadersArgumentDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the request.",type:r.ArgumentDeclaration,writesValues:[],name:"Request headers",dataType:zB,required:!0,index:0,parent:WB},XB={id:"getCompanyByIdEndpointReachedEntityEventRefTwo",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},QB={id:"getCompanyByIdEndpointPathParamsArgumentDeclaration",type:r.ArgumentDeclaration,description:"A standarized text, without spaces that is added at the end of the domain and routes the request to a specific resource within the target server. For example: /api/users/123, /api/users/123/:name, /api/users/123/:name/:age.",version:1,name:"Path parameters",writesValues:[],dataType:JB,required:!0,index:1,parent:XB},KB={id:"getCompanyByIdEndpointReachedEntityEventRefThree",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},ew={id:"getCompanyByIdEndpointRequestQueryParamsVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointRequestQueryParamsVariableDataType"},tw={id:"getCompanyByIdEndpointRequestQueryParamsArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"getCompanyByIdEndpointRequestQueryParamsArgumentDeclaration"},nw={id:"getCompanyByIdEndpointRequestQueryParamsVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,asType:!1,entity:F,defaultValue:{id:"getCompanyByIdEndpointRequestQueryParamsVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:ew,autogeneration:null,valueAsType:null},parent:tw},rw={id:"getCompanyByIdEndpointRequestQueryParamsArgumentDeclaration",version:1,description:"A text with standarized format, without spaces that is added at the end of the URL path, after the ? character. It contains data that might be used to process the request. For example: /api/users?name=John&age=30",type:r.ArgumentDeclaration,writesValues:[],name:"Request query params",dataType:nw,required:!0,index:2,parent:KB},iw={id:"getCompanyByIdEndpointReachedEntityEventRefFour",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},aw={id:"getCompanyByIdEndpointRequestBodyArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"getCompanyByIdEndpointRequestBodyArgumentDeclaration"},sw={id:"getCompanyByIdEndpointRequestBodyVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:Xe,defaultValue:null,parent:aw},ow={id:"getCompanyByIdEndpointRequestBodyArgumentDeclaration",version:1,description:"The main data payload of the request.",type:r.ArgumentDeclaration,writesValues:[],name:"Request body",dataType:sw,index:3,required:!0,parent:iw},lw={id:"getCompanyByIdEndpointResponseCodeReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"getCompanyByIdEndpointResponseCodeReturnDeclaration"},cw={id:"9ba575b0-6f8e-436d-a3de-3b843622aa17",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:lw},dw={id:"getCompanyByIdEndpointReturnStatementRef",type:r.GenericReference,entityType:r.ReturnStatement,entityId:"getCompanyByIdEndpointReturnStatement"},uw={isError:!1,id:"getCompanyByIdEndpointResponseCodeReturnDeclaration",version:1,description:"A standarized number that represents the status of the response. 200 for OK, 404 for not found, 500 for server error, etc.",type:r.ReturnDeclaration,name:"Response code",dataType:cw,readsValue:null,required:!0,index:0,parent:dw},pw={id:"getCompanyByIdEndpointResponseHeadersDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointResponseHeadersDataType"},yw={id:"getCompanyByIdEndpointResponseHeadersReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"getCompanyByIdEndpointResponseHeadersReturnDeclaration"},hw={id:"getCompanyByIdEndpointResponseHeadersDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Xe,asType:!1,defaultValue:{id:"getCompanyByIdEndpointResponseHeadersDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:pw,autogeneration:null,valueAsType:null},parent:yw},fw={id:"getCompanyByIdEndpointReturnStatementRefTwo",type:r.GenericReference,entityType:r.ReturnStatement,entityId:"getCompanyByIdEndpointReturnStatement"},mw={isError:!1,id:"getCompanyByIdEndpointResponseHeadersReturnDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the response.",type:r.ReturnDeclaration,name:"Response headers",dataType:hw,readsValue:null,required:!0,index:1,parent:fw},Tw={id:"getCompanyByIdEndpointResponseBodyReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"getCompanyByIdEndpointResponseBodyReturnDeclaration"},Ew={id:"getCompanyByIdEndpointResponseBodyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:Xe,defaultValue:null,parent:Tw},Rw={id:"getCompanyByIdEndpointReturnStatementRefThree",type:r.GenericReference,entityType:r.ReturnStatement,entityId:"getCompanyByIdEndpointReturnStatement"},bw={isError:!1,id:"getCompanyByIdEndpointResponseBodyReturnDeclaration",version:1,description:"The main data payload of the response.",type:r.ReturnDeclaration,name:"Response body",dataType:Ew,readsValue:null,required:!0,index:2,parent:Rw},vw={id:"getCompanyByIdEndpointReturnStatementCallerRef",type:r.GenericReference,entityId:"getCompanyByIdEndpointReachedEntityEvent",entityType:r.FunctionDeclaration},gw={id:"getCompanyByIdEndpointReachedEntityEventRefFive",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},Iw={id:"getCompanyByIdEndpointReturnStatement",type:r.ReturnStatement,version:1,outputs:[uw,mw,bw],calledByError:[],calledByEntry:[vw],calledBySuccess:[],throws:null,x:0,y:0,parent:gw},Pw={id:"endpointBuiltInBaseEntityRefFour",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:BT},Dw={id:"getCompanyByIdEndpointReachedEntityEvent",name:"Endpoint reached",version:1,type:r.FunctionDeclaration,inputs:[ZB,QB,rw,ow],returnStatements:[Iw],description:"Fired when the endpoint is reached.",calls:[],collapsed:!1,implements:Uo,index:0,private:!1,x:0,y:0,parent:Pw},Aw={id:"getCompanyByIdEndpointPathPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointPathPropertyDataType"},Sw={id:"getCompanyByIdEndpointPathPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:"getCompanyByIdEndpointPathProperty"},Ow={id:"getCompanyByIdEndpointPathPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"getCompanyByIdEndpointPathPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.String,value:"/company/{id}",parent:Aw,valueAsType:null,autogeneration:null},parent:Sw},Cw={id:"getCompanyByIdEndpointBaseEntityRefTwo",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},Bw={required:!0,id:"getCompanyByIdEndpointPathProperty",name:"Path",version:1,type:r.Property,private:!1,abstract:!1,static:!0,implements:Go,dataType:Ow,index:1,description:"Path to the endpoint, for example /api/users, or /api/users/{id}, or /api/users/{id}/:name. The path can contain parameters, which are defined by curly braces, and will be passed to the endpoint event as variables with the same name.",parent:Cw},ww={id:"getCompanyByIdEndpointMethodPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointMethodPropertyDataType"},_w={id:"getCompanyByIdEndpointMethodPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:"getCompanyByIdEndpointMethodProperty"},Mw={id:"getCompanyByIdEndpointMethodPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Rn,isList:!0,isNullable:!1,constant:!0,asType:!1,defaultValue:{id:"getCompanyByIdEndpointMethodPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,value:"GET",name:g.Enum,parent:ww,valueAsType:null,autogeneration:null},options:["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","TRACE","CONNECT","CUSTOM"],parent:_w},Nw={id:"getCompanyByIdEndpointBaseEntityRefThree",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},$w={required:!0,id:"getCompanyByIdEndpointMethodProperty",name:"Method",version:1,type:r.Property,private:!1,abstract:!1,static:!0,implements:Fo,index:0,dataType:Mw,description:null,parent:Nw},Vw={type:r.GenericReference,id:"6a905153-8aa8-4424-bd7b-6415731a2725",entityType:r.Project,entityId:J},Lw={type:r.CustomEntity,id:BT,version:1,name:"Get given company data by id",description:null,properties:[Bw,$w],methods:[Dw],static:!0,abstract:!1,abstractMethods:[],extends:[],implements:[Sa],x:0,y:0,parent:Vw},Gw={id:"product-prototype-database-property-ref-id",type:r.GenericReference,entityId:"product-prototype-database-property-id",entityType:r.Property},Fw={id:"product-prototype-database-property-data-type-default-value-parent-ref-id",type:r.GenericReference,entityId:"product-prototype-database-property-data-type-default-value-id",entityType:r.DataType},Uw={id:"product-prototype-database-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:bn,asType:!1,defaultValue:{id:"product-prototype-database-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,value:null,name:g.EntityTemplate,valueAsType:ul,autogeneration:null,parent:Fw},parent:Gw},xw={id:"product-prototype-database-property-parent-ref-id",type:r.GenericReference,entityId:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",entityType:r.CustomEntity},jw={required:!0,id:"product-prototype-database-property-id",name:"Database",version:1,type:r.Property,private:!1,abstract:!1,implements:mi,static:!0,index:0,dataType:Uw,description:"The database that the entity belongs to.",parent:xw},kw={type:r.GenericReference,id:"13a4045e-dcb0-4159-8d33-10a646078b5a",entityType:r.Property,entityId:"d519c26a-15b8-40d8-ad09-13fa9342e9ba"},qw={id:"7449779e-1d4e-409c-81c6-4b611336ed18",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:kw},Jw={type:r.GenericReference,id:"0969562f-d836-406f-8b48-dd9d417fbe72",entityType:r.CustomEntity,entityId:"a2d0ec83-72ce-4f54-b059-a39e018fa86c"},Ww={required:!0,type:r.Property,id:"d519c26a-15b8-40d8-ad09-13fa9342e9ba",version:1,name:"Name",description:"The name of the product",index:0,implements:null,static:!1,private:!1,dataType:qw,abstract:!1,parent:Jw},Hw={type:r.GenericReference,id:"833a5425-7bd0-41dd-9e97-e018acce9592",entityType:r.Project,entityId:J},Yw={type:r.CustomEntity,id:"a2d0ec83-72ce-4f54-b059-a39e018fa86c",version:1,name:"Product",description:"A product that can be sold",implements:[Be],extends:[],abstract:!1,static:!1,abstractMethods:[],properties:[jw,Ww],methods:[],x:0,y:0,parent:Hw},Li="project-loaded-event-id",Wt="get-bitcoin-price-http-call-operation-id",wT="get-bitcoin-price-http-call-response-body-id",os="validate-bitcoin-price-response-operation-ids",zw={type:r.GenericReference,id:"validate-bitcoin-data-to-validate-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:wT},Zw={type:r.GenericReference,id:"validate-bitcoin-data-to-validate-input-map-parent-ref-id",entityType:r.Operation,entityId:os},_T={id:"validate-bitcoin-data-to-validate-input-map-id",type:r.InputMap,version:1,declaration:xn.fixedArguments[1],name:null,description:null,readsValue:zw,defaultValue:null,dynamicArguments:[],index:0,parent:Zw},Xw={type:r.GenericReference,id:"validate-bitcoin-type-to-match-input-map-default-value-parent-ref-id",entityType:r.InputMap,entityId:"validate-bitcoin-type-to-match-input-map-id"},Qw={type:r.GenericReference,id:"validate-bitcoin-type-to-match-input-map-parent-ref-id",entityType:r.Operation,entityId:os},Kw={id:"validate-bitcoin-type-to-match-input-map-id",type:r.InputMap,version:1,declaration:xn.fixedArguments[0],name:null,description:null,readsValue:null,defaultValue:{id:"validate-bitcoin-type-to-match-input-map-default-value-id",type:r.PrimitiveValue,version:1,name:g.EntityTemplate,valueAsType:fT,value:null,parent:Xw,autogeneration:null},dynamicArguments:[],index:0,parent:Qw},e_={type:r.GenericReference,id:"validate-bitcoin-validated-entity-output-map-parent-ref-id",entityType:r.Operation,entityId:os},t_={id:"validate-bitcoin-validated-entity-output-map-id",type:r.OutputMap,version:1,declaration:xn.fixedReturns[0],writesValues:[],index:0,parent:e_},n_={type:r.GenericReference,id:"validate-bitcoin-price-response-operation-parent-ref-id",entityType:r.GlobalEvent,entityId:Li},r_={type:r.GenericReference,id:"validate-bitcoin-price-response-operation-called-by-ref-id",entityType:r.Operation,entityId:Wt},i_={type:r.Operation,id:os,version:1,declaration:xn,inputs:[Kw,_T],outputs:[t_],process:null,dynamicArguments:[],successCalls:[],errorCalls:[],error:null,x:0,y:0,calledByError:[],calledByEntry:[],calledBySuccess:[r_],parent:n_},a_={type:r.GenericReference,id:"96edb661-3f36-406c-8921-f1679dd796a3",entityType:r.FunctionCall,entityId:Wt},s_={id:"c93e1393-9b5e-4de2-b8da-7eae647d715a",version:1,type:r.InputMap,declaration:ba,name:null,description:null,readsValue:null,defaultValue:null,dynamicArguments:[],index:0,parent:a_},o_={type:r.GenericReference,id:"40312b28-71b8-4b01-a654-58b87191939d",entityType:r.FunctionCall,entityId:Wt},l_={type:r.GenericReference,id:"6ea96c7d-02a7-4971-82ad-2f32a0fec8b4",entityType:r.InputMap,entityId:"9f21cbac-5a83-4983-8923-9224ffd3ba9f"},c_={id:"9f21cbac-5a83-4983-8923-9224ffd3ba9f",version:1,type:r.InputMap,declaration:va,name:null,description:null,readsValue:null,defaultValue:{id:"get-bitcoin-price-http-request-url-argument-default-value-id",type:r.PrimitiveValue,version:1,value:"https://api.coindesk.com/v1/bpi/currentprice.json",name:g.String,parent:l_,valueAsType:null,autogeneration:null},index:1,dynamicArguments:[],parent:o_},d_={type:r.GenericReference,id:"2610bf4a-c8a2-4746-b6cc-eb15f7fa8e9c",entityType:r.FunctionCall,entityId:Wt},u_={id:"ffb3cd9d-c955-4104-bc7b-299120fe4ede",version:1,type:r.InputMap,declaration:ga,name:null,description:null,readsValue:null,dynamicArguments:[],defaultValue:null,index:2,parent:d_},p_={type:r.GenericReference,id:"bfd29a6a-671a-448c-9f2f-f8c7e4ad8349",entityType:r.FunctionCall,entityId:Wt},y_={id:"412bf1f3-1a8e-4665-a95f-82117540e34e",version:1,type:r.InputMap,declaration:Ia,name:null,description:null,readsValue:null,dynamicArguments:[],defaultValue:null,index:3,parent:p_},h_={type:r.GenericReference,id:"616a15f3-c224-4b11-b95c-63314edef409",entityType:r.FunctionCall,entityId:Wt},f_={id:"4dd4651c-02e4-45f1-b50f-824f3bcb1648",version:1,type:r.OutputMap,declaration:Pa,writesValues:[],index:1,parent:h_},m_={type:r.GenericReference,id:"28793b68-4d7e-4826-aee1-f201a3499faf",entityType:r.FunctionCall,entityId:Wt},T_={id:"94fe9d35-4dd4-4729-a50c-5283ccd7e661",version:1,type:r.OutputMap,declaration:$o,writesValues:[],index:0,parent:m_},E_={type:r.GenericReference,id:"f13e04b2-49b4-4c69-85b8-cbbafafa3524",entityType:r.FunctionCall,entityId:Wt},R_={id:wT,type:r.OutputMap,version:1,declaration:yi,writesValues:[_T],index:2,parent:E_},b_={type:r.GenericReference,id:"6148d6d0-caaa-45fc-b601-ff2493dfc60f",entityType:r.FunctionDeclaration,entityId:Wt},v_={type:r.GenericReference,id:"b115f084-807b-44b3-ae01-b69cc342f761",entityType:r.GlobalEvent,entityId:Li},g_={type:r.Operation,id:Wt,version:1,declaration:hi,inputs:[s_,c_,u_,y_],outputs:[T_,f_,R_],process:null,parent:v_,calledByError:[],calledByEntry:[b_],calledBySuccess:[],dynamicArguments:[],successCalls:[i_],errorCalls:[],error:null,x:0,y:0},I_={type:r.GenericReference,id:"24e76019-3f94-475b-91ce-297f76bbc224",entityType:r.GlobalEvent,entityId:Li},P_={type:r.GenericReference,id:"0eac8e29-cdf2-42f8-8ea7-ad76d4d79abe",entityType:r.GlobalEvent,entityId:Li},D_={process:null,type:r.FunctionCall,id:"2d2e7593-bfbf-457c-a607-5fce18eef457",version:1,declaration:ml,inputs:[],outputs:[],calledByError:[],calledByEntry:[I_],calledBySuccess:[],parent:P_,successCalls:[],errorCalls:[],error:null,x:0,y:0},A_={id:"793b5999-a9da-47fb-9665-0c17ebc6d5c9",type:r.GenericReference,entityType:r.Project,entityId:"2e7eb5382-3d99-44fd-972a-b8b1e819f6be"},S_={type:r.GlobalEvent,id:Li,version:1,name:Kt.PROJECT_PUBLICATION_COMPLETED,returnStatements:[],collapsed:!1,implements:_a,parent:A_,inputs:[],calls:[D_,g_],x:0,y:0},Bt="abort-execution-func-declaration-id",Gi="abort-execution-func-exec-var-declaration-id",ls="abort-execution-func-small-wait-op-id",Tl="abort-execution-func-long-wait-op-id",MT="abort-execution-func-long-wait-process-output-id",NT="abort-execution-func-exec-var-instance-write-id",$T="abort-execution-func-long-wait-return-stmt-id",VT="abort-execution-func-small-wait-return-stmt-id",O_="abort-execution-func-exec-var-instance-abort-call-id",El="abort-execution-func-exec-var-instance-abort-internal-call-id",LT="abort-execution-func-exec-second-wait-op-id",C_={type:r.GenericReference,id:"short-wait-return-statement-returned-hello-string-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:"short-wait-return-statement-returned-hello-string-id"},B_={type:r.GenericReference,id:"short-wait-return-statement-returned-hello-string-data-type-default-value-parent-ref-id",entityType:r.DataType,entityId:"short-wait-return-statement-returned-hello-string-data-type-id"},w_={id:"short-wait-return-statement-returned-hello-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:{id:"short-wait-return-statement-returned-hello-string-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:"Hello 2",autogeneration:null,valueAsType:null,parent:B_},constant:!1,parent:C_},__={type:r.GenericReference,id:"short-wait-return-statement-returned-hello-string-parent-ref-id",entityType:r.ReturnStatement,entityId:VT},M_={isError:!1,id:"short-wait-return-statement-returned-hello-string-id",type:r.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:w_,readsValue:null,required:!0,index:0,parent:__},N_={type:r.GenericReference,id:"short-wait-return-statement-called-by-ref-id",entityType:r.Operation,entityId:ls},$_={type:r.GenericReference,id:"short-wait-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},GT={type:r.ReturnStatement,id:VT,version:1,outputs:[M_],calledByError:[],calledByEntry:[],calledBySuccess:[N_],throws:null,x:0,y:0,parent:$_},V_={type:r.GenericReference,id:"second-wait-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:"second-wait-argument-map-id"},L_={type:r.GenericReference,id:"second-wait-argument-map-parent-ref-id",entityType:r.Operation,entityId:LT},G_={id:"second-wait-argument-map-id",type:r.InputMap,version:1,declaration:Un,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"second-wait-argument-default-value-id",type:r.PrimitiveValue,version:1,value:2e3,valueAsType:null,autogeneration:null,name:g.Number,parent:V_},index:0,parent:L_},F_={type:r.GenericReference,id:"small-wait-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},U_={type:r.GenericReference,id:"small-wait-called-by-ref-one-id",entityType:r.InternalCall,entityId:El},x_={id:LT,type:r.Operation,version:1,declaration:ot,inputs:[G_],dynamicArguments:[],outputs:[],process:null,successCalls:[GT],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[],calledBySuccess:[U_],error:null,parent:F_},j_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-abort-internal-call-called-by-ref-one-id",entityType:r.VariableInstance,entityId:NT},k_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-abort-internal-call-called-by-ref-two-id",entityType:r.Operation,entityId:ls},q_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-main-project-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},J_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-declaration-ref-id",entityType:r.VariableDeclaration,entityId:Gi},W_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-internal-call-ref-one-id",entityType:r.InternalCall,entityId:El},H_={id:O_,type:r.VariableInstance,version:1,declaration:J_,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[W_],parent:q_},FT={id:El,type:r.InternalCall,version:1,inputs:[],outputs:[],declaration:qo,process:null,calledByError:[],calledByEntry:[],calledBySuccess:[j_,k_],successCalls:[x_],errorCalls:[],error:null,index:0,parent:H_},Y_={type:r.GenericReference,id:"abort-exec-func-var-write-instance-main-project-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},z_={type:r.GenericReference,id:"abort-exec-func-var-write-instance-called-by-ref-one-id",entityType:r.VariableDeclaration,entityId:Gi},Z_={type:r.GenericReference,id:"abort-exec-func-var-write-instance-called-by-ref-two-id",entityType:r.FunctionDeclaration,entityId:Bt},X_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-declaration-ref-id",entityType:r.VariableDeclaration,entityId:Gi},Q_={type:r.GenericReference,id:"abort-exec-func-var-write-instance-reads-value-ref-id",entityType:r.OutputMap,entityId:MT},Rl={id:NT,type:r.VariableInstance,version:1,declaration:X_,inputs:[],outputs:[],calledByError:[],calledByEntry:[Z_],calledBySuccess:[z_],successCalls:[FT],errorCalls:[],x:0,y:0,readsValue:Q_,writesValues:[],internalCalls:[],parent:Y_},K_={type:r.GenericReference,id:"abort-exec-func-var-decl-datatype-parent-ref-id",entityType:r.VariableDeclaration,entityId:Gi};r.GenericReference,r.DataType;const eM={id:"abort-exec-func-var-decl-datatype-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Jo,version:1,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:K_,defaultValue:null},tM={type:r.GenericReference,id:"abort-exec-func-var-decl-main-project-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},nM={type:r.GenericReference,id:"abort-exec-func-var-decl-called-by-ref-one-id",entityType:r.FunctionDeclaration,entityId:Bt},rM={id:Gi,type:r.VariableDeclaration,version:1,name:"Execution in progress",description:"A variable that holds an ongoing execution to abort it if needed",dataType:eM,inputs:[],outputs:[],calledByError:[],calledByEntry:[nM],calledBySuccess:[],successCalls:[Rl],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:tM},iM={type:r.GenericReference,id:"long-wait-return-statement-returned-hello-string-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:"long-wait-return-statement-returned-hello-string-id"},aM={type:r.GenericReference,id:"long-wait-return-statement-returned-hello-string-data-type-default-value-parent-ref-id",entityType:r.DataType,entityId:"long-wait-return-statement-returned-hello-string-data-type-id"},sM={id:"long-wait-return-statement-returned-hello-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:{id:"long-wait-return-statement-returned-hello-string-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:"Hello 1",autogeneration:null,valueAsType:null,parent:aM},constant:!1,parent:iM},oM={type:r.GenericReference,id:"long-wait-return-statement-returned-hello-string-parent-ref-id",entityType:r.ReturnStatement,entityId:$T},lM={isError:!1,id:"long-wait-return-statement-returned-hello-string-id",type:r.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:sM,readsValue:null,required:!0,index:0,parent:oM},cM={type:r.GenericReference,id:"long-wait-return-statement-called-by-ref-id",entityType:r.Operation,entityId:Tl},dM={type:r.GenericReference,id:"long-wait-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},UT={type:r.ReturnStatement,id:$T,version:1,outputs:[lM],calledByError:[],calledByEntry:[],calledBySuccess:[cM],throws:null,x:0,y:0,parent:dM},uM={type:r.GenericReference,id:"long-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:"long-argument-map-id"},xT={type:r.GenericReference,id:"long-argument-map-parent-ref-id",entityType:r.Operation,entityId:Tl},pM={id:"long-argument-map-id",type:r.InputMap,version:1,declaration:Un,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"long-argument-default-value-id",type:r.PrimitiveValue,version:1,value:1500,valueAsType:null,autogeneration:null,name:g.Number,parent:uM},index:0,parent:xT},yM={type:r.GenericReference,id:"long-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},hM={type:r.GenericReference,id:"long-called-by-ref-one-id",entityType:r.FunctionDeclaration,entityId:Bt},fM={id:MT,type:r.OutputMap,version:1,declaration:Ho,writesValues:[Rl],index:0,parent:xT},mM={id:Tl,type:r.Operation,version:1,declaration:ot,inputs:[pM],dynamicArguments:[],outputs:[],process:fM,successCalls:[UT],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[hM],calledBySuccess:[],error:null,parent:yM},TM={type:r.GenericReference,id:"small-wait-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:"small-wait-argument-map-id"},EM={type:r.GenericReference,id:"small-wait-argument-map-parent-ref-id",entityType:r.Operation,entityId:ls},RM={id:"small-wait-argument-map-id",type:r.InputMap,version:1,declaration:Un,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"small-wait-argument-default-value-id",type:r.PrimitiveValue,version:1,value:500,valueAsType:null,autogeneration:null,name:g.Number,parent:TM},index:0,parent:EM},bM={type:r.GenericReference,id:"small-wait-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},vM={type:r.GenericReference,id:"small-wait-called-by-ref-one-id",entityType:r.FunctionDeclaration,entityId:Bt},gM={id:ls,type:r.Operation,version:1,declaration:ot,inputs:[RM],dynamicArguments:[],outputs:[],process:null,successCalls:[FT],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[vM],calledBySuccess:[],error:null,parent:bM},IM={type:r.GenericReference,id:"abort-execution-func-decl-parent-ref-id",entityType:r.Project,entityId:J},jT={id:"abort-execution-func-decl-id",type:r.FunctionDeclaration,version:1,name:"Test aborting execution",description:"Executes a wait and then aborts the execution of that wait",inputs:[],returnStatements:[UT,GT],calls:[gM,rM,Rl,mM],implements:null,private:!1,collapsed:!1,index:null,x:0,y:0,parent:IM},PM={type:r.GenericReference,id:"call-execution-abort-func-parent-ref-id",entityType:r.Project,entityId:J},DM={id:"call-execution-abort-func-id",type:r.FunctionCall,version:1,declaration:jT,inputs:[],process:null,outputs:[],successCalls:[],errorCalls:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[],x:0,y:0,parent:PM},bl="manual-hello-world-loop-func-decl-id",kT="manual-hello-world-loop-func-return-statement-id",an="manual-hello-world-loop-id",Fi="manual-hello-world-loop-body-id",qT="manual-hello-world-loop-break-statement-id",cs="manual-hello-world-loop-current-iteration-number-output-map-id",vl="manual-hello-world-loop-previous-iterations-results-output-map-id",gl="assembled-hello-world-text-output-id",JT="assembled-hello-world-list-output-id",Ui="iteration-number-is-equal-or-greater-than-10-condition-id",ds="join-hello-world-and-number-operation-id",us="append-string-to-list-operation-id",WT="hello-world-loop-output-map-id",AM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-output-declaration-parent-ref",entityType:r.ReturnStatement,entityId:kT},SM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-output-declaration-data-type-parent-ref",entityType:r.ReturnDeclaration,entityId:"manual-hello-world-loop-function-declaration-output-declaration"},OM={id:"manual-hello-world-loop-function-declaration-output-declaration-data-type",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!0,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:SM},CM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-output-declaration-reads-value-ref",entityType:r.OutputMap,entityId:WT},HT={isError:!1,id:"manual-hello-world-loop-function-declaration-output-declaration",version:1,type:r.ReturnDeclaration,name:"Results",description:null,dataType:OM,readsValue:CM,required:!0,index:0,parent:AM},BM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-return-statement-called-by-ref",entityType:r.Loop,entityId:an},wM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-parent-ref",entityType:r.FunctionDeclaration,entityId:bl},YT={type:r.ReturnStatement,id:kT,version:1,outputs:[HT],calledByError:[],calledByEntry:[],calledBySuccess:[BM],parent:wM,throws:null,x:0,y:0},_M={type:r.GenericReference,id:"hello-world-loop-break-statement-ref-id",entityType:r.BreakStatement,entityId:qT},MM={type:r.GenericReference,id:"hello-world-loop-break-statement-output-data-type-ref-id",entityType:r.ReturnDeclaration,entityId:"hello-world-loop-break-statement-output-id"},NM={id:"hello-world-loop-break-statement-output-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!0,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:MM},$M={type:r.GenericReference,id:"hello-world-loop-break-statement-reads-value-ref-id",entityType:r.OutputMap,entityId:gl},Il={isError:!1,id:"hello-world-loop-break-statement-output-id",version:1,type:r.ReturnDeclaration,name:"Iteration result",description:null,dataType:NM,readsValue:$M,required:!0,index:0,parent:_M},VM={type:r.GenericReference,id:"hello-world-loop-break-statement-called-by-ref-id",entityType:r.Condition,entityId:Ui},LM={type:r.GenericReference,id:"hello-world-loop-break-statement-parent-ref-id",entityType:r.Loop,entityId:an},zT={type:r.BreakStatement,id:qT,version:1,outputs:[Il],calledByError:[],calledByEntry:[],calledBySuccess:[VM],parent:LM,throws:null,x:0,y:0},GM={type:r.GenericReference,id:"hello-world-loop-continue-statement-ref-id",entityType:r.ContinueStatement,entityId:"hello-world-loop-continue-statement"},FM={type:r.GenericReference,id:"hello-world-loop-continue-statement-output-data-type-ref-id",entityType:r.ReturnDeclaration,entityId:"hello-world-loop-continue-statement-output-id"},UM={id:"hello-world-loop-continue-statement-output-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:FM},xM={type:r.GenericReference,id:"hello-world-loop-continue-statement-reads-value-ref-id",entityType:r.OutputMap,entityId:gl},ZT={isError:!1,id:"hello-world-loop-continue-statement-output-id",version:1,type:r.ReturnDeclaration,name:"Iteration result",description:null,dataType:UM,readsValue:xM,required:!0,index:0,parent:GM},jM={type:r.GenericReference,id:"hello-world-loop-continue-statement-called-by-ref-id",entityType:r.Condition,entityId:Ui},kM={type:r.GenericReference,id:"hello-world-loop-continue-statement-parent-ref-id",entityType:r.Loop,entityId:an},XT={type:r.ContinueStatement,id:"hello-world-loop-continue-statement",version:1,outputs:[ZT],calledBySuccess:[],calledByError:[jM],calledByEntry:[],parent:kM,throws:null,x:0,y:0};r.GenericReference,r.InputMap;const qM={type:r.GenericReference,id:"append-string-to-list-base-string-map-parent-ref-id",entityType:r.Operation,entityId:us},JM={type:r.GenericReference,id:"base-string-map-reads-value-ref-id",entityType:r.OutputMap,entityId:vl},QT={id:"append-string-to-list-base-string-map-id",type:r.InputMap,version:1,declaration:So,name:null,description:null,readsValue:JM,defaultValue:null,dynamicArguments:[],index:0,parent:qM},WM={type:r.GenericReference,id:"assembly-string-map-parent-ref-id",entityType:r.Operation,entityId:us},HM={id:JT,type:r.OutputMap,version:1,writesValues:[Il],declaration:ui,index:0,parent:WM},YM={type:r.GenericReference,id:"append-string-to-list-called-by-ref-id",entityType:r.Condition,entityId:Ui},zM={type:r.GenericReference,id:"latest-string-to-add-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:JT},ZM={type:r.GenericReference,id:"62b4afb0-6c21-4b0f-abd3-cebef7b17c28",entityType:r.Operation,entityId:us},KT={id:"latest-string-to-add-input-map-id",version:1,type:r.InputMap,declaration:Oo,name:null,description:null,readsValue:zM,dynamicArguments:[],defaultValue:null,index:1,parent:ZM},XM={type:r.GenericReference,id:"append-string-to-list-parent-ref-id",entityType:r.FunctionDeclaration,entityId:an},QM={type:r.Operation,id:us,declaration:Ra,version:1,inputs:[QT,KT],outputs:[HM],calledByError:[],process:null,calledByEntry:[],calledBySuccess:[YM],dynamicArguments:[],successCalls:[],errorCalls:[],error:null,x:0,y:0,parent:XM},KM={type:r.GenericReference,id:"iteration-number-is-equal-or-greater-than-10-condition-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Fi},eN={type:r.GenericReference,id:"iteration-number-is-equal-or-greater-than-10-condition-parent-ref-id",entityType:r.Loop,entityId:an},tN={type:r.GenericReference,id:"current-iteration-number-to-check-map-reads-value-ref-id",entityType:r.OutputMap,entityId:cs},eE={type:r.GenericReference,id:"iteration-number-is-equal-or-greater-than-10-condition-ref-two-id",entityType:r.Condition,entityId:Ui},nN={id:"current-iteration-number-to-check-map-id",version:1,type:r.InputMap,declaration:Br.fixedArguments[0],name:null,description:null,dynamicArguments:[],readsValue:tN,index:1,defaultValue:null,parent:eE},rN={type:r.GenericReference,id:"max-num-iterations-value-map-default-value-parent-ref-id",entityType:r.InputMap,entityId:"max-num-iterations-value-map-id"},iN={id:"max-num-iterations-value-map-id",version:1,type:r.InputMap,declaration:Br.fixedArguments[1],name:null,description:null,dynamicArguments:[],readsValue:null,index:0,defaultValue:{id:"max-num-iterations-value-map-default-value-id",type:r.PrimitiveValue,version:1,name:g.Number,value:10,autogeneration:null,valueAsType:null,parent:rN},parent:eE},aN={type:r.Condition,id:Ui,version:1,declaration:Br,inputs:[iN,nN],calledByError:[],calledByEntry:[KM],calledBySuccess:[],successCalls:[zT,QM],errorCalls:[XT],x:0,y:0,parent:eN},sN={type:r.GenericReference,id:"base-string-map-ref-id",entityType:r.InputMap,entityId:"join-hello-world-and-number-base-string-map-id"},oN={type:r.GenericReference,id:"join-hello-world-and-number-base-string-map-parent-ref-id",entityType:r.Operation,entityId:ds},lN={id:"join-hello-world-and-number-base-string-map-id",type:r.InputMap,version:1,declaration:Ta,name:null,description:null,readsValue:null,defaultValue:{id:"join-hello-world-and-number-base-string-map-default-value-id",type:r.PrimitiveValue,version:1,value:"Hello world ",name:g.String,parent:sN,valueAsType:null,autogeneration:null},dynamicArguments:[],index:0,parent:oN},cN={type:r.GenericReference,id:"assembly-string-map-parent-ref-id",entityType:r.Operation,entityId:ds},dN={id:gl,type:r.OutputMap,version:1,writesValues:[KT,ZT],declaration:ui,index:0,parent:cN},uN={type:r.GenericReference,id:"join-hello-world-and-number-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Fi},pN={type:r.GenericReference,id:"current-iteration-number-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:cs},yN={type:r.GenericReference,id:"62b4afb0-6c21-4b0f-abd3-cebef7b17c28",entityType:r.Operation,entityId:ds},tE={id:"current-iteration-number-input-map-id",version:1,type:r.InputMap,declaration:Ea,name:null,description:null,readsValue:pN,dynamicArguments:[],defaultValue:null,index:1,parent:yN},hN={type:r.GenericReference,id:"join-hello-world-and-number-parent-ref-id",entityType:r.FunctionDeclaration,entityId:an},fN={type:r.Operation,id:ds,declaration:pi,version:1,inputs:[lN,tE],outputs:[dN],process:null,calledByError:[],calledByEntry:[uN],calledBySuccess:[],dynamicArguments:[],successCalls:[],errorCalls:[],error:null,x:0,y:0,parent:hN},mN={id:"manual-hello-world-loop-iterations-results-declaration-data-type-parent-ref-id",type:r.GenericReference,entityId:vl,entityType:r.ArgumentDeclaration},TN={id:"manual-hello-world-loop-iterations-results-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!0,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:mN},EN={id:"manual-hello-world-loop-previous-iterations-results-output-map-parent-ref-id",type:r.GenericReference,entityId:Fi,entityType:r.FunctionDeclaration},RN={id:vl,type:r.ArgumentDeclaration,version:1,name:"Previous iterations results",description:"The results of the previous iterations of the loop.",required:!0,dataType:TN,writesValues:[QT],index:1,parent:EN},bN={id:"manual-hello-world-loop-current-iteration-number-output-map-parent-ref-id",type:r.GenericReference,entityId:Fi,entityType:r.FunctionDeclaration},vN={id:"manual-flow-loop-current-iteration-number-declaration-data-type-parent-ref-id",type:r.GenericReference,entityId:cs,entityType:r.ArgumentDeclaration};r.DataType;const gN={id:cs,type:r.ArgumentDeclaration,version:1,name:"Current iteration number",description:"The number of the current iteration of the loop. Starts at 1.",required:!0,dataType:null,writesValues:[tE],index:0,parent:bN},IN={id:"manual-flow-loop-body-parent-ref-id",type:r.GenericReference,entityId:an,entityType:r.Loop},PN={id:Fi,type:r.FunctionDeclaration,version:1,name:"Iteration logic trigger",description:"This function is called multiple times, once for each iteration of the loop.",inputs:[gN,RN],calls:[aN,fN],implements:null,collapsed:!1,returnStatements:[],private:!1,index:0,x:0,y:0,parent:IN},DN={type:r.GenericReference,id:"hello-world-loop-break-statement-output-map-parent-ref-id",entityType:r.Loop,entityId:an},AN={type:r.OutputMap,id:WT,version:1,declaration:Il,writesValues:[HT],index:0,parent:DN},SN={id:"manual-hello-world-loop-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},ON={id:"manual-hello-world-loop-called-by-ref-id",type:r.GenericReference,entityId:bl,entityType:r.FunctionDeclaration},CN={id:an,type:r.Loop,version:1,declaration:Lo,inputs:[],outputs:[AN],body:PN,successCalls:[YT],errorCalls:[],process:null,error:null,calledByError:[],calledByEntry:[ON],calledBySuccess:[],breakStatements:[zT],continueStatements:[XT],x:0,y:0,parent:SN},BN={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-parent-ref-id",entityType:r.Project,entityId:J},nE={type:r.FunctionDeclaration,id:bl,version:1,name:"Manual hello world loop",description:null,inputs:[],calls:[CN],returnStatements:[YT],implements:null,collapsed:!1,private:!1,index:null,x:0,y:0,parent:BN},wN={type:r.GenericReference,id:"call-hello-world-loop-parent-ref-id",entityType:r.Project,entityId:J},_N={id:"call-hello-world-loop-id",type:r.FunctionCall,version:1,declaration:nE,inputs:[],outputs:[],process:null,successCalls:[],errorCalls:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[],x:0,y:0,parent:wN},sn="company-dto-function-declaration-id",Pl="company-dto-func-declaration-argument-dcl-id",Ht="company-dto-function-company-variable-id",Cn="company-dto-function-company-dto-variable-id",Fr="iterate-over-employee-list-loop-id",rE="iterate-over-employee-list-loop-employee-dto-output-map-id",Dl="iterate-over-employee-list-loop-body-current-employee-argument-declaration-id",xi="iterate-over-employee-list-loop-body-map-employee-dto-function-call-id",iE="iterate-over-employee-list-continue-statement-employee-dto-output-decl-id",MN="iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-dto-output-map-id",aE="iterate-over-employee-list-continue-statement-id",ps="iterate-over-employee-list-loop-body-id",sE="company-dto-func-declaration-return-statement-id",oE="company-dto-func-declaration-return-decl-id",lE="company-dto-func-declaration-company-variable-id-output-map-id",cE="company-dto-func-declaration-company-variable-employess-output-map-id",dE="company-dto-func-declaration-company-variable-name-output-map-id",NN="company-dto-func-declaration-company-dto-variable-input-map-id",$N="company-dto-func-declaration-company-dto-variable-employess-input-map-id",VN="company-dto-func-declaration-company-dto-variable-name-input-map-id",ys="company-dto-func-declaration-owner-variable-id",LN="company-dto-func-declaration-company-dto-variable-owner-input-map-id",uE="company-dto-func-declaration-company-variable-owner-output-map-id",pE="company-dto-func-declaration-owner-variable-id-output-map-id",hs="company-dto-func-declaration-bank-account-variable-id",GN="company-dto-func-declaration-company-dto-variable-bank-account-input-map-id",yE="company-dto-func-declaration-company-variable-bank-account-output-map-id",hE="company-dto-func-declaration-bank-account-variable-id-output-map-id",FN={type:r.GenericReference,id:"company-dto-func-returned-company-dto-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:oE},UN={id:"company-dto-func-returned-company-dto-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:FN},xN={type:r.GenericReference,id:"company-dto-func-returned-company-dto-parent-ref-id",entityType:r.ReturnStatement,entityId:sE},jN={type:r.GenericReference,id:"company-dto-func-returned-company-dto-reads-value-ref-id",entityType:r.VariableDeclaration,entityId:Cn},fE={isError:!1,id:oE,type:r.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:UN,readsValue:jN,required:!0,index:0,parent:xN},kN={type:r.GenericReference,id:"company-dto-func-return-statement-called-by-ref-id",entityType:r.Operation,entityId:Cn},qN={type:r.GenericReference,id:"company-dto-func-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn},Al={type:r.ReturnStatement,id:sE,version:1,outputs:[fE],calledByError:[],calledByEntry:[],calledBySuccess:[kN],throws:null,x:0,y:0,parent:qN},JN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-owner-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:pE},WN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-owner-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Cn},mE={id:LN,type:r.InputMap,version:1,declaration:null,name:"owner_id",description:null,defaultValue:null,dynamicArguments:[],index:5,readsValue:JN,parent:WN},HN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-bank-account-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:hE},YN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-bank-account-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Cn},TE={id:GN,type:r.InputMap,version:1,declaration:null,name:"bank_account_id",description:null,defaultValue:null,dynamicArguments:[],index:4,readsValue:HN,parent:YN},zN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-name-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:dE},ZN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-name-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Cn},EE={id:VN,type:r.InputMap,version:1,declaration:null,name:"name",description:null,defaultValue:null,dynamicArguments:[],index:3,readsValue:zN,parent:ZN},XN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-employess-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:rE},QN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-employess-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Cn},RE={id:$N,type:r.InputMap,version:1,declaration:null,name:"employees",description:null,defaultValue:null,dynamicArguments:[],index:2,readsValue:XN,parent:QN},KN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-id-output-map-reads-value-ref-id",entityType:r.OutputMap,entityId:lE},e0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Cn},bE={id:NN,type:r.InputMap,version:1,declaration:null,name:"id",description:"The ID of the company",defaultValue:null,dynamicArguments:[],index:1,readsValue:KN,parent:e0},t0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn},n0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-called-by-ref-one-id",entityType:r.VariableDeclaration,entityId:hs},r0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-called-by-ref-two-id",entityType:r.VariableDeclaration,entityId:ys},i0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-called-by-ref-three-id",entityType:r.VariableDeclaration,entityId:Fr},Sl={id:Cn,type:r.VariableDeclaration,version:1,name:"Company DTO",dataType:null,description:"A variable holding the data of a mapped company DTO",calledByError:[],calledByEntry:[],calledBySuccess:[n0,r0,i0],successCalls:[Al],errorCalls:[],readsValue:null,writesValues:[fE],inputs:[bE,EE,TE,mE,RE],outputs:[],internalCalls:[],parent:t0,x:0,y:0},Yn="employee-dto-func-declaration-id",Ol="employee-dto-func-declaration-argument-dcl-id",vE="employee-dto-func-declaration-return-statement-id",gE="employee-dto-func-declaration-return-decl-id",zn="employee-dto-func-declaration-employee-variable-id",Zn="employee-dto-func-declaration-employee-dto-variable-id",fs="employee-dto-func-declaration-manager-variable-id",IE="employee-dto-func-declaration-employee-variable-id-output-map-id",PE="employee-dto-func-declaration-employee-variable-birth-date-output-map-id",DE="employee-dto-func-declaration-employee-variable-department-output-map-id",AE="employee-dto-func-declaration-employee-variable-manager-output-map-id",SE="employee-dto-func-declaration-manager-variable-id-output-map-id",a0="employee-dto-func-declaration-employee-dto-variable-input-map-id",s0="employee-dto-func-declaration-employee-dto-variable-birth-date-input-map-id",o0="employee-dto-func-declaration-employee-dto-variable-department-input-map-id",l0="employee-dto-func-declaration-employee-dto-variable-manager-input-map-id",c0={type:r.GenericReference,id:"employee-dto-func-returned-employee-dto-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:gE},d0={id:"employee-dto-func-returned-employee-dto-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:c0},u0={type:r.GenericReference,id:"employee-dto-func-returned-employee-dto-parent-ref-id",entityType:r.ReturnStatement,entityId:vE},p0={type:r.GenericReference,id:"employee-dto-func-returned-employee-dto-reads-value-ref-id",entityType:r.VariableDeclaration,entityId:Zn},OE={isError:!1,id:gE,type:r.ReturnDeclaration,version:1,name:"Employee DTO",description:"Output the employee data in the format that it will be sent through an HTTP request.",dataType:d0,readsValue:p0,required:!0,index:0,parent:u0},y0={type:r.GenericReference,id:"employee-dto-func-return-statement-called-by-ref-id",entityType:r.Operation,entityId:Zn},h0={type:r.GenericReference,id:"employee-dto-func-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Yn},Cl={type:r.ReturnStatement,id:vE,version:1,outputs:[OE],calledByError:[],calledByEntry:[],calledBySuccess:[y0],throws:null,x:0,y:0,parent:h0},f0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-manager-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:SE},m0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-manager-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zn},CE={id:l0,type:r.InputMap,version:1,declaration:null,name:"manager_id",description:null,defaultValue:null,dynamicArguments:[],index:4,readsValue:f0,parent:m0},T0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-department-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:DE},E0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-department-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zn},BE={id:o0,type:r.InputMap,version:1,declaration:null,name:"department_name",description:null,defaultValue:null,dynamicArguments:[],index:3,readsValue:T0,parent:E0},R0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-birth-date-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:PE},b0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-birth-date-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zn},wE={id:s0,type:r.InputMap,version:1,declaration:null,name:"birth_date",description:null,defaultValue:null,dynamicArguments:[],index:2,readsValue:R0,parent:b0},v0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-id-output-map-reads-value-ref-id",entityType:r.OutputMap,entityId:IE},g0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zn},_E={id:a0,type:r.InputMap,version:1,declaration:null,name:"id",description:"The ID of the employee",defaultValue:null,dynamicArguments:[],index:1,readsValue:v0,parent:g0},I0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Yn},P0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-called-by-ref-id",entityType:r.VariableDeclaration,entityId:fs},D0={id:Zn,type:r.VariableDeclaration,version:1,name:"Employee DTO",dataType:null,description:"A variable holding the data of a mapped employee DTO",calledByError:[],calledByEntry:[],calledBySuccess:[P0],successCalls:[Cl],errorCalls:[],readsValue:null,writesValues:[OE],inputs:[_E,wE,BE,CE],outputs:[],internalCalls:[],parent:I0,x:0,y:0},A0={type:r.GenericReference,id:"employee-dto-func-manager-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:fs},S0={id:SE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[CE],parent:A0},O0={type:r.GenericReference,id:"employee-dto-func-manager-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:fs},C0={id:"employee-dto-func-manager-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:It,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:O0,defaultValue:null},B0={type:r.GenericReference,id:"employee-dto-func-manager-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:AE},w0={type:r.GenericReference,id:"employee-dto-func-manager-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Yn};r.GenericReference,r.VariableDeclaration;const ME={id:fs,type:r.VariableDeclaration,version:1,name:"Manager",dataType:C0,description:"A variable holding an inherited manager",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[D0],errorCalls:[],readsValue:B0,writesValues:[],inputs:[],outputs:[S0],internalCalls:[],parent:w0,x:0,y:0},_0={type:r.GenericReference,id:"employee-dto-func-employee-variable-manager-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:zn},M0={id:AE,type:r.OutputMap,version:1,declaration:It.properties[2],index:3,writesValues:[ME],parent:_0},N0={type:r.GenericReference,id:"employee-dto-func-employee-variable-department-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:zn},$0={id:DE,type:r.OutputMap,version:1,declaration:It.properties[0],index:2,writesValues:[BE],parent:N0},V0={type:r.GenericReference,id:"employee-dto-func-employee-variable-birth-date-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:zn},L0={id:PE,type:r.OutputMap,version:1,declaration:ct.properties[1],index:1,writesValues:[wE],parent:V0},G0={type:r.GenericReference,id:"employee-dto-func-employee-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:zn},F0={id:IE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[_E],parent:G0},U0={type:r.GenericReference,id:"employee-dto-func-employee-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:zn},x0={id:"employee-dto-func-employee-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:It,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:U0,defaultValue:null},j0={type:r.GenericReference,id:"employee-dto-func-employee-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Yn},k0={type:r.GenericReference,id:"employee-dto-func-employee-variable-reads-value-ref-id",entityType:r.ArgumentDeclaration,entityId:Ol},q0={type:r.GenericReference,id:"employee-dto-func-employee-variable-called-by-id",entityType:r.FunctionDeclaration,entityId:Yn},NE={id:zn,type:r.VariableDeclaration,version:1,name:"Company employee",dataType:x0,description:"A variable holding a company employee",calledByError:[],calledByEntry:[q0],calledBySuccess:[],successCalls:[ME],errorCalls:[],readsValue:k0,writesValues:[],inputs:[],outputs:[F0,L0,$0,M0],internalCalls:[],parent:j0,x:0,y:0},J0={type:r.GenericReference,id:"employee-dto-func-declaration-employee-input-declaration-data-type-parent-ref-id",entityId:Ol,entityType:r.ArgumentDeclaration},W0={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"employee-dto-func-declaration-employee-input-declaration-data-type-id",version:1,entity:It,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:J0,defaultValue:null},H0={type:r.GenericReference,id:"employee-dto-func-declaration-employee-input-declaration-parent-ref-id",entityId:Yn,entityType:r.FunctionDeclaration},Y0={type:r.ArgumentDeclaration,id:Ol,version:1,name:"Employee",description:"The employee to create a DTO for",required:!0,dataType:W0,index:0,writesValues:[NE],parent:H0},z0={type:r.GenericReference,id:"employee-dto-function-declaration-parent-ref-id",entityType:r.Project,entityId:J},Bl={type:r.FunctionDeclaration,id:Yn,version:1,name:"Employee DTO",description:"Takes a employee and returns a DTO of that employee",index:null,inputs:[Y0],calls:[NE],implements:null,returnStatements:[Cl],collapsed:!1,private:!1,x:0,y:0,parent:z0},Z0={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-data-type-parent-ref-id",type:r.GenericReference,entityId:iE,entityType:r.ReturnDeclaration},X0={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,defaultValue:null,entity:It,isList:!1,isNullable:!1,asType:!1,constant:!1,parent:Z0},Q0={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-reads-value-ref-id",type:r.GenericReference,entityId:xi,entityType:r.OutputMap},K0={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-parent-ref-id",type:r.GenericReference,entityId:aE,entityType:r.ContinueStatement},$E={isError:!1,id:iE,type:r.ReturnDeclaration,version:1,name:"Employee DTO",description:"The DTO of the employee entity.",readsValue:Q0,dataType:X0,required:!0,index:0,parent:K0},e1={id:"iterate-over-employee-list-continue-statement-called-by-ref-id",type:r.GenericReference,entityId:xi,entityType:r.FunctionCall},t1={id:"iterate-over-employee-list-continue-statement-parent-ref-id",type:r.GenericReference,entityId:Fr,entityType:r.Loop},VE={id:aE,type:r.ContinueStatement,version:1,calledByError:[],calledByEntry:[],calledBySuccess:[e1],outputs:[$E],throws:null,x:0,y:0,parent:t1},n1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-dto-output-map-parent-ref-id",type:r.GenericReference,entityId:xi,entityType:r.FunctionCall},r1={id:MN,type:r.OutputMap,version:1,declaration:Cl.outputs[0],writesValues:[$E],index:0,parent:n1},i1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-input-map-reads-value-ref-id",type:r.GenericReference,entityId:Dl,entityType:r.ArgumentDeclaration},a1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-input-map-parent-ref-id",type:r.GenericReference,entityId:xi,entityType:r.FunctionCall},LE={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-input-map-id",type:r.InputMap,version:1,name:null,description:null,declaration:Bl.inputs[0],readsValue:i1,index:0,defaultValue:null,dynamicArguments:[],parent:a1},s1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-called-by-ref-id",type:r.GenericReference,entityId:ps,entityType:r.FunctionDeclaration},o1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-parent-ref-id",type:r.GenericReference,entityId:ps,entityType:r.FunctionDeclaration},l1={id:xi,type:r.FunctionCall,version:1,declaration:Bl,inputs:[LE],process:null,outputs:[r1],calledByError:[],calledByEntry:[s1],calledBySuccess:[],successCalls:[VE],errorCalls:[],error:null,x:0,y:0,parent:o1},c1={type:r.GenericReference,id:"iterate-over-employee-list-loop-body-current-employee-argument-declaration-data-type-parent-ref-id",entityId:Dl,entityType:r.ArgumentDeclaration},d1={id:"iterate-over-employee-list-loop-body-current-employee-argument-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,defaultValue:null,entity:It,isList:!1,isNullable:!1,asType:!1,constant:!1,parent:c1},u1={id:"iterate-over-employee-list-loop-body-current-employee-argument-declaration-parent-ref-id",type:r.GenericReference,entityId:ps,entityType:r.FunctionDeclaration},p1={id:Dl,type:r.ArgumentDeclaration,version:1,name:"Current employee",description:"The current employee entity being processed.",dataType:d1,required:!0,index:0,writesValues:[LE],parent:u1},y1={id:"iterate-over-employee-list-loop-body-parent-ref-id",type:r.GenericReference,entityId:Fr,entityType:r.Loop},h1={id:ps,type:r.FunctionDeclaration,version:1,name:"Iteration logic trigger",description:"This function is called once for each entity in the list.",inputs:[p1],calls:[l1],implements:null,collapsed:!1,returnStatements:[],private:!1,index:0,x:0,y:0,parent:y1},f1={id:"iterate-over-employee-list-loop-iteration-list-input-map-parent-ref-id",type:r.GenericReference,entityId:Fr,entityType:r.Loop},m1={id:"iterate-over-employee-list-loop-iteration-list-input-map-reads-value-ref-id",type:r.GenericReference,entityId:cE,entityType:r.OutputMap},GE={id:"iterate-over-employee-list-loop-iteration-list-input-map-id",type:r.InputMap,version:1,name:null,description:null,declaration:jn.fixedArguments[0],defaultValue:null,dynamicArguments:[],readsValue:m1,index:0,parent:f1},T1={id:"iterate-over-employee-list-loop-parent-ref-id",type:r.GenericReference,entityId:sn,entityType:r.FunctionDeclaration},E1={id:"iterate-over-employee-list-loop-employee-dto-output-map-parent-ref-id",type:r.GenericReference,entityId:Fr,entityType:r.Loop},R1={id:rE,type:r.OutputMap,version:1,declaration:jn.fixedReturns[0],writesValues:[RE],index:0,parent:E1},b1={type:r.GenericReference,id:"iterate-over-employee-list-loop-called-by-ref-id",entityType:r.VariableDeclaration,entityId:Ht},v1={id:Fr,type:r.Loop,version:1,declaration:jn,inputs:[GE],successCalls:[Sl],errorCalls:[],outputs:[R1],body:h1,process:null,calledByError:[],calledByEntry:[],calledBySuccess:[b1],breakStatements:[],continueStatements:[VE],error:null,x:0,y:0,parent:T1},g1={type:r.GenericReference,id:"company-dto-func-bank-account-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:hs},I1={id:hE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[TE],parent:g1},P1={type:r.GenericReference,id:"company-dto-func-bank-account-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:hs},D1={id:"company-dto-func-bank-account-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:P1,defaultValue:null},A1={type:r.GenericReference,id:"company-dto-func-bank-account-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:yE},S1={type:r.GenericReference,id:"company-dto-func-bank-account-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn};r.GenericReference,r.VariableDeclaration;const FE={id:hs,type:r.VariableDeclaration,version:1,name:"Bank account",dataType:D1,description:"A variable holding an inherited bank account",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[Sl],errorCalls:[],readsValue:A1,writesValues:[],inputs:[],outputs:[I1],internalCalls:[],parent:S1,x:0,y:0},O1={type:r.GenericReference,id:"company-dto-func-owner-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:ys},C1={id:pE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[mE],parent:O1},B1={type:r.GenericReference,id:"company-dto-func-owner-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:ys},w1={id:"company-dto-func-owner-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:B1,defaultValue:null},_1={type:r.GenericReference,id:"company-dto-func-owner-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:uE},M1={type:r.GenericReference,id:"company-dto-func-owner-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn};r.GenericReference,r.VariableDeclaration;const UE={id:ys,type:r.VariableDeclaration,version:1,name:"Owner",dataType:w1,description:"A variable holding an inherited owner",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[Sl],errorCalls:[],readsValue:_1,writesValues:[],inputs:[],outputs:[C1],internalCalls:[],parent:M1,x:0,y:0},N1={type:r.GenericReference,id:"company-dto-func-company-variable-owner-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},$1={id:uE,type:r.OutputMap,version:1,declaration:mt.properties[2],index:4,writesValues:[UE],parent:N1},V1={type:r.GenericReference,id:"company-dto-func-company-variable-bank-account-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},L1={id:yE,type:r.OutputMap,version:1,declaration:mt.properties[2],index:3,writesValues:[FE],parent:V1},G1={type:r.GenericReference,id:"company-dto-func-company-variable-name-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},F1={id:dE,type:r.OutputMap,version:1,declaration:mt.properties[0],index:2,writesValues:[EE],parent:G1},U1={type:r.GenericReference,id:"company-dto-func-company-variable-employess-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},x1={id:cE,type:r.OutputMap,version:1,declaration:mt.properties[3],index:1,writesValues:[GE],parent:U1},j1={type:r.GenericReference,id:"company-dto-func-company-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},k1={id:lE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[bE],parent:j1},q1={type:r.GenericReference,id:"company-dto-func-company-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},J1={id:"company-dto-func-company-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:q1,defaultValue:null},W1={type:r.GenericReference,id:"company-dto-func-company-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn},H1={type:r.GenericReference,id:"company-dto-func-company-variable-reads-value-ref-id",entityType:r.ArgumentDeclaration,entityId:Pl},Y1={type:r.GenericReference,id:"company-dto-func-company-variable-called-by-id",entityType:r.FunctionDeclaration,entityId:sn},xE={id:Ht,type:r.VariableDeclaration,version:1,name:"Company",dataType:J1,description:"A variable holding a company",calledByError:[],calledByEntry:[Y1],calledBySuccess:[],successCalls:[FE,UE,v1],errorCalls:[],readsValue:H1,writesValues:[],inputs:[],outputs:[k1,x1,F1,L1,$1],internalCalls:[],parent:W1,x:0,y:0},z1={type:r.GenericReference,id:"company-dto-func-declaration-company-input-declaration-data-type-parent-ref-id",entityId:Pl,entityType:r.ArgumentDeclaration},Z1={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"company-dto-func-declaration-company-input-declaration-data-type-id",version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:z1,defaultValue:null},X1={type:r.GenericReference,id:"company-dto-func-declaration-company-input-declaration-parent-ref-id",entityId:sn,entityType:r.FunctionDeclaration},Q1={type:r.ArgumentDeclaration,id:Pl,version:1,name:"Company",description:"The company to create a DTO for",required:!0,dataType:Z1,index:0,writesValues:[xE],parent:X1},K1={type:r.GenericReference,id:"company-dto-function-declaration-parent-ref-id",entityType:r.Project,entityId:J},wl={type:r.FunctionDeclaration,id:sn,version:1,name:"Company DTO",description:"Takes a company and returns a DTO of that company",inputs:[Q1],calls:[xE],implements:null,index:null,returnStatements:[Al],collapsed:!1,private:!1,x:0,y:0,parent:K1},ji="exec-in-parallel-operation-call-id",ki="exec-sequentially-operation-call-id",dt="concurrency-and-wait-function-declaration-id",jE="concurrency-and-wait-return-statement-id",kE="concurrency-and-wait-return-declaration-id",_l="exec-in-parallel-argument-map-id",qE="exec-sequentially-argument-map-id",Ml="wait-for-2-seconds-operation-id",JE="wait-for-2-seconds-argument-map-id",Nl="map-company-dto-function-call-id",WE="map-company-dto-function-call-company-dto-output-map-id",qi="company-dto-variable-one-id",$l="company-dto-variable-one-instance-id",e$="company-dto-variable-two-id",t$={type:r.GenericReference,id:"returned-company-dto-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:kE},n$={id:"returned-company-dto-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:t$},r$={type:r.GenericReference,id:"returned-company-dto-parent-ref-id",entityType:r.ReturnStatement,entityId:jE},i$={type:r.GenericReference,id:"returned-company-dto-reads-value-ref-id",entityType:r.VariableDeclaration,entityId:qi},HE={isError:!1,id:kE,type:r.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:n$,readsValue:i$,required:!0,index:0,parent:r$},a$={type:r.GenericReference,id:"concurrency-and-wait-return-statement-called-by-ref-id",entityType:r.Operation,entityId:Ml},s$={type:r.GenericReference,id:"concurrency-and-wait-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},YE={type:r.ReturnStatement,id:jE,version:1,outputs:[HE],calledByError:[],calledByEntry:[],calledBySuccess:[a$],throws:null,x:0,y:0,parent:s$},o$={type:r.GenericReference,id:"company-dto-variable-two-called-by-ref-id",entityType:r.VariableInstance,entityId:$l},l$={type:r.GenericReference,id:"company-dto-variable-two-reads-value-ref-id",entityType:r.VariableInstance,entityId:$l},c$={type:r.GenericReference,id:"company-dto-variable-two-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},zE={id:e$,type:r.VariableDeclaration,version:1,name:"Company DTO",description:null,dataType:null,inputs:[],outputs:[],successCalls:[],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[o$],internalCalls:[],writesValues:[HE],readsValue:l$,x:0,y:0,parent:c$},d$={type:r.GenericReference,id:"company-dto-variable-one-instance-called-by-ref-id",entityType:r.VariableDeclaration,entityId:qi},u$={type:r.GenericReference,id:"company-dto-variable-one-instance-reads-value-ref-id",entityType:r.VariableDeclaration,entityId:qi},p$={type:r.GenericReference,id:"company-dto-variable-one-instance-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},y$={type:r.GenericReference,id:"company-dto-variable-one-instance-declaration-ref-id",entityType:r.VariableDeclaration,entityId:qi},ZE={id:$l,type:r.VariableInstance,version:1,declaration:y$,inputs:[],outputs:[],successCalls:[zE],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[d$],internalCalls:[],writesValues:[zE],readsValue:u$,x:0,y:0,parent:p$},h$={type:r.GenericReference,id:"company-dto-variable-one-called-by-ref-id",entityType:r.FunctionCall,entityId:Nl},f$={type:r.GenericReference,id:"company-dto-variable-one-reads-value-ref-id",entityType:r.OutputMap,entityId:WE},m$={type:r.GenericReference,id:"company-dto-variable-one-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},XE={id:qi,type:r.VariableDeclaration,version:1,name:"Company DTO",description:null,dataType:null,inputs:[],outputs:[],successCalls:[ZE],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[h$],internalCalls:[],writesValues:[ZE],readsValue:f$,x:0,y:0,parent:m$},QE={type:r.GenericReference,id:"map-company-dto-function-call-company-input-map-parent-ref-id",entityType:r.FunctionCall,entityId:Nl},T$={id:"map-company-dto-function-call-company-input-map-id",type:r.InputMap,version:1,declaration:wl.inputs[0],name:null,description:null,defaultValue:null,dynamicArguments:[],index:0,readsValue:null,parent:QE},E$={id:WE,type:r.OutputMap,version:1,declaration:Al.outputs[0],writesValues:[XE],index:0,parent:QE},R$={id:"map-company-dto-function-call-called-by-ref-id",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:dt},b$={id:"map-company-dto-function-call-parent-ref-id",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:dt},v$={id:Nl,type:r.FunctionCall,version:1,declaration:wl,successCalls:[XE],process:null,errorCalls:[],inputs:[T$],outputs:[E$],calledByError:[],calledByEntry:[R$],calledBySuccess:[],parent:b$,x:0,y:0,error:null},g$={type:r.GenericReference,id:"last-timestamp-variable-datatype-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ym},I$={type:r.GenericReference,id:"last-timestamp-variable-default-value-parent-ref-id",entityType:r.DataType,entityId:"last-timestamp-variable-datatype-id"},P$={id:"last-timestamp-variable-datatype-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Sr,version:1,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:g$,defaultValue:{id:"last-timestamp-variable-default-value-id",type:r.PrimitiveValue,version:1,name:g.Date,value:null,autogeneration:{type:xe.CurrentDateAndTime,rangeStart:null,rangeEnd:null},parent:I$,valueAsType:null}},D$={type:r.GenericReference,id:"last-timestamp-variable-main-project-ref-id",entityType:r.Project,entityId:J},Vl={id:Ym,type:r.VariableDeclaration,version:1,name:"Last registered current time",description:"A test variable that holds the last current date and time that was registered.",dataType:P$,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:D$},A$={type:r.GenericReference,id:"wait-for-2-seconds-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:JE},S$={type:r.GenericReference,id:"wait-for-2-seconds-argument-map-parent-ref-id",entityType:r.Operation,entityId:Ml},O$={id:JE,type:r.InputMap,version:1,declaration:Un,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"wait-for-2-seconds-argument-default-value-id",type:r.PrimitiveValue,version:1,value:2e3,valueAsType:null,autogeneration:null,name:g.Number,parent:A$},index:0,parent:S$},C$={type:r.GenericReference,id:"wait-for-2-seconds-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},B$={type:r.GenericReference,id:"wait-for-2-seconds-called-by-ref-one-id",entityType:r.FunctionDeclaration,entityId:ki},w$={type:r.GenericReference,id:"wait-for-2-seconds-called-by-ref-two-id",entityType:r.FunctionDeclaration,entityId:ji},KE={id:Ml,type:r.Operation,version:1,declaration:$t,inputs:[O$],dynamicArguments:[],outputs:[],process:null,successCalls:[YE],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[B$,w$],calledBySuccess:[],error:null,parent:C$},_$={type:r.GenericReference,id:"wait-for-random-amount-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:"wait-for-random-amount-input-map-id"},M$={type:r.GenericReference,id:"wait-for-random-amount-argument-map-parent-ref-id",entityType:r.Operation,entityId:"wait-for-random-amount-id"},N$={id:"wait-for-random-amount-input-map-id",type:r.InputMap,version:1,declaration:Un,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"wait-for-random-amount-argument-default-value-id",type:r.PrimitiveValue,version:1,value:null,valueAsType:null,autogeneration:{type:xe.Random,rangeStart:1e3,rangeEnd:4e3},name:g.Number,parent:_$},index:0,parent:M$},$$={type:r.GenericReference,id:"wait-for-random-amount-parent-ref-id",entityType:r.Project,entityId:J},Ur={id:"wait-for-random-amount-id",type:r.Operation,version:1,declaration:$t,inputs:[N$],dynamicArguments:[],process:null,outputs:[],successCalls:[],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[],calledBySuccess:[],error:null,parent:$$},eR="list-of-functions-variable-id",V$={type:r.GenericReference,id:"list-of-functions-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:eR},L$={id:"list-of-functions-variable-action-descriptor-id",type:r.ActionDescriptor,version:1,name:"Action to execute",description:"An action of any type, to be executed. It can contain any number of inputs and outputs.",argumentsType:L.Dynamic,dynamicArgumentTypes:null,fixedArguments:[],returnsType:L.Dynamic,error:null,dynamicReturnTypes:null,fixedReturns:[],parent:null},G$={type:r.GenericReference,id:"list-of-functions-variable-data-type-default-parent-ref-id",entityType:r.DataType,entityId:"list-of-functions-variable-data-type-id"},F$={id:"list-of-functions-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:L$,asType:!1,isList:!0,isNullable:!1,defaultValue:{id:"list-of-functions-variable-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.ActionDescriptor,value:null,valueAsType:[Ur,Ur,Ur,Ur,Ur],autogeneration:null,parent:G$},constant:!1,parent:V$},U$={type:r.GenericReference,id:"list-of-functions-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt};r.GenericReference,r.InputMap;const x$={type:r.GenericReference,id:"list-of-functions-variable-writes-value-one-ref-id",entityType:r.InputMap,entityId:qE},j$={type:r.GenericReference,id:"list-of-functions-variable-writes-value-two-ref-id",entityType:r.InputMap,entityId:_l},tR={id:eR,type:r.VariableDeclaration,version:1,name:"List of functions to execute",description:"A list of functions to be executed in parallel",dataType:F$,parent:U$,readsValue:null,writesValues:[x$,j$],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],inputs:[],outputs:[],internalCalls:[],x:0,y:0},k$={type:r.GenericReference,id:"exec-in-parallel-return-map-parent-ref-id",entityType:r.Operation,entityId:ji},q$={type:r.GenericReference,id:"exec-in-parallel-result-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},J$={type:r.GenericReference,id:"exec-in-parallel-result-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:"exec-in-parallel-return-map-id"},W$={type:r.GenericReference,id:"exec-in-parallel-result-variable-called-by-ref-id",entityType:r.Operation,entityId:ji},nR={id:"exec-in-parallel-result-variable-id",type:r.VariableInstance,version:1,declaration:Vl,readsValue:J$,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[W$],successCalls:[],errorCalls:[],internalCalls:[],parent:q$,x:0,y:0},H$={id:"exec-in-parallel-return-map-id",type:r.OutputMap,version:1,declaration:Bo,writesValues:[nR],index:0,parent:k$},Y$={type:r.GenericReference,id:"exec-in-parallel-argument-map-parent-ref-id",entityType:r.Operation,entityId:ji},z$={id:_l,type:r.InputMap,version:1,declaration:Co,name:null,description:null,dynamicArguments:[],readsValue:tR,defaultValue:null,index:0,parent:Y$},Z$={type:r.GenericReference,id:"exec-in-parallel-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},X$={type:r.GenericReference,id:"exec-in-parallel-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:dt},Q$={process:null,id:ji,type:r.Operation,version:1,declaration:$t,inputs:[z$],dynamicArguments:[],outputs:[H$],successCalls:[KE,nR],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[X$],calledBySuccess:[],error:null,parent:Z$},K$={type:r.GenericReference,id:"exec-sequentially-return-map-parent-ref-id",entityType:r.Operation,entityId:ki},eV={type:r.GenericReference,id:"exec-sequentially-result-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},tV={type:r.GenericReference,id:"exec-sequentially-result-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:"exec-sequentially-return-map-id"},nV={type:r.GenericReference,id:"exec-sequentially-result-variable-called-by-ref-id",entityType:r.Operation,entityId:ki},rR={id:"exec-sequentially-result-variable-id",type:r.VariableInstance,version:1,declaration:Vl,readsValue:tV,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[nV],successCalls:[],errorCalls:[],internalCalls:[],parent:eV,x:0,y:0},rV={id:"exec-sequentially-return-map-id",type:r.OutputMap,version:1,declaration:_o,writesValues:[rR],index:0,parent:K$},iV={type:r.GenericReference,id:"exec-sequentially-argument-map-parent-ref-id",entityType:r.Operation,entityId:ki},aV={id:qE,type:r.InputMap,version:1,declaration:wo,name:null,description:null,dynamicArguments:[],readsValue:tR,defaultValue:null,index:0,parent:iV},sV={type:r.GenericReference,id:"exec-sequentially-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},oV={type:r.GenericReference,id:"exec-sequentially-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:dt},lV={id:ki,type:r.Operation,version:1,declaration:tn,inputs:[aV],process:null,dynamicArguments:[],outputs:[rV],successCalls:[KE,rR],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[oV],calledBySuccess:[],error:null,parent:sV},cV={type:r.GenericReference,id:"concurrency-and-wait-parent-ref-id",entityType:r.Project,entityId:J},dV={type:r.FunctionDeclaration,id:dt,version:1,name:"Execute with concurrency and wait",description:"Executes a hardcoded list of actions in parallel and waits for some time before ending the logic with some unrelated data payload as the result.",inputs:[],calls:[lV,Q$,v$],returnStatements:[YE],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:cV},uV={type:r.GenericReference,id:"3521f2c8-a5c0-419c-8808-4fc6a73d0b78",entityType:r.ReturnDeclaration,entityId:"e1ec31f0-25ca-42ac-a4c4-c9ec2255f55b"},pV={id:"ce8b9a30-afe9-4d4f-879f-1677efca2c47",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:uV},yV={type:r.GenericReference,id:"8ee66e38-b060-474e-a503-594063a8ec24",entityType:r.ReturnStatement,entityId:"40a23a98-d3b2-42b1-9652-b33779ad15aa"},hV={isError:!1,id:"e1ec31f0-25ca-42ac-a4c4-c9ec2255f55b",type:r.ReturnDeclaration,version:1,name:"Created company",description:"The new company that was created",dataType:pV,readsValue:null,required:!0,index:0,parent:yV},fV={type:r.GenericReference,id:"9cb3c1e4-7250-4be6-be2a-69c2dd366d6f",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},mV={type:r.GenericReference,id:"c065fcdd-e054-4f95-941c-7eaa65c35d04",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},iR={type:r.ReturnStatement,id:"40a23a98-d3b2-42b1-9652-b33779ad15aa",version:1,outputs:[hV],calledByError:[],calledByEntry:[mV],calledBySuccess:[],throws:null,x:0,y:0,parent:fV},TV={type:r.GenericReference,id:"312ef836-9e40-4d57-b177-03b7145ed074",entityType:r.Project,entityId:J},EV={type:r.FunctionDeclaration,id:"5059c093-eda2-4efc-b7b4-aaaadd4d44de",version:1,name:"Create new company",description:null,inputs:[],calls:[iR],index:null,implements:null,returnStatements:[iR],collapsed:!1,private:!1,x:0,y:0,parent:TV},Ll="get-current-date-and-time-func-decl-id",aR="get-current-date-and-time-return-statement-id",sR="get-current-date-and-time-return-declaration-id",oR="get-current-date-and-time-return-declaration-data-type-id",RV={type:r.GenericReference,id:"get-current-date-and-time-return-declaration-data-type-value-parent-ref-id",entityType:r.DataType,entityId:oR},bV={type:r.GenericReference,id:"get-current-date-and-time-return-declaration-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:sR},vV={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:oR,version:1,entity:Sr,asType:!1,isList:!1,isNullable:!1,defaultValue:{id:"last-timestamp-variable-default-value-id",type:r.PrimitiveValue,version:1,value:null,name:g.Date,valueAsType:null,autogeneration:{type:xe.CurrentDateAndTime,rangeStart:null,rangeEnd:null},parent:RV},constant:!1,parent:bV},gV={type:r.GenericReference,id:"get-current-date-and-time-return-declaration-parent-ref-id",entityType:r.ReturnStatement,entityId:aR};r.ReturnDeclaration;const IV={type:r.GenericReference,id:"get-current-date-and-time-return-statement-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Ll},PV={type:r.GenericReference,id:"get-current-date-and-time-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Ll};r.ReturnStatement;const DV={type:r.GenericReference,id:"concurrency-and-wait-parent-ref-id",entityType:r.Project,entityId:J},AV={type:r.FunctionDeclaration,id:Ll,version:1,name:"Get current date and time",description:"Generates and returns the current date and time at the time of the execution",inputs:[],calls:[],returnStatements:[],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:DV},lR="do-math-return-statement-id",cR="do-math-return-declaration-id",SV={type:r.GenericReference,id:"do-math-func-var-to-return-one-ref-id",entityType:r.VariableDeclaration,entityId:"do-math-func-var-to-return-one-id"},OV={id:"do-math-func-var-to-return-one-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:SV},CV={type:r.GenericReference,id:"do-math-func-decl-ref-two-id",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},BV={type:r.GenericReference,id:"do-math-func-var-to-return-one-map-ref-id",entityType:r.ReturnDeclaration,entityId:cR},wV={type:r.VariableDeclaration,id:"do-math-func-var-to-return-one-id",version:1,description:null,name:"Fixed result",dataType:OV,readsValue:null,writesValues:[BV],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:CV},_V={type:r.GenericReference,id:"96ec244e-594b-45f7-802b-6dc3056920f6",entityType:r.ReturnStatement,entityId:lR},MV={type:r.GenericReference,id:"d120c0cc-9d13-4e45-90e2-4e1ee825ca46",entityType:r.ReturnDeclaration,entityId:"873a3556-4911-4141-b2a0-49c677b56fb4"},NV={id:"da91aa23-9985-49ac-a8bf-9d623ba1ba8f",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:MV},$V={isError:!1,id:cR,version:1,type:r.ReturnDeclaration,name:"Result",description:null,dataType:NV,readsValue:wV,required:!0,index:0,parent:_V},VV={type:r.GenericReference,id:"57fd93e4-93a1-484e-82eb-4dd15d2d0e24",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},LV={type:r.GenericReference,id:"0a86e8d5-ab21-476e-a482-b928cbf351e3",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},dR={type:r.ReturnStatement,id:lR,version:1,outputs:[$V],calledByError:[],calledByEntry:[],calledBySuccess:[VV],parent:LV,throws:null,x:0,y:0},GV={type:r.GenericReference,id:"a2db26be-57f2-48e5-9769-cdbf0d95dc7c",entityType:r.VariableDeclaration,entityId:"d0e9f1f3-7e9f-4e1f-8d8e-7b4b3e6c6a6a"},FV={id:"c3e9d5f0-204f-45f9-85f7-e1b56b468388",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:GV},UV={type:r.GenericReference,id:"692122c5-610a-4504-90dd-f5a5202d116c",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},xV={type:r.GenericReference,id:"do-math-func-return-one-called-by",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},jV={type:r.GenericReference,id:"6dceb501-be5b-4252-afb4-3c0d08abba33",entityType:r.OutputMap,entityId:"64752080-ee0f-4cfe-9897-a0668f2b2aca"},uR={type:r.VariableDeclaration,id:"d0e9f1f3-7e9f-4e1f-8d8e-7b4b3e6c6a6a",version:1,name:"Result",dataType:FV,description:null,readsValue:jV,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[xV],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:UV},kV={type:r.GenericReference,id:"5440f523-af38-4981-8035-89d162fe8041",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},qV={type:r.GenericReference,id:"8c482c35-e674-4713-a1dd-63c3d13b611c",entityType:r.OutputMap,entityId:"64752080-ee0f-4cfe-9897-a0668f2b2aca"},JV={type:r.GenericReference,id:"c0a299cd-5869-4930-8cf0-90e3ceb8a903",entityType:r.VariableDeclaration,entityId:"46b2fe23-b417-4887-a35d-09b186679172"},WV={id:"51c0c1df-2ee3-41df-ae52-ac512d8cf795",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:JV},HV={type:r.GenericReference,id:"do-math-func-return-two-called-by",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},pR={type:r.VariableDeclaration,id:"46b2fe23-b417-4887-a35d-09b186679172",version:1,name:"Total",description:null,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[HV],successCalls:[],errorCalls:[],dataType:WV,readsValue:qV,writesValues:[],internalCalls:[],parent:kV,x:0,y:0},yR={type:r.GenericReference,id:"6e4d776e-6af2-4321-b630-c78110fd677c",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},YV={type:r.GenericReference,id:"5b60955b-2486-40b6-bb24-ffd97ccd8902",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},zV={type:r.GenericReference,id:"1a49923f-bc6f-453f-a438-e74e5475c2a9",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},ZV={type:r.GenericReference,id:"02bfde0a-b757-4072-9613-6e9c7c9a424a",entityType:r.ArgumentDeclaration,entityId:"d8895765-f705-457e-85fa-25d130926769"},hR={id:"928953b0-0e3f-4d8c-ae5a-84620b4b8c68",version:1,type:r.InputMap,declaration:bo,name:null,description:null,dynamicArguments:[],readsValue:ZV,defaultValue:null,index:0,parent:zV},XV={id:"64752080-ee0f-4cfe-9897-a0668f2b2aca",type:r.OutputMap,version:1,declaration:go,writesValues:[uR,pR],index:0,parent:YV},QV={type:r.GenericReference,id:"d235a7f6-07ff-4f35-98d2-8f42dd59cf9f",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},KV={id:"8827e8e9-9381-4ad7-8f61-5419c23c9136",type:r.GenericReference,entityType:r.VariableDeclaration,entityId:"72a338d8-0183-4ca2-8760-227517854595"},fR={id:"a5525249-0eb5-472b-97bc-5e4cc0d75aee",version:1,type:r.InputMap,declaration:vo,name:null,description:null,dynamicArguments:[],readsValue:KV,defaultValue:null,index:1,parent:QV},eL={type:r.Operation,id:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e",declaration:ma,version:1,inputs:[hR,fR],dynamicArguments:[],outputs:[XV],calledByError:[],calledByEntry:[yR],calledBySuccess:[],process:null,successCalls:[dR,uR,pR],errorCalls:[],parent:yR,error:null,x:0,y:0},tL={type:r.GenericReference,id:"a2c40226-2270-4963-a865-c777ba79c551",entityType:r.DataType,entityId:"a350a9e9-25ee-477f-a83d-9e98ed2451662"},nL={id:"f47731b3-f278-4ab5-aeb2-24519c1119fb",type:r.GenericReference,entityId:"72a338d8-0183-4ca2-8760-227517854595",entityType:r.ArgumentDeclaration},mR={id:"a350a9e9-25ee-477f-a83d-9e98ed2451662",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"do-math-func-argument-two-default-value-id",type:r.PrimitiveValue,version:1,value:1,name:g.Number,parent:tL,valueAsType:null,autogeneration:null},constant:!1,parent:nL},rL={type:r.GenericReference,id:"5f5d8dd0-7f3b-40cd-9f84-83d976887eaf",entityType:r.ArgumentDeclaration,entityId:"649bf0a4-6532-44aa-9818-a03d1c6564e9"},iL={type:r.GenericReference,id:"ca018d0f-a8b3-4c7e-a408-c8b372d04aff",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},aL={type:r.GenericReference,id:"do-math-func-var-called-by-ref",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},TR={type:r.VariableDeclaration,id:"72a338d8-0183-4ca2-8760-227517854595",version:1,name:"Z",description:null,dataType:mR,inputs:[],outputs:[],calledByError:[],calledByEntry:[aL],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:rL,writesValues:[fR],internalCalls:[],x:0,y:0,parent:iL},sL={entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b",type:r.GenericReference,id:"af0cf105-4075-425f-aecc-b25d3600fcc4"},oL={id:"649bf0a4-6532-44aa-9818-a03d1c6564e9",type:r.ArgumentDeclaration,version:1,name:"Z",description:"The number to add",dataType:mR,writesValues:[TR],required:!0,index:1,parent:sL},lL={type:r.GenericReference,id:"56953b5d-3e43-4dea-a62c-f3e868ba81bb",entityType:r.Project,entityId:J},cL={id:"868defc8-5c95-48ed-942d-257e8b9b9b00",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},dL={type:r.GenericReference,id:"35167664-a793-49f1-9eaf-fb57eac30897",entityType:r.DataType,entityId:"55b12914-91b1-48b7-9a3e-9c5d0d2a2ec2"},uL={id:"d47ceef6-be6f-40f1-a7b3-c73c8d8a6c6a",type:r.GenericReference,entityId:"d8895765-f705-457e-85fa-25d130926769",entityType:r.ArgumentDeclaration},pL={id:"55b12914-91b1-48b7-9a3e-9c5d0d2a2ec2",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"do-math-func-argument-one-default-value-id",type:r.PrimitiveValue,version:1,value:5,name:g.Number,parent:dL,valueAsType:null,autogeneration:null},constant:!1,parent:uL},yL={id:"d8895765-f705-457e-85fa-25d130926769",type:r.ArgumentDeclaration,version:1,name:"N",dataType:pL,description:"The number to add",writesValues:[hR],required:!0,index:0,parent:cL},hL={type:r.FunctionDeclaration,id:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b",version:1,name:"Do math",description:"This function does math",inputs:[yL,oL],calls:[eL,TR],implements:null,index:null,collapsed:!1,returnStatements:[dR],private:!1,x:0,y:0,parent:lL},Pt="replace-bank-account-in-company-func-declaration-id",Gl="company-entity-to-modify-arg-declaration-id",fL="account-number-to-create-arg-decl-id",xr="company-variable-id",jr="search-person-by-id-id",ER="new-bank-account-owner-arg-decl-id",RR="search-person-by-id-output-declaration-id",Fl="search-person-by-id-output-entity-map-id",ms="person-not-empty-condition-id",Ts="create-new-bank-account-instance-operation-id",bR="create-new-bank-account-instance-operation-output-entity-map-id",vR="company-bank-account-output-map-id",gR="old-bank-account-var-declaration-id",IR="company-variable-instance-id",mL="delete-bank-account-internal-call-id",TL={type:r.GenericReference,id:"company-variable-instance-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},EL={type:r.GenericReference,id:"company-variable-instance-called-by-ref-id",entityType:r.InternalCall,entityId:mL},RL={type:r.GenericReference,id:"company-variable-instance-declaration-ref-id",entityType:r.VariableDeclaration,entityId:xr},bL={type:r.GenericReference,id:"bank-account-input-map-parent-ref-id",entityType:r.VariableInstance,entityId:IR},vL={type:r.GenericReference,id:"bank-account-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:bR},PR={type:r.InputMap,id:"bank-account-input-map-id",version:1,readsValue:vL,declaration:fl,name:null,description:null,index:0,defaultValue:null,dynamicArguments:[],parent:bL},gL={type:r.VariableInstance,id:IR,version:1,declaration:RL,inputs:[PR],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[EL],successCalls:[],errorCalls:[],internalCalls:[],parent:TL,readsValue:null,writesValues:[],x:0,y:0},IL={type:r.GenericReference,id:"bank-account-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:xr},PL={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"bank-account-variable-data-type-id",version:1,entity:Lr,asType:!1,isList:!1,isNullable:!1,constant:!1,defaultValue:null,parent:IL},DL={type:r.GenericReference,id:"bank-account-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:vR},AL={type:r.GenericReference,id:"bank-account-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},SL={type:r.GenericReference,id:"bank-account-variable-called-by-ref-id",entityType:r.VariableDeclaration,entityId:xr},OL={type:r.GenericReference,id:"delete-bank-account-internal-call-called-by-ref-id",entityType:r.Operation,entityId:Ts},CL={type:r.GenericReference,id:"delete-bank-account-internal-call-parent-ref-id",entityType:r.VariableDeclaration,entityId:gR},DR={process:null,type:r.InternalCall,id:"delete-bank-account-internal-call-id",version:1,declaration:xo,index:0,successCalls:[gL],errorCalls:[],inputs:[],outputs:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[OL],parent:CL},AR={type:r.VariableDeclaration,id:gR,version:1,name:"Old bank account",description:"The existing bank account that needs to be replaced in the company entity",dataType:PL,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[SL],successCalls:[],internalCalls:[DR],errorCalls:[],parent:AL,readsValue:DL,writesValues:[],x:0,y:0},BL={type:r.GenericReference,id:"company-variable-declaration-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:xr},wL={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"company-variable-declaration-data-type-id",version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,constant:!1,defaultValue:null,parent:BL},_L={type:r.GenericReference,id:"company-variable-declaration-reads-value-ref-id",entityType:r.ArgumentDeclaration,entityId:Gl},ML={type:r.GenericReference,id:"company-variable-declaration-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},NL={type:r.GenericReference,id:"company-variable-declaration-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},$L={type:r.GenericReference,id:"company-bank-account-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:xr},VL={id:vR,version:1,type:r.OutputMap,declaration:fl,index:0,parent:$L,writesValues:[AR]},SR={type:r.VariableDeclaration,id:xr,version:1,name:"Company",description:"The company entity that was passed as an argument to the parent function",dataType:wL,inputs:[],outputs:[VL],calledByError:[],calledByEntry:[NL],calledBySuccess:[],successCalls:[AR],errorCalls:[],parent:ML,internalCalls:[],readsValue:_L,writesValues:[],x:0,y:0},LL={type:r.GenericReference,id:"create-new-bank-account-account-owner-dynamic-input-map-parent-ref-id",entityType:r.InputMap,entityId:"create-new-bank-account-instance-operation-entity-to-create-input-map-id"},GL={id:"create-new-bank-account-account-owner-dynamic-input-map-reads-value-ref-id",type:r.GenericReference,entityType:r.OutputMap,entityId:Fl},OR={id:"create-new-bank-account-account-owner-dynamic-input-map-id",version:1,type:r.InputMap,declaration:tT,name:null,description:null,dynamicArguments:[],readsValue:GL,index:1,defaultValue:null,parent:LL},FL={id:"create-new-bank-account-account-number-dynamic-input-map-reads-value-ref-id",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:fL},UL={type:r.GenericReference,id:"create-new-bank-account-account-number-dynamic-input-map-parent-ref-id",entityType:r.InputMap,entityId:"create-new-bank-account-instance-operation-entity-to-create-input-map-id"},CR={id:"create-new-bank-account-account-number-dynamic-input-map-id",version:1,type:r.InputMap,declaration:eT,name:null,description:null,dynamicArguments:[],readsValue:FL,defaultValue:null,index:0,parent:UL},xL={type:r.GenericReference,id:"create-new-bank-account-instance-operation-entity-to-create-input-map-parent-ref-id",entityType:r.Operation,entityId:Ts},jL={id:"create-new-bank-account-instance-operation-entity-to-create-input-map-id",version:1,type:r.InputMap,declaration:Or.fixedArguments[0],name:null,description:null,dynamicArguments:[CR,OR],index:0,readsValue:null,defaultValue:{type:r.PrimitiveValue,name:g.EntityTemplate,value:null,valueAsType:Lr,autogeneration:null},parent:xL},kL={type:r.GenericReference,id:"create-new-bank-account-instance-operation-output-entity-map-parent-ref-id",entityType:r.Operation,entityId:Ts},qL={id:bR,version:1,type:r.OutputMap,declaration:Or.fixedReturns[0],index:0,writesValues:[PR],parent:kL},JL={type:r.GenericReference,id:"create-new-bank-account-instance-operation-called-by-ref-id",entityType:r.Condition,entityId:ms},WL={type:r.GenericReference,id:"create-new-bank-account-instance-operation-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},HL={process:null,id:Ts,type:r.Operation,version:1,declaration:Or,inputs:[jL],dynamicArguments:[],error:null,outputs:[qL],successCalls:[DR],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[JL],parent:WL,x:0,y:0},YL={id:"person-not-found-thrown-error-datatype-default-value-parent-ref-id",type:r.GenericReference,entityId:"person-not-found-thrown-error-datatype-id",entityType:r.DataType},zL={id:"person-not-found-thrown-error-datatype-parent-ref-id",type:r.GenericReference,entityId:"person-not-found-thrown-error-id",entityType:r.ReturnDeclaration};r.DataType,r.PrimitiveValue,g.String;const ZL={id:"person-not-found-thrown-error-parent-ref-id",type:r.GenericReference,entityId:"person-not-found-error-return-statement-id",entityType:r.ReturnStatement},XL={isError:!0,id:"person-not-found-thrown-error-id",type:r.ReturnDeclaration,version:1,dataType:null,name:"Person not found error",description:"If the person entity was not found this error is outputted",parent:ZL,required:!0,index:0,readsValue:null},QL={id:"person-not-found-error-return-statement-called-by-ref-id",type:r.GenericReference,entityId:ms,entityType:r.Condition},KL={id:"person-not-found-error-return-statement-parent-ref-id",type:r.GenericReference,entityId:Pt,entityType:r.FunctionDeclaration},eG={id:"person-not-found-error-return-statement-id",type:r.ReturnStatement,version:1,throws:XL,outputs:[],calledBySuccess:[],calledByError:[QL],calledByEntry:[],x:0,y:0,parent:KL},tG={type:r.GenericReference,id:"person-not-empty-condition-called-by-ref-id",entityType:r.Search,entityId:jr},nG={type:r.GenericReference,id:"person-not-empty-condition-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},rG={type:r.GenericReference,id:"person-entity-to-check-map-reads-value-ref-id",entityType:r.OutputMap,entityId:Fl},iG={type:r.GenericReference,id:"person-not-empty-condition-ref-two-id",entityType:r.Condition,entityId:ms},BR={id:"person-entity-to-check-map-id",version:1,type:r.InputMap,declaration:kn.fixedArguments[0],name:null,description:null,dynamicArguments:[],readsValue:rG,index:0,defaultValue:null,parent:iG},aG={type:r.Condition,id:ms,version:1,declaration:kn,inputs:[BR],calledByError:[],calledByEntry:[],calledBySuccess:[tG],successCalls:[HL],errorCalls:[eG],x:0,y:0,parent:nG},sG={type:r.GenericReference,id:"search-person-by-id-output-entity-declaration-datatype-parent-ref-id",entityType:r.ReturnDeclaration,entityId:RR},oG={id:"search-person-by-id-output-entity-declaration-datatype-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!1,constant:!1,asType:!1,isNullable:!1,entity:ct,defaultValue:null,parent:sG},lG={type:r.GenericReference,id:"search-person-by-id-output-entity-declaration-parent-ref-id",entityType:r.Search,entityId:jr},wR={isError:!1,id:RR,type:r.ReturnDeclaration,version:1,dataType:oG,name:"Found person",description:"The person entity that was found",parent:lG,required:!0,index:0,readsValue:null},cG={type:r.GenericReference,id:"search-person-by-id-output-entity-map-parent-ref-id",entityType:r.Search,entityId:jr},dG={type:r.OutputMap,id:Fl,version:1,declaration:wR,parent:cG,writesValues:[BR,OR],index:0},uG={id:"search-person-by-id-input-declaration-datatype-parent-ref-id",type:r.GenericReference,entityId:"search-person-by-id-input-declaration-id",entityType:r.ArgumentDeclaration};r.DataType;const pG={type:r.GenericReference,id:"search-person-by-id-input-declaration-parent-ref-id",entityType:r.Search,entityId:jr},_R={id:"search-person-by-id-input-declaration-id",type:r.ArgumentDeclaration,version:1,dataType:null,name:"Person ID",description:"The unique identifier (ID) property of the person entity",index:0,required:!0,parent:pG,writesValues:[]},yG={type:r.GenericReference,id:"search-person-by-id-input-map-parent-ref-id",entityType:r.Search,entityId:jr},hG={id:"search-person-by-id-input-map-reads-value-ref-id",type:r.GenericReference,entityId:ER,entityType:r.ArgumentDeclaration},MR={type:r.InputMap,id:"search-person-by-id-input-map",version:1,declaration:_R,name:null,description:null,readsValue:hG,defaultValue:null,parent:yG,dynamicArguments:[],index:0},fG={from:{name:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},items:[{name:"*"}],where:[{name:"id",value:"{{dynamic_value_1}}"}]},mG={type:r.GenericReference,id:"search-person-by-id-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},TG={type:r.GenericReference,id:"search-person-by-id-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},EG={type:r.Search,id:jr,version:1,name:"Search person by ID",description:"Searches for a person entity given the UUID",query:fG,inputsDeclarations:[_R],inputs:[MR],outputsDeclarations:[wR],outputs:[dG],calledByError:[],calledByEntry:[TG],calledBySuccess:[],error:null,successCalls:[aG],errorCalls:[],parent:mG,x:0,y:0};r.GenericReference,r.DataType;const RG={id:"account-number-to-create-arg-decl-data-type-parent-ref-id",type:r.GenericReference,entityId:"account-number-to-create-arg-decl-id",entityType:r.ArgumentDeclaration},bG={id:"account-number-to-create-arg-decl-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:RG},vG={entityType:r.FunctionDeclaration,entityId:Pt,type:r.GenericReference,id:"account-number-to-create-arg-decl-parent-ref-id"},gG={id:"account-number-to-create-arg-decl-id",type:r.ArgumentDeclaration,version:1,name:"Account number",description:"The account number of the new bank account entity",dataType:bG,writesValues:[CR],required:!0,index:1,parent:vG};r.GenericReference,r.DataType;const IG={id:"new-bank-account-owner-arg-decl-data-type-parent-ref-id",type:r.GenericReference,entityId:"new-bank-account-owner-arg-decl-id",entityType:r.ArgumentDeclaration},PG={id:"new-bank-account-owner-arg-decl-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:fa,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:IG},DG={entityType:r.FunctionDeclaration,entityId:Pt,type:r.GenericReference,id:"new-bank-account-owner-arg-decl-parent-ref-id"},AG={id:ER,type:r.ArgumentDeclaration,version:1,name:"New account owner ID",description:"If it has changed, this is the new person entity, that owns of the bank account",dataType:PG,writesValues:[MR],required:!1,index:1,parent:DG},SG={type:r.GenericReference,id:"replace-bank-account-in-company-parent-ref",entityType:r.Project,entityId:J},OG={type:r.GenericReference,id:"company-entity-to-modify-parent-ref",entityType:r.FunctionDeclaration,entityId:Pt};r.GenericReference,r.DataType;const CG={id:"d47ceef6-be6f-40f1-a7b3-c73c8d8a6c6a",type:r.GenericReference,entityId:Gl,entityType:r.ArgumentDeclaration},BG={id:"company-entity-to-modify-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:CG},wG={id:Gl,type:r.ArgumentDeclaration,version:1,name:"Company",dataType:BG,description:"The company to replace the bank account for",writesValues:[SR],required:!0,index:0,parent:OG},_G={type:r.FunctionDeclaration,id:Pt,version:1,name:"Replace bank account",description:"This action takes an existing company and data to create a new bank account entity. It then creates a bank account, deletes the old one, and updates the company with the new bank account",inputs:[wG,gG,AG],index:null,implements:null,calls:[EG,SR],collapsed:!1,returnStatements:[],private:!1,x:0,y:0,parent:SG},MG={type:r.GenericReference,id:"e0a937bd-3a85-4037-a973-916985b9f94b",entityType:r.Project,entityId:"7268bc97-c0e6-4d88-b37e-d3241b5f77a6"},NG={type:r.FunctionDeclaration,version:1,id:"6bedb217-f844-4332-af72-9626b2a32511",name:"Some library main function",description:null,inputs:[],calls:[],implements:null,collapsed:!0,index:null,returnStatements:[],private:!1,parent:MG,x:0,y:0},$G={type:r.GenericReference,id:"948e6869-ae5b-4914-bea0-b9f02ad6a014",entityType:r.Project,entityId:"23b23d8b-1929-4505-a350-745c8550e731"},VG={type:r.GenericReference,id:"f3d6f2c6-1b3e-4e9d-8c9d-5b5b9f0b8d9c",entityType:r.Project,entityId:"7268bc97-c0e6-4d88-b37e-d3241b5f77a6"},LG={type:r.InstalledProject,version:1,id:"7268bc97-c0e6-4d88-b37e-d3241b5f77a6",name:"Third Party Installed Project",description:null,functions:[NG],events:[],implements:VG,parent:$G,x:0,y:0},Ul="iterate-over-list-loop-id",NR="iterate-over-list-loop-body-id",$R="iterate-over-list-loop-body-current-iteration-argument-declaration-id",GG={type:r.GenericReference,id:"iterate-over-list-loop-body-current-iteration-argument-declaration-data-type-parent-ref-id",entityId:$R,entityType:r.ArgumentDeclaration},FG={id:"iterate-over-list-loop-body-current-iteration-argument-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,defaultValue:null,entity:null,isList:!1,isNullable:!1,asType:!1,constant:!1,parent:GG},UG={id:"iterate-over-list-loop-body-current-iteration-argument-declaration-parent-ref-id",type:r.GenericReference,entityId:NR,entityType:r.FunctionDeclaration},xG={id:$R,type:r.ArgumentDeclaration,version:1,name:"Current value",description:"The current value being processed.",dataType:FG,required:!0,index:0,writesValues:[],parent:UG},jG={id:"iterate-over-list-loop-body-parent-ref-id",type:r.GenericReference,entityId:Ul,entityType:r.Loop},kG={id:NR,type:r.FunctionDeclaration,version:1,name:"Iteration logic trigger",description:"This function is called once for each entity in the list.",inputs:[xG],calls:[],implements:null,collapsed:!1,returnStatements:[],private:!1,index:0,x:0,y:0,parent:jG},qG={id:"iterate-over-list-loop-iteration-list-input-map-parent-ref-id",type:r.GenericReference,entityId:Ul,entityType:r.Loop},JG={id:"iterate-over-list-loop-iteration-list-input-map-id",type:r.InputMap,version:1,name:null,description:null,declaration:jn.fixedArguments[0],defaultValue:null,dynamicArguments:[],readsValue:null,index:0,parent:qG},WG={id:"iterate-over-list-loop-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},HG={id:Ul,type:r.Loop,version:1,declaration:jn,inputs:[JG],successCalls:[],errorCalls:[],outputs:[],process:null,body:kG,calledByError:[],calledByEntry:[],calledBySuccess:[],breakStatements:[],continueStatements:[],error:null,x:0,y:0,parent:WG};var xl=(n=>(n.EQ="eq",n.NEQ="neq",n.GT="gt",n.GTE="gte",n.LT="lt",n.LTE="lte",n.LIKE="like",n.ILIKE="ilike",n))(xl||{}),VR=(n=>(n.COUNT="count",n.SUM="sum",n.AVG="avg",n.MIN="min",n.MAX="max",n))(VR||{});const YG={from:{name:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},items:{from:{name:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},items:[{function:{name:VR.COUNT,items:["f8310850-a87e-405c-b182-4f1d5fa49240"]},alias:"employee_count"}],where:[{name:"80c86e1b-caca-4ba5-9b1f-38f72d10e4a3",operation:xl.NEQ,value:null}]},where:[{name:"employee_count",operation:xl.GT,value:1}]},zG={id:"find-companies-with-multiple-employees-and-bank-account-search-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},ZG={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-declaration-parent-ref-id",type:r.GenericReference,entityId:"find-companies-with-multiple-employees-and-bank-account",entityType:r.Search},LR={isError:!1,id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-declaration-id",type:r.ReturnDeclaration,version:1,name:"companies",description:"List of companies with multiple employees and an existing bank account",dataType:null,readsValue:null,required:!0,index:0,parent:ZG},XG={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-parent-ref-id",type:r.GenericReference,entityId:"find-companies-with-multiple-employees-and-bank-account",entityType:r.Search},QG={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-id",type:r.OutputMap,version:1,declaration:LR,writesValues:[],index:0,parent:XG},KG={id:"find-companies-with-multiple-employees-and-bank-account",type:r.Search,version:1,name:"Find companies with multiple employees and a bank account",description:"This search statement finds companies with multiple employees and an existing bank account",inputsDeclarations:[],outputsDeclarations:[LR],inputs:[],outputs:[QG],query:YG,successCalls:[],errorCalls:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[],x:0,y:0,parent:zG},kr="random-company-employee-test-variable-id",jl="manager-global-variable-id",GR="global-user-instance-id",qr="employee-mapped-dto-variable-id",FR="random-employee-id-output-map-id",UR="random-employee-birth-date-output-map-id",xR="random-employee-department-output-map-id",jR="random-employee-manager-output-map-id",kR="manager-global-id-output-map-id",qR="global-user-instance-id-output-map-id",eF="employee-mapped-dto-requester-id-input-map-id",tF="employee-mapped-dto-id-input-map-id",nF="employee-mapped-dto-birth-date-input-map-id",rF="employee-mapped-dto-department-input-map-id",iF="employee-mapped-dto-manager-input-map-id",aF={type:r.GenericReference,id:"employee-mapped-dto-manager-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:kR},sF={type:r.GenericReference,id:"employee-mapped-dto-manager-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},JR={id:iF,type:r.InputMap,version:1,declaration:null,name:"manager_id",description:null,defaultValue:null,dynamicArguments:[],index:4,readsValue:aF,parent:sF},oF={type:r.GenericReference,id:"employee-mapped-dto-department-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:xR},lF={type:r.GenericReference,id:"employee-mapped-dto-department-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},WR={id:rF,type:r.InputMap,version:1,declaration:null,name:"department_name",description:null,defaultValue:null,dynamicArguments:[],index:3,readsValue:oF,parent:lF},cF={type:r.GenericReference,id:"employee-mapped-dto-birth-date-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:UR},dF={type:r.GenericReference,id:"employee-mapped-dto-birth-date-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},HR={id:nF,type:r.InputMap,version:1,declaration:null,name:"birth_date",description:null,defaultValue:null,dynamicArguments:[],index:2,readsValue:cF,parent:dF},uF={type:r.GenericReference,id:"employee-mapped-dto-id-output-map-reads-value-ref-id",entityType:r.OutputMap,entityId:FR},pF={type:r.GenericReference,id:"employee-mapped-dto-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},YR={id:tF,type:r.InputMap,version:1,declaration:null,name:"id",description:"The ID of the employee",defaultValue:null,dynamicArguments:[],index:1,readsValue:uF,parent:pF},yF={type:r.GenericReference,id:"employee-mapped-dto-requester-id-output-map-reads-value-ref-id",entityType:r.OutputMap,entityId:qR},hF={type:r.GenericReference,id:"employee-mapped-dto-requester-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},zR={id:eF,type:r.InputMap,version:1,declaration:null,name:"requester_id",description:"The ID of the current user making the request",defaultValue:null,dynamicArguments:[],index:0,readsValue:yF,parent:hF},fF={type:r.GenericReference,id:"manager-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:jl},mF={id:kR,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[JR],parent:fF},TF={type:r.GenericReference,id:"manager-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:jl},EF={id:"manager-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:It,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:TF,defaultValue:null},RF={type:r.GenericReference,id:"manager-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:jR},bF={type:r.GenericReference,id:"manager-variable-parent-ref-id",entityType:r.Project,entityId:J},ZR={id:jl,type:r.VariableDeclaration,version:1,name:"Manager",dataType:EF,description:"A variable holding an inherited manager for testing purposes",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:RF,writesValues:[],inputs:[],outputs:[mF],internalCalls:[],parent:bF,x:0,y:0},vF={type:r.GenericReference,id:"random-company-employee-manager-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:kr},gF={id:jR,type:r.OutputMap,version:1,declaration:It.properties[2],index:3,writesValues:[ZR],parent:vF},IF={type:r.GenericReference,id:"random-company-employee-department-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:kr},PF={id:xR,type:r.OutputMap,version:1,declaration:It.properties[0],index:2,writesValues:[WR],parent:IF},DF={type:r.GenericReference,id:"random-company-employee-birth-date-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:kr},AF={id:UR,type:r.OutputMap,version:1,declaration:ct.properties[1],index:1,writesValues:[HR],parent:DF},SF={type:r.GenericReference,id:"random-company-employee-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:kr},OF={id:FR,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[YR],parent:SF},CF={type:r.GenericReference,id:"random-company-employee-test-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:kr},BF={id:"random-company-employee-test-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:It,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:CF,defaultValue:null},wF={type:r.GenericReference,id:"random-company-employee-test-variable-parent-ref-id",entityType:r.Project,entityId:J},_F={id:kr,type:r.VariableDeclaration,version:1,name:"Company employee",dataType:BF,description:"A variable holding a random company employee for testing purposes",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[],outputs:[OF,AF,PF,gF],internalCalls:[],parent:wF,x:0,y:0},MF={type:r.GenericReference,id:"employee-mapped-dto-variable-parent-ref-id",entityType:r.Project,entityId:J},NF={id:qr,type:r.VariableDeclaration,version:1,name:"Employee DTO",dataType:null,description:"A variable holding the data of a mapped employee DTO",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[zR,YR,HR,WR,JR],outputs:[],internalCalls:[],parent:MF,x:0,y:0},$F={type:r.GenericReference,id:"0e63e617-f9d3-42e8-bde0-1bb0b1df7034",entityType:r.VariableDeclaration,entityId:dl},VF={id:"e75645ce-d3df-4f07-a897-ae9ef4d917fd",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:pl,version:1,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:$F,defaultValue:null},LF={type:r.GenericReference,id:"e92a8ff5-3fef-4e0c-8d8f-92c930b2890b",entityType:r.Project,entityId:J},XR={id:dl,type:r.VariableDeclaration,version:1,name:"Current user",description:"The user that is currently logged in",dataType:VF,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:LF},GF={type:r.GenericReference,id:"manager-variable-id-output-map-parent-ref-id",entityType:r.VariableInstance,entityId:GR},FF={id:qR,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[zR],parent:GF},UF={type:r.GenericReference,id:"global-user-instance-parent-ref-id",entityType:r.Project,entityId:J},xF={id:GR,type:r.VariableInstance,version:1,declaration:XR,calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[],outputs:[FF],internalCalls:[],parent:UF,x:0,y:0},jF={type:r.GenericReference,id:"is-test-environment-variable-dcl-datatype-parent-ref-id",entityType:r.VariableDeclaration,entityId:dl},kF={type:r.GenericReference,id:"is-test-environment-variable-dcl-datatype-default-value-parent-ref-id",entityType:r.DataType,entityId:"is-test-environment-variable-dcl-datatype-id"},qF={id:"is-test-environment-variable-dcl-datatype-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Fn,version:1,asType:!1,isList:!1,isNullable:!1,constant:!0,parent:jF,defaultValue:{id:"is-test-environment-variable-dcl-datatype-default-value-id",name:g.Boolean,version:1,value:null,type:r.PrimitiveValue,autogeneration:{type:xe.Random,rangeStart:null,rangeEnd:null},valueAsType:null,parent:kF}},JF={type:r.GenericReference,id:"is-test-environment-variable-dcl-main-project-ref-id",entityType:r.Project,entityId:J},QR={id:"is-test-environment-variable-dcl-id",type:r.VariableDeclaration,version:1,name:"Is test envrioment",description:"Indicates whether the current environment is a test environment or not.",dataType:qF,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:JF},WF={type:r.GenericReference,id:"is-test-environment-variable-instance-parent-ref-id",entityType:r.Project,entityId:J},HF={id:"is-test-environment-variable-instance-id",type:r.VariableInstance,version:1,declaration:QR,calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[],outputs:[],internalCalls:[],parent:WF,x:0,y:0},KR={type:r.Project,id:J,version:1,name:"Mocked project to compile",description:"This project is used to test all sorts of features and edge cases. It is not meant to be used in production. Or to have any functionality that makes sense",projects:[LG],entities:[ul,pl,ct,Yw,It,ss,hT,fT,Lr,jB,mt,Lw,zm,JD,UB],functions:[dV,jT,Bl,EV,AV,nE,wl,ml,_G,DT,hL],events:[S_],variableDeclarations:[QR,XR,Vl,_F,ZR,NF],variableInstances:[HF,xF],conditions:[],operations:[Ur],functionCalls:[DM,_N],loops:[HG],searches:[KG]};var f=(n=>(n.Error="error",n.Warning="warning",n))(f||{}),v=(n=>(n.InvalidObjectStructure="invalid-object-structure",n.NameNotUniqueInScope="name-not-unique-in-scope",n.EmptyName="empty-name",n.MissingCaller="missing-caller",n.PropertyOverwrite="property-overwrite",n.MethodOverwrite="method-overwrite",n.NoOverlapWithImplementedSignature="no-overlap-with-implemented-signature",n.ReaderWriterIncompatibleDataType="reader-writer-incompatible-data-type",n.UnreachableEntity="unreachable-entity",n.InternalCallParentMissingDataType="internal-call-parent-missing-data-type",n.InternalCallParentDeclarationEntityInvalidType="internal-call-parent-declaration-entity-invalid-type",n.InternalCallDeclarationNotFoundInParentDatatypeEntity="internal-call-declaration-not-found-in-parent-datatype-entity",n.InternalCallDeclarationIsNotFunctionDeclaration="internal-call-declaration-is-not-function-declaration",n.InternalCallDeclarationNotInParentDatatypeEntity="internal-call-declaration-not-in-parent-datatype-entity",n))(v||{}),y=(n=>(n.RootReference="root-reference",n.ReferencedEntityNotFound="referenced-entity-not-found",n.EntityIdNotUnique="entity-id-not-unique",n.BuiltInEntityGenerated="built-in-entity-generated",n.BuiltInEntityUpdated="built-in-entity-updated",n.BuiltInEntityDeleted="built-in-entity-deleted",n.UnknownEntityType="unknown-entity-type",n.MissingTypeProperty="missing-type-property",n.MissingIdProperty="missing-id-property",n.BuiltInEntityParent="built-in-entity-parent",n.InvalidBuiltInEntityReference="invalid-built-in-entity-reference",n.RecommendedImplementAbstractEntityAction="recommended-implement-abstract-entity-action",n.RecommendedImplementOperationAction="recommended-implement-operation-action",n.RecommendedImplementFunctionCallAction="recommended-implement-function-call-action",n.RecommendedImplementVariableDeclarationAction="recommended-implement-variable-declaration-action",n.RecommendedImplementVariableInstanceAction="recommended-implement-variable-instance-action",n.RecommendedImplementConditionAction="recommended-implement-condition-action",n.InvalidReferenceObjectStructure="invalid-reference-object-structure",n.ContainsSingleButShouldBeReferenceList="contains-single-but-should-be-reference-list",n.ContainsListButShouldReferenceSingle="contains-list-but-should-reference-single",n.InvalidParentReference="invalid-parent-reference",n.InvalidImplementsReference="invalid-implements-reference",n.InvalidExtendsReference="invalid-extends-reference",n.InvalidGenerationActionPayload="invalid-generation-action-payload",n.InvalidReference="invalid-reference",n.InvalidInternalCallParentRelation="invalid-internal-call-parent-relation",n.InvalidUpdateEntityOperation="invalid-update-entity-operation",n.NewEntityWouldOverriteExisting="new-entity-would-overrite-existing",n.InvalidDownstreamPropertyOverride="invalid-downstream-property-override",n.UnrecognizedProperty="unrecognized-property",n.SelfReference="self-reference",n.DuplicateReference="duplicate-reference",n.CallerWithIncompatibleScope="caller-with-incompatible-scope",n.InvalidFunctionDeclarationForFunctionCall="invalid-function-declaration-for-function-call",n.InvalidInputMapDeclaration="invalid-input-map-declaration",n.InvalidActionDescriptorForOperation="invalid-action-descriptor-for-operation",n.InvalidActionDescriptorForCondition="invalid-action-descriptor-for-condition",n.InvalidActionDescriptorForLoop="invalid-action-descriptor-for-loop",n.InvalidInmutablePropertyOverride="invalid-inmutable-property-override",n.OutputOverwrite="output-overwrite",n.InputOverwrite="input-overwrite",n.IncompatibleScope="incompatible-scope",n.InvalidParentUpdate="invalid-parent-update",n.NonInteractiveEntityReferenced="non-interactive-entity-referenced",n.InvalidParentRelationType="invalid-parent-relation-type",n))(y||{}),O=(n=>(n.ScopeWithoutLogic="scope-without-logic",n.ExtendingAbstractEntity="extending-abstract-entity",n.ImplementingNonAbstractEntity="implementing-non-abstract-entity",n.AbstractEntityWithNonAbstractMethods="abstract-entity-with-non-abstract-methods",n.AbstractEntityWithNonAbstractProperties="abstract-entity-with-non-abstract-properties",n.StaticEntityWithNonStaticProperties="static-entity-with-non-static-properties",n.NonStaticPropertyInStaticEntity="non-static-property-in-static-entity",n.AbstractPropertyInNonAbstractEntity="abstract-property-in-non-abstract-entity",n.AbstractMethodInNonAbstractEntity="abstract-method-in-non-abstract-entity",n.IncorrectEntityImplementation="incorrect-entity-implementation",n.IncorrectMethodImplementation="incorrect-method-implementation",n.IncorrectPropertyImplementation="incorrect-property-implementation",n.PropertyImplementsNonAbstact="property-implements-non-abstract",n.NonStaticPropertyImplementsStatic="non-static-property-implements-static",n.StaticPropertyImplementsNonStatic="static-property-implements-non-static",n.PropertyImplementsIncompatibleType="property-implements-incompatible-type",n.MissingPropertyImplementation="missing-property-implementation",n.MissingMethodImplementation="missing-method-implementation",n.NoProperties="no-properties",n.ReadingFromIncompatibleType="reading-from-incompatible-type",n.WritingToIncompatibleType="writing-to-incompatible-type",n.InvalidPropertiesCombination="invalid-properties-combination",n.DisconnectedCallableEntity="disconnected-callable-entity",n.VariableHasInputsAndInternalCall="variable-has-inputs-and-internal-calls",n.VariableHasOutputsAndInternalCall="variable-has-outputs-and-internal-call",n.VariableIsCalledAndHasInternalCall="variable-is-called-and-has-internal-call",n.VariableCallsOthersAndHasInternalCall="variable-calls-others-and-has-internal-call",n))(O||{});class E{constructor(e){l(this,"id");l(this,"message");l(this,"issue");l(this,"severity");l(this,"code");this.id=e.id,this.message=e.message,this.issue=e.issue,this.severity=e.severity,this.code=e.code}toEntityError(e){return this.code in v?new Xn({id:this.id,message:this.message,issue:this.issue,severity:this.severity,code:this.code,entity:e}):null}}class Xn{constructor(e){l(this,"id");l(this,"message");l(this,"issue");l(this,"severity");l(this,"code");l(this,"entity");this.id=e.id,this.message=e.message,this.issue=e.issue,this.severity=e.severity,this.code=e.code,this.entity=e.entity}clone(){return new Xn({id:this.id,message:this.message,issue:this.issue,severity:this.severity,code:this.code,entity:this.entity})}}function YF(n){const e=new Set;return n.filter(t=>e.has(t.id)?!1:(e.add(t.id),!0))}function k(n){const e=n.entity.errors.find(i=>i.id===n.id);return e?{new:!1,error:e}:{new:!0,error:new Xn(n)}}function zF(n,e){const t=new Map;return n.forEach(i=>{t.set(i.id,i)}),e.forEach(i=>{t.set(i.id,i)}),Array.from(t.values())}function X(n,e){const t=[];return e.forEach(i=>{const a=n.find(s=>s.id===i.id);a?t.push(a):t.push(i)}),t}const Ji=c.union([c.string(),c.number(),c.boolean(),c.date()]),eb=c.enum([xe.CurrentDateAndTime,xe.Random,xe.Unique]),Es=c.object({type:eb,rangeStart:Ji.nullable(),rangeEnd:Ji.nullable()}),Wi=Es.extend({type:c.literal(xe.Random),rangeStart:Ji,rangeEnd:Ji}),kl=Es.extend({type:c.literal(xe.Unique),rangeStart:c.null(),rangeEnd:c.null()}),tb=Es.extend({type:c.literal(xe.CurrentDateAndTime),rangeStart:c.null(),rangeEnd:c.null()}),Rs=Wi.extend({rangeStart:c.number().nullable(),rangeEnd:c.number().nullable()}),nb=Rs.extend({rangeStart:c.number(),rangeEnd:c.null()}),rb=Rs.extend({rangeStart:c.null(),rangeEnd:c.number()}),ib=Rs.extend({rangeStart:c.number(),rangeEnd:c.number()}),bs=Wi.extend({rangeStart:c.number().nullable(),rangeEnd:c.number().nullable()}),ab=bs.extend({rangeStart:c.number(),rangeEnd:c.null()}),sb=bs.extend({rangeStart:c.null(),rangeEnd:c.number()}),ob=bs.extend({rangeStart:c.number(),rangeEnd:c.number()}),vs=Wi.extend({rangeStart:c.date().nullable(),rangeEnd:c.date().nullable()}),lb=vs.extend({rangeStart:c.date(),rangeEnd:c.null()}),cb=vs.extend({rangeStart:c.null(),rangeEnd:c.date()}),db=vs.extend({rangeStart:c.date(),rangeEnd:c.date()}),ql=Wi.extend({rangeStart:c.null(),rangeEnd:c.null()}),Jl=c.union([ab,sb,ob]),Wl=c.union([nb,rb,ib]),Hl=c.union([lb,cb,db,tb]),Yl=c.union([Jl,Wl,Hl,kl,ql]);function zl(){return c.union([c.object({type:c.literal(r.ValueDescriptor)}),c.record(c.string(),c.any())])}function ub(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ValueDescriptor)})}function Zl(){return c.object({id:c.string(),type:c.literal(r.ValueDescriptor),name:c.string(),required:c.boolean()})}function ZF(){return Zl().merge(c.object({version:c.number(),index:c.number()}))}function XF(){return Zl().merge(c.object({}))}function QF(){return c.object({dataType:cn(),parent:on()})}function KF(){return ZF().merge(QF())}function gs(){return c.union([c.object({type:c.literal(r.PrimitiveEntity)}),c.record(c.string(),c.any())])}function Is(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.PrimitiveEntity)})}function Ps(){return c.object({id:c.string(),type:c.literal(r.PrimitiveEntity),name:c.string(),description:c.string().nullable(),static:c.boolean(),abstract:c.boolean()})}function e4(){return Ps().merge(c.object({version:c.number()}))}function t4(){return Ps().merge(c.object({}))}function n4(){return c.object({properties:c.array(Qn()),methods:c.array(At()),abstractMethods:c.array(Yt()),extends:c.array(c.union([gs(),Jr()]))})}function r4(){return e4().merge(n4())}function Qn(){return c.union([c.object({type:c.literal(r.Property)}),c.record(c.string(),c.any())])}function pb(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Property)})}function Xl(){return c.object({id:c.string(),type:c.literal(r.Property),name:c.string(),description:c.string().nullable(),private:c.boolean(),static:c.boolean(),required:c.boolean(),abstract:c.boolean()})}function i4(){return Xl().merge(c.object({version:c.number(),index:c.number()}))}function a4(){return Xl().merge(c.object({}))}function s4(){return c.object({dataType:cn(),implements:Qn().nullable(),parent:c.union([nr(),Is(),Ds()])})}function o4(){return i4().merge(s4())}function l4(){return c.enum([_.CRON_JOB,_.EXECUTION,_.HTTP_ENDPOINT,_.PERSISTED_ENTITY,_.RELATIONAL_DATABASE])}function Jr(){return c.union([c.object({type:c.literal(r.BuiltInBaseEntity)}),c.record(c.string(),c.any())])}function Ds(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.BuiltInBaseEntity)})}function Ql(){return c.object({id:c.string(),version:c.number(),type:c.literal(r.BuiltInBaseEntity),name:l4(),description:c.string().nullable(),abstract:c.boolean(),static:c.boolean()})}function c4(){return Ql()}function d4(){return Ql().merge(c.object({}))}function u4(){return c.object({properties:c.array(Qn()),methods:c.array(At()),abstractMethods:c.array(Yt()),extends:c.array(c.union([Jr(),gs()]))})}function p4(){return c4().merge(u4())}function yb(){return c.enum([L.Dynamic,L.Fixed,L.None])}function Yt(){return c.union([c.object({type:c.literal(r.ActionDescriptor)}),c.record(c.string(),c.any())])}function on(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ActionDescriptor)})}function As(){return c.object({id:c.string(),type:c.literal(r.ActionDescriptor),name:c.string(),description:c.string().nullable(),argumentsType:yb(),returnsType:yb()})}function y4(){return As().merge(c.object({version:c.number()}))}function h4(){return As().merge(c.object({}))}function f4(){return c.object({fixedArguments:c.array(zl()),fixedReturns:c.array(zl()),dynamicArgumentTypes:cn().nullable(),dynamicReturnTypes:cn().nullable(),parent:c.union([Tt(),nr(),Ds(),Is()]).nullable()})}function hb(){return y4().merge(f4())}function Wr(){return c.union([c.object({type:c.literal(r.Loop)}),c.record(c.string(),c.any())])}function zt(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Loop)})}function fb(){return c.object({id:c.string(),type:c.literal(r.Loop)})}function m4(){return fb().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function T4(){return fb().merge(c.object({declaration:c.union([c.string(),At()])}))}function E4(){return c.object({calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),declaration:Yt(),inputs:c.array(Dt()),outputs:c.array(ut()),successCalls:c.array(ke()),errorCalls:c.array(ke()),error:ut(),body:At(),parent:c.union([un(),Tt()]),breakStatements:c.array(Xr()),continueStatements:c.array(Hr())})}function R4(){return m4().merge(E4())}function Hr(){return c.union([c.object({type:c.literal(r.ContinueStatement)}),c.record(c.string(),c.any())])}function Yr(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ContinueStatement)})}function Kl(){return c.object({id:c.string(),type:c.literal(r.ContinueStatement)})}function b4(){return Kl().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function v4(){return Kl().merge(c.object({}))}function g4(){return c.object({calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),outputs:c.array(Zt()),throws:c.optional(Zt()),parent:zt()})}function I4(){return b4().merge(g4())}function Kn(){return c.union([c.object({type:c.literal(r.ReturnStatement)}),c.record(c.string(),c.any())])}function zr(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ReturnStatement)})}function ec(){return c.object({id:c.string(),type:c.literal(r.ReturnStatement)})}function P4(){return ec().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function D4(){return ec().merge(c.object({}))}function A4(){return c.object({calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),outputs:c.array(Zt()),throws:c.optional(Zt()),parent:un()})}function S4(){return P4().merge(A4())}function Hi(){return c.union([c.object({type:c.literal(r.Search)}),c.record(c.string(),c.any())])}function Zr(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Search)})}function tc(){return c.object({id:c.string(),type:c.literal(r.Search),name:c.string(),query:c.any(),description:c.string().nullable()})}function O4(){return tc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function C4(){return tc().merge(c.object({}))}function B4(){return c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),inputsDeclarations:c.array(tr()),inputs:c.array(Dt()),outputsDeclarations:c.array(Zt()),outputs:c.array(ut()),parent:c.union([un(),Tt()]),error:ut().nullable()})}function w4(){return O4().merge(B4())}function Zt(){return c.union([c.object({type:c.literal(r.ReturnDeclaration)}),c.record(c.string(),c.any())])}function mb(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ReturnDeclaration)})}function nc(){return c.object({id:c.string(),type:c.literal(r.ReturnDeclaration),name:c.string(),description:c.string().nullable(),isError:c.boolean()})}function _4(){return nc().merge(c.object({version:c.number(),index:c.number()}))}function M4(){return nc().merge(c.object({}))}function N4(){return c.object({dataType:cn().nullable(),readsValue:Xi().nullable(),parent:c.union([zr(),on(),on(),Zr(),ln(),Yr()])})}function $4(){return _4().merge(N4())}function Xr(){return c.union([c.object({type:c.literal(r.BreakStatement)}),c.record(c.string(),c.any())])}function ln(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.BreakStatement)})}function rc(){return c.object({id:c.string(),type:c.literal(r.BreakStatement)})}function V4(){return rc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function L4(){return rc().merge(c.object({}))}function G4(){return c.object({calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),outputs:c.array(Zt()),throws:c.optional(Zt()),parent:zt()})}function F4(){return V4().merge(G4())}function ut(){return c.union([c.object({type:c.literal(r.OutputMap)}),c.record(c.string(),c.any())])}function ic(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.OutputMap)})}function ac(){return c.object({id:c.string(),type:c.literal(r.OutputMap)})}function U4(){return ac().merge(c.object({version:c.number(),index:c.number()}))}function x4(){return ac().merge(c.object({}))}function j4(){return c.object({writesValues:c.array(dn()),declaration:c.union([Zt(),Qn()]),parent:c.union([ye(),zt(),ln()])})}function k4(){return U4().merge(j4())}function Qr(){return c.union([c.object({type:c.literal(r.FunctionCall)}),c.record(c.string(),c.any())])}function Yi(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.FunctionCall)})}function sc(){return c.object({id:c.string(),type:c.literal(r.FunctionCall)})}function q4(){return sc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function J4(){return sc().merge(c.object({}))}function W4(){return c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),writesValues:c.array(dn()),declaration:At(),inputs:c.array(Dt()),outputs:c.array(ut()),error:c.optional(ut()),parent:c.union([un(),Tt()])})}function H4(){return q4().merge(W4())}function Y4(){return c.enum([Ae.Equal,Ae.NotEqual,Ae.MoreThan,Ae.MoreThanOrEqual,Ae.LessThan,Ae.LessThanOrEqual,Ae.And,Ae.Or,Ct.Empty,Ct.NotEmpty])}function zi(){return c.union([c.object({type:c.literal(r.Condition)}),c.record(c.string(),c.any())])}function Ss(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Condition)})}function oc(){return c.object({id:c.string(),type:c.literal(r.Condition)})}function z4(){return oc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function Z4(){return oc().merge(c.object({}))}function X4(){return c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),leftValue:Dt(),rightValue:Dt().nullable(),operator:Y4(),parent:c.union([un(),Tt()])})}function Q4(){return z4().merge(X4())}function Zi(){return c.union([c.object({type:c.literal(r.InternalCall)}),c.record(c.string(),c.any())])}function lc(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.InternalCall)})}function cc(){return c.object({id:c.string(),type:c.literal(r.InternalCall),index:c.number()})}function K4(){return cc().merge(c.object({version:c.number(),index:c.number()}))}function eU(){return cc().merge(c.object({declaration:c.union([c.string(),At()])}))}function tU(){return c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),writesValues:c.array(dn()),declaration:At(),inputs:c.array(Dt()),outputs:c.array(ut()),parent:Bn(),error:c.optional(ut())})}function nU(){return K4().merge(tU())}function Dt(){return c.union([c.object({type:c.literal(r.InputMap)}),c.record(c.string(),c.any())])}function Os(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.InputMap)})}function dc(){return c.object({id:c.string(),type:c.literal(r.InputMap),name:c.string().nullable().optional(),description:c.string().nullable().optional()})}function rU(){return dc().merge(c.object({version:c.number(),index:c.number()}))}function iU(){return dc().merge(c.object({}))}function aU(){return c.object({defaultValue:uc().nullable(),declaration:c.union([tr(),Qn()]).nullable(),readsValue:Xi().nullable(),parent:c.union([ye(),Os(),zt(),ln()]),dynamicArguments:c.array(Dt())})}function sU(){return rU().merge(aU())}function Kr(){return c.union([c.object({type:c.literal(r.Operation)}),c.record(c.string(),c.any())])}function ei(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Operation)})}function Cs(){return c.object({id:c.string(),type:c.literal(r.Operation)})}function oU(){return Cs().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function lU(){return Cs().merge(c.object({}))}function cU(){return Cs().merge(c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),writesValues:c.array(dn()),declaration:Yt(),inputs:c.array(Dt()),outputs:c.array(ut()),error:c.array(ut()),dynamicArguments:c.array(Dt()),parent:c.union([un(),Tt()])}))}function dU(){return oU().merge(cU())}function Bs(){return c.union([c.string(),c.number(),c.boolean(),c.null(),c.date()])}function Tb(){return c.record(c.string(),Bs())}function uU(){return c.array(c.union([Bs(),Tb()]))}function Eb(){return c.union([Bs(),Tb(),uU()])}function Rb(){return c.union([Bs(),Eb()])}function bb(){return c.enum([g.String,g.Number,g.Boolean,g.Null,g.Date,g.JSON,g.Enum,g.File,g.UUID,g.EntityTemplate,g.ActionDescriptor])}function pU(){return c.union([nr(),ei(),Qi()])}function yU(){return c.object({id:c.string(),name:bb(),type:c.literal(r.PrimitiveValue),value:Rb(),autogeneration:Yl.nullable()})}function hU(){return yU().merge(c.object({}))}function Ft(){return c.object({id:c.string(),version:c.number(),name:bb(),type:c.literal(r.PrimitiveValue),value:Rb(),valueAsType:pU().nullable(),autogeneration:Yl.nullable(),parent:c.union([pc(),Os()])})}function fU(){return Ft().extend({name:c.literal(g.String),value:c.string(),autogeneration:Jl.nullable()})}function mU(){return Ft().extend({name:c.literal(g.Number),value:c.number(),autogeneration:Wl.nullable()})}function TU(){return Ft().extend({name:c.literal(g.Boolean),value:c.boolean(),autogeneration:ql.nullable()})}function EU(){return Ft().extend({name:c.literal(g.Null),value:c.null(),autogeneration:c.null()})}function RU(){return Ft().extend({name:c.literal(g.Date),value:c.date(),autogeneration:Hl.nullable()})}function bU(){return Ft().extend({name:c.literal(g.JSON),value:Eb(),autogeneration:c.null()})}function vU(){return Ft().extend({name:c.literal(g.Enum),value:c.string(),autogeneration:c.null()})}function gU(){return Ft().extend({name:c.literal(g.File),value:c.string(),autogeneration:c.null()})}function IU(){return Ft().extend({name:c.literal(g.UUID),value:c.string(),autogeneration:kl.nullable()})}function PU(){return Ft().extend({name:c.literal(g.EntityTemplate),value:nr(),autogeneration:c.null()})}function DU(){return Ft().extend({name:c.literal(g.ActionDescriptor),value:Qi(),autogeneration:c.null()})}function uc(){return c.union([fU(),mU(),TU(),EU(),RU(),bU(),vU(),gU(),IU(),PU(),DU()])}function cn(){return c.union([c.object({type:c.literal(r.DataType)}),c.record(c.string(),c.any())])}function pc(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.DataType)})}function yc(){return c.object({id:c.string(),type:c.literal(r.DataType),isNullable:c.boolean(),isList:c.boolean(),constant:c.boolean(),asType:c.boolean(),options:c.array(c.string()).optional()})}function AU(){return yc().merge(c.object({version:c.number()}))}function SU(){return yc().merge(c.object({}))}function OU(){return c.object({defaultValue:uc().nullable(),entity:c.union([ti(),Jr(),gs(),Yt()]).nullable(),parent:c.union([pb(),Ib(),on(),ub()])})}function CU(){return AU().merge(OU())}function hc(){return c.union([c.object({type:c.literal(r.VariableDeclaration)}),c.record(c.string(),c.any())])}function BU(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.VariableDeclaration)})}function fc(){return c.object({id:c.string(),type:c.literal(r.VariableDeclaration),name:c.string(),description:c.string().nullable()})}function wU(){return fc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function _U(){return fc().merge(c.object({}))}function MU(){return c.object({dataType:cn().nullable(),readsValue:Xi().nullable(),writesValues:c.array(dn()),inputs:c.array(Dt()),outputs:c.array(ut()),successCalls:c.array(ke()),errorCalls:c.array(ke()),internalCalls:c.array(Zi()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),parent:c.union([un(),Tt()])})}function NU(){return wU().merge(MU())}function vb(){return c.union([c.object({type:c.literal(r.VariableInstance)}),c.record(c.string(),c.any())])}function $U(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.VariableInstance)})}function mc(){return c.object({id:c.string(),type:c.literal(r.VariableInstance)})}function VU(){return mc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function LU(){return mc().merge(c.object({}))}function GU(){return c.object({declaration:hc(),dataType:cn().nullable(),readsValue:Xi().nullable(),writesValues:c.array(dn()),inputs:c.array(Dt()),outputs:c.array(ut()),successCalls:c.array(ke()),errorCalls:c.array(ke()),internalCalls:c.array(Zi()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),parent:c.union([un(),Tt()])})}function FU(){return VU().merge(GU())}function Tc(){return c.union([c.object({type:c.literal(r.InstalledProject)}),c.record(c.string(),c.any())])}function ws(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.InstalledProject)})}function UU(){return c.object({id:c.string(),type:c.literal(r.InstalledProject)})}function xU(){return c.object({version:c.number(),x:c.number(),y:c.number()})}function jU(){return c.object({})}function kU(){return c.object({implements:Tt(),description:c.string().nullable(),functions:c.array(At()),events:c.array(Ec()),parent:Tt()})}function qU(){return xU().merge(kU())}function Ec(){return c.union([c.object({type:c.literal(r.GlobalEvent)}),c.record(c.string(),c.any())])}function JU(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.GlobalEvent)})}function _s(){return c.object({id:c.string(),type:c.literal(r.GlobalEvent),name:c.string(),collapsed:c.boolean()})}function WU(){return _s().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function HU(){return _s().merge(c.object({}))}function YU(){return _s().merge(c.object({returnStatements:c.array(Kn()),implements:c.array(hb()),inputs:c.array(tr()),calls:c.array(ke()),parent:c.union([Tt(),ws()])}))}function zU(){return WU().merge(YU())}function er(){return c.union([hc(),vb()])}function Bn(){return c.union([BU(),$U()])}function dn(){return c.union([er(),Dt(),Zt()])}function gb(){return c.union([Bn(),Os(),mb()])}function Xi(){return c.union([er(),tr(),ut(),Kr(),Zi(),Qr()])}function ZU(){return c.union([Bn(),Rc(),ic(),ei(),lc(),Yi()])}function XU(){return c.union([tr(),ut(),dn()])}function Ib(){return c.union([Rc(),ic(),gb()])}function Ms(){return Ec()}function Ns(){return JU()}function $s(){return c.union([Kr(),Qr(),zi(),Hi(),er(),Zi(),Wr()])}function ye(){return c.union([ei(),Yi(),Ss(),Zr(),Bn(),lc(),zt()])}function Vs(){return c.union([Kr(),Qr(),zi(),Hi(),er(),Wr()])}function Ls(){return c.union([ei(),Yi(),Ss(),Zr(),Bn(),zt()])}function Pb(){return c.union([$s(),Kn(),Xr(),Hr()])}function ke(){return c.union([ye(),zr(),ln(),Yr()])}function Db(){return c.union([Vs(),Kn(),Xr(),Hr()])}function Ab(){return c.union([Ls(),zr(),ln(),Yr()])}function wn(){return c.union([At(),Ms()])}function Ue(){return c.union([Qi(),Ns()])}function QU(){return c.union([$s(),wn()])}function KU(){return c.union([ye(),Ue()])}function ex(){return c.union([Vs(),wn()])}function tx(){return c.union([Ls(),Ue()])}function nx(){return c.union([Pb(),wn()])}function rx(){return c.union([ke(),Ue()])}function ix(){return c.union([Db(),wn()])}function ax(){return c.union([Ab(),Ue()])}function sx(){return c.union([wn(),Wr()])}function un(){return c.union([Ue(),zt()])}function ox(){return c.union([$s(),wn()])}function lx(){return c.union([ye(),Ue()])}function cx(){return c.union([Vs(),wn()])}function dx(){return c.union([Ls(),Ue()])}function ux(){return c.union([Kn(),Xr(),Hr()])}function px(){return c.union([zr(),ln(),Yr()])}function yx(){return c.union([Jr(),Dx(),Tc(),ti(),At(),Ms(),er(),Dt(),ut(),zi(),Kr(),Qr(),Zt(),tr(),gs(),cn(),Qn(),Yt(),Kn(),Hr(),Xr(),Wr(),Hi(),Yt(),Yt(),zl(),Zi()])}function hx(){return c.union([Ds(),Tt(),ws(),nr(),Qi(),Ns(),Bn(),Os(),ic(),Ss(),ei(),Yi(),mb(),Rc(),Is(),pc(),pb(),on(),zr(),Yr(),ln(),zt(),Zr(),on(),on(),ub(),lc()])}function fx(){return c.union([Tc(),ti(),At(),Ms(),er(),zi(),Kr(),Qr(),Kn(),Hr(),Xr(),Wr(),Hi()])}function mx(){return c.union([ws(),nr(),Qi(),Ns(),Bn(),Ss(),ei(),Yi(),zr(),Yr(),ln(),zt(),Zr()])}function tr(){return c.union([c.object({type:c.literal(r.ArgumentDeclaration)}),c.record(c.string(),c.any())])}function Rc(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ArgumentDeclaration)})}function bc(){return c.object({id:c.string(),type:c.literal(r.ArgumentDeclaration)})}function Tx(){return bc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function Ex(){return bc().merge(c.object({}))}function Rx(){return c.object({dataType:cn().nullable(),writesValues:c.array(dn()),parent:c.union([Ue(),on(),on(),Zr(),ln()])})}function bx(){return Tx().merge(Rx())}function At(){return c.union([c.object({type:c.literal(r.FunctionDeclaration)}),c.record(c.string(),c.any())])}function Qi(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.FunctionDeclaration)})}function vc(){return c.object({id:c.string(),type:c.literal(r.FunctionDeclaration),name:c.string(),description:c.string().nullable()})}function vx(){return vc().merge(c.object({version:c.number(),x:c.number(),y:c.number(),index:c.number().nullable()}))}function gx(){return vc()}function Ix(){return c.object({inputs:c.array(tr()),implements:Yt().nullable(),returnStatements:c.array(Kn()),parent:c.union([Tt(),ws(),nr(),zt(),Ds(),Is()])})}function Px(){return vx().merge(Ix())}function Dx(){return c.union([c.object({type:c.literal(r.Project)}),c.record(c.string(),c.any())])}function Tt(){return c.object({entityType:c.literal(r.Project),entityId:c.string(),id:c.string(),type:c.literal(r.GenericReference)})}function gc(){return c.object({id:c.string(),type:c.literal(r.Project),name:c.string(),description:c.string().nullable()})}function Ax(){return gc().merge(c.object({version:c.number()}))}function Sx(){return gc()}function Ox(){return c.object({entities:c.array(ti()),functions:c.array(At()),events:c.array(Ec()),projects:c.array(Tc()),variableDeclarations:c.array(hc()),variableInstances:c.array(vb()),conditions:c.array(zi()),operations:c.array(Kr()),functionCalls:c.array(Qr()),loops:c.array(Wr()),searches:c.array(Hi())})}function Cx(){return Ax().merge(Ox())}function ti(){return c.union([c.object({type:c.literal(r.CustomEntity)}),c.record(c.string(),c.any())])}function nr(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.CustomEntity)})}function Ic(){return c.object({id:c.string(),type:c.literal(r.CustomEntity),name:c.string(),description:c.string().nullable(),static:c.boolean(),abstract:c.boolean()})}function Bx(){return Ic().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function wx(){return Ic().merge(c.object({}))}function _x(){return c.union([Tt(),pc()])}function Mx(){return c.object({properties:c.array(Qn()),methods:c.array(At()),abstractMethods:c.array(Yt()),extends:c.array(c.union([ti(),Jr()])),implements:c.array(c.union([ti(),Jr()])),parent:_x()})}function Nx(){return Bx().merge(Mx())}function $x(n){const e=Nx(),t=n.toJSON();e.safeParse(t).success;const a=n.implements.flatMap(m=>Gx(n,m)),s=n.extends.flatMap(m=>Fx(n,m)),o=xx(n),u=Ux(n);n.methods.flatMap(m=>m.validate());const p=[...a,...s,...o,...u];return X(n.errors,p)}function Vx(n,e){const t=e.properties.filter(s=>s.abstract),i=[];let a=[...n.properties];return t.forEach(s=>{const o=a.find(u=>{var p;return((p=u.implements)==null?void 0:p.id)===s.id});o?a=a.filter(u=>u.id!==o.id):i.push(s)}),i}function Lx(n,e){const t=e.abstractMethods,i=[];let a=[...n.methods];return t.forEach(s=>{const o=a.find(u=>{var p;return((p=u.implements)==null?void 0:p.id)===s.id});o?a=a.filter(u=>u.id!==o.id):i.push(s)}),i}function Gx(n,e){const t=[];if(!e.abstract){const m=k({id:n.id+"--"+O.ImplementingNonAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is implementing a non-abstract entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:O.ImplementingNonAbstractEntity,entity:n});return t.push(m.error),t}const i=e.properties.filter(m=>m.abstract),a=[];let s=[...n.properties];i.forEach(m=>{const T=s.find(b=>{var I;return((I=b.implements)==null?void 0:I.id)===m.id});T?s=s.filter(b=>b.id!==T.id):a.push(m)}),a.length&&a.forEach(m=>{const T=k({id:n.id+"--"+O.MissingPropertyImplementation+"--"+m.id,message:`Property "${m.name}" with id "${m.id}" of entity "${e.name}" with id "${e.id}" is not implemented when entity "${n.name}" with id "${n.id}" implements it`,issue:null,severity:f.Error,code:O.MissingPropertyImplementation,entity:n});t.push(T.error)});const o=[];let u=[...n.methods];e.abstractMethods.forEach(m=>{const T=u.find(b=>{var I;return((I=b.implements)==null?void 0:I.id)===m.id});T?u=u.filter(b=>b.id!==T.id):o.push(m)}),o.length&&o.forEach(m=>{const T=k({id:n.id+"--"+O.MissingMethodImplementation+"--"+m.id,message:`Method "${m.name}" with id "${m.id}" of entity "${e.name}" with id "${e.id}" is not implemented when entity "${n.name}" with id "${n.id}" implements it`,issue:null,severity:f.Error,code:O.MissingMethodImplementation,entity:n});t.push(T.error)});const p=[];e.properties.forEach(m=>{const T=s.find(b=>b.name===m.name);T&&p.push([T,m])}),p.length&&p.forEach(([m])=>{const T=k({id:n.id+"--"+v.PropertyOverwrite+"--"+m.id,message:`Property "${m.name}" with id "${m.id}" of entity "${n.name}" with id "${n.id}" overwrites the property with the same name from the base entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:v.PropertyOverwrite,entity:n});t.push(T.error)});const h=[];return e.methods.forEach(m=>{const T=u.find(b=>b.name===m.name);T&&h.push([T,m])}),h.length&&h.forEach(([m])=>{const T=k({id:n.id+"--"+v.MethodOverwrite+"--"+m.id,message:`Method "${m.name}" with id "${m.id}" of entity "${n.name}" with id "${n.id}" overwrites the method with the same name from the base entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:v.MethodOverwrite,entity:n});t.push(T.error)}),t}function Fx(n,e){const t=[],i=[];if(e.abstract){const s=k({id:n.id+"--"+O.ExtendingAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is extending an abstract entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:O.ExtendingAbstractEntity,entity:n});return t.push(s.error),t}n.properties.forEach(s=>{var u;const o=e.properties.find(p=>p.name===s.name);((u=s.implements)==null?void 0:u.id)!==(o==null?void 0:o.id)&&o&&i.push(s)}),i.length&&i.forEach(s=>{const o=k({id:n.id+"--"+v.PropertyOverwrite,message:`Property "${s.name}" with id "${s.id}" of entity "${n.name}" with id "${n.id}" overwrites the property with the same name from the extended entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:v.PropertyOverwrite,entity:n});t.push(o.error)});const a=[];return n.methods.forEach(s=>{var u;const o=e.methods.find(p=>p.name===s.name);((u=s.implements)==null?void 0:u.id)!==(o==null?void 0:o.id)&&o&&a.push(s)}),a.length&&a.forEach(s=>{const o=k({id:n.id+"--"+v.MethodOverwrite,message:`Method "${s.name}" with id "${s.id}" of entity "${n.name}" with id "${n.id}" overwrites the method with the same name from the extended entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:v.MethodOverwrite,entity:n});t.push(o.error)}),t}function Ux(n){const e=[];if(!n.properties.length){const t=k({id:n.id+"--"+O.NoProperties,message:"No properties implemented",issue:null,severity:f.Warning,code:O.NoProperties,entity:n});e.push(t.error)}return n.properties.forEach(t=>{t.validate()}),e}function xx(n){const e=[];if(n.abstract){if(n.methods.length){const t=k({id:n.id+"--"+O.AbstractEntityWithNonAbstractMethods,message:`Entity "${n.name}" with id "${n.id}" is marked as abstract but has non-abstract methods`,issue:null,severity:f.Error,code:O.AbstractEntityWithNonAbstractMethods,entity:n});e.push(t.error)}if(n.properties.some(t=>!t.abstract)){const t=k({id:n.id+"--"+O.AbstractEntityWithNonAbstractProperties,message:`Entity "${n.name}" with id "${n.id}" is marked as abstract but has non-abstract properties`,issue:null,severity:f.Error,code:O.AbstractEntityWithNonAbstractProperties,entity:n});e.push(t.error),n.properties.forEach(i=>{if(!i.abstract){const a=k({id:n.id+"--"+O.StaticEntityWithNonStaticProperties+"--"+i.id,message:`Property "${i.name}" with id "${i.id}" of entity "${n.name}" with id "${n.id}" is not marked as abstract but the entity is marked as abstract`,issue:null,severity:f.Error,code:O.StaticEntityWithNonStaticProperties,entity:n});e.push(a.error)}})}}else{if(n.abstractMethods.length){const t=k({id:n.id+"--"+O.AbstractPropertyInNonAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is not marked as abstract but has abstract methods`,issue:null,severity:f.Error,code:O.AbstractPropertyInNonAbstractEntity,entity:n});e.push(t.error)}if(n.properties.some(t=>t.abstract)){const t=k({id:n.id+"--"+O.AbstractMethodInNonAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is not marked as abstract but has abstract properties`,issue:null,severity:f.Error,code:O.AbstractMethodInNonAbstractEntity,entity:n});e.push(t.error),n.properties.forEach(i=>{if(i.abstract){const a=k({id:n.id+"--"+O.AbstractMethodInNonAbstractEntity+"--"+i.id,message:`Property "${i.name}" with id "${i.id}" of entity "${n.name}" with id "${n.id}" is marked as abstract but the entity is not marked as abstract`,issue:null,severity:f.Error,code:O.AbstractMethodInNonAbstractEntity,entity:n});e.push(a.error)}})}}if(n.static&&n.properties.some(t=>!t.static)){const t=k({id:n.id+"--"+O.StaticEntityWithNonStaticProperties,message:`Entity "${n.name}" with id "${n.id}" is marked as static but has non-static properties`,issue:null,severity:f.Error,code:O.StaticEntityWithNonStaticProperties,entity:n});e.push(t.error),n.properties.forEach(i=>{if(!i.static){const a=k({id:n.id+"--"+O.NonStaticPropertyInStaticEntity+"--"+i.id,message:`Property "${i.name}" with id "${i.id}" of entity "${n.name}" with id "${n.id}" is not marked as static but the entity is marked as static`,issue:null,severity:f.Error,code:O.NonStaticPropertyInStaticEntity,entity:n});e.push(a.error)}})}return e}function jx(n){return n instanceof Error&&n.name==="ZodError"&&"issues"in n&&Array.isArray(n.issues)}var kx=class extends Error{constructor(e,t){super(e,t);l(this,"name");l(this,"details");this.name="ZodValidationError",this.details=qx(t)}toString(){return this.message}};function qx(n){if(n){const e=n.cause;if(jx(e))return e.issues}return[]}var Jx="; ",Sb="Validation error",Wx=": ",Hx=", or ";function Yx(n,e,t){return e!==null?n.length>0?[e,n].join(t):e:n.length>0?n:Sb}var zx=/[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*/u;function Zx(n){return n.length===1?n[0].toString():n.reduce((e,t)=>{if(typeof t=="number")return e+"["+t.toString()+"]";if(t.includes('"'))return e+'["'+Xx(t)+'"]';if(!zx.test(t))return e+'["'+t+'"]';const i=e.length===0?"":".";return e+i+t},"")}function Xx(n){return n.replace(/"/g,'\\"')}function Qx(n){return n.length!==0}function Gs(n){const{issue:e,issueSeparator:t,unionSeparator:i,includePath:a}=n;if(e.code==="invalid_union")return e.unionErrors.reduce((s,o)=>{const u=o.issues.map(p=>Gs({issue:p,issueSeparator:t,unionSeparator:i,includePath:a})).join(t);return s.includes(u)||s.push(u),s},[]).join(i);if(e.code==="invalid_arguments")return[e.message,...e.argumentsError.issues.map(s=>Gs({issue:s,issueSeparator:t,unionSeparator:i,includePath:a}))].join(t);if(e.code==="invalid_return_type")return[e.message,...e.returnTypeError.issues.map(s=>Gs({issue:s,issueSeparator:t,unionSeparator:i,includePath:a}))].join(t);if(a&&Qx(e.path)){if(e.path.length===1){const s=e.path[0];if(typeof s=="number")return`${e.message} at index ${s}`}return`${e.message} at "${Zx(e.path)}"`}return e.message}function Kx(n,e={}){const{issueSeparator:t=Jx,unionSeparator:i=Hx,prefixSeparator:a=Wx,prefix:s=Sb,includePath:o=!0}=e,u=Gs({issue:n,issueSeparator:t,unionSeparator:i,includePath:o}),p=Yx(u,s,a);return new kx(p,{cause:new ft([n])})}var Ob="1.13.7",Cb=typeof self=="object"&&self.self===self&&self||typeof global=="object"&&global.global===global&&global||Function("return this")()||{},Fs=Array.prototype,Pc=Object.prototype,Bb=typeof Symbol<"u"?Symbol.prototype:null,e8=Fs.push,Ki=Fs.slice,ea=Pc.toString,t8=Pc.hasOwnProperty,wb=typeof ArrayBuffer<"u",n8=typeof DataView<"u",r8=Array.isArray,_b=Object.keys,Mb=Object.create,Nb=wb&&ArrayBuffer.isView,i8=isNaN,a8=isFinite,$b=!{toString:null}.propertyIsEnumerable("toString"),Vb=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],s8=Math.pow(2,53)-1;function Et(n,e){return e=e==null?n.length-1:+e,function(){for(var t=Math.max(arguments.length-e,0),i=Array(t),a=0;a<t;a++)i[a]=arguments[a+e];switch(e){case 0:return n.call(this,i);case 1:return n.call(this,arguments[0],i);case 2:return n.call(this,arguments[0],arguments[1],i)}var s=Array(e+1);for(a=0;a<e;a++)s[a]=arguments[a];return s[e]=i,n.apply(this,s)}}function _n(n){var e=typeof n;return e==="function"||e==="object"&&!!n}function o8(n){return n===null}function Lb(n){return n===void 0}function Gb(n){return n===!0||n===!1||ea.call(n)==="[object Boolean]"}function l8(n){return!!(n&&n.nodeType===1)}function rt(n){var e="[object "+n+"]";return function(t){return ea.call(t)===e}}const Dc=rt("String"),Fb=rt("Number"),c8=rt("Date"),d8=rt("RegExp"),u8=rt("Error"),Ub=rt("Symbol"),xb=rt("ArrayBuffer");var jb=rt("Function"),p8=Cb.document&&Cb.document.childNodes;typeof/./!="function"&&typeof Int8Array!="object"&&typeof p8!="function"&&(jb=function(n){return typeof n=="function"||!1});const pt=jb,kb=rt("Object");var qb=n8&&(!/\[native code\]/.test(String(DataView))||kb(new DataView(new ArrayBuffer(8)))),Ac=typeof Map<"u"&&kb(new Map),y8=rt("DataView");function h8(n){return n!=null&&pt(n.getInt8)&&xb(n.buffer)}const Us=qb?h8:y8,rr=r8||rt("Array");function Mn(n,e){return n!=null&&t8.call(n,e)}var Sc=rt("Arguments");(function(){Sc(arguments)||(Sc=function(n){return Mn(n,"callee")})})();const Oc=Sc;function f8(n){return!Ub(n)&&a8(n)&&!isNaN(parseFloat(n))}function Jb(n){return Fb(n)&&i8(n)}function Wb(n){return function(){return n}}function Hb(n){return function(e){var t=n(e);return typeof t=="number"&&t>=0&&t<=s8}}function Yb(n){return function(e){return e==null?void 0:e[n]}}const xs=Yb("byteLength"),m8=Hb(xs);var T8=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;function E8(n){return Nb?Nb(n)&&!Us(n):m8(n)&&T8.test(ea.call(n))}const zb=wb?E8:Wb(!1),Rt=Yb("length");function R8(n){for(var e={},t=n.length,i=0;i<t;++i)e[n[i]]=!0;return{contains:function(a){return e[a]===!0},push:function(a){return e[a]=!0,n.push(a)}}}function Zb(n,e){e=R8(e);var t=Vb.length,i=n.constructor,a=pt(i)&&i.prototype||Pc,s="constructor";for(Mn(n,s)&&!e.contains(s)&&e.push(s);t--;)s=Vb[t],s in n&&n[s]!==a[s]&&!e.contains(s)&&e.push(s)}function We(n){if(!_n(n))return[];if(_b)return _b(n);var e=[];for(var t in n)Mn(n,t)&&e.push(t);return $b&&Zb(n,e),e}function ta(n){if(n==null)return!0;var e=Rt(n);return typeof e=="number"&&(rr(n)||Dc(n)||Oc(n))?e===0:Rt(We(n))===0}function Xb(n,e){var t=We(e),i=t.length;if(n==null)return!i;for(var a=Object(n),s=0;s<i;s++){var o=t[s];if(e[o]!==a[o]||!(o in a))return!1}return!0}function Q(n){if(n instanceof Q)return n;if(!(this instanceof Q))return new Q(n);this._wrapped=n}Q.VERSION=Ob,Q.prototype.value=function(){return this._wrapped},Q.prototype.valueOf=Q.prototype.toJSON=Q.prototype.value,Q.prototype.toString=function(){return String(this._wrapped)};function Qb(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,xs(n))}var Kb="[object DataView]";function Cc(n,e,t,i){if(n===e)return n!==0||1/n===1/e;if(n==null||e==null)return!1;if(n!==n)return e!==e;var a=typeof n;return a!=="function"&&a!=="object"&&typeof e!="object"?!1:ev(n,e,t,i)}function ev(n,e,t,i){n instanceof Q&&(n=n._wrapped),e instanceof Q&&(e=e._wrapped);var a=ea.call(n);if(a!==ea.call(e))return!1;if(qb&&a=="[object Object]"&&Us(n)){if(!Us(e))return!1;a=Kb}switch(a){case"[object RegExp]":case"[object String]":return""+n==""+e;case"[object Number]":return+n!=+n?+e!=+e:+n==0?1/+n===1/e:+n==+e;case"[object Date]":case"[object Boolean]":return+n==+e;case"[object Symbol]":return Bb.valueOf.call(n)===Bb.valueOf.call(e);case"[object ArrayBuffer]":case Kb:return ev(Qb(n),Qb(e),t,i)}var s=a==="[object Array]";if(!s&&zb(n)){var o=xs(n);if(o!==xs(e))return!1;if(n.buffer===e.buffer&&n.byteOffset===e.byteOffset)return!0;s=!0}if(!s){if(typeof n!="object"||typeof e!="object")return!1;var u=n.constructor,p=e.constructor;if(u!==p&&!(pt(u)&&u instanceof u&&pt(p)&&p instanceof p)&&"constructor"in n&&"constructor"in e)return!1}t=t||[],i=i||[];for(var h=t.length;h--;)if(t[h]===n)return i[h]===e;if(t.push(n),i.push(e),s){if(h=n.length,h!==e.length)return!1;for(;h--;)if(!Cc(n[h],e[h],t,i))return!1}else{var m=We(n),T;if(h=m.length,We(e).length!==h)return!1;for(;h--;)if(T=m[h],!(Mn(e,T)&&Cc(n[T],e[T],t,i)))return!1}return t.pop(),i.pop(),!0}function b8(n,e){return Cc(n,e)}function na(n){if(!_n(n))return[];var e=[];for(var t in n)e.push(t);return $b&&Zb(n,e),e}function Bc(n){var e=Rt(n);return function(t){if(t==null)return!1;var i=na(t);if(Rt(i))return!1;for(var a=0;a<e;a++)if(!pt(t[n[a]]))return!1;return n!==rv||!pt(t[wc])}}var wc="forEach",tv="has",_c=["clear","delete"],nv=["get",tv,"set"],v8=_c.concat(wc,nv),rv=_c.concat(nv),g8=["add"].concat(_c,wc,tv);const I8=Ac?Bc(v8):rt("Map"),P8=Ac?Bc(rv):rt("WeakMap"),D8=Ac?Bc(g8):rt("Set"),A8=rt("WeakSet");function ni(n){for(var e=We(n),t=e.length,i=Array(t),a=0;a<t;a++)i[a]=n[e[a]];return i}function S8(n){for(var e=We(n),t=e.length,i=Array(t),a=0;a<t;a++)i[a]=[e[a],n[e[a]]];return i}function iv(n){for(var e={},t=We(n),i=0,a=t.length;i<a;i++)e[n[t[i]]]=t[i];return e}function Mc(n){var e=[];for(var t in n)pt(n[t])&&e.push(t);return e.sort()}function Nc(n,e){return function(t){var i=arguments.length;if(e&&(t=Object(t)),i<2||t==null)return t;for(var a=1;a<i;a++)for(var s=arguments[a],o=n(s),u=o.length,p=0;p<u;p++){var h=o[p];(!e||t[h]===void 0)&&(t[h]=s[h])}return t}}const av=Nc(na),js=Nc(We),sv=Nc(na,!0);function O8(){return function(){}}function ov(n){if(!_n(n))return{};if(Mb)return Mb(n);var e=O8();e.prototype=n;var t=new e;return e.prototype=null,t}function C8(n,e){var t=ov(n);return e&&js(t,e),t}function B8(n){return _n(n)?rr(n)?n.slice():av({},n):n}function w8(n,e){return e(n),n}function lv(n){return rr(n)?n:[n]}Q.toPath=lv;function ra(n){return Q.toPath(n)}function $c(n,e){for(var t=e.length,i=0;i<t;i++){if(n==null)return;n=n[e[i]]}return t?n:void 0}function cv(n,e,t){var i=$c(n,ra(e));return Lb(i)?t:i}function _8(n,e){e=ra(e);for(var t=e.length,i=0;i<t;i++){var a=e[i];if(!Mn(n,a))return!1;n=n[a]}return!!t}function Vc(n){return n}function ia(n){return n=js({},n),function(e){return Xb(e,n)}}function Lc(n){return n=ra(n),function(e){return $c(e,n)}}function aa(n,e,t){if(e===void 0)return n;switch(t??3){case 1:return function(i){return n.call(e,i)};case 3:return function(i,a,s){return n.call(e,i,a,s)};case 4:return function(i,a,s,o){return n.call(e,i,a,s,o)}}return function(){return n.apply(e,arguments)}}function dv(n,e,t){return n==null?Vc:pt(n)?aa(n,e,t):_n(n)&&!rr(n)?ia(n):Lc(n)}function Gc(n,e){return dv(n,e,1/0)}Q.iteratee=Gc;function bt(n,e,t){return Q.iteratee!==Gc?Q.iteratee(n,e):dv(n,e,t)}function M8(n,e,t){e=bt(e,t);for(var i=We(n),a=i.length,s={},o=0;o<a;o++){var u=i[o];s[u]=e(n[u],u,n)}return s}function uv(){}function N8(n){return n==null?uv:function(e){return cv(n,e)}}function $8(n,e,t){var i=Array(Math.max(0,n));e=aa(e,t,1);for(var a=0;a<n;a++)i[a]=e(a);return i}function Fc(n,e){return e==null&&(e=n,n=0),n+Math.floor(Math.random()*(e-n+1))}const sa=Date.now||function(){return new Date().getTime()};function pv(n){var e=function(s){return n[s]},t="(?:"+We(n).join("|")+")",i=RegExp(t),a=RegExp(t,"g");return function(s){return s=s==null?"":""+s,i.test(s)?s.replace(a,e):s}}const yv={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},V8=pv(yv),L8=iv(yv),G8=pv(L8),F8=Q.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var Uc=/(.)^/,U8={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},x8=/\\|'|\r|\n|\u2028|\u2029/g;function j8(n){return"\\"+U8[n]}var k8=/^\s*(\w|\$)+\s*$/;function q8(n,e,t){!e&&t&&(e=t),e=sv({},e,Q.templateSettings);var i=RegExp([(e.escape||Uc).source,(e.interpolate||Uc).source,(e.evaluate||Uc).source].join("|")+"|$","g"),a=0,s="__p+='";n.replace(i,function(h,m,T,b,I){return s+=n.slice(a,I).replace(x8,j8),a=I+h.length,m?s+=`'+
1
+ (function(d,r){typeof exports=="object"&&typeof module<"u"?r(exports):typeof define=="function"&&define.amd?define(["exports"],r):(d=typeof globalThis<"u"?globalThis:d||self,r(d["@elyx-code/project-logic-tree"]={}))})(this,function(d){"use strict";var T3=Object.defineProperty;var E3=(d,r,_)=>r in d?T3(d,r,{enumerable:!0,configurable:!0,writable:!0,value:_}):d[r]=_;var l=(d,r,_)=>(E3(d,typeof r!="symbol"?r+"":r,_),_);var r=(n=>(n.CustomEntity="custom-entity",n.BuiltInBaseEntity="built-in-base-entity",n.Project="project",n.InstalledProject="installed-project",n.GlobalEvent="global-event",n.DataType="data-type",n.FunctionCall="function-call",n.FunctionDeclaration="function-declaration",n.ActionDescriptor="action-descriptor",n.ValueDescriptor="value-descriptor",n.ArgumentDeclaration="argument-declaration",n.InputMap="input-map",n.ReturnStatement="return-statement",n.BreakStatement="break-statement",n.ContinueStatement="continue-statement",n.ReturnDeclaration="return-declaration",n.OutputMap="output-map",n.PrimitiveEntity="primitive-entity",n.PrimitiveValue="primitive-value",n.Property="property",n.Operation="operation",n.Condition="condition",n.VariableDeclaration="variable-declaration",n.VariableInstance="variable-instance",n.Search="search",n.Loop="loop",n.InternalCall="internal-call",n.GenericReference="generic-reference",n))(r||{}),_=(n=>(n.HTTP_ENDPOINT="BUILT_IN_HTTP_ENDPOINT_ENTITY",n.RELATIONAL_DATABASE="BUILT_IN_RELATIONAL_DATABASE_ENTITY",n.PERSISTED_ENTITY="BUILT_IN_PERSISTED_ENTITY_ENTITY",n.CRON_JOB="BUILT_IN_CRON_JOB_ENTITY",n.EXECUTION="BUILT_IN_EXECUTION_ENTITY",n.KEY_VALUE_PARAM="BUILT_IN_KEY_VALUE_PARAM_ENTITY",n))(_||{}),xe=(n=>(n.CurrentDateAndTime="current-date-and-time",n.Unique="unique",n.Random="random",n))(xe||{}),gt=(n=>(n.DeletePersistedEntity="base-delete-persisted-entity",n.SoftDeletePersistedEntity="base-soft-delete-persisted-entity",n.AbortExecution="base-abort-execution",n))(gt||{}),L=(n=>(n.Fixed="fixed",n.None="none",n.Dynamic="dynamic",n))(L||{}),C=(n=>(n.FixedArguments="fixed-arguments",n.FixedReturns="fixed-returns",n.ReturnedError="returned-error",n.OngoingProcessExecution="ongoing-process-execution",n))(C||{}),g=(n=>(n.EntityTemplate="entity-template",n.ActionDescriptor="action-descriptor",n.String="string",n.Number="number",n.Boolean="boolean",n.Null="null",n.Enum="enum",n.JSON="json",n.Date="date",n.UUID="uuid",n.File="file",n))(g||{}),at=(n=>(n.Addition="addition",n.Substraction="substraction",n.Multiplication="multiplication",n.Division="division",n.Remainder="remainder",n.Exponentiation="exponentiation",n))(at||{}),ge=(n=>(n.Join="string-join",n.Split="stringSsplit",n.DeleteLast="string-delete-last",n.DeleteFirst="string-delete-first",n.DeleteIndex="string-delete-index",n.AddIndex="string-add-index",n.ReplaceFirst="string-replace-first",n.ReplaceLast="string-replace-last",n.ReplaceIndex="string-replace-index",n.ReplaceSingleMatch="string-replace-single-match",n.ReplaceAllMatches="string-replace-all-matches",n.GetIndex="string-get-index",n.GetFirst="string-get-first",n.GetLast="string-get-last",n.Append="string-append",n.Prepend="string-prepend",n))(ge||{}),j=(n=>(n.Join="list-join",n.Split="list-split",n.DeleteLast="list-delete-last",n.DeleteFirst="list-delete-first",n.DeleteIndex="list-delete-index",n.AddIndex="list-add-index",n.ReplaceFirst="list-replace-first",n.ReplaceLast="list-replace-last",n.ReplaceIndex="list-replace-index",n.ReplaceSingleMatch="list-replace-single-match",n.ReplaceAllMatches="list-replace-all-matches",n.GetIndex="list-get-index",n.GetFirst="list-get-first",n.GetLast="list-get-last",n.Append="list-append",n.Prepend="list-prepend",n))(j||{}),Ie=(n=>(n.Parallel="parallel",n.Sequential="sequential",n.Wait="wait",n))(Ie||{}),Ze=(n=>(n.CreateNewInstance="create-new-instance",n.Validate="validate",n))(Ze||{}),Ye=(n=>(n.HttpRequest="base-http-request",n))(Ye||{}),Ae=(n=>(n.Equal="equal",n.NotEqual="not-equal",n.And="and",n.Or="or",n.LessThan="less-than",n.MoreThan="more-than",n.LessThanOrEqual="less-than-or-equal",n.MoreThanOrEqual="more-than-or-equal",n))(Ae||{}),Ct=(n=>(n.Empty="empty",n.NotEmpty="not-empty",n))(Ct||{}),je=(n=>(n.ManualFlow="manual-flow-loop",n.Counted="counted-loop",n.List="list-loop",n.ObjectKeys="object-keys-loop",n.ObjectValues="object-values-loop",n.String="string-loop",n))(je||{}),qe=(n=>(n.OrDataTypeGroup="or-data-type-group",n.AndDataTypeGroup="and-data-type-group",n.DynamicArgumentTypes="dynamic-argument-types",n.DynamicReturnTypes="dynamic-return-types",n))(qe||{}),Kt=(n=>(n.PROJECT_PUBLICATION_COMPLETED="GLOBAL_EVENT_PROJECT_PUBLICATION_COMPLETED",n))(Kt||{}),Md=(n=>(n.Error="error",n.Task="task",n))(Md||{});const Tn=[r.VariableDeclaration,r.VariableInstance,r.InputMap,r.ReturnDeclaration],Yg=[r.VariableDeclaration,r.VariableInstance,r.InputMap,r.ReturnDeclaration];console.log("VALUE_READING_TYPES: ",[...Tn]);const Se=[r.VariableDeclaration,r.VariableInstance,r.ArgumentDeclaration,r.OutputMap],zg=[r.VariableDeclaration,r.VariableInstance,r.ArgumentDeclaration,r.OutputMap];console.log("VALUE_WRITING_TYPES: ",[...Se]);const Nd=[...Tn,...Se],Fe=[r.VariableDeclaration,r.VariableInstance],Ar=[r.GlobalEvent],Ne=[r.Operation,r.FunctionCall,r.Condition,r.Search,r.VariableDeclaration,r.VariableInstance,r.InternalCall,r.Loop],Eo=[r.Operation,r.FunctionCall,r.Condition,r.Search,r.VariableDeclaration,r.VariableInstance,r.Loop],$e=[r.FunctionDeclaration,...Ar],En=[...Ne,r.ReturnStatement,r.BreakStatement,r.ContinueStatement],Ro=[...Eo,r.ReturnStatement,r.BreakStatement,r.ContinueStatement],en=[...Ne,...$e],$d=[...Eo,...$e],Zg=[...En,...$e],Xg=[...Ro,...$e],st=[...$e,r.Loop],Oe=[r.ReturnStatement,r.BreakStatement,r.ContinueStatement],Qg=[r.CustomEntity,r.BuiltInBaseEntity,r.Project,r.InstalledProject,r.GlobalEvent,r.DataType,r.FunctionCall,r.FunctionDeclaration,r.ActionDescriptor,r.ValueDescriptor,r.ArgumentDeclaration,r.InputMap,r.ReturnStatement,r.BreakStatement,r.ContinueStatement,r.ReturnDeclaration,r.OutputMap,r.PrimitiveEntity,r.PrimitiveValue,r.Property,r.Operation,r.Condition,r.VariableDeclaration,r.VariableInstance,r.Search,r.Loop,r.InternalCall],bo=[r.CustomEntity,r.GlobalEvent,r.FunctionDeclaration,r.FunctionCall,r.VariableDeclaration,r.VariableInstance,r.Operation,r.Condition,r.ReturnStatement,r.BreakStatement,r.ContinueStatement,r.InstalledProject,r.Loop,r.Search],Vd=[r.CustomEntity,r.FunctionDeclaration,r.ArgumentDeclaration,r.ReturnDeclaration,r.Property,r.VariableDeclaration,r.Search,r.Project,r.InstalledProject,r.ActionDescriptor,r.ValueDescriptor],Sr=[r.BuiltInBaseEntity,r.PrimitiveEntity],Kg=[r.CustomEntity,r.FunctionDeclaration,r.ArgumentDeclaration,r.ReturnDeclaration,r.Property,r.VariableDeclaration,r.GlobalEvent,r.Search,r.Project,r.InstalledProject,r.ActionDescriptor,r.ValueDescriptor,r.InputMap,r.OutputMap,r.FunctionCall,r.Operation,r.Condition,r.ReturnStatement,r.BreakStatement,r.ContinueStatement,r.VariableInstance,r.PrimitiveValue,r.InternalCall],F={type:r.PrimitiveEntity,id:"8b5fbe15-4c2b-48c0-9fd8-e5efbe3978dc",description:"A string of characters.",version:1,name:g.String,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Un={type:r.PrimitiveEntity,id:"f596545d-1565-4faa-9969-d95fa5edfea4",description:"A 'true' or 'false' value.",version:1,name:g.Boolean,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Ce={type:r.PrimitiveEntity,id:"ecb84c29-6153-4b82-86a5-fce2b5f92002",description:"A number value.",version:1,name:g.Number,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Xe={type:r.PrimitiveEntity,id:"730e8ea9-8498-439a-9001-b07de55aaa7d",description:"A complex data structure with any combination of properties with names and values.",version:1,name:g.JSON,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Ld={id:"c2f52f01-8f2e-490e-8083-72289c8189c1",type:r.GenericReference,entityId:"7dd59b70-f97b-43a7-a051-fde1842ce5d6",entityType:r.DataType},Gd={id:"4e803941-2e6a-4227-b803-b8877c0d7fee",type:r.GenericReference,entityId:"00ccfcae-2104-45ef-bf6c-50ddccd74286",entityType:r.Property},Fd={id:"7dd59b70-f97b-43a7-a051-fde1842ce5d6",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:F,asType:!1,defaultValue:{id:"enum-options-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.JSON,autogeneration:null,value:[],valueAsType:null,parent:Ld},parent:Gd},Ud={id:"a2983c4c-0286-4ef1-8b5c-5a52904d3200",type:r.GenericReference,entityId:"9542b8b4-2642-4eee-9db9-def7963a17a0",entityType:r.PrimitiveEntity},xd={required:!0,id:"00ccfcae-2104-45ef-bf6c-50ddccd74286",name:"Options",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:Fd,description:"Options for the enum. Each option is a text value.",parent:Ud},Rn={type:r.PrimitiveEntity,id:"9542b8b4-2642-4eee-9db9-def7963a17a0",description:"A set of text options to choose from.",version:1,name:g.Enum,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[xd],methods:[]},Or={type:r.PrimitiveEntity,id:"dc58f38b-d574-4956-aac6-32ce9529b937",description:"A date and time value.",version:1,name:g.Date,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},ma={type:r.PrimitiveEntity,id:"4a6234aa-c0f6-4731-b4dd-750388029226",description:"A unique identifier in the form of a 36-character string.",version:1,name:g.UUID,static:!1,abstract:!1,abstractMethods:[],extends:[F],properties:[],methods:[]},vo={type:r.PrimitiveEntity,id:"b6f3c3c4-9c3d-4f9d-9e9e-1c0f6a3c8c6b",description:"A complex data structure with any combination of properties with names and values.",version:1,name:g.JSON,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]};var jd=(n=>(n.FirstInputNumber="number-addition-first-number-argument-declaration",n.SecondInputNumber="number-addition-second-number-argument-declaration",n))(jd||{}),kd=(n=>(n.ResultNumber="number-addition-result-number-return-delaration",n.Error="number-addition-error-return-delaration",n))(kd||{});const qd={type:r.GenericReference,id:"3bd4aeb2-e3b7-4120-b289-011ebb03dba5",entityId:"number-addition-first-number-argument-declaration",entityType:r.ValueDescriptor},Jd={id:"number-addition-first-number-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:qd},Wd={type:r.GenericReference,id:"9f486db2-a983-4293-9eef-81d4fc8d2d3e",entityId:"number-addition-second-number-argument-declaration",entityType:r.ValueDescriptor},Hd={id:"1d4abe83-3e87-4f74-99be-c1fd8c2f8d2d",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Wd},Yd={type:r.GenericReference,id:"da5e9fe9-f18a-49e3-98e5-c1bf7b9b3153",entityId:"number-addition-result-number-return-delaration",entityType:r.ValueDescriptor},zd={id:"b761acec-0755-4582-a68b-76267038bbe1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Yd},Zd={type:r.GenericReference,id:"a6c14305-d4f7-43ae-9d5e-b7dbacdc830a",entityId:at.Addition,entityType:r.ActionDescriptor},go={id:"number-addition-first-number-argument-declaration",type:r.ValueDescriptor,version:1,name:"First value",description:"The first number to add",dataType:Jd,required:!0,parentRelationType:C.FixedArguments,index:0,parent:Zd},Xd={type:r.GenericReference,id:"c5015128-4a65-462c-9da0-1c86e83ef897",entityId:at.Addition,entityType:r.ActionDescriptor},Io={id:"number-addition-second-number-argument-declaration",type:r.ValueDescriptor,description:"The second number to add",version:1,name:"Second value",dataType:Hd,required:!0,parentRelationType:C.FixedArguments,index:1,parent:Xd},Qd={type:r.GenericReference,id:"caac2bc7-c23c-4f01-9581-a515c2e4637f",entityId:at.Addition,entityType:r.ActionDescriptor},Po={parentRelationType:C.FixedReturns,id:"number-addition-result-number-return-delaration",type:r.ValueDescriptor,description:"The result number of the addition",version:1,name:"Result",dataType:zd,required:!0,index:0,parent:Qd},Kd={type:r.GenericReference,id:"number-addition-operation-error-parent-ref",entityId:at.Addition,entityType:r.ActionDescriptor},eu={parentRelationType:C.FixedReturns,id:"number-addition-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Kd},Ta={id:at.Addition,type:r.ActionDescriptor,description:"Add two numbers together",version:1,name:at.Addition,fixedArguments:[go,Io],error:eu,fixedReturns:[Po],argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},tu={[at.Addition]:Ta};var nu=(n=>(n.FirstInputString="join-string-first-string-argument-declaration",n.SecondInputString="join-string-second-string-argument-declaration",n))(nu||{}),ru=(n=>(n.ResultString="join-string-result-string-return-delaration",n.Error="join-string-error-return-delaration",n))(ru||{});const iu={type:r.GenericReference,id:"join-string-first-string-argument-declaration",entityId:"join-string-first-string-argument-declaration",entityType:r.ValueDescriptor},au={id:"join-string-first-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:iu},su={type:r.GenericReference,id:"join-string-second-string-argument-declaration",entityId:"join-string-second-string-argument-declaration",entityType:r.ValueDescriptor},ou={id:"join-string-second-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:su},lu={type:r.GenericReference,id:"join-string-result-string-return-delaration",entityId:"join-string-result-string-return-delaration",entityType:r.ValueDescriptor},cu={id:"join-string-result-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:lu},du={type:r.GenericReference,id:"join-string-operation-first-string-argument-parent-ref",entityId:ge.Join,entityType:r.ActionDescriptor},Ea={id:"join-string-first-string-argument-declaration",type:r.ValueDescriptor,version:1,name:"First value",description:"The first text to join to the second one. Its value will be at the beginning of the resulting text.",dataType:au,parentRelationType:C.FixedArguments,required:!0,index:0,parent:du},uu={type:r.GenericReference,id:"join-string-operation-second-string-argument-parent-ref",entityId:ge.Join,entityType:r.ActionDescriptor},Ra={id:"join-string-second-string-argument-declaration",type:r.ValueDescriptor,version:1,name:"Second value",description:"The second text to join to the first one. Its value will be at the end of the resulting text.",dataType:ou,parentRelationType:C.FixedArguments,required:!0,index:1,parent:uu},pu={type:r.GenericReference,id:"join-string-operation-result-string-return-parent-ref",entityId:ge.Join,entityType:r.ActionDescriptor},pi={parentRelationType:C.FixedReturns,id:"join-string-result-string-return-delaration",type:r.ValueDescriptor,version:1,name:"Result",description:"The resulting text value.",dataType:cu,required:!0,index:0,parent:pu},yu={type:r.GenericReference,id:"join-string-operation-error-parent-ref",entityId:ge.Join,entityType:r.ActionDescriptor},hu={parentRelationType:C.FixedReturns,id:"join-string-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:yu},yi={id:ge.Join,type:r.ActionDescriptor,version:1,name:ge.Join,description:"Join two text together, to form a single resulting text value.",fixedArguments:[Ea,Ra],fixedReturns:[pi],error:hu,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},fu={[ge.Join]:yi};var mu=(n=>(n.FirstInputList="join-list-first-list-argument-declaration",n.SecondInputList="join-list-second-list-argument-declaration",n))(mu||{}),Tu=(n=>(n.ResultList="join-list-result-list-return-delaration",n.Error="join-list-error-return-delaration",n))(Tu||{});const Eu={type:r.GenericReference,id:"join-list-operation-first-list-argument-ref",entityId:"join-list-first-list-argument-declaration",entityType:r.ValueDescriptor},Ru={id:"join-list-first-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Eu},bu={type:r.GenericReference,id:"join-list-operation-second-list-argument-ref",entityId:"join-list-second-list-argument-declaration",entityType:r.ValueDescriptor},vu={id:"join-list-second-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:bu},gu={type:r.GenericReference,id:"join-list-operation-result-list-return-ref",entityId:"join-list-result-list-return-delaration",entityType:r.ValueDescriptor},Iu={id:"join-list-result-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:gu},Pu={type:r.GenericReference,id:"join-list-operation-first-list-argument-parent-ref",entityId:j.Join,entityType:r.ActionDescriptor},Du={id:"join-list-first-list-argument-declaration",type:r.ValueDescriptor,version:1,name:"First value",description:"The first list to join to the second one. Its values will be at the beginning of the resulting list.",dataType:Ru,parentRelationType:C.FixedArguments,required:!0,index:0,parent:Pu},Au={type:r.GenericReference,id:"join-list-operation-second-list-argument-parent-ref",entityId:j.Join,entityType:r.ActionDescriptor},Su={id:"join-list-second-list-argument-declaration",type:r.ValueDescriptor,version:1,name:"Second value",description:"The second list to join to the first one. Its values will be at the end of the resulting list.",dataType:vu,parentRelationType:C.FixedArguments,required:!0,index:1,parent:Au},Ou={type:r.GenericReference,id:"join-list-operation-result-list-return-parent-ref",entityId:j.Join,entityType:r.ActionDescriptor},Cu={parentRelationType:C.FixedReturns,id:"join-list-result-list-return-delaration",type:r.ValueDescriptor,version:1,name:"Result",description:"The resulting list value.",dataType:Iu,required:!0,index:0,parent:Ou},Bu={type:r.GenericReference,id:"join-list-operation-error-parent-ref",entityId:j.Join,entityType:r.ActionDescriptor},wu={parentRelationType:C.FixedReturns,id:"join-list-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Bu},Do={id:j.Join,type:r.ActionDescriptor,version:1,name:j.Join,description:"Join two lists together, to form a single resulting list value.",fixedArguments:[Du,Su],error:wu,fixedReturns:[Cu],argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var _u=(n=>(n.InputList="list-to-split-argument-declaration",n.SplitIndex="split-list-index-argument-declaration",n))(_u||{}),Mu=(n=>(n.FirstOutputList="split-list-first-output-list-return-delaration",n.SecondOutputList="split-list-second-output-list-return-delaration",n.Error="split-list-error-return-delaration",n))(Mu||{});const Nu={type:r.GenericReference,id:"split-list-operation-input-list-argument-ref",entityId:"list-to-split-argument-declaration",entityType:r.ValueDescriptor},$u={id:"split-list-operation-input-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Nu},Vu={type:r.GenericReference,id:"split-list-operation-split-index-argument-ref",entityId:"split-list-index-argument-declaration",entityType:r.ValueDescriptor},Lu={id:"split-list-operation-split-index-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Vu},Ao={type:r.GenericReference,id:"split-list-operation-first-output-list-return-ref",entityId:"split-list-first-output-list-return-delaration",entityType:r.ValueDescriptor},Gu={id:"split-list-operation-first-output-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Ao},Fu={type:r.GenericReference,id:"split-list-operation-input-list-argument-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},Uu={id:"list-to-split-argument-declaration",type:r.ValueDescriptor,version:1,name:"List to split",description:"The list to split at the given index",dataType:$u,parentRelationType:C.FixedArguments,required:!0,index:0,parent:Fu},xu={type:r.GenericReference,id:"split-list-operation-split-index-argument-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},ju={id:"split-list-index-argument-declaration",type:r.ValueDescriptor,version:1,name:"Split location",description:"The index at which to split the list. The value at this index will be the first value of the second list.",dataType:Lu,parentRelationType:C.FixedArguments,required:!0,index:1,parent:xu},ku={type:r.GenericReference,id:"split-list-operation-first-output-list-return-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},qu={parentRelationType:C.FixedReturns,id:"split-list-first-output-list-return-delaration",type:r.ValueDescriptor,version:1,name:"First list",description:"The list of values up to the split index",dataType:Gu,required:!0,index:0,parent:ku},Ju={id:"split-list-operation-second-output-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Ao},Wu={type:r.GenericReference,id:"split-list-operation-second-output-list-return-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},Hu={parentRelationType:C.FixedReturns,id:"split-list-second-output-list-return-delaration",type:r.ValueDescriptor,version:1,name:"Second list",description:"The list of values up to the split index",dataType:Ju,required:!0,index:0,parent:Wu},Yu={type:r.GenericReference,id:"split-list-operation-error-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},zu={parentRelationType:C.FixedReturns,id:"split-list-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Yu},So={id:j.Split,type:r.ActionDescriptor,version:1,name:j.Split,description:"Splits a given list at the given index, and returns two lists, one with the values up to the index, and the other with the values after the index",fixedArguments:[Uu,ju],fixedReturns:[qu,Hu],error:zu,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var Zu=(n=>(n.InputList="get-last-in-list-input-list-argument-declaration",n))(Zu||{}),Xu=(n=>(n.OutputElement="get-last-in-list-output-element-return-delaration",n.Error="get-last-in-list-error-return-delaration",n))(Xu||{});const Qu={type:r.GenericReference,id:"get-last-in-list-operation-input-list-argument-ref",entityId:"get-last-in-list-input-list-argument-declaration",entityType:r.ValueDescriptor},Ku={id:"get-last-in-list-input-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Qu},ep={type:r.GenericReference,id:"get-last-in-list-operation-output-element-return-ref",entityId:"get-last-in-list-output-element-return-delaration",entityType:r.ValueDescriptor},tp={id:"get-last-in-list-output-element-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:ep},np={type:r.GenericReference,id:"get-last-in-list-operation-input-list-argument-parent-ref",entityId:j.GetLast,entityType:r.ActionDescriptor},rp={id:"get-last-in-list-input-list-argument-declaration",type:r.ValueDescriptor,version:1,name:"List",description:"The list to get the last element from.",dataType:Ku,parentRelationType:C.FixedArguments,required:!0,index:0,parent:np},ip={type:r.GenericReference,id:"get-last-in-list-operation-output-element-return-parent-ref",entityId:j.GetLast,entityType:r.ActionDescriptor},ap={parentRelationType:C.FixedReturns,id:"get-last-in-list-output-element-return-delaration",type:r.ValueDescriptor,version:1,name:"Last element",description:"The last element of the given list.",dataType:tp,required:!0,index:0,parent:ip},sp={type:r.GenericReference,id:"get-last-in-list-operation-error-parent-ref",entityId:j.GetLast,entityType:r.ActionDescriptor},op={parentRelationType:C.FixedReturns,id:"get-last-in-list-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:sp},Oo={id:j.GetLast,type:r.ActionDescriptor,version:1,name:j.GetLast,description:"Outputs the last element of a given list.",fixedArguments:[rp],fixedReturns:[ap],error:op,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var lp=(n=>(n.List="append-to-list-lsit-argument-declaration",n.ElementToAppend="append-to-list-element-to-append-argument-declaration",n))(lp||{}),cp=(n=>(n.ResultList="append-to-list-result-list-return-delaration",n.Error="append-to-list-error-return-delaration",n))(cp||{});const dp={type:r.GenericReference,id:"append-to-list-operation-lsit-argument-ref",entityId:"append-to-list-lsit-argument-declaration",entityType:r.ValueDescriptor},up={id:"append-to-list-lsit-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:dp},pp={type:r.GenericReference,id:"append-to-list-operation-second-list-argument-ref",entityId:"append-to-list-element-to-append-argument-declaration",entityType:r.ValueDescriptor},yp={id:"append-to-list-second-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:pp},hp={type:r.GenericReference,id:"append-to-list-operation-result-list-return-ref",entityId:"append-to-list-result-list-return-delaration",entityType:r.ValueDescriptor},fp={id:"append-to-list-result-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:hp},mp={type:r.GenericReference,id:"append-to-list-operation-lsit-argument-parent-ref",entityId:j.Append,entityType:r.ActionDescriptor},Co={id:"append-to-list-lsit-argument-declaration",type:r.ValueDescriptor,version:1,name:"List value",description:"The list to which the element will be appended",dataType:up,parentRelationType:C.FixedArguments,required:!0,index:0,parent:mp},Tp={type:r.GenericReference,id:"append-to-list-operation-second-list-argument-parent-ref",entityId:j.Append,entityType:r.ActionDescriptor},Bo={id:"append-to-list-element-to-append-argument-declaration",type:r.ValueDescriptor,version:1,name:"Element",description:"The element that will be added at the end of the list",dataType:yp,parentRelationType:C.FixedArguments,required:!0,index:1,parent:Tp},Ep={type:r.GenericReference,id:"append-to-list-operation-result-list-return-parent-ref",entityId:j.Append,entityType:r.ActionDescriptor},Rp={parentRelationType:C.FixedReturns,id:"append-to-list-result-list-return-delaration",type:r.ValueDescriptor,version:1,name:"Result",description:"The resulting list value.",dataType:fp,required:!0,index:0,parent:Ep},bp={type:r.GenericReference,id:"append-to-list-operation-error-parent-ref",entityId:j.Append,entityType:r.ActionDescriptor},vp={parentRelationType:C.FixedReturns,id:"append-to-list-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:bp},ba={id:j.Append,type:r.ActionDescriptor,version:1,name:j.Append,description:"Adds a given element to the end of a list value.",fixedArguments:[Co,Bo],error:vp,fixedReturns:[Rp],argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},gp={[j.Join]:Do,[j.Split]:So,[j.GetLast]:Oo,[j.Append]:ba};var Ip=(n=>(n.ListOfFunctions="parallel-execution-list-of-functions-argument-declaration",n))(Ip||{}),Pp=(n=>(n.ListOfExecutionResults="parallel-execution-result-return-delaration",n.Error="parallel-execution-error-return-delaration",n))(Pp||{});const Dp={id:"parallel-execution-list-of-functions-blueprint-id",type:r.ActionDescriptor,version:1,name:"Action to execute",description:"An action of any type, to be executed. It can contain any number of inputs and outputs.",argumentsType:L.Dynamic,dynamicArgumentTypes:null,fixedArguments:[],returnsType:L.Dynamic,dynamicReturnTypes:null,fixedReturns:[],error:null,parent:null},Ap={type:r.GenericReference,id:"3bd4aeb2-e3b7-4120-b289-011ebb03dba5",entityId:"parallel-execution-list-of-functions-argument-declaration",entityType:r.ValueDescriptor},Sp={id:"parallel-execution-list-of-functions-argument-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Dp,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Ap},Op={type:r.GenericReference,id:"da5e9fe9-f18a-49e3-98e5-c1bf7b9b3153",entityId:"parallel-execution-result-return-delaration",entityType:r.ValueDescriptor},Cp={id:"b761acec-0755-4582-a68b-76267038bbe1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Op},Bp={type:r.GenericReference,id:"a6c14305-d4f7-43ae-9d5e-b7dbacdc830a",entityId:Ie.Parallel,entityType:r.ActionDescriptor},wo={id:"parallel-execution-list-of-functions-argument-declaration",type:r.ValueDescriptor,version:1,name:"Actions to execute",description:"A value, of a list of actions to be executed in parallel",dataType:Sp,required:!0,index:0,parent:Bp,parentRelationType:C.FixedArguments},wp={type:r.GenericReference,id:"caac2bc7-c23c-4f01-9581-a515c2e4637f",entityId:Ie.Parallel,entityType:r.ActionDescriptor},_o={id:"parallel-execution-result-return-delaration",type:r.ValueDescriptor,version:1,name:"List of execution results",description:"Each execution result, in the same order as the input list of actions. One item on this list for each executed action.",dataType:Cp,required:!0,index:0,parent:wp,parentRelationType:C.FixedReturns},_p={type:r.GenericReference,id:"parallel-execution-operation-error-parent-ref",entityId:Ie.Parallel,entityType:r.ActionDescriptor},Mp={id:"parallel-execution-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:_p,parentRelationType:C.ReturnedError},$t={id:Ie.Parallel,type:r.ActionDescriptor,description:"Execute a list of actions in parallel",version:1,name:Ie.Parallel,fixedArguments:[wo],fixedReturns:[_o],argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,error:Mp,parent:null};var Np=(n=>(n.MillisecondsNumber="wait-milliseconds-number-argument-declaration",n))(Np||{}),$p=(n=>(n.Error="wait-operation-error-return-delaration",n))($p||{});const Vp={type:r.GenericReference,id:"3bd4aeb2-e3b7-4120-b289-011ebb03dba5",entityType:r.ValueDescriptor,entityId:"wait-milliseconds-number-argument-declaration"},Lp={id:"wait-milliseconds-number-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Vp},Gp={type:r.GenericReference,id:"a6c14305-d4f7-43ae-9d5e-b7dbacdc830a",entityType:r.ActionDescriptor,entityId:Ie.Wait},xn={id:"wait-milliseconds-number-argument-declaration",type:r.ValueDescriptor,version:1,name:"Milliseconds to wait",description:"The amount of milliseconds to wait before calling the next entity",dataType:Lp,required:!0,index:0,parent:Gp,parentRelationType:C.FixedArguments},Fp={type:r.GenericReference,id:"wait-operation-error-parent-ref",entityId:Ie.Wait,entityType:r.ActionDescriptor},Up={id:"wait-operation-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Fp,parentRelationType:C.ReturnedError},ot={id:Ie.Wait,type:r.ActionDescriptor,description:"Wait for the given amount of milliseconds before calling the next entity",version:1,name:Ie.Wait,fixedArguments:[xn],fixedReturns:[],error:Up,argumentsType:L.Fixed,returnsType:L.None,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var xp=(n=>(n.ListOfFunctions="sequential-execution-list-of-functions-argument-declaration",n))(xp||{}),jp=(n=>(n.ListOfExecutionResults="sequential-execution-result-return-delaration",n.Error="sequential-execution-error-return-delaration",n))(jp||{});const kp={id:"sequential-execution-list-of-functions-blueprint-id",type:r.ActionDescriptor,version:1,name:"Action to execute",description:"An action of any type, to be executed. It can contain any number of inputs and outputs.",argumentsType:L.Dynamic,dynamicArgumentTypes:null,fixedArguments:[],returnsType:L.Dynamic,dynamicReturnTypes:null,fixedReturns:[],error:null,parent:null},qp={type:r.GenericReference,id:"parallel-execution-list-of-functions-argument-declaration-id",entityId:"sequential-execution-list-of-functions-argument-declaration",entityType:r.ValueDescriptor},Jp={id:"sequential-execution-list-of-functions-argument-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:kp,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:qp},Wp={type:r.GenericReference,id:"sequential-execution-list-of-execution-results-return-declaration-id",entityId:"sequential-execution-result-return-delaration",entityType:r.ValueDescriptor},Hp={id:"sequential-execution-list-of-execution-results-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Wp},Yp={type:r.GenericReference,id:"parallel-execution-operation-list-of-functions-argument-parent-ref",entityId:Ie.Sequential,entityType:r.ActionDescriptor},Mo={id:"sequential-execution-list-of-functions-argument-declaration",type:r.ValueDescriptor,version:1,name:"Actions to execute",description:"A value, of a list of actions to be executed in parallel",dataType:Jp,required:!0,index:0,parent:Yp,parentRelationType:C.FixedArguments},zp={type:r.GenericReference,id:"parallel-execution-operation-list-of-execution-results-return-parent-ref",entityId:Ie.Sequential,entityType:r.ActionDescriptor},No={id:"sequential-execution-result-return-delaration",type:r.ValueDescriptor,version:1,name:"List of execution results",description:"Each execution result, in the same order as the input list of actions. One item on this list for each executed action.",dataType:Hp,required:!0,index:0,parent:zp,parentRelationType:C.FixedReturns},Zp={type:r.GenericReference,id:"sequential-execution-operation-error-parent-ref",entityId:Ie.Sequential,entityType:r.ActionDescriptor},Xp={id:"sequential-execution-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Zp,parentRelationType:C.ReturnedError},tn={id:Ie.Sequential,type:r.ActionDescriptor,description:"Execute a list of actions one after the other",version:1,name:Ie.Sequential,fixedArguments:[Mo],fixedReturns:[No],error:Xp,returnsType:L.Fixed,argumentsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},Qp={[Ie.Parallel]:$t,[Ie.Wait]:ot,[Ie.Sequential]:tn};var Kp=(n=>(n.EntityToInstanciate="entity-to-instanciate-argument-declaration",n))(Kp||{}),ey=(n=>(n.Error="create-new-instance-error-return-delaration",n))(ey||{});const ty={type:r.GenericReference,id:"entity-to-instanciate-argument-declaration-ref",entityType:r.ValueDescriptor,entityId:"entity-to-instanciate-argument-declaration"},ny={id:"entity-to-instanciate-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!0,isNullable:!1,defaultValue:null,constant:!1,parent:ty},ry={type:r.GenericReference,id:"create-new-instance-operation-ref",entityType:r.ActionDescriptor,entityId:Ze.CreateNewInstance},iy={id:"entity-to-instanciate-argument-declaration",type:r.ValueDescriptor,version:1,name:"Entity to create a new copy of",description:"The entity of which a new copy will to be created",dataType:ny,required:!0,parentRelationType:C.FixedArguments,index:0,parent:ry},ay={type:r.GenericReference,id:"create-new-instance-output-entity-declaration-parent-ref",entityId:Ze.CreateNewInstance,entityType:r.ActionDescriptor},sy={parentRelationType:C.FixedReturns,id:"create-new-instance-output-entity-declaration",type:r.ValueDescriptor,version:1,dataType:null,name:"Created entity",description:"The entity that was created",parent:ay,required:!0,index:0},oy={type:r.GenericReference,id:"create-new-instance-error-parent-ref",entityId:Ze.CreateNewInstance,entityType:r.ActionDescriptor},ly={parentRelationType:C.FixedReturns,id:"create-new-instance-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:oy},Cr={id:Ze.CreateNewInstance,type:r.ActionDescriptor,description:"Creates a new copy of a given entity, with the given values for each property, or default values if a value is not provided",version:1,name:Ze.CreateNewInstance,fixedArguments:[iy],fixedReturns:[sy],error:ly,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var cy=(n=>(n.EntityToMatchType="validate-data-operation-entity-to-match-type-argument-declaration",n.DataToValidate="validate-data-operation-data-to-validate-argument-declaration",n))(cy||{}),dy=(n=>(n.Error="validate-data-error-return-delaration",n.OutputEntity="validate-data-output-entity-declaration",n))(dy||{});const uy={type:r.GenericReference,id:"validate-data-operation-data-to-validate-argument-declaration-ref",entityType:r.ValueDescriptor,entityId:"validate-data-operation-data-to-validate-argument-declaration"},py={id:"validate-data-operation-data-to-validate-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:uy},yy={type:r.GenericReference,id:"validate-data-operation-data-to-validate-argument-parent-ref",entityType:r.ActionDescriptor,entityId:Ze.Validate},hy={id:"validate-data-operation-data-to-validate-argument-declaration",type:r.ValueDescriptor,version:1,name:"Data to validate",description:"The value to validate against the given entity type",dataType:py,required:!0,parentRelationType:C.FixedArguments,index:0,parent:yy},fy={type:r.GenericReference,id:"validate-data-operation-entity-to-match-type-argument-declaration-ref",entityType:r.ValueDescriptor,entityId:"validate-data-operation-entity-to-match-type-argument-declaration"},my={id:"validate-data-operation-entity-to-match-type-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!0,isNullable:!1,defaultValue:null,constant:!1,parent:fy},Ty={type:r.GenericReference,id:"validate-data-operation-entity-to-match-type-argument-parent-ref",entityType:r.ActionDescriptor,entityId:Ze.Validate},Ey={id:"validate-data-operation-entity-to-match-type-argument-declaration",type:r.ValueDescriptor,version:1,name:"Entity to match",description:"The entity to match the data against",dataType:my,required:!0,index:0,parentRelationType:C.FixedArguments,parent:Ty},Ry={type:r.GenericReference,id:"validate-data-operation-output-entity-declaration-parent-ref",entityId:Ze.Validate,entityType:r.ActionDescriptor},by={id:"validate-data-output-entity-declaration",type:r.ValueDescriptor,version:1,dataType:null,name:"Output value",description:"A value with the type of the entity that was validated",parent:Ry,required:!0,index:0,parentRelationType:C.FixedReturns},vy={type:r.GenericReference,id:"wait-operation-error-parent-ref",entityId:Ze.Validate,entityType:r.ActionDescriptor},gy={id:"validate-data-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:vy,parentRelationType:C.ReturnedError},jn={id:Ze.Validate,type:r.ActionDescriptor,description:"Validates the given data to see if it matches the structure of a given type/entity",version:1,name:Ze.Validate,fixedArguments:[Ey,hy],fixedReturns:[by],error:gy,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},Iy={[Ze.CreateNewInstance]:Cr,[Ze.Validate]:jn};var $o=(n=>(n.ActionOngoingProcessOutputValue="action-ongoing-process-output-value-descriptor-id",n))($o||{});const Ve={[r.ValueDescriptor]:{"action-ongoing-process-output-value-descriptor-id":{id:"action-ongoing-process-output-value-descriptor-id",dataType:{id:"process-output-value-data-type-id"}}},[r.BuiltInBaseEntity]:{[_.KEY_VALUE_PARAM]:{id:_.KEY_VALUE_PARAM},[_.HTTP_ENDPOINT]:{id:_.HTTP_ENDPOINT,properties:{method:"http-endpoint-built-in-method-property-id",path:"http-endpoint-built-in-path-property-id",cors:"http-endpoint-built-in-cors-property-id"}},[_.PERSISTED_ENTITY]:{id:_.PERSISTED_ENTITY,properties:{database:"persisted-built-in-base-entity-database-property-id",identifier:"persisted-built-in-base-entity-identifier-property-id"}},[_.RELATIONAL_DATABASE]:{id:_.RELATIONAL_DATABASE,properties:{identifier:"relational-database-built-in-base-entity-identifier-property-id",username:"relational-database-built-in-base-entity-username-property-id",password:"relational-database-built-in-base-entity-password-property-id",minSize:"relational-database-built-in-base-entity-min-size-property-id",default:"relational-database-built-in-base-entity-default-property-id"}},[_.CRON_JOB]:{id:_.CRON_JOB,properties:{expression:"cron-job-built-in-base-entity-expression-property-id"}}},[r.Operation]:{[ge.Join]:{id:ge.Join,inputs:{first:"join-string-first-string-input-id",second:"join-string-second-string-input-id"},outputs:{result:"join-string-result-string-return-delaration-id",error:"join-string-error-return-delaration-id"}},[Ye.HttpRequest]:{id:Ye.HttpRequest,inputs:{url:"http-request-url-input-id",query:"http-request-query-input-id",method:"http-request-method-input-id",headers:"http-request-headers-input-id",body:"http-request-body-string-input-id"},outputs:{code:"http-response-code-return-delaration-id",body:"http-response-body-return-delaration-id",headers:"http-response-headers-return-delaration-id",error:"http-request-error-return-delaration-id"}}},[r.Loop]:{[je.List]:{id:je.List,inputs:{list:"iterate-over-list-loop-list-input-id"},outputs:{results:"iterate-over-list-loop-output-id"}},[je.ManualFlow]:{id:je.ManualFlow,inputs:{},outputs:{results:"manual-flow-loop-output-id"}}},[r.Condition]:{[Ae.MoreThanOrEqual]:{id:Ae.MoreThanOrEqual,inputs:{leftHand:"condition-more-than-or-equal-left-hand-input-id",rightHand:"condition-more-than-or-equal-right-hand-input-id"}},[Ct.NotEmpty]:{id:Ct.NotEmpty,inputs:{leftHand:"condition-not-empty-input-id"}}},[r.GlobalEvent]:{[Kt.PROJECT_PUBLICATION_COMPLETED]:{id:Kt.PROJECT_PUBLICATION_COMPLETED}}},Je=Ve[r.Operation]["base-http-request"],Py={type:r.GenericReference,id:"d87cf943-57e1-4d19-9f05-190fa8c8ebc4",entityType:r.DataType,entityId:"0deb4ef7-d739-4ddc-a4d6-50bd6fababe3"},Dy={id:"http-request-url-default-value-id",type:r.PrimitiveValue,version:1,value:"https://some-url.com",name:g.String,valueAsType:null,parent:Py,autogeneration:null},Ay={type:r.GenericReference,id:"aed50d73-eab5-42ce-b00e-7f5c45a9026f",entityId:Je.inputs.url,entityType:r.ValueDescriptor},Sy={id:"0deb4ef7-d739-4ddc-a4d6-50bd6fababe3",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:Dy,constant:!1,parent:Ay},Oy={type:r.GenericReference,id:"c3145af6-3387-464a-8887-272e483c856d",entityId:Je.inputs.query,entityType:r.ValueDescriptor},Cy={id:"2a5ba737-6335-4cc4-a2c0-16dca4052fac",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Oy},By={type:r.GenericReference,id:"075556b7-e468-48f7-8485-7159eaf389b2",entityType:r.DataType,entityId:"6df7ec2b-5dbd-44af-896b-17b314e88560"},wy={id:"http-request-method-default-value-id",type:r.PrimitiveValue,version:1,value:"GET",name:g.Enum,valueAsType:null,parent:By,autogeneration:null},_y={type:r.GenericReference,id:"aed647c8-a1b5-4cfc-9a3d-97887a567a80",entityId:Je.inputs.method,entityType:r.ValueDescriptor},My={id:"6df7ec2b-5dbd-44af-896b-17b314e88560",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rn,isList:!1,asType:!1,isNullable:!1,defaultValue:wy,options:["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","TRACE","CONNECT","CUSTOM"],constant:!1,parent:_y},Ny={type:r.GenericReference,id:"77203dfa-d2f6-4804-9556-e1cce46228f3",entityId:Je.inputs.headers,entityType:r.ValueDescriptor},$y={id:"2c8a2a07-69c6-40ad-b5c9-f0dc4d5955ce",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Ny},Vy={type:r.GenericReference,id:"03db68a0-7ab6-4c6a-85b6-f4b95ebb53ff",entityId:Je.inputs.body,entityType:r.ValueDescriptor},Ly={id:"0397876c-ed54-4ee9-85a4-04fd16dad973",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Vy},Gy={type:r.GenericReference,id:"182f767f-50e8-4394-ba5f-43e78c232733",entityType:r.ValueDescriptor,entityId:Je.outputs.code},Fy={id:"45e6d0bc-0c0e-4059-a7a1-6bee925d73d0",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Gy},Uy={type:r.GenericReference,id:"2baaa53a-9aef-4bd1-b06d-967c17b7b627",entityType:r.DataType,entityId:"dac63bfa-640d-4f4e-ba0f-86c2401bcfbe"},xy={type:r.GenericReference,id:"69f34d6c-c686-4165-b6ff-70dae8e1778b",entityType:r.ValueDescriptor,entityId:Je.outputs.headers},jy={id:"dac63bfa-640d-4f4e-ba0f-86c2401bcfbe",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"http-response-headers-default-value-id",type:r.PrimitiveValue,version:1,value:{},name:g.JSON,parent:Uy,valueAsType:null,autogeneration:null},constant:!1,parent:xy},ky={type:r.GenericReference,id:"744334e0-5135-4214-85d0-809437cb620b",entityType:r.DataType,entityId:"05fc1a5d-151a-479a-9c4e-4063f3456177"},qy={type:r.GenericReference,id:"0e0e20df-1a46-432c-ba01-fd96508a6a61",entityType:r.ValueDescriptor,entityId:Je.outputs.body},Jy={id:"05fc1a5d-151a-479a-9c4e-4063f3456177",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"http-response-body-default-value-id",type:r.PrimitiveValue,version:1,value:{},name:g.JSON,parent:ky,valueAsType:null,autogeneration:null},constant:!1,parent:qy},Wy={type:r.GenericReference,id:"26911792-f707-4bf1-b6f7-03d04a84232c",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},va={id:Je.inputs.method,type:r.ValueDescriptor,description:"A single word that represents the type of request you want to make. For example: GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD, TRACE, CONNECT, CUSTOM",version:1,name:"Method",dataType:My,required:!1,index:0,parentRelationType:C.FixedArguments,parent:Wy},Hy={type:r.GenericReference,id:"eee0c501-0ae6-4448-b914-aada76d63163",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},ga={id:Je.inputs.url,type:r.ValueDescriptor,description:"The base domain, or address where the request is being sent to. For example: https://some-url.com",version:1,name:"URL",dataType:Sy,required:!1,index:1,parentRelationType:C.FixedArguments,parent:Hy},Yy={type:r.GenericReference,id:"670091a4-21b1-4223-ad4c-b6dada0aec49",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},Vo={id:Je.inputs.query,type:r.ValueDescriptor,description:"A text with standarized format, without spaces that is added at the end of the URL path, after the ? character. It contains data that might be used to process the request. For example: /api/users?name=John&age=30",version:1,name:"Query Params",dataType:Cy,required:!1,index:2,parentRelationType:C.FixedArguments,parent:Yy},zy={type:r.GenericReference,id:"85aad3eb-22fe-45f9-b68c-1dc7061f41e0",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},Ia={id:Je.inputs.headers,type:r.ValueDescriptor,description:"A set of any properties, with names and values that represent metadata about the request, such as the server, date, content type, and more, that you want to send alongside your request data.",version:1,name:"Headers",dataType:$y,required:!1,index:3,parent:zy,parentRelationType:C.FixedArguments},Zy={type:r.GenericReference,id:"c3e2a4af-9b84-4574-8b30-5044ffc51776",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},Pa={id:Je.inputs.body,type:r.ValueDescriptor,description:"The main data payload of the request. This is the data that you want to send to the server. It could be anything, but it is usually a JSON data structure or a text value.",version:1,name:"Body",dataType:Ly,required:!1,index:4,parentRelationType:C.FixedArguments,parent:Zy},Xy={type:r.GenericReference,id:"92e04dc7-2145-4a31-908e-03810f7235e8",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},Lo={id:Je.outputs.code,type:r.ValueDescriptor,description:'A standardized status code of the response. It is a 3-digit number that represents the response status. For example, 200 means "OK", 404 means "Not Found", and 500 means "Internal Server Error".',version:1,name:"Code",dataType:Fy,required:!0,index:0,parentRelationType:C.FixedReturns,parent:Xy},Qy={type:r.GenericReference,id:"86aca556-bbf1-4679-9909-31db61b288e2",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},Da={parentRelationType:C.FixedReturns,id:Je.outputs.headers,type:r.ValueDescriptor,description:"A set of any properties, with names and value that the server sent back to you. It represents metadata about the response, such as the server, date, content type, and more.",version:1,name:"Headers",dataType:jy,required:!0,index:1,parent:Qy},Ky={type:r.GenericReference,id:"ccf3d1be-04e4-4d03-99fd-5bc1e1919f90",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},hi={parentRelationType:C.FixedReturns,id:Je.outputs.body,type:r.ValueDescriptor,description:"The main data payload of the response. This is the data that the server sent back to you. It could be anything, but it is usually a JSON data structure or a text value.",version:1,name:"Body",dataType:Jy,required:!0,index:2,parent:Ky},eh={type:r.GenericReference,id:"21487ffc-82b9-473d-bc19-6e7d7c480ed7",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},th={type:r.GenericReference,id:"ad69861b-32f7-4461-b7f7-aa84a82578d9",entityType:r.ValueDescriptor,entityId:Je.outputs.error},nh={id:"5da68b15-57bc-40c1-b79f-a9075e0f22c1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,isList:!1,asType:!1,isNullable:!1,constant:!1,defaultValue:null,parent:th},Go={parentRelationType:C.ReturnedError,id:Je.outputs.error,type:r.ValueDescriptor,description:"Http request error, if any. Contains a payload describing what went wrong.",version:1,name:"Error",dataType:nh,required:!0,index:0,parent:eh},fi={type:r.ActionDescriptor,id:Ye.HttpRequest,name:Ye.HttpRequest,description:"Make an HTTP request, out to the internet, to a given URL with the specified method, query parameters, headers, and body.",version:1,fixedArguments:[va,ga,Vo,Ia,Pa],fixedReturns:[Lo,Da,hi],argumentsType:L.Fixed,returnsType:L.Fixed,error:Go,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},rh={[Ye.HttpRequest]:fi},eI={...fu,...tu,...gp,...Qp,...Iy,...rh},ih=Ve[r.Loop]["list-loop"],ah={id:"iterate-over-list-loop-return-declaration-parent-ref-id",type:r.GenericReference,entityId:je.List,entityType:r.ActionDescriptor},sh={id:ih.outputs.results,type:r.ValueDescriptor,version:1,name:"Results",description:"List of results from the loop. One item in the list for each iteration of the loop.",dataType:null,required:!0,index:0,parent:ah,parentRelationType:C.FixedReturns},oh={id:"iterate-over-list-loop-list-argument-declaration-data-type-parent-ref-id",type:r.GenericReference,entityId:"iterate-over-list-loop-list-argument-declaration-id",entityType:r.ArgumentDeclaration},lh={id:"iterate-over-list-loop-list-argument-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!0,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:oh},ch={id:"iterate-over-list-loop-list-argument-declaration-parent-ref-id",type:r.GenericReference,entityId:je.List,entityType:r.ActionDescriptor},dh={id:ih.inputs.list,type:r.ValueDescriptor,version:1,name:"List",description:"The list to iterate over",required:!0,dataType:lh,index:0,parent:ch,parentRelationType:C.FixedArguments},kn={id:je.List,type:r.ActionDescriptor,version:1,name:je.List,description:"Iterates over a list of entities",fixedArguments:[dh],fixedReturns:[sh],error:null,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},tI=Ve[r.Loop]["list-loop"],uh={id:"manual-flow-loop-previous-iterations-results-declaration-data-type-parent-ref-id",type:r.GenericReference,entityId:"manual-flow-loop-previous-iterations-results-declaration-id",entityType:r.ReturnDeclaration},ph={id:"manual-flow-loop-previous-iterations-results-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!0,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:uh},yh={id:"manual-flow-loop-previous-iterations-results-declaration-parent-ref-id",type:r.GenericReference,entityId:je.ManualFlow,entityType:r.ActionDescriptor},hh={id:tI.outputs.results,type:r.ValueDescriptor,version:1,name:"Results",description:"List of results from the loop. One item in the list for each iteration of the loop.",dataType:ph,required:!0,index:1,parentRelationType:C.FixedReturns,parent:yh},Fo={id:je.ManualFlow,type:r.ActionDescriptor,version:1,name:je.ManualFlow,description:"A loop that is manually controlled by the continue and break statements. It runs until the break statement is called, and it can skip to the next iteration with the continue statement.",fixedArguments:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,fixedReturns:[hh],argumentsType:L.None,returnsType:L.Fixed,error:null,parent:null},Aa=Ve[r.BuiltInBaseEntity][_.KEY_VALUE_PARAM],nI={id:"key-value-param-built-in-base-entity-name-property-data-type-ref",type:r.GenericReference,entityId:"key-value-param-built-in-base-entity-name-property-data-type",entityType:r.DataType},fh={id:"key-value-param-built-in-base-entity-name-property-ref",type:r.GenericReference,entityId:"key-value-param-built-in-base-entity-name-property",entityType:r.Property},rI={id:"key-value-param-built-in-base-entity-name-property-data-type",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:F,asType:!1,defaultValue:null,parent:fh},mh={id:"key-value-param-built-in-base-entity-name-property-parent-ref",type:r.GenericReference,entityId:Aa.id,entityType:r.BuiltInBaseEntity},Th={required:!0,id:"key-value-param-built-in-base-entity-name-property",name:"Parameter name",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:rI,description:"The name of the path parameter",parent:mh},iI={id:"key-value-param-built-in-base-entity-value-property-data-type-ref",type:r.GenericReference,entityId:"key-value-param-built-in-base-entity-value-property-data-type",entityType:r.DataType},Eh={id:"key-value-param-built-in-base-entity-value-property-ref",type:r.GenericReference,entityId:"key-value-param-built-in-base-entity-value-property",entityType:r.Property},aI={id:"key-value-param-built-in-base-entity-value-property-data-type",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:F,asType:!1,defaultValue:null,parent:Eh},Rh={id:"key-value-param-built-in-base-entity-value-property-parent-ref",type:r.GenericReference,entityId:Aa.id,entityType:r.BuiltInBaseEntity},bh={required:!0,id:"key-value-param-built-in-base-entity-value-property",name:"Parameter Value",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:1,dataType:aI,description:"The value of the path parameter",parent:Rh},Sa={id:Aa.id,version:1,description:'An entity with a "name" and "value" property representing a breakdown of a key-value pair.',name:Aa.id,type:r.BuiltInBaseEntity,abstract:!1,static:!1,interactive:!0,properties:[Th,bh],abstractMethods:[],methods:[],extends:[]},mi=Ve[r.BuiltInBaseEntity][_.HTTP_ENDPOINT].properties,vh={id:"endpointBuiltInCorsPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointBuiltInCorsPropertyDataType"},gh={id:"endpointBuiltInCorsPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:mi.cors},Ih={id:"endpointBuiltInCorsPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"endpointBuiltInCorsPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:["*"],parent:vh,autogeneration:null,valueAsType:null},parent:gh},Ph={id:"endpointBuiltInBaseEntityRef",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},Dh={required:!0,id:mi.cors,name:"Allowed origins",version:1,type:r.Property,private:!1,abstract:!0,implements:null,static:!0,index:0,dataType:Ih,description:"The origins that are allowed to access this endpoint, use * for all origins, or http://example.com/* to be as specific as you need.",parent:Ph},Ah={id:"endpointBuiltInPathPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointBuiltInPathPropertyDataType"},Sh={id:"endpointBuiltInPathPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:mi.path},Oh={id:"endpointBuiltInPathPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"endpointBuiltInPathPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.String,value:"/",parent:Ah,autogeneration:null,valueAsType:null},parent:Sh},Ch={id:"endpointBuiltInBaseEntityRefTwo",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},Uo={required:!0,id:mi.path,name:"Path",version:1,type:r.Property,private:!1,abstract:!0,implements:null,static:!0,index:1,dataType:Oh,description:"Path to the endpoint, for example /api/users, or /api/users/{id}, or /api/users/{id}/:name. The path can contain parameters, which are defined by curly braces, and will be passed to the endpoint event as variables with the same name.",parent:Ch},Bh={id:"endpointBuiltInMethodPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointBuiltInMethodPropertyDataType"},wh={id:"endpointBuiltInMethodPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:"endpointBuiltInMethodProperty"},_h={id:"endpointBuiltInMethodPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Rn,isList:!0,isNullable:!1,constant:!0,asType:!1,defaultValue:{id:"endpointBuiltInMethodPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,value:"GET",name:g.Enum,parent:Bh,autogeneration:null,valueAsType:null},options:["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","TRACE","CONNECT","CUSTOM"],parent:wh},Mh={id:"endpointBuiltInBaseEntityRefThree",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},xo={required:!0,id:mi.method,name:"Method",version:1,type:r.Property,private:!1,index:2,implements:null,abstract:!0,static:!0,dataType:_h,description:"The HTTP method that this endpoint will respond to, for example GET, POST, PUT, DELETE, etc.",parent:Mh},Nh={id:"endpointRequestHeadersVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointRequestHeadersVariableDataType"},$h={id:"endpointRequestHeadersArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"endpointRequestHeadersArgumentDeclaration"},Vh={id:"endpointRequestHeadersVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Xe,asType:!1,defaultValue:{id:"endpointRequestHeadersVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:Nh,autogeneration:null,valueAsType:null},parent:$h},Lh={id:"endpointRequestBodyArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"endpointRequestBodyArgumentDeclaration"},Gh={id:"endpointRequestBodyVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:Xe,defaultValue:null,parent:Lh},Fh={id:"endpointRequestQueryParamsVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointRequestQueryParamsVariableDataType"},Uh={id:"endpointRequestQueryParamsArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"endpointRequestQueryParamsArgumentDeclaration"},xh={id:"endpointRequestQueryParamsVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,asType:!1,entity:Sa,defaultValue:{id:"endpointRequestQueryParamsVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:[],parent:Fh,autogeneration:null,valueAsType:null},parent:Uh},jh={id:"endpointPathParamsVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointPathParamsVariableDataType"},kh={id:"endpointPathParamsArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"endpointPathParamsArgumentDeclaration"},qh={id:"endpointPathParamsVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Sa,asType:!1,defaultValue:{id:"endpointPathParamsVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:[],parent:jh,autogeneration:null,valueAsType:null},parent:kh},Jh={id:"endpointReachedTriggerActionDescriptorRef",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},Wh={id:"endpointRequestHeadersArgumentDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the request.",type:r.ValueDescriptor,name:"Request headers",dataType:Vh,required:!0,index:0,parentRelationType:C.FixedArguments,parent:Jh},Hh={id:"endpointReachedTriggerActionDescriptorRefTwo",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},Yh={id:"endpointPathParamsArgumentDeclaration",type:r.ValueDescriptor,description:"A standarized text, without spaces that is added at the end of the domain and routes the request to a specific resource within the target server. For example: /api/users/123, /api/users/123/:name, /api/users/123/:name/:age.",version:1,name:"Path parameters",dataType:qh,required:!0,index:1,parentRelationType:C.FixedArguments,parent:Hh},zh={id:"endpointReachedTriggerActionDescriptorRefThree",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},Zh={id:"endpointRequestQueryParamsArgumentDeclaration",version:1,description:"A text with standarized format, without spaces that is added at the end of the URL path, after the ? character. It contains data that might be used to process the request. For example: /api/users?name=John&age=30",type:r.ValueDescriptor,name:"Request query params",dataType:xh,required:!0,index:2,parentRelationType:C.FixedArguments,parent:zh},Xh={id:"endpointReachedTriggerActionDescriptorRefFour",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},Qh={id:"endpointRequestBodyArgumentDeclaration",version:1,description:"The main data payload of the request.",type:r.ValueDescriptor,name:"Request body",dataType:Gh,index:3,required:!0,parentRelationType:C.FixedArguments,parent:Xh},Kh={id:"endpointResponseCodeReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"endpointResponseCodeReturnDeclaration"},ef={id:"9ba575b0-6f8e-436d-a3de-3b843622aa17",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Kh},tf={id:"endpointReturnStatementRef",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReturnStatement"},nf={id:"endpointResponseCodeReturnDeclaration",version:1,description:"A standarized number that represents the status of the response. 200 for OK, 404 for not found, 500 for server error, etc.",type:r.ValueDescriptor,name:"Response code",dataType:ef,required:!0,index:0,parentRelationType:C.FixedReturns,parent:tf},rf={id:"endpointResponseHeadersDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointResponseHeadersDataType"},af={id:"endpointResponseHeadersReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"endpointResponseHeadersReturnDeclaration"},sf={id:"endpointResponseHeadersDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Xe,asType:!1,defaultValue:{id:"endpointResponseHeadersDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:rf,autogeneration:null,valueAsType:null},parent:af},of={id:"endpointReturnStatementRefTwo",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReturnStatement"},lf={id:"endpointResponseHeadersReturnDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the response.",type:r.ValueDescriptor,name:"Response headers",dataType:sf,required:!1,index:1,parentRelationType:C.FixedReturns,parent:of},cf={id:"endpointResponseBodyReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"endpointResponseBodyReturnDeclaration"},df={id:"endpointResponseBodyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:Xe,defaultValue:null,parent:cf},uf={id:"endpointReturnStatementRefThree",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReturnStatement"},pf={id:"endpointResponseBodyReturnDeclaration",version:1,description:"The main data payload of the response.",type:r.ValueDescriptor,name:"Response body",dataType:df,required:!1,index:2,parentRelationType:C.FixedReturns,parent:uf},yf={id:"endpointBuiltInBaseEntityRefFour",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},jo={id:"endpointReachedTriggerActionDescriptor",type:r.ActionDescriptor,version:1,name:"Endpoint reached",description:"Fired when the endpoint is reached.",argumentsType:L.Fixed,dynamicArgumentTypes:null,fixedArguments:[Wh,Yh,Zh,Qh],returnsType:L.Fixed,fixedReturns:[nf,lf,pf],error:null,dynamicReturnTypes:null,parent:yf},Oa={id:_.HTTP_ENDPOINT,version:1,description:"An HTTP endpoint that can be reached by a client from the internet.",name:_.HTTP_ENDPOINT,type:r.BuiltInBaseEntity,interactive:!1,abstract:!0,static:!0,properties:[Dh,Uo,xo],abstractMethods:[jo],extends:[],methods:[]},jt=Ve[r.BuiltInBaseEntity].BUILT_IN_RELATIONAL_DATABASE_ENTITY,hf={id:"relational-database-built-in-base-entity-identifier-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-identifier-property-data-type-id",entityType:r.DataType},ff={id:"relational-database-built-in-base-entity-identifier-property-ref-id",type:r.GenericReference,entityId:jt.properties.identifier,entityType:r.Property},sI={id:"relational-database-built-in-base-entity-identifier-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-identifier-property-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:null,parent:hf,autogeneration:{type:xe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:ff},Br={id:"relational-database-built-in-base-entity-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},Ca={required:!0,id:jt.properties.identifier,name:"Identifier name",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:0,dataType:sI,description:"The name of the main database inside of the server instance where the data will be stored.",parent:Br},oI={id:"relational-database-built-in-base-entity-username-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-username-property-data-type-idd",entityType:r.DataType},mf={id:"relational-database-built-in-base-entity-username-property-ref-id",type:r.GenericReference,entityId:jt.properties.username,entityType:r.Property},lI={id:"relational-database-built-in-base-entity-username-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-username-property-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:"postgres",parent:{id:"relational-database-built-in-base-entity-username-property-data-type-default-value-parent-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-username-property-data-type-id",entityType:r.DataType},autogeneration:null,valueAsType:null},parent:mf},Ba={required:!0,id:jt.properties.username,name:"Username",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:1,dataType:lI,description:"The username that will be used to connect to the database.",parent:Br},cI={id:"relational-database-built-in-base-entity-password-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-password-property-data-type-id",entityType:r.DataType},Tf={id:"relational-database-built-in-base-entity-password-property-ref-id",type:r.GenericReference,entityId:jt.properties.password,entityType:r.Property},dI={id:"relational-database-built-in-base-entity-password-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:Tf},wa={required:!0,id:jt.properties.password,name:"Password",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:2,dataType:dI,description:"The password that will be used to connect to the database.",parent:Br},Ef={id:"relational-database-built-in-base-entity-min-size-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-min-size-property-data-type-id",entityType:r.DataType},Rf={id:"relational-database-built-in-base-entity-min-size-property-ref-id",type:r.GenericReference,entityId:jt.properties.minSize,entityType:r.Property},uI={id:"relational-database-built-in-base-entity-min-size-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Ce,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-min-size-property-default-value-id",type:r.PrimitiveValue,version:1,name:g.Number,value:6,parent:Ef,autogeneration:null,valueAsType:null},parent:Rf},_a={required:!0,id:jt.properties.minSize,name:"Minimum GB size",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:3,dataType:uI,description:"The minimum size of the database in GB.",parent:Br},bf={id:"relational-database-built-in-base-entity-default-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-default-property-data-type-id",entityType:r.DataType},vf={id:"relational-database-built-in-base-entity-default-property-ref-id",type:r.GenericReference,entityId:jt.properties.default,entityType:r.Property},pI={id:"relational-database-built-in-base-entity-default-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Un,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-default-property-default-value-id",type:r.PrimitiveValue,version:1,name:g.Boolean,value:!1,parent:bf,autogeneration:null,valueAsType:null},parent:vf},gf={required:!0,id:jt.properties.default,name:"Default",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:4,dataType:pI,description:"If true, this database will be the default database for the server instance and all the new entities.",parent:Br},bn={id:_.RELATIONAL_DATABASE,version:1,description:"This entity provisions a relational database in the cloud.",name:_.RELATIONAL_DATABASE,type:r.BuiltInBaseEntity,abstract:!0,static:!0,interactive:!1,properties:[Ca,Ba,wa,_a,gf],abstractMethods:[],methods:[],extends:[]},If={type:r.GenericReference,entityId:"persisted-built-in-base-entity-ref-id",entityType:r.BuiltInBaseEntity,id:gt.DeletePersistedEntity},ko={type:r.FunctionDeclaration,id:gt.DeletePersistedEntity,name:gt.DeletePersistedEntity,description:"Permanently deletes the current copy of an entity from the database",version:1,parent:If,inputs:[],calls:[],implements:null,collapsed:!1,returnStatements:[],index:0,private:!1,x:0,y:0},Pf={type:r.GenericReference,entityId:"persisted-built-in-base-entity-ref-id",entityType:r.BuiltInBaseEntity,id:gt.SoftDeletePersistedEntity},Df={type:r.FunctionDeclaration,id:gt.SoftDeletePersistedEntity,name:gt.SoftDeletePersistedEntity,description:"Designates the entity as deleted, but does not remove it from the database.",version:1,parent:Pf,inputs:[],calls:[],implements:null,collapsed:!1,returnStatements:[],index:0,private:!1,x:0,y:0},Af=Ve[r.BuiltInBaseEntity][_.PERSISTED_ENTITY].properties,yI={id:"persisted-built-in-base-entity-database-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-database-property-data-type-id",entityType:r.DataType},Sf={id:"persisted-built-in-base-entity-database-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-database-property-id",entityType:r.Property},hI={id:"persisted-built-in-base-entity-database-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:bn,asType:!1,defaultValue:null,parent:Sf},Of={id:"persisted-built-in-base-entity-database-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},Ti={required:!0,id:Af.database,name:"Database",version:1,type:r.Property,private:!1,abstract:!0,implements:null,static:!0,index:0,dataType:hI,description:"The database that the entity belongs to.",parent:Of},Cf={id:"persisted-built-in-base-entity-identifier-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-identifier-property-data-type-id",entityType:r.DataType},Bf={id:"persisted-built-in-base-entity-identifier-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-identifier-property-id",entityType:r.Property},fI={id:"persisted-built-in-base-entity-identifier-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:ma,asType:!1,defaultValue:{id:"persisted-built-in-base-entity-identifier-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.UUID,value:null,parent:Cf,autogeneration:{type:xe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:Bf},wf={id:"persisted-built-in-base-entity-identifier-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},_f={required:!0,id:Af.identifier,name:"Identifier",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:fI,description:"Auto-generated unique identifier for the entity, can be used to identify the entity among other entities of the same type.",parent:wf},mI={id:"persisted-built-in-base-entity-deleted-at-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-deleted-at-property-data-type-id",entityType:r.DataType},Mf={id:"persisted-built-in-base-entity-deleted-at-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-deleted-at-property-id",entityType:r.Property},Nf={id:"persisted-built-in-base-entity-deleted-at-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!0,constant:!1,entity:null,asType:!1,defaultValue:null,parent:Mf},$f={id:"persisted-built-in-base-entity-deleted-at-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},Vf={required:!0,id:"persisted-built-in-base-entity-deleted-at-property-id",name:"Deleted at",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:Nf,description:"The date and time when the entity was deleted.",parent:$f},TI={id:"persisted-built-in-base-entity-created-at-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-created-at-property-data-type-id",entityType:r.DataType},Lf={id:"persisted-built-in-base-entity-created-at-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-created-at-property-id",entityType:r.Property},Gf={id:"persisted-built-in-base-entity-created-at-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:Lf},Ff={id:"persisted-built-in-base-entity-created-at-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},Uf={required:!0,id:"persisted-built-in-base-entity-created-at-property-id",name:"Created at",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:Gf,description:"The date and time when the entity was created.",parent:Ff},EI={id:"persisted-built-in-base-entity-updated-at-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-updated-at-property-data-type-id",entityType:r.DataType},xf={id:"persisted-built-in-base-entity-updated-at-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-updated-at-property-id",entityType:r.Property},jf={id:"persisted-built-in-base-entity-updated-at-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:xf},kf={id:"persisted-built-in-base-entity-updated-at-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},qf={required:!0,id:"persisted-built-in-base-entity-updated-at-property-id",name:"Updated at",version:1,type:r.Property,private:!1,implements:null,abstract:!1,static:!1,index:0,dataType:jf,description:"The date and time when the entity was last updated.",parent:kf},Be={id:_.PERSISTED_ENTITY,version:1,description:"An entity that is permanently stored in the database and can be accessed at any point.",name:_.PERSISTED_ENTITY,type:r.BuiltInBaseEntity,abstract:!0,static:!1,interactive:!0,abstractMethods:[],properties:[Ti,_f,Vf,Uf,qf],methods:[ko,Df],extends:[]},Jf={id:"cron-job-triggered-function-declaration-blueprint-parent-ref-id",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},qo={id:"cron-job-triggered-function-declaration-blueprint-id",name:"Cron job triggered",version:1,type:r.ActionDescriptor,argumentsType:L.None,returnsType:L.None,description:"Executed when the cron job is triggered",fixedArguments:[],dynamicArgumentTypes:null,error:null,fixedReturns:[],dynamicReturnTypes:null,parent:Jf},Wf=Ve[r.BuiltInBaseEntity].BUILT_IN_CRON_JOB_ENTITY,RI={id:"cron-job-built-in-base-entity-expression-property-data-type-ref",type:r.GenericReference,entityId:"cron-job-built-in-base-entity-expression-property-data-type",entityType:r.DataType},Hf={id:"cron-job-built-in-base-entity-expression-property-ref",type:r.GenericReference,entityId:Wf.properties.expression,entityType:r.Property},bI={id:"cron-job-built-in-base-entity-expression-property-data-type",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:Hf},Yf={id:"cron-job-built-in-base-entity-ref",type:r.GenericReference,entityId:_.CRON_JOB,entityType:r.BuiltInBaseEntity},zf={required:!0,id:Wf.properties.expression,name:"Cron expression",version:1,type:r.Property,private:!1,abstract:!0,implements:null,static:!0,index:0,dataType:bI,description:"The cron-job expression that defines when the cron-job job should be triggered. The expression should be in the format of a cron-job expression.",parent:Yf},Jo={id:_.CRON_JOB,version:1,description:"This entity represents a scheduled trigger. The action on this entity will be executed one the time set by the cron-job expression is reached.",name:_.CRON_JOB,type:r.BuiltInBaseEntity,abstract:!0,static:!0,interactive:!1,properties:[zf],methods:[],abstractMethods:[qo],extends:[]},Zf={type:r.GenericReference,id:"execution-built-in-entity-abort-method-parent-ref-id",entityType:r.BuiltInBaseEntity,entityId:"execution-built-in-entity-id"},Wo={id:"execution-built-in-entity-abort-method-id",type:r.FunctionDeclaration,version:1,name:gt.AbortExecution,description:"Aborts the execution of the entity",inputs:[],returnStatements:[],calls:[],implements:null,private:!1,collapsed:!1,index:null,x:0,y:0,parent:Zf},Ho={id:_.EXECUTION,type:r.BuiltInBaseEntity,version:1,name:_.EXECUTION,description:"A reference to an ongoing execution of any entity that can be called. Eg: Operations, custom trigger calls, etc.",static:!1,abstract:!1,interactive:!0,extends:[],properties:[],methods:[Wo],abstractMethods:[]},vI=Ve[r.Condition]["not-empty"],Xf={type:r.GenericReference,id:"not-empty-condition-ref",entityType:r.ActionDescriptor,entityId:Ct.NotEmpty},Qf={id:vI.inputs.leftHand,type:r.ValueDescriptor,version:1,name:"Value",description:"The value to check if it is not empty",dataType:null,required:!0,parentRelationType:C.FixedArguments,index:0,parent:Xf},qn={type:r.ActionDescriptor,id:Ct.NotEmpty,version:1,name:Ct.NotEmpty,description:"Checks if the value is not empty",parent:null,fixedArguments:[Qf],fixedReturns:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:L.Fixed,returnsType:L.None,error:null},Kf={[Ct.NotEmpty]:qn},em=Ve[r.Condition]["more-than-or-equal"],tm={type:r.GenericReference,id:"more-than-or-equal-condition-left-hand-argument-parent-ref",entityType:r.ActionDescriptor,entityId:Ae.MoreThanOrEqual},nm={id:em.inputs.leftHand,type:r.ValueDescriptor,version:1,name:"First value",description:"The first value to compare",dataType:null,required:!0,parentRelationType:C.FixedArguments,index:0,parent:tm},rm={type:r.GenericReference,id:"more-than-or-equal-condition-right-hand-argument-parent-ref",entityType:r.ActionDescriptor,entityId:Ae.MoreThanOrEqual},im={id:em.inputs.rightHand,type:r.ValueDescriptor,version:1,name:"Second value",description:"The second value to compare",dataType:null,required:!0,parentRelationType:C.FixedArguments,index:1,parent:rm},wr={type:r.ActionDescriptor,id:Ae.MoreThanOrEqual,version:1,name:Ae.MoreThanOrEqual,description:"Checks if the value is not empty",parent:null,fixedArguments:[nm,im],fixedReturns:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:L.Fixed,returnsType:L.None,error:null},am={[Ae.MoreThanOrEqual]:wr},gI={...Kf,...am},Ma={type:r.ActionDescriptor,id:Kt.PROJECT_PUBLICATION_COMPLETED,version:1,name:Kt.PROJECT_PUBLICATION_COMPLETED,description:"The event that is triggered when the project has completed its publication and all its code and resurces are now deployed and ready to be used by the users",parent:null,fixedArguments:[],fixedReturns:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:L.None,returnsType:L.None,error:null},II={[Kt.PROJECT_PUBLICATION_COMPLETED]:Ma},Yo=Ve[r.ValueDescriptor][$o.ActionOngoingProcessOutputValue],sm={type:r.GenericReference,id:"182f767f-50e8-4394-ba5f-43e78c232733",entityType:r.ValueDescriptor,entityId:Yo.id},om={id:Yo.dataType.id,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ho,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:sm},zo={id:Yo.id,type:r.ValueDescriptor,description:"A value that represents the ongoing process of the parent action",version:1,name:"Process",dataType:om,required:!0,index:0,parent:null,parentRelationType:C.OngoingProcessExecution};var Y;(function(n){n.assertEqual=a=>a;function e(a){}n.assertIs=e;function t(a){throw new Error}n.assertNever=t,n.arrayToEnum=a=>{const s={};for(const o of a)s[o]=o;return s},n.getValidEnumValues=a=>{const s=n.objectKeys(a).filter(u=>typeof a[a[u]]!="number"),o={};for(const u of s)o[u]=a[u];return n.objectValues(o)},n.objectValues=a=>n.objectKeys(a).map(function(s){return a[s]}),n.objectKeys=typeof Object.keys=="function"?a=>Object.keys(a):a=>{const s=[];for(const o in a)Object.prototype.hasOwnProperty.call(a,o)&&s.push(o);return s},n.find=(a,s)=>{for(const o of a)if(s(o))return o},n.isInteger=typeof Number.isInteger=="function"?a=>Number.isInteger(a):a=>typeof a=="number"&&isFinite(a)&&Math.floor(a)===a;function i(a,s=" | "){return a.map(o=>typeof o=="string"?`'${o}'`:o).join(s)}n.joinValues=i,n.jsonStringifyReplacer=(a,s)=>typeof s=="bigint"?s.toString():s})(Y||(Y={}));var Zo;(function(n){n.mergeShapes=(e,t)=>({...e,...t})})(Zo||(Zo={}));const M=Y.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),vn=n=>{switch(typeof n){case"undefined":return M.undefined;case"string":return M.string;case"number":return isNaN(n)?M.nan:M.number;case"boolean":return M.boolean;case"function":return M.function;case"bigint":return M.bigint;case"symbol":return M.symbol;case"object":return Array.isArray(n)?M.array:n===null?M.null:n.then&&typeof n.then=="function"&&n.catch&&typeof n.catch=="function"?M.promise:typeof Map<"u"&&n instanceof Map?M.map:typeof Set<"u"&&n instanceof Set?M.set:typeof Date<"u"&&n instanceof Date?M.date:M.object;default:return M.unknown}},P=Y.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),PI=n=>JSON.stringify(n,null,2).replace(/"([^"]+)":/g,"$1:");class ft extends Error{constructor(e){super(),this.issues=[],this.addIssue=i=>{this.issues=[...this.issues,i]},this.addIssues=(i=[])=>{this.issues=[...this.issues,...i]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(s){return s.message},i={_errors:[]},a=s=>{for(const o of s.issues)if(o.code==="invalid_union")o.unionErrors.map(a);else if(o.code==="invalid_return_type")a(o.returnTypeError);else if(o.code==="invalid_arguments")a(o.argumentsError);else if(o.path.length===0)i._errors.push(t(o));else{let u=i,p=0;for(;p<o.path.length;){const h=o.path[p];p===o.path.length-1?(u[h]=u[h]||{_errors:[]},u[h]._errors.push(t(o))):u[h]=u[h]||{_errors:[]},u=u[h],p++}}};return a(this),i}static assert(e){if(!(e instanceof ft))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Y.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},i=[];for(const a of this.issues)a.path.length>0?(t[a.path[0]]=t[a.path[0]]||[],t[a.path[0]].push(e(a))):i.push(e(a));return{formErrors:i,fieldErrors:t}}get formErrors(){return this.flatten()}}ft.create=n=>new ft(n);const _r=(n,e)=>{let t;switch(n.code){case P.invalid_type:n.received===M.undefined?t="Required":t=`Expected ${n.expected}, received ${n.received}`;break;case P.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(n.expected,Y.jsonStringifyReplacer)}`;break;case P.unrecognized_keys:t=`Unrecognized key(s) in object: ${Y.joinValues(n.keys,", ")}`;break;case P.invalid_union:t="Invalid input";break;case P.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${Y.joinValues(n.options)}`;break;case P.invalid_enum_value:t=`Invalid enum value. Expected ${Y.joinValues(n.options)}, received '${n.received}'`;break;case P.invalid_arguments:t="Invalid function arguments";break;case P.invalid_return_type:t="Invalid function return type";break;case P.invalid_date:t="Invalid date";break;case P.invalid_string:typeof n.validation=="object"?"includes"in n.validation?(t=`Invalid input: must include "${n.validation.includes}"`,typeof n.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${n.validation.position}`)):"startsWith"in n.validation?t=`Invalid input: must start with "${n.validation.startsWith}"`:"endsWith"in n.validation?t=`Invalid input: must end with "${n.validation.endsWith}"`:Y.assertNever(n.validation):n.validation!=="regex"?t=`Invalid ${n.validation}`:t="Invalid";break;case P.too_small:n.type==="array"?t=`Array must contain ${n.exact?"exactly":n.inclusive?"at least":"more than"} ${n.minimum} element(s)`:n.type==="string"?t=`String must contain ${n.exact?"exactly":n.inclusive?"at least":"over"} ${n.minimum} character(s)`:n.type==="number"?t=`Number must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${n.minimum}`:n.type==="date"?t=`Date must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(n.minimum))}`:t="Invalid input";break;case P.too_big:n.type==="array"?t=`Array must contain ${n.exact?"exactly":n.inclusive?"at most":"less than"} ${n.maximum} element(s)`:n.type==="string"?t=`String must contain ${n.exact?"exactly":n.inclusive?"at most":"under"} ${n.maximum} character(s)`:n.type==="number"?t=`Number must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`:n.type==="bigint"?t=`BigInt must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`:n.type==="date"?t=`Date must be ${n.exact?"exactly":n.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(n.maximum))}`:t="Invalid input";break;case P.custom:t="Invalid input";break;case P.invalid_intersection_types:t="Intersection results could not be merged";break;case P.not_multiple_of:t=`Number must be a multiple of ${n.multipleOf}`;break;case P.not_finite:t="Number must be finite";break;default:t=e.defaultError,Y.assertNever(n)}return{message:t}};let lm=_r;function DI(n){lm=n}function Na(){return lm}const $a=n=>{const{data:e,path:t,errorMaps:i,issueData:a}=n,s=[...t,...a.path||[]],o={...a,path:s};if(a.message!==void 0)return{...a,path:s,message:a.message};let u="";const p=i.filter(h=>!!h).slice().reverse();for(const h of p)u=h(o,{data:e,defaultError:u}).message;return{...a,path:s,message:u}},AI=[];function w(n,e){const t=Na(),i=$a({issueData:e,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,t,t===_r?void 0:_r].filter(a=>!!a)});n.common.issues.push(i)}class Qe{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const i=[];for(const a of t){if(a.status==="aborted")return x;a.status==="dirty"&&e.dirty(),i.push(a.value)}return{status:e.value,value:i}}static async mergeObjectAsync(e,t){const i=[];for(const a of t){const s=await a.key,o=await a.value;i.push({key:s,value:o})}return Qe.mergeObjectSync(e,i)}static mergeObjectSync(e,t){const i={};for(const a of t){const{key:s,value:o}=a;if(s.status==="aborted"||o.status==="aborted")return x;s.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof o.value<"u"||a.alwaysSet)&&(i[s.value]=o.value)}return{status:e.value,value:i}}}const x=Object.freeze({status:"aborted"}),Mr=n=>({status:"dirty",value:n}),lt=n=>({status:"valid",value:n}),Xo=n=>n.status==="aborted",Qo=n=>n.status==="dirty",Ei=n=>n.status==="valid",Ri=n=>typeof Promise<"u"&&n instanceof Promise;function Va(n,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!i:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(n):i?i.value:e.get(n)}function cm(n,e,t,i,a){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!a:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?a.call(n,t):a?a.value=t:e.set(n,t),t}typeof SuppressedError=="function"&&SuppressedError;var V;(function(n){n.errToObj=e=>typeof e=="string"?{message:e}:e||{},n.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(V||(V={}));var bi,vi;class kt{constructor(e,t,i,a){this._cachedPath=[],this.parent=e,this.data=t,this._path=i,this._key=a}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const dm=(n,e)=>{if(Ei(e))return{success:!0,data:e.value};if(!n.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new ft(n.common.issues);return this._error=t,this._error}}};function q(n){if(!n)return{};const{errorMap:e,invalid_type_error:t,required_error:i,description:a}=n;if(e&&(t||i))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:a}:{errorMap:(o,u)=>{var p,h;const{message:m}=n;return o.code==="invalid_enum_value"?{message:m??u.defaultError}:typeof u.data>"u"?{message:(p=m??i)!==null&&p!==void 0?p:u.defaultError}:o.code!=="invalid_type"?{message:u.defaultError}:{message:(h=m??t)!==null&&h!==void 0?h:u.defaultError}},description:a}}class H{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return vn(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:vn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Qe,ctx:{common:e.parent.common,data:e.data,parsedType:vn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(Ri(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const i=this.safeParse(e,t);if(i.success)return i.data;throw i.error}safeParse(e,t){var i;const a={common:{issues:[],async:(i=t==null?void 0:t.async)!==null&&i!==void 0?i:!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:vn(e)},s=this._parseSync({data:e,path:a.path,parent:a});return dm(a,s)}async parseAsync(e,t){const i=await this.safeParseAsync(e,t);if(i.success)return i.data;throw i.error}async safeParseAsync(e,t){const i={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:vn(e)},a=this._parse({data:e,path:i.path,parent:i}),s=await(Ri(a)?a:Promise.resolve(a));return dm(i,s)}refine(e,t){const i=a=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(a):t;return this._refinement((a,s)=>{const o=e(a),u=()=>s.addIssue({code:P.custom,...i(a)});return typeof Promise<"u"&&o instanceof Promise?o.then(p=>p?!0:(u(),!1)):o?!0:(u(),!1)})}refinement(e,t){return this._refinement((i,a)=>e(i)?!0:(a.addIssue(typeof t=="function"?t(i,a):t),!1))}_refinement(e){return new Gt({schema:this,typeName:U.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return Jt.create(this,this._def)}nullable(){return Dn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Lt.create(this,this._def)}promise(){return Lr.create(this,this._def)}or(e){return Di.create([this,e],this._def)}and(e){return Ai.create(this,e,this._def)}transform(e){return new Gt({...q(this._def),schema:this,typeName:U.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new wi({...q(this._def),innerType:this,defaultValue:t,typeName:U.ZodDefault})}brand(){return new tl({typeName:U.ZodBranded,type:this,...q(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new _i({...q(this._def),innerType:this,catchValue:t,typeName:U.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Mi.create(this,e)}readonly(){return Ni.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const SI=/^c[^\s-]{8,}$/i,OI=/^[0-9a-z]+$/,CI=/^[0-9A-HJKMNP-TV-Z]{26}$/,BI=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,wI=/^[a-z0-9_-]{21}$/i,_I=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,MI=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,NI="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Ko;const $I=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,VI=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,LI=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,um="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",GI=new RegExp(`^${um}$`);function pm(n){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return n.precision?e=`${e}\\.\\d{${n.precision}}`:n.precision==null&&(e=`${e}(\\.\\d+)?`),e}function FI(n){return new RegExp(`^${pm(n)}$`)}function ym(n){let e=`${um}T${pm(n)}`;const t=[];return t.push(n.local?"Z?":"Z"),n.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function UI(n,e){return!!((e==="v4"||!e)&&$I.test(n)||(e==="v6"||!e)&&VI.test(n))}class Vt extends H{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==M.string){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_type,expected:M.string,received:s.parsedType}),x}const i=new Qe;let a;for(const s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(a=this._getOrReturnCtx(e,a),w(a,{code:P.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),i.dirty());else if(s.kind==="max")e.data.length>s.value&&(a=this._getOrReturnCtx(e,a),w(a,{code:P.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),i.dirty());else if(s.kind==="length"){const o=e.data.length>s.value,u=e.data.length<s.value;(o||u)&&(a=this._getOrReturnCtx(e,a),o?w(a,{code:P.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):u&&w(a,{code:P.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),i.dirty())}else if(s.kind==="email")MI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"email",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="emoji")Ko||(Ko=new RegExp(NI,"u")),Ko.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"emoji",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="uuid")BI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"uuid",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="nanoid")wI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"nanoid",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="cuid")SI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"cuid",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="cuid2")OI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"cuid2",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="ulid")CI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"ulid",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{a=this._getOrReturnCtx(e,a),w(a,{validation:"url",code:P.invalid_string,message:s.message}),i.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"regex",code:P.invalid_string,message:s.message}),i.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),i.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:{startsWith:s.value},message:s.message}),i.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:{endsWith:s.value},message:s.message}),i.dirty()):s.kind==="datetime"?ym(s).test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:"datetime",message:s.message}),i.dirty()):s.kind==="date"?GI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:"date",message:s.message}),i.dirty()):s.kind==="time"?FI(s).test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:"time",message:s.message}),i.dirty()):s.kind==="duration"?_I.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"duration",code:P.invalid_string,message:s.message}),i.dirty()):s.kind==="ip"?UI(e.data,s.version)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"ip",code:P.invalid_string,message:s.message}),i.dirty()):s.kind==="base64"?LI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"base64",code:P.invalid_string,message:s.message}),i.dirty()):Y.assertNever(s);return{status:i.value,value:e.data}}_regex(e,t,i){return this.refinement(a=>e.test(a),{validation:t,code:P.invalid_string,...V.errToObj(i)})}_addCheck(e){return new Vt({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...V.errToObj(e)})}url(e){return this._addCheck({kind:"url",...V.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...V.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...V.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...V.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...V.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...V.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...V.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...V.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...V.errToObj(e)})}datetime(e){var t,i;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(t=e==null?void 0:e.offset)!==null&&t!==void 0?t:!1,local:(i=e==null?void 0:e.local)!==null&&i!==void 0?i:!1,...V.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...V.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...V.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...V.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...V.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...V.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...V.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...V.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...V.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...V.errToObj(t)})}nonempty(e){return this.min(1,V.errToObj(e))}trim(){return new Vt({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Vt({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Vt({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get minLength(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}Vt.create=n=>{var e;return new Vt({checks:[],typeName:U.ZodString,coerce:(e=n==null?void 0:n.coerce)!==null&&e!==void 0?e:!1,...q(n)})};function xI(n,e){const t=(n.toString().split(".")[1]||"").length,i=(e.toString().split(".")[1]||"").length,a=t>i?t:i,s=parseInt(n.toFixed(a).replace(".","")),o=parseInt(e.toFixed(a).replace(".",""));return s%o/Math.pow(10,a)}class gn extends H{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==M.number){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_type,expected:M.number,received:s.parsedType}),x}let i;const a=new Qe;for(const s of this._def.checks)s.kind==="int"?Y.isInteger(e.data)||(i=this._getOrReturnCtx(e,i),w(i,{code:P.invalid_type,expected:"integer",received:"float",message:s.message}),a.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),a.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),a.dirty()):s.kind==="multipleOf"?xI(e.data,s.value)!==0&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.not_multiple_of,multipleOf:s.value,message:s.message}),a.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(i=this._getOrReturnCtx(e,i),w(i,{code:P.not_finite,message:s.message}),a.dirty()):Y.assertNever(s);return{status:a.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,V.toString(t))}gt(e,t){return this.setLimit("min",e,!1,V.toString(t))}lte(e,t){return this.setLimit("max",e,!0,V.toString(t))}lt(e,t){return this.setLimit("max",e,!1,V.toString(t))}setLimit(e,t,i,a){return new gn({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:i,message:V.toString(a)}]})}_addCheck(e){return new gn({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:V.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:V.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:V.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:V.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:V.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:V.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&Y.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const i of this._def.checks){if(i.kind==="finite"||i.kind==="int"||i.kind==="multipleOf")return!0;i.kind==="min"?(t===null||i.value>t)&&(t=i.value):i.kind==="max"&&(e===null||i.value<e)&&(e=i.value)}return Number.isFinite(t)&&Number.isFinite(e)}}gn.create=n=>new gn({checks:[],typeName:U.ZodNumber,coerce:(n==null?void 0:n.coerce)||!1,...q(n)});class In extends H{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==M.bigint){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_type,expected:M.bigint,received:s.parsedType}),x}let i;const a=new Qe;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),a.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),a.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.not_multiple_of,multipleOf:s.value,message:s.message}),a.dirty()):Y.assertNever(s);return{status:a.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,V.toString(t))}gt(e,t){return this.setLimit("min",e,!1,V.toString(t))}lte(e,t){return this.setLimit("max",e,!0,V.toString(t))}lt(e,t){return this.setLimit("max",e,!1,V.toString(t))}setLimit(e,t,i,a){return new In({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:i,message:V.toString(a)}]})}_addCheck(e){return new In({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:V.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:V.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}In.create=n=>{var e;return new In({checks:[],typeName:U.ZodBigInt,coerce:(e=n==null?void 0:n.coerce)!==null&&e!==void 0?e:!1,...q(n)})};class gi extends H{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==M.boolean){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.boolean,received:i.parsedType}),x}return lt(e.data)}}gi.create=n=>new gi({typeName:U.ZodBoolean,coerce:(n==null?void 0:n.coerce)||!1,...q(n)});class Jn extends H{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==M.date){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_type,expected:M.date,received:s.parsedType}),x}if(isNaN(e.data.getTime())){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_date}),x}const i=new Qe;let a;for(const s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(a=this._getOrReturnCtx(e,a),w(a,{code:P.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),i.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(a=this._getOrReturnCtx(e,a),w(a,{code:P.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),i.dirty()):Y.assertNever(s);return{status:i.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Jn({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:V.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:V.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}}Jn.create=n=>new Jn({checks:[],coerce:(n==null?void 0:n.coerce)||!1,typeName:U.ZodDate,...q(n)});class La extends H{_parse(e){if(this._getType(e)!==M.symbol){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.symbol,received:i.parsedType}),x}return lt(e.data)}}La.create=n=>new La({typeName:U.ZodSymbol,...q(n)});class Ii extends H{_parse(e){if(this._getType(e)!==M.undefined){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.undefined,received:i.parsedType}),x}return lt(e.data)}}Ii.create=n=>new Ii({typeName:U.ZodUndefined,...q(n)});class Pi extends H{_parse(e){if(this._getType(e)!==M.null){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.null,received:i.parsedType}),x}return lt(e.data)}}Pi.create=n=>new Pi({typeName:U.ZodNull,...q(n)});class Nr extends H{constructor(){super(...arguments),this._any=!0}_parse(e){return lt(e.data)}}Nr.create=n=>new Nr({typeName:U.ZodAny,...q(n)});class Wn extends H{constructor(){super(...arguments),this._unknown=!0}_parse(e){return lt(e.data)}}Wn.create=n=>new Wn({typeName:U.ZodUnknown,...q(n)});class nn extends H{_parse(e){const t=this._getOrReturnCtx(e);return w(t,{code:P.invalid_type,expected:M.never,received:t.parsedType}),x}}nn.create=n=>new nn({typeName:U.ZodNever,...q(n)});class Ga extends H{_parse(e){if(this._getType(e)!==M.undefined){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.void,received:i.parsedType}),x}return lt(e.data)}}Ga.create=n=>new Ga({typeName:U.ZodVoid,...q(n)});class Lt extends H{_parse(e){const{ctx:t,status:i}=this._processInputParams(e),a=this._def;if(t.parsedType!==M.array)return w(t,{code:P.invalid_type,expected:M.array,received:t.parsedType}),x;if(a.exactLength!==null){const o=t.data.length>a.exactLength.value,u=t.data.length<a.exactLength.value;(o||u)&&(w(t,{code:o?P.too_big:P.too_small,minimum:u?a.exactLength.value:void 0,maximum:o?a.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:a.exactLength.message}),i.dirty())}if(a.minLength!==null&&t.data.length<a.minLength.value&&(w(t,{code:P.too_small,minimum:a.minLength.value,type:"array",inclusive:!0,exact:!1,message:a.minLength.message}),i.dirty()),a.maxLength!==null&&t.data.length>a.maxLength.value&&(w(t,{code:P.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),i.dirty()),t.common.async)return Promise.all([...t.data].map((o,u)=>a.type._parseAsync(new kt(t,o,t.path,u)))).then(o=>Qe.mergeArray(i,o));const s=[...t.data].map((o,u)=>a.type._parseSync(new kt(t,o,t.path,u)));return Qe.mergeArray(i,s)}get element(){return this._def.type}min(e,t){return new Lt({...this._def,minLength:{value:e,message:V.toString(t)}})}max(e,t){return new Lt({...this._def,maxLength:{value:e,message:V.toString(t)}})}length(e,t){return new Lt({...this._def,exactLength:{value:e,message:V.toString(t)}})}nonempty(e){return this.min(1,e)}}Lt.create=(n,e)=>new Lt({type:n,minLength:null,maxLength:null,exactLength:null,typeName:U.ZodArray,...q(e)});function $r(n){if(n instanceof we){const e={};for(const t in n.shape){const i=n.shape[t];e[t]=Jt.create($r(i))}return new we({...n._def,shape:()=>e})}else return n instanceof Lt?new Lt({...n._def,type:$r(n.element)}):n instanceof Jt?Jt.create($r(n.unwrap())):n instanceof Dn?Dn.create($r(n.unwrap())):n instanceof qt?qt.create(n.items.map(e=>$r(e))):n}class we extends H{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=Y.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==M.object){const h=this._getOrReturnCtx(e);return w(h,{code:P.invalid_type,expected:M.object,received:h.parsedType}),x}const{status:i,ctx:a}=this._processInputParams(e),{shape:s,keys:o}=this._getCached(),u=[];if(!(this._def.catchall instanceof nn&&this._def.unknownKeys==="strip"))for(const h in a.data)o.includes(h)||u.push(h);const p=[];for(const h of o){const m=s[h],T=a.data[h];p.push({key:{status:"valid",value:h},value:m._parse(new kt(a,T,a.path,h)),alwaysSet:h in a.data})}if(this._def.catchall instanceof nn){const h=this._def.unknownKeys;if(h==="passthrough")for(const m of u)p.push({key:{status:"valid",value:m},value:{status:"valid",value:a.data[m]}});else if(h==="strict")u.length>0&&(w(a,{code:P.unrecognized_keys,keys:u}),i.dirty());else if(h!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const h=this._def.catchall;for(const m of u){const T=a.data[m];p.push({key:{status:"valid",value:m},value:h._parse(new kt(a,T,a.path,m)),alwaysSet:m in a.data})}}return a.common.async?Promise.resolve().then(async()=>{const h=[];for(const m of p){const T=await m.key,b=await m.value;h.push({key:T,value:b,alwaysSet:m.alwaysSet})}return h}).then(h=>Qe.mergeObjectSync(i,h)):Qe.mergeObjectSync(i,p)}get shape(){return this._def.shape()}strict(e){return V.errToObj,new we({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,i)=>{var a,s,o,u;const p=(o=(s=(a=this._def).errorMap)===null||s===void 0?void 0:s.call(a,t,i).message)!==null&&o!==void 0?o:i.defaultError;return t.code==="unrecognized_keys"?{message:(u=V.errToObj(e).message)!==null&&u!==void 0?u:p}:{message:p}}}:{}})}strip(){return new we({...this._def,unknownKeys:"strip"})}passthrough(){return new we({...this._def,unknownKeys:"passthrough"})}extend(e){return new we({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new we({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:U.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new we({...this._def,catchall:e})}pick(e){const t={};return Y.objectKeys(e).forEach(i=>{e[i]&&this.shape[i]&&(t[i]=this.shape[i])}),new we({...this._def,shape:()=>t})}omit(e){const t={};return Y.objectKeys(this.shape).forEach(i=>{e[i]||(t[i]=this.shape[i])}),new we({...this._def,shape:()=>t})}deepPartial(){return $r(this)}partial(e){const t={};return Y.objectKeys(this.shape).forEach(i=>{const a=this.shape[i];e&&!e[i]?t[i]=a:t[i]=a.optional()}),new we({...this._def,shape:()=>t})}required(e){const t={};return Y.objectKeys(this.shape).forEach(i=>{if(e&&!e[i])t[i]=this.shape[i];else{let s=this.shape[i];for(;s instanceof Jt;)s=s._def.innerType;t[i]=s}}),new we({...this._def,shape:()=>t})}keyof(){return hm(Y.objectKeys(this.shape))}}we.create=(n,e)=>new we({shape:()=>n,unknownKeys:"strip",catchall:nn.create(),typeName:U.ZodObject,...q(e)}),we.strictCreate=(n,e)=>new we({shape:()=>n,unknownKeys:"strict",catchall:nn.create(),typeName:U.ZodObject,...q(e)}),we.lazycreate=(n,e)=>new we({shape:n,unknownKeys:"strip",catchall:nn.create(),typeName:U.ZodObject,...q(e)});class Di extends H{_parse(e){const{ctx:t}=this._processInputParams(e),i=this._def.options;function a(s){for(const u of s)if(u.result.status==="valid")return u.result;for(const u of s)if(u.result.status==="dirty")return t.common.issues.push(...u.ctx.common.issues),u.result;const o=s.map(u=>new ft(u.ctx.common.issues));return w(t,{code:P.invalid_union,unionErrors:o}),x}if(t.common.async)return Promise.all(i.map(async s=>{const o={...t,common:{...t.common,issues:[]},parent:null};return{result:await s._parseAsync({data:t.data,path:t.path,parent:o}),ctx:o}})).then(a);{let s;const o=[];for(const p of i){const h={...t,common:{...t.common,issues:[]},parent:null},m=p._parseSync({data:t.data,path:t.path,parent:h});if(m.status==="valid")return m;m.status==="dirty"&&!s&&(s={result:m,ctx:h}),h.common.issues.length&&o.push(h.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;const u=o.map(p=>new ft(p));return w(t,{code:P.invalid_union,unionErrors:u}),x}}get options(){return this._def.options}}Di.create=(n,e)=>new Di({options:n,typeName:U.ZodUnion,...q(e)});const rn=n=>n instanceof Oi?rn(n.schema):n instanceof Gt?rn(n.innerType()):n instanceof Ci?[n.value]:n instanceof Pn?n.options:n instanceof Bi?Y.objectValues(n.enum):n instanceof wi?rn(n._def.innerType):n instanceof Ii?[void 0]:n instanceof Pi?[null]:n instanceof Jt?[void 0,...rn(n.unwrap())]:n instanceof Dn?[null,...rn(n.unwrap())]:n instanceof tl||n instanceof Ni?rn(n.unwrap()):n instanceof _i?rn(n._def.innerType):[];class Fa extends H{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==M.object)return w(t,{code:P.invalid_type,expected:M.object,received:t.parsedType}),x;const i=this.discriminator,a=t.data[i],s=this.optionsMap.get(a);return s?t.common.async?s._parseAsync({data:t.data,path:t.path,parent:t}):s._parseSync({data:t.data,path:t.path,parent:t}):(w(t,{code:P.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[i]}),x)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,i){const a=new Map;for(const s of t){const o=rn(s.shape[e]);if(!o.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const u of o){if(a.has(u))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(u)}`);a.set(u,s)}}return new Fa({typeName:U.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:a,...q(i)})}}function el(n,e){const t=vn(n),i=vn(e);if(n===e)return{valid:!0,data:n};if(t===M.object&&i===M.object){const a=Y.objectKeys(e),s=Y.objectKeys(n).filter(u=>a.indexOf(u)!==-1),o={...n,...e};for(const u of s){const p=el(n[u],e[u]);if(!p.valid)return{valid:!1};o[u]=p.data}return{valid:!0,data:o}}else if(t===M.array&&i===M.array){if(n.length!==e.length)return{valid:!1};const a=[];for(let s=0;s<n.length;s++){const o=n[s],u=e[s],p=el(o,u);if(!p.valid)return{valid:!1};a.push(p.data)}return{valid:!0,data:a}}else return t===M.date&&i===M.date&&+n==+e?{valid:!0,data:n}:{valid:!1}}class Ai extends H{_parse(e){const{status:t,ctx:i}=this._processInputParams(e),a=(s,o)=>{if(Xo(s)||Xo(o))return x;const u=el(s.value,o.value);return u.valid?((Qo(s)||Qo(o))&&t.dirty(),{status:t.value,value:u.data}):(w(i,{code:P.invalid_intersection_types}),x)};return i.common.async?Promise.all([this._def.left._parseAsync({data:i.data,path:i.path,parent:i}),this._def.right._parseAsync({data:i.data,path:i.path,parent:i})]).then(([s,o])=>a(s,o)):a(this._def.left._parseSync({data:i.data,path:i.path,parent:i}),this._def.right._parseSync({data:i.data,path:i.path,parent:i}))}}Ai.create=(n,e,t)=>new Ai({left:n,right:e,typeName:U.ZodIntersection,...q(t)});class qt extends H{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==M.array)return w(i,{code:P.invalid_type,expected:M.array,received:i.parsedType}),x;if(i.data.length<this._def.items.length)return w(i,{code:P.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),x;!this._def.rest&&i.data.length>this._def.items.length&&(w(i,{code:P.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const s=[...i.data].map((o,u)=>{const p=this._def.items[u]||this._def.rest;return p?p._parse(new kt(i,o,i.path,u)):null}).filter(o=>!!o);return i.common.async?Promise.all(s).then(o=>Qe.mergeArray(t,o)):Qe.mergeArray(t,s)}get items(){return this._def.items}rest(e){return new qt({...this._def,rest:e})}}qt.create=(n,e)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new qt({items:n,typeName:U.ZodTuple,rest:null,...q(e)})};class Si extends H{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==M.object)return w(i,{code:P.invalid_type,expected:M.object,received:i.parsedType}),x;const a=[],s=this._def.keyType,o=this._def.valueType;for(const u in i.data)a.push({key:s._parse(new kt(i,u,i.path,u)),value:o._parse(new kt(i,i.data[u],i.path,u)),alwaysSet:u in i.data});return i.common.async?Qe.mergeObjectAsync(t,a):Qe.mergeObjectSync(t,a)}get element(){return this._def.valueType}static create(e,t,i){return t instanceof H?new Si({keyType:e,valueType:t,typeName:U.ZodRecord,...q(i)}):new Si({keyType:Vt.create(),valueType:e,typeName:U.ZodRecord,...q(t)})}}class Ua extends H{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==M.map)return w(i,{code:P.invalid_type,expected:M.map,received:i.parsedType}),x;const a=this._def.keyType,s=this._def.valueType,o=[...i.data.entries()].map(([u,p],h)=>({key:a._parse(new kt(i,u,i.path,[h,"key"])),value:s._parse(new kt(i,p,i.path,[h,"value"]))}));if(i.common.async){const u=new Map;return Promise.resolve().then(async()=>{for(const p of o){const h=await p.key,m=await p.value;if(h.status==="aborted"||m.status==="aborted")return x;(h.status==="dirty"||m.status==="dirty")&&t.dirty(),u.set(h.value,m.value)}return{status:t.value,value:u}})}else{const u=new Map;for(const p of o){const h=p.key,m=p.value;if(h.status==="aborted"||m.status==="aborted")return x;(h.status==="dirty"||m.status==="dirty")&&t.dirty(),u.set(h.value,m.value)}return{status:t.value,value:u}}}}Ua.create=(n,e,t)=>new Ua({valueType:e,keyType:n,typeName:U.ZodMap,...q(t)});class Hn extends H{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==M.set)return w(i,{code:P.invalid_type,expected:M.set,received:i.parsedType}),x;const a=this._def;a.minSize!==null&&i.data.size<a.minSize.value&&(w(i,{code:P.too_small,minimum:a.minSize.value,type:"set",inclusive:!0,exact:!1,message:a.minSize.message}),t.dirty()),a.maxSize!==null&&i.data.size>a.maxSize.value&&(w(i,{code:P.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),t.dirty());const s=this._def.valueType;function o(p){const h=new Set;for(const m of p){if(m.status==="aborted")return x;m.status==="dirty"&&t.dirty(),h.add(m.value)}return{status:t.value,value:h}}const u=[...i.data.values()].map((p,h)=>s._parse(new kt(i,p,i.path,h)));return i.common.async?Promise.all(u).then(p=>o(p)):o(u)}min(e,t){return new Hn({...this._def,minSize:{value:e,message:V.toString(t)}})}max(e,t){return new Hn({...this._def,maxSize:{value:e,message:V.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Hn.create=(n,e)=>new Hn({valueType:n,minSize:null,maxSize:null,typeName:U.ZodSet,...q(e)});class Vr extends H{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==M.function)return w(t,{code:P.invalid_type,expected:M.function,received:t.parsedType}),x;function i(u,p){return $a({data:u,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Na(),_r].filter(h=>!!h),issueData:{code:P.invalid_arguments,argumentsError:p}})}function a(u,p){return $a({data:u,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Na(),_r].filter(h=>!!h),issueData:{code:P.invalid_return_type,returnTypeError:p}})}const s={errorMap:t.common.contextualErrorMap},o=t.data;if(this._def.returns instanceof Lr){const u=this;return lt(async function(...p){const h=new ft([]),m=await u._def.args.parseAsync(p,s).catch(I=>{throw h.addIssue(i(p,I)),h}),T=await Reflect.apply(o,this,m);return await u._def.returns._def.type.parseAsync(T,s).catch(I=>{throw h.addIssue(a(T,I)),h})})}else{const u=this;return lt(function(...p){const h=u._def.args.safeParse(p,s);if(!h.success)throw new ft([i(p,h.error)]);const m=Reflect.apply(o,this,h.data),T=u._def.returns.safeParse(m,s);if(!T.success)throw new ft([a(m,T.error)]);return T.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new Vr({...this._def,args:qt.create(e).rest(Wn.create())})}returns(e){return new Vr({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,i){return new Vr({args:e||qt.create([]).rest(Wn.create()),returns:t||Wn.create(),typeName:U.ZodFunction,...q(i)})}}class Oi extends H{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}Oi.create=(n,e)=>new Oi({getter:n,typeName:U.ZodLazy,...q(e)});class Ci extends H{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return w(t,{received:t.data,code:P.invalid_literal,expected:this._def.value}),x}return{status:"valid",value:e.data}}get value(){return this._def.value}}Ci.create=(n,e)=>new Ci({value:n,typeName:U.ZodLiteral,...q(e)});function hm(n,e){return new Pn({values:n,typeName:U.ZodEnum,...q(e)})}class Pn extends H{constructor(){super(...arguments),bi.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),i=this._def.values;return w(t,{expected:Y.joinValues(i),received:t.parsedType,code:P.invalid_type}),x}if(Va(this,bi,"f")||cm(this,bi,new Set(this._def.values),"f"),!Va(this,bi,"f").has(e.data)){const t=this._getOrReturnCtx(e),i=this._def.values;return w(t,{received:t.data,code:P.invalid_enum_value,options:i}),x}return lt(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return Pn.create(e,{...this._def,...t})}exclude(e,t=this._def){return Pn.create(this.options.filter(i=>!e.includes(i)),{...this._def,...t})}}bi=new WeakMap,Pn.create=hm;class Bi extends H{constructor(){super(...arguments),vi.set(this,void 0)}_parse(e){const t=Y.getValidEnumValues(this._def.values),i=this._getOrReturnCtx(e);if(i.parsedType!==M.string&&i.parsedType!==M.number){const a=Y.objectValues(t);return w(i,{expected:Y.joinValues(a),received:i.parsedType,code:P.invalid_type}),x}if(Va(this,vi,"f")||cm(this,vi,new Set(Y.getValidEnumValues(this._def.values)),"f"),!Va(this,vi,"f").has(e.data)){const a=Y.objectValues(t);return w(i,{received:i.data,code:P.invalid_enum_value,options:a}),x}return lt(e.data)}get enum(){return this._def.values}}vi=new WeakMap,Bi.create=(n,e)=>new Bi({values:n,typeName:U.ZodNativeEnum,...q(e)});class Lr extends H{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==M.promise&&t.common.async===!1)return w(t,{code:P.invalid_type,expected:M.promise,received:t.parsedType}),x;const i=t.parsedType===M.promise?t.data:Promise.resolve(t.data);return lt(i.then(a=>this._def.type.parseAsync(a,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Lr.create=(n,e)=>new Lr({type:n,typeName:U.ZodPromise,...q(e)});class Gt extends H{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===U.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:i}=this._processInputParams(e),a=this._def.effect||null,s={addIssue:o=>{w(i,o),o.fatal?t.abort():t.dirty()},get path(){return i.path}};if(s.addIssue=s.addIssue.bind(s),a.type==="preprocess"){const o=a.transform(i.data,s);if(i.common.async)return Promise.resolve(o).then(async u=>{if(t.value==="aborted")return x;const p=await this._def.schema._parseAsync({data:u,path:i.path,parent:i});return p.status==="aborted"?x:p.status==="dirty"||t.value==="dirty"?Mr(p.value):p});{if(t.value==="aborted")return x;const u=this._def.schema._parseSync({data:o,path:i.path,parent:i});return u.status==="aborted"?x:u.status==="dirty"||t.value==="dirty"?Mr(u.value):u}}if(a.type==="refinement"){const o=u=>{const p=a.refinement(u,s);if(i.common.async)return Promise.resolve(p);if(p instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return u};if(i.common.async===!1){const u=this._def.schema._parseSync({data:i.data,path:i.path,parent:i});return u.status==="aborted"?x:(u.status==="dirty"&&t.dirty(),o(u.value),{status:t.value,value:u.value})}else return this._def.schema._parseAsync({data:i.data,path:i.path,parent:i}).then(u=>u.status==="aborted"?x:(u.status==="dirty"&&t.dirty(),o(u.value).then(()=>({status:t.value,value:u.value}))))}if(a.type==="transform")if(i.common.async===!1){const o=this._def.schema._parseSync({data:i.data,path:i.path,parent:i});if(!Ei(o))return o;const u=a.transform(o.value,s);if(u instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:u}}else return this._def.schema._parseAsync({data:i.data,path:i.path,parent:i}).then(o=>Ei(o)?Promise.resolve(a.transform(o.value,s)).then(u=>({status:t.value,value:u})):o);Y.assertNever(a)}}Gt.create=(n,e,t)=>new Gt({schema:n,typeName:U.ZodEffects,effect:e,...q(t)}),Gt.createWithPreprocess=(n,e,t)=>new Gt({schema:e,effect:{type:"preprocess",transform:n},typeName:U.ZodEffects,...q(t)});class Jt extends H{_parse(e){return this._getType(e)===M.undefined?lt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Jt.create=(n,e)=>new Jt({innerType:n,typeName:U.ZodOptional,...q(e)});class Dn extends H{_parse(e){return this._getType(e)===M.null?lt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Dn.create=(n,e)=>new Dn({innerType:n,typeName:U.ZodNullable,...q(e)});class wi extends H{_parse(e){const{ctx:t}=this._processInputParams(e);let i=t.data;return t.parsedType===M.undefined&&(i=this._def.defaultValue()),this._def.innerType._parse({data:i,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}wi.create=(n,e)=>new wi({innerType:n,typeName:U.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...q(e)});class _i extends H{_parse(e){const{ctx:t}=this._processInputParams(e),i={...t,common:{...t.common,issues:[]}},a=this._def.innerType._parse({data:i.data,path:i.path,parent:{...i}});return Ri(a)?a.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ft(i.common.issues)},input:i.data})})):{status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new ft(i.common.issues)},input:i.data})}}removeCatch(){return this._def.innerType}}_i.create=(n,e)=>new _i({innerType:n,typeName:U.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...q(e)});class xa extends H{_parse(e){if(this._getType(e)!==M.nan){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.nan,received:i.parsedType}),x}return{status:"valid",value:e.data}}}xa.create=n=>new xa({typeName:U.ZodNaN,...q(n)});const jI=Symbol("zod_brand");class tl extends H{_parse(e){const{ctx:t}=this._processInputParams(e),i=t.data;return this._def.type._parse({data:i,path:t.path,parent:t})}unwrap(){return this._def.type}}class Mi extends H{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:i.data,path:i.path,parent:i});return s.status==="aborted"?x:s.status==="dirty"?(t.dirty(),Mr(s.value)):this._def.out._parseAsync({data:s.value,path:i.path,parent:i})})();{const a=this._def.in._parseSync({data:i.data,path:i.path,parent:i});return a.status==="aborted"?x:a.status==="dirty"?(t.dirty(),{status:"dirty",value:a.value}):this._def.out._parseSync({data:a.value,path:i.path,parent:i})}}static create(e,t){return new Mi({in:e,out:t,typeName:U.ZodPipeline})}}class Ni extends H{_parse(e){const t=this._def.innerType._parse(e),i=a=>(Ei(a)&&(a.value=Object.freeze(a.value)),a);return Ri(t)?t.then(a=>i(a)):i(t)}unwrap(){return this._def.innerType}}Ni.create=(n,e)=>new Ni({innerType:n,typeName:U.ZodReadonly,...q(e)});function fm(n,e={},t){return n?Nr.create().superRefine((i,a)=>{var s,o;if(!n(i)){const u=typeof e=="function"?e(i):typeof e=="string"?{message:e}:e,p=(o=(s=u.fatal)!==null&&s!==void 0?s:t)!==null&&o!==void 0?o:!0,h=typeof u=="string"?{message:u}:u;a.addIssue({code:"custom",...h,fatal:p})}}):Nr.create()}const kI={object:we.lazycreate};var U;(function(n){n.ZodString="ZodString",n.ZodNumber="ZodNumber",n.ZodNaN="ZodNaN",n.ZodBigInt="ZodBigInt",n.ZodBoolean="ZodBoolean",n.ZodDate="ZodDate",n.ZodSymbol="ZodSymbol",n.ZodUndefined="ZodUndefined",n.ZodNull="ZodNull",n.ZodAny="ZodAny",n.ZodUnknown="ZodUnknown",n.ZodNever="ZodNever",n.ZodVoid="ZodVoid",n.ZodArray="ZodArray",n.ZodObject="ZodObject",n.ZodUnion="ZodUnion",n.ZodDiscriminatedUnion="ZodDiscriminatedUnion",n.ZodIntersection="ZodIntersection",n.ZodTuple="ZodTuple",n.ZodRecord="ZodRecord",n.ZodMap="ZodMap",n.ZodSet="ZodSet",n.ZodFunction="ZodFunction",n.ZodLazy="ZodLazy",n.ZodLiteral="ZodLiteral",n.ZodEnum="ZodEnum",n.ZodEffects="ZodEffects",n.ZodNativeEnum="ZodNativeEnum",n.ZodOptional="ZodOptional",n.ZodNullable="ZodNullable",n.ZodDefault="ZodDefault",n.ZodCatch="ZodCatch",n.ZodPromise="ZodPromise",n.ZodBranded="ZodBranded",n.ZodPipeline="ZodPipeline",n.ZodReadonly="ZodReadonly"})(U||(U={}));const qI=(n,e={message:`Input not instance of ${n.name}`})=>fm(t=>t instanceof n,e),ja=Vt.create,nl=gn.create,JI=xa.create,WI=In.create,rl=gi.create,mm=Jn.create,HI=La.create,YI=Ii.create,Tm=Pi.create,zI=Nr.create,ka=Wn.create,ZI=nn.create,XI=Ga.create,QI=Lt.create,Em=we.create,KI=we.strictCreate,eP=Di.create,tP=Fa.create,nP=Ai.create,rP=qt.create,Rm=Si.create,iP=Ua.create,aP=Hn.create,sP=Vr.create,oP=Oi.create,lP=Ci.create,bm=Pn.create,cP=Bi.create,dP=Lr.create,vm=Gt.create,uP=Jt.create,pP=Dn.create,yP=Gt.createWithPreprocess,hP=Mi.create;var c=Object.freeze({__proto__:null,defaultErrorMap:_r,setErrorMap:DI,getErrorMap:Na,makeIssue:$a,EMPTY_PATH:AI,addIssueToContext:w,ParseStatus:Qe,INVALID:x,DIRTY:Mr,OK:lt,isAborted:Xo,isDirty:Qo,isValid:Ei,isAsync:Ri,get util(){return Y},get objectUtil(){return Zo},ZodParsedType:M,getParsedType:vn,ZodType:H,datetimeRegex:ym,ZodString:Vt,ZodNumber:gn,ZodBigInt:In,ZodBoolean:gi,ZodDate:Jn,ZodSymbol:La,ZodUndefined:Ii,ZodNull:Pi,ZodAny:Nr,ZodUnknown:Wn,ZodNever:nn,ZodVoid:Ga,ZodArray:Lt,ZodObject:we,ZodUnion:Di,ZodDiscriminatedUnion:Fa,ZodIntersection:Ai,ZodTuple:qt,ZodRecord:Si,ZodMap:Ua,ZodSet:Hn,ZodFunction:Vr,ZodLazy:Oi,ZodLiteral:Ci,ZodEnum:Pn,ZodNativeEnum:Bi,ZodPromise:Lr,ZodEffects:Gt,ZodTransformer:Gt,ZodOptional:Jt,ZodNullable:Dn,ZodDefault:wi,ZodCatch:_i,ZodNaN:xa,BRAND:jI,ZodBranded:tl,ZodPipeline:Mi,ZodReadonly:Ni,custom:fm,Schema:H,ZodSchema:H,late:kI,get ZodFirstPartyTypeKind(){return U},coerce:{string:n=>Vt.create({...n,coerce:!0}),number:n=>gn.create({...n,coerce:!0}),boolean:n=>gi.create({...n,coerce:!0}),bigint:n=>In.create({...n,coerce:!0}),date:n=>Jn.create({...n,coerce:!0})},any:zI,array:QI,bigint:WI,boolean:rl,date:mm,discriminatedUnion:tP,effect:vm,enum:bm,function:sP,instanceof:qI,intersection:nP,lazy:oP,literal:lP,map:iP,nan:JI,nativeEnum:cP,never:ZI,null:Tm,nullable:pP,number:nl,object:Em,oboolean:()=>rl().optional(),onumber:()=>nl().optional(),optional:uP,ostring:()=>ja().optional(),pipeline:hP,preprocess:yP,promise:dP,record:Rm,set:aP,strictObject:KI,string:ja,symbol:HI,transformer:vm,tuple:rP,undefined:YI,union:eP,unknown:ka,void:XI,NEVER:x,ZodIssueCode:P,quotelessJson:PI,ZodError:ft});function gm(n){var a,s,o;if(!(n!=null&&n.dataType))return ka();const e=n.dataType.isNullable||!1,t=n.dataType.isList||!1;let i=ka();if(((a=n.dataType.entity)==null?void 0:a.type)===r.PrimitiveEntity)switch(n.dataType.entity.name){case g.String:i=ja();break;case g.JSON:i=Rm(ka());break;case g.Number:i=nl();break;case g.Boolean:i=rl();break;case g.Date:i=mm();break;case g.Enum:{const u=n.dataType.options||[];if(u.length===0)throw new Error(`Enum property ${n.name} has no options`);i=bm(u);break}case g.Null:i=Tm();break;case g.UUID:i=ja().uuid();break}else if(((s=n.dataType.entity)==null?void 0:s.type)===r.CustomEntity)i=Im(n.dataType.entity);else throw new Error(`Unsupported data type validation: ${(o=n.dataType.entity)==null?void 0:o.type}`);return e&&(i=i.nullable()),t&&(i=i.array()),i}function Im(n){const e=Em({});for(const t of n.properties){const i=gm(t);e.shape[t.name]=i}return e}function Pm(n){const e=n.rangeStart;return new Date(e.getTime()+Math.random()*(Date.now()-e.getTime()))}function Dm(n){const e=n.rangeEnd;return new Date(Math.random()*e.getTime())}function Am(n){const e=n.rangeStart,t=n.rangeEnd;return new Date(e.getTime()+Math.random()*(t.getTime()-e.getTime()))}function Sm(n){return n.rangeStart&&n.rangeEnd?Am(n):n.rangeStart?Pm(n):n.rangeEnd?Dm(n):new Date}function fP(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Om={},qa={},Ja={};Object.defineProperty(Ja,"__esModule",{value:!0}),Ja.default=TP;let Wa;const mP=new Uint8Array(16);function TP(){if(!Wa&&(Wa=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Wa))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Wa(mP)}var An={},Yn={},Ha={};Object.defineProperty(Ha,"__esModule",{value:!0}),Ha.default=void 0;var EP=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;Ha.default=EP,Object.defineProperty(Yn,"__esModule",{value:!0}),Yn.default=void 0;var RP=bP(Ha);function bP(n){return n&&n.__esModule?n:{default:n}}function vP(n){return typeof n=="string"&&RP.default.test(n)}var gP=vP;Yn.default=gP,Object.defineProperty(An,"__esModule",{value:!0}),An.default=void 0,An.unsafeStringify=Cm;var IP=PP(Yn);function PP(n){return n&&n.__esModule?n:{default:n}}const ze=[];for(let n=0;n<256;++n)ze.push((n+256).toString(16).slice(1));function Cm(n,e=0){return ze[n[e+0]]+ze[n[e+1]]+ze[n[e+2]]+ze[n[e+3]]+"-"+ze[n[e+4]]+ze[n[e+5]]+"-"+ze[n[e+6]]+ze[n[e+7]]+"-"+ze[n[e+8]]+ze[n[e+9]]+"-"+ze[n[e+10]]+ze[n[e+11]]+ze[n[e+12]]+ze[n[e+13]]+ze[n[e+14]]+ze[n[e+15]]}function DP(n,e=0){const t=Cm(n,e);if(!(0,IP.default)(t))throw TypeError("Stringified UUID is invalid");return t}var AP=DP;An.default=AP,Object.defineProperty(qa,"__esModule",{value:!0}),qa.default=void 0;var SP=CP(Ja),OP=An;function CP(n){return n&&n.__esModule?n:{default:n}}let Bm,il,al=0,sl=0;function BP(n,e,t){let i=e&&t||0;const a=e||new Array(16);n=n||{};let s=n.node||Bm,o=n.clockseq!==void 0?n.clockseq:il;if(s==null||o==null){const b=n.random||(n.rng||SP.default)();s==null&&(s=Bm=[b[0]|1,b[1],b[2],b[3],b[4],b[5]]),o==null&&(o=il=(b[6]<<8|b[7])&16383)}let u=n.msecs!==void 0?n.msecs:Date.now(),p=n.nsecs!==void 0?n.nsecs:sl+1;const h=u-al+(p-sl)/1e4;if(h<0&&n.clockseq===void 0&&(o=o+1&16383),(h<0||u>al)&&n.nsecs===void 0&&(p=0),p>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");al=u,sl=p,il=o,u+=122192928e5;const m=((u&268435455)*1e4+p)%4294967296;a[i++]=m>>>24&255,a[i++]=m>>>16&255,a[i++]=m>>>8&255,a[i++]=m&255;const T=u/4294967296*1e4&268435455;a[i++]=T>>>8&255,a[i++]=T&255,a[i++]=T>>>24&15|16,a[i++]=T>>>16&255,a[i++]=o>>>8|128,a[i++]=o&255;for(let b=0;b<6;++b)a[i+b]=s[b];return e||(0,OP.unsafeStringify)(a)}var wP=BP;qa.default=wP;var Ya={},Sn={},$i={};Object.defineProperty($i,"__esModule",{value:!0}),$i.default=void 0;var _P=MP(Yn);function MP(n){return n&&n.__esModule?n:{default:n}}function NP(n){if(!(0,_P.default)(n))throw TypeError("Invalid UUID");let e;const t=new Uint8Array(16);return t[0]=(e=parseInt(n.slice(0,8),16))>>>24,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=e&255,t[4]=(e=parseInt(n.slice(9,13),16))>>>8,t[5]=e&255,t[6]=(e=parseInt(n.slice(14,18),16))>>>8,t[7]=e&255,t[8]=(e=parseInt(n.slice(19,23),16))>>>8,t[9]=e&255,t[10]=(e=parseInt(n.slice(24,36),16))/1099511627776&255,t[11]=e/4294967296&255,t[12]=e>>>24&255,t[13]=e>>>16&255,t[14]=e>>>8&255,t[15]=e&255,t}var $P=NP;$i.default=$P,Object.defineProperty(Sn,"__esModule",{value:!0}),Sn.URL=Sn.DNS=void 0,Sn.default=UP;var VP=An,LP=GP($i);function GP(n){return n&&n.__esModule?n:{default:n}}function FP(n){n=unescape(encodeURIComponent(n));const e=[];for(let t=0;t<n.length;++t)e.push(n.charCodeAt(t));return e}const wm="6ba7b810-9dad-11d1-80b4-00c04fd430c8";Sn.DNS=wm;const _m="6ba7b811-9dad-11d1-80b4-00c04fd430c8";Sn.URL=_m;function UP(n,e,t){function i(a,s,o,u){var p;if(typeof a=="string"&&(a=FP(a)),typeof s=="string"&&(s=(0,LP.default)(s)),((p=s)===null||p===void 0?void 0:p.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let h=new Uint8Array(16+a.length);if(h.set(s),h.set(a,s.length),h=t(h),h[6]=h[6]&15|e,h[8]=h[8]&63|128,o){u=u||0;for(let m=0;m<16;++m)o[u+m]=h[m];return o}return(0,VP.unsafeStringify)(h)}try{i.name=n}catch{}return i.DNS=wm,i.URL=_m,i}var za={};Object.defineProperty(za,"__esModule",{value:!0}),za.default=void 0;function xP(n){if(typeof n=="string"){const e=unescape(encodeURIComponent(n));n=new Uint8Array(e.length);for(let t=0;t<e.length;++t)n[t]=e.charCodeAt(t)}return jP(kP(qP(n),n.length*8))}function jP(n){const e=[],t=n.length*32,i="0123456789abcdef";for(let a=0;a<t;a+=8){const s=n[a>>5]>>>a%32&255,o=parseInt(i.charAt(s>>>4&15)+i.charAt(s&15),16);e.push(o)}return e}function Mm(n){return(n+64>>>9<<4)+14+1}function kP(n,e){n[e>>5]|=128<<e%32,n[Mm(e)-1]=e;let t=1732584193,i=-271733879,a=-1732584194,s=271733878;for(let o=0;o<n.length;o+=16){const u=t,p=i,h=a,m=s;t=Ke(t,i,a,s,n[o],7,-680876936),s=Ke(s,t,i,a,n[o+1],12,-389564586),a=Ke(a,s,t,i,n[o+2],17,606105819),i=Ke(i,a,s,t,n[o+3],22,-1044525330),t=Ke(t,i,a,s,n[o+4],7,-176418897),s=Ke(s,t,i,a,n[o+5],12,1200080426),a=Ke(a,s,t,i,n[o+6],17,-1473231341),i=Ke(i,a,s,t,n[o+7],22,-45705983),t=Ke(t,i,a,s,n[o+8],7,1770035416),s=Ke(s,t,i,a,n[o+9],12,-1958414417),a=Ke(a,s,t,i,n[o+10],17,-42063),i=Ke(i,a,s,t,n[o+11],22,-1990404162),t=Ke(t,i,a,s,n[o+12],7,1804603682),s=Ke(s,t,i,a,n[o+13],12,-40341101),a=Ke(a,s,t,i,n[o+14],17,-1502002290),i=Ke(i,a,s,t,n[o+15],22,1236535329),t=et(t,i,a,s,n[o+1],5,-165796510),s=et(s,t,i,a,n[o+6],9,-1069501632),a=et(a,s,t,i,n[o+11],14,643717713),i=et(i,a,s,t,n[o],20,-373897302),t=et(t,i,a,s,n[o+5],5,-701558691),s=et(s,t,i,a,n[o+10],9,38016083),a=et(a,s,t,i,n[o+15],14,-660478335),i=et(i,a,s,t,n[o+4],20,-405537848),t=et(t,i,a,s,n[o+9],5,568446438),s=et(s,t,i,a,n[o+14],9,-1019803690),a=et(a,s,t,i,n[o+3],14,-187363961),i=et(i,a,s,t,n[o+8],20,1163531501),t=et(t,i,a,s,n[o+13],5,-1444681467),s=et(s,t,i,a,n[o+2],9,-51403784),a=et(a,s,t,i,n[o+7],14,1735328473),i=et(i,a,s,t,n[o+12],20,-1926607734),t=tt(t,i,a,s,n[o+5],4,-378558),s=tt(s,t,i,a,n[o+8],11,-2022574463),a=tt(a,s,t,i,n[o+11],16,1839030562),i=tt(i,a,s,t,n[o+14],23,-35309556),t=tt(t,i,a,s,n[o+1],4,-1530992060),s=tt(s,t,i,a,n[o+4],11,1272893353),a=tt(a,s,t,i,n[o+7],16,-155497632),i=tt(i,a,s,t,n[o+10],23,-1094730640),t=tt(t,i,a,s,n[o+13],4,681279174),s=tt(s,t,i,a,n[o],11,-358537222),a=tt(a,s,t,i,n[o+3],16,-722521979),i=tt(i,a,s,t,n[o+6],23,76029189),t=tt(t,i,a,s,n[o+9],4,-640364487),s=tt(s,t,i,a,n[o+12],11,-421815835),a=tt(a,s,t,i,n[o+15],16,530742520),i=tt(i,a,s,t,n[o+2],23,-995338651),t=nt(t,i,a,s,n[o],6,-198630844),s=nt(s,t,i,a,n[o+7],10,1126891415),a=nt(a,s,t,i,n[o+14],15,-1416354905),i=nt(i,a,s,t,n[o+5],21,-57434055),t=nt(t,i,a,s,n[o+12],6,1700485571),s=nt(s,t,i,a,n[o+3],10,-1894986606),a=nt(a,s,t,i,n[o+10],15,-1051523),i=nt(i,a,s,t,n[o+1],21,-2054922799),t=nt(t,i,a,s,n[o+8],6,1873313359),s=nt(s,t,i,a,n[o+15],10,-30611744),a=nt(a,s,t,i,n[o+6],15,-1560198380),i=nt(i,a,s,t,n[o+13],21,1309151649),t=nt(t,i,a,s,n[o+4],6,-145523070),s=nt(s,t,i,a,n[o+11],10,-1120210379),a=nt(a,s,t,i,n[o+2],15,718787259),i=nt(i,a,s,t,n[o+9],21,-343485551),t=On(t,u),i=On(i,p),a=On(a,h),s=On(s,m)}return[t,i,a,s]}function qP(n){if(n.length===0)return[];const e=n.length*8,t=new Uint32Array(Mm(e));for(let i=0;i<e;i+=8)t[i>>5]|=(n[i/8]&255)<<i%32;return t}function On(n,e){const t=(n&65535)+(e&65535);return(n>>16)+(e>>16)+(t>>16)<<16|t&65535}function JP(n,e){return n<<e|n>>>32-e}function Za(n,e,t,i,a,s){return On(JP(On(On(e,n),On(i,s)),a),t)}function Ke(n,e,t,i,a,s,o){return Za(e&t|~e&i,n,e,a,s,o)}function et(n,e,t,i,a,s,o){return Za(e&i|t&~i,n,e,a,s,o)}function tt(n,e,t,i,a,s,o){return Za(e^t^i,n,e,a,s,o)}function nt(n,e,t,i,a,s,o){return Za(t^(e|~i),n,e,a,s,o)}var WP=xP;za.default=WP,Object.defineProperty(Ya,"__esModule",{value:!0}),Ya.default=void 0;var HP=Nm(Sn),YP=Nm(za);function Nm(n){return n&&n.__esModule?n:{default:n}}var zP=(0,HP.default)("v3",48,YP.default);Ya.default=zP;var Xa={},Qa={};Object.defineProperty(Qa,"__esModule",{value:!0}),Qa.default=void 0;var ZP={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};Qa.default=ZP,Object.defineProperty(Xa,"__esModule",{value:!0}),Xa.default=void 0;var $m=Vm(Qa),XP=Vm(Ja),QP=An;function Vm(n){return n&&n.__esModule?n:{default:n}}function KP(n,e,t){if($m.default.randomUUID&&!e&&!n)return $m.default.randomUUID();n=n||{};const i=n.random||(n.rng||XP.default)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,e){t=t||0;for(let a=0;a<16;++a)e[t+a]=i[a];return e}return(0,QP.unsafeStringify)(i)}var eD=KP;Xa.default=eD;var Ka={},es={};Object.defineProperty(es,"__esModule",{value:!0}),es.default=void 0;function tD(n,e,t,i){switch(n){case 0:return e&t^~e&i;case 1:return e^t^i;case 2:return e&t^e&i^t&i;case 3:return e^t^i}}function ol(n,e){return n<<e|n>>>32-e}function nD(n){const e=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof n=="string"){const o=unescape(encodeURIComponent(n));n=[];for(let u=0;u<o.length;++u)n.push(o.charCodeAt(u))}else Array.isArray(n)||(n=Array.prototype.slice.call(n));n.push(128);const i=n.length/4+2,a=Math.ceil(i/16),s=new Array(a);for(let o=0;o<a;++o){const u=new Uint32Array(16);for(let p=0;p<16;++p)u[p]=n[o*64+p*4]<<24|n[o*64+p*4+1]<<16|n[o*64+p*4+2]<<8|n[o*64+p*4+3];s[o]=u}s[a-1][14]=(n.length-1)*8/Math.pow(2,32),s[a-1][14]=Math.floor(s[a-1][14]),s[a-1][15]=(n.length-1)*8&4294967295;for(let o=0;o<a;++o){const u=new Uint32Array(80);for(let I=0;I<16;++I)u[I]=s[o][I];for(let I=16;I<80;++I)u[I]=ol(u[I-3]^u[I-8]^u[I-14]^u[I-16],1);let p=t[0],h=t[1],m=t[2],T=t[3],b=t[4];for(let I=0;I<80;++I){const B=Math.floor(I/20),G=ol(p,5)+tD(B,h,m,T)+b+e[B]+u[I]>>>0;b=T,T=m,m=ol(h,30)>>>0,h=p,p=G}t[0]=t[0]+p>>>0,t[1]=t[1]+h>>>0,t[2]=t[2]+m>>>0,t[3]=t[3]+T>>>0,t[4]=t[4]+b>>>0}return[t[0]>>24&255,t[0]>>16&255,t[0]>>8&255,t[0]&255,t[1]>>24&255,t[1]>>16&255,t[1]>>8&255,t[1]&255,t[2]>>24&255,t[2]>>16&255,t[2]>>8&255,t[2]&255,t[3]>>24&255,t[3]>>16&255,t[3]>>8&255,t[3]&255,t[4]>>24&255,t[4]>>16&255,t[4]>>8&255,t[4]&255]}var rD=nD;es.default=rD,Object.defineProperty(Ka,"__esModule",{value:!0}),Ka.default=void 0;var iD=Lm(Sn),aD=Lm(es);function Lm(n){return n&&n.__esModule?n:{default:n}}var sD=(0,iD.default)("v5",80,aD.default);Ka.default=sD;var ts={};Object.defineProperty(ts,"__esModule",{value:!0}),ts.default=void 0;var oD="00000000-0000-0000-0000-000000000000";ts.default=oD;var ns={};Object.defineProperty(ns,"__esModule",{value:!0}),ns.default=void 0;var lD=cD(Yn);function cD(n){return n&&n.__esModule?n:{default:n}}function dD(n){if(!(0,lD.default)(n))throw TypeError("Invalid UUID");return parseInt(n.slice(14,15),16)}var uD=dD;ns.default=uD,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"NIL",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(n,"parse",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(n,"stringify",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(n,"v1",{enumerable:!0,get:function(){return e.default}}),Object.defineProperty(n,"v3",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(n,"v4",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(n,"v5",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(n,"validate",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(n,"version",{enumerable:!0,get:function(){return o.default}});var e=m(qa),t=m(Ya),i=m(Xa),a=m(Ka),s=m(ts),o=m(ns),u=m(Yn),p=m(An),h=m($i);function m(T){return T&&T.__esModule?T:{default:T}}}(Om);function ll(n,e){if(!n||!e||!n.length||!e.length)throw new Error("Bad alphabet");this.srcAlphabet=n,this.dstAlphabet=e}ll.prototype.convert=function(n){var e,t,i,a={},s=this.srcAlphabet.length,o=this.dstAlphabet.length,u=n.length,p=typeof n=="string"?"":[];if(!this.isValid(n))throw new Error('Number "'+n+'" contains of non-alphabetic digits ('+this.srcAlphabet+")");if(this.srcAlphabet===this.dstAlphabet)return n;for(e=0;e<u;e++)a[e]=this.srcAlphabet.indexOf(n[e]);do{for(t=0,i=0,e=0;e<u;e++)t=t*s+a[e],t>=o?(a[i++]=parseInt(t/o,10),t=t%o):i>0&&(a[i++]=0);u=i,p=this.dstAlphabet.slice(t,t+1).concat(p)}while(i!==0);return p},ll.prototype.isValid=function(n){for(var e=0;e<n.length;++e)if(this.srcAlphabet.indexOf(n[e])===-1)return!1;return!0};var pD=ll,yD=pD;function Vi(n,e){var t=new yD(n,e);return function(i){return t.convert(i)}}Vi.BIN="01",Vi.OCT="01234567",Vi.DEC="0123456789",Vi.HEX="0123456789abcdef";var hD=Vi;const{v4:cl,validate:fD}=Om,rs=hD,dl={cookieBase90:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~",flickrBase58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",uuid25Base36:"0123456789abcdefghijklmnopqrstuvwxyz"},mD={consistentLength:!0};let ul;const Gm=(n,e,t)=>{const i=e(n.toLowerCase().replace(/-/g,""));return!t||!t.consistentLength?i:i.padStart(t.shortIdLength,t.paddingChar)},Fm=(n,e)=>{const i=e(n).padStart(32,"0").match(/(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})/);return[i[1],i[2],i[3],i[4],i[5]].join("-")},TD=n=>Math.ceil(Math.log(2**128)/Math.log(n));var ED=(()=>{const n=(e,t)=>{const i=e||dl.flickrBase58,a={...mD,...t};if([...new Set(Array.from(i))].length!==i.length)throw new Error("The provided Alphabet has duplicate characters resulting in unreliable results");const s=TD(i.length),o={shortIdLength:s,consistentLength:a.consistentLength,paddingChar:i[0]},u=rs(rs.HEX,i),p=rs(i,rs.HEX),h=()=>Gm(cl(),u,o),T={alphabet:i,fromUUID:b=>Gm(b,u,o),maxLength:s,generate:h,new:h,toUUID:b=>Fm(b,p),uuid:cl,validate:(b,I=!1)=>{if(!b||typeof b!="string")return!1;const B=a.consistentLength?b.length===s:b.length<=s,G=b.split("").every(W=>i.includes(W));return I===!1?B&&G:B&&G&&fD(Fm(b,p))}};return Object.freeze(T),T};return n.constants=dl,n.uuid=cl,n.generate=()=>(ul||(ul=n(dl.flickrBase58).generate),ul()),n})();const Cn=fP(ED);console.log("Hello, world!: ",Cn);function Um(){return Cn().uuid()}function xm(n){return n.rangeStart+Math.random()}function jm(n){const e=n.rangeEnd;return Math.random()*e}function km(n){const e=n.rangeStart,t=n.rangeEnd;return Math.random()*(t-e)+e}function qm(n){return n.rangeStart&&n.rangeEnd?km(n):n.rangeStart?xm(n):n.rangeEnd?jm(n):Math.random()}function Jm(n){const e=n.rangeStart;return Math.random().toString(36).substring(e)}function Wm(n){const e=n.rangeEnd;return Math.random().toString(36).substring(0,e)}function Hm(n){const e=n.rangeStart,t=n.rangeEnd;return Math.random().toString(36).substring(e,t)}function Ym(n){return n.rangeStart&&n.rangeEnd?Hm(n):n.rangeStart?Jm(n):n.rangeEnd?Wm(n):Math.random().toString(36)}function zm(n){return Math.random()>=.5}function RD(n){if(!n||!n.autogeneration)return null;switch(n.autogeneration.type){case xe.CurrentDateAndTime:if(n.name===g.Date)return new Date;case xe.Random:{if(n.name===g.Date)return Sm(n.autogeneration);if(n.name===g.Number)return qm(n.autogeneration);if(n.name===g.String)return Ym(n.autogeneration);if(n.name===g.Boolean)return zm(n.autogeneration)}case xe.Unique:if(n.name===g.UUID)return Um();default:throw new Error(`Generating a ${n.autogeneration.type} value for a ${n.name} is not supported`)}}const J="e7eb5382-3d99-44fd-972a-b8b1e819f6be",pl="global-user-variable-id",Zm="last-executed-timestamp-variable-id",bD={id:"alternative-relational-database-entity-identifier-property-data-type-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-identifier-property-data-type-id",entityType:r.DataType},vD={id:"alternative-relational-database-entity-identifier-property-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-identifier-property-id",entityType:r.Property},gD={id:"alternative-relational-database-entity-identifier-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"alternative-relational-database-entity-identifier-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:null,parent:bD,autogeneration:{type:xe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:vD},is={id:"alternative-relational-database-entity-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},ID={required:!0,id:"alternative-relational-database-entity-identifier-property-id",name:"Identifier name",version:1,type:r.Property,private:!1,abstract:!1,implements:Ca,static:!0,index:0,dataType:gD,description:"The name of the main database inside of the server instance where the data will be stored.",parent:is};r.GenericReference,r.DataType;const PD={id:"alternative-relational-database-entity-username-property-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-username-property-id",entityType:r.Property},DD={id:"alternative-relational-database-entity-username-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:PD},AD={required:!0,id:"alternative-relational-database-entity-username-property-id",name:"Username",version:1,type:r.Property,private:!1,abstract:!1,implements:Ba,static:!0,index:1,dataType:DD,description:"The username that will be used to connect to the database.",parent:is};r.GenericReference,r.DataType;const SD={id:"alternative-relational-database-entity-password-property-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-password-property-id",entityType:r.Property},OD={id:"alternative-relational-database-entity-password-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:SD},CD={required:!0,id:"alternative-relational-database-entity-password-property-id",name:"Password",version:1,type:r.Property,private:!1,abstract:!1,implements:wa,static:!0,index:2,dataType:OD,description:"The password that will be used to connect to the database.",parent:is},BD={id:"alternative-relational-database-entity-min-size-property-data-type-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-min-size-property-data-type-id",entityType:r.DataType},wD={id:"alternative-relational-database-entity-min-size-property-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-min-size-property-id",entityType:r.Property},_D={id:"alternative-relational-database-entity-min-size-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Ce,asType:!1,defaultValue:{id:"alternative-relational-database-entity-min-size-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.Number,value:6,parent:BD,autogeneration:null,valueAsType:null},parent:wD},MD={required:!0,id:"alternative-relational-database-entity-min-size-property-id",name:"Minimum GB size",version:1,type:r.Property,private:!1,abstract:!1,implements:_a,static:!0,index:3,dataType:_D,description:"The minimum size of the database in GB.",parent:is},ND={id:"alternative-relational-database-entity-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},Xm={id:"alternative-relational-database-entity-id",type:r.CustomEntity,version:1,name:"Alternative relational Database",description:"A database that permanently stores the persisted entities attached to it.",abstract:!1,static:!0,properties:[ID,AD,CD,MD],methods:[],abstractMethods:[],extends:[],implements:[bn],x:0,y:0,parent:ND},$D={id:"animal-prototype-database-property-ref-id",type:r.GenericReference,entityId:"animal-prototype-database-property-id",entityType:r.Property},VD={id:"animal-prototype-database-property-data-type-default-value-parent-ref-id",type:r.GenericReference,entityId:"animal-prototype-database-property-data-type-default-value-id",entityType:r.DataType},LD={id:"animal-prototype-database-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:bn,asType:!1,defaultValue:{id:"animal-prototype-database-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,value:null,name:g.EntityTemplate,valueAsType:Xm,autogeneration:null,parent:VD},parent:$D},GD={id:"animal-prototype-database-property-parent-ref-id",type:r.GenericReference,entityId:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",entityType:r.CustomEntity},FD={required:!0,id:"animal-prototype-database-property-id",name:"Database",version:1,type:r.Property,private:!1,abstract:!1,implements:Ti,static:!0,index:0,dataType:LD,description:"The database that the entity belongs to.",parent:GD},UD={type:r.GenericReference,id:"291e4d4f-01d8-40a0-90dc-5f1ac6636e9b",entityType:r.Property,entityId:"5cb617b0-92be-4dbe-a007-49093368d94f"},xD={id:"c1930577-9e79-48a6-8905-be24611015c1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:UD},jD={type:r.GenericReference,id:"e2b9e456-f2b3-4dc7-85a2-fbb68ed0c9c7",entityType:r.CustomEntity,entityId:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},kD={required:!0,type:r.Property,id:"5cb617b0-92be-4dbe-a007-49093368d94f",version:1,name:"Name",description:"The name of the animal",implements:null,static:!1,private:!1,index:0,dataType:xD,abstract:!1,parent:jD},qD={type:r.GenericReference,id:"abc565de-4c83-4936-bc48-4013bef213b8",entityType:r.Project,entityId:J},JD={type:r.CustomEntity,id:"83eaa847-e62b-4192-84fb-3d8d6f5ea970",version:1,name:"Animal",description:"A living creature that is not human",abstract:!1,static:!1,abstractMethods:[],properties:[FD,kD],methods:[],extends:[],implements:[Be],x:0,y:0,parent:qD},WD={id:"default-relational-database-entity-identifier-property-data-type-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-identifier-property-data-type-id",entityType:r.DataType},HD={id:"default-relational-database-entity-identifier-property-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-identifier-property-id",entityType:r.Property},YD={id:"default-relational-database-entity-identifier-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"default-relational-database-entity-identifier-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:null,parent:WD,autogeneration:{type:xe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:HD},as={id:"default-relational-database-entity-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},zD={required:!0,id:"default-relational-database-entity-identifier-property-id",name:"Identifier name",version:1,type:r.Property,private:!1,abstract:!1,implements:Ca,static:!0,index:0,dataType:YD,description:"The name of the main database inside of the server instance where the data will be stored.",parent:as};r.GenericReference,r.DataType;const ZD={id:"default-relational-database-entity-username-property-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-username-property-id",entityType:r.Property},XD={id:"default-relational-database-entity-username-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:ZD},QD={required:!0,id:"default-relational-database-entity-username-property-id",name:"Username",version:1,type:r.Property,private:!1,abstract:!1,implements:Ba,static:!0,index:1,dataType:XD,description:"The username that will be used to connect to the database.",parent:as};r.GenericReference,r.DataType;const KD={id:"default-relational-database-entity-password-property-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-password-property-id",entityType:r.Property},eA={id:"default-relational-database-entity-password-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:KD},tA={required:!0,id:"default-relational-database-entity-password-property-id",name:"Password",version:1,type:r.Property,private:!1,abstract:!1,implements:wa,static:!0,index:2,dataType:eA,description:"The password that will be used to connect to the database.",parent:as},nA={id:"default-relational-database-entity-min-size-property-data-type-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-min-size-property-data-type-id",entityType:r.DataType},rA={id:"default-relational-database-entity-min-size-property-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-min-size-property-id",entityType:r.Property},iA={id:"default-relational-database-entity-min-size-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Ce,asType:!1,defaultValue:{id:"default-relational-database-entity-min-size-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.Number,value:6,parent:nA,autogeneration:null,valueAsType:null},parent:rA},aA={required:!0,id:"default-relational-database-entity-min-size-property-id",name:"Minimum GB size",version:1,type:r.Property,private:!1,abstract:!1,implements:_a,static:!0,index:3,dataType:iA,description:"The minimum size of the database in GB.",parent:as},sA={id:"default-relational-database-entity-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},yl={id:"default-relational-database-entity-id",type:r.CustomEntity,version:1,name:"Relational Database",description:"A database that permanently stores the persisted entities attached to it.",abstract:!1,static:!0,properties:[zD,QD,tA,aA],methods:[],abstractMethods:[],extends:[],implements:[bn],x:0,y:0,parent:sA},oA={id:"user-prototype-database-property-data-type-ref-id",type:r.GenericReference,entityId:"user-prototype-database-property-data-type-id",entityType:r.DataType},lA={id:"user-prototype-database-property-ref-id",type:r.GenericReference,entityId:"user-prototype-database-property-id",entityType:r.Property},cA={id:"user-prototype-database-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:bn,asType:!1,defaultValue:{id:"user-prototype-database-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,value:null,name:g.EntityTemplate,valueAsType:yl,autogeneration:null,parent:oA},parent:lA},dA={id:"user-prototype-database-property-parent-ref-id",type:r.GenericReference,entityId:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",entityType:r.CustomEntity},uA={required:!0,id:"user-prototype-database-property-id",name:"Database",version:1,type:r.Property,private:!1,abstract:!1,implements:Ti,static:!0,index:0,dataType:cA,description:"The database that the entity belongs to.",parent:dA},pA={type:r.GenericReference,id:"user-prototype-parent-ref-id",entityType:r.Project,entityId:J},hl={type:r.CustomEntity,id:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",version:1,name:"User",description:"A user of the application",implements:[Be],abstract:!1,static:!1,abstractMethods:[],extends:[],properties:[uA],methods:[],x:0,y:0,parent:pA},yA={type:r.GenericReference,id:"person-date-of-birth-property-data-type-parent-ref-id",entityType:r.Property,entityId:"person-date-of-birth-property-id"},hA={id:"person-date-of-birth-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Or,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:yA},fA={type:r.GenericReference,id:"person-date-of-birth-property-parent-ref-id",entityType:r.CustomEntity,entityId:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},mA={required:!0,type:r.Property,id:"person-date-of-birth-property-id",version:1,name:"Date of birth",description:"The date of birth of the person",implements:null,private:!1,static:!1,index:0,dataType:hA,abstract:!1,parent:fA},TA={type:r.GenericReference,id:"a2867827-2f8e-4c25-b18b-d91857d7f24e",entityType:r.Property,entityId:"cacfec92-46c3-4fca-a1d9-fd1ba94d78c7"},EA={id:"1d49f41b-17b9-4f48-87aa-3ce43498e5a9",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:TA},RA={type:r.GenericReference,id:"01cbe760-40a9-4f49-8e3d-194d2f57cb1e",entityType:r.CustomEntity,entityId:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},bA={required:!0,type:r.Property,id:"cacfec92-46c3-4fca-a1d9-fd1ba94d78c7",version:1,name:"Name",description:"The name of the person",implements:null,private:!1,static:!1,index:0,dataType:EA,abstract:!1,parent:RA},vA={type:r.GenericReference,id:"3542b22a-3a2f-41c6-876e-24c885572498",entityType:r.Project,entityId:J},ct={type:r.CustomEntity,id:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416",version:1,name:"Person",description:"A entity to store more information about a person than the user entity does, to split the responsibilities and keep it the logic clean.",properties:[bA,mA],abstract:!1,static:!1,abstractMethods:[],methods:[],implements:[],extends:[hl],x:0,y:0,parent:vA},gA={type:r.GenericReference,id:"b59c80b7-b2e9-41e9-abcd-7c5652835efc",entityType:r.FunctionDeclaration,entityId:"36f29f96-c001-4b9a-b49c-83eff406a060"},IA={type:r.GenericReference,id:"1190b5a2-f25e-46db-884d-8a3dd1a44d94",entityType:r.ReturnStatement,entityId:"3ebc4342-c9e8-42e7-a61c-7937081e1d2e"},PA={type:r.GenericReference,id:"36c63126-7814-496f-a6cc-48662c2aabae",entityType:r.ArgumentDeclaration,entityId:"500dee3a-3435-4453-9699-0d053f646523"},DA={type:r.GenericReference,id:"c567e55d-ec12-4e4e-958e-f07522892b4b",entityType:r.ReturnDeclaration,entityId:"9e070523-7e07-4100-8637-960a187f5f14"},AA={id:"3973c5a1-f0d8-49a0-a9a9-a0009bf3f0d8",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:DA},fl={isError:!1,id:"9e070523-7e07-4100-8637-960a187f5f14",type:r.ReturnDeclaration,version:1,name:"Output Account Owner",description:null,dataType:AA,readsValue:PA,required:!0,index:0,parent:IA},SA={type:r.GenericReference,id:"567d923c-20da-4c1e-956d-962ea30c6d0b",entityType:r.FunctionDeclaration,entityId:"36f29f96-c001-4b9a-b49c-83eff406a060"},OA={type:r.GenericReference,id:"da85e620-59f3-42ab-88c8-b38d33c2c833",entityType:r.FunctionDeclaration,entityId:"36f29f96-c001-4b9a-b49c-83eff406a060"},Qm={type:r.ReturnStatement,id:"3ebc4342-c9e8-42e7-a61c-7937081e1d2e",version:1,outputs:[fl],calledByError:[],calledByEntry:[SA],calledBySuccess:[],throws:null,x:0,y:0,parent:OA},CA={type:r.GenericReference,id:"1c806bb7-4c25-4bad-963b-93dfbb7c8304",entityType:r.ArgumentDeclaration,entityId:"500dee3a-3435-4453-9699-0d053f646523"},BA={id:"d90fcc18-642b-433c-8fcb-4094b9031cd5",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:CA},Km={id:"500dee3a-3435-4453-9699-0d053f646523",type:r.ArgumentDeclaration,version:1,name:"New Account Owner",description:null,dataType:BA,required:!0,writesValues:[fl],index:0,parent:gA},wA={type:r.GenericReference,id:"83dceb60-f3c4-4085-824c-85f2003bfd27",entityType:r.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},eT={type:r.FunctionDeclaration,id:"36f29f96-c001-4b9a-b49c-83eff406a060",version:1,name:"Change owner of bank account",description:null,implements:null,inputs:[Km],calls:[Qm],returnStatements:[Qm],index:0,collapsed:!1,private:!1,x:0,y:0,parent:wA},_A={type:r.GenericReference,id:"adbaf302-ffa9-49b6-a3c6-83f9a75068e3",entityType:r.VariableDeclaration,entityId:"8e36a476-766e-4cc2-a8a7-27a07dfb5a4b"},MA={id:"79ee04aa-1ba4-4ae9-a406-ed45e5b03f7f",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:_A},NA={type:r.GenericReference,id:"55e212d1-f0ec-4bb6-acbe-60f741367daf",entityType:r.OutputMap,entityId:"dc9ddb8f-02a0-4a43-aea6-270ec7b7f8a4"},$A={type:r.GenericReference,id:"944e1171-3d9b-4559-9386-1d4974b15962",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},VA={id:"8e36a476-766e-4cc2-a8a7-27a07dfb5a4b",type:r.VariableDeclaration,version:1,name:"Output Account Owner",description:null,dataType:MA,readsValue:NA,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:$A},LA={type:r.GenericReference,id:"b89ebc83-52cf-4447-a5ae-62241f713079",entityType:r.FunctionCall,entityId:"78f6dba8-bed8-44cd-8b0f-6dcc787d1e1e"},GA={id:"dc9ddb8f-02a0-4a43-aea6-270ec7b7f8a4",type:r.OutputMap,version:1,declaration:fl,writesValues:[VA],index:0,parent:LA},FA={type:r.GenericReference,id:"c1b9e125-1aad-48b7-9687-95c57a6bc10d",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},UA={type:r.GenericReference,id:"d2deaa02-e164-4425-905c-6dee47eb4eac",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},xA={type:r.GenericReference,id:"1109a655-ac62-4110-a933-42a72106f4f0",entityType:r.VariableDeclaration,entityId:"8bea6986-8da2-487b-905d-2fb962db6728"},jA={id:"7d9a1307-512e-42ec-9797-2f7229796b97",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:xA},kA={type:r.GenericReference,id:"bb61ebf7-57b3-4d14-905d-82ec907205b5",entityType:r.ArgumentDeclaration,entityId:"38f6b236-98ac-47b0-ab9c-d2f9610137b9"},qA={type:r.GenericReference,id:"6b8c7bf2-9fc8-4ea4-9ec0-f41679d513b1",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},JA={type:r.GenericReference,id:"6163d1a1-7a94-49b1-95bb-aecd8d6d335c",entityType:r.FunctionCall,entityId:"78f6dba8-bed8-44cd-8b0f-6dcc787d1e1e"},WA={type:r.GenericReference,id:"1f900f62-4bd2-4246-94aa-b8f5aad384fd",entityType:r.VariableDeclaration,entityId:"8bea6986-8da2-487b-905d-2fb962db6728"},tT={id:"be8538be-e6f9-4b94-9314-a546003ebaa0",type:r.InputMap,version:1,declaration:Km,name:null,description:null,readsValue:WA,dynamicArguments:[],defaultValue:null,index:0,parent:JA},HA={type:r.VariableDeclaration,id:"8bea6986-8da2-487b-905d-2fb962db6728",version:1,name:"Changed Account Owner",description:null,dataType:jA,readsValue:kA,writesValues:[tT],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:qA},YA={type:r.FunctionCall,id:"78f6dba8-bed8-44cd-8b0f-6dcc787d1e1e",version:1,declaration:eT,inputs:[tT],outputs:[GA],process:null,successCalls:[],errorCalls:[],calledByError:[],calledByEntry:[FA],calledBySuccess:[],parent:UA,error:null,x:0,y:0},zA={type:r.GenericReference,id:"2d47aba1-a918-46a7-8db7-78809928654a",entityType:r.ArgumentDeclaration,entityId:"38f6b236-98ac-47b0-ab9c-d2f9610137b9"},ZA={id:"5583766c-e9a5-484c-8f43-f4b0a6a1876c",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:zA},XA={type:r.GenericReference,id:"3e2a81e4-55b2-49f5-94eb-39135e95c3d7",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},QA={id:"38f6b236-98ac-47b0-ab9c-d2f9610137b9",type:r.ArgumentDeclaration,version:1,description:null,name:"New Company Owner",dataType:ZA,required:!0,index:0,writesValues:[HA],parent:XA},KA={type:r.GenericReference,id:"30291b01-1b94-4d03-b434-dec122c2bc7d",entityType:r.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},eS={type:r.FunctionDeclaration,id:"15ee556d-681f-47de-a31f-16d4ba73cc4e",version:1,description:null,name:"Change Account Owner",inputs:[QA],collapsed:!0,returnStatements:[],calls:[YA],private:!1,index:0,implements:null,x:0,y:0,parent:KA},tS={type:r.GenericReference,id:"72c7ac0a-886e-4e10-b7ed-2f5a819a0233",entityType:r.Property,entityId:"b8f4656a-2b77-43ab-af51-7c32ddede044"},nS={id:"c09dd282-73f6-4077-a467-b66db20b9fc6",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:tS},rS={type:r.GenericReference,id:"8a950024-512c-4580-81db-a705410aeb99",entityType:r.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},nT={required:!0,type:r.Property,id:"b8f4656a-2b77-43ab-af51-7c32ddede044",version:1,name:"Account number",description:null,private:!0,implements:null,static:!1,index:0,dataType:nS,abstract:!1,parent:rS},iS={type:r.GenericReference,id:"b6704b6c-c3bd-49d0-8ebc-82d03e726cbb",entityType:r.Property,entityId:"733d06a6-b8c5-44f3-a1f7-a8c9bd9e44ea"},aS={id:"c03e0b0a-88ab-401a-8833-4806738bdc37",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:iS},sS={type:r.GenericReference,id:"1ef999a7-e9ed-406a-866e-e58277fc985b",entityType:r.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},rT={required:!0,type:r.Property,id:"733d06a6-b8c5-44f3-a1f7-a8c9bd9e44ea",version:1,description:null,name:"Account Owner",index:1,dataType:aS,implements:null,static:!1,private:!0,abstract:!1,parent:sS},oS={type:r.GenericReference,id:"d41d7f41-98b8-4f67-be92-c349fdda5156",entityType:r.Project,entityId:J},Gr={type:r.CustomEntity,id:"506946aa-30da-48e6-918f-ffd9eac58813",version:1,name:"Bank Account",description:null,abstract:!1,static:!1,abstractMethods:[],properties:[nT,rT],methods:[eT,eS],extends:[],implements:[Be],x:0,y:0,parent:oS},Li="bitcoin-api-response-id",iT="time-property-id",aT="disclamer-property-id",sT="chart-name-property-id",oT="bpi-property-id",ss="bpi-entity-id",lT="usd-property-id",cT="gbp-property-id",dT="eur-property-id",Fr="currency-entity-id",uT="currency-code-property-id",pT="currency-symbol-property-id",yT="currency-rate-property-id",hT="currency-description-property-id",fT="currency-rate-number-property-id",lS={type:r.GenericReference,id:"code-property-data-type-parent-ref-id",entityType:r.Property,entityId:uT},cS={id:"code-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rn,isList:!1,asType:!1,isNullable:!1,defaultValue:null,options:["USD","GBP","EUR"],constant:!1,parent:lS},dS={type:r.GenericReference,id:"code-property-parent-ref-id",entityType:r.CustomEntity,entityId:Fr},uS={required:!0,type:r.Property,id:uT,version:1,name:"code",description:null,dataType:cS,index:0,implements:null,static:!1,private:!1,abstract:!1,parent:dS},pS={type:r.GenericReference,id:"symbol-property-data-type-parent-ref-id",entityType:r.Property,entityId:pT},yS={id:"symbol-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rn,isList:!1,asType:!1,isNullable:!1,defaultValue:null,options:["&#36;","&pound;","&euro;"],constant:!1,parent:pS},hS={type:r.GenericReference,id:"symbol-property-parent-ref-id",entityType:r.CustomEntity,entityId:Fr},fS={required:!0,type:r.Property,id:pT,version:1,name:"symbol",description:null,index:0,dataType:yS,implements:null,static:!1,private:!1,abstract:!1,parent:hS},mS={type:r.GenericReference,id:"rate-property-data-type-parent-ref-id",entityType:r.Property,entityId:yT},TS={id:"rate-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:mS},ES={type:r.GenericReference,id:"rate-property-parent-ref-id",entityType:r.CustomEntity,entityId:Fr},RS={required:!0,type:r.Property,id:yT,version:1,name:"rate",description:null,index:0,dataType:TS,implements:null,static:!1,private:!1,abstract:!1,parent:ES},bS={type:r.GenericReference,id:"description-property-data-type-parent-ref-id",entityType:r.Property,entityId:hT},vS={id:"description-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:bS},gS={type:r.GenericReference,id:"description-property-parent-ref-id",entityType:r.CustomEntity,entityId:Fr},IS={required:!0,type:r.Property,id:hT,version:1,name:"description",description:null,dataType:vS,implements:null,static:!1,index:0,private:!1,abstract:!1,parent:gS},PS={type:r.GenericReference,id:"rate-number-property-data-type-parent-ref-id",entityType:r.Property,entityId:fT},DS={id:"rate-number-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:PS},AS={type:r.GenericReference,id:"rate-number-property-parent-ref-id",entityType:r.CustomEntity,entityId:Fr},SS={required:!0,type:r.Property,id:fT,version:1,name:"rate_float",description:null,dataType:DS,implements:null,static:!1,index:0,private:!1,abstract:!1,parent:AS},OS={type:r.GenericReference,id:"currency-prototype-parent-ref-id",entityType:r.Project,entityId:J},os={type:r.CustomEntity,id:Fr,version:1,name:"Currency",description:"This entity describes a currency in the Bitcoin Price Index.",properties:[uS,fS,RS,IS,SS],static:!1,abstract:!1,abstractMethods:[],methods:[],extends:[],implements:[],x:0,y:0,parent:OS},CS={type:r.GenericReference,id:"usd-property-data-type-parent-ref-id",entityType:r.Property,entityId:lT},BS={id:"usd-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:os,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:CS},wS={type:r.GenericReference,id:"usd-property-parent-ref-id",entityType:r.CustomEntity,entityId:ss},_S={required:!0,id:lT,type:r.Property,version:1,name:"USD",description:null,index:0,dataType:BS,implements:null,static:!1,private:!1,abstract:!1,parent:wS},MS={type:r.GenericReference,id:"gbp-property-data-type-parent-ref-id",entityType:r.Property,entityId:cT},NS={id:"gbp-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:os,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:MS},$S={type:r.GenericReference,id:"gbp-property-parent-ref-id",entityType:r.CustomEntity,entityId:ss},VS={required:!0,id:cT,type:r.Property,version:1,name:"GBP",description:null,index:0,dataType:NS,implements:null,static:!1,private:!1,abstract:!1,parent:$S},LS={type:r.GenericReference,id:"eur-property-data-type-parent-ref-id",entityType:r.Property,entityId:dT},GS={id:"eur-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:os,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:LS},FS={type:r.GenericReference,id:"eur-property-parent-ref-id",entityType:r.CustomEntity,entityId:ss},US={required:!0,id:dT,type:r.Property,version:1,name:"EUR",description:null,implements:null,static:!1,index:0,dataType:GS,private:!1,abstract:!1,parent:FS},xS={type:r.GenericReference,id:"bpi-prototype-parent-ref-id",entityType:r.Project,entityId:J},mT={type:r.CustomEntity,id:ss,version:1,name:"BPI",description:"The Bitcoin Price Index",properties:[_S,VS,US],abstract:!1,static:!1,abstractMethods:[],methods:[],extends:[],implements:[],x:0,y:0,parent:xS},jS={type:r.GenericReference,id:"time-property-data-type-parent-ref-id",entityType:r.Property,entityId:iT},kS={id:"time-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:vo,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:jS},qS={type:r.GenericReference,id:"time-property-parent-ref-id",entityType:r.CustomEntity,entityId:Li},JS={required:!0,type:r.Property,id:iT,version:1,name:"time",description:null,index:0,dataType:kS,implements:null,static:!1,private:!1,abstract:!1,parent:qS},WS={type:r.GenericReference,id:"disclamer-property-data-type-parent-ref-id",entityType:r.Property,entityId:aT},HS={id:"disclamer-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:WS},YS={type:r.GenericReference,id:"disclamer-property-parent-ref-id",entityType:r.CustomEntity,entityId:Li},zS={required:!0,type:r.Property,id:aT,version:1,name:"disclamer",description:null,index:0,dataType:HS,implements:null,static:!1,private:!1,abstract:!1,parent:YS},ZS={type:r.GenericReference,id:"chart-name-property-data-type-parent-ref-id",entityType:r.Property,entityId:sT},XS={id:"chart-name-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:ZS},QS={type:r.GenericReference,id:"chart-name-property-parent-ref-id",entityType:r.CustomEntity,entityId:Li},KS={required:!0,type:r.Property,id:sT,version:1,name:"chartName",description:null,index:0,dataType:XS,implements:null,static:!1,private:!1,abstract:!1,parent:QS},eO={type:r.GenericReference,id:"bpi-property-data-type-parent-ref-id",entityType:r.Property,entityId:oT},tO={id:"bpi-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mT,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:eO},nO={type:r.GenericReference,id:"bpi-property-parent-ref-id",entityType:r.CustomEntity,entityId:Li},rO={required:!0,type:r.Property,id:oT,version:1,name:"bpi",description:null,implements:null,index:0,dataType:tO,static:!1,private:!1,abstract:!1,parent:nO},iO={type:r.GenericReference,id:"bitcoin-api-response-parent-ref-id",entityType:r.Project,entityId:J},TT={type:r.CustomEntity,id:Li,version:1,name:"Bitcoin API Response type",description:"The type of the data structure response from the Bitcoin API call",properties:[JS,zS,KS,rO],abstract:!1,static:!1,abstractMethods:[],methods:[],extends:[],implements:[],x:0,y:0,parent:iO},aO={type:r.GenericReference,id:"eefa0147-f873-484b-b4f3-9e6493aab183",entityType:r.ArgumentDeclaration,entityId:"f2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},sO={id:"b9f35112-dcb2-4b7c-8fb9-f196b3fa37f9",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:aO},oO={type:r.GenericReference,id:"128770d6-5e3a-4aff-bca0-ad1f32ebefa8",entityType:r.ReturnStatement,entityId:"e4e05975-c277-471a-b869-f0aed316045c"},lO={type:r.GenericReference,id:"0be84bf9-6421-42b9-980f-6a03f30cb809",entityType:r.ReturnDeclaration,entityId:"a1ec31f0-25ca-42ac-a4c4-c9ec2255f55b"},cO={id:"43daa02a-237b-4b7c-a6e9-2b8c167f6e22",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:lO},dO={type:r.GenericReference,id:"ad380383-4a47-43da-968e-75a2d603b230",entityType:r.ArgumentDeclaration,entityId:"f2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},ET={isError:!1,id:"a1ec31f0-25ca-42ac-a4c4-c9ec2255f55b",type:r.ReturnDeclaration,version:1,name:"New Company Owner",description:"The new owner of the company",dataType:cO,readsValue:dO,required:!0,index:0,parent:oO},uO={type:r.GenericReference,id:"4f24dc27-59a1-49bf-abcc-7d72b00926e4",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},pO={id:"f2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a",type:r.ArgumentDeclaration,version:1,name:"New Company Owner",description:null,dataType:sO,writesValues:[ET],required:!0,index:0,parent:uO},yO={type:r.GenericReference,id:"5c9a02f0-d2cf-4efc-828e-467f33a74dd3",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},hO={type:r.GenericReference,id:"2ff8f3da-e0c5-4f0f-b688-2c051c588786",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},fO={type:r.GenericReference,id:"195ae28c-159b-42de-80b1-2ebb8be3619f",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},RT={type:r.ReturnStatement,id:"e4e05975-c277-471a-b869-f0aed316045c",version:1,outputs:[ET],calledByError:[],calledByEntry:[hO],calledBySuccess:[],throws:null,x:0,y:0,parent:fO},mO={type:r.FunctionDeclaration,id:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4",version:1,name:"Change owner of company",description:"Change the owner of the company to a new person",inputs:[pO],calls:[RT],index:0,collapsed:!1,implements:null,returnStatements:[RT],private:!1,x:0,y:0,parent:yO},TO={type:r.GenericReference,id:"e691026f-6db0-43ec-93cd-805ae7d713e3",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},EO={type:r.GenericReference,id:"29c4e3e0-1b66-4075-b559-45b27c5cf356",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},RO={type:r.GenericReference,id:"b1289358-b185-455d-8f58-7791b15cd52a",entityType:r.ReturnStatement,entityId:"9690cd1d-ea35-4e83-823d-0c7310265fee"},bO={type:r.GenericReference,id:"d847bb49-8789-4550-bb2d-e2d551993b28",entityType:r.VariableDeclaration,entityId:"e5a8b6d0-0e6f-4e9a-9b1e-8a2b5c7f0d5a"},vO={type:r.GenericReference,id:"06535500-c37c-4915-8398-1d4e184fa5e7",entityType:r.ReturnDeclaration,entityId:"e7a35277-a0c4-46d5-aca2-bddd0c26e931"},gO={id:"d358dd91-35f7-4095-b728-3fb3c71dbc05",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Un,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:vO},ml={isError:!1,id:"e7a35277-a0c4-46d5-aca2-bddd0c26e931",type:r.ReturnDeclaration,version:1,name:"Is name registered",description:"Whether the company name is already registered",dataType:gO,readsValue:bO,required:!0,index:0,parent:RO},bT={type:r.ReturnStatement,id:"9690cd1d-ea35-4e83-823d-0c7310265fee",version:1,outputs:[ml],calledByError:[],calledByEntry:[],calledBySuccess:[TO],throws:null,x:0,y:0,parent:EO},IO={type:r.GenericReference,id:"b3126414-4c9b-495f-901e-59f5073c8d67",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},PO={type:r.GenericReference,id:"35115c48-618b-411b-a290-d746d22fdd10",entityType:r.VariableDeclaration,entityId:"83e12ebb-c958-4dee-b750-8ab9930f0f4e"},vT={id:"a0e7b4e5-2f5f-4d4c-8f5c-1e1f1e1a1b1a",type:r.InputMap,version:1,declaration:Vo,name:null,description:null,dynamicArguments:[],readsValue:PO,defaultValue:null,parent:IO,index:2},DO={type:r.GenericReference,id:"14f46eae-04a5-47d1-9c7f-28fb09b84d1d",entityType:r.VariableDeclaration,entityId:"e5a8b6d0-0e6f-4e9a-9b1e-8a2b5c7f0d5a"},AO={id:"990bd5d1-07ea-4253-acc1-d03bedd22a38",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Un,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:DO},SO={type:r.GenericReference,id:"e4c3542a-8fb0-4b72-8d6e-3fdff812dd67",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},OO={type:r.GenericReference,id:"825f9f60-22a8-4cc6-9055-d7333f8e92f4",entityType:r.OutputMap,entityId:"8f30d787-9459-4d8d-98a2-b46fbc2006d5"},CO={type:r.GenericReference,id:"is-company-name-registered-var-called-by-ref",entityType:r.Operation,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},gT={type:r.VariableDeclaration,id:"e5a8b6d0-0e6f-4e9a-9b1e-8a2b5c7f0d5a",version:1,name:"Is name registered",description:"Whether the company name is registered with the government company registry",dataType:AO,readsValue:OO,writesValues:[ml],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[CO],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:SO},BO={type:r.GenericReference,id:"1aba021e-48ef-44ac-93d0-eaecac5895da",entityType:r.InputMap,entityId:"c3c8d6c1-3e0d-4e6c-9f9c-6b8c7d7f8e9a"},wO={type:r.GenericReference,id:"dffae7e0-0a5c-4c14-8ed2-8d680b4c4c86",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},_O={type:r.InputMap,id:"c3c8d6c1-3e0d-4e6c-9f9c-6b8c7d7f8e9a",version:1,declaration:ga,name:null,description:null,readsValue:null,defaultValue:{id:"gov-http-request-url-argument-default-value-id",type:r.PrimitiveValue,version:1,value:"https://api.publicapis.org/entries",name:g.String,valueAsType:null,parent:BO,autogeneration:null},index:1,dynamicArguments:[],parent:wO},MO={type:r.GenericReference,id:"64ae61f5-ace7-401b-926d-25f852daa60e",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},NO={id:"8f30d787-9459-4d8d-98a2-b46fbc2006d5",type:r.OutputMap,version:1,declaration:hi,index:2,writesValues:[gT],parent:MO},$O={type:r.GenericReference,id:"62a1a086-caea-4270-9c9f-a1695503e745",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},VO={id:"48cf7654-8f3e-4fcd-abc6-740876c310a0",type:r.InputMap,version:1,declaration:va,name:null,description:null,dynamicArguments:[],readsValue:null,index:0,defaultValue:null,parent:$O},LO={type:r.GenericReference,id:"b0c9c79f-f525-428d-99e7-087d3237ad62",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},GO={id:"2c1dc406-4b71-4023-87b2-abede3a111d2",type:r.InputMap,version:1,name:null,description:null,declaration:Ia,dynamicArguments:[],index:3,readsValue:null,defaultValue:null,parent:LO},FO={type:r.GenericReference,id:"9887d6c9-d75b-4c97-b722-e2e60945ea20",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},UO={id:"3fef94b2-0278-43ae-b0c5-bc7083f0a111",type:r.InputMap,version:1,declaration:Pa,name:null,description:null,dynamicArguments:[],readsValue:null,index:4,defaultValue:null,parent:FO},xO={type:r.GenericReference,id:"561275b6-5056-45d8-bf7d-8abaa4645593",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},jO={id:"3efe20a7-4d63-411e-89ef-63e277f48d66",type:r.OutputMap,version:1,declaration:Da,index:1,writesValues:[],parent:xO},kO={type:r.GenericReference,id:"3170ccc2-13de-4bfc-802a-a643be41cd42",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},qO={id:"40d34323-d7e6-440a-8016-67c05a3b66dd",type:r.OutputMap,version:1,declaration:hi,index:0,writesValues:[],parent:kO},JO={type:r.GenericReference,id:"7432fa82-f574-4c54-a8fa-4cc4376da3d5",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},WO={type:r.GenericReference,id:"8f518502-9eea-462c-8753-8bc3bf3e29a9",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},HO={type:r.GenericReference,id:"123b8f18-79d9-4166-a5f6-78ec4b461680",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},YO={type:r.GenericReference,id:"e691026f-6db0-43ec-93cd-805ae7d713e3",entityType:r.FunctionCall,entityId:"abb5d456-ee85-4800-bdd9-d409415f60d7"},zO={type:r.GenericReference,id:"a375eedf-4811-41aa-a998-4897c69c46b9",entityType:r.ReturnDeclaration,entityId:"024a9b77-c1cd-4b67-b3ba-1935046b590d"},ZO={id:"767cc5ed-20ec-4fd1-89b1-c8d19daa87d1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:zO},XO={type:r.GenericReference,id:"e64b0c23-129d-4d74-8ab4-eec60e1e5b9b",entityType:r.ReturnStatement,entityId:"ea444a9e-6a5b-4138-b81f-0d5618c3c6f3"},IT={isError:!0,id:"024a9b77-c1cd-4b67-b3ba-1935046b590d",type:r.ReturnDeclaration,version:1,name:"Error",description:"The error that occurred during the HTTP request to the government company registry",dataType:ZO,required:!0,readsValue:null,index:0,parent:XO},QO={type:r.ReturnStatement,id:"ea444a9e-6a5b-4138-b81f-0d5618c3c6f3",version:1,outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[YO],throws:IT,x:0,y:0,parent:HO},KO={type:r.GenericReference,id:"323814fb-9723-49ef-bbba-f882384f18e4",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},eC={id:"2f63f7ba-0ff0-458a-92bc-65d1dd4df8c3",type:r.OutputMap,declaration:Go,version:1,writesValues:[IT],index:0,parent:KO},tC={type:r.Operation,id:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7",version:1,declaration:fi,inputs:[VO,_O,vT,GO,UO],outputs:[qO,jO,NO],process:null,calledByError:[],calledByEntry:[JO],calledBySuccess:[],successCalls:[bT,gT],errorCalls:[QO],error:eC,dynamicArguments:[],x:0,y:0,parent:WO},nC={type:r.GenericReference,id:"597b8aa2-f6f2-4f7d-bbb9-b703d02de96a",entityType:r.InputMap,entityId:"b0e7b4e5-2f5f-4d4c-8f5c-1e1f1e1a1b1a"},rC={type:r.GenericReference,id:"546d99b3-28c4-4186-93a0-ac53c1565e07",entityType:r.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},iC={id:"b0e7b4e5-2f5f-4d4c-8f5c-1e1f1e1a1b1a",type:r.InputMap,version:1,declaration:Ea,name:null,description:null,readsValue:null,defaultValue:{id:"base-query-string-map-default-value-id",type:r.PrimitiveValue,version:1,value:"?name=",name:g.String,parent:nC,valueAsType:null,autogeneration:null},dynamicArguments:[],index:0,parent:rC},aC={type:r.GenericReference,id:"6a56fb22-82e1-47c9-bf85-41c4e5986c74",entityType:r.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},sC={type:r.GenericReference,id:"191c6a6d-9bcb-441e-bf98-de0da96f5f3a",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},oC={type:r.GenericReference,id:"d8fcbb76-dae2-40cf-847a-02364721b387",entityType:r.VariableDeclaration,entityId:"83e12ebb-c958-4dee-b750-8ab9930f0f4e"},lC={id:"6a70c42b-024a-47c6-8a9d-af52be9c9b9a",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:oC},cC={type:r.GenericReference,id:"2282e2c0-ed9e-4c7b-86fc-1a364fa0fdb8",entityType:r.OutputMap,entityId:"f6c22cf8-63e4-4b2d-b649-b5ab884cf9a5"},dC={type:r.GenericReference,id:"assembled-query-string-called-by-ref",entityType:r.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},PT={type:r.VariableDeclaration,id:"83e12ebb-c958-4dee-b750-8ab9930f0f4e",version:1,name:"Query string",description:"The final, assembled query string that will be used in the HTTP request to the government company registry",dataType:lC,readsValue:cC,writesValues:[vT],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[dC],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:sC},uC={id:"f6c22cf8-63e4-4b2d-b649-b5ab884cf9a5",type:r.OutputMap,version:1,writesValues:[PT],declaration:pi,index:0,parent:aC},pC={type:r.GenericReference,id:"a1b48e7c-0301-4747-b4dd-b5af79956f7f",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},yC={type:r.GenericReference,id:"487c9235-be95-4c96-b9b5-2714b374a277",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},hC={type:r.GenericReference,id:"f6471f4f-b269-46fa-80ec-885e87a449c2",entityId:"a4106e8e-ec4f-4633-a636-09ae73135f69",entityType:r.ArgumentDeclaration},fC={type:r.GenericReference,id:"62b4afb0-6c21-4b0f-abd3-cebef7b17c28",entityType:r.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},DT={id:"08f36e2b-bad2-425c-8129-93560bec8488",version:1,type:r.InputMap,declaration:Ra,name:null,description:null,readsValue:hC,dynamicArguments:[],defaultValue:null,index:1,parent:fC},mC={type:r.Operation,id:"8f2094c0-e27e-465e-9280-112da0de9019",declaration:yi,version:1,inputs:[iC,DT],outputs:[uC],process:null,calledByError:[],calledByEntry:[pC],calledBySuccess:[],dynamicArguments:[],successCalls:[PT],errorCalls:[],error:null,x:0,y:0,parent:yC},TC={type:r.GenericReference,id:"c2e0e9b4-aa46-4974-bf8a-886b737b12fb",entityType:r.ArgumentDeclaration,entityId:"a4106e8e-ec4f-4633-a636-09ae73135f69"},EC={id:"a4279518-3bf3-44b7-a2ac-65142ca37f1c",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:TC},RC={type:r.GenericReference,id:"dc273f24-164b-4943-82f9-589b237141e2",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},AT={id:"a4106e8e-ec4f-4633-a636-09ae73135f69",type:r.ArgumentDeclaration,version:1,name:"Company Name to check",description:"The name of the company to check in the government registry",dataType:EC,required:!1,writesValues:[DT],index:0,parent:RC},bC={type:r.GenericReference,id:"2178a10c-1cc0-4dad-97c3-0941be6c9738",entityType:r.Project,entityId:J},ST={type:r.FunctionDeclaration,id:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d",version:1,name:"Check Gov Company Registry availability",description:"Check whether the company name is already registered in the government company registry, or it is available for a new company to use.",inputs:[AT],calls:[mC,tC],returnStatements:[bT],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:bC},vC={type:r.GenericReference,id:"4d66c53c-f0f7-496a-9955-1e6c8533c5e0",entityType:r.Condition,entityId:"a8f4b0f2-5e5e-4e8f-9d7b-1b5b9b6e9a4b"},gC={type:r.GenericReference,id:"6fa0c8e0-d104-4b4d-a035-d4f6e0c49f09",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},IC={type:r.GenericReference,id:"146408d5-5336-4877-941a-777dd5871926",entityType:r.ArgumentDeclaration,entityId:"c6cf620c-1eee-4919-8578-1a0b6c088551"},PC={type:r.GenericReference,id:"34ae8f8c-548d-4654-984a-6f36affdaf49",entityType:r.FunctionCall,entityId:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},OT={id:"69b1215d-9ebf-4274-b9cb-d4a5888f5122",version:1,type:r.InputMap,declaration:AT,name:null,description:null,readsValue:IC,dynamicArguments:[],defaultValue:null,index:0,parent:PC},DC={type:r.GenericReference,id:"07540a94-dda1-40b3-8452-f209bdc87b88",entityType:r.FunctionCall,entityId:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},AC={type:r.GenericReference,id:"eaddf12a-a995-429e-90a0-13bf06efeb28",entityType:r.VariableDeclaration,entityId:"faaf3bf6-917d-40d7-aee6-5164f6646c4b"},SC={id:"7fdaf943-3ffb-48e0-b766-b86cc24090cf",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Un,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:AC},OC={type:r.GenericReference,id:"030fb5c5-af4d-4c85-8cf0-e99edd50d2bd",entityType:r.OutputMap,entityId:"c1ec31f0-25ca-42ac-a4c4-c9ec2255f55b"},CC={type:r.GenericReference,id:"a8b618e9-c68c-48c1-8bd6-ef47c87d699e",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},BC={type:r.GenericReference,id:"is-company-name-valid-var-called-by-ref",entityType:r.FunctionCall,entityId:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},CT={type:r.VariableDeclaration,id:"faaf3bf6-917d-40d7-aee6-5164f6646c4b",version:1,name:"Is name valid",description:"Whether the company name is valid",dataType:SC,readsValue:OC,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[BC],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:CC},wC={id:"c1ec31f0-25ca-42ac-a4c4-c9ec2255f55b",type:r.OutputMap,version:1,declaration:ml,writesValues:[CT],index:0,parent:DC},_C={type:r.FunctionCall,id:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a",version:1,declaration:ST,inputs:[OT],outputs:[wC],calledByError:[],calledByEntry:[],process:null,calledBySuccess:[vC],successCalls:[CT],errorCalls:[],error:null,x:0,y:0,parent:gC},MC={type:r.GenericReference,id:"9d0b87b4-bfed-4e02-9e84-6831c21feae2",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},NC={type:r.GenericReference,id:"74345f4f-e80d-48be-adff-d12fcea25bec",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},$C={type:r.GenericReference,id:"b39279ea-969a-4efb-a9ec-353bfd13db65",entityType:r.ArgumentDeclaration,entityId:"c6cf620c-1eee-4919-8578-1a0b6c088551"},VC={type:r.GenericReference,id:"549db613-f225-4c5b-9634-7d096717f0ff",entityType:r.Condition,entityId:"a8f4b0f2-5e5e-4e8f-9d7b-1b5b9b6e9a4b"},BT={id:"358e242c-7448-442e-ab8b-fd7fa119ea71",version:1,type:r.InputMap,declaration:qn.fixedArguments[0],name:null,description:null,dynamicArguments:[],readsValue:$C,defaultValue:null,index:0,parent:VC},LC={type:r.Condition,id:"a8f4b0f2-5e5e-4e8f-9d7b-1b5b9b6e9a4b",version:1,declaration:qn,inputs:[BT],calledByError:[],calledByEntry:[MC],calledBySuccess:[],successCalls:[_C],errorCalls:[],x:0,y:0,parent:NC},GC={type:r.GenericReference,id:"43ba1e25-f805-488f-8ae8-c58bb6215b2f",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},FC={type:r.GenericReference,id:"eb091bed-507f-4a1e-93b5-7cd2fccfe002",entityType:r.VariableDeclaration,entityId:"9c928995-0dd5-4f97-9962-56b343bc8a45"},UC={id:"d64152ea-831f-4426-9506-a39bfa170513",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Gr,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:FC},xC={type:r.GenericReference,id:"7e79c29f-f7bd-441a-a77e-c627604dae94",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},jC={type:r.GenericReference,id:"8995ce5f-d5cf-4341-a8b1-5c046cc78b89",entityType:r.ArgumentDeclaration,entityId:"7ed0f7bb-2df0-44e2-b0b3-0709dcca8071"},kC={type:r.GenericReference,id:"new-company-bank-account-var-decl-1-called-by-ref",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},wT={type:r.VariableDeclaration,id:"9c928995-0dd5-4f97-9962-56b343bc8a45",version:1,name:"New bank account",description:"The new entity value representing the new bank account of the company",dataType:UC,readsValue:jC,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[kC],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:xC},qC={type:r.GenericReference,id:"9a4887bf-d50d-43e4-bdd5-a5262f65f04b",entityType:r.ArgumentDeclaration,entityId:"7ed0f7bb-2df0-44e2-b0b3-0709dcca8071"},JC={id:"ae148c06-3143-49e9-9614-c3aca3f6fa7b",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Gr,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:qC},WC={id:"7ed0f7bb-2df0-44e2-b0b3-0709dcca8071",type:r.ArgumentDeclaration,version:1,name:"New bank account",description:"The new bank account of the company",dataType:JC,required:!0,index:1,writesValues:[wT],parent:GC},HC={type:r.GenericReference,id:"caec9cf8-3133-48d4-a390-114fa71b2933",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},YC={type:r.GenericReference,id:"cebcbad8-ca87-4c4b-be8a-312293d49892",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},zC={type:r.GenericReference,id:"7b8ccfe5-f9cd-4776-a19b-80c689bbe3df",entityType:r.ArgumentDeclaration,entityId:"c6cf620c-1eee-4919-8578-1a0b6c088551"},ZC={id:"2a6b4703-ac8d-4d25-8abd-48a115577fec",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:zC},XC={id:"c6cf620c-1eee-4919-8578-1a0b6c088551",type:r.ArgumentDeclaration,version:1,name:"New company name",description:null,dataType:ZC,required:!0,index:0,writesValues:[BT,OT],parent:YC},QC={type:r.FunctionDeclaration,id:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84",version:1,name:"Company changed event",description:"The event that is triggered when a company is changed",returnStatements:[],collapsed:!1,inputs:[XC,WC],calls:[LC,wT],index:1,private:!1,implements:null,x:0,y:0,parent:HC},KC={type:r.GenericReference,id:"employee-manager-property-data-type-entity-ref-id",entityType:r.CustomEntity,entityId:"employee-entity-id"},eB={type:r.GenericReference,id:"employee-manager-property-data-type-parent-ref-id",entityType:r.Property,entityId:"employee-manager-property-id"},tB={id:"employee-manager-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:KC,isList:!1,isNullable:!0,asType:!1,defaultValue:null,constant:!1,parent:eB},nB={type:r.GenericReference,id:"employee-manager-property-parent-ref-id",entityType:r.CustomEntity,entityId:"employee-entity-id"},rB={required:!0,type:r.Property,id:"employee-manager-property-id",version:1,name:"Manager",description:"The manager of the employee",index:0,implements:null,private:!1,static:!1,dataType:tB,abstract:!1,parent:nB},iB={type:r.GenericReference,id:"employee-start-date-property-data-type-parent-ref-id",entityType:r.Property,entityId:"employee-start-date-property-id"},aB={id:"employee-start-date-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Or,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:iB},sB={type:r.GenericReference,id:"employee-start-date-property-parent-ref-id",entityType:r.CustomEntity,entityId:"employee-entity-id"},oB={required:!0,type:r.Property,id:"employee-start-date-property-id",version:1,name:"Start date",description:"The date the employee started working in the company",index:0,private:!1,static:!1,implements:null,dataType:aB,abstract:!1,parent:sB},lB={type:r.GenericReference,id:"employee-department-property-ref-id",entityType:r.Property,entityId:"employee-department-property-id"},cB={id:"employee-department-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rn,isList:!1,isNullable:!1,asType:!1,options:["Human Resources","Finance","IT","Sales","Marketing","Customer Service","Logistics","Product"],defaultValue:null,constant:!1,parent:lB},dB={type:r.GenericReference,id:"employee-department-property-parent-ref-id",entityType:r.CustomEntity,entityId:"employee-entity-id"},uB={required:!0,type:r.Property,id:"employee-department-property-id",version:1,name:"Department",description:"The department the employee works in, from a list of departments in the company",index:0,implements:null,static:!1,private:!1,dataType:cB,abstract:!1,parent:dB},pB={type:r.GenericReference,id:"employee-prototype-parent-ref-id",entityType:r.Project,entityId:J},It={type:r.CustomEntity,id:"employee-entity-id",version:1,name:"Employee",description:"A entity that represents an employee in the company",properties:[uB,oB,rB],abstract:!1,static:!1,abstractMethods:[],methods:[],implements:[],extends:[ct],x:0,y:0,parent:pB},yB={type:r.GenericReference,id:"dec8fbfe-9124-41fd-9f1c-5b2f07cfd6ba",entityType:r.Property,entityId:"4f52d044-f3dd-4bdf-927e-637c3b92e8bd"},hB={id:"bc0b8979-6c43-4d47-a712-6742b89e3c00",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:yB},fB={type:r.GenericReference,id:"4f8c0a05-466e-4672-b4c4-6bd408c0be9a",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},mB={required:!0,type:r.Property,id:"4f52d044-f3dd-4bdf-927e-637c3b92e8bd",version:1,name:"Company Name",private:!1,static:!1,description:"The name of the company",index:0,implements:null,dataType:hB,abstract:!1,parent:fB},TB={type:r.GenericReference,id:"95173fe0-a6e6-443c-94f3-f7c5cf171fcf",entityType:r.Property,entityId:"80c86e1b-caca-4ba5-9b1f-38f72d10e4a3"},EB={id:"ddbb6f5c-0cf4-41fb-83b3-b6c47c0e338d",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Gr,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:TB},RB={type:r.GenericReference,id:"6a9a0b72-a05d-4169-b3f3-5afb01e8d0df",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},Tl={required:!0,type:r.Property,id:"80c86e1b-caca-4ba5-9b1f-38f72d10e4a3",version:1,name:"Bank account",description:"The bank account of the company",index:1,implements:null,static:!1,private:!1,dataType:EB,abstract:!1,parent:RB},bB={type:r.GenericReference,id:"62892cc6-d227-4088-90d3-ae7c15ed4af4",entityType:r.Property,entityId:"19a31727-1fba-40a5-be25-18e0f149d5cb"},vB={id:"1f7629df-dc29-4c89-8369-c6d043e97a9e",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:bB},gB={type:r.GenericReference,id:"89384206-fd5a-4f0a-849c-f777473e5773",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},IB={required:!0,type:r.Property,id:"19a31727-1fba-40a5-be25-18e0f149d5cb",version:1,name:"Company Owner",description:"The person that owns the company",index:2,static:!1,implements:null,dataType:vB,private:!0,abstract:!1,parent:gB},PB={type:r.GenericReference,id:"4d2ffb6c-5f38-436e-8339-fb9878ac2b5e",entityType:r.Property,entityId:"f8310850-a87e-405c-b182-4f1d5fa49240"},DB={id:"ad44250b-40c2-48f7-a480-381fa938f562",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:It,isList:!0,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:PB},AB={type:r.GenericReference,id:"aa5d4eee-6fac-4e72-bf21-9c8750024541",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},SB={required:!0,type:r.Property,id:"f8310850-a87e-405c-b182-4f1d5fa49240",version:1,name:"Employees",description:null,index:3,dataType:DB,implements:null,private:!0,static:!1,abstract:!1,parent:AB},OB={type:r.GenericReference,id:"e3c03b6b-2ea0-4d99-865d-5e6a348672d0",entityType:r.Project,entityId:J},mt={type:r.CustomEntity,id:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d",version:1,name:"Company",description:null,properties:[mB,Tl,IB,SB],static:!1,abstract:!1,abstractMethods:[],methods:[mO,QC],extends:[],implements:[Be],x:0,y:0,parent:OB},CB={type:r.GenericReference,id:"ffcad334-138d-4b67-8fb3-5f0e6f5fefbd",entityType:r.Project,entityId:J},El={type:r.FunctionDeclaration,id:"0f89260c-8c58-4639-8629-d9ea5ab40ba7",version:1,name:"Show popup",description:null,inputs:[],calls:[],returnStatements:[],implements:null,collapsed:!1,private:!1,index:null,x:0,y:0,parent:CB};r.GenericReference,r.DataType;const BB={id:"cron-job-entity-expression-property-ref-id",type:r.GenericReference,entityId:"cron-job-entity-expression-property-id",entityType:r.Property},wB={id:"cron-job-entity-expression-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:BB},_B={id:"cron-job-entity-ref-id",type:r.GenericReference,entityId:"cron-job-entity-id",entityType:r.CustomEntity},MB={required:!0,id:"cron-job-entity-expression-property-id",type:r.Property,version:1,name:"Cron expression",description:"The cron expression that defines when the cron job should be triggered",dataType:wB,implements:null,static:!0,private:!1,abstract:!1,index:0,parent:_B},NB={id:"cron-job-entity-trigger-show-popup-func-call-called-by-ref-one-id",type:r.GenericReference,entityId:"show-popup-func-decl-id",entityType:r.FunctionDeclaration},$B={id:"cron-job-entity-trigger-show-popup-func-call-parent-ref-id",type:r.GenericReference,entityId:"cron-job-entity-trigger-func-decl-id",entityType:r.FunctionDeclaration},VB={id:"cron-job-entity-trigger-show-popup-func-call-id",version:1,type:r.FunctionCall,declaration:El,inputs:[],outputs:[],process:null,successCalls:[],calledByError:[],calledByEntry:[NB],calledBySuccess:[],errorCalls:[],error:null,x:0,y:0,parent:$B},LB={id:"cron-job-entity-trigger-func-decl-parent-ref-id",type:r.GenericReference,entityId:"cron-job-entity-id",entityType:r.CustomEntity},GB={id:"cron-job-entity-trigger-func-decl-id",version:1,type:r.FunctionDeclaration,name:"Scheduled trigger",description:"The function that is called when the cron job is triggered",inputs:[],private:!1,implements:qo,calls:[VB],collapsed:!1,returnStatements:[],index:0,x:0,y:0,parent:LB},FB={id:"cron-job-entity-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},UB={id:"cron-job-entity-id",version:1,type:r.CustomEntity,name:"Run at 12pm on Christmas day",description:"A cron job that runs at 12pm on Christmas day",properties:[MB],static:!0,abstract:!1,abstractMethods:[],extends:[Jo],implements:[],methods:[GB],x:0,y:0,parent:FB},xB={type:r.GenericReference,id:"52dbd85c-48b1-462a-8205-2437d6fb1cb4",entityType:r.Project,entityId:J},jB={type:r.CustomEntity,id:"6f0908c2-09c6-4a8b-8f43-d2467fe6fb39",version:1,name:"Get bank all bank accounts",description:null,properties:[],static:!0,abstract:!1,abstractMethods:[],methods:[],extends:[],implements:[Oa],x:0,y:0,parent:xB},_T="f558fbf8-67de-4545-9804-6ae621e0b2d4",kB={id:"getCompanyByIdEndpointPathParamsVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointPathParamsVariableDataType"},qB={id:"getCompanyByIdEndpointPathParamsArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"getCompanyByIdEndpointPathParamsArgumentDeclaration"},JB={id:"getCompanyByIdEndpointPathParamsVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:F,asType:!1,defaultValue:{id:"getCompanyByIdEndpointPathParamsVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:kB,autogeneration:null,valueAsType:null},parent:qB},WB={id:"getCompanyByIdEndpointReachedEntityEventRef",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},HB={id:"getCompanyByIdEndpointRequestHeadersVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointRequestHeadersVariableDataType"},YB={id:"getCompanyByIdEndpointRequestHeadersArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"getCompanyByIdEndpointRequestHeadersArgumentDeclaration"},zB={id:"getCompanyByIdEndpointRequestHeadersVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Xe,asType:!1,defaultValue:{id:"getCompanyByIdEndpointRequestHeadersVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:HB,autogeneration:null,valueAsType:null},parent:YB},ZB={id:"getCompanyByIdEndpointRequestHeadersArgumentDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the request.",type:r.ArgumentDeclaration,writesValues:[],name:"Request headers",dataType:zB,required:!0,index:0,parent:WB},XB={id:"getCompanyByIdEndpointReachedEntityEventRefTwo",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},QB={id:"getCompanyByIdEndpointPathParamsArgumentDeclaration",type:r.ArgumentDeclaration,description:"A standarized text, without spaces that is added at the end of the domain and routes the request to a specific resource within the target server. For example: /api/users/123, /api/users/123/:name, /api/users/123/:name/:age.",version:1,name:"Path parameters",writesValues:[],dataType:JB,required:!0,index:1,parent:XB},KB={id:"getCompanyByIdEndpointReachedEntityEventRefThree",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},ew={id:"getCompanyByIdEndpointRequestQueryParamsVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointRequestQueryParamsVariableDataType"},tw={id:"getCompanyByIdEndpointRequestQueryParamsArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"getCompanyByIdEndpointRequestQueryParamsArgumentDeclaration"},nw={id:"getCompanyByIdEndpointRequestQueryParamsVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,asType:!1,entity:F,defaultValue:{id:"getCompanyByIdEndpointRequestQueryParamsVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:ew,autogeneration:null,valueAsType:null},parent:tw},rw={id:"getCompanyByIdEndpointRequestQueryParamsArgumentDeclaration",version:1,description:"A text with standarized format, without spaces that is added at the end of the URL path, after the ? character. It contains data that might be used to process the request. For example: /api/users?name=John&age=30",type:r.ArgumentDeclaration,writesValues:[],name:"Request query params",dataType:nw,required:!0,index:2,parent:KB},iw={id:"getCompanyByIdEndpointReachedEntityEventRefFour",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},aw={id:"getCompanyByIdEndpointRequestBodyArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"getCompanyByIdEndpointRequestBodyArgumentDeclaration"},sw={id:"getCompanyByIdEndpointRequestBodyVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:Xe,defaultValue:null,parent:aw},ow={id:"getCompanyByIdEndpointRequestBodyArgumentDeclaration",version:1,description:"The main data payload of the request.",type:r.ArgumentDeclaration,writesValues:[],name:"Request body",dataType:sw,index:3,required:!0,parent:iw},lw={id:"getCompanyByIdEndpointResponseCodeReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"getCompanyByIdEndpointResponseCodeReturnDeclaration"},cw={id:"9ba575b0-6f8e-436d-a3de-3b843622aa17",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:lw},dw={id:"getCompanyByIdEndpointReturnStatementRef",type:r.GenericReference,entityType:r.ReturnStatement,entityId:"getCompanyByIdEndpointReturnStatement"},uw={isError:!1,id:"getCompanyByIdEndpointResponseCodeReturnDeclaration",version:1,description:"A standarized number that represents the status of the response. 200 for OK, 404 for not found, 500 for server error, etc.",type:r.ReturnDeclaration,name:"Response code",dataType:cw,readsValue:null,required:!0,index:0,parent:dw},pw={id:"getCompanyByIdEndpointResponseHeadersDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointResponseHeadersDataType"},yw={id:"getCompanyByIdEndpointResponseHeadersReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"getCompanyByIdEndpointResponseHeadersReturnDeclaration"},hw={id:"getCompanyByIdEndpointResponseHeadersDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Xe,asType:!1,defaultValue:{id:"getCompanyByIdEndpointResponseHeadersDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:pw,autogeneration:null,valueAsType:null},parent:yw},fw={id:"getCompanyByIdEndpointReturnStatementRefTwo",type:r.GenericReference,entityType:r.ReturnStatement,entityId:"getCompanyByIdEndpointReturnStatement"},mw={isError:!1,id:"getCompanyByIdEndpointResponseHeadersReturnDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the response.",type:r.ReturnDeclaration,name:"Response headers",dataType:hw,readsValue:null,required:!0,index:1,parent:fw},Tw={id:"getCompanyByIdEndpointResponseBodyReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"getCompanyByIdEndpointResponseBodyReturnDeclaration"},Ew={id:"getCompanyByIdEndpointResponseBodyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:Xe,defaultValue:null,parent:Tw},Rw={id:"getCompanyByIdEndpointReturnStatementRefThree",type:r.GenericReference,entityType:r.ReturnStatement,entityId:"getCompanyByIdEndpointReturnStatement"},bw={isError:!1,id:"getCompanyByIdEndpointResponseBodyReturnDeclaration",version:1,description:"The main data payload of the response.",type:r.ReturnDeclaration,name:"Response body",dataType:Ew,readsValue:null,required:!0,index:2,parent:Rw},vw={id:"getCompanyByIdEndpointReturnStatementCallerRef",type:r.GenericReference,entityId:"getCompanyByIdEndpointReachedEntityEvent",entityType:r.FunctionDeclaration},gw={id:"getCompanyByIdEndpointReachedEntityEventRefFive",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},Iw={id:"getCompanyByIdEndpointReturnStatement",type:r.ReturnStatement,version:1,outputs:[uw,mw,bw],calledByError:[],calledByEntry:[vw],calledBySuccess:[],throws:null,x:0,y:0,parent:gw},Pw={id:"endpointBuiltInBaseEntityRefFour",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_T},Dw={id:"getCompanyByIdEndpointReachedEntityEvent",name:"Endpoint reached",version:1,type:r.FunctionDeclaration,inputs:[ZB,QB,rw,ow],returnStatements:[Iw],description:"Fired when the endpoint is reached.",calls:[],collapsed:!1,implements:jo,index:0,private:!1,x:0,y:0,parent:Pw},Aw={id:"getCompanyByIdEndpointPathPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointPathPropertyDataType"},Sw={id:"getCompanyByIdEndpointPathPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:"getCompanyByIdEndpointPathProperty"},Ow={id:"getCompanyByIdEndpointPathPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"getCompanyByIdEndpointPathPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.String,value:"/company/{id}",parent:Aw,valueAsType:null,autogeneration:null},parent:Sw},Cw={id:"getCompanyByIdEndpointBaseEntityRefTwo",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},Bw={required:!0,id:"getCompanyByIdEndpointPathProperty",name:"Path",version:1,type:r.Property,private:!1,abstract:!1,static:!0,implements:Uo,dataType:Ow,index:1,description:"Path to the endpoint, for example /api/users, or /api/users/{id}, or /api/users/{id}/:name. The path can contain parameters, which are defined by curly braces, and will be passed to the endpoint event as variables with the same name.",parent:Cw},ww={id:"getCompanyByIdEndpointMethodPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointMethodPropertyDataType"},_w={id:"getCompanyByIdEndpointMethodPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:"getCompanyByIdEndpointMethodProperty"},Mw={id:"getCompanyByIdEndpointMethodPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Rn,isList:!0,isNullable:!1,constant:!0,asType:!1,defaultValue:{id:"getCompanyByIdEndpointMethodPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,value:"GET",name:g.Enum,parent:ww,valueAsType:null,autogeneration:null},options:["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","TRACE","CONNECT","CUSTOM"],parent:_w},Nw={id:"getCompanyByIdEndpointBaseEntityRefThree",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},$w={required:!0,id:"getCompanyByIdEndpointMethodProperty",name:"Method",version:1,type:r.Property,private:!1,abstract:!1,static:!0,implements:xo,index:0,dataType:Mw,description:null,parent:Nw},Vw={type:r.GenericReference,id:"6a905153-8aa8-4424-bd7b-6415731a2725",entityType:r.Project,entityId:J},Lw={type:r.CustomEntity,id:_T,version:1,name:"Get given company data by id",description:null,properties:[Bw,$w],methods:[Dw],static:!0,abstract:!1,abstractMethods:[],extends:[],implements:[Oa],x:0,y:0,parent:Vw},Gw={id:"product-prototype-database-property-ref-id",type:r.GenericReference,entityId:"product-prototype-database-property-id",entityType:r.Property},Fw={id:"product-prototype-database-property-data-type-default-value-parent-ref-id",type:r.GenericReference,entityId:"product-prototype-database-property-data-type-default-value-id",entityType:r.DataType},Uw={id:"product-prototype-database-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:bn,asType:!1,defaultValue:{id:"product-prototype-database-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,value:null,name:g.EntityTemplate,valueAsType:yl,autogeneration:null,parent:Fw},parent:Gw},xw={id:"product-prototype-database-property-parent-ref-id",type:r.GenericReference,entityId:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",entityType:r.CustomEntity},jw={required:!0,id:"product-prototype-database-property-id",name:"Database",version:1,type:r.Property,private:!1,abstract:!1,implements:Ti,static:!0,index:0,dataType:Uw,description:"The database that the entity belongs to.",parent:xw},kw={type:r.GenericReference,id:"13a4045e-dcb0-4159-8d33-10a646078b5a",entityType:r.Property,entityId:"d519c26a-15b8-40d8-ad09-13fa9342e9ba"},qw={id:"7449779e-1d4e-409c-81c6-4b611336ed18",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:kw},Jw={type:r.GenericReference,id:"0969562f-d836-406f-8b48-dd9d417fbe72",entityType:r.CustomEntity,entityId:"a2d0ec83-72ce-4f54-b059-a39e018fa86c"},Ww={required:!0,type:r.Property,id:"d519c26a-15b8-40d8-ad09-13fa9342e9ba",version:1,name:"Name",description:"The name of the product",index:0,implements:null,static:!1,private:!1,dataType:qw,abstract:!1,parent:Jw},Hw={type:r.GenericReference,id:"833a5425-7bd0-41dd-9e97-e018acce9592",entityType:r.Project,entityId:J},Yw={type:r.CustomEntity,id:"a2d0ec83-72ce-4f54-b059-a39e018fa86c",version:1,name:"Product",description:"A product that can be sold",implements:[Be],extends:[],abstract:!1,static:!1,abstractMethods:[],properties:[jw,Ww],methods:[],x:0,y:0,parent:Hw},Gi="project-loaded-event-id",Wt="get-bitcoin-price-http-call-operation-id",MT="get-bitcoin-price-http-call-response-body-id",ls="validate-bitcoin-price-response-operation-ids",zw={type:r.GenericReference,id:"validate-bitcoin-data-to-validate-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:MT},Zw={type:r.GenericReference,id:"validate-bitcoin-data-to-validate-input-map-parent-ref-id",entityType:r.Operation,entityId:ls},NT={id:"validate-bitcoin-data-to-validate-input-map-id",type:r.InputMap,version:1,declaration:jn.fixedArguments[1],name:null,description:null,readsValue:zw,defaultValue:null,dynamicArguments:[],index:0,parent:Zw},Xw={type:r.GenericReference,id:"validate-bitcoin-type-to-match-input-map-default-value-parent-ref-id",entityType:r.InputMap,entityId:"validate-bitcoin-type-to-match-input-map-id"},Qw={type:r.GenericReference,id:"validate-bitcoin-type-to-match-input-map-parent-ref-id",entityType:r.Operation,entityId:ls},Kw={id:"validate-bitcoin-type-to-match-input-map-id",type:r.InputMap,version:1,declaration:jn.fixedArguments[0],name:null,description:null,readsValue:null,defaultValue:{id:"validate-bitcoin-type-to-match-input-map-default-value-id",type:r.PrimitiveValue,version:1,name:g.EntityTemplate,valueAsType:TT,value:null,parent:Xw,autogeneration:null},dynamicArguments:[],index:0,parent:Qw},e_={type:r.GenericReference,id:"validate-bitcoin-validated-entity-output-map-parent-ref-id",entityType:r.Operation,entityId:ls},t_={id:"validate-bitcoin-validated-entity-output-map-id",type:r.OutputMap,version:1,declaration:jn.fixedReturns[0],writesValues:[],index:0,parent:e_},n_={type:r.GenericReference,id:"validate-bitcoin-price-response-operation-parent-ref-id",entityType:r.GlobalEvent,entityId:Gi},r_={type:r.GenericReference,id:"validate-bitcoin-price-response-operation-called-by-ref-id",entityType:r.Operation,entityId:Wt},i_={type:r.Operation,id:ls,version:1,declaration:jn,inputs:[Kw,NT],outputs:[t_],process:null,dynamicArguments:[],successCalls:[],errorCalls:[],error:null,x:0,y:0,calledByError:[],calledByEntry:[],calledBySuccess:[r_],parent:n_},a_={type:r.GenericReference,id:"96edb661-3f36-406c-8921-f1679dd796a3",entityType:r.FunctionCall,entityId:Wt},s_={id:"c93e1393-9b5e-4de2-b8da-7eae647d715a",version:1,type:r.InputMap,declaration:va,name:null,description:null,readsValue:null,defaultValue:null,dynamicArguments:[],index:0,parent:a_},o_={type:r.GenericReference,id:"40312b28-71b8-4b01-a654-58b87191939d",entityType:r.FunctionCall,entityId:Wt},l_={type:r.GenericReference,id:"6ea96c7d-02a7-4971-82ad-2f32a0fec8b4",entityType:r.InputMap,entityId:"9f21cbac-5a83-4983-8923-9224ffd3ba9f"},c_={id:"9f21cbac-5a83-4983-8923-9224ffd3ba9f",version:1,type:r.InputMap,declaration:ga,name:null,description:null,readsValue:null,defaultValue:{id:"get-bitcoin-price-http-request-url-argument-default-value-id",type:r.PrimitiveValue,version:1,value:"https://api.coindesk.com/v1/bpi/currentprice.json",name:g.String,parent:l_,valueAsType:null,autogeneration:null},index:1,dynamicArguments:[],parent:o_},d_={type:r.GenericReference,id:"2610bf4a-c8a2-4746-b6cc-eb15f7fa8e9c",entityType:r.FunctionCall,entityId:Wt},u_={id:"ffb3cd9d-c955-4104-bc7b-299120fe4ede",version:1,type:r.InputMap,declaration:Ia,name:null,description:null,readsValue:null,dynamicArguments:[],defaultValue:null,index:2,parent:d_},p_={type:r.GenericReference,id:"bfd29a6a-671a-448c-9f2f-f8c7e4ad8349",entityType:r.FunctionCall,entityId:Wt},y_={id:"412bf1f3-1a8e-4665-a95f-82117540e34e",version:1,type:r.InputMap,declaration:Pa,name:null,description:null,readsValue:null,dynamicArguments:[],defaultValue:null,index:3,parent:p_},h_={type:r.GenericReference,id:"616a15f3-c224-4b11-b95c-63314edef409",entityType:r.FunctionCall,entityId:Wt},f_={id:"4dd4651c-02e4-45f1-b50f-824f3bcb1648",version:1,type:r.OutputMap,declaration:Da,writesValues:[],index:1,parent:h_},m_={type:r.GenericReference,id:"28793b68-4d7e-4826-aee1-f201a3499faf",entityType:r.FunctionCall,entityId:Wt},T_={id:"94fe9d35-4dd4-4729-a50c-5283ccd7e661",version:1,type:r.OutputMap,declaration:Lo,writesValues:[],index:0,parent:m_},E_={type:r.GenericReference,id:"f13e04b2-49b4-4c69-85b8-cbbafafa3524",entityType:r.FunctionCall,entityId:Wt},R_={id:MT,type:r.OutputMap,version:1,declaration:hi,writesValues:[NT],index:2,parent:E_},b_={type:r.GenericReference,id:"6148d6d0-caaa-45fc-b601-ff2493dfc60f",entityType:r.FunctionDeclaration,entityId:Wt},v_={type:r.GenericReference,id:"b115f084-807b-44b3-ae01-b69cc342f761",entityType:r.GlobalEvent,entityId:Gi},g_={type:r.Operation,id:Wt,version:1,declaration:fi,inputs:[s_,c_,u_,y_],outputs:[T_,f_,R_],process:null,parent:v_,calledByError:[],calledByEntry:[b_],calledBySuccess:[],dynamicArguments:[],successCalls:[i_],errorCalls:[],error:null,x:0,y:0},I_={type:r.GenericReference,id:"24e76019-3f94-475b-91ce-297f76bbc224",entityType:r.GlobalEvent,entityId:Gi},P_={type:r.GenericReference,id:"0eac8e29-cdf2-42f8-8ea7-ad76d4d79abe",entityType:r.GlobalEvent,entityId:Gi},D_={process:null,type:r.FunctionCall,id:"2d2e7593-bfbf-457c-a607-5fce18eef457",version:1,declaration:El,inputs:[],outputs:[],calledByError:[],calledByEntry:[I_],calledBySuccess:[],parent:P_,successCalls:[],errorCalls:[],error:null,x:0,y:0},A_={id:"793b5999-a9da-47fb-9665-0c17ebc6d5c9",type:r.GenericReference,entityType:r.Project,entityId:"2e7eb5382-3d99-44fd-972a-b8b1e819f6be"},S_={type:r.GlobalEvent,id:Gi,version:1,name:Kt.PROJECT_PUBLICATION_COMPLETED,returnStatements:[],collapsed:!1,implements:Ma,parent:A_,inputs:[],calls:[D_,g_],x:0,y:0},Bt="abort-execution-func-declaration-id",Fi="abort-execution-func-exec-var-declaration-id",cs="abort-execution-func-small-wait-op-id",Rl="abort-execution-func-long-wait-op-id",$T="abort-execution-func-long-wait-process-output-id",VT="abort-execution-func-exec-var-instance-write-id",LT="abort-execution-func-long-wait-return-stmt-id",GT="abort-execution-func-small-wait-return-stmt-id",O_="abort-execution-func-exec-var-instance-abort-call-id",bl="abort-execution-func-exec-var-instance-abort-internal-call-id",FT="abort-execution-func-exec-second-wait-op-id",C_={type:r.GenericReference,id:"short-wait-return-statement-returned-hello-string-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:"short-wait-return-statement-returned-hello-string-id"},B_={type:r.GenericReference,id:"short-wait-return-statement-returned-hello-string-data-type-default-value-parent-ref-id",entityType:r.DataType,entityId:"short-wait-return-statement-returned-hello-string-data-type-id"},w_={id:"short-wait-return-statement-returned-hello-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:{id:"short-wait-return-statement-returned-hello-string-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:"Hello 2",autogeneration:null,valueAsType:null,parent:B_},constant:!1,parent:C_},__={type:r.GenericReference,id:"short-wait-return-statement-returned-hello-string-parent-ref-id",entityType:r.ReturnStatement,entityId:GT},M_={isError:!1,id:"short-wait-return-statement-returned-hello-string-id",type:r.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:w_,readsValue:null,required:!0,index:0,parent:__},N_={type:r.GenericReference,id:"short-wait-return-statement-called-by-ref-id",entityType:r.Operation,entityId:cs},$_={type:r.GenericReference,id:"short-wait-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},UT={type:r.ReturnStatement,id:GT,version:1,outputs:[M_],calledByError:[],calledByEntry:[],calledBySuccess:[N_],throws:null,x:0,y:0,parent:$_},V_={type:r.GenericReference,id:"second-wait-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:"second-wait-argument-map-id"},L_={type:r.GenericReference,id:"second-wait-argument-map-parent-ref-id",entityType:r.Operation,entityId:FT},G_={id:"second-wait-argument-map-id",type:r.InputMap,version:1,declaration:xn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"second-wait-argument-default-value-id",type:r.PrimitiveValue,version:1,value:2e3,valueAsType:null,autogeneration:null,name:g.Number,parent:V_},index:0,parent:L_},F_={type:r.GenericReference,id:"small-wait-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},U_={type:r.GenericReference,id:"small-wait-called-by-ref-one-id",entityType:r.InternalCall,entityId:bl},x_={id:FT,type:r.Operation,version:1,declaration:ot,inputs:[G_],dynamicArguments:[],outputs:[],process:null,successCalls:[UT],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[],calledBySuccess:[U_],error:null,parent:F_},j_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-abort-internal-call-called-by-ref-one-id",entityType:r.VariableInstance,entityId:VT},k_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-abort-internal-call-called-by-ref-two-id",entityType:r.Operation,entityId:cs},q_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-main-project-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},J_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-declaration-ref-id",entityType:r.VariableDeclaration,entityId:Fi},W_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-internal-call-ref-one-id",entityType:r.InternalCall,entityId:bl},H_={id:O_,type:r.VariableInstance,version:1,declaration:J_,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[W_],parent:q_},xT={id:bl,type:r.InternalCall,version:1,inputs:[],outputs:[],declaration:Wo,process:null,calledByError:[],calledByEntry:[],calledBySuccess:[j_,k_],successCalls:[x_],errorCalls:[],error:null,index:0,parent:H_},Y_={type:r.GenericReference,id:"abort-exec-func-var-write-instance-main-project-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},z_={type:r.GenericReference,id:"abort-exec-func-var-write-instance-called-by-ref-one-id",entityType:r.VariableDeclaration,entityId:Fi},Z_={type:r.GenericReference,id:"abort-exec-func-var-write-instance-called-by-ref-two-id",entityType:r.FunctionDeclaration,entityId:Bt},X_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-declaration-ref-id",entityType:r.VariableDeclaration,entityId:Fi},Q_={type:r.GenericReference,id:"abort-exec-func-var-write-instance-reads-value-ref-id",entityType:r.OutputMap,entityId:$T},vl={id:VT,type:r.VariableInstance,version:1,declaration:X_,inputs:[],outputs:[],calledByError:[],calledByEntry:[Z_],calledBySuccess:[z_],successCalls:[xT],errorCalls:[],x:0,y:0,readsValue:Q_,writesValues:[],internalCalls:[],parent:Y_},K_={type:r.GenericReference,id:"abort-exec-func-var-decl-datatype-parent-ref-id",entityType:r.VariableDeclaration,entityId:Fi};r.GenericReference,r.DataType;const eM={id:"abort-exec-func-var-decl-datatype-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Ho,version:1,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:K_,defaultValue:null},tM={type:r.GenericReference,id:"abort-exec-func-var-decl-main-project-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},nM={type:r.GenericReference,id:"abort-exec-func-var-decl-called-by-ref-one-id",entityType:r.FunctionDeclaration,entityId:Bt},rM={id:Fi,type:r.VariableDeclaration,version:1,name:"Execution in progress",description:"A variable that holds an ongoing execution to abort it if needed",dataType:eM,inputs:[],outputs:[],calledByError:[],calledByEntry:[nM],calledBySuccess:[],successCalls:[vl],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:tM},iM={type:r.GenericReference,id:"long-wait-return-statement-returned-hello-string-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:"long-wait-return-statement-returned-hello-string-id"},aM={type:r.GenericReference,id:"long-wait-return-statement-returned-hello-string-data-type-default-value-parent-ref-id",entityType:r.DataType,entityId:"long-wait-return-statement-returned-hello-string-data-type-id"},sM={id:"long-wait-return-statement-returned-hello-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:{id:"long-wait-return-statement-returned-hello-string-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:"Hello 1",autogeneration:null,valueAsType:null,parent:aM},constant:!1,parent:iM},oM={type:r.GenericReference,id:"long-wait-return-statement-returned-hello-string-parent-ref-id",entityType:r.ReturnStatement,entityId:LT},lM={isError:!1,id:"long-wait-return-statement-returned-hello-string-id",type:r.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:sM,readsValue:null,required:!0,index:0,parent:oM},cM={type:r.GenericReference,id:"long-wait-return-statement-called-by-ref-id",entityType:r.Operation,entityId:Rl},dM={type:r.GenericReference,id:"long-wait-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},jT={type:r.ReturnStatement,id:LT,version:1,outputs:[lM],calledByError:[],calledByEntry:[],calledBySuccess:[cM],throws:null,x:0,y:0,parent:dM},uM={type:r.GenericReference,id:"long-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:"long-argument-map-id"},kT={type:r.GenericReference,id:"long-argument-map-parent-ref-id",entityType:r.Operation,entityId:Rl},pM={id:"long-argument-map-id",type:r.InputMap,version:1,declaration:xn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"long-argument-default-value-id",type:r.PrimitiveValue,version:1,value:1500,valueAsType:null,autogeneration:null,name:g.Number,parent:uM},index:0,parent:kT},yM={type:r.GenericReference,id:"long-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},hM={type:r.GenericReference,id:"long-called-by-ref-one-id",entityType:r.FunctionDeclaration,entityId:Bt},fM={id:$T,type:r.OutputMap,version:1,declaration:zo,writesValues:[vl],index:0,parent:kT},mM={id:Rl,type:r.Operation,version:1,declaration:ot,inputs:[pM],dynamicArguments:[],outputs:[],process:fM,successCalls:[jT],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[hM],calledBySuccess:[],error:null,parent:yM},TM={type:r.GenericReference,id:"small-wait-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:"small-wait-argument-map-id"},EM={type:r.GenericReference,id:"small-wait-argument-map-parent-ref-id",entityType:r.Operation,entityId:cs},RM={id:"small-wait-argument-map-id",type:r.InputMap,version:1,declaration:xn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"small-wait-argument-default-value-id",type:r.PrimitiveValue,version:1,value:500,valueAsType:null,autogeneration:null,name:g.Number,parent:TM},index:0,parent:EM},bM={type:r.GenericReference,id:"small-wait-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},vM={type:r.GenericReference,id:"small-wait-called-by-ref-one-id",entityType:r.FunctionDeclaration,entityId:Bt},gM={id:cs,type:r.Operation,version:1,declaration:ot,inputs:[RM],dynamicArguments:[],outputs:[],process:null,successCalls:[xT],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[vM],calledBySuccess:[],error:null,parent:bM},IM={type:r.GenericReference,id:"abort-execution-func-decl-parent-ref-id",entityType:r.Project,entityId:J},qT={id:"abort-execution-func-decl-id",type:r.FunctionDeclaration,version:1,name:"Test aborting execution",description:"Executes a wait and then aborts the execution of that wait",inputs:[],returnStatements:[jT,UT],calls:[gM,rM,vl,mM],implements:null,private:!1,collapsed:!1,index:null,x:0,y:0,parent:IM},PM={type:r.GenericReference,id:"call-execution-abort-func-parent-ref-id",entityType:r.Project,entityId:J},DM={id:"call-execution-abort-func-id",type:r.FunctionCall,version:1,declaration:qT,inputs:[],process:null,outputs:[],successCalls:[],errorCalls:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[],x:0,y:0,parent:PM},gl="manual-hello-world-loop-func-decl-id",JT="manual-hello-world-loop-func-return-statement-id",an="manual-hello-world-loop-id",Ui="manual-hello-world-loop-body-id",WT="manual-hello-world-loop-break-statement-id",ds="manual-hello-world-loop-current-iteration-number-output-map-id",Il="manual-hello-world-loop-previous-iterations-results-output-map-id",Pl="assembled-hello-world-text-output-id",HT="assembled-hello-world-list-output-id",xi="iteration-number-is-equal-or-greater-than-10-condition-id",us="join-hello-world-and-number-operation-id",ps="append-string-to-list-operation-id",YT="hello-world-loop-output-map-id",AM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-output-declaration-parent-ref",entityType:r.ReturnStatement,entityId:JT},SM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-output-declaration-data-type-parent-ref",entityType:r.ReturnDeclaration,entityId:"manual-hello-world-loop-function-declaration-output-declaration"},OM={id:"manual-hello-world-loop-function-declaration-output-declaration-data-type",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!0,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:SM},CM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-output-declaration-reads-value-ref",entityType:r.OutputMap,entityId:YT},zT={isError:!1,id:"manual-hello-world-loop-function-declaration-output-declaration",version:1,type:r.ReturnDeclaration,name:"Results",description:null,dataType:OM,readsValue:CM,required:!0,index:0,parent:AM},BM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-return-statement-called-by-ref",entityType:r.Loop,entityId:an},wM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-parent-ref",entityType:r.FunctionDeclaration,entityId:gl},ZT={type:r.ReturnStatement,id:JT,version:1,outputs:[zT],calledByError:[],calledByEntry:[],calledBySuccess:[BM],parent:wM,throws:null,x:0,y:0},_M={type:r.GenericReference,id:"hello-world-loop-break-statement-ref-id",entityType:r.BreakStatement,entityId:WT},MM={type:r.GenericReference,id:"hello-world-loop-break-statement-output-data-type-ref-id",entityType:r.ReturnDeclaration,entityId:"hello-world-loop-break-statement-output-id"},NM={id:"hello-world-loop-break-statement-output-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!0,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:MM},$M={type:r.GenericReference,id:"hello-world-loop-break-statement-reads-value-ref-id",entityType:r.OutputMap,entityId:Pl},Dl={isError:!1,id:"hello-world-loop-break-statement-output-id",version:1,type:r.ReturnDeclaration,name:"Iteration result",description:null,dataType:NM,readsValue:$M,required:!0,index:0,parent:_M},VM={type:r.GenericReference,id:"hello-world-loop-break-statement-called-by-ref-id",entityType:r.Condition,entityId:xi},LM={type:r.GenericReference,id:"hello-world-loop-break-statement-parent-ref-id",entityType:r.Loop,entityId:an},XT={type:r.BreakStatement,id:WT,version:1,outputs:[Dl],calledByError:[],calledByEntry:[],calledBySuccess:[VM],parent:LM,throws:null,x:0,y:0},GM={type:r.GenericReference,id:"hello-world-loop-continue-statement-ref-id",entityType:r.ContinueStatement,entityId:"hello-world-loop-continue-statement"},FM={type:r.GenericReference,id:"hello-world-loop-continue-statement-output-data-type-ref-id",entityType:r.ReturnDeclaration,entityId:"hello-world-loop-continue-statement-output-id"},UM={id:"hello-world-loop-continue-statement-output-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:FM},xM={type:r.GenericReference,id:"hello-world-loop-continue-statement-reads-value-ref-id",entityType:r.OutputMap,entityId:Pl},QT={isError:!1,id:"hello-world-loop-continue-statement-output-id",version:1,type:r.ReturnDeclaration,name:"Iteration result",description:null,dataType:UM,readsValue:xM,required:!0,index:0,parent:GM},jM={type:r.GenericReference,id:"hello-world-loop-continue-statement-called-by-ref-id",entityType:r.Condition,entityId:xi},kM={type:r.GenericReference,id:"hello-world-loop-continue-statement-parent-ref-id",entityType:r.Loop,entityId:an},KT={type:r.ContinueStatement,id:"hello-world-loop-continue-statement",version:1,outputs:[QT],calledBySuccess:[],calledByError:[jM],calledByEntry:[],parent:kM,throws:null,x:0,y:0};r.GenericReference,r.InputMap;const qM={type:r.GenericReference,id:"append-string-to-list-base-string-map-parent-ref-id",entityType:r.Operation,entityId:ps},JM={type:r.GenericReference,id:"base-string-map-reads-value-ref-id",entityType:r.OutputMap,entityId:Il},eE={id:"append-string-to-list-base-string-map-id",type:r.InputMap,version:1,declaration:Co,name:null,description:null,readsValue:JM,defaultValue:null,dynamicArguments:[],index:0,parent:qM},WM={type:r.GenericReference,id:"assembly-string-map-parent-ref-id",entityType:r.Operation,entityId:ps},HM={id:HT,type:r.OutputMap,version:1,writesValues:[Dl],declaration:pi,index:0,parent:WM},YM={type:r.GenericReference,id:"append-string-to-list-called-by-ref-id",entityType:r.Condition,entityId:xi},zM={type:r.GenericReference,id:"latest-string-to-add-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:HT},ZM={type:r.GenericReference,id:"62b4afb0-6c21-4b0f-abd3-cebef7b17c28",entityType:r.Operation,entityId:ps},tE={id:"latest-string-to-add-input-map-id",version:1,type:r.InputMap,declaration:Bo,name:null,description:null,readsValue:zM,dynamicArguments:[],defaultValue:null,index:1,parent:ZM},XM={type:r.GenericReference,id:"append-string-to-list-parent-ref-id",entityType:r.FunctionDeclaration,entityId:an},QM={type:r.Operation,id:ps,declaration:ba,version:1,inputs:[eE,tE],outputs:[HM],calledByError:[],process:null,calledByEntry:[],calledBySuccess:[YM],dynamicArguments:[],successCalls:[],errorCalls:[],error:null,x:0,y:0,parent:XM},KM={type:r.GenericReference,id:"iteration-number-is-equal-or-greater-than-10-condition-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Ui},eN={type:r.GenericReference,id:"iteration-number-is-equal-or-greater-than-10-condition-parent-ref-id",entityType:r.Loop,entityId:an},tN={type:r.GenericReference,id:"current-iteration-number-to-check-map-reads-value-ref-id",entityType:r.OutputMap,entityId:ds},nE={type:r.GenericReference,id:"iteration-number-is-equal-or-greater-than-10-condition-ref-two-id",entityType:r.Condition,entityId:xi},nN={id:"current-iteration-number-to-check-map-id",version:1,type:r.InputMap,declaration:wr.fixedArguments[0],name:null,description:null,dynamicArguments:[],readsValue:tN,index:1,defaultValue:null,parent:nE},rN={type:r.GenericReference,id:"max-num-iterations-value-map-default-value-parent-ref-id",entityType:r.InputMap,entityId:"max-num-iterations-value-map-id"},iN={id:"max-num-iterations-value-map-id",version:1,type:r.InputMap,declaration:wr.fixedArguments[1],name:null,description:null,dynamicArguments:[],readsValue:null,index:0,defaultValue:{id:"max-num-iterations-value-map-default-value-id",type:r.PrimitiveValue,version:1,name:g.Number,value:10,autogeneration:null,valueAsType:null,parent:rN},parent:nE},aN={type:r.Condition,id:xi,version:1,declaration:wr,inputs:[iN,nN],calledByError:[],calledByEntry:[KM],calledBySuccess:[],successCalls:[XT,QM],errorCalls:[KT],x:0,y:0,parent:eN},sN={type:r.GenericReference,id:"base-string-map-ref-id",entityType:r.InputMap,entityId:"join-hello-world-and-number-base-string-map-id"},oN={type:r.GenericReference,id:"join-hello-world-and-number-base-string-map-parent-ref-id",entityType:r.Operation,entityId:us},lN={id:"join-hello-world-and-number-base-string-map-id",type:r.InputMap,version:1,declaration:Ea,name:null,description:null,readsValue:null,defaultValue:{id:"join-hello-world-and-number-base-string-map-default-value-id",type:r.PrimitiveValue,version:1,value:"Hello world ",name:g.String,parent:sN,valueAsType:null,autogeneration:null},dynamicArguments:[],index:0,parent:oN},cN={type:r.GenericReference,id:"assembly-string-map-parent-ref-id",entityType:r.Operation,entityId:us},dN={id:Pl,type:r.OutputMap,version:1,writesValues:[tE,QT],declaration:pi,index:0,parent:cN},uN={type:r.GenericReference,id:"join-hello-world-and-number-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Ui},pN={type:r.GenericReference,id:"current-iteration-number-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:ds},yN={type:r.GenericReference,id:"62b4afb0-6c21-4b0f-abd3-cebef7b17c28",entityType:r.Operation,entityId:us},rE={id:"current-iteration-number-input-map-id",version:1,type:r.InputMap,declaration:Ra,name:null,description:null,readsValue:pN,dynamicArguments:[],defaultValue:null,index:1,parent:yN},hN={type:r.GenericReference,id:"join-hello-world-and-number-parent-ref-id",entityType:r.FunctionDeclaration,entityId:an},fN={type:r.Operation,id:us,declaration:yi,version:1,inputs:[lN,rE],outputs:[dN],process:null,calledByError:[],calledByEntry:[uN],calledBySuccess:[],dynamicArguments:[],successCalls:[],errorCalls:[],error:null,x:0,y:0,parent:hN},mN={id:"manual-hello-world-loop-iterations-results-declaration-data-type-parent-ref-id",type:r.GenericReference,entityId:Il,entityType:r.ArgumentDeclaration},TN={id:"manual-hello-world-loop-iterations-results-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!0,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:mN},EN={id:"manual-hello-world-loop-previous-iterations-results-output-map-parent-ref-id",type:r.GenericReference,entityId:Ui,entityType:r.FunctionDeclaration},RN={id:Il,type:r.ArgumentDeclaration,version:1,name:"Previous iterations results",description:"The results of the previous iterations of the loop.",required:!0,dataType:TN,writesValues:[eE],index:1,parent:EN},bN={id:"manual-hello-world-loop-current-iteration-number-output-map-parent-ref-id",type:r.GenericReference,entityId:Ui,entityType:r.FunctionDeclaration},vN={id:"manual-flow-loop-current-iteration-number-declaration-data-type-parent-ref-id",type:r.GenericReference,entityId:ds,entityType:r.ArgumentDeclaration};r.DataType;const gN={id:ds,type:r.ArgumentDeclaration,version:1,name:"Current iteration number",description:"The number of the current iteration of the loop. Starts at 1.",required:!0,dataType:null,writesValues:[rE],index:0,parent:bN},IN={id:"manual-flow-loop-body-parent-ref-id",type:r.GenericReference,entityId:an,entityType:r.Loop},PN={id:Ui,type:r.FunctionDeclaration,version:1,name:"Iteration logic trigger",description:"This function is called multiple times, once for each iteration of the loop.",inputs:[gN,RN],calls:[aN,fN],implements:null,collapsed:!1,returnStatements:[],private:!1,index:0,x:0,y:0,parent:IN},DN={type:r.GenericReference,id:"hello-world-loop-break-statement-output-map-parent-ref-id",entityType:r.Loop,entityId:an},AN={type:r.OutputMap,id:YT,version:1,declaration:Dl,writesValues:[zT],index:0,parent:DN},SN={id:"manual-hello-world-loop-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},ON={id:"manual-hello-world-loop-called-by-ref-id",type:r.GenericReference,entityId:gl,entityType:r.FunctionDeclaration},CN={id:an,type:r.Loop,version:1,declaration:Fo,inputs:[],outputs:[AN],body:PN,successCalls:[ZT],errorCalls:[],process:null,error:null,calledByError:[],calledByEntry:[ON],calledBySuccess:[],breakStatements:[XT],continueStatements:[KT],x:0,y:0,parent:SN},BN={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-parent-ref-id",entityType:r.Project,entityId:J},iE={type:r.FunctionDeclaration,id:gl,version:1,name:"Manual hello world loop",description:null,inputs:[],calls:[CN],returnStatements:[ZT],implements:null,collapsed:!1,private:!1,index:null,x:0,y:0,parent:BN},wN={type:r.GenericReference,id:"call-hello-world-loop-parent-ref-id",entityType:r.Project,entityId:J},_N={id:"call-hello-world-loop-id",type:r.FunctionCall,version:1,declaration:iE,inputs:[],outputs:[],process:null,successCalls:[],errorCalls:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[],x:0,y:0,parent:wN},sn="company-dto-function-declaration-id",Al="company-dto-func-declaration-argument-dcl-id",Ht="company-dto-function-company-variable-id",Bn="company-dto-function-company-dto-variable-id",Ur="iterate-over-employee-list-loop-id",aE="iterate-over-employee-list-loop-employee-dto-output-map-id",Sl="iterate-over-employee-list-loop-body-current-employee-argument-declaration-id",ji="iterate-over-employee-list-loop-body-map-employee-dto-function-call-id",sE="iterate-over-employee-list-continue-statement-employee-dto-output-decl-id",MN="iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-dto-output-map-id",oE="iterate-over-employee-list-continue-statement-id",ys="iterate-over-employee-list-loop-body-id",lE="company-dto-func-declaration-return-statement-id",cE="company-dto-func-declaration-return-decl-id",dE="company-dto-func-declaration-company-variable-id-output-map-id",uE="company-dto-func-declaration-company-variable-employess-output-map-id",pE="company-dto-func-declaration-company-variable-name-output-map-id",NN="company-dto-func-declaration-company-dto-variable-input-map-id",$N="company-dto-func-declaration-company-dto-variable-employess-input-map-id",VN="company-dto-func-declaration-company-dto-variable-name-input-map-id",hs="company-dto-func-declaration-owner-variable-id",LN="company-dto-func-declaration-company-dto-variable-owner-input-map-id",yE="company-dto-func-declaration-company-variable-owner-output-map-id",hE="company-dto-func-declaration-owner-variable-id-output-map-id",fs="company-dto-func-declaration-bank-account-variable-id",GN="company-dto-func-declaration-company-dto-variable-bank-account-input-map-id",fE="company-dto-func-declaration-company-variable-bank-account-output-map-id",mE="company-dto-func-declaration-bank-account-variable-id-output-map-id",FN={type:r.GenericReference,id:"company-dto-func-returned-company-dto-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:cE},UN={id:"company-dto-func-returned-company-dto-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:FN},xN={type:r.GenericReference,id:"company-dto-func-returned-company-dto-parent-ref-id",entityType:r.ReturnStatement,entityId:lE},jN={type:r.GenericReference,id:"company-dto-func-returned-company-dto-reads-value-ref-id",entityType:r.VariableDeclaration,entityId:Bn},TE={isError:!1,id:cE,type:r.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:UN,readsValue:jN,required:!0,index:0,parent:xN},kN={type:r.GenericReference,id:"company-dto-func-return-statement-called-by-ref-id",entityType:r.Operation,entityId:Bn},qN={type:r.GenericReference,id:"company-dto-func-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn},Ol={type:r.ReturnStatement,id:lE,version:1,outputs:[TE],calledByError:[],calledByEntry:[],calledBySuccess:[kN],throws:null,x:0,y:0,parent:qN},JN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-owner-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:hE},WN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-owner-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Bn},EE={id:LN,type:r.InputMap,version:1,declaration:null,name:"owner_id",description:null,defaultValue:null,dynamicArguments:[],index:5,readsValue:JN,parent:WN},HN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-bank-account-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:mE},YN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-bank-account-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Bn},RE={id:GN,type:r.InputMap,version:1,declaration:null,name:"bank_account_id",description:null,defaultValue:null,dynamicArguments:[],index:4,readsValue:HN,parent:YN},zN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-name-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:pE},ZN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-name-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Bn},bE={id:VN,type:r.InputMap,version:1,declaration:null,name:"name",description:null,defaultValue:null,dynamicArguments:[],index:3,readsValue:zN,parent:ZN},XN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-employess-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:aE},QN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-employess-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Bn},vE={id:$N,type:r.InputMap,version:1,declaration:null,name:"employees",description:null,defaultValue:null,dynamicArguments:[],index:2,readsValue:XN,parent:QN},KN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-id-output-map-reads-value-ref-id",entityType:r.OutputMap,entityId:dE},e0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Bn},gE={id:NN,type:r.InputMap,version:1,declaration:null,name:"id",description:"The ID of the company",defaultValue:null,dynamicArguments:[],index:1,readsValue:KN,parent:e0},t0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn},n0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-called-by-ref-one-id",entityType:r.VariableDeclaration,entityId:fs},r0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-called-by-ref-two-id",entityType:r.VariableDeclaration,entityId:hs},i0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-called-by-ref-three-id",entityType:r.VariableDeclaration,entityId:Ur},Cl={id:Bn,type:r.VariableDeclaration,version:1,name:"Company DTO",dataType:null,description:"A variable holding the data of a mapped company DTO",calledByError:[],calledByEntry:[],calledBySuccess:[n0,r0,i0],successCalls:[Ol],errorCalls:[],readsValue:null,writesValues:[TE],inputs:[gE,bE,RE,EE,vE],outputs:[],internalCalls:[],parent:t0,x:0,y:0},zn="employee-dto-func-declaration-id",Bl="employee-dto-func-declaration-argument-dcl-id",IE="employee-dto-func-declaration-return-statement-id",PE="employee-dto-func-declaration-return-decl-id",Zn="employee-dto-func-declaration-employee-variable-id",Xn="employee-dto-func-declaration-employee-dto-variable-id",ms="employee-dto-func-declaration-manager-variable-id",DE="employee-dto-func-declaration-employee-variable-id-output-map-id",AE="employee-dto-func-declaration-employee-variable-birth-date-output-map-id",SE="employee-dto-func-declaration-employee-variable-department-output-map-id",OE="employee-dto-func-declaration-employee-variable-manager-output-map-id",CE="employee-dto-func-declaration-manager-variable-id-output-map-id",a0="employee-dto-func-declaration-employee-dto-variable-input-map-id",s0="employee-dto-func-declaration-employee-dto-variable-birth-date-input-map-id",o0="employee-dto-func-declaration-employee-dto-variable-department-input-map-id",l0="employee-dto-func-declaration-employee-dto-variable-manager-input-map-id",c0={type:r.GenericReference,id:"employee-dto-func-returned-employee-dto-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:PE},d0={id:"employee-dto-func-returned-employee-dto-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:c0},u0={type:r.GenericReference,id:"employee-dto-func-returned-employee-dto-parent-ref-id",entityType:r.ReturnStatement,entityId:IE},p0={type:r.GenericReference,id:"employee-dto-func-returned-employee-dto-reads-value-ref-id",entityType:r.VariableDeclaration,entityId:Xn},BE={isError:!1,id:PE,type:r.ReturnDeclaration,version:1,name:"Employee DTO",description:"Output the employee data in the format that it will be sent through an HTTP request.",dataType:d0,readsValue:p0,required:!0,index:0,parent:u0},y0={type:r.GenericReference,id:"employee-dto-func-return-statement-called-by-ref-id",entityType:r.Operation,entityId:Xn},h0={type:r.GenericReference,id:"employee-dto-func-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:zn},wl={type:r.ReturnStatement,id:IE,version:1,outputs:[BE],calledByError:[],calledByEntry:[],calledBySuccess:[y0],throws:null,x:0,y:0,parent:h0},f0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-manager-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:CE},m0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-manager-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Xn},wE={id:l0,type:r.InputMap,version:1,declaration:null,name:"manager_id",description:null,defaultValue:null,dynamicArguments:[],index:4,readsValue:f0,parent:m0},T0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-department-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:SE},E0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-department-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Xn},_E={id:o0,type:r.InputMap,version:1,declaration:null,name:"department_name",description:null,defaultValue:null,dynamicArguments:[],index:3,readsValue:T0,parent:E0},R0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-birth-date-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:AE},b0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-birth-date-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Xn},ME={id:s0,type:r.InputMap,version:1,declaration:null,name:"birth_date",description:null,defaultValue:null,dynamicArguments:[],index:2,readsValue:R0,parent:b0},v0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-id-output-map-reads-value-ref-id",entityType:r.OutputMap,entityId:DE},g0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Xn},NE={id:a0,type:r.InputMap,version:1,declaration:null,name:"id",description:"The ID of the employee",defaultValue:null,dynamicArguments:[],index:1,readsValue:v0,parent:g0},I0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:zn},P0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-called-by-ref-id",entityType:r.VariableDeclaration,entityId:ms},D0={id:Xn,type:r.VariableDeclaration,version:1,name:"Employee DTO",dataType:null,description:"A variable holding the data of a mapped employee DTO",calledByError:[],calledByEntry:[],calledBySuccess:[P0],successCalls:[wl],errorCalls:[],readsValue:null,writesValues:[BE],inputs:[NE,ME,_E,wE],outputs:[],internalCalls:[],parent:I0,x:0,y:0},A0={type:r.GenericReference,id:"employee-dto-func-manager-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:ms},S0={id:CE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[wE],parent:A0},O0={type:r.GenericReference,id:"employee-dto-func-manager-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:ms},C0={id:"employee-dto-func-manager-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:It,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:O0,defaultValue:null},B0={type:r.GenericReference,id:"employee-dto-func-manager-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:OE},w0={type:r.GenericReference,id:"employee-dto-func-manager-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:zn};r.GenericReference,r.VariableDeclaration;const $E={id:ms,type:r.VariableDeclaration,version:1,name:"Manager",dataType:C0,description:"A variable holding an inherited manager",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[D0],errorCalls:[],readsValue:B0,writesValues:[],inputs:[],outputs:[S0],internalCalls:[],parent:w0,x:0,y:0},_0={type:r.GenericReference,id:"employee-dto-func-employee-variable-manager-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zn},M0={id:OE,type:r.OutputMap,version:1,declaration:It.properties[2],index:3,writesValues:[$E],parent:_0},N0={type:r.GenericReference,id:"employee-dto-func-employee-variable-department-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zn},$0={id:SE,type:r.OutputMap,version:1,declaration:It.properties[0],index:2,writesValues:[_E],parent:N0},V0={type:r.GenericReference,id:"employee-dto-func-employee-variable-birth-date-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zn},L0={id:AE,type:r.OutputMap,version:1,declaration:ct.properties[1],index:1,writesValues:[ME],parent:V0},G0={type:r.GenericReference,id:"employee-dto-func-employee-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zn},F0={id:DE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[NE],parent:G0},U0={type:r.GenericReference,id:"employee-dto-func-employee-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zn},x0={id:"employee-dto-func-employee-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:It,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:U0,defaultValue:null},j0={type:r.GenericReference,id:"employee-dto-func-employee-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:zn},k0={type:r.GenericReference,id:"employee-dto-func-employee-variable-reads-value-ref-id",entityType:r.ArgumentDeclaration,entityId:Bl},q0={type:r.GenericReference,id:"employee-dto-func-employee-variable-called-by-id",entityType:r.FunctionDeclaration,entityId:zn},VE={id:Zn,type:r.VariableDeclaration,version:1,name:"Company employee",dataType:x0,description:"A variable holding a company employee",calledByError:[],calledByEntry:[q0],calledBySuccess:[],successCalls:[$E],errorCalls:[],readsValue:k0,writesValues:[],inputs:[],outputs:[F0,L0,$0,M0],internalCalls:[],parent:j0,x:0,y:0},J0={type:r.GenericReference,id:"employee-dto-func-declaration-employee-input-declaration-data-type-parent-ref-id",entityId:Bl,entityType:r.ArgumentDeclaration},W0={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"employee-dto-func-declaration-employee-input-declaration-data-type-id",version:1,entity:It,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:J0,defaultValue:null},H0={type:r.GenericReference,id:"employee-dto-func-declaration-employee-input-declaration-parent-ref-id",entityId:zn,entityType:r.FunctionDeclaration},Y0={type:r.ArgumentDeclaration,id:Bl,version:1,name:"Employee",description:"The employee to create a DTO for",required:!0,dataType:W0,index:0,writesValues:[VE],parent:H0},z0={type:r.GenericReference,id:"employee-dto-function-declaration-parent-ref-id",entityType:r.Project,entityId:J},_l={type:r.FunctionDeclaration,id:zn,version:1,name:"Employee DTO",description:"Takes a employee and returns a DTO of that employee",index:null,inputs:[Y0],calls:[VE],implements:null,returnStatements:[wl],collapsed:!1,private:!1,x:0,y:0,parent:z0},Z0={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-data-type-parent-ref-id",type:r.GenericReference,entityId:sE,entityType:r.ReturnDeclaration},X0={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,defaultValue:null,entity:It,isList:!1,isNullable:!1,asType:!1,constant:!1,parent:Z0},Q0={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-reads-value-ref-id",type:r.GenericReference,entityId:ji,entityType:r.OutputMap},K0={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-parent-ref-id",type:r.GenericReference,entityId:oE,entityType:r.ContinueStatement},LE={isError:!1,id:sE,type:r.ReturnDeclaration,version:1,name:"Employee DTO",description:"The DTO of the employee entity.",readsValue:Q0,dataType:X0,required:!0,index:0,parent:K0},e1={id:"iterate-over-employee-list-continue-statement-called-by-ref-id",type:r.GenericReference,entityId:ji,entityType:r.FunctionCall},t1={id:"iterate-over-employee-list-continue-statement-parent-ref-id",type:r.GenericReference,entityId:Ur,entityType:r.Loop},GE={id:oE,type:r.ContinueStatement,version:1,calledByError:[],calledByEntry:[],calledBySuccess:[e1],outputs:[LE],throws:null,x:0,y:0,parent:t1},n1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-dto-output-map-parent-ref-id",type:r.GenericReference,entityId:ji,entityType:r.FunctionCall},r1={id:MN,type:r.OutputMap,version:1,declaration:wl.outputs[0],writesValues:[LE],index:0,parent:n1},i1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-input-map-reads-value-ref-id",type:r.GenericReference,entityId:Sl,entityType:r.ArgumentDeclaration},a1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-input-map-parent-ref-id",type:r.GenericReference,entityId:ji,entityType:r.FunctionCall},FE={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-input-map-id",type:r.InputMap,version:1,name:null,description:null,declaration:_l.inputs[0],readsValue:i1,index:0,defaultValue:null,dynamicArguments:[],parent:a1},s1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-called-by-ref-id",type:r.GenericReference,entityId:ys,entityType:r.FunctionDeclaration},o1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-parent-ref-id",type:r.GenericReference,entityId:ys,entityType:r.FunctionDeclaration},l1={id:ji,type:r.FunctionCall,version:1,declaration:_l,inputs:[FE],process:null,outputs:[r1],calledByError:[],calledByEntry:[s1],calledBySuccess:[],successCalls:[GE],errorCalls:[],error:null,x:0,y:0,parent:o1},c1={type:r.GenericReference,id:"iterate-over-employee-list-loop-body-current-employee-argument-declaration-data-type-parent-ref-id",entityId:Sl,entityType:r.ArgumentDeclaration},d1={id:"iterate-over-employee-list-loop-body-current-employee-argument-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,defaultValue:null,entity:It,isList:!1,isNullable:!1,asType:!1,constant:!1,parent:c1},u1={id:"iterate-over-employee-list-loop-body-current-employee-argument-declaration-parent-ref-id",type:r.GenericReference,entityId:ys,entityType:r.FunctionDeclaration},p1={id:Sl,type:r.ArgumentDeclaration,version:1,name:"Current employee",description:"The current employee entity being processed.",dataType:d1,required:!0,index:0,writesValues:[FE],parent:u1},y1={id:"iterate-over-employee-list-loop-body-parent-ref-id",type:r.GenericReference,entityId:Ur,entityType:r.Loop},h1={id:ys,type:r.FunctionDeclaration,version:1,name:"Iteration logic trigger",description:"This function is called once for each entity in the list.",inputs:[p1],calls:[l1],implements:null,collapsed:!1,returnStatements:[],private:!1,index:0,x:0,y:0,parent:y1},f1={id:"iterate-over-employee-list-loop-iteration-list-input-map-parent-ref-id",type:r.GenericReference,entityId:Ur,entityType:r.Loop},m1={id:"iterate-over-employee-list-loop-iteration-list-input-map-reads-value-ref-id",type:r.GenericReference,entityId:uE,entityType:r.OutputMap},UE={id:"iterate-over-employee-list-loop-iteration-list-input-map-id",type:r.InputMap,version:1,name:null,description:null,declaration:kn.fixedArguments[0],defaultValue:null,dynamicArguments:[],readsValue:m1,index:0,parent:f1},T1={id:"iterate-over-employee-list-loop-parent-ref-id",type:r.GenericReference,entityId:sn,entityType:r.FunctionDeclaration},E1={id:"iterate-over-employee-list-loop-employee-dto-output-map-parent-ref-id",type:r.GenericReference,entityId:Ur,entityType:r.Loop},R1={id:aE,type:r.OutputMap,version:1,declaration:kn.fixedReturns[0],writesValues:[vE],index:0,parent:E1},b1={type:r.GenericReference,id:"iterate-over-employee-list-loop-called-by-ref-id",entityType:r.VariableDeclaration,entityId:Ht},v1={id:Ur,type:r.Loop,version:1,declaration:kn,inputs:[UE],successCalls:[Cl],errorCalls:[],outputs:[R1],body:h1,process:null,calledByError:[],calledByEntry:[],calledBySuccess:[b1],breakStatements:[],continueStatements:[GE],error:null,x:0,y:0,parent:T1},g1={type:r.GenericReference,id:"company-dto-func-bank-account-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:fs},I1={id:mE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[RE],parent:g1},P1={type:r.GenericReference,id:"company-dto-func-bank-account-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:fs},D1={id:"company-dto-func-bank-account-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:P1,defaultValue:null},A1={type:r.GenericReference,id:"company-dto-func-bank-account-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:fE},S1={type:r.GenericReference,id:"company-dto-func-bank-account-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn};r.GenericReference,r.VariableDeclaration;const xE={id:fs,type:r.VariableDeclaration,version:1,name:"Bank account",dataType:D1,description:"A variable holding an inherited bank account",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[Cl],errorCalls:[],readsValue:A1,writesValues:[],inputs:[],outputs:[I1],internalCalls:[],parent:S1,x:0,y:0},O1={type:r.GenericReference,id:"company-dto-func-owner-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:hs},C1={id:hE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[EE],parent:O1},B1={type:r.GenericReference,id:"company-dto-func-owner-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:hs},w1={id:"company-dto-func-owner-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:B1,defaultValue:null},_1={type:r.GenericReference,id:"company-dto-func-owner-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:yE},M1={type:r.GenericReference,id:"company-dto-func-owner-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn};r.GenericReference,r.VariableDeclaration;const jE={id:hs,type:r.VariableDeclaration,version:1,name:"Owner",dataType:w1,description:"A variable holding an inherited owner",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[Cl],errorCalls:[],readsValue:_1,writesValues:[],inputs:[],outputs:[C1],internalCalls:[],parent:M1,x:0,y:0},N1={type:r.GenericReference,id:"company-dto-func-company-variable-owner-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},$1={id:yE,type:r.OutputMap,version:1,declaration:mt.properties[2],index:4,writesValues:[jE],parent:N1},V1={type:r.GenericReference,id:"company-dto-func-company-variable-bank-account-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},L1={id:fE,type:r.OutputMap,version:1,declaration:mt.properties[2],index:3,writesValues:[xE],parent:V1},G1={type:r.GenericReference,id:"company-dto-func-company-variable-name-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},F1={id:pE,type:r.OutputMap,version:1,declaration:mt.properties[0],index:2,writesValues:[bE],parent:G1},U1={type:r.GenericReference,id:"company-dto-func-company-variable-employess-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},x1={id:uE,type:r.OutputMap,version:1,declaration:mt.properties[3],index:1,writesValues:[UE],parent:U1},j1={type:r.GenericReference,id:"company-dto-func-company-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},k1={id:dE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[gE],parent:j1},q1={type:r.GenericReference,id:"company-dto-func-company-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},J1={id:"company-dto-func-company-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:q1,defaultValue:null},W1={type:r.GenericReference,id:"company-dto-func-company-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn},H1={type:r.GenericReference,id:"company-dto-func-company-variable-reads-value-ref-id",entityType:r.ArgumentDeclaration,entityId:Al},Y1={type:r.GenericReference,id:"company-dto-func-company-variable-called-by-id",entityType:r.FunctionDeclaration,entityId:sn},kE={id:Ht,type:r.VariableDeclaration,version:1,name:"Company",dataType:J1,description:"A variable holding a company",calledByError:[],calledByEntry:[Y1],calledBySuccess:[],successCalls:[xE,jE,v1],errorCalls:[],readsValue:H1,writesValues:[],inputs:[],outputs:[k1,x1,F1,L1,$1],internalCalls:[],parent:W1,x:0,y:0},z1={type:r.GenericReference,id:"company-dto-func-declaration-company-input-declaration-data-type-parent-ref-id",entityId:Al,entityType:r.ArgumentDeclaration},Z1={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"company-dto-func-declaration-company-input-declaration-data-type-id",version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:z1,defaultValue:null},X1={type:r.GenericReference,id:"company-dto-func-declaration-company-input-declaration-parent-ref-id",entityId:sn,entityType:r.FunctionDeclaration},Q1={type:r.ArgumentDeclaration,id:Al,version:1,name:"Company",description:"The company to create a DTO for",required:!0,dataType:Z1,index:0,writesValues:[kE],parent:X1},K1={type:r.GenericReference,id:"company-dto-function-declaration-parent-ref-id",entityType:r.Project,entityId:J},Ml={type:r.FunctionDeclaration,id:sn,version:1,name:"Company DTO",description:"Takes a company and returns a DTO of that company",inputs:[Q1],calls:[kE],implements:null,index:null,returnStatements:[Ol],collapsed:!1,private:!1,x:0,y:0,parent:K1},ki="exec-in-parallel-operation-call-id",qi="exec-sequentially-operation-call-id",dt="concurrency-and-wait-function-declaration-id",qE="concurrency-and-wait-return-statement-id",JE="concurrency-and-wait-return-declaration-id",Nl="exec-in-parallel-argument-map-id",WE="exec-sequentially-argument-map-id",$l="wait-for-2-seconds-operation-id",HE="wait-for-2-seconds-argument-map-id",Vl="map-company-dto-function-call-id",YE="map-company-dto-function-call-company-dto-output-map-id",Ji="company-dto-variable-one-id",Ll="company-dto-variable-one-instance-id",e$="company-dto-variable-two-id",t$={type:r.GenericReference,id:"returned-company-dto-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:JE},n$={id:"returned-company-dto-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:t$},r$={type:r.GenericReference,id:"returned-company-dto-parent-ref-id",entityType:r.ReturnStatement,entityId:qE},i$={type:r.GenericReference,id:"returned-company-dto-reads-value-ref-id",entityType:r.VariableDeclaration,entityId:Ji},zE={isError:!1,id:JE,type:r.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:n$,readsValue:i$,required:!0,index:0,parent:r$},a$={type:r.GenericReference,id:"concurrency-and-wait-return-statement-called-by-ref-id",entityType:r.Operation,entityId:$l},s$={type:r.GenericReference,id:"concurrency-and-wait-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},ZE={type:r.ReturnStatement,id:qE,version:1,outputs:[zE],calledByError:[],calledByEntry:[],calledBySuccess:[a$],throws:null,x:0,y:0,parent:s$},o$={type:r.GenericReference,id:"company-dto-variable-two-called-by-ref-id",entityType:r.VariableInstance,entityId:Ll},l$={type:r.GenericReference,id:"company-dto-variable-two-reads-value-ref-id",entityType:r.VariableInstance,entityId:Ll},c$={type:r.GenericReference,id:"company-dto-variable-two-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},XE={id:e$,type:r.VariableDeclaration,version:1,name:"Company DTO",description:null,dataType:null,inputs:[],outputs:[],successCalls:[],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[o$],internalCalls:[],writesValues:[zE],readsValue:l$,x:0,y:0,parent:c$},d$={type:r.GenericReference,id:"company-dto-variable-one-instance-called-by-ref-id",entityType:r.VariableDeclaration,entityId:Ji},u$={type:r.GenericReference,id:"company-dto-variable-one-instance-reads-value-ref-id",entityType:r.VariableDeclaration,entityId:Ji},p$={type:r.GenericReference,id:"company-dto-variable-one-instance-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},y$={type:r.GenericReference,id:"company-dto-variable-one-instance-declaration-ref-id",entityType:r.VariableDeclaration,entityId:Ji},QE={id:Ll,type:r.VariableInstance,version:1,declaration:y$,inputs:[],outputs:[],successCalls:[XE],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[d$],internalCalls:[],writesValues:[XE],readsValue:u$,x:0,y:0,parent:p$},h$={type:r.GenericReference,id:"company-dto-variable-one-called-by-ref-id",entityType:r.FunctionCall,entityId:Vl},f$={type:r.GenericReference,id:"company-dto-variable-one-reads-value-ref-id",entityType:r.OutputMap,entityId:YE},m$={type:r.GenericReference,id:"company-dto-variable-one-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},KE={id:Ji,type:r.VariableDeclaration,version:1,name:"Company DTO",description:null,dataType:null,inputs:[],outputs:[],successCalls:[QE],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[h$],internalCalls:[],writesValues:[QE],readsValue:f$,x:0,y:0,parent:m$},eR={type:r.GenericReference,id:"map-company-dto-function-call-company-input-map-parent-ref-id",entityType:r.FunctionCall,entityId:Vl},T$={id:"map-company-dto-function-call-company-input-map-id",type:r.InputMap,version:1,declaration:Ml.inputs[0],name:null,description:null,defaultValue:null,dynamicArguments:[],index:0,readsValue:null,parent:eR},E$={id:YE,type:r.OutputMap,version:1,declaration:Ol.outputs[0],writesValues:[KE],index:0,parent:eR},R$={id:"map-company-dto-function-call-called-by-ref-id",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:dt},b$={id:"map-company-dto-function-call-parent-ref-id",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:dt},v$={id:Vl,type:r.FunctionCall,version:1,declaration:Ml,successCalls:[KE],process:null,errorCalls:[],inputs:[T$],outputs:[E$],calledByError:[],calledByEntry:[R$],calledBySuccess:[],parent:b$,x:0,y:0,error:null},g$={type:r.GenericReference,id:"last-timestamp-variable-datatype-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zm},I$={type:r.GenericReference,id:"last-timestamp-variable-default-value-parent-ref-id",entityType:r.DataType,entityId:"last-timestamp-variable-datatype-id"},P$={id:"last-timestamp-variable-datatype-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Or,version:1,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:g$,defaultValue:{id:"last-timestamp-variable-default-value-id",type:r.PrimitiveValue,version:1,name:g.Date,value:null,autogeneration:{type:xe.CurrentDateAndTime,rangeStart:null,rangeEnd:null},parent:I$,valueAsType:null}},D$={type:r.GenericReference,id:"last-timestamp-variable-main-project-ref-id",entityType:r.Project,entityId:J},Gl={id:Zm,type:r.VariableDeclaration,version:1,name:"Last registered current time",description:"A test variable that holds the last current date and time that was registered.",dataType:P$,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:D$},A$={type:r.GenericReference,id:"wait-for-2-seconds-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:HE},S$={type:r.GenericReference,id:"wait-for-2-seconds-argument-map-parent-ref-id",entityType:r.Operation,entityId:$l},O$={id:HE,type:r.InputMap,version:1,declaration:xn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"wait-for-2-seconds-argument-default-value-id",type:r.PrimitiveValue,version:1,value:2e3,valueAsType:null,autogeneration:null,name:g.Number,parent:A$},index:0,parent:S$},C$={type:r.GenericReference,id:"wait-for-2-seconds-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},B$={type:r.GenericReference,id:"wait-for-2-seconds-called-by-ref-one-id",entityType:r.FunctionDeclaration,entityId:qi},w$={type:r.GenericReference,id:"wait-for-2-seconds-called-by-ref-two-id",entityType:r.FunctionDeclaration,entityId:ki},tR={id:$l,type:r.Operation,version:1,declaration:$t,inputs:[O$],dynamicArguments:[],outputs:[],process:null,successCalls:[ZE],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[B$,w$],calledBySuccess:[],error:null,parent:C$},_$={type:r.GenericReference,id:"wait-for-random-amount-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:"wait-for-random-amount-input-map-id"},M$={type:r.GenericReference,id:"wait-for-random-amount-argument-map-parent-ref-id",entityType:r.Operation,entityId:"wait-for-random-amount-id"},N$={id:"wait-for-random-amount-input-map-id",type:r.InputMap,version:1,declaration:xn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"wait-for-random-amount-argument-default-value-id",type:r.PrimitiveValue,version:1,value:null,valueAsType:null,autogeneration:{type:xe.Random,rangeStart:1e3,rangeEnd:4e3},name:g.Number,parent:_$},index:0,parent:M$},$$={type:r.GenericReference,id:"wait-for-random-amount-parent-ref-id",entityType:r.Project,entityId:J},xr={id:"wait-for-random-amount-id",type:r.Operation,version:1,declaration:$t,inputs:[N$],dynamicArguments:[],process:null,outputs:[],successCalls:[],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[],calledBySuccess:[],error:null,parent:$$},nR="list-of-functions-variable-id",V$={type:r.GenericReference,id:"list-of-functions-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:nR},L$={id:"list-of-functions-variable-action-descriptor-id",type:r.ActionDescriptor,version:1,name:"Action to execute",description:"An action of any type, to be executed. It can contain any number of inputs and outputs.",argumentsType:L.Dynamic,dynamicArgumentTypes:null,fixedArguments:[],returnsType:L.Dynamic,error:null,dynamicReturnTypes:null,fixedReturns:[],parent:null},G$={type:r.GenericReference,id:"list-of-functions-variable-data-type-default-parent-ref-id",entityType:r.DataType,entityId:"list-of-functions-variable-data-type-id"},F$={id:"list-of-functions-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:L$,asType:!1,isList:!0,isNullable:!1,defaultValue:{id:"list-of-functions-variable-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.ActionDescriptor,value:null,valueAsType:[xr,xr,xr,xr,xr],autogeneration:null,parent:G$},constant:!1,parent:V$},U$={type:r.GenericReference,id:"list-of-functions-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt};r.GenericReference,r.InputMap;const x$={type:r.GenericReference,id:"list-of-functions-variable-writes-value-one-ref-id",entityType:r.InputMap,entityId:WE},j$={type:r.GenericReference,id:"list-of-functions-variable-writes-value-two-ref-id",entityType:r.InputMap,entityId:Nl},rR={id:nR,type:r.VariableDeclaration,version:1,name:"List of functions to execute",description:"A list of functions to be executed in parallel",dataType:F$,parent:U$,readsValue:null,writesValues:[x$,j$],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],inputs:[],outputs:[],internalCalls:[],x:0,y:0},k$={type:r.GenericReference,id:"exec-in-parallel-return-map-parent-ref-id",entityType:r.Operation,entityId:ki},q$={type:r.GenericReference,id:"exec-in-parallel-result-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},J$={type:r.GenericReference,id:"exec-in-parallel-result-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:"exec-in-parallel-return-map-id"},W$={type:r.GenericReference,id:"exec-in-parallel-result-variable-called-by-ref-id",entityType:r.Operation,entityId:ki},iR={id:"exec-in-parallel-result-variable-id",type:r.VariableInstance,version:1,declaration:Gl,readsValue:J$,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[W$],successCalls:[],errorCalls:[],internalCalls:[],parent:q$,x:0,y:0},H$={id:"exec-in-parallel-return-map-id",type:r.OutputMap,version:1,declaration:_o,writesValues:[iR],index:0,parent:k$},Y$={type:r.GenericReference,id:"exec-in-parallel-argument-map-parent-ref-id",entityType:r.Operation,entityId:ki},z$={id:Nl,type:r.InputMap,version:1,declaration:wo,name:null,description:null,dynamicArguments:[],readsValue:rR,defaultValue:null,index:0,parent:Y$},Z$={type:r.GenericReference,id:"exec-in-parallel-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},X$={type:r.GenericReference,id:"exec-in-parallel-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:dt},Q$={process:null,id:ki,type:r.Operation,version:1,declaration:$t,inputs:[z$],dynamicArguments:[],outputs:[H$],successCalls:[tR,iR],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[X$],calledBySuccess:[],error:null,parent:Z$},K$={type:r.GenericReference,id:"exec-sequentially-return-map-parent-ref-id",entityType:r.Operation,entityId:qi},eV={type:r.GenericReference,id:"exec-sequentially-result-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},tV={type:r.GenericReference,id:"exec-sequentially-result-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:"exec-sequentially-return-map-id"},nV={type:r.GenericReference,id:"exec-sequentially-result-variable-called-by-ref-id",entityType:r.Operation,entityId:qi},aR={id:"exec-sequentially-result-variable-id",type:r.VariableInstance,version:1,declaration:Gl,readsValue:tV,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[nV],successCalls:[],errorCalls:[],internalCalls:[],parent:eV,x:0,y:0},rV={id:"exec-sequentially-return-map-id",type:r.OutputMap,version:1,declaration:No,writesValues:[aR],index:0,parent:K$},iV={type:r.GenericReference,id:"exec-sequentially-argument-map-parent-ref-id",entityType:r.Operation,entityId:qi},aV={id:WE,type:r.InputMap,version:1,declaration:Mo,name:null,description:null,dynamicArguments:[],readsValue:rR,defaultValue:null,index:0,parent:iV},sV={type:r.GenericReference,id:"exec-sequentially-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},oV={type:r.GenericReference,id:"exec-sequentially-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:dt},lV={id:qi,type:r.Operation,version:1,declaration:tn,inputs:[aV],process:null,dynamicArguments:[],outputs:[rV],successCalls:[tR,aR],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[oV],calledBySuccess:[],error:null,parent:sV},cV={type:r.GenericReference,id:"concurrency-and-wait-parent-ref-id",entityType:r.Project,entityId:J},dV={type:r.FunctionDeclaration,id:dt,version:1,name:"Execute with concurrency and wait",description:"Executes a hardcoded list of actions in parallel and waits for some time before ending the logic with some unrelated data payload as the result.",inputs:[],calls:[lV,Q$,v$],returnStatements:[ZE],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:cV},uV={type:r.GenericReference,id:"3521f2c8-a5c0-419c-8808-4fc6a73d0b78",entityType:r.ReturnDeclaration,entityId:"e1ec31f0-25ca-42ac-a4c4-c9ec2255f55b"},pV={id:"ce8b9a30-afe9-4d4f-879f-1677efca2c47",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:uV},yV={type:r.GenericReference,id:"8ee66e38-b060-474e-a503-594063a8ec24",entityType:r.ReturnStatement,entityId:"40a23a98-d3b2-42b1-9652-b33779ad15aa"},hV={isError:!1,id:"e1ec31f0-25ca-42ac-a4c4-c9ec2255f55b",type:r.ReturnDeclaration,version:1,name:"Created company",description:"The new company that was created",dataType:pV,readsValue:null,required:!0,index:0,parent:yV},fV={type:r.GenericReference,id:"9cb3c1e4-7250-4be6-be2a-69c2dd366d6f",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},mV={type:r.GenericReference,id:"c065fcdd-e054-4f95-941c-7eaa65c35d04",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},sR={type:r.ReturnStatement,id:"40a23a98-d3b2-42b1-9652-b33779ad15aa",version:1,outputs:[hV],calledByError:[],calledByEntry:[mV],calledBySuccess:[],throws:null,x:0,y:0,parent:fV},TV={type:r.GenericReference,id:"312ef836-9e40-4d57-b177-03b7145ed074",entityType:r.Project,entityId:J},EV={type:r.FunctionDeclaration,id:"5059c093-eda2-4efc-b7b4-aaaadd4d44de",version:1,name:"Create new company",description:null,inputs:[],calls:[sR],index:null,implements:null,returnStatements:[sR],collapsed:!1,private:!1,x:0,y:0,parent:TV},Fl="get-current-date-and-time-func-decl-id",oR="get-current-date-and-time-return-statement-id",lR="get-current-date-and-time-return-declaration-id",cR="get-current-date-and-time-return-declaration-data-type-id",RV={type:r.GenericReference,id:"get-current-date-and-time-return-declaration-data-type-value-parent-ref-id",entityType:r.DataType,entityId:cR},bV={type:r.GenericReference,id:"get-current-date-and-time-return-declaration-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:lR},vV={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:cR,version:1,entity:Or,asType:!1,isList:!1,isNullable:!1,defaultValue:{id:"last-timestamp-variable-default-value-id",type:r.PrimitiveValue,version:1,value:null,name:g.Date,valueAsType:null,autogeneration:{type:xe.CurrentDateAndTime,rangeStart:null,rangeEnd:null},parent:RV},constant:!1,parent:bV},gV={type:r.GenericReference,id:"get-current-date-and-time-return-declaration-parent-ref-id",entityType:r.ReturnStatement,entityId:oR};r.ReturnDeclaration;const IV={type:r.GenericReference,id:"get-current-date-and-time-return-statement-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Fl},PV={type:r.GenericReference,id:"get-current-date-and-time-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Fl};r.ReturnStatement;const DV={type:r.GenericReference,id:"concurrency-and-wait-parent-ref-id",entityType:r.Project,entityId:J},AV={type:r.FunctionDeclaration,id:Fl,version:1,name:"Get current date and time",description:"Generates and returns the current date and time at the time of the execution",inputs:[],calls:[],returnStatements:[],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:DV},dR="do-math-return-statement-id",uR="do-math-return-declaration-id",SV={type:r.GenericReference,id:"do-math-func-var-to-return-one-ref-id",entityType:r.VariableDeclaration,entityId:"do-math-func-var-to-return-one-id"},OV={id:"do-math-func-var-to-return-one-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:SV},CV={type:r.GenericReference,id:"do-math-func-decl-ref-two-id",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},BV={type:r.GenericReference,id:"do-math-func-var-to-return-one-map-ref-id",entityType:r.ReturnDeclaration,entityId:uR},wV={type:r.VariableDeclaration,id:"do-math-func-var-to-return-one-id",version:1,description:null,name:"Fixed result",dataType:OV,readsValue:null,writesValues:[BV],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:CV},_V={type:r.GenericReference,id:"96ec244e-594b-45f7-802b-6dc3056920f6",entityType:r.ReturnStatement,entityId:dR},MV={type:r.GenericReference,id:"d120c0cc-9d13-4e45-90e2-4e1ee825ca46",entityType:r.ReturnDeclaration,entityId:"873a3556-4911-4141-b2a0-49c677b56fb4"},NV={id:"da91aa23-9985-49ac-a8bf-9d623ba1ba8f",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:MV},$V={isError:!1,id:uR,version:1,type:r.ReturnDeclaration,name:"Result",description:null,dataType:NV,readsValue:wV,required:!0,index:0,parent:_V},VV={type:r.GenericReference,id:"57fd93e4-93a1-484e-82eb-4dd15d2d0e24",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},LV={type:r.GenericReference,id:"0a86e8d5-ab21-476e-a482-b928cbf351e3",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},pR={type:r.ReturnStatement,id:dR,version:1,outputs:[$V],calledByError:[],calledByEntry:[],calledBySuccess:[VV],parent:LV,throws:null,x:0,y:0},GV={type:r.GenericReference,id:"a2db26be-57f2-48e5-9769-cdbf0d95dc7c",entityType:r.VariableDeclaration,entityId:"d0e9f1f3-7e9f-4e1f-8d8e-7b4b3e6c6a6a"},FV={id:"c3e9d5f0-204f-45f9-85f7-e1b56b468388",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:GV},UV={type:r.GenericReference,id:"692122c5-610a-4504-90dd-f5a5202d116c",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},xV={type:r.GenericReference,id:"do-math-func-return-one-called-by",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},jV={type:r.GenericReference,id:"6dceb501-be5b-4252-afb4-3c0d08abba33",entityType:r.OutputMap,entityId:"64752080-ee0f-4cfe-9897-a0668f2b2aca"},yR={type:r.VariableDeclaration,id:"d0e9f1f3-7e9f-4e1f-8d8e-7b4b3e6c6a6a",version:1,name:"Result",dataType:FV,description:null,readsValue:jV,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[xV],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:UV},kV={type:r.GenericReference,id:"5440f523-af38-4981-8035-89d162fe8041",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},qV={type:r.GenericReference,id:"8c482c35-e674-4713-a1dd-63c3d13b611c",entityType:r.OutputMap,entityId:"64752080-ee0f-4cfe-9897-a0668f2b2aca"},JV={type:r.GenericReference,id:"c0a299cd-5869-4930-8cf0-90e3ceb8a903",entityType:r.VariableDeclaration,entityId:"46b2fe23-b417-4887-a35d-09b186679172"},WV={id:"51c0c1df-2ee3-41df-ae52-ac512d8cf795",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:JV},HV={type:r.GenericReference,id:"do-math-func-return-two-called-by",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},hR={type:r.VariableDeclaration,id:"46b2fe23-b417-4887-a35d-09b186679172",version:1,name:"Total",description:null,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[HV],successCalls:[],errorCalls:[],dataType:WV,readsValue:qV,writesValues:[],internalCalls:[],parent:kV,x:0,y:0},fR={type:r.GenericReference,id:"6e4d776e-6af2-4321-b630-c78110fd677c",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},YV={type:r.GenericReference,id:"5b60955b-2486-40b6-bb24-ffd97ccd8902",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},zV={type:r.GenericReference,id:"1a49923f-bc6f-453f-a438-e74e5475c2a9",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},ZV={type:r.GenericReference,id:"02bfde0a-b757-4072-9613-6e9c7c9a424a",entityType:r.ArgumentDeclaration,entityId:"d8895765-f705-457e-85fa-25d130926769"},mR={id:"928953b0-0e3f-4d8c-ae5a-84620b4b8c68",version:1,type:r.InputMap,declaration:go,name:null,description:null,dynamicArguments:[],readsValue:ZV,defaultValue:null,index:0,parent:zV},XV={id:"64752080-ee0f-4cfe-9897-a0668f2b2aca",type:r.OutputMap,version:1,declaration:Po,writesValues:[yR,hR],index:0,parent:YV},QV={type:r.GenericReference,id:"d235a7f6-07ff-4f35-98d2-8f42dd59cf9f",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},KV={id:"8827e8e9-9381-4ad7-8f61-5419c23c9136",type:r.GenericReference,entityType:r.VariableDeclaration,entityId:"72a338d8-0183-4ca2-8760-227517854595"},TR={id:"a5525249-0eb5-472b-97bc-5e4cc0d75aee",version:1,type:r.InputMap,declaration:Io,name:null,description:null,dynamicArguments:[],readsValue:KV,defaultValue:null,index:1,parent:QV},eL={type:r.Operation,id:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e",declaration:Ta,version:1,inputs:[mR,TR],dynamicArguments:[],outputs:[XV],calledByError:[],calledByEntry:[fR],calledBySuccess:[],process:null,successCalls:[pR,yR,hR],errorCalls:[],parent:fR,error:null,x:0,y:0},tL={type:r.GenericReference,id:"a2c40226-2270-4963-a865-c777ba79c551",entityType:r.DataType,entityId:"a350a9e9-25ee-477f-a83d-9e98ed2451662"},nL={id:"f47731b3-f278-4ab5-aeb2-24519c1119fb",type:r.GenericReference,entityId:"72a338d8-0183-4ca2-8760-227517854595",entityType:r.ArgumentDeclaration},ER={id:"a350a9e9-25ee-477f-a83d-9e98ed2451662",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"do-math-func-argument-two-default-value-id",type:r.PrimitiveValue,version:1,value:1,name:g.Number,parent:tL,valueAsType:null,autogeneration:null},constant:!1,parent:nL},rL={type:r.GenericReference,id:"5f5d8dd0-7f3b-40cd-9f84-83d976887eaf",entityType:r.ArgumentDeclaration,entityId:"649bf0a4-6532-44aa-9818-a03d1c6564e9"},iL={type:r.GenericReference,id:"ca018d0f-a8b3-4c7e-a408-c8b372d04aff",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},aL={type:r.GenericReference,id:"do-math-func-var-called-by-ref",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},RR={type:r.VariableDeclaration,id:"72a338d8-0183-4ca2-8760-227517854595",version:1,name:"Z",description:null,dataType:ER,inputs:[],outputs:[],calledByError:[],calledByEntry:[aL],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:rL,writesValues:[TR],internalCalls:[],x:0,y:0,parent:iL},sL={entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b",type:r.GenericReference,id:"af0cf105-4075-425f-aecc-b25d3600fcc4"},oL={id:"649bf0a4-6532-44aa-9818-a03d1c6564e9",type:r.ArgumentDeclaration,version:1,name:"Z",description:"The number to add",dataType:ER,writesValues:[RR],required:!0,index:1,parent:sL},lL={type:r.GenericReference,id:"56953b5d-3e43-4dea-a62c-f3e868ba81bb",entityType:r.Project,entityId:J},cL={id:"868defc8-5c95-48ed-942d-257e8b9b9b00",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},dL={type:r.GenericReference,id:"35167664-a793-49f1-9eaf-fb57eac30897",entityType:r.DataType,entityId:"55b12914-91b1-48b7-9a3e-9c5d0d2a2ec2"},uL={id:"d47ceef6-be6f-40f1-a7b3-c73c8d8a6c6a",type:r.GenericReference,entityId:"d8895765-f705-457e-85fa-25d130926769",entityType:r.ArgumentDeclaration},pL={id:"55b12914-91b1-48b7-9a3e-9c5d0d2a2ec2",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"do-math-func-argument-one-default-value-id",type:r.PrimitiveValue,version:1,value:5,name:g.Number,parent:dL,valueAsType:null,autogeneration:null},constant:!1,parent:uL},yL={id:"d8895765-f705-457e-85fa-25d130926769",type:r.ArgumentDeclaration,version:1,name:"N",dataType:pL,description:"The number to add",writesValues:[mR],required:!0,index:0,parent:cL},hL={type:r.FunctionDeclaration,id:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b",version:1,name:"Do math",description:"This function does math",inputs:[yL,oL],calls:[eL,RR],implements:null,index:null,collapsed:!1,returnStatements:[pR],private:!1,x:0,y:0,parent:lL},Pt="replace-bank-account-in-company-func-declaration-id",Ul="company-entity-to-modify-arg-declaration-id",fL="account-number-to-create-arg-decl-id",jr="company-variable-id",kr="search-person-by-id-id",bR="new-bank-account-owner-arg-decl-id",vR="search-person-by-id-output-declaration-id",xl="search-person-by-id-output-entity-map-id",Ts="person-not-empty-condition-id",Es="create-new-bank-account-instance-operation-id",gR="create-new-bank-account-instance-operation-output-entity-map-id",IR="company-bank-account-output-map-id",Rs="old-bank-account-var-declaration-id",mL="old-bank-account-var-instance-id",PR="company-variable-instance-id",TL="delete-bank-account-internal-call-id",EL={type:r.GenericReference,id:"company-variable-instance-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},RL={type:r.GenericReference,id:"company-variable-instance-called-by-ref-id",entityType:r.InternalCall,entityId:TL},bL={type:r.GenericReference,id:"company-variable-instance-declaration-ref-id",entityType:r.VariableDeclaration,entityId:jr},vL={type:r.GenericReference,id:"bank-account-input-map-parent-ref-id",entityType:r.VariableInstance,entityId:PR},gL={type:r.GenericReference,id:"bank-account-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:gR},DR={type:r.InputMap,id:"bank-account-input-map-id",version:1,readsValue:gL,declaration:Tl,name:null,description:null,index:0,defaultValue:null,dynamicArguments:[],parent:vL},IL={type:r.VariableInstance,id:PR,version:1,declaration:bL,inputs:[DR],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[RL],successCalls:[],errorCalls:[],internalCalls:[],parent:EL,readsValue:null,writesValues:[],x:0,y:0},PL={type:r.GenericReference,id:"bank-account-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:jr},DL={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"bank-account-variable-data-type-id",version:1,entity:Gr,asType:!1,isList:!1,isNullable:!1,constant:!1,defaultValue:null,parent:PL},AL={type:r.GenericReference,id:"bank-account-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:IR},AR={type:r.GenericReference,id:"bank-account-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},SL={type:r.GenericReference,id:"bank-account-variable-called-by-ref-id",entityType:r.VariableDeclaration,entityId:jr},OL={type:r.GenericReference,id:"delete-bank-account-internal-call-called-by-ref-id",entityType:r.Operation,entityId:Es},CL={type:r.GenericReference,id:"delete-bank-account-internal-call-parent-ref-id",entityType:r.VariableDeclaration,entityId:Rs},BL={type:r.GenericReference,id:"delete-bank-account-internal-call-called-by-ref-two-id",entityType:r.VariableDeclaration,entityId:Rs},jl={process:null,type:r.InternalCall,id:"delete-bank-account-internal-call-id",version:1,declaration:ko,index:0,successCalls:[IL],errorCalls:[],inputs:[],outputs:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[OL,BL],parent:CL},wL={type:r.GenericReference,id:"old-bank-account-variable-trigger-delete-decl-ref-id",entityType:r.VariableDeclaration,entityId:Rs};r.VariableInstance;const SR={type:r.VariableDeclaration,id:Rs,version:1,name:"Old bank account",description:"The existing bank account that needs to be replaced in the company entity",dataType:DL,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[SL],successCalls:[jl],internalCalls:[],errorCalls:[],parent:AR,readsValue:AL,writesValues:[],x:0,y:0},_L={type:r.GenericReference,id:"company-variable-declaration-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:jr},ML={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"company-variable-declaration-data-type-id",version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,constant:!1,defaultValue:null,parent:_L},NL={type:r.GenericReference,id:"company-variable-declaration-reads-value-ref-id",entityType:r.ArgumentDeclaration,entityId:Ul},$L={type:r.GenericReference,id:"company-variable-declaration-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},VL={type:r.GenericReference,id:"company-variable-declaration-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},LL={type:r.GenericReference,id:"company-bank-account-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:jr},GL={id:IR,version:1,type:r.OutputMap,declaration:Tl,index:0,parent:LL,writesValues:[SR]},OR={type:r.VariableDeclaration,id:jr,version:1,name:"Company",description:"The company entity that was passed as an argument to the parent function",dataType:ML,inputs:[],outputs:[GL],calledByError:[],calledByEntry:[VL],calledBySuccess:[],successCalls:[SR],errorCalls:[],parent:$L,internalCalls:[],readsValue:NL,writesValues:[],x:0,y:0},FL={type:r.GenericReference,id:"create-new-bank-account-account-owner-dynamic-input-map-parent-ref-id",entityType:r.InputMap,entityId:"create-new-bank-account-instance-operation-entity-to-create-input-map-id"},UL={id:"create-new-bank-account-account-owner-dynamic-input-map-reads-value-ref-id",type:r.GenericReference,entityType:r.OutputMap,entityId:xl},CR={id:"create-new-bank-account-account-owner-dynamic-input-map-id",version:1,type:r.InputMap,declaration:rT,name:null,description:null,dynamicArguments:[],readsValue:UL,index:1,defaultValue:null,parent:FL},xL={id:"create-new-bank-account-account-number-dynamic-input-map-reads-value-ref-id",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:fL},jL={type:r.GenericReference,id:"create-new-bank-account-account-number-dynamic-input-map-parent-ref-id",entityType:r.InputMap,entityId:"create-new-bank-account-instance-operation-entity-to-create-input-map-id"},BR={id:"create-new-bank-account-account-number-dynamic-input-map-id",version:1,type:r.InputMap,declaration:nT,name:null,description:null,dynamicArguments:[],readsValue:xL,defaultValue:null,index:0,parent:jL},kL={type:r.GenericReference,id:"create-new-bank-account-instance-operation-entity-to-create-input-map-parent-ref-id",entityType:r.Operation,entityId:Es},qL={id:"create-new-bank-account-instance-operation-entity-to-create-input-map-id",version:1,type:r.InputMap,declaration:Cr.fixedArguments[0],name:null,description:null,dynamicArguments:[BR,CR],index:0,readsValue:null,defaultValue:{type:r.PrimitiveValue,name:g.EntityTemplate,value:null,valueAsType:Gr,autogeneration:null},parent:kL},JL={type:r.GenericReference,id:"create-new-bank-account-instance-operation-output-entity-map-parent-ref-id",entityType:r.Operation,entityId:Es},WL={id:gR,version:1,type:r.OutputMap,declaration:Cr.fixedReturns[0],index:0,writesValues:[DR],parent:JL},HL={type:r.GenericReference,id:"create-new-bank-account-instance-operation-called-by-ref-id",entityType:r.Condition,entityId:Ts},YL={type:r.GenericReference,id:"create-new-bank-account-instance-operation-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},zL={process:null,id:Es,type:r.Operation,version:1,declaration:Cr,inputs:[qL],dynamicArguments:[],error:null,outputs:[WL],successCalls:[jl],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[HL],parent:YL,x:0,y:0},ZL={id:"person-not-found-thrown-error-datatype-default-value-parent-ref-id",type:r.GenericReference,entityId:"person-not-found-thrown-error-datatype-id",entityType:r.DataType},XL={id:"person-not-found-thrown-error-datatype-parent-ref-id",type:r.GenericReference,entityId:"person-not-found-thrown-error-id",entityType:r.ReturnDeclaration};r.DataType,r.PrimitiveValue,g.String;const QL={id:"person-not-found-thrown-error-parent-ref-id",type:r.GenericReference,entityId:"person-not-found-error-return-statement-id",entityType:r.ReturnStatement},KL={isError:!0,id:"person-not-found-thrown-error-id",type:r.ReturnDeclaration,version:1,dataType:null,name:"Person not found error",description:"If the person entity was not found this error is outputted",parent:QL,required:!0,index:0,readsValue:null},eG={id:"person-not-found-error-return-statement-called-by-ref-id",type:r.GenericReference,entityId:Ts,entityType:r.Condition},tG={id:"person-not-found-error-return-statement-parent-ref-id",type:r.GenericReference,entityId:Pt,entityType:r.FunctionDeclaration},nG={id:"person-not-found-error-return-statement-id",type:r.ReturnStatement,version:1,throws:KL,outputs:[],calledBySuccess:[],calledByError:[eG],calledByEntry:[],x:0,y:0,parent:tG},rG={type:r.GenericReference,id:"person-not-empty-condition-called-by-ref-id",entityType:r.Search,entityId:kr},iG={type:r.GenericReference,id:"person-not-empty-condition-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},aG={type:r.GenericReference,id:"person-entity-to-check-map-reads-value-ref-id",entityType:r.OutputMap,entityId:xl},sG={type:r.GenericReference,id:"person-not-empty-condition-ref-two-id",entityType:r.Condition,entityId:Ts},wR={id:"person-entity-to-check-map-id",version:1,type:r.InputMap,declaration:qn.fixedArguments[0],name:null,description:null,dynamicArguments:[],readsValue:aG,index:0,defaultValue:null,parent:sG},oG={type:r.Condition,id:Ts,version:1,declaration:qn,inputs:[wR],calledByError:[],calledByEntry:[],calledBySuccess:[rG],successCalls:[zL],errorCalls:[nG],x:0,y:0,parent:iG},lG={type:r.GenericReference,id:"search-person-by-id-output-entity-declaration-datatype-parent-ref-id",entityType:r.ReturnDeclaration,entityId:vR},cG={id:"search-person-by-id-output-entity-declaration-datatype-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!1,constant:!1,asType:!1,isNullable:!1,entity:ct,defaultValue:null,parent:lG},dG={type:r.GenericReference,id:"search-person-by-id-output-entity-declaration-parent-ref-id",entityType:r.Search,entityId:kr},_R={isError:!1,id:vR,type:r.ReturnDeclaration,version:1,dataType:cG,name:"Found person",description:"The person entity that was found",parent:dG,required:!0,index:0,readsValue:null},uG={type:r.GenericReference,id:"search-person-by-id-output-entity-map-parent-ref-id",entityType:r.Search,entityId:kr},pG={type:r.OutputMap,id:xl,version:1,declaration:_R,parent:uG,writesValues:[wR,CR],index:0},yG={id:"search-person-by-id-input-declaration-datatype-parent-ref-id",type:r.GenericReference,entityId:"search-person-by-id-input-declaration-id",entityType:r.ArgumentDeclaration};r.DataType;const hG={type:r.GenericReference,id:"search-person-by-id-input-declaration-parent-ref-id",entityType:r.Search,entityId:kr},MR={id:"search-person-by-id-input-declaration-id",type:r.ArgumentDeclaration,version:1,dataType:null,name:"Person ID",description:"The unique identifier (ID) property of the person entity",index:0,required:!0,parent:hG,writesValues:[]},fG={type:r.GenericReference,id:"search-person-by-id-input-map-parent-ref-id",entityType:r.Search,entityId:kr},mG={id:"search-person-by-id-input-map-reads-value-ref-id",type:r.GenericReference,entityId:bR,entityType:r.ArgumentDeclaration},NR={type:r.InputMap,id:"search-person-by-id-input-map",version:1,declaration:MR,name:null,description:null,readsValue:mG,defaultValue:null,parent:fG,dynamicArguments:[],index:0},TG={from:{name:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},items:[{name:"*"}],where:[{name:"id",value:"{{dynamic_value_1}}"}]},EG={type:r.GenericReference,id:"search-person-by-id-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},RG={type:r.GenericReference,id:"search-person-by-id-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},bG={type:r.Search,id:kr,version:1,name:"Search person by ID",description:"Searches for a person entity given the UUID",query:TG,inputsDeclarations:[MR],inputs:[NR],outputsDeclarations:[_R],outputs:[pG],calledByError:[],calledByEntry:[RG],calledBySuccess:[],error:null,successCalls:[oG],errorCalls:[],parent:EG,x:0,y:0};r.GenericReference,r.DataType;const vG={id:"account-number-to-create-arg-decl-data-type-parent-ref-id",type:r.GenericReference,entityId:"account-number-to-create-arg-decl-id",entityType:r.ArgumentDeclaration},gG={id:"account-number-to-create-arg-decl-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:vG},IG={entityType:r.FunctionDeclaration,entityId:Pt,type:r.GenericReference,id:"account-number-to-create-arg-decl-parent-ref-id"},PG={id:"account-number-to-create-arg-decl-id",type:r.ArgumentDeclaration,version:1,name:"Account number",description:"The account number of the new bank account entity",dataType:gG,writesValues:[BR],required:!0,index:1,parent:IG};r.GenericReference,r.DataType;const DG={id:"new-bank-account-owner-arg-decl-data-type-parent-ref-id",type:r.GenericReference,entityId:"new-bank-account-owner-arg-decl-id",entityType:r.ArgumentDeclaration},AG={id:"new-bank-account-owner-arg-decl-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ma,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:DG},SG={entityType:r.FunctionDeclaration,entityId:Pt,type:r.GenericReference,id:"new-bank-account-owner-arg-decl-parent-ref-id"},OG={id:bR,type:r.ArgumentDeclaration,version:1,name:"New account owner ID",description:"If it has changed, this is the new person entity, that owns of the bank account",dataType:AG,writesValues:[NR],required:!1,index:1,parent:SG},CG={type:r.GenericReference,id:"replace-bank-account-in-company-parent-ref",entityType:r.Project,entityId:J},BG={type:r.GenericReference,id:"company-entity-to-modify-parent-ref",entityType:r.FunctionDeclaration,entityId:Pt};r.GenericReference,r.DataType;const wG={id:"d47ceef6-be6f-40f1-a7b3-c73c8d8a6c6a",type:r.GenericReference,entityId:Ul,entityType:r.ArgumentDeclaration},_G={id:"company-entity-to-modify-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:wG},MG={id:Ul,type:r.ArgumentDeclaration,version:1,name:"Company",dataType:_G,description:"The company to replace the bank account for",writesValues:[OR],required:!0,index:0,parent:BG},NG={type:r.FunctionDeclaration,id:Pt,version:1,name:"Replace bank account",description:"This action takes an existing company and data to create a new bank account entity. It then creates a bank account, deletes the old one, and updates the company with the new bank account",inputs:[MG,PG,OG],index:null,implements:null,calls:[bG,OR],collapsed:!1,returnStatements:[],private:!1,x:0,y:0,parent:CG},$G={type:r.GenericReference,id:"e0a937bd-3a85-4037-a973-916985b9f94b",entityType:r.Project,entityId:"7268bc97-c0e6-4d88-b37e-d3241b5f77a6"},VG={type:r.FunctionDeclaration,version:1,id:"6bedb217-f844-4332-af72-9626b2a32511",name:"Some library main function",description:null,inputs:[],calls:[],implements:null,collapsed:!0,index:null,returnStatements:[],private:!1,parent:$G,x:0,y:0},LG={type:r.GenericReference,id:"948e6869-ae5b-4914-bea0-b9f02ad6a014",entityType:r.Project,entityId:"23b23d8b-1929-4505-a350-745c8550e731"},GG={type:r.GenericReference,id:"f3d6f2c6-1b3e-4e9d-8c9d-5b5b9f0b8d9c",entityType:r.Project,entityId:"7268bc97-c0e6-4d88-b37e-d3241b5f77a6"},FG={type:r.InstalledProject,version:1,id:"7268bc97-c0e6-4d88-b37e-d3241b5f77a6",name:"Third Party Installed Project",description:null,functions:[VG],events:[],implements:GG,parent:LG,x:0,y:0},kl="iterate-over-list-loop-id",$R="iterate-over-list-loop-body-id",VR="iterate-over-list-loop-body-current-iteration-argument-declaration-id",UG={type:r.GenericReference,id:"iterate-over-list-loop-body-current-iteration-argument-declaration-data-type-parent-ref-id",entityId:VR,entityType:r.ArgumentDeclaration},xG={id:"iterate-over-list-loop-body-current-iteration-argument-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,defaultValue:null,entity:null,isList:!1,isNullable:!1,asType:!1,constant:!1,parent:UG},jG={id:"iterate-over-list-loop-body-current-iteration-argument-declaration-parent-ref-id",type:r.GenericReference,entityId:$R,entityType:r.FunctionDeclaration},kG={id:VR,type:r.ArgumentDeclaration,version:1,name:"Current value",description:"The current value being processed.",dataType:xG,required:!0,index:0,writesValues:[],parent:jG},qG={id:"iterate-over-list-loop-body-parent-ref-id",type:r.GenericReference,entityId:kl,entityType:r.Loop},JG={id:$R,type:r.FunctionDeclaration,version:1,name:"Iteration logic trigger",description:"This function is called once for each entity in the list.",inputs:[kG],calls:[],implements:null,collapsed:!1,returnStatements:[],private:!1,index:0,x:0,y:0,parent:qG},WG={id:"iterate-over-list-loop-iteration-list-input-map-parent-ref-id",type:r.GenericReference,entityId:kl,entityType:r.Loop},HG={id:"iterate-over-list-loop-iteration-list-input-map-id",type:r.InputMap,version:1,name:null,description:null,declaration:kn.fixedArguments[0],defaultValue:null,dynamicArguments:[],readsValue:null,index:0,parent:WG},YG={id:"iterate-over-list-loop-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},zG={id:kl,type:r.Loop,version:1,declaration:kn,inputs:[HG],successCalls:[],errorCalls:[],outputs:[],process:null,body:JG,calledByError:[],calledByEntry:[],calledBySuccess:[],breakStatements:[],continueStatements:[],error:null,x:0,y:0,parent:YG};var ql=(n=>(n.EQ="eq",n.NEQ="neq",n.GT="gt",n.GTE="gte",n.LT="lt",n.LTE="lte",n.LIKE="like",n.ILIKE="ilike",n))(ql||{}),LR=(n=>(n.COUNT="count",n.SUM="sum",n.AVG="avg",n.MIN="min",n.MAX="max",n))(LR||{});const ZG={from:{name:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},items:{from:{name:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},items:[{function:{name:LR.COUNT,items:["f8310850-a87e-405c-b182-4f1d5fa49240"]},alias:"employee_count"}],where:[{name:"80c86e1b-caca-4ba5-9b1f-38f72d10e4a3",operation:ql.NEQ,value:null}]},where:[{name:"employee_count",operation:ql.GT,value:1}]},XG={id:"find-companies-with-multiple-employees-and-bank-account-search-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},QG={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-declaration-parent-ref-id",type:r.GenericReference,entityId:"find-companies-with-multiple-employees-and-bank-account",entityType:r.Search},GR={isError:!1,id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-declaration-id",type:r.ReturnDeclaration,version:1,name:"companies",description:"List of companies with multiple employees and an existing bank account",dataType:null,readsValue:null,required:!0,index:0,parent:QG},KG={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-parent-ref-id",type:r.GenericReference,entityId:"find-companies-with-multiple-employees-and-bank-account",entityType:r.Search},eF={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-id",type:r.OutputMap,version:1,declaration:GR,writesValues:[],index:0,parent:KG},tF={id:"find-companies-with-multiple-employees-and-bank-account",type:r.Search,version:1,name:"Find companies with multiple employees and a bank account",description:"This search statement finds companies with multiple employees and an existing bank account",inputsDeclarations:[],outputsDeclarations:[GR],inputs:[],outputs:[eF],query:ZG,successCalls:[],errorCalls:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[],x:0,y:0,parent:XG},qr="random-company-employee-test-variable-id",Jl="manager-global-variable-id",FR="global-user-instance-id",Jr="employee-mapped-dto-variable-id",UR="random-employee-id-output-map-id",xR="random-employee-birth-date-output-map-id",jR="random-employee-department-output-map-id",kR="random-employee-manager-output-map-id",qR="manager-global-id-output-map-id",JR="global-user-instance-id-output-map-id",nF="employee-mapped-dto-requester-id-input-map-id",rF="employee-mapped-dto-id-input-map-id",iF="employee-mapped-dto-birth-date-input-map-id",aF="employee-mapped-dto-department-input-map-id",sF="employee-mapped-dto-manager-input-map-id",oF={type:r.GenericReference,id:"employee-mapped-dto-manager-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:qR},lF={type:r.GenericReference,id:"employee-mapped-dto-manager-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Jr},WR={id:sF,type:r.InputMap,version:1,declaration:null,name:"manager_id",description:null,defaultValue:null,dynamicArguments:[],index:4,readsValue:oF,parent:lF},cF={type:r.GenericReference,id:"employee-mapped-dto-department-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:jR},dF={type:r.GenericReference,id:"employee-mapped-dto-department-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Jr},HR={id:aF,type:r.InputMap,version:1,declaration:null,name:"department_name",description:null,defaultValue:null,dynamicArguments:[],index:3,readsValue:cF,parent:dF},uF={type:r.GenericReference,id:"employee-mapped-dto-birth-date-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:xR},pF={type:r.GenericReference,id:"employee-mapped-dto-birth-date-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Jr},YR={id:iF,type:r.InputMap,version:1,declaration:null,name:"birth_date",description:null,defaultValue:null,dynamicArguments:[],index:2,readsValue:uF,parent:pF},yF={type:r.GenericReference,id:"employee-mapped-dto-id-output-map-reads-value-ref-id",entityType:r.OutputMap,entityId:UR},hF={type:r.GenericReference,id:"employee-mapped-dto-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Jr},zR={id:rF,type:r.InputMap,version:1,declaration:null,name:"id",description:"The ID of the employee",defaultValue:null,dynamicArguments:[],index:1,readsValue:yF,parent:hF},fF={type:r.GenericReference,id:"employee-mapped-dto-requester-id-output-map-reads-value-ref-id",entityType:r.OutputMap,entityId:JR},mF={type:r.GenericReference,id:"employee-mapped-dto-requester-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Jr},ZR={id:nF,type:r.InputMap,version:1,declaration:null,name:"requester_id",description:"The ID of the current user making the request",defaultValue:null,dynamicArguments:[],index:0,readsValue:fF,parent:mF},TF={type:r.GenericReference,id:"manager-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Jl},EF={id:qR,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[WR],parent:TF},RF={type:r.GenericReference,id:"manager-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:Jl},bF={id:"manager-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:It,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:RF,defaultValue:null},vF={type:r.GenericReference,id:"manager-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:kR},gF={type:r.GenericReference,id:"manager-variable-parent-ref-id",entityType:r.Project,entityId:J},XR={id:Jl,type:r.VariableDeclaration,version:1,name:"Manager",dataType:bF,description:"A variable holding an inherited manager for testing purposes",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:vF,writesValues:[],inputs:[],outputs:[EF],internalCalls:[],parent:gF,x:0,y:0},IF={type:r.GenericReference,id:"random-company-employee-manager-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},PF={id:kR,type:r.OutputMap,version:1,declaration:It.properties[2],index:3,writesValues:[XR],parent:IF},DF={type:r.GenericReference,id:"random-company-employee-department-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},AF={id:jR,type:r.OutputMap,version:1,declaration:It.properties[0],index:2,writesValues:[HR],parent:DF},SF={type:r.GenericReference,id:"random-company-employee-birth-date-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},OF={id:xR,type:r.OutputMap,version:1,declaration:ct.properties[1],index:1,writesValues:[YR],parent:SF},CF={type:r.GenericReference,id:"random-company-employee-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},BF={id:UR,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[zR],parent:CF},wF={type:r.GenericReference,id:"random-company-employee-test-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},_F={id:"random-company-employee-test-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:It,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:wF,defaultValue:null},MF={type:r.GenericReference,id:"random-company-employee-test-variable-parent-ref-id",entityType:r.Project,entityId:J},NF={id:qr,type:r.VariableDeclaration,version:1,name:"Company employee",dataType:_F,description:"A variable holding a random company employee for testing purposes",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[],outputs:[BF,OF,AF,PF],internalCalls:[],parent:MF,x:0,y:0},$F={type:r.GenericReference,id:"employee-mapped-dto-variable-parent-ref-id",entityType:r.Project,entityId:J},VF={id:Jr,type:r.VariableDeclaration,version:1,name:"Employee DTO",dataType:null,description:"A variable holding the data of a mapped employee DTO",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[ZR,zR,YR,HR,WR],outputs:[],internalCalls:[],parent:$F,x:0,y:0},LF={type:r.GenericReference,id:"0e63e617-f9d3-42e8-bde0-1bb0b1df7034",entityType:r.VariableDeclaration,entityId:pl},GF={id:"e75645ce-d3df-4f07-a897-ae9ef4d917fd",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:hl,version:1,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:LF,defaultValue:null},FF={type:r.GenericReference,id:"e92a8ff5-3fef-4e0c-8d8f-92c930b2890b",entityType:r.Project,entityId:J},QR={id:pl,type:r.VariableDeclaration,version:1,name:"Current user",description:"The user that is currently logged in",dataType:GF,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:FF},UF={type:r.GenericReference,id:"manager-variable-id-output-map-parent-ref-id",entityType:r.VariableInstance,entityId:FR},xF={id:JR,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[ZR],parent:UF},jF={type:r.GenericReference,id:"global-user-instance-parent-ref-id",entityType:r.Project,entityId:J},kF={id:FR,type:r.VariableInstance,version:1,declaration:QR,calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[],outputs:[xF],internalCalls:[],parent:jF,x:0,y:0},qF={type:r.GenericReference,id:"is-test-environment-variable-dcl-datatype-parent-ref-id",entityType:r.VariableDeclaration,entityId:pl},JF={type:r.GenericReference,id:"is-test-environment-variable-dcl-datatype-default-value-parent-ref-id",entityType:r.DataType,entityId:"is-test-environment-variable-dcl-datatype-id"},WF={id:"is-test-environment-variable-dcl-datatype-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Un,version:1,asType:!1,isList:!1,isNullable:!1,constant:!0,parent:qF,defaultValue:{id:"is-test-environment-variable-dcl-datatype-default-value-id",name:g.Boolean,version:1,value:null,type:r.PrimitiveValue,autogeneration:{type:xe.Random,rangeStart:null,rangeEnd:null},valueAsType:null,parent:JF}},HF={type:r.GenericReference,id:"is-test-environment-variable-dcl-main-project-ref-id",entityType:r.Project,entityId:J},KR={id:"is-test-environment-variable-dcl-id",type:r.VariableDeclaration,version:1,name:"Is test envrioment",description:"Indicates whether the current environment is a test environment or not.",dataType:WF,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:HF},YF={type:r.GenericReference,id:"is-test-environment-variable-instance-parent-ref-id",entityType:r.Project,entityId:J},zF={id:"is-test-environment-variable-instance-id",type:r.VariableInstance,version:1,declaration:KR,calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[],outputs:[],internalCalls:[],parent:YF,x:0,y:0},eb={type:r.Project,id:J,version:1,name:"Mocked project to compile",description:"This project is used to test all sorts of features and edge cases. It is not meant to be used in production. Or to have any functionality that makes sense",projects:[FG],entities:[yl,hl,ct,Yw,It,os,mT,TT,Gr,jB,mt,Lw,Xm,JD,UB],functions:[dV,qT,_l,EV,AV,iE,Ml,El,NG,ST,hL],events:[S_],variableDeclarations:[KR,QR,Gl,NF,XR,VF],variableInstances:[zF,kF],conditions:[],operations:[xr],functionCalls:[DM,_N],loops:[zG],searches:[tF]};var f=(n=>(n.Error="error",n.Warning="warning",n))(f||{}),v=(n=>(n.InvalidObjectStructure="invalid-object-structure",n.NameNotUniqueInScope="name-not-unique-in-scope",n.EmptyName="empty-name",n.MissingCaller="missing-caller",n.PropertyOverwrite="property-overwrite",n.MethodOverwrite="method-overwrite",n.NoOverlapWithImplementedSignature="no-overlap-with-implemented-signature",n.ReaderWriterIncompatibleDataType="reader-writer-incompatible-data-type",n.UnreachableEntity="unreachable-entity",n.InternalCallParentMissingDataType="internal-call-parent-missing-data-type",n.InternalCallParentDeclarationEntityInvalidType="internal-call-parent-declaration-entity-invalid-type",n.InternalCallDeclarationNotFoundInParentDatatypeEntity="internal-call-declaration-not-found-in-parent-datatype-entity",n.InternalCallDeclarationIsNotFunctionDeclaration="internal-call-declaration-is-not-function-declaration",n.InternalCallDeclarationNotInParentDatatypeEntity="internal-call-declaration-not-in-parent-datatype-entity",n))(v||{}),y=(n=>(n.RootReference="root-reference",n.ReferencedEntityNotFound="referenced-entity-not-found",n.EntityIdNotUnique="entity-id-not-unique",n.BuiltInEntityGenerated="built-in-entity-generated",n.BuiltInEntityUpdated="built-in-entity-updated",n.BuiltInEntityDeleted="built-in-entity-deleted",n.UnknownEntityType="unknown-entity-type",n.MissingTypeProperty="missing-type-property",n.MissingIdProperty="missing-id-property",n.BuiltInEntityParent="built-in-entity-parent",n.InvalidBuiltInEntityReference="invalid-built-in-entity-reference",n.RecommendedImplementAbstractEntityAction="recommended-implement-abstract-entity-action",n.RecommendedImplementOperationAction="recommended-implement-operation-action",n.RecommendedImplementFunctionCallAction="recommended-implement-function-call-action",n.RecommendedImplementVariableDeclarationAction="recommended-implement-variable-declaration-action",n.RecommendedImplementVariableInstanceAction="recommended-implement-variable-instance-action",n.RecommendedImplementConditionAction="recommended-implement-condition-action",n.InvalidReferenceObjectStructure="invalid-reference-object-structure",n.ContainsSingleButShouldBeReferenceList="contains-single-but-should-be-reference-list",n.ContainsListButShouldReferenceSingle="contains-list-but-should-reference-single",n.InvalidParentReference="invalid-parent-reference",n.InvalidImplementsReference="invalid-implements-reference",n.InvalidExtendsReference="invalid-extends-reference",n.InvalidGenerationActionPayload="invalid-generation-action-payload",n.InvalidReference="invalid-reference",n.InvalidInternalCallParentRelation="invalid-internal-call-parent-relation",n.InvalidUpdateEntityOperation="invalid-update-entity-operation",n.NewEntityWouldOverriteExisting="new-entity-would-overrite-existing",n.InvalidDownstreamPropertyOverride="invalid-downstream-property-override",n.UnrecognizedProperty="unrecognized-property",n.SelfReference="self-reference",n.DuplicateReference="duplicate-reference",n.CallerWithIncompatibleScope="caller-with-incompatible-scope",n.InvalidFunctionDeclarationForFunctionCall="invalid-function-declaration-for-function-call",n.InvalidInputMapDeclaration="invalid-input-map-declaration",n.InvalidActionDescriptorForOperation="invalid-action-descriptor-for-operation",n.InvalidActionDescriptorForCondition="invalid-action-descriptor-for-condition",n.InvalidActionDescriptorForLoop="invalid-action-descriptor-for-loop",n.InvalidInmutablePropertyOverride="invalid-inmutable-property-override",n.OutputOverwrite="output-overwrite",n.InputOverwrite="input-overwrite",n.IncompatibleScope="incompatible-scope",n.InvalidParentUpdate="invalid-parent-update",n.NonInteractiveEntityReferenced="non-interactive-entity-referenced",n.InvalidParentRelationType="invalid-parent-relation-type",n))(y||{}),O=(n=>(n.ScopeWithoutLogic="scope-without-logic",n.ExtendingAbstractEntity="extending-abstract-entity",n.ImplementingNonAbstractEntity="implementing-non-abstract-entity",n.AbstractEntityWithNonAbstractMethods="abstract-entity-with-non-abstract-methods",n.AbstractEntityWithNonAbstractProperties="abstract-entity-with-non-abstract-properties",n.StaticEntityWithNonStaticProperties="static-entity-with-non-static-properties",n.NonStaticPropertyInStaticEntity="non-static-property-in-static-entity",n.AbstractPropertyInNonAbstractEntity="abstract-property-in-non-abstract-entity",n.AbstractMethodInNonAbstractEntity="abstract-method-in-non-abstract-entity",n.IncorrectEntityImplementation="incorrect-entity-implementation",n.IncorrectMethodImplementation="incorrect-method-implementation",n.IncorrectPropertyImplementation="incorrect-property-implementation",n.PropertyImplementsNonAbstact="property-implements-non-abstract",n.NonStaticPropertyImplementsStatic="non-static-property-implements-static",n.StaticPropertyImplementsNonStatic="static-property-implements-non-static",n.PropertyImplementsIncompatibleType="property-implements-incompatible-type",n.MissingPropertyImplementation="missing-property-implementation",n.MissingMethodImplementation="missing-method-implementation",n.NoProperties="no-properties",n.ReadingFromIncompatibleType="reading-from-incompatible-type",n.WritingToIncompatibleType="writing-to-incompatible-type",n.InvalidPropertiesCombination="invalid-properties-combination",n.DisconnectedCallableEntity="disconnected-callable-entity",n.VariableHasInputsAndInternalCall="variable-has-inputs-and-internal-calls",n.VariableHasOutputsAndInternalCall="variable-has-outputs-and-internal-call",n.VariableIsCalledAndHasInternalCall="variable-is-called-and-has-internal-call",n.VariableCallsOthersAndHasInternalCall="variable-calls-others-and-has-internal-call",n))(O||{});class E{constructor(e){l(this,"id");l(this,"message");l(this,"issue");l(this,"severity");l(this,"code");this.id=e.id,this.message=e.message,this.issue=e.issue,this.severity=e.severity,this.code=e.code}toEntityError(e){return this.code in v?new Qn({id:this.id,message:this.message,issue:this.issue,severity:this.severity,code:this.code,entity:e}):null}}class Qn{constructor(e){l(this,"id");l(this,"message");l(this,"issue");l(this,"severity");l(this,"code");l(this,"entity");this.id=e.id,this.message=e.message,this.issue=e.issue,this.severity=e.severity,this.code=e.code,this.entity=e.entity}clone(){return new Qn({id:this.id,message:this.message,issue:this.issue,severity:this.severity,code:this.code,entity:this.entity})}}function ZF(n){const e=new Set;return n.filter(t=>e.has(t.id)?!1:(e.add(t.id),!0))}function k(n){const e=n.entity.errors.find(i=>i.id===n.id);return e?{new:!1,error:e}:{new:!0,error:new Qn(n)}}function XF(n,e){const t=new Map;return n.forEach(i=>{t.set(i.id,i)}),e.forEach(i=>{t.set(i.id,i)}),Array.from(t.values())}function X(n,e){const t=[];return e.forEach(i=>{const a=n.find(s=>s.id===i.id);a?t.push(a):t.push(i)}),t}const Wi=c.union([c.string(),c.number(),c.boolean(),c.date()]),tb=c.enum([xe.CurrentDateAndTime,xe.Random,xe.Unique]),bs=c.object({type:tb,rangeStart:Wi.nullable(),rangeEnd:Wi.nullable()}),Hi=bs.extend({type:c.literal(xe.Random),rangeStart:Wi,rangeEnd:Wi}),Wl=bs.extend({type:c.literal(xe.Unique),rangeStart:c.null(),rangeEnd:c.null()}),nb=bs.extend({type:c.literal(xe.CurrentDateAndTime),rangeStart:c.null(),rangeEnd:c.null()}),vs=Hi.extend({rangeStart:c.number().nullable(),rangeEnd:c.number().nullable()}),rb=vs.extend({rangeStart:c.number(),rangeEnd:c.null()}),ib=vs.extend({rangeStart:c.null(),rangeEnd:c.number()}),ab=vs.extend({rangeStart:c.number(),rangeEnd:c.number()}),gs=Hi.extend({rangeStart:c.number().nullable(),rangeEnd:c.number().nullable()}),sb=gs.extend({rangeStart:c.number(),rangeEnd:c.null()}),ob=gs.extend({rangeStart:c.null(),rangeEnd:c.number()}),lb=gs.extend({rangeStart:c.number(),rangeEnd:c.number()}),Is=Hi.extend({rangeStart:c.date().nullable(),rangeEnd:c.date().nullable()}),cb=Is.extend({rangeStart:c.date(),rangeEnd:c.null()}),db=Is.extend({rangeStart:c.null(),rangeEnd:c.date()}),ub=Is.extend({rangeStart:c.date(),rangeEnd:c.date()}),Hl=Hi.extend({rangeStart:c.null(),rangeEnd:c.null()}),Yl=c.union([sb,ob,lb]),zl=c.union([rb,ib,ab]),Zl=c.union([cb,db,ub,nb]),Xl=c.union([Yl,zl,Zl,Wl,Hl]);function Ql(){return c.union([c.object({type:c.literal(r.ValueDescriptor)}),c.record(c.string(),c.any())])}function pb(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ValueDescriptor)})}function Kl(){return c.object({id:c.string(),type:c.literal(r.ValueDescriptor),name:c.string(),required:c.boolean()})}function QF(){return Kl().merge(c.object({version:c.number(),index:c.number()}))}function KF(){return Kl().merge(c.object({}))}function e4(){return c.object({dataType:cn(),parent:on()})}function t4(){return QF().merge(e4())}function Ps(){return c.union([c.object({type:c.literal(r.PrimitiveEntity)}),c.record(c.string(),c.any())])}function Ds(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.PrimitiveEntity)})}function As(){return c.object({id:c.string(),type:c.literal(r.PrimitiveEntity),name:c.string(),description:c.string().nullable(),static:c.boolean(),abstract:c.boolean()})}function n4(){return As().merge(c.object({version:c.number()}))}function r4(){return As().merge(c.object({}))}function i4(){return c.object({properties:c.array(Kn()),methods:c.array(At()),abstractMethods:c.array(Yt()),extends:c.array(c.union([Ps(),Wr()]))})}function a4(){return n4().merge(i4())}function Kn(){return c.union([c.object({type:c.literal(r.Property)}),c.record(c.string(),c.any())])}function yb(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Property)})}function ec(){return c.object({id:c.string(),type:c.literal(r.Property),name:c.string(),description:c.string().nullable(),private:c.boolean(),static:c.boolean(),required:c.boolean(),abstract:c.boolean()})}function s4(){return ec().merge(c.object({version:c.number(),index:c.number()}))}function o4(){return ec().merge(c.object({}))}function l4(){return c.object({dataType:cn(),implements:Kn().nullable(),parent:c.union([rr(),Ds(),Ss()])})}function c4(){return s4().merge(l4())}function d4(){return c.enum([_.CRON_JOB,_.EXECUTION,_.HTTP_ENDPOINT,_.PERSISTED_ENTITY,_.RELATIONAL_DATABASE])}function Wr(){return c.union([c.object({type:c.literal(r.BuiltInBaseEntity)}),c.record(c.string(),c.any())])}function Ss(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.BuiltInBaseEntity)})}function tc(){return c.object({id:c.string(),version:c.number(),type:c.literal(r.BuiltInBaseEntity),name:d4(),description:c.string().nullable(),abstract:c.boolean(),static:c.boolean()})}function u4(){return tc()}function p4(){return tc().merge(c.object({}))}function y4(){return c.object({properties:c.array(Kn()),methods:c.array(At()),abstractMethods:c.array(Yt()),extends:c.array(c.union([Wr(),Ps()]))})}function h4(){return u4().merge(y4())}function hb(){return c.enum([L.Dynamic,L.Fixed,L.None])}function Yt(){return c.union([c.object({type:c.literal(r.ActionDescriptor)}),c.record(c.string(),c.any())])}function on(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ActionDescriptor)})}function Os(){return c.object({id:c.string(),type:c.literal(r.ActionDescriptor),name:c.string(),description:c.string().nullable(),argumentsType:hb(),returnsType:hb()})}function f4(){return Os().merge(c.object({version:c.number()}))}function m4(){return Os().merge(c.object({}))}function T4(){return c.object({fixedArguments:c.array(Ql()),fixedReturns:c.array(Ql()),dynamicArgumentTypes:cn().nullable(),dynamicReturnTypes:cn().nullable(),parent:c.union([Tt(),rr(),Ss(),Ds()]).nullable()})}function fb(){return f4().merge(T4())}function Hr(){return c.union([c.object({type:c.literal(r.Loop)}),c.record(c.string(),c.any())])}function zt(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Loop)})}function mb(){return c.object({id:c.string(),type:c.literal(r.Loop)})}function E4(){return mb().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function R4(){return mb().merge(c.object({declaration:c.union([c.string(),At()])}))}function b4(){return c.object({calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),declaration:Yt(),inputs:c.array(Dt()),outputs:c.array(ut()),successCalls:c.array(ke()),errorCalls:c.array(ke()),error:ut(),body:At(),parent:c.union([un(),Tt()]),breakStatements:c.array(Qr()),continueStatements:c.array(Yr())})}function v4(){return E4().merge(b4())}function Yr(){return c.union([c.object({type:c.literal(r.ContinueStatement)}),c.record(c.string(),c.any())])}function zr(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ContinueStatement)})}function nc(){return c.object({id:c.string(),type:c.literal(r.ContinueStatement)})}function g4(){return nc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function I4(){return nc().merge(c.object({}))}function P4(){return c.object({calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),outputs:c.array(Zt()),throws:c.optional(Zt()),parent:zt()})}function D4(){return g4().merge(P4())}function er(){return c.union([c.object({type:c.literal(r.ReturnStatement)}),c.record(c.string(),c.any())])}function Zr(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ReturnStatement)})}function rc(){return c.object({id:c.string(),type:c.literal(r.ReturnStatement)})}function A4(){return rc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function S4(){return rc().merge(c.object({}))}function O4(){return c.object({calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),outputs:c.array(Zt()),throws:c.optional(Zt()),parent:un()})}function C4(){return A4().merge(O4())}function Yi(){return c.union([c.object({type:c.literal(r.Search)}),c.record(c.string(),c.any())])}function Xr(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Search)})}function ic(){return c.object({id:c.string(),type:c.literal(r.Search),name:c.string(),query:c.any(),description:c.string().nullable()})}function B4(){return ic().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function w4(){return ic().merge(c.object({}))}function _4(){return c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),inputsDeclarations:c.array(nr()),inputs:c.array(Dt()),outputsDeclarations:c.array(Zt()),outputs:c.array(ut()),parent:c.union([un(),Tt()]),error:ut().nullable()})}function M4(){return B4().merge(_4())}function Zt(){return c.union([c.object({type:c.literal(r.ReturnDeclaration)}),c.record(c.string(),c.any())])}function Tb(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ReturnDeclaration)})}function ac(){return c.object({id:c.string(),type:c.literal(r.ReturnDeclaration),name:c.string(),description:c.string().nullable(),isError:c.boolean()})}function N4(){return ac().merge(c.object({version:c.number(),index:c.number()}))}function $4(){return ac().merge(c.object({}))}function V4(){return c.object({dataType:cn().nullable(),readsValue:Qi().nullable(),parent:c.union([Zr(),on(),on(),Xr(),ln(),zr()])})}function L4(){return N4().merge(V4())}function Qr(){return c.union([c.object({type:c.literal(r.BreakStatement)}),c.record(c.string(),c.any())])}function ln(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.BreakStatement)})}function sc(){return c.object({id:c.string(),type:c.literal(r.BreakStatement)})}function G4(){return sc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function F4(){return sc().merge(c.object({}))}function U4(){return c.object({calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),outputs:c.array(Zt()),throws:c.optional(Zt()),parent:zt()})}function x4(){return G4().merge(U4())}function ut(){return c.union([c.object({type:c.literal(r.OutputMap)}),c.record(c.string(),c.any())])}function oc(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.OutputMap)})}function lc(){return c.object({id:c.string(),type:c.literal(r.OutputMap)})}function j4(){return lc().merge(c.object({version:c.number(),index:c.number()}))}function k4(){return lc().merge(c.object({}))}function q4(){return c.object({writesValues:c.array(dn()),declaration:c.union([Zt(),Kn()]),parent:c.union([ye(),zt(),ln()])})}function J4(){return j4().merge(q4())}function Kr(){return c.union([c.object({type:c.literal(r.FunctionCall)}),c.record(c.string(),c.any())])}function zi(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.FunctionCall)})}function cc(){return c.object({id:c.string(),type:c.literal(r.FunctionCall)})}function W4(){return cc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function H4(){return cc().merge(c.object({}))}function Y4(){return c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),writesValues:c.array(dn()),declaration:At(),inputs:c.array(Dt()),outputs:c.array(ut()),error:c.optional(ut()),parent:c.union([un(),Tt()])})}function z4(){return W4().merge(Y4())}function Z4(){return c.enum([Ae.Equal,Ae.NotEqual,Ae.MoreThan,Ae.MoreThanOrEqual,Ae.LessThan,Ae.LessThanOrEqual,Ae.And,Ae.Or,Ct.Empty,Ct.NotEmpty])}function Zi(){return c.union([c.object({type:c.literal(r.Condition)}),c.record(c.string(),c.any())])}function Cs(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Condition)})}function dc(){return c.object({id:c.string(),type:c.literal(r.Condition)})}function X4(){return dc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function Q4(){return dc().merge(c.object({}))}function K4(){return c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),leftValue:Dt(),rightValue:Dt().nullable(),operator:Z4(),parent:c.union([un(),Tt()])})}function eU(){return X4().merge(K4())}function Xi(){return c.union([c.object({type:c.literal(r.InternalCall)}),c.record(c.string(),c.any())])}function uc(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.InternalCall)})}function pc(){return c.object({id:c.string(),type:c.literal(r.InternalCall),index:c.number()})}function tU(){return pc().merge(c.object({version:c.number(),index:c.number()}))}function nU(){return pc().merge(c.object({declaration:c.union([c.string(),At()])}))}function rU(){return c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),writesValues:c.array(dn()),declaration:At(),inputs:c.array(Dt()),outputs:c.array(ut()),parent:wn(),error:c.optional(ut())})}function iU(){return tU().merge(rU())}function Dt(){return c.union([c.object({type:c.literal(r.InputMap)}),c.record(c.string(),c.any())])}function Bs(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.InputMap)})}function yc(){return c.object({id:c.string(),type:c.literal(r.InputMap),name:c.string().nullable().optional(),description:c.string().nullable().optional()})}function aU(){return yc().merge(c.object({version:c.number(),index:c.number()}))}function sU(){return yc().merge(c.object({}))}function oU(){return c.object({defaultValue:hc().nullable(),declaration:c.union([nr(),Kn()]).nullable(),readsValue:Qi().nullable(),parent:c.union([ye(),Bs(),zt(),ln()]),dynamicArguments:c.array(Dt())})}function lU(){return aU().merge(oU())}function ei(){return c.union([c.object({type:c.literal(r.Operation)}),c.record(c.string(),c.any())])}function ti(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Operation)})}function ws(){return c.object({id:c.string(),type:c.literal(r.Operation)})}function cU(){return ws().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function dU(){return ws().merge(c.object({}))}function uU(){return ws().merge(c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),writesValues:c.array(dn()),declaration:Yt(),inputs:c.array(Dt()),outputs:c.array(ut()),error:c.array(ut()),dynamicArguments:c.array(Dt()),parent:c.union([un(),Tt()])}))}function pU(){return cU().merge(uU())}function _s(){return c.union([c.string(),c.number(),c.boolean(),c.null(),c.date()])}function Eb(){return c.record(c.string(),_s())}function yU(){return c.array(c.union([_s(),Eb()]))}function Rb(){return c.union([_s(),Eb(),yU()])}function bb(){return c.union([_s(),Rb()])}function vb(){return c.enum([g.String,g.Number,g.Boolean,g.Null,g.Date,g.JSON,g.Enum,g.File,g.UUID,g.EntityTemplate,g.ActionDescriptor])}function hU(){return c.union([rr(),ti(),Ki()])}function fU(){return c.object({id:c.string(),name:vb(),type:c.literal(r.PrimitiveValue),value:bb(),autogeneration:Xl.nullable()})}function mU(){return fU().merge(c.object({}))}function Ft(){return c.object({id:c.string(),version:c.number(),name:vb(),type:c.literal(r.PrimitiveValue),value:bb(),valueAsType:hU().nullable(),autogeneration:Xl.nullable(),parent:c.union([fc(),Bs()])})}function TU(){return Ft().extend({name:c.literal(g.String),value:c.string(),autogeneration:Yl.nullable()})}function EU(){return Ft().extend({name:c.literal(g.Number),value:c.number(),autogeneration:zl.nullable()})}function RU(){return Ft().extend({name:c.literal(g.Boolean),value:c.boolean(),autogeneration:Hl.nullable()})}function bU(){return Ft().extend({name:c.literal(g.Null),value:c.null(),autogeneration:c.null()})}function vU(){return Ft().extend({name:c.literal(g.Date),value:c.date(),autogeneration:Zl.nullable()})}function gU(){return Ft().extend({name:c.literal(g.JSON),value:Rb(),autogeneration:c.null()})}function IU(){return Ft().extend({name:c.literal(g.Enum),value:c.string(),autogeneration:c.null()})}function PU(){return Ft().extend({name:c.literal(g.File),value:c.string(),autogeneration:c.null()})}function DU(){return Ft().extend({name:c.literal(g.UUID),value:c.string(),autogeneration:Wl.nullable()})}function AU(){return Ft().extend({name:c.literal(g.EntityTemplate),value:rr(),autogeneration:c.null()})}function SU(){return Ft().extend({name:c.literal(g.ActionDescriptor),value:Ki(),autogeneration:c.null()})}function hc(){return c.union([TU(),EU(),RU(),bU(),vU(),gU(),IU(),PU(),DU(),AU(),SU()])}function cn(){return c.union([c.object({type:c.literal(r.DataType)}),c.record(c.string(),c.any())])}function fc(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.DataType)})}function mc(){return c.object({id:c.string(),type:c.literal(r.DataType),isNullable:c.boolean(),isList:c.boolean(),constant:c.boolean(),asType:c.boolean(),options:c.array(c.string()).optional()})}function OU(){return mc().merge(c.object({version:c.number()}))}function CU(){return mc().merge(c.object({}))}function BU(){return c.object({defaultValue:hc().nullable(),entity:c.union([ni(),Wr(),Ps(),Yt()]).nullable(),parent:c.union([yb(),Pb(),on(),pb()])})}function wU(){return OU().merge(BU())}function Tc(){return c.union([c.object({type:c.literal(r.VariableDeclaration)}),c.record(c.string(),c.any())])}function _U(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.VariableDeclaration)})}function Ec(){return c.object({id:c.string(),type:c.literal(r.VariableDeclaration),name:c.string(),description:c.string().nullable()})}function MU(){return Ec().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function NU(){return Ec().merge(c.object({}))}function $U(){return c.object({dataType:cn().nullable(),readsValue:Qi().nullable(),writesValues:c.array(dn()),inputs:c.array(Dt()),outputs:c.array(ut()),successCalls:c.array(ke()),errorCalls:c.array(ke()),internalCalls:c.array(Xi()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),parent:c.union([un(),Tt()])})}function VU(){return MU().merge($U())}function gb(){return c.union([c.object({type:c.literal(r.VariableInstance)}),c.record(c.string(),c.any())])}function LU(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.VariableInstance)})}function Rc(){return c.object({id:c.string(),type:c.literal(r.VariableInstance)})}function GU(){return Rc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function FU(){return Rc().merge(c.object({}))}function UU(){return c.object({declaration:Tc(),dataType:cn().nullable(),readsValue:Qi().nullable(),writesValues:c.array(dn()),inputs:c.array(Dt()),outputs:c.array(ut()),successCalls:c.array(ke()),errorCalls:c.array(ke()),internalCalls:c.array(Xi()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),parent:c.union([un(),Tt()])})}function xU(){return GU().merge(UU())}function bc(){return c.union([c.object({type:c.literal(r.InstalledProject)}),c.record(c.string(),c.any())])}function Ms(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.InstalledProject)})}function jU(){return c.object({id:c.string(),type:c.literal(r.InstalledProject)})}function kU(){return c.object({version:c.number(),x:c.number(),y:c.number()})}function qU(){return c.object({})}function JU(){return c.object({implements:Tt(),description:c.string().nullable(),functions:c.array(At()),events:c.array(vc()),parent:Tt()})}function WU(){return kU().merge(JU())}function vc(){return c.union([c.object({type:c.literal(r.GlobalEvent)}),c.record(c.string(),c.any())])}function HU(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.GlobalEvent)})}function Ns(){return c.object({id:c.string(),type:c.literal(r.GlobalEvent),name:c.string(),collapsed:c.boolean()})}function YU(){return Ns().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function zU(){return Ns().merge(c.object({}))}function ZU(){return Ns().merge(c.object({returnStatements:c.array(er()),implements:c.array(fb()),inputs:c.array(nr()),calls:c.array(ke()),parent:c.union([Tt(),Ms()])}))}function XU(){return YU().merge(ZU())}function tr(){return c.union([Tc(),gb()])}function wn(){return c.union([_U(),LU()])}function dn(){return c.union([tr(),Dt(),Zt()])}function Ib(){return c.union([wn(),Bs(),Tb()])}function Qi(){return c.union([tr(),nr(),ut(),ei(),Xi(),Kr()])}function QU(){return c.union([wn(),gc(),oc(),ti(),uc(),zi()])}function KU(){return c.union([nr(),ut(),dn()])}function Pb(){return c.union([gc(),oc(),Ib()])}function $s(){return vc()}function Vs(){return HU()}function Ls(){return c.union([ei(),Kr(),Zi(),Yi(),tr(),Xi(),Hr()])}function ye(){return c.union([ti(),zi(),Cs(),Xr(),wn(),uc(),zt()])}function Gs(){return c.union([ei(),Kr(),Zi(),Yi(),tr(),Hr()])}function Fs(){return c.union([ti(),zi(),Cs(),Xr(),wn(),zt()])}function Db(){return c.union([Ls(),er(),Qr(),Yr()])}function ke(){return c.union([ye(),Zr(),ln(),zr()])}function Ab(){return c.union([Gs(),er(),Qr(),Yr()])}function Sb(){return c.union([Fs(),Zr(),ln(),zr()])}function _n(){return c.union([At(),$s()])}function Ue(){return c.union([Ki(),Vs()])}function ex(){return c.union([Ls(),_n()])}function tx(){return c.union([ye(),Ue()])}function nx(){return c.union([Gs(),_n()])}function rx(){return c.union([Fs(),Ue()])}function ix(){return c.union([Db(),_n()])}function ax(){return c.union([ke(),Ue()])}function sx(){return c.union([Ab(),_n()])}function ox(){return c.union([Sb(),Ue()])}function lx(){return c.union([_n(),Hr()])}function un(){return c.union([Ue(),zt()])}function cx(){return c.union([Ls(),_n()])}function dx(){return c.union([ye(),Ue()])}function ux(){return c.union([Gs(),_n()])}function px(){return c.union([Fs(),Ue()])}function yx(){return c.union([er(),Qr(),Yr()])}function hx(){return c.union([Zr(),ln(),zr()])}function fx(){return c.union([Wr(),Sx(),bc(),ni(),At(),$s(),tr(),Dt(),ut(),Zi(),ei(),Kr(),Zt(),nr(),Ps(),cn(),Kn(),Yt(),er(),Yr(),Qr(),Hr(),Yi(),Yt(),Yt(),Ql(),Xi()])}function mx(){return c.union([Ss(),Tt(),Ms(),rr(),Ki(),Vs(),wn(),Bs(),oc(),Cs(),ti(),zi(),Tb(),gc(),Ds(),fc(),yb(),on(),Zr(),zr(),ln(),zt(),Xr(),on(),on(),pb(),uc()])}function Tx(){return c.union([bc(),ni(),At(),$s(),tr(),Zi(),ei(),Kr(),er(),Yr(),Qr(),Hr(),Yi()])}function Ex(){return c.union([Ms(),rr(),Ki(),Vs(),wn(),Cs(),ti(),zi(),Zr(),zr(),ln(),zt(),Xr()])}function nr(){return c.union([c.object({type:c.literal(r.ArgumentDeclaration)}),c.record(c.string(),c.any())])}function gc(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ArgumentDeclaration)})}function Ic(){return c.object({id:c.string(),type:c.literal(r.ArgumentDeclaration)})}function Rx(){return Ic().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function bx(){return Ic().merge(c.object({}))}function vx(){return c.object({dataType:cn().nullable(),writesValues:c.array(dn()),parent:c.union([Ue(),on(),on(),Xr(),ln()])})}function gx(){return Rx().merge(vx())}function At(){return c.union([c.object({type:c.literal(r.FunctionDeclaration)}),c.record(c.string(),c.any())])}function Ki(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.FunctionDeclaration)})}function Pc(){return c.object({id:c.string(),type:c.literal(r.FunctionDeclaration),name:c.string(),description:c.string().nullable()})}function Ix(){return Pc().merge(c.object({version:c.number(),x:c.number(),y:c.number(),index:c.number().nullable()}))}function Px(){return Pc()}function Dx(){return c.object({inputs:c.array(nr()),implements:Yt().nullable(),returnStatements:c.array(er()),parent:c.union([Tt(),Ms(),rr(),zt(),Ss(),Ds()])})}function Ax(){return Ix().merge(Dx())}function Sx(){return c.union([c.object({type:c.literal(r.Project)}),c.record(c.string(),c.any())])}function Tt(){return c.object({entityType:c.literal(r.Project),entityId:c.string(),id:c.string(),type:c.literal(r.GenericReference)})}function Dc(){return c.object({id:c.string(),type:c.literal(r.Project),name:c.string(),description:c.string().nullable()})}function Ox(){return Dc().merge(c.object({version:c.number()}))}function Cx(){return Dc()}function Bx(){return c.object({entities:c.array(ni()),functions:c.array(At()),events:c.array(vc()),projects:c.array(bc()),variableDeclarations:c.array(Tc()),variableInstances:c.array(gb()),conditions:c.array(Zi()),operations:c.array(ei()),functionCalls:c.array(Kr()),loops:c.array(Hr()),searches:c.array(Yi())})}function wx(){return Ox().merge(Bx())}function ni(){return c.union([c.object({type:c.literal(r.CustomEntity)}),c.record(c.string(),c.any())])}function rr(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.CustomEntity)})}function Ac(){return c.object({id:c.string(),type:c.literal(r.CustomEntity),name:c.string(),description:c.string().nullable(),static:c.boolean(),abstract:c.boolean()})}function _x(){return Ac().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function Mx(){return Ac().merge(c.object({}))}function Nx(){return c.union([Tt(),fc()])}function $x(){return c.object({properties:c.array(Kn()),methods:c.array(At()),abstractMethods:c.array(Yt()),extends:c.array(c.union([ni(),Wr()])),implements:c.array(c.union([ni(),Wr()])),parent:Nx()})}function Vx(){return _x().merge($x())}function Lx(n){const e=Vx(),t=n.toJSON();e.safeParse(t).success;const a=n.implements.flatMap(m=>Ux(n,m)),s=n.extends.flatMap(m=>xx(n,m)),o=kx(n),u=jx(n);n.methods.flatMap(m=>m.validate());const p=[...a,...s,...o,...u];return X(n.errors,p)}function Gx(n,e){const t=e.properties.filter(s=>s.abstract),i=[];let a=[...n.properties];return t.forEach(s=>{const o=a.find(u=>{var p;return((p=u.implements)==null?void 0:p.id)===s.id});o?a=a.filter(u=>u.id!==o.id):i.push(s)}),i}function Fx(n,e){const t=e.abstractMethods,i=[];let a=[...n.methods];return t.forEach(s=>{const o=a.find(u=>{var p;return((p=u.implements)==null?void 0:p.id)===s.id});o?a=a.filter(u=>u.id!==o.id):i.push(s)}),i}function Ux(n,e){const t=[];if(!e.abstract){const m=k({id:n.id+"--"+O.ImplementingNonAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is implementing a non-abstract entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:O.ImplementingNonAbstractEntity,entity:n});return t.push(m.error),t}const i=e.properties.filter(m=>m.abstract),a=[];let s=[...n.properties];i.forEach(m=>{const T=s.find(b=>{var I;return((I=b.implements)==null?void 0:I.id)===m.id});T?s=s.filter(b=>b.id!==T.id):a.push(m)}),a.length&&a.forEach(m=>{const T=k({id:n.id+"--"+O.MissingPropertyImplementation+"--"+m.id,message:`Property "${m.name}" with id "${m.id}" of entity "${e.name}" with id "${e.id}" is not implemented when entity "${n.name}" with id "${n.id}" implements it`,issue:null,severity:f.Error,code:O.MissingPropertyImplementation,entity:n});t.push(T.error)});const o=[];let u=[...n.methods];e.abstractMethods.forEach(m=>{const T=u.find(b=>{var I;return((I=b.implements)==null?void 0:I.id)===m.id});T?u=u.filter(b=>b.id!==T.id):o.push(m)}),o.length&&o.forEach(m=>{const T=k({id:n.id+"--"+O.MissingMethodImplementation+"--"+m.id,message:`Method "${m.name}" with id "${m.id}" of entity "${e.name}" with id "${e.id}" is not implemented when entity "${n.name}" with id "${n.id}" implements it`,issue:null,severity:f.Error,code:O.MissingMethodImplementation,entity:n});t.push(T.error)});const p=[];e.properties.forEach(m=>{const T=s.find(b=>b.name===m.name);T&&p.push([T,m])}),p.length&&p.forEach(([m])=>{const T=k({id:n.id+"--"+v.PropertyOverwrite+"--"+m.id,message:`Property "${m.name}" with id "${m.id}" of entity "${n.name}" with id "${n.id}" overwrites the property with the same name from the base entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:v.PropertyOverwrite,entity:n});t.push(T.error)});const h=[];return e.methods.forEach(m=>{const T=u.find(b=>b.name===m.name);T&&h.push([T,m])}),h.length&&h.forEach(([m])=>{const T=k({id:n.id+"--"+v.MethodOverwrite+"--"+m.id,message:`Method "${m.name}" with id "${m.id}" of entity "${n.name}" with id "${n.id}" overwrites the method with the same name from the base entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:v.MethodOverwrite,entity:n});t.push(T.error)}),t}function xx(n,e){const t=[],i=[];if(e.abstract){const s=k({id:n.id+"--"+O.ExtendingAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is extending an abstract entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:O.ExtendingAbstractEntity,entity:n});return t.push(s.error),t}n.properties.forEach(s=>{var u;const o=e.properties.find(p=>p.name===s.name);((u=s.implements)==null?void 0:u.id)!==(o==null?void 0:o.id)&&o&&i.push(s)}),i.length&&i.forEach(s=>{const o=k({id:n.id+"--"+v.PropertyOverwrite,message:`Property "${s.name}" with id "${s.id}" of entity "${n.name}" with id "${n.id}" overwrites the property with the same name from the extended entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:v.PropertyOverwrite,entity:n});t.push(o.error)});const a=[];return n.methods.forEach(s=>{var u;const o=e.methods.find(p=>p.name===s.name);((u=s.implements)==null?void 0:u.id)!==(o==null?void 0:o.id)&&o&&a.push(s)}),a.length&&a.forEach(s=>{const o=k({id:n.id+"--"+v.MethodOverwrite,message:`Method "${s.name}" with id "${s.id}" of entity "${n.name}" with id "${n.id}" overwrites the method with the same name from the extended entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:v.MethodOverwrite,entity:n});t.push(o.error)}),t}function jx(n){const e=[];if(!n.properties.length){const t=k({id:n.id+"--"+O.NoProperties,message:"No properties implemented",issue:null,severity:f.Warning,code:O.NoProperties,entity:n});e.push(t.error)}return n.properties.forEach(t=>{t.validate()}),e}function kx(n){const e=[];if(n.abstract){if(n.methods.length){const t=k({id:n.id+"--"+O.AbstractEntityWithNonAbstractMethods,message:`Entity "${n.name}" with id "${n.id}" is marked as abstract but has non-abstract methods`,issue:null,severity:f.Error,code:O.AbstractEntityWithNonAbstractMethods,entity:n});e.push(t.error)}if(n.properties.some(t=>!t.abstract)){const t=k({id:n.id+"--"+O.AbstractEntityWithNonAbstractProperties,message:`Entity "${n.name}" with id "${n.id}" is marked as abstract but has non-abstract properties`,issue:null,severity:f.Error,code:O.AbstractEntityWithNonAbstractProperties,entity:n});e.push(t.error),n.properties.forEach(i=>{if(!i.abstract){const a=k({id:n.id+"--"+O.StaticEntityWithNonStaticProperties+"--"+i.id,message:`Property "${i.name}" with id "${i.id}" of entity "${n.name}" with id "${n.id}" is not marked as abstract but the entity is marked as abstract`,issue:null,severity:f.Error,code:O.StaticEntityWithNonStaticProperties,entity:n});e.push(a.error)}})}}else{if(n.abstractMethods.length){const t=k({id:n.id+"--"+O.AbstractPropertyInNonAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is not marked as abstract but has abstract methods`,issue:null,severity:f.Error,code:O.AbstractPropertyInNonAbstractEntity,entity:n});e.push(t.error)}if(n.properties.some(t=>t.abstract)){const t=k({id:n.id+"--"+O.AbstractMethodInNonAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is not marked as abstract but has abstract properties`,issue:null,severity:f.Error,code:O.AbstractMethodInNonAbstractEntity,entity:n});e.push(t.error),n.properties.forEach(i=>{if(i.abstract){const a=k({id:n.id+"--"+O.AbstractMethodInNonAbstractEntity+"--"+i.id,message:`Property "${i.name}" with id "${i.id}" of entity "${n.name}" with id "${n.id}" is marked as abstract but the entity is not marked as abstract`,issue:null,severity:f.Error,code:O.AbstractMethodInNonAbstractEntity,entity:n});e.push(a.error)}})}}if(n.static&&n.properties.some(t=>!t.static)){const t=k({id:n.id+"--"+O.StaticEntityWithNonStaticProperties,message:`Entity "${n.name}" with id "${n.id}" is marked as static but has non-static properties`,issue:null,severity:f.Error,code:O.StaticEntityWithNonStaticProperties,entity:n});e.push(t.error),n.properties.forEach(i=>{if(!i.static){const a=k({id:n.id+"--"+O.NonStaticPropertyInStaticEntity+"--"+i.id,message:`Property "${i.name}" with id "${i.id}" of entity "${n.name}" with id "${n.id}" is not marked as static but the entity is marked as static`,issue:null,severity:f.Error,code:O.NonStaticPropertyInStaticEntity,entity:n});e.push(a.error)}})}return e}function qx(n){return n instanceof Error&&n.name==="ZodError"&&"issues"in n&&Array.isArray(n.issues)}var Jx=class extends Error{constructor(e,t){super(e,t);l(this,"name");l(this,"details");this.name="ZodValidationError",this.details=Wx(t)}toString(){return this.message}};function Wx(n){if(n){const e=n.cause;if(qx(e))return e.issues}return[]}var Hx="; ",Ob="Validation error",Yx=": ",zx=", or ";function Zx(n,e,t){return e!==null?n.length>0?[e,n].join(t):e:n.length>0?n:Ob}var Xx=/[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*/u;function Qx(n){return n.length===1?n[0].toString():n.reduce((e,t)=>{if(typeof t=="number")return e+"["+t.toString()+"]";if(t.includes('"'))return e+'["'+Kx(t)+'"]';if(!Xx.test(t))return e+'["'+t+'"]';const i=e.length===0?"":".";return e+i+t},"")}function Kx(n){return n.replace(/"/g,'\\"')}function e8(n){return n.length!==0}function Us(n){const{issue:e,issueSeparator:t,unionSeparator:i,includePath:a}=n;if(e.code==="invalid_union")return e.unionErrors.reduce((s,o)=>{const u=o.issues.map(p=>Us({issue:p,issueSeparator:t,unionSeparator:i,includePath:a})).join(t);return s.includes(u)||s.push(u),s},[]).join(i);if(e.code==="invalid_arguments")return[e.message,...e.argumentsError.issues.map(s=>Us({issue:s,issueSeparator:t,unionSeparator:i,includePath:a}))].join(t);if(e.code==="invalid_return_type")return[e.message,...e.returnTypeError.issues.map(s=>Us({issue:s,issueSeparator:t,unionSeparator:i,includePath:a}))].join(t);if(a&&e8(e.path)){if(e.path.length===1){const s=e.path[0];if(typeof s=="number")return`${e.message} at index ${s}`}return`${e.message} at "${Qx(e.path)}"`}return e.message}function t8(n,e={}){const{issueSeparator:t=Hx,unionSeparator:i=zx,prefixSeparator:a=Yx,prefix:s=Ob,includePath:o=!0}=e,u=Us({issue:n,issueSeparator:t,unionSeparator:i,includePath:o}),p=Zx(u,s,a);return new Jx(p,{cause:new ft([n])})}var Cb="1.13.7",Bb=typeof self=="object"&&self.self===self&&self||typeof global=="object"&&global.global===global&&global||Function("return this")()||{},xs=Array.prototype,Sc=Object.prototype,wb=typeof Symbol<"u"?Symbol.prototype:null,n8=xs.push,ea=xs.slice,ta=Sc.toString,r8=Sc.hasOwnProperty,_b=typeof ArrayBuffer<"u",i8=typeof DataView<"u",a8=Array.isArray,Mb=Object.keys,Nb=Object.create,$b=_b&&ArrayBuffer.isView,s8=isNaN,o8=isFinite,Vb=!{toString:null}.propertyIsEnumerable("toString"),Lb=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],l8=Math.pow(2,53)-1;function Et(n,e){return e=e==null?n.length-1:+e,function(){for(var t=Math.max(arguments.length-e,0),i=Array(t),a=0;a<t;a++)i[a]=arguments[a+e];switch(e){case 0:return n.call(this,i);case 1:return n.call(this,arguments[0],i);case 2:return n.call(this,arguments[0],arguments[1],i)}var s=Array(e+1);for(a=0;a<e;a++)s[a]=arguments[a];return s[e]=i,n.apply(this,s)}}function Mn(n){var e=typeof n;return e==="function"||e==="object"&&!!n}function c8(n){return n===null}function Gb(n){return n===void 0}function Fb(n){return n===!0||n===!1||ta.call(n)==="[object Boolean]"}function d8(n){return!!(n&&n.nodeType===1)}function rt(n){var e="[object "+n+"]";return function(t){return ta.call(t)===e}}const Oc=rt("String"),Ub=rt("Number"),u8=rt("Date"),p8=rt("RegExp"),y8=rt("Error"),xb=rt("Symbol"),jb=rt("ArrayBuffer");var kb=rt("Function"),h8=Bb.document&&Bb.document.childNodes;typeof/./!="function"&&typeof Int8Array!="object"&&typeof h8!="function"&&(kb=function(n){return typeof n=="function"||!1});const pt=kb,qb=rt("Object");var Jb=i8&&(!/\[native code\]/.test(String(DataView))||qb(new DataView(new ArrayBuffer(8)))),Cc=typeof Map<"u"&&qb(new Map),f8=rt("DataView");function m8(n){return n!=null&&pt(n.getInt8)&&jb(n.buffer)}const js=Jb?m8:f8,ir=a8||rt("Array");function Nn(n,e){return n!=null&&r8.call(n,e)}var Bc=rt("Arguments");(function(){Bc(arguments)||(Bc=function(n){return Nn(n,"callee")})})();const wc=Bc;function T8(n){return!xb(n)&&o8(n)&&!isNaN(parseFloat(n))}function Wb(n){return Ub(n)&&s8(n)}function Hb(n){return function(){return n}}function Yb(n){return function(e){var t=n(e);return typeof t=="number"&&t>=0&&t<=l8}}function zb(n){return function(e){return e==null?void 0:e[n]}}const ks=zb("byteLength"),E8=Yb(ks);var R8=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;function b8(n){return $b?$b(n)&&!js(n):E8(n)&&R8.test(ta.call(n))}const Zb=_b?b8:Hb(!1),Rt=zb("length");function v8(n){for(var e={},t=n.length,i=0;i<t;++i)e[n[i]]=!0;return{contains:function(a){return e[a]===!0},push:function(a){return e[a]=!0,n.push(a)}}}function Xb(n,e){e=v8(e);var t=Lb.length,i=n.constructor,a=pt(i)&&i.prototype||Sc,s="constructor";for(Nn(n,s)&&!e.contains(s)&&e.push(s);t--;)s=Lb[t],s in n&&n[s]!==a[s]&&!e.contains(s)&&e.push(s)}function We(n){if(!Mn(n))return[];if(Mb)return Mb(n);var e=[];for(var t in n)Nn(n,t)&&e.push(t);return Vb&&Xb(n,e),e}function na(n){if(n==null)return!0;var e=Rt(n);return typeof e=="number"&&(ir(n)||Oc(n)||wc(n))?e===0:Rt(We(n))===0}function Qb(n,e){var t=We(e),i=t.length;if(n==null)return!i;for(var a=Object(n),s=0;s<i;s++){var o=t[s];if(e[o]!==a[o]||!(o in a))return!1}return!0}function Q(n){if(n instanceof Q)return n;if(!(this instanceof Q))return new Q(n);this._wrapped=n}Q.VERSION=Cb,Q.prototype.value=function(){return this._wrapped},Q.prototype.valueOf=Q.prototype.toJSON=Q.prototype.value,Q.prototype.toString=function(){return String(this._wrapped)};function Kb(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,ks(n))}var ev="[object DataView]";function _c(n,e,t,i){if(n===e)return n!==0||1/n===1/e;if(n==null||e==null)return!1;if(n!==n)return e!==e;var a=typeof n;return a!=="function"&&a!=="object"&&typeof e!="object"?!1:tv(n,e,t,i)}function tv(n,e,t,i){n instanceof Q&&(n=n._wrapped),e instanceof Q&&(e=e._wrapped);var a=ta.call(n);if(a!==ta.call(e))return!1;if(Jb&&a=="[object Object]"&&js(n)){if(!js(e))return!1;a=ev}switch(a){case"[object RegExp]":case"[object String]":return""+n==""+e;case"[object Number]":return+n!=+n?+e!=+e:+n==0?1/+n===1/e:+n==+e;case"[object Date]":case"[object Boolean]":return+n==+e;case"[object Symbol]":return wb.valueOf.call(n)===wb.valueOf.call(e);case"[object ArrayBuffer]":case ev:return tv(Kb(n),Kb(e),t,i)}var s=a==="[object Array]";if(!s&&Zb(n)){var o=ks(n);if(o!==ks(e))return!1;if(n.buffer===e.buffer&&n.byteOffset===e.byteOffset)return!0;s=!0}if(!s){if(typeof n!="object"||typeof e!="object")return!1;var u=n.constructor,p=e.constructor;if(u!==p&&!(pt(u)&&u instanceof u&&pt(p)&&p instanceof p)&&"constructor"in n&&"constructor"in e)return!1}t=t||[],i=i||[];for(var h=t.length;h--;)if(t[h]===n)return i[h]===e;if(t.push(n),i.push(e),s){if(h=n.length,h!==e.length)return!1;for(;h--;)if(!_c(n[h],e[h],t,i))return!1}else{var m=We(n),T;if(h=m.length,We(e).length!==h)return!1;for(;h--;)if(T=m[h],!(Nn(e,T)&&_c(n[T],e[T],t,i)))return!1}return t.pop(),i.pop(),!0}function g8(n,e){return _c(n,e)}function ra(n){if(!Mn(n))return[];var e=[];for(var t in n)e.push(t);return Vb&&Xb(n,e),e}function Mc(n){var e=Rt(n);return function(t){if(t==null)return!1;var i=ra(t);if(Rt(i))return!1;for(var a=0;a<e;a++)if(!pt(t[n[a]]))return!1;return n!==iv||!pt(t[Nc])}}var Nc="forEach",nv="has",$c=["clear","delete"],rv=["get",nv,"set"],I8=$c.concat(Nc,rv),iv=$c.concat(rv),P8=["add"].concat($c,Nc,nv);const D8=Cc?Mc(I8):rt("Map"),A8=Cc?Mc(iv):rt("WeakMap"),S8=Cc?Mc(P8):rt("Set"),O8=rt("WeakSet");function ri(n){for(var e=We(n),t=e.length,i=Array(t),a=0;a<t;a++)i[a]=n[e[a]];return i}function C8(n){for(var e=We(n),t=e.length,i=Array(t),a=0;a<t;a++)i[a]=[e[a],n[e[a]]];return i}function av(n){for(var e={},t=We(n),i=0,a=t.length;i<a;i++)e[n[t[i]]]=t[i];return e}function Vc(n){var e=[];for(var t in n)pt(n[t])&&e.push(t);return e.sort()}function Lc(n,e){return function(t){var i=arguments.length;if(e&&(t=Object(t)),i<2||t==null)return t;for(var a=1;a<i;a++)for(var s=arguments[a],o=n(s),u=o.length,p=0;p<u;p++){var h=o[p];(!e||t[h]===void 0)&&(t[h]=s[h])}return t}}const sv=Lc(ra),qs=Lc(We),ov=Lc(ra,!0);function B8(){return function(){}}function lv(n){if(!Mn(n))return{};if(Nb)return Nb(n);var e=B8();e.prototype=n;var t=new e;return e.prototype=null,t}function w8(n,e){var t=lv(n);return e&&qs(t,e),t}function _8(n){return Mn(n)?ir(n)?n.slice():sv({},n):n}function M8(n,e){return e(n),n}function cv(n){return ir(n)?n:[n]}Q.toPath=cv;function ia(n){return Q.toPath(n)}function Gc(n,e){for(var t=e.length,i=0;i<t;i++){if(n==null)return;n=n[e[i]]}return t?n:void 0}function dv(n,e,t){var i=Gc(n,ia(e));return Gb(i)?t:i}function N8(n,e){e=ia(e);for(var t=e.length,i=0;i<t;i++){var a=e[i];if(!Nn(n,a))return!1;n=n[a]}return!!t}function Fc(n){return n}function aa(n){return n=qs({},n),function(e){return Qb(e,n)}}function Uc(n){return n=ia(n),function(e){return Gc(e,n)}}function sa(n,e,t){if(e===void 0)return n;switch(t??3){case 1:return function(i){return n.call(e,i)};case 3:return function(i,a,s){return n.call(e,i,a,s)};case 4:return function(i,a,s,o){return n.call(e,i,a,s,o)}}return function(){return n.apply(e,arguments)}}function uv(n,e,t){return n==null?Fc:pt(n)?sa(n,e,t):Mn(n)&&!ir(n)?aa(n):Uc(n)}function xc(n,e){return uv(n,e,1/0)}Q.iteratee=xc;function bt(n,e,t){return Q.iteratee!==xc?Q.iteratee(n,e):uv(n,e,t)}function $8(n,e,t){e=bt(e,t);for(var i=We(n),a=i.length,s={},o=0;o<a;o++){var u=i[o];s[u]=e(n[u],u,n)}return s}function pv(){}function V8(n){return n==null?pv:function(e){return dv(n,e)}}function L8(n,e,t){var i=Array(Math.max(0,n));e=sa(e,t,1);for(var a=0;a<n;a++)i[a]=e(a);return i}function jc(n,e){return e==null&&(e=n,n=0),n+Math.floor(Math.random()*(e-n+1))}const oa=Date.now||function(){return new Date().getTime()};function yv(n){var e=function(s){return n[s]},t="(?:"+We(n).join("|")+")",i=RegExp(t),a=RegExp(t,"g");return function(s){return s=s==null?"":""+s,i.test(s)?s.replace(a,e):s}}const hv={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},G8=yv(hv),F8=av(hv),U8=yv(F8),x8=Q.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var kc=/(.)^/,j8={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},k8=/\\|'|\r|\n|\u2028|\u2029/g;function q8(n){return"\\"+j8[n]}var J8=/^\s*(\w|\$)+\s*$/;function W8(n,e,t){!e&&t&&(e=t),e=ov({},e,Q.templateSettings);var i=RegExp([(e.escape||kc).source,(e.interpolate||kc).source,(e.evaluate||kc).source].join("|")+"|$","g"),a=0,s="__p+='";n.replace(i,function(h,m,T,b,I){return s+=n.slice(a,I).replace(k8,q8),a=I+h.length,m?s+=`'+
2
2
  ((__t=(`+m+`))==null?'':_.escape(__t))+
3
3
  '`:T?s+=`'+
4
4
  ((__t=(`+T+`))==null?'':__t)+
5
5
  '`:b&&(s+=`';
6
6
  `+b+`
7
7
  __p+='`),h}),s+=`';
8
- `;var o=e.variable;if(o){if(!k8.test(o))throw new Error("variable is not a bare identifier: "+o)}else s=`with(obj||{}){
8
+ `;var o=e.variable;if(o){if(!J8.test(o))throw new Error("variable is not a bare identifier: "+o)}else s=`with(obj||{}){
9
9
  `+s+`}
10
10
  `,o="obj";s=`var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
11
11
  `+s+`return __p;
12
12
  `;var u;try{u=new Function(o,"_",s)}catch(h){throw h.source=s,h}var p=function(h){return u.call(this,h,Q)};return p.source="function("+o+`){
13
- `+s+"}",p}function J8(n,e,t){e=ra(e);var i=e.length;if(!i)return pt(t)?t.call(n):t;for(var a=0;a<i;a++){var s=n==null?void 0:n[e[a]];s===void 0&&(s=t,a=i),n=pt(s)?s.call(n):s}return n}var W8=0;function H8(n){var e=++W8+"";return n?n+e:e}function Y8(n){var e=Q(n);return e._chain=!0,e}function hv(n,e,t,i,a){if(!(i instanceof e))return n.apply(t,a);var s=ov(n.prototype),o=n.apply(s,a);return _n(o)?o:s}var ri=Et(function(n,e){var t=ri.placeholder,i=function(){for(var a=0,s=e.length,o=Array(s),u=0;u<s;u++)o[u]=e[u]===t?arguments[a++]:e[u];for(;a<arguments.length;)o.push(arguments[a++]);return hv(n,i,this,this,o)};return i});ri.placeholder=Q;const fv=Et(function(n,e,t){if(!pt(n))throw new TypeError("Bind must be called on a function");var i=Et(function(a){return hv(n,i,e,this,t.concat(a))});return i}),St=Hb(Rt);function ir(n,e,t,i){if(i=i||[],!e&&e!==0)e=1/0;else if(e<=0)return i.concat(n);for(var a=i.length,s=0,o=Rt(n);s<o;s++){var u=n[s];if(St(u)&&(rr(u)||Oc(u)))if(e>1)ir(u,e-1,t,i),a=i.length;else for(var p=0,h=u.length;p<h;)i[a++]=u[p++];else t||(i[a++]=u)}return i}const z8=Et(function(n,e){e=ir(e,!1,!1);var t=e.length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var i=e[t];n[i]=fv(n[i],n)}return n});function Z8(n,e){var t=function(i){var a=t.cache,s=""+(e?e.apply(this,arguments):i);return Mn(a,s)||(a[s]=n.apply(this,arguments)),a[s]};return t.cache={},t}const mv=Et(function(n,e,t){return setTimeout(function(){return n.apply(null,t)},e)}),X8=ri(mv,Q,1);function Q8(n,e,t){var i,a,s,o,u=0;t||(t={});var p=function(){u=t.leading===!1?0:sa(),i=null,o=n.apply(a,s),i||(a=s=null)},h=function(){var m=sa();!u&&t.leading===!1&&(u=m);var T=e-(m-u);return a=this,s=arguments,T<=0||T>e?(i&&(clearTimeout(i),i=null),u=m,o=n.apply(a,s),i||(a=s=null)):!i&&t.trailing!==!1&&(i=setTimeout(p,T)),o};return h.cancel=function(){clearTimeout(i),u=0,i=a=s=null},h}function K8(n,e,t){var i,a,s,o,u,p=function(){var m=sa()-a;e>m?i=setTimeout(p,e-m):(i=null,t||(o=n.apply(u,s)),i||(s=u=null))},h=Et(function(m){return u=this,s=m,a=sa(),i||(i=setTimeout(p,e),t&&(o=n.apply(u,s))),o});return h.cancel=function(){clearTimeout(i),i=s=u=null},h}function e9(n,e){return ri(e,n)}function xc(n){return function(){return!n.apply(this,arguments)}}function t9(){var n=arguments,e=n.length-1;return function(){for(var t=e,i=n[e].apply(this,arguments);t--;)i=n[t].call(this,i);return i}}function n9(n,e){return function(){if(--n<1)return e.apply(this,arguments)}}function Tv(n,e){var t;return function(){return--n>0&&(t=e.apply(this,arguments)),n<=1&&(e=null),t}}const r9=ri(Tv,2);function Ev(n,e,t){e=bt(e,t);for(var i=We(n),a,s=0,o=i.length;s<o;s++)if(a=i[s],e(n[a],a,n))return a}function Rv(n){return function(e,t,i){t=bt(t,i);for(var a=Rt(e),s=n>0?0:a-1;s>=0&&s<a;s+=n)if(t(e[s],s,e))return s;return-1}}const jc=Rv(1),bv=Rv(-1);function vv(n,e,t,i){t=bt(t,i,1);for(var a=t(e),s=0,o=Rt(n);s<o;){var u=Math.floor((s+o)/2);t(n[u])<a?s=u+1:o=u}return s}function gv(n,e,t){return function(i,a,s){var o=0,u=Rt(i);if(typeof s=="number")n>0?o=s>=0?s:Math.max(s+u,o):u=s>=0?Math.min(s+1,u):s+u+1;else if(t&&s&&u)return s=t(i,a),i[s]===a?s:-1;if(a!==a)return s=e(Ki.call(i,o,u),Jb),s>=0?s+o:-1;for(s=n>0?o:u-1;s>=0&&s<u;s+=n)if(i[s]===a)return s;return-1}}const Iv=gv(1,jc,vv),i9=gv(-1,bv);function kc(n,e,t){var i=St(n)?jc:Ev,a=i(n,e,t);if(a!==void 0&&a!==-1)return n[a]}function a9(n,e){return kc(n,ia(e))}function pn(n,e,t){e=aa(e,t);var i,a;if(St(n))for(i=0,a=n.length;i<a;i++)e(n[i],i,n);else{var s=We(n);for(i=0,a=s.length;i<a;i++)e(n[s[i]],s[i],n)}return n}function ar(n,e,t){e=bt(e,t);for(var i=!St(n)&&We(n),a=(i||n).length,s=Array(a),o=0;o<a;o++){var u=i?i[o]:o;s[o]=e(n[u],u,n)}return s}function Pv(n){var e=function(t,i,a,s){var o=!St(t)&&We(t),u=(o||t).length,p=n>0?0:u-1;for(s||(a=t[o?o[p]:p],p+=n);p>=0&&p<u;p+=n){var h=o?o[p]:p;a=i(a,t[h],h,t)}return a};return function(t,i,a,s){var o=arguments.length>=3;return e(t,aa(i,s,4),a,o)}}const qc=Pv(1),Dv=Pv(-1);function ii(n,e,t){var i=[];return e=bt(e,t),pn(n,function(a,s,o){e(a,s,o)&&i.push(a)}),i}function s9(n,e,t){return ii(n,xc(bt(e)),t)}function Av(n,e,t){e=bt(e,t);for(var i=!St(n)&&We(n),a=(i||n).length,s=0;s<a;s++){var o=i?i[s]:s;if(!e(n[o],o,n))return!1}return!0}function Sv(n,e,t){e=bt(e,t);for(var i=!St(n)&&We(n),a=(i||n).length,s=0;s<a;s++){var o=i?i[s]:s;if(e(n[o],o,n))return!0}return!1}function yn(n,e,t,i){return St(n)||(n=ni(n)),(typeof t!="number"||i)&&(t=0),Iv(n,e,t)>=0}const o9=Et(function(n,e,t){var i,a;return pt(e)?a=e:(e=ra(e),i=e.slice(0,-1),e=e[e.length-1]),ar(n,function(s){var o=a;if(!o){if(i&&i.length&&(s=$c(s,i)),s==null)return;o=s[e]}return o==null?o:o.apply(s,t)})});function Jc(n,e){return ar(n,Lc(e))}function l9(n,e){return ii(n,ia(e))}function Ov(n,e,t){var i=-1/0,a=-1/0,s,o;if(e==null||typeof e=="number"&&typeof n[0]!="object"&&n!=null){n=St(n)?n:ni(n);for(var u=0,p=n.length;u<p;u++)s=n[u],s!=null&&s>i&&(i=s)}else e=bt(e,t),pn(n,function(h,m,T){o=e(h,m,T),(o>a||o===-1/0&&i===-1/0)&&(i=h,a=o)});return i}function c9(n,e,t){var i=1/0,a=1/0,s,o;if(e==null||typeof e=="number"&&typeof n[0]!="object"&&n!=null){n=St(n)?n:ni(n);for(var u=0,p=n.length;u<p;u++)s=n[u],s!=null&&s<i&&(i=s)}else e=bt(e,t),pn(n,function(h,m,T){o=e(h,m,T),(o<a||o===1/0&&i===1/0)&&(i=h,a=o)});return i}var d9=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function Cv(n){return n?rr(n)?Ki.call(n):Dc(n)?n.match(d9):St(n)?ar(n,Vc):ni(n):[]}function Bv(n,e,t){if(e==null||t)return St(n)||(n=ni(n)),n[Fc(n.length-1)];var i=Cv(n),a=Rt(i);e=Math.max(Math.min(e,a),0);for(var s=a-1,o=0;o<e;o++){var u=Fc(o,s),p=i[o];i[o]=i[u],i[u]=p}return i.slice(0,e)}function u9(n){return Bv(n,1/0)}function p9(n,e,t){var i=0;return e=bt(e,t),Jc(ar(n,function(a,s,o){return{value:a,index:i++,criteria:e(a,s,o)}}).sort(function(a,s){var o=a.criteria,u=s.criteria;if(o!==u){if(o>u||o===void 0)return 1;if(o<u||u===void 0)return-1}return a.index-s.index}),"value")}function ks(n,e){return function(t,i,a){var s=e?[[],[]]:{};return i=bt(i,a),pn(t,function(o,u){var p=i(o,u,t);n(s,o,p)}),s}}const y9=ks(function(n,e,t){Mn(n,t)?n[t].push(e):n[t]=[e]}),h9=ks(function(n,e,t){n[t]=e}),f9=ks(function(n,e,t){Mn(n,t)?n[t]++:n[t]=1}),m9=ks(function(n,e,t){n[t?0:1].push(e)},!0);function T9(n){return n==null?0:St(n)?n.length:We(n).length}function E9(n,e,t){return e in t}const wv=Et(function(n,e){var t={},i=e[0];if(n==null)return t;pt(i)?(e.length>1&&(i=aa(i,e[1])),e=na(n)):(i=E9,e=ir(e,!1,!1),n=Object(n));for(var a=0,s=e.length;a<s;a++){var o=e[a],u=n[o];i(u,o,n)&&(t[o]=u)}return t}),R9=Et(function(n,e){var t=e[0],i;return pt(t)?(t=xc(t),e.length>1&&(i=e[1])):(e=ar(ir(e,!1,!1),String),t=function(a,s){return!yn(e,s)}),wv(n,t,i)});function _v(n,e,t){return Ki.call(n,0,Math.max(0,n.length-(e==null||t?1:e)))}function Wc(n,e,t){return n==null||n.length<1?e==null||t?void 0:[]:e==null||t?n[0]:_v(n,n.length-e)}function qs(n,e,t){return Ki.call(n,e==null||t?1:e)}function b9(n,e,t){return n==null||n.length<1?e==null||t?void 0:[]:e==null||t?n[n.length-1]:qs(n,Math.max(0,n.length-e))}function v9(n){return ii(n,Boolean)}function g9(n,e){return ir(n,e,!1)}const Mv=Et(function(n,e){return e=ir(e,!0,!0),ii(n,function(t){return!yn(e,t)})}),I9=Et(function(n,e){return Mv(n,e)});function Hc(n,e,t,i){Gb(e)||(i=t,t=e,e=!1),t!=null&&(t=bt(t,i));for(var a=[],s=[],o=0,u=Rt(n);o<u;o++){var p=n[o],h=t?t(p,o,n):p;e&&!t?((!o||s!==h)&&a.push(p),s=h):t?yn(s,h)||(s.push(h),a.push(p)):yn(a,p)||a.push(p)}return a}const P9=Et(function(n){return Hc(ir(n,!0,!0))});function D9(n){for(var e=[],t=arguments.length,i=0,a=Rt(n);i<a;i++){var s=n[i];if(!yn(e,s)){var o;for(o=1;o<t&&yn(arguments[o],s);o++);o===t&&e.push(s)}}return e}function Yc(n){for(var e=n&&Ov(n,Rt).length||0,t=Array(e),i=0;i<e;i++)t[i]=Jc(n,i);return t}const A9=Et(Yc);function S9(n,e){for(var t={},i=0,a=Rt(n);i<a;i++)e?t[n[i]]=e[i]:t[n[i][0]]=n[i][1];return t}function O9(n,e,t){e==null&&(e=n||0,n=0),t||(t=e<n?-1:1);for(var i=Math.max(Math.ceil((e-n)/t),0),a=Array(i),s=0;s<i;s++,n+=t)a[s]=n;return a}function C9(n,e){if(e==null||e<1)return[];for(var t=[],i=0,a=n.length;i<a;)t.push(Ki.call(n,i,i+=e));return t}function zc(n,e){return n._chain?Q(e).chain():e}function Nv(n){return pn(Mc(n),function(e){var t=Q[e]=n[e];Q.prototype[e]=function(){var i=[this._wrapped];return e8.apply(i,arguments),zc(this,t.apply(Q,i))}}),Q}pn(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var e=Fs[n];Q.prototype[n]=function(){var t=this._wrapped;return t!=null&&(e.apply(t,arguments),(n==="shift"||n==="splice")&&t.length===0&&delete t[0]),zc(this,t)}}),pn(["concat","join","slice"],function(n){var e=Fs[n];Q.prototype[n]=function(){var t=this._wrapped;return t!=null&&(t=e.apply(t,arguments)),zc(this,t)}});var $v=Nv(Object.freeze(Object.defineProperty({__proto__:null,VERSION:Ob,after:n9,all:Av,allKeys:na,any:Sv,assign:js,before:Tv,bind:fv,bindAll:z8,chain:Y8,chunk:C9,clone:B8,collect:ar,compact:v9,compose:t9,constant:Wb,contains:yn,countBy:f9,create:C8,debounce:K8,default:Q,defaults:sv,defer:X8,delay:mv,detect:kc,difference:Mv,drop:qs,each:pn,escape:V8,every:Av,extend:av,extendOwn:js,filter:ii,find:kc,findIndex:jc,findKey:Ev,findLastIndex:bv,findWhere:a9,first:Wc,flatten:g9,foldl:qc,foldr:Dv,forEach:pn,functions:Mc,get:cv,groupBy:y9,has:_8,head:Wc,identity:Vc,include:yn,includes:yn,indexBy:h9,indexOf:Iv,initial:_v,inject:qc,intersection:D9,invert:iv,invoke:o9,isArguments:Oc,isArray:rr,isArrayBuffer:xb,isBoolean:Gb,isDataView:Us,isDate:c8,isElement:l8,isEmpty:ta,isEqual:b8,isError:u8,isFinite:f8,isFunction:pt,isMap:I8,isMatch:Xb,isNaN:Jb,isNull:o8,isNumber:Fb,isObject:_n,isRegExp:d8,isSet:D8,isString:Dc,isSymbol:Ub,isTypedArray:zb,isUndefined:Lb,isWeakMap:P8,isWeakSet:A8,iteratee:Gc,keys:We,last:b9,lastIndexOf:i9,map:ar,mapObject:M8,matcher:ia,matches:ia,max:Ov,memoize:Z8,methods:Mc,min:c9,mixin:Nv,negate:xc,noop:uv,now:sa,object:S9,omit:R9,once:r9,pairs:S8,partial:ri,partition:m9,pick:wv,pluck:Jc,property:Lc,propertyOf:N8,random:Fc,range:O9,reduce:qc,reduceRight:Dv,reject:s9,rest:qs,restArguments:Et,result:J8,sample:Bv,select:ii,shuffle:u9,size:T9,some:Sv,sortBy:p9,sortedIndex:vv,tail:qs,take:Wc,tap:w8,template:q8,templateSettings:F8,throttle:Q8,times:$8,toArray:Cv,toPath:lv,transpose:Yc,unescape:G8,union:P9,uniq:Hc,unique:Hc,uniqueId:H8,unzip:Yc,values:ni,where:l9,without:I9,wrap:e9,zip:A9},Symbol.toStringTag,{value:"Module"})));$v._=$v;function Js(n){return n.charAt(0).toUpperCase()+n.slice(1)}function Vv(n){return n.charAt(0).toLowerCase()+n.slice(1)}function Lv(n,e){if(n.type!==r.Property||e.type!==r.Property)throw new Error(`Expected property entities for comparison. But got ${n.type} and ${e.type}.`);return n===e||n.id===e.id?!0:n.name!==e.name||n.static!==e.static||n.abstract!==e.abstract?!1:Ws(n.dataType,e.dataType).compatible}function Gv(n,e){if(n.type!==r.CustomEntity||e.type!==r.CustomEntity)throw new Error(`Expected custom entities for comparison. But got ${n.type} and ${e.type}.`);if(n===e||n.id===e.id)return!0;if(n.properties.length!==e.properties.length)return!1;let t=[...e.properties];const i=[];for(let a=0;a<n.properties.length;a++){const s=n.properties[a];t.find(u=>{const p=Lv(s,u);return p&&(t=t.filter(h=>h.id!==u.id)),p})||i.push(s)}return!(i.length>0)}var wt=(n=>(n.BothUnconstrained="both-unconstrained",n.AConstraintBUnconstrained="a-constraint-b-unconstrained",n.BConstraintAUnconstrained="b-constraint-a-unconstrained",n.Same="same",n.AIsListBIsNot="a-is-list-b-is-not",n.BIsListAIsNot="b-is-list-a-is-not",n.AIsNullableBIsNot="a-is-nullable-b-is-not",n.BIsNullableAIsNot="b-is-nullable-a-is-not",n.AIsTemplateBIsNot="a-is-template-b-is-not",n.BIsTemplateAIsNot="b-is-template-a-is-not",n.BothUntyped="both-untyped",n.AIsUntypedBIsNot="a-is-untyped-b-is-not",n.BIsUntypedAIsNot="b-is-untyped-a-is-not",n.TypeEntityMismatch="type-entity-mismatch",n.SameCustomEntities="same-custom-entities",n.CompatibleCustomEntities="compatible-custom-entities",n.IncompatibleCustomEntities="incompatible-custom-entities",n.SamePrimitiveEntities="same-primitive-entities",n.IncompatiblePrimitiveEntities="incompatible-primitive-entities",n.SameBuiltInBaseEntities="same-built-in-base-entities",n.IncompatibleBuiltInBaseEntities="incompatible-built-in-base-entities",n.CheckUnknown="check-unknown",n))(wt||{});function Ws(n,e){var t,i,a,s,o,u,p,h,m,T,b;if(n&&n.type!==r.DataType||e&&e.type!==r.DataType)throw new Error(`Expected data-type entities for comparison. But got ${n==null?void 0:n.type} and ${e==null?void 0:e.type}.`);if(n===null&&e===null)return{compatible:!0,type:"both-unconstrained"};if(n===null)return{compatible:!0,type:"a-constraint-b-unconstrained"};if(e===null)return{compatible:!0,type:"b-constraint-a-unconstrained"};if(n===e)return{compatible:!0,type:"same"};if(n.id===e.id)return{compatible:!0,type:"same"};if(n.isList!==e.isList)return{compatible:!1,type:n.isList?"a-is-list-b-is-not":"b-is-list-a-is-not"};if(n.isNullable!==e.isNullable)return{compatible:!1,type:n.isNullable?"a-is-nullable-b-is-not":"b-is-nullable-a-is-not"};if(n.asType!==e.asType)return{compatible:!1,type:n.asType?"a-is-template-b-is-not":"b-is-template-a-is-not"};if(!n.entity&&e.entity)return{compatible:!0,type:"a-is-untyped-b-is-not"};if(n.entity&&!e.entity)return{compatible:!0,type:"b-is-untyped-a-is-not"};if(!n.entity&&!e.entity)return{compatible:!0,type:"both-untyped"};if(((t=n.entity)==null?void 0:t.type)!==((i=e.entity)==null?void 0:i.type))return{compatible:!1,type:"type-entity-mismatch"};if(((a=n.entity)==null?void 0:a.type)===r.CustomEntity){if(((s=n.entity)==null?void 0:s.id)===((o=e.entity)==null?void 0:o.id))return{compatible:!0,type:"same-custom-entities"};const I=Gv(n.entity,e.entity);return{compatible:I,type:I?"compatible-custom-entities":"incompatible-custom-entities"}}return((u=n.entity)==null?void 0:u.type)===r.PrimitiveEntity?((p=n.entity)==null?void 0:p.id)===((h=e.entity)==null?void 0:h.id)?{compatible:!0,type:"same-primitive-entities"}:{compatible:!1,type:"incompatible-primitive-entities"}:((m=n.entity)==null?void 0:m.type)===r.BuiltInBaseEntity?((T=n.entity)==null?void 0:T.id)===((b=e.entity)==null?void 0:b.id)?{compatible:!0,type:"same-built-in-base-entities"}:{compatible:!1,type:"incompatible-built-in-base-entities"}:{compatible:!1,type:"check-unknown"}}function Fv(n){const e=n.project.builtInBaseEntities.find(a=>a.id===_.EXECUTION),t={id:n.id+"--infered-data-type",version:1,type:r.DataType,isList:!1,isNullable:!1,andChildrenGroup:null,orChildrenGroup:null,asType:!1,entity:null,constant:!1,defaultValue:null,parent:null},i=R(t,n.project);return i.inferred=!0,i.sync(t),i.setParent(n),i.entity=e,i}function Uv(n){return n.dataType?n.dataType:null}function xv(n){return n.declaration?n.declaration.dataType:n.readsValue?Hs(n.readsValue):null}function jv(n){return n.declaration.dataType}function kv(n){if(n.dataType)return n.dataType;if(n.readsValue)return[r.Operation,r.FunctionCall,r.InternalCall].includes(n.readsValue.type)?Fv(n):Hs(n.readsValue);const e={id:n.id+"--infered-entity",type:r.CustomEntity,version:1,name:A(n,n.project),description:n.description,static:!0,abstract:!1,properties:[],methods:[],extends:[],implements:[],abstractMethods:[],x:0,y:0,parent:null},t=R(e,n.project);t.sync(e);const i=n.inputs.map(s=>{const o=Hs(s),u={id:s.id+"--infered-property",type:r.Property,version:1,name:A(s,n.project),description:s.description,static:!0,abstract:!1,private:!1,required:!1,index:s.index,implements:null,dataType:null,parent:null},p=R(u,n.project);return p.setParent(t),p.dataType=o,p});t.properties=Gg(t.properties,i);const a=R({id:n.id+"--infered-data-type",version:1,type:r.DataType,isList:!1,isNullable:!1,andChildrenGroup:null,orChildrenGroup:null,asType:!1,entity:null,constant:!1,defaultValue:null,parent:null},n.project);return a.inferred=!0,t.setParent(a),a.entity=t,a.setParent(n),a}function qv(n){return n.declaration?n.declaration.dataType:null}function Hs(n){switch(n.type){case r.VariableDeclaration:return kv(n);case r.ArgumentDeclaration:return Uv(n);case r.ReturnDeclaration:return null;case r.VariableInstance:return jv(n);case r.InputMap:return xv(n);case r.OutputMap:return qv(n);default:throw new Error(`Cannot infer data type from entity of type ${n.type}.`)}}function Ys(n){var e;switch(n.type){case r.ArgumentDeclaration:return n.dataType;case r.InputMap:return((e=n.declaration)==null?void 0:e.dataType)||null;case r.VariableDeclaration:return n.dataType;case r.VariableInstance:return n.declaration.dataType;case r.OutputMap:return n.declaration.dataType;case r.ReturnDeclaration:return n.dataType;default:return null}}function D(n){if(n){let e=null;return typeof n=="string"?e=n:n.entityId?e=n.entityId:n.type!==r.GenericReference&&(e=n.id),e}return null}function Zc(n){return n.declaration||n}function B9(n){return n.type===r.VariableDeclaration?n.parent===n.project?"global-declaration":"local-declaration":n.declaration.parent===n.project?"global-instance":"local-instance"}function Xc(n,e){const t=[];if(n.type===r.Project)t.push(...n.variableDeclarations);else{const a=_t(Me(n)).filter(s=>s.type===r.VariableDeclaration);t.push(...a),n.parent&&(st.includes(n.parent.type)||n.parent.type===r.Project)&&t.push(...Xc(n.parent))}return t}function w9(n){return n.replace(/(?:^\w|[A-Z]|\b\w)/g,function(e,t){return t===0?e.toLowerCase():e.toUpperCase()}).replace(/\s+/g,"")}function _9(n){return n.split(/\s+/).map(i=>i[0].toUpperCase()+i.slice(1).toLowerCase()).join("")}function Jv(n){var e;return(e=n.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))==null?void 0:e.map(t=>t.toLowerCase()).join("-")}function zs(n){return Jv(n).toLowerCase()}function sr(n,e=!0){if(!(n!=null&&n.dataType))return"Any data type";if(!n.dataType.entity)return n.dataType.isList?"List of an unknown data type":"Unknown data type";if(n.dataType.entity.type===r.PrimitiveEntity){let t=n.dataType.entity.name;switch(n.dataType.entity.name){case g.String:t="Text";break;case g.JSON:t=e?"Any data structure":"Unknown data structure";break;default:t=n.dataType.entity.name;break}return n.dataType.isList?`List of ${t}s`:`${t.slice(0,1).toUpperCase()}${t.slice(1)}`}else return n.dataType.isList?`List of ${n.dataType.entity.name} entities`:`${n.dataType.entity.name.slice(0,1).toUpperCase()+n.dataType.entity.name.slice(1)} entity`}function Wv(n){return sr(n.declaration)}function M9(n){return n.type===r.VariableInstance?Wv(n):sr(n)}function Hv(n){if(!n)return"Any data type";if(!n.entity)return"Inherited";if(n.entity.type===r.PrimitiveEntity){const e=n.entity.name===g.String?"Text":n.entity.name;return n.isList?`List of ${e}s`:`${e.slice(0,1).toUpperCase()}${e.slice(1)}`}else if(n.entity.type===r.CustomEntity){const e=Kc(n.entity);return n.isList?`List of ${e} entities`:e.slice(0,1).toUpperCase()+e.slice(1)}else if(n.entity.type===r.BuiltInBaseEntity){const e=Qc(n.entity);return n.isList?`List of ${e} entities`:e.slice(0,1).toUpperCase()+e.slice(1)}else return n.isList?`List of ${n.entity.name} entities`:`${n.entity.name.slice(0,1).toUpperCase()+n.entity.name.slice(1)} entity`}function Yv(n){if(!n.dataType)return"Any data type";if(!n.dataType.entity)return"Inherited";if(n.dataType.entity.type===r.PrimitiveEntity){const e=n.dataType.entity.name===g.String?"Text":n.dataType.entity.name;return n.dataType.isList?`List of ${e}s`:`${e.slice(0,1).toUpperCase()}${e.slice(1)}`}else if(n.dataType.entity.type===r.CustomEntity){const e=Kc(n.dataType.entity);return n.dataType.isList?`List of ${e} entities`:e.slice(0,1).toUpperCase()+e.slice(1)}else if(n.dataType.entity.type===r.BuiltInBaseEntity){const e=Qc(n.dataType.entity);return n.dataType.isList?`List of ${e} entities`:e.slice(0,1).toUpperCase()+e.slice(1)}else return n.dataType.isList?`List of ${n.dataType.entity.name} entities`:`${n.dataType.entity.name.slice(0,1).toUpperCase()+n.dataType.entity.name.slice(1)} entity`}function zv(n){switch(n.type){case r.Property:return Yv(n);case r.VariableDeclaration:return sr(n);case r.ArgumentDeclaration:return sr(n,!1);case r.InputMap:{const e=n.declaration;return e?zv(e):"Unknown data type"}case r.ReturnDeclaration:return sr(n,!1);case r.OutputMap:{const e=n.declaration;return sr(e,!1)}}return"Unknown data type"}function Zs(n){switch(n.declaration.id){case Ae.Equal:return"is equal to";case Ae.NotEqual:return"is not equal to";case Ae.MoreThan:return"is greater than";case Ae.MoreThanOrEqual:return"is greater than or equal to";case Ae.LessThan:return"is less than";case Ae.LessThanOrEqual:return"is less than or equal to";case Ae.And:return"and";case Ae.Or:return"or";case Ct.Empty:return"is empty";case Ct.NotEmpty:return"is not empty"}}function Zv(n){return n.includes(_.HTTP_ENDPOINT)?"HTTP endpoint":n.includes(_.PERSISTED_ENTITY)?"Persisted entity":n.includes(_.CRON_JOB)?"Scheduled execution":n.includes(_.RELATIONAL_DATABASE)?"Relational database":"Entity"}function Qc(n){switch(n.name){case _.HTTP_ENDPOINT:return"HTTP endpoint";case _.PERSISTED_ENTITY:return"Persisted entity";case _.CRON_JOB:return"Scheduled execution";case _.RELATIONAL_DATABASE:return"Relational database"}return"Entity"}function Kc(n){const e=Mg(n);if(!e){const t=wg(n);return t.includes(_.HTTP_ENDPOINT)?"HTTP endpoint":t.includes(_.PERSISTED_ENTITY)?"Persisted entity":t.includes(_.CRON_JOB)?"Scheduled execution":t.includes(_.RELATIONAL_DATABASE)?"Relational database":A(n,n.project)+" entity"}return A(e,n.project)+" entity"}function Xv(n){let e="Find ";return n.outputsDeclarations.forEach((t,i)=>{const a=Ys(t),s=Vv(a&&a.entity?A(a.entity,n.project):"unstructured data");i===0?e+=`${s} `:i===n.outputsDeclarations.length-1?e+=`and ${s} `:e+=`, ${s} `}),e}function Qv(n){switch(n.name){case g.String:return"Text";case g.Number:return"Number";case g.Boolean:return"Boolean";case g.JSON:return"Data structure";case g.UUID:return"Unique identifier";case g.Date:return"Date";case g.EntityTemplate:return"Entity as template";case g.Enum:return"Enumeration";case g.File:return"File";case g.Null:return"Empty";case g.ActionDescriptor:return"Action descriptor";default:return n.name}}function Kv(n){switch(n.id){case je.List:return"Loop over list items";case je.ManualFlow:return"Manual flow control loop";case je.ObjectKeys:return"Loop over object keys";case je.ObjectValues:return"Loop over object values";case je.Counted:return"Loop given number of times";case je.String:return"Loop over text characters";case at.Addition:return"Sum numbers";case at.Substraction:return"Subtract numbers";case at.Multiplication:return"Multiply numbers";case at.Division:return"Divide numbers";case at.Remainder:return"Get remainder of numbers";case at.Exponentiation:return"Get exponent of numbers";case ge.AddIndex:return"Add at index position";case ge.DeleteFirst:return"Delete first character";case ge.DeleteLast:return"Delete last character";case ge.DeleteIndex:return"Delete at index position";case ge.Join:return"Join texts";case ge.ReplaceAllMatches:return"Replace all matches";case ge.ReplaceFirst:return"Replace first match";case ge.ReplaceLast:return"Replace last match";case ge.Split:return"Split text";case ge.ReplaceIndex:return"Replace at index position";case ge.ReplaceSingleMatch:return"Replace single match";case ge.GetFirst:return"Get first character";case ge.GetLast:return"Get last character";case ge.GetIndex:return"Get at index position";case ge.Append:return"Add at the end";case ge.Prepend:return"Add at the start";case Ie.Wait:return"Wait";case Ie.Parallel:return"Run in parallel";case Ie.Sequential:return"Run in sequence";case Ye.HttpRequest:return"HTTP request";case Ze.CreateNewInstance:return"Create new copy of entity";case j.AddIndex:return"Add item at index position";case j.DeleteFirst:return"Delete first item";case j.DeleteLast:return"Delete last item";case j.DeleteIndex:return"Delete item at index position";case j.Join:return"Join lists";case j.ReplaceAllMatches:return"Replace all matches";case j.ReplaceFirst:return"Replace first match";case j.ReplaceLast:return"Replace last match";case j.Split:return"Split list";case j.ReplaceIndex:return"Replace at index position";case j.ReplaceSingleMatch:return"Replace single match";case j.GetFirst:return"Get first item";case j.GetLast:return"Get last item";case j.GetIndex:return"Get item at index position";case j.Append:return"Add item at the end";case j.Prepend:return"Add item at the start";case Kt.PROJECT_PUBLICATION_COMPLETED:return"Project publication completed";default:return(n.name.slice(0,1).toUpperCase()+n.name.slice(1)).replaceAll("-"," ")}}function A(n,e){var t;if(r.FunctionDeclaration===n.type){const i=n.name;if(Object.values(gt).includes(i))switch(i){case gt.AbortExecution:return"Abort execution";case gt.DeletePersistedEntity:return"Delete persisted entity";case gt.SoftDeletePersistedEntity:return"Soft delete persisted entity";default:return Js(n.type).replaceAll("-"," ")}return i}if(r.BuiltInBaseEntity===n.type)return Zv([n.name]);if(Md.includes(n.type)&&n.type!==r.ActionDescriptor)return n.name;switch(n.type){case r.Search:return Xv(n);case r.Operation:case r.InternalCall:case r.Loop:const i=Mt(n.declaration,e);return A(i,e);case r.ActionDescriptor:return Kv(n);case r.BreakStatement:const a=Mt(n.parent,e);return`Stop loop ${A(a,e)}`;case r.ContinueStatement:const s=Mt(n.parent,e);return`Execute next iteration of ${A(s,e)}`;case r.FunctionCall:return Mt(n.declaration,e).name;case r.Condition:{const u=n;if((t=n.inputs)!=null&&t.length){const p=A(u.inputs[0],u.project);if(u.inputs[1]){const h=u.inputs[1].declaration.name;return`If ${p} ${Zs(u)} ${h}`}return`If ${p} ${Zs(u)}`}else return`If ${Zs(u)}`}case r.ReturnStatement:{const u=Mt(n.parent,e);return`Output of ${A(u,e)}`}case r.InputMap:if(n.declaration){const u=Mt(n.declaration,e);return A(u,e)||""}else return n.name||"";case r.VariableInstance:{const u=Mt(n.declaration,e);return A(u,e)||""}case r.OutputMap:if(n.declaration){const u=Mt(n.declaration,e);return(u==null?void 0:u.name)||""}else return"";case r.PrimitiveEntity:case r.PrimitiveValue:return Qv(n);default:return Js(n.type).replaceAll("-"," ")}}function Xs(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=e.entities.filter(a=>a.name===n.name);return i.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique in the project. Entity with id "${i[0].id}" has the same name.
14
- Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null})),t}function ed(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=n.parent?D(n.parent):null;let a=e;i&&(a=e.get(i));const s=[];a.type===r.CustomEntity?s.push(...a.methods.map(u=>u)):a.type===r.Project?s.push(...a.functions.map(u=>u)):a.type===r.Loop?a.body&&s.push(a.body):a.type===r.InstalledProject&&s.push(...a.functions.map(u=>u));const o=s.filter(u=>u.name===n.name);return o.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique in ${a.type===r.Project?"the globally declared project scope":"its parent entity"}. Entity with id "${o[0].id}" has the same name.
15
- Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null})),t}function td(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=n.parent&&Mt(n.parent,e)||e;if(!i)t.push(new E({id:`${n.id}--parent-reference--${y.ReferencedEntityNotFound}`,message:`The entity with id '${n.parent}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null}));else{const s=Xc(i).filter(o=>o.name===n.name);s.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique in its scope or higher scopes. Entity with id "${s[0].id}" has the same name.
16
- Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null}))}return t}function nd(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=D(n.parent);if(!i)t.push(new E({id:`${n.id}--parent-reference--${y.InvalidReferenceObjectStructure}`,message:`Reference object at 'parent' property for entity with id "${n.id}" and type "${n.type}" is not a valid reference. A reference needs to be a 'id' string of an existing entity in the project.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null}));else{const a=e.get(i);if(!a)t.push(new E({id:`${n.id}--parent-reference--${y.ReferencedEntityNotFound}`,message:`The entity with id '${i}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null}));else{const o=a.properties.filter(u=>u.name===n.name);o.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique among all properties in the parent entity. Entity with id "${o[0].id}" has the same name.
17
- Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null}))}}return t}function rd(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=D(n.parent);if(!i)t.push(new E({id:`${n.id}--parent-reference--${y.InvalidReferenceObjectStructure}`,message:`Reference object at 'parent' property for entity with id "${n.id}" and type "${n.type}" is not a valid reference. A reference needs to be a 'id' string of an existing entity in the project.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null}));else{const a=e.get(i);if(!a)t.push(new E({id:`${n.id}--parent-reference--${y.ReferencedEntityNotFound}`,message:`The entity with id '${i}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null}));else{const o=bd(a).filter(u=>u.name===n.name);o.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique among all inputs declared in the parent entity. Entity with id "${o[0].id}" has the same name.
18
- Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null}))}}return t}function id(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=D(n.parent);if(!i)t.push(new E({id:`${n.id}--parent-reference--${y.InvalidReferenceObjectStructure}`,message:`Reference object at 'parent' property for entity with id "${n.id}" and type "${n.type}" is not a valid reference. A reference needs to be a 'id' string of an existing entity in the project.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null}));else{const a=e.get(i);if(!a)t.push(new E({id:`${n.id}--parent-reference--${y.ReferencedEntityNotFound}`,message:`The entity with id '${i}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null}));else{const o=vd(a).filter(u=>u.name===n.name);o.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique among all outputs declared in the parent entity. Entity with id "${o[0].id}" has the same name.
19
- Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null}))}}return t}function N9(n,e){switch(n.type){case r.CustomEntity:return Xs(n,e);case r.FunctionDeclaration:return ed(n,e);case r.VariableDeclaration:return td(n,e);case r.Property:return nd(n,e);case r.ArgumentDeclaration:return rd(n,e);case r.ReturnDeclaration:return id(n,e);default:return[]}}function Xt(n,e,t){const a=`${zs(n)}-${e}-id`;return t.instances[a]?$.UUID.uuid():a}function ad(n,e){let t="",i=null;if(n.parent){const s=e.get(n.parent);s&&(i=s)}let a="";return i&&(a=`${zs(A(i,e))}-`),t=`${a}${zs(A(n,e))}-id`,e.instances[t]?$.UUID.uuid():t}function $9(n){var o;const e=o4(),t=n.toJSON();e.safeParse(t).success;const a=V9(n);(o=n.dataType)==null||o.validate();const s=[...a];if(n.id==="80c86e1b-caca-4ba5-9b1f-38f72d10e4a3"){const u=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(u.error)}return s}function V9(n){const e=[];if(!n.implements)return e;const t=n.implements;if(!t.abstract){const a=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(t,n.project)}" with id "${t.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});e.push(a.error)}if(n.static&&!t.static){const a=k({id:`${n.id}--${O.NonStaticPropertyImplementsStatic}`,message:`Static property "${A(n,n.project)}" with id "${n.id}" implements a non-static property "${A(t,n.project)}" with id "${t.id}".`,issue:null,severity:f.Error,code:O.NonStaticPropertyImplementsStatic,entity:n});e.push(a.error)}if(!n.static&&t.static){const a=k({id:`${n.id}--${O.StaticPropertyImplementsNonStatic}`,message:`Non-static property "${A(n,n.project)}" with id "${n.id}" implements a static property "${A(t,n.project)}" with id "${t.id}".`,issue:null,severity:f.Error,code:O.StaticPropertyImplementsNonStatic,entity:n});e.push(a.error)}if(!Ws(n.dataType,t.dataType)){const a=k({id:`${n.id}--${O.PropertyImplementsIncompatibleType}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a property "${A(t,n.project)}" with id "${t.id}" that has an incompatible data type.`,issue:null,severity:f.Error,code:O.PropertyImplementsIncompatibleType,entity:n});e.push(a.error)}return X(n.errors,e)}function L9(n,e){const t=[];if(n.parent){const a=e.get(n.parent);if(!a)t.push(new E({id:`${n.id}--${n.parent}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}));else{const s=gr(a);if(s){const o=a!==s?`The entity of type '${n.type}' with id '${n.id}' have 'parent' with id '${n.parent}' because the entity belongs to a built-in '${s.type}' entity with id '${s.id}' (${A(s,a.project)}) higher up in the tree.`:`The entity of type '${n.type}' with id '${n.id}' have 'parent' with id '${n.parent}' because it is a built-in entity of type ${s.type}.`;t.push(new E({id:`${n.id}--${y.InvalidBuiltInEntityReference}`,code:y.InvalidBuiltInEntityReference,severity:f.Error,message:o,issue:null}))}else if(![r.CustomEntity].includes(a.type))t.push(new E({id:`${n.id}--${n.parent}--${y.InvalidParentReference}`,code:y.InvalidParentReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a parent reference that isn't pointing to an entity of type 'custom-entity'.`,issue:null}));else{const u=Gn(a).filter(p=>!p.interactive);if(u.length){let p=u.length>1?`The entity of type '${n.type}' with id '${n.id}' can't be added to the 'parent' entity with id '${a.id}' because it extends or implements multiple '${r.BuiltInBaseEntity}' entities that are non-interactive ("${N(u.map(h=>A(h,h.project)),'", "','" and "')}").`:`The entity of type '${n.type}' with id '${n.id}' can't be added to the 'parent' entity with id '${a.id}' because it extends or implements a '${r.BuiltInBaseEntity}' entity that is non-interactive ("${A(u[0],u[0].project)}").`;p+=`
20
- ${Vn}`,t.push(new E({id:`${n.id}--${y.NonInteractiveEntityReferenced}`,code:y.NonInteractiveEntityReferenced,severity:f.Error,message:p,issue:null}))}else if(n.implements){const p=e.get(n.implements);if(n.id===n.implements)return t.push(new E({id:`${n.id}--${n.implements}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at 'implements'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null})),t;if(!p)t.push(new E({id:`${n.id}--${n.implements}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.implements}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}));else{const h=a.properties.find(m=>{var T;return((T=m.implements)==null?void 0:T.id)===n.implements});h?t.push(new E({id:`${n.id}--${v.PropertyOverwrite}`,code:v.PropertyOverwrite,severity:f.Error,message:`The property with id "${n.id}" is trying to implement the property with id "${n.implements}", but the parent entity already has a property with id '${h.id}' that implements the same base property.`,issue:null})):[r.Property].includes(p.type)?p.abstract||t.push(new E({id:`${n.id}--${n.implements}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' reference that isn't pointing to an abstract entity.`,issue:null})):t.push(new E({id:`${n.id}--${n.implements}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' reference that isn't pointing to an entity of type 'property'.`,issue:null}))}}}}}const i=Ge(n,{},e);return t.push(...i.errors),t}const he=class he{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"private");l(this,"abstract");l(this,"index");l(this,"static");l(this,"required");l(this,"type",r.Property);l(this,"dataType",null);l(this,"implements",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.private=e.private,this.abstract=e.abstract,this.index=e.index,this.static=e.static,this.required=e.required||!1}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;if(e.implements){const p=D(e.implements);s=t.get(p)}const o={id:e.id,version:1,name:e.name,type:r.Property,index:a.properties.length,private:e.private,abstract:e.abstract,static:e.static,required:e.required||!1,description:e.description,implements:s,dataType:null,parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=L9(i,t),o=nd(i,t);return a.push(...s,...o,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
13
+ `+s+"}",p}function H8(n,e,t){e=ia(e);var i=e.length;if(!i)return pt(t)?t.call(n):t;for(var a=0;a<i;a++){var s=n==null?void 0:n[e[a]];s===void 0&&(s=t,a=i),n=pt(s)?s.call(n):s}return n}var Y8=0;function z8(n){var e=++Y8+"";return n?n+e:e}function Z8(n){var e=Q(n);return e._chain=!0,e}function fv(n,e,t,i,a){if(!(i instanceof e))return n.apply(t,a);var s=lv(n.prototype),o=n.apply(s,a);return Mn(o)?o:s}var ii=Et(function(n,e){var t=ii.placeholder,i=function(){for(var a=0,s=e.length,o=Array(s),u=0;u<s;u++)o[u]=e[u]===t?arguments[a++]:e[u];for(;a<arguments.length;)o.push(arguments[a++]);return fv(n,i,this,this,o)};return i});ii.placeholder=Q;const mv=Et(function(n,e,t){if(!pt(n))throw new TypeError("Bind must be called on a function");var i=Et(function(a){return fv(n,i,e,this,t.concat(a))});return i}),St=Yb(Rt);function ar(n,e,t,i){if(i=i||[],!e&&e!==0)e=1/0;else if(e<=0)return i.concat(n);for(var a=i.length,s=0,o=Rt(n);s<o;s++){var u=n[s];if(St(u)&&(ir(u)||wc(u)))if(e>1)ar(u,e-1,t,i),a=i.length;else for(var p=0,h=u.length;p<h;)i[a++]=u[p++];else t||(i[a++]=u)}return i}const X8=Et(function(n,e){e=ar(e,!1,!1);var t=e.length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var i=e[t];n[i]=mv(n[i],n)}return n});function Q8(n,e){var t=function(i){var a=t.cache,s=""+(e?e.apply(this,arguments):i);return Nn(a,s)||(a[s]=n.apply(this,arguments)),a[s]};return t.cache={},t}const Tv=Et(function(n,e,t){return setTimeout(function(){return n.apply(null,t)},e)}),K8=ii(Tv,Q,1);function e6(n,e,t){var i,a,s,o,u=0;t||(t={});var p=function(){u=t.leading===!1?0:oa(),i=null,o=n.apply(a,s),i||(a=s=null)},h=function(){var m=oa();!u&&t.leading===!1&&(u=m);var T=e-(m-u);return a=this,s=arguments,T<=0||T>e?(i&&(clearTimeout(i),i=null),u=m,o=n.apply(a,s),i||(a=s=null)):!i&&t.trailing!==!1&&(i=setTimeout(p,T)),o};return h.cancel=function(){clearTimeout(i),u=0,i=a=s=null},h}function t6(n,e,t){var i,a,s,o,u,p=function(){var m=oa()-a;e>m?i=setTimeout(p,e-m):(i=null,t||(o=n.apply(u,s)),i||(s=u=null))},h=Et(function(m){return u=this,s=m,a=oa(),i||(i=setTimeout(p,e),t&&(o=n.apply(u,s))),o});return h.cancel=function(){clearTimeout(i),i=s=u=null},h}function n6(n,e){return ii(e,n)}function qc(n){return function(){return!n.apply(this,arguments)}}function r6(){var n=arguments,e=n.length-1;return function(){for(var t=e,i=n[e].apply(this,arguments);t--;)i=n[t].call(this,i);return i}}function i6(n,e){return function(){if(--n<1)return e.apply(this,arguments)}}function Ev(n,e){var t;return function(){return--n>0&&(t=e.apply(this,arguments)),n<=1&&(e=null),t}}const a6=ii(Ev,2);function Rv(n,e,t){e=bt(e,t);for(var i=We(n),a,s=0,o=i.length;s<o;s++)if(a=i[s],e(n[a],a,n))return a}function bv(n){return function(e,t,i){t=bt(t,i);for(var a=Rt(e),s=n>0?0:a-1;s>=0&&s<a;s+=n)if(t(e[s],s,e))return s;return-1}}const Jc=bv(1),vv=bv(-1);function gv(n,e,t,i){t=bt(t,i,1);for(var a=t(e),s=0,o=Rt(n);s<o;){var u=Math.floor((s+o)/2);t(n[u])<a?s=u+1:o=u}return s}function Iv(n,e,t){return function(i,a,s){var o=0,u=Rt(i);if(typeof s=="number")n>0?o=s>=0?s:Math.max(s+u,o):u=s>=0?Math.min(s+1,u):s+u+1;else if(t&&s&&u)return s=t(i,a),i[s]===a?s:-1;if(a!==a)return s=e(ea.call(i,o,u),Wb),s>=0?s+o:-1;for(s=n>0?o:u-1;s>=0&&s<u;s+=n)if(i[s]===a)return s;return-1}}const Pv=Iv(1,Jc,gv),s6=Iv(-1,vv);function Wc(n,e,t){var i=St(n)?Jc:Rv,a=i(n,e,t);if(a!==void 0&&a!==-1)return n[a]}function o6(n,e){return Wc(n,aa(e))}function pn(n,e,t){e=sa(e,t);var i,a;if(St(n))for(i=0,a=n.length;i<a;i++)e(n[i],i,n);else{var s=We(n);for(i=0,a=s.length;i<a;i++)e(n[s[i]],s[i],n)}return n}function sr(n,e,t){e=bt(e,t);for(var i=!St(n)&&We(n),a=(i||n).length,s=Array(a),o=0;o<a;o++){var u=i?i[o]:o;s[o]=e(n[u],u,n)}return s}function Dv(n){var e=function(t,i,a,s){var o=!St(t)&&We(t),u=(o||t).length,p=n>0?0:u-1;for(s||(a=t[o?o[p]:p],p+=n);p>=0&&p<u;p+=n){var h=o?o[p]:p;a=i(a,t[h],h,t)}return a};return function(t,i,a,s){var o=arguments.length>=3;return e(t,sa(i,s,4),a,o)}}const Hc=Dv(1),Av=Dv(-1);function ai(n,e,t){var i=[];return e=bt(e,t),pn(n,function(a,s,o){e(a,s,o)&&i.push(a)}),i}function l6(n,e,t){return ai(n,qc(bt(e)),t)}function Sv(n,e,t){e=bt(e,t);for(var i=!St(n)&&We(n),a=(i||n).length,s=0;s<a;s++){var o=i?i[s]:s;if(!e(n[o],o,n))return!1}return!0}function Ov(n,e,t){e=bt(e,t);for(var i=!St(n)&&We(n),a=(i||n).length,s=0;s<a;s++){var o=i?i[s]:s;if(e(n[o],o,n))return!0}return!1}function yn(n,e,t,i){return St(n)||(n=ri(n)),(typeof t!="number"||i)&&(t=0),Pv(n,e,t)>=0}const c6=Et(function(n,e,t){var i,a;return pt(e)?a=e:(e=ia(e),i=e.slice(0,-1),e=e[e.length-1]),sr(n,function(s){var o=a;if(!o){if(i&&i.length&&(s=Gc(s,i)),s==null)return;o=s[e]}return o==null?o:o.apply(s,t)})});function Yc(n,e){return sr(n,Uc(e))}function d6(n,e){return ai(n,aa(e))}function Cv(n,e,t){var i=-1/0,a=-1/0,s,o;if(e==null||typeof e=="number"&&typeof n[0]!="object"&&n!=null){n=St(n)?n:ri(n);for(var u=0,p=n.length;u<p;u++)s=n[u],s!=null&&s>i&&(i=s)}else e=bt(e,t),pn(n,function(h,m,T){o=e(h,m,T),(o>a||o===-1/0&&i===-1/0)&&(i=h,a=o)});return i}function u6(n,e,t){var i=1/0,a=1/0,s,o;if(e==null||typeof e=="number"&&typeof n[0]!="object"&&n!=null){n=St(n)?n:ri(n);for(var u=0,p=n.length;u<p;u++)s=n[u],s!=null&&s<i&&(i=s)}else e=bt(e,t),pn(n,function(h,m,T){o=e(h,m,T),(o<a||o===1/0&&i===1/0)&&(i=h,a=o)});return i}var p6=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function Bv(n){return n?ir(n)?ea.call(n):Oc(n)?n.match(p6):St(n)?sr(n,Fc):ri(n):[]}function wv(n,e,t){if(e==null||t)return St(n)||(n=ri(n)),n[jc(n.length-1)];var i=Bv(n),a=Rt(i);e=Math.max(Math.min(e,a),0);for(var s=a-1,o=0;o<e;o++){var u=jc(o,s),p=i[o];i[o]=i[u],i[u]=p}return i.slice(0,e)}function y6(n){return wv(n,1/0)}function h6(n,e,t){var i=0;return e=bt(e,t),Yc(sr(n,function(a,s,o){return{value:a,index:i++,criteria:e(a,s,o)}}).sort(function(a,s){var o=a.criteria,u=s.criteria;if(o!==u){if(o>u||o===void 0)return 1;if(o<u||u===void 0)return-1}return a.index-s.index}),"value")}function Js(n,e){return function(t,i,a){var s=e?[[],[]]:{};return i=bt(i,a),pn(t,function(o,u){var p=i(o,u,t);n(s,o,p)}),s}}const f6=Js(function(n,e,t){Nn(n,t)?n[t].push(e):n[t]=[e]}),m6=Js(function(n,e,t){n[t]=e}),T6=Js(function(n,e,t){Nn(n,t)?n[t]++:n[t]=1}),E6=Js(function(n,e,t){n[t?0:1].push(e)},!0);function R6(n){return n==null?0:St(n)?n.length:We(n).length}function b6(n,e,t){return e in t}const _v=Et(function(n,e){var t={},i=e[0];if(n==null)return t;pt(i)?(e.length>1&&(i=sa(i,e[1])),e=ra(n)):(i=b6,e=ar(e,!1,!1),n=Object(n));for(var a=0,s=e.length;a<s;a++){var o=e[a],u=n[o];i(u,o,n)&&(t[o]=u)}return t}),v6=Et(function(n,e){var t=e[0],i;return pt(t)?(t=qc(t),e.length>1&&(i=e[1])):(e=sr(ar(e,!1,!1),String),t=function(a,s){return!yn(e,s)}),_v(n,t,i)});function Mv(n,e,t){return ea.call(n,0,Math.max(0,n.length-(e==null||t?1:e)))}function zc(n,e,t){return n==null||n.length<1?e==null||t?void 0:[]:e==null||t?n[0]:Mv(n,n.length-e)}function Ws(n,e,t){return ea.call(n,e==null||t?1:e)}function g6(n,e,t){return n==null||n.length<1?e==null||t?void 0:[]:e==null||t?n[n.length-1]:Ws(n,Math.max(0,n.length-e))}function I6(n){return ai(n,Boolean)}function P6(n,e){return ar(n,e,!1)}const Nv=Et(function(n,e){return e=ar(e,!0,!0),ai(n,function(t){return!yn(e,t)})}),D6=Et(function(n,e){return Nv(n,e)});function Zc(n,e,t,i){Fb(e)||(i=t,t=e,e=!1),t!=null&&(t=bt(t,i));for(var a=[],s=[],o=0,u=Rt(n);o<u;o++){var p=n[o],h=t?t(p,o,n):p;e&&!t?((!o||s!==h)&&a.push(p),s=h):t?yn(s,h)||(s.push(h),a.push(p)):yn(a,p)||a.push(p)}return a}const A6=Et(function(n){return Zc(ar(n,!0,!0))});function S6(n){for(var e=[],t=arguments.length,i=0,a=Rt(n);i<a;i++){var s=n[i];if(!yn(e,s)){var o;for(o=1;o<t&&yn(arguments[o],s);o++);o===t&&e.push(s)}}return e}function Xc(n){for(var e=n&&Cv(n,Rt).length||0,t=Array(e),i=0;i<e;i++)t[i]=Yc(n,i);return t}const O6=Et(Xc);function C6(n,e){for(var t={},i=0,a=Rt(n);i<a;i++)e?t[n[i]]=e[i]:t[n[i][0]]=n[i][1];return t}function B6(n,e,t){e==null&&(e=n||0,n=0),t||(t=e<n?-1:1);for(var i=Math.max(Math.ceil((e-n)/t),0),a=Array(i),s=0;s<i;s++,n+=t)a[s]=n;return a}function w6(n,e){if(e==null||e<1)return[];for(var t=[],i=0,a=n.length;i<a;)t.push(ea.call(n,i,i+=e));return t}function Qc(n,e){return n._chain?Q(e).chain():e}function $v(n){return pn(Vc(n),function(e){var t=Q[e]=n[e];Q.prototype[e]=function(){var i=[this._wrapped];return n8.apply(i,arguments),Qc(this,t.apply(Q,i))}}),Q}pn(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var e=xs[n];Q.prototype[n]=function(){var t=this._wrapped;return t!=null&&(e.apply(t,arguments),(n==="shift"||n==="splice")&&t.length===0&&delete t[0]),Qc(this,t)}}),pn(["concat","join","slice"],function(n){var e=xs[n];Q.prototype[n]=function(){var t=this._wrapped;return t!=null&&(t=e.apply(t,arguments)),Qc(this,t)}});var Vv=$v(Object.freeze(Object.defineProperty({__proto__:null,VERSION:Cb,after:i6,all:Sv,allKeys:ra,any:Ov,assign:qs,before:Ev,bind:mv,bindAll:X8,chain:Z8,chunk:w6,clone:_8,collect:sr,compact:I6,compose:r6,constant:Hb,contains:yn,countBy:T6,create:w8,debounce:t6,default:Q,defaults:ov,defer:K8,delay:Tv,detect:Wc,difference:Nv,drop:Ws,each:pn,escape:G8,every:Sv,extend:sv,extendOwn:qs,filter:ai,find:Wc,findIndex:Jc,findKey:Rv,findLastIndex:vv,findWhere:o6,first:zc,flatten:P6,foldl:Hc,foldr:Av,forEach:pn,functions:Vc,get:dv,groupBy:f6,has:N8,head:zc,identity:Fc,include:yn,includes:yn,indexBy:m6,indexOf:Pv,initial:Mv,inject:Hc,intersection:S6,invert:av,invoke:c6,isArguments:wc,isArray:ir,isArrayBuffer:jb,isBoolean:Fb,isDataView:js,isDate:u8,isElement:d8,isEmpty:na,isEqual:g8,isError:y8,isFinite:T8,isFunction:pt,isMap:D8,isMatch:Qb,isNaN:Wb,isNull:c8,isNumber:Ub,isObject:Mn,isRegExp:p8,isSet:S8,isString:Oc,isSymbol:xb,isTypedArray:Zb,isUndefined:Gb,isWeakMap:A8,isWeakSet:O8,iteratee:xc,keys:We,last:g6,lastIndexOf:s6,map:sr,mapObject:$8,matcher:aa,matches:aa,max:Cv,memoize:Q8,methods:Vc,min:u6,mixin:$v,negate:qc,noop:pv,now:oa,object:C6,omit:v6,once:a6,pairs:C8,partial:ii,partition:E6,pick:_v,pluck:Yc,property:Uc,propertyOf:V8,random:jc,range:B6,reduce:Hc,reduceRight:Av,reject:l6,rest:Ws,restArguments:Et,result:H8,sample:wv,select:ai,shuffle:y6,size:R6,some:Ov,sortBy:h6,sortedIndex:gv,tail:Ws,take:zc,tap:M8,template:W8,templateSettings:x8,throttle:e6,times:L8,toArray:Bv,toPath:cv,transpose:Xc,unescape:U8,union:A6,uniq:Zc,unique:Zc,uniqueId:z8,unzip:Xc,values:ri,where:d6,without:D6,wrap:n6,zip:O6},Symbol.toStringTag,{value:"Module"})));Vv._=Vv;function Hs(n){return n.charAt(0).toUpperCase()+n.slice(1)}function Lv(n){return n.charAt(0).toLowerCase()+n.slice(1)}function Gv(n,e){if(n.type!==r.Property||e.type!==r.Property)throw new Error(`Expected property entities for comparison. But got ${n.type} and ${e.type}.`);return n===e||n.id===e.id?!0:n.name!==e.name||n.static!==e.static||n.abstract!==e.abstract?!1:Ys(n.dataType,e.dataType).compatible}function Fv(n,e){if(n.type!==r.CustomEntity||e.type!==r.CustomEntity)throw new Error(`Expected custom entities for comparison. But got ${n.type} and ${e.type}.`);if(n===e||n.id===e.id)return!0;if(n.properties.length!==e.properties.length)return!1;let t=[...e.properties];const i=[];for(let a=0;a<n.properties.length;a++){const s=n.properties[a];t.find(u=>{const p=Gv(s,u);return p&&(t=t.filter(h=>h.id!==u.id)),p})||i.push(s)}return!(i.length>0)}var wt=(n=>(n.BothUnconstrained="both-unconstrained",n.AConstraintBUnconstrained="a-constraint-b-unconstrained",n.BConstraintAUnconstrained="b-constraint-a-unconstrained",n.Same="same",n.AIsListBIsNot="a-is-list-b-is-not",n.BIsListAIsNot="b-is-list-a-is-not",n.AIsNullableBIsNot="a-is-nullable-b-is-not",n.BIsNullableAIsNot="b-is-nullable-a-is-not",n.AIsTemplateBIsNot="a-is-template-b-is-not",n.BIsTemplateAIsNot="b-is-template-a-is-not",n.BothUntyped="both-untyped",n.AIsUntypedBIsNot="a-is-untyped-b-is-not",n.BIsUntypedAIsNot="b-is-untyped-a-is-not",n.TypeEntityMismatch="type-entity-mismatch",n.SameCustomEntities="same-custom-entities",n.CompatibleCustomEntities="compatible-custom-entities",n.IncompatibleCustomEntities="incompatible-custom-entities",n.SamePrimitiveEntities="same-primitive-entities",n.IncompatiblePrimitiveEntities="incompatible-primitive-entities",n.SameBuiltInBaseEntities="same-built-in-base-entities",n.IncompatibleBuiltInBaseEntities="incompatible-built-in-base-entities",n.CheckUnknown="check-unknown",n))(wt||{});function Ys(n,e){var t,i,a,s,o,u,p,h,m,T,b;if(n&&n.type!==r.DataType||e&&e.type!==r.DataType)throw new Error(`Expected data-type entities for comparison. But got ${n==null?void 0:n.type} and ${e==null?void 0:e.type}.`);if(n===null&&e===null)return{compatible:!0,type:"both-unconstrained"};if(n===null)return{compatible:!0,type:"a-constraint-b-unconstrained"};if(e===null)return{compatible:!0,type:"b-constraint-a-unconstrained"};if(n===e)return{compatible:!0,type:"same"};if(n.id===e.id)return{compatible:!0,type:"same"};if(n.isList!==e.isList)return{compatible:!1,type:n.isList?"a-is-list-b-is-not":"b-is-list-a-is-not"};if(n.isNullable!==e.isNullable)return{compatible:!1,type:n.isNullable?"a-is-nullable-b-is-not":"b-is-nullable-a-is-not"};if(n.asType!==e.asType)return{compatible:!1,type:n.asType?"a-is-template-b-is-not":"b-is-template-a-is-not"};if(!n.entity&&e.entity)return{compatible:!0,type:"a-is-untyped-b-is-not"};if(n.entity&&!e.entity)return{compatible:!0,type:"b-is-untyped-a-is-not"};if(!n.entity&&!e.entity)return{compatible:!0,type:"both-untyped"};if(((t=n.entity)==null?void 0:t.type)!==((i=e.entity)==null?void 0:i.type))return{compatible:!1,type:"type-entity-mismatch"};if(((a=n.entity)==null?void 0:a.type)===r.CustomEntity){if(((s=n.entity)==null?void 0:s.id)===((o=e.entity)==null?void 0:o.id))return{compatible:!0,type:"same-custom-entities"};const I=Fv(n.entity,e.entity);return{compatible:I,type:I?"compatible-custom-entities":"incompatible-custom-entities"}}return((u=n.entity)==null?void 0:u.type)===r.PrimitiveEntity?((p=n.entity)==null?void 0:p.id)===((h=e.entity)==null?void 0:h.id)?{compatible:!0,type:"same-primitive-entities"}:{compatible:!1,type:"incompatible-primitive-entities"}:((m=n.entity)==null?void 0:m.type)===r.BuiltInBaseEntity?((T=n.entity)==null?void 0:T.id)===((b=e.entity)==null?void 0:b.id)?{compatible:!0,type:"same-built-in-base-entities"}:{compatible:!1,type:"incompatible-built-in-base-entities"}:{compatible:!1,type:"check-unknown"}}function Uv(n){const e=n.project.builtInBaseEntities.find(a=>a.id===_.EXECUTION),t={id:n.id+"--infered-data-type",version:1,type:r.DataType,isList:!1,isNullable:!1,andChildrenGroup:null,orChildrenGroup:null,asType:!1,entity:null,constant:!1,defaultValue:null,parent:null},i=R(t,n.project);return i.inferred=!0,i.sync(t),i.setParent(n),i.entity=e,i}function xv(n){return n.dataType?n.dataType:null}function jv(n){return n.declaration?n.declaration.dataType:n.readsValue?zs(n.readsValue):null}function kv(n){return n.declaration.dataType}function qv(n){if(n.dataType)return n.dataType;if(n.readsValue)return[r.Operation,r.FunctionCall,r.InternalCall].includes(n.readsValue.type)?Uv(n):zs(n.readsValue);const e={id:n.id+"--infered-entity",type:r.CustomEntity,version:1,name:A(n,n.project),description:n.description,static:!0,abstract:!1,properties:[],methods:[],extends:[],implements:[],abstractMethods:[],x:0,y:0,parent:null},t=R(e,n.project);t.sync(e);const i=n.inputs.map(s=>{const o=zs(s),u={id:s.id+"--infered-property",type:r.Property,version:1,name:A(s,n.project),description:s.description,static:!0,abstract:!1,private:!1,required:!1,index:s.index,implements:null,dataType:null,parent:null},p=R(u,n.project);return p.setParent(t),p.dataType=o,p});t.properties=Fg(t.properties,i);const a=R({id:n.id+"--infered-data-type",version:1,type:r.DataType,isList:!1,isNullable:!1,andChildrenGroup:null,orChildrenGroup:null,asType:!1,entity:null,constant:!1,defaultValue:null,parent:null},n.project);return a.inferred=!0,t.setParent(a),a.entity=t,a.setParent(n),a}function Jv(n){return n.declaration?n.declaration.dataType:null}function zs(n){switch(n.type){case r.VariableDeclaration:return qv(n);case r.ArgumentDeclaration:return xv(n);case r.ReturnDeclaration:return null;case r.VariableInstance:return kv(n);case r.InputMap:return jv(n);case r.OutputMap:return Jv(n);default:throw new Error(`Cannot infer data type from entity of type ${n.type}.`)}}function Zs(n){var e;switch(n.type){case r.ArgumentDeclaration:return n.dataType;case r.InputMap:return((e=n.declaration)==null?void 0:e.dataType)||null;case r.VariableDeclaration:return n.dataType;case r.VariableInstance:return n.declaration.dataType;case r.OutputMap:return n.declaration.dataType;case r.ReturnDeclaration:return n.dataType;default:return null}}function D(n){if(n){let e=null;return typeof n=="string"?e=n:n.entityId?e=n.entityId:n.type!==r.GenericReference&&(e=n.id),e}return null}function Kc(n){return n.declaration||n}function _6(n){return n.type===r.VariableDeclaration?n.parent===n.project?"global-declaration":"local-declaration":n.declaration.parent===n.project?"global-instance":"local-instance"}function ed(n,e){const t=[];if(n.type===r.Project)t.push(...n.variableDeclarations);else{const a=_t(Me(n)).filter(s=>s.type===r.VariableDeclaration);t.push(...a),n.parent&&(st.includes(n.parent.type)||n.parent.type===r.Project)&&t.push(...ed(n.parent))}return t}function M6(n){return n.replace(/(?:^\w|[A-Z]|\b\w)/g,function(e,t){return t===0?e.toLowerCase():e.toUpperCase()}).replace(/\s+/g,"")}function N6(n){return n.split(/\s+/).map(i=>i[0].toUpperCase()+i.slice(1).toLowerCase()).join("")}function Wv(n){var e;return(e=n.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))==null?void 0:e.map(t=>t.toLowerCase()).join("-")}function Xs(n){return Wv(n).toLowerCase()}function or(n,e=!0){if(!(n!=null&&n.dataType))return"Any data type";if(!n.dataType.entity)return n.dataType.isList?"List of an unknown data type":"Unknown data type";if(n.dataType.entity.type===r.PrimitiveEntity){let t=n.dataType.entity.name;switch(n.dataType.entity.name){case g.String:t="Text";break;case g.JSON:t=e?"Any data structure":"Unknown data structure";break;default:t=n.dataType.entity.name;break}return n.dataType.isList?`List of ${t}s`:`${t.slice(0,1).toUpperCase()}${t.slice(1)}`}else return n.dataType.isList?`List of ${n.dataType.entity.name} entities`:`${n.dataType.entity.name.slice(0,1).toUpperCase()+n.dataType.entity.name.slice(1)} entity`}function Hv(n){return or(n.declaration)}function $6(n){return n.type===r.VariableInstance?Hv(n):or(n)}function Yv(n){if(!n)return"Any data type";if(!n.entity)return"Inherited";if(n.entity.type===r.PrimitiveEntity){const e=n.entity.name===g.String?"Text":n.entity.name;return n.isList?`List of ${e}s`:`${e.slice(0,1).toUpperCase()}${e.slice(1)}`}else if(n.entity.type===r.CustomEntity){const e=nd(n.entity);return n.isList?`List of ${e} entities`:e.slice(0,1).toUpperCase()+e.slice(1)}else if(n.entity.type===r.BuiltInBaseEntity){const e=td(n.entity);return n.isList?`List of ${e} entities`:e.slice(0,1).toUpperCase()+e.slice(1)}else return n.isList?`List of ${n.entity.name} entities`:`${n.entity.name.slice(0,1).toUpperCase()+n.entity.name.slice(1)} entity`}function zv(n){if(!n.dataType)return"Any data type";if(!n.dataType.entity)return"Inherited";if(n.dataType.entity.type===r.PrimitiveEntity){const e=n.dataType.entity.name===g.String?"Text":n.dataType.entity.name;return n.dataType.isList?`List of ${e}s`:`${e.slice(0,1).toUpperCase()}${e.slice(1)}`}else if(n.dataType.entity.type===r.CustomEntity){const e=nd(n.dataType.entity);return n.dataType.isList?`List of ${e} entities`:e.slice(0,1).toUpperCase()+e.slice(1)}else if(n.dataType.entity.type===r.BuiltInBaseEntity){const e=td(n.dataType.entity);return n.dataType.isList?`List of ${e} entities`:e.slice(0,1).toUpperCase()+e.slice(1)}else return n.dataType.isList?`List of ${n.dataType.entity.name} entities`:`${n.dataType.entity.name.slice(0,1).toUpperCase()+n.dataType.entity.name.slice(1)} entity`}function Zv(n){switch(n.type){case r.Property:return zv(n);case r.VariableDeclaration:return or(n);case r.ArgumentDeclaration:return or(n,!1);case r.InputMap:{const e=n.declaration;return e?Zv(e):"Unknown data type"}case r.ReturnDeclaration:return or(n,!1);case r.OutputMap:{const e=n.declaration;return or(e,!1)}}return"Unknown data type"}function Qs(n){switch(n.declaration.id){case Ae.Equal:return"is equal to";case Ae.NotEqual:return"is not equal to";case Ae.MoreThan:return"is greater than";case Ae.MoreThanOrEqual:return"is greater than or equal to";case Ae.LessThan:return"is less than";case Ae.LessThanOrEqual:return"is less than or equal to";case Ae.And:return"and";case Ae.Or:return"or";case Ct.Empty:return"is empty";case Ct.NotEmpty:return"is not empty"}}function Xv(n){return n.includes(_.HTTP_ENDPOINT)?"HTTP endpoint":n.includes(_.PERSISTED_ENTITY)?"Persisted entity":n.includes(_.CRON_JOB)?"Scheduled execution":n.includes(_.RELATIONAL_DATABASE)?"Relational database":"Entity"}function td(n){switch(n.name){case _.HTTP_ENDPOINT:return"HTTP endpoint";case _.PERSISTED_ENTITY:return"Persisted entity";case _.CRON_JOB:return"Scheduled execution";case _.RELATIONAL_DATABASE:return"Relational database"}return"Entity"}function nd(n){const e=Ng(n);if(!e){const t=_g(n);return t.includes(_.HTTP_ENDPOINT)?"HTTP endpoint":t.includes(_.PERSISTED_ENTITY)?"Persisted entity":t.includes(_.CRON_JOB)?"Scheduled execution":t.includes(_.RELATIONAL_DATABASE)?"Relational database":A(n,n.project)+" entity"}return A(e,n.project)+" entity"}function Qv(n){let e="Find ";return n.outputsDeclarations.forEach((t,i)=>{const a=Zs(t),s=Lv(a&&a.entity?A(a.entity,n.project):"unstructured data");i===0?e+=`${s} `:i===n.outputsDeclarations.length-1?e+=`and ${s} `:e+=`, ${s} `}),e}function Kv(n){switch(n.name){case g.String:return"Text";case g.Number:return"Number";case g.Boolean:return"Boolean";case g.JSON:return"Data structure";case g.UUID:return"Unique identifier";case g.Date:return"Date";case g.EntityTemplate:return"Entity as template";case g.Enum:return"Enumeration";case g.File:return"File";case g.Null:return"Empty";case g.ActionDescriptor:return"Action descriptor";default:return n.name}}function eg(n){switch(n.id){case je.List:return"Loop over list items";case je.ManualFlow:return"Manual flow control loop";case je.ObjectKeys:return"Loop over object keys";case je.ObjectValues:return"Loop over object values";case je.Counted:return"Loop given number of times";case je.String:return"Loop over text characters";case at.Addition:return"Sum numbers";case at.Substraction:return"Subtract numbers";case at.Multiplication:return"Multiply numbers";case at.Division:return"Divide numbers";case at.Remainder:return"Get remainder of numbers";case at.Exponentiation:return"Get exponent of numbers";case ge.AddIndex:return"Add at index position";case ge.DeleteFirst:return"Delete first character";case ge.DeleteLast:return"Delete last character";case ge.DeleteIndex:return"Delete at index position";case ge.Join:return"Join texts";case ge.ReplaceAllMatches:return"Replace all matches";case ge.ReplaceFirst:return"Replace first match";case ge.ReplaceLast:return"Replace last match";case ge.Split:return"Split text";case ge.ReplaceIndex:return"Replace at index position";case ge.ReplaceSingleMatch:return"Replace single match";case ge.GetFirst:return"Get first character";case ge.GetLast:return"Get last character";case ge.GetIndex:return"Get at index position";case ge.Append:return"Add at the end";case ge.Prepend:return"Add at the start";case Ie.Wait:return"Wait";case Ie.Parallel:return"Run in parallel";case Ie.Sequential:return"Run in sequence";case Ye.HttpRequest:return"HTTP request";case Ze.CreateNewInstance:return"Create new copy of entity";case j.AddIndex:return"Add item at index position";case j.DeleteFirst:return"Delete first item";case j.DeleteLast:return"Delete last item";case j.DeleteIndex:return"Delete item at index position";case j.Join:return"Join lists";case j.ReplaceAllMatches:return"Replace all matches";case j.ReplaceFirst:return"Replace first match";case j.ReplaceLast:return"Replace last match";case j.Split:return"Split list";case j.ReplaceIndex:return"Replace at index position";case j.ReplaceSingleMatch:return"Replace single match";case j.GetFirst:return"Get first item";case j.GetLast:return"Get last item";case j.GetIndex:return"Get item at index position";case j.Append:return"Add item at the end";case j.Prepend:return"Add item at the start";case Kt.PROJECT_PUBLICATION_COMPLETED:return"Project publication completed";default:return(n.name.slice(0,1).toUpperCase()+n.name.slice(1)).replaceAll("-"," ")}}function A(n,e){var t;if(r.FunctionDeclaration===n.type){const i=n.name;if(Object.values(gt).includes(i))switch(i){case gt.AbortExecution:return"Abort execution";case gt.DeletePersistedEntity:return"Delete persisted entity";case gt.SoftDeletePersistedEntity:return"Soft delete persisted entity";default:return Hs(n.type).replaceAll("-"," ")}return i}if(r.BuiltInBaseEntity===n.type)return Xv([n.name]);if(Vd.includes(n.type)&&n.type!==r.ActionDescriptor)return n.name;switch(n.type){case r.Search:return Qv(n);case r.Operation:case r.InternalCall:case r.Loop:const i=Mt(n.declaration,e);return A(i,e);case r.ActionDescriptor:return eg(n);case r.BreakStatement:const a=Mt(n.parent,e);return`Stop loop ${A(a,e)}`;case r.ContinueStatement:const s=Mt(n.parent,e);return`Execute next iteration of ${A(s,e)}`;case r.FunctionCall:return Mt(n.declaration,e).name;case r.Condition:{const u=n;if((t=n.inputs)!=null&&t.length){const p=A(u.inputs[0],u.project);if(u.inputs[1]){const h=u.inputs[1].declaration.name;return`If ${p} ${Qs(u)} ${h}`}return`If ${p} ${Qs(u)}`}else return`If ${Qs(u)}`}case r.ReturnStatement:{const u=Mt(n.parent,e);return`Output of ${A(u,e)}`}case r.InputMap:if(n.declaration){const u=Mt(n.declaration,e);return A(u,e)||""}else return n.name||"";case r.VariableInstance:{const u=Mt(n.declaration,e);return A(u,e)||""}case r.OutputMap:if(n.declaration){const u=Mt(n.declaration,e);return(u==null?void 0:u.name)||""}else return"";case r.PrimitiveEntity:case r.PrimitiveValue:return Kv(n);default:return Hs(n.type).replaceAll("-"," ")}}function Ks(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=e.entities.filter(a=>a.name===n.name);return i.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique in the project. Entity with id "${i[0].id}" has the same name.
14
+ Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null})),t}function rd(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=n.parent?D(n.parent):null;let a=e;i&&(a=e.get(i));const s=[];a.type===r.CustomEntity?s.push(...a.methods.map(u=>u)):a.type===r.Project?s.push(...a.functions.map(u=>u)):a.type===r.Loop?a.body&&s.push(a.body):a.type===r.InstalledProject&&s.push(...a.functions.map(u=>u));const o=s.filter(u=>u.name===n.name);return o.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique in ${a.type===r.Project?"the globally declared project scope":"its parent entity"}. Entity with id "${o[0].id}" has the same name.
15
+ Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null})),t}function id(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=n.parent&&Mt(n.parent,e)||e;if(!i)t.push(new E({id:`${n.id}--parent-reference--${y.ReferencedEntityNotFound}`,message:`The entity with id '${n.parent}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null}));else{const s=ed(i).filter(o=>o.name===n.name);s.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique in its scope or higher scopes. Entity with id "${s[0].id}" has the same name.
16
+ Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null}))}return t}function ad(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=D(n.parent);if(!i)t.push(new E({id:`${n.id}--parent-reference--${y.InvalidReferenceObjectStructure}`,message:`Reference object at 'parent' property for entity with id "${n.id}" and type "${n.type}" is not a valid reference. A reference needs to be a 'id' string of an existing entity in the project.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null}));else{const a=e.get(i);if(!a)t.push(new E({id:`${n.id}--parent-reference--${y.ReferencedEntityNotFound}`,message:`The entity with id '${i}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null}));else{const o=a.properties.filter(u=>u.name===n.name);o.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique among all properties in the parent entity. Entity with id "${o[0].id}" has the same name.
17
+ Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null}))}}return t}function sd(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=D(n.parent);if(!i)t.push(new E({id:`${n.id}--parent-reference--${y.InvalidReferenceObjectStructure}`,message:`Reference object at 'parent' property for entity with id "${n.id}" and type "${n.type}" is not a valid reference. A reference needs to be a 'id' string of an existing entity in the project.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null}));else{const a=e.get(i);if(!a)t.push(new E({id:`${n.id}--parent-reference--${y.ReferencedEntityNotFound}`,message:`The entity with id '${i}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null}));else{const o=Id(a).filter(u=>u.name===n.name);o.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique among all inputs declared in the parent entity. Entity with id "${o[0].id}" has the same name.
18
+ Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null}))}}return t}function od(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=D(n.parent);if(!i)t.push(new E({id:`${n.id}--parent-reference--${y.InvalidReferenceObjectStructure}`,message:`Reference object at 'parent' property for entity with id "${n.id}" and type "${n.type}" is not a valid reference. A reference needs to be a 'id' string of an existing entity in the project.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null}));else{const a=e.get(i);if(!a)t.push(new E({id:`${n.id}--parent-reference--${y.ReferencedEntityNotFound}`,message:`The entity with id '${i}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null}));else{const o=Pd(a).filter(u=>u.name===n.name);o.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique among all outputs declared in the parent entity. Entity with id "${o[0].id}" has the same name.
19
+ Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null}))}}return t}function V6(n,e){switch(n.type){case r.CustomEntity:return Ks(n,e);case r.FunctionDeclaration:return rd(n,e);case r.VariableDeclaration:return id(n,e);case r.Property:return ad(n,e);case r.ArgumentDeclaration:return sd(n,e);case r.ReturnDeclaration:return od(n,e);default:return[]}}function Xt(n,e,t){const a=`${Xs(n)}-${e}-id`;return t.instances[a]?$.UUID.uuid():a}function ld(n,e){let t="",i=null;if(n.parent){const s=e.get(n.parent);s&&(i=s)}let a="";return i&&(a=`${Xs(A(i,e))}-`),t=`${a}${Xs(A(n,e))}-id`,e.instances[t]?$.UUID.uuid():t}function L6(n){var o;const e=c4(),t=n.toJSON();e.safeParse(t).success;const a=G6(n);(o=n.dataType)==null||o.validate();const s=[...a];if(n.id==="80c86e1b-caca-4ba5-9b1f-38f72d10e4a3"){const u=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(u.error)}return s}function G6(n){const e=[];if(!n.implements)return e;const t=n.implements;if(!t.abstract){const a=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(t,n.project)}" with id "${t.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});e.push(a.error)}if(n.static&&!t.static){const a=k({id:`${n.id}--${O.NonStaticPropertyImplementsStatic}`,message:`Static property "${A(n,n.project)}" with id "${n.id}" implements a non-static property "${A(t,n.project)}" with id "${t.id}".`,issue:null,severity:f.Error,code:O.NonStaticPropertyImplementsStatic,entity:n});e.push(a.error)}if(!n.static&&t.static){const a=k({id:`${n.id}--${O.StaticPropertyImplementsNonStatic}`,message:`Non-static property "${A(n,n.project)}" with id "${n.id}" implements a static property "${A(t,n.project)}" with id "${t.id}".`,issue:null,severity:f.Error,code:O.StaticPropertyImplementsNonStatic,entity:n});e.push(a.error)}if(!Ys(n.dataType,t.dataType)){const a=k({id:`${n.id}--${O.PropertyImplementsIncompatibleType}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a property "${A(t,n.project)}" with id "${t.id}" that has an incompatible data type.`,issue:null,severity:f.Error,code:O.PropertyImplementsIncompatibleType,entity:n});e.push(a.error)}return X(n.errors,e)}function F6(n,e){const t=[];if(n.parent){const a=e.get(n.parent);if(!a)t.push(new E({id:`${n.id}--${n.parent}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}));else{const s=Ir(a);if(s){const o=a!==s?`The entity of type '${n.type}' with id '${n.id}' have 'parent' with id '${n.parent}' because the entity belongs to a built-in '${s.type}' entity with id '${s.id}' (${A(s,a.project)}) higher up in the tree.`:`The entity of type '${n.type}' with id '${n.id}' have 'parent' with id '${n.parent}' because it is a built-in entity of type ${s.type}.`;t.push(new E({id:`${n.id}--${y.InvalidBuiltInEntityReference}`,code:y.InvalidBuiltInEntityReference,severity:f.Error,message:o,issue:null}))}else if(![r.CustomEntity].includes(a.type))t.push(new E({id:`${n.id}--${n.parent}--${y.InvalidParentReference}`,code:y.InvalidParentReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a parent reference that isn't pointing to an entity of type 'custom-entity'.`,issue:null}));else{const u=Fn(a).filter(p=>!p.interactive);if(u.length){let p=u.length>1?`The entity of type '${n.type}' with id '${n.id}' can't be added to the 'parent' entity with id '${a.id}' because it extends or implements multiple '${r.BuiltInBaseEntity}' entities that are non-interactive ("${N(u.map(h=>A(h,h.project)),'", "','" and "')}").`:`The entity of type '${n.type}' with id '${n.id}' can't be added to the 'parent' entity with id '${a.id}' because it extends or implements a '${r.BuiltInBaseEntity}' entity that is non-interactive ("${A(u[0],u[0].project)}").`;p+=`
20
+ ${Ln}`,t.push(new E({id:`${n.id}--${y.NonInteractiveEntityReferenced}`,code:y.NonInteractiveEntityReferenced,severity:f.Error,message:p,issue:null}))}else if(n.implements){const p=e.get(n.implements);if(n.id===n.implements)return t.push(new E({id:`${n.id}--${n.implements}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at 'implements'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null})),t;if(!p)t.push(new E({id:`${n.id}--${n.implements}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.implements}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}));else{const h=a.properties.find(m=>{var T;return((T=m.implements)==null?void 0:T.id)===n.implements});h?t.push(new E({id:`${n.id}--${v.PropertyOverwrite}`,code:v.PropertyOverwrite,severity:f.Error,message:`The property with id "${n.id}" is trying to implement the property with id "${n.implements}", but the parent entity already has a property with id '${h.id}' that implements the same base property.`,issue:null})):[r.Property].includes(p.type)?p.abstract||t.push(new E({id:`${n.id}--${n.implements}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' reference that isn't pointing to an abstract entity.`,issue:null})):t.push(new E({id:`${n.id}--${n.implements}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' reference that isn't pointing to an entity of type 'property'.`,issue:null}))}}}}}const i=Ge(n,{},e);return t.push(...i.errors),t}const he=class he{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"private");l(this,"abstract");l(this,"index");l(this,"static");l(this,"required");l(this,"type",r.Property);l(this,"dataType",null);l(this,"implements",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.private=e.private,this.abstract=e.abstract,this.index=e.index,this.static=e.static,this.required=e.required||!1}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;if(e.implements){const p=D(e.implements);s=t.get(p)}const o={id:e.id,version:1,name:e.name,type:r.Property,index:a.properties.length,private:e.private,abstract:e.abstract,static:e.static,required:e.required||!1,description:e.description,implements:s,dataType:null,parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=F6(i,t),o=ad(i,t);return a.push(...s,...o,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
21
21
  This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),(e.readsValue||e.writesValue)&&t.push(new E({id:`${this.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' is not a value reading or writing entity.
22
- ${to}`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent.addProperty(this),this}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.dataType){const e=R(this.initialData.dataType,this.project);e.setParent(this),e.initChildren(),this.dataType=e}if(this.initialData.implements){const e=R(this.initialData.implements,this.project);this.implements=e}return this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.abstract=e.abstract||this.abstract,this.private=e.private||this.private,this.index=e.index||this.index,this.static=e.static||this.static,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.dataType){const{affected:s,removed:o}=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return e||this.parent.type===r.CustomEntity&&(this.parent.removeProperty(this),i.push(this.parent)),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.dataType){const{affected:i}=this.dataType.restore({seenEntities:e});t.push(...i)}return this.parent.type===r.CustomEntity&&(this.parent.addProperty(this),t.push(this.parent)),{affected:t,self:this}}toFlat(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this,...((i=this.dataType)==null?void 0:i.toFlat(e))||[]])}toFlatIds(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((i=this.dataType)==null?void 0:i.toFlatIds(e))||[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,private:this.private,required:this.required,static:this.static,abstract:this.abstract,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,implements:((t=this.implements)==null?void 0:t.toJSON())||null,parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,index:this.index,private:this.private,required:this.required,abstract:this.abstract,static:this.static,dataType:((e=this.dataType)==null?void 0:e.toReference())||null,implements:((t=this.implements)==null?void 0:t.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i,a;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.dataType)==null?void 0:i.toFlatJSON(e))||[],...((a=this.implements)==null?void 0:a.toFlatJSON(e))||[]])}toGenerationTarget(){var e;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,implements:((e=this.implements)==null?void 0:e.id)||null,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.dataType)==null?void 0:i.toFlatGenerationTarget(e))||[]])}clearErrors(){var e;return this.errors=[],(e=this.dataType)==null||e.clearErrors(),this}validate(){return this.errors=$9(this),this.errors.length,{success:!0,error:null,data:null}}getErrors(){var t;return[...this.errors,...((t=this.dataType)==null?void 0:t.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e;return((e=this.dataType)==null?void 0:e.defaultValue)||null}clone(e=null,t=null,i=!0){var m;const a=t||Xt(A(this,this.project),r.Property,this.project),s=a.split("-id"),o=s[s.length-1||0]||a,u={id:a,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,private:this.private,required:this.required,abstract:this.abstract,static:this.static,dataType:null,implements:null,parent:e||this.parent},p=ha(u,this.project);i&&p.subscribe();const h=((m=this.dataType)==null?void 0:m.clone(p,o+"-data-type-id",i))||null;if(h&&p.setDataType(h),this.implements){const T=this.implements.clone(e||this.parent.type===r.CustomEntity?e:null,o+"-implements-id",i);p.implements=T}return p}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}getDataType(){return this.dataType}};l(he,"MUTABLE_BASE_PROPERTIES",["name","description","private","abstract","static","required"]),l(he,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(he,"BASE_PROPERTIES",[...he.MUTABLE_BASE_PROPERTIES,...he.INMUTABLE_BASE_PROPERTIES]),l(he,"MUTABLE_META_PROPERTIES",[...he.MUTABLE_BASE_PROPERTIES,"index"]),l(he,"INMUTABLE_META_PROPERTIES",[...he.INMUTABLE_BASE_PROPERTIES]),l(he,"META_PROPERTIES",[...he.MUTABLE_META_PROPERTIES,...he.INMUTABLE_META_PROPERTIES]),l(he,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(he,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","implements"]),l(he,"UPSTREAM_PROPERTIES",[...he.MUTABLE_UPSTREAM_PROPERTIES,...he.INMUTABLE_UPSTREAM_PROPERTIES]),l(he,"MUTABLE_DOWNSTREAM_PROPERTIES",["dataType"]),l(he,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(he,"DOWNSTREAM_PROPERTIES",[...he.MUTABLE_DOWNSTREAM_PROPERTIES,...he.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(he,"PROPERTIES",[...he.META_PROPERTIES,...he.UPSTREAM_PROPERTIES,...he.DOWNSTREAM_PROPERTIES]);let or=he;function G9(n){const e=Px(),t=n.toJSON();e.safeParse(t).success;const a=F9(n),s=U9(n),o=vt(n);n.inputs.forEach(p=>p.validate()),o.forEach(p=>p.validate());const u=[...a,...s];if(n.id==="getCompanyByIdEndpointReachedEntityEvent"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});u.push(p.error)}return X(n.errors,u)}function F9(n){const e=[];if(!n.calls.length){const t=k({id:`${n.id}--${O.ScopeWithoutLogic}`,message:`Action "${A(n,n.project)}" with id "${n.id}" does not have any logic defined. So it doesn't do anything.`,issue:null,severity:f.Error,code:O.ScopeWithoutLogic,entity:n});e.push(t.error)}return X(n.errors,e)}function U9(n){const e=[];return n.implements,X(n.errors,e)}const K=class K{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"collapsed");l(this,"private");l(this,"index",null);l(this,"type",r.FunctionDeclaration);l(this,"implements",null);l(this,"inputs",[]);l(this,"returnStatements",[]);l(this,"calls",[]);l(this,"parent");l(this,"detachedChildren",[]);l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.private=e.private,this.collapsed=e.collapsed,this.x=e.x,this.y=e.y,this.index=e.index}static fromGenerationTarget(e,t){let i=t;if(e.parent){const u=D(e.parent);i=t.get(u)}let a=null;if(e.implements){const u=D(e.implements);a=t.get(u)}const s={id:e.id,version:1,name:e.name,type:r.FunctionDeclaration,index:i.type===r.CustomEntity?i.methods.length:null,description:e.description,collapsed:!1,private:!1,returnStatements:[],calls:[],inputs:[],implements:a,x:0,y:0,parent:i},o=R(s,t);return o.setParent(i),o.initChildren(),o}static validateGenerationTarget(e,t){var m;let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.Project,r.InstalledProject,r.CustomEntity,r.Loop],optional:!0},implements:{list:!1,types:[r.ActionDescriptor],optional:!0}},t);i=s.modifiedData;const o=ed(i,t),u=i.parent?t.get(i.parent):null;if(u&&u.type===r.CustomEntity){const T=u,I=Gn(T).filter(B=>!B.interactive);if(I.length){let B=I.length>1?`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${T.id}' because it extends or implements multiple '${r.BuiltInBaseEntity}' entities that are non-interactive ("${N(I.map(G=>A(G,G.project)),'", "','" and "')}").`:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${T.id}' because it extends or implements a '${r.BuiltInBaseEntity}' entity that is non-interactive ("${A(I[0],I[0].project)}").`;B+=`
23
- ${Vn}`,a.push(new E({id:`${e.id}--${y.NonInteractiveEntityReferenced}`,code:y.NonInteractiveEntityReferenced,severity:f.Error,message:B,issue:null}))}else{const B=T.methods.find(xt=>{var Le;return((Le=xt.implements)==null?void 0:Le.id)===i.implements});B&&a.push(new E({id:`${i.id}--${v.MethodOverwrite}`,code:v.MethodOverwrite,severity:f.Error,message:`The '${r.FunctionDeclaration}' with id "${i.id}" is trying to implement the '${r.ActionDescriptor}' with id "${i.implements}", but the parent custom-entity already has a ${r.FunctionDeclaration} with id '${B.id}' that implements the same base method.
22
+ ${ro}`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent.addProperty(this),this}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.dataType){const e=R(this.initialData.dataType,this.project);e.setParent(this),e.initChildren(),this.dataType=e}if(this.initialData.implements){const e=R(this.initialData.implements,this.project);this.implements=e}return this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.abstract=e.abstract||this.abstract,this.private=e.private||this.private,this.index=e.index||this.index,this.static=e.static||this.static,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.dataType){const{affected:s,removed:o}=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return e||this.parent.type===r.CustomEntity&&(this.parent.removeProperty(this),i.push(this.parent)),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.dataType){const{affected:i}=this.dataType.restore({seenEntities:e});t.push(...i)}return this.parent.type===r.CustomEntity&&(this.parent.addProperty(this),t.push(this.parent)),{affected:t,self:this}}toFlat(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this,...((i=this.dataType)==null?void 0:i.toFlat(e))||[]])}toFlatIds(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((i=this.dataType)==null?void 0:i.toFlatIds(e))||[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,private:this.private,required:this.required,static:this.static,abstract:this.abstract,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,implements:((t=this.implements)==null?void 0:t.toJSON())||null,parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,index:this.index,private:this.private,required:this.required,abstract:this.abstract,static:this.static,dataType:((e=this.dataType)==null?void 0:e.toReference())||null,implements:((t=this.implements)==null?void 0:t.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i,a;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.dataType)==null?void 0:i.toFlatJSON(e))||[],...((a=this.implements)==null?void 0:a.toFlatJSON(e))||[]])}toGenerationTarget(){var e;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,implements:((e=this.implements)==null?void 0:e.id)||null,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.dataType)==null?void 0:i.toFlatGenerationTarget(e))||[]])}clearErrors(){var e;return this.errors=[],(e=this.dataType)==null||e.clearErrors(),this}validate(){return this.errors=L6(this),this.errors.length,{success:!0,error:null,data:null}}getErrors(){var t;return[...this.errors,...((t=this.dataType)==null?void 0:t.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e;return((e=this.dataType)==null?void 0:e.defaultValue)||null}clone(e=null,t=null,i=!0){var m;const a=t||Xt(A(this,this.project),r.Property,this.project),s=a.split("-id"),o=s[s.length-1||0]||a,u={id:a,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,private:this.private,required:this.required,abstract:this.abstract,static:this.static,dataType:null,implements:null,parent:e||this.parent},p=fa(u,this.project);i&&p.subscribe();const h=((m=this.dataType)==null?void 0:m.clone(p,o+"-data-type-id",i))||null;if(h&&p.setDataType(h),this.implements){const T=this.implements.clone(e||this.parent.type===r.CustomEntity?e:null,o+"-implements-id",i);p.implements=T}return p}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}getDataType(){return this.dataType}};l(he,"MUTABLE_BASE_PROPERTIES",["name","description","private","abstract","static","required"]),l(he,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(he,"BASE_PROPERTIES",[...he.MUTABLE_BASE_PROPERTIES,...he.INMUTABLE_BASE_PROPERTIES]),l(he,"MUTABLE_META_PROPERTIES",[...he.MUTABLE_BASE_PROPERTIES,"index"]),l(he,"INMUTABLE_META_PROPERTIES",[...he.INMUTABLE_BASE_PROPERTIES]),l(he,"META_PROPERTIES",[...he.MUTABLE_META_PROPERTIES,...he.INMUTABLE_META_PROPERTIES]),l(he,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(he,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","implements"]),l(he,"UPSTREAM_PROPERTIES",[...he.MUTABLE_UPSTREAM_PROPERTIES,...he.INMUTABLE_UPSTREAM_PROPERTIES]),l(he,"MUTABLE_DOWNSTREAM_PROPERTIES",["dataType"]),l(he,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(he,"DOWNSTREAM_PROPERTIES",[...he.MUTABLE_DOWNSTREAM_PROPERTIES,...he.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(he,"PROPERTIES",[...he.META_PROPERTIES,...he.UPSTREAM_PROPERTIES,...he.DOWNSTREAM_PROPERTIES]);let lr=he;function U6(n){const e=Ax(),t=n.toJSON();e.safeParse(t).success;const a=x6(n),s=j6(n),o=vt(n);n.inputs.forEach(p=>p.validate()),o.forEach(p=>p.validate());const u=[...a,...s];if(n.id==="getCompanyByIdEndpointReachedEntityEvent"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});u.push(p.error)}return X(n.errors,u)}function x6(n){const e=[];if(!n.calls.length){const t=k({id:`${n.id}--${O.ScopeWithoutLogic}`,message:`Action "${A(n,n.project)}" with id "${n.id}" does not have any logic defined. So it doesn't do anything.`,issue:null,severity:f.Error,code:O.ScopeWithoutLogic,entity:n});e.push(t.error)}return X(n.errors,e)}function j6(n){const e=[];return n.implements,X(n.errors,e)}const K=class K{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"collapsed");l(this,"private");l(this,"index",null);l(this,"type",r.FunctionDeclaration);l(this,"implements",null);l(this,"inputs",[]);l(this,"returnStatements",[]);l(this,"calls",[]);l(this,"parent");l(this,"detachedChildren",[]);l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.private=e.private,this.collapsed=e.collapsed,this.x=e.x,this.y=e.y,this.index=e.index}static fromGenerationTarget(e,t){let i=t;if(e.parent){const u=D(e.parent);i=t.get(u)}let a=null;if(e.implements){const u=D(e.implements);a=t.get(u)}const s={id:e.id,version:1,name:e.name,type:r.FunctionDeclaration,index:i.type===r.CustomEntity?i.methods.length:null,description:e.description,collapsed:!1,private:!1,returnStatements:[],calls:[],inputs:[],implements:a,x:0,y:0,parent:i},o=R(s,t);return o.setParent(i),o.initChildren(),o}static validateGenerationTarget(e,t){var m;let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.Project,r.InstalledProject,r.CustomEntity,r.Loop],optional:!0},implements:{list:!1,types:[r.ActionDescriptor],optional:!0}},t);i=s.modifiedData;const o=rd(i,t),u=i.parent?t.get(i.parent):null;if(u&&u.type===r.CustomEntity){const T=u,I=Fn(T).filter(B=>!B.interactive);if(I.length){let B=I.length>1?`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${T.id}' because it extends or implements multiple '${r.BuiltInBaseEntity}' entities that are non-interactive ("${N(I.map(G=>A(G,G.project)),'", "','" and "')}").`:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${T.id}' because it extends or implements a '${r.BuiltInBaseEntity}' entity that is non-interactive ("${A(I[0],I[0].project)}").`;B+=`
23
+ ${Ln}`,a.push(new E({id:`${e.id}--${y.NonInteractiveEntityReferenced}`,code:y.NonInteractiveEntityReferenced,severity:f.Error,message:B,issue:null}))}else{const B=T.methods.find(xt=>{var Le;return((Le=xt.implements)==null?void 0:Le.id)===i.implements});B&&a.push(new E({id:`${i.id}--${v.MethodOverwrite}`,code:v.MethodOverwrite,severity:f.Error,message:`The '${r.FunctionDeclaration}' with id "${i.id}" is trying to implement the '${r.ActionDescriptor}' with id "${i.implements}", but the parent custom-entity already has a ${r.FunctionDeclaration} with id '${B.id}' that implements the same base method.
24
24
  A ${r.FunctionDeclaration} that has a parent of type '${r.CustomEntity}' is considered a method of that entity, and cannot implement the same '${r.ActionDescriptor}' more than once.
25
25
  ${r.ActionDescriptor} entities inside a ${r.CustomEntity} are considered abstract methods that can be implemented by ${r.FunctionDeclaration} entities inside the same parent.
26
26
  If you want to modify the existing implementation, you can update the existing method instead, but it will have to match the same base ${r.ActionDescriptor} signature, otherwise the implementation will have a validation error.`,issue:null}));const G=i.implements;T.abstractMethods.find(xt=>xt.id===G)||a.push(new E({id:`${i.id}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`The '${r.FunctionDeclaration}' with id "${i.id}" is trying to implement the '${r.ActionDescriptor}' with id "${i.implements}", but the parent custom-entity with id "${T.id}" does not have a action descriptor (abstract method) with that id.
27
27
  A ${r.FunctionDeclaration} that has a parent of type '${r.CustomEntity}' is considered a method of that entity, and if it implements a action-descriptor, it needs to be one of the parent's action descriptors.
28
28
  If you want to implement a new method, you can create a new 'function-declaration' inside the parent custom-entity. But note that often custom-entities already come the boiler plate for all the methods they need from the base entity they implement, which are often auto-generated when the parent custom-entity is first created.
29
- If you want to modify the existing implementation, you can update the existing method instead, but it will have to match the same base ${r.ActionDescriptor} signature, otherwise the implementation will have a validation error.`,issue:null}))}}else if(u&&u.type===r.Loop){const T=u.body;T&&((m=T.implements)==null?void 0:m.id)===i.implements&&a.push(new E({id:`${i.id}--${v.MethodOverwrite}`,code:v.MethodOverwrite,severity:f.Error,message:`The '${r.FunctionDeclaration}' with id "${i.id}" is being added as the 'body' of the ${r.Loop} with id "${u.id}", but the loop already has a function-declaration body. A loop can only have one function-declaration body at a time. You can edit the existing body instead, but it will have to match the same base signature, otherwise the implementation will have a validation error.`,issue:null}))}const p=i.parent&&t.get(i.parent)||t.getBuiltIn(i.parent),h=p?gr(p):null;return h&&a.push(new E({id:`${e.id}--${y.BuiltInEntityParent}`,code:y.BuiltInEntityParent,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', belongs to a built-in system entity "${A(h,t)}" with id '${h.id}', and therefore it cannot be created as it would affect a built in entity, which are inmutable.`,issue:null})),a.push(...s.errors,...o,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&(this.parent.type===r.Project?t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
29
+ If you want to modify the existing implementation, you can update the existing method instead, but it will have to match the same base ${r.ActionDescriptor} signature, otherwise the implementation will have a validation error.`,issue:null}))}}else if(u&&u.type===r.Loop){const T=u.body;T&&((m=T.implements)==null?void 0:m.id)===i.implements&&a.push(new E({id:`${i.id}--${v.MethodOverwrite}`,code:v.MethodOverwrite,severity:f.Error,message:`The '${r.FunctionDeclaration}' with id "${i.id}" is being added as the 'body' of the ${r.Loop} with id "${u.id}", but the loop already has a function-declaration body. A loop can only have one function-declaration body at a time. You can edit the existing body instead, but it will have to match the same base signature, otherwise the implementation will have a validation error.`,issue:null}))}const p=i.parent&&t.get(i.parent)||t.getBuiltIn(i.parent),h=p?Ir(p):null;return h&&a.push(new E({id:`${e.id}--${y.BuiltInEntityParent}`,code:y.BuiltInEntityParent,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', belongs to a built-in system entity "${A(h,t)}" with id '${h.id}', and therefore it cannot be created as it would affect a built in entity, which are inmutable.`,issue:null})),a.push(...s.errors,...o,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&(this.parent.type===r.Project?t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
30
30
  This is likely an incorrect strategy because this is a globally declared '${this.type}' entity which can only have the root project as its parent.`,issue:null})):t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
31
31
  This is likely an incorrect strategy because this function declaration is a method, since it belongs to a '${this.parent.type}' entity, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.
32
- Please consider that any updates might affect the overlap with the signature of the parent entity's action descriptors.`,issue:null}))),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent===this.project?this.project.addFunctionDeclaration(this):this.parent.type===r.CustomEntity?this.parent.addMethod(this):this.parent.type===r.Loop&&this.parent.setBody(this),this}replaceDetachedChild(e,t){const i=this.detachedChildren.indexOf(e);return i!==-1&&(this.detachedChildren[i]=t),this}subscribeDetachedChild(e){return this.detachedChildren.includes(e)||this.detachedChildren.push(e),this}addInputDeclaration(e){return this.inputs.includes(e)||this.inputs.push(e),this}removeInputDeclaration(e){const t=this.inputs.indexOf(e);return t!==-1&&this.inputs.splice(t,1),this}setParent(e){return this.parent=e,this}addCall(e){return this.calls.includes(e)||this.calls.push(e),this}removeCall(e){const t=this.calls.indexOf(e);return t!==-1&&this.calls.splice(t,1),this}initChildren(){return this.initialized?this:(this.initialized=!0,this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.calls=this.initialData.calls.map(e=>{const t=R(e,this.project);return t.addEntryCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this),t.initChildren()),t}),this.returnStatements=this.initialData.returnStatements.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.implements&&(this.implements=R(this.initialData.implements,this.project)),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.private=e.private||this.private,this.index=e.index||this.index,this.collapsed=e.collapsed!==void 0?e.collapsed:this.collapsed,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),vt(this).forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputs.forEach(a=>{const{affected:s}=a.restore({seenEntities:e});t.push(...s)}),vt(this).forEach(a=>{const{affected:s}=a.restore({seenEntities:e});t.push(...s)}),{affected:S(t),self:this})}toFlat(e=new Set){if(e.has(this.id))return[];e.add(this.id);const t=vt(this);return[this,...this.inputs.flatMap(a=>a.toFlat(e)),...this.calls.flatMap(a=>a.toFlat(e)),...this.returnStatements.flatMap(a=>a.toFlat(e)),...this.implements?this.implements.toFlat(e):[],...t.flatMap(a=>a.toFlat(e))]}toFlatIds(e=new Set){if(e.has(this.id))return[];e.add(this.id);const t=vt(this);return[this.id,...this.inputs.flatMap(a=>a.toFlatIds(e)),...this.calls.flatMap(a=>a.toFlatIds(e)),...this.returnStatements.flatMap(a=>a.toFlatIds(e)),...this.implements?this.implements.toFlatIds(e):[],...t.flatMap(a=>a.toFlatIds(e))]}toJSON(){var e;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,x:this.x,y:this.y,collapsed:this.collapsed,private:this.private,parent:this.parent.toReference(),calls:this.calls.map(t=>t.toJSON()),inputs:this.inputs.map(t=>t.toJSON()),implements:((e=this.implements)==null?void 0:e.toJSON())||null,returnStatements:this.returnStatements.map(t=>t.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,collapsed:this.collapsed,private:this.private,x:this.x,y:this.y,inputs:this.inputs.map(t=>t.toReference()),calls:this.calls.map(t=>t.toReference()),returnStatements:this.returnStatements.map(t=>t.toReference()),implements:((e=this.implements)==null?void 0:e.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.calls.flatMap(i=>i.toFlatJSON(e)),...this.returnStatements.flatMap(i=>i.toFlatJSON(e)),...this.implements?this.implements.toFlatJSON(e):[]])}toGenerationTarget(){var t;const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,name:this.name,description:this.description,type:this.type,private:this.private,implements:((t=this.implements)==null?void 0:t.id)||null,parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.calls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.returnStatements.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.inputs.forEach(e=>e.clearErrors()),this.calls.forEach(e=>e.clearErrors()),this.returnStatements.forEach(e=>e.clearErrors()),this}validate(){const e=G9(this);return this.errors=[...e],{success:!0,error:null,data:this.toJSON()}}getErrors(){const e=vt(this);return[...this.errors,...this.inputs.flatMap(i=>i.getErrors()),...e.flatMap(i=>i.getErrors())]}getShallowErrors(){return this.errors}clone(e){return new K(this.toJSON(),this.project)}getVariableInstances(){return z(this).filter(i=>i.type===r.VariableInstance)}getArgument(e){return this.inputs.find(t=>t.id===e)||null}createCall(e=this.project,t={}){const i={id:t.id||$.UUID.uuid(),version:t.version||1,type:r.FunctionCall,parent:e.toReference(),successCalls:t.successCalls||[],errorCalls:t.errorCalls||[],inputs:t.inputs||[],outputs:t.outputs||[],error:t.error||null,process:t.process||null,calledBySuccess:t.calledBySuccess||[],calledByError:t.calledByError||[],calledByEntry:t.calledByEntry||[],declaration:this.toJSON(),x:0,y:0},a=R(i,this.project);return a.setParent(e),a.initChildren(),e===this.project&&this.project.addFunctionCall(a),a}addReturnStatement(e){return this.returnStatements.includes(e)||this.returnStatements.push(e),this}removeReturnStatement(e){const t=this.returnStatements.indexOf(e);return t!==-1&&this.returnStatements.splice(t,1),this}};l(K,"MUTABLE_BASE_PROPERTIES",["name","description","private"]),l(K,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(K,"BASE_PROPERTIES",[...K.MUTABLE_BASE_PROPERTIES,...K.INMUTABLE_BASE_PROPERTIES]),l(K,"MUTABLE_META_PROPERTIES",[...K.MUTABLE_BASE_PROPERTIES,"x","y","index","collapsed"]),l(K,"INMUTABLE_META_PROPERTIES",[...K.INMUTABLE_BASE_PROPERTIES]),l(K,"META_PROPERTIES",[...K.MUTABLE_META_PROPERTIES,...K.INMUTABLE_META_PROPERTIES]),l(K,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(K,"INMUATABLE_UPSTREAM_PROPERTIES",["parent","implements"]),l(K,"UPSTREAM_PROPERTIES",[...K.MUTABLE_UPSTREAM_PROPERTIES,...K.INMUATABLE_UPSTREAM_PROPERTIES]),l(K,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","calls","returnStatements"]),l(K,"INMUATABLE_DOWNSTREAM_PROPERTIES",[]),l(K,"DOWNSTREAM_PROPERTIES",[...K.MUTABLE_DOWNSTREAM_PROPERTIES,...K.INMUATABLE_DOWNSTREAM_PROPERTIES]),l(K,"PROPERTIES",[...K.META_PROPERTIES,...K.UPSTREAM_PROPERTIES,...K.DOWNSTREAM_PROPERTIES]);let lr=K;function x9(n){const e=CU(),t=n.toJSON();e.safeParse(t).success;const a=[];if(n.entity&&n.andChildrenGroup||n.entity&&n.orChildrenGroup||n.andChildrenGroup&&n.orChildrenGroup){const s=k({id:n.id+"--"+O.InvalidPropertiesCombination,message:`Data type with id "${n.id}" has invalid properties combination. Only one of the following properties can be present at the time: 'entity', 'andChildrenGroup' or 'orChildrenGroup'`,issue:null,severity:f.Error,code:O.InvalidPropertiesCombination,entity:n});a.push(s.error)}return X(n.errors,a)}function j9(n,e){const t=[],i=[r.CustomEntity,r.ActionDescriptor,r.Property,r.ArgumentDeclaration,r.ReturnDeclaration,r.VariableDeclaration,r.ValueDescriptor,r.DataType],a=`'${N(i,"', '","' or '")}'`;if(n.parent)if(n.id===n.parent)t.push(new E({id:`${n.id}--${n.parent}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at 'parent'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}));else{const s=e.get(n.parent);s?i.includes(s.type)||t.push(new E({id:`${n.id}--${n.parent}--${y.InvalidParentReference}`,code:y.InvalidParentReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a parent reference that isn't pointing to an entity of type ${a}.`,issue:null})):t.push(new E({id:`${n.id}--${n.parent}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}else t.push(new E({id:`${n.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}" is missing a 'parent' reference. The 'parent' of a 'data-type' entity must be a reference to an entity of type ${a}.`,issue:null}));if(n.entity){if(n.id===n.entity)return t.push(new E({id:`${n.id}--${n.entity}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at 'entity'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null})),t;const s=e.get(n.entity);s?[r.CustomEntity,r.PrimitiveEntity,r.ActionDescriptor,r.BuiltInBaseEntity].includes(s.type)||t.push(new E({id:`${n.id}--${n.entity}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'entity' reference that isn't pointing to an entity of type 'custom-entity', 'primitive-entity', 'action-descriptor' or 'built-in-base-entity'.`,issue:null})):t.push(new E({id:`${n.id}--${n.entity}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.entity}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}return t}const fe=class fe{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"isNullable");l(this,"isList");l(this,"constant");l(this,"asType");l(this,"type",r.DataType);l(this,"options");l(this,"parentRelationType");l(this,"defaultValue",null);l(this,"entity",null);l(this,"andChildrenGroup");l(this,"orChildrenGroup");l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"inferred",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.isNullable=e.isNullable,this.isList=e.isList,this.constant=e.constant,this.asType=e.asType,this.options=e.options,this.parentRelationType=e.parentRelationType}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;e.entity&&(s=t.get(e.entity));const o={id:e.id,version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,parentRelationType:e.parentRelationType,isList:e.isList,isNullable:e.isNullable,constant:e.constant,defaultValue:null,entity:s,asType:e.asType,parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){var p;let i=JSON.parse(JSON.stringify(e));const a=[],s=j9(i,t);if(a.push(...s,...Pe(i)),i.entity){const h=t.get(i.entity);if(h.type===r.CustomEntity){const T=Gn(h).filter(b=>!b.interactive);if(T.length){const b=T.length>1?`entities with ids '${N(T.map(I=>I.id),"', '","' and '")}'`:`entity with id '${T[0].id}'`;a.push(new E({id:`${e.id}--${y.NonInteractiveEntityReferenced}`,code:y.NonInteractiveEntityReferenced,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', cannot reference 'custom-entity' with id '${i.entity}' at 'entity'. The entity extends or implements non-interactive built-in-base-entity ${b}.
33
- ${Vn}`,issue:null}))}}}const o=i.parent&&t.get(i.parent)||t.getBuiltIn(i.parent),u=o?gr(o):null;if(u)a.push(new E({id:`${e.id}--${y.BuiltInEntityParent}`,code:y.BuiltInEntityParent,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', belongs to a built-in system entity "${A(u,t)}" with id '${u.id}', and therefore it cannot be created as it would affect a built in entity, which are inmutable.`,issue:null}));else if(o){const h=o.type,m=[r.Property,r.VariableDeclaration,r.ArgumentDeclaration,r.ReturnDeclaration,r.ValueDescriptor];if(m.includes(h)&&(i.parentRelationType&&a.push(new E({id:`${e.id}--${y.InvalidParentRelationType}`,code:y.InvalidParentRelationType,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', cannot have a 'parentRelationType' property set of type '${h}'.
32
+ Please consider that any updates might affect the overlap with the signature of the parent entity's action descriptors.`,issue:null}))),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent===this.project?this.project.addFunctionDeclaration(this):this.parent.type===r.CustomEntity?this.parent.addMethod(this):this.parent.type===r.Loop&&this.parent.setBody(this),this}replaceDetachedChild(e,t){const i=this.detachedChildren.indexOf(e);return i!==-1&&(this.detachedChildren[i]=t),this}subscribeDetachedChild(e){return this.detachedChildren.includes(e)||this.detachedChildren.push(e),this}addInputDeclaration(e){return this.inputs.includes(e)||this.inputs.push(e),this}removeInputDeclaration(e){const t=this.inputs.indexOf(e);return t!==-1&&this.inputs.splice(t,1),this}setParent(e){return this.parent=e,this}addCall(e){return this.calls.includes(e)||this.calls.push(e),this}removeCall(e){const t=this.calls.indexOf(e);return t!==-1&&this.calls.splice(t,1),this}initChildren(){return this.initialized?this:(this.initialized=!0,this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.calls=this.initialData.calls.map(e=>{const t=R(e,this.project);return t.addEntryCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this),t.initChildren()),t}),this.returnStatements=this.initialData.returnStatements.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.implements&&(this.implements=R(this.initialData.implements,this.project)),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.private=e.private||this.private,this.index=e.index||this.index,this.collapsed=e.collapsed!==void 0?e.collapsed:this.collapsed,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),vt(this).forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputs.forEach(a=>{const{affected:s}=a.restore({seenEntities:e});t.push(...s)}),vt(this).forEach(a=>{const{affected:s}=a.restore({seenEntities:e});t.push(...s)}),{affected:S(t),self:this})}toFlat(e=new Set){if(e.has(this.id))return[];e.add(this.id);const t=vt(this);return[this,...this.inputs.flatMap(a=>a.toFlat(e)),...this.calls.flatMap(a=>a.toFlat(e)),...this.returnStatements.flatMap(a=>a.toFlat(e)),...this.implements?this.implements.toFlat(e):[],...t.flatMap(a=>a.toFlat(e))]}toFlatIds(e=new Set){if(e.has(this.id))return[];e.add(this.id);const t=vt(this);return[this.id,...this.inputs.flatMap(a=>a.toFlatIds(e)),...this.calls.flatMap(a=>a.toFlatIds(e)),...this.returnStatements.flatMap(a=>a.toFlatIds(e)),...this.implements?this.implements.toFlatIds(e):[],...t.flatMap(a=>a.toFlatIds(e))]}toJSON(){var e;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,x:this.x,y:this.y,collapsed:this.collapsed,private:this.private,parent:this.parent.toReference(),calls:this.calls.map(t=>t.toJSON()),inputs:this.inputs.map(t=>t.toJSON()),implements:((e=this.implements)==null?void 0:e.toJSON())||null,returnStatements:this.returnStatements.map(t=>t.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,collapsed:this.collapsed,private:this.private,x:this.x,y:this.y,inputs:this.inputs.map(t=>t.toReference()),calls:this.calls.map(t=>t.toReference()),returnStatements:this.returnStatements.map(t=>t.toReference()),implements:((e=this.implements)==null?void 0:e.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.calls.flatMap(i=>i.toFlatJSON(e)),...this.returnStatements.flatMap(i=>i.toFlatJSON(e)),...this.implements?this.implements.toFlatJSON(e):[]])}toGenerationTarget(){var t;const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,name:this.name,description:this.description,type:this.type,private:this.private,implements:((t=this.implements)==null?void 0:t.id)||null,parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.calls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.returnStatements.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.inputs.forEach(e=>e.clearErrors()),this.calls.forEach(e=>e.clearErrors()),this.returnStatements.forEach(e=>e.clearErrors()),this}validate(){const e=U6(this);return this.errors=[...e],{success:!0,error:null,data:this.toJSON()}}getErrors(){const e=vt(this);return[...this.errors,...this.inputs.flatMap(i=>i.getErrors()),...e.flatMap(i=>i.getErrors())]}getShallowErrors(){return this.errors}clone(e){return new K(this.toJSON(),this.project)}getVariableInstances(){return Z(this).filter(i=>i.type===r.VariableInstance)}getArgument(e){return this.inputs.find(t=>t.id===e)||null}createCall(e=this.project,t={}){const i={id:t.id||$.UUID.uuid(),version:t.version||1,type:r.FunctionCall,parent:e.toReference(),successCalls:t.successCalls||[],errorCalls:t.errorCalls||[],inputs:t.inputs||[],outputs:t.outputs||[],error:t.error||null,process:t.process||null,calledBySuccess:t.calledBySuccess||[],calledByError:t.calledByError||[],calledByEntry:t.calledByEntry||[],declaration:this.toJSON(),x:0,y:0},a=R(i,this.project);return a.setParent(e),a.initChildren(),e===this.project&&this.project.addFunctionCall(a),a}addReturnStatement(e){return this.returnStatements.includes(e)||this.returnStatements.push(e),this}removeReturnStatement(e){const t=this.returnStatements.indexOf(e);return t!==-1&&this.returnStatements.splice(t,1),this}};l(K,"MUTABLE_BASE_PROPERTIES",["name","description","private"]),l(K,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(K,"BASE_PROPERTIES",[...K.MUTABLE_BASE_PROPERTIES,...K.INMUTABLE_BASE_PROPERTIES]),l(K,"MUTABLE_META_PROPERTIES",[...K.MUTABLE_BASE_PROPERTIES,"x","y","index","collapsed"]),l(K,"INMUTABLE_META_PROPERTIES",[...K.INMUTABLE_BASE_PROPERTIES]),l(K,"META_PROPERTIES",[...K.MUTABLE_META_PROPERTIES,...K.INMUTABLE_META_PROPERTIES]),l(K,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(K,"INMUATABLE_UPSTREAM_PROPERTIES",["parent","implements"]),l(K,"UPSTREAM_PROPERTIES",[...K.MUTABLE_UPSTREAM_PROPERTIES,...K.INMUATABLE_UPSTREAM_PROPERTIES]),l(K,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","calls","returnStatements"]),l(K,"INMUATABLE_DOWNSTREAM_PROPERTIES",[]),l(K,"DOWNSTREAM_PROPERTIES",[...K.MUTABLE_DOWNSTREAM_PROPERTIES,...K.INMUATABLE_DOWNSTREAM_PROPERTIES]),l(K,"PROPERTIES",[...K.META_PROPERTIES,...K.UPSTREAM_PROPERTIES,...K.DOWNSTREAM_PROPERTIES]);let cr=K;function k6(n){const e=wU(),t=n.toJSON();e.safeParse(t).success;const a=[];if(n.entity&&n.andChildrenGroup||n.entity&&n.orChildrenGroup||n.andChildrenGroup&&n.orChildrenGroup){const s=k({id:n.id+"--"+O.InvalidPropertiesCombination,message:`Data type with id "${n.id}" has invalid properties combination. Only one of the following properties can be present at the time: 'entity', 'andChildrenGroup' or 'orChildrenGroup'`,issue:null,severity:f.Error,code:O.InvalidPropertiesCombination,entity:n});a.push(s.error)}return X(n.errors,a)}function q6(n,e){const t=[],i=[r.CustomEntity,r.ActionDescriptor,r.Property,r.ArgumentDeclaration,r.ReturnDeclaration,r.VariableDeclaration,r.ValueDescriptor,r.DataType],a=`'${N(i,"', '","' or '")}'`;if(n.parent)if(n.id===n.parent)t.push(new E({id:`${n.id}--${n.parent}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at 'parent'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}));else{const s=e.get(n.parent);s?i.includes(s.type)||t.push(new E({id:`${n.id}--${n.parent}--${y.InvalidParentReference}`,code:y.InvalidParentReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a parent reference that isn't pointing to an entity of type ${a}.`,issue:null})):t.push(new E({id:`${n.id}--${n.parent}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}else t.push(new E({id:`${n.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}" is missing a 'parent' reference. The 'parent' of a 'data-type' entity must be a reference to an entity of type ${a}.`,issue:null}));if(n.entity){if(n.id===n.entity)return t.push(new E({id:`${n.id}--${n.entity}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at 'entity'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null})),t;const s=e.get(n.entity);s?[r.CustomEntity,r.PrimitiveEntity,r.ActionDescriptor,r.BuiltInBaseEntity].includes(s.type)||t.push(new E({id:`${n.id}--${n.entity}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'entity' reference that isn't pointing to an entity of type 'custom-entity', 'primitive-entity', 'action-descriptor' or 'built-in-base-entity'.`,issue:null})):t.push(new E({id:`${n.id}--${n.entity}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.entity}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}return t}const fe=class fe{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"isNullable");l(this,"isList");l(this,"constant");l(this,"asType");l(this,"type",r.DataType);l(this,"options");l(this,"parentRelationType");l(this,"defaultValue",null);l(this,"entity",null);l(this,"andChildrenGroup");l(this,"orChildrenGroup");l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"inferred",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.isNullable=e.isNullable,this.isList=e.isList,this.constant=e.constant,this.asType=e.asType,this.options=e.options,this.parentRelationType=e.parentRelationType}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;e.entity&&(s=t.get(e.entity));const o={id:e.id,version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,parentRelationType:e.parentRelationType,isList:e.isList,isNullable:e.isNullable,constant:e.constant,defaultValue:null,entity:s,asType:e.asType,parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){var p;let i=JSON.parse(JSON.stringify(e));const a=[],s=q6(i,t);if(a.push(...s,...Pe(i)),i.entity){const h=t.get(i.entity);if(h.type===r.CustomEntity){const T=Fn(h).filter(b=>!b.interactive);if(T.length){const b=T.length>1?`entities with ids '${N(T.map(I=>I.id),"', '","' and '")}'`:`entity with id '${T[0].id}'`;a.push(new E({id:`${e.id}--${y.NonInteractiveEntityReferenced}`,code:y.NonInteractiveEntityReferenced,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', cannot reference 'custom-entity' with id '${i.entity}' at 'entity'. The entity extends or implements non-interactive built-in-base-entity ${b}.
33
+ ${Ln}`,issue:null}))}}}const o=i.parent&&t.get(i.parent)||t.getBuiltIn(i.parent),u=o?Ir(o):null;if(u)a.push(new E({id:`${e.id}--${y.BuiltInEntityParent}`,code:y.BuiltInEntityParent,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', belongs to a built-in system entity "${A(u,t)}" with id '${u.id}', and therefore it cannot be created as it would affect a built in entity, which are inmutable.`,issue:null}));else if(o){const h=o.type,m=[r.Property,r.VariableDeclaration,r.ArgumentDeclaration,r.ReturnDeclaration,r.ValueDescriptor];if(m.includes(h)&&(i.parentRelationType&&a.push(new E({id:`${e.id}--${y.InvalidParentRelationType}`,code:y.InvalidParentRelationType,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', cannot have a 'parentRelationType' property set of type '${h}'.
34
34
  The entitities of type '${N(m,"', '","' and '")}' can only have one 'data-type' child under the 'dataType' property so no 'parentRelationType' is needed.`,issue:null})),o.dataType)){const T=(p=o.dataType)==null?void 0:p.id;a.push(new E({id:`${e.id}--${y.NewEntityWouldOverriteExisting}`,code:y.NewEntityWouldOverriteExisting,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', cannot be added as a child to the entity with id '${i.parent}' and type '${h}', because it already has a 'data-type' child with id '${T}'.
35
35
  The entitities of type '${N(m,"', '","' and '")}' can only have one 'data-type' child under the 'dataType' property. You can inspect the existing data-type entity with the 'describe_entity' action. Like so:
36
36
  ${Qt({describe_entity:T})}
37
- Alternatively you can update the entity with 'update' action. Or replace it by first removing it and then creating a new one.`,issue:null}))}h===r.ActionDescriptor&&(!i.parentRelationType||!(i.parentRelationType===qe.DynamicArgumentTypes||i.parentRelationType===qe.DynamicReturnTypes))&&a.push(new E({id:`${e.id}--${y.InvalidParentRelationType}`,code:y.InvalidParentRelationType,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', must have a 'parentRelationType' property set to either 'dynamic-argument-types' or 'dynamic-return-types' when being added as a child to an entity of type 'action-descriptor'.`,issue:null})),h===r.DataType&&(!i.parentRelationType||!(i.parentRelationType===qe.AndDataTypeGroup||i.parentRelationType===qe.OrDataTypeGroup))&&a.push(new E({id:`${e.id}--${y.InvalidParentRelationType}`,code:y.InvalidParentRelationType,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', must have a 'parentRelationType' property set to either 'or-data-type-group' or 'and-data-type-group' when being added as a child to an entity of type 'data-type'.`,issue:null}))}return{errors:a,modifiedData:i}}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){return this.parent.type===r.DataType?this.parentRelationType===qe.AndDataTypeGroup?this.parent.addToAndGroup(this):this.parentRelationType===qe.OrDataTypeGroup&&this.parent.addToOrGroup(this):this.parent.type===r.ActionDescriptor?this.parentRelationType===qe.DynamicArgumentTypes?this.parent.setDynamicArgumentTypes(this):this.parentRelationType===qe.DynamicReturnTypes&&this.parent.setDynamicReturnTypes(this):this.parent.setDataType(this),this}setParent(e){return this.parent=e,this}removeChildGroup(e){if(this.andChildrenGroup){const t=this.andChildrenGroup.findIndex(i=>i.id===e.id);t!==-1&&this.andChildrenGroup.splice(t,1)}if(this.orChildrenGroup){const t=this.orChildrenGroup.findIndex(i=>i.id===e.id);t!==-1&&this.orChildrenGroup.splice(t,1)}return this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.defaultValue&&(this.defaultValue=R(this.initialData.defaultValue,this.project),this.defaultValue.setParent(this),this.defaultValue.initChildren()),this.initialData.entity)if(this.initialData.entity.type===r.GenericReference){const e=this.project.findSubscribedInstanceFromReference(this.initialData.entity);this.entity=e}else this.entity=R(this.initialData.entity,this.project);return this.initialData.andChildrenGroup&&(this.andChildrenGroup=this.initialData.andChildrenGroup.map(e=>R(e,this.project))),this.initialData.orChildrenGroup&&(this.orChildrenGroup=this.initialData.orChildrenGroup.map(e=>R(e,this.project))),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.isNullable=e.isNullable||this.isNullable,this.isList=e.isList||this.isList,this.constant=e.constant||this.constant,this.asType=e.asType||this.asType,this.options=e.options||this.options,this.parentRelationType=e.parentRelationType||this.parentRelationType,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.defaultValue){const{affected:s,removed:o}=this.defaultValue.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}if(this.entity&&this.entity.type===r.CustomEntity&&this.entity.parent===this){const{affected:s,removed:o}=this.entity.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}if(!e){this.parent.type===r.DataType&&this.parent.removeChildGroup(this);const s=this.parent;if(s.type===r.DataType){if(this.parentRelationType===qe.AndDataTypeGroup){if(Array.isArray(s.andChildrenGroup)){const o=s.andChildrenGroup.findIndex(u=>u.id===this.id);o!==-1&&s.andChildrenGroup.splice(o,1)}}else if(this.parentRelationType===qe.OrDataTypeGroup&&Array.isArray(s.orChildrenGroup)){const o=s.orChildrenGroup.findIndex(u=>u.id===this.id);o!==-1&&s.orChildrenGroup.splice(o,1)}}else if(s.type===r.ActionDescriptor){const o=this.parent;this.parentRelationType===qe.DynamicArgumentTypes?o.removeDynamicArgumentTypes():this.parentRelationType===qe.DynamicReturnTypes&&o.removeDynamicReturnTypes()}else this.parent.removeDataType();i.push(s)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.defaultValue){const{affected:i}=this.defaultValue.restore({seenEntities:e});t.push(...i)}if(this.entity&&this.entity.type===r.CustomEntity&&this.entity.parent===this){const{affected:i}=this.entity.restore({seenEntities:e});t.push(...i)}if(this.parent.type===r.DataType){const i=this.parent;Array.isArray(i.andChildrenGroup)&&i.andChildrenGroup.push(this)}if(this.parent.type===r.DataType){const i=this.parent;this.parentRelationType===qe.AndDataTypeGroup?Array.isArray(i.andChildrenGroup)&&i.andChildrenGroup.push(this):this.parentRelationType===qe.OrDataTypeGroup&&Array.isArray(i.orChildrenGroup)&&i.orChildrenGroup.push(this)}else if(this.parent.type===r.ActionDescriptor){const i=this.parent;this.parentRelationType===qe.DynamicArgumentTypes?i.setDynamicArgumentTypes(this):this.parentRelationType===qe.DynamicReturnTypes&&i.setDynamicReturnTypes(this)}else{const i=this.parent;i.setDataType(this),t.push(i)}return{affected:t,self:this}}toFlat(e=new Set){var i,a,s;return e.has(this.id)?[]:(e.add(this.id),[this,...((i=this.andChildrenGroup)==null?void 0:i.flatMap(o=>o.toFlat(e)))||[],...((a=this.orChildrenGroup)==null?void 0:a.flatMap(o=>o.toFlat(e)))||[],...((s=this.entity)==null?void 0:s.toFlat(e))||[]])}toFlatIds(e=new Set){var i,a,s;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((i=this.andChildrenGroup)==null?void 0:i.flatMap(o=>o.toFlatIds(e)))||[],...((a=this.orChildrenGroup)==null?void 0:a.flatMap(o=>o.toFlatIds(e)))||[],...((s=this.entity)==null?void 0:s.toFlatIds(e))||[]])}toJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,isNullable:this.isNullable,options:this.options,isList:this.isList,constant:this.constant,asType:this.asType,defaultValue:((e=this.defaultValue)==null?void 0:e.toJSON())||null,parentRelationType:this.parentRelationType,andChildrenGroup:((t=this.andChildrenGroup)==null?void 0:t.map(s=>s.toJSON()))||null,orChildrenGroup:((i=this.orChildrenGroup)==null?void 0:i.map(s=>s.toJSON()))||null,entity:((a=this.entity)==null?void 0:a.toReference())||null,parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,isList:this.isList,isNullable:this.isNullable,options:this.options,constant:this.constant,asType:this.asType,parentRelationType:this.parentRelationType,defaultValue:((e=this.defaultValue)==null?void 0:e.toReference())||null,andChildrenGroup:((t=this.andChildrenGroup)==null?void 0:t.map(s=>s.toReference()))||null,orChildrenGroup:((i=this.orChildrenGroup)==null?void 0:i.map(s=>s.toReference()))||null,entity:((a=this.entity)==null?void 0:a.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i,a,s,o;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.defaultValue)==null?void 0:i.toFlatJSON(e))||[],...((a=this.andChildrenGroup)==null?void 0:a.flatMap(u=>u.toFlatJSON(e)))||[],...((s=this.orChildrenGroup)==null?void 0:s.flatMap(u=>u.toFlatJSON(e)))||[],...((o=this.entity)==null?void 0:o.toFlatJSON(e))||[]])}toGenerationTarget(){var e;return{id:this.id,type:this.type,isNullable:this.isNullable,options:this.options,isList:this.isList,constant:this.constant,parentRelationType:this.parentRelationType,asType:this.asType,entity:((e=this.entity)==null?void 0:e.id)||null,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){var i,a,s;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.defaultValue)==null?void 0:i.toFlatGenerationTarget(e))||[],...((a=this.andChildrenGroup)==null?void 0:a.flatMap(o=>o.toFlatGenerationTarget(e)))||[],...((s=this.orChildrenGroup)==null?void 0:s.flatMap(o=>o.toFlatGenerationTarget(e)))||[],...this.entity&&this.entity.type==r.CustomEntity&&this.entity.parent===this&&this.entity.toFlatGenerationTarget(e)||[]])}clearErrors(){var e,t,i,a;return this.errors=[],(e=this.defaultValue)==null||e.clearErrors(),(t=this.andChildrenGroup)==null||t.forEach(s=>s.clearErrors()),(i=this.orChildrenGroup)==null||i.forEach(s=>s.clearErrors()),this.inferred&&((a=this.entity)==null||a.clearErrors()),this}validate(){const e=x9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors]}getShallowErrors(){return this.errors}clone(e=null,t=null,i=!0){var b,I,B;const a=this.toJSON(),s=t||Xt(Hv(this),r.DataType,this.project),o=s.split("-id"),u=o[o.length-1||0]||s;a.id=s;const p=ha(a,this.project);e&&p.setParent(e),i&&p.subscribe(),p.initChildren();const h=(b=this.defaultValue)==null?void 0:b.clone(p,u+"-default-value-id",i);p.defaultValue=h||null;const m=(I=this.andChildrenGroup)==null?void 0:I.map((G,W)=>G.clone(this,u+"-and-group-data-type-"+W+"-id",i)),T=(B=this.orChildrenGroup)==null?void 0:B.map((G,W)=>G.clone(this,u+"-or-group-data-type-"+W+"-id",i));return p.andChildrenGroup=m||null,p.orChildrenGroup=T||null,p}addToAndGroup(e){return this.andChildrenGroup||(this.andChildrenGroup=[]),this.andChildrenGroup.includes(e)||this.andChildrenGroup.push(e),this}addToOrGroup(e){return this.orChildrenGroup||(this.orChildrenGroup=[]),this.orChildrenGroup.includes(e)||this.orChildrenGroup.push(e),this}getDefaultValue(){return this.defaultValue}setDefaultValue(e){return this.defaultValue=e,this}setEntity(e){return this.entity=e,this}};l(fe,"MUTABLE_BASE_PROPERTIES",["isNullable","isList","constant","asType","options","parentRelationType"]),l(fe,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(fe,"BASE_PROPERTIES",[...fe.MUTABLE_BASE_PROPERTIES,...fe.INMUTABLE_BASE_PROPERTIES]),l(fe,"MUTABLE_META_PROPERTIES",[...fe.MUTABLE_BASE_PROPERTIES,"inferred"]),l(fe,"INMUTABLE_META_PROPERTIES",[...fe.INMUTABLE_BASE_PROPERTIES]),l(fe,"META_PROPERTIES",[...fe.MUTABLE_META_PROPERTIES,...fe.INMUTABLE_META_PROPERTIES]),l(fe,"MUTABLE_UPSTREAM_PROPERTIES",["entity","andChildrenGroup","orChildrenGroup","parent"]),l(fe,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(fe,"UPSTREAM_PROPERTIES",[...fe.MUTABLE_UPSTREAM_PROPERTIES,...fe.INMUTABLE_UPSTREAM_PROPERTIES]),l(fe,"MUTABLE_DOWNSTREAM_PROPERTIES",["defaultValue"]),l(fe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(fe,"DOWNSTREAM_PROPERTIES",[...fe.MUTABLE_DOWNSTREAM_PROPERTIES,...fe.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(fe,"PROPERTIES",[...fe.META_PROPERTIES,...fe.UPSTREAM_PROPERTIES,...fe.DOWNSTREAM_PROPERTIES]);let ai=fe;function k9(n){var u;const e=dU(),t=n.toJSON();e.safeParse(t).success;const a=q9(n),s=mn(n),o=[...a,...s];if(n.id==="exec-sequentially-operation-call-id"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});o.push(p.error)}return n.outputs.forEach(p=>p.validate()),(u=n.error)==null||u.validate(),X(n.errors,o)}function q9(n){const e=[];return n.inputs.forEach(t=>{t.validate()}),n.dynamicArguments.forEach(t=>{t.validate()}),X(n.errors,e)}const ee=class ee{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.Operation);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"process",null);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"error",null);l(this,"dynamicArguments",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const T=D(e.parent);i=t.get(T)}const a=D(e.declaration),s=t.get(a),o=e.calledByEntry.map(T=>{const b=D(T);return t.get(b)}),u=e.calledBySuccess.map(T=>{const b=D(T);return t.get(b)}),p=e.calledByError.map(T=>{const b=D(T);return t.get(b)}),h={id:e.id,version:1,type:r.Operation,declaration:s,calledByEntry:o,calledBySuccess:u,calledByError:p,errorCalls:[],successCalls:[],dynamicArguments:[],inputs:[],outputs:[],process:null,error:null,x:0,y:0,parent:i},m=R(h,t);return m.setParent(i),m.initChildren(),m}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);i=s.modifiedData,a.push(...s.errors,...Pe(i));const o=D(i.declaration);if(o){const u=ug(o,t);a.push(...u)}else{const u=`
37
+ Alternatively you can update the entity with 'update' action. Or replace it by first removing it and then creating a new one.`,issue:null}))}h===r.ActionDescriptor&&(!i.parentRelationType||!(i.parentRelationType===qe.DynamicArgumentTypes||i.parentRelationType===qe.DynamicReturnTypes))&&a.push(new E({id:`${e.id}--${y.InvalidParentRelationType}`,code:y.InvalidParentRelationType,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', must have a 'parentRelationType' property set to either 'dynamic-argument-types' or 'dynamic-return-types' when being added as a child to an entity of type 'action-descriptor'.`,issue:null})),h===r.DataType&&(!i.parentRelationType||!(i.parentRelationType===qe.AndDataTypeGroup||i.parentRelationType===qe.OrDataTypeGroup))&&a.push(new E({id:`${e.id}--${y.InvalidParentRelationType}`,code:y.InvalidParentRelationType,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', must have a 'parentRelationType' property set to either 'or-data-type-group' or 'and-data-type-group' when being added as a child to an entity of type 'data-type'.`,issue:null}))}return{errors:a,modifiedData:i}}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){return this.parent.type===r.DataType?this.parentRelationType===qe.AndDataTypeGroup?this.parent.addToAndGroup(this):this.parentRelationType===qe.OrDataTypeGroup&&this.parent.addToOrGroup(this):this.parent.type===r.ActionDescriptor?this.parentRelationType===qe.DynamicArgumentTypes?this.parent.setDynamicArgumentTypes(this):this.parentRelationType===qe.DynamicReturnTypes&&this.parent.setDynamicReturnTypes(this):this.parent.setDataType(this),this}setParent(e){return this.parent=e,this}removeChildGroup(e){if(this.andChildrenGroup){const t=this.andChildrenGroup.findIndex(i=>i.id===e.id);t!==-1&&this.andChildrenGroup.splice(t,1)}if(this.orChildrenGroup){const t=this.orChildrenGroup.findIndex(i=>i.id===e.id);t!==-1&&this.orChildrenGroup.splice(t,1)}return this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.defaultValue&&(this.defaultValue=R(this.initialData.defaultValue,this.project),this.defaultValue.setParent(this),this.defaultValue.initChildren()),this.initialData.entity)if(this.initialData.entity.type===r.GenericReference){const e=this.project.findSubscribedInstanceFromReference(this.initialData.entity);this.entity=e}else this.entity=R(this.initialData.entity,this.project);return this.initialData.andChildrenGroup&&(this.andChildrenGroup=this.initialData.andChildrenGroup.map(e=>R(e,this.project))),this.initialData.orChildrenGroup&&(this.orChildrenGroup=this.initialData.orChildrenGroup.map(e=>R(e,this.project))),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.isNullable=e.isNullable||this.isNullable,this.isList=e.isList||this.isList,this.constant=e.constant||this.constant,this.asType=e.asType||this.asType,this.options=e.options||this.options,this.parentRelationType=e.parentRelationType||this.parentRelationType,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.defaultValue){const{affected:s,removed:o}=this.defaultValue.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}if(this.entity&&this.entity.type===r.CustomEntity&&this.entity.parent===this){const{affected:s,removed:o}=this.entity.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}if(!e){this.parent.type===r.DataType&&this.parent.removeChildGroup(this);const s=this.parent;if(s.type===r.DataType){if(this.parentRelationType===qe.AndDataTypeGroup){if(Array.isArray(s.andChildrenGroup)){const o=s.andChildrenGroup.findIndex(u=>u.id===this.id);o!==-1&&s.andChildrenGroup.splice(o,1)}}else if(this.parentRelationType===qe.OrDataTypeGroup&&Array.isArray(s.orChildrenGroup)){const o=s.orChildrenGroup.findIndex(u=>u.id===this.id);o!==-1&&s.orChildrenGroup.splice(o,1)}}else if(s.type===r.ActionDescriptor){const o=this.parent;this.parentRelationType===qe.DynamicArgumentTypes?o.removeDynamicArgumentTypes():this.parentRelationType===qe.DynamicReturnTypes&&o.removeDynamicReturnTypes()}else this.parent.removeDataType();i.push(s)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.defaultValue){const{affected:i}=this.defaultValue.restore({seenEntities:e});t.push(...i)}if(this.entity&&this.entity.type===r.CustomEntity&&this.entity.parent===this){const{affected:i}=this.entity.restore({seenEntities:e});t.push(...i)}if(this.parent.type===r.DataType){const i=this.parent;Array.isArray(i.andChildrenGroup)&&i.andChildrenGroup.push(this)}if(this.parent.type===r.DataType){const i=this.parent;this.parentRelationType===qe.AndDataTypeGroup?Array.isArray(i.andChildrenGroup)&&i.andChildrenGroup.push(this):this.parentRelationType===qe.OrDataTypeGroup&&Array.isArray(i.orChildrenGroup)&&i.orChildrenGroup.push(this)}else if(this.parent.type===r.ActionDescriptor){const i=this.parent;this.parentRelationType===qe.DynamicArgumentTypes?i.setDynamicArgumentTypes(this):this.parentRelationType===qe.DynamicReturnTypes&&i.setDynamicReturnTypes(this)}else{const i=this.parent;i.setDataType(this),t.push(i)}return{affected:t,self:this}}toFlat(e=new Set){var i,a,s;return e.has(this.id)?[]:(e.add(this.id),[this,...((i=this.andChildrenGroup)==null?void 0:i.flatMap(o=>o.toFlat(e)))||[],...((a=this.orChildrenGroup)==null?void 0:a.flatMap(o=>o.toFlat(e)))||[],...((s=this.entity)==null?void 0:s.toFlat(e))||[]])}toFlatIds(e=new Set){var i,a,s;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((i=this.andChildrenGroup)==null?void 0:i.flatMap(o=>o.toFlatIds(e)))||[],...((a=this.orChildrenGroup)==null?void 0:a.flatMap(o=>o.toFlatIds(e)))||[],...((s=this.entity)==null?void 0:s.toFlatIds(e))||[]])}toJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,isNullable:this.isNullable,options:this.options,isList:this.isList,constant:this.constant,asType:this.asType,defaultValue:((e=this.defaultValue)==null?void 0:e.toJSON())||null,parentRelationType:this.parentRelationType,andChildrenGroup:((t=this.andChildrenGroup)==null?void 0:t.map(s=>s.toJSON()))||null,orChildrenGroup:((i=this.orChildrenGroup)==null?void 0:i.map(s=>s.toJSON()))||null,entity:((a=this.entity)==null?void 0:a.toReference())||null,parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,isList:this.isList,isNullable:this.isNullable,options:this.options,constant:this.constant,asType:this.asType,parentRelationType:this.parentRelationType,defaultValue:((e=this.defaultValue)==null?void 0:e.toReference())||null,andChildrenGroup:((t=this.andChildrenGroup)==null?void 0:t.map(s=>s.toReference()))||null,orChildrenGroup:((i=this.orChildrenGroup)==null?void 0:i.map(s=>s.toReference()))||null,entity:((a=this.entity)==null?void 0:a.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i,a,s,o;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.defaultValue)==null?void 0:i.toFlatJSON(e))||[],...((a=this.andChildrenGroup)==null?void 0:a.flatMap(u=>u.toFlatJSON(e)))||[],...((s=this.orChildrenGroup)==null?void 0:s.flatMap(u=>u.toFlatJSON(e)))||[],...((o=this.entity)==null?void 0:o.toFlatJSON(e))||[]])}toGenerationTarget(){var e;return{id:this.id,type:this.type,isNullable:this.isNullable,options:this.options,isList:this.isList,constant:this.constant,parentRelationType:this.parentRelationType,asType:this.asType,entity:((e=this.entity)==null?void 0:e.id)||null,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){var i,a,s;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.defaultValue)==null?void 0:i.toFlatGenerationTarget(e))||[],...((a=this.andChildrenGroup)==null?void 0:a.flatMap(o=>o.toFlatGenerationTarget(e)))||[],...((s=this.orChildrenGroup)==null?void 0:s.flatMap(o=>o.toFlatGenerationTarget(e)))||[],...this.entity&&this.entity.type==r.CustomEntity&&this.entity.parent===this&&this.entity.toFlatGenerationTarget(e)||[]])}clearErrors(){var e,t,i,a;return this.errors=[],(e=this.defaultValue)==null||e.clearErrors(),(t=this.andChildrenGroup)==null||t.forEach(s=>s.clearErrors()),(i=this.orChildrenGroup)==null||i.forEach(s=>s.clearErrors()),this.inferred&&((a=this.entity)==null||a.clearErrors()),this}validate(){const e=k6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors]}getShallowErrors(){return this.errors}clone(e=null,t=null,i=!0){var b,I,B;const a=this.toJSON(),s=t||Xt(Yv(this),r.DataType,this.project),o=s.split("-id"),u=o[o.length-1||0]||s;a.id=s;const p=fa(a,this.project);e&&p.setParent(e),i&&p.subscribe(),p.initChildren();const h=(b=this.defaultValue)==null?void 0:b.clone(p,u+"-default-value-id",i);p.defaultValue=h||null;const m=(I=this.andChildrenGroup)==null?void 0:I.map((G,W)=>G.clone(this,u+"-and-group-data-type-"+W+"-id",i)),T=(B=this.orChildrenGroup)==null?void 0:B.map((G,W)=>G.clone(this,u+"-or-group-data-type-"+W+"-id",i));return p.andChildrenGroup=m||null,p.orChildrenGroup=T||null,p}addToAndGroup(e){return this.andChildrenGroup||(this.andChildrenGroup=[]),this.andChildrenGroup.includes(e)||this.andChildrenGroup.push(e),this}addToOrGroup(e){return this.orChildrenGroup||(this.orChildrenGroup=[]),this.orChildrenGroup.includes(e)||this.orChildrenGroup.push(e),this}getDefaultValue(){return this.defaultValue}setDefaultValue(e){return this.defaultValue=e,this}setEntity(e){return this.entity=e,this}};l(fe,"MUTABLE_BASE_PROPERTIES",["isNullable","isList","constant","asType","options","parentRelationType"]),l(fe,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(fe,"BASE_PROPERTIES",[...fe.MUTABLE_BASE_PROPERTIES,...fe.INMUTABLE_BASE_PROPERTIES]),l(fe,"MUTABLE_META_PROPERTIES",[...fe.MUTABLE_BASE_PROPERTIES,"inferred"]),l(fe,"INMUTABLE_META_PROPERTIES",[...fe.INMUTABLE_BASE_PROPERTIES]),l(fe,"META_PROPERTIES",[...fe.MUTABLE_META_PROPERTIES,...fe.INMUTABLE_META_PROPERTIES]),l(fe,"MUTABLE_UPSTREAM_PROPERTIES",["entity","andChildrenGroup","orChildrenGroup","parent"]),l(fe,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(fe,"UPSTREAM_PROPERTIES",[...fe.MUTABLE_UPSTREAM_PROPERTIES,...fe.INMUTABLE_UPSTREAM_PROPERTIES]),l(fe,"MUTABLE_DOWNSTREAM_PROPERTIES",["defaultValue"]),l(fe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(fe,"DOWNSTREAM_PROPERTIES",[...fe.MUTABLE_DOWNSTREAM_PROPERTIES,...fe.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(fe,"PROPERTIES",[...fe.META_PROPERTIES,...fe.UPSTREAM_PROPERTIES,...fe.DOWNSTREAM_PROPERTIES]);let si=fe;function J6(n){var u;const e=pU(),t=n.toJSON();e.safeParse(t).success;const a=W6(n),s=mn(n),o=[...a,...s];if(n.id==="exec-sequentially-operation-call-id"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});o.push(p.error)}return n.outputs.forEach(p=>p.validate()),(u=n.error)==null||u.validate(),X(n.errors,o)}function W6(n){const e=[];return n.inputs.forEach(t=>{t.validate()}),n.dynamicArguments.forEach(t=>{t.validate()}),X(n.errors,e)}const ee=class ee{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.Operation);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"process",null);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"error",null);l(this,"dynamicArguments",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const T=D(e.parent);i=t.get(T)}const a=D(e.declaration),s=t.get(a),o=e.calledByEntry.map(T=>{const b=D(T);return t.get(b)}),u=e.calledBySuccess.map(T=>{const b=D(T);return t.get(b)}),p=e.calledByError.map(T=>{const b=D(T);return t.get(b)}),h={id:e.id,version:1,type:r.Operation,declaration:s,calledByEntry:o,calledBySuccess:u,calledByError:p,errorCalls:[],successCalls:[],dynamicArguments:[],inputs:[],outputs:[],process:null,error:null,x:0,y:0,parent:i},m=R(h,t);return m.setParent(i),m.initChildren(),m}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);i=s.modifiedData,a.push(...s.errors,...Pe(i));const o=D(i.declaration);if(o){const u=pg(o,t);a.push(...u)}else{const u=`
38
38
  All built-in 'action-descriptor' entity ids are:
39
39
  - ${t.operationDeclarations.map(p=>`${p.id} (${A(p,t)})`).join(`
40
40
  - `)}.
41
41
  `;a.push(new E({id:`${i.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${r.Operation}" with id "${i.id}", has an invalid reference at the 'declaration' property. The 'declaration' property must be a valid reference to an 'action-descriptor' entity.
42
42
  References can either be an ID string or an object with exacly four properties: 'id', 'entityId', 'entityType', 'type'.${u}`,issue:null}))}return{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
43
43
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
44
- You shouldn't have to manually update a 'parent' property. The equivalent result is to change its callers, the value writters of its inputs, or the value readers of its outputs.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){var e;return this.parent===this.project&&this.project.addOperation(this),(e=this.process)==null||e.writesValues.forEach(t=>{t.setValueWriter(this.process)}),this.successCalls.forEach(t=>{t.addSuccessCaller(this)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this)}),this.calledByError.forEach(t=>{t.addErrorCall(this)}),this.calledByEntry.forEach(t=>{t.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.declaration=R(this.initialData.declaration,this.project),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?t.setParent(this.parent.parent):t.type!==r.InternalCall&&t.setParent(this.parent),t.initChildren(),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this.initialData.process&&(this.process=R(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this.dynamicArguments=this.initialData.dynamicArguments.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){var s;const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:u}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}if(this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.outputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.error){const{affected:o,removed:u}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}return this.successCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{i.push(o),o.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:i}=this.process.restore({seenEntities:e});t.push(...i)}return this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.dynamicArguments.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.dynamicArguments.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.process?this.process.toFlatIds(e):[],...this.error?this.error.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON(),dynamicArguments:this.dynamicArguments.map(i=>i.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,process:this.process?this.process.toReference():null,inputs:this.inputs.map(e=>e.toReference()),dynamicArguments:this.dynamicArguments.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),declaration:this.declaration.toReference(),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.process?this.process.toFlatJSON(e):[],...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.dynamicArguments.flatMap(i=>i.toFlatJSON(e)),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.calledBy.flatMap(i=>i.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),declaration:this.declaration.id,parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.dynamicArguments.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.process?this.process.toFlatGenerationTarget(e):[],...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(i=>i.clearErrors()),this.outputs.forEach(i=>i.clearErrors()),this.successCalls.forEach(i=>i.clearErrors()),this.errorCalls.forEach(i=>i.clearErrors()),this.dynamicArguments.forEach(i=>i.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=k9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors()),...this.dynamicArguments.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.error?this.error.getErrors():[],...this.process?this.process.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new ee(this.toJSON(),this.project)}};l(ee,"MUTABLE_BASE_PROPERTIES",[]),l(ee,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(ee,"BASE_PROPERTIES",[...ee.MUTABLE_BASE_PROPERTIES,...ee.INMUTABLE_BASE_PROPERTIES]),l(ee,"MUTABLE_META_PROPERTIES",[...ee.MUTABLE_BASE_PROPERTIES,"x","y"]),l(ee,"INMUTABLE_META_PROPERTIES",[...ee.INMUTABLE_BASE_PROPERTIES]),l(ee,"META_PROPERTIES",[...ee.MUTABLE_META_PROPERTIES,...ee.INMUTABLE_META_PROPERTIES]),l(ee,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(ee,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(ee,"UPSTREAM_PROPERTIES",[...ee.MUTABLE_UPSTREAM_PROPERTIES,...ee.INMUTABLE_UPSTREAM_PROPERTIES]),l(ee,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","outputs","writesValues","successCalls","errorCalls","error","dynamicArguments"]),l(ee,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ee,"DOWNSTREAM_PROPERTIES",[...ee.MUTABLE_DOWNSTREAM_PROPERTIES,...ee.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ee,"PROPERTIES",[...ee.META_PROPERTIES,...ee.UPSTREAM_PROPERTIES,...ee.DOWNSTREAM_PROPERTIES]);let cr=ee;function J9(n){const e=zU(),t=n.toJSON();e.safeParse(t).success;const a=vt(n);n.inputs.forEach(o=>o.validate()),a.forEach(o=>o.validate());const s=[];return X(n.errors,s)}const te=class te{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"collapsed");l(this,"type",r.GlobalEvent);l(this,"inputs",[]);l(this,"calls",[]);l(this,"returnStatements",[]);l(this,"parent");l(this,"implements");l(this,"detachedChildren",[]);l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.x=e.x,this.y=e.y,this.collapsed=e.collapsed}static fromGenerationTarget(e,t){let i=t;if(e.parent){const u=D(e.parent);i=t.get(u)}let a;e.implements&&(a=t.getBuiltIn(e.implements));const s={id:e.id,version:1,name:e.name,type:r.GlobalEvent,collapsed:!1,returnStatements:[],calls:[],inputs:[],implements:a,x:0,y:0,parent:i},o=R(s,t);return o.setParent(i),o.initChildren(),o}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{},t);if(i=s.modifiedData,a.push(...s.errors,...Pe(i)),!e.implements)a.push(new E({id:`${e.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' is missing the 'implements' property. This property is required for a '${e.type}' entity and must point to one of the built-in action descriptors reserved for 'global-event' entities.
45
- ${ro(t)}`,issue:null}));else if(!t.get(e.implements))a.push(new E({id:`${e.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'implements' property that isn't found in the project. The 'implements' property must point to one of the built-in action descriptors reserved for 'global-event' entities.
46
- ${ro(t)}`,issue:null}));else if(!t.globalEventActionDescriptors.find(p=>p.id===e.implements))a.push(new E({id:`${e.id}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'implements' property that isn't pointing to an action descriptor reserved for 'global-event' entities.
47
- ${ro(t)}`,issue:null}));else{const p=t.events.find(h=>h.implements.id===e.implements);p&&a.push(new E({id:`${e.id}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'implements' property that points to an action descriptor that is already implemented by another global event with id '${p.id}' in the project. Each global event must implement a unique action descriptor.
48
- You can attach new logic to the existing 'global-event' but creating a new callable entity that gets called by it.`,issue:null}))}return{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on an '${this.type}', must be the root project as it is a globally declared entity.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.project.addGlobalEvent(this),this}replaceDetachedChild(e,t){const i=this.detachedChildren.indexOf(e);return i!==-1&&(this.detachedChildren[i]=t),this}subscribeDetachedChild(e){return this.detachedChildren.includes(e)||this.detachedChildren.push(e),this}setParent(e){return this.parent=e,this}addCall(e){return this.calls.includes(e)||this.calls.push(e),this}removeCall(e){const t=this.calls.indexOf(e);return t!==-1&&this.calls.splice(t,1),this}addInputDeclaration(e){return this.inputs.includes(e)||this.inputs.push(e),this}removeInputDeclaration(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}initChildren(){return this.initialized?this:(this.initialized=!0,this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.calls=this.initialData.calls.map(e=>{const t=R(e,this.project);return t.addEntryCaller(this),t.type!==r.InternalCall&&(t.setParent(this),t.initChildren()),t}),this.returnStatements=this.initialData.returnStatements.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.implements=R(this.initialData.implements,this.project),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.x=e.x||this.x,this.y=e.y||this.y,this.collapsed=e.collapsed!==void 0?e.collapsed:this.collapsed,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),vt(this).forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputs.forEach(a=>{const{affected:s}=a.restore({seenEntities:e});t.push(...s)}),vt(this).forEach(a=>{const{affected:s}=a.restore({seenEntities:e});t.push(...s)}),{affected:S(t),self:this})}toFlat(e=new Set){if(e.has(this.id))return[];e.add(this.id);const t=vt(this);return[this,...this.inputs.flatMap(a=>a.toFlat(e)),...this.calls.flatMap(a=>a.toFlat(e)),...this.returnStatements.flatMap(a=>a.toFlat(e)),...this.implements?this.implements.toFlat(e):[],...t.flatMap(a=>a.toFlat(e))]}toFlatIds(e=new Set){if(e.has(this.id))return[];e.add(this.id);const t=vt(this);return[this.id,...this.inputs.flatMap(a=>a.toFlatIds(e)),...this.calls.flatMap(a=>a.toFlatIds(e)),...this.returnStatements.flatMap(a=>a.toFlatIds(e)),...this.implements?this.implements.toFlatIds(e):[],...t.flatMap(a=>a.toFlatIds(e))]}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,x:this.x,y:this.y,collapsed:this.collapsed,implements:this.implements.toJSON(),returnStatements:this.returnStatements.map(e=>e.toJSON()),inputs:this.inputs.map(e=>e.toJSON()),calls:this.calls.map(e=>e.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,collapsed:this.collapsed,x:this.x,y:this.y,implements:this.implements.toReference(),inputs:this.inputs.map(e=>e.toReference()),calls:this.calls.map(e=>e.toReference()),returnStatements:this.returnStatements.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.calls.flatMap(i=>i.toFlatJSON(e)),...this.returnStatements.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,name:this.name,type:this.type,implements:this.implements.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.calls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.returnStatements.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.inputs.forEach(e=>e.clearErrors()),this.calls.forEach(e=>e.clearErrors()),this.returnStatements.forEach(e=>e.clearErrors()),this}validate(){const e=J9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){const e=vt(this);return[...this.errors,...this.inputs.flatMap(i=>i.getErrors()),...e.flatMap(i=>i.getErrors())]}getShallowErrors(){return this.errors}clone(){return new te(this.toJSON(),this.project)}getVariableInstances(){return z(this).filter(i=>i.type===r.VariableInstance)}addReturnStatement(e){return this.returnStatements.includes(e)||this.returnStatements.push(e),this}removeReturnStatement(e){const t=this.returnStatements.indexOf(e);return t!==-1&&this.returnStatements.splice(t,1),this}};l(te,"MUTABLE_BASE_PROPERTIES",["description"]),l(te,"INMUTABLE_BASE_PROPERTIES",["id","version","name","type"]),l(te,"BASE_PROPERTIES",[...te.MUTABLE_BASE_PROPERTIES,...te.INMUTABLE_BASE_PROPERTIES]),l(te,"MUTABLE_META_PROPERTIES",[...te.MUTABLE_BASE_PROPERTIES,"x","y","collapsed"]),l(te,"INMUTABLE_META_PROPERTIES",[...te.INMUTABLE_BASE_PROPERTIES]),l(te,"META_PROPERTIES",[...te.MUTABLE_META_PROPERTIES,...te.INMUTABLE_META_PROPERTIES]),l(te,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(te,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","implements"]),l(te,"UPSTREAM_PROPERTIES",[...te.MUTABLE_UPSTREAM_PROPERTIES,...te.INMUTABLE_UPSTREAM_PROPERTIES]),l(te,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","calls","returnStatements"]),l(te,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(te,"DOWNSTREAM_PROPERTIES",[...te.MUTABLE_DOWNSTREAM_PROPERTIES,...te.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(te,"PROPERTIES",[...te.META_PROPERTIES,...te.UPSTREAM_PROPERTIES,...te.DOWNSTREAM_PROPERTIES]);let si=te;function W9(n){var o,u;const e=R4(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(p=>p.validate()),n.outputs.forEach(p=>p.validate()),(o=n.error)==null||o.validate(),(u=n.body)==null||u.validate();const s=[...mn(n)];if(n.id==="iterate-over-list-loop-id"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(p.error)}return X(n.errors,s)}const ne=class ne{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.Loop);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"process",null);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"error",null);l(this,"breakStatements",[]);l(this,"continueStatements",[]);l(this,"body");l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"parent");l(this,"detachedChildren",[]);l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const T=D(e.parent);i=t.get(T)}const a=D(e.declaration),s=t.get(a),o=e.calledByEntry.map(T=>{const b=D(T);return t.get(b)}),u=e.calledBySuccess.map(T=>{const b=D(T);return t.get(b)}),p=e.calledByError.map(T=>{const b=D(T);return t.get(b)}),h={id:e.id,version:1,type:r.Loop,declaration:s,calledByEntry:o,calledBySuccess:u,calledByError:p,process:null,errorCalls:[],successCalls:[],inputs:[],outputs:[],body:null,breakStatements:[],continueStatements:[],error:null,x:0,y:0,parent:i},m=R(h,t);return m.setParent(i),m.initChildren(),m}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0},declaration:{list:!1,types:[r.ActionDescriptor]}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),e.declaration?t.get(e.declaration)?t.conditionDeclarations.find(p=>p.id===e.declaration)||a.push(new E({id:`${e.id}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'declaration' property that isn't pointing to an action descriptor reserved for '${r.Condition}' entities.
49
- ${io(t)}`,issue:null})):a.push(new E({id:`${e.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'declaration' property that isn't found in the project. The 'declaration' property must point to one of the built-in action descriptors reserved for '${r.Condition}' entities.
50
- ${io(t)}`,issue:null})):a.push(new E({id:`${e.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' is missing the 'declaration' property. This property is required for a '${e.type}' entity and must point to one of the built-in action descriptors reserved for '${r.Condition}' entities.
51
- ${io(t)}`,issue:null})),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
44
+ You shouldn't have to manually update a 'parent' property. The equivalent result is to change its callers, the value writters of its inputs, or the value readers of its outputs.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){var e;return this.parent===this.project&&this.project.addOperation(this),(e=this.process)==null||e.writesValues.forEach(t=>{t.setValueWriter(this.process)}),this.successCalls.forEach(t=>{t.addSuccessCaller(this)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this)}),this.calledByError.forEach(t=>{t.addErrorCall(this)}),this.calledByEntry.forEach(t=>{t.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.declaration=R(this.initialData.declaration,this.project),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?t.setParent(this.parent.parent):t.type!==r.InternalCall&&t.setParent(this.parent),t.initChildren(),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this.initialData.process&&(this.process=R(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this.dynamicArguments=this.initialData.dynamicArguments.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){var s;const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:u}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}if(this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.outputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.error){const{affected:o,removed:u}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}return this.successCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{i.push(o),o.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:i}=this.process.restore({seenEntities:e});t.push(...i)}return this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.dynamicArguments.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.dynamicArguments.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.process?this.process.toFlatIds(e):[],...this.error?this.error.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON(),dynamicArguments:this.dynamicArguments.map(i=>i.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,process:this.process?this.process.toReference():null,inputs:this.inputs.map(e=>e.toReference()),dynamicArguments:this.dynamicArguments.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),declaration:this.declaration.toReference(),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.process?this.process.toFlatJSON(e):[],...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.dynamicArguments.flatMap(i=>i.toFlatJSON(e)),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.calledBy.flatMap(i=>i.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),declaration:this.declaration.id,parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.dynamicArguments.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.process?this.process.toFlatGenerationTarget(e):[],...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(i=>i.clearErrors()),this.outputs.forEach(i=>i.clearErrors()),this.successCalls.forEach(i=>i.clearErrors()),this.errorCalls.forEach(i=>i.clearErrors()),this.dynamicArguments.forEach(i=>i.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=J6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors()),...this.dynamicArguments.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.error?this.error.getErrors():[],...this.process?this.process.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new ee(this.toJSON(),this.project)}};l(ee,"MUTABLE_BASE_PROPERTIES",[]),l(ee,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(ee,"BASE_PROPERTIES",[...ee.MUTABLE_BASE_PROPERTIES,...ee.INMUTABLE_BASE_PROPERTIES]),l(ee,"MUTABLE_META_PROPERTIES",[...ee.MUTABLE_BASE_PROPERTIES,"x","y"]),l(ee,"INMUTABLE_META_PROPERTIES",[...ee.INMUTABLE_BASE_PROPERTIES]),l(ee,"META_PROPERTIES",[...ee.MUTABLE_META_PROPERTIES,...ee.INMUTABLE_META_PROPERTIES]),l(ee,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(ee,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(ee,"UPSTREAM_PROPERTIES",[...ee.MUTABLE_UPSTREAM_PROPERTIES,...ee.INMUTABLE_UPSTREAM_PROPERTIES]),l(ee,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","outputs","writesValues","successCalls","errorCalls","error","dynamicArguments"]),l(ee,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ee,"DOWNSTREAM_PROPERTIES",[...ee.MUTABLE_DOWNSTREAM_PROPERTIES,...ee.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ee,"PROPERTIES",[...ee.META_PROPERTIES,...ee.UPSTREAM_PROPERTIES,...ee.DOWNSTREAM_PROPERTIES]);let dr=ee;function H6(n){const e=XU(),t=n.toJSON();e.safeParse(t).success;const a=vt(n);n.inputs.forEach(o=>o.validate()),a.forEach(o=>o.validate());const s=[];return X(n.errors,s)}const te=class te{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"collapsed");l(this,"type",r.GlobalEvent);l(this,"inputs",[]);l(this,"calls",[]);l(this,"returnStatements",[]);l(this,"parent");l(this,"implements");l(this,"detachedChildren",[]);l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.x=e.x,this.y=e.y,this.collapsed=e.collapsed}static fromGenerationTarget(e,t){let i=t;if(e.parent){const u=D(e.parent);i=t.get(u)}let a;e.implements&&(a=t.getBuiltIn(e.implements));const s={id:e.id,version:1,name:e.name,type:r.GlobalEvent,collapsed:!1,returnStatements:[],calls:[],inputs:[],implements:a,x:0,y:0,parent:i},o=R(s,t);return o.setParent(i),o.initChildren(),o}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{},t);if(i=s.modifiedData,a.push(...s.errors,...Pe(i)),!e.implements)a.push(new E({id:`${e.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' is missing the 'implements' property. This property is required for a '${e.type}' entity and must point to one of the built-in action descriptors reserved for 'global-event' entities.
45
+ ${ao(t)}`,issue:null}));else if(!t.get(e.implements))a.push(new E({id:`${e.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'implements' property that isn't found in the project. The 'implements' property must point to one of the built-in action descriptors reserved for 'global-event' entities.
46
+ ${ao(t)}`,issue:null}));else if(!t.globalEventActionDescriptors.find(p=>p.id===e.implements))a.push(new E({id:`${e.id}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'implements' property that isn't pointing to an action descriptor reserved for 'global-event' entities.
47
+ ${ao(t)}`,issue:null}));else{const p=t.events.find(h=>h.implements.id===e.implements);p&&a.push(new E({id:`${e.id}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'implements' property that points to an action descriptor that is already implemented by another global event with id '${p.id}' in the project. Each global event must implement a unique action descriptor.
48
+ You can attach new logic to the existing 'global-event' but creating a new callable entity that gets called by it.`,issue:null}))}return{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on an '${this.type}', must be the root project as it is a globally declared entity.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.project.addGlobalEvent(this),this}replaceDetachedChild(e,t){const i=this.detachedChildren.indexOf(e);return i!==-1&&(this.detachedChildren[i]=t),this}subscribeDetachedChild(e){return this.detachedChildren.includes(e)||this.detachedChildren.push(e),this}setParent(e){return this.parent=e,this}addCall(e){return this.calls.includes(e)||this.calls.push(e),this}removeCall(e){const t=this.calls.indexOf(e);return t!==-1&&this.calls.splice(t,1),this}addInputDeclaration(e){return this.inputs.includes(e)||this.inputs.push(e),this}removeInputDeclaration(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}initChildren(){return this.initialized?this:(this.initialized=!0,this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.calls=this.initialData.calls.map(e=>{const t=R(e,this.project);return t.addEntryCaller(this),t.type!==r.InternalCall&&(t.setParent(this),t.initChildren()),t}),this.returnStatements=this.initialData.returnStatements.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.implements=R(this.initialData.implements,this.project),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.x=e.x||this.x,this.y=e.y||this.y,this.collapsed=e.collapsed!==void 0?e.collapsed:this.collapsed,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),vt(this).forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputs.forEach(a=>{const{affected:s}=a.restore({seenEntities:e});t.push(...s)}),vt(this).forEach(a=>{const{affected:s}=a.restore({seenEntities:e});t.push(...s)}),{affected:S(t),self:this})}toFlat(e=new Set){if(e.has(this.id))return[];e.add(this.id);const t=vt(this);return[this,...this.inputs.flatMap(a=>a.toFlat(e)),...this.calls.flatMap(a=>a.toFlat(e)),...this.returnStatements.flatMap(a=>a.toFlat(e)),...this.implements?this.implements.toFlat(e):[],...t.flatMap(a=>a.toFlat(e))]}toFlatIds(e=new Set){if(e.has(this.id))return[];e.add(this.id);const t=vt(this);return[this.id,...this.inputs.flatMap(a=>a.toFlatIds(e)),...this.calls.flatMap(a=>a.toFlatIds(e)),...this.returnStatements.flatMap(a=>a.toFlatIds(e)),...this.implements?this.implements.toFlatIds(e):[],...t.flatMap(a=>a.toFlatIds(e))]}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,x:this.x,y:this.y,collapsed:this.collapsed,implements:this.implements.toJSON(),returnStatements:this.returnStatements.map(e=>e.toJSON()),inputs:this.inputs.map(e=>e.toJSON()),calls:this.calls.map(e=>e.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,collapsed:this.collapsed,x:this.x,y:this.y,implements:this.implements.toReference(),inputs:this.inputs.map(e=>e.toReference()),calls:this.calls.map(e=>e.toReference()),returnStatements:this.returnStatements.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.calls.flatMap(i=>i.toFlatJSON(e)),...this.returnStatements.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,name:this.name,type:this.type,implements:this.implements.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.calls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.returnStatements.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.inputs.forEach(e=>e.clearErrors()),this.calls.forEach(e=>e.clearErrors()),this.returnStatements.forEach(e=>e.clearErrors()),this}validate(){const e=H6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){const e=vt(this);return[...this.errors,...this.inputs.flatMap(i=>i.getErrors()),...e.flatMap(i=>i.getErrors())]}getShallowErrors(){return this.errors}clone(){return new te(this.toJSON(),this.project)}getVariableInstances(){return Z(this).filter(i=>i.type===r.VariableInstance)}addReturnStatement(e){return this.returnStatements.includes(e)||this.returnStatements.push(e),this}removeReturnStatement(e){const t=this.returnStatements.indexOf(e);return t!==-1&&this.returnStatements.splice(t,1),this}};l(te,"MUTABLE_BASE_PROPERTIES",["description"]),l(te,"INMUTABLE_BASE_PROPERTIES",["id","version","name","type"]),l(te,"BASE_PROPERTIES",[...te.MUTABLE_BASE_PROPERTIES,...te.INMUTABLE_BASE_PROPERTIES]),l(te,"MUTABLE_META_PROPERTIES",[...te.MUTABLE_BASE_PROPERTIES,"x","y","collapsed"]),l(te,"INMUTABLE_META_PROPERTIES",[...te.INMUTABLE_BASE_PROPERTIES]),l(te,"META_PROPERTIES",[...te.MUTABLE_META_PROPERTIES,...te.INMUTABLE_META_PROPERTIES]),l(te,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(te,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","implements"]),l(te,"UPSTREAM_PROPERTIES",[...te.MUTABLE_UPSTREAM_PROPERTIES,...te.INMUTABLE_UPSTREAM_PROPERTIES]),l(te,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","calls","returnStatements"]),l(te,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(te,"DOWNSTREAM_PROPERTIES",[...te.MUTABLE_DOWNSTREAM_PROPERTIES,...te.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(te,"PROPERTIES",[...te.META_PROPERTIES,...te.UPSTREAM_PROPERTIES,...te.DOWNSTREAM_PROPERTIES]);let oi=te;function Y6(n){var o,u;const e=v4(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(p=>p.validate()),n.outputs.forEach(p=>p.validate()),(o=n.error)==null||o.validate(),(u=n.body)==null||u.validate();const s=[...mn(n)];if(n.id==="iterate-over-list-loop-id"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(p.error)}return X(n.errors,s)}const ne=class ne{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.Loop);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"process",null);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"error",null);l(this,"breakStatements",[]);l(this,"continueStatements",[]);l(this,"body");l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"parent");l(this,"detachedChildren",[]);l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const T=D(e.parent);i=t.get(T)}const a=D(e.declaration),s=t.get(a),o=e.calledByEntry.map(T=>{const b=D(T);return t.get(b)}),u=e.calledBySuccess.map(T=>{const b=D(T);return t.get(b)}),p=e.calledByError.map(T=>{const b=D(T);return t.get(b)}),h={id:e.id,version:1,type:r.Loop,declaration:s,calledByEntry:o,calledBySuccess:u,calledByError:p,process:null,errorCalls:[],successCalls:[],inputs:[],outputs:[],body:null,breakStatements:[],continueStatements:[],error:null,x:0,y:0,parent:i},m=R(h,t);return m.setParent(i),m.initChildren(),m}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0},declaration:{list:!1,types:[r.ActionDescriptor]}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),e.declaration?t.get(e.declaration)?t.conditionDeclarations.find(p=>p.id===e.declaration)||a.push(new E({id:`${e.id}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'declaration' property that isn't pointing to an action descriptor reserved for '${r.Condition}' entities.
49
+ ${so(t)}`,issue:null})):a.push(new E({id:`${e.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'declaration' property that isn't found in the project. The 'declaration' property must point to one of the built-in action descriptors reserved for '${r.Condition}' entities.
50
+ ${so(t)}`,issue:null})):a.push(new E({id:`${e.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' is missing the 'declaration' property. This property is required for a '${e.type}' entity and must point to one of the built-in action descriptors reserved for '${r.Condition}' entities.
51
+ ${so(t)}`,issue:null})),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
52
52
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
53
- You shouldn't have to manually update a 'parent' property. The equivalent result is to change its callers, the value writters of its inputs, or the value readers of its outputs.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent===this.project&&this.project.addLoop(this),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}setBody(e){return this.body=e,this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}replaceDetachedChild(e,t){const i=this.detachedChildren.indexOf(e);return i!==-1&&(this.detachedChildren[i]=t),this}subscribeDetachedChild(e){return this.detachedChildren.includes(e)||this.detachedChildren.push(e),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.declaration=R(this.initialData.declaration,this.project),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.process&&(this.process=R(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this.initialData.body&&(this.body=R(this.initialData.body,this.project),this.body.setParent(this),this.body.initChildren()),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.body.remove({ignoreUpstream:!0,seenEntities:t}),this.error){const{affected:s,removed:o}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.body.restore({seenEntities:e}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.inputs.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.error?this.error.toFlat(e):[],...this.body?this.body.toFlat(e):[],...this.continueStatements.flatMap(i=>i.toFlat(e)),...this.breakStatements.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.process?this.process.toFlatIds(e):[],...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.error?this.error.toFlatIds(e):[],...this.body?this.body.toFlatIds(e):[],...this.continueStatements.flatMap(i=>i.toFlatIds(e)),...this.breakStatements.flatMap(i=>i.toFlatIds(e))])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),process:((e=this.process)==null?void 0:e.toJSON())||null,declaration:this.declaration.toJSON(),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),error:((t=this.error)==null?void 0:t.toJSON())||null,body:this.body.toJSON(),parent:this.parent.toReference(),breakStatements:this.breakStatements.map(i=>i.toJSON()),continueStatements:this.continueStatements.map(i=>i.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,declaration:((e=this.declaration)==null?void 0:e.toReference())||null,body:((t=this.body)==null?void 0:t.toReference())||null,inputs:this.inputs.map(s=>s.toReference()),outputs:this.outputs.map(s=>s.toReference()),successCalls:this.successCalls.map(s=>s.toReference()),errorCalls:this.errorCalls.map(s=>s.toReference()),process:((i=this.process)==null?void 0:i.toReference())||null,calledBySuccess:this.calledBySuccess.map(s=>s.toReference()),calledByError:this.calledByError.map(s=>s.toReference()),calledByEntry:this.calledByEntry.map(s=>s.toReference()),continueStatements:this.continueStatements.map(s=>s.toReference()),breakStatements:this.breakStatements.map(s=>s.toReference()),error:((a=this.error)==null?void 0:a.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.body)==null?void 0:i.toFlatJSON(e))||[],...this.successCalls.flatMap(a=>a.toFlatJSON(e)),...this.errorCalls.flatMap(a=>a.toFlatJSON(e)),...this.inputs.flatMap(a=>a.toFlatJSON(e)),...this.outputs.flatMap(a=>a.toFlatJSON(e)),...this.continueStatements.flatMap(a=>a.toFlatJSON(e)),...this.breakStatements.flatMap(a=>a.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[],...this.process?this.process.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),declaration:this.declaration.id,parent:e}}toFlatGenerationTarget(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.body)==null?void 0:i.toFlatGenerationTarget(e))||[],...this.successCalls.flatMap(a=>a.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(a=>a.toFlatGenerationTarget(e)),...this.inputs.flatMap(a=>a.toFlatGenerationTarget(e)),...this.outputs.flatMap(a=>a.toFlatGenerationTarget(e)),...this.continueStatements.flatMap(a=>a.toFlatGenerationTarget(e)),...this.breakStatements.flatMap(a=>a.toFlatGenerationTarget(e)),...this.error?this.error.toFlatGenerationTarget(e):[],...this.process?this.process.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(i=>i.clearErrors()),this.outputs.forEach(i=>i.clearErrors()),this.successCalls.forEach(i=>i.clearErrors()),this.errorCalls.forEach(i=>i.clearErrors()),this.continueStatements.forEach(i=>i.clearErrors()),this.breakStatements.forEach(i=>i.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=W9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.body?this.body.getErrors():[],...this.error?this.error.getErrors():[],...this.process?this.process.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new ne(this.toJSON(),this.project)}getVariableInstances(){return this.body?z(this.body).filter(i=>i.type===r.VariableInstance):[]}addReturnStatement(e){return this.body.addReturnStatement(e),this}removeReturnStatement(e){return this.body.removeReturnStatement(e),this}addBreakStatement(e){return this.breakStatements.includes(e)||this.breakStatements.push(e),this}removeBreakStatement(e){const t=this.breakStatements.indexOf(e);return t!==-1&&this.breakStatements.splice(t,1),this}addContinueStatement(e){return this.continueStatements.includes(e)||this.continueStatements.push(e),this}removeContinueStatement(e){const t=this.continueStatements.indexOf(e);return t!==-1&&this.continueStatements.splice(t,1),this}};l(ne,"MUTABLE_BASE_PROPERTIES",[]),l(ne,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(ne,"BASE_PROPERTIES",[...ne.MUTABLE_BASE_PROPERTIES,...ne.INMUTABLE_BASE_PROPERTIES]),l(ne,"MUTABLE_META_PROPERTIES",[...ne.MUTABLE_BASE_PROPERTIES,"x","y"]),l(ne,"INMUTABLE_META_PROPERTIES",[...ne.INMUTABLE_BASE_PROPERTIES]),l(ne,"META_PROPERTIES",[...ne.MUTABLE_META_PROPERTIES,...ne.INMUTABLE_META_PROPERTIES]),l(ne,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(ne,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(ne,"UPSTREAM_PROPERTIES",[...ne.MUTABLE_UPSTREAM_PROPERTIES,...ne.INMUTABLE_UPSTREAM_PROPERTIES]),l(ne,"MUTABLE_DOWNSTREAM_PROPERTIES",["body","inputs","outputs","successCalls","errorCalls","error","breakStatements","continueStatements"]),l(ne,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ne,"DOWNSTREAM_PROPERTIES",[...ne.MUTABLE_DOWNSTREAM_PROPERTIES,...ne.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ne,"PROPERTIES",[...ne.META_PROPERTIES,...ne.UPSTREAM_PROPERTIES,...ne.DOWNSTREAM_PROPERTIES]);let dr=ne;function H9(n){const e=Q4(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(o=>o.validate());const s=[...mn(n)];return X(n.errors,s)}const me=class me{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.Condition);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"declaration");l(this,"inputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const m=D(e.parent);i=t.get(m)}const a=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),s=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),o=e.calledByError.map(m=>{const T=D(m);return t.get(T)});let u;if(e.declaration){const m=D(e.declaration);u=t.get(m)}const p={id:e.id,version:1,type:r.Condition,declaration:u,calledByEntry:a,calledBySuccess:s,calledByError:o,errorCalls:[],successCalls:[],inputs:[],x:0,y:0,parent:i},h=R(p,t);return h.setParent(i),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),e.declaration?t.get(e.declaration)?t.conditionDeclarations.find(p=>p.id===e.declaration)||a.push(new E({id:`${e.id}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'declaration' property that isn't pointing to an action descriptor reserved for '${r.Condition}' entities.
54
- ${ao(t)}`,issue:null})):a.push(new E({id:`${e.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'declaration' property that isn't found in the project. The 'declaration' property must point to one of the built-in action descriptors reserved for '${r.Condition}' entities.
55
- ${ao(t)}`,issue:null})):a.push(new E({id:`${e.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' is missing the 'declaration' property. This property is required for a '${e.type}' entity and must point to one of the built-in action descriptors reserved for '${r.Condition}' entities.
56
- ${ao(t)}`,issue:null})),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
57
- If an entity is called by another, they must be in the same scope, which means they have the same parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent===this.project&&this.project.addCondition(this),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this}removeOutput(e){return this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.declaration=R(this.initialData.declaration,this.project),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.inputs.flatMap(i=>i.toFlat(e)),...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.calledBy.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.calledBy.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,declaration:this.declaration.toJSON(),successCalls:this.successCalls.map(e=>e.toJSON()),errorCalls:this.errorCalls.map(e=>e.toJSON()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),inputs:this.inputs.map(e=>e.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,declaration:this.declaration.toReference(),inputs:this.inputs.map(e=>e.toReference()),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.calledBy.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,declaration:this.declaration.id,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.inputs.forEach(e=>e.clearErrors()),this.successCalls.forEach(e=>e.clearErrors()),this.errorCalls.forEach(e=>e.clearErrors()),this}validate(){const e=H9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(e){return new me(this.toJSON(),this.project)}};l(me,"MUTABLE_BASE_PROPERTIES",["operator"]),l(me,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(me,"BASE_PROPERTIES",[...me.MUTABLE_BASE_PROPERTIES,...me.INMUTABLE_BASE_PROPERTIES]),l(me,"MUTABLE_META_PROPERTIES",["x","y"]),l(me,"INMUTABLE_META_PROPERTIES",[...me.INMUTABLE_BASE_PROPERTIES]),l(me,"META_PROPERTIES",[...me.MUTABLE_META_PROPERTIES,...me.INMUTABLE_META_PROPERTIES]),l(me,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),l(me,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(me,"UPSTREAM_PROPERTIES",[...me.MUTABLE_UPSTREAM_PROPERTIES,...me.INMUTABLE_UPSTREAM_PROPERTIES]),l(me,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","inputsDeclarations","inputs"]),l(me,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(me,"DOWNSTREAM_PROPERTIES",[...me.MUTABLE_DOWNSTREAM_PROPERTIES,...me.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(me,"PROPERTIES",[...me.META_PROPERTIES,...me.UPSTREAM_PROPERTIES,...me.DOWNSTREAM_PROPERTIES]);let ur=me;class eg{constructor(){l(this,"initialData")}}class Y9{}class z9 extends eg{}class Z9{}class X9{}class Q9{}class sd{}class K9 extends sd{}class e6 extends sd{}class t6{}class oa{static initReadsValue(e){if(e.initialData.readsValue&&e.initialData.readsValue.type!==r.GenericReference&&(e.readsValue=R(e.initialData.readsValue,e.project),Fe.includes(e.readsValue.type))){let t=e.parent;st.includes(t.type)||(t=t.parent),e.readsValue.setParent(t),e.readsValue.addValueReader(e),e.readsValue.initChildren(),t.detachedChildren.includes(e)?t.replaceDetachedChild(e,e.readsValue):t.subscribeDetachedChild(e.readsValue)}return e.readsValue}}class la{static initWritesValues(e,t){const i=e.initialData.writesValues.reduce((s,o)=>{if(o.type===r.GenericReference||e.writesValues.some(p=>p.id===o.id))return s;const u=R(o,e.project);return u.setValueWriter(e),Fe.includes(u.type)&&(u.setParent(t),u.initChildren()),[...s,u]},[]),a=[...e.writesValues];return e.writesValues=S([...a,...i]),e.writesValues}}class n6{}function r6(n){var u;const e=NU(),t=n.toJSON();e.safeParse(t).success,(u=n.dataType)==null||u.validate(),n.inputs.forEach(p=>p.validate()),n.outputs.forEach(p=>p.validate()),n.internalCalls.forEach(p=>p.validate());const s=[...mn(n)];if(n.id==="random-company-employee-test-variable-id"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(p.error)}if(n.id==="company-dto-variable-one-id"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(p.error)}const o=md(n);return s.push(...o),X(n.errors,s)}const re=class re{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"dataType",null);l(this,"x");l(this,"y");l(this,"type",r.VariableDeclaration);l(this,"writesValues",[]);l(this,"readsValue",null);l(this,"inputs",[]);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"internalCalls",[]);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const m=D(e.parent);i=t.get(m)}const a=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),s=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),o=e.calledByError.map(m=>{const T=D(m);return t.get(T)});let u=null;if(e.readsValue){const m=D(e.readsValue);u=t.get(m)}const p={id:e.id,version:1,type:r.VariableDeclaration,name:e.name,description:e.description,calledByEntry:a,calledBySuccess:s,calledByError:o,dataType:null,errorCalls:[],successCalls:[],internalCalls:[],readsValue:u,inputs:[],outputs:[],writesValues:[],x:0,y:0,parent:i},h=R(p,t);return h.setParent(i),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);i=s.modifiedData;const o=td(i,t);return a.push(...s.errors,...o,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];let i=JSON.parse(JSON.stringify(e));const a=da(i,this);return i=a.modifiedData,t.push(...a.errors),e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
53
+ You shouldn't have to manually update a 'parent' property. The equivalent result is to change its callers, the value writters of its inputs, or the value readers of its outputs.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent===this.project&&this.project.addLoop(this),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}setBody(e){return this.body=e,this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}replaceDetachedChild(e,t){const i=this.detachedChildren.indexOf(e);return i!==-1&&(this.detachedChildren[i]=t),this}subscribeDetachedChild(e){return this.detachedChildren.includes(e)||this.detachedChildren.push(e),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.declaration=R(this.initialData.declaration,this.project),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.process&&(this.process=R(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this.initialData.body&&(this.body=R(this.initialData.body,this.project),this.body.setParent(this),this.body.initChildren()),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.body.remove({ignoreUpstream:!0,seenEntities:t}),this.error){const{affected:s,removed:o}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.body.restore({seenEntities:e}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.inputs.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.error?this.error.toFlat(e):[],...this.body?this.body.toFlat(e):[],...this.continueStatements.flatMap(i=>i.toFlat(e)),...this.breakStatements.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.process?this.process.toFlatIds(e):[],...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.error?this.error.toFlatIds(e):[],...this.body?this.body.toFlatIds(e):[],...this.continueStatements.flatMap(i=>i.toFlatIds(e)),...this.breakStatements.flatMap(i=>i.toFlatIds(e))])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),process:((e=this.process)==null?void 0:e.toJSON())||null,declaration:this.declaration.toJSON(),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),error:((t=this.error)==null?void 0:t.toJSON())||null,body:this.body.toJSON(),parent:this.parent.toReference(),breakStatements:this.breakStatements.map(i=>i.toJSON()),continueStatements:this.continueStatements.map(i=>i.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,declaration:((e=this.declaration)==null?void 0:e.toReference())||null,body:((t=this.body)==null?void 0:t.toReference())||null,inputs:this.inputs.map(s=>s.toReference()),outputs:this.outputs.map(s=>s.toReference()),successCalls:this.successCalls.map(s=>s.toReference()),errorCalls:this.errorCalls.map(s=>s.toReference()),process:((i=this.process)==null?void 0:i.toReference())||null,calledBySuccess:this.calledBySuccess.map(s=>s.toReference()),calledByError:this.calledByError.map(s=>s.toReference()),calledByEntry:this.calledByEntry.map(s=>s.toReference()),continueStatements:this.continueStatements.map(s=>s.toReference()),breakStatements:this.breakStatements.map(s=>s.toReference()),error:((a=this.error)==null?void 0:a.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.body)==null?void 0:i.toFlatJSON(e))||[],...this.successCalls.flatMap(a=>a.toFlatJSON(e)),...this.errorCalls.flatMap(a=>a.toFlatJSON(e)),...this.inputs.flatMap(a=>a.toFlatJSON(e)),...this.outputs.flatMap(a=>a.toFlatJSON(e)),...this.continueStatements.flatMap(a=>a.toFlatJSON(e)),...this.breakStatements.flatMap(a=>a.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[],...this.process?this.process.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),declaration:this.declaration.id,parent:e}}toFlatGenerationTarget(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.body)==null?void 0:i.toFlatGenerationTarget(e))||[],...this.successCalls.flatMap(a=>a.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(a=>a.toFlatGenerationTarget(e)),...this.inputs.flatMap(a=>a.toFlatGenerationTarget(e)),...this.outputs.flatMap(a=>a.toFlatGenerationTarget(e)),...this.continueStatements.flatMap(a=>a.toFlatGenerationTarget(e)),...this.breakStatements.flatMap(a=>a.toFlatGenerationTarget(e)),...this.error?this.error.toFlatGenerationTarget(e):[],...this.process?this.process.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(i=>i.clearErrors()),this.outputs.forEach(i=>i.clearErrors()),this.successCalls.forEach(i=>i.clearErrors()),this.errorCalls.forEach(i=>i.clearErrors()),this.continueStatements.forEach(i=>i.clearErrors()),this.breakStatements.forEach(i=>i.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=Y6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.body?this.body.getErrors():[],...this.error?this.error.getErrors():[],...this.process?this.process.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new ne(this.toJSON(),this.project)}getVariableInstances(){return this.body?Z(this.body).filter(i=>i.type===r.VariableInstance):[]}addReturnStatement(e){return this.body.addReturnStatement(e),this}removeReturnStatement(e){return this.body.removeReturnStatement(e),this}addBreakStatement(e){return this.breakStatements.includes(e)||this.breakStatements.push(e),this}removeBreakStatement(e){const t=this.breakStatements.indexOf(e);return t!==-1&&this.breakStatements.splice(t,1),this}addContinueStatement(e){return this.continueStatements.includes(e)||this.continueStatements.push(e),this}removeContinueStatement(e){const t=this.continueStatements.indexOf(e);return t!==-1&&this.continueStatements.splice(t,1),this}};l(ne,"MUTABLE_BASE_PROPERTIES",[]),l(ne,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(ne,"BASE_PROPERTIES",[...ne.MUTABLE_BASE_PROPERTIES,...ne.INMUTABLE_BASE_PROPERTIES]),l(ne,"MUTABLE_META_PROPERTIES",[...ne.MUTABLE_BASE_PROPERTIES,"x","y"]),l(ne,"INMUTABLE_META_PROPERTIES",[...ne.INMUTABLE_BASE_PROPERTIES]),l(ne,"META_PROPERTIES",[...ne.MUTABLE_META_PROPERTIES,...ne.INMUTABLE_META_PROPERTIES]),l(ne,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(ne,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(ne,"UPSTREAM_PROPERTIES",[...ne.MUTABLE_UPSTREAM_PROPERTIES,...ne.INMUTABLE_UPSTREAM_PROPERTIES]),l(ne,"MUTABLE_DOWNSTREAM_PROPERTIES",["body","inputs","outputs","successCalls","errorCalls","error","breakStatements","continueStatements"]),l(ne,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ne,"DOWNSTREAM_PROPERTIES",[...ne.MUTABLE_DOWNSTREAM_PROPERTIES,...ne.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ne,"PROPERTIES",[...ne.META_PROPERTIES,...ne.UPSTREAM_PROPERTIES,...ne.DOWNSTREAM_PROPERTIES]);let ur=ne;function z6(n){const e=eU(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(o=>o.validate());const s=[...mn(n)];return X(n.errors,s)}const me=class me{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.Condition);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"declaration");l(this,"inputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const m=D(e.parent);i=t.get(m)}const a=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),s=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),o=e.calledByError.map(m=>{const T=D(m);return t.get(T)});let u;if(e.declaration){const m=D(e.declaration);u=t.get(m)}const p={id:e.id,version:1,type:r.Condition,declaration:u,calledByEntry:a,calledBySuccess:s,calledByError:o,errorCalls:[],successCalls:[],inputs:[],x:0,y:0,parent:i},h=R(p,t);return h.setParent(i),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),e.declaration?t.get(e.declaration)?t.conditionDeclarations.find(p=>p.id===e.declaration)||a.push(new E({id:`${e.id}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'declaration' property that isn't pointing to an action descriptor reserved for '${r.Condition}' entities.
54
+ ${oo(t)}`,issue:null})):a.push(new E({id:`${e.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'declaration' property that isn't found in the project. The 'declaration' property must point to one of the built-in action descriptors reserved for '${r.Condition}' entities.
55
+ ${oo(t)}`,issue:null})):a.push(new E({id:`${e.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' is missing the 'declaration' property. This property is required for a '${e.type}' entity and must point to one of the built-in action descriptors reserved for '${r.Condition}' entities.
56
+ ${oo(t)}`,issue:null})),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
57
+ If an entity is called by another, they must be in the same scope, which means they have the same parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent===this.project&&this.project.addCondition(this),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this}removeOutput(e){return this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.declaration=R(this.initialData.declaration,this.project),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.inputs.flatMap(i=>i.toFlat(e)),...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.calledBy.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.calledBy.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,declaration:this.declaration.toJSON(),successCalls:this.successCalls.map(e=>e.toJSON()),errorCalls:this.errorCalls.map(e=>e.toJSON()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),inputs:this.inputs.map(e=>e.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,declaration:this.declaration.toReference(),inputs:this.inputs.map(e=>e.toReference()),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.calledBy.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,declaration:this.declaration.id,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.inputs.forEach(e=>e.clearErrors()),this.successCalls.forEach(e=>e.clearErrors()),this.errorCalls.forEach(e=>e.clearErrors()),this}validate(){const e=z6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(e){return new me(this.toJSON(),this.project)}};l(me,"MUTABLE_BASE_PROPERTIES",["operator"]),l(me,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(me,"BASE_PROPERTIES",[...me.MUTABLE_BASE_PROPERTIES,...me.INMUTABLE_BASE_PROPERTIES]),l(me,"MUTABLE_META_PROPERTIES",["x","y"]),l(me,"INMUTABLE_META_PROPERTIES",[...me.INMUTABLE_BASE_PROPERTIES]),l(me,"META_PROPERTIES",[...me.MUTABLE_META_PROPERTIES,...me.INMUTABLE_META_PROPERTIES]),l(me,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),l(me,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(me,"UPSTREAM_PROPERTIES",[...me.MUTABLE_UPSTREAM_PROPERTIES,...me.INMUTABLE_UPSTREAM_PROPERTIES]),l(me,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","inputsDeclarations","inputs"]),l(me,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(me,"DOWNSTREAM_PROPERTIES",[...me.MUTABLE_DOWNSTREAM_PROPERTIES,...me.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(me,"PROPERTIES",[...me.META_PROPERTIES,...me.UPSTREAM_PROPERTIES,...me.DOWNSTREAM_PROPERTIES]);let pr=me;class tg{constructor(){l(this,"initialData")}}class Z6{}class X6 extends tg{}class Q6{}class K6{}class e9{}class cd{}class t9 extends cd{}class n9 extends cd{}class r9{}class la{static initReadsValue(e){if(e.initialData.readsValue&&e.initialData.readsValue.type!==r.GenericReference&&(e.readsValue=R(e.initialData.readsValue,e.project),Fe.includes(e.readsValue.type))){let t=e.parent;st.includes(t.type)||(t=t.parent),e.readsValue.setParent(t),e.readsValue.addValueReader(e),e.readsValue.initChildren(),t.detachedChildren.includes(e)?t.replaceDetachedChild(e,e.readsValue):t.subscribeDetachedChild(e.readsValue)}return e.readsValue}}class ca{static initWritesValues(e,t){const i=e.initialData.writesValues.reduce((s,o)=>{if(o.type===r.GenericReference||e.writesValues.some(p=>p.id===o.id))return s;const u=R(o,e.project);return u.setValueWriter(e),Fe.includes(u.type)&&(u.setParent(t),u.initChildren()),[...s,u]},[]),a=[...e.writesValues];return e.writesValues=S([...a,...i]),e.writesValues}}class i9{}function a9(n){var u;const e=VU(),t=n.toJSON();e.safeParse(t).success,(u=n.dataType)==null||u.validate(),n.inputs.forEach(p=>p.validate()),n.outputs.forEach(p=>p.validate()),n.internalCalls.forEach(p=>p.validate());const s=[...mn(n)];if(n.id==="random-company-employee-test-variable-id"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(p.error)}if(n.id==="company-dto-variable-one-id"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(p.error)}const o=Rd(n);return s.push(...o),X(n.errors,s)}const re=class re{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"dataType",null);l(this,"x");l(this,"y");l(this,"type",r.VariableDeclaration);l(this,"writesValues",[]);l(this,"readsValue",null);l(this,"inputs",[]);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"internalCalls",[]);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const m=D(e.parent);i=t.get(m)}const a=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),s=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),o=e.calledByError.map(m=>{const T=D(m);return t.get(T)});let u=null;if(e.readsValue){const m=D(e.readsValue);u=t.get(m)}const p={id:e.id,version:1,type:r.VariableDeclaration,name:e.name,description:e.description,calledByEntry:a,calledBySuccess:s,calledByError:o,dataType:null,errorCalls:[],successCalls:[],internalCalls:[],readsValue:u,inputs:[],outputs:[],writesValues:[],x:0,y:0,parent:i},h=R(p,t);return h.setParent(i),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);i=s.modifiedData;const o=id(i,t);return a.push(...s.errors,...o,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];let i=JSON.parse(JSON.stringify(e));const a=ua(i,this);return i=a.modifiedData,t.push(...a.errors),e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
58
58
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
59
59
  Specifically for variables, their scope is also calculated from their value readers and value writters.
60
- You shouldn't have to manually update a 'parent' property. The equivalent result is to change its value readers, value writters, or callers.`,issue:null})),{errors:t,modifiedData:i}}addSelfToProject(){return this.parent===this.project&&this.project.addVariableDeclaration(this),this.readsValue&&this.readsValue.addValueReader(this),this.writesValues.forEach(e=>{e.setValueWriter(this)}),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}get usedInputs(){return this.inputs.filter(e=>e.readsValue||e.dynamicArguments.length||e.defaultValue)}get unusedInputs(){return this.inputs.filter(e=>!e.readsValue&&!e.dynamicArguments.length&&!e.defaultValue)}get usedOutputs(){return this.outputs.filter(e=>e.writesValues.length)}get unusedOutputs(){return this.outputs.filter(e=>!e.writesValues.length)}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addValueReader(e){return this.writesValues.includes(e)?this:(this.writesValues.push(e),this)}removeValueReader(e){return this.writesValues=this.writesValues.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.dataType&&(this.dataType=R(this.initialData.dataType,this.project),this.dataType.setParent(this),this.dataType.initChildren()),la.initWritesValues(this,this.parent),oa.initReadsValue(this),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.internalCalls=this.initialData.internalCalls.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.inputs.push(...this.generateUnusedInputs()),this.outputs.push(...this.generateUnusedOutputs()),this)}setValueWriter(e){return this.readsValue=e,this}removeValueWriter(){return this.readsValue=null,this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this.sync(e),ya(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.readsValue&&(i.push(this.readsValue),this.readsValue.removeValueReader(this)),this.writesValues.forEach(s=>{i.push(s),s.readsValue=null}),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.internalCalls.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.dataType){const{affected:s,removed:o}=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){this.subscribe();const t=[];if(this.readsValue&&(t.push(this.readsValue),this.readsValue.addValueReader(this)),this.writesValues.forEach(i=>{t.push(i),i.setValueWriter(this)}),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.internalCalls.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.dataType){const{affected:i}=this.dataType.restore({seenEntities:e});t.push(...i)}return this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this,...((i=this.dataType)==null?void 0:i.toFlat(e))||[],...this.writesValues.flatMap(a=>a.toFlat(e)),...this.successCalls.flatMap(a=>a.toFlat(e)),...this.errorCalls.flatMap(a=>a.toFlat(e)),...this.inputs.flatMap(a=>a.toFlat(e)),...this.outputs.flatMap(a=>a.toFlat(e)),...this.internalCalls.flatMap(a=>a.toFlat(e))])}toFlatIds(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((i=this.dataType)==null?void 0:i.toFlatIds(e))||[],...this.writesValues.flatMap(a=>a.toFlatIds(e)),...this.successCalls.flatMap(a=>a.toFlatIds(e)),...this.errorCalls.flatMap(a=>a.toFlatIds(e)),...this.inputs.flatMap(a=>a.toFlatIds(e)),...this.outputs.flatMap(a=>a.toFlatIds(e)),...this.internalCalls.flatMap(a=>a.toFlatIds(e))])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,readsValue:((t=this.readsValue)==null?void 0:t.toReference())||null,writesValues:this.writesValues.map(i=>i.toJSON()),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),internalCalls:this.internalCalls.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),parent:this.parent.toReference(),x:this.x,y:this.y}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,x:this.x,y:this.y,dataType:((e=this.dataType)==null?void 0:e.toReference())||null,readsValue:((t=this.readsValue)==null?void 0:t.toReference())||null,writesValues:this.writesValues.map(i=>i.toReference()),inputs:this.inputs.map(i=>i.toReference()),outputs:this.outputs.map(i=>i.toReference()),successCalls:this.successCalls.map(i=>i.toReference()),errorCalls:this.errorCalls.map(i=>i.toReference()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),internalCalls:this.internalCalls.map(i=>i.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.dataType)==null?void 0:i.toFlatJSON(e))||[],...this.writesValues.flatMap(a=>a.toFlatJSON(e)),...this.successCalls.flatMap(a=>a.toFlatJSON(e)),...this.errorCalls.flatMap(a=>a.toFlatJSON(e)),...this.inputs.flatMap(a=>a.toFlatJSON(e)),...this.outputs.flatMap(a=>a.toFlatJSON(e)),...this.internalCalls.flatMap(a=>a.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,name:this.name,description:this.description,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.dataType)==null?void 0:i.toFlatGenerationTarget(e))||[],...this.writesValues.flatMap(a=>a.toFlatGenerationTarget(e)),...this.successCalls.flatMap(a=>a.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(a=>a.toFlatGenerationTarget(e)),...this.inputs.flatMap(a=>a.toFlatGenerationTarget(e)),...this.outputs.flatMap(a=>a.toFlatGenerationTarget(e)),...this.internalCalls.flatMap(a=>a.toFlatGenerationTarget(e))])}clearErrors(){var e;return this.errors=[],this.inputs.forEach(t=>t.clearErrors()),this.outputs.forEach(t=>t.clearErrors()),this.successCalls.forEach(t=>t.clearErrors()),this.errorCalls.forEach(t=>t.clearErrors()),this.internalCalls.forEach(t=>t.clearErrors()),(e=this.dataType)==null||e.clearErrors(),this}validate(){const e=r6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t,i;return[...this.errors,...((t=this.dataType)==null?void 0:t.getErrors())||[],...this.inputs.flatMap(a=>a.getErrors()),...this.internalCalls.flatMap(a=>a.getErrors()),...this.outputs.flatMap(a=>a.getErrors()),...((i=this.readsValue)==null?void 0:i.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e;return((e=this.dataType)==null?void 0:e.defaultValue)||null}clone(e){return new re(this.toJSON(),this.project)}addInternalCall(e){return this.internalCalls.find(t=>t===e)||this.internalCalls.push(e),this}createInstance(e=this.project,t={}){const i={id:t.id||$.UUID.uuid(),version:t.version||1,type:r.VariableInstance,parent:e.toReference(),successCalls:t.successCalls||[],errorCalls:t.errorCalls||[],inputs:t.inputs||[],outputs:t.outputs||[],writesValues:t.writesValues||[],internalCalls:t.internalCalls||[],readsValue:t.readsValue||null,calledByEntry:t.calledByEntry||[],calledBySuccess:t.calledBySuccess||[],calledByError:t.calledByError||[],declaration:this.toJSON(),x:0,y:0},a=R(i,this.project);return a.setParent(e),a.initChildren(),e===this.project&&this.project.addVariableInstance(a),a}generateUnusedInputs(){if(this.dataType)if(this.dataType.entity){if(this.dataType.entity.type===r.CustomEntity)return this.dataType.entity.properties.filter(i=>!this.inputs.find(a=>a.declaration===i)).map(i=>{const a={id:$.UUID.uuid(),version:1,type:r.InputMap,parent:this.toReference(),name:null,description:null,dynamicArguments:[],declaration:i,defaultValue:null,index:i.index,readsValue:null},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,s})}else return[];else return[];return[]}generateUnusedOutputs(){if(this.dataType)if(this.dataType.entity){if(this.dataType.entity.type===r.CustomEntity)return this.dataType.entity.properties.filter(i=>!this.outputs.find(a=>a.declaration===i)).map(i=>{const a={id:$.UUID.uuid(),version:1,type:r.OutputMap,parent:this.toReference(),declaration:i,index:i.index,writesValues:[]},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,s})}else return[];else return[];return[]}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}getDataType(){return this.dataType||null}};l(re,"MUTABLE_BASE_PROPERTIES",["name","description"]),l(re,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(re,"BASE_PROPERTIES",[...re.MUTABLE_BASE_PROPERTIES,...re.INMUTABLE_BASE_PROPERTIES]),l(re,"MUTABLE_META_PROPERTIES",[...re.MUTABLE_BASE_PROPERTIES,"x","y"]),l(re,"INMUTABLE_META_PROPERTIES",[...re.INMUTABLE_BASE_PROPERTIES]),l(re,"META_PROPERTIES",[...re.MUTABLE_META_PROPERTIES,...re.INMUTABLE_META_PROPERTIES]),l(re,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","readsValue"]),l(re,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","dataType"]),l(re,"UPSTREAM_PROPERTIES",[...re.MUTABLE_UPSTREAM_PROPERTIES,...re.INMUTABLE_UPSTREAM_PROPERTIES]),l(re,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues","inputs","outputs","successCalls","errorCalls","internalCalls"]),l(re,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(re,"DOWNSTREAM_PROPERTIES",[...re.MUTABLE_DOWNSTREAM_PROPERTIES,...re.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(re,"PROPERTIES",[...re.META_PROPERTIES,...re.UPSTREAM_PROPERTIES,...re.DOWNSTREAM_PROPERTIES]);let pr=re;function i6(n){const e=FU(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(u=>u.validate()),n.outputs.forEach(u=>u.validate()),n.internalCalls.forEach(u=>u.validate());const s=[...mn(n)];if(n.id==="exec-sequentially-result-variable-id"){const u=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(u.error)}const o=md(n);return s.push(...o),X(n.errors,s)}const ie=class ie{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.VariableInstance);l(this,"writesValues",[]);l(this,"readsValue",null);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"internalCalls",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const b=D(e.parent);i=t.get(b)}const a=D(e.declaration),s=t.get(a),o=e.calledByEntry.map(b=>{const I=D(b);return t.get(I)}),u=e.calledBySuccess.map(b=>{const I=D(b);return t.get(I)}),p=e.calledByError.map(b=>{const I=D(b);return t.get(I)});let h=null;if(e.readsValue){const b=D(e.readsValue);h=t.get(b)}const m={id:e.id,version:1,type:r.VariableInstance,declaration:s.toReference(),calledByEntry:o,calledBySuccess:u,calledByError:p,errorCalls:[],successCalls:[],internalCalls:[],readsValue:h,inputs:[],outputs:[],writesValues:[],x:0,y:0,parent:i},T=R(m,t);return T.setParent(i),T.initChildren(),T}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0},declaration:{list:!1,types:[r.VariableDeclaration]}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];let i=JSON.parse(JSON.stringify(e));const a=da(i,this);return i=a.modifiedData,t.push(...a.errors),e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
60
+ You shouldn't have to manually update a 'parent' property. The equivalent result is to change its value readers, value writters, or callers.`,issue:null})),{errors:t,modifiedData:i}}addSelfToProject(){return this.parent===this.project&&this.project.addVariableDeclaration(this),this.readsValue&&this.readsValue.addValueReader(this),this.writesValues.forEach(e=>{e.setValueWriter(this)}),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}get usedInputs(){return this.inputs.filter(e=>e.readsValue||e.dynamicArguments.length||e.defaultValue)}get unusedInputs(){return this.inputs.filter(e=>!e.readsValue&&!e.dynamicArguments.length&&!e.defaultValue)}get usedOutputs(){return this.outputs.filter(e=>e.writesValues.length)}get unusedOutputs(){return this.outputs.filter(e=>!e.writesValues.length)}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addValueReader(e){return this.writesValues.includes(e)?this:(this.writesValues.push(e),this)}removeValueReader(e){return this.writesValues=this.writesValues.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.dataType&&(this.dataType=R(this.initialData.dataType,this.project),this.dataType.setParent(this),this.dataType.initChildren()),ca.initWritesValues(this,this.parent),la.initReadsValue(this),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.internalCalls=this.initialData.internalCalls.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.inputs.push(...this.generateUnusedInputs()),this.outputs.push(...this.generateUnusedOutputs()),this)}setValueWriter(e){return this.readsValue=e,this}removeValueWriter(){return this.readsValue=null,this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this.sync(e),ha(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.readsValue&&(i.push(this.readsValue),this.readsValue.removeValueReader(this)),this.writesValues.forEach(s=>{i.push(s),s.readsValue=null}),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.internalCalls.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.dataType){const{affected:s,removed:o}=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){this.subscribe();const t=[];if(this.readsValue&&(t.push(this.readsValue),this.readsValue.addValueReader(this)),this.writesValues.forEach(i=>{t.push(i),i.setValueWriter(this)}),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.internalCalls.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.dataType){const{affected:i}=this.dataType.restore({seenEntities:e});t.push(...i)}return this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this,...((i=this.dataType)==null?void 0:i.toFlat(e))||[],...this.writesValues.flatMap(a=>a.toFlat(e)),...this.successCalls.flatMap(a=>a.toFlat(e)),...this.errorCalls.flatMap(a=>a.toFlat(e)),...this.inputs.flatMap(a=>a.toFlat(e)),...this.outputs.flatMap(a=>a.toFlat(e)),...this.internalCalls.flatMap(a=>a.toFlat(e))])}toFlatIds(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((i=this.dataType)==null?void 0:i.toFlatIds(e))||[],...this.writesValues.flatMap(a=>a.toFlatIds(e)),...this.successCalls.flatMap(a=>a.toFlatIds(e)),...this.errorCalls.flatMap(a=>a.toFlatIds(e)),...this.inputs.flatMap(a=>a.toFlatIds(e)),...this.outputs.flatMap(a=>a.toFlatIds(e)),...this.internalCalls.flatMap(a=>a.toFlatIds(e))])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,readsValue:((t=this.readsValue)==null?void 0:t.toReference())||null,writesValues:this.writesValues.map(i=>i.toJSON()),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),internalCalls:this.internalCalls.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),parent:this.parent.toReference(),x:this.x,y:this.y}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,x:this.x,y:this.y,dataType:((e=this.dataType)==null?void 0:e.toReference())||null,readsValue:((t=this.readsValue)==null?void 0:t.toReference())||null,writesValues:this.writesValues.map(i=>i.toReference()),inputs:this.inputs.map(i=>i.toReference()),outputs:this.outputs.map(i=>i.toReference()),successCalls:this.successCalls.map(i=>i.toReference()),errorCalls:this.errorCalls.map(i=>i.toReference()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),internalCalls:this.internalCalls.map(i=>i.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.dataType)==null?void 0:i.toFlatJSON(e))||[],...this.writesValues.flatMap(a=>a.toFlatJSON(e)),...this.successCalls.flatMap(a=>a.toFlatJSON(e)),...this.errorCalls.flatMap(a=>a.toFlatJSON(e)),...this.inputs.flatMap(a=>a.toFlatJSON(e)),...this.outputs.flatMap(a=>a.toFlatJSON(e)),...this.internalCalls.flatMap(a=>a.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,name:this.name,description:this.description,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.dataType)==null?void 0:i.toFlatGenerationTarget(e))||[],...this.writesValues.flatMap(a=>a.toFlatGenerationTarget(e)),...this.successCalls.flatMap(a=>a.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(a=>a.toFlatGenerationTarget(e)),...this.inputs.flatMap(a=>a.toFlatGenerationTarget(e)),...this.outputs.flatMap(a=>a.toFlatGenerationTarget(e)),...this.internalCalls.flatMap(a=>a.toFlatGenerationTarget(e))])}clearErrors(){var e;return this.errors=[],this.inputs.forEach(t=>t.clearErrors()),this.outputs.forEach(t=>t.clearErrors()),this.successCalls.forEach(t=>t.clearErrors()),this.errorCalls.forEach(t=>t.clearErrors()),this.internalCalls.forEach(t=>t.clearErrors()),(e=this.dataType)==null||e.clearErrors(),this}validate(){const e=a9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t,i;return[...this.errors,...((t=this.dataType)==null?void 0:t.getErrors())||[],...this.inputs.flatMap(a=>a.getErrors()),...this.internalCalls.flatMap(a=>a.getErrors()),...this.outputs.flatMap(a=>a.getErrors()),...((i=this.readsValue)==null?void 0:i.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e;return((e=this.dataType)==null?void 0:e.defaultValue)||null}clone(e){return new re(this.toJSON(),this.project)}addInternalCall(e){return this.internalCalls.find(t=>t===e)||this.internalCalls.push(e),this}createInstance(e=this.project,t={}){const i={id:t.id||$.UUID.uuid(),version:t.version||1,type:r.VariableInstance,parent:e.toReference(),successCalls:t.successCalls||[],errorCalls:t.errorCalls||[],inputs:t.inputs||[],outputs:t.outputs||[],writesValues:t.writesValues||[],internalCalls:t.internalCalls||[],readsValue:t.readsValue||null,calledByEntry:t.calledByEntry||[],calledBySuccess:t.calledBySuccess||[],calledByError:t.calledByError||[],declaration:this.toJSON(),x:0,y:0},a=R(i,this.project);return a.setParent(e),a.initChildren(),e===this.project&&this.project.addVariableInstance(a),a}generateUnusedInputs(){if(this.dataType)if(this.dataType.entity){if(this.dataType.entity.type===r.CustomEntity)return this.dataType.entity.properties.filter(i=>!this.inputs.find(a=>a.declaration===i)).map(i=>{const a={id:$.UUID.uuid(),version:1,type:r.InputMap,parent:this.toReference(),name:null,description:null,dynamicArguments:[],declaration:i,defaultValue:null,index:i.index,readsValue:null},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,s})}else return[];else return[];return[]}generateUnusedOutputs(){if(this.dataType)if(this.dataType.entity){if(this.dataType.entity.type===r.CustomEntity)return this.dataType.entity.properties.filter(i=>!this.outputs.find(a=>a.declaration===i)).map(i=>{const a={id:$.UUID.uuid(),version:1,type:r.OutputMap,parent:this.toReference(),declaration:i,index:i.index,writesValues:[]},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,s})}else return[];else return[];return[]}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}getDataType(){return this.dataType||null}};l(re,"MUTABLE_BASE_PROPERTIES",["name","description"]),l(re,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(re,"BASE_PROPERTIES",[...re.MUTABLE_BASE_PROPERTIES,...re.INMUTABLE_BASE_PROPERTIES]),l(re,"MUTABLE_META_PROPERTIES",[...re.MUTABLE_BASE_PROPERTIES,"x","y"]),l(re,"INMUTABLE_META_PROPERTIES",[...re.INMUTABLE_BASE_PROPERTIES]),l(re,"META_PROPERTIES",[...re.MUTABLE_META_PROPERTIES,...re.INMUTABLE_META_PROPERTIES]),l(re,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","readsValue"]),l(re,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","dataType"]),l(re,"UPSTREAM_PROPERTIES",[...re.MUTABLE_UPSTREAM_PROPERTIES,...re.INMUTABLE_UPSTREAM_PROPERTIES]),l(re,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues","inputs","outputs","successCalls","errorCalls","internalCalls"]),l(re,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(re,"DOWNSTREAM_PROPERTIES",[...re.MUTABLE_DOWNSTREAM_PROPERTIES,...re.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(re,"PROPERTIES",[...re.META_PROPERTIES,...re.UPSTREAM_PROPERTIES,...re.DOWNSTREAM_PROPERTIES]);let yr=re;function s9(n){const e=xU(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(u=>u.validate()),n.outputs.forEach(u=>u.validate()),n.internalCalls.forEach(u=>u.validate());const s=[...mn(n)];if(n.id==="exec-sequentially-result-variable-id"){const u=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(u.error)}const o=Rd(n);return s.push(...o),X(n.errors,s)}const ie=class ie{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.VariableInstance);l(this,"writesValues",[]);l(this,"readsValue",null);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"internalCalls",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const b=D(e.parent);i=t.get(b)}const a=D(e.declaration),s=t.get(a),o=e.calledByEntry.map(b=>{const I=D(b);return t.get(I)}),u=e.calledBySuccess.map(b=>{const I=D(b);return t.get(I)}),p=e.calledByError.map(b=>{const I=D(b);return t.get(I)});let h=null;if(e.readsValue){const b=D(e.readsValue);h=t.get(b)}const m={id:e.id,version:1,type:r.VariableInstance,declaration:s.toReference(),calledByEntry:o,calledBySuccess:u,calledByError:p,errorCalls:[],successCalls:[],internalCalls:[],readsValue:h,inputs:[],outputs:[],writesValues:[],x:0,y:0,parent:i},T=R(m,t);return T.setParent(i),T.initChildren(),T}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0},declaration:{list:!1,types:[r.VariableDeclaration]}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];let i=JSON.parse(JSON.stringify(e));const a=ua(i,this);return i=a.modifiedData,t.push(...a.errors),e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
61
61
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
62
62
  Specifically for variables, their scope is also calculated from their value readers and value writters.
63
- You shouldn't have to manually update a 'parent' property. The equivalent result is to change its value readers, value writters, or callers.`,issue:null})),{errors:t,modifiedData:i}}addSelfToProject(){return this.parent===this.project&&this.project.addVariableInstance(this),this.readsValue&&this.readsValue.addValueReader(this),this.writesValues.forEach(e=>{e.setValueWriter(this)}),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}get usedInputs(){return this.inputs.filter(e=>e.readsValue||e.dynamicArguments.length||e.defaultValue)}get unusedInputs(){return this.inputs.filter(e=>!e.readsValue&&!e.dynamicArguments.length&&!e.defaultValue)}get usedOutputs(){return this.outputs.filter(e=>e.writesValues.length)}get unusedOutputs(){return this.outputs.filter(e=>!e.writesValues.length)}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addValueReader(e){return this.writesValues.includes(e)?this:(this.writesValues.push(e),this)}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.declaration.type===r.GenericReference){const e=this.project.findSubscribedInstanceFromReference(this.initialData.declaration);if(!e)return this;this.declaration=e}else this.declaration=R(this.initialData.declaration,this.project),this.declaration.setParent(this.parent),this.declaration.initChildren();return la.initWritesValues(this,this.parent),oa.initReadsValue(this),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.internalCalls=this.initialData.internalCalls.reduce((e,t)=>{if(t.type===r.GenericReference){const i=this.project.findSubscribedInstanceFromReference(t);if(!i)return e;const a=i;return a.setParent(this),[...e,a]}else{const i=R(t,this.project);return i.setParent(this),i.initChildren(),[...e,i]}},[]),this.inputs.push(...this.generateUnusedInputs()),this.outputs.push(...this.generateUnusedOutputs()),this}setValueWriter(e){return this.readsValue=e,this}removeValueWriter(){return this.readsValue=null,this}removeValueReader(e){return this.writesValues=this.writesValues.filter(t=>t.id!==e.id),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this.sync(e),ya(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.readsValue&&(i.push(this.readsValue),this.readsValue.removeValueReader(this)),this.writesValues.forEach(s=>{i.push(s),s.readsValue=null}),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.internalCalls.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){this.subscribe();const t=[];return this.readsValue&&(t.push(this.readsValue),this.readsValue.addValueReader(this)),this.writesValues.forEach(i=>{t.push(i),i.setValueWriter(this)}),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.internalCalls.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.writesValues.flatMap(i=>i.toFlat(e)),...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.internalCalls.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.writesValues.flatMap(i=>i.toFlatIds(e)),...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.internalCalls.flatMap(i=>i.toFlatIds(e))])}toJSON(){var e;return{id:this.id,version:this.version,type:this.type,declaration:this.declaration.toReference(),readsValue:((e=this.readsValue)==null?void 0:e.toReference())||null,writesValues:this.writesValues.map(t=>t.toJSON()),inputs:this.inputs.map(t=>t.toJSON()),outputs:this.outputs.map(t=>t.toJSON()),successCalls:this.successCalls.map(t=>t.toJSON()),errorCalls:this.errorCalls.map(t=>t.toJSON()),internalCalls:this.internalCalls.map(t=>t.toJSON()),calledBySuccess:this.calledBySuccess.map(t=>t.toReference()),calledByError:this.calledByError.map(t=>t.toReference()),calledByEntry:this.calledByEntry.map(t=>t.toReference()),parent:this.parent.toReference(),x:this.x,y:this.y}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,declaration:((e=this.declaration)==null?void 0:e.toReference())||null,readsValue:((t=this.readsValue)==null?void 0:t.toReference())||null,writesValues:this.writesValues.map(i=>i.toReference()),inputs:this.inputs.map(i=>i.toReference()),outputs:this.outputs.map(i=>i.toReference()),successCalls:this.successCalls.map(i=>i.toReference()),errorCalls:this.errorCalls.map(i=>i.toReference()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),internalCalls:this.internalCalls.map(i=>i.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.declaration)==null?void 0:i.toFlatJSON(e))||[],...this.writesValues.flatMap(a=>a.toFlatJSON(e)),...this.successCalls.flatMap(a=>a.toFlatJSON(e)),...this.errorCalls.flatMap(a=>a.toFlatJSON(e)),...this.inputs.flatMap(a=>a.toFlatJSON(e)),...this.outputs.flatMap(a=>a.toFlatJSON(e)),...this.internalCalls.flatMap(a=>a.toFlatJSON(e)),...this.calledBy.flatMap(a=>a.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,declaration:this.declaration.id,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){var i,a;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.declaration)==null?void 0:i.toFlatGenerationTarget(e))||[],...((a=this.readsValue)==null?void 0:a.toFlatGenerationTarget(e))||[],...this.writesValues.flatMap(s=>s.toFlatGenerationTarget(e)),...this.successCalls.flatMap(s=>s.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(s=>s.toFlatGenerationTarget(e)),...this.inputs.flatMap(s=>s.toFlatGenerationTarget(e)),...this.outputs.flatMap(s=>s.toFlatGenerationTarget(e)),...this.internalCalls.flatMap(s=>s.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.inputs.forEach(e=>e.clearErrors()),this.outputs.forEach(e=>e.clearErrors()),this.successCalls.forEach(e=>e.clearErrors()),this.errorCalls.forEach(e=>e.clearErrors()),this.internalCalls.forEach(e=>e.clearErrors()),this}validate(){const e=i6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t;return[...this.errors,...this.inputs.flatMap(i=>i.getErrors()),...this.internalCalls.flatMap(i=>i.getErrors()),...this.outputs.flatMap(i=>i.getErrors()),...((t=this.readsValue)==null?void 0:t.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e,t;return((t=(e=this.declaration)==null?void 0:e.dataType)==null?void 0:t.defaultValue)||null}clone(e){return new ie(this.toJSON(),this.project)}addInternalCall(e){return this.internalCalls.find(t=>t===e)||this.internalCalls.push(e),this}setDeclaration(e){return this.declaration!==e&&(this.declaration=e),this}generateUnusedInputs(){if(this.declaration.dataType)if(this.declaration.dataType.entity){if(this.declaration.dataType.entity.type===r.CustomEntity)return this.declaration.dataType.entity.properties.filter(i=>!this.inputs.find(a=>a.declaration===i)).map(i=>{const a={id:$.UUID.uuid(),version:1,type:r.InputMap,parent:this.toReference(),name:null,description:null,dynamicArguments:[],declaration:i,defaultValue:null,index:i.index,readsValue:null},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,s})}else return[];else return[];return[]}generateUnusedOutputs(){if(this.declaration.dataType)if(this.declaration.dataType.entity){if(this.declaration.dataType.entity.type===r.CustomEntity)return this.declaration.dataType.entity.properties.filter(i=>!this.outputs.find(a=>a.declaration===i)).map(i=>{const a={id:$.UUID.uuid(),version:1,type:r.OutputMap,parent:this.toReference(),declaration:i,index:i.index,writesValues:[]},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,s})}else return[];else return[];return[]}getDataType(){var e;return((e=this.declaration)==null?void 0:e.getDataType())||null}};l(ie,"MUTABLE_BASE_PROPERTIES",[]),l(ie,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(ie,"BASE_PROPERTIES",[...ie.MUTABLE_BASE_PROPERTIES,...ie.INMUTABLE_BASE_PROPERTIES]),l(ie,"MUTABLE_META_PROPERTIES",[...ie.MUTABLE_BASE_PROPERTIES,"x","y"]),l(ie,"INMUTABLE_META_PROPERTIES",[...ie.INMUTABLE_BASE_PROPERTIES]),l(ie,"META_PROPERTIES",[...ie.MUTABLE_META_PROPERTIES,...ie.INMUTABLE_META_PROPERTIES]),l(ie,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","readsValue"]),l(ie,"INMUTABLE_UPSTREAM_PROPERTIES",["declaration","parent"]),l(ie,"UPSTREAM_PROPERTIES",[...ie.MUTABLE_UPSTREAM_PROPERTIES,...ie.INMUTABLE_UPSTREAM_PROPERTIES]),l(ie,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues","inputs","outputs","successCalls","errorCalls","internalCalls"]),l(ie,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ie,"DOWNSTREAM_PROPERTIES",[...ie.MUTABLE_DOWNSTREAM_PROPERTIES,...ie.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ie,"PROPERTIES",[...ie.META_PROPERTIES,...ie.UPSTREAM_PROPERTIES,...ie.DOWNSTREAM_PROPERTIES]);let yr=ie;function a6(n){var s;const e=$4(),t=n.toJSON();e.safeParse(t).success,(s=n.dataType)==null||s.validate();const a=[];if(n.id==="iterate-over-employee-list-continue-statement-employee-dto-output-decl-id"){const o=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(o.error)}return X(n.errors,a)}const ae=class ae{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"index");l(this,"required");l(this,"isError");l(this,"type",r.ReturnDeclaration);l(this,"dataType",null);l(this,"readsValue",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.name=e.name,this.description=e.description,this.required=e.required,this.isError=e.isError}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;if(e.readsValue){const p=D(e.readsValue);s=t.get(p)}const o={id:e.id,version:1,name:e.name,type:r.ReturnDeclaration,index:a.outputs.length,isError:!1,description:e.description,required:e.required,readsValue:s,dataType:null,parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){var u,p;let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.ReturnStatement,r.Search,r.BreakStatement,r.ContinueStatement]}},t),o=id(i,t);if(i=s.modifiedData,i.parent){const h=t.get(D(i.parent));if(h&&[r.BreakStatement,r.ContinueStatement].includes(h.type)){const m=h,T=m.parent,b=[...T.breakStatements.filter(B=>B.id!==h.id),...T.continueStatements.filter(B=>B.id!==h.id)];if(m.outputs.length)a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ReturnDeclaration}' with id '${i.id}' cannot be added to the parent entity of type '${m.type}' with id '${m.id}'. This '${m.type}' already has return declarations.
64
- ${dd}`,issue:null}));else{const B=(p=(u=b[0])==null?void 0:u.outputs[0])==null?void 0:p.name;B!==i.name&&a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ReturnDeclaration}' with id '${i.id}' cannot be added to the parent entity of type '${m.type}' with id '${m.id}'. This new 'return-declaration' doesn't have the same name "${B}" as the return declarations on the other statements in the same scope.
65
- ${dd}`,issue:null}))}}else if(h&&h.type===r.ReturnStatement){const m=h.parent;if(m&&$e.includes(m.type)){const T=m.implements;if(T)if(T.returnsType===L.Fixed){const b=T.fixedReturns.find(Le=>Le.name===i.name),I=T.fixedReturns.filter(Le=>!h.outputs.find(Wg=>Wg.type===r.ReturnDeclaration&&Wg.name===Le.name)),B=h.outputs.filter(Le=>Le.type===r.ReturnDeclaration),G=B.find(Le=>Le.name===i.name),W=B.length?`The parent entity already implements the following return declarations: ${N(B.map(Le=>`'${Le.id}' (${Le.name})`),", "," and ")}.`:"The parent entity does not yet have any implemented return declarations.",xt=I.length?`The parent entity is still missing the following returns in the implementation: ${N(I.map(Le=>`'${Le.id}' (${Le.name})`),", "," and ")}.`:"The parent entity has all the returns it needs implemented.";b?G&&a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ReturnDeclaration}' with id '${i.id}' should not exist in a parent entity of type '${h.type}' with id '${h.id}' that implements a ${r.ActionDescriptor} with fixed outputs.
63
+ You shouldn't have to manually update a 'parent' property. The equivalent result is to change its value readers, value writters, or callers.`,issue:null})),{errors:t,modifiedData:i}}addSelfToProject(){return this.parent===this.project&&this.project.addVariableInstance(this),this.readsValue&&this.readsValue.addValueReader(this),this.writesValues.forEach(e=>{e.setValueWriter(this)}),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}get usedInputs(){return this.inputs.filter(e=>e.readsValue||e.dynamicArguments.length||e.defaultValue)}get unusedInputs(){return this.inputs.filter(e=>!e.readsValue&&!e.dynamicArguments.length&&!e.defaultValue)}get usedOutputs(){return this.outputs.filter(e=>e.writesValues.length)}get unusedOutputs(){return this.outputs.filter(e=>!e.writesValues.length)}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addValueReader(e){return this.writesValues.includes(e)?this:(this.writesValues.push(e),this)}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.declaration.type===r.GenericReference){const e=this.project.findSubscribedInstanceFromReference(this.initialData.declaration);if(!e)return this;this.declaration=e}else this.declaration=R(this.initialData.declaration,this.project),this.declaration.setParent(this.parent),this.declaration.initChildren();return ca.initWritesValues(this,this.parent),la.initReadsValue(this),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.internalCalls=this.initialData.internalCalls.reduce((e,t)=>{if(t.type===r.GenericReference){const i=this.project.findSubscribedInstanceFromReference(t);if(!i)return e;const a=i;return a.setParent(this),[...e,a]}else{const i=R(t,this.project);return i.setParent(this),i.initChildren(),[...e,i]}},[]),this.inputs.push(...this.generateUnusedInputs()),this.outputs.push(...this.generateUnusedOutputs()),this}setValueWriter(e){return this.readsValue=e,this}removeValueWriter(){return this.readsValue=null,this}removeValueReader(e){return this.writesValues=this.writesValues.filter(t=>t.id!==e.id),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this.sync(e),ha(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.readsValue&&(i.push(this.readsValue),this.readsValue.removeValueReader(this)),this.writesValues.forEach(s=>{i.push(s),s.readsValue=null}),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.internalCalls.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){this.subscribe();const t=[];return this.readsValue&&(t.push(this.readsValue),this.readsValue.addValueReader(this)),this.writesValues.forEach(i=>{t.push(i),i.setValueWriter(this)}),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.internalCalls.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.writesValues.flatMap(i=>i.toFlat(e)),...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.internalCalls.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.writesValues.flatMap(i=>i.toFlatIds(e)),...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.internalCalls.flatMap(i=>i.toFlatIds(e))])}toJSON(){var e;return{id:this.id,version:this.version,type:this.type,declaration:this.declaration.toReference(),readsValue:((e=this.readsValue)==null?void 0:e.toReference())||null,writesValues:this.writesValues.map(t=>t.toJSON()),inputs:this.inputs.map(t=>t.toJSON()),outputs:this.outputs.map(t=>t.toJSON()),successCalls:this.successCalls.map(t=>t.toJSON()),errorCalls:this.errorCalls.map(t=>t.toJSON()),internalCalls:this.internalCalls.map(t=>t.toJSON()),calledBySuccess:this.calledBySuccess.map(t=>t.toReference()),calledByError:this.calledByError.map(t=>t.toReference()),calledByEntry:this.calledByEntry.map(t=>t.toReference()),parent:this.parent.toReference(),x:this.x,y:this.y}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,declaration:((e=this.declaration)==null?void 0:e.toReference())||null,readsValue:((t=this.readsValue)==null?void 0:t.toReference())||null,writesValues:this.writesValues.map(i=>i.toReference()),inputs:this.inputs.map(i=>i.toReference()),outputs:this.outputs.map(i=>i.toReference()),successCalls:this.successCalls.map(i=>i.toReference()),errorCalls:this.errorCalls.map(i=>i.toReference()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),internalCalls:this.internalCalls.map(i=>i.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.declaration)==null?void 0:i.toFlatJSON(e))||[],...this.writesValues.flatMap(a=>a.toFlatJSON(e)),...this.successCalls.flatMap(a=>a.toFlatJSON(e)),...this.errorCalls.flatMap(a=>a.toFlatJSON(e)),...this.inputs.flatMap(a=>a.toFlatJSON(e)),...this.outputs.flatMap(a=>a.toFlatJSON(e)),...this.internalCalls.flatMap(a=>a.toFlatJSON(e)),...this.calledBy.flatMap(a=>a.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,declaration:this.declaration.id,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){var i,a;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.declaration)==null?void 0:i.toFlatGenerationTarget(e))||[],...((a=this.readsValue)==null?void 0:a.toFlatGenerationTarget(e))||[],...this.writesValues.flatMap(s=>s.toFlatGenerationTarget(e)),...this.successCalls.flatMap(s=>s.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(s=>s.toFlatGenerationTarget(e)),...this.inputs.flatMap(s=>s.toFlatGenerationTarget(e)),...this.outputs.flatMap(s=>s.toFlatGenerationTarget(e)),...this.internalCalls.flatMap(s=>s.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.inputs.forEach(e=>e.clearErrors()),this.outputs.forEach(e=>e.clearErrors()),this.successCalls.forEach(e=>e.clearErrors()),this.errorCalls.forEach(e=>e.clearErrors()),this.internalCalls.forEach(e=>e.clearErrors()),this}validate(){const e=s9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t;return[...this.errors,...this.inputs.flatMap(i=>i.getErrors()),...this.internalCalls.flatMap(i=>i.getErrors()),...this.outputs.flatMap(i=>i.getErrors()),...((t=this.readsValue)==null?void 0:t.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e,t;return((t=(e=this.declaration)==null?void 0:e.dataType)==null?void 0:t.defaultValue)||null}clone(e){return new ie(this.toJSON(),this.project)}addInternalCall(e){return this.internalCalls.find(t=>t===e)||this.internalCalls.push(e),this}setDeclaration(e){return this.declaration!==e&&(this.declaration=e),this}generateUnusedInputs(){if(this.declaration.dataType)if(this.declaration.dataType.entity){if(this.declaration.dataType.entity.type===r.CustomEntity)return this.declaration.dataType.entity.properties.filter(i=>!this.inputs.find(a=>a.declaration===i)).map(i=>{const a={id:$.UUID.uuid(),version:1,type:r.InputMap,parent:this.toReference(),name:null,description:null,dynamicArguments:[],declaration:i,defaultValue:null,index:i.index,readsValue:null},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,s})}else return[];else return[];return[]}generateUnusedOutputs(){if(this.declaration.dataType)if(this.declaration.dataType.entity){if(this.declaration.dataType.entity.type===r.CustomEntity)return this.declaration.dataType.entity.properties.filter(i=>!this.outputs.find(a=>a.declaration===i)).map(i=>{const a={id:$.UUID.uuid(),version:1,type:r.OutputMap,parent:this.toReference(),declaration:i,index:i.index,writesValues:[]},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,s})}else return[];else return[];return[]}getDataType(){var e;return((e=this.declaration)==null?void 0:e.getDataType())||null}};l(ie,"MUTABLE_BASE_PROPERTIES",[]),l(ie,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(ie,"BASE_PROPERTIES",[...ie.MUTABLE_BASE_PROPERTIES,...ie.INMUTABLE_BASE_PROPERTIES]),l(ie,"MUTABLE_META_PROPERTIES",[...ie.MUTABLE_BASE_PROPERTIES,"x","y"]),l(ie,"INMUTABLE_META_PROPERTIES",[...ie.INMUTABLE_BASE_PROPERTIES]),l(ie,"META_PROPERTIES",[...ie.MUTABLE_META_PROPERTIES,...ie.INMUTABLE_META_PROPERTIES]),l(ie,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","readsValue"]),l(ie,"INMUTABLE_UPSTREAM_PROPERTIES",["declaration","parent"]),l(ie,"UPSTREAM_PROPERTIES",[...ie.MUTABLE_UPSTREAM_PROPERTIES,...ie.INMUTABLE_UPSTREAM_PROPERTIES]),l(ie,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues","inputs","outputs","successCalls","errorCalls","internalCalls"]),l(ie,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ie,"DOWNSTREAM_PROPERTIES",[...ie.MUTABLE_DOWNSTREAM_PROPERTIES,...ie.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ie,"PROPERTIES",[...ie.META_PROPERTIES,...ie.UPSTREAM_PROPERTIES,...ie.DOWNSTREAM_PROPERTIES]);let hr=ie;function o9(n){var s;const e=L4(),t=n.toJSON();e.safeParse(t).success,(s=n.dataType)==null||s.validate();const a=[];if(n.id==="iterate-over-employee-list-continue-statement-employee-dto-output-decl-id"){const o=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(o.error)}return X(n.errors,a)}const ae=class ae{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"index");l(this,"required");l(this,"isError");l(this,"type",r.ReturnDeclaration);l(this,"dataType",null);l(this,"readsValue",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.name=e.name,this.description=e.description,this.required=e.required,this.isError=e.isError}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;if(e.readsValue){const p=D(e.readsValue);s=t.get(p)}const o={id:e.id,version:1,name:e.name,type:r.ReturnDeclaration,index:a.outputs.length,isError:!1,description:e.description,required:e.required,readsValue:s,dataType:null,parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){var u,p;let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.ReturnStatement,r.Search,r.BreakStatement,r.ContinueStatement]}},t),o=od(i,t);if(i=s.modifiedData,i.parent){const h=t.get(D(i.parent));if(h&&[r.BreakStatement,r.ContinueStatement].includes(h.type)){const m=h,T=m.parent,b=[...T.breakStatements.filter(B=>B.id!==h.id),...T.continueStatements.filter(B=>B.id!==h.id)];if(m.outputs.length)a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ReturnDeclaration}' with id '${i.id}' cannot be added to the parent entity of type '${m.type}' with id '${m.id}'. This '${m.type}' already has return declarations.
64
+ ${yd}`,issue:null}));else{const B=(p=(u=b[0])==null?void 0:u.outputs[0])==null?void 0:p.name;B!==i.name&&a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ReturnDeclaration}' with id '${i.id}' cannot be added to the parent entity of type '${m.type}' with id '${m.id}'. This new 'return-declaration' doesn't have the same name "${B}" as the return declarations on the other statements in the same scope.
65
+ ${yd}`,issue:null}))}}else if(h&&h.type===r.ReturnStatement){const m=h.parent;if(m&&$e.includes(m.type)){const T=m.implements;if(T)if(T.returnsType===L.Fixed){const b=T.fixedReturns.find(Le=>Le.name===i.name),I=T.fixedReturns.filter(Le=>!h.outputs.find(Hg=>Hg.type===r.ReturnDeclaration&&Hg.name===Le.name)),B=h.outputs.filter(Le=>Le.type===r.ReturnDeclaration),G=B.find(Le=>Le.name===i.name),W=B.length?`The parent entity already implements the following return declarations: ${N(B.map(Le=>`'${Le.id}' (${Le.name})`),", "," and ")}.`:"The parent entity does not yet have any implemented return declarations.",xt=I.length?`The parent entity is still missing the following returns in the implementation: ${N(I.map(Le=>`'${Le.id}' (${Le.name})`),", "," and ")}.`:"The parent entity has all the returns it needs implemented.";b?G&&a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ReturnDeclaration}' with id '${i.id}' should not exist in a parent entity of type '${h.type}' with id '${h.id}' that implements a ${r.ActionDescriptor} with fixed outputs.
66
66
  Adding a new return would make the implementation invalid. An return with the same name already exists in the parent entity.
67
67
  ${W}
68
68
  ${xt}`,issue:null})):a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ReturnDeclaration}' with id '${i.id}' should not exist in a parent entity of type '${h.type}' with id '${h.id}' that implements a ${r.ActionDescriptor} with fixed outputs.
69
69
  Adding a new return would make the implementation invalid. There are no returns in the descriptor with the same name.
70
70
  ${W}
71
71
  ${xt}`,issue:null}))}else T.returnsType===L.Dynamic||T.returnsType===L.None&&a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ReturnDeclaration}' with id '${i.id}' should not exist in a parent entity of type '${h.type}' with id '${h.id}' that implements a ${r.ActionDescriptor} with no outputs.
72
- Adding a new return would make the implementation invalid.`,issue:null}))}}}return a.push(...s.errors,...o,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];let i=JSON.parse(JSON.stringify(e));const a=da(i,this);return i=a.modifiedData,t.push(...a.errors),i.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
73
- This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:i}}addSelfToProject(){var e;return this.parent.addOutputDeclaration(this),(e=this.readsValue)==null||e.addValueReader(this),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.dataType&&(this.dataType=R(this.initialData.dataType,this.project),this.dataType.setParent(this),this.dataType.initChildren()),oa.initReadsValue(this),this)}setValueWriter(e){return this.readsValue=e,this}removeValueWriter(){return this.readsValue=null,this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this.name=e.name||this.name,this.description=e.description||this.description,this.required=e.required||this.required,this.isError=e.isError||this.isError,this}async load(){return this}async create(){return this}async update(e){return this.sync(e),ya(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.dataType){const s=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.dataType){const i=this.dataType.restore({seenEntities:e});t.push(...i.affected)}return{affected:[],self:this}}toFlat(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this,...((i=this.dataType)==null?void 0:i.toFlat(e))||[]])}toFlatIds(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((i=this.dataType)==null?void 0:i.toFlatIds(e))||[]])}toJSON(){var e,t;return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,index:this.index,required:this.required,isError:this.isError,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,readsValue:((t=this.readsValue)==null?void 0:t.toReference())||null,parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,index:this.index,required:this.required,isError:this.isError,readsValue:((e=this.readsValue)==null?void 0:e.toReference())||null,dataType:((t=this.dataType)==null?void 0:t.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.dataType)==null?void 0:i.toFlatJSON(e))||[]])}toGenerationTarget(){var e;return{id:this.id,name:this.name,description:this.description,type:this.type,isError:this.isError,readsValue:(e=this.readsValue)==null?void 0:e.id,required:this.required,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){var i,a;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.readsValue)==null?void 0:i.toFlatGenerationTarget(e))||[],...((a=this.dataType)==null?void 0:a.toFlatGenerationTarget(e))||[]])}clearErrors(){var e;return this.errors=[],(e=this.dataType)==null||e.clearErrors(),this}validate(){const e=a6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t;return[...this.errors,...((t=this.dataType)==null?void 0:t.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e;return((e=this.dataType)==null?void 0:e.defaultValue)||null}clone(e){return new ae(this.toJSON(),this.project)}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}getDataType(){return this.dataType}};l(ae,"MUTABLE_BASE_PROPERTIES",["name","description","required","isError"]),l(ae,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(ae,"BASE_PROPERTIES",[...ae.MUTABLE_BASE_PROPERTIES,...ae.INMUTABLE_BASE_PROPERTIES]),l(ae,"MUTABLE_META_PROPERTIES",[...ae.MUTABLE_BASE_PROPERTIES,"index"]),l(ae,"INMUTABLE_META_PROPERTIES",[...ae.INMUTABLE_BASE_PROPERTIES]),l(ae,"META_PROPERTIES",[...ae.MUTABLE_META_PROPERTIES,...ae.INMUTABLE_META_PROPERTIES]),l(ae,"MUTABLE_UPSTREAM_PROPERTIES",["readsValue"]),l(ae,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","dataType"]),l(ae,"UPSTREAM_PROPERTIES",[...ae.MUTABLE_UPSTREAM_PROPERTIES,...ae.INMUTABLE_UPSTREAM_PROPERTIES]),l(ae,"MUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ae,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ae,"DOWNSTREAM_PROPERTIES",[...ae.MUTABLE_DOWNSTREAM_PROPERTIES,...ae.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ae,"PROPERTIES",[...ae.META_PROPERTIES,...ae.UPSTREAM_PROPERTIES,...ae.DOWNSTREAM_PROPERTIES]);let Ot=ae;function s6(n){var o;const e=w4(),t=n.toJSON();e.safeParse(t).success,n.inputsDeclarations.forEach(u=>u.validate()),n.inputs.forEach(u=>u.validate()),n.outputsDeclarations.forEach(u=>u.validate()),n.outputs.forEach(u=>u.validate()),(o=n.error)==null||o.validate();const s=[...mn(n)];if(n.id==="search-person-by-id-id"){const u=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(u.error)}return X(n.errors,s)}const De=class De{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"query");l(this,"type",r.Search);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"inputsDeclarations",[]);l(this,"inputs",[]);l(this,"outputsDeclarations",[]);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"error",null);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y,this.name=e.name,this.query=e.query,this.description=e.description}static fromGenerationTarget(e,t){let i=t;if(e.parent){const h=D(e.parent);i=t.get(h)}const a=e.calledByEntry.map(h=>{const m=D(h);return t.get(m)}),s=e.calledBySuccess.map(h=>{const m=D(h);return t.get(m)}),o=e.calledByError.map(h=>{const m=D(h);return t.get(m)}),u={id:e.id,version:1,type:r.Search,name:e.name,description:e.description,query:e.query,calledByEntry:a,calledBySuccess:s,calledByError:o,errorCalls:[],successCalls:[],inputsDeclarations:[],inputs:[],outputsDeclarations:[],outputs:[],error:null,x:0,y:0,parent:i},p=R(u,t);return p.setParent(i),p.initChildren(),p}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
72
+ Adding a new return would make the implementation invalid.`,issue:null}))}}}return a.push(...s.errors,...o,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];let i=JSON.parse(JSON.stringify(e));const a=ua(i,this);return i=a.modifiedData,t.push(...a.errors),i.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
73
+ This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:i}}addSelfToProject(){var e;return this.parent.addOutputDeclaration(this),(e=this.readsValue)==null||e.addValueReader(this),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.dataType&&(this.dataType=R(this.initialData.dataType,this.project),this.dataType.setParent(this),this.dataType.initChildren()),la.initReadsValue(this),this)}setValueWriter(e){return this.readsValue=e,this}removeValueWriter(){return this.readsValue=null,this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this.name=e.name||this.name,this.description=e.description||this.description,this.required=e.required||this.required,this.isError=e.isError||this.isError,this}async load(){return this}async create(){return this}async update(e){return this.sync(e),ha(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.dataType){const s=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.dataType){const i=this.dataType.restore({seenEntities:e});t.push(...i.affected)}return{affected:[],self:this}}toFlat(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this,...((i=this.dataType)==null?void 0:i.toFlat(e))||[]])}toFlatIds(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((i=this.dataType)==null?void 0:i.toFlatIds(e))||[]])}toJSON(){var e,t;return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,index:this.index,required:this.required,isError:this.isError,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,readsValue:((t=this.readsValue)==null?void 0:t.toReference())||null,parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,index:this.index,required:this.required,isError:this.isError,readsValue:((e=this.readsValue)==null?void 0:e.toReference())||null,dataType:((t=this.dataType)==null?void 0:t.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.dataType)==null?void 0:i.toFlatJSON(e))||[]])}toGenerationTarget(){var e;return{id:this.id,name:this.name,description:this.description,type:this.type,isError:this.isError,readsValue:(e=this.readsValue)==null?void 0:e.id,required:this.required,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){var i,a;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.readsValue)==null?void 0:i.toFlatGenerationTarget(e))||[],...((a=this.dataType)==null?void 0:a.toFlatGenerationTarget(e))||[]])}clearErrors(){var e;return this.errors=[],(e=this.dataType)==null||e.clearErrors(),this}validate(){const e=o9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t;return[...this.errors,...((t=this.dataType)==null?void 0:t.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e;return((e=this.dataType)==null?void 0:e.defaultValue)||null}clone(e){return new ae(this.toJSON(),this.project)}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}getDataType(){return this.dataType}};l(ae,"MUTABLE_BASE_PROPERTIES",["name","description","required","isError"]),l(ae,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(ae,"BASE_PROPERTIES",[...ae.MUTABLE_BASE_PROPERTIES,...ae.INMUTABLE_BASE_PROPERTIES]),l(ae,"MUTABLE_META_PROPERTIES",[...ae.MUTABLE_BASE_PROPERTIES,"index"]),l(ae,"INMUTABLE_META_PROPERTIES",[...ae.INMUTABLE_BASE_PROPERTIES]),l(ae,"META_PROPERTIES",[...ae.MUTABLE_META_PROPERTIES,...ae.INMUTABLE_META_PROPERTIES]),l(ae,"MUTABLE_UPSTREAM_PROPERTIES",["readsValue"]),l(ae,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","dataType"]),l(ae,"UPSTREAM_PROPERTIES",[...ae.MUTABLE_UPSTREAM_PROPERTIES,...ae.INMUTABLE_UPSTREAM_PROPERTIES]),l(ae,"MUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ae,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ae,"DOWNSTREAM_PROPERTIES",[...ae.MUTABLE_DOWNSTREAM_PROPERTIES,...ae.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ae,"PROPERTIES",[...ae.META_PROPERTIES,...ae.UPSTREAM_PROPERTIES,...ae.DOWNSTREAM_PROPERTIES]);let Ot=ae;function l9(n){var o;const e=M4(),t=n.toJSON();e.safeParse(t).success,n.inputsDeclarations.forEach(u=>u.validate()),n.inputs.forEach(u=>u.validate()),n.outputsDeclarations.forEach(u=>u.validate()),n.outputs.forEach(u=>u.validate()),(o=n.error)==null||o.validate();const s=[...mn(n)];if(n.id==="search-person-by-id-id"){const u=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(u.error)}return X(n.errors,s)}const De=class De{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"query");l(this,"type",r.Search);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"inputsDeclarations",[]);l(this,"inputs",[]);l(this,"outputsDeclarations",[]);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"error",null);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y,this.name=e.name,this.query=e.query,this.description=e.description}static fromGenerationTarget(e,t){let i=t;if(e.parent){const h=D(e.parent);i=t.get(h)}const a=e.calledByEntry.map(h=>{const m=D(h);return t.get(m)}),s=e.calledBySuccess.map(h=>{const m=D(h);return t.get(m)}),o=e.calledByError.map(h=>{const m=D(h);return t.get(m)}),u={id:e.id,version:1,type:r.Search,name:e.name,description:e.description,query:e.query,calledByEntry:a,calledBySuccess:s,calledByError:o,errorCalls:[],successCalls:[],inputsDeclarations:[],inputs:[],outputsDeclarations:[],outputs:[],error:null,x:0,y:0,parent:i},p=R(u,t);return p.setParent(i),p.initChildren(),p}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
74
74
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
75
- You shouldn't have to manually update a 'parent' property. The equivalent result is to change its callers, the value writters of its inputs, or the value readers of its outputs.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent===this.project&&this.project.addSearch(this),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(a=>a.id===e.id);t>-1&&this.inputs.splice(t,1);const i=this.inputsDeclarations.findIndex(a=>a.id===e.declaration.id);return i>-1&&this.inputsDeclarations.splice(i,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addInputDeclaration(e){return this.inputsDeclarations.includes(e)?this:(this.inputsDeclarations.push(e),this)}removeInputDeclaration(e){const t=this.inputsDeclarations.findIndex(i=>i.id===e.id);return t>-1&&this.inputsDeclarations.splice(t,1),this}addOutputDeclaration(e){return this.outputsDeclarations.includes(e)?this:(this.outputsDeclarations.push(e),this)}removeOutputDeclaration(e){const t=this.outputsDeclarations.findIndex(i=>i.id===e.id);return t>-1&&this.outputsDeclarations.splice(t,1),this}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputsDeclarations=this.initialData.inputsDeclarations.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputsDeclarations=this.initialData.outputsDeclarations.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this.name=e.name||this.name,this.query=e.query||this.query,this.description=e.description||this.description,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.inputsDeclarations.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputsDeclarations.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.error){const{affected:s,removed:o}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputsDeclarations.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputsDeclarations.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.inputsDeclarations.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.outputsDeclarations.flatMap(i=>i.toFlat(e)),...this.calledBy.flatMap(i=>i.toFlat(e)),...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.inputsDeclarations.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.outputsDeclarations.flatMap(i=>i.toFlatIds(e)),...this.calledBy.flatMap(i=>i.toFlatIds(e)),...this.error?this.error.toFlatIds(e):[]])}toJSON(){var e;return{id:this.id,version:this.version,type:this.type,name:this.name,query:this.query,description:this.description,x:this.x,y:this.y,successCalls:this.successCalls.map(t=>t.toJSON()),errorCalls:this.errorCalls.map(t=>t.toJSON()),calledBySuccess:this.calledBySuccess.map(t=>t.toReference()),calledByError:this.calledByError.map(t=>t.toReference()),calledByEntry:this.calledByEntry.map(t=>t.toReference()),inputsDeclarations:this.inputsDeclarations.map(t=>t.toJSON()),inputs:this.inputs.map(t=>t.toJSON()),outputsDeclarations:this.outputsDeclarations.map(t=>t.toJSON()),outputs:this.outputs.map(t=>t.toJSON()),parent:this.parent.toReference(),error:((e=this.error)==null?void 0:e.toJSON())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,query:this.query,x:this.x,y:this.y,inputs:this.inputs.map(e=>e.toReference()),inputsDeclarations:this.inputsDeclarations.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),outputsDeclarations:this.outputsDeclarations.map(e=>e.toReference()),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.inputsDeclarations.flatMap(i=>i.toFlatJSON(e)),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.outputsDeclarations.flatMap(i=>i.toFlatJSON(e)),...this.calledBy.flatMap(i=>i.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,name:this.name,description:this.description,type:this.type,query:this.query,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputsDeclarations.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputsDeclarations.flatMap(i=>i.toFlatGenerationTarget(e)),...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.inputsDeclarations.forEach(t=>t.clearErrors()),this.inputs.forEach(t=>t.clearErrors()),this.outputs.forEach(t=>t.clearErrors()),this.successCalls.forEach(t=>t.clearErrors()),this.errorCalls.forEach(t=>t.clearErrors()),(e=this.error)==null||e.clearErrors(),this}validate(){const e=s6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputsDeclarations.flatMap(t=>t.getErrors()),...this.inputs.flatMap(t=>t.getErrors()),...this.outputsDeclarations.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.error?this.error.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new De(this.toJSON(),this.project)}};l(De,"MUTABLE_BASE_PROPERTIES",["name","description","query"]),l(De,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(De,"BASE_PROPERTIES",[...De.MUTABLE_BASE_PROPERTIES,...De.INMUTABLE_BASE_PROPERTIES]),l(De,"MUTABLE_META_PROPERTIES",[...De.MUTABLE_BASE_PROPERTIES,"x","y"]),l(De,"INMUTABLE_META_PROPERTIES",[...De.INMUTABLE_BASE_PROPERTIES]),l(De,"META_PROPERTIES",[...De.MUTABLE_META_PROPERTIES,...De.INMUTABLE_META_PROPERTIES]),l(De,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(De,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(De,"UPSTREAM_PROPERTIES",[...De.MUTABLE_UPSTREAM_PROPERTIES,...De.INMUTABLE_UPSTREAM_PROPERTIES]),l(De,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","inputsDeclarations","inputs","outputsDeclarations","outputs","error"]),l(De,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(De,"DOWNSTREAM_PROPERTIES",[...De.MUTABLE_DOWNSTREAM_PROPERTIES,...De.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(De,"PROPERTIES",[...Ot.META_PROPERTIES,...Ot.UPSTREAM_PROPERTIES,...Ot.DOWNSTREAM_PROPERTIES]);let hr=De;function o6(n){const e=qU(),t=n.toJSON();e.safeParse(t).success,n.functions.forEach(s=>s.validate()),n.events.forEach(s=>s.validate());const a=[];return X(n.errors,a)}const Te=class Te{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"type",r.InstalledProject);l(this,"implements");l(this,"functions",[]);l(this,"events",[]);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.x=e.x,this.y=e.y,this.implements=e.implements}static fromGenerationTarget(e,t){const i=t,a={id:e.id,version:1,name:e.name,type:r.InstalledProject,description:e.description,functions:[],events:[],implements:{entityId:e.implements,entityType:r.Project,type:r.GenericReference,id:$.UUID.uuid()},x:0,y:0,parent:i},s=R(a,t);return s.setParent(i),s.initChildren(),s}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[];return a.push(...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on an installed project, must be the root project as it is a globally declared entity.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.functions=this.initialData.functions.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.events=this.initialData.events.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.functions.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!1,seenEntities:t});i.push(...o),a.push(...u)}),this.events.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!1,seenEntities:t});i.push(...o),a.push(...u)}),{affected:[],removed:[]})}restore({seenEntities:e}={seenEntities:new Set}){return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.functions.forEach(t=>{t.restore({seenEntities:e})}),this.events.forEach(t=>{t.restore({seenEntities:e})}),{affected:[],self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.functions.flatMap(i=>i.toFlat(e)),...this.events.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.functions.flatMap(i=>i.toFlatIds(e)),...this.events.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,implements:this.implements,functions:this.functions.map(e=>e.toJSON()),events:this.events.map(e=>e.toJSON()),parent:this.parent.toReference(),x:this.x,y:this.y}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,x:this.x,y:this.y,implements:this.implements,functions:this.functions.map(e=>e.toReference()),events:this.events.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.functions.flatMap(i=>i.toFlatJSON(e)),...this.events.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,name:this.name,description:this.description,type:this.type,implements:this.implements.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.functions.flatMap(i=>i.toFlatGenerationTarget(e)),...this.events.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.functions.forEach(e=>e.clearErrors()),this.events.forEach(e=>e.clearErrors()),this}validate(){const e=o6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.functions.flatMap(t=>t.getErrors()),...this.events.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new Te(this.toJSON(),this.project)}};l(Te,"MUTABLE_BASE_PROPERTIES",[]),l(Te,"INMUTABLE_BASE_PROPERTIES",["id","version","name","description","type"]),l(Te,"BASE_PROPERTIES",[...Te.MUTABLE_BASE_PROPERTIES,...Te.INMUTABLE_BASE_PROPERTIES]),l(Te,"MUTABLE_META_PROPERTIES",["x","y"]),l(Te,"INMUTABLE_META_PROPERTIES",[...Te.INMUTABLE_BASE_PROPERTIES]),l(Te,"META_PROPERTIES",[...Te.MUTABLE_META_PROPERTIES,...Te.INMUTABLE_META_PROPERTIES]),l(Te,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(Te,"INMUTABLE_UPSTREAM_PROPERTIES",["implements","parent"]),l(Te,"UPSTREAM_PROPERTIES",[...Te.MUTABLE_UPSTREAM_PROPERTIES,...Te.INMUTABLE_UPSTREAM_PROPERTIES]),l(Te,"MUTABLE_DOWNSTREAM_PROPERTIES",["functions","events"]),l(Te,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(Te,"DOWNSTREAM_PROPERTIES",[...Te.MUTABLE_DOWNSTREAM_PROPERTIES,...Te.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(Te,"PROPERTIES",[...Te.META_PROPERTIES,...Te.UPSTREAM_PROPERTIES,...Te.DOWNSTREAM_PROPERTIES]);let fr=Te;function l6(n){var u;const e=nU(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(p=>p.validate()),n.outputs.forEach(p=>p.validate()),(u=n.error)==null||u.validate();const a=mn(n),s=c6(n),o=[...a,...s];return X(n.errors,o)}function c6(n){const e=[],t=Ys(n.parent),i=t==null?void 0:t.entity;if(!i)e.push(k({id:`${n.id}--${v.InternalCallParentMissingDataType}`,code:v.InternalCallParentMissingDataType,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", belongs to a variable whose data type entity doesn't contain its declaration method (function-declaration) its id "${n.declaration}".`,issue:null,entity:n}).error);else if(![r.CustomEntity,r.BuiltInBaseEntity,r.PrimitiveEntity].includes(i.type))e.push(k({id:`${n.id}--${v.InternalCallParentDeclarationEntityInvalidType}`,code:v.InternalCallParentDeclarationEntityInvalidType,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", belongs to a variable whose data type 'entity' is not a custom entity, built-in base entity or primitive entity.
76
- This variable's data-type has an 'entity' field that references an entity with id '${i.id}' and of type '${i.type}'.`,issue:null,entity:n}).error);else{const a=Dd(i);let s="";a?i.methods.length?s=`
75
+ You shouldn't have to manually update a 'parent' property. The equivalent result is to change its callers, the value writters of its inputs, or the value readers of its outputs.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent===this.project&&this.project.addSearch(this),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(a=>a.id===e.id);t>-1&&this.inputs.splice(t,1);const i=this.inputsDeclarations.findIndex(a=>a.id===e.declaration.id);return i>-1&&this.inputsDeclarations.splice(i,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addInputDeclaration(e){return this.inputsDeclarations.includes(e)?this:(this.inputsDeclarations.push(e),this)}removeInputDeclaration(e){const t=this.inputsDeclarations.findIndex(i=>i.id===e.id);return t>-1&&this.inputsDeclarations.splice(t,1),this}addOutputDeclaration(e){return this.outputsDeclarations.includes(e)?this:(this.outputsDeclarations.push(e),this)}removeOutputDeclaration(e){const t=this.outputsDeclarations.findIndex(i=>i.id===e.id);return t>-1&&this.outputsDeclarations.splice(t,1),this}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputsDeclarations=this.initialData.inputsDeclarations.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputsDeclarations=this.initialData.outputsDeclarations.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this.name=e.name||this.name,this.query=e.query||this.query,this.description=e.description||this.description,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.inputsDeclarations.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputsDeclarations.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.error){const{affected:s,removed:o}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputsDeclarations.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputsDeclarations.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.inputsDeclarations.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.outputsDeclarations.flatMap(i=>i.toFlat(e)),...this.calledBy.flatMap(i=>i.toFlat(e)),...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.inputsDeclarations.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.outputsDeclarations.flatMap(i=>i.toFlatIds(e)),...this.calledBy.flatMap(i=>i.toFlatIds(e)),...this.error?this.error.toFlatIds(e):[]])}toJSON(){var e;return{id:this.id,version:this.version,type:this.type,name:this.name,query:this.query,description:this.description,x:this.x,y:this.y,successCalls:this.successCalls.map(t=>t.toJSON()),errorCalls:this.errorCalls.map(t=>t.toJSON()),calledBySuccess:this.calledBySuccess.map(t=>t.toReference()),calledByError:this.calledByError.map(t=>t.toReference()),calledByEntry:this.calledByEntry.map(t=>t.toReference()),inputsDeclarations:this.inputsDeclarations.map(t=>t.toJSON()),inputs:this.inputs.map(t=>t.toJSON()),outputsDeclarations:this.outputsDeclarations.map(t=>t.toJSON()),outputs:this.outputs.map(t=>t.toJSON()),parent:this.parent.toReference(),error:((e=this.error)==null?void 0:e.toJSON())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,query:this.query,x:this.x,y:this.y,inputs:this.inputs.map(e=>e.toReference()),inputsDeclarations:this.inputsDeclarations.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),outputsDeclarations:this.outputsDeclarations.map(e=>e.toReference()),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.inputsDeclarations.flatMap(i=>i.toFlatJSON(e)),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.outputsDeclarations.flatMap(i=>i.toFlatJSON(e)),...this.calledBy.flatMap(i=>i.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,name:this.name,description:this.description,type:this.type,query:this.query,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputsDeclarations.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputsDeclarations.flatMap(i=>i.toFlatGenerationTarget(e)),...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.inputsDeclarations.forEach(t=>t.clearErrors()),this.inputs.forEach(t=>t.clearErrors()),this.outputs.forEach(t=>t.clearErrors()),this.successCalls.forEach(t=>t.clearErrors()),this.errorCalls.forEach(t=>t.clearErrors()),(e=this.error)==null||e.clearErrors(),this}validate(){const e=l9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputsDeclarations.flatMap(t=>t.getErrors()),...this.inputs.flatMap(t=>t.getErrors()),...this.outputsDeclarations.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.error?this.error.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new De(this.toJSON(),this.project)}};l(De,"MUTABLE_BASE_PROPERTIES",["name","description","query"]),l(De,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(De,"BASE_PROPERTIES",[...De.MUTABLE_BASE_PROPERTIES,...De.INMUTABLE_BASE_PROPERTIES]),l(De,"MUTABLE_META_PROPERTIES",[...De.MUTABLE_BASE_PROPERTIES,"x","y"]),l(De,"INMUTABLE_META_PROPERTIES",[...De.INMUTABLE_BASE_PROPERTIES]),l(De,"META_PROPERTIES",[...De.MUTABLE_META_PROPERTIES,...De.INMUTABLE_META_PROPERTIES]),l(De,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(De,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(De,"UPSTREAM_PROPERTIES",[...De.MUTABLE_UPSTREAM_PROPERTIES,...De.INMUTABLE_UPSTREAM_PROPERTIES]),l(De,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","inputsDeclarations","inputs","outputsDeclarations","outputs","error"]),l(De,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(De,"DOWNSTREAM_PROPERTIES",[...De.MUTABLE_DOWNSTREAM_PROPERTIES,...De.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(De,"PROPERTIES",[...Ot.META_PROPERTIES,...Ot.UPSTREAM_PROPERTIES,...Ot.DOWNSTREAM_PROPERTIES]);let fr=De;function c9(n){const e=WU(),t=n.toJSON();e.safeParse(t).success,n.functions.forEach(s=>s.validate()),n.events.forEach(s=>s.validate());const a=[];return X(n.errors,a)}const Te=class Te{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"type",r.InstalledProject);l(this,"implements");l(this,"functions",[]);l(this,"events",[]);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.x=e.x,this.y=e.y,this.implements=e.implements}static fromGenerationTarget(e,t){const i=t,a={id:e.id,version:1,name:e.name,type:r.InstalledProject,description:e.description,functions:[],events:[],implements:{entityId:e.implements,entityType:r.Project,type:r.GenericReference,id:$.UUID.uuid()},x:0,y:0,parent:i},s=R(a,t);return s.setParent(i),s.initChildren(),s}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[];return a.push(...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on an installed project, must be the root project as it is a globally declared entity.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.functions=this.initialData.functions.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.events=this.initialData.events.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.functions.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!1,seenEntities:t});i.push(...o),a.push(...u)}),this.events.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!1,seenEntities:t});i.push(...o),a.push(...u)}),{affected:[],removed:[]})}restore({seenEntities:e}={seenEntities:new Set}){return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.functions.forEach(t=>{t.restore({seenEntities:e})}),this.events.forEach(t=>{t.restore({seenEntities:e})}),{affected:[],self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.functions.flatMap(i=>i.toFlat(e)),...this.events.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.functions.flatMap(i=>i.toFlatIds(e)),...this.events.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,implements:this.implements,functions:this.functions.map(e=>e.toJSON()),events:this.events.map(e=>e.toJSON()),parent:this.parent.toReference(),x:this.x,y:this.y}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,x:this.x,y:this.y,implements:this.implements,functions:this.functions.map(e=>e.toReference()),events:this.events.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.functions.flatMap(i=>i.toFlatJSON(e)),...this.events.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,name:this.name,description:this.description,type:this.type,implements:this.implements.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.functions.flatMap(i=>i.toFlatGenerationTarget(e)),...this.events.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.functions.forEach(e=>e.clearErrors()),this.events.forEach(e=>e.clearErrors()),this}validate(){const e=c9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.functions.flatMap(t=>t.getErrors()),...this.events.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new Te(this.toJSON(),this.project)}};l(Te,"MUTABLE_BASE_PROPERTIES",[]),l(Te,"INMUTABLE_BASE_PROPERTIES",["id","version","name","description","type"]),l(Te,"BASE_PROPERTIES",[...Te.MUTABLE_BASE_PROPERTIES,...Te.INMUTABLE_BASE_PROPERTIES]),l(Te,"MUTABLE_META_PROPERTIES",["x","y"]),l(Te,"INMUTABLE_META_PROPERTIES",[...Te.INMUTABLE_BASE_PROPERTIES]),l(Te,"META_PROPERTIES",[...Te.MUTABLE_META_PROPERTIES,...Te.INMUTABLE_META_PROPERTIES]),l(Te,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(Te,"INMUTABLE_UPSTREAM_PROPERTIES",["implements","parent"]),l(Te,"UPSTREAM_PROPERTIES",[...Te.MUTABLE_UPSTREAM_PROPERTIES,...Te.INMUTABLE_UPSTREAM_PROPERTIES]),l(Te,"MUTABLE_DOWNSTREAM_PROPERTIES",["functions","events"]),l(Te,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(Te,"DOWNSTREAM_PROPERTIES",[...Te.MUTABLE_DOWNSTREAM_PROPERTIES,...Te.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(Te,"PROPERTIES",[...Te.META_PROPERTIES,...Te.UPSTREAM_PROPERTIES,...Te.DOWNSTREAM_PROPERTIES]);let mr=Te;function d9(n){var u;const e=iU(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(p=>p.validate()),n.outputs.forEach(p=>p.validate()),(u=n.error)==null||u.validate();const a=mn(n),s=u9(n),o=[...a,...s];return X(n.errors,o)}function u9(n){const e=[],t=Zs(n.parent),i=t==null?void 0:t.entity;if(!i)e.push(k({id:`${n.id}--${v.InternalCallParentMissingDataType}`,code:v.InternalCallParentMissingDataType,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", belongs to a variable whose data type entity doesn't contain its declaration method (function-declaration) its id "${n.declaration}".`,issue:null,entity:n}).error);else if(![r.CustomEntity,r.BuiltInBaseEntity,r.PrimitiveEntity].includes(i.type))e.push(k({id:`${n.id}--${v.InternalCallParentDeclarationEntityInvalidType}`,code:v.InternalCallParentDeclarationEntityInvalidType,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", belongs to a variable whose data type 'entity' is not a custom entity, built-in base entity or primitive entity.
76
+ This variable's data-type has an 'entity' field that references an entity with id '${i.id}' and of type '${i.type}'.`,issue:null,entity:n}).error);else{const a=Od(i);let s="";a?i.methods.length?s=`
77
77
  All 'function-declaration' entities attached as methods to the parent data-type 'entity' field, available to be called as 'internal-calls' in this variable are:
78
78
  - ${i.methods.map(p=>p.id).join(`
79
79
  - `)}
@@ -85,8 +85,8 @@ Built-in entity types can't have methods attached to them by the user. They are
85
85
  This variable's data-type 'entity' is a custom entity which extends or implements a non-interactive 'built-in-base-entity'.s`:i.type===r.BuiltInBaseEntity&&(s=`
86
86
  This variable's data-type 'entity' is a non-interactive 'built-in-base-entity'.s`);const o=(i.methods||[]).find(u=>u.id===n.declaration.id);o?o.type!==r.FunctionDeclaration?e.push(k({id:`${n.id}--${v.InternalCallDeclarationIsNotFunctionDeclaration}`,code:v.InternalCallDeclarationIsNotFunctionDeclaration,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", points to a 'declaration' that isn't a 'function-declaration' entity.
87
87
  The declaration of the internal-call must be a 'function-declaration' entity which exists as a method in the entity of the data-type of the parent variable.${s}`,issue:null,entity:n}).error):n.declaration.parent.id!==i.id&&e.push(k({id:`${n.id}--${v.InternalCallDeclarationNotInParentDatatypeEntity}`,code:v.InternalCallDeclarationNotInParentDatatypeEntity,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a declaration method (function-declaration) that doesn't belong to its parent's data type entity.
88
- The data type on this variable points to a different entity than the declaration of the internal-call.${s}`,issue:null,entity:n}).error):e.push(k({id:`${n.id}--${v.InternalCallDeclarationNotFoundInParentDatatypeEntity}`,code:v.InternalCallDeclarationNotFoundInParentDatatypeEntity,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", belongs to a variable whose data type entity doesn't contain its declaration method (function-declaration) with id "${n.declaration}".${s}`,issue:null,entity:n}).error)}return e}const se=class se{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"index");l(this,"type",r.InternalCall);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"process",null);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"error",null);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"parent");l(this,"project");l(this,"errors",[]);l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s=D(e.declaration),o=t.get(s),u=e.calledByEntry.map(b=>{const I=D(b);return t.get(I)}),p=e.calledBySuccess.map(b=>{const I=D(b);return t.get(I)}),h=e.calledByError.map(b=>{const I=D(b);return t.get(I)}),m={id:e.id,version:1,type:r.InternalCall,index:a.internalCalls.length,declaration:o.toReference(),calledByEntry:u,calledBySuccess:p,calledByError:h,errorCalls:[],successCalls:[],inputs:[],outputs:[],process:null,error:null,parent:a},T=R(m,t);return T.setParent(a),T.initChildren(),T}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:Fe}},t);i=s.modifiedData;const o=D(i.parent),u=t.get(o);if(u){const p=Ys(u),h=p==null?void 0:p.entity;if(!h)a.push(new E({id:`${i.id}--${v.InternalCallParentMissingDataType}`,code:v.InternalCallParentMissingDataType,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", belongs to a variable whose data type entity doesn't contain its declaration method (function-declaration) its id "${i.declaration}".`,issue:null}));else if(![r.CustomEntity,r.BuiltInBaseEntity,r.PrimitiveEntity].includes(h.type))a.push(new E({id:`${i.id}--${v.InternalCallParentDeclarationEntityInvalidType}`,code:v.InternalCallParentDeclarationEntityInvalidType,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", belongs to a variable whose data type 'entity' is not a custom entity, built-in base entity or primitive entity.
89
- This variable's data-type has an 'entity' field that references an entity with id '${h.id}' and of type '${h.type}'.`,issue:null}));else{const m=Dd(h);let T="";m?h.methods.length?T=`
88
+ The data type on this variable points to a different entity than the declaration of the internal-call.${s}`,issue:null,entity:n}).error):e.push(k({id:`${n.id}--${v.InternalCallDeclarationNotFoundInParentDatatypeEntity}`,code:v.InternalCallDeclarationNotFoundInParentDatatypeEntity,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", belongs to a variable whose data type entity doesn't contain its declaration method (function-declaration) with id "${n.declaration}".${s}`,issue:null,entity:n}).error)}return e}const se=class se{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"index");l(this,"type",r.InternalCall);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"process",null);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"error",null);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"parent");l(this,"project");l(this,"errors",[]);l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s=D(e.declaration),o=t.get(s),u=e.calledByEntry.map(b=>{const I=D(b);return t.get(I)}),p=e.calledBySuccess.map(b=>{const I=D(b);return t.get(I)}),h=e.calledByError.map(b=>{const I=D(b);return t.get(I)}),m={id:e.id,version:1,type:r.InternalCall,index:a.internalCalls.length,declaration:o.toReference(),calledByEntry:u,calledBySuccess:p,calledByError:h,errorCalls:[],successCalls:[],inputs:[],outputs:[],process:null,error:null,parent:a},T=R(m,t);return T.setParent(a),T.initChildren(),T}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:Fe}},t);i=s.modifiedData;const o=D(i.parent),u=t.get(o);if(u){const p=Zs(u),h=p==null?void 0:p.entity;if(!h)a.push(new E({id:`${i.id}--${v.InternalCallParentMissingDataType}`,code:v.InternalCallParentMissingDataType,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", belongs to a variable whose data type entity doesn't contain its declaration method (function-declaration) its id "${i.declaration}".`,issue:null}));else if(![r.CustomEntity,r.BuiltInBaseEntity,r.PrimitiveEntity].includes(h.type))a.push(new E({id:`${i.id}--${v.InternalCallParentDeclarationEntityInvalidType}`,code:v.InternalCallParentDeclarationEntityInvalidType,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", belongs to a variable whose data type 'entity' is not a custom entity, built-in base entity or primitive entity.
89
+ This variable's data-type has an 'entity' field that references an entity with id '${h.id}' and of type '${h.type}'.`,issue:null}));else{const m=Od(h);let T="";m?h.methods.length?T=`
90
90
  All 'function-declaration' entities attached as methods to the parent data-type 'entity' field, available to be called as 'internal-calls' in this variable are:
91
91
  - ${h.methods.map(G=>G.id).join(`
92
92
  - `)}
@@ -96,14 +96,14 @@ You can attach methods to it by creating 'function-declaration' entities which h
96
96
  This variable's data-type 'entity' is a ${h.type} which doesn't have any methods attached to it yet.
97
97
  Built-in entity types can't have methods attached to them by the user. They are predefined entities that can't be modified. You can reference them as the 'declaration' property on a new 'internal-call' entity in a variable`):h.type===r.CustomEntity?T=`
98
98
  This variable's data-type 'entity' is a custom entity which extends or implements a non-interactive 'built-in-base-entity'.
99
- ${Vn}`:h.type===r.BuiltInBaseEntity&&(T=`
99
+ ${Ln}`:h.type===r.BuiltInBaseEntity&&(T=`
100
100
  This variable's data-type 'entity' is a non-interactive 'built-in-base-entity'.
101
- ${Vn}`);const b=i.declaration,I=t.get(b);if(!I)a.push(new E({id:`${i.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", has a declaration method (function-declaration) that doesn't exist in the project.${T}`,issue:null}));else{const B=(h.methods||[]).find(G=>G.id===i.declaration);B?B.type!==r.FunctionDeclaration?a.push(new E({id:`${i.id}--${v.InternalCallDeclarationIsNotFunctionDeclaration}`,code:v.InternalCallDeclarationIsNotFunctionDeclaration,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", points to a 'declaration' that isn't a 'function-declaration' entity.
101
+ ${Ln}`);const b=i.declaration,I=t.get(b);if(!I)a.push(new E({id:`${i.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", has a declaration method (function-declaration) that doesn't exist in the project.${T}`,issue:null}));else{const B=(h.methods||[]).find(G=>G.id===i.declaration);B?B.type!==r.FunctionDeclaration?a.push(new E({id:`${i.id}--${v.InternalCallDeclarationIsNotFunctionDeclaration}`,code:v.InternalCallDeclarationIsNotFunctionDeclaration,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", points to a 'declaration' that isn't a 'function-declaration' entity.
102
102
  The declaration of the internal-call must be a 'function-declaration' entity which exists as a method in the entity of the data-type of the parent variable.${T}`,issue:null})):I.parent.id!==h.id&&a.push(new E({id:`${i.id}--${v.InternalCallDeclarationNotInParentDatatypeEntity}`,code:v.InternalCallDeclarationNotInParentDatatypeEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", has a declaration method (function-declaration) that doesn't belong to its parent's data type entity.
103
103
  The data type on this variable points to a different entity than the declaration of the internal-call.${T}`,issue:null})):a.push(new E({id:`${i.id}--${v.InternalCallDeclarationNotFoundInParentDatatypeEntity}`,code:v.InternalCallDeclarationNotFoundInParentDatatypeEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", belongs to a variable whose data type entity doesn't contain its declaration method (function-declaration) with id "${i.declaration}".${T}`,issue:null}))}}(u.inputs.length||u.outputs.length||u.internalCalls.length)&&a.push(new E({id:`${i.id}--${y.InvalidInternalCallParentRelation}`,code:y.InvalidInternalCallParentRelation,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", can only be added to a variable declaration or variable instance parent if the parent doesn't already have inputs, outputs or other internal calls.
104
104
  If you need a new variable-instance for this, consider using the 'implement_variable_instance' generation action to create one and give it a caller.
105
105
  The you can attach the new internal-call to it.`,issue:null}))}return a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
106
- This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){var e;return this.parent.addInternalCall(this),(e=this.process)==null||e.writesValues.forEach(t=>{t.setValueWriter(this.process)}),this.successCalls.forEach(t=>{t.addSuccessCaller(this)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this)}),this.calledByError.forEach(t=>{t.addErrorCall(this)}),this.calledByEntry.forEach(t=>{t.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.parent.type!==r.GenericReference){const e=R(this.initialData.parent,this.project);this.setParent(e),this.parent.initChildren(),this.parent.addInternalCall(this);const t=this.calledBy.find(i=>!!i.parent&&st.includes(i.parent.type));if(t){const i=R(t.parent,this.project);this.parent.setParent(i)}else if(!t&&!this.parent.calledBy.length)throw new Error("Parent of internal call parent could not be resolved")}return this.declaration=R(this.initialData.declaration,this.project),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this.initialData.process&&(this.process=R(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){var s;const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:u}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}if(this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.outputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.error){const{affected:o,removed:u}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}return this.successCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{i.push(o),o.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:i}=this.process.restore({seenEntities:e});t.push(...i)}return this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.calledBy.flatMap(i=>i.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.calledBy.flatMap(i=>i.toFlatIds(e)),...this.process?this.process.toFlatIds(e):[],...this.error?this.error.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,index:this.index,successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,index:this.index,process:this.process?this.process.toReference():null,inputs:this.inputs.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),declaration:this.declaration.toReference(),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.process?this.process.toFlatJSON(e):[],...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.calledBy.flatMap(i=>i.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(e=>e.id),calledBySuccess:this.calledBySuccess.map(e=>e.id),calledByError:this.calledByError.map(e=>e.id),declaration:this.declaration.id,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.process?this.process.toFlatGenerationTarget(e):[],...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(i=>i.clearErrors()),this.outputs.forEach(i=>i.clearErrors()),this.successCalls.forEach(i=>i.clearErrors()),this.errorCalls.forEach(i=>i.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=l6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.error?this.error.getErrors():[],...this.process?this.process.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new se(this.toJSON(),this.project)}};l(se,"MUTABLE_BASE_PROPERTIES",[]),l(se,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(se,"BASE_PROPERTIES",[...se.MUTABLE_BASE_PROPERTIES,...se.INMUTABLE_BASE_PROPERTIES]),l(se,"MUTABLE_META_PROPERTIES",[...se.MUTABLE_BASE_PROPERTIES,"index"]),l(se,"INMUTABLE_META_PROPERTIES",[...se.INMUTABLE_BASE_PROPERTIES]),l(se,"META_PROPERTIES",[...se.MUTABLE_META_PROPERTIES,...se.INMUTABLE_META_PROPERTIES]),l(se,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(se,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(se,"UPSTREAM_PROPERTIES",[...se.MUTABLE_UPSTREAM_PROPERTIES,...se.INMUTABLE_UPSTREAM_PROPERTIES]),l(se,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","outputs","writesValues","successCalls","errorCalls","error"]),l(se,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(se,"DOWNSTREAM_PROPERTIES",[...se.MUTABLE_DOWNSTREAM_PROPERTIES,...se.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(se,"PROPERTIES",[...se.META_PROPERTIES,...se.UPSTREAM_PROPERTIES,...se.DOWNSTREAM_PROPERTIES]);let oi=se;function d6(n){const e=sU(),t=n.toJSON();e.safeParse(t).success;const a=[];if(n.id==="exec-sequentially-argument-map-id"){const s=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(s.error)}return X(n.errors,a)}const oe=class oe{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"index");l(this,"name",null);l(this,"description",null);l(this,"declaration",null);l(this,"type",r.InputMap);l(this,"defaultValue",null);l(this,"readsValue",null);l(this,"dynamicArguments",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.name=e.name||null,this.description=e.description||null}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;if(e.declaration){const h=D(e.declaration);s=t.get(h)}let o=null;if(e.readsValue){const h=D(e.readsValue);o=t.get(h)}const u={id:e.id,version:1,name:e.name||null,type:r.InputMap,index:(a.inputs||a.dynamicArguments||[]).length,description:e.description||null,declaration:s,readsValue:o,dynamicArguments:[],defaultValue:null,parent:a},p=R(u,t);return p.setParent(a),p.initChildren(),p}static validateGenerationTarget(e,t){var h;let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...Ne,r.InputMap]}},t);i=s.modifiedData;const o=t.get(i.parent),u=i.declaration&&(t.get(i.declaration)||t.getBuiltIn(i.declaration)),p=((o==null?void 0:o.inputs)||[]).find(m=>{var T;return i.declaration&&((T=m.declaration)==null?void 0:T.id)===i.declaration});if(i.declaration?u?[r.Property,r.ArgumentDeclaration,r.ValueDescriptor].includes(u.type)?o&&u.type===r.ArgumentDeclaration&&![r.FunctionCall,r.Search,r.InternalCall].includes(o.type)?a.push(new E({id:`${i.id}--${y.InvalidInputMapDeclaration}`,code:y.InvalidInputMapDeclaration,severity:f.Error,message:`Entity of type '${r.InputMap}' with id '${i.id}' has a 'declaration' property pointing to an entity with type '${r.ArgumentDeclaration}' with id '${i.declaration}'.
106
+ This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){var e;return this.parent.addInternalCall(this),(e=this.process)==null||e.writesValues.forEach(t=>{t.setValueWriter(this.process)}),this.successCalls.forEach(t=>{t.addSuccessCaller(this)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this)}),this.calledByError.forEach(t=>{t.addErrorCall(this)}),this.calledByEntry.forEach(t=>{t.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.parent.type!==r.GenericReference){const e=R(this.initialData.parent,this.project);this.setParent(e),this.parent.initChildren(),this.parent.addInternalCall(this);const t=this.calledBy.find(i=>!!i.parent&&st.includes(i.parent.type));if(t){const i=R(t.parent,this.project);this.parent.setParent(i)}else if(!t&&!this.parent.calledBy.length)throw new Error("Parent of internal call parent could not be resolved")}return this.declaration=R(this.initialData.declaration,this.project),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this.initialData.process&&(this.process=R(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){var s;const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:u}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}if(this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.outputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.error){const{affected:o,removed:u}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}return this.successCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{i.push(o),o.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:i}=this.process.restore({seenEntities:e});t.push(...i)}return this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.calledBy.flatMap(i=>i.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.calledBy.flatMap(i=>i.toFlatIds(e)),...this.process?this.process.toFlatIds(e):[],...this.error?this.error.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,index:this.index,successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,index:this.index,process:this.process?this.process.toReference():null,inputs:this.inputs.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),declaration:this.declaration.toReference(),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.process?this.process.toFlatJSON(e):[],...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.calledBy.flatMap(i=>i.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(e=>e.id),calledBySuccess:this.calledBySuccess.map(e=>e.id),calledByError:this.calledByError.map(e=>e.id),declaration:this.declaration.id,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.process?this.process.toFlatGenerationTarget(e):[],...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(i=>i.clearErrors()),this.outputs.forEach(i=>i.clearErrors()),this.successCalls.forEach(i=>i.clearErrors()),this.errorCalls.forEach(i=>i.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=d9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.error?this.error.getErrors():[],...this.process?this.process.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new se(this.toJSON(),this.project)}};l(se,"MUTABLE_BASE_PROPERTIES",[]),l(se,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(se,"BASE_PROPERTIES",[...se.MUTABLE_BASE_PROPERTIES,...se.INMUTABLE_BASE_PROPERTIES]),l(se,"MUTABLE_META_PROPERTIES",[...se.MUTABLE_BASE_PROPERTIES,"index"]),l(se,"INMUTABLE_META_PROPERTIES",[...se.INMUTABLE_BASE_PROPERTIES]),l(se,"META_PROPERTIES",[...se.MUTABLE_META_PROPERTIES,...se.INMUTABLE_META_PROPERTIES]),l(se,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(se,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(se,"UPSTREAM_PROPERTIES",[...se.MUTABLE_UPSTREAM_PROPERTIES,...se.INMUTABLE_UPSTREAM_PROPERTIES]),l(se,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","outputs","writesValues","successCalls","errorCalls","error"]),l(se,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(se,"DOWNSTREAM_PROPERTIES",[...se.MUTABLE_DOWNSTREAM_PROPERTIES,...se.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(se,"PROPERTIES",[...se.META_PROPERTIES,...se.UPSTREAM_PROPERTIES,...se.DOWNSTREAM_PROPERTIES]);let li=se;function p9(n){const e=lU(),t=n.toJSON();e.safeParse(t).success;const a=[];if(n.id==="exec-sequentially-argument-map-id"){const s=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(s.error)}return X(n.errors,a)}const oe=class oe{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"index");l(this,"name",null);l(this,"description",null);l(this,"declaration",null);l(this,"type",r.InputMap);l(this,"defaultValue",null);l(this,"readsValue",null);l(this,"dynamicArguments",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.name=e.name||null,this.description=e.description||null}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;if(e.declaration){const h=D(e.declaration);s=t.get(h)}let o=null;if(e.readsValue){const h=D(e.readsValue);o=t.get(h)}const u={id:e.id,version:1,name:e.name||null,type:r.InputMap,index:(a.inputs||a.dynamicArguments||[]).length,description:e.description||null,declaration:s,readsValue:o,dynamicArguments:[],defaultValue:null,parent:a},p=R(u,t);return p.setParent(a),p.initChildren(),p}static validateGenerationTarget(e,t){var h;let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...Ne,r.InputMap]}},t);i=s.modifiedData;const o=t.get(i.parent),u=i.declaration&&(t.get(i.declaration)||t.getBuiltIn(i.declaration)),p=((o==null?void 0:o.inputs)||[]).find(m=>{var T;return i.declaration&&((T=m.declaration)==null?void 0:T.id)===i.declaration});if(i.declaration?u?[r.Property,r.ArgumentDeclaration,r.ValueDescriptor].includes(u.type)?o&&u.type===r.ArgumentDeclaration&&![r.FunctionCall,r.Search,r.InternalCall].includes(o.type)?a.push(new E({id:`${i.id}--${y.InvalidInputMapDeclaration}`,code:y.InvalidInputMapDeclaration,severity:f.Error,message:`Entity of type '${r.InputMap}' with id '${i.id}' has a 'declaration' property pointing to an entity with type '${r.ArgumentDeclaration}' with id '${i.declaration}'.
107
107
  The parent entity of type '${o.type}' with id '${o.id}' is not compatible with this type of declaration.
108
108
  Only 'function-call', 'search' and 'internal-call' entities can have input-maps whose 'declaration' points to 'argument-declaration' entities.`,issue:null})):o&&u.type===r.Property&&!Fe.includes(o.type)?a.push(new E({id:`${i.id}--${y.InvalidInputMapDeclaration}`,code:y.InvalidInputMapDeclaration,severity:f.Error,message:`Entity of type '${r.InputMap}' with id '${i.id}' has a 'declaration' property pointing to an entity with type '${r.Property}' with id '${i.declaration}'.
109
109
  The parent entity of type '${o.type}' with id '${o.id}' is not compatible with this type of declaration.
@@ -115,23 +115,23 @@ This is because a dynamically assembled object can have new properties added to
115
115
  Only input-map entities for variables with an inferred data type are allowed to not have a declaration.
116
116
  This is because a dynamically assembled object can have new properties added to it as input-maps. Otherwise all input maps need to point to a declaration`,issue:null})),u&&o){if(p)a.push(new E({id:`${i.id}--${y.InputOverwrite}`,code:y.InputOverwrite,severity:f.Error,message:`Entity of type '${r.InputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The parent already has an input-map with id '${p.id}' that points to the same base ${u.type} as declaration.
117
117
  Any value reads can be done with that input-map instead.
118
- You can't edit input-map entities as they need to match their argument declarations, so you can only modify the 'readsValue' property so it reads the value from an external entity, or the 'defaultValue' so it has a hard-coded one.`,issue:null}));else if(Fe.includes(o.type)){const b=Zc(o).dataType,I=b==null?void 0:b.entity;I&&I.type===r.ActionDescriptor?a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.InputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The data type of the 'variable-declaration' is a 'action-descriptor' entity.
118
+ You can't edit input-map entities as they need to match their argument declarations, so you can only modify the 'readsValue' property so it reads the value from an external entity, or the 'defaultValue' so it has a hard-coded one.`,issue:null}));else if(Fe.includes(o.type)){const b=Kc(o).dataType,I=b==null?void 0:b.entity;I&&I.type===r.ActionDescriptor?a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.InputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The data type of the 'variable-declaration' is a 'action-descriptor' entity.
119
119
  This means it can hold a function-call or operation as its value, to be executed programatically.
120
120
  Input maps can only be added to variables which hold an entity with properties.`,issue:null})):I&&!(b!=null&&b.inferred)&&(I.properties.find(G=>G.id===u.id)||a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.InputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The 'declaration' with '${u.id}' of the 'input-map' does not exist in the entity of the 'data-type'.
121
- The entity of the data-type has the following properties that can be reads as input maps, ids: '${N(I.properties.map(G=>G.id),"', '","' and '")}'`,issue:null})))}else if(Ne.filter(m=>Fe.includes(m)).includes(o.type)){const T=bd(o),b=T.find(B=>B.id===i.declaration),I=`The parent entity has the following argument declarations that can be referenced by input-maps, ids: '${N(T.map(B=>B.id),"', '","' and '")}'`;b||a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.InputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The parent entity does not have an 'argument-declaration' with id '${i.declaration}'.
121
+ The entity of the data-type has the following properties that can be reads as input maps, ids: '${N(I.properties.map(G=>G.id),"', '","' and '")}'`,issue:null})))}else if(Ne.filter(m=>Fe.includes(m)).includes(o.type)){const T=Id(o),b=T.find(B=>B.id===i.declaration),I=`The parent entity has the following argument declarations that can be referenced by input-maps, ids: '${N(T.map(B=>B.id),"', '","' and '")}'`;b||a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.InputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The parent entity does not have an 'argument-declaration' with id '${i.declaration}'.
122
122
  You can't add an input-map to an entity that doesn't have a matching 'argument-declaration'.
123
- ${I}`,issue:null}))}}return a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];let i=JSON.parse(JSON.stringify(e));const a=da(i,this);return i=a.modifiedData,t.push(...a.errors),i.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
124
- This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:i}}addSelfToProject(){var e;return this.parent.addInput(this),(e=this.readsValue)==null||e.addValueReader(this),this}setParent(e){return this.parent=e,this}removeInput(e){return this.dynamicArguments=this.dynamicArguments.filter(t=>t.id!==e.id),this}addInput(e){return this.dynamicArguments.includes(e)?this:this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.defaultValue&&(this.defaultValue=R(this.initialData.defaultValue,this.project),this.defaultValue.setParent(this),this.defaultValue.initChildren()),this.initialData.declaration&&(this.declaration=R(this.initialData.declaration,this.project)),oa.initReadsValue(this),this.dynamicArguments=this.initialData.dynamicArguments.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this)}setValueWriter(e){return this.readsValue=e,this}removeValueWriter(){return this.readsValue=null,this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this.name=e.name||this.name,this.description=e.description||this.description,this}async load(){return this}async create(){return this}async update(e){return this.sync(e),ya(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.readsValue&&(i.push(this.readsValue),this.readsValue.removeValueReader(this)),this.dynamicArguments.forEach(s=>{i.push(s),s.remove({ignoreUpstream:!0,seenEntities:t})}),this.defaultValue&&(i.push(this.defaultValue),this.defaultValue.remove({ignoreUpstream:!0,seenEntities:t})),e||(i.push(this.parent),this.parent.removeInput(this)),{affected:i,removed:a})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.readsValue&&(t.push(this.readsValue),this.readsValue.addValueReader(this)),this.dynamicArguments.forEach(i=>{t.push(i),i.restore({seenEntities:e})}),this.defaultValue&&(t.push(this.defaultValue),this.defaultValue.restore({seenEntities:e})),t.push(this.parent),this.parent.addInput(this),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.dynamicArguments.flatMap(i=>i.toFlat(e)),...this.defaultValue?this.defaultValue.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.dynamicArguments.flatMap(i=>i.toFlatIds(e)),...this.defaultValue?this.defaultValue.toFlatIds(e):[]])}toJSON(){var e,t,i;return{id:this.id,version:this.version,type:this.type,index:this.index,name:this.name,description:this.description,defaultValue:((e=this.defaultValue)==null?void 0:e.toJSON())||null,declaration:((t=this.declaration)==null?void 0:t.toJSON())||null,readsValue:((i=this.readsValue)==null?void 0:i.toReference())||null,parent:this.parent.toReference(),dynamicArguments:this.dynamicArguments.map(a=>a.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,i;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,defaultValue:((e=this.defaultValue)==null?void 0:e.toReference())||null,dynamicArguments:this.dynamicArguments.map(a=>a.toReference()),declaration:((t=this.declaration)==null?void 0:t.toReference())||null,readsValue:((i=this.readsValue)==null?void 0:i.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.dynamicArguments.flatMap(i=>i.toFlatJSON(e)),...this.defaultValue?this.defaultValue.toFlatJSON(e):[]])}toGenerationTarget(){var e;return{id:this.id,name:this.name||void 0,description:this.description||void 0,type:this.type,declaration:((e=this.declaration)==null?void 0:e.id)||null,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.dynamicArguments.flatMap(i=>i.toFlatGenerationTarget(e)),...this.defaultValue?this.defaultValue.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.dynamicArguments.forEach(t=>t.clearErrors()),(e=this.defaultValue)==null||e.clearErrors(),this}validate(){const e=d6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.dynamicArguments.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}getDefaultValue(){var e,t;return this.defaultValue||((t=(e=this.declaration)==null?void 0:e.dataType)==null?void 0:t.defaultValue)||null}setDefaultValue(e){return this.defaultValue=e,this}clone(e){return new oe(this.toJSON(),this.project)}getDataType(){var e;return((e=this.declaration)==null?void 0:e.getDataType())||null}};l(oe,"MUTABLE_BASE_PROPERTIES",["name","description"]),l(oe,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(oe,"BASE_PROPERTIES",[...oe.MUTABLE_BASE_PROPERTIES,...oe.INMUTABLE_BASE_PROPERTIES]),l(oe,"MUTABLE_META_PROPERTIES",[...oe.MUTABLE_BASE_PROPERTIES,"index"]),l(oe,"INMUTABLE_META_PROPERTIES",[...oe.INMUTABLE_BASE_PROPERTIES]),l(oe,"META_PROPERTIES",[...oe.MUTABLE_META_PROPERTIES,...oe.INMUTABLE_META_PROPERTIES]),l(oe,"MUTABLE_UPSTREAM_PROPERTIES",["readsValue"]),l(oe,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(oe,"UPSTREAM_PROPERTIES",[...oe.MUTABLE_UPSTREAM_PROPERTIES,...oe.INMUTABLE_UPSTREAM_PROPERTIES]),l(oe,"MUTABLE_DOWNSTREAM_PROPERTIES",["defaultValue","dynamicArguments"]),l(oe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(oe,"DOWNSTREAM_PROPERTIES",[...oe.MUTABLE_DOWNSTREAM_PROPERTIES,...oe.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(oe,"PROPERTIES",[...oe.META_PROPERTIES,...oe.UPSTREAM_PROPERTIES,...oe.DOWNSTREAM_PROPERTIES]);let hn=oe;class u6 extends hn{constructor(t,i){super(t,i);l(this,"declaration",null);l(this,"parent");l(this,"errors",[])}toJSON(){return super.toJSON()}}class p6 extends hn{constructor(t,i){super(t,i);l(this,"name",null);l(this,"description",null);l(this,"declaration");l(this,"parent");l(this,"errors",[])}toJSON(){return super.toJSON()}}function y6(n){const e=k4(),t=n.toJSON();e.safeParse(t).success;const a=[];if(n.id==="exec-sequentially-return-map-id"){const s=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(s.error)}return X(n.errors,a)}const le=class le{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"index");l(this,"type",r.OutputMap);l(this,"parentRelationType");l(this,"declaration");l(this,"writesValues",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.parentRelationType=e.parentRelationType}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s;if(e.declaration){const p=D(e.declaration);s=t.get(p)}const o={id:e.id,version:1,type:r.OutputMap,index:(a.outputs||[]).length,declaration:s,writesValues:[],parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){var u;let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:Ne.filter(p=>p!==r.Condition)},declaration:{list:!1,types:[r.ReturnDeclaration,r.Property]}},t);i=s.modifiedData;const o=t.get(i.parent);if(o&&Ne.filter(p=>p!==r.Condition).includes(o.type)){const p=o.outputs.find(h=>h.declaration.id===D(i.declaration));if(p)a.push(new E({id:`${i.id}--${y.OutputOverwrite}`,code:y.OutputOverwrite,severity:f.Error,message:`Entity of type '${r.OutputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The parent already has an output-map with id '${p.id}' that points to the same base 'return-declaration'.
123
+ ${I}`,issue:null}))}}return a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];let i=JSON.parse(JSON.stringify(e));const a=ua(i,this);return i=a.modifiedData,t.push(...a.errors),i.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
124
+ This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:i}}addSelfToProject(){var e;return this.parent.addInput(this),(e=this.readsValue)==null||e.addValueReader(this),this}setParent(e){return this.parent=e,this}removeInput(e){return this.dynamicArguments=this.dynamicArguments.filter(t=>t.id!==e.id),this}addInput(e){return this.dynamicArguments.includes(e)?this:this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.defaultValue&&(this.defaultValue=R(this.initialData.defaultValue,this.project),this.defaultValue.setParent(this),this.defaultValue.initChildren()),this.initialData.declaration&&(this.declaration=R(this.initialData.declaration,this.project)),la.initReadsValue(this),this.dynamicArguments=this.initialData.dynamicArguments.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this)}setValueWriter(e){return this.readsValue=e,this}removeValueWriter(){return this.readsValue=null,this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this.name=e.name||this.name,this.description=e.description||this.description,this}async load(){return this}async create(){return this}async update(e){return this.sync(e),ha(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.readsValue&&(i.push(this.readsValue),this.readsValue.removeValueReader(this)),this.dynamicArguments.forEach(s=>{i.push(s),s.remove({ignoreUpstream:!0,seenEntities:t})}),this.defaultValue&&(i.push(this.defaultValue),this.defaultValue.remove({ignoreUpstream:!0,seenEntities:t})),e||(i.push(this.parent),this.parent.removeInput(this)),{affected:i,removed:a})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.readsValue&&(t.push(this.readsValue),this.readsValue.addValueReader(this)),this.dynamicArguments.forEach(i=>{t.push(i),i.restore({seenEntities:e})}),this.defaultValue&&(t.push(this.defaultValue),this.defaultValue.restore({seenEntities:e})),t.push(this.parent),this.parent.addInput(this),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.dynamicArguments.flatMap(i=>i.toFlat(e)),...this.defaultValue?this.defaultValue.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.dynamicArguments.flatMap(i=>i.toFlatIds(e)),...this.defaultValue?this.defaultValue.toFlatIds(e):[]])}toJSON(){var e,t,i;return{id:this.id,version:this.version,type:this.type,index:this.index,name:this.name,description:this.description,defaultValue:((e=this.defaultValue)==null?void 0:e.toJSON())||null,declaration:((t=this.declaration)==null?void 0:t.toJSON())||null,readsValue:((i=this.readsValue)==null?void 0:i.toReference())||null,parent:this.parent.toReference(),dynamicArguments:this.dynamicArguments.map(a=>a.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,i;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,defaultValue:((e=this.defaultValue)==null?void 0:e.toReference())||null,dynamicArguments:this.dynamicArguments.map(a=>a.toReference()),declaration:((t=this.declaration)==null?void 0:t.toReference())||null,readsValue:((i=this.readsValue)==null?void 0:i.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.dynamicArguments.flatMap(i=>i.toFlatJSON(e)),...this.defaultValue?this.defaultValue.toFlatJSON(e):[]])}toGenerationTarget(){var e;return{id:this.id,name:this.name||void 0,description:this.description||void 0,type:this.type,declaration:((e=this.declaration)==null?void 0:e.id)||null,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.dynamicArguments.flatMap(i=>i.toFlatGenerationTarget(e)),...this.defaultValue?this.defaultValue.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.dynamicArguments.forEach(t=>t.clearErrors()),(e=this.defaultValue)==null||e.clearErrors(),this}validate(){const e=p9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.dynamicArguments.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}getDefaultValue(){var e,t;return this.defaultValue||((t=(e=this.declaration)==null?void 0:e.dataType)==null?void 0:t.defaultValue)||null}setDefaultValue(e){return this.defaultValue=e,this}clone(e){return new oe(this.toJSON(),this.project)}getDataType(){var e;return((e=this.declaration)==null?void 0:e.getDataType())||null}};l(oe,"MUTABLE_BASE_PROPERTIES",["name","description"]),l(oe,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(oe,"BASE_PROPERTIES",[...oe.MUTABLE_BASE_PROPERTIES,...oe.INMUTABLE_BASE_PROPERTIES]),l(oe,"MUTABLE_META_PROPERTIES",[...oe.MUTABLE_BASE_PROPERTIES,"index"]),l(oe,"INMUTABLE_META_PROPERTIES",[...oe.INMUTABLE_BASE_PROPERTIES]),l(oe,"META_PROPERTIES",[...oe.MUTABLE_META_PROPERTIES,...oe.INMUTABLE_META_PROPERTIES]),l(oe,"MUTABLE_UPSTREAM_PROPERTIES",["readsValue"]),l(oe,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(oe,"UPSTREAM_PROPERTIES",[...oe.MUTABLE_UPSTREAM_PROPERTIES,...oe.INMUTABLE_UPSTREAM_PROPERTIES]),l(oe,"MUTABLE_DOWNSTREAM_PROPERTIES",["defaultValue","dynamicArguments"]),l(oe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(oe,"DOWNSTREAM_PROPERTIES",[...oe.MUTABLE_DOWNSTREAM_PROPERTIES,...oe.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(oe,"PROPERTIES",[...oe.META_PROPERTIES,...oe.UPSTREAM_PROPERTIES,...oe.DOWNSTREAM_PROPERTIES]);let hn=oe;class y9 extends hn{constructor(t,i){super(t,i);l(this,"declaration",null);l(this,"parent");l(this,"errors",[])}toJSON(){return super.toJSON()}}class h9 extends hn{constructor(t,i){super(t,i);l(this,"name",null);l(this,"description",null);l(this,"declaration");l(this,"parent");l(this,"errors",[])}toJSON(){return super.toJSON()}}function f9(n){const e=J4(),t=n.toJSON();e.safeParse(t).success;const a=[];if(n.id==="exec-sequentially-return-map-id"){const s=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(s.error)}return X(n.errors,a)}const le=class le{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"index");l(this,"type",r.OutputMap);l(this,"parentRelationType");l(this,"declaration");l(this,"writesValues",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.parentRelationType=e.parentRelationType}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s;if(e.declaration){const p=D(e.declaration);s=t.get(p)}const o={id:e.id,version:1,type:r.OutputMap,index:(a.outputs||[]).length,declaration:s,writesValues:[],parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){var u;let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:Ne.filter(p=>p!==r.Condition)},declaration:{list:!1,types:[r.ReturnDeclaration,r.Property]}},t);i=s.modifiedData;const o=t.get(i.parent);if(o&&Ne.filter(p=>p!==r.Condition).includes(o.type)){const p=o.outputs.find(h=>h.declaration.id===D(i.declaration));if(p)a.push(new E({id:`${i.id}--${y.OutputOverwrite}`,code:y.OutputOverwrite,severity:f.Error,message:`Entity of type '${r.OutputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The parent already has an output-map with id '${p.id}' that points to the same base 'return-declaration'.
125
125
  Any value reads can be done with that output-map instead.
126
- You can't edit output-map entities as they need to match their return declarations, so you can only choose to read their outputted value if you need it.`,issue:null}));else{const h=t.get(i.declaration);if(h&&Fe.includes(o.type)){const m=Zc(o),T=m.dataType,b=(u=m.dataType)==null?void 0:u.entity;T?b?b.type===r.ActionDescriptor?a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.OutputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The data type of the 'variable-declaration' is a 'action-descriptor' entity.
126
+ You can't edit output-map entities as they need to match their return declarations, so you can only choose to read their outputted value if you need it.`,issue:null}));else{const h=t.get(i.declaration);if(h&&Fe.includes(o.type)){const m=Kc(o),T=m.dataType,b=(u=m.dataType)==null?void 0:u.entity;T?b?b.type===r.ActionDescriptor?a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.OutputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The data type of the 'variable-declaration' is a 'action-descriptor' entity.
127
127
  This means it can hold a function-call or operation as its value, to be executed programatically.
128
128
  Output maps can only be added to variables which hold an entity with properties.`,issue:null})):b.properties.find(B=>B.id===h.id)||a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.OutputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The 'declaration' with '${h.id}' of the 'output-map' does not exist in the entity of the 'data-type'.
129
129
  The entity of the data-type has the following properties that can be reads as output maps, ids: '${N(b.properties.map(B=>B.id),"', '","' and '")}'`,issue:null})):a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.OutputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The data type of the 'variable-declaration' doesn't have an 'entity' set, so it cannot be determined if the output-map is reading a valid property of the data type entity.
130
- ${ud}`,issue:null})):a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.OutputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The data type of the 'variable-declaration' is not set, so it cannot be determined if the output-map is reading a valid property of the data type entity.
131
- ${ud}`,issue:null}))}else if(h){const m=o.outputs.find(T=>T.declaration.id===i.declaration);m&&a.push(new E({id:`${i.id}--${y.OutputOverwrite}`,code:y.OutputOverwrite,severity:f.Error,message:`Entity of type '${r.OutputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The parent already has an output-map with id '${m.id}' that points to the same declaration.
130
+ ${hd}`,issue:null})):a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.OutputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The data type of the 'variable-declaration' is not set, so it cannot be determined if the output-map is reading a valid property of the data type entity.
131
+ ${hd}`,issue:null}))}else if(h){const m=o.outputs.find(T=>T.declaration.id===i.declaration);m&&a.push(new E({id:`${i.id}--${y.OutputOverwrite}`,code:y.OutputOverwrite,severity:f.Error,message:`Entity of type '${r.OutputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The parent already has an output-map with id '${m.id}' that points to the same declaration.
132
132
  Any value reads can be done with that output-map instead.
133
133
  You can't edit output-map entities as they need to match their return declarations, so you can only choose to read their outputted value if you need it.`,issue:null}))}}}return a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
134
- This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent.addOutput(this),this.writesValues.forEach(e=>{e.setValueWriter(this)}),this}addValueReader(e){return this.writesValues.includes(e)?this:(this.writesValues.push(e),this)}removeValueReader(e){return this.writesValues=this.writesValues.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,la.initWritesValues(this,this.parent.parent),this.initialData.declaration&&(this.declaration=R(this.initialData.declaration,this.project)),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this.parentRelationType=e.parentRelationType||this.parentRelationType,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.writesValues.forEach(s=>{i.push(s),s.readsValue=null}),{affected:i,removed:a})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.writesValues.forEach(i=>{t.push(i),i.setValueWriter(this)}),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.writesValues.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.writesValues.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,index:this.index,parentRelationType:this.parentRelationType,writesValues:this.writesValues.map(e=>e.toJSON()),declaration:this.declaration.toJSON(),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,index:this.index,parentRelationType:this.parentRelationType,declaration:this.declaration.toReference(),writesValues:this.writesValues.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.writesValues.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,declaration:this.declaration.id,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.writesValues.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this}validate(){const e=y6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors]}getShallowErrors(){return this.errors}getDefaultValue(){var e,t;return((t=(e=this.declaration)==null?void 0:e.dataType)==null?void 0:t.defaultValue)||null}clone(e){return new le(this.toJSON(),this.project)}getDataType(){return this.declaration.getDataType()||null}};l(le,"MUTABLE_BASE_PROPERTIES",[]),l(le,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(le,"BASE_PROPERTIES",[...le.MUTABLE_BASE_PROPERTIES,...le.INMUTABLE_BASE_PROPERTIES]),l(le,"MUTABLE_META_PROPERTIES",[...le.MUTABLE_BASE_PROPERTIES,"index"]),l(le,"INMUTABLE_META_PROPERTIES",[...le.INMUTABLE_BASE_PROPERTIES]),l(le,"META_PROPERTIES",[...le.MUTABLE_META_PROPERTIES,...le.INMUTABLE_META_PROPERTIES]),l(le,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(le,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(le,"UPSTREAM_PROPERTIES",[...le.MUTABLE_UPSTREAM_PROPERTIES,...le.INMUTABLE_UPSTREAM_PROPERTIES]),l(le,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues"]),l(le,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(le,"DOWNSTREAM_PROPERTIES",[...le.MUTABLE_DOWNSTREAM_PROPERTIES,...le.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(le,"PROPERTIES",[...le.META_PROPERTIES,...le.UPSTREAM_PROPERTIES,...le.DOWNSTREAM_PROPERTIES]);let fn=le;class h6 extends fn{constructor(t,i){super(t,i);l(this,"declaration");l(this,"parent");l(this,"errors",[])}toJSON(){return super.toJSON()}}class f6 extends fn{constructor(t,i){super(t,i);l(this,"declaration");l(this,"parent");l(this,"errors",[])}toJSON(){return super.toJSON()}}function m6(n){var s;const e=bx(),t=n.toJSON();e.safeParse(t).success,(s=n.dataType)==null||s.validate();const a=[];if(n.id==="company-dto-func-declaration-argument-dcl-id"){const o=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(o.error)}if(n.id==="manual-hello-world-loop-current-iteration-number-output-map-id"){const o=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(o.error)}return X(n.errors,a)}const ce=class ce{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"index");l(this,"required");l(this,"type",r.ArgumentDeclaration);l(this,"dataType",null);l(this,"writesValues",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.name=e.name,this.description=e.description,this.required=e.required}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s={id:e.id,version:1,name:e.name,type:r.ArgumentDeclaration,index:a.inputs.length,description:e.description,required:e.required,dataType:null,writesValues:[],parent:a},o=R(s,t);return o.setParent(a),o.initChildren(),o}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.FunctionDeclaration,r.Search,r.Condition]}},t);i=s.modifiedData;const o=rd(i,t);if(i.parent){const u=t.get(D(i.parent));if(u&&$e.includes(u.type)){const p=u.implements;if(p)if(p.argumentsType===L.Fixed){const h=p.fixedArguments.find(G=>G.name===i.name),m=p.fixedArguments.filter(G=>!u.inputs.find(xt=>xt.type===r.ArgumentDeclaration&&xt.name===G.name)),T=u.inputs.filter(G=>G.type===r.ArgumentDeclaration),b=T.find(G=>G.name===i.name),I=T.length?`The parent entity already implements the following arguments: ${N(T.map(G=>`'${G.id}' (${G.name})`),", "," and ")}.`:"The parent entity does not yet have any implemented arguments.",B=m.length?`The parent entity is still missing the following arguments in the implementation: ${N(m.map(G=>`'${G.id}' (${G.name})`),", "," and ")}.`:"The parent entity has all the arguments it needs implemented.";h?b&&a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ArgumentDeclaration}' with id '${i.id}' should not exist in a parent entity of type '${u.type}' with id '${u.id}' that implements a ${r.ActionDescriptor} with fixed arguments.
134
+ This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent.addOutput(this),this.writesValues.forEach(e=>{e.setValueWriter(this)}),this}addValueReader(e){return this.writesValues.includes(e)?this:(this.writesValues.push(e),this)}removeValueReader(e){return this.writesValues=this.writesValues.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,ca.initWritesValues(this,this.parent.parent),this.initialData.declaration&&(this.declaration=R(this.initialData.declaration,this.project)),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this.parentRelationType=e.parentRelationType||this.parentRelationType,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.writesValues.forEach(s=>{i.push(s),s.readsValue=null}),{affected:i,removed:a})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.writesValues.forEach(i=>{t.push(i),i.setValueWriter(this)}),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.writesValues.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.writesValues.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,index:this.index,parentRelationType:this.parentRelationType,writesValues:this.writesValues.map(e=>e.toJSON()),declaration:this.declaration.toJSON(),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,index:this.index,parentRelationType:this.parentRelationType,declaration:this.declaration.toReference(),writesValues:this.writesValues.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.writesValues.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,declaration:this.declaration.id,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.writesValues.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this}validate(){const e=f9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors]}getShallowErrors(){return this.errors}getDefaultValue(){var e,t;return((t=(e=this.declaration)==null?void 0:e.dataType)==null?void 0:t.defaultValue)||null}clone(e){return new le(this.toJSON(),this.project)}getDataType(){return this.declaration.getDataType()||null}};l(le,"MUTABLE_BASE_PROPERTIES",[]),l(le,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(le,"BASE_PROPERTIES",[...le.MUTABLE_BASE_PROPERTIES,...le.INMUTABLE_BASE_PROPERTIES]),l(le,"MUTABLE_META_PROPERTIES",[...le.MUTABLE_BASE_PROPERTIES,"index"]),l(le,"INMUTABLE_META_PROPERTIES",[...le.INMUTABLE_BASE_PROPERTIES]),l(le,"META_PROPERTIES",[...le.MUTABLE_META_PROPERTIES,...le.INMUTABLE_META_PROPERTIES]),l(le,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(le,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(le,"UPSTREAM_PROPERTIES",[...le.MUTABLE_UPSTREAM_PROPERTIES,...le.INMUTABLE_UPSTREAM_PROPERTIES]),l(le,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues"]),l(le,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(le,"DOWNSTREAM_PROPERTIES",[...le.MUTABLE_DOWNSTREAM_PROPERTIES,...le.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(le,"PROPERTIES",[...le.META_PROPERTIES,...le.UPSTREAM_PROPERTIES,...le.DOWNSTREAM_PROPERTIES]);let fn=le;class m9 extends fn{constructor(t,i){super(t,i);l(this,"declaration");l(this,"parent");l(this,"errors",[])}toJSON(){return super.toJSON()}}class T9 extends fn{constructor(t,i){super(t,i);l(this,"declaration");l(this,"parent");l(this,"errors",[])}toJSON(){return super.toJSON()}}function E9(n){var s;const e=gx(),t=n.toJSON();e.safeParse(t).success,(s=n.dataType)==null||s.validate();const a=[];if(n.id==="company-dto-func-declaration-argument-dcl-id"){const o=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(o.error)}if(n.id==="manual-hello-world-loop-current-iteration-number-output-map-id"){const o=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(o.error)}return X(n.errors,a)}const ce=class ce{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"index");l(this,"required");l(this,"type",r.ArgumentDeclaration);l(this,"dataType",null);l(this,"writesValues",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.name=e.name,this.description=e.description,this.required=e.required}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s={id:e.id,version:1,name:e.name,type:r.ArgumentDeclaration,index:a.inputs.length,description:e.description,required:e.required,dataType:null,writesValues:[],parent:a},o=R(s,t);return o.setParent(a),o.initChildren(),o}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.FunctionDeclaration,r.Search,r.Condition]}},t);i=s.modifiedData;const o=sd(i,t);if(i.parent){const u=t.get(D(i.parent));if(u&&$e.includes(u.type)){const p=u.implements;if(p)if(p.argumentsType===L.Fixed){const h=p.fixedArguments.find(G=>G.name===i.name),m=p.fixedArguments.filter(G=>!u.inputs.find(xt=>xt.type===r.ArgumentDeclaration&&xt.name===G.name)),T=u.inputs.filter(G=>G.type===r.ArgumentDeclaration),b=T.find(G=>G.name===i.name),I=T.length?`The parent entity already implements the following arguments: ${N(T.map(G=>`'${G.id}' (${G.name})`),", "," and ")}.`:"The parent entity does not yet have any implemented arguments.",B=m.length?`The parent entity is still missing the following arguments in the implementation: ${N(m.map(G=>`'${G.id}' (${G.name})`),", "," and ")}.`:"The parent entity has all the arguments it needs implemented.";h?b&&a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ArgumentDeclaration}' with id '${i.id}' should not exist in a parent entity of type '${u.type}' with id '${u.id}' that implements a ${r.ActionDescriptor} with fixed arguments.
135
135
  Adding a new argument would make the implementation invalid. An argument with the same name already exists in the parent entity.
136
136
  ${I}
137
137
  ${B}`,issue:null})):a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ArgumentDeclaration}' with id '${i.id}' should not exist in a parent entity of type '${u.type}' with id '${u.id}' that implements a ${r.ActionDescriptor} with fixed arguments.
@@ -139,7 +139,7 @@ Adding a new argument would make the implementation invalid. There are no argume
139
139
  ${I}
140
140
  ${B}`,issue:null}))}else p.argumentsType===L.Dynamic||p.argumentsType===L.None&&a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ArgumentDeclaration}' with id '${i.id}' should not exist in a parent entity of type '${u.type}' with id '${u.id}' that implements a ${r.ActionDescriptor} with no arguments.
141
141
  Adding a new argument would make the implementation invalid.`,issue:null}))}}return a.push(...s.errors,...o,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
142
- This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent.addInputDeclaration(this),this.writesValues.forEach(e=>{e.setValueWriter(this)}),this}addValueReader(e){return this.writesValues.includes(e)?this:(this.writesValues.push(e),this)}removeValueReader(e){return this.writesValues=this.writesValues.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.dataType&&(this.dataType=R(this.initialData.dataType,this.project),this.dataType.setParent(this),this.dataType.initChildren()),la.initWritesValues(this,this.parent),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this.name=e.name||this.name,this.description=e.description||this.description,this.required=e.required||this.required,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.writesValues.forEach(s=>{i.push(s),s.readsValue=null}),e||(i.push(this.parent),this.parent.removeInputDeclaration(this)),this.dataType){const s=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.writesValues.forEach(i=>{t.push(i),i.setValueWriter(this)}),t.push(this.parent),this.parent.addInputDeclaration(this),this.dataType){const{affected:i}=this.dataType.restore({seenEntities:e});t.push(...i)}return{affected:S(t),self:this}}toFlat(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this,...this.writesValues.flatMap(a=>a.toFlat(e)),...((i=this.dataType)==null?void 0:i.toFlat(e))||[]])}toFlatIds(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.writesValues.flatMap(a=>a.toFlatIds(e)),...((i=this.dataType)==null?void 0:i.toFlatIds(e))||[]])}toJSON(){var e;return{id:this.id,version:this.version,name:this.name,type:this.type,index:this.index,description:this.description,required:this.required,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,writesValues:this.writesValues.map(t=>t.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e;return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,index:this.index,required:this.required,writesValues:this.writesValues.map(t=>t.toReference()),dataType:((e=this.dataType)==null?void 0:e.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.writesValues.flatMap(a=>a.toFlatJSON(e)),...((i=this.dataType)==null?void 0:i.toFlatJSON(e))||[]])}toGenerationTarget(){return{id:this.id,name:this.name,description:this.description,type:this.type,required:this.required,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.writesValues.flatMap(a=>a.toFlatGenerationTarget(e)),...((i=this.dataType)==null?void 0:i.toFlatGenerationTarget(e))||[]])}clearErrors(){var e;return this.errors=[],(e=this.dataType)==null||e.clearErrors(),this}validate(){const e=m6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t;return[...this.errors,...((t=this.dataType)==null?void 0:t.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e;return((e=this==null?void 0:this.dataType)==null?void 0:e.defaultValue)||null}clone(e){return new ce(this.toJSON(),this.project)}getDataType(){return this.dataType}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}};l(ce,"MUTABLE_BASE_PROPERTIES",["name","description","required"]),l(ce,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(ce,"BASE_PROPERTIES",[...ce.MUTABLE_BASE_PROPERTIES,...ce.INMUTABLE_BASE_PROPERTIES]),l(ce,"MUTABLE_META_PROPERTIES",[...ce.MUTABLE_BASE_PROPERTIES,"index"]),l(ce,"INMUTABLE_META_PROPERTIES",[...ce.INMUTABLE_BASE_PROPERTIES]),l(ce,"META_PROPERTIES",[...ce.MUTABLE_META_PROPERTIES,...ce.INMUTABLE_META_PROPERTIES]),l(ce,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(ce,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(ce,"UPSTREAM_PROPERTIES",[...ce.MUTABLE_UPSTREAM_PROPERTIES,...ce.INMUTABLE_UPSTREAM_PROPERTIES]),l(ce,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues","dataType"]),l(ce,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ce,"DOWNSTREAM_PROPERTIES",[...ce.MUTABLE_DOWNSTREAM_PROPERTIES,...ce.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ce,"PROPERTIES",[...ce.META_PROPERTIES,...ce.UPSTREAM_PROPERTIES,...ce.DOWNSTREAM_PROPERTIES]);let mr=ce;function T6(n){const e=uc(),t=n.toJSON();e.safeParse(t).success;const a=[];return X(n.errors,a)}function E6(n,e){const t=[];if(n.parent)if(n.parent){const i=e.get(n.parent);i?[r.InputMap,r.DataType].includes(i.type)?i.type===r.DataType&&i.defaultValue&&t.push(new E({id:`${n.id}--${n.parent}--${y.NewEntityWouldOverriteExisting}`,code:y.NewEntityWouldOverriteExisting,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a 'parent' of type 'data-type' which already has an existing default value entity with id "${i.defaultValue.id}".
142
+ This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent.addInputDeclaration(this),this.writesValues.forEach(e=>{e.setValueWriter(this)}),this}addValueReader(e){return this.writesValues.includes(e)?this:(this.writesValues.push(e),this)}removeValueReader(e){return this.writesValues=this.writesValues.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.dataType&&(this.dataType=R(this.initialData.dataType,this.project),this.dataType.setParent(this),this.dataType.initChildren()),ca.initWritesValues(this,this.parent),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this.name=e.name||this.name,this.description=e.description||this.description,this.required=e.required||this.required,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.writesValues.forEach(s=>{i.push(s),s.readsValue=null}),e||(i.push(this.parent),this.parent.removeInputDeclaration(this)),this.dataType){const s=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.writesValues.forEach(i=>{t.push(i),i.setValueWriter(this)}),t.push(this.parent),this.parent.addInputDeclaration(this),this.dataType){const{affected:i}=this.dataType.restore({seenEntities:e});t.push(...i)}return{affected:S(t),self:this}}toFlat(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this,...this.writesValues.flatMap(a=>a.toFlat(e)),...((i=this.dataType)==null?void 0:i.toFlat(e))||[]])}toFlatIds(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.writesValues.flatMap(a=>a.toFlatIds(e)),...((i=this.dataType)==null?void 0:i.toFlatIds(e))||[]])}toJSON(){var e;return{id:this.id,version:this.version,name:this.name,type:this.type,index:this.index,description:this.description,required:this.required,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,writesValues:this.writesValues.map(t=>t.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e;return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,index:this.index,required:this.required,writesValues:this.writesValues.map(t=>t.toReference()),dataType:((e=this.dataType)==null?void 0:e.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.writesValues.flatMap(a=>a.toFlatJSON(e)),...((i=this.dataType)==null?void 0:i.toFlatJSON(e))||[]])}toGenerationTarget(){return{id:this.id,name:this.name,description:this.description,type:this.type,required:this.required,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.writesValues.flatMap(a=>a.toFlatGenerationTarget(e)),...((i=this.dataType)==null?void 0:i.toFlatGenerationTarget(e))||[]])}clearErrors(){var e;return this.errors=[],(e=this.dataType)==null||e.clearErrors(),this}validate(){const e=E9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t;return[...this.errors,...((t=this.dataType)==null?void 0:t.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e;return((e=this==null?void 0:this.dataType)==null?void 0:e.defaultValue)||null}clone(e){return new ce(this.toJSON(),this.project)}getDataType(){return this.dataType}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}};l(ce,"MUTABLE_BASE_PROPERTIES",["name","description","required"]),l(ce,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(ce,"BASE_PROPERTIES",[...ce.MUTABLE_BASE_PROPERTIES,...ce.INMUTABLE_BASE_PROPERTIES]),l(ce,"MUTABLE_META_PROPERTIES",[...ce.MUTABLE_BASE_PROPERTIES,"index"]),l(ce,"INMUTABLE_META_PROPERTIES",[...ce.INMUTABLE_BASE_PROPERTIES]),l(ce,"META_PROPERTIES",[...ce.MUTABLE_META_PROPERTIES,...ce.INMUTABLE_META_PROPERTIES]),l(ce,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(ce,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(ce,"UPSTREAM_PROPERTIES",[...ce.MUTABLE_UPSTREAM_PROPERTIES,...ce.INMUTABLE_UPSTREAM_PROPERTIES]),l(ce,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues","dataType"]),l(ce,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ce,"DOWNSTREAM_PROPERTIES",[...ce.MUTABLE_DOWNSTREAM_PROPERTIES,...ce.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ce,"PROPERTIES",[...ce.META_PROPERTIES,...ce.UPSTREAM_PROPERTIES,...ce.DOWNSTREAM_PROPERTIES]);let Tr=ce;function R9(n){const e=hc(),t=n.toJSON();e.safeParse(t).success;const a=[];return X(n.errors,a)}function b9(n,e){const t=[];if(n.parent)if(n.parent){const i=e.get(n.parent);i?[r.InputMap,r.DataType].includes(i.type)?i.type===r.DataType&&i.defaultValue&&t.push(new E({id:`${n.id}--${n.parent}--${y.NewEntityWouldOverriteExisting}`,code:y.NewEntityWouldOverriteExisting,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a 'parent' of type 'data-type' which already has an existing default value entity with id "${i.defaultValue.id}".
143
143
  Data types can only have one 'primitive-value' entity as 'defaultValue'.
144
144
  You can update the existing 'primitive-value' with the 'update' action, for example, like so:
145
145
  \`\`\`json
@@ -151,62 +151,62 @@ You can update the existing 'primitive-value' with the 'update' action, for exam
151
151
  }
152
152
  }
153
153
  }\`\`\`
154
- Or 'delete' and then 'post' actions to replace it.`,issue:null})):t.push(new E({id:`${n.id}--${n.parent}--${y.InvalidParentReference}`,code:y.InvalidParentReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a parent reference that isn't pointing to an entity of type 'input-map' or 'data-type'.`,issue:null})):t.push(new E({id:`${n.id}--${n.parent}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}else t.push(new E({id:`${n.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}" is missing a 'parent' reference. The 'parent' of a primitive value entity must be a reference to an entity of type 'input-map' or 'data-type'.`,issue:null}));else return t.push(new E({id:`${n.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}" is missing a 'parent' reference. The 'parent' of a primitive value entity must be a reference to an entity of type 'input-map' or 'data-type'.`,issue:null})),t;if(n.valueAsType){const i=[],a=[],s=n.valueAsType;Array.isArray(s)?s.forEach(o=>{typeof o=="string"?a.push(o):i.push(o)}):typeof s=="string"?a.push(s):i.push(s),i.forEach(o=>{const u=Ks(o);t.push(...u),u.length===0&&a.push(o.entityId)}),a.forEach(o=>{const u=e.get(o);u?[r.CustomEntity,r.BuiltInBaseEntity].includes(u.type)||t.push(new E({id:`${n.id}--${o}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'valueAsType' reference that isn't pointing to an entity of type 'custom-entity', 'function-declaration' or 'operation'.`,issue:null})):t.push(new E({id:`${n.id}--${o}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${o}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))})}return t}const Ee=class Ee{constructor(e,t){l(this,"initialData");l(this,"type",r.PrimitiveValue);l(this,"id");l(this,"version");l(this,"name");l(this,"autogeneration",null);l(this,"value",null);l(this,"valueAsType",null);l(this,"errors",[]);l(this,"parent");l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.autogeneration=e.autogeneration,this.value=e.value}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;e.valueAsType&&(Array.isArray(e.valueAsType)?s=e.valueAsType.map(p=>t.get(p)||t.getBuiltIn(p)):s=t.get(e.valueAsType)||t.getBuiltIn(e.valueAsType));const o={id:e.id,version:1,type:r.PrimitiveValue,name:e.name,autogeneration:e.autogeneration,valueAsType:s,value:e.value||null,parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=E6(i,t);return a.push(...s,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
155
- This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent.setDefaultValue(this),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.valueAsType&&(Array.isArray(this.initialData.valueAsType)?this.valueAsType=this.initialData.valueAsType.map(e=>R(e,this.project)):this.valueAsType=R(this.initialData.valueAsType,this.project)),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.subscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.autogeneration=e.autogeneration||this.autogeneration,e.value!==void 0&&(this.value=e.value),this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(i=>i.toFlat(e)):this.valueAsType.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(i=>i.toFlatIds(e)):this.valueAsType.toFlatIds(e):[]])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,autogeneration:this.autogeneration,value:this.value,valueAsType:this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.map(e=>e.toReference()):this.valueAsType.toReference():null,parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,valueAsType:this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.map(e=>e.toReference()):this.valueAsType.toReference():null,value:this.value,autogeneration:this.autogeneration,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(i=>i.toFlatJSON(e)):this.valueAsType.toFlatJSON(e):[]])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,valueAsType:this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.map(e=>e.id):this.valueAsType.id:null,value:this.value,autogeneration:this.autogeneration,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(i=>i.toFlatGenerationTarget(e)):this.valueAsType.toFlatGenerationTarget(e):[]])}clearErrors(){return this.errors=[],this}validate(){const e=T6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors]}getShallowErrors(){return this.errors}clone(e=null,t=null,i=!0){const a=this.toJSON(),s=t||Xt(this.name,r.PrimitiveValue,this.project);a.id=s;const o=ha(a,this.project);return e&&o.setParent(e),i&&o.subscribe(),o}};l(Ee,"MUTABLE_BASE_PROPERTIES",["name","autogeneration","value"]),l(Ee,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(Ee,"BASE_PROPERTIES",[...Ee.MUTABLE_BASE_PROPERTIES,...Ee.INMUTABLE_BASE_PROPERTIES]),l(Ee,"MUTABLE_META_PROPERTIES",[...Ee.MUTABLE_BASE_PROPERTIES]),l(Ee,"INMUTABLE_META_PROPERTIES",[...Ee.INMUTABLE_BASE_PROPERTIES]),l(Ee,"META_PROPERTIES",[...Ee.MUTABLE_META_PROPERTIES,...Ee.INMUTABLE_META_PROPERTIES]),l(Ee,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(Ee,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(Ee,"UPSTREAM_PROPERTIES",[...Ee.MUTABLE_UPSTREAM_PROPERTIES,...Ee.INMUTABLE_UPSTREAM_PROPERTIES]),l(Ee,"MUTABLE_DOWNSTREAM_PROPERTIES",["valueAsType"]),l(Ee,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(Ee,"DOWNSTREAM_PROPERTIES",[...Ee.MUTABLE_DOWNSTREAM_PROPERTIES,...Ee.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(Ee,"PROPERTIES",[...Ee.META_PROPERTIES,...Ee.UPSTREAM_PROPERTIES,...Ee.DOWNSTREAM_PROPERTIES]);let li=Ee;function R6(n){var s;const e=S4(),t=n.toJSON();e.safeParse(t).success,n.outputs.forEach(o=>o.validate()),(s=n.throws)==null||s.validate();const a=[];return X(n.errors,a)}function b6(n){var s;const e=I4(),t=n.toJSON();e.safeParse(t).success,n.outputs.forEach(o=>o.validate()),(s=n.throws)==null||s.validate();const a=[];return X(n.errors,a)}const Re=class Re{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.ContinueStatement);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"throws",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),o=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),u=e.calledByError.map(m=>{const T=D(m);return t.get(T)}),p={id:e.id,version:1,type:r.ContinueStatement,x:0,y:0,outputs:[],calledBySuccess:o,calledByError:u,calledByEntry:s,throws:null,parent:a},h=R(p,t);return h.setParent(a),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.Loop]}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
154
+ Or 'delete' and then 'post' actions to replace it.`,issue:null})):t.push(new E({id:`${n.id}--${n.parent}--${y.InvalidParentReference}`,code:y.InvalidParentReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a parent reference that isn't pointing to an entity of type 'input-map' or 'data-type'.`,issue:null})):t.push(new E({id:`${n.id}--${n.parent}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}else t.push(new E({id:`${n.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}" is missing a 'parent' reference. The 'parent' of a primitive value entity must be a reference to an entity of type 'input-map' or 'data-type'.`,issue:null}));else return t.push(new E({id:`${n.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}" is missing a 'parent' reference. The 'parent' of a primitive value entity must be a reference to an entity of type 'input-map' or 'data-type'.`,issue:null})),t;if(n.valueAsType){const i=[],a=[],s=n.valueAsType;Array.isArray(s)?s.forEach(o=>{typeof o=="string"?a.push(o):i.push(o)}):typeof s=="string"?a.push(s):i.push(s),i.forEach(o=>{const u=to(o);t.push(...u),u.length===0&&a.push(o.entityId)}),a.forEach(o=>{const u=e.get(o);u?[r.CustomEntity,r.BuiltInBaseEntity].includes(u.type)||t.push(new E({id:`${n.id}--${o}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'valueAsType' reference that isn't pointing to an entity of type 'custom-entity', 'function-declaration' or 'operation'.`,issue:null})):t.push(new E({id:`${n.id}--${o}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${o}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))})}return t}const Ee=class Ee{constructor(e,t){l(this,"initialData");l(this,"type",r.PrimitiveValue);l(this,"id");l(this,"version");l(this,"name");l(this,"autogeneration",null);l(this,"value",null);l(this,"valueAsType",null);l(this,"errors",[]);l(this,"parent");l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.autogeneration=e.autogeneration,this.value=e.value}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;e.valueAsType&&(Array.isArray(e.valueAsType)?s=e.valueAsType.map(p=>t.get(p)||t.getBuiltIn(p)):s=t.get(e.valueAsType)||t.getBuiltIn(e.valueAsType));const o={id:e.id,version:1,type:r.PrimitiveValue,name:e.name,autogeneration:e.autogeneration,valueAsType:s,value:e.value||null,parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=b9(i,t);return a.push(...s,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
155
+ This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent.setDefaultValue(this),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.valueAsType&&(Array.isArray(this.initialData.valueAsType)?this.valueAsType=this.initialData.valueAsType.map(e=>R(e,this.project)):this.valueAsType=R(this.initialData.valueAsType,this.project)),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.subscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.autogeneration=e.autogeneration||this.autogeneration,e.value!==void 0&&(this.value=e.value),this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(i=>i.toFlat(e)):this.valueAsType.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(i=>i.toFlatIds(e)):this.valueAsType.toFlatIds(e):[]])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,autogeneration:this.autogeneration,value:this.value,valueAsType:this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.map(e=>e.toReference()):this.valueAsType.toReference():null,parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,valueAsType:this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.map(e=>e.toReference()):this.valueAsType.toReference():null,value:this.value,autogeneration:this.autogeneration,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(i=>i.toFlatJSON(e)):this.valueAsType.toFlatJSON(e):[]])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,valueAsType:this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.map(e=>e.id):this.valueAsType.id:null,value:this.value,autogeneration:this.autogeneration,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(i=>i.toFlatGenerationTarget(e)):this.valueAsType.toFlatGenerationTarget(e):[]])}clearErrors(){return this.errors=[],this}validate(){const e=R9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors]}getShallowErrors(){return this.errors}clone(e=null,t=null,i=!0){const a=this.toJSON(),s=t||Xt(this.name,r.PrimitiveValue,this.project);a.id=s;const o=fa(a,this.project);return e&&o.setParent(e),i&&o.subscribe(),o}};l(Ee,"MUTABLE_BASE_PROPERTIES",["name","autogeneration","value"]),l(Ee,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(Ee,"BASE_PROPERTIES",[...Ee.MUTABLE_BASE_PROPERTIES,...Ee.INMUTABLE_BASE_PROPERTIES]),l(Ee,"MUTABLE_META_PROPERTIES",[...Ee.MUTABLE_BASE_PROPERTIES]),l(Ee,"INMUTABLE_META_PROPERTIES",[...Ee.INMUTABLE_BASE_PROPERTIES]),l(Ee,"META_PROPERTIES",[...Ee.MUTABLE_META_PROPERTIES,...Ee.INMUTABLE_META_PROPERTIES]),l(Ee,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(Ee,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(Ee,"UPSTREAM_PROPERTIES",[...Ee.MUTABLE_UPSTREAM_PROPERTIES,...Ee.INMUTABLE_UPSTREAM_PROPERTIES]),l(Ee,"MUTABLE_DOWNSTREAM_PROPERTIES",["valueAsType"]),l(Ee,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(Ee,"DOWNSTREAM_PROPERTIES",[...Ee.MUTABLE_DOWNSTREAM_PROPERTIES,...Ee.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(Ee,"PROPERTIES",[...Ee.META_PROPERTIES,...Ee.UPSTREAM_PROPERTIES,...Ee.DOWNSTREAM_PROPERTIES]);let ci=Ee;function v9(n){var s;const e=C4(),t=n.toJSON();e.safeParse(t).success,n.outputs.forEach(o=>o.validate()),(s=n.throws)==null||s.validate();const a=[];return X(n.errors,a)}function g9(n){var s;const e=D4(),t=n.toJSON();e.safeParse(t).success,n.outputs.forEach(o=>o.validate()),(s=n.throws)==null||s.validate();const a=[];return X(n.errors,a)}const Re=class Re{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.ContinueStatement);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"throws",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),o=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),u=e.calledByError.map(m=>{const T=D(m);return t.get(T)}),p={id:e.id,version:1,type:r.ContinueStatement,x:0,y:0,outputs:[],calledBySuccess:o,calledByError:u,calledByEntry:s,throws:null,parent:a},h=R(p,t);return h.setParent(a),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.Loop]}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
156
156
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
157
157
  You shouldn't have to manually update a 'parent' property.
158
- Specifically for continue statements the parent needs to always be the 'loop' entity that contains it.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.parent.addContinueStatement(this),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addOutputDeclaration(e){return this.outputs.find(t=>t.id===e.id)||this.outputs.push(e),this}removeOutputDeclaration(e){return this.outputs=this.outputs.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.throws&&(this.throws=R(this.initialData.throws,this.project),this.throws.setParent(this),this.throws.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.throws){const{affected:s,removed:o}=this.throws.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.parent.removeContinueStatement(this),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.throws){const{affected:i}=this.throws.restore({seenEntities:e});t.push(...i)}return this.parent.addContinueStatement(this),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.outputs.flatMap(i=>i.toFlat(e)),...this.calledBy.flatMap(i=>i.toFlat(e)),...this.throws?this.throws.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.calledBy.flatMap(i=>i.toFlatIds(e)),...this.throws?this.throws.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),outputs:this.outputs.map(i=>i.toJSON()),throws:((e=this.throws)==null?void 0:e.toJSON())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,outputs:this.outputs.map(t=>t.toReference()),calledBySuccess:this.calledBySuccess.map(t=>t.toReference()),calledByError:this.calledByError.map(t=>t.toReference()),calledByEntry:this.calledByEntry.map(t=>t.toReference()),throws:((e=this.throws)==null?void 0:e.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.outputs.flatMap(a=>a.toFlatJSON(e)),...this.calledBy.flatMap(a=>a.toFlatJSON(e)),...((i=this.throws)==null?void 0:i.toFlatJSON(e))||[]])}toGenerationTarget(){return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(e=>e.id),calledByError:this.calledByError.map(e=>e.id),calledBySuccess:this.calledBySuccess.map(e=>e.id),parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.throws?this.throws.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.outputs.forEach(t=>t.clearErrors()),(e=this.throws)==null||e.clearErrors(),this}validate(){const e=b6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.outputs.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(e){return new Re(this.toJSON(),this.project)}};l(Re,"MUTABLE_BASE_PROPERTIES",[]),l(Re,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(Re,"BASE_PROPERTIES",[...Re.MUTABLE_BASE_PROPERTIES,...Re.INMUTABLE_BASE_PROPERTIES]),l(Re,"MUTABLE_META_PROPERTIES",["x","y"]),l(Re,"INMUTABLE_META_PROPERTIES",[...Re.INMUTABLE_BASE_PROPERTIES]),l(Re,"META_PROPERTIES",[...Re.MUTABLE_META_PROPERTIES,...Re.INMUTABLE_META_PROPERTIES]),l(Re,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),l(Re,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(Re,"UPSTREAM_PROPERTIES",[...Re.MUTABLE_UPSTREAM_PROPERTIES,...Re.INMUTABLE_UPSTREAM_PROPERTIES]),l(Re,"MUTABLE_DOWNSTREAM_PROPERTIES",["outputs","throws"]),l(Re,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(Re,"DOWNSTREAM_PROPERTIES",[...Re.MUTABLE_DOWNSTREAM_PROPERTIES,...Re.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(Re,"PROPERTIES",[...Re.META_PROPERTIES,...Re.UPSTREAM_PROPERTIES,...Re.DOWNSTREAM_PROPERTIES]);let yt=Re;const it=class it{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.ReturnStatement);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"throws",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),o=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),u=e.calledByError.map(m=>{const T=D(m);return t.get(T)}),p={id:e.id,version:1,type:r.ReturnStatement,x:0,y:0,outputs:[],calledBySuccess:o,calledByError:u,calledByEntry:s,throws:null,parent:a},h=R(p,t);return h.setParent(a),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:st}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
158
+ Specifically for continue statements the parent needs to always be the 'loop' entity that contains it.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.parent.addContinueStatement(this),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addOutputDeclaration(e){return this.outputs.find(t=>t.id===e.id)||this.outputs.push(e),this}removeOutputDeclaration(e){return this.outputs=this.outputs.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.throws&&(this.throws=R(this.initialData.throws,this.project),this.throws.setParent(this),this.throws.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.throws){const{affected:s,removed:o}=this.throws.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.parent.removeContinueStatement(this),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.throws){const{affected:i}=this.throws.restore({seenEntities:e});t.push(...i)}return this.parent.addContinueStatement(this),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.outputs.flatMap(i=>i.toFlat(e)),...this.calledBy.flatMap(i=>i.toFlat(e)),...this.throws?this.throws.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.calledBy.flatMap(i=>i.toFlatIds(e)),...this.throws?this.throws.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),outputs:this.outputs.map(i=>i.toJSON()),throws:((e=this.throws)==null?void 0:e.toJSON())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,outputs:this.outputs.map(t=>t.toReference()),calledBySuccess:this.calledBySuccess.map(t=>t.toReference()),calledByError:this.calledByError.map(t=>t.toReference()),calledByEntry:this.calledByEntry.map(t=>t.toReference()),throws:((e=this.throws)==null?void 0:e.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.outputs.flatMap(a=>a.toFlatJSON(e)),...this.calledBy.flatMap(a=>a.toFlatJSON(e)),...((i=this.throws)==null?void 0:i.toFlatJSON(e))||[]])}toGenerationTarget(){return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(e=>e.id),calledByError:this.calledByError.map(e=>e.id),calledBySuccess:this.calledBySuccess.map(e=>e.id),parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.throws?this.throws.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.outputs.forEach(t=>t.clearErrors()),(e=this.throws)==null||e.clearErrors(),this}validate(){const e=g9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.outputs.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(e){return new Re(this.toJSON(),this.project)}};l(Re,"MUTABLE_BASE_PROPERTIES",[]),l(Re,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(Re,"BASE_PROPERTIES",[...Re.MUTABLE_BASE_PROPERTIES,...Re.INMUTABLE_BASE_PROPERTIES]),l(Re,"MUTABLE_META_PROPERTIES",["x","y"]),l(Re,"INMUTABLE_META_PROPERTIES",[...Re.INMUTABLE_BASE_PROPERTIES]),l(Re,"META_PROPERTIES",[...Re.MUTABLE_META_PROPERTIES,...Re.INMUTABLE_META_PROPERTIES]),l(Re,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),l(Re,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(Re,"UPSTREAM_PROPERTIES",[...Re.MUTABLE_UPSTREAM_PROPERTIES,...Re.INMUTABLE_UPSTREAM_PROPERTIES]),l(Re,"MUTABLE_DOWNSTREAM_PROPERTIES",["outputs","throws"]),l(Re,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(Re,"DOWNSTREAM_PROPERTIES",[...Re.MUTABLE_DOWNSTREAM_PROPERTIES,...Re.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(Re,"PROPERTIES",[...Re.META_PROPERTIES,...Re.UPSTREAM_PROPERTIES,...Re.DOWNSTREAM_PROPERTIES]);let yt=Re;const it=class it{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.ReturnStatement);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"throws",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),o=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),u=e.calledByError.map(m=>{const T=D(m);return t.get(T)}),p={id:e.id,version:1,type:r.ReturnStatement,x:0,y:0,outputs:[],calledBySuccess:o,calledByError:u,calledByEntry:s,throws:null,parent:a},h=R(p,t);return h.setParent(a),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:st}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
159
159
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
160
160
  You shouldn't have to manually update a 'parent' property.
161
- Specifically for return statements the parent needs to always be the 'function-declaration' or 'global-event' that contains it.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.parent.addReturnStatement(this),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addOutputDeclaration(e){return this.outputs.find(t=>t.id===e.id)||this.outputs.push(e),this}removeOutputDeclaration(e){return this.outputs=this.outputs.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.throws&&(this.throws=R(this.initialData.throws,this.project),this.throws.setParent(this),this.throws.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.throws){const{affected:s,removed:o}=this.throws.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.parent.removeReturnStatement(this),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.throws){const{affected:i}=this.throws.restore({seenEntities:e});t.push(...i)}return this.parent.addReturnStatement(this),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.outputs.flatMap(i=>i.toFlat(e)),...this.throws?this.throws.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.throws?this.throws.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),outputs:this.outputs.map(i=>i.toJSON()),parent:((e=this.parent)==null?void 0:e.toReference())||null,throws:((t=this.throws)==null?void 0:t.toJSON())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,outputs:this.outputs.map(i=>i.toReference()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),throws:((e=this.throws)==null?void 0:e.toReference())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.throws?this.throws.toFlatJSON(e):[]])}toGenerationTarget(){return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(e=>e.id),calledByError:this.calledByError.map(e=>e.id),calledBySuccess:this.calledBySuccess.map(e=>e.id),parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.throws?this.throws.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.outputs.forEach(t=>t.clearErrors()),(e=this.throws)==null||e.clearErrors(),this}validate(){const e=R6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.outputs.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(e){return new it(this.toJSON(),this.project)}};l(it,"MUTABLE_BASE_PROPERTIES",[]),l(it,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(it,"BASE_PROPERTIES",[...yt.MUTABLE_BASE_PROPERTIES,...yt.INMUTABLE_BASE_PROPERTIES]),l(it,"MUTABLE_META_PROPERTIES",["x","y"]),l(it,"INMUTABLE_META_PROPERTIES",[...yt.INMUTABLE_BASE_PROPERTIES]),l(it,"META_PROPERTIES",[...yt.MUTABLE_META_PROPERTIES,...yt.INMUTABLE_META_PROPERTIES]),l(it,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),l(it,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(it,"UPSTREAM_PROPERTIES",[...yt.MUTABLE_UPSTREAM_PROPERTIES,...yt.INMUTABLE_UPSTREAM_PROPERTIES]),l(it,"MUTABLE_DOWNSTREAM_PROPERTIES",["outputs","throws"]),l(it,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(it,"DOWNSTREAM_PROPERTIES",[...yt.MUTABLE_DOWNSTREAM_PROPERTIES,...yt.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(it,"PROPERTIES",[...Ot.META_PROPERTIES,...Ot.UPSTREAM_PROPERTIES,...Ot.DOWNSTREAM_PROPERTIES]);let Tr=it;function v6(n){var s;const e=F4(),t=n.toJSON();e.safeParse(t).success,n.outputs.forEach(o=>o.validate()),(s=n.throws)==null||s.validate();const a=[];return X(n.errors,a)}const be=class be{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.BreakStatement);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"throws",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),o=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),u=e.calledByError.map(m=>{const T=D(m);return t.get(T)}),p={id:e.id,version:1,type:r.BreakStatement,x:0,y:0,outputs:[],calledBySuccess:o,calledByError:u,calledByEntry:s,throws:null,parent:a},h=R(p,t);return h.setParent(a),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.Loop]}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
161
+ Specifically for return statements the parent needs to always be the 'function-declaration' or 'global-event' that contains it.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.parent.addReturnStatement(this),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addOutputDeclaration(e){return this.outputs.find(t=>t.id===e.id)||this.outputs.push(e),this}removeOutputDeclaration(e){return this.outputs=this.outputs.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.throws&&(this.throws=R(this.initialData.throws,this.project),this.throws.setParent(this),this.throws.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.throws){const{affected:s,removed:o}=this.throws.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.parent.removeReturnStatement(this),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.throws){const{affected:i}=this.throws.restore({seenEntities:e});t.push(...i)}return this.parent.addReturnStatement(this),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.outputs.flatMap(i=>i.toFlat(e)),...this.throws?this.throws.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.throws?this.throws.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),outputs:this.outputs.map(i=>i.toJSON()),parent:((e=this.parent)==null?void 0:e.toReference())||null,throws:((t=this.throws)==null?void 0:t.toJSON())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,outputs:this.outputs.map(i=>i.toReference()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),throws:((e=this.throws)==null?void 0:e.toReference())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.throws?this.throws.toFlatJSON(e):[]])}toGenerationTarget(){return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(e=>e.id),calledByError:this.calledByError.map(e=>e.id),calledBySuccess:this.calledBySuccess.map(e=>e.id),parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.throws?this.throws.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.outputs.forEach(t=>t.clearErrors()),(e=this.throws)==null||e.clearErrors(),this}validate(){const e=v9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.outputs.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(e){return new it(this.toJSON(),this.project)}};l(it,"MUTABLE_BASE_PROPERTIES",[]),l(it,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(it,"BASE_PROPERTIES",[...yt.MUTABLE_BASE_PROPERTIES,...yt.INMUTABLE_BASE_PROPERTIES]),l(it,"MUTABLE_META_PROPERTIES",["x","y"]),l(it,"INMUTABLE_META_PROPERTIES",[...yt.INMUTABLE_BASE_PROPERTIES]),l(it,"META_PROPERTIES",[...yt.MUTABLE_META_PROPERTIES,...yt.INMUTABLE_META_PROPERTIES]),l(it,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),l(it,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(it,"UPSTREAM_PROPERTIES",[...yt.MUTABLE_UPSTREAM_PROPERTIES,...yt.INMUTABLE_UPSTREAM_PROPERTIES]),l(it,"MUTABLE_DOWNSTREAM_PROPERTIES",["outputs","throws"]),l(it,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(it,"DOWNSTREAM_PROPERTIES",[...yt.MUTABLE_DOWNSTREAM_PROPERTIES,...yt.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(it,"PROPERTIES",[...Ot.META_PROPERTIES,...Ot.UPSTREAM_PROPERTIES,...Ot.DOWNSTREAM_PROPERTIES]);let Er=it;function I9(n){var s;const e=x4(),t=n.toJSON();e.safeParse(t).success,n.outputs.forEach(o=>o.validate()),(s=n.throws)==null||s.validate();const a=[];return X(n.errors,a)}const be=class be{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.BreakStatement);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"throws",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),o=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),u=e.calledByError.map(m=>{const T=D(m);return t.get(T)}),p={id:e.id,version:1,type:r.BreakStatement,x:0,y:0,outputs:[],calledBySuccess:o,calledByError:u,calledByEntry:s,throws:null,parent:a},h=R(p,t);return h.setParent(a),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.Loop]}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
162
162
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
163
163
  You shouldn't have to manually update a 'parent' property.
164
- Specifically for break statements the parent needs to always be the 'loop' entity that contains it.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.parent.addBreakStatement(this),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addOutputDeclaration(e){return this.outputs.find(t=>t.id===e.id)||this.outputs.push(e),this}removeOutputDeclaration(e){return this.outputs=this.outputs.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.throws&&(this.throws=R(this.initialData.throws,this.project),this.throws.setParent(this),this.throws.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.throws){const{affected:s,removed:o}=this.throws.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.parent.removeBreakStatement(this),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.throws){const{affected:i}=this.throws.restore({seenEntities:e});t.push(...i)}return this.parent.addBreakStatement(this),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.outputs.flatMap(i=>i.toFlat(e)),...this.throws?this.throws.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.throws?this.throws.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,outputs:this.outputs.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),parent:((e=this.parent)==null?void 0:e.toReference())||null,throws:((t=this.throws)==null?void 0:t.toJSON())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,outputs:this.outputs.map(i=>i.toReference()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),throws:((e=this.throws)==null?void 0:e.toReference())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.throws?this.throws.toFlatJSON(e):[]])}toGenerationTarget(){return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(e=>e.id),calledByError:this.calledByError.map(e=>e.id),calledBySuccess:this.calledBySuccess.map(e=>e.id),parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.throws?this.throws.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.outputs.forEach(t=>t.clearErrors()),(e=this.throws)==null||e.clearErrors(),this}validate(){const e=v6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.outputs.flatMap(t=>t.getErrors()),...this.throws?this.throws.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new be(this.toJSON(),this.project)}};l(be,"MUTABLE_BASE_PROPERTIES",[]),l(be,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(be,"BASE_PROPERTIES",[...be.MUTABLE_BASE_PROPERTIES,...be.INMUTABLE_BASE_PROPERTIES]),l(be,"MUTABLE_META_PROPERTIES",["x","y"]),l(be,"INMUTABLE_META_PROPERTIES",[...be.INMUTABLE_BASE_PROPERTIES]),l(be,"META_PROPERTIES",[...be.MUTABLE_META_PROPERTIES,...be.INMUTABLE_META_PROPERTIES]),l(be,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),l(be,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(be,"UPSTREAM_PROPERTIES",[...be.MUTABLE_UPSTREAM_PROPERTIES,...be.INMUTABLE_UPSTREAM_PROPERTIES]),l(be,"MUTABLE_DOWNSTREAM_PROPERTIES",["outputs","throws"]),l(be,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(be,"DOWNSTREAM_PROPERTIES",[...be.MUTABLE_DOWNSTREAM_PROPERTIES,...be.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(be,"PROPERTIES",[...be.META_PROPERTIES,...be.UPSTREAM_PROPERTIES,...be.DOWNSTREAM_PROPERTIES]);let ci=be;function g6(n){var s,o;const e=hb(),t=n.toJSON();e.safeParse(t).success,n.fixedArguments.flatMap(u=>u.validate()),n.fixedReturns.flatMap(u=>u.validate()),(s=n.dynamicArgumentTypes)==null||s.validate(),(o=n.dynamicReturnTypes)==null||o.validate();const a=[];return X(n.errors,a)}const de=class de{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"argumentsType");l(this,"returnsType");l(this,"type",r.ActionDescriptor);l(this,"fixedArguments",[]);l(this,"fixedReturns",[]);l(this,"error",null);l(this,"dynamicArgumentTypes",null);l(this,"dynamicReturnTypes",null);l(this,"implementation",null);l(this,"parent",null);l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.argumentsType=e.argumentsType,this.returnsType=e.returnsType}static fromGenerationTarget(e,t){let i=null;if(e.parent){const o=D(e.parent);i=t.get(o)}const a={id:e.id,version:1,name:e.name,type:r.ActionDescriptor,description:e.description,dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:e.argumentsType,returnsType:e.returnsType,fixedArguments:[],fixedReturns:[],error:null,parent:i},s=R(a,t);return i&&s.setParent(i),s.initChildren(),s}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.CustomEntity,r.DataType]}},t);i=s.modifiedData;const o=i.parent?t.get(i.parent):null;if(o&&o.type===r.CustomEntity){const u=o,h=Gn(u).filter(m=>!m.interactive);if(h.length){let m=h.length>1?`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${u.id}' because it extends or implements multiple '${r.BuiltInBaseEntity}' entities that are non-interactive ("${N(h.map(T=>A(T,T.project)),'", "','" and "')}").`:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${u.id}' because it extends or implements a '${r.BuiltInBaseEntity}' entity that is non-interactive ("${A(h[0],h[0].project)}").`;m+=`
165
- ${Vn}`,a.push(new E({id:`${e.id}--${y.NonInteractiveEntityReferenced}`,code:y.NonInteractiveEntityReferenced,severity:f.Error,message:m,issue:null}))}}else if(o&&o.type===r.DataType){const u=o;u.entity&&a.push(new E({id:`${e.id}--${y.NewEntityWouldOverriteExisting}`,code:y.NewEntityWouldOverriteExisting,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${u.id}' because it already has an 'entity' child. Data type entities can only have one 'entity' as children.
164
+ Specifically for break statements the parent needs to always be the 'loop' entity that contains it.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.parent.addBreakStatement(this),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addOutputDeclaration(e){return this.outputs.find(t=>t.id===e.id)||this.outputs.push(e),this}removeOutputDeclaration(e){return this.outputs=this.outputs.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.throws&&(this.throws=R(this.initialData.throws,this.project),this.throws.setParent(this),this.throws.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.throws){const{affected:s,removed:o}=this.throws.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.parent.removeBreakStatement(this),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.throws){const{affected:i}=this.throws.restore({seenEntities:e});t.push(...i)}return this.parent.addBreakStatement(this),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.outputs.flatMap(i=>i.toFlat(e)),...this.throws?this.throws.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.throws?this.throws.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,outputs:this.outputs.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),parent:((e=this.parent)==null?void 0:e.toReference())||null,throws:((t=this.throws)==null?void 0:t.toJSON())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,outputs:this.outputs.map(i=>i.toReference()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),throws:((e=this.throws)==null?void 0:e.toReference())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.throws?this.throws.toFlatJSON(e):[]])}toGenerationTarget(){return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(e=>e.id),calledByError:this.calledByError.map(e=>e.id),calledBySuccess:this.calledBySuccess.map(e=>e.id),parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.throws?this.throws.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.outputs.forEach(t=>t.clearErrors()),(e=this.throws)==null||e.clearErrors(),this}validate(){const e=I9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.outputs.flatMap(t=>t.getErrors()),...this.throws?this.throws.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new be(this.toJSON(),this.project)}};l(be,"MUTABLE_BASE_PROPERTIES",[]),l(be,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(be,"BASE_PROPERTIES",[...be.MUTABLE_BASE_PROPERTIES,...be.INMUTABLE_BASE_PROPERTIES]),l(be,"MUTABLE_META_PROPERTIES",["x","y"]),l(be,"INMUTABLE_META_PROPERTIES",[...be.INMUTABLE_BASE_PROPERTIES]),l(be,"META_PROPERTIES",[...be.MUTABLE_META_PROPERTIES,...be.INMUTABLE_META_PROPERTIES]),l(be,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),l(be,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(be,"UPSTREAM_PROPERTIES",[...be.MUTABLE_UPSTREAM_PROPERTIES,...be.INMUTABLE_UPSTREAM_PROPERTIES]),l(be,"MUTABLE_DOWNSTREAM_PROPERTIES",["outputs","throws"]),l(be,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(be,"DOWNSTREAM_PROPERTIES",[...be.MUTABLE_DOWNSTREAM_PROPERTIES,...be.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(be,"PROPERTIES",[...be.META_PROPERTIES,...be.UPSTREAM_PROPERTIES,...be.DOWNSTREAM_PROPERTIES]);let di=be;function P9(n){var s,o;const e=fb(),t=n.toJSON();e.safeParse(t).success,n.fixedArguments.flatMap(u=>u.validate()),n.fixedReturns.flatMap(u=>u.validate()),(s=n.dynamicArgumentTypes)==null||s.validate(),(o=n.dynamicReturnTypes)==null||o.validate();const a=[];return X(n.errors,a)}const de=class de{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"argumentsType");l(this,"returnsType");l(this,"type",r.ActionDescriptor);l(this,"fixedArguments",[]);l(this,"fixedReturns",[]);l(this,"error",null);l(this,"dynamicArgumentTypes",null);l(this,"dynamicReturnTypes",null);l(this,"implementation",null);l(this,"parent",null);l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.argumentsType=e.argumentsType,this.returnsType=e.returnsType}static fromGenerationTarget(e,t){let i=null;if(e.parent){const o=D(e.parent);i=t.get(o)}const a={id:e.id,version:1,name:e.name,type:r.ActionDescriptor,description:e.description,dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:e.argumentsType,returnsType:e.returnsType,fixedArguments:[],fixedReturns:[],error:null,parent:i},s=R(a,t);return i&&s.setParent(i),s.initChildren(),s}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.CustomEntity,r.DataType]}},t);i=s.modifiedData;const o=i.parent?t.get(i.parent):null;if(o&&o.type===r.CustomEntity){const u=o,h=Fn(u).filter(m=>!m.interactive);if(h.length){let m=h.length>1?`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${u.id}' because it extends or implements multiple '${r.BuiltInBaseEntity}' entities that are non-interactive ("${N(h.map(T=>A(T,T.project)),'", "','" and "')}").`:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${u.id}' because it extends or implements a '${r.BuiltInBaseEntity}' entity that is non-interactive ("${A(h[0],h[0].project)}").`;m+=`
165
+ ${Ln}`,a.push(new E({id:`${e.id}--${y.NonInteractiveEntityReferenced}`,code:y.NonInteractiveEntityReferenced,severity:f.Error,message:m,issue:null}))}}else if(o&&o.type===r.DataType){const u=o;u.entity&&a.push(new E({id:`${e.id}--${y.NewEntityWouldOverriteExisting}`,code:y.NewEntityWouldOverriteExisting,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${u.id}' because it already has an 'entity' child. Data type entities can only have one 'entity' as children.
166
166
  You can inspect the existing 'entity' field with the 'describe_entity' action. Like so:
167
167
  ${Qt({describe_entity:u.entity.id})}
168
168
  Alternatively you can update the parent data-type entity with 'update' action to remove the existing value of the field.`,issue:null}))}return a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
169
- This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent?(this.parent.type===r.CustomEntity?this.parent.addAbstractMethod(this):this.parent.type===r.DataType&&this.parent.setEntity(this),this):this}setParent(e){return this.parent=e,this}setDynamicReturnTypes(e){return this.dynamicReturnTypes=e,this}setDynamicArgumentTypes(e){return this.dynamicArgumentTypes=e,this}removeDynamicArgumentTypes(){return this.dynamicArgumentTypes=null,this}removeDynamicReturnTypes(){return this.dynamicReturnTypes=null,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.fixedArguments=this.initialData.fixedArguments.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.fixedReturns=this.initialData.fixedReturns.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.dynamicArgumentTypes&&(this.dynamicArgumentTypes=R(this.initialData.dynamicArgumentTypes,this.project),this.dynamicArgumentTypes.setParent(this),this.dynamicArgumentTypes.initChildren()),this.initialData.dynamicReturnTypes&&(this.dynamicReturnTypes=R(this.initialData.dynamicReturnTypes,this.project),this.dynamicReturnTypes.setParent(this),this.dynamicReturnTypes.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.argumentsType=e.argumentsType||this.argumentsType,this.returnsType=e.returnsType||this.returnsType,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.fixedArguments.forEach(s=>{const o=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o.affected),a.push(...o.removed)}),this.fixedReturns.forEach(s=>{const o=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o.affected),a.push(...o.removed)}),this.dynamicArgumentTypes){const s=this.dynamicArgumentTypes.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}if(this.dynamicReturnTypes){const s=this.dynamicReturnTypes.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}if(this.error){const s=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.fixedArguments.forEach(i=>{const a=i.restore({seenEntities:e});t.push(...a.affected)}),this.fixedReturns.forEach(i=>{const a=i.restore({seenEntities:e});t.push(...a.affected)}),this.dynamicArgumentTypes){const i=this.dynamicArgumentTypes.restore({seenEntities:e});t.push(...i.affected)}if(this.dynamicReturnTypes){const i=this.dynamicReturnTypes.restore({seenEntities:e});t.push(...i.affected)}if(this.error){const i=this.error.restore({seenEntities:e});t.push(...i.affected)}return{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.fixedArguments.flatMap(i=>i.toFlat(e)),...this.fixedReturns.flatMap(i=>i.toFlat(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlat(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.fixedArguments.flatMap(i=>i.toFlatIds(e)),...this.fixedReturns.flatMap(i=>i.toFlatIds(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlatIds(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlatIds(e):[]])}toJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,argumentsType:this.argumentsType,returnsType:this.returnsType,error:((e=this.error)==null?void 0:e.toJSON())||null,fixedArguments:this.fixedArguments.map(s=>s.toJSON()),fixedReturns:this.fixedReturns.map(s=>s.toJSON()),dynamicArgumentTypes:((t=this.dynamicArgumentTypes)==null?void 0:t.toJSON())||null,dynamicReturnTypes:((i=this.dynamicReturnTypes)==null?void 0:i.toJSON())||null,parent:((a=this.parent)==null?void 0:a.toReference())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,argumentsType:this.argumentsType,returnsType:this.returnsType,error:((e=this.error)==null?void 0:e.toReference())||null,fixedArguments:this.fixedArguments.map(s=>s.toReference()),fixedReturns:this.fixedReturns.map(s=>s.toReference()),dynamicArgumentTypes:((t=this.dynamicArgumentTypes)==null?void 0:t.toReference())||null,dynamicReturnTypes:((i=this.dynamicReturnTypes)==null?void 0:i.toReference())||null,parent:((a=this.parent)==null?void 0:a.toReference())||null}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.fixedArguments.flatMap(i=>i.toFlatJSON(e)),...this.fixedReturns.flatMap(i=>i.toFlatJSON(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlatJSON(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlatJSON(e):[]])}toGenerationTarget(){var e;return{id:this.id,name:this.name,description:this.description,type:this.type,argumentsType:this.argumentsType,returnsType:this.returnsType,parent:((e=this.parent)==null?void 0:e.id)||void 0}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.fixedArguments.flatMap(i=>i.toFlatGenerationTarget(e)),...this.fixedReturns.flatMap(i=>i.toFlatGenerationTarget(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlatGenerationTarget(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlatGenerationTarget(e):[]])}implementAsFunctionDeclaration(e){var s;const t=this.fixedArguments.map((o,u)=>{var h;const p={id:e+"--"+o.id+"--parent-ref",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:e};return{id:e+"--"+o.id,version:o.version,type:r.ArgumentDeclaration,name:o.name,required:o.required,writesValues:[],description:o.description,index:u,dataType:((h=o.dataType)==null?void 0:h.toJSON())||null,parent:p}}),i=[],a=[];if(this.fixedReturns.length){const o=this.fixedReturns.map((m,T)=>{var I;const b={id:e+"--return-statement--"+m.id+"--parent-ref",type:r.GenericReference,entityId:e,entityType:r.ReturnStatement};return{id:e+"--"+m.id,version:m.version,type:r.ReturnDeclaration,name:m.name,description:m.description,readsValue:null,required:m.required,isError:!1,index:T,dataType:((I=m.dataType)==null?void 0:I.toJSON())||null,parent:b}}),u={id:e+"--return-statement-parent-ref",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:e},p={id:e+"--return-statement-called-by-ref",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:e},h={id:e+"--return-statement",version:this.version,type:r.ReturnStatement,outputs:o,throws:null,calledBySuccess:[],calledByError:[],calledByEntry:[p],parent:u,x:0,y:0};i.push(h),a.push(h)}return{id:e,version:this.version,type:r.FunctionDeclaration,name:this.name,description:this.description,inputs:t,returnStatements:i,calls:a,collapsed:!1,private:!1,implements:this.toJSON(),index:0,parent:((s=this.parent)==null?void 0:s.toReference())||null,x:0,y:0}}implementAsLoop(e){const t=e||this.project,i=this.id+"--instance-"+$.UUID.fromUUID($.UUID.uuid()),a={id:i,version:this.version,type:r.Loop,declaration:this.toJSON(),inputs:[],outputs:[],error:null,process:null,successCalls:[],errorCalls:[],calledByEntry:[],calledByError:[],calledBySuccess:[],breakStatements:[],continueStatements:[],body:null,x:0,y:0,parent:t.toReference()};this.fixedArguments.forEach((u,p)=>{const m={id:u.toReference().id+"--input-map-id",version:this.version,type:r.InputMap,name:null,description:null,declaration:u,defaultValue:null,readsValue:null,index:p,dynamicArguments:[],parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:i,entityType:r.Loop}};a.inputs.push(m)}),this.fixedReturns.forEach((u,p)=>{const m={id:u.toReference().id+"--output-map-id",version:this.version,type:r.OutputMap,declaration:u,writesValues:[],index:p,parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:i,entityType:r.Loop}};a.outputs.push(m)});const s={id:i+"--body-function-declaration-id",version:this.version,type:r.FunctionDeclaration,name:"body",description:null,inputs:[],returnStatements:[],calls:[],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:i,entityType:r.Loop}};s.inputs=[{id:$.UUID.uuid(),version:this.version,type:r.ArgumentDeclaration,name:"Current iteration number",description:"The number of the current iteration of the loop. Starts at 1.",dataType:null,required:!0,writesValues:[],index:0,parent:{id:s.id,type:r.GenericReference,entityId:s.id,entityType:r.FunctionDeclaration}},{id:$.UUID.uuid(),version:this.version,type:r.ArgumentDeclaration,name:"Previous iterations results",description:"The results of the previous iterations of the loop.",dataType:null,required:!0,writesValues:[],index:1,parent:{id:s.id,type:r.GenericReference,entityId:s.id,entityType:r.FunctionDeclaration}}],a.body=s;const o=R(a,this.project);return o.setParent(t),o.initChildren(),o}implementAsOperation(e,t){const i=e||this.project,a=t||this.id+"--instance-"+$.UUID.fromUUID($.UUID.uuid()),s={id:a,version:this.version,type:r.Operation,declaration:this.toJSON(),inputs:[],outputs:[],error:null,successCalls:[],errorCalls:[],process:null,dynamicArguments:[],calledByEntry:[],calledByError:[],calledBySuccess:[],x:0,y:0,parent:i.toReference()};if(this.fixedArguments.forEach((u,p)=>{const h={id:a+Xt(u.name,r.InputMap,this.project),version:this.version,type:r.InputMap,name:null,description:null,declaration:u,defaultValue:null,readsValue:null,index:p,dynamicArguments:[],parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:a,entityType:r.Operation}};s.inputs.push(h)}),this.fixedReturns.forEach((u,p)=>{const h={id:a+Xt(u.name,r.OutputMap,this.project),version:this.version,type:r.OutputMap,declaration:u,writesValues:[],index:p,parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:a,entityType:r.Operation}};s.outputs.push(h)}),this.error){const p={id:this.error.toReference().id+"--error-map",version:this.version,type:r.OutputMap,declaration:this.error,writesValues:[],index:-1,parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:a,entityType:r.Operation}};s.error=p}const o=R(s,this.project);return o.setParent(i),o.initChildren(),o}implementAsCondition(e){const t=e||this.project,i=this.id+"--instance-"+$.UUID.fromUUID($.UUID.uuid()),a={id:i,version:this.version,type:r.Condition,declaration:this.toJSON(),operator:null,inputs:[],successCalls:[],errorCalls:[],calledByEntry:[],calledByError:[],calledBySuccess:[],x:0,y:0,parent:t.toReference()};this.fixedArguments.forEach((o,u)=>{const p={id:i+Xt(o.name,r.InputMap,this.project),version:this.version,type:r.InputMap,name:null,description:null,declaration:o,defaultValue:null,readsValue:null,index:u,dynamicArguments:[],parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:i,entityType:r.Condition}};a.inputs.push(p)});const s=R(a,this.project);return s.setParent(t),s.initChildren(),s}clearErrors(){var e,t,i;return this.errors=[],this.fixedArguments.forEach(a=>a.clearErrors()),this.fixedReturns.forEach(a=>a.clearErrors()),(e=this.dynamicArgumentTypes)==null||e.clearErrors(),(t=this.dynamicReturnTypes)==null||t.clearErrors(),(i=this.error)==null||i.clearErrors(),this}validate(){const e=g6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.fixedArguments.flatMap(t=>t.getErrors()),...this.fixedReturns.flatMap(t=>t.getErrors()),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.getErrors():[],...this.dynamicReturnTypes?this.dynamicReturnTypes.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new de(this.toJSON(),this.project)}setDynamicArgumentsDataType(e){return this.dynamicArgumentTypes=e,this}setDynamicReturnsDataType(e){return this.dynamicReturnTypes=e,this}addFixedArgument(e){return this.fixedArguments.find(t=>t.id===e.id)||this.fixedArguments.push(e),this}removeFixedArgument(e){return this.fixedArguments=this.fixedArguments.filter(t=>t.id!==e.id),this}addFixedReturn(e){return this.fixedReturns.find(t=>t.id===e.id)||this.fixedReturns.push(e),this}removeFixedReturn(e){return this.fixedReturns=this.fixedReturns.filter(t=>t.id!==e.id),this}};l(de,"MUTABLE_BASE_PROPERTIES",["name","description","argumentsType","returnsType"]),l(de,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(de,"BASE_PROPERTIES",[...de.MUTABLE_BASE_PROPERTIES,...de.INMUTABLE_BASE_PROPERTIES]),l(de,"MUTABLE_META_PROPERTIES",[...de.MUTABLE_BASE_PROPERTIES]),l(de,"INMUTABLE_META_PROPERTIES",[...de.INMUTABLE_BASE_PROPERTIES]),l(de,"META_PROPERTIES",[...de.MUTABLE_META_PROPERTIES,...de.INMUTABLE_META_PROPERTIES]),l(de,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(de,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(de,"UPSTREAM_PROPERTIES",[...de.MUTABLE_UPSTREAM_PROPERTIES,...de.INMUTABLE_UPSTREAM_PROPERTIES]),l(de,"MUTABLE_DOWNSTREAM_PROPERTIES",["dynamicArgumentTypes","dynamicReturnTypes","fixedArguments","fixedReturns"]),l(de,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(de,"DOWNSTREAM_PROPERTIES",[...de.MUTABLE_DOWNSTREAM_PROPERTIES,...de.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(de,"PROPERTIES",[...de.META_PROPERTIES,...de.UPSTREAM_PROPERTIES,...de.DOWNSTREAM_PROPERTIES]);let _e=de;function I6(n){var s;const e=KF(),t=n.toJSON();e.safeParse(t).success,(s=n.dataType)==null||s.validate();const a=[];return X(n.errors,a)}const ue=class ue{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"index");l(this,"required");l(this,"parentRelationType");l(this,"type",r.ValueDescriptor);l(this,"dataType",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.index=e.index,this.required=e.required,this.parentRelationType=e.parentRelationType}static fromGenerationTarget(e,t){const i=e.parent?D(e.parent):null,a=i?t.get(i):null,s=e.parentRelationType===C.FixedArguments?a==null?void 0:a.fixedArguments.length:a==null?void 0:a.fixedReturns.length,o={id:e.id,version:1,name:e.name,type:r.ValueDescriptor,index:s||0,description:e.description,required:e.required,parentRelationType:e.parentRelationType,dataType:null,parent:a},u=R(o,t);return a&&u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.ActionDescriptor]}},t);i=s.modifiedData,a.push(...s.errors,...Pe(i));const o=i.parent&&t.get(i.parent),u=o&&gr(o);return u&&u.type===r.ActionDescriptor&&a.push(new E({id:`${e.id}--${y.BuiltInEntityParent}`,code:y.BuiltInEntityParent,severity:f.Error,message:`Entity of type "${e.type}" with id "${e.id}", has a parent that is a built-in entity "${u.name}" of type '${u.type}' with id '${u.id}'.
169
+ This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent?(this.parent.type===r.CustomEntity?this.parent.addAbstractMethod(this):this.parent.type===r.DataType&&this.parent.setEntity(this),this):this}setParent(e){return this.parent=e,this}setDynamicReturnTypes(e){return this.dynamicReturnTypes=e,this}setDynamicArgumentTypes(e){return this.dynamicArgumentTypes=e,this}removeDynamicArgumentTypes(){return this.dynamicArgumentTypes=null,this}removeDynamicReturnTypes(){return this.dynamicReturnTypes=null,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.fixedArguments=this.initialData.fixedArguments.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.fixedReturns=this.initialData.fixedReturns.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.dynamicArgumentTypes&&(this.dynamicArgumentTypes=R(this.initialData.dynamicArgumentTypes,this.project),this.dynamicArgumentTypes.setParent(this),this.dynamicArgumentTypes.initChildren()),this.initialData.dynamicReturnTypes&&(this.dynamicReturnTypes=R(this.initialData.dynamicReturnTypes,this.project),this.dynamicReturnTypes.setParent(this),this.dynamicReturnTypes.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.argumentsType=e.argumentsType||this.argumentsType,this.returnsType=e.returnsType||this.returnsType,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.fixedArguments.forEach(s=>{const o=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o.affected),a.push(...o.removed)}),this.fixedReturns.forEach(s=>{const o=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o.affected),a.push(...o.removed)}),this.dynamicArgumentTypes){const s=this.dynamicArgumentTypes.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}if(this.dynamicReturnTypes){const s=this.dynamicReturnTypes.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}if(this.error){const s=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.fixedArguments.forEach(i=>{const a=i.restore({seenEntities:e});t.push(...a.affected)}),this.fixedReturns.forEach(i=>{const a=i.restore({seenEntities:e});t.push(...a.affected)}),this.dynamicArgumentTypes){const i=this.dynamicArgumentTypes.restore({seenEntities:e});t.push(...i.affected)}if(this.dynamicReturnTypes){const i=this.dynamicReturnTypes.restore({seenEntities:e});t.push(...i.affected)}if(this.error){const i=this.error.restore({seenEntities:e});t.push(...i.affected)}return{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.fixedArguments.flatMap(i=>i.toFlat(e)),...this.fixedReturns.flatMap(i=>i.toFlat(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlat(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.fixedArguments.flatMap(i=>i.toFlatIds(e)),...this.fixedReturns.flatMap(i=>i.toFlatIds(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlatIds(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlatIds(e):[]])}toJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,argumentsType:this.argumentsType,returnsType:this.returnsType,error:((e=this.error)==null?void 0:e.toJSON())||null,fixedArguments:this.fixedArguments.map(s=>s.toJSON()),fixedReturns:this.fixedReturns.map(s=>s.toJSON()),dynamicArgumentTypes:((t=this.dynamicArgumentTypes)==null?void 0:t.toJSON())||null,dynamicReturnTypes:((i=this.dynamicReturnTypes)==null?void 0:i.toJSON())||null,parent:((a=this.parent)==null?void 0:a.toReference())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,argumentsType:this.argumentsType,returnsType:this.returnsType,error:((e=this.error)==null?void 0:e.toReference())||null,fixedArguments:this.fixedArguments.map(s=>s.toReference()),fixedReturns:this.fixedReturns.map(s=>s.toReference()),dynamicArgumentTypes:((t=this.dynamicArgumentTypes)==null?void 0:t.toReference())||null,dynamicReturnTypes:((i=this.dynamicReturnTypes)==null?void 0:i.toReference())||null,parent:((a=this.parent)==null?void 0:a.toReference())||null}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.fixedArguments.flatMap(i=>i.toFlatJSON(e)),...this.fixedReturns.flatMap(i=>i.toFlatJSON(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlatJSON(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlatJSON(e):[]])}toGenerationTarget(){var e;return{id:this.id,name:this.name,description:this.description,type:this.type,argumentsType:this.argumentsType,returnsType:this.returnsType,parent:((e=this.parent)==null?void 0:e.id)||void 0}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.fixedArguments.flatMap(i=>i.toFlatGenerationTarget(e)),...this.fixedReturns.flatMap(i=>i.toFlatGenerationTarget(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlatGenerationTarget(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlatGenerationTarget(e):[]])}implementAsFunctionDeclaration(e){var s;const t=this.fixedArguments.map((o,u)=>{var h;const p={id:e+"--"+o.id+"--parent-ref",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:e};return{id:e+"--"+o.id,version:o.version,type:r.ArgumentDeclaration,name:o.name,required:o.required,writesValues:[],description:o.description,index:u,dataType:((h=o.dataType)==null?void 0:h.toJSON())||null,parent:p}}),i=[],a=[];if(this.fixedReturns.length){const o=this.fixedReturns.map((m,T)=>{var I;const b={id:e+"--return-statement--"+m.id+"--parent-ref",type:r.GenericReference,entityId:e,entityType:r.ReturnStatement};return{id:e+"--"+m.id,version:m.version,type:r.ReturnDeclaration,name:m.name,description:m.description,readsValue:null,required:m.required,isError:!1,index:T,dataType:((I=m.dataType)==null?void 0:I.toJSON())||null,parent:b}}),u={id:e+"--return-statement-parent-ref",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:e},p={id:e+"--return-statement-called-by-ref",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:e},h={id:e+"--return-statement",version:this.version,type:r.ReturnStatement,outputs:o,throws:null,calledBySuccess:[],calledByError:[],calledByEntry:[p],parent:u,x:0,y:0};i.push(h),a.push(h)}return{id:e,version:this.version,type:r.FunctionDeclaration,name:this.name,description:this.description,inputs:t,returnStatements:i,calls:a,collapsed:!1,private:!1,implements:this.toJSON(),index:0,parent:((s=this.parent)==null?void 0:s.toReference())||null,x:0,y:0}}implementAsLoop(e){const t=e||this.project,i=this.id+"--instance-"+$.UUID.fromUUID($.UUID.uuid()),a={id:i,version:this.version,type:r.Loop,declaration:this.toJSON(),inputs:[],outputs:[],error:null,process:null,successCalls:[],errorCalls:[],calledByEntry:[],calledByError:[],calledBySuccess:[],breakStatements:[],continueStatements:[],body:null,x:0,y:0,parent:t.toReference()};this.fixedArguments.forEach((u,p)=>{const m={id:u.toReference().id+"--input-map-id",version:this.version,type:r.InputMap,name:null,description:null,declaration:u,defaultValue:null,readsValue:null,index:p,dynamicArguments:[],parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:i,entityType:r.Loop}};a.inputs.push(m)}),this.fixedReturns.forEach((u,p)=>{const m={id:u.toReference().id+"--output-map-id",version:this.version,type:r.OutputMap,declaration:u,writesValues:[],index:p,parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:i,entityType:r.Loop}};a.outputs.push(m)});const s={id:i+"--body-function-declaration-id",version:this.version,type:r.FunctionDeclaration,name:"body",description:null,inputs:[],returnStatements:[],calls:[],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:i,entityType:r.Loop}};s.inputs=[{id:$.UUID.uuid(),version:this.version,type:r.ArgumentDeclaration,name:"Current iteration number",description:"The number of the current iteration of the loop. Starts at 1.",dataType:null,required:!0,writesValues:[],index:0,parent:{id:s.id,type:r.GenericReference,entityId:s.id,entityType:r.FunctionDeclaration}},{id:$.UUID.uuid(),version:this.version,type:r.ArgumentDeclaration,name:"Previous iterations results",description:"The results of the previous iterations of the loop.",dataType:null,required:!0,writesValues:[],index:1,parent:{id:s.id,type:r.GenericReference,entityId:s.id,entityType:r.FunctionDeclaration}}],a.body=s;const o=R(a,this.project);return o.setParent(t),o.initChildren(),o}implementAsOperation(e,t){const i=e||this.project,a=t||this.id+"--instance-"+$.UUID.fromUUID($.UUID.uuid()),s={id:a,version:this.version,type:r.Operation,declaration:this.toJSON(),inputs:[],outputs:[],error:null,successCalls:[],errorCalls:[],process:null,dynamicArguments:[],calledByEntry:[],calledByError:[],calledBySuccess:[],x:0,y:0,parent:i.toReference()};if(this.fixedArguments.forEach((u,p)=>{const h={id:a+Xt(u.name,r.InputMap,this.project),version:this.version,type:r.InputMap,name:null,description:null,declaration:u,defaultValue:null,readsValue:null,index:p,dynamicArguments:[],parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:a,entityType:r.Operation}};s.inputs.push(h)}),this.fixedReturns.forEach((u,p)=>{const h={id:a+Xt(u.name,r.OutputMap,this.project),version:this.version,type:r.OutputMap,declaration:u,writesValues:[],index:p,parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:a,entityType:r.Operation}};s.outputs.push(h)}),this.error){const p={id:this.error.toReference().id+"--error-map",version:this.version,type:r.OutputMap,declaration:this.error,writesValues:[],index:-1,parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:a,entityType:r.Operation}};s.error=p}const o=R(s,this.project);return o.setParent(i),o.initChildren(),o}implementAsCondition(e){const t=e||this.project,i=this.id+"--instance-"+$.UUID.fromUUID($.UUID.uuid()),a={id:i,version:this.version,type:r.Condition,declaration:this.toJSON(),operator:null,inputs:[],successCalls:[],errorCalls:[],calledByEntry:[],calledByError:[],calledBySuccess:[],x:0,y:0,parent:t.toReference()};this.fixedArguments.forEach((o,u)=>{const p={id:i+Xt(o.name,r.InputMap,this.project),version:this.version,type:r.InputMap,name:null,description:null,declaration:o,defaultValue:null,readsValue:null,index:u,dynamicArguments:[],parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:i,entityType:r.Condition}};a.inputs.push(p)});const s=R(a,this.project);return s.setParent(t),s.initChildren(),s}clearErrors(){var e,t,i;return this.errors=[],this.fixedArguments.forEach(a=>a.clearErrors()),this.fixedReturns.forEach(a=>a.clearErrors()),(e=this.dynamicArgumentTypes)==null||e.clearErrors(),(t=this.dynamicReturnTypes)==null||t.clearErrors(),(i=this.error)==null||i.clearErrors(),this}validate(){const e=P9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.fixedArguments.flatMap(t=>t.getErrors()),...this.fixedReturns.flatMap(t=>t.getErrors()),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.getErrors():[],...this.dynamicReturnTypes?this.dynamicReturnTypes.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new de(this.toJSON(),this.project)}setDynamicArgumentsDataType(e){return this.dynamicArgumentTypes=e,this}setDynamicReturnsDataType(e){return this.dynamicReturnTypes=e,this}addFixedArgument(e){return this.fixedArguments.find(t=>t.id===e.id)||this.fixedArguments.push(e),this}removeFixedArgument(e){return this.fixedArguments=this.fixedArguments.filter(t=>t.id!==e.id),this}addFixedReturn(e){return this.fixedReturns.find(t=>t.id===e.id)||this.fixedReturns.push(e),this}removeFixedReturn(e){return this.fixedReturns=this.fixedReturns.filter(t=>t.id!==e.id),this}};l(de,"MUTABLE_BASE_PROPERTIES",["name","description","argumentsType","returnsType"]),l(de,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(de,"BASE_PROPERTIES",[...de.MUTABLE_BASE_PROPERTIES,...de.INMUTABLE_BASE_PROPERTIES]),l(de,"MUTABLE_META_PROPERTIES",[...de.MUTABLE_BASE_PROPERTIES]),l(de,"INMUTABLE_META_PROPERTIES",[...de.INMUTABLE_BASE_PROPERTIES]),l(de,"META_PROPERTIES",[...de.MUTABLE_META_PROPERTIES,...de.INMUTABLE_META_PROPERTIES]),l(de,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(de,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(de,"UPSTREAM_PROPERTIES",[...de.MUTABLE_UPSTREAM_PROPERTIES,...de.INMUTABLE_UPSTREAM_PROPERTIES]),l(de,"MUTABLE_DOWNSTREAM_PROPERTIES",["dynamicArgumentTypes","dynamicReturnTypes","fixedArguments","fixedReturns"]),l(de,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(de,"DOWNSTREAM_PROPERTIES",[...de.MUTABLE_DOWNSTREAM_PROPERTIES,...de.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(de,"PROPERTIES",[...de.META_PROPERTIES,...de.UPSTREAM_PROPERTIES,...de.DOWNSTREAM_PROPERTIES]);let _e=de;function D9(n){var s;const e=t4(),t=n.toJSON();e.safeParse(t).success,(s=n.dataType)==null||s.validate();const a=[];return X(n.errors,a)}const ue=class ue{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"index");l(this,"required");l(this,"parentRelationType");l(this,"type",r.ValueDescriptor);l(this,"dataType",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.index=e.index,this.required=e.required,this.parentRelationType=e.parentRelationType}static fromGenerationTarget(e,t){const i=e.parent?D(e.parent):null,a=i?t.get(i):null,s=e.parentRelationType===C.FixedArguments?a==null?void 0:a.fixedArguments.length:a==null?void 0:a.fixedReturns.length,o={id:e.id,version:1,name:e.name,type:r.ValueDescriptor,index:s||0,description:e.description,required:e.required,parentRelationType:e.parentRelationType,dataType:null,parent:a},u=R(o,t);return a&&u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.ActionDescriptor]}},t);i=s.modifiedData,a.push(...s.errors,...Pe(i));const o=i.parent&&t.get(i.parent),u=o&&Ir(o);return u&&u.type===r.ActionDescriptor&&a.push(new E({id:`${e.id}--${y.BuiltInEntityParent}`,code:y.BuiltInEntityParent,severity:f.Error,message:`Entity of type "${e.type}" with id "${e.id}", has a parent that is a built-in entity "${u.name}" of type '${u.type}' with id '${u.id}'.
170
170
  You can't modify system entities that are built-in.`,issue:null})),o&&o.type===r.ActionDescriptor&&(!i.parentRelationType||!(i.parentRelationType===C.FixedArguments||i.parentRelationType===C.FixedReturns||i.parentRelationType===C.ReturnedError)?a.push(new E({id:`${e.id}--${y.InvalidParentRelationType}`,code:y.InvalidParentRelationType,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', must have a 'parentRelationType' property set to either '${C.FixedArguments}', '${C.FixedReturns}', or '${C.ReturnedError}' when being added as a child to an entity of type 'action-descriptor'.`,issue:null})):i.parentRelationType===C.ReturnedError&&o.error&&a.push(new E({id:`${e.id}--${y.NewEntityWouldOverriteExisting}`,code:y.NewEntityWouldOverriteExisting,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', is being added as an error value-descriptor to an entity of type 'action-descriptor' with id '${o.id}', which already has an error value descriptor with id '${o.error.id}'.
171
171
  An action descriptor can only have one error value descriptor child.
172
172
  Either remove the existing error value descriptor or update it with the 'update' action.
173
173
  You can use the 'describe_entity' action to get more information about the existing error value descriptor like so:
174
- ${Qt({describe_entity:o.error.id})}`,issue:null}))),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){var e,t;return this.parentRelationType===C.FixedArguments?(e=this.parent)==null||e.addFixedArgument(this):this.parentRelationType===C.FixedReturns?(t=this.parent)==null||t.addFixedReturn(this):this.parentRelationType===C.ReturnedError&&this.parent&&(this.parent.error=this),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.dataType&&(this.dataType=R(this.initialData.dataType,this.project),this.dataType.setParent(this),this.dataType.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.index=e.index||this.index,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.dataType){const{affected:s,removed:o}=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.dataType){const{affected:i}=this.dataType.restore({seenEntities:e});t.push(...i)}return{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.dataType?this.dataType.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.dataType?this.dataType.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,required:this.required,parentRelationType:this.parentRelationType,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,required:this.required,parentRelationType:this.parentRelationType,dataType:((e=this.dataType)==null?void 0:e.toReference())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.dataType?this.dataType.toFlatJSON(e):[]])}toGenerationTarget(){var e;return{id:this.id,name:this.name,description:this.description,type:this.type,required:this.required,parentRelationType:this.parentRelationType,parent:(e=this.parent)==null?void 0:e.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.dataType?this.dataType.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],(e=this.dataType)==null||e.clearErrors(),this}validate(){const e=I6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.dataType?this.dataType.getErrors():[]]}getShallowErrors(){return this.errors}clone(){return new ue(this.toJSON(),this.project)}getDataType(){return this.dataType||null}setDataType(e){return this.dataType=e,this}};l(ue,"MUTABLE_BASE_PROPERTIES",["name","description","required"]),l(ue,"INMUTABLE_BASE_PROPERTIES",["id","version","type","parentRelationType"]),l(ue,"BASE_PROPERTIES",[...ue.MUTABLE_BASE_PROPERTIES,...ue.INMUTABLE_BASE_PROPERTIES]),l(ue,"MUTABLE_META_PROPERTIES",[...ue.MUTABLE_BASE_PROPERTIES,"index"]),l(ue,"INMUTABLE_META_PROPERTIES",[...ue.INMUTABLE_BASE_PROPERTIES]),l(ue,"META_PROPERTIES",[...ue.MUTABLE_META_PROPERTIES,...ue.INMUTABLE_META_PROPERTIES]),l(ue,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(ue,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(ue,"UPSTREAM_PROPERTIES",[...ue.MUTABLE_UPSTREAM_PROPERTIES,...ue.INMUTABLE_UPSTREAM_PROPERTIES]),l(ue,"MUTABLE_DOWNSTREAM_PROPERTIES",["dataType"]),l(ue,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ue,"DOWNSTREAM_PROPERTIES",[...ue.MUTABLE_DOWNSTREAM_PROPERTIES,...ue.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ue,"PROPERTIES",[...ue.META_PROPERTIES,...ue.UPSTREAM_PROPERTIES,...ue.DOWNSTREAM_PROPERTIES]);let Er=ue;function P6(n,e){if(!n.type&&!n.id)return{errors:[new E({id:`last-generated-entity-payload--${y.MissingTypeProperty}`,message:"Last generated entity payload is missing a 'type' property.",severity:f.Error,code:y.MissingTypeProperty,issue:null}),new E({id:`last-generated-entity-payload--${y.MissingIdProperty}`,message:"Last generated entity payload is missing an 'id' property.",severity:f.Error,code:y.MissingIdProperty,issue:null})],modifiedData:null};if(n.type){if(!n.id)return{errors:[new E({id:`last-generated-entity-payload--${y.MissingIdProperty}`,message:`Last generated entity, with type "${n.type}" is missing an 'id' property.`,severity:f.Error,code:y.MissingIdProperty,issue:null})],modifiedData:null}}else return{errors:[new E({id:`${n.id}--${y.MissingTypeProperty}`,message:`Entity with id "${n.id}" is missing a 'type' property.`,severity:f.Error,code:y.MissingTypeProperty,issue:null})],modifiedData:null};if(n.type===r.GenericReference)return{errors:[new E({id:`${n.id}--${y.RootReference}`,message:`Generic reference entity with id "${n.id}". A generic reference cannot be generated as a standalone entity. Only in the body of another entity.`,severity:f.Error,code:y.RootReference,issue:null})],modifiedData:null};const t=n,i=e.instances[t.id],a=e.builtInInstances[t.id];if(i&&!a&&t.type!==r.GenericReference){let s=`A previously generated entity with id "${t.id}" already exists in the project state.
174
+ ${Qt({describe_entity:o.error.id})}`,issue:null}))),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){var e,t;return this.parentRelationType===C.FixedArguments?(e=this.parent)==null||e.addFixedArgument(this):this.parentRelationType===C.FixedReturns?(t=this.parent)==null||t.addFixedReturn(this):this.parentRelationType===C.ReturnedError&&this.parent&&(this.parent.error=this),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.dataType&&(this.dataType=R(this.initialData.dataType,this.project),this.dataType.setParent(this),this.dataType.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.index=e.index||this.index,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.dataType){const{affected:s,removed:o}=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.dataType){const{affected:i}=this.dataType.restore({seenEntities:e});t.push(...i)}return{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.dataType?this.dataType.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.dataType?this.dataType.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,required:this.required,parentRelationType:this.parentRelationType,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,required:this.required,parentRelationType:this.parentRelationType,dataType:((e=this.dataType)==null?void 0:e.toReference())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.dataType?this.dataType.toFlatJSON(e):[]])}toGenerationTarget(){var e;return{id:this.id,name:this.name,description:this.description,type:this.type,required:this.required,parentRelationType:this.parentRelationType,parent:(e=this.parent)==null?void 0:e.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.dataType?this.dataType.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],(e=this.dataType)==null||e.clearErrors(),this}validate(){const e=D9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.dataType?this.dataType.getErrors():[]]}getShallowErrors(){return this.errors}clone(){return new ue(this.toJSON(),this.project)}getDataType(){return this.dataType||null}setDataType(e){return this.dataType=e,this}};l(ue,"MUTABLE_BASE_PROPERTIES",["name","description","required"]),l(ue,"INMUTABLE_BASE_PROPERTIES",["id","version","type","parentRelationType"]),l(ue,"BASE_PROPERTIES",[...ue.MUTABLE_BASE_PROPERTIES,...ue.INMUTABLE_BASE_PROPERTIES]),l(ue,"MUTABLE_META_PROPERTIES",[...ue.MUTABLE_BASE_PROPERTIES,"index"]),l(ue,"INMUTABLE_META_PROPERTIES",[...ue.INMUTABLE_BASE_PROPERTIES]),l(ue,"META_PROPERTIES",[...ue.MUTABLE_META_PROPERTIES,...ue.INMUTABLE_META_PROPERTIES]),l(ue,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(ue,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(ue,"UPSTREAM_PROPERTIES",[...ue.MUTABLE_UPSTREAM_PROPERTIES,...ue.INMUTABLE_UPSTREAM_PROPERTIES]),l(ue,"MUTABLE_DOWNSTREAM_PROPERTIES",["dataType"]),l(ue,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ue,"DOWNSTREAM_PROPERTIES",[...ue.MUTABLE_DOWNSTREAM_PROPERTIES,...ue.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ue,"PROPERTIES",[...ue.META_PROPERTIES,...ue.UPSTREAM_PROPERTIES,...ue.DOWNSTREAM_PROPERTIES]);let Rr=ue;function A9(n,e){if(!n.type&&!n.id)return{errors:[new E({id:`last-generated-entity-payload--${y.MissingTypeProperty}`,message:"Last generated entity payload is missing a 'type' property.",severity:f.Error,code:y.MissingTypeProperty,issue:null}),new E({id:`last-generated-entity-payload--${y.MissingIdProperty}`,message:"Last generated entity payload is missing an 'id' property.",severity:f.Error,code:y.MissingIdProperty,issue:null})],modifiedData:null};if(n.type){if(!n.id)return{errors:[new E({id:`last-generated-entity-payload--${y.MissingIdProperty}`,message:`Last generated entity, with type "${n.type}" is missing an 'id' property.`,severity:f.Error,code:y.MissingIdProperty,issue:null})],modifiedData:null}}else return{errors:[new E({id:`${n.id}--${y.MissingTypeProperty}`,message:`Entity with id "${n.id}" is missing a 'type' property.`,severity:f.Error,code:y.MissingTypeProperty,issue:null})],modifiedData:null};if(n.type===r.GenericReference)return{errors:[new E({id:`${n.id}--${y.RootReference}`,message:`Generic reference entity with id "${n.id}". A generic reference cannot be generated as a standalone entity. Only in the body of another entity.`,severity:f.Error,code:y.RootReference,issue:null})],modifiedData:null};const t=n,i=e.instances[t.id],a=e.builtInInstances[t.id];if(i&&!a&&t.type!==r.GenericReference){let s=`A previously generated entity with id "${t.id}" already exists in the project state.
175
175
  Are you trying to update that entity?
176
176
  If so, you should use the 'update' action for core mutable metadata properties, or 'delete' and then 'post' again to replace it.
177
- If you are trying to create a new entity, please use a different id, for example: "${ad(t,e)}".`;return{errors:[new E({id:`duplicate--${t.id}--${y.EntityIdNotUnique}`,message:s,severity:f.Error,code:y.EntityIdNotUnique,issue:null})],modifiedData:n}}else if(i&&t.type!==r.GenericReference)return{errors:[new E({id:`${t.id}--${y.EntityIdNotUnique}`,message:`A built in entity with id "${t.id}" already exists. You cannot modify built in entities. If you are trying to create a new entity, please use a different id, for example: "${ad(t,e)}".`,severity:f.Error,code:y.EntityIdNotUnique,issue:null})],modifiedData:n};switch(t.type){case r.Project:return $.validateGenerationTarget(t,e);case r.CustomEntity:return Ir.validateGenerationTarget(t,e);case r.Property:return or.validateGenerationTarget(t,e);case r.FunctionDeclaration:return lr.validateGenerationTarget(t,e);case r.DataType:return ai.validateGenerationTarget(t,e);case r.Operation:return cr.validateGenerationTarget(t,e);case r.FunctionCall:return Rr.validateGenerationTarget(t,e);case r.VariableDeclaration:return pr.validateGenerationTarget(t,e);case r.VariableInstance:return yr.validateGenerationTarget(t,e);case r.GlobalEvent:return si.validateGenerationTarget(t,e);case r.InputMap:return hn.validateGenerationTarget(t,e);case r.OutputMap:return fn.validateGenerationTarget(t,e);case r.ArgumentDeclaration:return mr.validateGenerationTarget(t,e);case r.ReturnDeclaration:return Ot.validateGenerationTarget(t,e);case r.Loop:return dr.validateGenerationTarget(t,e);case r.Condition:return ur.validateGenerationTarget(t,e);case r.Search:return hr.validateGenerationTarget(t,e);case r.InstalledProject:return fr.validateGenerationTarget(t,e);case r.InternalCall:return oi.validateGenerationTarget(t,e);case r.PrimitiveValue:return li.validateGenerationTarget(t,e);case r.ReturnStatement:return Tr.validateGenerationTarget(t,e);case r.BreakStatement:return ci.validateGenerationTarget(t,e);case r.ContinueStatement:return yt.validateGenerationTarget(t,e);case r.ActionDescriptor:return _e.validateGenerationTarget(t,e);case r.ValueDescriptor:return Er.validateGenerationTarget(t,e);case r.BuiltInBaseEntity:case r.PrimitiveEntity:{const s="Did you mean to generate a",u={[r.BuiltInBaseEntity]:`${s} '${r.CustomEntity}' instead?`,[r.PrimitiveEntity]:`${s} '${r.CustomEntity}' instead?`}[t.type]||"";return{errors:[new E({id:`${t.id}--${y.BuiltInEntityGenerated}`,message:`Entity with id "${t.id} is of "${t.type}" type and should not be generated. Built in entities can only be referenced by user created entities.
178
- ${u}`,severity:f.Error,code:y.BuiltInEntityGenerated,issue:null})],modifiedData:n}}default:{const s=t;return{errors:[new E({id:`${s.id}--${y.UnknownEntityType}`,message:`Incorrect entity implementation for entity with id "${s.id}". Entity type "${s.type}" is not supported.`,severity:f.Error,code:y.UnknownEntityType,issue:null})],modifiedData:null}}}}function Qs(n){const e=po(n.type),t=e.MUTABLE_BASE_PROPERTIES,i=e.MUTABLE_UPSTREAM_PROPERTIES;let a=`Only mutable core metadata properties can be updated, no nested entities or references. You can alternatively delete the entity and create a new one with the updated values.
177
+ If you are trying to create a new entity, please use a different id, for example: "${ld(t,e)}".`;return{errors:[new E({id:`duplicate--${t.id}--${y.EntityIdNotUnique}`,message:s,severity:f.Error,code:y.EntityIdNotUnique,issue:null})],modifiedData:n}}else if(i&&t.type!==r.GenericReference)return{errors:[new E({id:`${t.id}--${y.EntityIdNotUnique}`,message:`A built in entity with id "${t.id}" already exists. You cannot modify built in entities. If you are trying to create a new entity, please use a different id, for example: "${ld(t,e)}".`,severity:f.Error,code:y.EntityIdNotUnique,issue:null})],modifiedData:n};switch(t.type){case r.Project:return $.validateGenerationTarget(t,e);case r.CustomEntity:return Pr.validateGenerationTarget(t,e);case r.Property:return lr.validateGenerationTarget(t,e);case r.FunctionDeclaration:return cr.validateGenerationTarget(t,e);case r.DataType:return si.validateGenerationTarget(t,e);case r.Operation:return dr.validateGenerationTarget(t,e);case r.FunctionCall:return br.validateGenerationTarget(t,e);case r.VariableDeclaration:return yr.validateGenerationTarget(t,e);case r.VariableInstance:return hr.validateGenerationTarget(t,e);case r.GlobalEvent:return oi.validateGenerationTarget(t,e);case r.InputMap:return hn.validateGenerationTarget(t,e);case r.OutputMap:return fn.validateGenerationTarget(t,e);case r.ArgumentDeclaration:return Tr.validateGenerationTarget(t,e);case r.ReturnDeclaration:return Ot.validateGenerationTarget(t,e);case r.Loop:return ur.validateGenerationTarget(t,e);case r.Condition:return pr.validateGenerationTarget(t,e);case r.Search:return fr.validateGenerationTarget(t,e);case r.InstalledProject:return mr.validateGenerationTarget(t,e);case r.InternalCall:return li.validateGenerationTarget(t,e);case r.PrimitiveValue:return ci.validateGenerationTarget(t,e);case r.ReturnStatement:return Er.validateGenerationTarget(t,e);case r.BreakStatement:return di.validateGenerationTarget(t,e);case r.ContinueStatement:return yt.validateGenerationTarget(t,e);case r.ActionDescriptor:return _e.validateGenerationTarget(t,e);case r.ValueDescriptor:return Rr.validateGenerationTarget(t,e);case r.BuiltInBaseEntity:case r.PrimitiveEntity:{const s="Did you mean to generate a",u={[r.BuiltInBaseEntity]:`${s} '${r.CustomEntity}' instead?`,[r.PrimitiveEntity]:`${s} '${r.CustomEntity}' instead?`}[t.type]||"";return{errors:[new E({id:`${t.id}--${y.BuiltInEntityGenerated}`,message:`Entity with id "${t.id} is of "${t.type}" type and should not be generated. Built in entities can only be referenced by user created entities.
178
+ ${u}`,severity:f.Error,code:y.BuiltInEntityGenerated,issue:null})],modifiedData:n}}default:{const s=t;return{errors:[new E({id:`${s.id}--${y.UnknownEntityType}`,message:`Incorrect entity implementation for entity with id "${s.id}". Entity type "${s.type}" is not supported.`,severity:f.Error,code:y.UnknownEntityType,issue:null})],modifiedData:null}}}}function eo(n){const e=ho(n.type),t=e.MUTABLE_BASE_PROPERTIES,i=e.MUTABLE_UPSTREAM_PROPERTIES;let a=`Only mutable core metadata properties can be updated, no nested entities or references. You can alternatively delete the entity and create a new one with the updated values.
179
179
  For entities of type "${n.type}", `;if(t.length>0?a+=`you can update the following metadata properties: '${N(t,"', '","' and '")}'. `:a+="there are no mutable metadata properties.",i.length>0){const s=t.length>0?`
180
180
  You can also update the following upstream references: `:`
181
181
  But can update the following upstream entity references: `;a+=`${s}'${N(i,"', '","' and '")}'.`}else a+=t.length>0?`
182
182
  And there are no upstream references that can be updated.`:`
183
- There are no upstream references that can be updated.`;return a}function D6(n,e){const t=[];let i=!1;if(Ar.includes(e.type)&&t.push(new E({id:`${e.id}--${y.BuiltInEntityGenerated}`,message:`Entity with id "${e.id} is of "${e.type}" type and should not be updated. Built in entities can only be referenced by user created entities.`,severity:f.Error,code:y.BuiltInEntityGenerated,issue:null})),n.id&&(t.push(new E({id:`last-action--${y.InvalidUpdateEntityOperation}`,code:y.InvalidUpdateEntityOperation,severity:f.Error,message:`The 'id' property cannot be updated in the 'update' action payload. The id of the entity is '${n.id}'. Only mutable core metadata properties can be updated, no nested entities or references. You can alternatively delete the entity and create a new one with the updated 'id'.`,issue:null})),i=!0),n.type&&(t.push(new E({id:`last-action--${y.InvalidUpdateEntityOperation}`,code:y.InvalidUpdateEntityOperation,severity:f.Error,message:`The 'type' property cannot be updated in the 'update' action payload. The type of the entity is '${e.type}'. Only mutable core metadata properties can be updated, no nested entities or references. You can alternatively delete the entity and create a new one with the updated 'type'.`,issue:null})),i=!0),t.length)return{errors:t,modifiedData:null,messageAddition:""};if($e.includes(e.type)?n.calls&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calls" updated.
184
- ${$n}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})):Ne.includes(e.type)&&(n.successCalls&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "successCalls" updated.
185
- ${$n}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),n.errorCalls&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "errorCalls" updated.
186
- ${$n}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null}))),En.includes(e.type)&&(n.calledBy&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calledBy" updated.
187
- ${$n}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),n.calledByEntry&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calledByEntry" updated.
188
- ${$n}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),n.calledBySuccess&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calledBySuccess" updated.
189
- ${$n}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),n.calledByError&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calledByError" updated.
190
- ${$n}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null}))),t.length)return{errors:t,modifiedData:null,messageAddition:""};const a=po(e.type);if(a){(a.INMUTABLE_META_PROPERTIES||[]).forEach(W=>{["type","id"].includes(W)||n[W]&&!ta(n[W])&&(t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "${W}" updated. It is an inmutable property that is set only when the entity is created.
191
- If you need to update this property, you should delete the entity and create a new one with the updated value.`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),i=!0)}),(a.DOWNSTREAM_PROPERTIES||[]).forEach(W=>{n[W]&&!ta(n[W])&&(t.push(new E({id:`${e.id}--${y.InvalidDownstreamPropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "${W}" set directly. It is a downstream property that points to a downstream nested entity.
183
+ There are no upstream references that can be updated.`;return a}function S9(n,e){const t=[];let i=!1;if(Sr.includes(e.type)&&t.push(new E({id:`${e.id}--${y.BuiltInEntityGenerated}`,message:`Entity with id "${e.id} is of "${e.type}" type and should not be updated. Built in entities can only be referenced by user created entities.`,severity:f.Error,code:y.BuiltInEntityGenerated,issue:null})),n.id&&(t.push(new E({id:`last-action--${y.InvalidUpdateEntityOperation}`,code:y.InvalidUpdateEntityOperation,severity:f.Error,message:`The 'id' property cannot be updated in the 'update' action payload. The id of the entity is '${n.id}'. Only mutable core metadata properties can be updated, no nested entities or references. You can alternatively delete the entity and create a new one with the updated 'id'.`,issue:null})),i=!0),n.type&&(t.push(new E({id:`last-action--${y.InvalidUpdateEntityOperation}`,code:y.InvalidUpdateEntityOperation,severity:f.Error,message:`The 'type' property cannot be updated in the 'update' action payload. The type of the entity is '${e.type}'. Only mutable core metadata properties can be updated, no nested entities or references. You can alternatively delete the entity and create a new one with the updated 'type'.`,issue:null})),i=!0),t.length)return{errors:t,modifiedData:null,messageAddition:""};if($e.includes(e.type)?n.calls&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calls" updated.
184
+ ${Vn}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})):Ne.includes(e.type)&&(n.successCalls&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "successCalls" updated.
185
+ ${Vn}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),n.errorCalls&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "errorCalls" updated.
186
+ ${Vn}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null}))),En.includes(e.type)&&(n.calledBy&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calledBy" updated.
187
+ ${Vn}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),n.calledByEntry&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calledByEntry" updated.
188
+ ${Vn}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),n.calledBySuccess&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calledBySuccess" updated.
189
+ ${Vn}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),n.calledByError&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calledByError" updated.
190
+ ${Vn}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null}))),t.length)return{errors:t,modifiedData:null,messageAddition:""};const a=ho(e.type);if(a){(a.INMUTABLE_META_PROPERTIES||[]).forEach(W=>{["type","id"].includes(W)||n[W]&&!na(n[W])&&(t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "${W}" updated. It is an inmutable property that is set only when the entity is created.
191
+ If you need to update this property, you should delete the entity and create a new one with the updated value.`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),i=!0)}),(a.DOWNSTREAM_PROPERTIES||[]).forEach(W=>{n[W]&&!na(n[W])&&(t.push(new E({id:`${e.id}--${y.InvalidDownstreamPropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "${W}" set directly. It is a downstream property that points to a downstream nested entity.
192
192
  All downstream references are managed by the downstream entity. Entities only manage their own upstream references.
193
- To modify '${W}', target the entity that it points to and its equivalent property.`,severity:f.Error,code:y.InvalidDownstreamPropertyOverride,issue:null})),i=!0)}),(a.INMUTABLE_UPSTREAM_PROPERTIES||[]).forEach(W=>{n[W]&&!ta(n[W])&&(t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "${W}" updated. It is an inmutable property that is set only when the entity is created.
194
- If you need to update this property, you should delete the entity and create a new one with the updated value.`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),i=!0)});const G=a.PROPERTIES||[];G.length>0&&Object.keys(n).forEach(W=>{G.includes(W)||t.push(new E({id:`${e.id}--${y.UnrecognizedProperty}`,message:`Entity of type "${e.type}" with id "${e.id}" has an unrecognized property "${W}" that will be ignored.`,severity:f.Warning,code:y.UnrecognizedProperty,issue:null}))})}if(t.length)return{errors:t,modifiedData:null,messageAddition:i?Qs(e):""};const s=tg(e),o=s==null?void 0:s.partial(),u=o==null?void 0:o.safeParse(n),p={...n,id:e.id,type:e.type},h=od(p,u);if(t.push(...h),t.length)return{errors:t,modifiedData:null,messageAddition:i?Qs(e):""};const T=e.validateGeneratedUpdate(n);return{errors:[...t,...T.errors],modifiedData:T.modifiedData,messageAddition:i?Qs(e):""}}function tg(n){switch(n.type){case r.PrimitiveValue:return Ps();case r.CustomEntity:return Ic();case r.PrimitiveEntity:return Ps();case r.FunctionDeclaration:return vc();case r.GlobalEvent:return _s();case r.DataType:return yc();case r.Property:return Xl();case r.FunctionCall:return sc();case r.Condition:return oc();case r.Operation:return Cs();case r.VariableDeclaration:return fc();case r.VariableInstance:return mc();case r.OutputMap:return ac();case r.ReturnDeclaration:return nc();case r.ArgumentDeclaration:return bc();case r.InputMap:return dc();case r.Project:return gc();case r.InstalledProject:return UU();case r.ActionDescriptor:return As();case r.ReturnStatement:return ec();case r.Loop:return As();case r.Search:return tc();case r.ValueDescriptor:return Zl();case r.BuiltInBaseEntity:return Ql();case r.InternalCall:return cc();case r.ContinueStatement:return Kl();case r.BreakStatement:return rc();default:return null}}function ng(n){switch(n.type){case r.PrimitiveValue:return hU();case r.CustomEntity:return wx();case r.PrimitiveEntity:return t4();case r.FunctionDeclaration:return gx();case r.GlobalEvent:return HU();case r.DataType:return SU();case r.Property:return a4();case r.FunctionCall:return J4();case r.Condition:return Z4();case r.Operation:return lU();case r.VariableDeclaration:return _U();case r.VariableInstance:return LU();case r.OutputMap:return x4();case r.ReturnDeclaration:return M4();case r.ArgumentDeclaration:return Ex();case r.InputMap:return iU();case r.Project:return Sx();case r.InstalledProject:return jU();case r.ActionDescriptor:return h4();case r.ReturnStatement:return D4();case r.Loop:return T4();case r.Search:return C4();case r.ValueDescriptor:return XF();case r.BuiltInBaseEntity:return d4();case r.InternalCall:return eU();case r.ContinueStatement:return v4();case r.BreakStatement:return L4();default:return null}}function Ks(n){const e=[];_n(n)||e.push(new E({id:`${n}--${y.InvalidReferenceObjectStructure}`,message:`Reference object with id "${n}" is not an object. References should be objects with exactly 4 properties: 'entityId', 'entityType', 'id', and 'type'.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null}));const t=n.id||"reference-to--"+(n.entityId||"unknown"),i=`Reference object ${n.id?`with id "${n.id}"`:`to entity with id "${n.entityId}" and type "${n.entityType}"`}`;return n.entityId||e.push(new E({id:`${t}--${y.InvalidReferenceObjectStructure}`,message:`${i} is missing an 'entityId' property.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null})),n.entityType||e.push(new E({id:`${t}--${y.InvalidReferenceObjectStructure}`,message:`${i} is missing an 'entityType' property.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null})),n.id||e.push(new E({id:`${t}--${y.MissingIdProperty}`,message:`${i} is missing an 'id' property.`,severity:f.Error,code:y.MissingIdProperty,issue:null})),n.type||e.push(new E({id:`${t}--${y.MissingTypeProperty}`,message:`${i} is missing a 'type' property.`,severity:f.Error,code:y.MissingTypeProperty,issue:null})),e}function od(n,e){return e.success?[]:e.error.issues.map(t=>new E({id:`${n.id}--${v.InvalidObjectStructure}`,message:`Entity of type "${n.type}" and with id "${n.id}", has an invalid structure: ${Kx(t).toString().replace("Validation error: ","")}`,severity:f.Error,code:v.InvalidObjectStructure,issue:t}))}function Pe(n,e){const t=[],i=ng(n);if(i){const s=i.safeParse(n);t.push(...od(n,s))}const a=po(n.type);if(a){(a.DOWNSTREAM_PROPERTIES||[]).forEach(u=>{n[u]&&!ta(n[u])&&t.push(new E({id:`${n.id}--${y.InvalidDownstreamPropertyOverride}`,message:`Entity of type "${n.type}" with id "${n.id}" cannot have the property "${u}" set directly. It is a downstream property that points to a downstream nested entity.
193
+ To modify '${W}', target the entity that it points to and its equivalent property.`,severity:f.Error,code:y.InvalidDownstreamPropertyOverride,issue:null})),i=!0)}),(a.INMUTABLE_UPSTREAM_PROPERTIES||[]).forEach(W=>{n[W]&&!na(n[W])&&(t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "${W}" updated. It is an inmutable property that is set only when the entity is created.
194
+ If you need to update this property, you should delete the entity and create a new one with the updated value.`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),i=!0)});const G=a.PROPERTIES||[];G.length>0&&Object.keys(n).forEach(W=>{G.includes(W)||t.push(new E({id:`${e.id}--${y.UnrecognizedProperty}`,message:`Entity of type "${e.type}" with id "${e.id}" has an unrecognized property "${W}" that will be ignored.`,severity:f.Warning,code:y.UnrecognizedProperty,issue:null}))})}if(t.length)return{errors:t,modifiedData:null,messageAddition:i?eo(e):""};const s=ng(e),o=s==null?void 0:s.partial(),u=o==null?void 0:o.safeParse(n),p={...n,id:e.id,type:e.type},h=dd(p,u);if(t.push(...h),t.length)return{errors:t,modifiedData:null,messageAddition:i?eo(e):""};const T=e.validateGeneratedUpdate(n);return{errors:[...t,...T.errors],modifiedData:T.modifiedData,messageAddition:i?eo(e):""}}function ng(n){switch(n.type){case r.PrimitiveValue:return As();case r.CustomEntity:return Ac();case r.PrimitiveEntity:return As();case r.FunctionDeclaration:return Pc();case r.GlobalEvent:return Ns();case r.DataType:return mc();case r.Property:return ec();case r.FunctionCall:return cc();case r.Condition:return dc();case r.Operation:return ws();case r.VariableDeclaration:return Ec();case r.VariableInstance:return Rc();case r.OutputMap:return lc();case r.ReturnDeclaration:return ac();case r.ArgumentDeclaration:return Ic();case r.InputMap:return yc();case r.Project:return Dc();case r.InstalledProject:return jU();case r.ActionDescriptor:return Os();case r.ReturnStatement:return rc();case r.Loop:return Os();case r.Search:return ic();case r.ValueDescriptor:return Kl();case r.BuiltInBaseEntity:return tc();case r.InternalCall:return pc();case r.ContinueStatement:return nc();case r.BreakStatement:return sc();default:return null}}function rg(n){switch(n.type){case r.PrimitiveValue:return mU();case r.CustomEntity:return Mx();case r.PrimitiveEntity:return r4();case r.FunctionDeclaration:return Px();case r.GlobalEvent:return zU();case r.DataType:return CU();case r.Property:return o4();case r.FunctionCall:return H4();case r.Condition:return Q4();case r.Operation:return dU();case r.VariableDeclaration:return NU();case r.VariableInstance:return FU();case r.OutputMap:return k4();case r.ReturnDeclaration:return $4();case r.ArgumentDeclaration:return bx();case r.InputMap:return sU();case r.Project:return Cx();case r.InstalledProject:return qU();case r.ActionDescriptor:return m4();case r.ReturnStatement:return S4();case r.Loop:return R4();case r.Search:return w4();case r.ValueDescriptor:return KF();case r.BuiltInBaseEntity:return p4();case r.InternalCall:return nU();case r.ContinueStatement:return I4();case r.BreakStatement:return F4();default:return null}}function to(n){const e=[];Mn(n)||e.push(new E({id:`${n}--${y.InvalidReferenceObjectStructure}`,message:`Reference object with id "${n}" is not an object. References should be objects with exactly 4 properties: 'entityId', 'entityType', 'id', and 'type'.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null}));const t=n.id||"reference-to--"+(n.entityId||"unknown"),i=`Reference object ${n.id?`with id "${n.id}"`:`to entity with id "${n.entityId}" and type "${n.entityType}"`}`;return n.entityId||e.push(new E({id:`${t}--${y.InvalidReferenceObjectStructure}`,message:`${i} is missing an 'entityId' property.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null})),n.entityType||e.push(new E({id:`${t}--${y.InvalidReferenceObjectStructure}`,message:`${i} is missing an 'entityType' property.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null})),n.id||e.push(new E({id:`${t}--${y.MissingIdProperty}`,message:`${i} is missing an 'id' property.`,severity:f.Error,code:y.MissingIdProperty,issue:null})),n.type||e.push(new E({id:`${t}--${y.MissingTypeProperty}`,message:`${i} is missing a 'type' property.`,severity:f.Error,code:y.MissingTypeProperty,issue:null})),e}function dd(n,e){return e.success?[]:e.error.issues.map(t=>new E({id:`${n.id}--${v.InvalidObjectStructure}`,message:`Entity of type "${n.type}" and with id "${n.id}", has an invalid structure: ${t8(t).toString().replace("Validation error: ","")}`,severity:f.Error,code:v.InvalidObjectStructure,issue:t}))}function Pe(n,e){const t=[],i=rg(n);if(i){const s=i.safeParse(n);t.push(...dd(n,s))}const a=ho(n.type);if(a){(a.DOWNSTREAM_PROPERTIES||[]).forEach(u=>{n[u]&&!na(n[u])&&t.push(new E({id:`${n.id}--${y.InvalidDownstreamPropertyOverride}`,message:`Entity of type "${n.type}" with id "${n.id}" cannot have the property "${u}" set directly. It is a downstream property that points to a downstream nested entity.
195
195
  All downstream references are managed by the downstream entity. Entities only manage their own upstream references.
196
- To modify '${u}', target the entity that it points to and its equivalent property.`,severity:f.Error,code:y.InvalidDownstreamPropertyOverride,issue:null}))});const o=a.PROPERTIES||[];o.length>0&&Object.keys(n).forEach(u=>{o.includes(u)||t.push(new E({id:`${n.id}--${y.UnrecognizedProperty}`,message:`Entity of type "${n.type}" with id "${n.id}" has an unrecognized property "${u}" that will be ignored.`,severity:f.Warning,code:y.UnrecognizedProperty,issue:null}))})}return t}function A6(n,e){const t=[];if(!n.parent)return t;const i=e.get(n.parent);return i?(Ar.includes(i==null?void 0:i.type)?t.push(new E({id:`${n.id}--${y.BuiltInEntityParent}`,message:`Entity of type "${n.type}" with id "${n.id}" cannot have the parent with id "${i.id}", because it is a built in entity. Built in entities cannot be modified.`,severity:f.Error,code:y.BuiltInEntityParent,issue:null})):i.type===r.ActionDescriptor&&e.get(n.parent)&&t.push(new E({id:`${n.id}--${y.BuiltInEntityParent}`,message:`Entity of type "${n.type}" with id "${n.id}" cannot have the parent with id "${i.id}", because it is a built in entity. Built in entities cannot be modified. Action descriptors are only sometimes built in, other times they are managed by the user.`,severity:f.Error,code:y.BuiltInEntityParent,issue:null})),t):[]}function ld(n,e,t){const i=[],a=n[e.key];if(!a)return i.push(new E({id:`${n.id}--${e.key}--${v.InvalidObjectStructure}`,message:`Entity of type "${n.type}" with id "${n.id}" is missing a reference to a "${e.key}" entity. The '${e.key}' property of a "${n.type}" entity can be ${N(e.types,", "," or ")}.`,severity:f.Error,code:v.InvalidObjectStructure,issue:null})),{entityState:null,errors:i};let s=null;if(typeof a=="string")s=a;else{const u=Ks(a);i.push(...u),u.length===0&&(s=a.entityId)}if(!s)return{entityState:null,errors:i};if(n.id===s)return i.push(new E({id:`${n.id}--${s}--${y.SelfReference}`,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at '${e.key}'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,severity:f.Error,code:y.SelfReference,issue:null})),{entityState:null,errors:i};const o=t.get(s)||t.getBuiltIn(s);return o?e.types.includes(o.type)||i.push(new E({id:`${n.id}--${s}--${y.InvalidReference}`,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to "${s}" at '${e.key}' that isn't pointing to an entity of type '${N(e.types,"', '","' or '")}'.`,severity:f.Error,code:y.InvalidReference,issue:null})):i.push(new E({id:`${n.id}--${s}--${y.ReferencedEntityNotFound}`,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${s}" at '${e.key}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null})),{entityState:o,errors:i}}function eo(n,e,t){const i=[],a=n[e];return a?Array.isArray(a)?{entities:a.map(o=>{let u=null;if(typeof o=="string")u=o;else{const h=Ks(o);i.push(...h),h.length===0&&(u=o.entityId)}if(!u)return{entityState:null,errors:[new E({id:`${n.id}--${e}--${y.InvalidReference}`,message:`Entity of type "${n.type}" with id "${n.id}", has a missing reference at '${e}'. A reference needs to be a 'id' string of an existing entity in the project.`,severity:f.Error,code:y.InvalidReference,issue:null})]};const p=t.get(u)||t.getBuiltIn(u);return p?{entityState:p,errors:[]}:(i.push(new E({id:`${n.id}--${u}--${y.ReferencedEntityNotFound}`,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${u}" at '${e}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null})),{entityState:null,errors:i})}),errors:[]}:(i.push(new E({id:`${n.id}--${e}--${v.InvalidObjectStructure}`,message:`Entity of type "${n.type}" with id "${n.id}" has an invalid structure for the "${e}" property. It should be an array of references.`,severity:f.Error,code:v.InvalidObjectStructure,issue:null})),{entities:[],errors:i}):(i.push(new E({id:`${n.id}--${e}--${v.InvalidObjectStructure}`,message:`Entity of type "${n.type}" with id "${n.id}" is missing a list of references to "${e}" entities.`,severity:f.Error,code:v.InvalidObjectStructure,issue:null})),{entities:[],errors:i})}function cd(n,e,t){const i=[],a=ld(n,e,t);if(a.errors.length>0)return a.errors;if(a.entityState){const s=a.entityState;e.types.includes(s.type)||i.push(new E({id:`${n.id}--${s.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to "${e.key}" that isn't pointing to an entity of type '${N(e.types,"', '","' or '")}'.`,issue:null})),n.id===s.id&&i.push(new E({id:`${n.id}--${s.id}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at '${e.key}'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}))}return i}function N(n,e,t){if(n.length===1)return n[0];if(n.length===2)return n.join(t);{const i=n.pop();return`${n.join(e)}${t}${i}`}}const Nn=`Pass-through callable entities are entities that need to be called by another caller, then they execute some internal logic and when finished, it can call other callable entities with the "calledBySuccess" property or "calledByError" property based on whether their internal execution was successful or an error ocurred respectively.
197
- All pass-through callable entities are: ${N(Ne,", "," and ")}.`,ca=`Entry point entities are the entities which start the execution of a logic chain. They are ${N($e,", "," and ")}.They aren't explicitly called by any entities. Rather, they can be called implicitly by the system, or as a function-call somewhere else in the case of a function-declaration. `,rg=`Caller entities are entities that can call other entities. Regarless of whether they are entry-point entities or pass-through callable entities. All caller entity types are: ${N(en,", "," and ")}.`,S6=`Callable entities are entities that can be called by other entities. They can be called by an entry-point, a success caller, or an error caller.
198
- All callable entity types are: ${N(En,", "," and ")}.`,$n=`Caller to callee relationships can be updated with the 'add_caller' and 'remove_caller' generation action with the properties: 'callerEntityId', a 'calleeEntityId'. For adding a caller, you can optionally add a boolean property 'fromError' (if the caller calls when an error occured in its execution).
199
- Either of these two actions will only affect the one relationship between the given caller and callee and ignore any others present in either entity.`,dd=`Break and continue statements need to have exactly one 'return-declaration' entity each. It represents the result of the current iteration of the loop. It can have any name and have any 'data-type' but it needs to be identical among all statements in the same loop.
200
- Meaning, if the return declaration in one 'break-statement' is named 'result' and has a 'data-type' of 'number', all other 'break-statements' and 'continue-statements' in the same loop need to have a 'return-declaration' with the same name and 'data-type'.`,O6=`Return statements need to be identical inside the same scope. For example if a 'return-statement' belongs to a function, with multiple branches of logic, leading to multiple 'return-statement' entities, all of them need to have the exact same amount of 'return-declaration' entities, sharing the same name and an equivalent 'data-type' entity.
201
- Furthermore, some 'function-declarations' and all 'global-events' might be implementing a base 'action-descriptor' entity, which defines exactly the shape and number of the return declarations.`,ud=`A variable without a data type which reads an-untyped object value, or has object properties written into it as input-map writes, will infere its data-type. This means that a 'data-type' will be created, with an implicitly declared 'custom-entity' as its 'entity' property, defining the structure of the object.
202
- This data type entity is what will define which properties are available to be read from the variable or any of its instances as 'output-map' entities.`,Vn=`Entities of type '${r.BuiltInBaseEntity}' that have the 'interactive' property set to false cannot be used programmatically during runtime. They can't be used as data types or instanciated in variables. Their methods can't be called by the code, and are only called by the system in the background. Their properties' values are constant and set only once when declared. They also can't be extended with unrecognized properties or methods that aren't part of the base out-of-the-box entity.`,pd=`Entities that read values from other entities, can be connected with entities that write values to them. Value reading entity types are: '${N(Tn,"', '","' and '")}'.`,ig=`Entities that write values to other entities, can be connected with entities that read values from them. Value writing entity types are: '${N(Se,"', '","' and '")}'.`,yd=`A property entity, is neither a value reading, or a value writting entity, but they are often confused with one.
196
+ To modify '${u}', target the entity that it points to and its equivalent property.`,severity:f.Error,code:y.InvalidDownstreamPropertyOverride,issue:null}))});const o=a.PROPERTIES||[];o.length>0&&Object.keys(n).forEach(u=>{o.includes(u)||t.push(new E({id:`${n.id}--${y.UnrecognizedProperty}`,message:`Entity of type "${n.type}" with id "${n.id}" has an unrecognized property "${u}" that will be ignored.`,severity:f.Warning,code:y.UnrecognizedProperty,issue:null}))})}return t}function O9(n,e){const t=[];if(!n.parent)return t;const i=e.get(n.parent);return i?(Sr.includes(i==null?void 0:i.type)?t.push(new E({id:`${n.id}--${y.BuiltInEntityParent}`,message:`Entity of type "${n.type}" with id "${n.id}" cannot have the parent with id "${i.id}", because it is a built in entity. Built in entities cannot be modified.`,severity:f.Error,code:y.BuiltInEntityParent,issue:null})):i.type===r.ActionDescriptor&&e.get(n.parent)&&t.push(new E({id:`${n.id}--${y.BuiltInEntityParent}`,message:`Entity of type "${n.type}" with id "${n.id}" cannot have the parent with id "${i.id}", because it is a built in entity. Built in entities cannot be modified. Action descriptors are only sometimes built in, other times they are managed by the user.`,severity:f.Error,code:y.BuiltInEntityParent,issue:null})),t):[]}function ud(n,e,t){const i=[],a=n[e.key];if(!a)return i.push(new E({id:`${n.id}--${e.key}--${v.InvalidObjectStructure}`,message:`Entity of type "${n.type}" with id "${n.id}" is missing a reference to a "${e.key}" entity. The '${e.key}' property of a "${n.type}" entity can be ${N(e.types,", "," or ")}.`,severity:f.Error,code:v.InvalidObjectStructure,issue:null})),{entityState:null,errors:i};let s=null;if(typeof a=="string")s=a;else{const u=to(a);i.push(...u),u.length===0&&(s=a.entityId)}if(!s)return{entityState:null,errors:i};if(n.id===s)return i.push(new E({id:`${n.id}--${s}--${y.SelfReference}`,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at '${e.key}'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,severity:f.Error,code:y.SelfReference,issue:null})),{entityState:null,errors:i};const o=t.get(s)||t.getBuiltIn(s);return o?e.types.includes(o.type)||i.push(new E({id:`${n.id}--${s}--${y.InvalidReference}`,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to "${s}" at '${e.key}' that isn't pointing to an entity of type '${N(e.types,"', '","' or '")}'.`,severity:f.Error,code:y.InvalidReference,issue:null})):i.push(new E({id:`${n.id}--${s}--${y.ReferencedEntityNotFound}`,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${s}" at '${e.key}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null})),{entityState:o,errors:i}}function no(n,e,t){const i=[],a=n[e];return a?Array.isArray(a)?{entities:a.map(o=>{let u=null;if(typeof o=="string")u=o;else{const h=to(o);i.push(...h),h.length===0&&(u=o.entityId)}if(!u)return{entityState:null,errors:[new E({id:`${n.id}--${e}--${y.InvalidReference}`,message:`Entity of type "${n.type}" with id "${n.id}", has a missing reference at '${e}'. A reference needs to be a 'id' string of an existing entity in the project.`,severity:f.Error,code:y.InvalidReference,issue:null})]};const p=t.get(u)||t.getBuiltIn(u);return p?{entityState:p,errors:[]}:(i.push(new E({id:`${n.id}--${u}--${y.ReferencedEntityNotFound}`,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${u}" at '${e}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null})),{entityState:null,errors:i})}),errors:[]}:(i.push(new E({id:`${n.id}--${e}--${v.InvalidObjectStructure}`,message:`Entity of type "${n.type}" with id "${n.id}" has an invalid structure for the "${e}" property. It should be an array of references.`,severity:f.Error,code:v.InvalidObjectStructure,issue:null})),{entities:[],errors:i}):(i.push(new E({id:`${n.id}--${e}--${v.InvalidObjectStructure}`,message:`Entity of type "${n.type}" with id "${n.id}" is missing a list of references to "${e}" entities.`,severity:f.Error,code:v.InvalidObjectStructure,issue:null})),{entities:[],errors:i})}function pd(n,e,t){const i=[],a=ud(n,e,t);if(a.errors.length>0)return a.errors;if(a.entityState){const s=a.entityState;e.types.includes(s.type)||i.push(new E({id:`${n.id}--${s.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to "${e.key}" that isn't pointing to an entity of type '${N(e.types,"', '","' or '")}'.`,issue:null})),n.id===s.id&&i.push(new E({id:`${n.id}--${s.id}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at '${e.key}'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}))}return i}function N(n,e,t){if(n.length===1)return n[0];if(n.length===2)return n.join(t);{const i=n.pop();return`${n.join(e)}${t}${i}`}}const $n=`Pass-through callable entities are entities that need to be called by another caller, then they execute some internal logic and when finished, it can call other callable entities with the "calledBySuccess" property or "calledByError" property based on whether their internal execution was successful or an error ocurred respectively.
197
+ All pass-through callable entities are: ${N(Ne,", "," and ")}.`,da=`Entry point entities are the entities which start the execution of a logic chain. They are ${N($e,", "," and ")}.They aren't explicitly called by any entities. Rather, they can be called implicitly by the system, or as a function-call somewhere else in the case of a function-declaration. `,ig=`Caller entities are entities that can call other entities. Regarless of whether they are entry-point entities or pass-through callable entities. All caller entity types are: ${N(en,", "," and ")}.`,C9=`Callable entities are entities that can be called by other entities. They can be called by an entry-point, a success caller, or an error caller.
198
+ All callable entity types are: ${N(En,", "," and ")}.`,Vn=`Caller to callee relationships can be updated with the 'add_caller' and 'remove_caller' generation action with the properties: 'callerEntityId', a 'calleeEntityId'. For adding a caller, you can optionally add a boolean property 'fromError' (if the caller calls when an error occured in its execution).
199
+ Either of these two actions will only affect the one relationship between the given caller and callee and ignore any others present in either entity.`,yd=`Break and continue statements need to have exactly one 'return-declaration' entity each. It represents the result of the current iteration of the loop. It can have any name and have any 'data-type' but it needs to be identical among all statements in the same loop.
200
+ Meaning, if the return declaration in one 'break-statement' is named 'result' and has a 'data-type' of 'number', all other 'break-statements' and 'continue-statements' in the same loop need to have a 'return-declaration' with the same name and 'data-type'.`,B9=`Return statements need to be identical inside the same scope. For example if a 'return-statement' belongs to a function, with multiple branches of logic, leading to multiple 'return-statement' entities, all of them need to have the exact same amount of 'return-declaration' entities, sharing the same name and an equivalent 'data-type' entity.
201
+ Furthermore, some 'function-declarations' and all 'global-events' might be implementing a base 'action-descriptor' entity, which defines exactly the shape and number of the return declarations.`,hd=`A variable without a data type which reads an-untyped object value, or has object properties written into it as input-map writes, will infere its data-type. This means that a 'data-type' will be created, with an implicitly declared 'custom-entity' as its 'entity' property, defining the structure of the object.
202
+ This data type entity is what will define which properties are available to be read from the variable or any of its instances as 'output-map' entities.`,Ln=`Entities of type '${r.BuiltInBaseEntity}' that have the 'interactive' property set to false cannot be used programmatically during runtime. They can't be used as data types or instanciated in variables. Their methods can't be called by the code, and are only called by the system in the background. Their properties' values are constant and set only once when declared. They also can't be extended with unrecognized properties or methods that aren't part of the base out-of-the-box entity.`,fd=`Entities that read values from other entities, can be connected with entities that write values to them. Value reading entity types are: '${N(Tn,"', '","' and '")}'.`,ag=`Entities that write values to other entities, can be connected with entities that read values from them. Value writing entity types are: '${N(Se,"', '","' and '")}'.`,md=`A property entity, is neither a value reading, or a value writting entity, but they are often confused with one.
203
203
  A 'property' can have a default value through its nested 'data-type' entity.
204
204
  The 'property' entity only represents the data field in the declaration, and it can't write or read values.
205
- When a 'custom-entity' is instantiated as a variable, any writes or reads to its properties are done through 'input-map's and 'output-map's.`,to=`Some entities can hold values during runtime, they often can be given a hardcoded "default value" either directly or on their declarations, and can be connected to other entities that write or read values to and from them. Entities that can hold values are: '${N(wd,"', '","' and '")}'.
205
+ When a 'custom-entity' is instantiated as a variable, any writes or reads to its properties are done through 'input-map's and 'output-map's.`,ro=`Some entities can hold values during runtime, they often can be given a hardcoded "default value" either directly or on their declarations, and can be connected to other entities that write or read values to and from them. Entities that can hold values are: '${N(Nd,"', '","' and '")}'.
206
206
  Some entities with values can both write and read values, while others can only do one of the two.
207
- ${pd}
208
- ${ig}.
209
- ${yd}`,hd=`To establish a connection of a reader and writter value during the generation process you can use the 'connect_values' generation action, like so:
207
+ ${fd}
208
+ ${ag}.
209
+ ${md}`,Td=`To establish a connection of a reader and writter value during the generation process you can use the 'connect_values' generation action, like so:
210
210
  \`\`\`json
211
211
  {
212
212
  "connect_values": {
@@ -215,61 +215,61 @@ ${yd}`,hd=`To establish a connection of a reader and writter value during the ge
215
215
  }
216
216
  }
217
217
  \`\`\`
218
- You can use the 'disconnect_values' generation action to remove the connection between two value holding entities in the same way.`,no=`If an explicit 'parent' isn't given for a callable entity, the scope will be auto-calculated to match the parent scope of the caller entity.
218
+ You can use the 'disconnect_values' generation action to remove the connection between two value holding entities in the same way.`,io=`If an explicit 'parent' isn't given for a callable entity, the scope will be auto-calculated to match the parent scope of the caller entity.
219
219
  If the entity that should be the parent of a callable entity is unclear, you can always skip the 'parent' property and the system will automatically calculate the parent based on the caller entity.`;function Qt(n){return`\`\`\`json
220
220
  ${typeof n=="string"?n:JSON.stringify(n,null,2)}
221
- \`\`\``}function C6(n,e){let t={};switch(n){case"add_caller":return t.add_caller={callerEntityId:e.callerEntityId,calleeEntityId:e.calleeEntityId},e.fromError&&(t.add_caller.fromError=e.fromError),Qt(t);case"remove_caller":return t.remove_caller={callerEntityId:e.callerEntityId,calleeEntityId:e.calleeEntityId},Qt(t);case"connect_values":return t.connect_values={writerEntityId:e.writerEntityId,readerEntityId:e.readerEntityId},Qt(t);case"disconnect_values":return t.disconnect_values={writerEntityId:e.writerEntityId,readerEntityId:e.readerEntityId},Qt(t);case"update":{const i=`{
221
+ \`\`\``}function w9(n,e){let t={};switch(n){case"add_caller":return t.add_caller={callerEntityId:e.callerEntityId,calleeEntityId:e.calleeEntityId},e.fromError&&(t.add_caller.fromError=e.fromError),Qt(t);case"remove_caller":return t.remove_caller={callerEntityId:e.callerEntityId,calleeEntityId:e.calleeEntityId},Qt(t);case"connect_values":return t.connect_values={writerEntityId:e.writerEntityId,readerEntityId:e.readerEntityId},Qt(t);case"disconnect_values":return t.disconnect_values={writerEntityId:e.writerEntityId,readerEntityId:e.readerEntityId},Qt(t);case"update":{const i=`{
222
222
  "update": {
223
223
  "entityId": "${e.entityId}",
224
224
  "data": {
225
225
  ...All the properties you want to update
226
226
  }
227
227
  }
228
- }`;return Qt(i)}default:return""}}function ag(n,e){const t=JSON.parse(JSON.stringify(n)),i=[];if($e.includes(e.type))i.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Warning,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to an entry-point entity at 'calledBySuccess' with id "${e.id}".
228
+ }`;return Qt(i)}default:return""}}function sg(n,e){const t=JSON.parse(JSON.stringify(n)),i=[];if($e.includes(e.type))i.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Warning,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to an entry-point entity at 'calledBySuccess' with id "${e.id}".
229
229
  Entry-point entities can only be referenced as 'calledByEntry'.
230
- ${ca}
230
+ ${da}
231
231
  We have moved the reference to 'calledByEntry' for you.`,issue:null})),t.calledByEntry.push(e.id),t.calledBySuccess=t.calledBySuccess.filter(a=>a!==e.id);else if(Oe.includes(e.type)){const a=e.calledBy||[],s=a.length?`
232
232
 
233
233
  This ${e.type} is called by ${N(a.map(o=>`${o.type} with id "${o.id}"`),", "," and ")} entities. You can reference ${a.length>1?"one of them":"it"} instead to execute this entity before the end of the logic.`:"";i.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a '${e.type}' entity at 'calledBySuccess' with id "${e.id}".
234
234
  ${e.type} entities are the last entity to be executed in a logic chain, and they don't call any other entities.
235
235
  Termination entities are ${N(Oe,", "," and ")}.${s}`,issue:null}))}else if(!Ne.includes(e.type))i.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity at 'calledBySuccess' with id "${e.id}" that isn't a pass-through callable entity.
236
- ${Nn}`,issue:null}));else if(!en.includes(e.type))return i.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity at 'calledBySuccess' with id "${e.id}" that isn't a caller entity.
236
+ ${$n}`,issue:null}));else if(!en.includes(e.type))return i.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity at 'calledBySuccess' with id "${e.id}" that isn't a caller entity.
237
237
  All caller entity types are: ${N(en,", "," and ")}.
238
238
  For the 'calledBySuccess' property, you specifically need to reference a pass-through callable entity.
239
- ${Nn}`,issue:null})),{errors:i,modifiedData:t};return{errors:i,modifiedData:t}}function sg(n,e){const t=[];if($e.includes(e.type))t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to an entry-point entity at 'calledByError' with id "${e.id}".
239
+ ${$n}`,issue:null})),{errors:i,modifiedData:t};return{errors:i,modifiedData:t}}function og(n,e){const t=[];if($e.includes(e.type))t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to an entry-point entity at 'calledByError' with id "${e.id}".
240
240
  Entry-point entities can only be referenced as 'calledByEntry'.
241
- ${ca}`,issue:null}));else if(Oe.includes(e.type)){const i=e.calledBy||[],a=i.length?`
241
+ ${da}`,issue:null}));else if(Oe.includes(e.type)){const i=e.calledBy||[],a=i.length?`
242
242
 
243
243
  This ${e.type} is called by ${N(i.map(s=>`${s.type} with id "${s.id}"`),", "," and ")} entities. You can reference ${i.length>1?"one of them":"it"} instead to execute this entity before the end of the logic.`:"";t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a '${e.type}' entity at 'calledByError' with id "${e.id}".
244
244
  ${e.type} entities are the last entity to be executed in a logic chain, and they don't call any other entities.
245
245
  Termination entities are ${N(Oe,", "," and ")}.${a}`,issue:null}))}else if(!Ne.includes(e.type))t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity at 'calledByError' with id "${e.id}" that isn't a pass-through callable entity.
246
- ${Nn}`,issue:null}));else if(!en.includes(e.type))return t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity at 'calledByError' with id "${e.id}" that isn't a caller entity.
246
+ ${$n}`,issue:null}));else if(!en.includes(e.type))return t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity at 'calledByError' with id "${e.id}" that isn't a caller entity.
247
247
  All caller entity types are: ${N(en,", "," and ")}.
248
248
  For the 'calledByError' property, you specifically need to reference a pass-through callable entity.
249
- ${Nn}`,issue:null})),t;return t}function og(n,e){const t=[];if(Oe.includes(e.type)){const i=e.calledBy||[],a=i.length?`
249
+ ${$n}`,issue:null})),t;return t}function lg(n,e){const t=[];if(Oe.includes(e.type)){const i=e.calledBy||[],a=i.length?`
250
250
 
251
251
  This ${e.type} is called by ${N(i.map(s=>`${s.type} with id "${s.id}"`),", "," and ")} entities. You can reference ${i.length>1?"one of them":"it"} instead to execute this entity before the end of the logic.`:"";t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a '${e.type}' entity at 'calledByEntry' with id "${e.id}".
252
252
  ${e.type} entities are the last entity to be executed in a logic chain, and they don't call any other entities.
253
253
  Termination entities are ${N(Oe,", "," and ")}.${a}`,issue:null}))}else if(Ne.includes(e.type))t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Warning,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity at 'calledByEntry' with id "${e.id}" that is a pass-through callable entity, not an entry-point entity.
254
- ${Nn}.
255
- ${ca}.
254
+ ${$n}.
255
+ ${da}.
256
256
 
257
257
  We have moved the reference to 'calledBySuccess' for you.`,issue:null}));else if(!en.includes(e.type))return t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity at 'calledByEntry' with id "${e.id}" that isn't a caller entity.
258
258
  All caller entity types are: ${N(en,", "," and ")}.
259
259
  For the 'calledByEntry' property, you specifically need to reference a pass-through callable entity.
260
- ${Nn}`,issue:null})),t;return t}function lg(n,e){const t=[];let i=JSON.parse(JSON.stringify(n));if(En.includes(i.type)){if(i.calledBySuccess){const s=eo(i,"calledBySuccess",e);s.errors.length===0?s.entities.forEach(o=>{if(o.errors.length){t.push(...o.errors);return}const u=ag(i,o.entityState);i=u.modifiedData,t.push(...u.errors)}):t.push(...s.errors)}if(i.calledByError){const s=eo(i,"calledByError",e);s.errors.length===0?s.entities.forEach(o=>{if(o.errors.length){t.push(...o.errors);return}const u=sg(i,o.entityState);t.push(...u)}):t.push(...s.errors)}if(i.calledByEntry){const s=eo(i,"calledByEntry",e);s.errors.length===0?(s.entities.forEach(o=>{if(o.errors.length){t.push(...o.errors);return}const u=og(i,o.entityState);t.push(...u)}),t.push(...t)):t.push(...s.errors)}const a=[...i.calledBySuccess||[],...i.calledByError||[],...i.calledByEntry||[]];if(a.length){const s=[...new Set(a)];a.length!==s.length&&t.push(new E({id:`${i.id}--${y.DuplicateReference}`,code:y.DuplicateReference,severity:f.Warning,message:`Entity of type "${i.type}" with id "${i.id}" has duplicate caller references. Each caller reference should be unique. Duplicate caller reference will be ignored.`,issue:null}));const o=ht(i,e);i.type===r.ReturnStatement&&o&&!$e.includes(o.type)?t.push(new E({id:`${i.id}--${y.IncompatibleScope}`,code:y.IncompatibleScope,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" has an explicitly set parent, but it isn't a '${N($e,"', '","' or '")}' entity. A return statement's parent should always be resolved to a function declaration or global event.${no}`,issue:null})):i.type===r.ContinueStatement&&o&&o.type!==r.Loop?t.push(new E({id:`${i.id}--${y.IncompatibleScope}`,code:y.IncompatibleScope,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" has an explicitly set parent, but it isn't a '${r.Loop}' entity. A continue statement's parent should always be resolved to a loop entity.${no}`,issue:null})):i.type===r.BreakStatement&&o&&o.type!==r.Loop&&t.push(new E({id:`${i.id}--${y.IncompatibleScope}`,code:y.IncompatibleScope,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" has an explicitly set parent, but it isn't a '${r.Loop}' entity. A break statement's parent should always be resolved to a loop entity.${no}`,issue:null}));const u=[],p=[];let h=null;if(s.forEach(m=>{const T=e.get(m);if(!T){t.push(new E({id:`${i.id}--${m}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity with id "${m}" that doesn't exist in the project.`,issue:null}));return}const b=ht(T,e);if(o)pa(o,b,e)?(Oe.includes(i.type)&&((i.calledBySuccess||[]).find(B=>B===T.id)?(T.successCalls||[]).find(W=>Oe.includes(W.type))&&t.push(new E({id:`${i.id}--${T.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" is being called by an entity of type "${T.type}" with id "${T.id}" that already calls a termination statement.
260
+ ${$n}`,issue:null})),t;return t}function cg(n,e){const t=[];let i=JSON.parse(JSON.stringify(n));if(En.includes(i.type)){if(i.calledBySuccess){const s=no(i,"calledBySuccess",e);s.errors.length===0?s.entities.forEach(o=>{if(o.errors.length){t.push(...o.errors);return}const u=sg(i,o.entityState);i=u.modifiedData,t.push(...u.errors)}):t.push(...s.errors)}if(i.calledByError){const s=no(i,"calledByError",e);s.errors.length===0?s.entities.forEach(o=>{if(o.errors.length){t.push(...o.errors);return}const u=og(i,o.entityState);t.push(...u)}):t.push(...s.errors)}if(i.calledByEntry){const s=no(i,"calledByEntry",e);s.errors.length===0?(s.entities.forEach(o=>{if(o.errors.length){t.push(...o.errors);return}const u=lg(i,o.entityState);t.push(...u)}),t.push(...t)):t.push(...s.errors)}const a=[...i.calledBySuccess||[],...i.calledByError||[],...i.calledByEntry||[]];if(a.length){const s=[...new Set(a)];a.length!==s.length&&t.push(new E({id:`${i.id}--${y.DuplicateReference}`,code:y.DuplicateReference,severity:f.Warning,message:`Entity of type "${i.type}" with id "${i.id}" has duplicate caller references. Each caller reference should be unique. Duplicate caller reference will be ignored.`,issue:null}));const o=ht(i,e);i.type===r.ReturnStatement&&o&&!$e.includes(o.type)?t.push(new E({id:`${i.id}--${y.IncompatibleScope}`,code:y.IncompatibleScope,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" has an explicitly set parent, but it isn't a '${N($e,"', '","' or '")}' entity. A return statement's parent should always be resolved to a function declaration or global event.${io}`,issue:null})):i.type===r.ContinueStatement&&o&&o.type!==r.Loop?t.push(new E({id:`${i.id}--${y.IncompatibleScope}`,code:y.IncompatibleScope,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" has an explicitly set parent, but it isn't a '${r.Loop}' entity. A continue statement's parent should always be resolved to a loop entity.${io}`,issue:null})):i.type===r.BreakStatement&&o&&o.type!==r.Loop&&t.push(new E({id:`${i.id}--${y.IncompatibleScope}`,code:y.IncompatibleScope,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" has an explicitly set parent, but it isn't a '${r.Loop}' entity. A break statement's parent should always be resolved to a loop entity.${io}`,issue:null}));const u=[],p=[];let h=null;if(s.forEach(m=>{const T=e.get(m);if(!T){t.push(new E({id:`${i.id}--${m}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity with id "${m}" that doesn't exist in the project.`,issue:null}));return}const b=ht(T,e);if(o)ya(o,b,e)?(Oe.includes(i.type)&&((i.calledBySuccess||[]).find(B=>B===T.id)?(T.successCalls||[]).find(W=>Oe.includes(W.type))&&t.push(new E({id:`${i.id}--${T.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" is being called by an entity of type "${T.type}" with id "${T.id}" that already calls a termination statement.
261
261
  The new termination statement is redundant because both entities would be called from the same parent caller branch "successCalls", at the same time.`,issue:null})):(i.calledByError||[]).find(B=>B===T.id)?(T.errorCalls||[]).find(W=>Oe.includes(W.type))&&t.push(new E({id:`${i.id}--${T.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" is being called by an entity of type "${T.type}" with id "${T.id}" that already calls a termination statement.
262
262
  The new termination statement is redundant because both entities would be called from the same parent caller branch "errorCalls", at the same time.`,issue:null})):(i.calledByEntry||[]).find(B=>B===T.id)&&(T.calls||[]).find(W=>Oe.includes(W.type))&&t.push(new E({id:`${i.id}--${T.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" is being called by an entity of type "${T.type}" with id "${T.id}" that already calls a termination statement.
263
- The new termination statement is redundant because both entities would be called from the same parent caller branch (entry-point), at the same time.`,issue:null}))),u.push({caller:T,scope:b})):p.push({caller:T,scope:b,errors:[new E({id:`${i.id}--${T.id}--${y.CallerWithIncompatibleScope}`,code:y.CallerWithIncompatibleScope,severity:f.Warning,message:`Entity of type "${i.type}" with id "${i.id}" is being called by an entity of type "${T.type}" with id "${T.id}" that is in a different scope. The caller entity should be in the same scope or a higher valid scope. Or all callers should share the global project scope with the entity they call.`,issue:null})]});else if(!h)h=b;else{const{compatible:I}=pa(h,b,e);I?(Oe.includes(i.type)&&((i.calledBySuccess||[]).find(B=>B===T.id)?(T.successCalls||[]).find(W=>Oe.includes(W.type))&&t.push(new E({id:`${i.id}--${T.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" is being called by an entity of type "${T.type}" with id "${T.id}" that already calls a termination statement.
263
+ The new termination statement is redundant because both entities would be called from the same parent caller branch (entry-point), at the same time.`,issue:null}))),u.push({caller:T,scope:b})):p.push({caller:T,scope:b,errors:[new E({id:`${i.id}--${T.id}--${y.CallerWithIncompatibleScope}`,code:y.CallerWithIncompatibleScope,severity:f.Warning,message:`Entity of type "${i.type}" with id "${i.id}" is being called by an entity of type "${T.type}" with id "${T.id}" that is in a different scope. The caller entity should be in the same scope or a higher valid scope. Or all callers should share the global project scope with the entity they call.`,issue:null})]});else if(!h)h=b;else{const{compatible:I}=ya(h,b,e);I?(Oe.includes(i.type)&&((i.calledBySuccess||[]).find(B=>B===T.id)?(T.successCalls||[]).find(W=>Oe.includes(W.type))&&t.push(new E({id:`${i.id}--${T.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" is being called by an entity of type "${T.type}" with id "${T.id}" that already calls a termination statement.
264
264
  The new termination statement is redundant because both entities would be called from the same parent caller branch "successCalls", at the same time.`,issue:null})):(i.calledByError||[]).find(B=>B===T.id)?(T.errorCalls||[]).find(W=>Oe.includes(W.type))&&t.push(new E({id:`${i.id}--${T.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" is being called by an entity of type "${T.type}" with id "${T.id}" that already calls a termination statement.
265
265
  The new termination statement is redundant because both entities would be called from the same parent caller branch "errorCalls", at the same time.`,issue:null})):(i.calledByEntry||[]).find(B=>B===T.id)&&(T.calls||[]).find(W=>Oe.includes(W.type))&&t.push(new E({id:`${i.id}--${T.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" is being called by an entity of type "${T.type}" with id "${T.id}" that already calls a termination statement.
266
- The new termination statement is redundant because both entities would be called from the same parent caller branch (entry-point), at the same time.`,issue:null}))),u.push({caller:T,scope:b})):p.push({caller:T,scope:b,errors:[new E({id:`${i.id}--${T.id}--${y.CallerWithIncompatibleScope}`,code:y.CallerWithIncompatibleScope,severity:f.Warning,message:`Entity of type "${i.type}" with id "${i.id}" has multiple caller, but not all of them have compatible scopes. Caller of type "${T.type}" with id "${T.id}" is in a different scope than caller of type "${h.type}" with id "${h.id}". All callers should be in the same scope or a higher valid scope. Or all callers should share the global project scope.`,issue:null})]})}}),p.length)p.forEach(m=>{t.push(...m.errors)});else if(u.length&&!o&&To.includes(i.type)){const m=u.filter(T=>T.scope!==e);if(m.length){const T=Ug(m.map(b=>b.scope));i.parent=T.id}else i.parent=e.id}}else{let s=`Entity of type "${i.type}" with id "${i.id}" isn't called by any other entity. Callable entities only get executed if they have a list of references from either 'calledByEntry', 'calledBySuccess' or 'calledByError'.
266
+ The new termination statement is redundant because both entities would be called from the same parent caller branch (entry-point), at the same time.`,issue:null}))),u.push({caller:T,scope:b})):p.push({caller:T,scope:b,errors:[new E({id:`${i.id}--${T.id}--${y.CallerWithIncompatibleScope}`,code:y.CallerWithIncompatibleScope,severity:f.Warning,message:`Entity of type "${i.type}" with id "${i.id}" has multiple caller, but not all of them have compatible scopes. Caller of type "${T.type}" with id "${T.id}" is in a different scope than caller of type "${h.type}" with id "${h.id}". All callers should be in the same scope or a higher valid scope. Or all callers should share the global project scope.`,issue:null})]})}}),p.length)p.forEach(m=>{t.push(...m.errors)});else if(u.length&&!o&&Ro.includes(i.type)){const m=u.filter(T=>T.scope!==e);if(m.length){const T=xg(m.map(b=>b.scope));i.parent=T.id}else i.parent=e.id}}else{let s=`Entity of type "${i.type}" with id "${i.id}" isn't called by any other entity. Callable entities only get executed if they have a list of references from either 'calledByEntry', 'calledBySuccess' or 'calledByError'.
267
267
  To add a caller, use the 'add_caller' action with the properties: 'callerEntityId', a 'calleeEntityId', and optionally a boolean 'fromError' (if the caller calls when an error occured in its execution).`;i.type===r.ReturnStatement?s+=`
268
268
  Return statements need to have a caller when created, since their purpose is to terminate a call chain.`:i.type===r.ContinueStatement?s+=`
269
269
  Continue statements need to have a caller when created, since they are used to skip the rest of the current iteration of a loop and can't be detached from a call chain.`:i.type===r.BreakStatement&&(s+=`
270
270
  Break statements need to have a caller when created, since they are used to exit a loop and can't be detached from a call chain.`),s+=`
271
- ${rg}`,Oe.includes(i.type)||(s+=`
272
- It is recommended to have a caller reference already at the moment of creation in the payload of the generation action.`),t.push(new E({id:`${i.id}--${v.MissingCaller}`,code:v.MissingCaller,severity:Oe.includes(i.type)?f.Error:f.Warning,message:s,issue:null}))}}return{errors:t,modifiedData:i}}function fd(n,e){const t=[];if(e.type===r.PrimitiveValue){const o=e.parent;let u=!1;if(o.type===r.InputMap)t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a value writting entity at 'readsValue' with id "${e.id}" that is a primitive value entity. Primitive value entities aren't value writting entities.
271
+ ${ig}`,Oe.includes(i.type)||(s+=`
272
+ It is recommended to have a caller reference already at the moment of creation in the payload of the generation action.`),t.push(new E({id:`${i.id}--${v.MissingCaller}`,code:v.MissingCaller,severity:Oe.includes(i.type)?f.Error:f.Warning,message:s,issue:null}))}}return{errors:t,modifiedData:i}}function Ed(n,e){const t=[];if(e.type===r.PrimitiveValue){const o=e.parent;let u=!1;if(o.type===r.InputMap)t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a value writting entity at 'readsValue' with id "${e.id}" that is a primitive value entity. Primitive value entities aren't value writting entities.
273
273
  All value writting entity types are: ${N(Se,", "," and ")}.
274
274
 
275
275
  This primitive-value entity belongs to an input map entity with id "${o.id}". Input map entities are value writting entities. Is that what you meant to reference?`,issue:null}));else if(o.type===r.DataType){const p=o,h=p.parent;Se.includes(h.type)?t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a value writting entity at 'readsValue' with id "${e.id}" that is a primitive value entity. Primitive value entities can't be referenced as value writting entities.
@@ -281,29 +281,29 @@ All value writting entity types are: ${N(Se,", "," and ")}.
281
281
 
282
282
  This data type entity belongs to a ${o.type} entity with id "${o.id}". ${o.type} entities are value writting entities. Is that what you meant to reference?`,issue:null})):t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a value writting entity at 'readsValue' with id "${e.id}" that is a primitive value entity. Primitive value entities can't be referenced as value writting entities.
283
283
  All value writting entity types are: ${N(Se,", "," and ")}.`,issue:null}))}else Se.includes(e.type)||t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a value writting entity at 'readsValue' with id "${e.id}" that isn't a value writting entity.
284
- All value writting entity types are: ${N(Se,", "," and ")}.`,issue:null}));const i=ht(n,e.project),a=ht(e,e.project);if(i){const s=pa(i,e,e.project);if(!s.compatible){const{type:o}=s;let u="";const p=`But they are nested under different subscopes. The reader is in the scope of the '${i.type}' (${A(i,e.project)}) with id '${i.id}', and the writter is in the scope of the '${a.type}' (${A(a,e.project)}) with id '${a.id}'.`;o===ho.ParallelInCommonParent?(u=`The reader and the writter entities are both in the scope of the '${s.commonAncestorScope.type}' (${A(s.commonAncestorScope,e.project)}) with id '${s.commonAncestorScope.id}'.`,u+=`
285
- ${p}`):o===ho.ParallelInProject&&(u="The reader and the writter entities are both in separate scopes in the project that have no common ancestor.",u+=`
284
+ All value writting entity types are: ${N(Se,", "," and ")}.`,issue:null}));const i=ht(n,e.project),a=ht(e,e.project);if(i){const s=ya(i,e,e.project);if(!s.compatible){const{type:o}=s;let u="";const p=`But they are nested under different subscopes. The reader is in the scope of the '${i.type}' (${A(i,e.project)}) with id '${i.id}', and the writter is in the scope of the '${a.type}' (${A(a,e.project)}) with id '${a.id}'.`;o===mo.ParallelInCommonParent?(u=`The reader and the writter entities are both in the scope of the '${s.commonAncestorScope.type}' (${A(s.commonAncestorScope,e.project)}) with id '${s.commonAncestorScope.id}'.`,u+=`
285
+ ${p}`):o===mo.ParallelInProject&&(u="The reader and the writter entities are both in separate scopes in the project that have no common ancestor.",u+=`
286
286
  ${p}`),u+=`
287
287
  Two value holding entities need to be in the same scope or in scopes nested inside of eachother to be able to read and write to each other.`,t.push(new E({id:`${n.id}--${e.id}--${y.IncompatibleScope}`,code:y.IncompatibleScope,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a value writting entity at 'readsValue' with id "${e.id}" with an incompatible scope.
288
- ${u}`,issue:null}))}}return t}function Ge(n,e,t,i=!1){const a=[],s={...e};let o=JSON.parse(JSON.stringify(n));if(!i){if(Tn.includes(o.type)){if(o.readsValue){const h=ld(o,{key:"readsValue",types:Se},t);if(h.errors.length===0){const m=fd(o,h.entityState);a.push(...m)}else a.push(...h.errors);delete s.readsValue}}else o.readsValue&&(Se.includes(o.type)?a.push(new E({id:`${o.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}" has a 'readsValue' property that is only valid for entities of type: ${N(Tn,", "," and ")}.
289
- ${to}`,issue:null})):r.Property===o.type?a.push(new E({id:`${o.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}" has a 'readsValue' property that is only valid for entities of type: ${N(Tn,", "," and ")}.
290
- ${yd}`,issue:null})):a.push(new E({id:`${o.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}" has a 'readsValue' property that is only valid for entities of type: ${N(Tn,", "," and ")}.
291
- ${pd}`,issue:null})),delete s.readsValue);o.writesValues&&(Se.includes(o.type)?a.push(new E({id:`${o.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Warning,message:`Entity of type "${o.type}" with id "${o.id}" has a 'writesValues' property. This property is managed by the downstream entity, the value reader, and should not be present in the payload of the generation action.
292
- ${hd}`,issue:null})):a.push(new E({id:`${o.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Warning,message:`Entity of type "${o.type}" with id "${o.id}" has a 'writesValues' property. This property is managed by the downstream entity, the value reader, and should not be present in the payload of the generation action.
293
- ${to}
294
- ${hd}`,issue:null})),delete s.writesValues);const p=lg(o,t);delete s.calledByError,delete s.calledBySuccess,delete s.calledByEntry,a.push(...p.errors),o=p.modifiedData}const u=Object.entries(s);for(const[p,h]of u){const m=h.types,T=h.optional,b=o[p];if(!b){T||a.push(new E({id:`${o.id}--${p}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}" is missing a reference to a "${p}" entity. The '${p}' property of a "${o.type}" entity can be ${N(m,", "," or ")}`,issue:null}));continue}if(h.list)if(Array.isArray(b))for(const I of b){const B=cd(o,{key:p,types:m,optional:T},t);a.push(...B)}else{a.push(new E({id:`${o.id}--${p}--${y.ContainsSingleButShouldBeReferenceList}`,code:y.ContainsSingleButShouldBeReferenceList,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}", should have a property "${p}" which is a list, but it isn't.`,issue:null}));continue}else if(Array.isArray(b)){a.push(new E({id:`${o.id}--${p}--${y.ContainsListButShouldReferenceSingle}`,code:y.ContainsListButShouldReferenceSingle,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}", should have a property "${p}" which holds a single reference, but it is a list.`,issue:null}));continue}else{const I=cd(o,{key:p,types:m,optional:T},t);a.push(...I)}}return{errors:a,modifiedData:o}}function B6(n,e,t="calledBy"){const i=[];if(!n)return[];const a=e.get(n);if(!a)return i.push(new E({id:`${n}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity with id "${n}" referenced in '${t}' property not found in the project. Perhaps it should be created first? Perhaps it is the wrong ID?`,issue:null})),i;if([...Ne,...$e].includes(a.type))return[];if(Oe.includes(a.type)){const s=a.calledBy||[],o=s.length?`
288
+ ${u}`,issue:null}))}}return t}function Ge(n,e,t,i=!1){const a=[],s={...e};let o=JSON.parse(JSON.stringify(n));if(!i){if(Tn.includes(o.type)){if(o.readsValue){const h=ud(o,{key:"readsValue",types:Se},t);if(h.errors.length===0){const m=Ed(o,h.entityState);a.push(...m)}else a.push(...h.errors);delete s.readsValue}}else o.readsValue&&(Se.includes(o.type)?a.push(new E({id:`${o.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}" has a 'readsValue' property that is only valid for entities of type: ${N(Tn,", "," and ")}.
289
+ ${ro}`,issue:null})):r.Property===o.type?a.push(new E({id:`${o.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}" has a 'readsValue' property that is only valid for entities of type: ${N(Tn,", "," and ")}.
290
+ ${md}`,issue:null})):a.push(new E({id:`${o.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}" has a 'readsValue' property that is only valid for entities of type: ${N(Tn,", "," and ")}.
291
+ ${fd}`,issue:null})),delete s.readsValue);o.writesValues&&(Se.includes(o.type)?a.push(new E({id:`${o.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Warning,message:`Entity of type "${o.type}" with id "${o.id}" has a 'writesValues' property. This property is managed by the downstream entity, the value reader, and should not be present in the payload of the generation action.
292
+ ${Td}`,issue:null})):a.push(new E({id:`${o.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Warning,message:`Entity of type "${o.type}" with id "${o.id}" has a 'writesValues' property. This property is managed by the downstream entity, the value reader, and should not be present in the payload of the generation action.
293
+ ${ro}
294
+ ${Td}`,issue:null})),delete s.writesValues);const p=cg(o,t);delete s.calledByError,delete s.calledBySuccess,delete s.calledByEntry,a.push(...p.errors),o=p.modifiedData}const u=Object.entries(s);for(const[p,h]of u){const m=h.types,T=h.optional,b=o[p];if(!b){T||a.push(new E({id:`${o.id}--${p}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}" is missing a reference to a "${p}" entity. The '${p}' property of a "${o.type}" entity can be ${N(m,", "," or ")}`,issue:null}));continue}if(h.list)if(Array.isArray(b))for(const I of b){const B=pd(o,{key:p,types:m,optional:T},t);a.push(...B)}else{a.push(new E({id:`${o.id}--${p}--${y.ContainsSingleButShouldBeReferenceList}`,code:y.ContainsSingleButShouldBeReferenceList,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}", should have a property "${p}" which is a list, but it isn't.`,issue:null}));continue}else if(Array.isArray(b)){a.push(new E({id:`${o.id}--${p}--${y.ContainsListButShouldReferenceSingle}`,code:y.ContainsListButShouldReferenceSingle,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}", should have a property "${p}" which holds a single reference, but it is a list.`,issue:null}));continue}else{const I=pd(o,{key:p,types:m,optional:T},t);a.push(...I)}}return{errors:a,modifiedData:o}}function _9(n,e,t="calledBy"){const i=[];if(!n)return[];const a=e.get(n);if(!a)return i.push(new E({id:`${n}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity with id "${n}" referenced in '${t}' property not found in the project. Perhaps it should be created first? Perhaps it is the wrong ID?`,issue:null})),i;if([...Ne,...$e].includes(a.type))return[];if(Oe.includes(a.type)){const s=a.calledBy||[],o=s.length?`
295
295
 
296
296
  This ${a.type} is called by ${N(s.map(u=>`${u.type} with id "${u.id}"`),", "," and ")} entities. You can reference ${s.length>1?"one of them":"it"} instead to execute this entity before the end of the logic.`:"";i.push(new E({id:`last-action--${a.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity with id '${a.id}' referenced in '${t}' property is of type '${a.type}'.
297
297
  ${a.type} entities are the last entity to be executed in a logic chain, and they don't call any other entities.
298
298
  Termination entities are ${N(Oe,", "," and ")}.${o}`,issue:null}))}else i.push(new E({id:`last-action--${a.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity with id '${a.id}' referenced in '${t}' property is of type '${a.type}' which is not a valid caller entity type.
299
- All caller entity types are: ${N(en,", "," and ")}.`,issue:null}));return i}function w6(n,e,t="calledByError"){const i=[];if(!n)return[];const a=e.get(n);if(!a)return i.push(new E({id:`${n}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity with id "${n}" referenced in '${t}' property not found in the project. Perhaps it should be created first? Perhaps it is the wrong ID?`,issue:null})),i;if(Ne.includes(a.type))return[];if(Oe.includes(a.type)){const s=a.calledBy||[],o=s.length?`
299
+ All caller entity types are: ${N(en,", "," and ")}.`,issue:null}));return i}function M9(n,e,t="calledByError"){const i=[];if(!n)return[];const a=e.get(n);if(!a)return i.push(new E({id:`${n}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity with id "${n}" referenced in '${t}' property not found in the project. Perhaps it should be created first? Perhaps it is the wrong ID?`,issue:null})),i;if(Ne.includes(a.type))return[];if(Oe.includes(a.type)){const s=a.calledBy||[],o=s.length?`
300
300
 
301
301
  This ${a.type} is called by ${N(s.map(u=>`${u.type} with id "${u.id}"`),", "," and ")} entities. You can reference ${s.length>1?"one of them":"it"} instead to execute this entity before the end of the logic.`:"";i.push(new E({id:`last-action--${a.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity with id '${a.id}' referenced in '${t}' property is of type '${a.type}'.
302
302
  ${a.type} entities are the last entity to be executed in a logic chain, and they don't call any other entities.
303
303
  Termination entities are ${N(Oe,", "," and ")}.${o}`,issue:null}))}else $e.includes(a.type)?i.push(new E({id:`last-action--${a.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity with id '${a.id}' referenced in '${t}' property is of type '${a.type}' which is an entry-point entity and doesn't thrown errors.
304
- ${ca}`,issue:null})):i.push(new E({id:`last-action--${a.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity with id '${a.id}' referenced in '${t}' property is of type '${a.type}' which is not a valid caller entity type.
304
+ ${da}`,issue:null})):i.push(new E({id:`last-action--${a.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity with id '${a.id}' referenced in '${t}' property is of type '${a.type}' which is not a valid caller entity type.
305
305
  For any error branch caller, for the 'calledByError' property of an entity, you specifically need to reference a pass-through callable entity.
306
- ${Nn}`,issue:null}));return i}function _6(n,e){const t=[],i=e.get(n);if(!i)t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The 'readsValue' property references an entity with id '${n}' that was not found in the project. Perhaps it should be created? Perhaps the ID is incorrect?`,issue:null}));else if(i.type===r.PrimitiveValue){const s=i.parent;let o=!1;if(s.type===r.InputMap)t.push(new E({id:`last-action--${i.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`The 'readsValue' property references an entity with id "${i.id}" that is a primitive value entity. Primitive value entities aren't value writting entities.
306
+ ${$n}`,issue:null}));return i}function N9(n,e){const t=[],i=e.get(n);if(!i)t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The 'readsValue' property references an entity with id '${n}' that was not found in the project. Perhaps it should be created? Perhaps the ID is incorrect?`,issue:null}));else if(i.type===r.PrimitiveValue){const s=i.parent;let o=!1;if(s.type===r.InputMap)t.push(new E({id:`last-action--${i.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`The 'readsValue' property references an entity with id "${i.id}" that is a primitive value entity. Primitive value entities aren't value writting entities.
307
307
  All value writting entity types are: ${N(Se,", "," and ")}.
308
308
 
309
309
  This primitive-value entity belongs to an input map entity with id "${s.id}". Input map entities are value writting entities. Is that what you meant to reference?`,issue:null}));else if(s.type===r.DataType){const u=s,p=u.parent;Se.includes(p.type)?t.push(new E({id:`last-action--${i.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`The 'readsValue' property references an entity with id "${i.id}" that is a primitive value entity. Primitive value entities can't be referenced as value writting entities.
@@ -315,37 +315,37 @@ All value writting entity types are: ${N(Se,", "," and ")}.
315
315
 
316
316
  This data type entity belongs to a ${s.type} entity with id "${s.id}". ${s.type} entities are value writting entities. Is that what you meant to reference?`,issue:null})):t.push(new E({id:`last-action--${i.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`The 'readsValue' property references an entity with id "${i.id}" that is a primitive value entity. Primitive value entities can't be referenced as value writting entities.
317
317
  All value writting entity types are: ${N(Se,", "," and ")}.`,issue:null}))}else Se.includes(i.type)||t.push(new E({id:`last-action--${i.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`The 'readsValue' property references an entity with id "${i.id}" that isn't a value writting entity.
318
- All value writting entity types are: ${N(Se,", "," and ")}.`,issue:null}));return t}function cg(n){return n.functions.length?`All global 'function-declaration' entity ids are:
318
+ All value writting entity types are: ${N(Se,", "," and ")}.`,issue:null}));return t}function dg(n){return n.functions.length?`All global 'function-declaration' entity ids are:
319
319
  - ${n.functions.map(t=>`${t.id} (${A(t,n)})`).join(`
320
- - `)}.`:"The project currently has no global 'function-declaration' entities that can be called as 'function-call' entities."}function ro(n){return`All reserved action decriptor ids for '${r.GlobalEvent}' entities are:
320
+ - `)}.`:"The project currently has no global 'function-declaration' entities that can be called as 'function-call' entities."}function ao(n){return`All reserved action decriptor ids for '${r.GlobalEvent}' entities are:
321
321
  - ${n.globalEventActionDescriptors.map(e=>`${e.id} (${A(e,n)})`).join(`
322
- - `)}`}function io(n){return`All reserved action decriptor ids for '${r.Loop}' entities are:
322
+ - `)}`}function so(n){return`All reserved action decriptor ids for '${r.Loop}' entities are:
323
323
  - ${n.loopDeclarations.map(e=>`${e.id} (${A(e,n)})`).join(`
324
- - `)}`}function M6(n){return`All reserved action decriptor ids for '${r.Operation}' entities are:
324
+ - `)}`}function $9(n){return`All reserved action decriptor ids for '${r.Operation}' entities are:
325
325
  - ${n.operationDeclarations.map(e=>`${e.id} (${A(e,n)})`).join(`
326
- - `)}`}function ao(n){return`All reserved action decriptor ids for '${r.Condition}' entities are:
326
+ - `)}`}function oo(n){return`All reserved action decriptor ids for '${r.Condition}' entities are:
327
327
  - ${n.conditionDeclarations.map(e=>`${e.id} (${A(e,n)})`).join(`
328
- - `)}`}function dg(n,e){const t=[];if(!n)return[];const i=e.get(n),a=cg(e);if(!i)t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity with id '${n}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}));else if(i.type===r.ActionDescriptor)t.push(new E({id:`last-action--${y.InvalidFunctionDeclarationForFunctionCall}`,code:y.InvalidFunctionDeclarationForFunctionCall,severity:f.Error,message:`The 'functionDeclarationId' reference is pointing to entity with id '${n}' which is of type '${i.type}' entity. If you meant to reference an 'action-descriptor', you can use the 'implement_operation' generation action instead.
328
+ - `)}`}function ug(n,e){const t=[];if(!n)return[];const i=e.get(n),a=dg(e);if(!i)t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity with id '${n}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}));else if(i.type===r.ActionDescriptor)t.push(new E({id:`last-action--${y.InvalidFunctionDeclarationForFunctionCall}`,code:y.InvalidFunctionDeclarationForFunctionCall,severity:f.Error,message:`The 'functionDeclarationId' reference is pointing to entity with id '${n}' which is of type '${i.type}' entity. If you meant to reference an 'action-descriptor', you can use the 'implement_operation' generation action instead.
329
329
  Otherwise, if you were trying to implement a 'function-call' from a globally declarated 'function-declaration':
330
330
  ${a}`,issue:null}));else if(i.type!==r.FunctionDeclaration)t.push(new E({id:`last-action--${y.InvalidFunctionDeclarationForFunctionCall}`,code:y.InvalidFunctionDeclarationForFunctionCall,severity:f.Error,message:`The 'functionDeclarationId' reference is pointing to entity with id '${n}' which is of type '${i.type}' entity. Only 'function-declaration' entities can be implemented as function calls.
331
- ${a}`,issue:null}));else if(i.parent.type===r.CustomEntity){const o=Gn(i.parent).filter(p=>!p.interactive);let u="";o.length&&(u=`
331
+ ${a}`,issue:null}));else if(i.parent.type===r.CustomEntity){const o=Fn(i.parent).filter(p=>!p.interactive);let u="";o.length&&(u=`
332
332
  Furthermore, the specific 'custom-entity' extends or implements non-interactive built-in-base-entities ${o.length>1?`entities with ids '${N(o.map(h=>h.id),"', '","' and '")}'`:`entity with id '${o[0].id}'`}.
333
- ${Vn}`),t.push(new E({id:`last-action--${y.InvalidFunctionDeclarationForFunctionCall}`,code:y.InvalidFunctionDeclarationForFunctionCall,severity:f.Error,message:`The function declaration entity with id '${n}' is a method of the 'custom-entity' with id '${i.parent.id}'. Only globally declared, standalone functions can be implemented as function calls.
333
+ ${Ln}`),t.push(new E({id:`last-action--${y.InvalidFunctionDeclarationForFunctionCall}`,code:y.InvalidFunctionDeclarationForFunctionCall,severity:f.Error,message:`The function declaration entity with id '${n}' is a method of the 'custom-entity' with id '${i.parent.id}'. Only globally declared, standalone functions can be implemented as function calls.
334
334
  If you want to call a method of a custom entity, use a '${r.InternalCall}' entity on any variable which is an instance of that custom entity.
335
335
  ${a}${u}`,issue:null}))}else i.parent.type===r.Loop?t.push(new E({id:`last-action--${y.InvalidFunctionDeclarationForFunctionCall}`,code:y.InvalidFunctionDeclarationForFunctionCall,severity:f.Error,message:`The function declaration entity with id '${n}' is the body of the 'loop' with id '${i.parent.id}'. Only globally declared, standalone functions can be implemented as function calls.
336
336
  If you want to execute the logic of a loop's body you can call the loop entity itself anf the body will be executed once for each iteration.
337
- ${a}`,issue:null})):i.parent.type!==r.Project&&t.push(new E({id:`last-action--${y.InvalidFunctionDeclarationForFunctionCall}`,code:y.InvalidFunctionDeclarationForFunctionCall,severity:f.Error,message:`The function declaration entity with id '${n}' has a 'parent' entity which isn't the root project. Only globally declared, standalone functions can be implemented as function calls.${a}`,issue:null}));return t}function ug(n,e){const t=[];if(!n)return[];const i=e.getBuiltIn(n),a=`
337
+ ${a}`,issue:null})):i.parent.type!==r.Project&&t.push(new E({id:`last-action--${y.InvalidFunctionDeclarationForFunctionCall}`,code:y.InvalidFunctionDeclarationForFunctionCall,severity:f.Error,message:`The function declaration entity with id '${n}' has a 'parent' entity which isn't the root project. Only globally declared, standalone functions can be implemented as function calls.${a}`,issue:null}));return t}function pg(n,e){const t=[];if(!n)return[];const i=e.getBuiltIn(n),a=`
338
338
  All built-in 'action-descriptor' entities that define 'operation' entity, are (IDs):
339
339
  - ${e.operationDeclarations.map(s=>`${s.id} (${A(s,e)}).`).join(`
340
340
  - `)}
341
- `;return i?i.type===r.FunctionDeclaration?t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as operations instances.${a}`,issue:null})):i.type===r.ActionDescriptor?e.operationDeclarations.find(o=>o.id===n)||t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity but it isn't one of the allowed operation descriptors.${a}`,issue:null})):i.type!==r.ActionDescriptor&&t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as operations instances.${a}`,issue:null})):t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity with id '${n}' that isn't yet found in the project.${a}`,issue:null})),t}function N6(n,e){const t=[];if(!n)return[];const i=e.getBuiltIn(n),a=`
341
+ `;return i?i.type===r.FunctionDeclaration?t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as operations instances.${a}`,issue:null})):i.type===r.ActionDescriptor?e.operationDeclarations.find(o=>o.id===n)||t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity but it isn't one of the allowed operation descriptors.${a}`,issue:null})):i.type!==r.ActionDescriptor&&t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as operations instances.${a}`,issue:null})):t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity with id '${n}' that isn't yet found in the project.${a}`,issue:null})),t}function V9(n,e){const t=[];if(!n)return[];const i=e.getBuiltIn(n),a=`
342
342
  All built-in 'action-descriptor' entities that define 'condition' entity, are (IDs):
343
343
  - ${e.conditionDeclarations.map(s=>`${s.id} (${A(s,e)}).`).join(`
344
344
  - `)}
345
- `;return i?i.type===r.FunctionDeclaration?t.push(new E({id:`last-action--${y.InvalidActionDescriptorForCondition}`,code:y.InvalidActionDescriptorForCondition,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as conditions instances.${a}`,issue:null})):i.type===r.ActionDescriptor?e.conditionDeclarations.find(o=>o.id===n)||t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity but it isn't one of the allowed condition descriptors.${a}`,issue:null})):i.type!==r.ActionDescriptor&&t.push(new E({id:`last-action--${y.InvalidActionDescriptorForCondition}`,code:y.InvalidActionDescriptorForCondition,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as conditions instances.${a}`,issue:null})):t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity with id '${n}' that isn't yet found in the project.${a}`,issue:null})),t}function $6(n,e){const t=[];if(!n)return[];const i=e.getBuiltIn(n),a=`
345
+ `;return i?i.type===r.FunctionDeclaration?t.push(new E({id:`last-action--${y.InvalidActionDescriptorForCondition}`,code:y.InvalidActionDescriptorForCondition,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as conditions instances.${a}`,issue:null})):i.type===r.ActionDescriptor?e.conditionDeclarations.find(o=>o.id===n)||t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity but it isn't one of the allowed condition descriptors.${a}`,issue:null})):i.type!==r.ActionDescriptor&&t.push(new E({id:`last-action--${y.InvalidActionDescriptorForCondition}`,code:y.InvalidActionDescriptorForCondition,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as conditions instances.${a}`,issue:null})):t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity with id '${n}' that isn't yet found in the project.${a}`,issue:null})),t}function L9(n,e){const t=[];if(!n)return[];const i=e.getBuiltIn(n),a=`
346
346
  All built-in 'action-descriptor' entities that define 'loop' entity, are (IDs):
347
347
  - ${e.loopDeclarations.map(s=>`${s.id} (${A(s,e)}).`).join(`
348
- - `)}`;return i?i.type===r.FunctionDeclaration?t.push(new E({id:`last-action--${y.InvalidActionDescriptorForLoop}`,code:y.InvalidActionDescriptorForLoop,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as loops instances.${a}`,issue:null})):i.type===r.ActionDescriptor?e.loopDeclarations.find(o=>o.id===n)||t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity but it isn't one of the allowed loop descriptors.${a}`,issue:null})):i.type!==r.ActionDescriptor&&t.push(new E({id:`last-action--${y.InvalidActionDescriptorForLoop}`,code:y.InvalidActionDescriptorForLoop,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as loops instances.${a}`,issue:null})):t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity with id '${n}' that isn't yet found in the project.${a}`,issue:null})),t}function pg(n,e,t){var p,h,m,T;if(t.compatible)return"";const i=`entity of type "${n.type}" with id "${n.id}"`,a=`entity with id "${n.id}"`,s=`entity of type "${e.type}" with id "${e.id}"`,o=`entity with id "${e.id}"`,u=Js(`${i} and ${s} have incompatible data types and cannot be connected as value-reader and value-writter.`);return t.type===wt.AIsListBIsNot?`${u}
348
+ - `)}`;return i?i.type===r.FunctionDeclaration?t.push(new E({id:`last-action--${y.InvalidActionDescriptorForLoop}`,code:y.InvalidActionDescriptorForLoop,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as loops instances.${a}`,issue:null})):i.type===r.ActionDescriptor?e.loopDeclarations.find(o=>o.id===n)||t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity but it isn't one of the allowed loop descriptors.${a}`,issue:null})):i.type!==r.ActionDescriptor&&t.push(new E({id:`last-action--${y.InvalidActionDescriptorForLoop}`,code:y.InvalidActionDescriptorForLoop,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as loops instances.${a}`,issue:null})):t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity with id '${n}' that isn't yet found in the project.${a}`,issue:null})),t}function yg(n,e,t){var p,h,m,T;if(t.compatible)return"";const i=`entity of type "${n.type}" with id "${n.id}"`,a=`entity with id "${n.id}"`,s=`entity of type "${e.type}" with id "${e.id}"`,o=`entity with id "${e.id}"`,u=Hs(`${i} and ${s} have incompatible data types and cannot be connected as value-reader and value-writter.`);return t.type===wt.AIsListBIsNot?`${u}
349
349
  ${a} is a list, but ${o} is not. A list can't be connected to a single value.`:t.type===wt.BIsListAIsNot?`${u}
350
350
  ${a} is not a list, but ${o} is. A single value can't be connected to a list.`:t.type===wt.AIsNullableBIsNot?`${u}
351
351
  ${a} is nullable, but ${o} is not. A nullable value can't be connected to a non-nullable value since an empty value might be incorrectly provided.`:t.type===wt.BIsNullableAIsNot?`${u}
@@ -355,21 +355,21 @@ ${a} is not a template, but ${o} is. A data type that provides an entity as a "t
355
355
  Their 'entity' property is of different types. They must be of the same type to be connected. For example, the 'entity' can be a '${r.CustomEntity}' or a '${r.PrimitiveEntity}'.`:t.type===wt.IncompatibleCustomEntities?`${u}
356
356
  Both point to custom entities, but they are not compatible to be connected. They must be either the same custom entity, or a custom entity that has equivalent shape, which includes the same properties all with compatible data types with the properties in the counterpart entity.`:t.type===wt.IncompatiblePrimitiveEntities?`${u}
357
357
  ${a} is of primitive type '${((p=n.getDataType())==null?void 0:p.entity).name}' and ${o} is of primitive type '${((h=e.getDataType())==null?void 0:h.entity).name}'. They must be of the same primitive type to be connected.`:t.type===wt.IncompatibleBuiltInBaseEntities?`${u}
358
- Both point to a built-in-base-entity. But${a} is of built-in base type '${((m=n.getDataType())==null?void 0:m.entity).name}' and ${o} is of built-in base type '${((T=e.getDataType())==null?void 0:T.entity).name}'. They must be of the same built-in base type to be connected.`:u}function da(n,e){const t=[];if(n.readsValue){const i=e.project.get(D(n.readsValue));if(e.project.getBuiltIn(D(n.readsValue)))t.push(new E({id:`${e.id}--${y.InvalidBuiltInEntityReference}`,code:y.InvalidBuiltInEntityReference,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' cannot update 'readsValue' to a built-in entity with id '${n.readsValue}'. Only user-created entities can be referenced.`,issue:null}));else if(!i)t.push(new E({id:`${e.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' cannot update 'readsValue' to entity with id '${n.readsValue}' because the entity was not found in the project state.`,issue:null}));else{const s=gr(i);if(s)t.push(new E({id:`${e.id}--${y.InvalidBuiltInEntityReference}`,code:y.InvalidBuiltInEntityReference,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' cannot update 'readsValue' to entity with id '${n.readsValue}' because the entity belongs to a built-in '${s.type}' entity with id '${s.id}' (${A(s,e.project)}) higher up in the tree.`,issue:null}));else{const o=fd({...e.toGenerationTarget(),...n},i);t.push(...o);const u=Ws(e.getDataType(),i.getDataType());u.compatible||t.push(new E({id:`${e.id}--${v.ReaderWriterIncompatibleDataType}`,code:v.ReaderWriterIncompatibleDataType,severity:f.Error,message:pg(e,i,u),issue:null}))}}}return{errors:t,modifiedData:n}}function mn(n){const e=[];if(n.parent===n.project)n.calledBy.length||e.push(new Xn({id:`${n.id}--${O.DisconnectedCallableEntity}`,code:O.DisconnectedCallableEntity,severity:f.Warning,message:`This '${n.type}' entity "${A(n,n.project)}" with id "${n.id}" is globally declared and isn't called by any other entity.
358
+ Both point to a built-in-base-entity. But${a} is of built-in base type '${((m=n.getDataType())==null?void 0:m.entity).name}' and ${o} is of built-in base type '${((T=e.getDataType())==null?void 0:T.entity).name}'. They must be of the same built-in base type to be connected.`:u}function ua(n,e){const t=[];if(n.readsValue){const i=e.project.get(D(n.readsValue));if(e.project.getBuiltIn(D(n.readsValue)))t.push(new E({id:`${e.id}--${y.InvalidBuiltInEntityReference}`,code:y.InvalidBuiltInEntityReference,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' cannot update 'readsValue' to a built-in entity with id '${n.readsValue}'. Only user-created entities can be referenced.`,issue:null}));else if(!i)t.push(new E({id:`${e.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' cannot update 'readsValue' to entity with id '${n.readsValue}' because the entity was not found in the project state.`,issue:null}));else{const s=Ir(i);if(s)t.push(new E({id:`${e.id}--${y.InvalidBuiltInEntityReference}`,code:y.InvalidBuiltInEntityReference,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' cannot update 'readsValue' to entity with id '${n.readsValue}' because the entity belongs to a built-in '${s.type}' entity with id '${s.id}' (${A(s,e.project)}) higher up in the tree.`,issue:null}));else{const o=Ed({...e.toGenerationTarget(),...n},i);t.push(...o);const u=Ys(e.getDataType(),i.getDataType());u.compatible||t.push(new E({id:`${e.id}--${v.ReaderWriterIncompatibleDataType}`,code:v.ReaderWriterIncompatibleDataType,severity:f.Error,message:yg(e,i,u),issue:null}))}}}return{errors:t,modifiedData:n}}function mn(n){const e=[];if(n.parent===n.project)n.calledBy.length||e.push(new Qn({id:`${n.id}--${O.DisconnectedCallableEntity}`,code:O.DisconnectedCallableEntity,severity:f.Warning,message:`This '${n.type}' entity "${A(n,n.project)}" with id "${n.id}" is globally declared and isn't called by any other entity.
359
359
  Globally declared callable entities will not be part of any logic execution when the project is published.
360
360
  To useful to the project when it is published, entities need to be called by a chain of logic that traces itself back to an entry point. Entry points can be either '${r.GlobalEvent}' or '${r.FunctionDeclaration}'.
361
361
  The only use for declaring global callable entities is for a 'variable-declaration' entity to be available globally in the project's scope, since its instances can be used inside lower scopes.
362
- Or for a logic that the user is going to manually test themselves by clicking on the user-interface.`,issue:null,entity:n}));else{const t=Cd(n);if(!t.reachable){let i=`This '${n.type}' entity "${A(n,n.project)}" with id "${n.id}" is not reachable from the project's closest entry point '${t.entryPoint.type}' "${A(n,n.project)}".`;i+=`
362
+ Or for a logic that the user is going to manually test themselves by clicking on the user-interface.`,issue:null,entity:n}));else{const t=_d(n);if(!t.reachable){let i=`This '${n.type}' entity "${A(n,n.project)}" with id "${n.id}" is not reachable from the project's closest entry point '${t.entryPoint.type}' "${A(n,n.project)}".`;i+=`
363
363
  This is because there are termination statements in the call chain before reaching this '${n.type}'.
364
364
  If a caller entity calls a termination statement, it will always prevent all other calls from executing.`;let a=`
365
- This '${n.type}' is blocked `;t.blocks.forEach((s,o)=>{const u=s.blockedByCaller,p=s.blockedByCalling;o===0?a+="by ":o===t.blocks.length-1&&(a+="and by "),a+=`its ancestor "${A(u,n.project)}" with id "${u.id}" that calls a '${p.type}' entity with id "${p.id}"`,o<t.blocks.length-1?a+=", ":a+="."}),e.push(new Xn({id:`${n.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Warning,message:`${i}${a}`,issue:null,entity:n}))}}return X(n.errors,e)}function md(n){const e=[];if(!n.internalCalls.length)return e;if(n.inputs.length){const t=k({id:`${n.id}--${O.VariableHasInputsAndInternalCall}`,message:`Variable "${A(n,n.project)}" with id "${n.id}" has inputs. A variable with internal calls can't have inputs.`,issue:null,severity:f.Error,code:O.VariableHasInputsAndInternalCall,entity:n});e.push(t.error)}if(n.outputs.length){const t=k({id:`${n.id}--${O.VariableHasOutputsAndInternalCall}`,message:`Variable "${A(n,n.project)}" with id "${n.id}" has outputs. A variable with internal calls can't have outputs.`,issue:null,severity:f.Error,code:O.VariableHasOutputsAndInternalCall,entity:n});e.push(t.error)}if(n.calledBy.length){const t=k({id:`${n.id}--${O.VariableIsCalledAndHasInternalCall}`,message:`Variable "${A(n,n.project)}" with id "${n.id}" is called by other entities. A variable with internal calls can't be called by other entities.`,issue:null,severity:f.Error,code:O.VariableIsCalledAndHasInternalCall,entity:n});e.push(t.error)}if([...n.successCalls,n.errorCalls].length){const t=k({id:`${n.id}--${O.VariableCallsOthersAndHasInternalCall}`,message:`Variable "${A(n,n.project)}" with id "${n.id}" calls other entities. A variable with internal calls can't call other entities.`,issue:null,severity:f.Error,code:O.VariableCallsOthersAndHasInternalCall,entity:n});e.push(t.error)}return e}function V6(n){var o;const e=H4(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(u=>u.validate()),n.outputs.forEach(u=>u.validate()),(o=n.error)==null||o.validate();const s=[...mn(n)];return X(n.errors,s)}const ve=class ve{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.FunctionCall);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"process",null);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"error",null);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const T=D(e.parent);i=t.get(T)}const a=D(e.declaration),s=t.get(a),o=e.calledByEntry.map(T=>{const b=D(T);return t.get(b)}),u=e.calledBySuccess.map(T=>{const b=D(T);return t.get(b)}),p=e.calledByError.map(T=>{const b=D(T);return t.get(b)}),h={id:e.id,version:1,type:r.FunctionCall,declaration:s.toReference(),calledByEntry:o,calledBySuccess:u,calledByError:p,errorCalls:[],successCalls:[],inputs:[],outputs:[],process:null,error:null,x:0,y:0,parent:i},m=R(h,t);return m.setParent(i),m.initChildren(),m}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);i=s.modifiedData,a.push(...s.errors,...Pe(i));const o=D(i.declaration);if(o){const u=dg(o,t);a.push(...u)}else{const u=t.functions.length?`
365
+ This '${n.type}' is blocked `;t.blocks.forEach((s,o)=>{const u=s.blockedByCaller,p=s.blockedByCalling;o===0?a+="by ":o===t.blocks.length-1&&(a+="and by "),a+=`its ancestor "${A(u,n.project)}" with id "${u.id}" that calls a '${p.type}' entity with id "${p.id}"`,o<t.blocks.length-1?a+=", ":a+="."}),e.push(new Qn({id:`${n.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Warning,message:`${i}${a}`,issue:null,entity:n}))}}return X(n.errors,e)}function Rd(n){const e=[];if(!n.internalCalls.length)return e;if(n.inputs.length){const t=k({id:`${n.id}--${O.VariableHasInputsAndInternalCall}`,message:`Variable "${A(n,n.project)}" with id "${n.id}" has inputs. A variable with internal calls can't have inputs.`,issue:null,severity:f.Error,code:O.VariableHasInputsAndInternalCall,entity:n});e.push(t.error)}if(n.outputs.length){const t=k({id:`${n.id}--${O.VariableHasOutputsAndInternalCall}`,message:`Variable "${A(n,n.project)}" with id "${n.id}" has outputs. A variable with internal calls can't have outputs.`,issue:null,severity:f.Error,code:O.VariableHasOutputsAndInternalCall,entity:n});e.push(t.error)}if(n.calledBy.length){const t=k({id:`${n.id}--${O.VariableIsCalledAndHasInternalCall}`,message:`Variable "${A(n,n.project)}" with id "${n.id}" is called by other entities. A variable with internal calls can't be called by other entities.`,issue:null,severity:f.Error,code:O.VariableIsCalledAndHasInternalCall,entity:n});e.push(t.error)}if([...n.successCalls,n.errorCalls].length){const t=k({id:`${n.id}--${O.VariableCallsOthersAndHasInternalCall}`,message:`Variable "${A(n,n.project)}" with id "${n.id}" calls other entities. A variable with internal calls can't call other entities.`,issue:null,severity:f.Error,code:O.VariableCallsOthersAndHasInternalCall,entity:n});e.push(t.error)}return e}function G9(n){var o;const e=z4(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(u=>u.validate()),n.outputs.forEach(u=>u.validate()),(o=n.error)==null||o.validate();const s=[...mn(n)];return X(n.errors,s)}const ve=class ve{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.FunctionCall);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"process",null);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"error",null);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const T=D(e.parent);i=t.get(T)}const a=D(e.declaration),s=t.get(a),o=e.calledByEntry.map(T=>{const b=D(T);return t.get(b)}),u=e.calledBySuccess.map(T=>{const b=D(T);return t.get(b)}),p=e.calledByError.map(T=>{const b=D(T);return t.get(b)}),h={id:e.id,version:1,type:r.FunctionCall,declaration:s.toReference(),calledByEntry:o,calledBySuccess:u,calledByError:p,errorCalls:[],successCalls:[],inputs:[],outputs:[],process:null,error:null,x:0,y:0,parent:i},m=R(h,t);return m.setParent(i),m.initChildren(),m}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);i=s.modifiedData,a.push(...s.errors,...Pe(i));const o=D(i.declaration);if(o){const u=ug(o,t);a.push(...u)}else{const u=t.functions.length?`
366
366
  All global 'function-declaration' entity ids are:
367
367
  - ${t.functions.map(p=>`${p.id} (${A(p,t)})`).join(`
368
368
  - `)}.`:`
369
369
  The project currently has no global 'function-declaration' entities that can be called as 'function-call' entities.`;a.push(new E({id:`${i.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${r.FunctionCall}" with id "${i.id}", has an invalid reference at the 'declaration' property. The 'declaration' property must be a valid reference to an 'function-declaration' entity.
370
370
  References can either be an ID string or an object with exacly four properties: 'id', 'entityId', 'entityType', 'type'.${u}`,issue:null}))}return{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
371
371
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
372
- You shouldn't have to manually update a 'parent' property. The equivalent result is to change its callers, the value writters of its inputs, or the value readers of its outputs.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){var e;return this.parent===this.project&&this.project.addFunctionCall(this),(e=this.process)==null||e.writesValues.forEach(t=>{t.setValueWriter(this.process)}),this.successCalls.forEach(t=>{t.addSuccessCaller(this)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this)}),this.calledByError.forEach(t=>{t.addErrorCall(this)}),this.calledByEntry.forEach(t=>{t.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.declaration.type===r.FunctionDeclaration){const e=R(this.initialData.declaration,this.project);this.declaration=e}else{const e=D(this.initialData.declaration),t=this.project.get(e);this.declaration=t}return this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initOutputs(),this.initialData.process&&(this.process=R(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this}initOutputs(){const e=[];this.outputs=this.initialData.outputs.map(s=>{const o=R(s,this.project);return e.push(o.index),o.setParent(this),o.initChildren(),o});const i=vd(this).filter(s=>!this.outputs.find(o=>o.declaration.id===s.id));i.sort((s,o)=>s.index-o.index);const a=i.map((s,o)=>{const u=e.includes(s.index)?this.outputs.length-1+o:s.index,p={id:$.UUID.uuid(),type:r.OutputMap,version:1,declaration:s,index:u,parent:this,writesValues:[]},h=R(p,this.project);return h.setParent(this),h.initChildren(),h});return this.outputs.push(...a),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){var s;const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:u}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}if(this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.outputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.error){const{affected:o,removed:u}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}return this.successCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{i.push(o),o.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:i}=this.process.restore({seenEntities:e});t.push(...i)}return this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e))])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,process:this.process?this.process.toReference():null,inputs:this.inputs.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),declaration:this.declaration.toReference(),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.process?this.process.toFlatJSON(e):[],...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,version:this.version,type:this.type,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),declaration:this.declaration.id,parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.process?this.process.toFlatGenerationTarget(e):[],...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(i=>i.clearErrors()),this.outputs.forEach(i=>i.clearErrors()),this.successCalls.forEach(i=>i.clearErrors()),this.errorCalls.forEach(i=>i.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=V6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.error?this.error.getErrors():[],...this.process?this.process.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new ve(this.toJSON(),this.project)}};l(ve,"MUTABLE_BASE_PROPERTIES",[]),l(ve,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(ve,"BASE_PROPERTIES",[...ve.MUTABLE_BASE_PROPERTIES,...ve.INMUTABLE_BASE_PROPERTIES]),l(ve,"MUTABLE_META_PROPERTIES",["x","y"]),l(ve,"INMUTABLE_META_PROPERTIES",[...ve.INMUTABLE_BASE_PROPERTIES]),l(ve,"META_PROPERTIES",[...ve.MUTABLE_META_PROPERTIES,...ve.INMUTABLE_META_PROPERTIES]),l(ve,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(ve,"INMUTABLE_UPSTREAM_PROPERTIES",["declaration","parent"]),l(ve,"UPSTREAM_PROPERTIES",[...ve.MUTABLE_UPSTREAM_PROPERTIES,...ve.INMUTABLE_UPSTREAM_PROPERTIES]),l(ve,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","writesValues","inputs","outputs","error"]),l(ve,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ve,"DOWNSTREAM_PROPERTIES",[...ve.MUTABLE_DOWNSTREAM_PROPERTIES,...ve.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ve,"PROPERTIES",[...ve.META_PROPERTIES,...ve.UPSTREAM_PROPERTIES,...ve.DOWNSTREAM_PROPERTIES]);let Rr=ve;function yg(n){var e,t,i;switch(n.id){case Ve["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const a=n.project.entities.filter(m=>!!m.implements.find(T=>T.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id));if(a.find(m=>!!m.properties.find(T=>{var b;return T.implements&&T.implements.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default&&((b=T.getDefaultValue())==null?void 0:b.value)===!0}))){const T=a[0].properties.find(I=>I.implements&&I.implements.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default),b=(e=T==null?void 0:T.dataType)==null?void 0:e.defaultValue;if(b)b.value=!0;else if(T!=null&&T.dataType){const I=(t=T==null?void 0:T.dataType)==null?void 0:t.id.split("-id")[0],B=R({id:I+"-default-value-id",version:1,type:r.PrimitiveValue,name:g.EntityTemplate,autogeneration:null,value:!0,valueAsType:null,parent:T==null?void 0:T.dataType.toReference()},n.project);return B.setParent(T==null?void 0:T.dataType),B.initChildren(),B.addSelfToProject(),{newEntities:[B]}}return{newEntities:[]}}const o=n.project.get(Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id),u=so(o,"Main database");if(u.errors.length>0)return{newEntities:[]};const p=u.implemented.properties.find(m=>m.implements&&m.implements.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default),h=(i=p==null?void 0:p.dataType)==null?void 0:i.defaultValue;if(h)h.value=!0;else if(p!=null&&p.dataType){const m=p==null?void 0:p.dataType.id.split("-id")[0],T=R({id:m+"-default-value-id",version:1,type:r.PrimitiveValue,name:g.EntityTemplate,autogeneration:null,value:!0,valueAsType:null,parent:p==null?void 0:p.dataType.toReference()},n.project);T.setParent(p==null?void 0:p.dataType),T.initChildren(),T.addSelfToProject()}return{newEntities:[u.implemented]}}}return{newEntities:[]}}function hg(n){return n.implements.filter(t=>t.type===r.BuiltInBaseEntity).map(t=>{var i;switch(t.id){case Ve["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const s=n.project.entities.filter(p=>p.implements.find(h=>h.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id)).find(p=>!!p.properties.find(h=>{var m;return h.implements&&h.implements.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default&&((m=h.getDefaultValue())==null?void 0:m.value)===!0}));if(!s)return{newEntities:[]};const o=n.properties.find(p=>p.implements&&p.implements.id===Ve["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.properties.database),u=(i=o==null?void 0:o.dataType)==null?void 0:i.defaultValue;if(o&&(o!=null&&o.dataType)&&!u){const p=o==null?void 0:o.dataType.id.split("-id")[0],h=R({id:p+"-default-value-id",version:1,type:r.PrimitiveValue,name:g.EntityTemplate,autogeneration:null,value:null,valueAsType:s,parent:o==null?void 0:o.dataType.toReference()},n.project);return h.setParent(o==null?void 0:o.dataType),h.initChildren(),h.addSelfToProject(),{newEntities:[h]}}return{newEntities:[]}}}}),{newEntities:[]}}function so(n,e,t){const i=t||Xt(e,r.CustomEntity,n.project),a=i.split("-id"),s=a[a.length-1||0]||i,o={id:i,version:1,name:e,type:r.CustomEntity,description:null,static:!1,abstract:!1,properties:[],methods:[],abstractMethods:[],extends:[],implements:[n],x:0,y:0,parent:n.project},u=Xs(o,n.project);if(u.length>0)return{errors:u,implemented:null,entitiesChanges:{new:[],updated:[],deleted:[]}};const p=yg(n),h=R(o,n.project);h.setParent(n.project),h.initChildren();const m=n.properties.map(I=>{const B=s+"-"+Xt(A(I,n.project),r.Property,n.project),G=I.clone(h,B);return G.abstract=!1,G.implements=I,G.setParent(h),h.addProperty(G),G}),T=n.abstractMethods.map(I=>{const B=s+Xt(I.name,r.FunctionDeclaration,n.project),G=I.implementAsFunctionDeclaration(B),W={id:B+"-parent-ref-id",type:r.GenericReference,entityId:i,entityType:r.CustomEntity},xt={...G,implements:I,parent:W},Le=R(xt,n.project);return h.addMethod(Le),Le.setParent(h),Le.initChildren(),Le.implements=I,Le});o.properties=m,o.methods=T;const b=hg(h);return{implemented:h,errors:[],entitiesChanges:{new:[h,...p.newEntities,...b.newEntities],updated:[h],deleted:[]}}}function oo(n,e){const t=vr(n);if(t.length===0)return{list:[],last:null};let i=null;return{list:t.flatMap(s=>{if(s===e)return i=s,[s];const o=oo(s,e);return o.last&&(i=o.last),[s,...o.list]}),last:i}}function fg(n,e,t=new Set){const i=Ln(n),a=Ln(e),s=i.filter(p=>!a.includes(p)),o=i.filter(p=>a.includes(p)),u=s.reduce((p,h)=>t.has(h.id)?p:(t.add(h.id),S([...p,...fg(h,e,t)])),[]);return S([...o,...u])}function ua(n,e){const t=oo(n,e);return t.last===e&&t.list.length>0&&t.list[0]!==e}function L6(n,e){return!!oo(n,e).last}function G6(n){if($e.includes(n.type))return n;if([...En,r.VariableDeclaration].includes(n.type)){const e=n.parent;return $e.includes(e.type)?e:null}return null}function Td(n,e){if(!n||!e)throw new Error("Both entities must be defined to find a common ancestor");if(n===e)return n;const t=n.parent;if(t){if(t===e)return e;if(t.type===r.Project)return null}else return null;const i=e.parent;if(i){if(i===n)return n;if(i.type===r.Project)return null}else return null;return Td(t,i)}function He(n){if(Eo.includes(n.type)){if(n.type===r.FunctionDeclaration){const e=n.parent;if(e.type===r.CustomEntity)return e}return n}else{const e=n.parent;return e?He(e):null}}function F6(n){return n.type===r.VariableDeclaration?[n]:Ne.includes(n.type)?[...n.inputs,...n.outputs||[]]:n.type===r.ReturnStatement?n.outputs:Dr.includes(n.type)||n.type===r.FunctionDeclaration?n.inputs:[]}function U6(n){const e=Ln(n),t=[],i=[];_d.includes(n.type)&&t.push(...Ed(n));const a=e.filter(s=>{const o=t.includes(s);return o?!1:En.includes(s.type)&&!o?(i.push(s),!1):!0});return t.sort((s,o)=>ua(o,s)?-1:0),i.sort((s,o)=>ua(o,s)?-1:0),[...t,...i,...a]}function mg(n){return[...n].sort((e,t)=>ua(t,e)?-1:0)}function x6(n){const e=mg(n),t=[];return e.forEach(i=>{const a=t[t.length-1];if(a){const s=a[a.length-1];ua(i,s)?t.push([i]):a.push(i)}else t.push([i])}),t}function _t(n){const e=n.map(t=>He(t));return S(e)}function Ed(n){return Ne.includes(n.type)?[..._t(n.successCalls),..._t(n.errorCalls)]:$e.includes(n.type)?_t(n.calls):[]}function j6(n,e){return Ed(n).includes(e)}function Rd(n){return n.writesValues||[]}function k6(n,e){return Rd(n).includes(e)}function Tg(n){var e;return Fe.includes((e=n==null?void 0:n.readsValue)==null?void 0:e.type)?n.readsValue:null}function q6(n){return n.writesValues}function Eg(n=[]){return n.map(Tg).filter(e=>!!e)}function lo(n=[]){return n.map(e=>e.writesValues).flat().filter(e=>Fe.includes(e.type))}function Rg(n=[]){return n.map(e=>e.readsValue).filter(e=>!!e&&Fe.includes(e.type))}function bg(n){return Fe.includes(n.type)?n:null}function vg(n){return n.writesValues.map(bg).filter(e=>!!e)}function gg(n=[]){return n.reduce((e,t)=>t.type===r.OutputMap?[...e,...vg(t)]:e,[])}function Me(n){return Ne.includes(n.type)?[...br(_t(n.successCalls)),...br(_t(n.errorCalls))]:$e.includes(n.type)?br(_t(n.calls)):[]}function Ig(n,e=new Set){return n.writesValues.filter(i=>Fe.includes(i.type)&&!e.has(i.id)).reduce((i,a)=>e.has(a.id)?i:[...i,...z(a,e)],[])}function Pg(n,e=new Set){var i;return(((i=n.readsValue)==null?void 0:i.writesValues)||[]).filter(a=>Fe.includes(a.type)&&!e.has(a.id)).reduce((a,s)=>e.has(s.id)?a:[...a,...z(s,e)],[])}function z(n,e=new Set){if(e.has(n.id))return[];if(n.type===r.ReturnStatement)return Rg(n.outputs).reduce((i,a)=>[...i,...z(a,e)],[]);if(n.type===r.FunctionCall||n.type===r.Operation||n.type===r.Condition)return[...Me(n).reduce((s,o)=>{const u=He(o);return[...s,...z(u||o,e)]},[]),...Eg(n.inputs),...gg(n.outputs)].reduce((s,o)=>[...s,...z(o,e)],[]);if(Dr.includes(n.type)){const t=lo(n.inputs),a=Me(n).reduce((s,o)=>{const u=He(o);return[...s,...z(u||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...z(o,e)],[])}if(n.type===r.FunctionDeclaration){const t=[...lo(n.inputs)],a=Me(n).reduce((s,o)=>{const u=He(o);return[...s,...z(u||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...z(o)],[])}if(Fe.includes(n.type)){e.add(n.id);const i=Me(n).reduce((a,s)=>{const o=He(s);return[...a,...z(o||s,e)]},[]);return[n,...i,...Pg(n,e),...Ig(n,e)]}return[]}function vt(n,e=new Set){return e.has(n.id)?[]:(e.add(n.id),[...Ln(n).reduce((a,s)=>[...a,s,...vt(s,e)],[])])}function br(n){return n.reduce((e,t)=>t.type===r.ReturnStatement||t.type===r.ContinueStatement||t.type===r.BreakStatement?e:[...e,t,...Me(t)],[])}function Dg(n){const e=n.entities||[],t=[...e,...n.functions||[],...n.events||[],...n.projects||[]],i=e.reduce((p,h)=>[...p,...h.properties],[]),a=e.reduce((p,h)=>[...p,...h.methods],[]),s=a.reduce((p,h)=>[...p,...lo(h.inputs),...br(_t(h.calls)),...h.returnStatements],[]),o=n.functions.reduce((p,h)=>[...p,...br(_t(h.calls)),...h.returnStatements],[]),u=n.events.reduce((p,h)=>[...p,...br(_t(h.calls)),...h.returnStatements],[]);return[...t,...i,...a,...s,...o,...u]}function Ag(n,e){return e.filter(i=>{if(!i)return!1;switch(i.type){case r.FunctionCall:return i.inputs.find(a=>a.id===n.id)!==void 0||i.outputs.find(a=>a.id===n.id)!==void 0;case r.Condition:return i.successCalls.find(a=>a.id===n.id)!==void 0||i.errorCalls.find(a=>a.id===n.id)!==void 0||i.inputs.find(a=>a.id===n.id)!==void 0;case r.Operation:return i.outputs.find(a=>a.id===n.id)!==void 0;case r.VariableDeclaration:return Ne.includes(n.type)?Sg(n).find(s=>{var o;return((o=s.readsValue)==null?void 0:o.id)===i.id})!==void 0:!1;case r.CustomEntity:return i.properties.find(a=>a.id===n.id)!==void 0||i.methods.find(a=>a.id===n.id)!==void 0;case r.FunctionDeclaration:return i.inputs.find(a=>a.id===n.id)!==void 0||(i.returnStatements.map(a=>a.outputs).flat()||[]).find(a=>a.id===n.id)!==void 0;default:return!1}})}function J6(n){const e=Dg(n.project);return Ag(n,e)}function vr(n){const e=[];if(En.includes(n.type)){n.calledBy.forEach(a=>{const s=He(a);s&&e.push(s)});const i=[...n.inputs||[],...n.outputs||[]].map(a=>gd(a)).filter(a=>a!==null);e.push(...S(i))}if(Fe.includes(n.type)){const t=gd(n);t&&e.push(t)}return S(e)}function bd(n){return n.type===r.FunctionCall||n.type===r.InternalCall?n.declaration.inputs:[r.Operation,r.Condition,r.Loop].includes(n.type)?n.declaration.fixedArguments:n.type===r.FunctionDeclaration||Dr.includes(n.type)?n.inputs:n.type===r.Search?n.inputsDeclarations:[]}function W6(n,e){return e.type===r.Condition?e.inputs.find(t=>t.declaration.id===n.id):e.type===r.FunctionCall||e.type===r.Operation?e.inputs.find(t=>t.declaration.id===n.id):null}function Sg(n){return Ne.includes(n.type)?n.inputs:[]}function vd(n){var e;return n.type===r.FunctionCall?((e=n.declaration.returnStatements[0])==null?void 0:e.outputs)||[]:[r.Operation,r.Condition,r.Loop].includes(n.type)?n.declaration.fixedReturns:n.type===r.Search?n.outputsDeclarations:Oe.includes(n.type)?n.outputs:[]}function H6(n,e){return e.type===r.Condition?null:e.type===r.FunctionCall||e.type===r.Operation?e.outputs.find(t=>t.declaration.id===n.id):null}function Y6(n){return n.type===r.Condition?[]:Ne.includes(n.type)?n.outputs:[]}function gd(n){const e=n.readsValue;return e?He(e):null}function Og(n){const e=n.internalCalls||[];return S(_t(S(e.flatMap(t=>[...t.successCalls,...t.errorCalls]))))}function di(n){const e=Rd(n),t=[];return e.forEach(i=>{if(Fe.includes(i.type))t.push(i);else if(i.type===r.InputMap){const a=i.parent;if(a.type===r.InputMap){const s=a.parent;t.push(s)}else t.push(a)}else[r.ActionDescriptor].includes(i.parent.type)||t.push(i.parent)}),t}function S(n){const e=new Set;return n.filter(t=>e.has(t.id)?!1:(e.add(t.id),!0))}function Ln(n,e=!1){const t=[];if(n.type===r.Project&&t.push(...(n==null?void 0:n.entities)||[],...(n==null?void 0:n.functions)||[],...(n==null?void 0:n.variableDeclarations)||[],...(n==null?void 0:n.variableInstances)||[],...(n==null?void 0:n.searches)||[],...(n==null?void 0:n.loops)||[],...(n==null?void 0:n.operations)||[],...(n==null?void 0:n.conditions)||[],...(n==null?void 0:n.functionCalls)||[],...(n==null?void 0:n.events)||[],...(n==null?void 0:n.projects)||[]),st.includes(n.type)&&t.push(...(n==null?void 0:n.detachedChildren)||[]),n.type===r.CustomEntity){const i=[...n.suggestedMethods,...n.methods].flatMap(a=>a.collapsed&&e?[]:Ln(a));t.push(...i)}if(n.type===r.Condition){const i=n.successCalls.map(s=>He(s)),a=n.errorCalls.map(s=>He(s));t.push(...i,...a)}if(Dr.includes(n.type)){if(n.collapsed&&e)return[];const i=n.inputs.map(s=>di(s)).flat(),a=n.calls.map(s=>He(s));t.push(...S(i),...a)}if(Ne.includes(n.type)&&n.type!==r.Condition){const i=n==null?void 0:n.outputs.map(o=>di(o)).flat(),a=n.successCalls.map(o=>He(o)),s=n.errorCalls.map(o=>He(o));t.push(...S(i),...a,...s)}if(Fe.includes(n.type)){const i=di(n),a=Og(n);t.push(...i,...a)}if(n.type===r.Loop){const i=n.outputs.map(o=>di(o)).flat();if(n.body){const o=Ln(n.body,e);t.push(...o)}const a=n.errorCalls.map(o=>He(o)),s=n.successCalls.map(o=>He(o));t.push(...S(i),...s,...a)}if(n.type===r.FunctionDeclaration){if(n.collapsed&&e)return[];const i=n.inputs.map(s=>di(s)).flat(),a=n.calls.map(s=>He(s));t.push(...S(i),...a)}return S(t)}function Cg(n,e=!1){const t=Ln(n,e),i=[...t,...t.reduce((a,s)=>[...a,...Cg(s,e)],[])];return S(i)}function Bg(n){const e=vr(n),t=[...e,...e.reduce((i,a)=>[...i,...Bg(a)],[])];return S(t)}function co(n){return n.implements.reduce((e,t)=>t.type===r.CustomEntity?[...e,r.CustomEntity,...co(t),...uo(t)]:[...e,t.name],[])}function uo(n){return n.extends.reduce((e,t)=>t.type===r.CustomEntity?[...e,r.CustomEntity,...uo(t),...co(t)]:[...e,t.name],[])}function Id(n){return n.extends.reduce((e,t)=>t.type===r.CustomEntity?[...e,t,...Id(t),...Pd(t)]:[...e,t],[])}function Pd(n){return n.implements.reduce((e,t)=>t.type===r.CustomEntity?[...e,t,...Pd(t),...Id(t)]:[...e,t],[])}function wg(n){return[...uo(n),...co(n)].filter((t,i,a)=>a.indexOf(t)===i)}function _g(n){return n.implements.length===0&&n.extends.length===0?null:n.implements.find(i=>i.type===r.BuiltInBaseEntity&&i.name===_.PERSISTED_ENTITY)?n:[...n.implements,...n.extends].reduce((i,a)=>{if(a.type===r.CustomEntity){const s=_g(a);if(s)return s}return i},null)}function z6(n){const e=n.extends.find(t=>t.type===r.BuiltInBaseEntity);return e&&e.type===r.BuiltInBaseEntity?e:null}function Z6(n){const e=n.implements.find(t=>t.type===r.BuiltInBaseEntity);return e&&e.type===r.BuiltInBaseEntity?e:null}function Mg(n){const e=n.extends.find(t=>t.type===r.CustomEntity);return e&&e.type===r.CustomEntity?e:null}function Gn(n){const e=[...n.implements,...n.extends].reduce((t,i)=>i.type===r.BuiltInBaseEntity?[...t,i]:i.type===r.CustomEntity?[...t,...Gn(i)]:t,[]);return S(e)}function Dd(n){return n.type===r.PrimitiveEntity?!0:n.type===r.BuiltInBaseEntity?n.interactive:!Gn(n).find(i=>!i.interactive)}function X6(n){return n.parent===n.project&&n.project.variableDeclarations.includes(n)}function Ad(n){return n.parent!==n.project?!1:r.VariableDeclaration===n.type?n.project.variableDeclarations.includes(n):r.VariableInstance===n.type?n.project.variableInstances.includes(n):r.FunctionCall===n.type?n.project.functionCalls.includes(n):r.Condition===n.type?n.project.conditions.includes(n):r.Operation===n.type?n.project.operations.includes(n):r.Loop===n.type?n.project.loops.includes(n):r.Search===n.type?n.project.searches.includes(n):!1}function Ng(n){if([...$e,r.CustomEntity,r.InstalledProject,r.Project].includes(n.type)||Ad(n))return!1;const e=vr(n);return e.length===0?!0:e.some(t=>Ng(t))}function Sd(n){return[...$e,r.CustomEntity,r.InstalledProject,r.Project].includes(n.type)||Ad(n)?!1:vr(n).length===0}function $g(n,e=0){if(Sd(n)){const t=vr(n);return t.length===0?n:t.map(a=>$g(a,e+1)).reduce((a,s)=>a?s&&s.x<a.x?s:a:s,null)}return null}function Vg(n){const e=[];if(Sd(n))e.push(n);else return[];return vr(n).forEach(i=>{e.push(...Vg(i))}),e}function Lg(n){return n.type===r.FunctionDeclaration&&n.parent!==n.project&&!![r.CustomEntity,r.Loop,r.InstalledProject].includes(n.parent.type)}function Gg(n,e){const t=new Map;return n.forEach(i=>{t.set(i.id,i)}),e.forEach(i=>{t.set(i.id,i)}),Array.from(t.values())}function po(n){switch(n){case r.CustomEntity:return Ir;case r.FunctionDeclaration:return lr;case r.VariableDeclaration:return pr;case r.VariableInstance:return yr;case r.FunctionCall:return Rr;case r.Operation:return cr;case r.Condition:return ur;case r.ReturnStatement:return Tr;case r.Loop:return dr;case r.Search:return hr;case r.InputMap:return hn;case r.OutputMap:return fn;case r.ArgumentDeclaration:return mr;case r.ReturnDeclaration:return Ot;case r.Property:return or;case r.InstalledProject:return fr;case r.Project:return $;case r.BuiltInBaseEntity:return Ut;default:return null}}function ht(n,e){if(st.includes(n.type))return n;if(Ar.includes(n.type))return null;const t=n.parent;if(!t)return null;if(t.type===r.GenericReference){const i=D(t);if(!i)return null;const a=e.get(i);return a?ht(a,e):null}else return t===e?e:ht(t,e)}function Od(n,e){if(Ar.includes(n.type)||e.getAllBuiltInIds().includes(n.id))return null;const i=Mt(n.parent,e);return i?i===e?st.includes(n.type)?n:null:i.type===r.CustomEntity?n:Od(i,e):null}function yo(n,e,t){if(n===e||e===t||n===t)return!1;const i=ht(e.parent,t);return i===n?!0:yo(i,e,t)}var ho=(n=>(n.SameBothLocal="same-both-local",n.AInB="a-in-b",n.BInA="b-in-a",n.ParallelInCommonParent="parallel-in-common-parent",n.ParallelInProject="parallel-in-project",n.AIsGlobalBIsNot="a-is-global-b-is-not",n.BIsGlobalAIsNot="b-is-global-a-is-not",n.SameBothGlobal="same-both-global",n))(ho||{});function pa(n,e,t){const i=ht(n,t),a=ht(e,t);if(!i)throw new Error("Could not find scope owner for the entity: "+n.id);if(!a)throw new Error("Could not find scope owner for the entity: "+e.id);if(i===a&&i.type!==r.Project)return{compatible:!0,type:"same-both-local",commonAncestorScope:i};if(i===a&&i.type===r.Project)return{compatible:!0,type:"same-both-global",commonAncestorScope:i};if(i.type===r.Project&&a.type!==r.Project)return{compatible:!1,type:"a-is-global-b-is-not",commonAncestorScope:i};if(i.type!==r.Project&&a.type===r.Project)return{compatible:!1,type:"b-is-global-a-is-not",commonAncestorScope:a};if(yo(i,a,t))return{compatible:!0,type:"b-in-a",commonAncestorScope:i};if(yo(a,i,t))return{compatible:!0,type:"a-in-b",commonAncestorScope:a};const u=Td(i,a);return u===t?{compatible:!1,type:"parallel-in-project",commonAncestorScope:u}:u?{compatible:!1,type:"parallel-in-common-parent",commonAncestorScope:ht(u,t)}:{compatible:!1,type:"parallel-in-project",commonAncestorScope:t}}function Fg(n,e,t){const i=pa(n,e,t);if(!i.compatible||i.type!=="same-both-local")return null;if(n===e)return n;let a=ht(n.parent,t);if(a){if(a===e)return e;if(a.type===r.Project)return n}else return n;for(;a;){if(a){if(a===e)return e;if(a.type===r.Project)return n}else return n;a=ht(a.parent,t)}let s=ht(e.parent,t);if(s){if(s===n)return n;if(s.type===r.Project)return e}else return e;for(;s;){if(s){if(s===n)return n;if(s.type===r.Project)return e}else return e;s=ht(s.parent,t)}return null}function Ug(n){return n.length===0?null:n.length===1?n[0]:n.reduce((t,i)=>{const a=Fg(t,i,i.project);return!a||a===i?t:i},n[0])}function Mt(n,e){let t;return typeof n=="string"?t=n:n.type===r.GenericReference?t=D(n):t=n.id,t===e.id?e:e.get(t)}function gr(n){if(Ar.includes(n.type))return n;if(n.type===r.Project)return null;if(n.project.getAllBuiltInIds().includes(n.id))return n;const t=n.parent;return!t||t.type===r.Project?null:gr(t)}function ya(n,e){var t;if(n.readsValue){const i=Mt(n.readsValue,e.project);e.setValueWriter(i),i.addValueReader(e)}else n.readsValue===null&&((t=e.readsValue)==null||t.removeValueReader(e),e.readsValue=null);return e}function Cd(n){const e=[];function t(o,u){return e.some(p=>p.blockedByCaller===o&&p.blockedByCalling===u)}function i(o,u){t(o,u)||e.push({blockedByCaller:o,blockedByCalling:u})}const a=Od(n,n.project);return n.calledBy.forEach(o=>{if([...o.calls||[],...o.successCalls||[],...o.errorCalls||[]].forEach(h=>{Oe.includes(h.type)&&i(o,h)}),o===a)return;let p;if(Ne.includes(o.type))p=o;else if(o.type===r.FunctionDeclaration){const h=He(o);if(h.type===r.CustomEntity)return;h.type===r.Loop&&(p=h)}if(p){const h=Cd(p);h.reachable||(Oe.includes(n.type)?h.blocks.forEach(m=>{i(o,m.blockedByCalling)}):Me(n).find(b=>b===o)||h.blocks.forEach(b=>{i(o,b.blockedByCalling)}))}}),{reachable:e.length===0,entryPoint:a,blocks:e}}function Q6(n){return Eo.includes(n.type)?n.type===r.FunctionDeclaration?!Lg(n):!0:!1}function K6(n){if(r.ActionDescriptor===n.type){if(n.project.operationDeclarations.find(s=>s.id===n.id))return r.Operation;if(n.project.globalEventActionDescriptors.find(s=>s.id===n.id))return r.GlobalEvent;if(n.project.loopDeclarations.find(s=>s.id===n.id))return r.Loop;if(n.project.conditionDeclarations.find(s=>s.id===n.id))return r.Condition}return n.type}function e3(n,e){const t=[];if(n.parent)if(n.id===n.parent)t.push(new E({id:`${n.id}--${n.parent}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at 'parent'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}));else{const i=e.get(n.parent);i?[r.Project,r.DataType].includes(i.type)||t.push(new E({id:`${n.id}--${n.parent}--${y.InvalidParentReference}`,code:y.InvalidParentReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a parent reference that isn't pointing to an entity of type 'project' or 'data-type'.`,issue:null})):t.push(new E({id:`${n.id}--${n.parent}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}return n.implements&&Array.isArray(n.implements)?n.implements.forEach(i=>{if(n.id===i){t.push(new E({id:`${n.id}--${i}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at one of the 'implements' references. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}));return}const a=e.get(i);a?[r.CustomEntity,r.BuiltInBaseEntity].includes(a.type)?a.abstract||t.push(new E({id:`${n.id}--${i}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' reference that isn't pointing to an abstract entity.`,issue:null})):t.push(new E({id:`${n.id}--${i}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' reference that isn't pointing to an entity of type 'custom-entity' or 'built-in-base-entity'.`,issue:null})):t.push(new E({id:`${n.id}--${i}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${i}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}):t.push(new E({id:`${n.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' property that isn't an array.`,issue:null})),n.extends&&Array.isArray(n.extends)&&n.extends.forEach(i=>{const a=e.get(i);a?[r.CustomEntity,r.BuiltInBaseEntity].includes(a.type)?a.abstract&&t.push(new E({id:`${n.id}--${i}--${y.InvalidExtendsReference}`,code:y.InvalidExtendsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'extends' reference that isn't pointing to a non-abstract entity. Did you want to use the property 'implements', which holds a list of references to absract entities, instead?`,issue:null})):t.push(new E({id:`${n.id}--${i}--${y.InvalidExtendsReference}`,code:y.InvalidExtendsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'extends' reference that isn't pointing to an entity of type 'custom-entity' or 'built-in-base-entity'.`,issue:null})):t.push(new E({id:`${n.id}--${i}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${i}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}),t}const pe=class pe{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"static");l(this,"abstract");l(this,"type",r.CustomEntity);l(this,"properties",[]);l(this,"methods",[]);l(this,"abstractMethods",[]);l(this,"extends",[]);l(this,"implements",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestedProperties",[]);l(this,"suggestedMethods",[]);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.x=e.x,this.y=e.y,this.static=e.static,this.abstract=e.abstract}static fromGenerationTarget(e,t){let i=t;if(e.parent){const p=D(e.parent);i=t.get(p)}const a=[];e.implements&&e.implements.forEach(p=>{a.push(t.get(p)||t.getBuiltIn(p))});const s=[];e.extends&&e.extends.forEach(p=>{s.push(t.get(p)||t.getBuiltIn(p))});const o={id:e.id,version:1,name:e.name,type:r.CustomEntity,description:e.description,static:e.static,abstract:e.abstract,properties:[],methods:[],abstractMethods:[],extends:s,implements:a,x:0,y:0,parent:i},u=R(o,t);return u.setParent(i),u.initChildren(),u}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=e3(i,t),o=Xs(i,t);a.push(...s,...o,...Pe(i));const u=i.parent?t.get(i.parent):null;if(u&&u.type===r.DataType){const p=u;p.entity&&a.push(new E({id:`${e.id}--${y.NewEntityWouldOverriteExisting}`,code:y.NewEntityWouldOverriteExisting,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${p.id}' because it already has an 'entity' child. Data type entities can only have one 'entity' as children.
372
+ You shouldn't have to manually update a 'parent' property. The equivalent result is to change its callers, the value writters of its inputs, or the value readers of its outputs.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){var e;return this.parent===this.project&&this.project.addFunctionCall(this),(e=this.process)==null||e.writesValues.forEach(t=>{t.setValueWriter(this.process)}),this.successCalls.forEach(t=>{t.addSuccessCaller(this)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this)}),this.calledByError.forEach(t=>{t.addErrorCall(this)}),this.calledByEntry.forEach(t=>{t.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.declaration.type===r.FunctionDeclaration){const e=R(this.initialData.declaration,this.project);this.declaration=e}else{const e=D(this.initialData.declaration),t=this.project.get(e);this.declaration=t}return this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initOutputs(),this.initialData.process&&(this.process=R(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this}initOutputs(){const e=[];this.outputs=this.initialData.outputs.map(s=>{const o=R(s,this.project);return e.push(o.index),o.setParent(this),o.initChildren(),o});const i=Pd(this).filter(s=>!this.outputs.find(o=>o.declaration.id===s.id));i.sort((s,o)=>s.index-o.index);const a=i.map((s,o)=>{const u=e.includes(s.index)?this.outputs.length-1+o:s.index,p={id:$.UUID.uuid(),type:r.OutputMap,version:1,declaration:s,index:u,parent:this,writesValues:[]},h=R(p,this.project);return h.setParent(this),h.initChildren(),h});return this.outputs.push(...a),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){var s;const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:u}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}if(this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.outputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.error){const{affected:o,removed:u}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}return this.successCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{i.push(o),o.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:i}=this.process.restore({seenEntities:e});t.push(...i)}return this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e))])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,process:this.process?this.process.toReference():null,inputs:this.inputs.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),declaration:this.declaration.toReference(),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.process?this.process.toFlatJSON(e):[],...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,version:this.version,type:this.type,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),declaration:this.declaration.id,parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.process?this.process.toFlatGenerationTarget(e):[],...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(i=>i.clearErrors()),this.outputs.forEach(i=>i.clearErrors()),this.successCalls.forEach(i=>i.clearErrors()),this.errorCalls.forEach(i=>i.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=G9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.error?this.error.getErrors():[],...this.process?this.process.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new ve(this.toJSON(),this.project)}};l(ve,"MUTABLE_BASE_PROPERTIES",[]),l(ve,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(ve,"BASE_PROPERTIES",[...ve.MUTABLE_BASE_PROPERTIES,...ve.INMUTABLE_BASE_PROPERTIES]),l(ve,"MUTABLE_META_PROPERTIES",["x","y"]),l(ve,"INMUTABLE_META_PROPERTIES",[...ve.INMUTABLE_BASE_PROPERTIES]),l(ve,"META_PROPERTIES",[...ve.MUTABLE_META_PROPERTIES,...ve.INMUTABLE_META_PROPERTIES]),l(ve,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(ve,"INMUTABLE_UPSTREAM_PROPERTIES",["declaration","parent"]),l(ve,"UPSTREAM_PROPERTIES",[...ve.MUTABLE_UPSTREAM_PROPERTIES,...ve.INMUTABLE_UPSTREAM_PROPERTIES]),l(ve,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","writesValues","inputs","outputs","error"]),l(ve,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ve,"DOWNSTREAM_PROPERTIES",[...ve.MUTABLE_DOWNSTREAM_PROPERTIES,...ve.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ve,"PROPERTIES",[...ve.META_PROPERTIES,...ve.UPSTREAM_PROPERTIES,...ve.DOWNSTREAM_PROPERTIES]);let br=ve;function hg(n){var e,t,i;switch(n.id){case Ve["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const a=n.project.entities.filter(m=>!!m.implements.find(T=>T.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id));if(a.find(m=>!!m.properties.find(T=>{var b;return T.implements&&T.implements.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default&&((b=T.getDefaultValue())==null?void 0:b.value)===!0}))){const T=a[0].properties.find(I=>I.implements&&I.implements.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default),b=(e=T==null?void 0:T.dataType)==null?void 0:e.defaultValue;if(b)b.value=!0;else if(T!=null&&T.dataType){const I=(t=T==null?void 0:T.dataType)==null?void 0:t.id.split("-id")[0],B=R({id:I+"-default-value-id",version:1,type:r.PrimitiveValue,name:g.EntityTemplate,autogeneration:null,value:!0,valueAsType:null,parent:T==null?void 0:T.dataType.toReference()},n.project);return B.setParent(T==null?void 0:T.dataType),B.initChildren(),B.addSelfToProject(),{newEntities:[B]}}return{newEntities:[]}}const o=n.project.get(Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id),u=lo(o,"Main database");if(u.errors.length>0)return{newEntities:[]};const p=u.implemented.properties.find(m=>m.implements&&m.implements.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default),h=(i=p==null?void 0:p.dataType)==null?void 0:i.defaultValue;if(h)h.value=!0;else if(p!=null&&p.dataType){const m=p==null?void 0:p.dataType.id.split("-id")[0],T=R({id:m+"-default-value-id",version:1,type:r.PrimitiveValue,name:g.EntityTemplate,autogeneration:null,value:!0,valueAsType:null,parent:p==null?void 0:p.dataType.toReference()},n.project);T.setParent(p==null?void 0:p.dataType),T.initChildren(),T.addSelfToProject()}return{newEntities:[u.implemented]}}}return{newEntities:[]}}function fg(n){return n.implements.filter(t=>t.type===r.BuiltInBaseEntity).map(t=>{var i;switch(t.id){case Ve["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const s=n.project.entities.filter(p=>p.implements.find(h=>h.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id)).find(p=>!!p.properties.find(h=>{var m;return h.implements&&h.implements.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default&&((m=h.getDefaultValue())==null?void 0:m.value)===!0}));if(!s)return{newEntities:[]};const o=n.properties.find(p=>p.implements&&p.implements.id===Ve["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.properties.database),u=(i=o==null?void 0:o.dataType)==null?void 0:i.defaultValue;if(o&&(o!=null&&o.dataType)&&!u){const p=o==null?void 0:o.dataType.id.split("-id")[0],h=R({id:p+"-default-value-id",version:1,type:r.PrimitiveValue,name:g.EntityTemplate,autogeneration:null,value:null,valueAsType:s,parent:o==null?void 0:o.dataType.toReference()},n.project);return h.setParent(o==null?void 0:o.dataType),h.initChildren(),h.addSelfToProject(),{newEntities:[h]}}return{newEntities:[]}}}}),{newEntities:[]}}function lo(n,e,t){const i=t||Xt(e,r.CustomEntity,n.project),a=i.split("-id"),s=a[a.length-1||0]||i,o={id:i,version:1,name:e,type:r.CustomEntity,description:null,static:!1,abstract:!1,properties:[],methods:[],abstractMethods:[],extends:[],implements:[n],x:0,y:0,parent:n.project},u=Ks(o,n.project);if(u.length>0)return{errors:u,implemented:null,entitiesChanges:{new:[],updated:[],deleted:[]}};const p=hg(n),h=R(o,n.project);h.setParent(n.project),h.initChildren();const m=n.properties.map(I=>{const B=s+"-"+Xt(A(I,n.project),r.Property,n.project),G=I.clone(h,B);return G.abstract=!1,G.implements=I,G.setParent(h),h.addProperty(G),G}),T=n.abstractMethods.map(I=>{const B=s+Xt(I.name,r.FunctionDeclaration,n.project),G=I.implementAsFunctionDeclaration(B),W={id:B+"-parent-ref-id",type:r.GenericReference,entityId:i,entityType:r.CustomEntity},xt={...G,implements:I,parent:W},Le=R(xt,n.project);return h.addMethod(Le),Le.setParent(h),Le.initChildren(),Le.implements=I,Le});o.properties=m,o.methods=T;const b=fg(h);return{implemented:h,errors:[],entitiesChanges:{new:[h,...p.newEntities,...b.newEntities],updated:[h],deleted:[]}}}function co(n,e){const t=gr(n);if(t.length===0)return{list:[],last:null};let i=null;return{list:t.flatMap(s=>{if(s===e)return i=s,[s];const o=co(s,e);return o.last&&(i=o.last),[s,...o.list]}),last:i}}function mg(n,e,t=new Set){const i=Gn(n),a=Gn(e),s=i.filter(p=>!a.includes(p)),o=i.filter(p=>a.includes(p)),u=s.reduce((p,h)=>t.has(h.id)?p:(t.add(h.id),S([...p,...mg(h,e,t)])),[]);return S([...o,...u])}function pa(n,e){const t=co(n,e);return t.last===e&&t.list.length>0&&t.list[0]!==e}function F9(n,e){return!!co(n,e).last}function U9(n){if($e.includes(n.type))return n;if([...En,r.VariableDeclaration].includes(n.type)){const e=n.parent;return $e.includes(e.type)?e:null}return null}function bd(n,e){if(!n||!e)throw new Error("Both entities must be defined to find a common ancestor");if(n===e)return n;const t=n.parent;if(t){if(t===e)return e;if(t.type===r.Project)return null}else return null;const i=e.parent;if(i){if(i===n)return n;if(i.type===r.Project)return null}else return null;return bd(t,i)}function He(n){if(bo.includes(n.type)){if(n.type===r.FunctionDeclaration){const e=n.parent;if(e.type===r.CustomEntity)return e}return n}else{const e=n.parent;return e?He(e):null}}function x9(n){return n.type===r.VariableDeclaration?[n]:Ne.includes(n.type)?[...n.inputs,...n.outputs||[]]:n.type===r.ReturnStatement?n.outputs:Ar.includes(n.type)||n.type===r.FunctionDeclaration?n.inputs:[]}function j9(n){const e=Gn(n),t=[],i=[];$d.includes(n.type)&&t.push(...vd(n));const a=e.filter(s=>{const o=t.includes(s);return o?!1:En.includes(s.type)&&!o?(i.push(s),!1):!0});return t.sort((s,o)=>pa(o,s)?-1:0),i.sort((s,o)=>pa(o,s)?-1:0),[...t,...i,...a]}function Tg(n){return[...n].sort((e,t)=>pa(t,e)?-1:0)}function k9(n){const e=Tg(n),t=[];return e.forEach(i=>{const a=t[t.length-1];if(a){const s=a[a.length-1];pa(i,s)?t.push([i]):a.push(i)}else t.push([i])}),t}function _t(n){const e=n.map(t=>He(t));return S(e)}function vd(n){return Ne.includes(n.type)?[..._t(n.successCalls),..._t(n.errorCalls)]:$e.includes(n.type)?_t(n.calls):[]}function q9(n,e){return vd(n).includes(e)}function gd(n){return n.writesValues||[]}function J9(n,e){return gd(n).includes(e)}function Eg(n){var e;return Fe.includes((e=n==null?void 0:n.readsValue)==null?void 0:e.type)?n.readsValue:null}function W9(n){return n.writesValues}function Rg(n=[]){return n.map(Eg).filter(e=>!!e)}function uo(n=[]){return n.map(e=>e.writesValues).flat().filter(e=>Fe.includes(e.type))}function bg(n=[]){return n.map(e=>e.readsValue).filter(e=>!!e&&Fe.includes(e.type))}function vg(n){return Fe.includes(n.type)?n:null}function gg(n){return n.writesValues.map(vg).filter(e=>!!e)}function Ig(n=[]){return n.reduce((e,t)=>t.type===r.OutputMap?[...e,...gg(t)]:e,[])}function Me(n){return Ne.includes(n.type)?[...vr(_t(n.successCalls)),...vr(_t(n.errorCalls))]:$e.includes(n.type)?vr(_t(n.calls)):[]}function Pg(n,e=new Set){return n.writesValues.filter(i=>Fe.includes(i.type)&&!e.has(i.id)).reduce((i,a)=>e.has(a.id)?i:[...i,...Z(a,e)],[])}function Dg(n,e=new Set){var i;return(((i=n.readsValue)==null?void 0:i.writesValues)||[]).filter(a=>Fe.includes(a.type)&&!e.has(a.id)).reduce((a,s)=>e.has(s.id)?a:[...a,...Z(s,e)],[])}function Z(n,e=new Set){if(e.has(n.id))return[];if(n.type===r.ReturnStatement)return bg(n.outputs).reduce((i,a)=>[...i,...Z(a,e)],[]);if(n.type===r.FunctionCall||n.type===r.Operation||n.type===r.Condition)return[...Me(n).reduce((s,o)=>{const u=He(o);return[...s,...Z(u||o,e)]},[]),...Rg(n.inputs),...Ig(n.outputs)].reduce((s,o)=>[...s,...Z(o,e)],[]);if(Ar.includes(n.type)){const t=uo(n.inputs),a=Me(n).reduce((s,o)=>{const u=He(o);return[...s,...Z(u||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...Z(o,e)],[])}if(n.type===r.FunctionDeclaration){const t=[...uo(n.inputs)],a=Me(n).reduce((s,o)=>{const u=He(o);return[...s,...Z(u||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...Z(o)],[])}if(Fe.includes(n.type)){e.add(n.id);const i=Me(n).reduce((a,s)=>{const o=He(s);return[...a,...Z(o||s,e)]},[]);return[n,...i,...Dg(n,e),...Pg(n,e)]}return[]}function vt(n,e=new Set){return e.has(n.id)?[]:(e.add(n.id),[...Gn(n).reduce((a,s)=>[...a,s,...vt(s,e)],[])])}function vr(n){return n.reduce((e,t)=>t.type===r.ReturnStatement||t.type===r.ContinueStatement||t.type===r.BreakStatement?e:[...e,t,...Me(t)],[])}function Ag(n){const e=n.entities||[],t=[...e,...n.functions||[],...n.events||[],...n.projects||[]],i=e.reduce((p,h)=>[...p,...h.properties],[]),a=e.reduce((p,h)=>[...p,...h.methods],[]),s=a.reduce((p,h)=>[...p,...uo(h.inputs),...vr(_t(h.calls)),...h.returnStatements],[]),o=n.functions.reduce((p,h)=>[...p,...vr(_t(h.calls)),...h.returnStatements],[]),u=n.events.reduce((p,h)=>[...p,...vr(_t(h.calls)),...h.returnStatements],[]);return[...t,...i,...a,...s,...o,...u]}function Sg(n,e){return e.filter(i=>{if(!i)return!1;switch(i.type){case r.FunctionCall:return i.inputs.find(a=>a.id===n.id)!==void 0||i.outputs.find(a=>a.id===n.id)!==void 0;case r.Condition:return i.successCalls.find(a=>a.id===n.id)!==void 0||i.errorCalls.find(a=>a.id===n.id)!==void 0||i.inputs.find(a=>a.id===n.id)!==void 0;case r.Operation:return i.outputs.find(a=>a.id===n.id)!==void 0;case r.VariableDeclaration:return Ne.includes(n.type)?Og(n).find(s=>{var o;return((o=s.readsValue)==null?void 0:o.id)===i.id})!==void 0:!1;case r.CustomEntity:return i.properties.find(a=>a.id===n.id)!==void 0||i.methods.find(a=>a.id===n.id)!==void 0;case r.FunctionDeclaration:return i.inputs.find(a=>a.id===n.id)!==void 0||(i.returnStatements.map(a=>a.outputs).flat()||[]).find(a=>a.id===n.id)!==void 0;default:return!1}})}function H9(n){const e=Ag(n.project);return Sg(n,e)}function gr(n){const e=[];if(En.includes(n.type)){n.calledBy.forEach(a=>{const s=He(a);s&&e.push(s)});const i=[...n.inputs||[],...n.outputs||[]].map(a=>Dd(a)).filter(a=>a!==null);e.push(...S(i))}if(Fe.includes(n.type)){const t=Dd(n);t&&e.push(t)}return S(e)}function Id(n){return n.type===r.FunctionCall||n.type===r.InternalCall?n.declaration.inputs:[r.Operation,r.Condition,r.Loop].includes(n.type)?n.declaration.fixedArguments:n.type===r.FunctionDeclaration||Ar.includes(n.type)?n.inputs:n.type===r.Search?n.inputsDeclarations:[]}function Y9(n,e){return e.type===r.Condition?e.inputs.find(t=>t.declaration.id===n.id):e.type===r.FunctionCall||e.type===r.Operation?e.inputs.find(t=>t.declaration.id===n.id):null}function Og(n){return Ne.includes(n.type)?n.inputs:[]}function Pd(n){var e;return n.type===r.FunctionCall?((e=n.declaration.returnStatements[0])==null?void 0:e.outputs)||[]:[r.Operation,r.Condition,r.Loop].includes(n.type)?n.declaration.fixedReturns:n.type===r.Search?n.outputsDeclarations:Oe.includes(n.type)?n.outputs:[]}function z9(n,e){return e.type===r.Condition?null:e.type===r.FunctionCall||e.type===r.Operation?e.outputs.find(t=>t.declaration.id===n.id):null}function Z9(n){return n.type===r.Condition?[]:Ne.includes(n.type)?n.outputs:[]}function Dd(n){const e=n.readsValue;return e?He(e):null}function Cg(n){const e=n.internalCalls||[];return S(_t(S(e.flatMap(t=>[...t.successCalls,...t.errorCalls]))))}function ui(n){const e=gd(n),t=[];return e.forEach(i=>{if(Fe.includes(i.type))t.push(i);else if(i.type===r.InputMap){const a=i.parent;if(a.type===r.InputMap){const s=a.parent;t.push(s)}else t.push(a)}else[r.ActionDescriptor].includes(i.parent.type)||t.push(i.parent)}),t}function S(n){const e=new Set;return n.filter(t=>e.has(t.id)?!1:(e.add(t.id),!0))}function Gn(n,e=!1){const t=[];if(n.type===r.Project&&t.push(...(n==null?void 0:n.entities)||[],...(n==null?void 0:n.functions)||[],...(n==null?void 0:n.variableDeclarations)||[],...(n==null?void 0:n.variableInstances)||[],...(n==null?void 0:n.searches)||[],...(n==null?void 0:n.loops)||[],...(n==null?void 0:n.operations)||[],...(n==null?void 0:n.conditions)||[],...(n==null?void 0:n.functionCalls)||[],...(n==null?void 0:n.events)||[],...(n==null?void 0:n.projects)||[]),st.includes(n.type)&&t.push(...(n==null?void 0:n.detachedChildren)||[]),n.type===r.CustomEntity){const i=[...n.suggestedMethods,...n.methods].flatMap(a=>a.collapsed&&e?[]:Gn(a));t.push(...i)}if(n.type===r.Condition){const i=n.successCalls.map(s=>He(s)),a=n.errorCalls.map(s=>He(s));t.push(...i,...a)}if(Ar.includes(n.type)){if(n.collapsed&&e)return[];const i=n.inputs.map(s=>ui(s)).flat(),a=n.calls.map(s=>He(s));t.push(...S(i),...a)}if(Ne.includes(n.type)&&n.type!==r.Condition){const i=n==null?void 0:n.outputs.map(o=>ui(o)).flat(),a=n.successCalls.map(o=>He(o)),s=n.errorCalls.map(o=>He(o));t.push(...S(i),...a,...s)}if(Fe.includes(n.type)){const i=ui(n),a=Cg(n);t.push(...i,...a)}if(n.type===r.Loop){const i=n.outputs.map(o=>ui(o)).flat();if(n.body){const o=Gn(n.body,e);t.push(...o)}const a=n.errorCalls.map(o=>He(o)),s=n.successCalls.map(o=>He(o));t.push(...S(i),...s,...a)}if(n.type===r.FunctionDeclaration){if(n.collapsed&&e)return[];const i=n.inputs.map(s=>ui(s)).flat(),a=n.calls.map(s=>He(s));t.push(...S(i),...a)}return S(t)}function Bg(n,e=!1){const t=Gn(n,e),i=[...t,...t.reduce((a,s)=>[...a,...Bg(s,e)],[])];return S(i)}function wg(n){const e=gr(n),t=[...e,...e.reduce((i,a)=>[...i,...wg(a)],[])];return S(t)}function po(n){return n.implements.reduce((e,t)=>t.type===r.CustomEntity?[...e,r.CustomEntity,...po(t),...yo(t)]:[...e,t.name],[])}function yo(n){return n.extends.reduce((e,t)=>t.type===r.CustomEntity?[...e,r.CustomEntity,...yo(t),...po(t)]:[...e,t.name],[])}function Ad(n){return n.extends.reduce((e,t)=>t.type===r.CustomEntity?[...e,t,...Ad(t),...Sd(t)]:[...e,t],[])}function Sd(n){return n.implements.reduce((e,t)=>t.type===r.CustomEntity?[...e,t,...Sd(t),...Ad(t)]:[...e,t],[])}function _g(n){return[...yo(n),...po(n)].filter((t,i,a)=>a.indexOf(t)===i)}function Mg(n){return n.implements.length===0&&n.extends.length===0?null:n.implements.find(i=>i.type===r.BuiltInBaseEntity&&i.name===_.PERSISTED_ENTITY)?n:[...n.implements,...n.extends].reduce((i,a)=>{if(a.type===r.CustomEntity){const s=Mg(a);if(s)return s}return i},null)}function X9(n){const e=n.extends.find(t=>t.type===r.BuiltInBaseEntity);return e&&e.type===r.BuiltInBaseEntity?e:null}function Q9(n){const e=n.implements.find(t=>t.type===r.BuiltInBaseEntity);return e&&e.type===r.BuiltInBaseEntity?e:null}function Ng(n){const e=n.extends.find(t=>t.type===r.CustomEntity);return e&&e.type===r.CustomEntity?e:null}function Fn(n){const e=[...n.implements,...n.extends].reduce((t,i)=>i.type===r.BuiltInBaseEntity?[...t,i]:i.type===r.CustomEntity?[...t,...Fn(i)]:t,[]);return S(e)}function Od(n){return n.type===r.PrimitiveEntity?!0:n.type===r.BuiltInBaseEntity?n.interactive:!Fn(n).find(i=>!i.interactive)}function K9(n){return n.parent===n.project&&n.project.variableDeclarations.includes(n)}function Cd(n){return n.parent!==n.project?!1:r.VariableDeclaration===n.type?n.project.variableDeclarations.includes(n):r.VariableInstance===n.type?n.project.variableInstances.includes(n):r.FunctionCall===n.type?n.project.functionCalls.includes(n):r.Condition===n.type?n.project.conditions.includes(n):r.Operation===n.type?n.project.operations.includes(n):r.Loop===n.type?n.project.loops.includes(n):r.Search===n.type?n.project.searches.includes(n):!1}function $g(n){if([...$e,r.CustomEntity,r.InstalledProject,r.Project].includes(n.type)||Cd(n))return!1;const e=gr(n);return e.length===0?!0:e.some(t=>$g(t))}function Bd(n){return[...$e,r.CustomEntity,r.InstalledProject,r.Project].includes(n.type)||Cd(n)?!1:gr(n).length===0}function Vg(n,e=0){if(Bd(n)){const t=gr(n);return t.length===0?n:t.map(a=>Vg(a,e+1)).reduce((a,s)=>a?s&&s.x<a.x?s:a:s,null)}return null}function Lg(n){const e=[];if(Bd(n))e.push(n);else return[];return gr(n).forEach(i=>{e.push(...Lg(i))}),e}function Gg(n){return n.type===r.FunctionDeclaration&&n.parent!==n.project&&!![r.CustomEntity,r.Loop,r.InstalledProject].includes(n.parent.type)}function Fg(n,e){const t=new Map;return n.forEach(i=>{t.set(i.id,i)}),e.forEach(i=>{t.set(i.id,i)}),Array.from(t.values())}function ho(n){switch(n){case r.CustomEntity:return Pr;case r.FunctionDeclaration:return cr;case r.VariableDeclaration:return yr;case r.VariableInstance:return hr;case r.FunctionCall:return br;case r.Operation:return dr;case r.Condition:return pr;case r.ReturnStatement:return Er;case r.Loop:return ur;case r.Search:return fr;case r.InputMap:return hn;case r.OutputMap:return fn;case r.ArgumentDeclaration:return Tr;case r.ReturnDeclaration:return Ot;case r.Property:return lr;case r.InstalledProject:return mr;case r.Project:return $;case r.BuiltInBaseEntity:return Ut;default:return null}}function ht(n,e){if(st.includes(n.type))return n;if(Sr.includes(n.type))return null;const t=n.parent;if(!t)return null;if(t.type===r.GenericReference){const i=D(t);if(!i)return null;const a=e.get(i);return a?ht(a,e):null}else return t===e?e:ht(t,e)}function wd(n,e){if(Sr.includes(n.type)||e.getAllBuiltInIds().includes(n.id))return null;const i=Mt(n.parent,e);return i?i===e?st.includes(n.type)?n:null:i.type===r.CustomEntity?n:wd(i,e):null}function fo(n,e,t){if(n===e||e===t||n===t)return!1;const i=ht(e.parent,t);return i===n?!0:fo(i,e,t)}var mo=(n=>(n.SameBothLocal="same-both-local",n.AInB="a-in-b",n.BInA="b-in-a",n.ParallelInCommonParent="parallel-in-common-parent",n.ParallelInProject="parallel-in-project",n.AIsGlobalBIsNot="a-is-global-b-is-not",n.BIsGlobalAIsNot="b-is-global-a-is-not",n.SameBothGlobal="same-both-global",n))(mo||{});function ya(n,e,t){const i=ht(n,t),a=ht(e,t);if(!i)throw new Error("Could not find scope owner for the entity: "+n.id);if(!a)throw new Error("Could not find scope owner for the entity: "+e.id);if(i===a&&i.type!==r.Project)return{compatible:!0,type:"same-both-local",commonAncestorScope:i};if(i===a&&i.type===r.Project)return{compatible:!0,type:"same-both-global",commonAncestorScope:i};if(i.type===r.Project&&a.type!==r.Project)return{compatible:!1,type:"a-is-global-b-is-not",commonAncestorScope:i};if(i.type!==r.Project&&a.type===r.Project)return{compatible:!1,type:"b-is-global-a-is-not",commonAncestorScope:a};if(fo(i,a,t))return{compatible:!0,type:"b-in-a",commonAncestorScope:i};if(fo(a,i,t))return{compatible:!0,type:"a-in-b",commonAncestorScope:a};const u=bd(i,a);return u===t?{compatible:!1,type:"parallel-in-project",commonAncestorScope:u}:u?{compatible:!1,type:"parallel-in-common-parent",commonAncestorScope:ht(u,t)}:{compatible:!1,type:"parallel-in-project",commonAncestorScope:t}}function Ug(n,e,t){const i=ya(n,e,t);if(!i.compatible||i.type!=="same-both-local")return null;if(n===e)return n;let a=ht(n.parent,t);if(a){if(a===e)return e;if(a.type===r.Project)return n}else return n;for(;a;){if(a){if(a===e)return e;if(a.type===r.Project)return n}else return n;a=ht(a.parent,t)}let s=ht(e.parent,t);if(s){if(s===n)return n;if(s.type===r.Project)return e}else return e;for(;s;){if(s){if(s===n)return n;if(s.type===r.Project)return e}else return e;s=ht(s.parent,t)}return null}function xg(n){return n.length===0?null:n.length===1?n[0]:n.reduce((t,i)=>{const a=Ug(t,i,i.project);return!a||a===i?t:i},n[0])}function Mt(n,e){let t;return typeof n=="string"?t=n:n.type===r.GenericReference?t=D(n):t=n.id,t===e.id?e:e.get(t)}function Ir(n){if(Sr.includes(n.type))return n;if(n.type===r.Project)return null;if(n.project.getAllBuiltInIds().includes(n.id))return n;const t=n.parent;return!t||t.type===r.Project?null:Ir(t)}function ha(n,e){var t;if(n.readsValue){const i=Mt(n.readsValue,e.project);e.setValueWriter(i),i.addValueReader(e)}else n.readsValue===null&&((t=e.readsValue)==null||t.removeValueReader(e),e.readsValue=null);return e}function _d(n){const e=[];function t(o,u){return e.some(p=>p.blockedByCaller===o&&p.blockedByCalling===u)}function i(o,u){t(o,u)||e.push({blockedByCaller:o,blockedByCalling:u})}const a=wd(n,n.project);return n.calledBy.forEach(o=>{if([...o.calls||[],...o.successCalls||[],...o.errorCalls||[]].forEach(h=>{Oe.includes(h.type)&&i(o,h)}),o===a)return;let p;if(Ne.includes(o.type))p=o;else if(o.type===r.FunctionDeclaration){const h=He(o);if(h.type===r.CustomEntity)return;h.type===r.Loop&&(p=h)}if(p){const h=_d(p);h.reachable||(Oe.includes(n.type)?h.blocks.forEach(m=>{i(o,m.blockedByCalling)}):Me(n).find(b=>b===o)||h.blocks.forEach(b=>{i(o,b.blockedByCalling)}))}}),{reachable:e.length===0,entryPoint:a,blocks:e}}function e3(n){return bo.includes(n.type)?n.type===r.FunctionDeclaration?!Gg(n):!0:!1}function t3(n){if(r.ActionDescriptor===n.type){if(n.project.operationDeclarations.find(s=>s.id===n.id))return r.Operation;if(n.project.globalEventActionDescriptors.find(s=>s.id===n.id))return r.GlobalEvent;if(n.project.loopDeclarations.find(s=>s.id===n.id))return r.Loop;if(n.project.conditionDeclarations.find(s=>s.id===n.id))return r.Condition}return n.type}function n3(n,e){const t=[];if(n.parent)if(n.id===n.parent)t.push(new E({id:`${n.id}--${n.parent}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at 'parent'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}));else{const i=e.get(n.parent);i?[r.Project,r.DataType].includes(i.type)||t.push(new E({id:`${n.id}--${n.parent}--${y.InvalidParentReference}`,code:y.InvalidParentReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a parent reference that isn't pointing to an entity of type 'project' or 'data-type'.`,issue:null})):t.push(new E({id:`${n.id}--${n.parent}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}return n.implements&&Array.isArray(n.implements)?n.implements.forEach(i=>{if(n.id===i){t.push(new E({id:`${n.id}--${i}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at one of the 'implements' references. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}));return}const a=e.get(i);a?[r.CustomEntity,r.BuiltInBaseEntity].includes(a.type)?a.abstract||t.push(new E({id:`${n.id}--${i}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' reference that isn't pointing to an abstract entity.`,issue:null})):t.push(new E({id:`${n.id}--${i}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' reference that isn't pointing to an entity of type 'custom-entity' or 'built-in-base-entity'.`,issue:null})):t.push(new E({id:`${n.id}--${i}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${i}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}):t.push(new E({id:`${n.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' property that isn't an array.`,issue:null})),n.extends&&Array.isArray(n.extends)&&n.extends.forEach(i=>{const a=e.get(i);a?[r.CustomEntity,r.BuiltInBaseEntity].includes(a.type)?a.abstract&&t.push(new E({id:`${n.id}--${i}--${y.InvalidExtendsReference}`,code:y.InvalidExtendsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'extends' reference that isn't pointing to a non-abstract entity. Did you want to use the property 'implements', which holds a list of references to absract entities, instead?`,issue:null})):t.push(new E({id:`${n.id}--${i}--${y.InvalidExtendsReference}`,code:y.InvalidExtendsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'extends' reference that isn't pointing to an entity of type 'custom-entity' or 'built-in-base-entity'.`,issue:null})):t.push(new E({id:`${n.id}--${i}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${i}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}),t}const pe=class pe{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"static");l(this,"abstract");l(this,"type",r.CustomEntity);l(this,"properties",[]);l(this,"methods",[]);l(this,"abstractMethods",[]);l(this,"extends",[]);l(this,"implements",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestedProperties",[]);l(this,"suggestedMethods",[]);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.x=e.x,this.y=e.y,this.static=e.static,this.abstract=e.abstract}static fromGenerationTarget(e,t){let i=t;if(e.parent){const p=D(e.parent);i=t.get(p)}const a=[];e.implements&&e.implements.forEach(p=>{a.push(t.get(p)||t.getBuiltIn(p))});const s=[];e.extends&&e.extends.forEach(p=>{s.push(t.get(p)||t.getBuiltIn(p))});const o={id:e.id,version:1,name:e.name,type:r.CustomEntity,description:e.description,static:e.static,abstract:e.abstract,properties:[],methods:[],abstractMethods:[],extends:s,implements:a,x:0,y:0,parent:i},u=R(o,t);return u.setParent(i),u.initChildren(),u}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=n3(i,t),o=Ks(i,t);a.push(...s,...o,...Pe(i));const u=i.parent?t.get(i.parent):null;if(u&&u.type===r.DataType){const p=u;p.entity&&a.push(new E({id:`${e.id}--${y.NewEntityWouldOverriteExisting}`,code:y.NewEntityWouldOverriteExisting,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${p.id}' because it already has an 'entity' child. Data type entities can only have one 'entity' as children.
373
373
  You can inspect the existing 'entity' field with the 'describe_entity' action. Like so:
374
374
  ${Qt({describe_entity:p.entity.id})}
375
- Alternatively you can update the parent data-type entity with 'update' action to remove the existing value of the field.`,issue:null}))}return{errors:a,modifiedData:i}}get extendedProperties(){return S(this.extends.reduce((e,t)=>[...[...t.properties,...t.extendedProperties].filter(a=>!a.abstract),...e],[]))}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on an '${this.type}', must be the root project as it is a globally declared entity.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){if(this.parent.type===r.DataType){const e=this.parent;e.entity=this}else this.project.addCustomEntity(this);return this}setParent(e){return this.parent=e,this}removeProperty(e){return this.properties=this.properties.filter(t=>t.id!==e.id),this}addMethod(e){return this.methods.includes(e)||(this.methods.push(e),this.suggestedMethods=this.suggestedMethods.filter(t=>t.name!==e.name)),this}removeMethod(e){return this.methods=this.methods.filter(t=>t.id!==e.id),this}addProperty(e){return this.properties.includes(e)||(this.properties.push(e),this.suggestedProperties=this.suggestedProperties.filter(t=>t.name!==e.name)),this}addSuggestedProperty(e){return this.suggestedProperties.includes(e)||this.suggestedProperties.push(e),this}addSuggestedMethod(e){return this.suggestedMethods.includes(e)||this.suggestedMethods.push(e),this}removeSuggestedProperty(e){return this.suggestedProperties=this.suggestedProperties.filter(t=>t.id!==e.id),this}removeSuggestedMethod(e){return this.suggestedMethods=this.suggestedMethods.filter(t=>t.id!==e.id),this}addAbstractMethod(e){return this.abstractMethods.includes(e)||this.abstractMethods.push(e),this}removeAbstractMethod(e){return this.abstractMethods=this.abstractMethods.filter(t=>t.id!==e.id),this}initChildren(){return this.initialized?this:(this.initialized=!0,this.properties=this.initialData.properties.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.methods=this.initialData.methods.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.abstractMethods=this.initialData.abstractMethods.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.extends=this.initialData.extends.map(e=>R(e,this.project)),this.implements=this.initialData.implements.map(e=>R(e,this.project)),this.addSuggestions(),this)}addSuggestions(){return this.implements.forEach(e=>{Vx(this,e).forEach(a=>{const s=a.toJSON();s.id=`_suggestion--parent--${this.id}--${a.id}`;const o=R(s,this.project);o.suggestion=!0,o.setParent(this),o.initChildren(),this.addSuggestedProperty(o)}),Lx(this,e).forEach(a=>{const s=`_suggestion--parent--${this.id}--${a.id}`,o=a.implementAsFunctionDeclaration(s),u=R(o,this.project);if(u.suggestion=!0,u.setParent(this),u.initChildren(),u.inputs.forEach(p=>{p.suggestion=!0}),u.returnStatements.length){const p=u.returnStatements[0];p.suggestion=!0,p.outputs.forEach(h=>{h.suggestion=!0})}this.addSuggestedMethod(u)})}),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.x=e.x||this.x,this.y=e.y||this.y,this.static=e.static||this.static,this.abstract=e.abstract||this.abstract,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.properties.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.methods.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.abstractMethods.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.suggestedProperties.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.suggestedMethods.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.properties.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.methods.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.abstractMethods.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.suggestedProperties.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.suggestedMethods.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),{affected:S(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.extends.flatMap(i=>i.toFlat(e)),...this.implements.flatMap(i=>i.toFlat(e)),...this.properties.flatMap(i=>i.toFlat(e)),...this.methods.flatMap(i=>i.toFlat(e)),...this.abstractMethods.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.extends.flatMap(i=>i.toFlatIds(e)),...this.implements.flatMap(i=>i.toFlatIds(e)),...this.properties.flatMap(i=>i.toFlatIds(e)),...this.methods.flatMap(i=>i.toFlatIds(e)),...this.abstractMethods.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,x:this.x,y:this.y,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),implements:this.implements.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,x:this.x,y:this.y,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),implements:this.implements.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(i=>i.toFlatJSON(e)),...this.methods.flatMap(i=>i.toFlatJSON(e)),...this.abstractMethods.flatMap(i=>i.toFlatJSON(e)),...this.implements.flatMap(i=>i.toFlatJSON(e)),...this.extends.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,name:this.name,description:this.description,type:this.type,static:this.static,abstract:this.abstract,extends:this.extends.map(t=>t.id),implements:this.implements.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(i=>i.toFlatGenerationTarget(e)),...this.methods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.implements.filter(i=>i.type===r.CustomEntity).flatMap(i=>i.toFlatGenerationTarget(e)),...this.implements.filter(i=>i.type===r.CustomEntity).flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){return this.errors=$x(this),{success:!0,error:null,data:null}}getErrors(){return[...this.errors,...this.properties.flatMap(t=>t.getErrors()),...this.methods.flatMap(t=>t.getErrors()),...this.abstractMethods.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new pe(this.toJSON(),this.project)}getFunctionDeclaration(e){return this.methods.find(t=>t.id===e)}implement(e,t){return so(this,e,t)}};l(pe,"MUTABLE_BASE_PROPERTIES",["name","description","static","abstract"]),l(pe,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(pe,"BASE_PROPERTIES",[...pe.MUTABLE_BASE_PROPERTIES,...pe.INMUTABLE_BASE_PROPERTIES]),l(pe,"MUTABLE_META_PROPERTIES",[...pe.MUTABLE_BASE_PROPERTIES,"x","y"]),l(pe,"INMUTABLE_META_PROPERTIES",[...pe.INMUTABLE_BASE_PROPERTIES]),l(pe,"META_PROPERTIES",[...pe.MUTABLE_META_PROPERTIES,...pe.INMUTABLE_META_PROPERTIES]),l(pe,"MUTABLE_UPSTREAM_PROPERTIES",["extends","implements"]),l(pe,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(pe,"UPSTREAM_PROPERTIES",[...pe.MUTABLE_UPSTREAM_PROPERTIES,...pe.INMUTABLE_UPSTREAM_PROPERTIES]),l(pe,"MUTABLE_DOWNSTREAM_PROPERTIES",["properties","methods","abstractMethods"]),l(pe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(pe,"DOWNSTREAM_PROPERTIES",[...pe.MUTABLE_DOWNSTREAM_PROPERTIES,...pe.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(pe,"PROPERTIES",[...pe.META_PROPERTIES,...pe.UPSTREAM_PROPERTIES,...pe.DOWNSTREAM_PROPERTIES]);let Ir=pe;function t3(n){const e=r4(),t=n.toJSON();e.safeParse(t).success;const a=[];return X(n.errors,a)}class Nt{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"type",r.PrimitiveEntity);l(this,"static");l(this,"abstract");l(this,"properties",[]);l(this,"methods",[]);l(this,"abstractMethods",[]);l(this,"extends",[]);l(this,"errors",[]);l(this,"project");this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.static=e.static,this.abstract=e.abstract,this.properties=this.initialData.properties.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(i=>{const a=R(i,this.project);return a.parent=this,a}),this.abstractMethods=this.initialData.abstractMethods.map(i=>{const a=R(i,this.project);return a.parent=this,a})}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}async load(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.properties.flatMap(i=>i.toFlat(e)),...this.methods.flatMap(i=>i.toFlat(e)),...this.abstractMethods.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.properties.flatMap(i=>i.toFlatIds(e)),...this.methods.flatMap(i=>i.toFlatIds(e)),...this.abstractMethods.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(i=>i.toFlatJSON(e)),...this.methods.flatMap(i=>i.toFlatJSON(e)),...this.abstractMethods.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,extends:this.extends.map(e=>e.id)}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(i=>i.toFlatGenerationTarget(e)),...this.methods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){const e=t3(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.properties.flatMap(t=>t.getErrors()),...this.methods.flatMap(t=>t.getErrors()),...this.abstractMethods.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new Nt(this.toJSON(),this.project)}}function n3(n){const e=p4(),t=n.toJSON();e.safeParse(t).success;const a=[];return X(n.errors,a)}class Ut{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"type",r.BuiltInBaseEntity);l(this,"abstract",!1);l(this,"static");l(this,"properties",[]);l(this,"methods",[]);l(this,"abstractMethods",[]);l(this,"extends",[]);l(this,"interactive",!1);l(this,"errors",[]);l(this,"project");this.initialData=this.initialData||e,this.project=this.project||t,this.id=this.id||e.id,this.version=this.version||e.version,this.name=this.name||e.name,this.static=this.static||e.static,this.interactive=this.interactive||e.interactive,this.abstract=e.abstract,this.properties=this.initialData.properties.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.abstractMethods=this.initialData.abstractMethods.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.extends=this.initialData.extends.map(i=>R(i,this.project))}get extendedProperties(){return S(this.extends.reduce((e,t)=>{if(t instanceof Ut){const i=[...t.properties,...t.extendedProperties].filter(a=>!a.abstract);e.push(...i)}return e},[]))}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}async load(){return this}remove(e={ignoreUpstream:!1,seenEntities:new Set}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.properties.flatMap(i=>i.toFlat(e)),...this.methods.flatMap(i=>i.toFlat(e)),...this.abstractMethods.flatMap(i=>i.toFlat(e)),...this.extends.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.properties.flatMap(i=>i.toFlatIds(e)),...this.methods.flatMap(i=>i.toFlatIds(e)),...this.abstractMethods.flatMap(i=>i.toFlatIds(e)),...this.extends.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,interactive:this.interactive,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,interactive:this.interactive,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(i=>i.toFlatJSON(e)),...this.methods.flatMap(i=>i.toFlatJSON(e)),...this.abstractMethods.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,interactive:this.interactive,extends:this.extends.map(e=>e.id)}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(i=>i.toFlatGenerationTarget(e)),...this.methods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){const e=n3(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.properties.flatMap(t=>t.getErrors()),...this.methods.flatMap(t=>t.getErrors()),...this.abstractMethods.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new Ut(this.toJSON(),this.project)}implement(e,t){return so(this,e,t)}}function ha(n,e){if(!n)throw new Error("Entity is null");const t=e.findSubscribedInstance(n);switch(n.type){case r.PrimitiveValue:return t||new li(n,e);case r.CustomEntity:return t||new Ir(n,e);case r.PrimitiveEntity:return t||new Nt(n,e);case r.FunctionDeclaration:return t||new lr(n,e);case r.GlobalEvent:return t||new si(n,e);case r.DataType:return t||new ai(n,e);case r.Property:return t||new or(n,e);case r.FunctionCall:return t||new Rr(n,e);case r.Condition:return t||new ur(n,e);case r.Operation:return t||new cr(n,e);case r.VariableDeclaration:return t||new pr(n,e);case r.VariableInstance:return t||new yr(n,e);case r.OutputMap:return t||new fn(n,e);case r.ReturnDeclaration:return t||new Ot(n,e);case r.ArgumentDeclaration:return t||new mr(n,e);case r.InputMap:return t||new hn(n,e);case r.Project:return t||new $(n);case r.InstalledProject:return t||new fr(n,e);case r.ActionDescriptor:return t||new _e(n,e);case r.ReturnStatement:return t||new Tr(n,e);case r.Loop:return t||new dr(n,e);case r.Search:return t||new hr(n,e);case r.ValueDescriptor:return t||new Er(n,e);case r.BuiltInBaseEntity:return t||new Ut(n,e);case r.InternalCall:return t||new oi(n,e);case r.ContinueStatement:return t||new yt(n,e);case r.BreakStatement:return t||new ci(n,e);default:throw new Error("Invalid entity type: "+n.type)}}function R(n,e){if(!n)throw new Error("Entity is null");const t=ha(n,e);return t.subscribe(),t}function r3(n,e){if(!n)throw new Error("Entity is null");switch(n.type){case r.PrimitiveValue:return li.fromGenerationTarget(n,e);case r.CustomEntity:return Ir.fromGenerationTarget(n,e);case r.FunctionDeclaration:return lr.fromGenerationTarget(n,e);case r.GlobalEvent:return si.fromGenerationTarget(n,e);case r.DataType:return ai.fromGenerationTarget(n,e);case r.Property:return or.fromGenerationTarget(n,e);case r.FunctionCall:return Rr.fromGenerationTarget(n,e);case r.Condition:return ur.fromGenerationTarget(n,e);case r.Operation:return cr.fromGenerationTarget(n,e);case r.VariableDeclaration:return pr.fromGenerationTarget(n,e);case r.VariableInstance:return yr.fromGenerationTarget(n,e);case r.OutputMap:return fn.fromGenerationTarget(n,e);case r.ReturnDeclaration:return Ot.fromGenerationTarget(n,e);case r.ArgumentDeclaration:return mr.fromGenerationTarget(n,e);case r.InputMap:return hn.fromGenerationTarget(n,e);case r.InstalledProject:return fr.fromGenerationTarget(n,e);case r.ReturnStatement:return Tr.fromGenerationTarget(n,e);case r.Loop:return dr.fromGenerationTarget(n,e);case r.Search:return hr.fromGenerationTarget(n,e);case r.ActionDescriptor:return _e.fromGenerationTarget(n,e);case r.ValueDescriptor:return Er.fromGenerationTarget(n,e);case r.InternalCall:return oi.fromGenerationTarget(n,e);case r.ContinueStatement:return yt.fromGenerationTarget(n,e);case r.BreakStatement:return ci.fromGenerationTarget(n,e);default:throw new Error("Invalid entity type: "+n.type)}}const Z=class Z{constructor(e){l(this,"initialData");l(this,"id");l(this,"version");l(this,"type",r.Project);l(this,"name",null);l(this,"description",null);l(this,"x");l(this,"y");l(this,"entities",[]);l(this,"projects",[]);l(this,"functions",[]);l(this,"events",[]);l(this,"variableDeclarations",[]);l(this,"variableInstances",[]);l(this,"conditions",[]);l(this,"operations",[]);l(this,"functionCalls",[]);l(this,"loops",[]);l(this,"searches",[]);l(this,"primitives",[]);l(this,"builtInBaseEntities",[]);l(this,"operationDeclarations",[]);l(this,"globalEventActionDescriptors",[]);l(this,"loopDeclarations",[]);l(this,"conditionDeclarations",[]);l(this,"valueDescriptors",[]);l(this,"dataTypes",[]);l(this,"project");l(this,"instances",{});l(this,"builtInInstances",{});l(this,"errors",[]);l(this,"references",[]);this.initialData=e,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.x=0,this.y=0}static injectUUIDModule(e){Z.UUID=e}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[];return a.push(...Pe(i)),{errors:a,modifiedData:i}}async inject(...e){return await Promise.all(e.map(t=>new Promise(async i=>{await t.init(this),i(null)}))),this}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){return this}get instancesList(){return Object.values(this.instances)}isOperationDeclaration(e){return this.operationDeclarations.includes(e)}isGlobalEventActionDescriptor(e){return this.globalEventActionDescriptors.includes(e)}isLoopDeclaration(e){return this.loopDeclarations.includes(e)}isConditionDeclaration(e){return this.conditionDeclarations.includes(e)}initChildren(){return this.entities=this.initialData.entities.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.projects=this.initialData.projects.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.functions=this.initialData.functions.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.events=this.initialData.events.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.variableDeclarations=this.initialData.variableDeclarations.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.variableInstances=this.initialData.variableInstances.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.conditions=this.initialData.conditions.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.operations=this.initialData.operations.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.functionCalls=this.initialData.functionCalls.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.loops=this.initialData.loops.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.searches=this.initialData.searches.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.attachOrphanReferences(),this.validate(),this}subscribeInstance(e){return(!this.instances[e.id]||this.instances[e.id]!==e)&&(this.instances[e.id]=e),this}subscribeBuiltInInstance(e){return(!this.builtInInstances[e.id]||this.builtInInstances[e.id]!==e)&&(this.builtInInstances[e.id]=e),this}subscribe(){return this}unsubscribe(){return this}unsubscribeInstance(e){return delete this.instances[e.id],this}findSubscribedInstance(e){return this.instances[e.id]||null}findSubscribedBuiltInInstance(e){return this.builtInInstances[e.id]||null}get(e){return this.instances[e]||this.builtInInstances[e]||null}getManaged(e){return this.instances[e]||null}getBuiltIn(e){return this.builtInInstances[e]||null}findSubscribedInstanceFromReference(e){return this.instances[e.entityId]||null}findSubscribedBuiltInInstanceFromReference(e){return this.builtInInstances[e.entityId]||null}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e}={ignoreUpstream:!1}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}getAllBuiltInIds(){const e=new Set;return[...this.primitives.flatMap(t=>t.toFlatIds(e)),...this.builtInBaseEntities.flatMap(t=>t.toFlatIds(e)),...this.operationDeclarations.flatMap(t=>t.toFlatIds(e)),...this.globalEventActionDescriptors.flatMap(t=>t.toFlatIds(e)),...this.loopDeclarations.flatMap(t=>t.toFlatIds(e)),...this.conditionDeclarations.flatMap(t=>t.toFlatIds(e)),...this.valueDescriptors.flatMap(t=>t.toFlatIds(e)),...this.dataTypes.flatMap(t=>t.toFlatIds(e))]}getAllBuiltIn(){const e=new Set;return[...this.primitives.flatMap(t=>t.toFlat(e)),...this.builtInBaseEntities.flatMap(t=>t.toFlat(e)),...this.operationDeclarations.flatMap(t=>t.toFlat(e)),...this.globalEventActionDescriptors.flatMap(t=>t.toFlat(e)),...this.loopDeclarations.flatMap(t=>t.toFlat(e)),...this.conditionDeclarations.flatMap(t=>t.toFlat(e)),...this.valueDescriptors.flatMap(t=>t.toFlat(e)),...this.dataTypes.flatMap(t=>t.toFlat(e))]}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(i=>i.toFlat(e)),...this.functions.flatMap(i=>i.toFlat(e)),...this.events.flatMap(i=>i.toFlat(e)),...this.projects.flatMap(i=>i.toFlat(e)),...this.variableDeclarations.flatMap(i=>i.toFlat(e)),...this.variableInstances.flatMap(i=>i.toFlat(e)),...this.conditions.flatMap(i=>i.toFlat(e)),...this.operations.flatMap(i=>i.toFlat(e)),...this.functionCalls.flatMap(i=>i.toFlat(e)),...this.loops.flatMap(i=>i.toFlat(e)),...this.searches.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),Array.from(e))}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,entities:this.entities.map(e=>e.toJSON()),functions:this.functions.map(e=>e.toJSON()),events:this.events.map(e=>e.toJSON()),projects:this.projects.map(e=>e.toJSON()),variableDeclarations:this.variableDeclarations.map(e=>e.toJSON()),variableInstances:this.variableInstances.map(e=>e.toJSON()),conditions:this.conditions.map(e=>e.toJSON()),operations:this.operations.map(e=>e.toJSON()),functionCalls:this.functionCalls.map(e=>e.toJSON()),loops:this.loops.map(e=>e.toJSON()),searches:this.searches.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+Z.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,entities:this.entities.map(e=>e.toReference()),functions:this.functions.map(e=>e.toReference()),events:this.events.map(e=>e.toReference()),projects:this.projects.map(e=>e.toReference()),variableDeclarations:this.variableDeclarations.map(e=>e.toReference()),variableInstances:this.variableInstances.map(e=>e.toReference()),conditions:this.conditions.map(e=>e.toReference()),operations:this.operations.map(e=>e.toReference()),functionCalls:this.functionCalls.map(e=>e.toReference()),loops:this.loops.map(e=>e.toReference()),searches:this.searches.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(i=>i.toFlatJSON(e)),...this.functions.flatMap(i=>i.toFlatJSON(e)),...this.events.flatMap(i=>i.toFlatJSON(e)),...this.projects.flatMap(i=>i.toFlatJSON(e)),...this.variableDeclarations.flatMap(i=>i.toFlatJSON(e)),...this.variableInstances.flatMap(i=>i.toFlatJSON(e)),...this.conditions.flatMap(i=>i.toFlatJSON(e)),...this.operations.flatMap(i=>i.toFlatJSON(e)),...this.functionCalls.flatMap(i=>i.toFlatJSON(e)),...this.loops.flatMap(i=>i.toFlatJSON(e)),...this.searches.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(i=>i.toFlatGenerationTarget(e)),...this.functions.flatMap(i=>i.toFlatGenerationTarget(e)),...this.events.flatMap(i=>i.toFlatGenerationTarget(e)),...this.projects.flatMap(i=>i.toFlatGenerationTarget(e)),...this.variableDeclarations.flatMap(i=>i.toFlatGenerationTarget(e)),...this.variableInstances.flatMap(i=>i.toFlatGenerationTarget(e)),...this.conditions.flatMap(i=>i.toFlatGenerationTarget(e)),...this.operations.flatMap(i=>i.toFlatGenerationTarget(e)),...this.functionCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.loops.flatMap(i=>i.toFlatGenerationTarget(e)),...this.searches.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.entities.forEach(e=>e.clearErrors()),this.projects.forEach(e=>e.clearErrors()),this.functions.forEach(e=>e.clearErrors()),this.events.forEach(e=>e.clearErrors()),this.variableDeclarations.forEach(e=>e.clearErrors()),this.variableInstances.forEach(e=>e.clearErrors()),this.conditions.forEach(e=>e.clearErrors()),this.operations.forEach(e=>e.clearErrors()),this.functionCalls.forEach(e=>e.clearErrors()),this.loops.forEach(e=>e.clearErrors()),this.searches.forEach(e=>e.clearErrors()),this}validate(){const e=Cx(),t=this.toJSON();return e.safeParse(t),this.validateChildren(),{success:!0,error:null,data:t}}validateChildren(){this.entities.forEach(e=>e.validate()),this.projects.forEach(e=>e.validate()),this.functions.forEach(e=>e.validate()),this.events.forEach(e=>e.validate()),this.variableDeclarations.forEach(e=>e.validate()),this.variableInstances.forEach(e=>e.validate()),this.conditions.forEach(e=>e.validate()),this.operations.forEach(e=>e.validate()),this.functionCalls.forEach(e=>e.validate()),this.loops.forEach(e=>e.validate()),this.searches.forEach(e=>e.validate())}getErrors(){return[...this.errors,...this.entities.flatMap(t=>t.getErrors()),...this.projects.flatMap(t=>t.getErrors()),...this.functions.flatMap(t=>t.getErrors()),...this.events.flatMap(t=>t.getErrors()),...this.variableDeclarations.flatMap(t=>t.getErrors()),...this.variableInstances.flatMap(t=>t.getErrors()),...this.conditions.flatMap(t=>t.getErrors()),...this.operations.flatMap(t=>t.getErrors()),...this.functionCalls.flatMap(t=>t.getErrors()),...this.loops.flatMap(t=>t.getErrors()),...this.searches.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new Z(this.toJSON())}getCustomEntity(e){return this.entities.find(t=>t.id===e)||null}addCustomEntityFromTransfer(e){const t=R(e,this);return this.addCustomEntity(t),t}addCustomEntity(e){return this.entities.includes(e)||this.entities.push(e),e}addFunctionDeclarationFromTransfer(e){const t=R(e,this);return this.addFunctionDeclaration(t),t}addFunctionDeclaration(e){return this.functions.includes(e)||this.functions.push(e),e}addFunctionCallFromTransfer(e){const t=R(e,this);return this.addFunctionCall(t),t}addFunctionCall(e){return this.functionCalls.includes(e)||this.functionCalls.push(e),e}addVariableDeclarationFromTransfer(e){const t=R(e,this);return this.addVariableDeclaration(t),t}addVariableDeclaration(e){return this.variableDeclarations.includes(e)||this.variableDeclarations.push(e),e}addVariableInstanceFromTransfer(e){const t=R(e,this);return this.addVariableInstance(t),t}addVariableInstance(e){return this.variableInstances.includes(e)||this.variableInstances.push(e),e}addInstalledProjectFromTransfer(e){const t=R(e,this);return this.addInstalledProject(t),this}addInstalledProject(e){return this.projects.includes(e)||this.projects.push(e),this}addGlobalEventFromTransfer(e){const t=R(e,this);return this.addGlobalEvent(t),this}addGlobalEvent(e){return this.events.includes(e)||this.events.push(e),this}addConditionFromTransfer(e){const t=R(e,this);return this.addCondition(t),this}addCondition(e){return this.conditions.includes(e)||this.conditions.push(e),this}addOperationFromTransfer(e){const t=R(e,this);return this.addOperation(t),this}addOperation(e){return this.operations.includes(e)||this.operations.push(e),this}addLoopFromTransfer(e){const t=R(e,this);return this.addLoop(t),this}addLoop(e){return this.loops.includes(e)||this.loops.push(e),this}addSearchFromTransfer(e){const t=R(e,this);return this.addSearch(t),this}addSearch(e){return this.searches.includes(e)||this.searches.push(e),this}removeCustomEntity(e){const t=this.entities.findIndex(i=>i.id===e.id);if(t>-1){const i=this.entities[t];return this.entities.splice(t,1),i}return null}removeFunctionDeclaration(e){const t=this.functions.findIndex(i=>i.id===e.id);if(t>-1){const i=this.functions[t];return this.functions.splice(t,1),i}return null}removeExternalProject(e){const t=this.projects.findIndex(i=>i.id===e.id);if(t>-1){const i=this.projects[t];return this.projects.splice(t,1),i}return null}removeGlobalEvent(e){const t=this.events.findIndex(i=>i.id===e.id);if(t>-1){const i=this.events[t];return this.events.splice(t,1),i}return null}removeTopLevelVariableDeclaration(e){if(e.type!==r.VariableDeclaration)return null;const t=this.variableDeclarations.findIndex(i=>i.id===e.id);if(t>-1){const i=this.variableDeclarations[t];return this.variableDeclarations.splice(t,1),i}return null}getEntryPoints(){return[...this.functions,...this.events,...this.entities.flatMap(t=>t.methods)]}getFunctionDeclaration(e){return this.functions.find(t=>t.id===e)||null}getConditions(){return[...this.conditions,...this.getEntryPoints().reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[]),...this.functionCalls.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[]),...this.operations.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[]),...this.loops.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[]),...this.searches.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[])]}getOperations(){return[...this.operations,...this.getEntryPoints().reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[]),...this.functionCalls.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[]),...this.conditions.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[]),...this.loops.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[]),...this.searches.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[])]}getFunctionCalls(){return[...this.functionCalls,...this.getEntryPoints().reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[]),...this.conditions.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[]),...this.operations.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[]),...this.loops.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[]),...this.searches.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[])]}getVariables(){return[...this.variableDeclarations,...this.getEntryPoints().reduce((t,i)=>{const a=z(i);return[...t,...a]},[]),...this.functionCalls.reduce((t,i)=>{const a=z(i);return[...t,...a]},[]),...this.conditions.reduce((t,i)=>{const a=z(i);return[...t,...a]},[]),...this.operations.reduce((t,i)=>{const a=z(i);return[...t,...a]},[]),...this.loops.reduce((t,i)=>{const a=z(i);return[...t,...a]},[]),...this.searches.reduce((t,i)=>{const a=z(i);return[...t,...a]},[])]}getVariableInstances(){return[...this.variableInstances,...this.getEntryPoints().reduce((t,i)=>{const s=z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.functionCalls.reduce((t,i)=>{const s=z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.conditions.reduce((t,i)=>{const s=z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.operations.reduce((t,i)=>{const s=z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.loops.reduce((t,i)=>{const s=z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.searches.reduce((t,i)=>{const s=z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[])]}getVariableDeclarations(){return S([...this.variableDeclarations,...this.getEntryPoints().reduce((t,i)=>{const s=z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.functionCalls.reduce((t,i)=>{const s=z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.conditions.reduce((t,i)=>{const s=z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.operations.reduce((t,i)=>{const s=z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.loops.reduce((t,i)=>{const s=z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.searches.reduce((t,i)=>{const s=z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[])])}attachOrphanReferences(){const e=this.getVariableInstances(),t=this.getVariableDeclarations();return e.forEach(i=>{if(!i.declaration){const a=i.initialData,s=a.declaration.entityId||a.declaration.id,o=t.find(u=>u.id===s);o&&i.setDeclaration(o)}}),this}getBuiltInPersistedEntity(){return this.builtInBaseEntities.find(e=>e.name===_.PERSISTED_ENTITY)||null}};l(Z,"UUID",Lm()),l(Z,"MUTABLE_BASE_PROPERTIES",["name","description"]),l(Z,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(Z,"BASE_PROPERTIES",[...Z.MUTABLE_BASE_PROPERTIES,...Z.INMUTABLE_BASE_PROPERTIES]),l(Z,"MUTABLE_META_PROPERTIES",[...Z.MUTABLE_BASE_PROPERTIES,"x","y"]),l(Z,"INMUTABLE_META_PROPERTIES",[...Z.INMUTABLE_BASE_PROPERTIES]),l(Z,"META_PROPERTIES",[...Z.MUTABLE_META_PROPERTIES,...Z.INMUTABLE_META_PROPERTIES]),l(Z,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(Z,"INMUTABLE_UPSTREAM_PROPERTIES",["primitives","builtInBaseEntities","operationDeclarations","globalEventActionDescriptors","loopDeclarations","builtInInstances"]),l(Z,"UPSTREAM_PROPERTIES",[...Z.MUTABLE_UPSTREAM_PROPERTIES,...Z.INMUTABLE_UPSTREAM_PROPERTIES]),l(Z,"MUTABLE_DOWNSTREAM_PROPERTIES",["entities","projects","functions","events","variableDeclarations","variableInstances","conditions","operations","functionCalls","loops","searches"]),l(Z,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(Z,"DOWNSTREAM_PROPERTIES",[...Z.MUTABLE_DOWNSTREAM_PROPERTIES,...Z.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(Z,"PROPERTIES",[...Z.META_PROPERTIES,...Z.UPSTREAM_PROPERTIES,...Z.DOWNSTREAM_PROPERTIES]);let $=Z;class xg extends _e{constructor(t){super($t,t);l(this,"id",Ie.Parallel);l(this,"name",Ie.Parallel);l(this,"description","Execute a list of actions one after the other");l(this,"version",1);l(this,"autoexecutable",!0);l(this,"initialData",$t);l(this,"type",r.ActionDescriptor);l(this,"fixedArguments",[]);l(this,"fixedReturns",[]);l(this,"error",null);l(this,"dynamicArgumentTypes",null);l(this,"dynamicReturnTypes",null);l(this,"project");this.project=t,this.fixedArguments=$t.fixedArguments.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.fixedReturns=$t.fixedReturns.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.error=$t.error?R($t.error,this.project):null}}class jg extends _e{constructor(t){super(ot,t);l(this,"id",ot.id);l(this,"name",ot.name);l(this,"description",ot.description);l(this,"version",ot.version);l(this,"autoexecutable",!1);l(this,"initialData",ot);l(this,"type",r.ActionDescriptor);l(this,"fixedArguments",[]);l(this,"fixedReturns",[]);l(this,"error",null);l(this,"dynamicArgumentTypes",null);l(this,"dynamicReturnTypes",null);l(this,"project");this.project=t,this.fixedArguments=ot.fixedArguments.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.fixedReturns=ot.fixedReturns.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.error=ot.error?R(ot.error,this.project):null}}class kg extends _e{constructor(t){super(tn,t);l(this,"id",Ie.Sequential);l(this,"name",Ie.Sequential);l(this,"description","Execute a list of actions one after the other");l(this,"version",1);l(this,"autoexecutable",!0);l(this,"initialData",tn);l(this,"type",r.ActionDescriptor);l(this,"fixedArguments",[]);l(this,"fixedReturns",[]);l(this,"error",null);l(this,"dynamicArgumentTypes",null);l(this,"dynamicReturnTypes",null);l(this,"project");this.project=t,this.fixedArguments=tn.fixedArguments.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.fixedReturns=tn.fixedReturns.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.error=tn.error?R(tn.error,this.project):null}}function i3(n){const e=[new kg(n),new xg(n),new jg(n),new _e(hi,n),new _e(Or,n),new _e(xn,n),new _e(Ra,n),new _e(Io,n),new _e(Ao,n),new _e(Do,n),new _e(ma,n),new _e(pi,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.operationDeclarations=e,e}class qg extends Ut{constructor(t){super(Be,t);l(this,"initialData");l(this,"id",_.PERSISTED_ENTITY);l(this,"version",1);l(this,"name",_.PERSISTED_ENTITY);l(this,"description",Be.description);l(this,"type",r.BuiltInBaseEntity);l(this,"abstract",Be.abstract);l(this,"static",Be.static);l(this,"properties",[]);l(this,"methods",[]);l(this,"abstractMethods",[]);l(this,"extends",[]);l(this,"errors",[]);l(this,"project");this.initialData=Be,this.project=t,this.id=Be.id,this.version=Be.version,this.name=Be.name,this.static=Be.static,this.abstract=Be.abstract,this.properties=this.initialData.properties.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(i=>{const a=R(i,this.project);return a.parent=this,a}),this.abstractMethods=this.initialData.abstractMethods.map(i=>{const a=R(i,this.project);return a.parent=this,a}),this.extends=this.initialData.extends.map(i=>R(i,this.project))}}function a3(n){const e=[new qg(n),new Ut(Sa,n),new Ut(bn,n),new Ut(ko,n),new Ut(Aa,n)];return e.forEach(t=>{n.subscribeBuiltInInstance(t)}),n.builtInBaseEntities=e,e}function s3(n){const e=[new Nt(F,n),new Nt(Fn,n),new Nt(Ce,n),new Nt(Xe,n),new Nt(Rn,n),new Nt(Sr,n),new Nt(fa,n),new Nt(Ro,n)];return e.forEach(t=>{n.subscribeBuiltInInstance(t)}),n.primitives=e,e}function o3(n){const e=[new _e(_a,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.globalEventActionDescriptors=e,e}function l3(n){const e=[new _e(jn,n),new _e(Lo,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.loopDeclarations=e,e}function c3(n){const e=[new Er(Ho,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.valueDescriptors=e,e}function d3(n){const e=[new _e(kn,n),new _e(Br,n)];return e.forEach(t=>{t.initChildren()}),n.conditionDeclarations=e,e}const Pr={},fo={};async function u3(n,e={}){const t={...KR};return t.id=n.id,e.empty?{data:{id:n.id,type:r.Project,version:1,name:null,description:null,projects:[],entities:[],operations:[],functions:[],variableDeclarations:[],variableInstances:[],functionCalls:[],conditions:[],loops:[],searches:[],events:[]}}:{data:t}}function Jg(n){const e=new $(n);return s3(e),a3(e),i3(e),o3(e),l3(e),c3(e),d3(e),e.initChildren(),e}async function p3(n,e={}){try{if(n.id&&Pr[n.id])return Pr[n.id];if(n.id&&fo[n.id])return await fo[n.id],Pr[n.id];const t=u3(n,e);n.id&&(fo[n.id]=t);const i=await t;if(i.data){const a=Jg(i.data);return Pr[n.id]=a,n.id&&delete fo[n.id],a}return null}catch{return null}}function y3(n){return Pr[n.id]&&delete Pr[n.id],null}const h3="test_primitive_entities_export";d.AI_VALUE_CONNECTION_GENERATION_ACTION_EXPLANATION=hd,d.ActionDescriptorState=_e,d.ActionDescriptorValuesType=L,d.ActionInputMapState=p6,d.ActionOutputMapState=f6,d.AppendToListOperationInputIds=ap,d.AppendToListOperationOutputIds=sp,d.ArgumentDeclarationState=mr,d.BREAK_AND_CONTINUE_STATEMENTS_RETURN_DECLARATIONS_EXPLANATION=dd,d.BUILT_IN_BASE_ENTITY_IDS=Ve,d.BUILT_IN_ENTITY_TYPES=Ar,d.BaseCanvasDraggableState=Z9,d.BaseEntityNames=_,d.BaseState=z9,d.BaseValueDescriptorIds=Mo,d.BreakStatementState=ci,d.BuiltInBaseEntityState=Ut,d.CACHED_PROJECTS_BY_ID=Pr,d.CALLABLE_ENTITIES_EXPLANATION=S6,d.CALLABLE_TYPES=En,d.CALLER_ENTITIES_EXPLANATION=rg,d.CALLER_TYPES=en,d.CALLS_UPDATE_EXPLANATION=$n,d.COMPARISON_CONDITIONS=nm,d.CONDITIONS=vI,d.CUSTOM_ENTITY_OPERATIONS=by,d.CallableEntityClass=Q9,d.CallerEntityClass=sd,d.ChildEntityState=X9,d.ComparisonOperatorTypes=Ae,d.ConditionState=ur,d.ContinueStatementState=yt,d.CreateNewInputIds=Zp,d.CreateNewOutputIds=Xp,d.CustomEntityState=Ir,d.DRAGGABLE_CALLABLE_TYPES=To,d.DRAGGABLE_CALLER_TYPES=_d,d.DRAGGABLE_ELEMENT_TYPES=Eo,d.DRAGGABLE_EXECUTABLE_TYPES=Zg,d.DRAGGABLE_PASS_THROUGH_CALLABLE_TYPES=mo,d.DataTypeCompatibilityTypes=wt,d.DataTypeParentChildRelation=qe,d.DataTypeState=ai,d.ENTITIES_WITH_VALLUES_EXPLANATION=to,d.ENTITY_TYPES=Xg,d.ENTITY_WITH_LOGIC_SCOPE_TYPES=st,d.ENTITY_WITH_NAMES_TYPES=Md,d.ENTITY_WITH_VALUE_TYPES=wd,d.ENTRY_POINT_ENTITIES_EXPLANATION=ca,d.ENTRY_POINT_TYPES=$e,d.EVENT_TYPES=Dr,d.EXECUTABLE_TYPES=zg,d.EXECUTION_OPERATIONS=zp,d.EntityError=Xn,d.EntityErrorSeverity=f,d.EntityGenerationError=E,d.EntityGenerationErrorCode=y,d.EntityInstanceErrorCode=O,d.EntityOperations=Ze,d.EntityType=r,d.EntityWithLogicScopeClass=n6,d.EntityWithValueClass=t6,d.EntryPointEntityClass=K9,d.ExecutionOperations=Ie,d.FunctionCallState=Rr,d.FunctionDeclarationState=lr,d.GLOBAL_EVENT_DECLARATIONS=gI,d.GetLastInListOperationInputIds=Hu,d.GetLastInListOperationOutputIds=Yu,d.GlobalEventNames=Kt,d.GlobalEventState=si,d.HTTPOperations=Ye,d.HTTP_OPERATIONS=eh,d.InputMapState=hn,d.InstalledProjectState=fr,d.InternalCallState=oi,d.JoinListOperationInputIds=yu,d.JoinListOperationOutputIds=hu,d.JoinStringOperationInputIds=Kd,d.JoinStringOperationOutputIds=eu,d.LIST_OPERATIONS=Rp,d.ListOperations=j,d.LoopState=dr,d.LoopTypes=je,d.NON_INTERACTIVE_BASE_ENTITIES_EXPLANATION=Vn,d.NUMBER_OPERATIONS=Qd,d.NumberAdditionOperationInputIds=Fd,d.NumberAdditionOperationOutputIds=Ud,d.NumberOperations=at,d.OPERATION_DECLARATIONS=Kg,d.OperationState=cr,d.OutputMapParentChildRelation=Bd,d.OutputMapState=fn,d.PARENT_AUTO_CALCULATION_FROM_CALLER_EXPLANATION=no,d.PASS_THROUGH_CALLABLE_ENTITIES_EXPLANATION=Nn,d.PASS_THROUGH_CALLABLE_TYPES=Ne,d.PROPERTY_NOT_VALUE_READER_WRITTER_EXPLANATION=yd,d.ParallelExecutionOperation=xg,d.ParallelExecutionOperationInputIds=bp,d.ParallelExecutionOperationOutputIds=vp,d.PassThroughCallableEntityClass=e6,d.PersistedEntity=qg,d.PersistedEntityMethods=gt,d.PrimitiveEntityState=Nt,d.PrimitiveTypes=g,d.PrimitiveValueState=li,d.ProjectState=$,d.PropertyState=or,d.RETURN_STATEMENT_RETURN_DECLARATIONS_EXPLANATION=O6,d.ReturnDeclarationState=Ot,d.ReturnStatementState=Tr,d.STANDALONE_CONDITIONS=Zf,d.STRING_OPERATIONS=pu,d.ScopeCompatibilityType=ho,d.SearchState=hr,d.SequentialExecutionOperation=kg,d.SequentialExecutionOperationInputIds=Gp,d.SequentialExecutionOperationOutputIds=Fp,d.SharedEntityErrorCode=v,d.SharedStateFunctionality=eg,d.SplitListOperationInputIds=Cu,d.SplitListOperationOutputIds=Bu,d.StandaloneOperatorTypes=Ct,d.StringOperations=ge,d.TERMINATION_TYPES=Oe,d.USER_MANAGED_ENTITY_TYPES=Qg,d.UserManagedEntityStateFunctionality=Y9,d.VALUE_READING_ENTITIES_EXPLANATION=pd,d.VALUE_READING_TYPES=Tn,d.VALUE_WRITING_ENTITIES_EXPLANATION=ig,d.VALUE_WRITING_TYPES=Se,d.VARIABLE_DATA_TYPE_INFERRANCE_EXPLANATION=ud,d.VARIABLE_TYPES=Fe,d.ValidationInputIds=sy,d.ValidationOutputIds=oy,d.ValueAutogenerationType=xe,d.ValueDescriptorParentChildRelation=C,d.ValueDescriptorState=Er,d.ValueReadingEntityClass=oa,d.ValueWritingEntityClass=la,d.VariableDeclarationState=pr,d.VariableInputMapState=u6,d.VariableInstanceState=yr,d.VariableOutputMapState=h6,d.WaitOperation=jg,d.WaitOperationInputIds=wp,d.WaitOperationOutputIds=_p,d._VALUE_READING_TYPES=Hg,d._VALUE_WRITING_TYPES=Yg,d.appendToListOperation=Ra,d.appendToListOperationElementToAppendArgument=Oo,d.appendToListOperationElementToAppendArgumentParentRef=hp,d.appendToListOperationElementToAppendArgumentRef=cp,d.appendToListOperationError=Ep,d.appendToListOperationErrorParentRef=Tp,d.appendToListOperationListArgument=So,d.appendToListOperationListArgumentParentRef=yp,d.appendToListOperationListArgumentRef=op,d.appendToListOperationListDataType=lp,d.appendToListOperationResultListDataType=pp,d.appendToListOperationResultListReturn=mp,d.appendToListOperationResultListReturnParentRef=fp,d.appendToListOperationResultListReturnRef=up,d.appendToListOperationSecondListDataType=dp,d.asGenerationActionExample=Qt,d.baseHttpRequestFunctionDeclaration=hi,d.baseHttpRequestFunctionDeclarationErrorValueDescriptor=Vo,d.baseHttpRequestFunctionDeclarationErrorValueDescriptorDatatype=Ky,d.baseHttpRequestFunctionDeclarationErrorValueDescriptorRef=Qy,d.baseHttpRequestFunctionDeclarationRef=Yy,d.baseHttpRequestFunctionDeclarationRefEight=Zy,d.baseHttpRequestFunctionDeclarationRefFive=Wy,d.baseHttpRequestFunctionDeclarationRefFour=Jy,d.baseHttpRequestFunctionDeclarationRefNine=Xy,d.baseHttpRequestFunctionDeclarationRefSeven=zy,d.baseHttpRequestFunctionDeclarationRefSix=Hy,d.baseHttpRequestFunctionDeclarationRefThree=qy,d.baseHttpRequestFunctionDeclarationRefTwo=ky,d.booleanPrototype=Fn,d.capitalizeFirstLetter=Js,d.checkAreCustomEntitiesCompatibleAsDataType=Gv,d.checkAreDataTypesCompatible=Ws,d.checkArePropertiesCompatibleAsDataType=Lv,d.checkIsBranchDependentButNotDirectlyOnBranch=ua,d.checkIsBranchDependentOnBranch=L6,d.checkIsCallableEntityReachable=Cd,d.checkIsCanvasEntity=Q6,d.checkIsDetachedBranch=Ng,d.checkIsDetachedBranchShallow=Sd,d.checkIsGlobalVariable=X6,d.checkIsGloballyDeclared=Ad,d.checkIsMethod=Lg,d.checkIsNestedScope=yo,d.checkScopeCompatibility=pa,d.createEntityError=k,d.createNewInstanceOperation=Or,d.createNewInstanceOperationEntityToInstanciateArgument=ty,d.createNewInstanceOperationEntityToInstanciateArgumentRef=Qp,d.createNewInstanceOperationEntityToInstanciateDataType=Kp,d.createNewInstanceOperationError=ay,d.createNewInstanceOperationErrorParentRef=iy,d.createNewInstanceOperationOutputEntityDeclaration=ry,d.createNewInstanceOperationOutputEntityDeclarationParentRef=ny,d.createNewInstanceOperationRef=ey,d.createSemanticId=Xt,d.createStateFromGenerationTargetType=r3,d.createStateFromType=ha,d.createStateFromTypeAndSubscribe=R,d.cronJobBuiltInBaseEntity=ko,d.cronJobBuiltInBaseEntityExpressionProperty=Wf,d.cronJobBuiltInBaseEntityExpressionPropertyDataTypeRef=EI,d.cronJobBuiltInBaseEntityExpressionPropertyRef=qf,d.cronJobBuiltInBaseEntityRef=Jf,d.cronJobTriggeredFunctionDeclarationBlueprint=jo,d.cronJobTriggeredFunctionDeclarationBlueprintParentRef=jf,d.customEntityToZodSchema=bm,d.dataTypeCompatibilityToErrorExplanation=pg,d.datePrototype=Sr,d.dateValueAutogenerationSchema=Hl,d.deletePersistedEntityMethod=xo,d.deletePersistedEntityMethodParentRef=bf,d.deleteRootProject=y3,d.endpointBuiltInBaseEntity=Sa,d.endpointBuiltInBaseEntityRef=vh,d.endpointBuiltInBaseEntityRefFour=df,d.endpointBuiltInBaseEntityRefThree=Bh,d.endpointBuiltInBaseEntityRefTwo=Ah,d.endpointBuiltInCorsProperty=gh,d.endpointBuiltInCorsPropertyDataType=bh,d.endpointBuiltInCorsPropertyDataTypeRef=Eh,d.endpointBuiltInCorsPropertyRef=Rh,d.endpointBuiltInMethodProperty=Fo,d.endpointBuiltInMethodPropertyDataType=Ch,d.endpointBuiltInMethodPropertyDataTypeRef=Sh,d.endpointBuiltInMethodPropertyRef=Oh,d.endpointBuiltInPathProperty=Go,d.endpointBuiltInPathPropertyDataType=Dh,d.endpointBuiltInPathPropertyDataTypeRef=Ih,d.endpointBuiltInPathPropertyRef=Ph,d.endpointPathParamsArgumentDeclaration=Jh,d.endpointPathParamsArgumentDeclarationRef=Uh,d.endpointPathParamsVariableDataType=xh,d.endpointPathParamsVariableDataTypeRef=Fh,d.endpointReachedTriggerActionDescriptor=Uo,d.endpointReachedTriggerActionDescriptorRef=jh,d.endpointReachedTriggerActionDescriptorRefFour=Yh,d.endpointReachedTriggerActionDescriptorRefThree=Wh,d.endpointReachedTriggerActionDescriptorRefTwo=qh,d.endpointRequestBodyArgumentDeclaration=zh,d.endpointRequestBodyArgumentDeclarationRef=Nh,d.endpointRequestBodyVariableDataType=$h,d.endpointRequestHeadersArgumentDeclaration=kh,d.endpointRequestHeadersArgumentDeclarationRef=_h,d.endpointRequestHeadersVariableDataType=Mh,d.endpointRequestHeadersVariableDataTypeRef=wh,d.endpointRequestQueryParamsArgumentDeclaration=Hh,d.endpointRequestQueryParamsArgumentDeclarationRef=Lh,d.endpointRequestQueryParamsVariableDataType=Gh,d.endpointRequestQueryParamsVariableDataTypeRef=Vh,d.endpointResponseBodyDataType=of,d.endpointResponseBodyReturnDeclaration=cf,d.endpointResponseBodyReturnDeclarationRef=sf,d.endpointResponseCodeDataType=Xh,d.endpointResponseCodeReturnDeclaration=Kh,d.endpointResponseCodeReturnDeclarationRef=Zh,d.endpointResponseHeadersDataType=nf,d.endpointResponseHeadersDataTypeRef=ef,d.endpointResponseHeadersReturnDeclaration=af,d.endpointResponseHeadersReturnDeclarationRef=tf,d.endpointReturnStatementRef=Qh,d.endpointReturnStatementRefThree=lf,d.endpointReturnStatementRefTwo=rf,d.enumOptionsProperty=Gd,d.enumOptionsPropertyDataType=Vd,d.enumOptionsPropertyDataTypeRef=Nd,d.enumOptionsPropertyRef=$d,d.enumPrototype=Rn,d.enumPrototypeRef=Ld,d.executionBuiltInEntity=Jo,d.executionBuiltInEntityAbortMethod=qo,d.executionBuiltInEntityAbortMethodParentRef=Hf,d.filterOutDuplicateEntities=S,d.filterOutDuplicateErrors=YF,d.findReferenceToSelfInList=Ag,d.findReferencesToSelfInProject=J6,d.flattenCalls=br,d.flattenCanvasAncestorsUntil=oo,d.flattenCustomEntityExtensionAndImplementationTypes=wg,d.flattenCustomEntityExtensionTypes=uo,d.flattenCustomEntityExtensions=Id,d.flattenCustomEntityImplementations=Pd,d.flattenCustomEntityImplementionTypes=co,d.flattenDerivedCanvasEntities=vt,d.flattenDetachedBranch=Vg,d.flattenElementCalls=Me,d.flattenProjectElements=Dg,d.flattenRelatedCanvasElementsOnTheLeft=Bg,d.flattenRelatedCanvasElementsOnTheRight=Cg,d.flattenVariableReads=Pg,d.flattenVariableWrites=Ig,d.flattenVariables=z,d.fromZodParseToEntityGenerationErrors=od,d.generate=RD,d.generateActionExample=C6,d.generateExecutionDataType=Fv,d.generateMutablePropertiesExplanation=Qs,d.generateRandomBoolean=Hm,d.generateRandomDate=Pm,d.generateRandomDateAfter=vm,d.generateRandomDateBefore=gm,d.generateRandomDateBetweenRange=Im,d.generateRandomNumber=jm,d.generateRandomNumberAfter=Fm,d.generateRandomNumberBefore=Um,d.generateRandomNumberBetweenRange=xm,d.generateRandomText=Wm,d.generateRandomTextAfter=km,d.generateRandomTextBefore=qm,d.generateRandomTextBetweenRange=Jm,d.generateUniqueUUID=Gm,d.getAllActionDescriptorsForConditions=ao,d.getAllActionDescriptorsForGlobalEvents=ro,d.getAllActionDescriptorsForLoops=io,d.getAllActionDescriptorsForOperations=M6,d.getAllGloballyDeclaredFunctionDeclarationsExplanation=cg,d.getBaseBuiltInEntities=Gn,d.getBaseSchemaBasedOnType=tg,d.getBuiltInEntityOwner=gr,d.getCallableEntityReferenceSchema=ke,d.getCallableEntityTypeSchema=Pb,d.getCallerEntityReferenceSchema=KU,d.getCallerEntityTypeSchema=QU,d.getCalls=Ed,d.getCanvasEntitiesDerivedFromInternalCalls=Og,d.getCanvasEntitiesDerivedFromWrites=di,d.getCanvasEntityDerivedFromValueReadingEntity=gd,d.getCanvasEntityReferenceSchema=mx,d.getCanvasEntityTypeSchema=fx,d.getChildrenEntityWithValues=F6,d.getCommonAncestor=Td,d.getCommonChildren=fg,d.getDeclaration=Zc,d.getDeepestScope=Ug,d.getDraggableCallableEntityReferenceSchema=Ab,d.getDraggableCallableEntityTypeSchema=Db,d.getDraggableCallerEntityReferenceSchema=tx,d.getDraggableCallerEntityTypeSchema=ex,d.getDraggableExecutableEntityReferenceSchema=ax,d.getDraggableExecutableEntityTypeSchema=ix,d.getDraggablePassThroughCallableEntityReferenceSchema=Ls,d.getDraggablePassThroughCallableEntityTypeSchema=Vs,d.getDraggablePlayableEntityReferenceSchema=dx,d.getDraggablePlayableEntityTypeSchema=cx,d.getEntityArgumentDeclarations=bd,d.getEntityInputMaps=Sg,d.getEntityOutputMaps=Y6,d.getEntityReferenceSchema=hx,d.getEntityReturnDeclarations=vd,d.getEntityTypeSchema=yx,d.getEntityWithLogicScopeReferenceSchema=un,d.getEntityWithLogicScopeTypeSchema=sx,d.getEntityWithValueReferenceSchema=Ib,d.getEntityWithValueTypeSchema=XU,d.getEntryPointEntityReferenceSchema=Ue,d.getEntryPointEntityTypeSchema=wn,d.getEventEntityReferenceSchema=Ns,d.getEventEntityTypeSchema=Ms,d.getExecutableEntityReferenceSchema=rx,d.getExecutableEntityTypeSchema=nx,d.getExtendedBuiltInEntity=z6,d.getExtendedCustomEntity=Mg,d.getGenerationTargetSchemaBasedOnType=ng,d.getHeadIfPartOfDetachedBranch=$g,d.getHighestScope=Fg,d.getImplementedBuiltInEntity=Z6,d.getIsInteractive=Dd,d.getLastInListOperation=Ao,d.getLastInListOperationError=ip,d.getLastInListOperationErrorParentRef=rp,d.getLastInListOperationInputListArgument=ep,d.getLastInListOperationInputListArgumentParentRef=Ku,d.getLastInListOperationInputListArgumentRef=zu,d.getLastInListOperationInputListDataType=Zu,d.getLastInListOperationOutputElementDataType=Qu,d.getLastInListOperationOutputElementReturn=np,d.getLastInListOperationOutputElementReturnParentRef=tp,d.getLastInListOperationOutputElementReturnRef=Xu,d.getLinkedEntitiesFromArgumentDeclaration=q6,d.getLowestPersistedEntityImplementation=_g,d.getParentCanvasEntities=_t,d.getParentCanvasEntity=He,d.getParentEntryPoint=G6,d.getPassThroughCallableEntityReferenceSchema=ye,d.getPassThroughCallableEntityTypeSchema=$s,d.getPlayableEntityReferenceSchema=lx,d.getPlayableEntityTypeSchema=ox,d.getProject=p3,d.getPrototypeByType=po,d.getReferenceEntityId=D,d.getReferencedEntitiesStateOrErrors=eo,d.getReferencedEntityStateOrErrors=ld,d.getRelatedCanvasElementsOnTheLeft=vr,d.getRelatedCanvasElementsOnTheRight=Ln,d.getRootEntryPointScopeOwner=Od,d.getScopeOwner=ht,d.getTerminationReferenceSchema=px,d.getTerminationTypeSchema=ux,d.getUsedArgFromDeclaration=W6,d.getUsedReturnFromDeclaration=H6,d.getValueReadingEntityReferenceSchema=gb,d.getValueReadingEntityTypeSchema=dn,d.getValueWritingEntityReferenceSchema=ZU,d.getValueWritingEntityTypeSchema=Xi,d.getVariableFromInputMapping=Tg,d.getVariableFromReturnVariablePointer=bg,d.getVariableReferenceSchema=Bn,d.getVariableTypeSchema=er,d.getVariablesFromArgumentDeclarations=lo,d.getVariablesFromInputMaps=Eg,d.getVariablesFromOutputMapping=vg,d.getVariablesFromOutputMaps=gg,d.getVariablesFromReturnDeclarations=Rg,d.getVariablesInSameOrHigherScope=Xc,d.getWrites=Rd,d.groupCallsBasedOnParallelizableExecution=x6,d.handleAfterEntityImplementationSideEffects=hg,d.handleBeforeEntityImplementationSideEffects=yg,d.httpRequestBodyArgument=Ia,d.httpRequestBodyArgumentRef=My,d.httpRequestBodyDataType=Ny,d.httpRequestHeadersArgument=ga,d.httpRequestHeadersArgumentRef=wy,d.httpRequestHeadersDataType=_y,d.httpRequestMethodArgument=ba,d.httpRequestMethodArgumentRef=Cy,d.httpRequestMethodDataType=By,d.httpRequestMethodDataTypeRef=Sy,d.httpRequestQueryParamsArgument=No,d.httpRequestQueryParamsArgumentRef=Dy,d.httpRequestQueryParamsDataType=Ay,d.httpRequestVariableURLArgument=va,d.httpRequestVariableURLArgumentRef=Iy,d.httpRequestVariableURLDataType=Py,d.httpRequestVariableURLDataTypeRef=vy,d.httpResponseBodyReturnDataType=jy,d.httpResponseBodyReturnDataTypeRef=Uy,d.httpResponseBodyReturnReturn=yi,d.httpResponseBodyReturnReturnRef=xy,d.httpResponseCodeDataType=Vy,d.httpResponseCodeReturn=$o,d.httpResponseCodeReturnRef=$y,d.httpResponseHeadersDataType=Fy,d.httpResponseHeadersDataTypeRef=Ly,d.httpResponseHeadersReturn=Pa,d.httpResponseHeadersReturnRef=Gy,d.implement=so,d.inferArgumentDeclarationDataType=Uv,d.inferDataType=Hs,d.inferInputMapDataType=xv,d.inferOutputMapDataType=qv,d.inferVariableDeclarationDataType=kv,d.inferVariableInstanceDataType=jv,d.initProject=Jg,d.iterateOverListActionDescriptor=jn,d.iterateOverListActionDescriptorListArgumentDeclaration=oh,d.iterateOverListActionDescriptorListArgumentDeclarationDataType=ah,d.iterateOverListActionDescriptorListArgumentDeclarationDataTypeParentRef=ih,d.iterateOverListActionDescriptorListArgumentDeclarationParentRef=sh,d.iterateOverListActionDescriptorReturnDeclaration=rh,d.iterateOverListActionDescriptorReturnDeclarationParentRef=nh,d.joinListOperation=Io,d.joinListOperationError=Ou,d.joinListOperationErrorParentRef=Su,d.joinListOperationFirstListArgument=gu,d.joinListOperationFirstListArgumentParentRef=vu,d.joinListOperationFirstListArgumentRef=fu,d.joinListOperationFirstListDataType=mu,d.joinListOperationResultListDataType=bu,d.joinListOperationResultListReturn=Au,d.joinListOperationResultListReturnParentRef=Du,d.joinListOperationResultListReturnRef=Ru,d.joinListOperationSecondListArgument=Pu,d.joinListOperationSecondListArgumentParentRef=Iu,d.joinListOperationSecondListArgumentRef=Tu,d.joinListOperationSecondListDataType=Eu,d.joinListWithLastSeparator=N,d.joinStringOperation=pi,d.joinStringOperationError=uu,d.joinStringOperationErrorParentRef=du,d.joinStringOperationFirstStringArgument=Ta,d.joinStringOperationFirstStringArgumentParentRef=ou,d.joinStringOperationFirstStringArgumentRef=tu,d.joinStringOperationFirstStringDataType=nu,d.joinStringOperationResultStringDataType=su,d.joinStringOperationResultStringReturn=ui,d.joinStringOperationResultStringReturnParentRef=cu,d.joinStringOperationResultStringReturnRef=au,d.joinStringOperationSecondStringArgument=Ea,d.joinStringOperationSecondStringArgumentParentRef=lu,d.joinStringOperationSecondStringArgumentRef=ru,d.joinStringOperationSecondStringDataType=iu,d.jsonPrototype=Ro,d.keyValueParamBuiltInBaseEntity=Aa,d.keyValueParamBuiltInBaseEntityNameProperty=hh,d.keyValueParamBuiltInBaseEntityNamePropertyDataTypeRef=tI,d.keyValueParamBuiltInBaseEntityNamePropertyParentRef=yh,d.keyValueParamBuiltInBaseEntityNamePropertyRef=ph,d.keyValueParamBuiltInBaseEntityValueProperty=Th,d.keyValueParamBuiltInBaseEntityValuePropertyDataTypeRef=rI,d.keyValueParamBuiltInBaseEntityValuePropertyParentRef=mh,d.keyValueParamBuiltInBaseEntityValuePropertyRef=fh,d.lowercaseFirstLetter=Vv,d.manualFlowActionDescriptor=Lo,d.manualFlowActionDescriptorDeclarationReturnDeclaration=uh,d.manualFlowActionDescriptorDeclarationReturnDeclarationDataType=ch,d.manualFlowActionDescriptorDeclarationReturnDeclarationDataTypeParentRef=lh,d.manualFlowActionDescriptorDeclarationReturnDeclarationParentRef=dh,d.mapActionDescriptorToTypeItRepresents=K6,d.mergeEntityErrorsList=zF,d.mergeListOfEntities=Gg,d.methodDefaultValue=Oy,d.mockClientProject=KR,d.moreThanOrEqualCondition=Br,d.moreThanOrEqualConditionLeftHandArgument=Kf,d.moreThanOrEqualConditionLeftHandArgumentParentRef=Qf,d.moreThanOrEqualConditionRightHandArgument=tm,d.moreThanOrEqualConditionRightHandArgumentParentRef=em,d.notEmptyCondition=kn,d.notEmptyConditionArgument=zf,d.notEmptyConditionRef=Yf,d.numberAdditionOperation=ma,d.numberAdditionOperationError=Xd,d.numberAdditionOperationErrorParentRef=Zd,d.numberAdditionOperationFirstNumberArgument=bo,d.numberAdditionOperationFirstNumberArgumentRef=xd,d.numberAdditionOperationFirstNumberDataType=jd,d.numberAdditionOperationRef=Hd,d.numberAdditionOperationRefThree=zd,d.numberAdditionOperationRefTwo=Yd,d.numberAdditionOperationResultNumberDataType=Wd,d.numberAdditionOperationResultNumberReturn=go,d.numberAdditionOperationResultNumberReturnRef=Jd,d.numberAdditionOperationSecondNumberArgument=vo,d.numberAdditionOperationSecondNumberArgumentRef=kd,d.numberAdditionOperationSecondNumberDataType=qd,d.numberPrototype=Ce,d.numberValueAutogenerationSchema=Wl,d.parallelExecutionOperation=$t,d.parallelExecutionOperationError=Bp,d.parallelExecutionOperationErrorParentRef=Cp,d.parallelExecutionOperationListOfExecutionResultsDataType=Ap,d.parallelExecutionOperationListOfExecutionResultsReturn=Bo,d.parallelExecutionOperationListOfExecutionResultsReturnRef=Dp,d.parallelExecutionOperationListOfFunctionsArgument=Co,d.parallelExecutionOperationListOfFunctionsArgumentDatatype=Pp,d.parallelExecutionOperationListOfFunctionsArgumentRef=Ip,d.parallelExecutionOperationListOfFunctionsBlueprint=gp,d.parallelExecutionOperationRef=Sp,d.parallelExecutionOperationRefThree=Op,d.persistedBuiltInBaseEntity=Be,d.persistedBuiltInBaseEntityCreatedAtProperty=Lf,d.persistedBuiltInBaseEntityCreatedAtPropertyDataType=$f,d.persistedBuiltInBaseEntityCreatedAtPropertyDataTypeRef=mI,d.persistedBuiltInBaseEntityCreatedAtPropertyParentRef=Vf,d.persistedBuiltInBaseEntityCreatedAtPropertyRef=Nf,d.persistedBuiltInBaseEntityDatabaseProperty=mi,d.persistedBuiltInBaseEntityDatabasePropertyDataTypeRef=pI,d.persistedBuiltInBaseEntityDatabasePropertyParentRef=Df,d.persistedBuiltInBaseEntityDatabasePropertyRef=Pf,d.persistedBuiltInBaseEntityDeletedAtProperty=Mf,d.persistedBuiltInBaseEntityDeletedAtPropertyDataType=wf,d.persistedBuiltInBaseEntityDeletedAtPropertyDataTypeRef=fI,d.persistedBuiltInBaseEntityDeletedAtPropertyParentRef=_f,d.persistedBuiltInBaseEntityDeletedAtPropertyRef=Bf,d.persistedBuiltInBaseEntityIdentifierProperty=Cf,d.persistedBuiltInBaseEntityIdentifierPropertyDataTypeRef=Af,d.persistedBuiltInBaseEntityIdentifierPropertyParentRef=Of,d.persistedBuiltInBaseEntityIdentifierPropertyRef=Sf,d.persistedBuiltInBaseEntityUpdatedAtProperty=xf,d.persistedBuiltInBaseEntityUpdatedAtPropertyDataType=Ff,d.persistedBuiltInBaseEntityUpdatedAtPropertyDataTypeRef=TI,d.persistedBuiltInBaseEntityUpdatedAtPropertyParentRef=Uf,d.persistedBuiltInBaseEntityUpdatedAtPropertyRef=Gf,d.processOutputGlobalValueDescriptorDataType=im,d.processOutputGlobalValueDescriptorReturn=Ho,d.processOutputGlobalValueDescriptorReturnRef=rm,d.projectPublicationCompletedGlobalEvent=_a,d.propertyToZodSchema=Rm,d.relationalDatabaseBuiltInBaseEntity=bn,d.relationalDatabaseBuiltInBaseEntityDefaultProperty=Rf,d.relationalDatabaseBuiltInBaseEntityDefaultPropertyDataTypeRef=Tf,d.relationalDatabaseBuiltInBaseEntityDefaultPropertyRef=Ef,d.relationalDatabaseBuiltInBaseEntityIdentifierProperty=Oa,d.relationalDatabaseBuiltInBaseEntityIdentifierPropertyDataTypeRef=uf,d.relationalDatabaseBuiltInBaseEntityIdentifierPropertyRef=pf,d.relationalDatabaseBuiltInBaseEntityMinSizeProperty=wa,d.relationalDatabaseBuiltInBaseEntityMinSizePropertyDataTypeRef=ff,d.relationalDatabaseBuiltInBaseEntityMinSizePropertyRef=mf,d.relationalDatabaseBuiltInBaseEntityPasswordProperty=Ba,d.relationalDatabaseBuiltInBaseEntityPasswordPropertyDataTypeRef=lI,d.relationalDatabaseBuiltInBaseEntityPasswordPropertyRef=hf,d.relationalDatabaseBuiltInBaseEntityRef=Cr,d.relationalDatabaseBuiltInBaseEntityUsernameProperty=Ca,d.relationalDatabaseBuiltInBaseEntityUsernamePropertyDataTypeRef=sI,d.relationalDatabaseBuiltInBaseEntityUsernamePropertyRef=yf,d.resolveActionDescriptorName=Kv,d.resolveBaseEntityName=Zv,d.resolveBuiltInBaseEntityDataTypeLabel=Qc,d.resolveConditionOperatorLabel=Zs,d.resolveCustomEntityDataTypeLabel=Kc,d.resolveDataType=Ys,d.resolveDataTypeLabel=Hv,d.resolveEntityDataTypeLabel=zv,d.resolveEntityName=A,d.resolveFirstCallsSecond=j6,d.resolveFirstWritesSecond=k6,d.resolvePrimitiveEntityName=Qv,d.resolvePropertyDataTypeLabel=Yv,d.resolveSearchName=Xv,d.resolveVariableDataTypeLabel=M9,d.resolveVariableDeclarationDataTypeLabel=sr,d.resolveVariableInstanceDataTypeLabel=Wv,d.resolveVariableScope=B9,d.sequentialExecutionOperation=tn,d.sequentialExecutionOperationError=Yp,d.sequentialExecutionOperationErrorParentRef=Hp,d.sequentialExecutionOperationListOfExecutionResultsDataType=qp,d.sequentialExecutionOperationListOfExecutionResultsReturn=_o,d.sequentialExecutionOperationListOfExecutionResultsReturnParentRef=Wp,d.sequentialExecutionOperationListOfExecutionResultsReturnRef=kp,d.sequentialExecutionOperationListOfFunctionsArgument=wo,d.sequentialExecutionOperationListOfFunctionsArgumentDatatype=jp,d.sequentialExecutionOperationListOfFunctionsArgumentParentRef=Jp,d.sequentialExecutionOperationListOfFunctionsArgumentRef=xp,d.sequentialExecutionOperationListOfFunctionsBlueprint=Up,d.softDeletePersistedEntityMethod=gf,d.softDeletePersistedEntityMethodParentRef=vf,d.sortCallsBasedOnExecutionDependencies=mg,d.sortChildrenEntitiesBasedOnExecutionDependencies=U6,d.splitListOperation=Do,d.splitListOperationError=Wu,d.splitListOperationErrorParentRef=Ju,d.splitListOperationFirstOutputListDataType=$u,d.splitListOperationFirstOutputListReturn=xu,d.splitListOperationFirstOutputListReturnParentRef=Uu,d.splitListOperationFirstOutputListReturnRef=Po,d.splitListOperationInputListArgument=Lu,d.splitListOperationInputListArgumentParentRef=Vu,d.splitListOperationInputListArgumentRef=wu,d.splitListOperationInputListDataType=_u,d.splitListOperationSecondOutputListDataType=ju,d.splitListOperationSecondOutputListReturn=qu,d.splitListOperationSecondOutputListReturnParentRef=ku,d.splitListOperationSplitIndexArgument=Fu,d.splitListOperationSplitIndexArgumentParentRef=Gu,d.splitListOperationSplitIndexArgumentRef=Mu,d.splitListOperationSplitIndexDataType=Nu,d.stringPrototype=F,d.stringValueAutogenerationSchema=Jl,d.suggestNewIdForEntity=ad,d.test_primitive_entities_export=h3,d.toCamelCase=w9,d.toEntityState=Mt,d.toKebabCase=Jv,d.toLowerCaseKebabCase=zs,d.toPascalCase=_9,d.untypedObjectPrototype=Xe,d.updateErrorsList=X,d.updateValueReader=ya,d.urlDefaultValue=gy,d.uuidPrototype=fa,d.validateArgumentDeclarationName=rd,d.validateCalledByErrorIdInAction=w6,d.validateCalledByIdInAction=B6,d.validateCallers=lg,d.validateConditionEntityDeclaration=N6,d.validateCustomEntityName=Xs,d.validateDataOperation=xn,d.validateDataOperationDataToValidateArgument=uy,d.validateDataOperationDataToValidateArgumentParentRef=dy,d.validateDataOperationDataToValidateArgumentRef=ly,d.validateDataOperationDataToValidateDataType=cy,d.validateDataOperationEntityToMatchTypeArgument=fy,d.validateDataOperationEntityToMatchTypeArgumentParentRef=hy,d.validateDataOperationEntityToMatchTypeArgumentRef=py,d.validateDataOperationEntityToMatchTypeDataType=yy,d.validateDataOperationError=Ry,d.validateDataOperationErrorParentRef=Ey,d.validateDataOperationOutputEntityDeclaration=Ty,d.validateDataOperationOutputEntityDeclarationParentRef=my,d.validateEntryCaller=og,d.validateErrorCaller=sg,d.validateFunctionCallDeclaration=dg,d.validateFunctionDeclarationName=ed,d.validateGeneratedEntityParentIsNotBuiltInEntity=A6,d.validateGeneration=P6,d.validateGenerationTarget=Pe,d.validateGenerationUpdate=D6,d.validateLoopEntityDeclaration=$6,d.validateName=N9,d.validateOperationEntityDeclaration=ug,d.validatePropertyName=nd,d.validateReachability=mn,d.validateReadsValueInActionPayload=_6,d.validateReferenceObject=Ks,d.validateReferenceToOne=cd,d.validateReferences=Ge,d.validateReturnDeclarationName=id,d.validateSuccessCaller=ag,d.validateValueReaderGenerationUpdate=da,d.validateValueWritter=fd,d.validateVariableDeclarationName=td,d.validateVariableInternalCallUse=md,d.valueAutogenerationCurrentDateAndTimeSchema=tb,d.valueAutogenerationGenericSchema=Es,d.valueAutogenerationOptions=Yl,d.valueAutogenerationOptionsSchema=eb,d.valueAutogenerationRandomBooleanSchema=ql,d.valueAutogenerationRandomDateBetweenSchema=db,d.valueAutogenerationRandomDateFromSchema=lb,d.valueAutogenerationRandomDateSchema=vs,d.valueAutogenerationRandomDateUntilSchema=cb,d.valueAutogenerationRandomNumberBetweenSchema=ib,d.valueAutogenerationRandomNumberFromSchema=nb,d.valueAutogenerationRandomNumberSchema=Rs,d.valueAutogenerationRandomNumberUntilSchema=rb,d.valueAutogenerationRandomSchema=Wi,d.valueAutogenerationRandomTextBetweenSchema=ob,d.valueAutogenerationRandomTextFromSchema=ab,d.valueAutogenerationRandomTextSchema=bs,d.valueAutogenerationRandomTextUntilSchema=sb,d.valueAutogenerationRangeValueTypesSchema=Ji,d.valueAutogenerationUniqueSchema=kl,d.waitOperation=ot,d.waitOperationMillisecondsNumberArgument=Un,d.waitOperationMillisecondsNumberArgumentRef=Mp,d.waitOperationMillisecondsNumberDataType=Np,d.waitOperationOperationError=Lp,d.waitOperationOperationErrorParentRef=Vp,d.waitOperationRef=$p,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});
375
+ Alternatively you can update the parent data-type entity with 'update' action to remove the existing value of the field.`,issue:null}))}return{errors:a,modifiedData:i}}get extendedProperties(){return S(this.extends.reduce((e,t)=>[...[...t.properties,...t.extendedProperties].filter(a=>!a.abstract),...e],[]))}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on an '${this.type}', must be the root project as it is a globally declared entity.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){if(this.parent.type===r.DataType){const e=this.parent;e.entity=this}else this.project.addCustomEntity(this);return this}setParent(e){return this.parent=e,this}removeProperty(e){return this.properties=this.properties.filter(t=>t.id!==e.id),this}addMethod(e){return this.methods.includes(e)||(this.methods.push(e),this.suggestedMethods=this.suggestedMethods.filter(t=>t.name!==e.name)),this}removeMethod(e){return this.methods=this.methods.filter(t=>t.id!==e.id),this}addProperty(e){return this.properties.includes(e)||(this.properties.push(e),this.suggestedProperties=this.suggestedProperties.filter(t=>t.name!==e.name)),this}addSuggestedProperty(e){return this.suggestedProperties.includes(e)||this.suggestedProperties.push(e),this}addSuggestedMethod(e){return this.suggestedMethods.includes(e)||this.suggestedMethods.push(e),this}removeSuggestedProperty(e){return this.suggestedProperties=this.suggestedProperties.filter(t=>t.id!==e.id),this}removeSuggestedMethod(e){return this.suggestedMethods=this.suggestedMethods.filter(t=>t.id!==e.id),this}addAbstractMethod(e){return this.abstractMethods.includes(e)||this.abstractMethods.push(e),this}removeAbstractMethod(e){return this.abstractMethods=this.abstractMethods.filter(t=>t.id!==e.id),this}initChildren(){return this.initialized?this:(this.initialized=!0,this.properties=this.initialData.properties.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.methods=this.initialData.methods.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.abstractMethods=this.initialData.abstractMethods.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.extends=this.initialData.extends.map(e=>R(e,this.project)),this.implements=this.initialData.implements.map(e=>R(e,this.project)),this.addSuggestions(),this)}addSuggestions(){return this.implements.forEach(e=>{Gx(this,e).forEach(a=>{const s=a.toJSON();s.id=`_suggestion--parent--${this.id}--${a.id}`;const o=R(s,this.project);o.suggestion=!0,o.setParent(this),o.initChildren(),this.addSuggestedProperty(o)}),Fx(this,e).forEach(a=>{const s=`_suggestion--parent--${this.id}--${a.id}`,o=a.implementAsFunctionDeclaration(s),u=R(o,this.project);if(u.suggestion=!0,u.setParent(this),u.initChildren(),u.inputs.forEach(p=>{p.suggestion=!0}),u.returnStatements.length){const p=u.returnStatements[0];p.suggestion=!0,p.outputs.forEach(h=>{h.suggestion=!0})}this.addSuggestedMethod(u)})}),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.x=e.x||this.x,this.y=e.y||this.y,this.static=e.static||this.static,this.abstract=e.abstract||this.abstract,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.properties.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.methods.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.abstractMethods.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.suggestedProperties.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.suggestedMethods.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.properties.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.methods.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.abstractMethods.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.suggestedProperties.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.suggestedMethods.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),{affected:S(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.extends.flatMap(i=>i.toFlat(e)),...this.implements.flatMap(i=>i.toFlat(e)),...this.properties.flatMap(i=>i.toFlat(e)),...this.methods.flatMap(i=>i.toFlat(e)),...this.abstractMethods.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.extends.flatMap(i=>i.toFlatIds(e)),...this.implements.flatMap(i=>i.toFlatIds(e)),...this.properties.flatMap(i=>i.toFlatIds(e)),...this.methods.flatMap(i=>i.toFlatIds(e)),...this.abstractMethods.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,x:this.x,y:this.y,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),implements:this.implements.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,x:this.x,y:this.y,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),implements:this.implements.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(i=>i.toFlatJSON(e)),...this.methods.flatMap(i=>i.toFlatJSON(e)),...this.abstractMethods.flatMap(i=>i.toFlatJSON(e)),...this.implements.flatMap(i=>i.toFlatJSON(e)),...this.extends.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,name:this.name,description:this.description,type:this.type,static:this.static,abstract:this.abstract,extends:this.extends.map(t=>t.id),implements:this.implements.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(i=>i.toFlatGenerationTarget(e)),...this.methods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.implements.filter(i=>i.type===r.CustomEntity).flatMap(i=>i.toFlatGenerationTarget(e)),...this.implements.filter(i=>i.type===r.CustomEntity).flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){return this.errors=Lx(this),{success:!0,error:null,data:null}}getErrors(){return[...this.errors,...this.properties.flatMap(t=>t.getErrors()),...this.methods.flatMap(t=>t.getErrors()),...this.abstractMethods.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new pe(this.toJSON(),this.project)}getFunctionDeclaration(e){return this.methods.find(t=>t.id===e)}implement(e,t){return lo(this,e,t)}};l(pe,"MUTABLE_BASE_PROPERTIES",["name","description","static","abstract"]),l(pe,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(pe,"BASE_PROPERTIES",[...pe.MUTABLE_BASE_PROPERTIES,...pe.INMUTABLE_BASE_PROPERTIES]),l(pe,"MUTABLE_META_PROPERTIES",[...pe.MUTABLE_BASE_PROPERTIES,"x","y"]),l(pe,"INMUTABLE_META_PROPERTIES",[...pe.INMUTABLE_BASE_PROPERTIES]),l(pe,"META_PROPERTIES",[...pe.MUTABLE_META_PROPERTIES,...pe.INMUTABLE_META_PROPERTIES]),l(pe,"MUTABLE_UPSTREAM_PROPERTIES",["extends","implements"]),l(pe,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(pe,"UPSTREAM_PROPERTIES",[...pe.MUTABLE_UPSTREAM_PROPERTIES,...pe.INMUTABLE_UPSTREAM_PROPERTIES]),l(pe,"MUTABLE_DOWNSTREAM_PROPERTIES",["properties","methods","abstractMethods"]),l(pe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(pe,"DOWNSTREAM_PROPERTIES",[...pe.MUTABLE_DOWNSTREAM_PROPERTIES,...pe.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(pe,"PROPERTIES",[...pe.META_PROPERTIES,...pe.UPSTREAM_PROPERTIES,...pe.DOWNSTREAM_PROPERTIES]);let Pr=pe;function r3(n){const e=a4(),t=n.toJSON();e.safeParse(t).success;const a=[];return X(n.errors,a)}class Nt{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"type",r.PrimitiveEntity);l(this,"static");l(this,"abstract");l(this,"properties",[]);l(this,"methods",[]);l(this,"abstractMethods",[]);l(this,"extends",[]);l(this,"errors",[]);l(this,"project");this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.static=e.static,this.abstract=e.abstract,this.properties=this.initialData.properties.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(i=>{const a=R(i,this.project);return a.parent=this,a}),this.abstractMethods=this.initialData.abstractMethods.map(i=>{const a=R(i,this.project);return a.parent=this,a})}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}async load(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.properties.flatMap(i=>i.toFlat(e)),...this.methods.flatMap(i=>i.toFlat(e)),...this.abstractMethods.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.properties.flatMap(i=>i.toFlatIds(e)),...this.methods.flatMap(i=>i.toFlatIds(e)),...this.abstractMethods.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(i=>i.toFlatJSON(e)),...this.methods.flatMap(i=>i.toFlatJSON(e)),...this.abstractMethods.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,extends:this.extends.map(e=>e.id)}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(i=>i.toFlatGenerationTarget(e)),...this.methods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){const e=r3(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.properties.flatMap(t=>t.getErrors()),...this.methods.flatMap(t=>t.getErrors()),...this.abstractMethods.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new Nt(this.toJSON(),this.project)}}function i3(n){const e=h4(),t=n.toJSON();e.safeParse(t).success;const a=[];return X(n.errors,a)}class Ut{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"type",r.BuiltInBaseEntity);l(this,"abstract",!1);l(this,"static");l(this,"properties",[]);l(this,"methods",[]);l(this,"abstractMethods",[]);l(this,"extends",[]);l(this,"interactive",!1);l(this,"errors",[]);l(this,"project");this.initialData=this.initialData||e,this.project=this.project||t,this.id=this.id||e.id,this.version=this.version||e.version,this.name=this.name||e.name,this.static=this.static||e.static,this.interactive=this.interactive||e.interactive,this.abstract=e.abstract,this.properties=this.initialData.properties.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.abstractMethods=this.initialData.abstractMethods.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.extends=this.initialData.extends.map(i=>R(i,this.project))}get extendedProperties(){return S(this.extends.reduce((e,t)=>{if(t instanceof Ut){const i=[...t.properties,...t.extendedProperties].filter(a=>!a.abstract);e.push(...i)}return e},[]))}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}async load(){return this}remove(e={ignoreUpstream:!1,seenEntities:new Set}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.properties.flatMap(i=>i.toFlat(e)),...this.methods.flatMap(i=>i.toFlat(e)),...this.abstractMethods.flatMap(i=>i.toFlat(e)),...this.extends.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.properties.flatMap(i=>i.toFlatIds(e)),...this.methods.flatMap(i=>i.toFlatIds(e)),...this.abstractMethods.flatMap(i=>i.toFlatIds(e)),...this.extends.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,interactive:this.interactive,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,interactive:this.interactive,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(i=>i.toFlatJSON(e)),...this.methods.flatMap(i=>i.toFlatJSON(e)),...this.abstractMethods.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,interactive:this.interactive,extends:this.extends.map(e=>e.id)}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(i=>i.toFlatGenerationTarget(e)),...this.methods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){const e=i3(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.properties.flatMap(t=>t.getErrors()),...this.methods.flatMap(t=>t.getErrors()),...this.abstractMethods.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new Ut(this.toJSON(),this.project)}implement(e,t){return lo(this,e,t)}}function fa(n,e){if(!n)throw new Error("Entity is null");const t=e.findSubscribedInstance(n);switch(n.type){case r.PrimitiveValue:return t||new ci(n,e);case r.CustomEntity:return t||new Pr(n,e);case r.PrimitiveEntity:return t||new Nt(n,e);case r.FunctionDeclaration:return t||new cr(n,e);case r.GlobalEvent:return t||new oi(n,e);case r.DataType:return t||new si(n,e);case r.Property:return t||new lr(n,e);case r.FunctionCall:return t||new br(n,e);case r.Condition:return t||new pr(n,e);case r.Operation:return t||new dr(n,e);case r.VariableDeclaration:return t||new yr(n,e);case r.VariableInstance:return t||new hr(n,e);case r.OutputMap:return t||new fn(n,e);case r.ReturnDeclaration:return t||new Ot(n,e);case r.ArgumentDeclaration:return t||new Tr(n,e);case r.InputMap:return t||new hn(n,e);case r.Project:return t||new $(n);case r.InstalledProject:return t||new mr(n,e);case r.ActionDescriptor:return t||new _e(n,e);case r.ReturnStatement:return t||new Er(n,e);case r.Loop:return t||new ur(n,e);case r.Search:return t||new fr(n,e);case r.ValueDescriptor:return t||new Rr(n,e);case r.BuiltInBaseEntity:return t||new Ut(n,e);case r.InternalCall:return t||new li(n,e);case r.ContinueStatement:return t||new yt(n,e);case r.BreakStatement:return t||new di(n,e);default:throw new Error("Invalid entity type: "+n.type)}}function R(n,e){if(!n)throw new Error("Entity is null");const t=fa(n,e);return t.subscribe(),t}function a3(n,e){if(!n)throw new Error("Entity is null");switch(n.type){case r.PrimitiveValue:return ci.fromGenerationTarget(n,e);case r.CustomEntity:return Pr.fromGenerationTarget(n,e);case r.FunctionDeclaration:return cr.fromGenerationTarget(n,e);case r.GlobalEvent:return oi.fromGenerationTarget(n,e);case r.DataType:return si.fromGenerationTarget(n,e);case r.Property:return lr.fromGenerationTarget(n,e);case r.FunctionCall:return br.fromGenerationTarget(n,e);case r.Condition:return pr.fromGenerationTarget(n,e);case r.Operation:return dr.fromGenerationTarget(n,e);case r.VariableDeclaration:return yr.fromGenerationTarget(n,e);case r.VariableInstance:return hr.fromGenerationTarget(n,e);case r.OutputMap:return fn.fromGenerationTarget(n,e);case r.ReturnDeclaration:return Ot.fromGenerationTarget(n,e);case r.ArgumentDeclaration:return Tr.fromGenerationTarget(n,e);case r.InputMap:return hn.fromGenerationTarget(n,e);case r.InstalledProject:return mr.fromGenerationTarget(n,e);case r.ReturnStatement:return Er.fromGenerationTarget(n,e);case r.Loop:return ur.fromGenerationTarget(n,e);case r.Search:return fr.fromGenerationTarget(n,e);case r.ActionDescriptor:return _e.fromGenerationTarget(n,e);case r.ValueDescriptor:return Rr.fromGenerationTarget(n,e);case r.InternalCall:return li.fromGenerationTarget(n,e);case r.ContinueStatement:return yt.fromGenerationTarget(n,e);case r.BreakStatement:return di.fromGenerationTarget(n,e);default:throw new Error("Invalid entity type: "+n.type)}}const z=class z{constructor(e){l(this,"initialData");l(this,"id");l(this,"version");l(this,"type",r.Project);l(this,"name",null);l(this,"description",null);l(this,"x");l(this,"y");l(this,"entities",[]);l(this,"projects",[]);l(this,"functions",[]);l(this,"events",[]);l(this,"variableDeclarations",[]);l(this,"variableInstances",[]);l(this,"conditions",[]);l(this,"operations",[]);l(this,"functionCalls",[]);l(this,"loops",[]);l(this,"searches",[]);l(this,"primitives",[]);l(this,"builtInBaseEntities",[]);l(this,"operationDeclarations",[]);l(this,"globalEventActionDescriptors",[]);l(this,"loopDeclarations",[]);l(this,"conditionDeclarations",[]);l(this,"valueDescriptors",[]);l(this,"dataTypes",[]);l(this,"project");l(this,"instances",{});l(this,"builtInInstances",{});l(this,"errors",[]);l(this,"references",[]);this.initialData=e,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.x=0,this.y=0;try{z.UUID=Cn==null?void 0:Cn()}catch(t){console.error("Error initializing UUID module",t),z.UUID={uuid:()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15),fromUUID:i=>i}}}static injectUUIDModule(e){z.UUID=e}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[];return a.push(...Pe(i)),{errors:a,modifiedData:i}}async inject(...e){return await Promise.all(e.map(t=>new Promise(async i=>{await t.init(this),i(null)}))),this}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){return this}get instancesList(){return Object.values(this.instances)}isOperationDeclaration(e){return this.operationDeclarations.includes(e)}isGlobalEventActionDescriptor(e){return this.globalEventActionDescriptors.includes(e)}isLoopDeclaration(e){return this.loopDeclarations.includes(e)}isConditionDeclaration(e){return this.conditionDeclarations.includes(e)}initChildren(){return this.entities=this.initialData.entities.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.projects=this.initialData.projects.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.functions=this.initialData.functions.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.events=this.initialData.events.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.variableDeclarations=this.initialData.variableDeclarations.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.variableInstances=this.initialData.variableInstances.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.conditions=this.initialData.conditions.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.operations=this.initialData.operations.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.functionCalls=this.initialData.functionCalls.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.loops=this.initialData.loops.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.searches=this.initialData.searches.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.attachOrphanReferences(),this.validate(),this}subscribeInstance(e){return(!this.instances[e.id]||this.instances[e.id]!==e)&&(this.instances[e.id]=e),this}subscribeBuiltInInstance(e){return(!this.builtInInstances[e.id]||this.builtInInstances[e.id]!==e)&&(this.builtInInstances[e.id]=e),this}subscribe(){return this}unsubscribe(){return this}unsubscribeInstance(e){return delete this.instances[e.id],this}findSubscribedInstance(e){return this.instances[e.id]||null}findSubscribedBuiltInInstance(e){return this.builtInInstances[e.id]||null}get(e){return this.instances[e]||this.builtInInstances[e]||null}getManaged(e){return this.instances[e]||null}getBuiltIn(e){return this.builtInInstances[e]||null}findSubscribedInstanceFromReference(e){return this.instances[e.entityId]||null}findSubscribedBuiltInInstanceFromReference(e){return this.builtInInstances[e.entityId]||null}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e}={ignoreUpstream:!1}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}getAllBuiltInIds(){const e=new Set;return[...this.primitives.flatMap(t=>t.toFlatIds(e)),...this.builtInBaseEntities.flatMap(t=>t.toFlatIds(e)),...this.operationDeclarations.flatMap(t=>t.toFlatIds(e)),...this.globalEventActionDescriptors.flatMap(t=>t.toFlatIds(e)),...this.loopDeclarations.flatMap(t=>t.toFlatIds(e)),...this.conditionDeclarations.flatMap(t=>t.toFlatIds(e)),...this.valueDescriptors.flatMap(t=>t.toFlatIds(e)),...this.dataTypes.flatMap(t=>t.toFlatIds(e))]}getAllBuiltIn(){const e=new Set;return[...this.primitives.flatMap(t=>t.toFlat(e)),...this.builtInBaseEntities.flatMap(t=>t.toFlat(e)),...this.operationDeclarations.flatMap(t=>t.toFlat(e)),...this.globalEventActionDescriptors.flatMap(t=>t.toFlat(e)),...this.loopDeclarations.flatMap(t=>t.toFlat(e)),...this.conditionDeclarations.flatMap(t=>t.toFlat(e)),...this.valueDescriptors.flatMap(t=>t.toFlat(e)),...this.dataTypes.flatMap(t=>t.toFlat(e))]}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(i=>i.toFlat(e)),...this.functions.flatMap(i=>i.toFlat(e)),...this.events.flatMap(i=>i.toFlat(e)),...this.projects.flatMap(i=>i.toFlat(e)),...this.variableDeclarations.flatMap(i=>i.toFlat(e)),...this.variableInstances.flatMap(i=>i.toFlat(e)),...this.conditions.flatMap(i=>i.toFlat(e)),...this.operations.flatMap(i=>i.toFlat(e)),...this.functionCalls.flatMap(i=>i.toFlat(e)),...this.loops.flatMap(i=>i.toFlat(e)),...this.searches.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),Array.from(e))}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,entities:this.entities.map(e=>e.toJSON()),functions:this.functions.map(e=>e.toJSON()),events:this.events.map(e=>e.toJSON()),projects:this.projects.map(e=>e.toJSON()),variableDeclarations:this.variableDeclarations.map(e=>e.toJSON()),variableInstances:this.variableInstances.map(e=>e.toJSON()),conditions:this.conditions.map(e=>e.toJSON()),operations:this.operations.map(e=>e.toJSON()),functionCalls:this.functionCalls.map(e=>e.toJSON()),loops:this.loops.map(e=>e.toJSON()),searches:this.searches.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+z.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,entities:this.entities.map(e=>e.toReference()),functions:this.functions.map(e=>e.toReference()),events:this.events.map(e=>e.toReference()),projects:this.projects.map(e=>e.toReference()),variableDeclarations:this.variableDeclarations.map(e=>e.toReference()),variableInstances:this.variableInstances.map(e=>e.toReference()),conditions:this.conditions.map(e=>e.toReference()),operations:this.operations.map(e=>e.toReference()),functionCalls:this.functionCalls.map(e=>e.toReference()),loops:this.loops.map(e=>e.toReference()),searches:this.searches.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(i=>i.toFlatJSON(e)),...this.functions.flatMap(i=>i.toFlatJSON(e)),...this.events.flatMap(i=>i.toFlatJSON(e)),...this.projects.flatMap(i=>i.toFlatJSON(e)),...this.variableDeclarations.flatMap(i=>i.toFlatJSON(e)),...this.variableInstances.flatMap(i=>i.toFlatJSON(e)),...this.conditions.flatMap(i=>i.toFlatJSON(e)),...this.operations.flatMap(i=>i.toFlatJSON(e)),...this.functionCalls.flatMap(i=>i.toFlatJSON(e)),...this.loops.flatMap(i=>i.toFlatJSON(e)),...this.searches.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(i=>i.toFlatGenerationTarget(e)),...this.functions.flatMap(i=>i.toFlatGenerationTarget(e)),...this.events.flatMap(i=>i.toFlatGenerationTarget(e)),...this.projects.flatMap(i=>i.toFlatGenerationTarget(e)),...this.variableDeclarations.flatMap(i=>i.toFlatGenerationTarget(e)),...this.variableInstances.flatMap(i=>i.toFlatGenerationTarget(e)),...this.conditions.flatMap(i=>i.toFlatGenerationTarget(e)),...this.operations.flatMap(i=>i.toFlatGenerationTarget(e)),...this.functionCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.loops.flatMap(i=>i.toFlatGenerationTarget(e)),...this.searches.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.entities.forEach(e=>e.clearErrors()),this.projects.forEach(e=>e.clearErrors()),this.functions.forEach(e=>e.clearErrors()),this.events.forEach(e=>e.clearErrors()),this.variableDeclarations.forEach(e=>e.clearErrors()),this.variableInstances.forEach(e=>e.clearErrors()),this.conditions.forEach(e=>e.clearErrors()),this.operations.forEach(e=>e.clearErrors()),this.functionCalls.forEach(e=>e.clearErrors()),this.loops.forEach(e=>e.clearErrors()),this.searches.forEach(e=>e.clearErrors()),this}validate(){const e=wx(),t=this.toJSON();return e.safeParse(t),this.validateChildren(),{success:!0,error:null,data:t}}validateChildren(){this.entities.forEach(e=>e.validate()),this.projects.forEach(e=>e.validate()),this.functions.forEach(e=>e.validate()),this.events.forEach(e=>e.validate()),this.variableDeclarations.forEach(e=>e.validate()),this.variableInstances.forEach(e=>e.validate()),this.conditions.forEach(e=>e.validate()),this.operations.forEach(e=>e.validate()),this.functionCalls.forEach(e=>e.validate()),this.loops.forEach(e=>e.validate()),this.searches.forEach(e=>e.validate())}getErrors(){return[...this.errors,...this.entities.flatMap(t=>t.getErrors()),...this.projects.flatMap(t=>t.getErrors()),...this.functions.flatMap(t=>t.getErrors()),...this.events.flatMap(t=>t.getErrors()),...this.variableDeclarations.flatMap(t=>t.getErrors()),...this.variableInstances.flatMap(t=>t.getErrors()),...this.conditions.flatMap(t=>t.getErrors()),...this.operations.flatMap(t=>t.getErrors()),...this.functionCalls.flatMap(t=>t.getErrors()),...this.loops.flatMap(t=>t.getErrors()),...this.searches.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new z(this.toJSON())}getCustomEntity(e){return this.entities.find(t=>t.id===e)||null}addCustomEntityFromTransfer(e){const t=R(e,this);return this.addCustomEntity(t),t}addCustomEntity(e){return this.entities.includes(e)||this.entities.push(e),e}addFunctionDeclarationFromTransfer(e){const t=R(e,this);return this.addFunctionDeclaration(t),t}addFunctionDeclaration(e){return this.functions.includes(e)||this.functions.push(e),e}addFunctionCallFromTransfer(e){const t=R(e,this);return this.addFunctionCall(t),t}addFunctionCall(e){return this.functionCalls.includes(e)||this.functionCalls.push(e),e}addVariableDeclarationFromTransfer(e){const t=R(e,this);return this.addVariableDeclaration(t),t}addVariableDeclaration(e){return this.variableDeclarations.includes(e)||this.variableDeclarations.push(e),e}addVariableInstanceFromTransfer(e){const t=R(e,this);return this.addVariableInstance(t),t}addVariableInstance(e){return this.variableInstances.includes(e)||this.variableInstances.push(e),e}addInstalledProjectFromTransfer(e){const t=R(e,this);return this.addInstalledProject(t),this}addInstalledProject(e){return this.projects.includes(e)||this.projects.push(e),this}addGlobalEventFromTransfer(e){const t=R(e,this);return this.addGlobalEvent(t),this}addGlobalEvent(e){return this.events.includes(e)||this.events.push(e),this}addConditionFromTransfer(e){const t=R(e,this);return this.addCondition(t),this}addCondition(e){return this.conditions.includes(e)||this.conditions.push(e),this}addOperationFromTransfer(e){const t=R(e,this);return this.addOperation(t),this}addOperation(e){return this.operations.includes(e)||this.operations.push(e),this}addLoopFromTransfer(e){const t=R(e,this);return this.addLoop(t),this}addLoop(e){return this.loops.includes(e)||this.loops.push(e),this}addSearchFromTransfer(e){const t=R(e,this);return this.addSearch(t),this}addSearch(e){return this.searches.includes(e)||this.searches.push(e),this}removeCustomEntity(e){const t=this.entities.findIndex(i=>i.id===e.id);if(t>-1){const i=this.entities[t];return this.entities.splice(t,1),i}return null}removeFunctionDeclaration(e){const t=this.functions.findIndex(i=>i.id===e.id);if(t>-1){const i=this.functions[t];return this.functions.splice(t,1),i}return null}removeExternalProject(e){const t=this.projects.findIndex(i=>i.id===e.id);if(t>-1){const i=this.projects[t];return this.projects.splice(t,1),i}return null}removeGlobalEvent(e){const t=this.events.findIndex(i=>i.id===e.id);if(t>-1){const i=this.events[t];return this.events.splice(t,1),i}return null}removeTopLevelVariableDeclaration(e){if(e.type!==r.VariableDeclaration)return null;const t=this.variableDeclarations.findIndex(i=>i.id===e.id);if(t>-1){const i=this.variableDeclarations[t];return this.variableDeclarations.splice(t,1),i}return null}getEntryPoints(){return[...this.functions,...this.events,...this.entities.flatMap(t=>t.methods)]}getFunctionDeclaration(e){return this.functions.find(t=>t.id===e)||null}getConditions(){return[...this.conditions,...this.getEntryPoints().reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[]),...this.functionCalls.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[]),...this.operations.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[]),...this.loops.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[]),...this.searches.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[])]}getOperations(){return[...this.operations,...this.getEntryPoints().reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[]),...this.functionCalls.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[]),...this.conditions.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[]),...this.loops.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[]),...this.searches.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[])]}getFunctionCalls(){return[...this.functionCalls,...this.getEntryPoints().reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[]),...this.conditions.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[]),...this.operations.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[]),...this.loops.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[]),...this.searches.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[])]}getVariables(){return[...this.variableDeclarations,...this.getEntryPoints().reduce((t,i)=>{const a=Z(i);return[...t,...a]},[]),...this.functionCalls.reduce((t,i)=>{const a=Z(i);return[...t,...a]},[]),...this.conditions.reduce((t,i)=>{const a=Z(i);return[...t,...a]},[]),...this.operations.reduce((t,i)=>{const a=Z(i);return[...t,...a]},[]),...this.loops.reduce((t,i)=>{const a=Z(i);return[...t,...a]},[]),...this.searches.reduce((t,i)=>{const a=Z(i);return[...t,...a]},[])]}getVariableInstances(){return[...this.variableInstances,...this.getEntryPoints().reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.functionCalls.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.conditions.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.operations.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.loops.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.searches.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[])]}getVariableDeclarations(){return S([...this.variableDeclarations,...this.getEntryPoints().reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.functionCalls.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.conditions.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.operations.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.loops.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.searches.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[])])}attachOrphanReferences(){const e=this.getVariableInstances(),t=this.getVariableDeclarations();return e.forEach(i=>{if(!i.declaration){const a=i.initialData,s=a.declaration.entityId||a.declaration.id,o=t.find(u=>u.id===s);o&&i.setDeclaration(o)}}),this}getBuiltInPersistedEntity(){return this.builtInBaseEntities.find(e=>e.name===_.PERSISTED_ENTITY)||null}};l(z,"UUID",Cn==null?void 0:Cn()),l(z,"MUTABLE_BASE_PROPERTIES",["name","description"]),l(z,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(z,"BASE_PROPERTIES",[...z.MUTABLE_BASE_PROPERTIES,...z.INMUTABLE_BASE_PROPERTIES]),l(z,"MUTABLE_META_PROPERTIES",[...z.MUTABLE_BASE_PROPERTIES,"x","y"]),l(z,"INMUTABLE_META_PROPERTIES",[...z.INMUTABLE_BASE_PROPERTIES]),l(z,"META_PROPERTIES",[...z.MUTABLE_META_PROPERTIES,...z.INMUTABLE_META_PROPERTIES]),l(z,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(z,"INMUTABLE_UPSTREAM_PROPERTIES",["primitives","builtInBaseEntities","operationDeclarations","globalEventActionDescriptors","loopDeclarations","builtInInstances"]),l(z,"UPSTREAM_PROPERTIES",[...z.MUTABLE_UPSTREAM_PROPERTIES,...z.INMUTABLE_UPSTREAM_PROPERTIES]),l(z,"MUTABLE_DOWNSTREAM_PROPERTIES",["entities","projects","functions","events","variableDeclarations","variableInstances","conditions","operations","functionCalls","loops","searches"]),l(z,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(z,"DOWNSTREAM_PROPERTIES",[...z.MUTABLE_DOWNSTREAM_PROPERTIES,...z.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(z,"PROPERTIES",[...z.META_PROPERTIES,...z.UPSTREAM_PROPERTIES,...z.DOWNSTREAM_PROPERTIES]);let $=z;class jg extends _e{constructor(t){super($t,t);l(this,"id",Ie.Parallel);l(this,"name",Ie.Parallel);l(this,"description","Execute a list of actions one after the other");l(this,"version",1);l(this,"autoexecutable",!0);l(this,"initialData",$t);l(this,"type",r.ActionDescriptor);l(this,"fixedArguments",[]);l(this,"fixedReturns",[]);l(this,"error",null);l(this,"dynamicArgumentTypes",null);l(this,"dynamicReturnTypes",null);l(this,"project");this.project=t,this.fixedArguments=$t.fixedArguments.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.fixedReturns=$t.fixedReturns.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.error=$t.error?R($t.error,this.project):null}}class kg extends _e{constructor(t){super(ot,t);l(this,"id",ot.id);l(this,"name",ot.name);l(this,"description",ot.description);l(this,"version",ot.version);l(this,"autoexecutable",!1);l(this,"initialData",ot);l(this,"type",r.ActionDescriptor);l(this,"fixedArguments",[]);l(this,"fixedReturns",[]);l(this,"error",null);l(this,"dynamicArgumentTypes",null);l(this,"dynamicReturnTypes",null);l(this,"project");this.project=t,this.fixedArguments=ot.fixedArguments.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.fixedReturns=ot.fixedReturns.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.error=ot.error?R(ot.error,this.project):null}}class qg extends _e{constructor(t){super(tn,t);l(this,"id",Ie.Sequential);l(this,"name",Ie.Sequential);l(this,"description","Execute a list of actions one after the other");l(this,"version",1);l(this,"autoexecutable",!0);l(this,"initialData",tn);l(this,"type",r.ActionDescriptor);l(this,"fixedArguments",[]);l(this,"fixedReturns",[]);l(this,"error",null);l(this,"dynamicArgumentTypes",null);l(this,"dynamicReturnTypes",null);l(this,"project");this.project=t,this.fixedArguments=tn.fixedArguments.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.fixedReturns=tn.fixedReturns.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.error=tn.error?R(tn.error,this.project):null}}function s3(n){const e=[new qg(n),new jg(n),new kg(n),new _e(fi,n),new _e(Cr,n),new _e(jn,n),new _e(ba,n),new _e(Do,n),new _e(Oo,n),new _e(So,n),new _e(Ta,n),new _e(yi,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.operationDeclarations=e,e}class Jg extends Ut{constructor(t){super(Be,t);l(this,"initialData");l(this,"id",_.PERSISTED_ENTITY);l(this,"version",1);l(this,"name",_.PERSISTED_ENTITY);l(this,"description",Be.description);l(this,"type",r.BuiltInBaseEntity);l(this,"abstract",Be.abstract);l(this,"static",Be.static);l(this,"properties",[]);l(this,"methods",[]);l(this,"abstractMethods",[]);l(this,"extends",[]);l(this,"errors",[]);l(this,"project");this.initialData=Be,this.project=t,this.id=Be.id,this.version=Be.version,this.name=Be.name,this.static=Be.static,this.abstract=Be.abstract,this.properties=this.initialData.properties.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(i=>{const a=R(i,this.project);return a.parent=this,a}),this.abstractMethods=this.initialData.abstractMethods.map(i=>{const a=R(i,this.project);return a.parent=this,a}),this.extends=this.initialData.extends.map(i=>R(i,this.project))}}function o3(n){const e=[new Jg(n),new Ut(Oa,n),new Ut(bn,n),new Ut(Jo,n),new Ut(Sa,n)];return e.forEach(t=>{n.subscribeBuiltInInstance(t)}),n.builtInBaseEntities=e,e}function l3(n){const e=[new Nt(F,n),new Nt(Un,n),new Nt(Ce,n),new Nt(Xe,n),new Nt(Rn,n),new Nt(Or,n),new Nt(ma,n),new Nt(vo,n)];return e.forEach(t=>{n.subscribeBuiltInInstance(t)}),n.primitives=e,e}function c3(n){const e=[new _e(Ma,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.globalEventActionDescriptors=e,e}function d3(n){const e=[new _e(kn,n),new _e(Fo,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.loopDeclarations=e,e}function u3(n){const e=[new Rr(zo,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.valueDescriptors=e,e}function p3(n){const e=[new _e(qn,n),new _e(wr,n)];return e.forEach(t=>{t.initChildren()}),n.conditionDeclarations=e,e}const Dr={},To={};async function y3(n,e={}){const t={...eb};return t.id=n.id,e.empty?{data:{id:n.id,type:r.Project,version:1,name:null,description:null,projects:[],entities:[],operations:[],functions:[],variableDeclarations:[],variableInstances:[],functionCalls:[],conditions:[],loops:[],searches:[],events:[]}}:{data:t}}function Wg(n){const e=new $(n);return l3(e),o3(e),s3(e),c3(e),d3(e),u3(e),p3(e),e.initChildren(),e}async function h3(n,e={}){try{if(n.id&&Dr[n.id])return Dr[n.id];if(n.id&&To[n.id])return await To[n.id],Dr[n.id];const t=y3(n,e);n.id&&(To[n.id]=t);const i=await t;if(i.data){const a=Wg(i.data);return Dr[n.id]=a,n.id&&delete To[n.id],a}return null}catch{return null}}function f3(n){return Dr[n.id]&&delete Dr[n.id],null}const m3="test_primitive_entities_export";d.AI_VALUE_CONNECTION_GENERATION_ACTION_EXPLANATION=Td,d.ActionDescriptorState=_e,d.ActionDescriptorValuesType=L,d.ActionInputMapState=h9,d.ActionOutputMapState=T9,d.AppendToListOperationInputIds=lp,d.AppendToListOperationOutputIds=cp,d.ArgumentDeclarationState=Tr,d.BREAK_AND_CONTINUE_STATEMENTS_RETURN_DECLARATIONS_EXPLANATION=yd,d.BUILT_IN_BASE_ENTITY_IDS=Ve,d.BUILT_IN_ENTITY_TYPES=Sr,d.BaseCanvasDraggableState=Q6,d.BaseEntityNames=_,d.BaseState=X6,d.BaseValueDescriptorIds=$o,d.BreakStatementState=di,d.BuiltInBaseEntityState=Ut,d.CACHED_PROJECTS_BY_ID=Dr,d.CALLABLE_ENTITIES_EXPLANATION=C9,d.CALLABLE_TYPES=En,d.CALLER_ENTITIES_EXPLANATION=ig,d.CALLER_TYPES=en,d.CALLS_UPDATE_EXPLANATION=Vn,d.COMPARISON_CONDITIONS=am,d.CONDITIONS=gI,d.CUSTOM_ENTITY_OPERATIONS=Iy,d.CallableEntityClass=e9,d.CallerEntityClass=cd,d.ChildEntityState=K6,d.ComparisonOperatorTypes=Ae,d.ConditionState=pr,d.ContinueStatementState=yt,d.CreateNewInputIds=Kp,d.CreateNewOutputIds=ey,d.CustomEntityState=Pr,d.DRAGGABLE_CALLABLE_TYPES=Ro,d.DRAGGABLE_CALLER_TYPES=$d,d.DRAGGABLE_ELEMENT_TYPES=bo,d.DRAGGABLE_EXECUTABLE_TYPES=Xg,d.DRAGGABLE_PASS_THROUGH_CALLABLE_TYPES=Eo,d.DataTypeCompatibilityTypes=wt,d.DataTypeParentChildRelation=qe,d.DataTypeState=si,d.ENTITIES_WITH_VALLUES_EXPLANATION=ro,d.ENTITY_TYPES=Qg,d.ENTITY_WITH_LOGIC_SCOPE_TYPES=st,d.ENTITY_WITH_NAMES_TYPES=Vd,d.ENTITY_WITH_VALUE_TYPES=Nd,d.ENTRY_POINT_ENTITIES_EXPLANATION=da,d.ENTRY_POINT_TYPES=$e,d.EVENT_TYPES=Ar,d.EXECUTABLE_TYPES=Zg,d.EXECUTION_OPERATIONS=Qp,d.EntityError=Qn,d.EntityErrorSeverity=f,d.EntityGenerationError=E,d.EntityGenerationErrorCode=y,d.EntityInstanceErrorCode=O,d.EntityOperations=Ze,d.EntityType=r,d.EntityWithLogicScopeClass=i9,d.EntityWithValueClass=r9,d.EntryPointEntityClass=t9,d.ExecutionOperations=Ie,d.FunctionCallState=br,d.FunctionDeclarationState=cr,d.GLOBAL_EVENT_DECLARATIONS=II,d.GetLastInListOperationInputIds=Zu,d.GetLastInListOperationOutputIds=Xu,d.GlobalEventNames=Kt,d.GlobalEventState=oi,d.HTTPOperations=Ye,d.HTTP_OPERATIONS=rh,d.InputMapState=hn,d.InstalledProjectState=mr,d.InternalCallState=li,d.JoinListOperationInputIds=mu,d.JoinListOperationOutputIds=Tu,d.JoinStringOperationInputIds=nu,d.JoinStringOperationOutputIds=ru,d.LIST_OPERATIONS=gp,d.ListOperations=j,d.LoopState=ur,d.LoopTypes=je,d.NON_INTERACTIVE_BASE_ENTITIES_EXPLANATION=Ln,d.NUMBER_OPERATIONS=tu,d.NumberAdditionOperationInputIds=jd,d.NumberAdditionOperationOutputIds=kd,d.NumberOperations=at,d.OPERATION_DECLARATIONS=eI,d.OperationState=dr,d.OutputMapParentChildRelation=Md,d.OutputMapState=fn,d.PARENT_AUTO_CALCULATION_FROM_CALLER_EXPLANATION=io,d.PASS_THROUGH_CALLABLE_ENTITIES_EXPLANATION=$n,d.PASS_THROUGH_CALLABLE_TYPES=Ne,d.PROPERTY_NOT_VALUE_READER_WRITTER_EXPLANATION=md,d.ParallelExecutionOperation=jg,d.ParallelExecutionOperationInputIds=Ip,d.ParallelExecutionOperationOutputIds=Pp,d.PassThroughCallableEntityClass=n9,d.PersistedEntity=Jg,d.PersistedEntityMethods=gt,d.PrimitiveEntityState=Nt,d.PrimitiveTypes=g,d.PrimitiveValueState=ci,d.ProjectState=$,d.PropertyState=lr,d.RETURN_STATEMENT_RETURN_DECLARATIONS_EXPLANATION=B9,d.ReturnDeclarationState=Ot,d.ReturnStatementState=Er,d.STANDALONE_CONDITIONS=Kf,d.STRING_OPERATIONS=fu,d.ScopeCompatibilityType=mo,d.SearchState=fr,d.SequentialExecutionOperation=qg,d.SequentialExecutionOperationInputIds=xp,d.SequentialExecutionOperationOutputIds=jp,d.SharedEntityErrorCode=v,d.SharedStateFunctionality=tg,d.SplitListOperationInputIds=_u,d.SplitListOperationOutputIds=Mu,d.StandaloneOperatorTypes=Ct,d.StringOperations=ge,d.TERMINATION_TYPES=Oe,d.USER_MANAGED_ENTITY_TYPES=Kg,d.UserManagedEntityStateFunctionality=Z6,d.VALUE_READING_ENTITIES_EXPLANATION=fd,d.VALUE_READING_TYPES=Tn,d.VALUE_WRITING_ENTITIES_EXPLANATION=ag,d.VALUE_WRITING_TYPES=Se,d.VARIABLE_DATA_TYPE_INFERRANCE_EXPLANATION=hd,d.VARIABLE_TYPES=Fe,d.ValidationInputIds=cy,d.ValidationOutputIds=dy,d.ValueAutogenerationType=xe,d.ValueDescriptorParentChildRelation=C,d.ValueDescriptorState=Rr,d.ValueReadingEntityClass=la,d.ValueWritingEntityClass=ca,d.VariableDeclarationState=yr,d.VariableInputMapState=y9,d.VariableInstanceState=hr,d.VariableOutputMapState=m9,d.WaitOperation=kg,d.WaitOperationInputIds=Np,d.WaitOperationOutputIds=$p,d._VALUE_READING_TYPES=Yg,d._VALUE_WRITING_TYPES=zg,d.appendToListOperation=ba,d.appendToListOperationElementToAppendArgument=Bo,d.appendToListOperationElementToAppendArgumentParentRef=Tp,d.appendToListOperationElementToAppendArgumentRef=pp,d.appendToListOperationError=vp,d.appendToListOperationErrorParentRef=bp,d.appendToListOperationListArgument=Co,d.appendToListOperationListArgumentParentRef=mp,d.appendToListOperationListArgumentRef=dp,d.appendToListOperationListDataType=up,d.appendToListOperationResultListDataType=fp,d.appendToListOperationResultListReturn=Rp,d.appendToListOperationResultListReturnParentRef=Ep,d.appendToListOperationResultListReturnRef=hp,d.appendToListOperationSecondListDataType=yp,d.asGenerationActionExample=Qt,d.baseHttpRequestFunctionDeclaration=fi,d.baseHttpRequestFunctionDeclarationErrorValueDescriptor=Go,d.baseHttpRequestFunctionDeclarationErrorValueDescriptorDatatype=nh,d.baseHttpRequestFunctionDeclarationErrorValueDescriptorRef=th,d.baseHttpRequestFunctionDeclarationRef=Xy,d.baseHttpRequestFunctionDeclarationRefEight=Ky,d.baseHttpRequestFunctionDeclarationRefFive=zy,d.baseHttpRequestFunctionDeclarationRefFour=Yy,d.baseHttpRequestFunctionDeclarationRefNine=eh,d.baseHttpRequestFunctionDeclarationRefSeven=Qy,d.baseHttpRequestFunctionDeclarationRefSix=Zy,d.baseHttpRequestFunctionDeclarationRefThree=Hy,d.baseHttpRequestFunctionDeclarationRefTwo=Wy,d.booleanPrototype=Un,d.capitalizeFirstLetter=Hs,d.checkAreCustomEntitiesCompatibleAsDataType=Fv,d.checkAreDataTypesCompatible=Ys,d.checkArePropertiesCompatibleAsDataType=Gv,d.checkIsBranchDependentButNotDirectlyOnBranch=pa,d.checkIsBranchDependentOnBranch=F9,d.checkIsCallableEntityReachable=_d,d.checkIsCanvasEntity=e3,d.checkIsDetachedBranch=$g,d.checkIsDetachedBranchShallow=Bd,d.checkIsGlobalVariable=K9,d.checkIsGloballyDeclared=Cd,d.checkIsMethod=Gg,d.checkIsNestedScope=fo,d.checkScopeCompatibility=ya,d.createEntityError=k,d.createNewInstanceOperation=Cr,d.createNewInstanceOperationEntityToInstanciateArgument=iy,d.createNewInstanceOperationEntityToInstanciateArgumentRef=ty,d.createNewInstanceOperationEntityToInstanciateDataType=ny,d.createNewInstanceOperationError=ly,d.createNewInstanceOperationErrorParentRef=oy,d.createNewInstanceOperationOutputEntityDeclaration=sy,d.createNewInstanceOperationOutputEntityDeclarationParentRef=ay,d.createNewInstanceOperationRef=ry,d.createSemanticId=Xt,d.createStateFromGenerationTargetType=a3,d.createStateFromType=fa,d.createStateFromTypeAndSubscribe=R,d.cronJobBuiltInBaseEntity=Jo,d.cronJobBuiltInBaseEntityExpressionProperty=zf,d.cronJobBuiltInBaseEntityExpressionPropertyDataTypeRef=RI,d.cronJobBuiltInBaseEntityExpressionPropertyRef=Hf,d.cronJobBuiltInBaseEntityRef=Yf,d.cronJobTriggeredFunctionDeclarationBlueprint=qo,d.cronJobTriggeredFunctionDeclarationBlueprintParentRef=Jf,d.customEntityToZodSchema=Im,d.dataTypeCompatibilityToErrorExplanation=yg,d.datePrototype=Or,d.dateValueAutogenerationSchema=Zl,d.deletePersistedEntityMethod=ko,d.deletePersistedEntityMethodParentRef=If,d.deleteRootProject=f3,d.endpointBuiltInBaseEntity=Oa,d.endpointBuiltInBaseEntityRef=Ph,d.endpointBuiltInBaseEntityRefFour=yf,d.endpointBuiltInBaseEntityRefThree=Mh,d.endpointBuiltInBaseEntityRefTwo=Ch,d.endpointBuiltInCorsProperty=Dh,d.endpointBuiltInCorsPropertyDataType=Ih,d.endpointBuiltInCorsPropertyDataTypeRef=vh,d.endpointBuiltInCorsPropertyRef=gh,d.endpointBuiltInMethodProperty=xo,d.endpointBuiltInMethodPropertyDataType=_h,d.endpointBuiltInMethodPropertyDataTypeRef=Bh,d.endpointBuiltInMethodPropertyRef=wh,d.endpointBuiltInPathProperty=Uo,d.endpointBuiltInPathPropertyDataType=Oh,d.endpointBuiltInPathPropertyDataTypeRef=Ah,d.endpointBuiltInPathPropertyRef=Sh,d.endpointPathParamsArgumentDeclaration=Yh,d.endpointPathParamsArgumentDeclarationRef=kh,d.endpointPathParamsVariableDataType=qh,d.endpointPathParamsVariableDataTypeRef=jh,d.endpointReachedTriggerActionDescriptor=jo,d.endpointReachedTriggerActionDescriptorRef=Jh,d.endpointReachedTriggerActionDescriptorRefFour=Xh,d.endpointReachedTriggerActionDescriptorRefThree=zh,d.endpointReachedTriggerActionDescriptorRefTwo=Hh,d.endpointRequestBodyArgumentDeclaration=Qh,d.endpointRequestBodyArgumentDeclarationRef=Lh,d.endpointRequestBodyVariableDataType=Gh,d.endpointRequestHeadersArgumentDeclaration=Wh,d.endpointRequestHeadersArgumentDeclarationRef=$h,d.endpointRequestHeadersVariableDataType=Vh,d.endpointRequestHeadersVariableDataTypeRef=Nh,d.endpointRequestQueryParamsArgumentDeclaration=Zh,d.endpointRequestQueryParamsArgumentDeclarationRef=Uh,d.endpointRequestQueryParamsVariableDataType=xh,d.endpointRequestQueryParamsVariableDataTypeRef=Fh,d.endpointResponseBodyDataType=df,d.endpointResponseBodyReturnDeclaration=pf,d.endpointResponseBodyReturnDeclarationRef=cf,d.endpointResponseCodeDataType=ef,d.endpointResponseCodeReturnDeclaration=nf,d.endpointResponseCodeReturnDeclarationRef=Kh,d.endpointResponseHeadersDataType=sf,d.endpointResponseHeadersDataTypeRef=rf,d.endpointResponseHeadersReturnDeclaration=lf,d.endpointResponseHeadersReturnDeclarationRef=af,d.endpointReturnStatementRef=tf,d.endpointReturnStatementRefThree=uf,d.endpointReturnStatementRefTwo=of,d.enumOptionsProperty=xd,d.enumOptionsPropertyDataType=Fd,d.enumOptionsPropertyDataTypeRef=Ld,d.enumOptionsPropertyRef=Gd,d.enumPrototype=Rn,d.enumPrototypeRef=Ud,d.executionBuiltInEntity=Ho,d.executionBuiltInEntityAbortMethod=Wo,d.executionBuiltInEntityAbortMethodParentRef=Zf,d.filterOutDuplicateEntities=S,d.filterOutDuplicateErrors=ZF,d.findReferenceToSelfInList=Sg,d.findReferencesToSelfInProject=H9,d.flattenCalls=vr,d.flattenCanvasAncestorsUntil=co,d.flattenCustomEntityExtensionAndImplementationTypes=_g,d.flattenCustomEntityExtensionTypes=yo,d.flattenCustomEntityExtensions=Ad,d.flattenCustomEntityImplementations=Sd,d.flattenCustomEntityImplementionTypes=po,d.flattenDerivedCanvasEntities=vt,d.flattenDetachedBranch=Lg,d.flattenElementCalls=Me,d.flattenProjectElements=Ag,d.flattenRelatedCanvasElementsOnTheLeft=wg,d.flattenRelatedCanvasElementsOnTheRight=Bg,d.flattenVariableReads=Dg,d.flattenVariableWrites=Pg,d.flattenVariables=Z,d.fromZodParseToEntityGenerationErrors=dd,d.generate=RD,d.generateActionExample=w9,d.generateExecutionDataType=Uv,d.generateMutablePropertiesExplanation=eo,d.generateRandomBoolean=zm,d.generateRandomDate=Sm,d.generateRandomDateAfter=Pm,d.generateRandomDateBefore=Dm,d.generateRandomDateBetweenRange=Am,d.generateRandomNumber=qm,d.generateRandomNumberAfter=xm,d.generateRandomNumberBefore=jm,d.generateRandomNumberBetweenRange=km,d.generateRandomText=Ym,d.generateRandomTextAfter=Jm,d.generateRandomTextBefore=Wm,d.generateRandomTextBetweenRange=Hm,d.generateUniqueUUID=Um,d.getAllActionDescriptorsForConditions=oo,d.getAllActionDescriptorsForGlobalEvents=ao,d.getAllActionDescriptorsForLoops=so,d.getAllActionDescriptorsForOperations=$9,d.getAllGloballyDeclaredFunctionDeclarationsExplanation=dg,d.getBaseBuiltInEntities=Fn,d.getBaseSchemaBasedOnType=ng,d.getBuiltInEntityOwner=Ir,d.getCallableEntityReferenceSchema=ke,d.getCallableEntityTypeSchema=Db,d.getCallerEntityReferenceSchema=tx,d.getCallerEntityTypeSchema=ex,d.getCalls=vd,d.getCanvasEntitiesDerivedFromInternalCalls=Cg,d.getCanvasEntitiesDerivedFromWrites=ui,d.getCanvasEntityDerivedFromValueReadingEntity=Dd,d.getCanvasEntityReferenceSchema=Ex,d.getCanvasEntityTypeSchema=Tx,d.getChildrenEntityWithValues=x9,d.getCommonAncestor=bd,d.getCommonChildren=mg,d.getDeclaration=Kc,d.getDeepestScope=xg,d.getDraggableCallableEntityReferenceSchema=Sb,d.getDraggableCallableEntityTypeSchema=Ab,d.getDraggableCallerEntityReferenceSchema=rx,d.getDraggableCallerEntityTypeSchema=nx,d.getDraggableExecutableEntityReferenceSchema=ox,d.getDraggableExecutableEntityTypeSchema=sx,d.getDraggablePassThroughCallableEntityReferenceSchema=Fs,d.getDraggablePassThroughCallableEntityTypeSchema=Gs,d.getDraggablePlayableEntityReferenceSchema=px,d.getDraggablePlayableEntityTypeSchema=ux,d.getEntityArgumentDeclarations=Id,d.getEntityInputMaps=Og,d.getEntityOutputMaps=Z9,d.getEntityReferenceSchema=mx,d.getEntityReturnDeclarations=Pd,d.getEntityTypeSchema=fx,d.getEntityWithLogicScopeReferenceSchema=un,d.getEntityWithLogicScopeTypeSchema=lx,d.getEntityWithValueReferenceSchema=Pb,d.getEntityWithValueTypeSchema=KU,d.getEntryPointEntityReferenceSchema=Ue,d.getEntryPointEntityTypeSchema=_n,d.getEventEntityReferenceSchema=Vs,d.getEventEntityTypeSchema=$s,d.getExecutableEntityReferenceSchema=ax,d.getExecutableEntityTypeSchema=ix,d.getExtendedBuiltInEntity=X9,d.getExtendedCustomEntity=Ng,d.getGenerationTargetSchemaBasedOnType=rg,d.getHeadIfPartOfDetachedBranch=Vg,d.getHighestScope=Ug,d.getImplementedBuiltInEntity=Q9,d.getIsInteractive=Od,d.getLastInListOperation=Oo,d.getLastInListOperationError=op,d.getLastInListOperationErrorParentRef=sp,d.getLastInListOperationInputListArgument=rp,d.getLastInListOperationInputListArgumentParentRef=np,d.getLastInListOperationInputListArgumentRef=Qu,d.getLastInListOperationInputListDataType=Ku,d.getLastInListOperationOutputElementDataType=tp,d.getLastInListOperationOutputElementReturn=ap,d.getLastInListOperationOutputElementReturnParentRef=ip,d.getLastInListOperationOutputElementReturnRef=ep,d.getLinkedEntitiesFromArgumentDeclaration=W9,d.getLowestPersistedEntityImplementation=Mg,d.getParentCanvasEntities=_t,d.getParentCanvasEntity=He,d.getParentEntryPoint=U9,d.getPassThroughCallableEntityReferenceSchema=ye,d.getPassThroughCallableEntityTypeSchema=Ls,d.getPlayableEntityReferenceSchema=dx,d.getPlayableEntityTypeSchema=cx,d.getProject=h3,d.getPrototypeByType=ho,d.getReferenceEntityId=D,d.getReferencedEntitiesStateOrErrors=no,d.getReferencedEntityStateOrErrors=ud,d.getRelatedCanvasElementsOnTheLeft=gr,d.getRelatedCanvasElementsOnTheRight=Gn,d.getRootEntryPointScopeOwner=wd,d.getScopeOwner=ht,d.getTerminationReferenceSchema=hx,d.getTerminationTypeSchema=yx,d.getUsedArgFromDeclaration=Y9,d.getUsedReturnFromDeclaration=z9,d.getValueReadingEntityReferenceSchema=Ib,d.getValueReadingEntityTypeSchema=dn,d.getValueWritingEntityReferenceSchema=QU,d.getValueWritingEntityTypeSchema=Qi,d.getVariableFromInputMapping=Eg,d.getVariableFromReturnVariablePointer=vg,d.getVariableReferenceSchema=wn,d.getVariableTypeSchema=tr,d.getVariablesFromArgumentDeclarations=uo,d.getVariablesFromInputMaps=Rg,d.getVariablesFromOutputMapping=gg,d.getVariablesFromOutputMaps=Ig,d.getVariablesFromReturnDeclarations=bg,d.getVariablesInSameOrHigherScope=ed,d.getWrites=gd,d.groupCallsBasedOnParallelizableExecution=k9,d.handleAfterEntityImplementationSideEffects=fg,d.handleBeforeEntityImplementationSideEffects=hg,d.httpRequestBodyArgument=Pa,d.httpRequestBodyArgumentRef=Vy,d.httpRequestBodyDataType=Ly,d.httpRequestHeadersArgument=Ia,d.httpRequestHeadersArgumentRef=Ny,d.httpRequestHeadersDataType=$y,d.httpRequestMethodArgument=va,d.httpRequestMethodArgumentRef=_y,d.httpRequestMethodDataType=My,d.httpRequestMethodDataTypeRef=By,d.httpRequestQueryParamsArgument=Vo,d.httpRequestQueryParamsArgumentRef=Oy,d.httpRequestQueryParamsDataType=Cy,d.httpRequestVariableURLArgument=ga,d.httpRequestVariableURLArgumentRef=Ay,d.httpRequestVariableURLDataType=Sy,d.httpRequestVariableURLDataTypeRef=Py,d.httpResponseBodyReturnDataType=Jy,d.httpResponseBodyReturnDataTypeRef=ky,d.httpResponseBodyReturnReturn=hi,d.httpResponseBodyReturnReturnRef=qy,d.httpResponseCodeDataType=Fy,d.httpResponseCodeReturn=Lo,d.httpResponseCodeReturnRef=Gy,d.httpResponseHeadersDataType=jy,d.httpResponseHeadersDataTypeRef=Uy,d.httpResponseHeadersReturn=Da,d.httpResponseHeadersReturnRef=xy,d.implement=lo,d.inferArgumentDeclarationDataType=xv,d.inferDataType=zs,d.inferInputMapDataType=jv,d.inferOutputMapDataType=Jv,d.inferVariableDeclarationDataType=qv,d.inferVariableInstanceDataType=kv,d.initProject=Wg,d.iterateOverListActionDescriptor=kn,d.iterateOverListActionDescriptorListArgumentDeclaration=dh,d.iterateOverListActionDescriptorListArgumentDeclarationDataType=lh,d.iterateOverListActionDescriptorListArgumentDeclarationDataTypeParentRef=oh,d.iterateOverListActionDescriptorListArgumentDeclarationParentRef=ch,d.iterateOverListActionDescriptorReturnDeclaration=sh,d.iterateOverListActionDescriptorReturnDeclarationParentRef=ah,d.joinListOperation=Do,d.joinListOperationError=wu,d.joinListOperationErrorParentRef=Bu,d.joinListOperationFirstListArgument=Du,d.joinListOperationFirstListArgumentParentRef=Pu,d.joinListOperationFirstListArgumentRef=Eu,d.joinListOperationFirstListDataType=Ru,d.joinListOperationResultListDataType=Iu,d.joinListOperationResultListReturn=Cu,d.joinListOperationResultListReturnParentRef=Ou,d.joinListOperationResultListReturnRef=gu,d.joinListOperationSecondListArgument=Su,d.joinListOperationSecondListArgumentParentRef=Au,d.joinListOperationSecondListArgumentRef=bu,d.joinListOperationSecondListDataType=vu,d.joinListWithLastSeparator=N,d.joinStringOperation=yi,d.joinStringOperationError=hu,d.joinStringOperationErrorParentRef=yu,d.joinStringOperationFirstStringArgument=Ea,d.joinStringOperationFirstStringArgumentParentRef=du,d.joinStringOperationFirstStringArgumentRef=iu,d.joinStringOperationFirstStringDataType=au,d.joinStringOperationResultStringDataType=cu,d.joinStringOperationResultStringReturn=pi,d.joinStringOperationResultStringReturnParentRef=pu,d.joinStringOperationResultStringReturnRef=lu,d.joinStringOperationSecondStringArgument=Ra,d.joinStringOperationSecondStringArgumentParentRef=uu,d.joinStringOperationSecondStringArgumentRef=su,d.joinStringOperationSecondStringDataType=ou,d.jsonPrototype=vo,d.keyValueParamBuiltInBaseEntity=Sa,d.keyValueParamBuiltInBaseEntityNameProperty=Th,d.keyValueParamBuiltInBaseEntityNamePropertyDataTypeRef=nI,d.keyValueParamBuiltInBaseEntityNamePropertyParentRef=mh,d.keyValueParamBuiltInBaseEntityNamePropertyRef=fh,d.keyValueParamBuiltInBaseEntityValueProperty=bh,d.keyValueParamBuiltInBaseEntityValuePropertyDataTypeRef=iI,d.keyValueParamBuiltInBaseEntityValuePropertyParentRef=Rh,d.keyValueParamBuiltInBaseEntityValuePropertyRef=Eh,d.lowercaseFirstLetter=Lv,d.manualFlowActionDescriptor=Fo,d.manualFlowActionDescriptorDeclarationReturnDeclaration=hh,d.manualFlowActionDescriptorDeclarationReturnDeclarationDataType=ph,d.manualFlowActionDescriptorDeclarationReturnDeclarationDataTypeParentRef=uh,d.manualFlowActionDescriptorDeclarationReturnDeclarationParentRef=yh,d.mapActionDescriptorToTypeItRepresents=t3,d.mergeEntityErrorsList=XF,d.mergeListOfEntities=Fg,d.methodDefaultValue=wy,d.mockClientProject=eb,d.moreThanOrEqualCondition=wr,d.moreThanOrEqualConditionLeftHandArgument=nm,d.moreThanOrEqualConditionLeftHandArgumentParentRef=tm,d.moreThanOrEqualConditionRightHandArgument=im,d.moreThanOrEqualConditionRightHandArgumentParentRef=rm,d.notEmptyCondition=qn,d.notEmptyConditionArgument=Qf,d.notEmptyConditionRef=Xf,d.numberAdditionOperation=Ta,d.numberAdditionOperationError=eu,d.numberAdditionOperationErrorParentRef=Kd,d.numberAdditionOperationFirstNumberArgument=go,d.numberAdditionOperationFirstNumberArgumentRef=qd,d.numberAdditionOperationFirstNumberDataType=Jd,d.numberAdditionOperationRef=Zd,d.numberAdditionOperationRefThree=Qd,d.numberAdditionOperationRefTwo=Xd,d.numberAdditionOperationResultNumberDataType=zd,d.numberAdditionOperationResultNumberReturn=Po,d.numberAdditionOperationResultNumberReturnRef=Yd,d.numberAdditionOperationSecondNumberArgument=Io,d.numberAdditionOperationSecondNumberArgumentRef=Wd,d.numberAdditionOperationSecondNumberDataType=Hd,d.numberPrototype=Ce,d.numberValueAutogenerationSchema=zl,d.parallelExecutionOperation=$t,d.parallelExecutionOperationError=Mp,d.parallelExecutionOperationErrorParentRef=_p,d.parallelExecutionOperationListOfExecutionResultsDataType=Cp,d.parallelExecutionOperationListOfExecutionResultsReturn=_o,d.parallelExecutionOperationListOfExecutionResultsReturnRef=Op,d.parallelExecutionOperationListOfFunctionsArgument=wo,d.parallelExecutionOperationListOfFunctionsArgumentDatatype=Sp,d.parallelExecutionOperationListOfFunctionsArgumentRef=Ap,d.parallelExecutionOperationListOfFunctionsBlueprint=Dp,d.parallelExecutionOperationRef=Bp,d.parallelExecutionOperationRefThree=wp,d.persistedBuiltInBaseEntity=Be,d.persistedBuiltInBaseEntityCreatedAtProperty=Uf,d.persistedBuiltInBaseEntityCreatedAtPropertyDataType=Gf,d.persistedBuiltInBaseEntityCreatedAtPropertyDataTypeRef=TI,d.persistedBuiltInBaseEntityCreatedAtPropertyParentRef=Ff,d.persistedBuiltInBaseEntityCreatedAtPropertyRef=Lf,d.persistedBuiltInBaseEntityDatabaseProperty=Ti,d.persistedBuiltInBaseEntityDatabasePropertyDataTypeRef=yI,d.persistedBuiltInBaseEntityDatabasePropertyParentRef=Of,d.persistedBuiltInBaseEntityDatabasePropertyRef=Sf,d.persistedBuiltInBaseEntityDeletedAtProperty=Vf,d.persistedBuiltInBaseEntityDeletedAtPropertyDataType=Nf,d.persistedBuiltInBaseEntityDeletedAtPropertyDataTypeRef=mI,d.persistedBuiltInBaseEntityDeletedAtPropertyParentRef=$f,d.persistedBuiltInBaseEntityDeletedAtPropertyRef=Mf,d.persistedBuiltInBaseEntityIdentifierProperty=_f,d.persistedBuiltInBaseEntityIdentifierPropertyDataTypeRef=Cf,d.persistedBuiltInBaseEntityIdentifierPropertyParentRef=wf,d.persistedBuiltInBaseEntityIdentifierPropertyRef=Bf,d.persistedBuiltInBaseEntityUpdatedAtProperty=qf,d.persistedBuiltInBaseEntityUpdatedAtPropertyDataType=jf,d.persistedBuiltInBaseEntityUpdatedAtPropertyDataTypeRef=EI,d.persistedBuiltInBaseEntityUpdatedAtPropertyParentRef=kf,d.persistedBuiltInBaseEntityUpdatedAtPropertyRef=xf,d.processOutputGlobalValueDescriptorDataType=om,d.processOutputGlobalValueDescriptorReturn=zo,d.processOutputGlobalValueDescriptorReturnRef=sm,d.projectPublicationCompletedGlobalEvent=Ma,d.propertyToZodSchema=gm,d.relationalDatabaseBuiltInBaseEntity=bn,d.relationalDatabaseBuiltInBaseEntityDefaultProperty=gf,d.relationalDatabaseBuiltInBaseEntityDefaultPropertyDataTypeRef=bf,d.relationalDatabaseBuiltInBaseEntityDefaultPropertyRef=vf,d.relationalDatabaseBuiltInBaseEntityIdentifierProperty=Ca,d.relationalDatabaseBuiltInBaseEntityIdentifierPropertyDataTypeRef=hf,d.relationalDatabaseBuiltInBaseEntityIdentifierPropertyRef=ff,d.relationalDatabaseBuiltInBaseEntityMinSizeProperty=_a,d.relationalDatabaseBuiltInBaseEntityMinSizePropertyDataTypeRef=Ef,d.relationalDatabaseBuiltInBaseEntityMinSizePropertyRef=Rf,d.relationalDatabaseBuiltInBaseEntityPasswordProperty=wa,d.relationalDatabaseBuiltInBaseEntityPasswordPropertyDataTypeRef=cI,d.relationalDatabaseBuiltInBaseEntityPasswordPropertyRef=Tf,d.relationalDatabaseBuiltInBaseEntityRef=Br,d.relationalDatabaseBuiltInBaseEntityUsernameProperty=Ba,d.relationalDatabaseBuiltInBaseEntityUsernamePropertyDataTypeRef=oI,d.relationalDatabaseBuiltInBaseEntityUsernamePropertyRef=mf,d.resolveActionDescriptorName=eg,d.resolveBaseEntityName=Xv,d.resolveBuiltInBaseEntityDataTypeLabel=td,d.resolveConditionOperatorLabel=Qs,d.resolveCustomEntityDataTypeLabel=nd,d.resolveDataType=Zs,d.resolveDataTypeLabel=Yv,d.resolveEntityDataTypeLabel=Zv,d.resolveEntityName=A,d.resolveFirstCallsSecond=q9,d.resolveFirstWritesSecond=J9,d.resolvePrimitiveEntityName=Kv,d.resolvePropertyDataTypeLabel=zv,d.resolveSearchName=Qv,d.resolveVariableDataTypeLabel=$6,d.resolveVariableDeclarationDataTypeLabel=or,d.resolveVariableInstanceDataTypeLabel=Hv,d.resolveVariableScope=_6,d.sequentialExecutionOperation=tn,d.sequentialExecutionOperationError=Xp,d.sequentialExecutionOperationErrorParentRef=Zp,d.sequentialExecutionOperationListOfExecutionResultsDataType=Hp,d.sequentialExecutionOperationListOfExecutionResultsReturn=No,d.sequentialExecutionOperationListOfExecutionResultsReturnParentRef=zp,d.sequentialExecutionOperationListOfExecutionResultsReturnRef=Wp,d.sequentialExecutionOperationListOfFunctionsArgument=Mo,d.sequentialExecutionOperationListOfFunctionsArgumentDatatype=Jp,d.sequentialExecutionOperationListOfFunctionsArgumentParentRef=Yp,d.sequentialExecutionOperationListOfFunctionsArgumentRef=qp,d.sequentialExecutionOperationListOfFunctionsBlueprint=kp,d.softDeletePersistedEntityMethod=Df,d.softDeletePersistedEntityMethodParentRef=Pf,d.sortCallsBasedOnExecutionDependencies=Tg,d.sortChildrenEntitiesBasedOnExecutionDependencies=j9,d.splitListOperation=So,d.splitListOperationError=zu,d.splitListOperationErrorParentRef=Yu,d.splitListOperationFirstOutputListDataType=Gu,d.splitListOperationFirstOutputListReturn=qu,d.splitListOperationFirstOutputListReturnParentRef=ku,d.splitListOperationFirstOutputListReturnRef=Ao,d.splitListOperationInputListArgument=Uu,d.splitListOperationInputListArgumentParentRef=Fu,d.splitListOperationInputListArgumentRef=Nu,d.splitListOperationInputListDataType=$u,d.splitListOperationSecondOutputListDataType=Ju,d.splitListOperationSecondOutputListReturn=Hu,d.splitListOperationSecondOutputListReturnParentRef=Wu,d.splitListOperationSplitIndexArgument=ju,d.splitListOperationSplitIndexArgumentParentRef=xu,d.splitListOperationSplitIndexArgumentRef=Vu,d.splitListOperationSplitIndexDataType=Lu,d.stringPrototype=F,d.stringValueAutogenerationSchema=Yl,d.suggestNewIdForEntity=ld,d.test_primitive_entities_export=m3,d.toCamelCase=M6,d.toEntityState=Mt,d.toKebabCase=Wv,d.toLowerCaseKebabCase=Xs,d.toPascalCase=N6,d.untypedObjectPrototype=Xe,d.updateErrorsList=X,d.updateValueReader=ha,d.urlDefaultValue=Dy,d.uuidPrototype=ma,d.validateArgumentDeclarationName=sd,d.validateCalledByErrorIdInAction=M9,d.validateCalledByIdInAction=_9,d.validateCallers=cg,d.validateConditionEntityDeclaration=V9,d.validateCustomEntityName=Ks,d.validateDataOperation=jn,d.validateDataOperationDataToValidateArgument=hy,d.validateDataOperationDataToValidateArgumentParentRef=yy,d.validateDataOperationDataToValidateArgumentRef=uy,d.validateDataOperationDataToValidateDataType=py,d.validateDataOperationEntityToMatchTypeArgument=Ey,d.validateDataOperationEntityToMatchTypeArgumentParentRef=Ty,d.validateDataOperationEntityToMatchTypeArgumentRef=fy,d.validateDataOperationEntityToMatchTypeDataType=my,d.validateDataOperationError=gy,d.validateDataOperationErrorParentRef=vy,d.validateDataOperationOutputEntityDeclaration=by,d.validateDataOperationOutputEntityDeclarationParentRef=Ry,d.validateEntryCaller=lg,d.validateErrorCaller=og,d.validateFunctionCallDeclaration=ug,d.validateFunctionDeclarationName=rd,d.validateGeneratedEntityParentIsNotBuiltInEntity=O9,d.validateGeneration=A9,d.validateGenerationTarget=Pe,d.validateGenerationUpdate=S9,d.validateLoopEntityDeclaration=L9,d.validateName=V6,d.validateOperationEntityDeclaration=pg,d.validatePropertyName=ad,d.validateReachability=mn,d.validateReadsValueInActionPayload=N9,d.validateReferenceObject=to,d.validateReferenceToOne=pd,d.validateReferences=Ge,d.validateReturnDeclarationName=od,d.validateSuccessCaller=sg,d.validateValueReaderGenerationUpdate=ua,d.validateValueWritter=Ed,d.validateVariableDeclarationName=id,d.validateVariableInternalCallUse=Rd,d.valueAutogenerationCurrentDateAndTimeSchema=nb,d.valueAutogenerationGenericSchema=bs,d.valueAutogenerationOptions=Xl,d.valueAutogenerationOptionsSchema=tb,d.valueAutogenerationRandomBooleanSchema=Hl,d.valueAutogenerationRandomDateBetweenSchema=ub,d.valueAutogenerationRandomDateFromSchema=cb,d.valueAutogenerationRandomDateSchema=Is,d.valueAutogenerationRandomDateUntilSchema=db,d.valueAutogenerationRandomNumberBetweenSchema=ab,d.valueAutogenerationRandomNumberFromSchema=rb,d.valueAutogenerationRandomNumberSchema=vs,d.valueAutogenerationRandomNumberUntilSchema=ib,d.valueAutogenerationRandomSchema=Hi,d.valueAutogenerationRandomTextBetweenSchema=lb,d.valueAutogenerationRandomTextFromSchema=sb,d.valueAutogenerationRandomTextSchema=gs,d.valueAutogenerationRandomTextUntilSchema=ob,d.valueAutogenerationRangeValueTypesSchema=Wi,d.valueAutogenerationUniqueSchema=Wl,d.waitOperation=ot,d.waitOperationMillisecondsNumberArgument=xn,d.waitOperationMillisecondsNumberArgumentRef=Vp,d.waitOperationMillisecondsNumberDataType=Lp,d.waitOperationOperationError=Up,d.waitOperationOperationErrorParentRef=Fp,d.waitOperationRef=Gp,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});