@elyx-code/project-logic-tree 0.0.6026 → 0.0.6027

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,4 +1,4 @@
1
- (function(u,i){typeof exports=="object"&&typeof module<"u"?i(exports):typeof define=="function"&&define.amd?define(["exports"],i):(u=typeof globalThis<"u"?globalThis:u||self,i(u["@elyx-code/project-logic-tree"]={}))})(this,function(u){"use strict";var n5=Object.defineProperty;var r5=(u,i,V)=>i in u?n5(u,i,{enumerable:!0,configurable:!0,writable:!0,value:V}):u[i]=V;var c=(u,i,V)=>(r5(u,typeof i!="symbol"?i+"":i,V),V);var i=(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))(i||{}),V=(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))(V||{}),qe=(n=>(n.CurrentDateAndTime="current-date-and-time",n.Unique="unique",n.Random="random",n))(qe||{}),Ct=(n=>(n.DeletePersistedEntity="base-delete-persisted-entity",n.SoftDeletePersistedEntity="base-soft-delete-persisted-entity",n.AbortExecution="base-abort-execution",n))(Ct||{}),U=(n=>(n.Fixed="fixed",n.None="none",n.Dynamic="dynamic",n))(U||{}),M=(n=>(n.FixedArguments="fixed-arguments",n.FixedReturns="fixed-returns",n.ReturnedError="returned-error",n.OngoingProcessExecution="ongoing-process-execution",n))(M||{}),P=(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))(P||{}),ct=(n=>(n.Addition="addition",n.Substraction="substraction",n.Multiplication="multiplication",n.Division="division",n.Remainder="remainder",n.Exponentiation="exponentiation",n))(ct||{}),Ae=(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))(Ae||{}),W=(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))(W||{}),Oe=(n=>(n.Parallel="parallel",n.Sequential="sequential",n.Wait="wait",n))(Oe||{}),Ke=(n=>(n.CreateNewInstance="create-new-instance",n.Validate="validate",n))(Ke||{}),Ze=(n=>(n.HttpRequest="base-http-request",n))(Ze||{}),_e=(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))(_e||{}),$t=(n=>(n.Empty="empty",n.NotEmpty="not-empty",n))($t||{}),Q=(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))(Q||{}),xe=(n=>(n.OrDataTypeGroup="or-data-type-group",n.AndDataTypeGroup="and-data-type-group",n.DynamicArgumentTypes="dynamic-argument-types",n.DynamicReturnTypes="dynamic-return-types",n))(xe||{}),ln=(n=>(n.PROJECT_PUBLICATION_COMPLETED="GLOBAL_EVENT_PROJECT_PUBLICATION_COMPLETED",n))(ln||{}),Jd=(n=>(n.Error="error",n.Task="task",n.Return="return",n))(Jd||{});const zn=[i.VariableDeclaration,i.VariableInstance,i.InputMap,i.ReturnDeclaration],lI=[i.VariableDeclaration,i.VariableInstance,i.InputMap,i.ReturnDeclaration],Ve=[i.VariableDeclaration,i.VariableInstance,i.ArgumentDeclaration,i.OutputMap],cI=[i.VariableDeclaration,i.VariableInstance,i.ArgumentDeclaration,i.OutputMap],Wd=[...zn,...Ve],je=[i.VariableDeclaration,i.VariableInstance],$r=[i.GlobalEvent],$e=[i.Operation,i.FunctionCall,i.Condition,i.Search,i.VariableDeclaration,i.VariableInstance,i.InternalCall,i.Loop],So=[i.Operation,i.FunctionCall,i.Condition,i.Search,i.VariableDeclaration,i.VariableInstance,i.Loop],Me=[i.FunctionDeclaration,...$r],Pn=[...$e,i.ReturnStatement,i.BreakStatement,i.ContinueStatement],Oo=[...So,i.ReturnStatement,i.BreakStatement,i.ContinueStatement],cn=[...$e,...Me],Hd=[...So,...Me],dI=[...Pn,...Me],uI=[...Oo,...Me],dt=[...Me,i.Loop],Ne=[i.ReturnStatement,i.BreakStatement,i.ContinueStatement],pI=[i.CustomEntity,i.BuiltInBaseEntity,i.Project,i.InstalledProject,i.GlobalEvent,i.DataType,i.FunctionCall,i.FunctionDeclaration,i.ActionDescriptor,i.ValueDescriptor,i.ArgumentDeclaration,i.InputMap,i.ReturnStatement,i.BreakStatement,i.ContinueStatement,i.ReturnDeclaration,i.OutputMap,i.PrimitiveEntity,i.PrimitiveValue,i.Property,i.Operation,i.Condition,i.VariableDeclaration,i.VariableInstance,i.Search,i.Loop,i.InternalCall],Co=[i.CustomEntity,i.GlobalEvent,i.FunctionDeclaration,i.FunctionCall,i.VariableDeclaration,i.VariableInstance,i.Operation,i.Condition,i.ReturnStatement,i.BreakStatement,i.ContinueStatement,i.InstalledProject,i.Loop,i.Search],Yd=[i.CustomEntity,i.FunctionDeclaration,i.ArgumentDeclaration,i.ReturnDeclaration,i.Property,i.VariableDeclaration,i.Search,i.Project,i.InstalledProject,i.ActionDescriptor,i.ValueDescriptor],Lr=[i.BuiltInBaseEntity,i.PrimitiveEntity],yI=[i.CustomEntity,i.FunctionDeclaration,i.ArgumentDeclaration,i.ReturnDeclaration,i.Property,i.VariableDeclaration,i.GlobalEvent,i.Search,i.Project,i.InstalledProject,i.ActionDescriptor,i.ValueDescriptor,i.InputMap,i.OutputMap,i.FunctionCall,i.Operation,i.Condition,i.ReturnStatement,i.BreakStatement,i.ContinueStatement,i.VariableInstance,i.PrimitiveValue,i.InternalCall];var Bo=(n=>(n.ActionOngoingProcessOutputValue="action-ongoing-process-output-value-descriptor-id",n))(Bo||{});const x={[i.PrimitiveEntity]:{[P.String]:{id:"8b5fbe15-4c2b-48c0-9fd8-e5efbe3978dc",properties:{}},[P.Boolean]:{id:"f596545d-1565-4faa-9969-d95fa5edfea4",properties:{}},[P.Number]:{id:"ecb84c29-6153-4b82-86a5-fce2b5f92002",properties:{}},[P.JSON]:{id:"b6f3c3c4-9c3d-4f9d-9e9e-1c0f6a3c8c6b",properties:{}},[P.Enum]:{id:"9542b8b4-2642-4eee-9db9-def7963a17a0",properties:{options:{id:"00ccfcae-2104-45ef-bf6c-50ddccd74286",dataType:{id:"7dd59b70-f97b-43a7-a051-fde1842ce5d6",defaultValue:{id:"enum-options-property-data-type-default-value-id"}}}}},[P.UUID]:{id:"4a6234aa-c0f6-4731-b4dd-750388029226",properties:{}},[P.Date]:{id:"dc58f38b-d574-4956-aac6-32ce9529b937",properties:{}}},[i.ValueDescriptor]:{"action-ongoing-process-output-value-descriptor-id":{id:"action-ongoing-process-output-value-descriptor-id",dataType:{id:"process-output-value-data-type-id"}}},[i.BuiltInBaseEntity]:{[V.KEY_VALUE_PARAM]:{id:V.KEY_VALUE_PARAM},[V.HTTP_ENDPOINT]:{id:V.HTTP_ENDPOINT,properties:{method:{id:"http-endpoint-built-in-method-property-id"},path:{id:"http-endpoint-built-in-path-property-id"},cors:{id:"http-endpoint-built-in-cors-property-id"}}},[V.PERSISTED_ENTITY]:{id:V.PERSISTED_ENTITY,properties:{database:{id:"persisted-built-in-base-entity-database-property-id"},identifier:{id:"persisted-built-in-base-entity-identifier-property-id"}}},[V.RELATIONAL_DATABASE]:{id:V.RELATIONAL_DATABASE,properties:{identifier:{id:"relational-database-built-in-base-entity-identifier-property-id"},username:{id:"relational-database-built-in-base-entity-username-property-id"},password:{id:"relational-database-built-in-base-entity-password-property-id"},minSize:{id:"relational-database-built-in-base-entity-min-size-property-id"},default:{id:"relational-database-built-in-base-entity-default-property-id"},autoscaling:{id:"relational-database-built-in-base-entity-autoscaling-property-id"}}},[V.CRON_JOB]:{id:V.CRON_JOB,properties:{expression:{id:"cron-job-built-in-base-entity-expression-property-id"}}}},[i.Operation]:{[Ae.Join]:{id:Ae.Join,inputs:{first:{id:"join-string-first-string-input-id"},second:{id:"join-string-second-string-input-id"}},outputs:{result:{id:"join-string-result-string-return-delaration-id"},error:{id:"join-string-error-return-delaration-id"}}},[Ze.HttpRequest]:{id:Ze.HttpRequest,inputs:{url:{id:"http-request-url-input-id"},query:{id:"http-request-query-input-id"},method:{id:"http-request-method-input-id"},headers:{id:"http-request-headers-input-id"},body:{id:"http-request-body-string-input-id"}},outputs:{code:{id:"http-response-code-return-delaration-id"},body:{id:"http-response-body-return-delaration-id"},headers:{id:"http-response-headers-return-delaration-id"},error:{id:"http-request-error-return-delaration-id"}}}},[i.Loop]:{[Q.List]:{id:Q.List,inputs:{list:{id:"iterate-over-list-loop-list-input-id"}},outputs:{results:{id:"iterate-over-list-loop-output-id"}}},[Q.String]:{id:Q.String,inputs:{string:{id:"iterate-over-string-loop-string-input-id"}},outputs:{results:{id:"iterate-over-string-loop-output-id"}}},[Q.ObjectKeys]:{id:Q.ObjectKeys,inputs:{object:{id:"iterate-over-object-keys-loop-object-input-id"}},outputs:{results:{id:"iterate-over-object-keys-loop-output-id"}}},[Q.ObjectValues]:{id:Q.ObjectValues,inputs:{object:{id:"iterate-over-object-values-loop-object-input-id"}},outputs:{results:{id:"iterate-over-object-values-loop-output-id"}}},[Q.ManualFlow]:{id:Q.ManualFlow,inputs:{},outputs:{results:{id:"manual-flow-loop-output-id"}}},[Q.Counted]:{id:Q.Counted,inputs:{number:{id:"iterate-over-counted-loop-number-input-id"}},outputs:{results:{id:"iterate-over-counted-loop-output-id"}}}},[i.Condition]:{[_e.MoreThanOrEqual]:{id:_e.MoreThanOrEqual,inputs:{leftHand:{id:"condition-more-than-or-equal-left-hand-input-id"},rightHand:{id:"condition-more-than-or-equal-right-hand-input-id"}}},[$t.NotEmpty]:{id:$t.NotEmpty,inputs:{leftHand:{id:"condition-not-empty-input-id"}}}},[i.GlobalEvent]:{[ln.PROJECT_PUBLICATION_COMPLETED]:{id:ln.PROJECT_PUBLICATION_COMPLETED}}},zt=x["primitive-entity"],j={type:i.PrimitiveEntity,id:zt.string.id,description:"A string of characters.",version:1,name:P.String,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},An={type:i.PrimitiveEntity,id:zt.boolean.id,description:"A 'true' or 'false' value.",version:1,name:P.Boolean,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Ce={type:i.PrimitiveEntity,id:zt.number.id,description:"A number value.",version:1,name:P.Number,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},et={type:i.PrimitiveEntity,id:"730e8ea9-8498-439a-9001-b07de55aaa7d",description:"A complex data structure with any combination of properties with names and values.",version:1,name:P.JSON,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},zd={id:"c2f52f01-8f2e-490e-8083-72289c8189c1",type:i.GenericReference,entityId:"7dd59b70-f97b-43a7-a051-fde1842ce5d6",entityType:i.DataType},Zd={id:"4e803941-2e6a-4227-b803-b8877c0d7fee",type:i.GenericReference,entityId:"00ccfcae-2104-45ef-bf6c-50ddccd74286",entityType:i.Property},Xd={id:zt.enum.properties.options.dataType.id,version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:j,asType:!1,defaultValue:{id:zt.enum.properties.options.dataType.defaultValue.id,type:i.PrimitiveValue,version:1,name:P.JSON,autogeneration:null,value:[],valueAsType:null,parent:zd},parent:Zd},Qd={id:"a2983c4c-0286-4ef1-8b5c-5a52904d3200",type:i.GenericReference,entityId:"9542b8b4-2642-4eee-9db9-def7963a17a0",entityType:i.PrimitiveEntity},Kd={hidden:!1,required:!0,id:zt.enum.properties.options.id,name:"Options",version:1,type:i.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:Xd,description:"Options for the enum. Each option is a text value.",parent:Qd},Sn={type:i.PrimitiveEntity,id:zt.enum.id,description:"A set of text options to choose from.",version:1,name:P.Enum,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[Kd],methods:[]},dn={type:i.PrimitiveEntity,id:zt.date.id,description:"A date and time value.",version:1,name:P.Date,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Oa={type:i.PrimitiveEntity,id:zt.uuid.id,description:"A unique identifier in the form of a 36-character string.",version:1,name:P.UUID,static:!1,abstract:!1,abstractMethods:[],extends:[j],properties:[],methods:[]},wo={type:i.PrimitiveEntity,id:zt.json.id,description:"A complex data structure with any combination of properties with names and values.",version:1,name:P.JSON,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]};var eu=(n=>(n.FirstInputNumber="number-addition-first-number-argument-declaration",n.SecondInputNumber="number-addition-second-number-argument-declaration",n))(eu||{}),tu=(n=>(n.ResultNumber="number-addition-result-number-return-delaration",n.Error="number-addition-error-return-delaration",n))(tu||{});const nu={type:i.GenericReference,id:"3bd4aeb2-e3b7-4120-b289-011ebb03dba5",entityId:"number-addition-first-number-argument-declaration",entityType:i.ValueDescriptor},ru={id:"number-addition-first-number-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:nu},iu={type:i.GenericReference,id:"9f486db2-a983-4293-9eef-81d4fc8d2d3e",entityId:"number-addition-second-number-argument-declaration",entityType:i.ValueDescriptor},au={id:"1d4abe83-3e87-4f74-99be-c1fd8c2f8d2d",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:iu},su={type:i.GenericReference,id:"da5e9fe9-f18a-49e3-98e5-c1bf7b9b3153",entityId:"number-addition-result-number-return-delaration",entityType:i.ValueDescriptor},ou={id:"b761acec-0755-4582-a68b-76267038bbe1",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:su},lu={type:i.GenericReference,id:"a6c14305-d4f7-43ae-9d5e-b7dbacdc830a",entityId:ct.Addition,entityType:i.ActionDescriptor},_o={id:"number-addition-first-number-argument-declaration",type:i.ValueDescriptor,version:1,name:"First value",description:"The first number to add",dataType:ru,required:!0,parentRelationType:M.FixedArguments,index:0,parent:lu},cu={type:i.GenericReference,id:"c5015128-4a65-462c-9da0-1c86e83ef897",entityId:ct.Addition,entityType:i.ActionDescriptor},Mo={id:"number-addition-second-number-argument-declaration",type:i.ValueDescriptor,description:"The second number to add",version:1,name:"Second value",dataType:au,required:!0,parentRelationType:M.FixedArguments,index:1,parent:cu},du={type:i.GenericReference,id:"caac2bc7-c23c-4f01-9581-a515c2e4637f",entityId:ct.Addition,entityType:i.ActionDescriptor},No={parentRelationType:M.FixedReturns,id:"number-addition-result-number-return-delaration",type:i.ValueDescriptor,description:"The result number of the addition",version:1,name:"Result",dataType:ou,required:!0,index:0,parent:du},uu={type:i.GenericReference,id:"number-addition-operation-error-parent-ref",entityId:ct.Addition,entityType:i.ActionDescriptor},pu={parentRelationType:M.FixedReturns,id:"number-addition-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:uu},Ca={id:ct.Addition,type:i.ActionDescriptor,description:"Add two numbers together",version:1,name:ct.Addition,fixedArguments:[_o,Mo],error:pu,fixedReturns:[No],argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},yu={[ct.Addition]:Ca};var hu=(n=>(n.FirstInputString="join-string-first-string-argument-declaration",n.SecondInputString="join-string-second-string-argument-declaration",n))(hu||{}),fu=(n=>(n.ResultString="join-string-result-string-return-delaration",n.Error="join-string-error-return-delaration",n))(fu||{});const mu={type:i.GenericReference,id:"join-string-first-string-argument-declaration",entityId:"join-string-first-string-argument-declaration",entityType:i.ValueDescriptor},Tu={id:"join-string-first-string-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:mu},Eu={type:i.GenericReference,id:"join-string-second-string-argument-declaration",entityId:"join-string-second-string-argument-declaration",entityType:i.ValueDescriptor},Ru={id:"join-string-second-string-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Eu},bu={type:i.GenericReference,id:"join-string-result-string-return-delaration",entityId:"join-string-result-string-return-delaration",entityType:i.ValueDescriptor},gu={id:"join-string-result-string-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:bu},vu={type:i.GenericReference,id:"join-string-operation-first-string-argument-parent-ref",entityId:Ae.Join,entityType:i.ActionDescriptor},Ba={id:"join-string-first-string-argument-declaration",type:i.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:Tu,parentRelationType:M.FixedArguments,required:!0,index:0,parent:vu},Iu={type:i.GenericReference,id:"join-string-operation-second-string-argument-parent-ref",entityId:Ae.Join,entityType:i.ActionDescriptor},wa={id:"join-string-second-string-argument-declaration",type:i.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:Ru,parentRelationType:M.FixedArguments,required:!0,index:1,parent:Iu},Du={type:i.GenericReference,id:"join-string-operation-result-string-return-parent-ref",entityId:Ae.Join,entityType:i.ActionDescriptor},bi={parentRelationType:M.FixedReturns,id:"join-string-result-string-return-delaration",type:i.ValueDescriptor,version:1,name:"Result",description:"The resulting text value.",dataType:gu,required:!0,index:0,parent:Du},Pu={type:i.GenericReference,id:"join-string-operation-error-parent-ref",entityId:Ae.Join,entityType:i.ActionDescriptor},Au={parentRelationType:M.FixedReturns,id:"join-string-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Pu},gi={id:Ae.Join,type:i.ActionDescriptor,version:1,name:Ae.Join,description:"Join two text together, to form a single resulting text value.",fixedArguments:[Ba,wa],fixedReturns:[bi],error:Au,argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},Su={[Ae.Join]:gi};var Ou=(n=>(n.FirstInputList="join-list-first-list-argument-declaration",n.SecondInputList="join-list-second-list-argument-declaration",n))(Ou||{}),Cu=(n=>(n.ResultList="join-list-result-list-return-delaration",n.Error="join-list-error-return-delaration",n))(Cu||{});const Bu={type:i.GenericReference,id:"join-list-operation-first-list-argument-ref",entityId:"join-list-first-list-argument-declaration",entityType:i.ValueDescriptor},wu={id:"join-list-first-list-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Bu},_u={type:i.GenericReference,id:"join-list-operation-second-list-argument-ref",entityId:"join-list-second-list-argument-declaration",entityType:i.ValueDescriptor},Mu={id:"join-list-second-list-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:_u},Nu={type:i.GenericReference,id:"join-list-operation-result-list-return-ref",entityId:"join-list-result-list-return-delaration",entityType:i.ValueDescriptor},Vu={id:"join-list-result-list-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Nu},$u={type:i.GenericReference,id:"join-list-operation-first-list-argument-parent-ref",entityId:W.Join,entityType:i.ActionDescriptor},Lu={id:"join-list-first-list-argument-declaration",type:i.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:wu,parentRelationType:M.FixedArguments,required:!0,index:0,parent:$u},Gu={type:i.GenericReference,id:"join-list-operation-second-list-argument-parent-ref",entityId:W.Join,entityType:i.ActionDescriptor},Fu={id:"join-list-second-list-argument-declaration",type:i.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:Mu,parentRelationType:M.FixedArguments,required:!0,index:1,parent:Gu},Uu={type:i.GenericReference,id:"join-list-operation-result-list-return-parent-ref",entityId:W.Join,entityType:i.ActionDescriptor},xu={parentRelationType:M.FixedReturns,id:"join-list-result-list-return-delaration",type:i.ValueDescriptor,version:1,name:"Result",description:"The resulting list value.",dataType:Vu,required:!0,index:0,parent:Uu},ju={type:i.GenericReference,id:"join-list-operation-error-parent-ref",entityId:W.Join,entityType:i.ActionDescriptor},ku={parentRelationType:M.FixedReturns,id:"join-list-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:ju},Vo={id:W.Join,type:i.ActionDescriptor,version:1,name:W.Join,description:"Join two lists together, to form a single resulting list value.",fixedArguments:[Lu,Fu],error:ku,fixedReturns:[xu],argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var qu=(n=>(n.InputList="list-to-split-argument-declaration",n.SplitIndex="split-list-index-argument-declaration",n))(qu||{}),Ju=(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))(Ju||{});const Wu={type:i.GenericReference,id:"split-list-operation-input-list-argument-ref",entityId:"list-to-split-argument-declaration",entityType:i.ValueDescriptor},Hu={id:"split-list-operation-input-list-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Wu},Yu={type:i.GenericReference,id:"split-list-operation-split-index-argument-ref",entityId:"split-list-index-argument-declaration",entityType:i.ValueDescriptor},zu={id:"split-list-operation-split-index-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Yu},$o={type:i.GenericReference,id:"split-list-operation-first-output-list-return-ref",entityId:"split-list-first-output-list-return-delaration",entityType:i.ValueDescriptor},Zu={id:"split-list-operation-first-output-list-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:$o},Xu={type:i.GenericReference,id:"split-list-operation-input-list-argument-parent-ref",entityId:W.Split,entityType:i.ActionDescriptor},Qu={id:"list-to-split-argument-declaration",type:i.ValueDescriptor,version:1,name:"List to split",description:"The list to split at the given index",dataType:Hu,parentRelationType:M.FixedArguments,required:!0,index:0,parent:Xu},Ku={type:i.GenericReference,id:"split-list-operation-split-index-argument-parent-ref",entityId:W.Split,entityType:i.ActionDescriptor},ep={id:"split-list-index-argument-declaration",type:i.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:zu,parentRelationType:M.FixedArguments,required:!0,index:1,parent:Ku},tp={type:i.GenericReference,id:"split-list-operation-first-output-list-return-parent-ref",entityId:W.Split,entityType:i.ActionDescriptor},np={parentRelationType:M.FixedReturns,id:"split-list-first-output-list-return-delaration",type:i.ValueDescriptor,version:1,name:"First list",description:"The list of values up to the split index",dataType:Zu,required:!0,index:0,parent:tp},rp={id:"split-list-operation-second-output-list-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:$o},ip={type:i.GenericReference,id:"split-list-operation-second-output-list-return-parent-ref",entityId:W.Split,entityType:i.ActionDescriptor},ap={parentRelationType:M.FixedReturns,id:"split-list-second-output-list-return-delaration",type:i.ValueDescriptor,version:1,name:"Second list",description:"The list of values up to the split index",dataType:rp,required:!0,index:0,parent:ip},sp={type:i.GenericReference,id:"split-list-operation-error-parent-ref",entityId:W.Split,entityType:i.ActionDescriptor},op={parentRelationType:M.FixedReturns,id:"split-list-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:sp},Lo={id:W.Split,type:i.ActionDescriptor,version:1,name:W.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:[Qu,ep],fixedReturns:[np,ap],error:op,argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var lp=(n=>(n.InputList="get-last-in-list-input-list-argument-declaration",n))(lp||{}),cp=(n=>(n.OutputElement="get-last-in-list-output-element-return-delaration",n.Error="get-last-in-list-error-return-delaration",n))(cp||{});const dp={type:i.GenericReference,id:"get-last-in-list-operation-input-list-argument-ref",entityId:"get-last-in-list-input-list-argument-declaration",entityType:i.ValueDescriptor},up={id:"get-last-in-list-input-list-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:dp},pp={type:i.GenericReference,id:"get-last-in-list-operation-output-element-return-ref",entityId:"get-last-in-list-output-element-return-delaration",entityType:i.ValueDescriptor},yp={id:"get-last-in-list-output-element-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:pp},hp={type:i.GenericReference,id:"get-last-in-list-operation-input-list-argument-parent-ref",entityId:W.GetLast,entityType:i.ActionDescriptor},fp={id:"get-last-in-list-input-list-argument-declaration",type:i.ValueDescriptor,version:1,name:"List",description:"The list to get the last element from.",dataType:up,parentRelationType:M.FixedArguments,required:!0,index:0,parent:hp},mp={type:i.GenericReference,id:"get-last-in-list-operation-output-element-return-parent-ref",entityId:W.GetLast,entityType:i.ActionDescriptor},Tp={parentRelationType:M.FixedReturns,id:"get-last-in-list-output-element-return-delaration",type:i.ValueDescriptor,version:1,name:"Last element",description:"The last element of the given list.",dataType:yp,required:!0,index:0,parent:mp},Ep={type:i.GenericReference,id:"get-last-in-list-operation-error-parent-ref",entityId:W.GetLast,entityType:i.ActionDescriptor},Rp={parentRelationType:M.FixedReturns,id:"get-last-in-list-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Ep},Go={id:W.GetLast,type:i.ActionDescriptor,version:1,name:W.GetLast,description:"Outputs the last element of a given list.",fixedArguments:[fp],fixedReturns:[Tp],error:Rp,argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var bp=(n=>(n.List="append-to-list-lsit-argument-declaration",n.ElementToAppend="append-to-list-element-to-append-argument-declaration",n))(bp||{}),gp=(n=>(n.ResultList="append-to-list-result-list-return-delaration",n.Error="append-to-list-error-return-delaration",n))(gp||{});const vp={type:i.GenericReference,id:"append-to-list-operation-lsit-argument-ref",entityId:"append-to-list-lsit-argument-declaration",entityType:i.ValueDescriptor},Ip={id:"append-to-list-lsit-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:vp},Dp={type:i.GenericReference,id:"append-to-list-operation-second-list-argument-ref",entityId:"append-to-list-element-to-append-argument-declaration",entityType:i.ValueDescriptor},Pp={id:"append-to-list-second-list-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Dp},Ap={type:i.GenericReference,id:"append-to-list-operation-result-list-return-ref",entityId:"append-to-list-result-list-return-delaration",entityType:i.ValueDescriptor},Sp={id:"append-to-list-result-list-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Ap},Op={type:i.GenericReference,id:"append-to-list-operation-lsit-argument-parent-ref",entityId:W.Append,entityType:i.ActionDescriptor},Fo={id:"append-to-list-lsit-argument-declaration",type:i.ValueDescriptor,version:1,name:"List value",description:"The list to which the element will be appended",dataType:Ip,parentRelationType:M.FixedArguments,required:!0,index:0,parent:Op},Cp={type:i.GenericReference,id:"append-to-list-operation-second-list-argument-parent-ref",entityId:W.Append,entityType:i.ActionDescriptor},Uo={id:"append-to-list-element-to-append-argument-declaration",type:i.ValueDescriptor,version:1,name:"Element",description:"The element that will be added at the end of the list",dataType:Pp,parentRelationType:M.FixedArguments,required:!0,index:1,parent:Cp},Bp={type:i.GenericReference,id:"append-to-list-operation-result-list-return-parent-ref",entityId:W.Append,entityType:i.ActionDescriptor},wp={parentRelationType:M.FixedReturns,id:"append-to-list-result-list-return-delaration",type:i.ValueDescriptor,version:1,name:"Result",description:"The resulting list value.",dataType:Sp,required:!0,index:0,parent:Bp},_p={type:i.GenericReference,id:"append-to-list-operation-error-parent-ref",entityId:W.Append,entityType:i.ActionDescriptor},Mp={parentRelationType:M.FixedReturns,id:"append-to-list-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:_p},_a={id:W.Append,type:i.ActionDescriptor,version:1,name:W.Append,description:"Adds a given element to the end of a list value.",fixedArguments:[Fo,Uo],error:Mp,fixedReturns:[wp],argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},Np={[W.Join]:Vo,[W.Split]:Lo,[W.GetLast]:Go,[W.Append]:_a};var Vp=(n=>(n.ListOfFunctions="parallel-execution-list-of-functions-argument-declaration",n))(Vp||{}),$p=(n=>(n.ListOfExecutionResults="parallel-execution-result-return-delaration",n.Error="parallel-execution-error-return-delaration",n))($p||{});const Lp={id:"parallel-execution-list-of-functions-blueprint-id",type:i.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:U.Dynamic,dynamicArgumentTypes:null,fixedArguments:[],returnsType:U.Dynamic,dynamicReturnTypes:null,fixedReturns:[],error:null,parent:null},Gp={type:i.GenericReference,id:"3bd4aeb2-e3b7-4120-b289-011ebb03dba5",entityId:"parallel-execution-list-of-functions-argument-declaration",entityType:i.ValueDescriptor},Fp={id:"parallel-execution-list-of-functions-argument-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Lp,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Gp},Up={type:i.GenericReference,id:"da5e9fe9-f18a-49e3-98e5-c1bf7b9b3153",entityId:"parallel-execution-result-return-delaration",entityType:i.ValueDescriptor},xp={id:"b761acec-0755-4582-a68b-76267038bbe1",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Up},jp={type:i.GenericReference,id:"a6c14305-d4f7-43ae-9d5e-b7dbacdc830a",entityId:Oe.Parallel,entityType:i.ActionDescriptor},xo={id:"parallel-execution-list-of-functions-argument-declaration",type:i.ValueDescriptor,version:1,name:"Actions to execute",description:"A value, of a list of actions to be executed in parallel",dataType:Fp,required:!0,index:0,parent:jp,parentRelationType:M.FixedArguments},kp={type:i.GenericReference,id:"caac2bc7-c23c-4f01-9581-a515c2e4637f",entityId:Oe.Parallel,entityType:i.ActionDescriptor},jo={id:"parallel-execution-result-return-delaration",type:i.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:xp,required:!0,index:0,parent:kp,parentRelationType:M.FixedReturns},qp={type:i.GenericReference,id:"parallel-execution-operation-error-parent-ref",entityId:Oe.Parallel,entityType:i.ActionDescriptor},Jp={id:"parallel-execution-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:qp,parentRelationType:M.ReturnedError},kt={id:Oe.Parallel,type:i.ActionDescriptor,description:"Execute a list of actions in parallel",version:1,name:Oe.Parallel,fixedArguments:[xo],fixedReturns:[jo],argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,error:Jp,parent:null};var Wp=(n=>(n.MillisecondsNumber="wait-milliseconds-number-argument-declaration",n))(Wp||{}),Hp=(n=>(n.Error="wait-operation-error-return-delaration",n))(Hp||{});const Yp={type:i.GenericReference,id:"3bd4aeb2-e3b7-4120-b289-011ebb03dba5",entityType:i.ValueDescriptor,entityId:"wait-milliseconds-number-argument-declaration"},zp={id:"wait-milliseconds-number-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Yp},Zp={type:i.GenericReference,id:"a6c14305-d4f7-43ae-9d5e-b7dbacdc830a",entityType:i.ActionDescriptor,entityId:Oe.Wait},Zn={id:"wait-milliseconds-number-argument-declaration",type:i.ValueDescriptor,version:1,name:"Milliseconds to wait",description:"The amount of milliseconds to wait before calling the next entity",dataType:zp,required:!0,index:0,parent:Zp,parentRelationType:M.FixedArguments},Xp={type:i.GenericReference,id:"wait-operation-error-parent-ref",entityId:Oe.Wait,entityType:i.ActionDescriptor},Qp={id:"wait-operation-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Xp,parentRelationType:M.ReturnedError},ut={id:Oe.Wait,type:i.ActionDescriptor,description:"Wait for the given amount of milliseconds before calling the next entity",version:1,name:Oe.Wait,fixedArguments:[Zn],fixedReturns:[],error:Qp,argumentsType:U.Fixed,returnsType:U.None,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var Kp=(n=>(n.ListOfFunctions="sequential-execution-list-of-functions-argument-declaration",n))(Kp||{}),ey=(n=>(n.ListOfExecutionResults="sequential-execution-result-return-delaration",n.Error="sequential-execution-error-return-delaration",n))(ey||{});const ty={id:"sequential-execution-list-of-functions-blueprint-id",type:i.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:U.Dynamic,dynamicArgumentTypes:null,fixedArguments:[],returnsType:U.Dynamic,dynamicReturnTypes:null,fixedReturns:[],error:null,parent:null},ny={type:i.GenericReference,id:"parallel-execution-list-of-functions-argument-declaration-id",entityId:"sequential-execution-list-of-functions-argument-declaration",entityType:i.ValueDescriptor},ry={id:"sequential-execution-list-of-functions-argument-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ty,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:ny},iy={type:i.GenericReference,id:"sequential-execution-list-of-execution-results-return-declaration-id",entityId:"sequential-execution-result-return-delaration",entityType:i.ValueDescriptor},ay={id:"sequential-execution-list-of-execution-results-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:iy},sy={type:i.GenericReference,id:"parallel-execution-operation-list-of-functions-argument-parent-ref",entityId:Oe.Sequential,entityType:i.ActionDescriptor},ko={id:"sequential-execution-list-of-functions-argument-declaration",type:i.ValueDescriptor,version:1,name:"Actions to execute",description:"A value, of a list of actions to be executed in parallel",dataType:ry,required:!0,index:0,parent:sy,parentRelationType:M.FixedArguments},oy={type:i.GenericReference,id:"parallel-execution-operation-list-of-execution-results-return-parent-ref",entityId:Oe.Sequential,entityType:i.ActionDescriptor},qo={id:"sequential-execution-result-return-delaration",type:i.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:ay,required:!0,index:0,parent:oy,parentRelationType:M.FixedReturns},ly={type:i.GenericReference,id:"sequential-execution-operation-error-parent-ref",entityId:Oe.Sequential,entityType:i.ActionDescriptor},cy={id:"sequential-execution-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:ly,parentRelationType:M.ReturnedError},un={id:Oe.Sequential,type:i.ActionDescriptor,description:"Execute a list of actions one after the other",version:1,name:Oe.Sequential,fixedArguments:[ko],fixedReturns:[qo],error:cy,returnsType:U.Fixed,argumentsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},dy={[Oe.Parallel]:kt,[Oe.Wait]:ut,[Oe.Sequential]:un};var uy=(n=>(n.EntityToInstanciate="entity-to-instanciate-argument-declaration",n))(uy||{}),py=(n=>(n.Error="create-new-instance-error-return-delaration",n))(py||{});const yy={type:i.GenericReference,id:"entity-to-instanciate-argument-declaration-ref",entityType:i.ValueDescriptor,entityId:"entity-to-instanciate-argument-declaration"},hy={id:"entity-to-instanciate-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!0,isNullable:!1,defaultValue:null,constant:!1,parent:yy},fy={type:i.GenericReference,id:"create-new-instance-operation-ref",entityType:i.ActionDescriptor,entityId:Ke.CreateNewInstance},my={id:"entity-to-instanciate-argument-declaration",type:i.ValueDescriptor,version:1,name:"Entity to create a new copy of",description:"The entity of which a new copy will to be created",dataType:hy,required:!0,parentRelationType:M.FixedArguments,index:0,parent:fy},Ty={type:i.GenericReference,id:"create-new-instance-output-entity-declaration-parent-ref",entityId:Ke.CreateNewInstance,entityType:i.ActionDescriptor},Ey={parentRelationType:M.FixedReturns,id:"create-new-instance-output-entity-declaration",type:i.ValueDescriptor,version:1,dataType:null,name:"Created entity",description:"The entity that was created",parent:Ty,required:!0,index:0},Ry={type:i.GenericReference,id:"create-new-instance-error-parent-ref",entityId:Ke.CreateNewInstance,entityType:i.ActionDescriptor},by={parentRelationType:M.FixedReturns,id:"create-new-instance-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Ry},Gr={id:Ke.CreateNewInstance,type:i.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:Ke.CreateNewInstance,fixedArguments:[my],fixedReturns:[Ey],error:by,argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var gy=(n=>(n.EntityToMatchType="validate-data-operation-entity-to-match-type-argument-declaration",n.DataToValidate="validate-data-operation-data-to-validate-argument-declaration",n))(gy||{}),vy=(n=>(n.Error="validate-data-error-return-delaration",n.OutputEntity="validate-data-output-entity-declaration",n))(vy||{});const Iy={type:i.GenericReference,id:"validate-data-operation-data-to-validate-argument-declaration-ref",entityType:i.ValueDescriptor,entityId:"validate-data-operation-data-to-validate-argument-declaration"},Dy={id:"validate-data-operation-data-to-validate-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Iy},Py={type:i.GenericReference,id:"validate-data-operation-data-to-validate-argument-parent-ref",entityType:i.ActionDescriptor,entityId:Ke.Validate},Ay={id:"validate-data-operation-data-to-validate-argument-declaration",type:i.ValueDescriptor,version:1,name:"Data to validate",description:"The value to validate against the given entity type",dataType:Dy,required:!0,parentRelationType:M.FixedArguments,index:0,parent:Py},Sy={type:i.GenericReference,id:"validate-data-operation-entity-to-match-type-argument-declaration-ref",entityType:i.ValueDescriptor,entityId:"validate-data-operation-entity-to-match-type-argument-declaration"},Oy={id:"validate-data-operation-entity-to-match-type-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Sy},Cy={type:i.GenericReference,id:"validate-data-operation-entity-to-match-type-argument-parent-ref",entityType:i.ActionDescriptor,entityId:Ke.Validate},By={id:"validate-data-operation-entity-to-match-type-argument-declaration",type:i.ValueDescriptor,version:1,name:"Entity to match",description:"The entity to match the data against",dataType:Oy,required:!0,index:0,parentRelationType:M.FixedArguments,parent:Cy},wy={type:i.GenericReference,id:"validate-data-operation-output-entity-declaration-parent-ref",entityId:Ke.Validate,entityType:i.ActionDescriptor},_y={id:"validate-data-output-entity-declaration",type:i.ValueDescriptor,version:1,dataType:null,name:"Output value",description:"A value with the type of the entity that was validated",parent:wy,required:!0,index:0,parentRelationType:M.FixedReturns},My={type:i.GenericReference,id:"wait-operation-error-parent-ref",entityId:Ke.Validate,entityType:i.ActionDescriptor},Ny={id:"validate-data-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:My,parentRelationType:M.ReturnedError},Xn={id:Ke.Validate,type:i.ActionDescriptor,description:"Validates the given data to see if it matches the structure of a given type/entity",version:1,name:Ke.Validate,fixedArguments:[By,Ay],fixedReturns:[_y],error:Ny,argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},Vy={[Ke.CreateNewInstance]:Gr,[Ke.Validate]:Xn},He=x[i.Operation]["base-http-request"],$y={type:i.GenericReference,id:"d87cf943-57e1-4d19-9f05-190fa8c8ebc4",entityType:i.DataType,entityId:"0deb4ef7-d739-4ddc-a4d6-50bd6fababe3"},Ly={id:"http-request-url-default-value-id",type:i.PrimitiveValue,version:1,value:"https://some-url.com",name:P.String,valueAsType:null,parent:$y,autogeneration:null},Gy={type:i.GenericReference,id:"aed50d73-eab5-42ce-b00e-7f5c45a9026f",entityId:He.inputs.url.id,entityType:i.ValueDescriptor},Fy={id:"0deb4ef7-d739-4ddc-a4d6-50bd6fababe3",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:Ly,constant:!1,parent:Gy},Uy={type:i.GenericReference,id:"c3145af6-3387-464a-8887-272e483c856d",entityId:He.inputs.query.id,entityType:i.ValueDescriptor},xy={id:"2a5ba737-6335-4cc4-a2c0-16dca4052fac",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Uy},jy={type:i.GenericReference,id:"075556b7-e468-48f7-8485-7159eaf389b2",entityType:i.DataType,entityId:"6df7ec2b-5dbd-44af-896b-17b314e88560"},ky={id:"http-request-method-default-value-id",type:i.PrimitiveValue,version:1,value:"GET",name:P.Enum,valueAsType:null,parent:jy,autogeneration:null},qy={type:i.GenericReference,id:"aed647c8-a1b5-4cfc-9a3d-97887a567a80",entityId:He.inputs.method.id,entityType:i.ValueDescriptor},Jy={id:"6df7ec2b-5dbd-44af-896b-17b314e88560",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Sn,isList:!1,asType:!1,isNullable:!1,defaultValue:ky,options:["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","TRACE","CONNECT","CUSTOM"],constant:!1,parent:qy},Wy={type:i.GenericReference,id:"77203dfa-d2f6-4804-9556-e1cce46228f3",entityId:He.inputs.headers.id,entityType:i.ValueDescriptor},Hy={id:"2c8a2a07-69c6-40ad-b5c9-f0dc4d5955ce",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:et,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Wy},Yy={type:i.GenericReference,id:"03db68a0-7ab6-4c6a-85b6-f4b95ebb53ff",entityId:He.inputs.body.id,entityType:i.ValueDescriptor},zy={id:"0397876c-ed54-4ee9-85a4-04fd16dad973",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:et,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Yy},Zy={type:i.GenericReference,id:"182f767f-50e8-4394-ba5f-43e78c232733",entityType:i.ValueDescriptor,entityId:He.outputs.code.id},Xy={id:"45e6d0bc-0c0e-4059-a7a1-6bee925d73d0",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Zy},Qy={type:i.GenericReference,id:"2baaa53a-9aef-4bd1-b06d-967c17b7b627",entityType:i.DataType,entityId:"dac63bfa-640d-4f4e-ba0f-86c2401bcfbe"},Ky={type:i.GenericReference,id:"69f34d6c-c686-4165-b6ff-70dae8e1778b",entityType:i.ValueDescriptor,entityId:He.outputs.headers.id},eh={id:"dac63bfa-640d-4f4e-ba0f-86c2401bcfbe",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:et,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"http-response-headers-default-value-id",type:i.PrimitiveValue,version:1,value:{},name:P.JSON,parent:Qy,valueAsType:null,autogeneration:null},constant:!1,parent:Ky},th={type:i.GenericReference,id:"744334e0-5135-4214-85d0-809437cb620b",entityType:i.DataType,entityId:"05fc1a5d-151a-479a-9c4e-4063f3456177"},nh={type:i.GenericReference,id:"0e0e20df-1a46-432c-ba01-fd96508a6a61",entityType:i.ValueDescriptor,entityId:He.outputs.body.id},rh={id:"05fc1a5d-151a-479a-9c4e-4063f3456177",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:et,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"http-response-body-default-value-id",type:i.PrimitiveValue,version:1,value:{},name:P.JSON,parent:th,valueAsType:null,autogeneration:null},constant:!1,parent:nh},ih={type:i.GenericReference,id:"26911792-f707-4bf1-b6f7-03d04a84232c",entityType:i.ActionDescriptor,entityId:Ze.HttpRequest},Ma={id:He.inputs.method.id,type:i.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:Jy,required:!1,index:0,parentRelationType:M.FixedArguments,parent:ih},ah={type:i.GenericReference,id:"eee0c501-0ae6-4448-b914-aada76d63163",entityType:i.ActionDescriptor,entityId:Ze.HttpRequest},Na={id:He.inputs.url.id,type:i.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:Fy,required:!1,index:1,parentRelationType:M.FixedArguments,parent:ah},sh={type:i.GenericReference,id:"670091a4-21b1-4223-ad4c-b6dada0aec49",entityType:i.ActionDescriptor,entityId:Ze.HttpRequest},Jo={id:He.inputs.query.id,type:i.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:xy,required:!1,index:2,parentRelationType:M.FixedArguments,parent:sh},oh={type:i.GenericReference,id:"85aad3eb-22fe-45f9-b68c-1dc7061f41e0",entityType:i.ActionDescriptor,entityId:Ze.HttpRequest},Va={id:He.inputs.headers.id,type:i.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:Hy,required:!1,index:3,parent:oh,parentRelationType:M.FixedArguments},lh={type:i.GenericReference,id:"c3e2a4af-9b84-4574-8b30-5044ffc51776",entityType:i.ActionDescriptor,entityId:Ze.HttpRequest},$a={id:He.inputs.body.id,type:i.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:zy,required:!1,index:4,parentRelationType:M.FixedArguments,parent:lh},ch={type:i.GenericReference,id:"92e04dc7-2145-4a31-908e-03810f7235e8",entityType:i.ActionDescriptor,entityId:Ze.HttpRequest},Wo={id:He.outputs.code.id,type:i.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:Xy,required:!0,index:0,parentRelationType:M.FixedReturns,parent:ch},dh={type:i.GenericReference,id:"86aca556-bbf1-4679-9909-31db61b288e2",entityType:i.ActionDescriptor,entityId:Ze.HttpRequest},La={parentRelationType:M.FixedReturns,id:He.outputs.headers.id,type:i.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:eh,required:!0,index:1,parent:dh},uh={type:i.GenericReference,id:"ccf3d1be-04e4-4d03-99fd-5bc1e1919f90",entityType:i.ActionDescriptor,entityId:Ze.HttpRequest},vi={parentRelationType:M.FixedReturns,id:He.outputs.body.id,type:i.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:rh,required:!0,index:2,parent:uh},ph={type:i.GenericReference,id:"21487ffc-82b9-473d-bc19-6e7d7c480ed7",entityType:i.ActionDescriptor,entityId:Ze.HttpRequest},yh={type:i.GenericReference,id:"ad69861b-32f7-4461-b7f7-aa84a82578d9",entityType:i.ValueDescriptor,entityId:He.outputs.error.id},hh={id:"5da68b15-57bc-40c1-b79f-a9075e0f22c1",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:et,isList:!1,asType:!1,isNullable:!1,constant:!1,defaultValue:null,parent:yh},Ho={parentRelationType:M.ReturnedError,id:He.outputs.error.id,type:i.ValueDescriptor,description:"Http request error, if any. Contains a payload describing what went wrong.",version:1,name:"Error",dataType:hh,required:!0,index:0,parent:ph},Ii={type:i.ActionDescriptor,id:Ze.HttpRequest,name:Ze.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:[Ma,Na,Jo,Va,$a],fixedReturns:[Wo,La,vi],argumentsType:U.Fixed,returnsType:U.Fixed,error:Ho,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},fh={[Ze.HttpRequest]:Ii},hI={...Su,...yu,...Np,...dy,...Vy,...fh},mh=x[i.Loop]["list-loop"],Th={id:"iterate-over-list-loop-return-declaration-parent-ref-id",type:i.GenericReference,entityId:Q.List,entityType:i.ActionDescriptor},Eh={id:mh.outputs.results.id,type:i.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:Th,parentRelationType:M.FixedReturns},Rh={id:"iterate-over-list-loop-list-argument-declaration-data-type-parent-ref-id",type:i.GenericReference,entityId:"iterate-over-list-loop-list-argument-declaration-id",entityType:i.ArgumentDeclaration},bh={id:"iterate-over-list-loop-list-argument-declaration-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!0,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:Rh},gh={id:"iterate-over-list-loop-list-argument-declaration-parent-ref-id",type:i.GenericReference,entityId:Q.List,entityType:i.ActionDescriptor},vh={id:mh.inputs.list.id,type:i.ValueDescriptor,version:1,name:"List",description:"The list to iterate over",required:!0,dataType:bh,index:0,parent:gh,parentRelationType:M.FixedArguments},Qn={id:Q.List,type:i.ActionDescriptor,version:1,name:Q.List,description:"Iterates over a list of entities",fixedArguments:[vh],fixedReturns:[Eh],error:null,argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},fI=x[i.Loop]["list-loop"],Ih={id:"manual-flow-loop-previous-iterations-results-declaration-data-type-parent-ref-id",type:i.GenericReference,entityId:"manual-flow-loop-previous-iterations-results-declaration-id",entityType:i.ReturnDeclaration},Dh={id:"manual-flow-loop-previous-iterations-results-declaration-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!0,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:Ih},Ph={id:"manual-flow-loop-previous-iterations-results-declaration-parent-ref-id",type:i.GenericReference,entityId:Q.ManualFlow,entityType:i.ActionDescriptor},Ah={id:fI.outputs.results.id,type:i.ValueDescriptor,version:1,name:"Results",description:"List of results from the loop. One item in the list for each iteration of the loop.",dataType:Dh,required:!0,index:1,parentRelationType:M.FixedReturns,parent:Ph},Yo={id:Q.ManualFlow,type:i.ActionDescriptor,version:1,name:Q.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:[Ah],argumentsType:U.None,returnsType:U.Fixed,error:null,parent:null},Ga=x[i.BuiltInBaseEntity][V.KEY_VALUE_PARAM],mI={id:"key-value-param-built-in-base-entity-name-property-data-type-ref",type:i.GenericReference,entityId:"key-value-param-built-in-base-entity-name-property-data-type",entityType:i.DataType},Sh={id:"key-value-param-built-in-base-entity-name-property-ref",type:i.GenericReference,entityId:"key-value-param-built-in-base-entity-name-property",entityType:i.Property},TI={id:"key-value-param-built-in-base-entity-name-property-data-type",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:j,asType:!1,defaultValue:null,parent:Sh},Oh={id:"key-value-param-built-in-base-entity-name-property-parent-ref",type:i.GenericReference,entityId:Ga.id,entityType:i.BuiltInBaseEntity},Ch={hidden:!1,required:!0,id:"key-value-param-built-in-base-entity-name-property",name:"Parameter name",version:1,type:i.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:TI,description:"The name of the path parameter",parent:Oh},EI={id:"key-value-param-built-in-base-entity-value-property-data-type-ref",type:i.GenericReference,entityId:"key-value-param-built-in-base-entity-value-property-data-type",entityType:i.DataType},Bh={id:"key-value-param-built-in-base-entity-value-property-ref",type:i.GenericReference,entityId:"key-value-param-built-in-base-entity-value-property",entityType:i.Property},RI={id:"key-value-param-built-in-base-entity-value-property-data-type",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:j,asType:!1,defaultValue:null,parent:Bh},wh={id:"key-value-param-built-in-base-entity-value-property-parent-ref",type:i.GenericReference,entityId:Ga.id,entityType:i.BuiltInBaseEntity},_h={hidden:!1,required:!0,id:"key-value-param-built-in-base-entity-value-property",name:"Parameter Value",version:1,type:i.Property,private:!1,abstract:!1,implements:null,static:!1,index:1,dataType:RI,description:"The value of the path parameter",parent:wh},Fa={id:Ga.id,version:1,description:'An entity with a "name" and "value" property representing a breakdown of a key-value pair.',name:Ga.id,type:i.BuiltInBaseEntity,abstract:!1,static:!1,interactive:!0,properties:[Ch,_h],abstractMethods:[],methods:[],extends:[]},Di=x[i.BuiltInBaseEntity][V.HTTP_ENDPOINT].properties,Mh={id:"endpointBuiltInCorsPropertyDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"endpointBuiltInCorsPropertyDataType"},Nh={id:"endpointBuiltInCorsPropertyRef",type:i.GenericReference,entityType:i.Property,entityId:Di.cors.id},Vh={id:"endpointBuiltInCorsPropertyDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:{id:"endpointBuiltInCorsPropertyDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.JSON,value:["*"],parent:Mh,autogeneration:null,valueAsType:null},parent:Nh},$h={id:"endpointBuiltInBaseEntityRef",type:i.GenericReference,entityType:i.BuiltInBaseEntity,entityId:V.HTTP_ENDPOINT},Lh={hidden:!0,required:!0,id:Di.cors.id,name:"Allowed origins",version:1,type:i.Property,private:!1,abstract:!0,implements:null,static:!0,index:0,dataType:Vh,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:$h},Gh={id:"endpointBuiltInPathPropertyDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"endpointBuiltInPathPropertyDataType"},Fh={id:"endpointBuiltInPathPropertyRef",type:i.GenericReference,entityType:i.Property,entityId:Di.path.id},Uh={id:"endpointBuiltInPathPropertyDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:{id:"endpointBuiltInPathPropertyDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.String,value:"/",parent:Gh,autogeneration:null,valueAsType:null},parent:Fh},xh={id:"endpointBuiltInBaseEntityRefTwo",type:i.GenericReference,entityType:i.BuiltInBaseEntity,entityId:V.HTTP_ENDPOINT},zo={hidden:!1,required:!0,id:Di.path.id,name:"Path",version:1,type:i.Property,private:!1,abstract:!0,implements:null,static:!0,index:1,dataType:Uh,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:xh},jh={id:"endpointBuiltInMethodPropertyDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"endpointBuiltInMethodPropertyDataType"},kh={id:"endpointBuiltInMethodPropertyRef",type:i.GenericReference,entityType:i.Property,entityId:"endpointBuiltInMethodProperty"},qh={id:"endpointBuiltInMethodPropertyDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Sn,isList:!0,isNullable:!1,constant:!0,asType:!1,defaultValue:{id:"endpointBuiltInMethodPropertyDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,value:"GET",name:P.Enum,parent:jh,autogeneration:null,valueAsType:null},options:["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","TRACE","CONNECT","CUSTOM"],parent:kh},Jh={id:"endpointBuiltInBaseEntityRefThree",type:i.GenericReference,entityType:i.BuiltInBaseEntity,entityId:V.HTTP_ENDPOINT},Zo={hidden:!1,required:!0,id:Di.method.id,name:"Method",version:1,type:i.Property,private:!1,index:2,implements:null,abstract:!0,static:!0,dataType:qh,description:"The HTTP method that this endpoint will respond to, for example GET, POST, PUT, DELETE, etc.",parent:Jh},Wh={id:"endpointRequestHeadersVariableDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"endpointRequestHeadersVariableDataType"},Hh={id:"endpointRequestHeadersArgumentDeclarationRef",type:i.GenericReference,entityType:i.ArgumentDeclaration,entityId:"endpointRequestHeadersArgumentDeclaration"},Yh={id:"endpointRequestHeadersVariableDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:et,asType:!1,defaultValue:{id:"endpointRequestHeadersVariableDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.JSON,value:{},parent:Wh,autogeneration:null,valueAsType:null},parent:Hh},zh={id:"endpointRequestBodyArgumentDeclarationRef",type:i.GenericReference,entityType:i.ArgumentDeclaration,entityId:"endpointRequestBodyArgumentDeclaration"},Zh={id:"endpointRequestBodyVariableDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:et,defaultValue:null,parent:zh},Xh={id:"endpointRequestQueryParamsVariableDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"endpointRequestQueryParamsVariableDataType"},Qh={id:"endpointRequestQueryParamsArgumentDeclarationRef",type:i.GenericReference,entityType:i.ArgumentDeclaration,entityId:"endpointRequestQueryParamsArgumentDeclaration"},Kh={id:"endpointRequestQueryParamsVariableDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,asType:!1,entity:Fa,defaultValue:{id:"endpointRequestQueryParamsVariableDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.JSON,value:[],parent:Xh,autogeneration:null,valueAsType:null},parent:Qh},ef={id:"endpointPathParamsVariableDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"endpointPathParamsVariableDataType"},tf={id:"endpointPathParamsArgumentDeclarationRef",type:i.GenericReference,entityType:i.ArgumentDeclaration,entityId:"endpointPathParamsArgumentDeclaration"},nf={id:"endpointPathParamsVariableDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Fa,asType:!1,defaultValue:{id:"endpointPathParamsVariableDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.JSON,value:[],parent:ef,autogeneration:null,valueAsType:null},parent:tf},rf={id:"endpointReachedTriggerActionDescriptorRef",type:i.GenericReference,entityType:i.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},af={id:"endpointRequestHeadersArgumentDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the request.",type:i.ValueDescriptor,name:"Request headers",dataType:Yh,required:!0,index:0,parentRelationType:M.FixedArguments,parent:rf},sf={id:"endpointReachedTriggerActionDescriptorRefTwo",type:i.GenericReference,entityType:i.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},of={id:"endpointPathParamsArgumentDeclaration",type:i.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:nf,required:!0,index:1,parentRelationType:M.FixedArguments,parent:sf},lf={id:"endpointReachedTriggerActionDescriptorRefThree",type:i.GenericReference,entityType:i.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},cf={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:i.ValueDescriptor,name:"Request query params",dataType:Kh,required:!0,index:2,parentRelationType:M.FixedArguments,parent:lf},df={id:"endpointReachedTriggerActionDescriptorRefFour",type:i.GenericReference,entityType:i.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},uf={id:"endpointRequestBodyArgumentDeclaration",version:1,description:"The main data payload of the request.",type:i.ValueDescriptor,name:"Request body",dataType:Zh,index:3,required:!0,parentRelationType:M.FixedArguments,parent:df},pf={id:"endpointResponseCodeReturnDeclarationRef",type:i.GenericReference,entityType:i.ReturnDeclaration,entityId:"endpointResponseCodeReturnDeclaration"},yf={id:"9ba575b0-6f8e-436d-a3de-3b843622aa17",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:pf},hf={id:"endpointReturnStatementRef",type:i.GenericReference,entityType:i.ActionDescriptor,entityId:"endpointReturnStatement"},ff={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:i.ValueDescriptor,name:"Response code",dataType:yf,required:!0,index:0,parentRelationType:M.FixedReturns,parent:hf},mf={id:"endpointResponseHeadersDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"endpointResponseHeadersDataType"},Tf={id:"endpointResponseHeadersReturnDeclarationRef",type:i.GenericReference,entityType:i.ReturnDeclaration,entityId:"endpointResponseHeadersReturnDeclaration"},Ef={id:"endpointResponseHeadersDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:et,asType:!1,defaultValue:{id:"endpointResponseHeadersDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.JSON,value:{},parent:mf,autogeneration:null,valueAsType:null},parent:Tf},Rf={id:"endpointReturnStatementRefTwo",type:i.GenericReference,entityType:i.ActionDescriptor,entityId:"endpointReturnStatement"},bf={id:"endpointResponseHeadersReturnDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the response.",type:i.ValueDescriptor,name:"Response headers",dataType:Ef,required:!1,index:1,parentRelationType:M.FixedReturns,parent:Rf},gf={id:"endpointResponseBodyReturnDeclarationRef",type:i.GenericReference,entityType:i.ReturnDeclaration,entityId:"endpointResponseBodyReturnDeclaration"},vf={id:"endpointResponseBodyDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:et,defaultValue:null,parent:gf},If={id:"endpointReturnStatementRefThree",type:i.GenericReference,entityType:i.ActionDescriptor,entityId:"endpointReturnStatement"},Df={id:"endpointResponseBodyReturnDeclaration",version:1,description:"The main data payload of the response.",type:i.ValueDescriptor,name:"Response body",dataType:vf,required:!1,index:2,parentRelationType:M.FixedReturns,parent:If},Pf={id:"endpointBuiltInBaseEntityRefFour",type:i.GenericReference,entityType:i.BuiltInBaseEntity,entityId:V.HTTP_ENDPOINT},Xo={id:"endpointReachedTriggerActionDescriptor",type:i.ActionDescriptor,version:1,name:"Endpoint reached",description:"Fired when the endpoint is reached.",argumentsType:U.Fixed,dynamicArgumentTypes:null,fixedArguments:[af,of,cf,uf],returnsType:U.Fixed,fixedReturns:[ff,bf,Df],error:null,dynamicReturnTypes:null,parent:Pf},Ua={id:V.HTTP_ENDPOINT,version:1,description:"An HTTP endpoint that can be reached by a client from the internet.",name:V.HTTP_ENDPOINT,type:i.BuiltInBaseEntity,interactive:!1,abstract:!0,static:!0,properties:[Lh,zo,Zo],abstractMethods:[Xo],extends:[],methods:[]},Lt=x[i.BuiltInBaseEntity].BUILT_IN_RELATIONAL_DATABASE_ENTITY,Af={id:"relational-database-built-in-base-entity-identifier-property-data-type-ref-id",type:i.GenericReference,entityId:"relational-database-built-in-base-entity-identifier-property-data-type-id",entityType:i.DataType},Sf={id:"relational-database-built-in-base-entity-identifier-property-ref-id",type:i.GenericReference,entityId:Lt.properties.identifier.id,entityType:i.Property},bI={id:"relational-database-built-in-base-entity-identifier-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-identifier-property-default-value-id",type:i.PrimitiveValue,version:1,name:P.String,value:null,parent:Af,autogeneration:{type:qe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:Sf},Fr={id:"relational-database-built-in-base-entity-ref-id",type:i.GenericReference,entityId:V.PERSISTED_ENTITY,entityType:i.BuiltInBaseEntity},xa={hidden:!1,required:!0,id:Lt.properties.identifier.id,name:"Identifier name",version:1,type:i.Property,private:!1,abstract:!0,static:!0,implements:null,index:0,dataType:bI,description:"The name of the main database inside of the server instance where the data will be stored.",parent:Fr},gI={id:"relational-database-built-in-base-entity-username-property-data-type-ref-id",type:i.GenericReference,entityId:"relational-database-built-in-base-entity-username-property-data-type-idd",entityType:i.DataType},Of={id:"relational-database-built-in-base-entity-username-property-ref-id",type:i.GenericReference,entityId:Lt.properties.username.id,entityType:i.Property},vI={id:"relational-database-built-in-base-entity-username-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-username-property-default-value-id",type:i.PrimitiveValue,version:1,name:P.String,value:"postgres",parent:{id:"relational-database-built-in-base-entity-username-property-data-type-default-value-parent-ref-id",type:i.GenericReference,entityId:"relational-database-built-in-base-entity-username-property-data-type-id",entityType:i.DataType},autogeneration:null,valueAsType:null},parent:Of},ja={hidden:!1,required:!0,id:Lt.properties.username.id,name:"Username",version:1,type:i.Property,private:!1,abstract:!0,static:!0,implements:null,index:1,dataType:vI,description:"The username that will be used to connect to the database.",parent:Fr},II={id:"relational-database-built-in-base-entity-password-property-data-type-ref-id",type:i.GenericReference,entityId:"relational-database-built-in-base-entity-password-property-data-type-id",entityType:i.DataType},Cf={id:"relational-database-built-in-base-entity-password-property-ref-id",type:i.GenericReference,entityId:Lt.properties.password.id,entityType:i.Property},DI={id:"relational-database-built-in-base-entity-password-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:null,parent:Cf},ka={hidden:!1,required:!0,id:Lt.properties.password.id,name:"Password",version:1,type:i.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:Fr},Bf={id:"relational-database-built-in-base-entity-min-size-property-data-type-ref-id",type:i.GenericReference,entityId:"relational-database-built-in-base-entity-min-size-property-data-type-id",entityType:i.DataType},wf={id:"relational-database-built-in-base-entity-min-size-property-ref-id",type:i.GenericReference,entityId:Lt.properties.minSize.id,entityType:i.Property},PI={id:"relational-database-built-in-base-entity-min-size-property-data-type-id",version:1,type:i.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:i.PrimitiveValue,version:1,name:P.Number,value:6,parent:Bf,autogeneration:null,valueAsType:null},parent:wf},qa={hidden:!0,required:!0,id:Lt.properties.minSize.id,name:"Minimum GB size",version:1,type:i.Property,private:!1,abstract:!0,static:!0,implements:null,index:3,dataType:PI,description:"The minimum size of the database in GB.",parent:Fr},_f={id:"relational-database-built-in-base-entity-default-property-data-type-ref-id",type:i.GenericReference,entityId:"relational-database-built-in-base-entity-default-property-data-type-id",entityType:i.DataType},Mf={id:"relational-database-built-in-base-entity-default-property-ref-id",type:i.GenericReference,entityId:Lt.properties.default.id,entityType:i.Property},AI={id:"relational-database-built-in-base-entity-default-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:An,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-default-property-default-value-id",type:i.PrimitiveValue,version:1,name:P.Boolean,value:!1,parent:_f,autogeneration:null,valueAsType:null},parent:Mf},Qo={hidden:!0,required:!0,id:Lt.properties.default.id,name:"Default",version:1,type:i.Property,private:!1,abstract:!0,static:!0,implements:null,index:4,dataType:AI,description:"If true, this database will be the default database for the server instance and all the new entities.",parent:Fr},Nf={id:"relational-database-built-in-base-entity-autoscaling-property-ref-id",type:i.GenericReference,entityId:Lt.properties.autoscaling.id,entityType:i.Property},Vf={id:"relational-database-built-in-base-entity-autoscaling-property-data-type-ref-id",type:i.GenericReference,entityId:"relational-database-built-in-base-entity-autoscaling-property-data-type-id",entityType:i.DataType},SI={id:"relational-database-built-in-base-entity-autoscaling-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:An,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-autoscaling-property-default-value-id",type:i.PrimitiveValue,version:1,name:P.Boolean,value:!1,parent:Vf,autogeneration:null,valueAsType:null},parent:Nf},$f={id:"relational-database-built-in-base-entity-autoscaling-property-parent-ref-id",type:i.GenericReference,entityId:V.PERSISTED_ENTITY,entityType:i.BuiltInBaseEntity},Ko={hidden:!0,required:!0,id:Lt.properties.autoscaling.id,name:"Auto-scaling",version:1,type:i.Property,private:!1,abstract:!0,static:!0,implements:null,index:4,dataType:SI,description:"If true, this database will automatically scale up or down in memory size, based on the usage.",parent:$f},On={id:V.RELATIONAL_DATABASE,version:1,description:"This entity provisions a relational database in the cloud.",name:V.RELATIONAL_DATABASE,type:i.BuiltInBaseEntity,abstract:!0,static:!0,interactive:!1,properties:[xa,ja,ka,qa,Qo,Ko],abstractMethods:[],methods:[],extends:[]},Lf={type:i.GenericReference,entityId:"persisted-built-in-base-entity-ref-id",entityType:i.BuiltInBaseEntity,id:Ct.DeletePersistedEntity},el={type:i.FunctionDeclaration,id:Ct.DeletePersistedEntity,name:Ct.DeletePersistedEntity,description:"Permanently deletes the current copy of an entity from the database",version:1,parent:Lf,inputs:[],calls:[],implements:null,collapsed:!1,returnStatements:[],index:0,private:!1,x:0,y:0},Gf={type:i.GenericReference,entityId:"persisted-built-in-base-entity-ref-id",entityType:i.BuiltInBaseEntity,id:Ct.SoftDeletePersistedEntity},Ff={type:i.FunctionDeclaration,id:Ct.SoftDeletePersistedEntity,name:Ct.SoftDeletePersistedEntity,description:"Designates the entity as deleted, but does not remove it from the database.",version:1,parent:Gf,inputs:[],calls:[],implements:null,collapsed:!1,returnStatements:[],index:0,private:!1,x:0,y:0},Uf=x[i.BuiltInBaseEntity][V.PERSISTED_ENTITY].properties,OI={id:"persisted-built-in-base-entity-database-property-data-type-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-database-property-data-type-id",entityType:i.DataType},xf={id:"persisted-built-in-base-entity-database-property-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-database-property-id",entityType:i.Property},CI={id:"persisted-built-in-base-entity-database-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:On,asType:!1,defaultValue:null,parent:xf},jf={id:"persisted-built-in-base-entity-database-property-parent-ref-id",type:i.GenericReference,entityId:V.PERSISTED_ENTITY,entityType:i.BuiltInBaseEntity},Pi={hidden:!0,required:!0,id:Uf.database.id,name:"Database",version:1,type:i.Property,private:!1,abstract:!0,implements:null,static:!0,index:0,dataType:CI,description:"The database that the entity belongs to.",parent:jf},kf={id:"persisted-built-in-base-entity-identifier-property-data-type-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-identifier-property-data-type-id",entityType:i.DataType},qf={id:"persisted-built-in-base-entity-identifier-property-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-identifier-property-id",entityType:i.Property},BI={id:"persisted-built-in-base-entity-identifier-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Oa,asType:!1,defaultValue:{id:"persisted-built-in-base-entity-identifier-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.UUID,value:null,parent:kf,autogeneration:{type:qe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:qf},Jf={id:"persisted-built-in-base-entity-identifier-property-parent-ref-id",type:i.GenericReference,entityId:V.PERSISTED_ENTITY,entityType:i.BuiltInBaseEntity},Wf={hidden:!1,required:!0,id:Uf.identifier.id,name:"Identifier",version:1,type:i.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:BI,description:"Auto-generated unique identifier for the entity, can be used to identify the entity among other entities of the same type.",parent:Jf},wI={id:"persisted-built-in-base-entity-deleted-at-property-data-type-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-deleted-at-property-data-type-id",entityType:i.DataType},Hf={id:"persisted-built-in-base-entity-deleted-at-property-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-deleted-at-property-id",entityType:i.Property},Yf={id:"persisted-built-in-base-entity-deleted-at-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!0,constant:!1,entity:dn,asType:!1,defaultValue:null,parent:Hf},zf={id:"persisted-built-in-base-entity-deleted-at-property-parent-ref-id",type:i.GenericReference,entityId:V.PERSISTED_ENTITY,entityType:i.BuiltInBaseEntity},Zf={hidden:!1,required:!0,id:"persisted-built-in-base-entity-deleted-at-property-id",name:"Deleted at",version:1,type:i.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:Yf,description:"The date and time when the entity was deleted.",parent:zf},_I={id:"persisted-built-in-base-entity-created-at-property-data-type-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-created-at-property-data-type-id",entityType:i.DataType},Xf={id:"persisted-built-in-base-entity-created-at-property-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-created-at-property-id",entityType:i.Property},Qf={id:"persisted-built-in-base-entity-created-at-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:dn,asType:!1,defaultValue:null,parent:Xf},Kf={id:"persisted-built-in-base-entity-created-at-property-parent-ref-id",type:i.GenericReference,entityId:V.PERSISTED_ENTITY,entityType:i.BuiltInBaseEntity},em={hidden:!1,required:!0,id:"persisted-built-in-base-entity-created-at-property-id",name:"Created at",version:1,type:i.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:Qf,description:"The date and time when the entity was created.",parent:Kf},MI={id:"persisted-built-in-base-entity-updated-at-property-data-type-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-updated-at-property-data-type-id",entityType:i.DataType},tm={id:"persisted-built-in-base-entity-updated-at-property-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-updated-at-property-id",entityType:i.Property},nm={id:"persisted-built-in-base-entity-updated-at-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:dn,asType:!1,defaultValue:null,parent:tm},rm={id:"persisted-built-in-base-entity-updated-at-property-parent-ref-id",type:i.GenericReference,entityId:V.PERSISTED_ENTITY,entityType:i.BuiltInBaseEntity},im={hidden:!1,required:!0,id:"persisted-built-in-base-entity-updated-at-property-id",name:"Updated at",version:1,type:i.Property,private:!1,implements:null,abstract:!1,static:!1,index:0,dataType:nm,description:"The date and time when the entity was last updated.",parent:rm},Le={id:V.PERSISTED_ENTITY,version:1,description:"An entity that is permanently stored in the database and can be accessed at any point.",name:V.PERSISTED_ENTITY,type:i.BuiltInBaseEntity,abstract:!0,static:!1,interactive:!0,abstractMethods:[],properties:[Pi,Wf,Zf,em,im],methods:[el,Ff],extends:[]},am={id:"cron-job-triggered-function-declaration-blueprint-parent-ref-id",type:i.GenericReference,entityType:i.BuiltInBaseEntity,entityId:V.HTTP_ENDPOINT},tl={id:"cron-job-triggered-function-declaration-blueprint-id",name:"Cron job triggered",version:1,type:i.ActionDescriptor,argumentsType:U.None,returnsType:U.None,description:"Executed when the cron job is triggered",fixedArguments:[],dynamicArgumentTypes:null,error:null,fixedReturns:[],dynamicReturnTypes:null,parent:am},sm=x[i.BuiltInBaseEntity].BUILT_IN_CRON_JOB_ENTITY,NI={id:"cron-job-built-in-base-entity-expression-property-data-type-ref",type:i.GenericReference,entityId:"cron-job-built-in-base-entity-expression-property-data-type",entityType:i.DataType},om={id:"cron-job-built-in-base-entity-expression-property-ref",type:i.GenericReference,entityId:sm.properties.expression.id,entityType:i.Property},VI={id:"cron-job-built-in-base-entity-expression-property-data-type",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:null,parent:om},lm={id:"cron-job-built-in-base-entity-ref",type:i.GenericReference,entityId:V.CRON_JOB,entityType:i.BuiltInBaseEntity},cm={hidden:!1,required:!0,id:sm.properties.expression.id,name:"Cron expression",version:1,type:i.Property,private:!1,abstract:!0,implements:null,static:!0,index:0,dataType:VI,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:lm},nl={id:V.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:V.CRON_JOB,type:i.BuiltInBaseEntity,abstract:!0,static:!0,interactive:!1,properties:[cm],methods:[],abstractMethods:[tl],extends:[]},dm={type:i.GenericReference,id:"execution-built-in-entity-abort-method-parent-ref-id",entityType:i.BuiltInBaseEntity,entityId:"execution-built-in-entity-id"},rl={id:"execution-built-in-entity-abort-method-id",type:i.FunctionDeclaration,version:1,name:Ct.AbortExecution,description:"Aborts the execution of the entity",inputs:[],returnStatements:[],calls:[],implements:null,private:!1,collapsed:!1,index:null,x:0,y:0,parent:dm},il={id:V.EXECUTION,type:i.BuiltInBaseEntity,version:1,name:V.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:[rl],abstractMethods:[]},$I=x[i.Condition]["not-empty"],um={type:i.GenericReference,id:"not-empty-condition-ref",entityType:i.ActionDescriptor,entityId:$t.NotEmpty},pm={id:$I.inputs.leftHand.id,type:i.ValueDescriptor,version:1,name:"Value",description:"The value to check if it is not empty",dataType:null,required:!0,parentRelationType:M.FixedArguments,index:0,parent:um},Kn={type:i.ActionDescriptor,id:$t.NotEmpty,version:1,name:$t.NotEmpty,description:"Checks if the value is not empty",parent:null,fixedArguments:[pm],fixedReturns:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:U.Fixed,returnsType:U.None,error:null},ym={[$t.NotEmpty]:Kn},hm=x[i.Condition]["more-than-or-equal"],fm={type:i.GenericReference,id:"more-than-or-equal-condition-left-hand-argument-parent-ref",entityType:i.ActionDescriptor,entityId:_e.MoreThanOrEqual},mm={id:hm.inputs.leftHand.id,type:i.ValueDescriptor,version:1,name:"First value",description:"The first value to compare",dataType:null,required:!0,parentRelationType:M.FixedArguments,index:0,parent:fm},Tm={type:i.GenericReference,id:"more-than-or-equal-condition-right-hand-argument-parent-ref",entityType:i.ActionDescriptor,entityId:_e.MoreThanOrEqual},Em={id:hm.inputs.rightHand.id,type:i.ValueDescriptor,version:1,name:"Second value",description:"The second value to compare",dataType:null,required:!0,parentRelationType:M.FixedArguments,index:1,parent:Tm},Ur={type:i.ActionDescriptor,id:_e.MoreThanOrEqual,version:1,name:_e.MoreThanOrEqual,description:"Checks if the value is not empty",parent:null,fixedArguments:[mm,Em],fixedReturns:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:U.Fixed,returnsType:U.None,error:null},Rm={[_e.MoreThanOrEqual]:Ur},LI={...ym,...Rm},Ja={type:i.ActionDescriptor,id:ln.PROJECT_PUBLICATION_COMPLETED,version:1,name:ln.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:U.None,returnsType:U.None,error:null},GI={[ln.PROJECT_PUBLICATION_COMPLETED]:Ja},al=x[i.ValueDescriptor][Bo.ActionOngoingProcessOutputValue],bm={type:i.GenericReference,id:"182f767f-50e8-4394-ba5f-43e78c232733",entityType:i.ValueDescriptor,entityId:al.id},gm={id:al.dataType.id,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:il,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:bm},sl={id:al.id,type:i.ValueDescriptor,description:"A value that represents the ongoing process of the parent action",version:1,name:"Process",dataType:gm,required:!0,index:0,parent:null,parentRelationType:M.OngoingProcessExecution};var ee;(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(l=>typeof a[a[l]]!="number"),o={};for(const l of s)o[l]=a[l];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 r(a,s=" | "){return a.map(o=>typeof o=="string"?`'${o}'`:o).join(s)}n.joinValues=r,n.jsonStringifyReplacer=(a,s)=>typeof s=="bigint"?s.toString():s})(ee||(ee={}));var ol;(function(n){n.mergeShapes=(e,t)=>({...e,...t})})(ol||(ol={}));const $=ee.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Cn=n=>{switch(typeof n){case"undefined":return $.undefined;case"string":return $.string;case"number":return isNaN(n)?$.nan:$.number;case"boolean":return $.boolean;case"function":return $.function;case"bigint":return $.bigint;case"symbol":return $.symbol;case"object":return Array.isArray(n)?$.array:n===null?$.null:n.then&&typeof n.then=="function"&&n.catch&&typeof n.catch=="function"?$.promise:typeof Map<"u"&&n instanceof Map?$.map:typeof Set<"u"&&n instanceof Set?$.set:typeof Date<"u"&&n instanceof Date?$.date:$.object;default:return $.unknown}},O=ee.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"]),FI=n=>JSON.stringify(n,null,2).replace(/"([^"]+)":/g,"$1:");class bt extends Error{constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};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},r={_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)r._errors.push(t(o));else{let l=r,p=0;for(;p<o.path.length;){const y=o.path[p];p===o.path.length-1?(l[y]=l[y]||{_errors:[]},l[y]._errors.push(t(o))):l[y]=l[y]||{_errors:[]},l=l[y],p++}}};return a(this),r}static assert(e){if(!(e instanceof bt))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,ee.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},r=[];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))):r.push(e(a));return{formErrors:r,fieldErrors:t}}get formErrors(){return this.flatten()}}bt.create=n=>new bt(n);const xr=(n,e)=>{let t;switch(n.code){case O.invalid_type:n.received===$.undefined?t="Required":t=`Expected ${n.expected}, received ${n.received}`;break;case O.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(n.expected,ee.jsonStringifyReplacer)}`;break;case O.unrecognized_keys:t=`Unrecognized key(s) in object: ${ee.joinValues(n.keys,", ")}`;break;case O.invalid_union:t="Invalid input";break;case O.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${ee.joinValues(n.options)}`;break;case O.invalid_enum_value:t=`Invalid enum value. Expected ${ee.joinValues(n.options)}, received '${n.received}'`;break;case O.invalid_arguments:t="Invalid function arguments";break;case O.invalid_return_type:t="Invalid function return type";break;case O.invalid_date:t="Invalid date";break;case O.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}"`:ee.assertNever(n.validation):n.validation!=="regex"?t=`Invalid ${n.validation}`:t="Invalid";break;case O.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 O.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 O.custom:t="Invalid input";break;case O.invalid_intersection_types:t="Intersection results could not be merged";break;case O.not_multiple_of:t=`Number must be a multiple of ${n.multipleOf}`;break;case O.not_finite:t="Number must be finite";break;default:t=e.defaultError,ee.assertNever(n)}return{message:t}};let vm=xr;function UI(n){vm=n}function Wa(){return vm}const Ha=n=>{const{data:e,path:t,errorMaps:r,issueData:a}=n,s=[...t,...a.path||[]],o={...a,path:s};if(a.message!==void 0)return{...a,path:s,message:a.message};let l="";const p=r.filter(y=>!!y).slice().reverse();for(const y of p)l=y(o,{data:e,defaultError:l}).message;return{...a,path:s,message:l}},xI=[];function N(n,e){const t=Wa(),r=Ha({issueData:e,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,t,t===xr?void 0:xr].filter(a=>!!a)});n.common.issues.push(r)}class tt{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const r=[];for(const a of t){if(a.status==="aborted")return q;a.status==="dirty"&&e.dirty(),r.push(a.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,t){const r=[];for(const a of t){const s=await a.key,o=await a.value;r.push({key:s,value:o})}return tt.mergeObjectSync(e,r)}static mergeObjectSync(e,t){const r={};for(const a of t){const{key:s,value:o}=a;if(s.status==="aborted"||o.status==="aborted")return q;s.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof o.value<"u"||a.alwaysSet)&&(r[s.value]=o.value)}return{status:e.value,value:r}}}const q=Object.freeze({status:"aborted"}),jr=n=>({status:"dirty",value:n}),pt=n=>({status:"valid",value:n}),ll=n=>n.status==="aborted",cl=n=>n.status==="dirty",Ai=n=>n.status==="valid",Si=n=>typeof Promise<"u"&&n instanceof Promise;function Ya(n,e,t,r){if(t==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!r:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?r:t==="a"?r.call(n):r?r.value:e.get(n)}function Im(n,e,t,r,a){if(r==="m")throw new TypeError("Private method is not writable");if(r==="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 r==="a"?a.call(n,t):a?a.value=t:e.set(n,t),t}typeof SuppressedError=="function"&&SuppressedError;var F;(function(n){n.errToObj=e=>typeof e=="string"?{message:e}:e||{},n.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(F||(F={}));var Oi,Ci;class Zt{constructor(e,t,r,a){this._cachedPath=[],this.parent=e,this.data=t,this._path=r,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(Ai(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 bt(n.common.issues);return this._error=t,this._error}}};function z(n){if(!n)return{};const{errorMap:e,invalid_type_error:t,required_error:r,description:a}=n;if(e&&(t||r))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,l)=>{var p,y;const{message:f}=n;return o.code==="invalid_enum_value"?{message:f??l.defaultError}:typeof l.data>"u"?{message:(p=f??r)!==null&&p!==void 0?p:l.defaultError}:o.code!=="invalid_type"?{message:l.defaultError}:{message:(y=f??t)!==null&&y!==void 0?y:l.defaultError}},description:a}}class X{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 Cn(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Cn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new tt,ctx:{common:e.parent.common,data:e.data,parsedType:Cn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(Si(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 r=this.safeParse(e,t);if(r.success)return r.data;throw r.error}safeParse(e,t){var r;const a={common:{issues:[],async:(r=t==null?void 0:t.async)!==null&&r!==void 0?r:!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Cn(e)},s=this._parseSync({data:e,path:a.path,parent:a});return Dm(a,s)}async parseAsync(e,t){const r=await this.safeParseAsync(e,t);if(r.success)return r.data;throw r.error}async safeParseAsync(e,t){const r={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:Cn(e)},a=this._parse({data:e,path:r.path,parent:r}),s=await(Si(a)?a:Promise.resolve(a));return Dm(r,s)}refine(e,t){const r=a=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(a):t;return this._refinement((a,s)=>{const o=e(a),l=()=>s.addIssue({code:O.custom,...r(a)});return typeof Promise<"u"&&o instanceof Promise?o.then(p=>p?!0:(l(),!1)):o?!0:(l(),!1)})}refinement(e,t){return this._refinement((r,a)=>e(r)?!0:(a.addIssue(typeof t=="function"?t(r,a):t),!1))}_refinement(e){return new Wt({schema:this,typeName:k.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return Qt.create(this,this._def)}nullable(){return Mn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Jt.create(this,this._def)}promise(){return Wr.create(this,this._def)}or(e){return Mi.create([this,e],this._def)}and(e){return Ni.create(this,e,this._def)}transform(e){return new Wt({...z(this._def),schema:this,typeName:k.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new Fi({...z(this._def),innerType:this,defaultValue:t,typeName:k.ZodDefault})}brand(){return new pl({typeName:k.ZodBranded,type:this,...z(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new Ui({...z(this._def),innerType:this,catchValue:t,typeName:k.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return xi.create(this,e)}readonly(){return ji.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const jI=/^c[^\s-]{8,}$/i,kI=/^[0-9a-z]+$/,qI=/^[0-9A-HJKMNP-TV-Z]{26}$/,JI=/^[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,HI=/^[-+]?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)?)??$/,YI=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,zI="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let dl;const ZI=/^(?:(?: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])$/,XI=/^(([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})))$/,QI=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Pm="((\\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])))",KI=new RegExp(`^${Pm}$`);function Am(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 eD(n){return new RegExp(`^${Am(n)}$`)}function Sm(n){let e=`${Pm}T${Am(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 tD(n,e){return!!((e==="v4"||!e)&&ZI.test(n)||(e==="v6"||!e)&&XI.test(n))}class qt extends X{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==$.string){const s=this._getOrReturnCtx(e);return N(s,{code:O.invalid_type,expected:$.string,received:s.parsedType}),q}const r=new tt;let a;for(const s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(a=this._getOrReturnCtx(e,a),N(a,{code:O.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="max")e.data.length>s.value&&(a=this._getOrReturnCtx(e,a),N(a,{code:O.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="length"){const o=e.data.length>s.value,l=e.data.length<s.value;(o||l)&&(a=this._getOrReturnCtx(e,a),o?N(a,{code:O.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):l&&N(a,{code:O.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),r.dirty())}else if(s.kind==="email")YI.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"email",code:O.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")dl||(dl=new RegExp(zI,"u")),dl.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"emoji",code:O.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")JI.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"uuid",code:O.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")WI.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"nanoid",code:O.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")jI.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"cuid",code:O.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")kI.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"cuid2",code:O.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")qI.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"ulid",code:O.invalid_string,message:s.message}),r.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{a=this._getOrReturnCtx(e,a),N(a,{validation:"url",code:O.invalid_string,message:s.message}),r.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"regex",code:O.invalid_string,message:s.message}),r.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(a=this._getOrReturnCtx(e,a),N(a,{code:O.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),r.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),N(a,{code:O.invalid_string,validation:{startsWith:s.value},message:s.message}),r.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(a=this._getOrReturnCtx(e,a),N(a,{code:O.invalid_string,validation:{endsWith:s.value},message:s.message}),r.dirty()):s.kind==="datetime"?Sm(s).test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{code:O.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?KI.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{code:O.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?eD(s).test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{code:O.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?HI.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"duration",code:O.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?tD(e.data,s.version)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"ip",code:O.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?QI.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"base64",code:O.invalid_string,message:s.message}),r.dirty()):ee.assertNever(s);return{status:r.value,value:e.data}}_regex(e,t,r){return this.refinement(a=>e.test(a),{validation:t,code:O.invalid_string,...F.errToObj(r)})}_addCheck(e){return new qt({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...F.errToObj(e)})}url(e){return this._addCheck({kind:"url",...F.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...F.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...F.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...F.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...F.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...F.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...F.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...F.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...F.errToObj(e)})}datetime(e){var t,r;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:(r=e==null?void 0:e.local)!==null&&r!==void 0?r:!1,...F.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,...F.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...F.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...F.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...F.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...F.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...F.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...F.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...F.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...F.errToObj(t)})}nonempty(e){return this.min(1,F.errToObj(e))}trim(){return new qt({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new qt({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new qt({...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}}qt.create=n=>{var e;return new qt({checks:[],typeName:k.ZodString,coerce:(e=n==null?void 0:n.coerce)!==null&&e!==void 0?e:!1,...z(n)})};function nD(n,e){const t=(n.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,a=t>r?t:r,s=parseInt(n.toFixed(a).replace(".","")),o=parseInt(e.toFixed(a).replace(".",""));return s%o/Math.pow(10,a)}class Bn extends X{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)!==$.number){const s=this._getOrReturnCtx(e);return N(s,{code:O.invalid_type,expected:$.number,received:s.parsedType}),q}let r;const a=new tt;for(const s of this._def.checks)s.kind==="int"?ee.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),N(r,{code:O.invalid_type,expected:"integer",received:"float",message:s.message}),a.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(r=this._getOrReturnCtx(e,r),N(r,{code:O.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)&&(r=this._getOrReturnCtx(e,r),N(r,{code:O.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),a.dirty()):s.kind==="multipleOf"?nD(e.data,s.value)!==0&&(r=this._getOrReturnCtx(e,r),N(r,{code:O.not_multiple_of,multipleOf:s.value,message:s.message}),a.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),N(r,{code:O.not_finite,message:s.message}),a.dirty()):ee.assertNever(s);return{status:a.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,F.toString(t))}gt(e,t){return this.setLimit("min",e,!1,F.toString(t))}lte(e,t){return this.setLimit("max",e,!0,F.toString(t))}lt(e,t){return this.setLimit("max",e,!1,F.toString(t))}setLimit(e,t,r,a){return new Bn({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:F.toString(a)}]})}_addCheck(e){return new Bn({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:F.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:F.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:F.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:F.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:F.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:F.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:F.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:F.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:F.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"&&ee.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(t===null||r.value>t)&&(t=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(t)&&Number.isFinite(e)}}Bn.create=n=>new Bn({checks:[],typeName:k.ZodNumber,coerce:(n==null?void 0:n.coerce)||!1,...z(n)});class wn extends X{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)!==$.bigint){const s=this._getOrReturnCtx(e);return N(s,{code:O.invalid_type,expected:$.bigint,received:s.parsedType}),q}let r;const a=new tt;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(r=this._getOrReturnCtx(e,r),N(r,{code:O.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)&&(r=this._getOrReturnCtx(e,r),N(r,{code:O.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),a.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),N(r,{code:O.not_multiple_of,multipleOf:s.value,message:s.message}),a.dirty()):ee.assertNever(s);return{status:a.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,F.toString(t))}gt(e,t){return this.setLimit("min",e,!1,F.toString(t))}lte(e,t){return this.setLimit("max",e,!0,F.toString(t))}lt(e,t){return this.setLimit("max",e,!1,F.toString(t))}setLimit(e,t,r,a){return new wn({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:F.toString(a)}]})}_addCheck(e){return new wn({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:F.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:F.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:F.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:F.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:F.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}}wn.create=n=>{var e;return new wn({checks:[],typeName:k.ZodBigInt,coerce:(e=n==null?void 0:n.coerce)!==null&&e!==void 0?e:!1,...z(n)})};class Bi extends X{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==$.boolean){const r=this._getOrReturnCtx(e);return N(r,{code:O.invalid_type,expected:$.boolean,received:r.parsedType}),q}return pt(e.data)}}Bi.create=n=>new Bi({typeName:k.ZodBoolean,coerce:(n==null?void 0:n.coerce)||!1,...z(n)});class er extends X{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==$.date){const s=this._getOrReturnCtx(e);return N(s,{code:O.invalid_type,expected:$.date,received:s.parsedType}),q}if(isNaN(e.data.getTime())){const s=this._getOrReturnCtx(e);return N(s,{code:O.invalid_date}),q}const r=new tt;let a;for(const s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(a=this._getOrReturnCtx(e,a),N(a,{code:O.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),r.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(a=this._getOrReturnCtx(e,a),N(a,{code:O.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),r.dirty()):ee.assertNever(s);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new er({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:F.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:F.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}}er.create=n=>new er({checks:[],coerce:(n==null?void 0:n.coerce)||!1,typeName:k.ZodDate,...z(n)});class za extends X{_parse(e){if(this._getType(e)!==$.symbol){const r=this._getOrReturnCtx(e);return N(r,{code:O.invalid_type,expected:$.symbol,received:r.parsedType}),q}return pt(e.data)}}za.create=n=>new za({typeName:k.ZodSymbol,...z(n)});class wi extends X{_parse(e){if(this._getType(e)!==$.undefined){const r=this._getOrReturnCtx(e);return N(r,{code:O.invalid_type,expected:$.undefined,received:r.parsedType}),q}return pt(e.data)}}wi.create=n=>new wi({typeName:k.ZodUndefined,...z(n)});class _i extends X{_parse(e){if(this._getType(e)!==$.null){const r=this._getOrReturnCtx(e);return N(r,{code:O.invalid_type,expected:$.null,received:r.parsedType}),q}return pt(e.data)}}_i.create=n=>new _i({typeName:k.ZodNull,...z(n)});class kr extends X{constructor(){super(...arguments),this._any=!0}_parse(e){return pt(e.data)}}kr.create=n=>new kr({typeName:k.ZodAny,...z(n)});class tr extends X{constructor(){super(...arguments),this._unknown=!0}_parse(e){return pt(e.data)}}tr.create=n=>new tr({typeName:k.ZodUnknown,...z(n)});class pn extends X{_parse(e){const t=this._getOrReturnCtx(e);return N(t,{code:O.invalid_type,expected:$.never,received:t.parsedType}),q}}pn.create=n=>new pn({typeName:k.ZodNever,...z(n)});class Za extends X{_parse(e){if(this._getType(e)!==$.undefined){const r=this._getOrReturnCtx(e);return N(r,{code:O.invalid_type,expected:$.void,received:r.parsedType}),q}return pt(e.data)}}Za.create=n=>new Za({typeName:k.ZodVoid,...z(n)});class Jt extends X{_parse(e){const{ctx:t,status:r}=this._processInputParams(e),a=this._def;if(t.parsedType!==$.array)return N(t,{code:O.invalid_type,expected:$.array,received:t.parsedType}),q;if(a.exactLength!==null){const o=t.data.length>a.exactLength.value,l=t.data.length<a.exactLength.value;(o||l)&&(N(t,{code:o?O.too_big:O.too_small,minimum:l?a.exactLength.value:void 0,maximum:o?a.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:a.exactLength.message}),r.dirty())}if(a.minLength!==null&&t.data.length<a.minLength.value&&(N(t,{code:O.too_small,minimum:a.minLength.value,type:"array",inclusive:!0,exact:!1,message:a.minLength.message}),r.dirty()),a.maxLength!==null&&t.data.length>a.maxLength.value&&(N(t,{code:O.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),r.dirty()),t.common.async)return Promise.all([...t.data].map((o,l)=>a.type._parseAsync(new Zt(t,o,t.path,l)))).then(o=>tt.mergeArray(r,o));const s=[...t.data].map((o,l)=>a.type._parseSync(new Zt(t,o,t.path,l)));return tt.mergeArray(r,s)}get element(){return this._def.type}min(e,t){return new Jt({...this._def,minLength:{value:e,message:F.toString(t)}})}max(e,t){return new Jt({...this._def,maxLength:{value:e,message:F.toString(t)}})}length(e,t){return new Jt({...this._def,exactLength:{value:e,message:F.toString(t)}})}nonempty(e){return this.min(1,e)}}Jt.create=(n,e)=>new Jt({type:n,minLength:null,maxLength:null,exactLength:null,typeName:k.ZodArray,...z(e)});function qr(n){if(n instanceof Fe){const e={};for(const t in n.shape){const r=n.shape[t];e[t]=Qt.create(qr(r))}return new Fe({...n._def,shape:()=>e})}else return n instanceof Jt?new Jt({...n._def,type:qr(n.element)}):n instanceof Qt?Qt.create(qr(n.unwrap())):n instanceof Mn?Mn.create(qr(n.unwrap())):n instanceof Xt?Xt.create(n.items.map(e=>qr(e))):n}class Fe extends X{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=ee.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==$.object){const y=this._getOrReturnCtx(e);return N(y,{code:O.invalid_type,expected:$.object,received:y.parsedType}),q}const{status:r,ctx:a}=this._processInputParams(e),{shape:s,keys:o}=this._getCached(),l=[];if(!(this._def.catchall instanceof pn&&this._def.unknownKeys==="strip"))for(const y in a.data)o.includes(y)||l.push(y);const p=[];for(const y of o){const f=s[y],m=a.data[y];p.push({key:{status:"valid",value:y},value:f._parse(new Zt(a,m,a.path,y)),alwaysSet:y in a.data})}if(this._def.catchall instanceof pn){const y=this._def.unknownKeys;if(y==="passthrough")for(const f of l)p.push({key:{status:"valid",value:f},value:{status:"valid",value:a.data[f]}});else if(y==="strict")l.length>0&&(N(a,{code:O.unrecognized_keys,keys:l}),r.dirty());else if(y!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const y=this._def.catchall;for(const f of l){const m=a.data[f];p.push({key:{status:"valid",value:f},value:y._parse(new Zt(a,m,a.path,f)),alwaysSet:f in a.data})}}return a.common.async?Promise.resolve().then(async()=>{const y=[];for(const f of p){const m=await f.key,b=await f.value;y.push({key:m,value:b,alwaysSet:f.alwaysSet})}return y}).then(y=>tt.mergeObjectSync(r,y)):tt.mergeObjectSync(r,p)}get shape(){return this._def.shape()}strict(e){return F.errToObj,new Fe({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,r)=>{var a,s,o,l;const p=(o=(s=(a=this._def).errorMap)===null||s===void 0?void 0:s.call(a,t,r).message)!==null&&o!==void 0?o:r.defaultError;return t.code==="unrecognized_keys"?{message:(l=F.errToObj(e).message)!==null&&l!==void 0?l:p}:{message:p}}}:{}})}strip(){return new Fe({...this._def,unknownKeys:"strip"})}passthrough(){return new Fe({...this._def,unknownKeys:"passthrough"})}extend(e){return new Fe({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new Fe({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:k.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new Fe({...this._def,catchall:e})}pick(e){const t={};return ee.objectKeys(e).forEach(r=>{e[r]&&this.shape[r]&&(t[r]=this.shape[r])}),new Fe({...this._def,shape:()=>t})}omit(e){const t={};return ee.objectKeys(this.shape).forEach(r=>{e[r]||(t[r]=this.shape[r])}),new Fe({...this._def,shape:()=>t})}deepPartial(){return qr(this)}partial(e){const t={};return ee.objectKeys(this.shape).forEach(r=>{const a=this.shape[r];e&&!e[r]?t[r]=a:t[r]=a.optional()}),new Fe({...this._def,shape:()=>t})}required(e){const t={};return ee.objectKeys(this.shape).forEach(r=>{if(e&&!e[r])t[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof Qt;)s=s._def.innerType;t[r]=s}}),new Fe({...this._def,shape:()=>t})}keyof(){return Om(ee.objectKeys(this.shape))}}Fe.create=(n,e)=>new Fe({shape:()=>n,unknownKeys:"strip",catchall:pn.create(),typeName:k.ZodObject,...z(e)}),Fe.strictCreate=(n,e)=>new Fe({shape:()=>n,unknownKeys:"strict",catchall:pn.create(),typeName:k.ZodObject,...z(e)}),Fe.lazycreate=(n,e)=>new Fe({shape:n,unknownKeys:"strip",catchall:pn.create(),typeName:k.ZodObject,...z(e)});class Mi extends X{_parse(e){const{ctx:t}=this._processInputParams(e),r=this._def.options;function a(s){for(const l of s)if(l.result.status==="valid")return l.result;for(const l of s)if(l.result.status==="dirty")return t.common.issues.push(...l.ctx.common.issues),l.result;const o=s.map(l=>new bt(l.ctx.common.issues));return N(t,{code:O.invalid_union,unionErrors:o}),q}if(t.common.async)return Promise.all(r.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 r){const y={...t,common:{...t.common,issues:[]},parent:null},f=p._parseSync({data:t.data,path:t.path,parent:y});if(f.status==="valid")return f;f.status==="dirty"&&!s&&(s={result:f,ctx:y}),y.common.issues.length&&o.push(y.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;const l=o.map(p=>new bt(p));return N(t,{code:O.invalid_union,unionErrors:l}),q}}get options(){return this._def.options}}Mi.create=(n,e)=>new Mi({options:n,typeName:k.ZodUnion,...z(e)});const yn=n=>n instanceof $i?yn(n.schema):n instanceof Wt?yn(n.innerType()):n instanceof Li?[n.value]:n instanceof _n?n.options:n instanceof Gi?ee.objectValues(n.enum):n instanceof Fi?yn(n._def.innerType):n instanceof wi?[void 0]:n instanceof _i?[null]:n instanceof Qt?[void 0,...yn(n.unwrap())]:n instanceof Mn?[null,...yn(n.unwrap())]:n instanceof pl||n instanceof ji?yn(n.unwrap()):n instanceof Ui?yn(n._def.innerType):[];class Xa extends X{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==$.object)return N(t,{code:O.invalid_type,expected:$.object,received:t.parsedType}),q;const r=this.discriminator,a=t.data[r],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}):(N(t,{code:O.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),q)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,r){const a=new Map;for(const s of t){const o=yn(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 l of o){if(a.has(l))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(l)}`);a.set(l,s)}}return new Xa({typeName:k.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:a,...z(r)})}}function ul(n,e){const t=Cn(n),r=Cn(e);if(n===e)return{valid:!0,data:n};if(t===$.object&&r===$.object){const a=ee.objectKeys(e),s=ee.objectKeys(n).filter(l=>a.indexOf(l)!==-1),o={...n,...e};for(const l of s){const p=ul(n[l],e[l]);if(!p.valid)return{valid:!1};o[l]=p.data}return{valid:!0,data:o}}else if(t===$.array&&r===$.array){if(n.length!==e.length)return{valid:!1};const a=[];for(let s=0;s<n.length;s++){const o=n[s],l=e[s],p=ul(o,l);if(!p.valid)return{valid:!1};a.push(p.data)}return{valid:!0,data:a}}else return t===$.date&&r===$.date&&+n==+e?{valid:!0,data:n}:{valid:!1}}class Ni extends X{_parse(e){const{status:t,ctx:r}=this._processInputParams(e),a=(s,o)=>{if(ll(s)||ll(o))return q;const l=ul(s.value,o.value);return l.valid?((cl(s)||cl(o))&&t.dirty(),{status:t.value,value:l.data}):(N(r,{code:O.invalid_intersection_types}),q)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([s,o])=>a(s,o)):a(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}Ni.create=(n,e,t)=>new Ni({left:n,right:e,typeName:k.ZodIntersection,...z(t)});class Xt extends X{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==$.array)return N(r,{code:O.invalid_type,expected:$.array,received:r.parsedType}),q;if(r.data.length<this._def.items.length)return N(r,{code:O.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),q;!this._def.rest&&r.data.length>this._def.items.length&&(N(r,{code:O.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const s=[...r.data].map((o,l)=>{const p=this._def.items[l]||this._def.rest;return p?p._parse(new Zt(r,o,r.path,l)):null}).filter(o=>!!o);return r.common.async?Promise.all(s).then(o=>tt.mergeArray(t,o)):tt.mergeArray(t,s)}get items(){return this._def.items}rest(e){return new Xt({...this._def,rest:e})}}Xt.create=(n,e)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Xt({items:n,typeName:k.ZodTuple,rest:null,...z(e)})};class Vi extends X{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==$.object)return N(r,{code:O.invalid_type,expected:$.object,received:r.parsedType}),q;const a=[],s=this._def.keyType,o=this._def.valueType;for(const l in r.data)a.push({key:s._parse(new Zt(r,l,r.path,l)),value:o._parse(new Zt(r,r.data[l],r.path,l)),alwaysSet:l in r.data});return r.common.async?tt.mergeObjectAsync(t,a):tt.mergeObjectSync(t,a)}get element(){return this._def.valueType}static create(e,t,r){return t instanceof X?new Vi({keyType:e,valueType:t,typeName:k.ZodRecord,...z(r)}):new Vi({keyType:qt.create(),valueType:e,typeName:k.ZodRecord,...z(t)})}}class Qa extends X{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==$.map)return N(r,{code:O.invalid_type,expected:$.map,received:r.parsedType}),q;const a=this._def.keyType,s=this._def.valueType,o=[...r.data.entries()].map(([l,p],y)=>({key:a._parse(new Zt(r,l,r.path,[y,"key"])),value:s._parse(new Zt(r,p,r.path,[y,"value"]))}));if(r.common.async){const l=new Map;return Promise.resolve().then(async()=>{for(const p of o){const y=await p.key,f=await p.value;if(y.status==="aborted"||f.status==="aborted")return q;(y.status==="dirty"||f.status==="dirty")&&t.dirty(),l.set(y.value,f.value)}return{status:t.value,value:l}})}else{const l=new Map;for(const p of o){const y=p.key,f=p.value;if(y.status==="aborted"||f.status==="aborted")return q;(y.status==="dirty"||f.status==="dirty")&&t.dirty(),l.set(y.value,f.value)}return{status:t.value,value:l}}}}Qa.create=(n,e,t)=>new Qa({valueType:e,keyType:n,typeName:k.ZodMap,...z(t)});class nr extends X{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==$.set)return N(r,{code:O.invalid_type,expected:$.set,received:r.parsedType}),q;const a=this._def;a.minSize!==null&&r.data.size<a.minSize.value&&(N(r,{code:O.too_small,minimum:a.minSize.value,type:"set",inclusive:!0,exact:!1,message:a.minSize.message}),t.dirty()),a.maxSize!==null&&r.data.size>a.maxSize.value&&(N(r,{code:O.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 y=new Set;for(const f of p){if(f.status==="aborted")return q;f.status==="dirty"&&t.dirty(),y.add(f.value)}return{status:t.value,value:y}}const l=[...r.data.values()].map((p,y)=>s._parse(new Zt(r,p,r.path,y)));return r.common.async?Promise.all(l).then(p=>o(p)):o(l)}min(e,t){return new nr({...this._def,minSize:{value:e,message:F.toString(t)}})}max(e,t){return new nr({...this._def,maxSize:{value:e,message:F.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}nr.create=(n,e)=>new nr({valueType:n,minSize:null,maxSize:null,typeName:k.ZodSet,...z(e)});class Jr extends X{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==$.function)return N(t,{code:O.invalid_type,expected:$.function,received:t.parsedType}),q;function r(l,p){return Ha({data:l,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Wa(),xr].filter(y=>!!y),issueData:{code:O.invalid_arguments,argumentsError:p}})}function a(l,p){return Ha({data:l,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Wa(),xr].filter(y=>!!y),issueData:{code:O.invalid_return_type,returnTypeError:p}})}const s={errorMap:t.common.contextualErrorMap},o=t.data;if(this._def.returns instanceof Wr){const l=this;return pt(async function(...p){const y=new bt([]),f=await l._def.args.parseAsync(p,s).catch(g=>{throw y.addIssue(r(p,g)),y}),m=await Reflect.apply(o,this,f);return await l._def.returns._def.type.parseAsync(m,s).catch(g=>{throw y.addIssue(a(m,g)),y})})}else{const l=this;return pt(function(...p){const y=l._def.args.safeParse(p,s);if(!y.success)throw new bt([r(p,y.error)]);const f=Reflect.apply(o,this,y.data),m=l._def.returns.safeParse(f,s);if(!m.success)throw new bt([a(f,m.error)]);return m.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new Jr({...this._def,args:Xt.create(e).rest(tr.create())})}returns(e){return new Jr({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,r){return new Jr({args:e||Xt.create([]).rest(tr.create()),returns:t||tr.create(),typeName:k.ZodFunction,...z(r)})}}class $i extends X{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})}}$i.create=(n,e)=>new $i({getter:n,typeName:k.ZodLazy,...z(e)});class Li extends X{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return N(t,{received:t.data,code:O.invalid_literal,expected:this._def.value}),q}return{status:"valid",value:e.data}}get value(){return this._def.value}}Li.create=(n,e)=>new Li({value:n,typeName:k.ZodLiteral,...z(e)});function Om(n,e){return new _n({values:n,typeName:k.ZodEnum,...z(e)})}class _n extends X{constructor(){super(...arguments),Oi.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),r=this._def.values;return N(t,{expected:ee.joinValues(r),received:t.parsedType,code:O.invalid_type}),q}if(Ya(this,Oi,"f")||Im(this,Oi,new Set(this._def.values),"f"),!Ya(this,Oi,"f").has(e.data)){const t=this._getOrReturnCtx(e),r=this._def.values;return N(t,{received:t.data,code:O.invalid_enum_value,options:r}),q}return pt(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 _n.create(e,{...this._def,...t})}exclude(e,t=this._def){return _n.create(this.options.filter(r=>!e.includes(r)),{...this._def,...t})}}Oi=new WeakMap,_n.create=Om;class Gi extends X{constructor(){super(...arguments),Ci.set(this,void 0)}_parse(e){const t=ee.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==$.string&&r.parsedType!==$.number){const a=ee.objectValues(t);return N(r,{expected:ee.joinValues(a),received:r.parsedType,code:O.invalid_type}),q}if(Ya(this,Ci,"f")||Im(this,Ci,new Set(ee.getValidEnumValues(this._def.values)),"f"),!Ya(this,Ci,"f").has(e.data)){const a=ee.objectValues(t);return N(r,{received:r.data,code:O.invalid_enum_value,options:a}),q}return pt(e.data)}get enum(){return this._def.values}}Ci=new WeakMap,Gi.create=(n,e)=>new Gi({values:n,typeName:k.ZodNativeEnum,...z(e)});class Wr extends X{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==$.promise&&t.common.async===!1)return N(t,{code:O.invalid_type,expected:$.promise,received:t.parsedType}),q;const r=t.parsedType===$.promise?t.data:Promise.resolve(t.data);return pt(r.then(a=>this._def.type.parseAsync(a,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Wr.create=(n,e)=>new Wr({type:n,typeName:k.ZodPromise,...z(e)});class Wt extends X{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===k.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:r}=this._processInputParams(e),a=this._def.effect||null,s={addIssue:o=>{N(r,o),o.fatal?t.abort():t.dirty()},get path(){return r.path}};if(s.addIssue=s.addIssue.bind(s),a.type==="preprocess"){const o=a.transform(r.data,s);if(r.common.async)return Promise.resolve(o).then(async l=>{if(t.value==="aborted")return q;const p=await this._def.schema._parseAsync({data:l,path:r.path,parent:r});return p.status==="aborted"?q:p.status==="dirty"||t.value==="dirty"?jr(p.value):p});{if(t.value==="aborted")return q;const l=this._def.schema._parseSync({data:o,path:r.path,parent:r});return l.status==="aborted"?q:l.status==="dirty"||t.value==="dirty"?jr(l.value):l}}if(a.type==="refinement"){const o=l=>{const p=a.refinement(l,s);if(r.common.async)return Promise.resolve(p);if(p instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return l};if(r.common.async===!1){const l=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return l.status==="aborted"?q:(l.status==="dirty"&&t.dirty(),o(l.value),{status:t.value,value:l.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(l=>l.status==="aborted"?q:(l.status==="dirty"&&t.dirty(),o(l.value).then(()=>({status:t.value,value:l.value}))))}if(a.type==="transform")if(r.common.async===!1){const o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!Ai(o))return o;const l=a.transform(o.value,s);if(l instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:l}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>Ai(o)?Promise.resolve(a.transform(o.value,s)).then(l=>({status:t.value,value:l})):o);ee.assertNever(a)}}Wt.create=(n,e,t)=>new Wt({schema:n,typeName:k.ZodEffects,effect:e,...z(t)}),Wt.createWithPreprocess=(n,e,t)=>new Wt({schema:e,effect:{type:"preprocess",transform:n},typeName:k.ZodEffects,...z(t)});class Qt extends X{_parse(e){return this._getType(e)===$.undefined?pt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Qt.create=(n,e)=>new Qt({innerType:n,typeName:k.ZodOptional,...z(e)});class Mn extends X{_parse(e){return this._getType(e)===$.null?pt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Mn.create=(n,e)=>new Mn({innerType:n,typeName:k.ZodNullable,...z(e)});class Fi extends X{_parse(e){const{ctx:t}=this._processInputParams(e);let r=t.data;return t.parsedType===$.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}Fi.create=(n,e)=>new Fi({innerType:n,typeName:k.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...z(e)});class Ui extends X{_parse(e){const{ctx:t}=this._processInputParams(e),r={...t,common:{...t.common,issues:[]}},a=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Si(a)?a.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new bt(r.common.issues)},input:r.data})})):{status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new bt(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}Ui.create=(n,e)=>new Ui({innerType:n,typeName:k.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...z(e)});class Ka extends X{_parse(e){if(this._getType(e)!==$.nan){const r=this._getOrReturnCtx(e);return N(r,{code:O.invalid_type,expected:$.nan,received:r.parsedType}),q}return{status:"valid",value:e.data}}}Ka.create=n=>new Ka({typeName:k.ZodNaN,...z(n)});const rD=Symbol("zod_brand");class pl extends X{_parse(e){const{ctx:t}=this._processInputParams(e),r=t.data;return this._def.type._parse({data:r,path:t.path,parent:t})}unwrap(){return this._def.type}}class xi extends X{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?q:s.status==="dirty"?(t.dirty(),jr(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{const a=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?q:a.status==="dirty"?(t.dirty(),{status:"dirty",value:a.value}):this._def.out._parseSync({data:a.value,path:r.path,parent:r})}}static create(e,t){return new xi({in:e,out:t,typeName:k.ZodPipeline})}}class ji extends X{_parse(e){const t=this._def.innerType._parse(e),r=a=>(Ai(a)&&(a.value=Object.freeze(a.value)),a);return Si(t)?t.then(a=>r(a)):r(t)}unwrap(){return this._def.innerType}}ji.create=(n,e)=>new ji({innerType:n,typeName:k.ZodReadonly,...z(e)});function Cm(n,e={},t){return n?kr.create().superRefine((r,a)=>{var s,o;if(!n(r)){const l=typeof e=="function"?e(r):typeof e=="string"?{message:e}:e,p=(o=(s=l.fatal)!==null&&s!==void 0?s:t)!==null&&o!==void 0?o:!0,y=typeof l=="string"?{message:l}:l;a.addIssue({code:"custom",...y,fatal:p})}}):kr.create()}const iD={object:Fe.lazycreate};var k;(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"})(k||(k={}));const aD=(n,e={message:`Input not instance of ${n.name}`})=>Cm(t=>t instanceof n,e),es=qt.create,yl=Bn.create,sD=Ka.create,oD=wn.create,hl=Bi.create,Bm=er.create,lD=za.create,cD=wi.create,wm=_i.create,dD=kr.create,ts=tr.create,uD=pn.create,pD=Za.create,yD=Jt.create,_m=Fe.create,hD=Fe.strictCreate,fD=Mi.create,mD=Xa.create,TD=Ni.create,ED=Xt.create,Mm=Vi.create,RD=Qa.create,bD=nr.create,gD=Jr.create,vD=$i.create,ID=Li.create,Nm=_n.create,DD=Gi.create,PD=Wr.create,Vm=Wt.create,AD=Qt.create,SD=Mn.create,OD=Wt.createWithPreprocess,CD=xi.create;var d=Object.freeze({__proto__:null,defaultErrorMap:xr,setErrorMap:UI,getErrorMap:Wa,makeIssue:Ha,EMPTY_PATH:xI,addIssueToContext:N,ParseStatus:tt,INVALID:q,DIRTY:jr,OK:pt,isAborted:ll,isDirty:cl,isValid:Ai,isAsync:Si,get util(){return ee},get objectUtil(){return ol},ZodParsedType:$,getParsedType:Cn,ZodType:X,datetimeRegex:Sm,ZodString:qt,ZodNumber:Bn,ZodBigInt:wn,ZodBoolean:Bi,ZodDate:er,ZodSymbol:za,ZodUndefined:wi,ZodNull:_i,ZodAny:kr,ZodUnknown:tr,ZodNever:pn,ZodVoid:Za,ZodArray:Jt,ZodObject:Fe,ZodUnion:Mi,ZodDiscriminatedUnion:Xa,ZodIntersection:Ni,ZodTuple:Xt,ZodRecord:Vi,ZodMap:Qa,ZodSet:nr,ZodFunction:Jr,ZodLazy:$i,ZodLiteral:Li,ZodEnum:_n,ZodNativeEnum:Gi,ZodPromise:Wr,ZodEffects:Wt,ZodTransformer:Wt,ZodOptional:Qt,ZodNullable:Mn,ZodDefault:Fi,ZodCatch:Ui,ZodNaN:Ka,BRAND:rD,ZodBranded:pl,ZodPipeline:xi,ZodReadonly:ji,custom:Cm,Schema:X,ZodSchema:X,late:iD,get ZodFirstPartyTypeKind(){return k},coerce:{string:n=>qt.create({...n,coerce:!0}),number:n=>Bn.create({...n,coerce:!0}),boolean:n=>Bi.create({...n,coerce:!0}),bigint:n=>wn.create({...n,coerce:!0}),date:n=>er.create({...n,coerce:!0})},any:dD,array:yD,bigint:oD,boolean:hl,date:Bm,discriminatedUnion:mD,effect:Vm,enum:Nm,function:gD,instanceof:aD,intersection:TD,lazy:vD,literal:ID,map:RD,nan:sD,nativeEnum:DD,never:uD,null:wm,nullable:SD,number:yl,object:_m,oboolean:()=>hl().optional(),onumber:()=>yl().optional(),optional:AD,ostring:()=>es().optional(),pipeline:CD,preprocess:OD,promise:PD,record:Mm,set:bD,strictObject:hD,string:es,symbol:lD,transformer:Vm,tuple:ED,undefined:cD,union:fD,unknown:ts,void:pD,NEVER:q,ZodIssueCode:O,quotelessJson:FI,ZodError:bt});function $m(n){var a,s,o;if(!(n!=null&&n.dataType))return ts();const e=n.dataType.isNullable||!1,t=n.dataType.isList||!1;let r=ts();if(((a=n.dataType.entity)==null?void 0:a.type)===i.PrimitiveEntity)switch(n.dataType.entity.name){case P.String:r=es();break;case P.JSON:r=Mm(ts());break;case P.Number:r=yl();break;case P.Boolean:r=hl();break;case P.Date:r=Bm();break;case P.Enum:{const l=n.dataType.options||[];if(l.length===0)throw new Error(`Enum property ${n.name} has no options`);r=Nm(l);break}case P.Null:r=wm();break;case P.UUID:r=es().uuid();break}else if(((s=n.dataType.entity)==null?void 0:s.type)===i.CustomEntity)r=Lm(n.dataType.entity);else throw new Error(`Unsupported data type validation: ${(o=n.dataType.entity)==null?void 0:o.type}`);return e&&(r=r.nullable()),t&&(r=r.array()),r}function Lm(n){const e=_m({});for(const t of n.properties){const r=$m(t);e.shape[t.name]=r}return e}function Gm(n){const e=n.rangeStart;return new Date(e.getTime()+Math.random()*(Date.now()-e.getTime()))}function Fm(n){const e=n.rangeEnd;return new Date(Math.random()*e.getTime())}function Um(n){const e=n.rangeStart,t=n.rangeEnd;return new Date(e.getTime()+Math.random()*(t.getTime()-e.getTime()))}function xm(n){return n.rangeStart&&n.rangeEnd?Um(n):n.rangeStart?Gm(n):n.rangeEnd?Fm(n):new Date}function BD(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var jm={},ns={},rs={};Object.defineProperty(rs,"__esModule",{value:!0}),rs.default=_D;let is;const wD=new Uint8Array(16);function _D(){if(!is&&(is=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!is))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return is(wD)}var Nn={},rr={},as={};Object.defineProperty(as,"__esModule",{value:!0}),as.default=void 0;var MD=/^(?:[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;as.default=MD,Object.defineProperty(rr,"__esModule",{value:!0}),rr.default=void 0;var ND=VD(as);function VD(n){return n&&n.__esModule?n:{default:n}}function $D(n){return typeof n=="string"&&ND.default.test(n)}var LD=$D;rr.default=LD,Object.defineProperty(Nn,"__esModule",{value:!0}),Nn.default=void 0,Nn.unsafeStringify=km;var GD=FD(rr);function FD(n){return n&&n.__esModule?n:{default:n}}const Xe=[];for(let n=0;n<256;++n)Xe.push((n+256).toString(16).slice(1));function km(n,e=0){return Xe[n[e+0]]+Xe[n[e+1]]+Xe[n[e+2]]+Xe[n[e+3]]+"-"+Xe[n[e+4]]+Xe[n[e+5]]+"-"+Xe[n[e+6]]+Xe[n[e+7]]+"-"+Xe[n[e+8]]+Xe[n[e+9]]+"-"+Xe[n[e+10]]+Xe[n[e+11]]+Xe[n[e+12]]+Xe[n[e+13]]+Xe[n[e+14]]+Xe[n[e+15]]}function UD(n,e=0){const t=km(n,e);if(!(0,GD.default)(t))throw TypeError("Stringified UUID is invalid");return t}var xD=UD;Nn.default=xD,Object.defineProperty(ns,"__esModule",{value:!0}),ns.default=void 0;var jD=qD(rs),kD=Nn;function qD(n){return n&&n.__esModule?n:{default:n}}let qm,fl,ml=0,Tl=0;function JD(n,e,t){let r=e&&t||0;const a=e||new Array(16);n=n||{};let s=n.node||qm,o=n.clockseq!==void 0?n.clockseq:fl;if(s==null||o==null){const b=n.random||(n.rng||jD.default)();s==null&&(s=qm=[b[0]|1,b[1],b[2],b[3],b[4],b[5]]),o==null&&(o=fl=(b[6]<<8|b[7])&16383)}let l=n.msecs!==void 0?n.msecs:Date.now(),p=n.nsecs!==void 0?n.nsecs:Tl+1;const y=l-ml+(p-Tl)/1e4;if(y<0&&n.clockseq===void 0&&(o=o+1&16383),(y<0||l>ml)&&n.nsecs===void 0&&(p=0),p>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");ml=l,Tl=p,fl=o,l+=122192928e5;const f=((l&268435455)*1e4+p)%4294967296;a[r++]=f>>>24&255,a[r++]=f>>>16&255,a[r++]=f>>>8&255,a[r++]=f&255;const m=l/4294967296*1e4&268435455;a[r++]=m>>>8&255,a[r++]=m&255,a[r++]=m>>>24&15|16,a[r++]=m>>>16&255,a[r++]=o>>>8|128,a[r++]=o&255;for(let b=0;b<6;++b)a[r+b]=s[b];return e||(0,kD.unsafeStringify)(a)}var WD=JD;ns.default=WD;var ss={},Vn={},ki={};Object.defineProperty(ki,"__esModule",{value:!0}),ki.default=void 0;var HD=YD(rr);function YD(n){return n&&n.__esModule?n:{default:n}}function zD(n){if(!(0,HD.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 ZD=zD;ki.default=ZD,Object.defineProperty(Vn,"__esModule",{value:!0}),Vn.URL=Vn.DNS=void 0,Vn.default=tP;var XD=Nn,QD=KD(ki);function KD(n){return n&&n.__esModule?n:{default:n}}function eP(n){n=unescape(encodeURIComponent(n));const e=[];for(let t=0;t<n.length;++t)e.push(n.charCodeAt(t));return e}const Jm="6ba7b810-9dad-11d1-80b4-00c04fd430c8";Vn.DNS=Jm;const Wm="6ba7b811-9dad-11d1-80b4-00c04fd430c8";Vn.URL=Wm;function tP(n,e,t){function r(a,s,o,l){var p;if(typeof a=="string"&&(a=eP(a)),typeof s=="string"&&(s=(0,QD.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 y=new Uint8Array(16+a.length);if(y.set(s),y.set(a,s.length),y=t(y),y[6]=y[6]&15|e,y[8]=y[8]&63|128,o){l=l||0;for(let f=0;f<16;++f)o[l+f]=y[f];return o}return(0,XD.unsafeStringify)(y)}try{r.name=n}catch{}return r.DNS=Jm,r.URL=Wm,r}var os={};Object.defineProperty(os,"__esModule",{value:!0}),os.default=void 0;function nP(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 rP(iP(aP(n),n.length*8))}function rP(n){const e=[],t=n.length*32,r="0123456789abcdef";for(let a=0;a<t;a+=8){const s=n[a>>5]>>>a%32&255,o=parseInt(r.charAt(s>>>4&15)+r.charAt(s&15),16);e.push(o)}return e}function Hm(n){return(n+64>>>9<<4)+14+1}function iP(n,e){n[e>>5]|=128<<e%32,n[Hm(e)-1]=e;let t=1732584193,r=-271733879,a=-1732584194,s=271733878;for(let o=0;o<n.length;o+=16){const l=t,p=r,y=a,f=s;t=nt(t,r,a,s,n[o],7,-680876936),s=nt(s,t,r,a,n[o+1],12,-389564586),a=nt(a,s,t,r,n[o+2],17,606105819),r=nt(r,a,s,t,n[o+3],22,-1044525330),t=nt(t,r,a,s,n[o+4],7,-176418897),s=nt(s,t,r,a,n[o+5],12,1200080426),a=nt(a,s,t,r,n[o+6],17,-1473231341),r=nt(r,a,s,t,n[o+7],22,-45705983),t=nt(t,r,a,s,n[o+8],7,1770035416),s=nt(s,t,r,a,n[o+9],12,-1958414417),a=nt(a,s,t,r,n[o+10],17,-42063),r=nt(r,a,s,t,n[o+11],22,-1990404162),t=nt(t,r,a,s,n[o+12],7,1804603682),s=nt(s,t,r,a,n[o+13],12,-40341101),a=nt(a,s,t,r,n[o+14],17,-1502002290),r=nt(r,a,s,t,n[o+15],22,1236535329),t=rt(t,r,a,s,n[o+1],5,-165796510),s=rt(s,t,r,a,n[o+6],9,-1069501632),a=rt(a,s,t,r,n[o+11],14,643717713),r=rt(r,a,s,t,n[o],20,-373897302),t=rt(t,r,a,s,n[o+5],5,-701558691),s=rt(s,t,r,a,n[o+10],9,38016083),a=rt(a,s,t,r,n[o+15],14,-660478335),r=rt(r,a,s,t,n[o+4],20,-405537848),t=rt(t,r,a,s,n[o+9],5,568446438),s=rt(s,t,r,a,n[o+14],9,-1019803690),a=rt(a,s,t,r,n[o+3],14,-187363961),r=rt(r,a,s,t,n[o+8],20,1163531501),t=rt(t,r,a,s,n[o+13],5,-1444681467),s=rt(s,t,r,a,n[o+2],9,-51403784),a=rt(a,s,t,r,n[o+7],14,1735328473),r=rt(r,a,s,t,n[o+12],20,-1926607734),t=it(t,r,a,s,n[o+5],4,-378558),s=it(s,t,r,a,n[o+8],11,-2022574463),a=it(a,s,t,r,n[o+11],16,1839030562),r=it(r,a,s,t,n[o+14],23,-35309556),t=it(t,r,a,s,n[o+1],4,-1530992060),s=it(s,t,r,a,n[o+4],11,1272893353),a=it(a,s,t,r,n[o+7],16,-155497632),r=it(r,a,s,t,n[o+10],23,-1094730640),t=it(t,r,a,s,n[o+13],4,681279174),s=it(s,t,r,a,n[o],11,-358537222),a=it(a,s,t,r,n[o+3],16,-722521979),r=it(r,a,s,t,n[o+6],23,76029189),t=it(t,r,a,s,n[o+9],4,-640364487),s=it(s,t,r,a,n[o+12],11,-421815835),a=it(a,s,t,r,n[o+15],16,530742520),r=it(r,a,s,t,n[o+2],23,-995338651),t=at(t,r,a,s,n[o],6,-198630844),s=at(s,t,r,a,n[o+7],10,1126891415),a=at(a,s,t,r,n[o+14],15,-1416354905),r=at(r,a,s,t,n[o+5],21,-57434055),t=at(t,r,a,s,n[o+12],6,1700485571),s=at(s,t,r,a,n[o+3],10,-1894986606),a=at(a,s,t,r,n[o+10],15,-1051523),r=at(r,a,s,t,n[o+1],21,-2054922799),t=at(t,r,a,s,n[o+8],6,1873313359),s=at(s,t,r,a,n[o+15],10,-30611744),a=at(a,s,t,r,n[o+6],15,-1560198380),r=at(r,a,s,t,n[o+13],21,1309151649),t=at(t,r,a,s,n[o+4],6,-145523070),s=at(s,t,r,a,n[o+11],10,-1120210379),a=at(a,s,t,r,n[o+2],15,718787259),r=at(r,a,s,t,n[o+9],21,-343485551),t=$n(t,l),r=$n(r,p),a=$n(a,y),s=$n(s,f)}return[t,r,a,s]}function aP(n){if(n.length===0)return[];const e=n.length*8,t=new Uint32Array(Hm(e));for(let r=0;r<e;r+=8)t[r>>5]|=(n[r/8]&255)<<r%32;return t}function $n(n,e){const t=(n&65535)+(e&65535);return(n>>16)+(e>>16)+(t>>16)<<16|t&65535}function sP(n,e){return n<<e|n>>>32-e}function ls(n,e,t,r,a,s){return $n(sP($n($n(e,n),$n(r,s)),a),t)}function nt(n,e,t,r,a,s,o){return ls(e&t|~e&r,n,e,a,s,o)}function rt(n,e,t,r,a,s,o){return ls(e&r|t&~r,n,e,a,s,o)}function it(n,e,t,r,a,s,o){return ls(e^t^r,n,e,a,s,o)}function at(n,e,t,r,a,s,o){return ls(t^(e|~r),n,e,a,s,o)}var oP=nP;os.default=oP,Object.defineProperty(ss,"__esModule",{value:!0}),ss.default=void 0;var lP=Ym(Vn),cP=Ym(os);function Ym(n){return n&&n.__esModule?n:{default:n}}var dP=(0,lP.default)("v3",48,cP.default);ss.default=dP;var cs={},ds={};Object.defineProperty(ds,"__esModule",{value:!0}),ds.default=void 0;var uP={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};ds.default=uP,Object.defineProperty(cs,"__esModule",{value:!0}),cs.default=void 0;var zm=Zm(ds),pP=Zm(rs),yP=Nn;function Zm(n){return n&&n.__esModule?n:{default:n}}function hP(n,e,t){if(zm.default.randomUUID&&!e&&!n)return zm.default.randomUUID();n=n||{};const r=n.random||(n.rng||pP.default)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){t=t||0;for(let a=0;a<16;++a)e[t+a]=r[a];return e}return(0,yP.unsafeStringify)(r)}var fP=hP;cs.default=fP;var us={},ps={};Object.defineProperty(ps,"__esModule",{value:!0}),ps.default=void 0;function mP(n,e,t,r){switch(n){case 0:return e&t^~e&r;case 1:return e^t^r;case 2:return e&t^e&r^t&r;case 3:return e^t^r}}function El(n,e){return n<<e|n>>>32-e}function TP(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 l=0;l<o.length;++l)n.push(o.charCodeAt(l))}else Array.isArray(n)||(n=Array.prototype.slice.call(n));n.push(128);const r=n.length/4+2,a=Math.ceil(r/16),s=new Array(a);for(let o=0;o<a;++o){const l=new Uint32Array(16);for(let p=0;p<16;++p)l[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]=l}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 l=new Uint32Array(80);for(let g=0;g<16;++g)l[g]=s[o][g];for(let g=16;g<80;++g)l[g]=El(l[g-3]^l[g-8]^l[g-14]^l[g-16],1);let p=t[0],y=t[1],f=t[2],m=t[3],b=t[4];for(let g=0;g<80;++g){const I=Math.floor(g/20),D=El(p,5)+mP(I,y,f,m)+b+e[I]+l[g]>>>0;b=m,m=f,f=El(y,30)>>>0,y=p,p=D}t[0]=t[0]+p>>>0,t[1]=t[1]+y>>>0,t[2]=t[2]+f>>>0,t[3]=t[3]+m>>>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 EP=TP;ps.default=EP,Object.defineProperty(us,"__esModule",{value:!0}),us.default=void 0;var RP=Xm(Vn),bP=Xm(ps);function Xm(n){return n&&n.__esModule?n:{default:n}}var gP=(0,RP.default)("v5",80,bP.default);us.default=gP;var ys={};Object.defineProperty(ys,"__esModule",{value:!0}),ys.default=void 0;var vP="00000000-0000-0000-0000-000000000000";ys.default=vP;var hs={};Object.defineProperty(hs,"__esModule",{value:!0}),hs.default=void 0;var IP=DP(rr);function DP(n){return n&&n.__esModule?n:{default:n}}function PP(n){if(!(0,IP.default)(n))throw TypeError("Invalid UUID");return parseInt(n.slice(14,15),16)}var AP=PP;hs.default=AP,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 y.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 r.default}}),Object.defineProperty(n,"v5",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(n,"validate",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(n,"version",{enumerable:!0,get:function(){return o.default}});var e=f(ns),t=f(ss),r=f(cs),a=f(us),s=f(ys),o=f(hs),l=f(rr),p=f(Nn),y=f(ki);function f(m){return m&&m.__esModule?m:{default:m}}}(jm);function Rl(n,e){if(!n||!e||!n.length||!e.length)throw new Error("Bad alphabet");this.srcAlphabet=n,this.dstAlphabet=e}Rl.prototype.convert=function(n){var e,t,r,a={},s=this.srcAlphabet.length,o=this.dstAlphabet.length,l=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<l;e++)a[e]=this.srcAlphabet.indexOf(n[e]);do{for(t=0,r=0,e=0;e<l;e++)t=t*s+a[e],t>=o?(a[r++]=parseInt(t/o,10),t=t%o):r>0&&(a[r++]=0);l=r,p=this.dstAlphabet.slice(t,t+1).concat(p)}while(r!==0);return p},Rl.prototype.isValid=function(n){for(var e=0;e<n.length;++e)if(this.srcAlphabet.indexOf(n[e])===-1)return!1;return!0};var SP=Rl,OP=SP;function qi(n,e){var t=new OP(n,e);return function(r){return t.convert(r)}}qi.BIN="01",qi.OCT="01234567",qi.DEC="0123456789",qi.HEX="0123456789abcdef";var CP=qi;const{v4:bl,validate:BP}=jm,fs=CP,gl={cookieBase90:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~",flickrBase58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",uuid25Base36:"0123456789abcdefghijklmnopqrstuvwxyz"},wP={consistentLength:!0};let vl;const Qm=(n,e,t)=>{const r=e(n.toLowerCase().replace(/-/g,""));return!t||!t.consistentLength?r:r.padStart(t.shortIdLength,t.paddingChar)},Km=(n,e)=>{const r=e(n).padStart(32,"0").match(/(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})/);return[r[1],r[2],r[3],r[4],r[5]].join("-")},_P=n=>Math.ceil(Math.log(2**128)/Math.log(n));var MP=(()=>{const n=(e,t)=>{const r=e||gl.flickrBase58,a={...wP,...t};if([...new Set(Array.from(r))].length!==r.length)throw new Error("The provided Alphabet has duplicate characters resulting in unreliable results");const s=_P(r.length),o={shortIdLength:s,consistentLength:a.consistentLength,paddingChar:r[0]},l=fs(fs.HEX,r),p=fs(r,fs.HEX),y=()=>Qm(bl(),l,o),m={alphabet:r,fromUUID:b=>Qm(b,l,o),maxLength:s,generate:y,new:y,toUUID:b=>Km(b,p),uuid:bl,validate:(b,g=!1)=>{if(!b||typeof b!="string")return!1;const I=a.consistentLength?b.length===s:b.length<=s,D=b.split("").every(C=>r.includes(C));return g===!1?I&&D:I&&D&&BP(Km(b,p))}};return Object.freeze(m),m};return n.constants=gl,n.uuid=bl,n.generate=()=>(vl||(vl=n(gl.flickrBase58).generate),vl()),n})();const ms=BD(MP);function eT(){return ms().uuid()}function tT(n){return n.rangeStart+Math.random()}function nT(n){const e=n.rangeEnd;return Math.random()*e}function rT(n){const e=n.rangeStart,t=n.rangeEnd;return Math.random()*(t-e)+e}function iT(n){return n.rangeStart&&n.rangeEnd?rT(n):n.rangeStart?tT(n):n.rangeEnd?nT(n):Math.random()}function aT(n){const e=n.rangeStart;return Math.random().toString(36).substring(e)}function sT(n){const e=n.rangeEnd;return Math.random().toString(36).substring(0,e)}function oT(n){const e=n.rangeStart,t=n.rangeEnd;return Math.random().toString(36).substring(e,t)}function lT(n){return n.rangeStart&&n.rangeEnd?oT(n):n.rangeStart?aT(n):n.rangeEnd?sT(n):Math.random().toString(36)}function cT(n){return Math.random()>=.5}function NP(n){if(!n||!n.autogeneration)return null;switch(n.autogeneration.type){case qe.CurrentDateAndTime:if(n.name===P.Date)return new Date;case qe.Random:{if(n.name===P.Date)return xm(n.autogeneration);if(n.name===P.Number)return iT(n.autogeneration);if(n.name===P.String)return lT(n.autogeneration);if(n.name===P.Boolean)return cT(n.autogeneration)}case qe.Unique:if(n.name===P.UUID)return eT();default:throw new Error(`Generating a ${n.autogeneration.type} value for a ${n.name} is not supported`)}}const Z="e7eb5382-3d99-44fd-972a-b8b1e819f6be",Il="global-user-variable-id",dT="last-executed-timestamp-variable-id",VP={id:"alternative-relational-database-entity-identifier-property-data-type-ref-id",type:i.GenericReference,entityId:"alternative-relational-database-entity-identifier-property-data-type-id",entityType:i.DataType},$P={id:"alternative-relational-database-entity-identifier-property-ref-id",type:i.GenericReference,entityId:"alternative-relational-database-entity-identifier-property-id",entityType:i.Property},LP={id:"alternative-relational-database-entity-identifier-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:{id:"alternative-relational-database-entity-identifier-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.String,value:null,parent:VP,autogeneration:{type:qe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:$P},Ts={id:"alternative-relational-database-entity-ref-id",type:i.GenericReference,entityId:V.PERSISTED_ENTITY,entityType:i.BuiltInBaseEntity},GP={hidden:!1,required:!0,id:"alternative-relational-database-entity-identifier-property-id",name:"Identifier name",version:1,type:i.Property,private:!1,abstract:!1,implements:xa,static:!0,index:0,dataType:LP,description:"The name of the main database inside of the server instance where the data will be stored.",parent:Ts};i.GenericReference,i.DataType;const FP={id:"alternative-relational-database-entity-username-property-ref-id",type:i.GenericReference,entityId:"alternative-relational-database-entity-username-property-id",entityType:i.Property},UP={id:"alternative-relational-database-entity-username-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:null,parent:FP},xP={hidden:!1,required:!0,id:"alternative-relational-database-entity-username-property-id",name:"Username",version:1,type:i.Property,private:!1,abstract:!1,implements:ja,static:!0,index:1,dataType:UP,description:"The username that will be used to connect to the database.",parent:Ts};i.GenericReference,i.DataType;const jP={id:"alternative-relational-database-entity-password-property-ref-id",type:i.GenericReference,entityId:"alternative-relational-database-entity-password-property-id",entityType:i.Property},kP={id:"alternative-relational-database-entity-password-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:null,parent:jP},qP={hidden:!1,required:!0,id:"alternative-relational-database-entity-password-property-id",name:"Password",version:1,type:i.Property,private:!1,abstract:!1,implements:ka,static:!0,index:2,dataType:kP,description:"The password that will be used to connect to the database.",parent:Ts},JP={id:"alternative-relational-database-entity-min-size-property-data-type-ref-id",type:i.GenericReference,entityId:"alternative-relational-database-entity-min-size-property-data-type-id",entityType:i.DataType},WP={id:"alternative-relational-database-entity-min-size-property-ref-id",type:i.GenericReference,entityId:"alternative-relational-database-entity-min-size-property-id",entityType:i.Property},HP={id:"alternative-relational-database-entity-min-size-property-data-type-id",version:1,type:i.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:i.PrimitiveValue,version:1,name:P.Number,value:6,parent:JP,autogeneration:null,valueAsType:null},parent:WP},YP={hidden:!1,required:!0,id:"alternative-relational-database-entity-min-size-property-id",name:"Minimum GB size",version:1,type:i.Property,private:!1,abstract:!1,implements:qa,static:!0,index:3,dataType:HP,description:"The minimum size of the database in GB.",parent:Ts},zP={id:"alternative-relational-database-entity-parent-ref-id",type:i.GenericReference,entityId:Z,entityType:i.Project},uT={id:"alternative-relational-database-entity-id",type:i.CustomEntity,version:1,name:"Alternative relational Database",description:"A database that permanently stores the persisted entities attached to it.",abstract:!1,static:!0,properties:[GP,xP,qP,YP],methods:[],abstractMethods:[],extends:[],implements:[On],x:0,y:0,parent:zP},ZP={id:"animal-prototype-database-property-ref-id",type:i.GenericReference,entityId:"animal-prototype-database-property-id",entityType:i.Property},XP={id:"animal-prototype-database-property-data-type-default-value-parent-ref-id",type:i.GenericReference,entityId:"animal-prototype-database-property-data-type-default-value-id",entityType:i.DataType},QP={id:"animal-prototype-database-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:On,asType:!1,defaultValue:{id:"animal-prototype-database-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,value:null,name:P.EntityTemplate,valueAsType:uT,autogeneration:null,parent:XP},parent:ZP},KP={id:"animal-prototype-database-property-parent-ref-id",type:i.GenericReference,entityId:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",entityType:i.CustomEntity},eA={hidden:!1,required:!0,id:"animal-prototype-database-property-id",name:"Database",version:1,type:i.Property,private:!1,abstract:!1,implements:Pi,static:!0,index:0,dataType:QP,description:"The database that the entity belongs to.",parent:KP},tA={type:i.GenericReference,id:"291e4d4f-01d8-40a0-90dc-5f1ac6636e9b",entityType:i.Property,entityId:"5cb617b0-92be-4dbe-a007-49093368d94f"},nA={id:"c1930577-9e79-48a6-8905-be24611015c1",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:tA},rA={type:i.GenericReference,id:"e2b9e456-f2b3-4dc7-85a2-fbb68ed0c9c7",entityType:i.CustomEntity,entityId:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},iA={hidden:!1,required:!0,type:i.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:nA,abstract:!1,parent:rA},aA={type:i.GenericReference,id:"abc565de-4c83-4936-bc48-4013bef213b8",entityType:i.Project,entityId:Z},sA={type:i.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:[eA,iA],methods:[],extends:[],implements:[Le],x:0,y:0,parent:aA},oA={id:"default-relational-database-entity-identifier-property-data-type-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-identifier-property-data-type-id",entityType:i.DataType},lA={id:"default-relational-database-entity-identifier-property-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-identifier-property-id",entityType:i.Property},cA={id:"default-relational-database-entity-identifier-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:{id:"default-relational-database-entity-identifier-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.String,value:"main",parent:oA,autogeneration:{type:qe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:lA},Hr={id:"default-relational-database-entity-ref-id",type:i.GenericReference,entityId:V.PERSISTED_ENTITY,entityType:i.BuiltInBaseEntity},dA={hidden:!1,required:!0,id:"default-relational-database-entity-identifier-property-id",name:"Identifier name",version:1,type:i.Property,private:!1,abstract:!1,implements:xa,static:!0,index:0,dataType:cA,description:"The name of the main database inside of the server instance where the data will be stored.",parent:Hr};i.GenericReference,i.DataType;const uA={id:"default-relational-database-entity-username-property-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-username-property-id",entityType:i.Property},pA={id:"default-relational-database-entity-username-property-default-value-parent-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-username-property-data-type-id",entityType:i.DataType},yA={id:"default-relational-database-entity-username-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:{id:"default-relational-database-entity-username-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.String,value:"root",parent:pA,autogeneration:null,valueAsType:null},parent:uA},hA={hidden:!1,required:!0,id:"default-relational-database-entity-username-property-id",name:"Username",version:1,type:i.Property,private:!1,abstract:!1,implements:ja,static:!0,index:1,dataType:yA,description:"The username that will be used to connect to the database.",parent:Hr};i.GenericReference,i.DataType;const fA={id:"default-relational-database-entity-password-property-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-password-property-id",entityType:i.Property},mA={id:"default-relational-database-entity-password-property-default-value-parent-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-password-property-data-type-id",entityType:i.DataType},TA={id:"default-relational-database-entity-password-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:{id:"default-relational-database-entity-password-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.String,value:"password",parent:mA,autogeneration:null,valueAsType:null},parent:fA},EA={hidden:!1,required:!0,id:"default-relational-database-entity-password-property-id",name:"Password",version:1,type:i.Property,private:!1,abstract:!1,implements:ka,static:!0,index:2,dataType:TA,description:"The password that will be used to connect to the database.",parent:Hr},RA={id:"default-relational-database-entity-min-size-property-data-type-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-min-size-property-data-type-id",entityType:i.DataType},bA={id:"default-relational-database-entity-min-size-property-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-min-size-property-id",entityType:i.Property},gA={id:"default-relational-database-entity-min-size-property-data-type-id",version:1,type:i.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:i.PrimitiveValue,version:1,name:P.Number,value:6,parent:RA,autogeneration:null,valueAsType:null},parent:bA},vA={hidden:!1,required:!0,id:"default-relational-database-entity-min-size-property-id",name:"Minimum GB size",version:1,type:i.Property,private:!1,abstract:!1,implements:qa,static:!0,index:3,dataType:gA,description:"The minimum size of the database in GB.",parent:Hr},IA={id:"default-relational-database-entity-default-property-data-type-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-default-property-data-type-id",entityType:i.DataType},DA={id:"default-relational-database-entity-default-property-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-default-property-id",entityType:i.Property},PA={id:"default-relational-database-entity-default-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Ce,asType:!1,defaultValue:{id:"default-relational-database-entity-default-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.Boolean,value:!0,parent:IA,autogeneration:null,valueAsType:null},parent:DA},AA={hidden:!0,required:!0,id:"default-relational-database-entity-default-property-id",name:"Default",version:1,type:i.Property,private:!1,abstract:!1,implements:Qo,static:!0,index:4,dataType:PA,description:"Whether this database is automatically picked by other entities as the default database.",parent:Hr},SA={id:"default-relational-database-entity-autoscaling-property-data-type-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-autoscaling-property-data-type-id",entityType:i.DataType},OA={id:"default-relational-database-entity-autoscaling-property-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-autoscaling-property-id",entityType:i.Property},CA={id:"default-relational-database-entity-autoscaling-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Ce,asType:!1,defaultValue:{id:"default-relational-database-entity-autoscaling-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.Boolean,value:!0,parent:SA,autogeneration:null,valueAsType:null},parent:OA},BA={hidden:!1,required:!0,id:"default-relational-database-entity-autoscaling-property-id",name:"Auto-scaling",version:1,type:i.Property,private:!1,abstract:!1,implements:Ko,static:!0,index:5,dataType:CA,description:"If true, this database will automatically scale up or down in memory size, based on the usage.s",parent:Hr},wA={id:"default-relational-database-entity-parent-ref-id",type:i.GenericReference,entityId:Z,entityType:i.Project},Dl={id:"default-relational-database-entity-id",type:i.CustomEntity,version:1,name:"Relational Database",description:"A database that permanently stores the persisted entities attached to it.",abstract:!1,static:!0,properties:[AA,BA,dA,hA,EA,vA],methods:[],abstractMethods:[],extends:[],implements:[On],x:0,y:0,parent:wA},_A={id:"user-prototype-database-property-data-type-ref-id",type:i.GenericReference,entityId:"user-prototype-database-property-data-type-id",entityType:i.DataType},MA={id:"user-prototype-database-property-ref-id",type:i.GenericReference,entityId:"user-prototype-database-property-id",entityType:i.Property},NA={id:"user-prototype-database-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:On,asType:!1,defaultValue:{id:"user-prototype-database-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,value:null,name:P.EntityTemplate,valueAsType:Dl,autogeneration:null,parent:_A},parent:MA},VA={id:"user-prototype-database-property-parent-ref-id",type:i.GenericReference,entityId:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",entityType:i.CustomEntity},$A={hidden:!1,required:!0,id:"user-prototype-database-property-id",name:"Database",version:1,type:i.Property,private:!1,abstract:!1,implements:Pi,static:!0,index:0,dataType:NA,description:"The database that the entity belongs to.",parent:VA},LA={type:i.GenericReference,id:"user-prototype-parent-ref-id",entityType:i.Project,entityId:Z},Pl={type:i.CustomEntity,id:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",version:1,name:"User",description:"A user of the application",implements:[Le],abstract:!1,static:!1,abstractMethods:[],extends:[],properties:[$A],methods:[],x:0,y:0,parent:LA},GA={type:i.GenericReference,id:"person-date-of-birth-property-data-type-parent-ref-id",entityType:i.Property,entityId:"person-date-of-birth-property-id"},FA={id:"person-date-of-birth-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:dn,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:GA},UA={type:i.GenericReference,id:"person-date-of-birth-property-parent-ref-id",entityType:i.CustomEntity,entityId:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},xA={hidden:!1,required:!0,type:i.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:FA,abstract:!1,parent:UA},jA={type:i.GenericReference,id:"a2867827-2f8e-4c25-b18b-d91857d7f24e",entityType:i.Property,entityId:"cacfec92-46c3-4fca-a1d9-fd1ba94d78c7"},kA={id:"1d49f41b-17b9-4f48-87aa-3ce43498e5a9",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:jA},qA={type:i.GenericReference,id:"01cbe760-40a9-4f49-8e3d-194d2f57cb1e",entityType:i.CustomEntity,entityId:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},JA={hidden:!1,required:!0,type:i.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:kA,abstract:!1,parent:qA},WA={type:i.GenericReference,id:"3542b22a-3a2f-41c6-876e-24c885572498",entityType:i.Project,entityId:Z},yt={type:i.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:[JA,xA],abstract:!1,static:!1,abstractMethods:[],methods:[],implements:[],extends:[Pl],x:0,y:0,parent:WA},HA={type:i.GenericReference,id:"b59c80b7-b2e9-41e9-abcd-7c5652835efc",entityType:i.FunctionDeclaration,entityId:"36f29f96-c001-4b9a-b49c-83eff406a060"},YA={type:i.GenericReference,id:"1190b5a2-f25e-46db-884d-8a3dd1a44d94",entityType:i.ReturnStatement,entityId:"3ebc4342-c9e8-42e7-a61c-7937081e1d2e"},zA={type:i.GenericReference,id:"36c63126-7814-496f-a6cc-48662c2aabae",entityType:i.ArgumentDeclaration,entityId:"500dee3a-3435-4453-9699-0d053f646523"},ZA={type:i.GenericReference,id:"c567e55d-ec12-4e4e-958e-f07522892b4b",entityType:i.ReturnDeclaration,entityId:"9e070523-7e07-4100-8637-960a187f5f14"},XA={id:"3973c5a1-f0d8-49a0-a9a9-a0009bf3f0d8",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:yt,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:ZA},Al={isError:!1,id:"9e070523-7e07-4100-8637-960a187f5f14",type:i.ReturnDeclaration,version:1,name:"Output Account Owner",description:null,dataType:XA,readsValue:zA,required:!0,index:0,parent:YA},QA={type:i.GenericReference,id:"567d923c-20da-4c1e-956d-962ea30c6d0b",entityType:i.FunctionDeclaration,entityId:"36f29f96-c001-4b9a-b49c-83eff406a060"},KA={type:i.GenericReference,id:"da85e620-59f3-42ab-88c8-b38d33c2c833",entityType:i.FunctionDeclaration,entityId:"36f29f96-c001-4b9a-b49c-83eff406a060"},pT={type:i.ReturnStatement,id:"3ebc4342-c9e8-42e7-a61c-7937081e1d2e",version:1,outputs:[Al],calledByError:[],calledByEntry:[QA],calledBySuccess:[],throws:null,x:0,y:0,parent:KA},eS={type:i.GenericReference,id:"1c806bb7-4c25-4bad-963b-93dfbb7c8304",entityType:i.ArgumentDeclaration,entityId:"500dee3a-3435-4453-9699-0d053f646523"},tS={id:"d90fcc18-642b-433c-8fcb-4094b9031cd5",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:yt,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:eS},yT={id:"500dee3a-3435-4453-9699-0d053f646523",type:i.ArgumentDeclaration,version:1,name:"New Account Owner",description:null,dataType:tS,required:!0,writesValues:[Al],index:0,parent:HA},nS={type:i.GenericReference,id:"83dceb60-f3c4-4085-824c-85f2003bfd27",entityType:i.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},hT={type:i.FunctionDeclaration,id:"36f29f96-c001-4b9a-b49c-83eff406a060",version:1,name:"Change owner of bank account",description:null,implements:null,inputs:[yT],calls:[pT],returnStatements:[pT],index:0,collapsed:!1,private:!1,x:0,y:0,parent:nS},rS={type:i.GenericReference,id:"adbaf302-ffa9-49b6-a3c6-83f9a75068e3",entityType:i.VariableDeclaration,entityId:"8e36a476-766e-4cc2-a8a7-27a07dfb5a4b"},iS={id:"79ee04aa-1ba4-4ae9-a406-ed45e5b03f7f",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:yt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:rS},aS={type:i.GenericReference,id:"55e212d1-f0ec-4bb6-acbe-60f741367daf",entityType:i.OutputMap,entityId:"dc9ddb8f-02a0-4a43-aea6-270ec7b7f8a4"},sS={type:i.GenericReference,id:"944e1171-3d9b-4559-9386-1d4974b15962",entityType:i.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},oS={id:"8e36a476-766e-4cc2-a8a7-27a07dfb5a4b",type:i.VariableDeclaration,version:1,name:"Output Account Owner",description:null,dataType:iS,readsValue:aS,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:sS},lS={type:i.GenericReference,id:"b89ebc83-52cf-4447-a5ae-62241f713079",entityType:i.FunctionCall,entityId:"78f6dba8-bed8-44cd-8b0f-6dcc787d1e1e"},cS={id:"dc9ddb8f-02a0-4a43-aea6-270ec7b7f8a4",type:i.OutputMap,version:1,declaration:Al,writesValues:[oS],index:0,parent:lS},dS={type:i.GenericReference,id:"c1b9e125-1aad-48b7-9687-95c57a6bc10d",entityType:i.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},uS={type:i.GenericReference,id:"d2deaa02-e164-4425-905c-6dee47eb4eac",entityType:i.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},pS={type:i.GenericReference,id:"1109a655-ac62-4110-a933-42a72106f4f0",entityType:i.VariableDeclaration,entityId:"8bea6986-8da2-487b-905d-2fb962db6728"},yS={id:"7d9a1307-512e-42ec-9797-2f7229796b97",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:yt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:pS},hS={type:i.GenericReference,id:"bb61ebf7-57b3-4d14-905d-82ec907205b5",entityType:i.ArgumentDeclaration,entityId:"38f6b236-98ac-47b0-ab9c-d2f9610137b9"},fS={type:i.GenericReference,id:"6b8c7bf2-9fc8-4ea4-9ec0-f41679d513b1",entityType:i.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},mS={type:i.GenericReference,id:"6163d1a1-7a94-49b1-95bb-aecd8d6d335c",entityType:i.FunctionCall,entityId:"78f6dba8-bed8-44cd-8b0f-6dcc787d1e1e"},TS={type:i.GenericReference,id:"1f900f62-4bd2-4246-94aa-b8f5aad384fd",entityType:i.VariableDeclaration,entityId:"8bea6986-8da2-487b-905d-2fb962db6728"},fT={id:"be8538be-e6f9-4b94-9314-a546003ebaa0",type:i.InputMap,version:1,declaration:yT,name:null,description:null,readsValue:TS,dynamicArguments:[],defaultValue:null,index:0,parent:mS},ES={type:i.VariableDeclaration,id:"8bea6986-8da2-487b-905d-2fb962db6728",version:1,name:"Changed Account Owner",description:null,dataType:yS,readsValue:hS,writesValues:[fT],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:fS},RS={type:i.FunctionCall,id:"78f6dba8-bed8-44cd-8b0f-6dcc787d1e1e",version:1,declaration:hT,inputs:[fT],outputs:[cS],process:null,successCalls:[],errorCalls:[],calledByError:[],calledByEntry:[dS],calledBySuccess:[],parent:uS,error:null,x:0,y:0},bS={type:i.GenericReference,id:"2d47aba1-a918-46a7-8db7-78809928654a",entityType:i.ArgumentDeclaration,entityId:"38f6b236-98ac-47b0-ab9c-d2f9610137b9"},gS={id:"5583766c-e9a5-484c-8f43-f4b0a6a1876c",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:yt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:bS},vS={type:i.GenericReference,id:"3e2a81e4-55b2-49f5-94eb-39135e95c3d7",entityType:i.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},IS={id:"38f6b236-98ac-47b0-ab9c-d2f9610137b9",type:i.ArgumentDeclaration,version:1,description:null,name:"New Company Owner",dataType:gS,required:!0,index:0,writesValues:[ES],parent:vS},DS={type:i.GenericReference,id:"30291b01-1b94-4d03-b434-dec122c2bc7d",entityType:i.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},PS={type:i.FunctionDeclaration,id:"15ee556d-681f-47de-a31f-16d4ba73cc4e",version:1,description:null,name:"Change Account Owner",inputs:[IS],collapsed:!0,returnStatements:[],calls:[RS],private:!1,index:0,implements:null,x:0,y:0,parent:DS},AS={type:i.GenericReference,id:"72c7ac0a-886e-4e10-b7ed-2f5a819a0233",entityType:i.Property,entityId:"b8f4656a-2b77-43ab-af51-7c32ddede044"},SS={id:"c09dd282-73f6-4077-a467-b66db20b9fc6",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:AS},OS={type:i.GenericReference,id:"8a950024-512c-4580-81db-a705410aeb99",entityType:i.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},mT={hidden:!1,required:!0,type:i.Property,id:"b8f4656a-2b77-43ab-af51-7c32ddede044",version:1,name:"Account number",description:null,private:!0,implements:null,static:!1,index:0,dataType:SS,abstract:!1,parent:OS},CS={type:i.GenericReference,id:"b6704b6c-c3bd-49d0-8ebc-82d03e726cbb",entityType:i.Property,entityId:"733d06a6-b8c5-44f3-a1f7-a8c9bd9e44ea"},BS={id:"c03e0b0a-88ab-401a-8833-4806738bdc37",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:yt,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:CS},wS={type:i.GenericReference,id:"1ef999a7-e9ed-406a-866e-e58277fc985b",entityType:i.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},TT={hidden:!1,required:!0,type:i.Property,id:"733d06a6-b8c5-44f3-a1f7-a8c9bd9e44ea",version:1,description:null,name:"Account Owner",index:1,dataType:BS,implements:null,static:!1,private:!0,abstract:!1,parent:wS},_S={type:i.GenericReference,id:"d41d7f41-98b8-4f67-be92-c349fdda5156",entityType:i.Project,entityId:Z},Yr={type:i.CustomEntity,id:"506946aa-30da-48e6-918f-ffd9eac58813",version:1,name:"Bank Account",description:null,abstract:!1,static:!1,abstractMethods:[],properties:[mT,TT],methods:[hT,PS],extends:[],implements:[Le],x:0,y:0,parent:_S},Ji="bitcoin-api-response-id",ET="time-property-id",RT="disclamer-property-id",bT="chart-name-property-id",gT="bpi-property-id",Es="bpi-entity-id",vT="usd-property-id",IT="gbp-property-id",DT="eur-property-id",zr="currency-entity-id",PT="currency-code-property-id",AT="currency-symbol-property-id",ST="currency-rate-property-id",OT="currency-description-property-id",CT="currency-rate-number-property-id",MS={type:i.GenericReference,id:"code-property-data-type-parent-ref-id",entityType:i.Property,entityId:PT},NS={id:"code-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Sn,isList:!1,asType:!1,isNullable:!1,defaultValue:null,options:["USD","GBP","EUR"],constant:!1,parent:MS},VS={type:i.GenericReference,id:"code-property-parent-ref-id",entityType:i.CustomEntity,entityId:zr},$S={hidden:!1,required:!0,type:i.Property,id:PT,version:1,name:"code",description:null,dataType:NS,index:0,implements:null,static:!1,private:!1,abstract:!1,parent:VS},LS={type:i.GenericReference,id:"symbol-property-data-type-parent-ref-id",entityType:i.Property,entityId:AT},GS={id:"symbol-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Sn,isList:!1,asType:!1,isNullable:!1,defaultValue:null,options:["&#36;","&pound;","&euro;"],constant:!1,parent:LS},FS={type:i.GenericReference,id:"symbol-property-parent-ref-id",entityType:i.CustomEntity,entityId:zr},US={hidden:!1,required:!0,type:i.Property,id:AT,version:1,name:"symbol",description:null,index:0,dataType:GS,implements:null,static:!1,private:!1,abstract:!1,parent:FS},xS={type:i.GenericReference,id:"rate-property-data-type-parent-ref-id",entityType:i.Property,entityId:ST},jS={id:"rate-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:xS},kS={type:i.GenericReference,id:"rate-property-parent-ref-id",entityType:i.CustomEntity,entityId:zr},qS={hidden:!1,required:!0,type:i.Property,id:ST,version:1,name:"rate",description:null,index:0,dataType:jS,implements:null,static:!1,private:!1,abstract:!1,parent:kS},JS={type:i.GenericReference,id:"description-property-data-type-parent-ref-id",entityType:i.Property,entityId:OT},WS={id:"description-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:JS},HS={type:i.GenericReference,id:"description-property-parent-ref-id",entityType:i.CustomEntity,entityId:zr},YS={hidden:!1,required:!0,type:i.Property,id:OT,version:1,name:"description",description:null,dataType:WS,implements:null,static:!1,index:0,private:!1,abstract:!1,parent:HS},zS={type:i.GenericReference,id:"rate-number-property-data-type-parent-ref-id",entityType:i.Property,entityId:CT},ZS={id:"rate-number-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:zS},XS={type:i.GenericReference,id:"rate-number-property-parent-ref-id",entityType:i.CustomEntity,entityId:zr},QS={hidden:!1,required:!0,type:i.Property,id:CT,version:1,name:"rate_float",description:null,dataType:ZS,implements:null,static:!1,index:0,private:!1,abstract:!1,parent:XS},KS={type:i.GenericReference,id:"currency-prototype-parent-ref-id",entityType:i.Project,entityId:Z},Rs={type:i.CustomEntity,id:zr,version:1,name:"Currency",description:"This entity describes a currency in the Bitcoin Price Index.",properties:[$S,US,qS,YS,QS],static:!1,abstract:!1,abstractMethods:[],methods:[],extends:[],implements:[],x:0,y:0,parent:KS},eO={type:i.GenericReference,id:"usd-property-data-type-parent-ref-id",entityType:i.Property,entityId:vT},tO={id:"usd-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rs,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:eO},nO={type:i.GenericReference,id:"usd-property-parent-ref-id",entityType:i.CustomEntity,entityId:Es},rO={hidden:!1,required:!0,id:vT,type:i.Property,version:1,name:"USD",description:null,index:0,dataType:tO,implements:null,static:!1,private:!1,abstract:!1,parent:nO},iO={type:i.GenericReference,id:"gbp-property-data-type-parent-ref-id",entityType:i.Property,entityId:IT},aO={id:"gbp-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rs,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:iO},sO={type:i.GenericReference,id:"gbp-property-parent-ref-id",entityType:i.CustomEntity,entityId:Es},oO={hidden:!1,required:!0,id:IT,type:i.Property,version:1,name:"GBP",description:null,index:0,dataType:aO,implements:null,static:!1,private:!1,abstract:!1,parent:sO},lO={type:i.GenericReference,id:"eur-property-data-type-parent-ref-id",entityType:i.Property,entityId:DT},cO={id:"eur-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rs,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:lO},dO={type:i.GenericReference,id:"eur-property-parent-ref-id",entityType:i.CustomEntity,entityId:Es},uO={hidden:!1,required:!0,id:DT,type:i.Property,version:1,name:"EUR",description:null,implements:null,static:!1,index:0,dataType:cO,private:!1,abstract:!1,parent:dO},pO={type:i.GenericReference,id:"bpi-prototype-parent-ref-id",entityType:i.Project,entityId:Z},BT={type:i.CustomEntity,id:Es,version:1,name:"BPI",description:"The Bitcoin Price Index",properties:[rO,oO,uO],abstract:!1,static:!1,abstractMethods:[],methods:[],extends:[],implements:[],x:0,y:0,parent:pO},yO={type:i.GenericReference,id:"time-property-data-type-parent-ref-id",entityType:i.Property,entityId:ET},hO={id:"time-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:wo,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:yO},fO={type:i.GenericReference,id:"time-property-parent-ref-id",entityType:i.CustomEntity,entityId:Ji},mO={hidden:!1,required:!0,type:i.Property,id:ET,version:1,name:"time",description:null,index:0,dataType:hO,implements:null,static:!1,private:!1,abstract:!1,parent:fO},TO={type:i.GenericReference,id:"disclamer-property-data-type-parent-ref-id",entityType:i.Property,entityId:RT},EO={id:"disclamer-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:TO},RO={type:i.GenericReference,id:"disclamer-property-parent-ref-id",entityType:i.CustomEntity,entityId:Ji},bO={hidden:!1,required:!0,type:i.Property,id:RT,version:1,name:"disclamer",description:null,index:0,dataType:EO,implements:null,static:!1,private:!1,abstract:!1,parent:RO},gO={type:i.GenericReference,id:"chart-name-property-data-type-parent-ref-id",entityType:i.Property,entityId:bT},vO={id:"chart-name-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:gO},IO={type:i.GenericReference,id:"chart-name-property-parent-ref-id",entityType:i.CustomEntity,entityId:Ji},DO={hidden:!1,required:!0,type:i.Property,id:bT,version:1,name:"chartName",description:null,index:0,dataType:vO,implements:null,static:!1,private:!1,abstract:!1,parent:IO},PO={type:i.GenericReference,id:"bpi-property-data-type-parent-ref-id",entityType:i.Property,entityId:gT},AO={id:"bpi-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:BT,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:PO},SO={type:i.GenericReference,id:"bpi-property-parent-ref-id",entityType:i.CustomEntity,entityId:Ji},OO={hidden:!1,required:!0,type:i.Property,id:gT,version:1,name:"bpi",description:null,implements:null,index:0,dataType:AO,static:!1,private:!1,abstract:!1,parent:SO},CO={type:i.GenericReference,id:"bitcoin-api-response-parent-ref-id",entityType:i.Project,entityId:Z},wT={type:i.CustomEntity,id:Ji,version:1,name:"Bitcoin API Response type",description:"The type of the data structure response from the Bitcoin API call",properties:[mO,bO,DO,OO],abstract:!1,static:!1,abstractMethods:[],methods:[],extends:[],implements:[],x:0,y:0,parent:CO},BO={type:i.GenericReference,id:"eefa0147-f873-484b-b4f3-9e6493aab183",entityType:i.ArgumentDeclaration,entityId:"f2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},wO={id:"b9f35112-dcb2-4b7c-8fb9-f196b3fa37f9",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:yt,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:BO},_O={type:i.GenericReference,id:"128770d6-5e3a-4aff-bca0-ad1f32ebefa8",entityType:i.ReturnStatement,entityId:"e4e05975-c277-471a-b869-f0aed316045c"},MO={type:i.GenericReference,id:"0be84bf9-6421-42b9-980f-6a03f30cb809",entityType:i.ReturnDeclaration,entityId:"a1ec31f0-25ca-42ac-a4c4-c9ec2255f55b"},NO={id:"43daa02a-237b-4b7c-a6e9-2b8c167f6e22",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:yt,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:MO},VO={type:i.GenericReference,id:"ad380383-4a47-43da-968e-75a2d603b230",entityType:i.ArgumentDeclaration,entityId:"f2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},_T={isError:!1,id:"a1ec31f0-25ca-42ac-a4c4-c9ec2255f55b",type:i.ReturnDeclaration,version:1,name:"New Company Owner",description:"The new owner of the company",dataType:NO,readsValue:VO,required:!0,index:0,parent:_O},$O={type:i.GenericReference,id:"4f24dc27-59a1-49bf-abcc-7d72b00926e4",entityType:i.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},LO={id:"f2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a",type:i.ArgumentDeclaration,version:1,name:"New Company Owner",description:null,dataType:wO,writesValues:[_T],required:!0,index:0,parent:$O},GO={type:i.GenericReference,id:"5c9a02f0-d2cf-4efc-828e-467f33a74dd3",entityType:i.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},FO={type:i.GenericReference,id:"2ff8f3da-e0c5-4f0f-b688-2c051c588786",entityType:i.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},UO={type:i.GenericReference,id:"195ae28c-159b-42de-80b1-2ebb8be3619f",entityType:i.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},MT={type:i.ReturnStatement,id:"e4e05975-c277-471a-b869-f0aed316045c",version:1,outputs:[_T],calledByError:[],calledByEntry:[FO],calledBySuccess:[],throws:null,x:0,y:0,parent:UO},xO={type:i.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:[LO],calls:[MT],index:0,collapsed:!1,implements:null,returnStatements:[MT],private:!1,x:0,y:0,parent:GO},jO={type:i.GenericReference,id:"e691026f-6db0-43ec-93cd-805ae7d713e3",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},kO={type:i.GenericReference,id:"29c4e3e0-1b66-4075-b559-45b27c5cf356",entityType:i.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},qO={type:i.GenericReference,id:"b1289358-b185-455d-8f58-7791b15cd52a",entityType:i.ReturnStatement,entityId:"9690cd1d-ea35-4e83-823d-0c7310265fee"},JO={type:i.GenericReference,id:"d847bb49-8789-4550-bb2d-e2d551993b28",entityType:i.VariableDeclaration,entityId:"e5a8b6d0-0e6f-4e9a-9b1e-8a2b5c7f0d5a"},WO={type:i.GenericReference,id:"06535500-c37c-4915-8398-1d4e184fa5e7",entityType:i.ReturnDeclaration,entityId:"e7a35277-a0c4-46d5-aca2-bddd0c26e931"},HO={id:"d358dd91-35f7-4095-b728-3fb3c71dbc05",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:An,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:WO},Sl={isError:!1,id:"e7a35277-a0c4-46d5-aca2-bddd0c26e931",type:i.ReturnDeclaration,version:1,name:"Is name registered",description:"Whether the company name is already registered",dataType:HO,readsValue:JO,required:!0,index:0,parent:qO},YO={type:i.GenericReference,id:"gov-company-registry-return-statement-called-by-success-ref-id",entityType:i.VariableDeclaration,entityId:"e5a8b6d0-0e6f-4e9a-9b1e-8a2b5c7f0d5a"},Ol={type:i.ReturnStatement,id:"9690cd1d-ea35-4e83-823d-0c7310265fee",version:1,outputs:[Sl],calledByError:[],calledByEntry:[],calledBySuccess:[jO,YO],throws:null,x:0,y:0,parent:kO},zO={type:i.GenericReference,id:"b3126414-4c9b-495f-901e-59f5073c8d67",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},ZO={type:i.GenericReference,id:"35115c48-618b-411b-a290-d746d22fdd10",entityType:i.VariableDeclaration,entityId:"83e12ebb-c958-4dee-b750-8ab9930f0f4e"},NT={id:"a0e7b4e5-2f5f-4d4c-8f5c-1e1f1e1a1b1a",type:i.InputMap,version:1,declaration:Jo,name:null,description:null,dynamicArguments:[],readsValue:ZO,defaultValue:null,parent:zO,index:2},XO={type:i.GenericReference,id:"14f46eae-04a5-47d1-9c7f-28fb09b84d1d",entityType:i.VariableDeclaration,entityId:"e5a8b6d0-0e6f-4e9a-9b1e-8a2b5c7f0d5a"},QO={id:"990bd5d1-07ea-4253-acc1-d03bedd22a38",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:An,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:XO},KO={type:i.GenericReference,id:"e4c3542a-8fb0-4b72-8d6e-3fdff812dd67",entityType:i.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},eC={type:i.GenericReference,id:"825f9f60-22a8-4cc6-9055-d7333f8e92f4",entityType:i.OutputMap,entityId:"8f30d787-9459-4d8d-98a2-b46fbc2006d5"},tC={type:i.GenericReference,id:"is-company-name-registered-var-called-by-ref",entityType:i.Operation,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},VT={type:i.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:QO,readsValue:eC,writesValues:[Sl],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[tC],successCalls:[Ol],errorCalls:[],internalCalls:[],x:0,y:0,parent:KO},nC={type:i.GenericReference,id:"1aba021e-48ef-44ac-93d0-eaecac5895da",entityType:i.InputMap,entityId:"c3c8d6c1-3e0d-4e6c-9f9c-6b8c7d7f8e9a"},rC={type:i.GenericReference,id:"dffae7e0-0a5c-4c14-8ed2-8d680b4c4c86",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},iC={type:i.InputMap,id:"c3c8d6c1-3e0d-4e6c-9f9c-6b8c7d7f8e9a",version:1,declaration:Na,name:null,description:null,readsValue:null,defaultValue:{id:"gov-http-request-url-argument-default-value-id",type:i.PrimitiveValue,version:1,value:"https://api.publicapis.org/entries",name:P.String,valueAsType:null,parent:nC,autogeneration:null},index:1,dynamicArguments:[],parent:rC},aC={type:i.GenericReference,id:"64ae61f5-ace7-401b-926d-25f852daa60e",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},sC={id:"8f30d787-9459-4d8d-98a2-b46fbc2006d5",type:i.OutputMap,version:1,declaration:vi,index:2,writesValues:[VT],parent:aC},oC={type:i.GenericReference,id:"62a1a086-caea-4270-9c9f-a1695503e745",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},lC={id:"48cf7654-8f3e-4fcd-abc6-740876c310a0",type:i.InputMap,version:1,declaration:Ma,name:null,description:null,dynamicArguments:[],readsValue:null,index:0,defaultValue:null,parent:oC},cC={type:i.GenericReference,id:"b0c9c79f-f525-428d-99e7-087d3237ad62",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},dC={id:"2c1dc406-4b71-4023-87b2-abede3a111d2",type:i.InputMap,version:1,name:null,description:null,declaration:Va,dynamicArguments:[],index:3,readsValue:null,defaultValue:null,parent:cC},uC={type:i.GenericReference,id:"9887d6c9-d75b-4c97-b722-e2e60945ea20",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},pC={id:"3fef94b2-0278-43ae-b0c5-bc7083f0a111",type:i.InputMap,version:1,declaration:$a,name:null,description:null,dynamicArguments:[],readsValue:null,index:4,defaultValue:null,parent:uC},yC={type:i.GenericReference,id:"561275b6-5056-45d8-bf7d-8abaa4645593",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},hC={id:"3efe20a7-4d63-411e-89ef-63e277f48d66",type:i.OutputMap,version:1,declaration:La,index:1,writesValues:[],parent:yC},fC={type:i.GenericReference,id:"3170ccc2-13de-4bfc-802a-a643be41cd42",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},mC={id:"40d34323-d7e6-440a-8016-67c05a3b66dd",type:i.OutputMap,version:1,declaration:vi,index:0,writesValues:[],parent:fC},TC={type:i.GenericReference,id:"7432fa82-f574-4c54-a8fa-4cc4376da3d5",entityType:i.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},EC={type:i.GenericReference,id:"8f518502-9eea-462c-8753-8bc3bf3e29a9",entityType:i.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},RC={type:i.GenericReference,id:"123b8f18-79d9-4166-a5f6-78ec4b461680",entityType:i.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},bC={type:i.GenericReference,id:"e691026f-6db0-43ec-93cd-805ae7d713e3",entityType:i.FunctionCall,entityId:"abb5d456-ee85-4800-bdd9-d409415f60d7"},gC={type:i.GenericReference,id:"a375eedf-4811-41aa-a998-4897c69c46b9",entityType:i.ReturnDeclaration,entityId:"024a9b77-c1cd-4b67-b3ba-1935046b590d"},vC={id:"767cc5ed-20ec-4fd1-89b1-c8d19daa87d1",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:et,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:gC},IC={type:i.GenericReference,id:"e64b0c23-129d-4d74-8ab4-eec60e1e5b9b",entityType:i.ReturnStatement,entityId:"ea444a9e-6a5b-4138-b81f-0d5618c3c6f3"},$T={isError:!0,id:"024a9b77-c1cd-4b67-b3ba-1935046b590d",type:i.ReturnDeclaration,version:1,name:"Error",description:"The error that occurred during the HTTP request to the government company registry",dataType:vC,required:!0,readsValue:null,index:0,parent:IC},DC={type:i.ReturnStatement,id:"ea444a9e-6a5b-4138-b81f-0d5618c3c6f3",version:1,outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[bC],throws:$T,x:0,y:0,parent:RC},PC={type:i.GenericReference,id:"323814fb-9723-49ef-bbba-f882384f18e4",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},AC={id:"2f63f7ba-0ff0-458a-92bc-65d1dd4df8c3",type:i.OutputMap,declaration:Ho,version:1,writesValues:[$T],index:0,parent:PC},SC={type:i.Operation,id:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7",version:1,declaration:Ii,inputs:[lC,iC,NT,dC,pC],outputs:[mC,hC,sC],process:null,calledByError:[],calledByEntry:[TC],calledBySuccess:[],successCalls:[Ol,VT],errorCalls:[DC],error:AC,dynamicArguments:[],x:0,y:0,parent:EC},OC={type:i.GenericReference,id:"597b8aa2-f6f2-4f7d-bbb9-b703d02de96a",entityType:i.InputMap,entityId:"b0e7b4e5-2f5f-4d4c-8f5c-1e1f1e1a1b1a"},CC={type:i.GenericReference,id:"546d99b3-28c4-4186-93a0-ac53c1565e07",entityType:i.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},BC={id:"b0e7b4e5-2f5f-4d4c-8f5c-1e1f1e1a1b1a",type:i.InputMap,version:1,declaration:Ba,name:null,description:null,readsValue:null,defaultValue:{id:"base-query-string-map-default-value-id",type:i.PrimitiveValue,version:1,value:"?name=",name:P.String,parent:OC,valueAsType:null,autogeneration:null},dynamicArguments:[],index:0,parent:CC},wC={type:i.GenericReference,id:"6a56fb22-82e1-47c9-bf85-41c4e5986c74",entityType:i.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},_C={type:i.GenericReference,id:"191c6a6d-9bcb-441e-bf98-de0da96f5f3a",entityType:i.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},MC={type:i.GenericReference,id:"d8fcbb76-dae2-40cf-847a-02364721b387",entityType:i.VariableDeclaration,entityId:"83e12ebb-c958-4dee-b750-8ab9930f0f4e"},NC={id:"6a70c42b-024a-47c6-8a9d-af52be9c9b9a",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:MC},VC={type:i.GenericReference,id:"2282e2c0-ed9e-4c7b-86fc-1a364fa0fdb8",entityType:i.OutputMap,entityId:"f6c22cf8-63e4-4b2d-b649-b5ab884cf9a5"},$C={type:i.GenericReference,id:"assembled-query-string-called-by-ref",entityType:i.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},LT={type:i.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:NC,readsValue:VC,writesValues:[NT],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[$C],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:_C},LC={id:"f6c22cf8-63e4-4b2d-b649-b5ab884cf9a5",type:i.OutputMap,version:1,writesValues:[LT],declaration:bi,index:0,parent:wC},GC={type:i.GenericReference,id:"a1b48e7c-0301-4747-b4dd-b5af79956f7f",entityType:i.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},FC={type:i.GenericReference,id:"487c9235-be95-4c96-b9b5-2714b374a277",entityType:i.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},UC={type:i.GenericReference,id:"f6471f4f-b269-46fa-80ec-885e87a449c2",entityId:"a4106e8e-ec4f-4633-a636-09ae73135f69",entityType:i.ArgumentDeclaration},xC={type:i.GenericReference,id:"62b4afb0-6c21-4b0f-abd3-cebef7b17c28",entityType:i.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},GT={id:"08f36e2b-bad2-425c-8129-93560bec8488",version:1,type:i.InputMap,declaration:wa,name:null,description:null,readsValue:UC,dynamicArguments:[],defaultValue:null,index:1,parent:xC},jC={type:i.Operation,id:"8f2094c0-e27e-465e-9280-112da0de9019",declaration:gi,version:1,inputs:[BC,GT],outputs:[LC],process:null,calledByError:[],calledByEntry:[GC],calledBySuccess:[],dynamicArguments:[],successCalls:[LT],errorCalls:[],error:null,x:0,y:0,parent:FC},kC={type:i.GenericReference,id:"c2e0e9b4-aa46-4974-bf8a-886b737b12fb",entityType:i.ArgumentDeclaration,entityId:"a4106e8e-ec4f-4633-a636-09ae73135f69"},qC={id:"a4279518-3bf3-44b7-a2ac-65142ca37f1c",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:kC},JC={type:i.GenericReference,id:"dc273f24-164b-4943-82f9-589b237141e2",entityType:i.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},FT={id:"a4106e8e-ec4f-4633-a636-09ae73135f69",type:i.ArgumentDeclaration,version:1,name:"Company Name to check",description:"The name of the company to check in the government registry",dataType:qC,required:!1,writesValues:[GT],index:0,parent:JC},WC={type:i.GenericReference,id:"2178a10c-1cc0-4dad-97c3-0941be6c9738",entityType:i.Project,entityId:Z},UT={type:i.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:[FT],calls:[jC,SC],returnStatements:[Ol],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:WC},HC={type:i.GenericReference,id:"4d66c53c-f0f7-496a-9955-1e6c8533c5e0",entityType:i.Condition,entityId:"a8f4b0f2-5e5e-4e8f-9d7b-1b5b9b6e9a4b"},YC={type:i.GenericReference,id:"6fa0c8e0-d104-4b4d-a035-d4f6e0c49f09",entityType:i.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},zC={type:i.GenericReference,id:"146408d5-5336-4877-941a-777dd5871926",entityType:i.ArgumentDeclaration,entityId:"c6cf620c-1eee-4919-8578-1a0b6c088551"},ZC={type:i.GenericReference,id:"34ae8f8c-548d-4654-984a-6f36affdaf49",entityType:i.FunctionCall,entityId:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},xT={id:"69b1215d-9ebf-4274-b9cb-d4a5888f5122",version:1,type:i.InputMap,declaration:FT,name:null,description:null,readsValue:zC,dynamicArguments:[],defaultValue:null,index:0,parent:ZC},XC={type:i.GenericReference,id:"07540a94-dda1-40b3-8452-f209bdc87b88",entityType:i.FunctionCall,entityId:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},QC={type:i.GenericReference,id:"eaddf12a-a995-429e-90a0-13bf06efeb28",entityType:i.VariableDeclaration,entityId:"faaf3bf6-917d-40d7-aee6-5164f6646c4b"},KC={id:"7fdaf943-3ffb-48e0-b766-b86cc24090cf",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:An,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:QC},eB={type:i.GenericReference,id:"030fb5c5-af4d-4c85-8cf0-e99edd50d2bd",entityType:i.OutputMap,entityId:"c1ec31f0-25ca-42ac-a4c4-c9ec2255f55b"},tB={type:i.GenericReference,id:"a8b618e9-c68c-48c1-8bd6-ef47c87d699e",entityType:i.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},nB={type:i.GenericReference,id:"is-company-name-valid-var-called-by-ref",entityType:i.FunctionCall,entityId:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},jT={type:i.VariableDeclaration,id:"faaf3bf6-917d-40d7-aee6-5164f6646c4b",version:1,name:"Is name valid",description:"Whether the company name is valid",dataType:KC,readsValue:eB,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[nB],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:tB},rB={id:"c1ec31f0-25ca-42ac-a4c4-c9ec2255f55b",type:i.OutputMap,version:1,declaration:Sl,writesValues:[jT],index:0,parent:XC},iB={type:i.FunctionCall,id:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a",version:1,declaration:UT,inputs:[xT],outputs:[rB],calledByError:[],calledByEntry:[],process:null,calledBySuccess:[HC],successCalls:[jT],errorCalls:[],error:null,x:0,y:0,parent:YC},aB={type:i.GenericReference,id:"9d0b87b4-bfed-4e02-9e84-6831c21feae2",entityType:i.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},sB={type:i.GenericReference,id:"74345f4f-e80d-48be-adff-d12fcea25bec",entityType:i.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},oB={type:i.GenericReference,id:"b39279ea-969a-4efb-a9ec-353bfd13db65",entityType:i.ArgumentDeclaration,entityId:"c6cf620c-1eee-4919-8578-1a0b6c088551"},lB={type:i.GenericReference,id:"549db613-f225-4c5b-9634-7d096717f0ff",entityType:i.Condition,entityId:"a8f4b0f2-5e5e-4e8f-9d7b-1b5b9b6e9a4b"},kT={id:"358e242c-7448-442e-ab8b-fd7fa119ea71",version:1,type:i.InputMap,declaration:Kn.fixedArguments[0],name:null,description:null,dynamicArguments:[],readsValue:oB,defaultValue:null,index:0,parent:lB},cB={type:i.Condition,id:"a8f4b0f2-5e5e-4e8f-9d7b-1b5b9b6e9a4b",version:1,declaration:Kn,inputs:[kT],calledByError:[],calledByEntry:[aB],calledBySuccess:[],successCalls:[iB],errorCalls:[],x:0,y:0,parent:sB},dB={type:i.GenericReference,id:"43ba1e25-f805-488f-8ae8-c58bb6215b2f",entityType:i.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},uB={type:i.GenericReference,id:"eb091bed-507f-4a1e-93b5-7cd2fccfe002",entityType:i.VariableDeclaration,entityId:"9c928995-0dd5-4f97-9962-56b343bc8a45"},pB={id:"d64152ea-831f-4426-9506-a39bfa170513",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Yr,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:uB},yB={type:i.GenericReference,id:"7e79c29f-f7bd-441a-a77e-c627604dae94",entityType:i.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},hB={type:i.GenericReference,id:"8995ce5f-d5cf-4341-a8b1-5c046cc78b89",entityType:i.ArgumentDeclaration,entityId:"7ed0f7bb-2df0-44e2-b0b3-0709dcca8071"},fB={type:i.GenericReference,id:"new-company-bank-account-var-decl-1-called-by-ref",entityType:i.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},qT={type:i.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:pB,readsValue:hB,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[fB],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:yB},mB={type:i.GenericReference,id:"9a4887bf-d50d-43e4-bdd5-a5262f65f04b",entityType:i.ArgumentDeclaration,entityId:"7ed0f7bb-2df0-44e2-b0b3-0709dcca8071"},TB={id:"ae148c06-3143-49e9-9614-c3aca3f6fa7b",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Yr,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:mB},EB={id:"7ed0f7bb-2df0-44e2-b0b3-0709dcca8071",type:i.ArgumentDeclaration,version:1,name:"New bank account",description:"The new bank account of the company",dataType:TB,required:!0,index:1,writesValues:[qT],parent:dB},RB={type:i.GenericReference,id:"caec9cf8-3133-48d4-a390-114fa71b2933",entityType:i.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},bB={type:i.GenericReference,id:"cebcbad8-ca87-4c4b-be8a-312293d49892",entityType:i.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},gB={type:i.GenericReference,id:"7b8ccfe5-f9cd-4776-a19b-80c689bbe3df",entityType:i.ArgumentDeclaration,entityId:"c6cf620c-1eee-4919-8578-1a0b6c088551"},vB={id:"2a6b4703-ac8d-4d25-8abd-48a115577fec",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:gB},IB={id:"c6cf620c-1eee-4919-8578-1a0b6c088551",type:i.ArgumentDeclaration,version:1,name:"New company name",description:null,dataType:vB,required:!0,index:0,writesValues:[kT,xT],parent:bB},DB={type:i.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:[IB,EB],calls:[cB,qT],index:1,private:!1,implements:null,x:0,y:0,parent:RB},PB={type:i.GenericReference,id:"employee-manager-property-data-type-entity-ref-id",entityType:i.CustomEntity,entityId:"employee-entity-id"},AB={type:i.GenericReference,id:"employee-manager-property-data-type-parent-ref-id",entityType:i.Property,entityId:"employee-manager-property-id"},SB={id:"employee-manager-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:PB,isList:!1,isNullable:!0,asType:!1,defaultValue:null,constant:!1,parent:AB},OB={type:i.GenericReference,id:"employee-manager-property-parent-ref-id",entityType:i.CustomEntity,entityId:"employee-entity-id"},CB={hidden:!1,required:!0,type:i.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:SB,abstract:!1,parent:OB},BB={type:i.GenericReference,id:"employee-start-date-property-data-type-parent-ref-id",entityType:i.Property,entityId:"employee-start-date-property-id"},wB={id:"employee-start-date-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:dn,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:BB},_B={type:i.GenericReference,id:"employee-start-date-property-parent-ref-id",entityType:i.CustomEntity,entityId:"employee-entity-id"},MB={hidden:!1,required:!0,type:i.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:wB,abstract:!1,parent:_B},NB={type:i.GenericReference,id:"employee-department-property-ref-id",entityType:i.Property,entityId:"employee-department-property-id"},VB={id:"employee-department-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Sn,isList:!1,isNullable:!1,asType:!1,options:["Human Resources","Finance","IT","Sales","Marketing","Customer Service","Logistics","Product"],defaultValue:null,constant:!1,parent:NB},$B={type:i.GenericReference,id:"employee-department-property-parent-ref-id",entityType:i.CustomEntity,entityId:"employee-entity-id"},LB={hidden:!1,required:!0,type:i.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:VB,abstract:!1,parent:$B},GB={type:i.GenericReference,id:"employee-prototype-parent-ref-id",entityType:i.Project,entityId:Z},Bt={type:i.CustomEntity,id:"employee-entity-id",version:1,name:"Employee",description:"A entity that represents an employee in the company",properties:[LB,MB,CB],abstract:!1,static:!1,abstractMethods:[],methods:[],implements:[],extends:[yt],x:0,y:0,parent:GB},FB={type:i.GenericReference,id:"dec8fbfe-9124-41fd-9f1c-5b2f07cfd6ba",entityType:i.Property,entityId:"4f52d044-f3dd-4bdf-927e-637c3b92e8bd"},UB={id:"bc0b8979-6c43-4d47-a712-6742b89e3c00",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:FB},xB={type:i.GenericReference,id:"4f8c0a05-466e-4672-b4c4-6bd408c0be9a",entityType:i.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},jB={hidden:!1,required:!0,type:i.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:UB,abstract:!1,parent:xB},kB={type:i.GenericReference,id:"95173fe0-a6e6-443c-94f3-f7c5cf171fcf",entityType:i.Property,entityId:"80c86e1b-caca-4ba5-9b1f-38f72d10e4a3"},qB={id:"ddbb6f5c-0cf4-41fb-83b3-b6c47c0e338d",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Yr,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:kB},JB={type:i.GenericReference,id:"6a9a0b72-a05d-4169-b3f3-5afb01e8d0df",entityType:i.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},Cl={hidden:!1,required:!0,type:i.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:qB,abstract:!1,parent:JB},WB={type:i.GenericReference,id:"62892cc6-d227-4088-90d3-ae7c15ed4af4",entityType:i.Property,entityId:"19a31727-1fba-40a5-be25-18e0f149d5cb"},HB={id:"1f7629df-dc29-4c89-8369-c6d043e97a9e",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:yt,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:WB},YB={type:i.GenericReference,id:"89384206-fd5a-4f0a-849c-f777473e5773",entityType:i.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},zB={hidden:!1,required:!0,type:i.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:HB,private:!0,abstract:!1,parent:YB},ZB={type:i.GenericReference,id:"4d2ffb6c-5f38-436e-8339-fb9878ac2b5e",entityType:i.Property,entityId:"f8310850-a87e-405c-b182-4f1d5fa49240"},XB={id:"ad44250b-40c2-48f7-a480-381fa938f562",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Bt,isList:!0,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:ZB},QB={type:i.GenericReference,id:"aa5d4eee-6fac-4e72-bf21-9c8750024541",entityType:i.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},KB={hidden:!1,required:!0,type:i.Property,id:"f8310850-a87e-405c-b182-4f1d5fa49240",version:1,name:"Employees",description:null,index:3,dataType:XB,implements:null,private:!0,static:!1,abstract:!1,parent:QB},ew={type:i.GenericReference,id:"e3c03b6b-2ea0-4d99-865d-5e6a348672d0",entityType:i.Project,entityId:Z},gt={type:i.CustomEntity,id:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d",version:1,name:"Company",description:null,properties:[jB,Cl,zB,KB],static:!1,abstract:!1,abstractMethods:[],methods:[xO,DB],extends:[],implements:[Le],x:0,y:0,parent:ew},tw={type:i.GenericReference,id:"ffcad334-138d-4b67-8fb3-5f0e6f5fefbd",entityType:i.Project,entityId:Z},Bl={type:i.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:tw};i.GenericReference,i.DataType;const nw={id:"cron-job-entity-expression-property-ref-id",type:i.GenericReference,entityId:"cron-job-entity-expression-property-id",entityType:i.Property},rw={id:"cron-job-entity-expression-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:null,parent:nw},iw={id:"cron-job-entity-ref-id",type:i.GenericReference,entityId:"cron-job-entity-id",entityType:i.CustomEntity},aw={hidden:!1,required:!0,id:"cron-job-entity-expression-property-id",type:i.Property,version:1,name:"Cron expression",description:"The cron expression that defines when the cron job should be triggered",dataType:rw,implements:null,static:!0,private:!1,abstract:!1,index:0,parent:iw},sw={id:"cron-job-entity-trigger-show-popup-func-call-called-by-ref-one-id",type:i.GenericReference,entityId:"show-popup-func-decl-id",entityType:i.FunctionDeclaration},ow={id:"cron-job-entity-trigger-show-popup-func-call-parent-ref-id",type:i.GenericReference,entityId:"cron-job-entity-trigger-func-decl-id",entityType:i.FunctionDeclaration},lw={id:"cron-job-entity-trigger-show-popup-func-call-id",version:1,type:i.FunctionCall,declaration:Bl,inputs:[],outputs:[],process:null,successCalls:[],calledByError:[],calledByEntry:[sw],calledBySuccess:[],errorCalls:[],error:null,x:0,y:0,parent:ow},cw={id:"cron-job-entity-trigger-func-decl-parent-ref-id",type:i.GenericReference,entityId:"cron-job-entity-id",entityType:i.CustomEntity},dw={id:"cron-job-entity-trigger-func-decl-id",version:1,type:i.FunctionDeclaration,name:"Scheduled trigger",description:"The function that is called when the cron job is triggered",inputs:[],private:!1,implements:tl,calls:[lw],collapsed:!1,returnStatements:[],index:0,x:0,y:0,parent:cw},uw={id:"cron-job-entity-parent-ref-id",type:i.GenericReference,entityId:Z,entityType:i.Project},pw={id:"cron-job-entity-id",version:1,type:i.CustomEntity,name:"Run at 12pm on Christmas day",description:"A cron job that runs at 12pm on Christmas day",properties:[aw],static:!0,abstract:!1,abstractMethods:[],extends:[nl],implements:[],methods:[dw],x:0,y:0,parent:uw},yw={type:i.GenericReference,id:"52dbd85c-48b1-462a-8205-2437d6fb1cb4",entityType:i.Project,entityId:Z},hw={type:i.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:[Ua],x:0,y:0,parent:yw},JT="f558fbf8-67de-4545-9804-6ae621e0b2d4",fw={id:"getCompanyByIdEndpointPathParamsVariableDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"getCompanyByIdEndpointPathParamsVariableDataType"},mw={id:"getCompanyByIdEndpointPathParamsArgumentDeclarationRef",type:i.GenericReference,entityType:i.ArgumentDeclaration,entityId:"getCompanyByIdEndpointPathParamsArgumentDeclaration"},Tw={id:"getCompanyByIdEndpointPathParamsVariableDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:j,asType:!1,defaultValue:{id:"getCompanyByIdEndpointPathParamsVariableDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.JSON,value:{},parent:fw,autogeneration:null,valueAsType:null},parent:mw},Ew={id:"getCompanyByIdEndpointReachedEntityEventRef",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},Rw={id:"getCompanyByIdEndpointRequestHeadersVariableDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"getCompanyByIdEndpointRequestHeadersVariableDataType"},bw={id:"getCompanyByIdEndpointRequestHeadersArgumentDeclarationRef",type:i.GenericReference,entityType:i.ArgumentDeclaration,entityId:"getCompanyByIdEndpointRequestHeadersArgumentDeclaration"},gw={id:"getCompanyByIdEndpointRequestHeadersVariableDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:et,asType:!1,defaultValue:{id:"getCompanyByIdEndpointRequestHeadersVariableDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.JSON,value:{},parent:Rw,autogeneration:null,valueAsType:null},parent:bw},vw={id:"getCompanyByIdEndpointRequestHeadersArgumentDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the request.",type:i.ArgumentDeclaration,writesValues:[],name:"Request headers",dataType:gw,required:!0,index:0,parent:Ew},Iw={id:"getCompanyByIdEndpointReachedEntityEventRefTwo",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},Dw={id:"getCompanyByIdEndpointPathParamsArgumentDeclaration",type:i.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:Tw,required:!0,index:1,parent:Iw},Pw={id:"getCompanyByIdEndpointReachedEntityEventRefThree",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},Aw={id:"getCompanyByIdEndpointRequestQueryParamsVariableDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"getCompanyByIdEndpointRequestQueryParamsVariableDataType"},Sw={id:"getCompanyByIdEndpointRequestQueryParamsArgumentDeclarationRef",type:i.GenericReference,entityType:i.ArgumentDeclaration,entityId:"getCompanyByIdEndpointRequestQueryParamsArgumentDeclaration"},Ow={id:"getCompanyByIdEndpointRequestQueryParamsVariableDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,asType:!1,entity:j,defaultValue:{id:"getCompanyByIdEndpointRequestQueryParamsVariableDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.JSON,value:{},parent:Aw,autogeneration:null,valueAsType:null},parent:Sw},Cw={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:i.ArgumentDeclaration,writesValues:[],name:"Request query params",dataType:Ow,required:!0,index:2,parent:Pw},Bw={id:"getCompanyByIdEndpointReachedEntityEventRefFour",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},ww={id:"getCompanyByIdEndpointRequestBodyArgumentDeclarationRef",type:i.GenericReference,entityType:i.ArgumentDeclaration,entityId:"getCompanyByIdEndpointRequestBodyArgumentDeclaration"},_w={id:"getCompanyByIdEndpointRequestBodyVariableDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:et,defaultValue:null,parent:ww},Mw={id:"getCompanyByIdEndpointRequestBodyArgumentDeclaration",version:1,description:"The main data payload of the request.",type:i.ArgumentDeclaration,writesValues:[],name:"Request body",dataType:_w,index:3,required:!0,parent:Bw},Nw={id:"getCompanyByIdEndpointResponseCodeReturnDeclarationRef",type:i.GenericReference,entityType:i.ReturnDeclaration,entityId:"getCompanyByIdEndpointResponseCodeReturnDeclaration"},Vw={id:"9ba575b0-6f8e-436d-a3de-3b843622aa17",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Nw},$w={id:"getCompanyByIdEndpointReturnStatementRef",type:i.GenericReference,entityType:i.ReturnStatement,entityId:"getCompanyByIdEndpointReturnStatement"},Lw={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:i.ReturnDeclaration,name:"Response code",dataType:Vw,readsValue:null,required:!0,index:0,parent:$w},Gw={id:"getCompanyByIdEndpointResponseHeadersDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"getCompanyByIdEndpointResponseHeadersDataType"},Fw={id:"getCompanyByIdEndpointResponseHeadersReturnDeclarationRef",type:i.GenericReference,entityType:i.ReturnDeclaration,entityId:"getCompanyByIdEndpointResponseHeadersReturnDeclaration"},Uw={id:"getCompanyByIdEndpointResponseHeadersDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:et,asType:!1,defaultValue:{id:"getCompanyByIdEndpointResponseHeadersDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.JSON,value:{},parent:Gw,autogeneration:null,valueAsType:null},parent:Fw},xw={id:"getCompanyByIdEndpointReturnStatementRefTwo",type:i.GenericReference,entityType:i.ReturnStatement,entityId:"getCompanyByIdEndpointReturnStatement"},jw={isError:!1,id:"getCompanyByIdEndpointResponseHeadersReturnDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the response.",type:i.ReturnDeclaration,name:"Response headers",dataType:Uw,readsValue:null,required:!0,index:1,parent:xw},kw={id:"getCompanyByIdEndpointResponseBodyReturnDeclarationRef",type:i.GenericReference,entityType:i.ReturnDeclaration,entityId:"getCompanyByIdEndpointResponseBodyReturnDeclaration"},qw={id:"getCompanyByIdEndpointResponseBodyDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:et,defaultValue:null,parent:kw},Jw={id:"getCompanyByIdEndpointReturnStatementRefThree",type:i.GenericReference,entityType:i.ReturnStatement,entityId:"getCompanyByIdEndpointReturnStatement"},Ww={isError:!1,id:"getCompanyByIdEndpointResponseBodyReturnDeclaration",version:1,description:"The main data payload of the response.",type:i.ReturnDeclaration,name:"Response body",dataType:qw,readsValue:null,required:!0,index:2,parent:Jw},Hw={id:"getCompanyByIdEndpointReturnStatementCallerRef",type:i.GenericReference,entityId:"getCompanyByIdEndpointReachedEntityEvent",entityType:i.FunctionDeclaration},Yw={id:"getCompanyByIdEndpointReachedEntityEventRefFive",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},zw={id:"getCompanyByIdEndpointReturnStatement",type:i.ReturnStatement,version:1,outputs:[Lw,jw,Ww],calledByError:[],calledByEntry:[Hw],calledBySuccess:[],throws:null,x:0,y:0,parent:Yw},Zw={id:"endpointBuiltInBaseEntityRefFour",type:i.GenericReference,entityType:i.BuiltInBaseEntity,entityId:JT},Xw={id:"getCompanyByIdEndpointReachedEntityEvent",name:"Endpoint reached",version:1,type:i.FunctionDeclaration,inputs:[vw,Dw,Cw,Mw],returnStatements:[zw],description:"Fired when the endpoint is reached.",calls:[],collapsed:!1,implements:Xo,index:0,private:!1,x:0,y:0,parent:Zw},Qw={id:"getCompanyByIdEndpointPathPropertyDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"getCompanyByIdEndpointPathPropertyDataType"},Kw={id:"getCompanyByIdEndpointPathPropertyRef",type:i.GenericReference,entityType:i.Property,entityId:"getCompanyByIdEndpointPathProperty"},e_={id:"getCompanyByIdEndpointPathPropertyDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:{id:"getCompanyByIdEndpointPathPropertyDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.String,value:"/company/{id}",parent:Qw,valueAsType:null,autogeneration:null},parent:Kw},t_={id:"getCompanyByIdEndpointBaseEntityRefTwo",type:i.GenericReference,entityType:i.BuiltInBaseEntity,entityId:V.HTTP_ENDPOINT},n_={hidden:!1,required:!0,id:"getCompanyByIdEndpointPathProperty",name:"Path",version:1,type:i.Property,private:!1,abstract:!1,static:!0,implements:zo,dataType:e_,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:t_},r_={id:"getCompanyByIdEndpointMethodPropertyDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"getCompanyByIdEndpointMethodPropertyDataType"},i_={id:"getCompanyByIdEndpointMethodPropertyRef",type:i.GenericReference,entityType:i.Property,entityId:"getCompanyByIdEndpointMethodProperty"},a_={id:"getCompanyByIdEndpointMethodPropertyDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Sn,isList:!0,isNullable:!1,constant:!0,asType:!1,defaultValue:{id:"getCompanyByIdEndpointMethodPropertyDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,value:"GET",name:P.Enum,parent:r_,valueAsType:null,autogeneration:null},options:["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","TRACE","CONNECT","CUSTOM"],parent:i_},s_={id:"getCompanyByIdEndpointBaseEntityRefThree",type:i.GenericReference,entityType:i.BuiltInBaseEntity,entityId:V.HTTP_ENDPOINT},o_={hidden:!1,required:!0,id:"getCompanyByIdEndpointMethodProperty",name:"Method",version:1,type:i.Property,private:!1,abstract:!1,static:!0,implements:Zo,index:0,dataType:a_,description:null,parent:s_},l_={type:i.GenericReference,id:"6a905153-8aa8-4424-bd7b-6415731a2725",entityType:i.Project,entityId:Z},c_={type:i.CustomEntity,id:JT,version:1,name:"Get given company data by id",description:null,properties:[n_,o_],methods:[Xw],static:!0,abstract:!1,abstractMethods:[],extends:[],implements:[Ua],x:0,y:0,parent:l_},d_={id:"product-prototype-database-property-ref-id",type:i.GenericReference,entityId:"product-prototype-database-property-id",entityType:i.Property},u_={id:"product-prototype-database-property-data-type-default-value-parent-ref-id",type:i.GenericReference,entityId:"product-prototype-database-property-data-type-default-value-id",entityType:i.DataType},p_={id:"product-prototype-database-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:On,asType:!1,defaultValue:{id:"product-prototype-database-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,value:null,name:P.EntityTemplate,valueAsType:Dl,autogeneration:null,parent:u_},parent:d_},y_={id:"product-prototype-database-property-parent-ref-id",type:i.GenericReference,entityId:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",entityType:i.CustomEntity},h_={hidden:!1,required:!0,id:"product-prototype-database-property-id",name:"Database",version:1,type:i.Property,private:!1,abstract:!1,implements:Pi,static:!0,index:0,dataType:p_,description:"The database that the entity belongs to.",parent:y_},f_={type:i.GenericReference,id:"13a4045e-dcb0-4159-8d33-10a646078b5a",entityType:i.Property,entityId:"d519c26a-15b8-40d8-ad09-13fa9342e9ba"},m_={id:"7449779e-1d4e-409c-81c6-4b611336ed18",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:f_},T_={type:i.GenericReference,id:"0969562f-d836-406f-8b48-dd9d417fbe72",entityType:i.CustomEntity,entityId:"a2d0ec83-72ce-4f54-b059-a39e018fa86c"},E_={hidden:!1,required:!0,type:i.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:m_,abstract:!1,parent:T_},R_={type:i.GenericReference,id:"833a5425-7bd0-41dd-9e97-e018acce9592",entityType:i.Project,entityId:Z},b_={type:i.CustomEntity,id:"a2d0ec83-72ce-4f54-b059-a39e018fa86c",version:1,name:"Product",description:"A product that can be sold",implements:[Le],extends:[],abstract:!1,static:!1,abstractMethods:[],properties:[h_,E_],methods:[],x:0,y:0,parent:R_},Wi="project-loaded-event-id",Kt="get-bitcoin-price-http-call-operation-id",WT="get-bitcoin-price-http-call-response-body-id",bs="validate-bitcoin-price-response-operation-ids",g_={type:i.GenericReference,id:"validate-bitcoin-data-to-validate-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:WT},v_={type:i.GenericReference,id:"validate-bitcoin-data-to-validate-input-map-parent-ref-id",entityType:i.Operation,entityId:bs},HT={id:"validate-bitcoin-data-to-validate-input-map-id",type:i.InputMap,version:1,declaration:Xn.fixedArguments[1],name:null,description:null,readsValue:g_,defaultValue:null,dynamicArguments:[],index:0,parent:v_},I_={type:i.GenericReference,id:"validate-bitcoin-type-to-match-input-map-default-value-parent-ref-id",entityType:i.InputMap,entityId:"validate-bitcoin-type-to-match-input-map-id"},D_={type:i.GenericReference,id:"validate-bitcoin-type-to-match-input-map-parent-ref-id",entityType:i.Operation,entityId:bs},P_={id:"validate-bitcoin-type-to-match-input-map-id",type:i.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:i.PrimitiveValue,version:1,name:P.EntityTemplate,valueAsType:wT,value:null,parent:I_,autogeneration:null},dynamicArguments:[],index:0,parent:D_},A_={type:i.GenericReference,id:"validate-bitcoin-validated-entity-output-map-parent-ref-id",entityType:i.Operation,entityId:bs},S_={id:"validate-bitcoin-validated-entity-output-map-id",type:i.OutputMap,version:1,declaration:Xn.fixedReturns[0],writesValues:[],index:0,parent:A_},O_={type:i.GenericReference,id:"validate-bitcoin-price-response-operation-parent-ref-id",entityType:i.GlobalEvent,entityId:Wi},C_={type:i.GenericReference,id:"validate-bitcoin-price-response-operation-called-by-ref-id",entityType:i.Operation,entityId:Kt},B_={type:i.Operation,id:bs,version:1,declaration:Xn,inputs:[P_,HT],outputs:[S_],process:null,dynamicArguments:[],successCalls:[],errorCalls:[],error:null,x:0,y:0,calledByError:[],calledByEntry:[],calledBySuccess:[C_],parent:O_},w_={type:i.GenericReference,id:"96edb661-3f36-406c-8921-f1679dd796a3",entityType:i.FunctionCall,entityId:Kt},__={id:"c93e1393-9b5e-4de2-b8da-7eae647d715a",version:1,type:i.InputMap,declaration:Ma,name:null,description:null,readsValue:null,defaultValue:null,dynamicArguments:[],index:0,parent:w_},M_={type:i.GenericReference,id:"40312b28-71b8-4b01-a654-58b87191939d",entityType:i.FunctionCall,entityId:Kt},N_={type:i.GenericReference,id:"6ea96c7d-02a7-4971-82ad-2f32a0fec8b4",entityType:i.InputMap,entityId:"9f21cbac-5a83-4983-8923-9224ffd3ba9f"},V_={id:"9f21cbac-5a83-4983-8923-9224ffd3ba9f",version:1,type:i.InputMap,declaration:Na,name:null,description:null,readsValue:null,defaultValue:{id:"get-bitcoin-price-http-request-url-argument-default-value-id",type:i.PrimitiveValue,version:1,value:"https://api.coindesk.com/v1/bpi/currentprice.json",name:P.String,parent:N_,valueAsType:null,autogeneration:null},index:1,dynamicArguments:[],parent:M_},$_={type:i.GenericReference,id:"2610bf4a-c8a2-4746-b6cc-eb15f7fa8e9c",entityType:i.FunctionCall,entityId:Kt},L_={id:"ffb3cd9d-c955-4104-bc7b-299120fe4ede",version:1,type:i.InputMap,declaration:Va,name:null,description:null,readsValue:null,dynamicArguments:[],defaultValue:null,index:2,parent:$_},G_={type:i.GenericReference,id:"bfd29a6a-671a-448c-9f2f-f8c7e4ad8349",entityType:i.FunctionCall,entityId:Kt},F_={id:"412bf1f3-1a8e-4665-a95f-82117540e34e",version:1,type:i.InputMap,declaration:$a,name:null,description:null,readsValue:null,dynamicArguments:[],defaultValue:null,index:3,parent:G_},U_={type:i.GenericReference,id:"616a15f3-c224-4b11-b95c-63314edef409",entityType:i.FunctionCall,entityId:Kt},x_={id:"4dd4651c-02e4-45f1-b50f-824f3bcb1648",version:1,type:i.OutputMap,declaration:La,writesValues:[],index:1,parent:U_},j_={type:i.GenericReference,id:"28793b68-4d7e-4826-aee1-f201a3499faf",entityType:i.FunctionCall,entityId:Kt},k_={id:"94fe9d35-4dd4-4729-a50c-5283ccd7e661",version:1,type:i.OutputMap,declaration:Wo,writesValues:[],index:0,parent:j_},q_={type:i.GenericReference,id:"f13e04b2-49b4-4c69-85b8-cbbafafa3524",entityType:i.FunctionCall,entityId:Kt},J_={id:WT,type:i.OutputMap,version:1,declaration:vi,writesValues:[HT],index:2,parent:q_},W_={type:i.GenericReference,id:"6148d6d0-caaa-45fc-b601-ff2493dfc60f",entityType:i.FunctionDeclaration,entityId:Kt},H_={type:i.GenericReference,id:"b115f084-807b-44b3-ae01-b69cc342f761",entityType:i.GlobalEvent,entityId:Wi},Y_={type:i.Operation,id:Kt,version:1,declaration:Ii,inputs:[__,V_,L_,F_],outputs:[k_,x_,J_],process:null,parent:H_,calledByError:[],calledByEntry:[W_],calledBySuccess:[],dynamicArguments:[],successCalls:[B_],errorCalls:[],error:null,x:0,y:0},z_={type:i.GenericReference,id:"24e76019-3f94-475b-91ce-297f76bbc224",entityType:i.GlobalEvent,entityId:Wi},Z_={type:i.GenericReference,id:"0eac8e29-cdf2-42f8-8ea7-ad76d4d79abe",entityType:i.GlobalEvent,entityId:Wi},X_={process:null,type:i.FunctionCall,id:"2d2e7593-bfbf-457c-a607-5fce18eef457",version:1,declaration:Bl,inputs:[],outputs:[],calledByError:[],calledByEntry:[z_],calledBySuccess:[],parent:Z_,successCalls:[],errorCalls:[],error:null,x:0,y:0},Q_={id:"793b5999-a9da-47fb-9665-0c17ebc6d5c9",type:i.GenericReference,entityType:i.Project,entityId:"2e7eb5382-3d99-44fd-972a-b8b1e819f6be"},K_={type:i.GlobalEvent,id:Wi,version:1,name:ln.PROJECT_PUBLICATION_COMPLETED,returnStatements:[],collapsed:!1,implements:Ja,parent:Q_,inputs:[],calls:[X_,Y_],x:0,y:0},Gt="abort-execution-func-declaration-id",Hi="abort-execution-func-exec-var-declaration-id",gs="abort-execution-func-small-wait-op-id",wl="abort-execution-func-long-wait-op-id",YT="abort-execution-func-long-wait-process-output-id",zT="abort-execution-func-exec-var-instance-write-id",ZT="abort-execution-func-long-wait-return-stmt-id",XT="abort-execution-func-small-wait-return-stmt-id",eM="abort-execution-func-exec-var-instance-abort-call-id",_l="abort-execution-func-exec-var-instance-abort-internal-call-id",QT="abort-execution-func-exec-second-wait-op-id",tM={type:i.GenericReference,id:"short-wait-return-statement-returned-hello-string-data-type-parent-ref-id",entityType:i.ReturnDeclaration,entityId:"short-wait-return-statement-returned-hello-string-id"},nM={type:i.GenericReference,id:"short-wait-return-statement-returned-hello-string-data-type-default-value-parent-ref-id",entityType:i.DataType,entityId:"short-wait-return-statement-returned-hello-string-data-type-id"},rM={id:"short-wait-return-statement-returned-hello-string-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:{id:"short-wait-return-statement-returned-hello-string-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.String,value:"Hello 2",autogeneration:null,valueAsType:null,parent:nM},constant:!1,parent:tM},iM={type:i.GenericReference,id:"short-wait-return-statement-returned-hello-string-parent-ref-id",entityType:i.ReturnStatement,entityId:XT},aM={isError:!1,id:"short-wait-return-statement-returned-hello-string-id",type:i.ReturnDeclaration,version:1,name:"Return 1",description:"A random string that is returned by the function",dataType:rM,readsValue:null,required:!0,index:0,parent:iM},sM={type:i.GenericReference,id:"short-wait-return-statement-called-by-ref-id",entityType:i.Operation,entityId:gs},oM={type:i.GenericReference,id:"short-wait-return-statement-parent-ref-id",entityType:i.FunctionDeclaration,entityId:Gt},KT={type:i.ReturnStatement,id:XT,version:1,outputs:[aM],calledByError:[],calledByEntry:[],calledBySuccess:[sM],throws:null,x:0,y:0,parent:oM},lM={type:i.GenericReference,id:"second-wait-argument-default-value-parent-ref-id",entityType:i.InputMap,entityId:"second-wait-argument-map-id"},cM={type:i.GenericReference,id:"second-wait-argument-map-parent-ref-id",entityType:i.Operation,entityId:QT},dM={id:"second-wait-argument-map-id",type:i.InputMap,version:1,declaration:Zn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"second-wait-argument-default-value-id",type:i.PrimitiveValue,version:1,value:2e3,valueAsType:null,autogeneration:null,name:P.Number,parent:lM},index:0,parent:cM},uM={type:i.GenericReference,id:"small-wait-parent-ref-id",entityType:i.FunctionDeclaration,entityId:Gt},pM={type:i.GenericReference,id:"small-wait-called-by-ref-one-id",entityType:i.InternalCall,entityId:_l},yM={id:QT,type:i.Operation,version:1,declaration:ut,inputs:[dM],dynamicArguments:[],outputs:[],process:null,successCalls:[KT],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[],calledBySuccess:[pM],error:null,parent:uM},hM={type:i.GenericReference,id:"abort-exec-func-abort-call-var-instance-abort-internal-call-called-by-ref-one-id",entityType:i.VariableInstance,entityId:zT},fM={type:i.GenericReference,id:"abort-exec-func-abort-call-var-instance-abort-internal-call-called-by-ref-two-id",entityType:i.Operation,entityId:gs},mM={type:i.GenericReference,id:"abort-exec-func-abort-call-var-instance-main-project-ref-id",entityType:i.FunctionDeclaration,entityId:Gt},TM={type:i.GenericReference,id:"abort-exec-func-abort-call-var-instance-declaration-ref-id",entityType:i.VariableDeclaration,entityId:Hi},EM={type:i.GenericReference,id:"abort-exec-func-abort-call-var-instance-internal-call-ref-one-id",entityType:i.InternalCall,entityId:_l},RM={id:eM,type:i.VariableInstance,version:1,declaration:TM,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[EM],parent:mM},eE={id:_l,type:i.InternalCall,version:1,inputs:[],outputs:[],declaration:rl,process:null,calledByError:[],calledByEntry:[],calledBySuccess:[hM,fM],successCalls:[yM],errorCalls:[],error:null,index:0,parent:RM},bM={type:i.GenericReference,id:"abort-exec-func-var-write-instance-main-project-ref-id",entityType:i.FunctionDeclaration,entityId:Gt},gM={type:i.GenericReference,id:"abort-exec-func-var-write-instance-called-by-ref-one-id",entityType:i.VariableDeclaration,entityId:Hi},vM={type:i.GenericReference,id:"abort-exec-func-var-write-instance-called-by-ref-two-id",entityType:i.FunctionDeclaration,entityId:Gt},IM={type:i.GenericReference,id:"abort-exec-func-abort-call-var-instance-declaration-ref-id",entityType:i.VariableDeclaration,entityId:Hi},DM={type:i.GenericReference,id:"abort-exec-func-var-write-instance-reads-value-ref-id",entityType:i.OutputMap,entityId:YT},Ml={id:zT,type:i.VariableInstance,version:1,declaration:IM,inputs:[],outputs:[],calledByError:[],calledByEntry:[vM],calledBySuccess:[gM],successCalls:[eE],errorCalls:[],x:0,y:0,readsValue:DM,writesValues:[],internalCalls:[],parent:bM},PM={type:i.GenericReference,id:"abort-exec-func-var-decl-datatype-parent-ref-id",entityType:i.VariableDeclaration,entityId:Hi};i.GenericReference,i.DataType;const AM={id:"abort-exec-func-var-decl-datatype-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:il,version:1,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:PM,defaultValue:null},SM={type:i.GenericReference,id:"abort-exec-func-var-decl-main-project-ref-id",entityType:i.FunctionDeclaration,entityId:Gt},OM={type:i.GenericReference,id:"abort-exec-func-var-decl-called-by-ref-one-id",entityType:i.FunctionDeclaration,entityId:Gt},CM={id:Hi,type:i.VariableDeclaration,version:1,name:"Execution in progress",description:"A variable that holds an ongoing execution to abort it if needed",dataType:AM,inputs:[],outputs:[],calledByError:[],calledByEntry:[OM],calledBySuccess:[],successCalls:[Ml],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:SM},BM={type:i.GenericReference,id:"long-wait-return-statement-returned-hello-string-data-type-parent-ref-id",entityType:i.ReturnDeclaration,entityId:"long-wait-return-statement-returned-hello-string-id"},wM={type:i.GenericReference,id:"long-wait-return-statement-returned-hello-string-data-type-default-value-parent-ref-id",entityType:i.DataType,entityId:"long-wait-return-statement-returned-hello-string-data-type-id"},_M={id:"long-wait-return-statement-returned-hello-string-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:{id:"long-wait-return-statement-returned-hello-string-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.String,value:"Hello 1",autogeneration:null,valueAsType:null,parent:wM},constant:!1,parent:BM},MM={type:i.GenericReference,id:"long-wait-return-statement-returned-hello-string-parent-ref-id",entityType:i.ReturnStatement,entityId:ZT},NM={isError:!1,id:"long-wait-return-statement-returned-hello-string-id",type:i.ReturnDeclaration,version:1,name:"Return 2",description:"A random string that is returned by the function",dataType:_M,readsValue:null,required:!0,index:0,parent:MM},VM={type:i.GenericReference,id:"long-wait-return-statement-called-by-ref-id",entityType:i.Operation,entityId:wl},$M={type:i.GenericReference,id:"long-wait-return-statement-parent-ref-id",entityType:i.FunctionDeclaration,entityId:Gt},tE={type:i.ReturnStatement,id:ZT,version:1,outputs:[NM],calledByError:[],calledByEntry:[],calledBySuccess:[VM],throws:null,x:0,y:0,parent:$M},LM={type:i.GenericReference,id:"long-argument-default-value-parent-ref-id",entityType:i.InputMap,entityId:"long-argument-map-id"},nE={type:i.GenericReference,id:"long-argument-map-parent-ref-id",entityType:i.Operation,entityId:wl},GM={id:"long-argument-map-id",type:i.InputMap,version:1,declaration:Zn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"long-argument-default-value-id",type:i.PrimitiveValue,version:1,value:1500,valueAsType:null,autogeneration:null,name:P.Number,parent:LM},index:0,parent:nE},FM={type:i.GenericReference,id:"long-parent-ref-id",entityType:i.FunctionDeclaration,entityId:Gt},UM={type:i.GenericReference,id:"long-called-by-ref-one-id",entityType:i.FunctionDeclaration,entityId:Gt},xM={id:YT,type:i.OutputMap,version:1,declaration:sl,writesValues:[Ml],index:0,parent:nE},jM={id:wl,type:i.Operation,version:1,declaration:ut,inputs:[GM],dynamicArguments:[],outputs:[],process:xM,successCalls:[tE],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[UM],calledBySuccess:[],error:null,parent:FM},kM={type:i.GenericReference,id:"small-wait-argument-default-value-parent-ref-id",entityType:i.InputMap,entityId:"small-wait-argument-map-id"},qM={type:i.GenericReference,id:"small-wait-argument-map-parent-ref-id",entityType:i.Operation,entityId:gs},JM={id:"small-wait-argument-map-id",type:i.InputMap,version:1,declaration:Zn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"small-wait-argument-default-value-id",type:i.PrimitiveValue,version:1,value:500,valueAsType:null,autogeneration:null,name:P.Number,parent:kM},index:0,parent:qM},WM={type:i.GenericReference,id:"small-wait-parent-ref-id",entityType:i.FunctionDeclaration,entityId:Gt},HM={type:i.GenericReference,id:"small-wait-called-by-ref-one-id",entityType:i.FunctionDeclaration,entityId:Gt},YM={id:gs,type:i.Operation,version:1,declaration:ut,inputs:[JM],dynamicArguments:[],outputs:[],process:null,successCalls:[eE],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[HM],calledBySuccess:[],error:null,parent:WM},zM={type:i.GenericReference,id:"abort-execution-func-decl-parent-ref-id",entityType:i.Project,entityId:Z},rE={id:"abort-execution-func-decl-id",type:i.FunctionDeclaration,version:1,name:"Test aborting execution",description:"Executes a wait and then aborts the execution of that wait",inputs:[],returnStatements:[tE,KT],calls:[YM,CM,Ml,jM],implements:null,private:!1,collapsed:!1,index:null,x:0,y:0,parent:zM},ZM={type:i.GenericReference,id:"call-execution-abort-func-parent-ref-id",entityType:i.Project,entityId:Z},XM={id:"call-execution-abort-func-id",type:i.FunctionCall,version:1,declaration:rE,inputs:[],process:null,outputs:[],successCalls:[],errorCalls:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[],x:0,y:0,parent:ZM},Nl="manual-hello-world-loop-func-decl-id",iE="manual-hello-world-loop-func-return-statement-id",en="manual-hello-world-loop-id",Yi="manual-hello-world-loop-body-id",Vl="manual-hello-world-loop-break-statement-id",zi="manual-hello-world-loop-current-iteration-number-output-map-id",$l="manual-hello-world-loop-previous-iterations-results-output-map-id",Ll="assembled-hello-world-text-output-id",aE="assembled-hello-world-list-output-id",Zi="iteration-number-is-equal-or-greater-than-10-condition-id",vs="join-hello-world-and-number-operation-id",Is="append-string-to-list-operation-id",sE="hello-world-loop-output-map-id",QM={type:i.GenericReference,id:"manual-hello-world-loop-function-declaration-output-declaration-parent-ref",entityType:i.ReturnStatement,entityId:iE},KM={type:i.GenericReference,id:"manual-hello-world-loop-function-declaration-output-declaration-data-type-parent-ref",entityType:i.ReturnDeclaration,entityId:"manual-hello-world-loop-function-declaration-output-declaration"},eN={id:"manual-hello-world-loop-function-declaration-output-declaration-data-type",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!0,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:KM},tN={type:i.GenericReference,id:"manual-hello-world-loop-function-declaration-output-declaration-reads-value-ref",entityType:i.OutputMap,entityId:sE},oE={isError:!1,id:"manual-hello-world-loop-function-declaration-output-declaration",version:1,type:i.ReturnDeclaration,name:"Results",description:null,dataType:eN,readsValue:tN,required:!0,index:0,parent:QM},nN={type:i.GenericReference,id:"manual-hello-world-loop-function-declaration-return-statement-called-by-ref",entityType:i.Loop,entityId:en},rN={type:i.GenericReference,id:"manual-hello-world-loop-function-declaration-parent-ref",entityType:i.FunctionDeclaration,entityId:Nl},lE={type:i.ReturnStatement,id:iE,version:1,outputs:[oE],calledByError:[],calledByEntry:[],calledBySuccess:[nN],parent:rN,throws:null,x:0,y:0},iN={type:i.GenericReference,id:"hello-world-loop-break-statement-ref-id",entityType:i.BreakStatement,entityId:Vl},aN={type:i.GenericReference,id:"hello-world-loop-break-statement-reads-value-ref-id",entityType:i.OutputMap,entityId:Ll},cE={isError:!1,id:"hello-world-loop-break-statement-output-id",version:1,type:i.ReturnDeclaration,name:"Iteration result",description:null,dataType:null,readsValue:aN,required:!0,index:0,parent:iN},sN={type:i.GenericReference,id:"hello-world-loop-break-statement-counter-reads-value-ref-id",entityType:i.ArgumentDeclaration,entityId:zi},oN={type:i.GenericReference,id:"hello-world-loop-break-statement-counter-ref-id",entityType:i.BreakStatement,entityId:Vl},dE={isError:!1,id:"hello-world-loop-break-statement-counter-output-id",version:1,type:i.ReturnDeclaration,name:"Iteration counter",description:null,dataType:null,readsValue:sN,required:!0,index:1,parent:oN},lN={type:i.GenericReference,id:"hello-world-loop-break-statement-called-by-ref-id",entityType:i.Condition,entityId:Zi},cN={type:i.GenericReference,id:"hello-world-loop-break-statement-parent-ref-id",entityType:i.Loop,entityId:en},uE={type:i.BreakStatement,id:Vl,version:1,outputs:[cE,dE],calledByError:[],calledByEntry:[],calledBySuccess:[lN],parent:cN,throws:null,x:0,y:0},dN={type:i.GenericReference,id:"hello-world-loop-continue-statement-ref-id",entityType:i.ContinueStatement,entityId:"hello-world-loop-continue-statement"},uN={type:i.GenericReference,id:"hello-world-loop-continue-statement-output-data-type-ref-id",entityType:i.ReturnDeclaration,entityId:"hello-world-loop-continue-statement-output-id"},pN={id:"hello-world-loop-continue-statement-output-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:uN},yN={type:i.GenericReference,id:"hello-world-loop-continue-statement-reads-value-ref-id",entityType:i.OutputMap,entityId:Ll},pE={isError:!1,id:"hello-world-loop-continue-statement-output-id",version:1,type:i.ReturnDeclaration,name:"Iteration result",description:null,dataType:pN,readsValue:yN,required:!0,index:0,parent:dN},hN={type:i.GenericReference,id:"hello-world-loop-continue-statement-called-by-ref-id",entityType:i.Condition,entityId:Zi},fN={type:i.GenericReference,id:"hello-world-loop-continue-statement-parent-ref-id",entityType:i.Loop,entityId:en},yE={type:i.ContinueStatement,id:"hello-world-loop-continue-statement",version:1,outputs:[pE],calledBySuccess:[],calledByError:[hN],calledByEntry:[],parent:fN,throws:null,x:0,y:0};i.GenericReference,i.InputMap;const mN={type:i.GenericReference,id:"append-string-to-list-base-string-map-parent-ref-id",entityType:i.Operation,entityId:Is},TN={type:i.GenericReference,id:"base-string-map-reads-value-ref-id",entityType:i.OutputMap,entityId:$l},hE={id:"append-string-to-list-base-string-map-id",type:i.InputMap,version:1,declaration:Fo,name:null,description:null,readsValue:TN,defaultValue:null,dynamicArguments:[],index:0,parent:mN},EN={type:i.GenericReference,id:"assembly-string-map-parent-ref-id",entityType:i.Operation,entityId:Is},RN={id:aE,type:i.OutputMap,version:1,writesValues:[cE],declaration:bi,index:0,parent:EN},bN={type:i.GenericReference,id:"append-string-to-list-called-by-ref-id",entityType:i.Condition,entityId:Zi},gN={type:i.GenericReference,id:"latest-string-to-add-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:aE},vN={type:i.GenericReference,id:"62b4afb0-6c21-4b0f-abd3-cebef7b17c28",entityType:i.Operation,entityId:Is},fE={id:"latest-string-to-add-input-map-id",version:1,type:i.InputMap,declaration:Uo,name:null,description:null,readsValue:gN,dynamicArguments:[],defaultValue:null,index:1,parent:vN},IN={type:i.GenericReference,id:"append-string-to-list-parent-ref-id",entityType:i.FunctionDeclaration,entityId:en},DN={type:i.Operation,id:Is,declaration:_a,version:1,inputs:[hE,fE],outputs:[RN],calledByError:[],process:null,calledByEntry:[],calledBySuccess:[bN],dynamicArguments:[],successCalls:[],errorCalls:[],error:null,x:0,y:0,parent:IN},PN={type:i.GenericReference,id:"iteration-number-is-equal-or-greater-than-10-condition-called-by-ref-id",entityType:i.FunctionDeclaration,entityId:Yi},AN={type:i.GenericReference,id:"iteration-number-is-equal-or-greater-than-10-condition-parent-ref-id",entityType:i.Loop,entityId:en},SN={type:i.GenericReference,id:"current-iteration-number-to-check-map-reads-value-ref-id",entityType:i.OutputMap,entityId:zi},mE={type:i.GenericReference,id:"iteration-number-is-equal-or-greater-than-10-condition-ref-two-id",entityType:i.Condition,entityId:Zi},ON={id:"current-iteration-number-to-check-map-id",version:1,type:i.InputMap,declaration:Ur.fixedArguments[0],name:null,description:null,dynamicArguments:[],readsValue:SN,index:1,defaultValue:null,parent:mE},CN={type:i.GenericReference,id:"max-num-iterations-value-map-default-value-parent-ref-id",entityType:i.InputMap,entityId:"max-num-iterations-value-map-id"},BN={id:"max-num-iterations-value-map-id",version:1,type:i.InputMap,declaration:Ur.fixedArguments[1],name:null,description:null,dynamicArguments:[],readsValue:null,index:0,defaultValue:{id:"max-num-iterations-value-map-default-value-id",type:i.PrimitiveValue,version:1,name:P.Number,value:10,autogeneration:null,valueAsType:null,parent:CN},parent:mE},wN={type:i.Condition,id:Zi,version:1,declaration:Ur,inputs:[BN,ON],calledByError:[],calledByEntry:[PN],calledBySuccess:[],successCalls:[uE,DN],errorCalls:[yE],x:0,y:0,parent:AN},_N={type:i.GenericReference,id:"base-string-map-ref-id",entityType:i.InputMap,entityId:"join-hello-world-and-number-base-string-map-id"},MN={type:i.GenericReference,id:"join-hello-world-and-number-base-string-map-parent-ref-id",entityType:i.Operation,entityId:vs},NN={id:"join-hello-world-and-number-base-string-map-id",type:i.InputMap,version:1,declaration:Ba,name:null,description:null,readsValue:null,defaultValue:{id:"join-hello-world-and-number-base-string-map-default-value-id",type:i.PrimitiveValue,version:1,value:"Hello world ",name:P.String,parent:_N,valueAsType:null,autogeneration:null},dynamicArguments:[],index:0,parent:MN},VN={type:i.GenericReference,id:"assembly-string-map-parent-ref-id",entityType:i.Operation,entityId:vs},$N={id:Ll,type:i.OutputMap,version:1,writesValues:[fE,pE],declaration:bi,index:0,parent:VN},LN={type:i.GenericReference,id:"join-hello-world-and-number-called-by-ref-id",entityType:i.FunctionDeclaration,entityId:Yi},GN={type:i.GenericReference,id:"current-iteration-number-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:zi},FN={type:i.GenericReference,id:"62b4afb0-6c21-4b0f-abd3-cebef7b17c28",entityType:i.Operation,entityId:vs},TE={id:"current-iteration-number-input-map-id",version:1,type:i.InputMap,declaration:wa,name:null,description:null,readsValue:GN,dynamicArguments:[],defaultValue:null,index:1,parent:FN},UN={type:i.GenericReference,id:"join-hello-world-and-number-parent-ref-id",entityType:i.FunctionDeclaration,entityId:en},xN={type:i.Operation,id:vs,declaration:gi,version:1,inputs:[NN,TE],outputs:[$N],process:null,calledByError:[],calledByEntry:[LN],calledBySuccess:[],dynamicArguments:[],successCalls:[],errorCalls:[],error:null,x:0,y:0,parent:UN},jN={id:"manual-hello-world-loop-iterations-results-declaration-data-type-parent-ref-id",type:i.GenericReference,entityId:$l,entityType:i.ArgumentDeclaration},kN={id:"manual-hello-world-loop-iterations-results-declaration-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!0,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:jN},qN={id:"manual-hello-world-loop-previous-iterations-results-output-map-parent-ref-id",type:i.GenericReference,entityId:Yi,entityType:i.FunctionDeclaration},JN={id:$l,type:i.ArgumentDeclaration,version:1,name:"Previous iterations results",description:"The results of the previous iterations of the loop.",required:!0,dataType:kN,writesValues:[hE],index:1,parent:qN},WN={id:"manual-hello-world-loop-current-iteration-number-output-map-parent-ref-id",type:i.GenericReference,entityId:Yi,entityType:i.FunctionDeclaration},HN={id:"manual-flow-loop-current-iteration-number-declaration-data-type-parent-ref-id",type:i.GenericReference,entityId:zi,entityType:i.ArgumentDeclaration};i.DataType;const YN={id:zi,type:i.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,dE],index:0,parent:WN},zN={id:"manual-flow-loop-body-parent-ref-id",type:i.GenericReference,entityId:en,entityType:i.Loop},ZN={id:Yi,type:i.FunctionDeclaration,version:1,name:"Iteration logic trigger",description:"This function is called multiple times, once for each iteration of the loop.",inputs:[YN,JN],calls:[wN,xN],implements:null,collapsed:!1,returnStatements:[],private:!1,index:0,x:0,y:0,parent:zN},XN={type:i.GenericReference,id:"hello-world-loop-iteration-result-inline-output-declaration-parent-ref-id",entityType:i.Loop,entityId:en},EE={id:"hello-world-loop-iteration-result-inline-output-declaration-id",version:1,type:i.ValueDescriptor,name:"Iteration result",description:null,dataType:null,required:!0,index:0,parent:XN},QN={type:i.GenericReference,id:"hello-world-loop-break-statement-output-map-parent-ref-id",entityType:i.Loop,entityId:en},KN={type:i.OutputMap,id:sE,version:1,declaration:EE,writesValues:[oE],index:0,parent:QN},e0={id:"manual-hello-world-loop-parent-ref-id",type:i.GenericReference,entityId:Z,entityType:i.Project},t0={id:"manual-hello-world-loop-called-by-ref-id",type:i.GenericReference,entityId:Nl,entityType:i.FunctionDeclaration},n0={id:en,type:i.Loop,version:1,declaration:Yo,inputs:[],outputsDeclarations:[EE],outputs:[KN],body:ZN,successCalls:[lE],errorCalls:[],process:null,error:null,calledByError:[],calledByEntry:[t0],calledBySuccess:[],breakStatements:[uE],continueStatements:[yE],x:0,y:0,parent:e0},r0={type:i.GenericReference,id:"manual-hello-world-loop-function-declaration-parent-ref-id",entityType:i.Project,entityId:Z},RE={type:i.FunctionDeclaration,id:Nl,version:1,name:"Manual hello world loop",description:null,inputs:[],calls:[n0],returnStatements:[lE],implements:null,collapsed:!1,private:!1,index:null,x:0,y:0,parent:r0},i0={type:i.GenericReference,id:"call-hello-world-loop-parent-ref-id",entityType:i.Project,entityId:Z},a0={id:"call-hello-world-loop-id",type:i.FunctionCall,version:1,declaration:RE,inputs:[],outputs:[],process:null,successCalls:[],errorCalls:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[],x:0,y:0,parent:i0},hn="company-dto-function-declaration-id",Gl="company-dto-func-declaration-argument-dcl-id",tn="company-dto-function-company-variable-id",Ln="company-dto-function-company-dto-variable-id",Zr="iterate-over-employee-list-loop-id",bE="iterate-over-employee-list-loop-employee-dto-output-map-id",Fl="iterate-over-employee-list-loop-body-current-employee-argument-declaration-id",Xi="iterate-over-employee-list-loop-body-map-employee-dto-function-call-id",gE="iterate-over-employee-list-continue-statement-employee-dto-output-decl-id",s0="iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-dto-output-map-id",vE="iterate-over-employee-list-continue-statement-id",Ds="iterate-over-employee-list-loop-body-id",IE="company-dto-func-declaration-return-statement-id",DE="company-dto-func-declaration-return-decl-id",PE="company-dto-func-declaration-company-variable-id-output-map-id",AE="company-dto-func-declaration-company-variable-employess-output-map-id",SE="company-dto-func-declaration-company-variable-name-output-map-id",o0="company-dto-func-declaration-company-dto-variable-input-map-id",l0="company-dto-func-declaration-company-dto-variable-employess-input-map-id",c0="company-dto-func-declaration-company-dto-variable-name-input-map-id",Ps="company-dto-func-declaration-owner-variable-id",d0="company-dto-func-declaration-company-dto-variable-owner-input-map-id",OE="company-dto-func-declaration-company-variable-owner-output-map-id",CE="company-dto-func-declaration-owner-variable-id-output-map-id",As="company-dto-func-declaration-bank-account-variable-id",u0="company-dto-func-declaration-company-dto-variable-bank-account-input-map-id",BE="company-dto-func-declaration-company-variable-bank-account-output-map-id",wE="company-dto-func-declaration-bank-account-variable-id-output-map-id",p0={type:i.GenericReference,id:"company-dto-func-returned-company-dto-data-type-parent-ref-id",entityType:i.ReturnDeclaration,entityId:DE},y0={id:"company-dto-func-returned-company-dto-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:gt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:p0},h0={type:i.GenericReference,id:"company-dto-func-returned-company-dto-parent-ref-id",entityType:i.ReturnStatement,entityId:IE},f0={type:i.GenericReference,id:"company-dto-func-returned-company-dto-reads-value-ref-id",entityType:i.VariableDeclaration,entityId:Ln},_E={isError:!1,id:DE,type:i.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:y0,readsValue:f0,required:!0,index:0,parent:h0},m0={type:i.GenericReference,id:"company-dto-func-return-statement-called-by-ref-id",entityType:i.Operation,entityId:Ln},T0={type:i.GenericReference,id:"company-dto-func-return-statement-parent-ref-id",entityType:i.FunctionDeclaration,entityId:hn},Ul={type:i.ReturnStatement,id:IE,version:1,outputs:[_E],calledByError:[],calledByEntry:[],calledBySuccess:[m0],throws:null,x:0,y:0,parent:T0},E0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-owner-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:CE},R0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-owner-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:Ln},ME={id:d0,type:i.InputMap,version:1,declaration:null,name:"owner_id",description:null,defaultValue:null,dynamicArguments:[],index:5,readsValue:E0,parent:R0},b0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-bank-account-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:wE},g0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-bank-account-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:Ln},NE={id:u0,type:i.InputMap,version:1,declaration:null,name:"bank_account_id",description:null,defaultValue:null,dynamicArguments:[],index:4,readsValue:b0,parent:g0},v0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-name-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:SE},I0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-name-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:Ln},VE={id:c0,type:i.InputMap,version:1,declaration:null,name:"name",description:null,defaultValue:null,dynamicArguments:[],index:3,readsValue:v0,parent:I0},D0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-employess-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:bE},P0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-employess-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:Ln},$E={id:l0,type:i.InputMap,version:1,declaration:null,name:"employees",description:null,defaultValue:null,dynamicArguments:[],index:2,readsValue:D0,parent:P0},A0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-id-output-map-reads-value-ref-id",entityType:i.OutputMap,entityId:PE},S0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:Ln},LE={id:o0,type:i.InputMap,version:1,declaration:null,name:"id",description:"The ID of the company",defaultValue:null,dynamicArguments:[],index:1,readsValue:A0,parent:S0},O0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:hn},C0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-called-by-ref-one-id",entityType:i.VariableDeclaration,entityId:As},B0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-called-by-ref-two-id",entityType:i.VariableDeclaration,entityId:Ps},w0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-called-by-ref-three-id",entityType:i.VariableDeclaration,entityId:Zr},xl={id:Ln,type:i.VariableDeclaration,version:1,name:"Company DTO",dataType:null,description:"A variable holding the data of a mapped company DTO",calledByError:[],calledByEntry:[],calledBySuccess:[C0,B0,w0],successCalls:[Ul],errorCalls:[],readsValue:null,writesValues:[_E],inputs:[LE,VE,NE,ME,$E],outputs:[],internalCalls:[],parent:O0,x:0,y:0},ir="employee-dto-func-declaration-id",jl="employee-dto-func-declaration-argument-dcl-id",GE="employee-dto-func-declaration-return-statement-id",FE="employee-dto-func-declaration-return-decl-id",ar="employee-dto-func-declaration-employee-variable-id",sr="employee-dto-func-declaration-employee-dto-variable-id",Ss="employee-dto-func-declaration-manager-variable-id",UE="employee-dto-func-declaration-employee-variable-id-output-map-id",xE="employee-dto-func-declaration-employee-variable-birth-date-output-map-id",jE="employee-dto-func-declaration-employee-variable-department-output-map-id",kE="employee-dto-func-declaration-employee-variable-manager-output-map-id",qE="employee-dto-func-declaration-manager-variable-id-output-map-id",_0="employee-dto-func-declaration-employee-dto-variable-input-map-id",M0="employee-dto-func-declaration-employee-dto-variable-birth-date-input-map-id",N0="employee-dto-func-declaration-employee-dto-variable-department-input-map-id",V0="employee-dto-func-declaration-employee-dto-variable-manager-input-map-id",$0={type:i.GenericReference,id:"employee-dto-func-returned-employee-dto-data-type-parent-ref-id",entityType:i.ReturnDeclaration,entityId:FE},L0={id:"employee-dto-func-returned-employee-dto-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:gt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:$0},G0={type:i.GenericReference,id:"employee-dto-func-returned-employee-dto-parent-ref-id",entityType:i.ReturnStatement,entityId:GE},F0={type:i.GenericReference,id:"employee-dto-func-returned-employee-dto-reads-value-ref-id",entityType:i.VariableDeclaration,entityId:sr},JE={isError:!1,id:FE,type:i.ReturnDeclaration,version:1,name:"Employee DTO",description:"Output the employee data in the format that it will be sent through an HTTP request.",dataType:L0,readsValue:F0,required:!0,index:0,parent:G0},U0={type:i.GenericReference,id:"employee-dto-func-return-statement-called-by-ref-id",entityType:i.Operation,entityId:sr},x0={type:i.GenericReference,id:"employee-dto-func-return-statement-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ir},kl={type:i.ReturnStatement,id:GE,version:1,outputs:[JE],calledByError:[],calledByEntry:[],calledBySuccess:[U0],throws:null,x:0,y:0,parent:x0},j0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-manager-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:qE},k0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-manager-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:sr},WE={id:V0,type:i.InputMap,version:1,declaration:null,name:"manager_id",description:null,defaultValue:null,dynamicArguments:[],index:4,readsValue:j0,parent:k0},q0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-department-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:jE},J0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-department-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:sr},HE={id:N0,type:i.InputMap,version:1,declaration:null,name:"department_name",description:null,defaultValue:null,dynamicArguments:[],index:3,readsValue:q0,parent:J0},W0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-birth-date-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:xE},H0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-birth-date-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:sr},YE={id:M0,type:i.InputMap,version:1,declaration:null,name:"birth_date",description:null,defaultValue:null,dynamicArguments:[],index:2,readsValue:W0,parent:H0},Y0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-id-output-map-reads-value-ref-id",entityType:i.OutputMap,entityId:UE},z0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:sr},zE={id:_0,type:i.InputMap,version:1,declaration:null,name:"id",description:"The ID of the employee",defaultValue:null,dynamicArguments:[],index:1,readsValue:Y0,parent:z0},Z0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ir},X0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-called-by-ref-id",entityType:i.VariableDeclaration,entityId:Ss},Q0={id:sr,type:i.VariableDeclaration,version:1,name:"Employee DTO",dataType:null,description:"A variable holding the data of a mapped employee DTO",calledByError:[],calledByEntry:[],calledBySuccess:[X0],successCalls:[kl],errorCalls:[],readsValue:null,writesValues:[JE],inputs:[zE,YE,HE,WE],outputs:[],internalCalls:[],parent:Z0,x:0,y:0},K0={type:i.GenericReference,id:"employee-dto-func-manager-variable-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:Ss},e1={id:qE,type:i.OutputMap,version:1,declaration:Le.properties[1],index:0,writesValues:[WE],parent:K0},t1={type:i.GenericReference,id:"employee-dto-func-manager-variable-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:Ss},n1={id:"employee-dto-func-manager-variable-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Bt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:t1,defaultValue:null},r1={type:i.GenericReference,id:"employee-dto-func-manager-variable-reads-value-ref-id",entityType:i.OutputMap,entityId:kE},i1={type:i.GenericReference,id:"employee-dto-func-manager-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ir};i.GenericReference,i.VariableDeclaration;const ZE={id:Ss,type:i.VariableDeclaration,version:1,name:"Manager",dataType:n1,description:"A variable holding an inherited manager",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[Q0],errorCalls:[],readsValue:r1,writesValues:[],inputs:[],outputs:[e1],internalCalls:[],parent:i1,x:0,y:0},a1={type:i.GenericReference,id:"employee-dto-func-employee-variable-manager-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:ar},s1={id:kE,type:i.OutputMap,version:1,declaration:Bt.properties[2],index:3,writesValues:[ZE],parent:a1},o1={type:i.GenericReference,id:"employee-dto-func-employee-variable-department-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:ar},l1={id:jE,type:i.OutputMap,version:1,declaration:Bt.properties[0],index:2,writesValues:[HE],parent:o1},c1={type:i.GenericReference,id:"employee-dto-func-employee-variable-birth-date-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:ar},d1={id:xE,type:i.OutputMap,version:1,declaration:yt.properties[1],index:1,writesValues:[YE],parent:c1},u1={type:i.GenericReference,id:"employee-dto-func-employee-variable-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:ar},p1={id:UE,type:i.OutputMap,version:1,declaration:Le.properties[1],index:0,writesValues:[zE],parent:u1},y1={type:i.GenericReference,id:"employee-dto-func-employee-variable-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:ar},h1={id:"employee-dto-func-employee-variable-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Bt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:y1,defaultValue:null},f1={type:i.GenericReference,id:"employee-dto-func-employee-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ir},m1={type:i.GenericReference,id:"employee-dto-func-employee-variable-reads-value-ref-id",entityType:i.ArgumentDeclaration,entityId:jl},T1={type:i.GenericReference,id:"employee-dto-func-employee-variable-called-by-id",entityType:i.FunctionDeclaration,entityId:ir},XE={id:ar,type:i.VariableDeclaration,version:1,name:"Company employee",dataType:h1,description:"A variable holding a company employee",calledByError:[],calledByEntry:[T1],calledBySuccess:[],successCalls:[ZE],errorCalls:[],readsValue:m1,writesValues:[],inputs:[],outputs:[p1,d1,l1,s1],internalCalls:[],parent:f1,x:0,y:0},E1={type:i.GenericReference,id:"employee-dto-func-declaration-employee-input-declaration-data-type-parent-ref-id",entityId:jl,entityType:i.ArgumentDeclaration},R1={type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"employee-dto-func-declaration-employee-input-declaration-data-type-id",version:1,entity:Bt,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:E1,defaultValue:null},b1={type:i.GenericReference,id:"employee-dto-func-declaration-employee-input-declaration-parent-ref-id",entityId:ir,entityType:i.FunctionDeclaration},g1={type:i.ArgumentDeclaration,id:jl,version:1,name:"Employee",description:"The employee to create a DTO for",required:!0,dataType:R1,index:0,writesValues:[XE],parent:b1},v1={type:i.GenericReference,id:"employee-dto-function-declaration-parent-ref-id",entityType:i.Project,entityId:Z},ql={type:i.FunctionDeclaration,id:ir,version:1,name:"Employee DTO",description:"Takes a employee and returns a DTO of that employee",index:null,inputs:[g1],calls:[XE],implements:null,returnStatements:[kl],collapsed:!1,private:!1,x:0,y:0,parent:v1},I1={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-data-type-parent-ref-id",type:i.GenericReference,entityId:gE,entityType:i.ReturnDeclaration},D1={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,defaultValue:null,entity:Bt,isList:!1,isNullable:!1,asType:!1,constant:!1,parent:I1},P1={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-reads-value-ref-id",type:i.GenericReference,entityId:Xi,entityType:i.OutputMap},A1={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-parent-ref-id",type:i.GenericReference,entityId:vE,entityType:i.ContinueStatement},QE={isError:!1,id:gE,type:i.ReturnDeclaration,version:1,name:"Employee DTO",description:"The DTO of the employee entity.",readsValue:P1,dataType:D1,required:!0,index:0,parent:A1},S1={id:"iterate-over-employee-list-continue-statement-called-by-ref-id",type:i.GenericReference,entityId:Xi,entityType:i.FunctionCall},O1={id:"iterate-over-employee-list-continue-statement-parent-ref-id",type:i.GenericReference,entityId:Zr,entityType:i.Loop},KE={id:vE,type:i.ContinueStatement,version:1,calledByError:[],calledByEntry:[],calledBySuccess:[S1],outputs:[QE],throws:null,x:0,y:0,parent:O1},C1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-dto-output-map-parent-ref-id",type:i.GenericReference,entityId:Xi,entityType:i.FunctionCall},B1={id:s0,type:i.OutputMap,version:1,declaration:kl.outputs[0],writesValues:[QE],index:0,parent:C1},w1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-input-map-reads-value-ref-id",type:i.GenericReference,entityId:Fl,entityType:i.ArgumentDeclaration},_1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-input-map-parent-ref-id",type:i.GenericReference,entityId:Xi,entityType:i.FunctionCall},eR={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-input-map-id",type:i.InputMap,version:1,name:null,description:null,declaration:ql.inputs[0],readsValue:w1,index:0,defaultValue:null,dynamicArguments:[],parent:_1},M1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-called-by-ref-id",type:i.GenericReference,entityId:Ds,entityType:i.FunctionDeclaration},N1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-parent-ref-id",type:i.GenericReference,entityId:Ds,entityType:i.FunctionDeclaration},V1={id:Xi,type:i.FunctionCall,version:1,declaration:ql,inputs:[eR],process:null,outputs:[B1],calledByError:[],calledByEntry:[M1],calledBySuccess:[],successCalls:[KE],errorCalls:[],error:null,x:0,y:0,parent:N1},$1={type:i.GenericReference,id:"iterate-over-employee-list-loop-body-current-employee-argument-declaration-data-type-parent-ref-id",entityId:Fl,entityType:i.ArgumentDeclaration},L1={id:"iterate-over-employee-list-loop-body-current-employee-argument-declaration-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,defaultValue:null,entity:Bt,isList:!1,isNullable:!1,asType:!1,constant:!1,parent:$1},G1={id:"iterate-over-employee-list-loop-body-current-employee-argument-declaration-parent-ref-id",type:i.GenericReference,entityId:Ds,entityType:i.FunctionDeclaration},F1={id:Fl,type:i.ArgumentDeclaration,version:1,name:"Current employee",description:"The current employee entity being processed.",dataType:L1,required:!0,index:0,writesValues:[eR],parent:G1},U1={id:"iterate-over-employee-list-loop-body-parent-ref-id",type:i.GenericReference,entityId:Zr,entityType:i.Loop},x1={id:Ds,type:i.FunctionDeclaration,version:1,name:"Iteration logic trigger",description:"This function is called once for each entity in the list.",inputs:[F1],calls:[V1],implements:null,collapsed:!1,returnStatements:[],private:!1,index:0,x:0,y:0,parent:U1},j1={id:"iterate-over-employee-list-loop-iteration-list-input-map-parent-ref-id",type:i.GenericReference,entityId:Zr,entityType:i.Loop},k1={id:"iterate-over-employee-list-loop-iteration-list-input-map-reads-value-ref-id",type:i.GenericReference,entityId:AE,entityType:i.OutputMap},tR={id:"iterate-over-employee-list-loop-iteration-list-input-map-id",type:i.InputMap,version:1,name:null,description:null,declaration:Qn.fixedArguments[0],defaultValue:null,dynamicArguments:[],readsValue:k1,index:0,parent:j1},q1={id:"iterate-over-employee-list-loop-parent-ref-id",type:i.GenericReference,entityId:hn,entityType:i.FunctionDeclaration},J1={id:"iterate-over-employee-list-loop-employee-dto-output-map-parent-ref-id",type:i.GenericReference,entityId:Zr,entityType:i.Loop},W1={id:bE,type:i.OutputMap,version:1,declaration:Qn.fixedReturns[0],writesValues:[$E],index:0,parent:J1},H1={type:i.GenericReference,id:"iterate-over-employee-list-loop-called-by-ref-id",entityType:i.VariableDeclaration,entityId:tn},Y1={id:Zr,type:i.Loop,version:1,declaration:Qn,inputs:[tR],successCalls:[xl],errorCalls:[],outputsDeclarations:[],outputs:[W1],body:x1,process:null,calledByError:[],calledByEntry:[],calledBySuccess:[H1],breakStatements:[],continueStatements:[KE],error:null,x:0,y:0,parent:q1},z1={type:i.GenericReference,id:"company-dto-func-bank-account-variable-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:As},Z1={id:wE,type:i.OutputMap,version:1,declaration:Le.properties[1],index:0,writesValues:[NE],parent:z1},X1={type:i.GenericReference,id:"company-dto-func-bank-account-variable-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:As},Q1={id:"company-dto-func-bank-account-variable-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:gt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:X1,defaultValue:null},K1={type:i.GenericReference,id:"company-dto-func-bank-account-variable-reads-value-ref-id",entityType:i.OutputMap,entityId:BE},eV={type:i.GenericReference,id:"company-dto-func-bank-account-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:hn};i.GenericReference,i.VariableDeclaration;const nR={id:As,type:i.VariableDeclaration,version:1,name:"Bank account",dataType:Q1,description:"A variable holding an inherited bank account",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[xl],errorCalls:[],readsValue:K1,writesValues:[],inputs:[],outputs:[Z1],internalCalls:[],parent:eV,x:0,y:0},tV={type:i.GenericReference,id:"company-dto-func-owner-variable-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:Ps},nV={id:CE,type:i.OutputMap,version:1,declaration:Le.properties[1],index:0,writesValues:[ME],parent:tV},rV={type:i.GenericReference,id:"company-dto-func-owner-variable-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:Ps},iV={id:"company-dto-func-owner-variable-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:gt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:rV,defaultValue:null},aV={type:i.GenericReference,id:"company-dto-func-owner-variable-reads-value-ref-id",entityType:i.OutputMap,entityId:OE},sV={type:i.GenericReference,id:"company-dto-func-owner-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:hn};i.GenericReference,i.VariableDeclaration;const rR={id:Ps,type:i.VariableDeclaration,version:1,name:"Owner",dataType:iV,description:"A variable holding an inherited owner",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[xl],errorCalls:[],readsValue:aV,writesValues:[],inputs:[],outputs:[nV],internalCalls:[],parent:sV,x:0,y:0},oV={type:i.GenericReference,id:"company-dto-func-company-variable-owner-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:tn},lV={id:OE,type:i.OutputMap,version:1,declaration:gt.properties[2],index:4,writesValues:[rR],parent:oV},cV={type:i.GenericReference,id:"company-dto-func-company-variable-bank-account-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:tn},dV={id:BE,type:i.OutputMap,version:1,declaration:gt.properties[2],index:3,writesValues:[nR],parent:cV},uV={type:i.GenericReference,id:"company-dto-func-company-variable-name-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:tn},pV={id:SE,type:i.OutputMap,version:1,declaration:gt.properties[0],index:2,writesValues:[VE],parent:uV},yV={type:i.GenericReference,id:"company-dto-func-company-variable-employess-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:tn},hV={id:AE,type:i.OutputMap,version:1,declaration:gt.properties[3],index:1,writesValues:[tR],parent:yV},fV={type:i.GenericReference,id:"company-dto-func-company-variable-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:tn},mV={id:PE,type:i.OutputMap,version:1,declaration:Le.properties[1],index:0,writesValues:[LE],parent:fV},TV={type:i.GenericReference,id:"company-dto-func-company-variable-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:tn},EV={id:"company-dto-func-company-variable-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:gt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:TV,defaultValue:null},RV={type:i.GenericReference,id:"company-dto-func-company-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:hn},bV={type:i.GenericReference,id:"company-dto-func-company-variable-reads-value-ref-id",entityType:i.ArgumentDeclaration,entityId:Gl},gV={type:i.GenericReference,id:"company-dto-func-company-variable-called-by-id",entityType:i.FunctionDeclaration,entityId:hn},iR={id:tn,type:i.VariableDeclaration,version:1,name:"Company",dataType:EV,description:"A variable holding a company",calledByError:[],calledByEntry:[gV],calledBySuccess:[],successCalls:[nR,rR,Y1],errorCalls:[],readsValue:bV,writesValues:[],inputs:[],outputs:[mV,hV,pV,dV,lV],internalCalls:[],parent:RV,x:0,y:0},vV={type:i.GenericReference,id:"company-dto-func-declaration-company-input-declaration-data-type-parent-ref-id",entityId:Gl,entityType:i.ArgumentDeclaration},IV={type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"company-dto-func-declaration-company-input-declaration-data-type-id",version:1,entity:gt,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:vV,defaultValue:null},DV={type:i.GenericReference,id:"company-dto-func-declaration-company-input-declaration-parent-ref-id",entityId:hn,entityType:i.FunctionDeclaration},PV={type:i.ArgumentDeclaration,id:Gl,version:1,name:"Company",description:"The company to create a DTO for",required:!0,dataType:IV,index:0,writesValues:[iR],parent:DV},AV={type:i.GenericReference,id:"company-dto-function-declaration-parent-ref-id",entityType:i.Project,entityId:Z},Jl={type:i.FunctionDeclaration,id:hn,version:1,name:"Company DTO",description:"Takes a company and returns a DTO of that company",inputs:[PV],calls:[iR],implements:null,index:null,returnStatements:[Ul],collapsed:!1,private:!1,x:0,y:0,parent:AV},Qi="exec-in-parallel-operation-call-id",Ki="exec-sequentially-operation-call-id",ht="concurrency-and-wait-function-declaration-id",aR="concurrency-and-wait-return-statement-id",sR="concurrency-and-wait-return-declaration-id",Wl="exec-in-parallel-argument-map-id",oR="exec-sequentially-argument-map-id",Hl="wait-for-2-seconds-operation-id",lR="wait-for-2-seconds-argument-map-id",Yl="map-company-dto-function-call-id",cR="map-company-dto-function-call-company-dto-output-map-id",ea="company-dto-variable-one-id",zl="company-dto-variable-one-instance-id",SV="company-dto-variable-two-id",OV={type:i.GenericReference,id:"returned-company-dto-data-type-parent-ref-id",entityType:i.ReturnDeclaration,entityId:sR},CV={id:"returned-company-dto-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:gt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:OV},BV={type:i.GenericReference,id:"returned-company-dto-parent-ref-id",entityType:i.ReturnStatement,entityId:aR},wV={type:i.GenericReference,id:"returned-company-dto-reads-value-ref-id",entityType:i.VariableDeclaration,entityId:ea},dR={isError:!1,id:sR,type:i.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:CV,readsValue:wV,required:!0,index:0,parent:BV},_V={type:i.GenericReference,id:"concurrency-and-wait-return-statement-called-by-ref-id",entityType:i.Operation,entityId:Hl},MV={type:i.GenericReference,id:"concurrency-and-wait-return-statement-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht},uR={type:i.ReturnStatement,id:aR,version:1,outputs:[dR],calledByError:[],calledByEntry:[],calledBySuccess:[_V],throws:null,x:0,y:0,parent:MV},NV={type:i.GenericReference,id:"company-dto-variable-two-called-by-ref-id",entityType:i.VariableInstance,entityId:zl},VV={type:i.GenericReference,id:"company-dto-variable-two-reads-value-ref-id",entityType:i.VariableInstance,entityId:zl},$V={type:i.GenericReference,id:"company-dto-variable-two-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht},pR={id:SV,type:i.VariableDeclaration,version:1,name:"Company DTO",description:null,dataType:null,inputs:[],outputs:[],successCalls:[],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[NV],internalCalls:[],writesValues:[dR],readsValue:VV,x:0,y:0,parent:$V},LV={type:i.GenericReference,id:"company-dto-variable-one-instance-called-by-ref-id",entityType:i.VariableDeclaration,entityId:ea},GV={type:i.GenericReference,id:"company-dto-variable-one-instance-reads-value-ref-id",entityType:i.VariableDeclaration,entityId:ea},FV={type:i.GenericReference,id:"company-dto-variable-one-instance-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht},UV={type:i.GenericReference,id:"company-dto-variable-one-instance-declaration-ref-id",entityType:i.VariableDeclaration,entityId:ea},yR={id:zl,type:i.VariableInstance,version:1,declaration:UV,inputs:[],outputs:[],successCalls:[pR],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[LV],internalCalls:[],writesValues:[pR],readsValue:GV,x:0,y:0,parent:FV},xV={type:i.GenericReference,id:"company-dto-variable-one-called-by-ref-id",entityType:i.FunctionCall,entityId:Yl},jV={type:i.GenericReference,id:"company-dto-variable-one-reads-value-ref-id",entityType:i.OutputMap,entityId:cR},kV={type:i.GenericReference,id:"company-dto-variable-one-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht},hR={id:ea,type:i.VariableDeclaration,version:1,name:"Company DTO",description:null,dataType:null,inputs:[],outputs:[],successCalls:[yR],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[xV],internalCalls:[],writesValues:[yR],readsValue:jV,x:0,y:0,parent:kV},fR={type:i.GenericReference,id:"map-company-dto-function-call-company-input-map-parent-ref-id",entityType:i.FunctionCall,entityId:Yl},qV={id:"map-company-dto-function-call-company-input-map-id",type:i.InputMap,version:1,declaration:Jl.inputs[0],name:null,description:null,defaultValue:null,dynamicArguments:[],index:0,readsValue:null,parent:fR},JV={id:cR,type:i.OutputMap,version:1,declaration:Ul.outputs[0],writesValues:[hR],index:0,parent:fR},WV={id:"map-company-dto-function-call-called-by-ref-id",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:ht},HV={id:"map-company-dto-function-call-parent-ref-id",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:ht},YV={id:Yl,type:i.FunctionCall,version:1,declaration:Jl,successCalls:[hR],process:null,errorCalls:[],inputs:[qV],outputs:[JV],calledByError:[],calledByEntry:[WV],calledBySuccess:[],parent:HV,x:0,y:0,error:null},zV={type:i.GenericReference,id:"last-timestamp-variable-datatype-parent-ref-id",entityType:i.VariableDeclaration,entityId:dT},ZV={type:i.GenericReference,id:"last-timestamp-variable-default-value-parent-ref-id",entityType:i.DataType,entityId:"last-timestamp-variable-datatype-id"},XV={id:"last-timestamp-variable-datatype-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:dn,version:1,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:zV,defaultValue:{id:"last-timestamp-variable-default-value-id",type:i.PrimitiveValue,version:1,name:P.Date,value:null,autogeneration:{type:qe.CurrentDateAndTime,rangeStart:null,rangeEnd:null},parent:ZV,valueAsType:null}},QV={type:i.GenericReference,id:"last-timestamp-variable-main-project-ref-id",entityType:i.Project,entityId:Z},Zl={id:dT,type:i.VariableDeclaration,version:1,name:"Last registered current time",description:"A test variable that holds the last current date and time that was registered.",dataType:XV,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:QV},KV={type:i.GenericReference,id:"wait-for-2-seconds-argument-default-value-parent-ref-id",entityType:i.InputMap,entityId:lR},e$={type:i.GenericReference,id:"wait-for-2-seconds-argument-map-parent-ref-id",entityType:i.Operation,entityId:Hl},t$={id:lR,type:i.InputMap,version:1,declaration:Zn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"wait-for-2-seconds-argument-default-value-id",type:i.PrimitiveValue,version:1,value:2e3,valueAsType:null,autogeneration:null,name:P.Number,parent:KV},index:0,parent:e$},n$={type:i.GenericReference,id:"wait-for-2-seconds-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht},r$={type:i.GenericReference,id:"wait-for-2-seconds-called-by-ref-one-id",entityType:i.FunctionDeclaration,entityId:Ki},i$={type:i.GenericReference,id:"wait-for-2-seconds-called-by-ref-two-id",entityType:i.FunctionDeclaration,entityId:Qi},mR={id:Hl,type:i.Operation,version:1,declaration:kt,inputs:[t$],dynamicArguments:[],outputs:[],process:null,successCalls:[uR],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[r$,i$],calledBySuccess:[],error:null,parent:n$},a$={type:i.GenericReference,id:"wait-for-random-amount-argument-default-value-parent-ref-id",entityType:i.InputMap,entityId:"wait-for-random-amount-input-map-id"},s$={type:i.GenericReference,id:"wait-for-random-amount-argument-map-parent-ref-id",entityType:i.Operation,entityId:"wait-for-random-amount-id"},o$={id:"wait-for-random-amount-input-map-id",type:i.InputMap,version:1,declaration:Zn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"wait-for-random-amount-argument-default-value-id",type:i.PrimitiveValue,version:1,value:null,valueAsType:null,autogeneration:{type:qe.Random,rangeStart:1e3,rangeEnd:4e3},name:P.Number,parent:a$},index:0,parent:s$},l$={type:i.GenericReference,id:"wait-for-random-amount-parent-ref-id",entityType:i.Project,entityId:Z},Xr={id:"wait-for-random-amount-id",type:i.Operation,version:1,declaration:kt,inputs:[o$],dynamicArguments:[],process:null,outputs:[],successCalls:[],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[],calledBySuccess:[],error:null,parent:l$},TR="list-of-functions-variable-id",c$={type:i.GenericReference,id:"list-of-functions-variable-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:TR},d$={id:"list-of-functions-variable-action-descriptor-id",type:i.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:U.Dynamic,dynamicArgumentTypes:null,fixedArguments:[],returnsType:U.Dynamic,error:null,dynamicReturnTypes:null,fixedReturns:[],parent:null},u$={type:i.GenericReference,id:"list-of-functions-variable-data-type-default-parent-ref-id",entityType:i.DataType,entityId:"list-of-functions-variable-data-type-id"},p$={id:"list-of-functions-variable-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:d$,asType:!1,isList:!0,isNullable:!1,defaultValue:{id:"list-of-functions-variable-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.ActionDescriptor,value:null,valueAsType:[Xr,Xr,Xr,Xr,Xr],autogeneration:null,parent:u$},constant:!1,parent:c$},y$={type:i.GenericReference,id:"list-of-functions-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht};i.GenericReference,i.InputMap;const h$={type:i.GenericReference,id:"list-of-functions-variable-writes-value-one-ref-id",entityType:i.InputMap,entityId:oR},f$={type:i.GenericReference,id:"list-of-functions-variable-writes-value-two-ref-id",entityType:i.InputMap,entityId:Wl},ER={id:TR,type:i.VariableDeclaration,version:1,name:"List of functions to execute",description:"A list of functions to be executed in parallel",dataType:p$,parent:y$,readsValue:null,writesValues:[h$,f$],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],inputs:[],outputs:[],internalCalls:[],x:0,y:0},m$={type:i.GenericReference,id:"exec-in-parallel-return-map-parent-ref-id",entityType:i.Operation,entityId:Qi},T$={type:i.GenericReference,id:"exec-in-parallel-result-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht},E$={type:i.GenericReference,id:"exec-in-parallel-result-variable-reads-value-ref-id",entityType:i.OutputMap,entityId:"exec-in-parallel-return-map-id"},R$={type:i.GenericReference,id:"exec-in-parallel-result-variable-called-by-ref-id",entityType:i.Operation,entityId:Qi},RR={id:"exec-in-parallel-result-variable-id",type:i.VariableInstance,version:1,declaration:Zl,readsValue:E$,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[R$],successCalls:[],errorCalls:[],internalCalls:[],parent:T$,x:0,y:0},b$={id:"exec-in-parallel-return-map-id",type:i.OutputMap,version:1,declaration:jo,writesValues:[RR],index:0,parent:m$},g$={type:i.GenericReference,id:"exec-in-parallel-argument-map-parent-ref-id",entityType:i.Operation,entityId:Qi},v$={id:Wl,type:i.InputMap,version:1,declaration:xo,name:null,description:null,dynamicArguments:[],readsValue:ER,defaultValue:null,index:0,parent:g$},I$={type:i.GenericReference,id:"exec-in-parallel-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht},D$={type:i.GenericReference,id:"exec-in-parallel-called-by-ref-id",entityType:i.FunctionDeclaration,entityId:ht},P$={process:null,id:Qi,type:i.Operation,version:1,declaration:kt,inputs:[v$],dynamicArguments:[],outputs:[b$],successCalls:[mR,RR],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[D$],calledBySuccess:[],error:null,parent:I$},A$={type:i.GenericReference,id:"exec-sequentially-return-map-parent-ref-id",entityType:i.Operation,entityId:Ki},S$={type:i.GenericReference,id:"exec-sequentially-result-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht},O$={type:i.GenericReference,id:"exec-sequentially-result-variable-reads-value-ref-id",entityType:i.OutputMap,entityId:"exec-sequentially-return-map-id"},C$={type:i.GenericReference,id:"exec-sequentially-result-variable-called-by-ref-id",entityType:i.Operation,entityId:Ki},bR={id:"exec-sequentially-result-variable-id",type:i.VariableInstance,version:1,declaration:Zl,readsValue:O$,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[C$],successCalls:[],errorCalls:[],internalCalls:[],parent:S$,x:0,y:0},B$={id:"exec-sequentially-return-map-id",type:i.OutputMap,version:1,declaration:qo,writesValues:[bR],index:0,parent:A$},w$={type:i.GenericReference,id:"exec-sequentially-argument-map-parent-ref-id",entityType:i.Operation,entityId:Ki},_$={id:oR,type:i.InputMap,version:1,declaration:ko,name:null,description:null,dynamicArguments:[],readsValue:ER,defaultValue:null,index:0,parent:w$},M$={type:i.GenericReference,id:"exec-sequentially-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht},N$={type:i.GenericReference,id:"exec-sequentially-called-by-ref-id",entityType:i.FunctionDeclaration,entityId:ht},V$={id:Ki,type:i.Operation,version:1,declaration:un,inputs:[_$],process:null,dynamicArguments:[],outputs:[B$],successCalls:[mR,bR],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[N$],calledBySuccess:[],error:null,parent:M$},$$={type:i.GenericReference,id:"concurrency-and-wait-parent-ref-id",entityType:i.Project,entityId:Z},L$={type:i.FunctionDeclaration,id:ht,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:[V$,P$,YV],returnStatements:[uR],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:$$},G$={type:i.GenericReference,id:"3521f2c8-a5c0-419c-8808-4fc6a73d0b78",entityType:i.ReturnDeclaration,entityId:"e1ec31f0-25ca-42ac-a4c4-c9ec2255f55b"},F$={id:"ce8b9a30-afe9-4d4f-879f-1677efca2c47",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:gt,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:G$},U$={type:i.GenericReference,id:"8ee66e38-b060-474e-a503-594063a8ec24",entityType:i.ReturnStatement,entityId:"40a23a98-d3b2-42b1-9652-b33779ad15aa"},x$={isError:!1,id:"e1ec31f0-25ca-42ac-a4c4-c9ec2255f55b",type:i.ReturnDeclaration,version:1,name:"Created company",description:"The new company that was created",dataType:F$,readsValue:null,required:!0,index:0,parent:U$},j$={type:i.GenericReference,id:"9cb3c1e4-7250-4be6-be2a-69c2dd366d6f",entityType:i.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},k$={type:i.GenericReference,id:"c065fcdd-e054-4f95-941c-7eaa65c35d04",entityType:i.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},gR={type:i.ReturnStatement,id:"40a23a98-d3b2-42b1-9652-b33779ad15aa",version:1,outputs:[x$],calledByError:[],calledByEntry:[k$],calledBySuccess:[],throws:null,x:0,y:0,parent:j$},q$={type:i.GenericReference,id:"312ef836-9e40-4d57-b177-03b7145ed074",entityType:i.Project,entityId:Z},J$={type:i.FunctionDeclaration,id:"5059c093-eda2-4efc-b7b4-aaaadd4d44de",version:1,name:"Create new company",description:null,inputs:[],calls:[gR],index:null,implements:null,returnStatements:[gR],collapsed:!1,private:!1,x:0,y:0,parent:q$},Xl="get-current-date-and-time-func-decl-id",vR="get-current-date-and-time-return-statement-id",IR="get-current-date-and-time-return-declaration-id",DR="get-current-date-and-time-return-declaration-data-type-id",W$={type:i.GenericReference,id:"get-current-date-and-time-return-declaration-data-type-value-parent-ref-id",entityType:i.DataType,entityId:DR},H$={type:i.GenericReference,id:"get-current-date-and-time-return-declaration-data-type-parent-ref-id",entityType:i.ReturnDeclaration,entityId:IR},Y$={type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,id:DR,version:1,entity:dn,asType:!1,isList:!1,isNullable:!1,defaultValue:{id:"last-timestamp-variable-default-value-id",type:i.PrimitiveValue,version:1,value:null,name:P.Date,valueAsType:null,autogeneration:{type:qe.CurrentDateAndTime,rangeStart:null,rangeEnd:null},parent:W$},constant:!1,parent:H$},z$={type:i.GenericReference,id:"get-current-date-and-time-return-declaration-parent-ref-id",entityType:i.ReturnStatement,entityId:vR};i.ReturnDeclaration;const Z$={type:i.GenericReference,id:"get-current-date-and-time-return-statement-called-by-ref-id",entityType:i.FunctionDeclaration,entityId:Xl},X$={type:i.GenericReference,id:"get-current-date-and-time-return-statement-parent-ref-id",entityType:i.FunctionDeclaration,entityId:Xl};i.ReturnStatement;const Q$={type:i.GenericReference,id:"concurrency-and-wait-parent-ref-id",entityType:i.Project,entityId:Z},K$={type:i.FunctionDeclaration,id:Xl,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:Q$},PR="do-math-return-statement-id",AR="do-math-return-declaration-id",eL={type:i.GenericReference,id:"do-math-func-var-to-return-one-ref-id",entityType:i.VariableDeclaration,entityId:"do-math-func-var-to-return-one-id"},tL={id:"do-math-func-var-to-return-one-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:eL},nL={type:i.GenericReference,id:"do-math-func-decl-ref-two-id",entityType:i.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},rL={type:i.GenericReference,id:"do-math-func-var-to-return-one-map-ref-id",entityType:i.ReturnDeclaration,entityId:AR},iL={type:i.VariableDeclaration,id:"do-math-func-var-to-return-one-id",version:1,description:null,name:"Fixed result",dataType:tL,readsValue:null,writesValues:[rL],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:nL},aL={type:i.GenericReference,id:"96ec244e-594b-45f7-802b-6dc3056920f6",entityType:i.ReturnStatement,entityId:PR},sL={type:i.GenericReference,id:"d120c0cc-9d13-4e45-90e2-4e1ee825ca46",entityType:i.ReturnDeclaration,entityId:"873a3556-4911-4141-b2a0-49c677b56fb4"},oL={id:"da91aa23-9985-49ac-a8bf-9d623ba1ba8f",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:sL},lL={isError:!1,id:AR,version:1,type:i.ReturnDeclaration,name:"Result",description:null,dataType:oL,readsValue:iL,required:!0,index:0,parent:aL},cL={type:i.GenericReference,id:"57fd93e4-93a1-484e-82eb-4dd15d2d0e24",entityType:i.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},dL={type:i.GenericReference,id:"0a86e8d5-ab21-476e-a482-b928cbf351e3",entityType:i.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},SR={type:i.ReturnStatement,id:PR,version:1,outputs:[lL],calledByError:[],calledByEntry:[],calledBySuccess:[cL],parent:dL,throws:null,x:0,y:0},uL={type:i.GenericReference,id:"a2db26be-57f2-48e5-9769-cdbf0d95dc7c",entityType:i.VariableDeclaration,entityId:"d0e9f1f3-7e9f-4e1f-8d8e-7b4b3e6c6a6a"},pL={id:"c3e9d5f0-204f-45f9-85f7-e1b56b468388",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:uL},yL={type:i.GenericReference,id:"692122c5-610a-4504-90dd-f5a5202d116c",entityType:i.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},hL={type:i.GenericReference,id:"do-math-func-return-one-called-by",entityType:i.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},fL={type:i.GenericReference,id:"6dceb501-be5b-4252-afb4-3c0d08abba33",entityType:i.OutputMap,entityId:"64752080-ee0f-4cfe-9897-a0668f2b2aca"},OR={type:i.VariableDeclaration,id:"d0e9f1f3-7e9f-4e1f-8d8e-7b4b3e6c6a6a",version:1,name:"Result",dataType:pL,description:null,readsValue:fL,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[hL],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:yL},mL={type:i.GenericReference,id:"5440f523-af38-4981-8035-89d162fe8041",entityType:i.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},TL={type:i.GenericReference,id:"8c482c35-e674-4713-a1dd-63c3d13b611c",entityType:i.OutputMap,entityId:"64752080-ee0f-4cfe-9897-a0668f2b2aca"},EL={type:i.GenericReference,id:"c0a299cd-5869-4930-8cf0-90e3ceb8a903",entityType:i.VariableDeclaration,entityId:"46b2fe23-b417-4887-a35d-09b186679172"},RL={id:"51c0c1df-2ee3-41df-ae52-ac512d8cf795",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:EL},bL={type:i.GenericReference,id:"do-math-func-return-two-called-by",entityType:i.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},CR={type:i.VariableDeclaration,id:"46b2fe23-b417-4887-a35d-09b186679172",version:1,name:"Total",description:null,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[bL],successCalls:[],errorCalls:[],dataType:RL,readsValue:TL,writesValues:[],internalCalls:[],parent:mL,x:0,y:0},BR={type:i.GenericReference,id:"6e4d776e-6af2-4321-b630-c78110fd677c",entityType:i.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},gL={type:i.GenericReference,id:"5b60955b-2486-40b6-bb24-ffd97ccd8902",entityType:i.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},vL={type:i.GenericReference,id:"1a49923f-bc6f-453f-a438-e74e5475c2a9",entityType:i.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},IL={type:i.GenericReference,id:"02bfde0a-b757-4072-9613-6e9c7c9a424a",entityType:i.ArgumentDeclaration,entityId:"d8895765-f705-457e-85fa-25d130926769"},wR={id:"928953b0-0e3f-4d8c-ae5a-84620b4b8c68",version:1,type:i.InputMap,declaration:_o,name:null,description:null,dynamicArguments:[],readsValue:IL,defaultValue:null,index:0,parent:vL},DL={id:"64752080-ee0f-4cfe-9897-a0668f2b2aca",type:i.OutputMap,version:1,declaration:No,writesValues:[OR,CR],index:0,parent:gL},PL={type:i.GenericReference,id:"d235a7f6-07ff-4f35-98d2-8f42dd59cf9f",entityType:i.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},AL={id:"8827e8e9-9381-4ad7-8f61-5419c23c9136",type:i.GenericReference,entityType:i.VariableDeclaration,entityId:"72a338d8-0183-4ca2-8760-227517854595"},_R={id:"a5525249-0eb5-472b-97bc-5e4cc0d75aee",version:1,type:i.InputMap,declaration:Mo,name:null,description:null,dynamicArguments:[],readsValue:AL,defaultValue:null,index:1,parent:PL},SL={type:i.Operation,id:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e",declaration:Ca,version:1,inputs:[wR,_R],dynamicArguments:[],outputs:[DL],calledByError:[],calledByEntry:[BR],calledBySuccess:[],process:null,successCalls:[SR,OR,CR],errorCalls:[],parent:BR,error:null,x:0,y:0},OL={type:i.GenericReference,id:"a2c40226-2270-4963-a865-c777ba79c551",entityType:i.DataType,entityId:"a350a9e9-25ee-477f-a83d-9e98ed2451662"},CL={id:"f47731b3-f278-4ab5-aeb2-24519c1119fb",type:i.GenericReference,entityId:"72a338d8-0183-4ca2-8760-227517854595",entityType:i.ArgumentDeclaration},MR={id:"a350a9e9-25ee-477f-a83d-9e98ed2451662",type:i.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:i.PrimitiveValue,version:1,value:1,name:P.Number,parent:OL,valueAsType:null,autogeneration:null},constant:!1,parent:CL},BL={type:i.GenericReference,id:"5f5d8dd0-7f3b-40cd-9f84-83d976887eaf",entityType:i.ArgumentDeclaration,entityId:"649bf0a4-6532-44aa-9818-a03d1c6564e9"},wL={type:i.GenericReference,id:"ca018d0f-a8b3-4c7e-a408-c8b372d04aff",entityType:i.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},_L={type:i.GenericReference,id:"do-math-func-var-called-by-ref",entityType:i.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},NR={type:i.VariableDeclaration,id:"72a338d8-0183-4ca2-8760-227517854595",version:1,name:"Z",description:null,dataType:MR,inputs:[],outputs:[],calledByError:[],calledByEntry:[_L],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:BL,writesValues:[_R],internalCalls:[],x:0,y:0,parent:wL},ML={entityType:i.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b",type:i.GenericReference,id:"af0cf105-4075-425f-aecc-b25d3600fcc4"},NL={id:"649bf0a4-6532-44aa-9818-a03d1c6564e9",type:i.ArgumentDeclaration,version:1,name:"Z",description:"The number to add",dataType:MR,writesValues:[NR],required:!0,index:1,parent:ML},VL={type:i.GenericReference,id:"56953b5d-3e43-4dea-a62c-f3e868ba81bb",entityType:i.Project,entityId:Z},$L={id:"868defc8-5c95-48ed-942d-257e8b9b9b00",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},LL={type:i.GenericReference,id:"35167664-a793-49f1-9eaf-fb57eac30897",entityType:i.DataType,entityId:"55b12914-91b1-48b7-9a3e-9c5d0d2a2ec2"},GL={id:"d47ceef6-be6f-40f1-a7b3-c73c8d8a6c6a",type:i.GenericReference,entityId:"d8895765-f705-457e-85fa-25d130926769",entityType:i.ArgumentDeclaration},FL={id:"55b12914-91b1-48b7-9a3e-9c5d0d2a2ec2",type:i.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:i.PrimitiveValue,version:1,value:5,name:P.Number,parent:LL,valueAsType:null,autogeneration:null},constant:!1,parent:GL},UL={id:"d8895765-f705-457e-85fa-25d130926769",type:i.ArgumentDeclaration,version:1,name:"N",dataType:FL,description:"The number to add",writesValues:[wR],required:!0,index:0,parent:$L},xL={type:i.FunctionDeclaration,id:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b",version:1,name:"Do math",description:"This function does math",inputs:[UL,NL],calls:[SL,NR],implements:null,index:null,collapsed:!1,returnStatements:[SR],private:!1,x:0,y:0,parent:VL},vt="replace-bank-account-in-company-func-declaration-id",Ql="company-entity-to-modify-arg-declaration-id",jL="account-number-to-create-arg-decl-id",Qr="company-variable-id",Kr="search-person-by-id-id",VR="new-bank-account-owner-arg-decl-id",$R="search-person-by-id-output-declaration-id",Kl="search-person-by-id-output-entity-map-id",Os="person-not-empty-condition-id",Cs="create-new-bank-account-instance-operation-id",LR="create-new-bank-account-instance-operation-output-entity-map-id",GR="company-bank-account-output-map-id",ec="old-bank-account-var-declaration-id",FR="old-bank-account-var-instance-id",UR="company-variable-instance-id",tc="delete-bank-account-internal-call-id",kL={type:i.GenericReference,id:"company-variable-instance-parent-ref-id",entityType:i.FunctionDeclaration,entityId:vt},qL={type:i.GenericReference,id:"company-variable-instance-called-by-ref-id",entityType:i.InternalCall,entityId:tc},JL={type:i.GenericReference,id:"company-variable-instance-declaration-ref-id",entityType:i.VariableDeclaration,entityId:Qr},WL={type:i.GenericReference,id:"bank-account-input-map-parent-ref-id",entityType:i.VariableInstance,entityId:UR},HL={type:i.GenericReference,id:"bank-account-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:LR},xR={type:i.InputMap,id:"bank-account-input-map-id",version:1,readsValue:HL,declaration:Cl,name:null,description:null,index:0,defaultValue:null,dynamicArguments:[],parent:WL},YL={type:i.VariableInstance,id:UR,version:1,declaration:JL,inputs:[xR],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[qL],successCalls:[],errorCalls:[],internalCalls:[],parent:kL,readsValue:null,writesValues:[],x:0,y:0},zL={type:i.GenericReference,id:"bank-account-variable-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:Qr},ZL={type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"bank-account-variable-data-type-id",version:1,entity:Yr,asType:!1,isList:!1,isNullable:!1,constant:!1,defaultValue:null,parent:zL},XL={type:i.GenericReference,id:"bank-account-variable-reads-value-ref-id",entityType:i.OutputMap,entityId:GR},QL={type:i.GenericReference,id:"bank-account-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:vt},KL={type:i.GenericReference,id:"bank-account-variable-called-by-ref-id",entityType:i.VariableDeclaration,entityId:Qr},eG={type:i.GenericReference,id:"delete-bank-account-internal-call-called-by-ref-id",entityType:i.Operation,entityId:Cs};i.GenericReference,i.VariableInstance;const tG={type:i.GenericReference,id:"delete-bank-account-internal-call-called-by-ref-two-id",entityType:i.VariableDeclaration,entityId:ec},nG={type:i.GenericReference,id:"old-bank-account-variable-trigger-delete-decl-ref-id",entityType:i.VariableDeclaration,entityId:ec},rG={type:i.GenericReference,id:"bank-account-variable-parent-ref-two-id",entityType:i.FunctionDeclaration,entityId:vt},iG={type:i.GenericReference,id:"old-bank-account-variable-trigger-delete-internal-call-ref-id",entityType:i.InternalCall,entityId:tc},aG={type:i.VariableInstance,id:FR,version:1,declaration:nG,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],internalCalls:[iG],errorCalls:[],parent:rG,readsValue:null,writesValues:[],x:0,y:0},jR={process:null,type:i.InternalCall,id:tc,version:1,declaration:el,index:0,successCalls:[YL],errorCalls:[],inputs:[],outputs:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[eG,tG],parent:aG},kR={type:i.VariableDeclaration,id:ec,version:1,name:"Old bank account",description:"The existing bank account that needs to be replaced in the company entity",dataType:ZL,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[KL],successCalls:[jR],internalCalls:[],errorCalls:[],parent:QL,readsValue:XL,writesValues:[],x:0,y:0},sG={type:i.GenericReference,id:"company-variable-declaration-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:Qr},oG={type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"company-variable-declaration-data-type-id",version:1,entity:gt,asType:!1,isList:!1,isNullable:!1,constant:!1,defaultValue:null,parent:sG},lG={type:i.GenericReference,id:"company-variable-declaration-reads-value-ref-id",entityType:i.ArgumentDeclaration,entityId:Ql},cG={type:i.GenericReference,id:"company-variable-declaration-parent-ref-id",entityType:i.FunctionDeclaration,entityId:vt},dG={type:i.GenericReference,id:"company-variable-declaration-called-by-ref-id",entityType:i.FunctionDeclaration,entityId:vt},uG={type:i.GenericReference,id:"company-bank-account-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:Qr},pG={id:GR,version:1,type:i.OutputMap,declaration:Cl,index:0,parent:uG,writesValues:[kR]},qR={type:i.VariableDeclaration,id:Qr,version:1,name:"Company",description:"The company entity that was passed as an argument to the parent function",dataType:oG,inputs:[],outputs:[pG],calledByError:[],calledByEntry:[dG],calledBySuccess:[],successCalls:[kR],errorCalls:[],parent:cG,internalCalls:[],readsValue:lG,writesValues:[],x:0,y:0},yG={type:i.GenericReference,id:"create-new-bank-account-account-owner-dynamic-input-map-parent-ref-id",entityType:i.InputMap,entityId:"create-new-bank-account-instance-operation-entity-to-create-input-map-id"},hG={id:"create-new-bank-account-account-owner-dynamic-input-map-reads-value-ref-id",type:i.GenericReference,entityType:i.OutputMap,entityId:Kl},JR={id:"create-new-bank-account-account-owner-dynamic-input-map-id",version:1,type:i.InputMap,declaration:TT,name:null,description:null,dynamicArguments:[],readsValue:hG,index:1,defaultValue:null,parent:yG},fG={id:"create-new-bank-account-account-number-dynamic-input-map-reads-value-ref-id",type:i.GenericReference,entityType:i.ArgumentDeclaration,entityId:jL},mG={type:i.GenericReference,id:"create-new-bank-account-account-number-dynamic-input-map-parent-ref-id",entityType:i.InputMap,entityId:"create-new-bank-account-instance-operation-entity-to-create-input-map-id"},WR={id:"create-new-bank-account-account-number-dynamic-input-map-id",version:1,type:i.InputMap,declaration:mT,name:null,description:null,dynamicArguments:[],readsValue:fG,defaultValue:null,index:0,parent:mG},TG={type:i.GenericReference,id:"create-new-bank-account-instance-operation-entity-to-create-input-map-parent-ref-id",entityType:i.Operation,entityId:Cs},EG={id:"create-new-bank-account-instance-operation-entity-to-create-input-map-id",version:1,type:i.InputMap,declaration:Gr.fixedArguments[0],name:null,description:null,dynamicArguments:[WR,JR],index:0,readsValue:null,defaultValue:{type:i.PrimitiveValue,name:P.EntityTemplate,value:null,valueAsType:Yr,autogeneration:null},parent:TG},RG={type:i.GenericReference,id:"create-new-bank-account-instance-operation-output-entity-map-parent-ref-id",entityType:i.Operation,entityId:Cs},bG={id:LR,version:1,type:i.OutputMap,declaration:Gr.fixedReturns[0],index:0,writesValues:[xR],parent:RG},gG={type:i.GenericReference,id:"create-new-bank-account-instance-operation-called-by-ref-id",entityType:i.Condition,entityId:Os},vG={type:i.GenericReference,id:"create-new-bank-account-instance-operation-parent-ref-id",entityType:i.FunctionDeclaration,entityId:vt},IG={process:null,id:Cs,type:i.Operation,version:1,declaration:Gr,inputs:[EG],dynamicArguments:[],error:null,outputs:[bG],successCalls:[jR],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[gG],parent:vG,x:0,y:0},DG={id:"person-not-found-thrown-error-datatype-default-value-parent-ref-id",type:i.GenericReference,entityId:"person-not-found-thrown-error-datatype-id",entityType:i.DataType},PG={id:"person-not-found-thrown-error-datatype-parent-ref-id",type:i.GenericReference,entityId:"person-not-found-thrown-error-id",entityType:i.ReturnDeclaration};i.DataType,i.PrimitiveValue,P.String;const AG={id:"person-not-found-thrown-error-parent-ref-id",type:i.GenericReference,entityId:"person-not-found-error-return-statement-id",entityType:i.ReturnStatement},SG={isError:!0,id:"person-not-found-thrown-error-id",type:i.ReturnDeclaration,version:1,dataType:null,name:"Person not found error",description:"If the person entity was not found this error is outputted",parent:AG,required:!0,index:0,readsValue:null},OG={id:"person-not-found-error-return-statement-called-by-ref-id",type:i.GenericReference,entityId:Os,entityType:i.Condition},CG={id:"person-not-found-error-return-statement-parent-ref-id",type:i.GenericReference,entityId:vt,entityType:i.FunctionDeclaration},BG={id:"person-not-found-error-return-statement-id",type:i.ReturnStatement,version:1,throws:SG,outputs:[],calledBySuccess:[],calledByError:[OG],calledByEntry:[],x:0,y:0,parent:CG},wG={type:i.GenericReference,id:"person-not-empty-condition-called-by-ref-id",entityType:i.Search,entityId:Kr},_G={type:i.GenericReference,id:"person-not-empty-condition-parent-ref-id",entityType:i.FunctionDeclaration,entityId:vt},MG={type:i.GenericReference,id:"person-entity-to-check-map-reads-value-ref-id",entityType:i.OutputMap,entityId:Kl},NG={type:i.GenericReference,id:"person-not-empty-condition-ref-two-id",entityType:i.Condition,entityId:Os},HR={id:"person-entity-to-check-map-id",version:1,type:i.InputMap,declaration:Kn.fixedArguments[0],name:null,description:null,dynamicArguments:[],readsValue:MG,index:0,defaultValue:null,parent:NG},VG={type:i.Condition,id:Os,version:1,declaration:Kn,inputs:[HR],calledByError:[],calledByEntry:[],calledBySuccess:[wG],successCalls:[IG],errorCalls:[BG],x:0,y:0,parent:_G},$G={type:i.GenericReference,id:"search-person-by-id-output-entity-declaration-datatype-parent-ref-id",entityType:i.ValueDescriptor,entityId:$R},LG={id:"search-person-by-id-output-entity-declaration-datatype-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!1,constant:!1,asType:!1,isNullable:!1,entity:yt,defaultValue:null,parent:$G},GG={type:i.GenericReference,id:"search-person-by-id-output-entity-declaration-parent-ref-id",entityType:i.Search,entityId:Kr},YR={id:$R,type:i.ValueDescriptor,version:1,dataType:LG,name:"Found person",description:"The person entity that was found",parent:GG,required:!0,index:0},FG={type:i.GenericReference,id:"search-person-by-id-output-entity-map-parent-ref-id",entityType:i.Search,entityId:Kr},UG={type:i.OutputMap,id:Kl,version:1,declaration:YR,parent:FG,writesValues:[HR,JR],index:0},xG={id:"search-person-by-id-input-declaration-datatype-parent-ref-id",type:i.GenericReference,entityId:"search-person-by-id-input-declaration-id",entityType:i.ArgumentDeclaration};i.DataType;const jG={type:i.GenericReference,id:"search-person-by-id-input-declaration-parent-ref-id",entityType:i.Search,entityId:Kr},zR={id:"search-person-by-id-input-declaration-id",type:i.ArgumentDeclaration,version:1,dataType:null,name:"Person ID",description:"The unique identifier (ID) property of the person entity",index:0,required:!0,parent:jG,writesValues:[]},kG={type:i.GenericReference,id:"search-person-by-id-input-map-parent-ref-id",entityType:i.Search,entityId:Kr},qG={id:"search-person-by-id-input-map-reads-value-ref-id",type:i.GenericReference,entityId:VR,entityType:i.ArgumentDeclaration},ZR={type:i.InputMap,id:"search-person-by-id-input-map",version:1,declaration:zR,name:null,description:null,readsValue:qG,defaultValue:null,parent:kG,dynamicArguments:[],index:0},JG={from:{name:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},items:[{name:"*"}],where:[{name:"id",value:"{{dynamic_value_1}}"}]},WG={type:i.GenericReference,id:"search-person-by-id-parent-ref-id",entityType:i.FunctionDeclaration,entityId:vt},HG={type:i.GenericReference,id:"search-person-by-id-called-by-ref-id",entityType:i.FunctionDeclaration,entityId:vt},YG={type:i.Search,id:Kr,version:1,name:"Search person by ID",description:"Searches for a person entity given the UUID",query:JG,inputsDeclarations:[zR],inputs:[ZR],outputsDeclarations:[YR],outputs:[UG],calledByError:[],calledByEntry:[HG],calledBySuccess:[],error:null,successCalls:[VG],errorCalls:[],parent:WG,x:0,y:0};i.GenericReference,i.DataType;const zG={id:"account-number-to-create-arg-decl-data-type-parent-ref-id",type:i.GenericReference,entityId:"account-number-to-create-arg-decl-id",entityType:i.ArgumentDeclaration},ZG={id:"account-number-to-create-arg-decl-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:zG},XG={entityType:i.FunctionDeclaration,entityId:vt,type:i.GenericReference,id:"account-number-to-create-arg-decl-parent-ref-id"},QG={id:"account-number-to-create-arg-decl-id",type:i.ArgumentDeclaration,version:1,name:"Account number",description:"The account number of the new bank account entity",dataType:ZG,writesValues:[WR],required:!0,index:1,parent:XG};i.GenericReference,i.DataType;const KG={id:"new-bank-account-owner-arg-decl-data-type-parent-ref-id",type:i.GenericReference,entityId:"new-bank-account-owner-arg-decl-id",entityType:i.ArgumentDeclaration},eF={id:"new-bank-account-owner-arg-decl-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Oa,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:KG},tF={entityType:i.FunctionDeclaration,entityId:vt,type:i.GenericReference,id:"new-bank-account-owner-arg-decl-parent-ref-id"},nF={id:VR,type:i.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:eF,writesValues:[ZR],required:!1,index:1,parent:tF},rF={type:i.GenericReference,id:"replace-bank-account-in-company-parent-ref",entityType:i.Project,entityId:Z},iF={type:i.GenericReference,id:"company-entity-to-modify-parent-ref",entityType:i.FunctionDeclaration,entityId:vt};i.GenericReference,i.DataType;const aF={id:"d47ceef6-be6f-40f1-a7b3-c73c8d8a6c6a",type:i.GenericReference,entityId:Ql,entityType:i.ArgumentDeclaration},sF={id:"company-entity-to-modify-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:aF},oF={id:Ql,type:i.ArgumentDeclaration,version:1,name:"Company",dataType:sF,description:"The company to replace the bank account for",writesValues:[qR],required:!0,index:0,parent:iF},lF={type:i.FunctionDeclaration,id:vt,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:[oF,QG,nF],index:null,implements:null,calls:[YG,qR],collapsed:!1,returnStatements:[],private:!1,x:0,y:0,parent:rF},cF={type:i.GenericReference,id:"e0a937bd-3a85-4037-a973-916985b9f94b",entityType:i.Project,entityId:"7268bc97-c0e6-4d88-b37e-d3241b5f77a6"},dF={type:i.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:cF,x:0,y:0},uF={type:i.GenericReference,id:"948e6869-ae5b-4914-bea0-b9f02ad6a014",entityType:i.Project,entityId:"23b23d8b-1929-4505-a350-745c8550e731"},pF={type:i.GenericReference,id:"f3d6f2c6-1b3e-4e9d-8c9d-5b5b9f0b8d9c",entityType:i.Project,entityId:"7268bc97-c0e6-4d88-b37e-d3241b5f77a6"},yF={type:i.InstalledProject,version:1,id:"7268bc97-c0e6-4d88-b37e-d3241b5f77a6",name:"Third Party Installed Project",description:null,functions:[dF],events:[],implements:pF,parent:uF,x:0,y:0},nc="iterate-over-list-loop-id",XR="iterate-over-list-loop-body-id",QR="iterate-over-list-loop-body-current-iteration-argument-declaration-id",hF={type:i.GenericReference,id:"iterate-over-list-loop-body-current-iteration-argument-declaration-data-type-parent-ref-id",entityId:QR,entityType:i.ArgumentDeclaration},fF={id:"iterate-over-list-loop-body-current-iteration-argument-declaration-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,defaultValue:null,entity:null,isList:!1,isNullable:!1,asType:!1,constant:!1,parent:hF},mF={id:"iterate-over-list-loop-body-current-iteration-argument-declaration-parent-ref-id",type:i.GenericReference,entityId:XR,entityType:i.FunctionDeclaration},TF={id:QR,type:i.ArgumentDeclaration,version:1,name:"Current value",description:"The current value being processed.",dataType:fF,required:!0,index:0,writesValues:[],parent:mF},EF={id:"iterate-over-list-loop-body-parent-ref-id",type:i.GenericReference,entityId:nc,entityType:i.Loop},RF={id:XR,type:i.FunctionDeclaration,version:1,name:"Iteration logic trigger",description:"This function is called once for each entity in the list.",inputs:[TF],calls:[],implements:null,collapsed:!1,returnStatements:[],private:!1,index:0,x:0,y:0,parent:EF},bF={id:"iterate-over-list-loop-iteration-list-input-map-parent-ref-id",type:i.GenericReference,entityId:nc,entityType:i.Loop},gF={id:"iterate-over-list-loop-iteration-list-input-map-id",type:i.InputMap,version:1,name:null,description:null,declaration:Qn.fixedArguments[0],defaultValue:null,dynamicArguments:[],readsValue:null,index:0,parent:bF},vF={id:"iterate-over-list-loop-parent-ref-id",type:i.GenericReference,entityId:Z,entityType:i.Project},IF={id:nc,type:i.Loop,version:1,declaration:Qn,inputs:[gF],successCalls:[],errorCalls:[],outputsDeclarations:[],outputs:[],process:null,body:RF,calledByError:[],calledByEntry:[],calledBySuccess:[],breakStatements:[],continueStatements:[],error:null,x:0,y:0,parent:vF};var rc=(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))(rc||{}),KR=(n=>(n.COUNT="count",n.SUM="sum",n.AVG="avg",n.MIN="min",n.MAX="max",n))(KR||{});const DF={from:{name:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},items:{from:{name:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},items:[{function:{name:KR.COUNT,items:["f8310850-a87e-405c-b182-4f1d5fa49240"]},alias:"employee_count"}],where:[{name:"80c86e1b-caca-4ba5-9b1f-38f72d10e4a3",operation:rc.NEQ,value:null}]},where:[{name:"employee_count",operation:rc.GT,value:1}]},PF={id:"find-companies-with-multiple-employees-and-bank-account-search-parent-ref-id",type:i.GenericReference,entityId:Z,entityType:i.Project},AF={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-declaration-parent-ref-id",type:i.GenericReference,entityId:"find-companies-with-multiple-employees-and-bank-account",entityType:i.Search},eb={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-declaration-id",type:i.ValueDescriptor,version:1,name:"companies",description:"List of companies with multiple employees and an existing bank account",dataType:null,required:!0,index:0,parent:AF},SF={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-parent-ref-id",type:i.GenericReference,entityId:"find-companies-with-multiple-employees-and-bank-account",entityType:i.Search},OF={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-id",type:i.OutputMap,version:1,declaration:eb,writesValues:[],index:0,parent:SF},CF={id:"find-companies-with-multiple-employees-and-bank-account",type:i.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:[eb],inputs:[],outputs:[OF],query:DF,successCalls:[],errorCalls:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[],x:0,y:0,parent:PF},ei="random-company-employee-test-variable-id",ic="manager-global-variable-id",tb="global-user-instance-id",or="employee-mapped-dto-variable-id",ac="employee-mapped-dto-variable-instance-id",nb="random-employee-id-output-map-id",rb="random-employee-birth-date-output-map-id",ib="random-employee-department-output-map-id",ab="random-employee-manager-output-map-id",sb="manager-global-id-output-map-id",ob="global-user-instance-id-output-map-id",BF="employee-mapped-dto-requester-id-input-map-id",lb="employee-mapped-dto-now-timestamp-input-map-id",wF="employee-mapped-dto-id-input-map-id",_F="employee-mapped-dto-birth-date-input-map-id",MF="employee-mapped-dto-department-input-map-id",NF="employee-mapped-dto-manager-input-map-id",VF={type:i.GenericReference,id:"employee-mapped-dto-manager-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:sb},$F={type:i.GenericReference,id:"employee-mapped-dto-manager-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:or},cb={id:NF,type:i.InputMap,version:1,declaration:null,name:"manager_id",description:null,defaultValue:null,dynamicArguments:[],index:4,readsValue:VF,parent:$F},LF={type:i.GenericReference,id:"employee-mapped-dto-department-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:ib},GF={type:i.GenericReference,id:"employee-mapped-dto-department-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:or},db={id:MF,type:i.InputMap,version:1,declaration:null,name:"department_name",description:null,defaultValue:null,dynamicArguments:[],index:3,readsValue:LF,parent:GF},FF={type:i.GenericReference,id:"employee-mapped-dto-birth-date-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:rb},UF={type:i.GenericReference,id:"employee-mapped-dto-birth-date-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:or},ub={id:_F,type:i.InputMap,version:1,declaration:null,name:"birth_date",description:null,defaultValue:null,dynamicArguments:[],index:2,readsValue:FF,parent:UF},xF={type:i.GenericReference,id:"employee-mapped-dto-id-output-map-reads-value-ref-id",entityType:i.OutputMap,entityId:nb},jF={type:i.GenericReference,id:"employee-mapped-dto-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:or},pb={id:wF,type:i.InputMap,version:1,declaration:null,name:"id",description:"The ID of the employee",defaultValue:null,dynamicArguments:[],index:1,readsValue:xF,parent:jF},kF={type:i.GenericReference,id:"employee-mapped-dto-requester-id-output-map-reads-value-ref-id",entityType:i.OutputMap,entityId:ob},qF={type:i.GenericReference,id:"employee-mapped-dto-requester-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:or},yb={id:BF,type:i.InputMap,version:1,declaration:null,name:"requester_id",description:"The ID of the current user making the request",defaultValue:null,dynamicArguments:[],index:0,readsValue:kF,parent:qF},JF={type:i.GenericReference,id:"manager-variable-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:ic},WF={id:sb,type:i.OutputMap,version:1,declaration:Le.properties[1],index:0,writesValues:[cb],parent:JF},HF={type:i.GenericReference,id:"manager-variable-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:ic},YF={id:"manager-variable-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Bt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:HF,defaultValue:null},zF={type:i.GenericReference,id:"manager-variable-reads-value-ref-id",entityType:i.OutputMap,entityId:ab},ZF={type:i.GenericReference,id:"manager-variable-parent-ref-id",entityType:i.Project,entityId:Z},hb={id:ic,type:i.VariableDeclaration,version:1,name:"Manager",dataType:YF,description:"A variable holding an inherited manager for testing purposes",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:zF,writesValues:[],inputs:[],outputs:[WF],internalCalls:[],parent:ZF,x:0,y:0},XF={type:i.GenericReference,id:"random-company-employee-manager-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:ei},QF={id:ab,type:i.OutputMap,version:1,declaration:Bt.properties[2],index:3,writesValues:[hb],parent:XF},KF={type:i.GenericReference,id:"random-company-employee-department-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:ei},e4={id:ib,type:i.OutputMap,version:1,declaration:Bt.properties[0],index:2,writesValues:[db],parent:KF},t4={type:i.GenericReference,id:"random-company-employee-birth-date-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:ei},n4={id:rb,type:i.OutputMap,version:1,declaration:yt.properties[1],index:1,writesValues:[ub],parent:t4},r4={type:i.GenericReference,id:"random-company-employee-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:ei},i4={id:nb,type:i.OutputMap,version:1,declaration:Le.properties[1],index:0,writesValues:[pb],parent:r4},a4={type:i.GenericReference,id:"random-company-employee-test-variable-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:ei},s4={id:"random-company-employee-test-variable-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Bt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:a4,defaultValue:null},o4={type:i.GenericReference,id:"random-company-employee-test-variable-parent-ref-id",entityType:i.Project,entityId:Z},l4={id:ei,type:i.VariableDeclaration,version:1,name:"Company employee",dataType:s4,description:"A variable holding a random company employee for testing purposes",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[],outputs:[i4,n4,e4,QF],internalCalls:[],parent:o4,x:0,y:0},c4={type:i.GenericReference,id:"employee-mapped-dto-variable-instance-now-timestamp-input-map-default-value-parent-ref-id",entityType:i.InputMap,entityId:lb},d4={type:i.PrimitiveValue,id:"employee-mapped-dto-variable-instance-now-timestamp-input-map-default-value-id",name:P.Date,version:1,valueAsType:null,value:null,autogeneration:{type:qe.CurrentDateAndTime,rangeStart:null,rangeEnd:null},parent:c4},u4={type:i.GenericReference,id:"employee-mapped-dto-variable-instance-now-timestamp-input-map-parent-ref-id",entityType:i.VariableInstance,entityId:ac},p4={id:lb,type:i.InputMap,version:1,declaration:null,name:"now",description:"The current timestamp when the operation is executed",defaultValue:d4,dynamicArguments:[],index:5,readsValue:null,parent:u4},y4={type:i.GenericReference,id:"employee-mapped-dto-variable-instance-decl-ref-id",entityType:i.VariableDeclaration,entityId:or},h4={type:i.GenericReference,id:"employee-mapped-dto-variable-instance-called-by-success-ref-id",entityType:i.VariableDeclaration,entityId:ac},f4={type:i.GenericReference,id:"employee-mapped-dto-variable-instance-parent-ref-id",entityType:i.Project,entityId:Z},m4={id:ac,type:i.VariableInstance,version:1,declaration:y4,calledByError:[],calledByEntry:[],calledBySuccess:[h4],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[p4],outputs:[],internalCalls:[],parent:f4,x:0,y:0},T4={type:i.GenericReference,id:"employee-mapped-dto-variable-parent-ref-id",entityType:i.Project,entityId:Z},E4={id:or,type:i.VariableDeclaration,version:1,name:"Employee DTO",dataType:null,description:"A variable holding the data of a mapped employee DTO",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[m4],errorCalls:[],readsValue:null,writesValues:[],inputs:[yb,pb,ub,db,cb],outputs:[],internalCalls:[],parent:T4,x:0,y:0},R4={type:i.GenericReference,id:"0e63e617-f9d3-42e8-bde0-1bb0b1df7034",entityType:i.VariableDeclaration,entityId:Il},b4={id:"e75645ce-d3df-4f07-a897-ae9ef4d917fd",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Pl,version:1,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:R4,defaultValue:null},g4={type:i.GenericReference,id:"e92a8ff5-3fef-4e0c-8d8f-92c930b2890b",entityType:i.Project,entityId:Z},fb={id:Il,type:i.VariableDeclaration,version:1,name:"Current user",description:"The user that is currently logged in",dataType:b4,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:g4},v4={type:i.GenericReference,id:"manager-variable-id-output-map-parent-ref-id",entityType:i.VariableInstance,entityId:tb},I4={id:ob,type:i.OutputMap,version:1,declaration:Le.properties[1],index:0,writesValues:[yb],parent:v4},D4={type:i.GenericReference,id:"global-user-instance-parent-ref-id",entityType:i.Project,entityId:Z},P4={id:tb,type:i.VariableInstance,version:1,declaration:fb,calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[],outputs:[I4],internalCalls:[],parent:D4,x:0,y:0},A4={type:i.GenericReference,id:"is-test-environment-variable-dcl-datatype-parent-ref-id",entityType:i.VariableDeclaration,entityId:Il},S4={type:i.GenericReference,id:"is-test-environment-variable-dcl-datatype-default-value-parent-ref-id",entityType:i.DataType,entityId:"is-test-environment-variable-dcl-datatype-id"},O4={id:"is-test-environment-variable-dcl-datatype-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:An,version:1,asType:!1,isList:!1,isNullable:!1,constant:!0,parent:A4,defaultValue:{id:"is-test-environment-variable-dcl-datatype-default-value-id",name:P.Boolean,version:1,value:null,type:i.PrimitiveValue,autogeneration:{type:qe.Random,rangeStart:null,rangeEnd:null},valueAsType:null,parent:S4}},C4={type:i.GenericReference,id:"is-test-environment-variable-dcl-main-project-ref-id",entityType:i.Project,entityId:Z},mb={id:"is-test-environment-variable-dcl-id",type:i.VariableDeclaration,version:1,name:"Is test envrioment",description:"Indicates whether the current environment is a test environment or not.",dataType:O4,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:C4},B4={type:i.GenericReference,id:"is-test-environment-variable-instance-parent-ref-id",entityType:i.Project,entityId:Z},w4={id:"is-test-environment-variable-instance-id",type:i.VariableInstance,version:1,declaration:mb,calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[],outputs:[],internalCalls:[],parent:B4,x:0,y:0},Tb={type:i.Project,id:Z,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:[yF],entities:[Dl,Pl,yt,b_,Bt,Rs,BT,wT,Yr,hw,gt,c_,uT,sA,pw],functions:[L$,rE,ql,J$,K$,RE,Jl,Bl,lF,UT,xL],events:[K_],variableDeclarations:[mb,fb,Zl,l4,hb,E4],variableInstances:[w4,P4],conditions:[],operations:[Xr],functionCalls:[XM,a0],loops:[IF],searches:[CF]};var T=(n=>(n.Error="error",n.Warning="warning",n))(T||{}),A=(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))(A||{}),h=(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))(h||{}),_=(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.VariableReadsValueAndInternalCall="variable-reads-value-and-internal-call",n.VariableWritesValuesAndInternalCall="variable-writes-values-and-internal-call",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))(_||{});class E{constructor(e){c(this,"id");c(this,"message");c(this,"issue");c(this,"severity");c(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 A?new lr({id:this.id,message:this.message,issue:this.issue,severity:this.severity,code:this.code,entity:e}):null}}class lr{constructor(e){c(this,"id");c(this,"message");c(this,"issue");c(this,"severity");c(this,"code");c(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 lr({id:this.id,message:this.message,issue:this.issue,severity:this.severity,code:this.code,entity:this.entity})}}function _4(n){const e=new Set;return n.filter(t=>e.has(t.id)?!1:(e.add(t.id),!0))}function H(n){const e=n.entity.errors.find(r=>r.id===n.id);return e?{new:!1,error:e}:{new:!0,error:new lr(n)}}function M4(n,e){const t=new Map;return n.forEach(r=>{t.set(r.id,r)}),e.forEach(r=>{t.set(r.id,r)}),Array.from(t.values())}function ne(n,e){const t=[];return e.forEach(r=>{const a=n.find(s=>s.id===r.id);a?t.push(a):t.push(r)}),t}const ta=d.union([d.string(),d.number(),d.boolean(),d.date()]),Eb=d.enum([qe.CurrentDateAndTime,qe.Random,qe.Unique]),Bs=d.object({type:Eb,rangeStart:ta.nullable(),rangeEnd:ta.nullable()}),na=Bs.extend({type:d.literal(qe.Random),rangeStart:ta,rangeEnd:ta}),sc=Bs.extend({type:d.literal(qe.Unique),rangeStart:d.null(),rangeEnd:d.null()}),Rb=Bs.extend({type:d.literal(qe.CurrentDateAndTime),rangeStart:d.null(),rangeEnd:d.null()}),ws=na.extend({rangeStart:d.number().nullable(),rangeEnd:d.number().nullable()}),bb=ws.extend({rangeStart:d.number(),rangeEnd:d.null()}),gb=ws.extend({rangeStart:d.null(),rangeEnd:d.number()}),vb=ws.extend({rangeStart:d.number(),rangeEnd:d.number()}),_s=na.extend({rangeStart:d.number().nullable(),rangeEnd:d.number().nullable()}),Ib=_s.extend({rangeStart:d.number(),rangeEnd:d.null()}),Db=_s.extend({rangeStart:d.null(),rangeEnd:d.number()}),Pb=_s.extend({rangeStart:d.number(),rangeEnd:d.number()}),Ms=na.extend({rangeStart:d.date().nullable(),rangeEnd:d.date().nullable()}),Ab=Ms.extend({rangeStart:d.date(),rangeEnd:d.null()}),Sb=Ms.extend({rangeStart:d.null(),rangeEnd:d.date()}),Ob=Ms.extend({rangeStart:d.date(),rangeEnd:d.date()}),oc=na.extend({rangeStart:d.null(),rangeEnd:d.null()}),lc=d.union([Ib,Db,Pb]),cc=d.union([bb,gb,vb]),dc=d.union([Ab,Sb,Ob,Rb]),uc=d.union([lc,cc,dc,sc,oc]);function ra(){return d.union([d.object({type:d.literal(i.ValueDescriptor)}),d.record(d.string(),d.any())])}function Cb(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.ValueDescriptor)})}function pc(){return d.object({id:d.string(),type:d.literal(i.ValueDescriptor),name:d.string(),required:d.boolean()})}function N4(){return pc().merge(d.object({version:d.number(),index:d.number()}))}function V4(){return pc().merge(d.object({}))}function $4(){return d.object({dataType:Tn(),parent:Gn()})}function L4(){return N4().merge($4())}function Ns(){return d.union([d.object({type:d.literal(i.PrimitiveEntity)}),d.record(d.string(),d.any())])}function Vs(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.PrimitiveEntity)})}function $s(){return d.object({id:d.string(),type:d.literal(i.PrimitiveEntity),name:d.string(),description:d.string().nullable(),static:d.boolean(),abstract:d.boolean()})}function G4(){return $s().merge(d.object({version:d.number()}))}function F4(){return $s().merge(d.object({}))}function U4(){return d.object({properties:d.array(cr()),methods:d.array(_t()),abstractMethods:d.array(nn()),extends:d.array(d.union([Ns(),ti()]))})}function x4(){return G4().merge(U4())}function cr(){return d.union([d.object({type:d.literal(i.Property)}),d.record(d.string(),d.any())])}function Bb(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.Property)})}function yc(){return d.object({id:d.string(),type:d.literal(i.Property),name:d.string(),description:d.string().nullable(),private:d.boolean(),static:d.boolean(),required:d.boolean(),abstract:d.boolean()})}function j4(){return yc().merge(d.object({version:d.number(),index:d.number()}))}function k4(){return yc().merge(d.object({}))}function q4(){return d.object({dataType:Tn(),implements:cr().nullable(),parent:d.union([yr(),Vs(),Ls()])})}function J4(){return j4().merge(q4())}function W4(){return d.enum([V.CRON_JOB,V.EXECUTION,V.HTTP_ENDPOINT,V.PERSISTED_ENTITY,V.RELATIONAL_DATABASE])}function ti(){return d.union([d.object({type:d.literal(i.BuiltInBaseEntity)}),d.record(d.string(),d.any())])}function Ls(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.BuiltInBaseEntity)})}function hc(){return d.object({id:d.string(),version:d.number(),type:d.literal(i.BuiltInBaseEntity),name:W4(),description:d.string().nullable(),abstract:d.boolean(),static:d.boolean()})}function H4(){return hc()}function Y4(){return hc().merge(d.object({}))}function z4(){return d.object({properties:d.array(cr()),methods:d.array(_t()),abstractMethods:d.array(nn()),extends:d.array(d.union([ti(),Ns()]))})}function Z4(){return H4().merge(z4())}function wb(){return d.enum([U.Dynamic,U.Fixed,U.None])}function nn(){return d.union([d.object({type:d.literal(i.ActionDescriptor)}),d.record(d.string(),d.any())])}function Gn(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.ActionDescriptor)})}function Gs(){return d.object({id:d.string(),type:d.literal(i.ActionDescriptor),name:d.string(),description:d.string().nullable(),argumentsType:wb(),returnsType:wb()})}function X4(){return Gs().merge(d.object({version:d.number()}))}function Q4(){return Gs().merge(d.object({}))}function K4(){return d.object({fixedArguments:d.array(ra()),fixedReturns:d.array(ra()),dynamicArgumentTypes:Tn().nullable(),dynamicReturnTypes:Tn().nullable(),parent:d.union([It(),yr(),Ls(),Vs()]).nullable()})}function _b(){return X4().merge(K4())}function ni(){return d.union([d.object({type:d.literal(i.Loop)}),d.record(d.string(),d.any())])}function rn(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.Loop)})}function Mb(){return d.object({id:d.string(),type:d.literal(i.Loop)})}function eU(){return Mb().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function tU(){return Mb().merge(d.object({declaration:d.union([d.string(),_t()])}))}function nU(){return d.object({calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),declaration:nn(),inputs:d.array(wt()),outputs:d.array(ft()),outputsDeclarations:d.array(ra()),successCalls:d.array(We()),errorCalls:d.array(We()),error:ft(),body:_t(),parent:d.union([Rn(),It()]),breakStatements:d.array(si()),continueStatements:d.array(ri())})}function rU(){return eU().merge(nU())}function ri(){return d.union([d.object({type:d.literal(i.ContinueStatement)}),d.record(d.string(),d.any())])}function ii(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.ContinueStatement)})}function fc(){return d.object({id:d.string(),type:d.literal(i.ContinueStatement)})}function iU(){return fc().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function aU(){return fc().merge(d.object({}))}function sU(){return d.object({calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),outputs:d.array(fn()),throws:d.optional(fn()),parent:rn()})}function oU(){return iU().merge(sU())}function dr(){return d.union([d.object({type:d.literal(i.ReturnStatement)}),d.record(d.string(),d.any())])}function ai(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.ReturnStatement)})}function mc(){return d.object({id:d.string(),type:d.literal(i.ReturnStatement)})}function lU(){return mc().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function cU(){return mc().merge(d.object({}))}function dU(){return d.object({calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),outputs:d.array(fn()),throws:d.optional(fn()),parent:Rn()})}function uU(){return lU().merge(dU())}function fn(){return d.union([d.object({type:d.literal(i.ReturnDeclaration)}),d.record(d.string(),d.any())])}function Nb(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.ReturnDeclaration)})}function Tc(){return d.object({id:d.string(),type:d.literal(i.ReturnDeclaration),name:d.string(),description:d.string().nullable(),isError:d.boolean()})}function pU(){return Tc().merge(d.object({version:d.number(),index:d.number()}))}function yU(){return Tc().merge(d.object({}))}function hU(){return d.object({dataType:Tn().nullable(),readsValue:ca().nullable(),parent:d.union([ai(),Gn(),mn(),ii()])})}function fU(){return pU().merge(hU())}function si(){return d.union([d.object({type:d.literal(i.BreakStatement)}),d.record(d.string(),d.any())])}function mn(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.BreakStatement)})}function Ec(){return d.object({id:d.string(),type:d.literal(i.BreakStatement)})}function mU(){return Ec().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function TU(){return Ec().merge(d.object({}))}function EU(){return d.object({calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),outputs:d.array(fn()),throws:d.optional(fn()),parent:rn()})}function RU(){return mU().merge(EU())}function ft(){return d.union([d.object({type:d.literal(i.OutputMap)}),d.record(d.string(),d.any())])}function Rc(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.OutputMap)})}function bc(){return d.object({id:d.string(),type:d.literal(i.OutputMap)})}function bU(){return bc().merge(d.object({version:d.number(),index:d.number()}))}function gU(){return bc().merge(d.object({}))}function vU(){return d.object({writesValues:d.array(En()),declaration:d.union([fn(),cr()]),parent:d.union([de(),rn(),mn()])})}function IU(){return bU().merge(vU())}function oi(){return d.union([d.object({type:d.literal(i.FunctionCall)}),d.record(d.string(),d.any())])}function ia(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.FunctionCall)})}function gc(){return d.object({id:d.string(),type:d.literal(i.FunctionCall)})}function DU(){return gc().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function PU(){return gc().merge(d.object({}))}function AU(){return d.object({successCalls:d.array(We()),errorCalls:d.array(We()),calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),writesValues:d.array(En()),declaration:_t(),inputs:d.array(wt()),outputs:d.array(ft()),error:d.optional(ft()),parent:d.union([Rn(),It()])})}function SU(){return DU().merge(AU())}function OU(){return d.enum([_e.Equal,_e.NotEqual,_e.MoreThan,_e.MoreThanOrEqual,_e.LessThan,_e.LessThanOrEqual,_e.And,_e.Or,$t.Empty,$t.NotEmpty])}function aa(){return d.union([d.object({type:d.literal(i.Condition)}),d.record(d.string(),d.any())])}function Fs(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.Condition)})}function vc(){return d.object({id:d.string(),type:d.literal(i.Condition)})}function CU(){return vc().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function BU(){return vc().merge(d.object({}))}function wU(){return d.object({successCalls:d.array(We()),errorCalls:d.array(We()),calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),leftValue:wt(),rightValue:wt().nullable(),operator:OU(),parent:d.union([Rn(),It()])})}function _U(){return CU().merge(wU())}function sa(){return d.union([d.object({type:d.literal(i.Search)}),d.record(d.string(),d.any())])}function oa(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.Search)})}function Ic(){return d.object({id:d.string(),type:d.literal(i.Search),name:d.string(),query:d.any(),description:d.string().nullable()})}function MU(){return Ic().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function NU(){return Ic().merge(d.object({}))}function VU(){return d.object({successCalls:d.array(We()),errorCalls:d.array(We()),calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),inputsDeclarations:d.array(pr()),inputs:d.array(wt()),outputsDeclarations:d.array(ra()),outputs:d.array(ft()),parent:d.union([Rn(),It()]),error:ft().nullable()})}function $U(){return MU().merge(VU())}function la(){return d.union([d.object({type:d.literal(i.InternalCall)}),d.record(d.string(),d.any())])}function Dc(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.InternalCall)})}function Pc(){return d.object({id:d.string(),type:d.literal(i.InternalCall),index:d.number()})}function LU(){return Pc().merge(d.object({version:d.number(),index:d.number()}))}function GU(){return Pc().merge(d.object({declaration:d.union([d.string(),_t()])}))}function FU(){return d.object({successCalls:d.array(We()),errorCalls:d.array(We()),calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),writesValues:d.array(En()),declaration:_t(),inputs:d.array(wt()),outputs:d.array(ft()),parent:Fn(),error:d.optional(ft())})}function UU(){return LU().merge(FU())}function wt(){return d.union([d.object({type:d.literal(i.InputMap)}),d.record(d.string(),d.any())])}function Us(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.InputMap)})}function Ac(){return d.object({id:d.string(),type:d.literal(i.InputMap),name:d.string().nullable().optional(),description:d.string().nullable().optional()})}function xU(){return Ac().merge(d.object({version:d.number(),index:d.number()}))}function jU(){return Ac().merge(d.object({}))}function kU(){return d.object({defaultValue:Sc().nullable(),declaration:d.union([pr(),cr()]).nullable(),readsValue:ca().nullable(),parent:d.union([de(),Us(),rn(),mn()]),dynamicArguments:d.array(wt())})}function qU(){return xU().merge(kU())}function li(){return d.union([d.object({type:d.literal(i.Operation)}),d.record(d.string(),d.any())])}function ci(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.Operation)})}function xs(){return d.object({id:d.string(),type:d.literal(i.Operation)})}function JU(){return xs().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function WU(){return xs().merge(d.object({}))}function HU(){return xs().merge(d.object({successCalls:d.array(We()),errorCalls:d.array(We()),calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),writesValues:d.array(En()),declaration:nn(),inputs:d.array(wt()),outputs:d.array(ft()),error:d.array(ft()),dynamicArguments:d.array(wt()),parent:d.union([Rn(),It()])}))}function YU(){return JU().merge(HU())}function js(){return d.union([d.string(),d.number(),d.boolean(),d.null(),d.date()])}function Vb(){return d.record(d.string(),js())}function zU(){return d.array(d.union([js(),Vb()]))}function $b(){return d.union([js(),Vb(),zU()])}function Lb(){return d.union([js(),$b()])}function Gb(){return d.enum([P.String,P.Number,P.Boolean,P.Null,P.Date,P.JSON,P.Enum,P.File,P.UUID,P.EntityTemplate,P.ActionDescriptor])}function ZU(){return d.union([yr(),ci(),da()])}function XU(){return d.object({id:d.string(),name:Gb(),type:d.literal(i.PrimitiveValue),value:Lb(),autogeneration:uc.nullable()})}function QU(){return XU().merge(d.object({}))}function Ht(){return d.object({id:d.string(),version:d.number(),name:Gb(),type:d.literal(i.PrimitiveValue),value:Lb(),valueAsType:ZU().nullable(),autogeneration:uc.nullable(),parent:d.union([Oc(),Us()])})}function KU(){return Ht().extend({name:d.literal(P.String),value:d.string(),autogeneration:lc.nullable()})}function ex(){return Ht().extend({name:d.literal(P.Number),value:d.number(),autogeneration:cc.nullable()})}function tx(){return Ht().extend({name:d.literal(P.Boolean),value:d.boolean(),autogeneration:oc.nullable()})}function nx(){return Ht().extend({name:d.literal(P.Null),value:d.null(),autogeneration:d.null()})}function rx(){return Ht().extend({name:d.literal(P.Date),value:d.date(),autogeneration:dc.nullable()})}function ix(){return Ht().extend({name:d.literal(P.JSON),value:$b(),autogeneration:d.null()})}function ax(){return Ht().extend({name:d.literal(P.Enum),value:d.string(),autogeneration:d.null()})}function sx(){return Ht().extend({name:d.literal(P.File),value:d.string(),autogeneration:d.null()})}function ox(){return Ht().extend({name:d.literal(P.UUID),value:d.string(),autogeneration:sc.nullable()})}function lx(){return Ht().extend({name:d.literal(P.EntityTemplate),value:yr(),autogeneration:d.null()})}function cx(){return Ht().extend({name:d.literal(P.ActionDescriptor),value:da(),autogeneration:d.null()})}function Sc(){return d.union([KU(),ex(),tx(),nx(),rx(),ix(),ax(),sx(),ox(),lx(),cx()])}function Tn(){return d.union([d.object({type:d.literal(i.DataType)}),d.record(d.string(),d.any())])}function Oc(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.DataType)})}function Cc(){return d.object({id:d.string(),type:d.literal(i.DataType),isNullable:d.boolean(),isList:d.boolean(),constant:d.boolean(),asType:d.boolean(),options:d.array(d.string()).optional()})}function dx(){return Cc().merge(d.object({version:d.number()}))}function ux(){return Cc().merge(d.object({}))}function px(){return d.object({defaultValue:Sc().nullable(),entity:d.union([di(),ti(),Ns(),nn()]).nullable(),parent:d.union([Bb(),xb(),Gn(),Cb()])})}function yx(){return dx().merge(px())}function Bc(){return d.union([d.object({type:d.literal(i.VariableDeclaration)}),d.record(d.string(),d.any())])}function hx(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.VariableDeclaration)})}function wc(){return d.object({id:d.string(),type:d.literal(i.VariableDeclaration),name:d.string(),description:d.string().nullable()})}function fx(){return wc().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function mx(){return wc().merge(d.object({}))}function Tx(){return d.object({dataType:Tn().nullable(),readsValue:ca().nullable(),writesValues:d.array(En()),inputs:d.array(wt()),outputs:d.array(ft()),successCalls:d.array(We()),errorCalls:d.array(We()),internalCalls:d.array(la()),calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),parent:d.union([Rn(),It()])})}function Ex(){return fx().merge(Tx())}function Fb(){return d.union([d.object({type:d.literal(i.VariableInstance)}),d.record(d.string(),d.any())])}function Rx(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.VariableInstance)})}function _c(){return d.object({id:d.string(),type:d.literal(i.VariableInstance)})}function bx(){return _c().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function gx(){return _c().merge(d.object({}))}function vx(){return d.object({declaration:Bc(),dataType:Tn().nullable(),readsValue:ca().nullable(),writesValues:d.array(En()),inputs:d.array(wt()),outputs:d.array(ft()),successCalls:d.array(We()),errorCalls:d.array(We()),internalCalls:d.array(la()),calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),parent:d.union([Rn(),It()])})}function Ix(){return bx().merge(vx())}function Mc(){return d.union([d.object({type:d.literal(i.InstalledProject)}),d.record(d.string(),d.any())])}function ks(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.InstalledProject)})}function Dx(){return d.object({id:d.string(),type:d.literal(i.InstalledProject)})}function Px(){return d.object({version:d.number(),x:d.number(),y:d.number()})}function Ax(){return d.object({})}function Sx(){return d.object({implements:It(),description:d.string().nullable(),functions:d.array(_t()),events:d.array(Nc()),parent:It()})}function Ox(){return Px().merge(Sx())}function Nc(){return d.union([d.object({type:d.literal(i.GlobalEvent)}),d.record(d.string(),d.any())])}function Cx(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.GlobalEvent)})}function qs(){return d.object({id:d.string(),type:d.literal(i.GlobalEvent),name:d.string(),collapsed:d.boolean()})}function Bx(){return qs().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function wx(){return qs().merge(d.object({}))}function _x(){return qs().merge(d.object({returnStatements:d.array(dr()),implements:d.array(_b()),inputs:d.array(pr()),calls:d.array(We()),parent:d.union([It(),ks()])}))}function Mx(){return Bx().merge(_x())}function ur(){return d.union([Bc(),Fb()])}function Fn(){return d.union([hx(),Rx()])}function En(){return d.union([ur(),wt(),fn()])}function Ub(){return d.union([Fn(),Us(),Nb()])}function ca(){return d.union([ur(),pr(),ft(),li(),la(),oi()])}function Nx(){return d.union([Fn(),Vc(),Rc(),ci(),Dc(),ia()])}function Vx(){return d.union([pr(),ft(),En()])}function xb(){return d.union([Vc(),Rc(),Ub()])}function Js(){return Nc()}function Ws(){return Cx()}function Hs(){return d.union([li(),oi(),aa(),sa(),ur(),la(),ni()])}function de(){return d.union([ci(),ia(),Fs(),oa(),Fn(),Dc(),rn()])}function Ys(){return d.union([li(),oi(),aa(),sa(),ur(),ni()])}function zs(){return d.union([ci(),ia(),Fs(),oa(),Fn(),rn()])}function jb(){return d.union([Hs(),dr(),si(),ri()])}function We(){return d.union([de(),ai(),mn(),ii()])}function kb(){return d.union([Ys(),dr(),si(),ri()])}function qb(){return d.union([zs(),ai(),mn(),ii()])}function Un(){return d.union([_t(),Js()])}function Je(){return d.union([da(),Ws()])}function $x(){return d.union([Hs(),Un()])}function Lx(){return d.union([de(),Je()])}function Gx(){return d.union([Ys(),Un()])}function Fx(){return d.union([zs(),Je()])}function Ux(){return d.union([jb(),Un()])}function xx(){return d.union([We(),Je()])}function jx(){return d.union([kb(),Un()])}function kx(){return d.union([qb(),Je()])}function qx(){return d.union([Un(),ni()])}function Rn(){return d.union([Je(),rn()])}function Jx(){return d.union([Hs(),Un()])}function Wx(){return d.union([de(),Je()])}function Hx(){return d.union([Ys(),Un()])}function Yx(){return d.union([zs(),Je()])}function zx(){return d.union([dr(),si(),ri()])}function Zx(){return d.union([ai(),mn(),ii()])}function Xx(){return d.union([ti(),c8(),Mc(),di(),_t(),Js(),ur(),wt(),ft(),aa(),li(),oi(),fn(),pr(),Ns(),Tn(),cr(),nn(),dr(),ri(),si(),ni(),sa(),nn(),nn(),ra(),la()])}function Qx(){return d.union([Ls(),It(),ks(),yr(),da(),Ws(),Fn(),Us(),Rc(),Fs(),ci(),ia(),Nb(),Vc(),Vs(),Oc(),Bb(),Gn(),ai(),ii(),mn(),rn(),oa(),Gn(),Gn(),Cb(),Dc()])}function Kx(){return d.union([Mc(),di(),_t(),Js(),ur(),aa(),li(),oi(),dr(),ri(),si(),ni(),sa()])}function e8(){return d.union([ks(),yr(),da(),Ws(),Fn(),Fs(),ci(),ia(),ai(),ii(),mn(),rn(),oa()])}function pr(){return d.union([d.object({type:d.literal(i.ArgumentDeclaration)}),d.record(d.string(),d.any())])}function Vc(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.ArgumentDeclaration)})}function $c(){return d.object({id:d.string(),type:d.literal(i.ArgumentDeclaration)})}function t8(){return $c().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function n8(){return $c().merge(d.object({}))}function r8(){return d.object({dataType:Tn().nullable(),writesValues:d.array(En()),parent:d.union([Je(),Gn(),Gn(),oa(),mn()])})}function i8(){return t8().merge(r8())}function _t(){return d.union([d.object({type:d.literal(i.FunctionDeclaration)}),d.record(d.string(),d.any())])}function da(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.FunctionDeclaration)})}function Lc(){return d.object({id:d.string(),type:d.literal(i.FunctionDeclaration),name:d.string(),description:d.string().nullable()})}function a8(){return Lc().merge(d.object({version:d.number(),x:d.number(),y:d.number(),index:d.number().nullable()}))}function s8(){return Lc()}function o8(){return d.object({inputs:d.array(pr()),implements:nn().nullable(),returnStatements:d.array(dr()),parent:d.union([It(),ks(),yr(),rn(),Ls(),Vs()])})}function l8(){return a8().merge(o8())}function c8(){return d.union([d.object({type:d.literal(i.Project)}),d.record(d.string(),d.any())])}function It(){return d.object({entityType:d.literal(i.Project),entityId:d.string(),id:d.string(),type:d.literal(i.GenericReference)})}function Gc(){return d.object({id:d.string(),type:d.literal(i.Project),name:d.string(),description:d.string().nullable()})}function d8(){return Gc().merge(d.object({version:d.number()}))}function u8(){return Gc()}function p8(){return d.object({entities:d.array(di()),functions:d.array(_t()),events:d.array(Nc()),projects:d.array(Mc()),variableDeclarations:d.array(Bc()),variableInstances:d.array(Fb()),conditions:d.array(aa()),operations:d.array(li()),functionCalls:d.array(oi()),loops:d.array(ni()),searches:d.array(sa())})}function y8(){return d8().merge(p8())}function di(){return d.union([d.object({type:d.literal(i.CustomEntity)}),d.record(d.string(),d.any())])}function yr(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.CustomEntity)})}function Fc(){return d.object({id:d.string(),type:d.literal(i.CustomEntity),name:d.string(),description:d.string().nullable(),static:d.boolean(),abstract:d.boolean()})}function h8(){return Fc().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function f8(){return Fc().merge(d.object({}))}function m8(){return d.union([It(),Oc()])}function T8(){return d.object({properties:d.array(cr()),methods:d.array(_t()),abstractMethods:d.array(nn()),extends:d.array(d.union([di(),ti()])),implements:d.array(d.union([di(),ti()])),parent:m8()})}function E8(){return h8().merge(T8())}function R8(n){const e=E8(),t=n.toJSON();e.safeParse(t).success;const a=n.implements.flatMap(f=>v8(n,f)),s=n.extends.flatMap(f=>I8(n,f)),o=P8(n),l=D8(n);n.methods.flatMap(f=>f.validate());const p=[...a,...s,...o,...l];return ne(n.errors,p)}function b8(n,e){const t=e.properties.filter(s=>s.abstract),r=[];let a=[...n.properties];return t.forEach(s=>{const o=a.find(l=>{var p;return((p=l.implements)==null?void 0:p.id)===s.id});o?a=a.filter(l=>l.id!==o.id):r.push(s)}),r}function g8(n,e){const t=e.abstractMethods,r=[];let a=[...n.methods];return t.forEach(s=>{const o=a.find(l=>{var p;return((p=l.implements)==null?void 0:p.id)===s.id});o?a=a.filter(l=>l.id!==o.id):r.push(s)}),r}function v8(n,e){const t=[];if(!e.abstract){const f=H({id:n.id+"--"+_.ImplementingNonAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is implementing a non-abstract entity "${e.name}" with id "${e.id}"`,issue:null,severity:T.Error,code:_.ImplementingNonAbstractEntity,entity:n});return t.push(f.error),t}const r=e.properties.filter(f=>f.abstract),a=[];let s=[...n.properties];r.forEach(f=>{const m=s.find(b=>{var g;return((g=b.implements)==null?void 0:g.id)===f.id});m?s=s.filter(b=>b.id!==m.id):a.push(f)}),a.length&&a.forEach(f=>{const m=H({id:n.id+"--"+_.MissingPropertyImplementation+"--"+f.id,message:`Property "${f.name}" with id "${f.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:T.Error,code:_.MissingPropertyImplementation,entity:n});t.push(m.error)});const o=[];let l=[...n.methods];e.abstractMethods.forEach(f=>{const m=l.find(b=>{var g;return((g=b.implements)==null?void 0:g.id)===f.id});m?l=l.filter(b=>b.id!==m.id):o.push(f)}),o.length&&o.forEach(f=>{const m=H({id:n.id+"--"+_.MissingMethodImplementation+"--"+f.id,message:`Method "${f.name}" with id "${f.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:T.Error,code:_.MissingMethodImplementation,entity:n});t.push(m.error)});const p=[];e.properties.forEach(f=>{const m=s.find(b=>b.name===f.name);m&&p.push([m,f])}),p.length&&p.forEach(([f])=>{const m=H({id:n.id+"--"+A.PropertyOverwrite+"--"+f.id,message:`Property "${f.name}" with id "${f.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:T.Error,code:A.PropertyOverwrite,entity:n});t.push(m.error)});const y=[];return e.methods.forEach(f=>{const m=l.find(b=>b.name===f.name);m&&y.push([m,f])}),y.length&&y.forEach(([f])=>{const m=H({id:n.id+"--"+A.MethodOverwrite+"--"+f.id,message:`Method "${f.name}" with id "${f.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:T.Error,code:A.MethodOverwrite,entity:n});t.push(m.error)}),t}function I8(n,e){const t=[],r=[];if(e.abstract){const s=H({id:n.id+"--"+_.ExtendingAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is extending an abstract entity "${e.name}" with id "${e.id}"`,issue:null,severity:T.Error,code:_.ExtendingAbstractEntity,entity:n});return t.push(s.error),t}n.properties.forEach(s=>{var l;const o=e.properties.find(p=>p.name===s.name);((l=s.implements)==null?void 0:l.id)!==(o==null?void 0:o.id)&&o&&r.push(s)}),r.length&&r.forEach(s=>{const o=H({id:n.id+"--"+A.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:T.Error,code:A.PropertyOverwrite,entity:n});t.push(o.error)});const a=[];return n.methods.forEach(s=>{var l;const o=e.methods.find(p=>p.name===s.name);((l=s.implements)==null?void 0:l.id)!==(o==null?void 0:o.id)&&o&&a.push(s)}),a.length&&a.forEach(s=>{const o=H({id:n.id+"--"+A.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:T.Error,code:A.MethodOverwrite,entity:n});t.push(o.error)}),t}function D8(n){const e=[];if(!n.properties.length){const t=H({id:n.id+"--"+_.NoProperties,message:"No properties implemented",issue:null,severity:T.Warning,code:_.NoProperties,entity:n});e.push(t.error)}return n.properties.forEach(t=>{t.validate()}),e}function P8(n){const e=[];if(n.abstract){if(n.methods.length){const t=H({id:n.id+"--"+_.AbstractEntityWithNonAbstractMethods,message:`Entity "${n.name}" with id "${n.id}" is marked as abstract but has non-abstract methods`,issue:null,severity:T.Error,code:_.AbstractEntityWithNonAbstractMethods,entity:n});e.push(t.error)}if(n.properties.some(t=>!t.abstract)){const t=H({id:n.id+"--"+_.AbstractEntityWithNonAbstractProperties,message:`Entity "${n.name}" with id "${n.id}" is marked as abstract but has non-abstract properties`,issue:null,severity:T.Error,code:_.AbstractEntityWithNonAbstractProperties,entity:n});e.push(t.error),n.properties.forEach(r=>{if(!r.abstract){const a=H({id:n.id+"--"+_.StaticEntityWithNonStaticProperties+"--"+r.id,message:`Property "${r.name}" with id "${r.id}" of entity "${n.name}" with id "${n.id}" is not marked as abstract but the entity is marked as abstract`,issue:null,severity:T.Error,code:_.StaticEntityWithNonStaticProperties,entity:n});e.push(a.error)}})}}else{if(n.abstractMethods.length){const t=H({id:n.id+"--"+_.AbstractPropertyInNonAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is not marked as abstract but has abstract methods`,issue:null,severity:T.Error,code:_.AbstractPropertyInNonAbstractEntity,entity:n});e.push(t.error)}if(n.properties.some(t=>t.abstract)){const t=H({id:n.id+"--"+_.AbstractMethodInNonAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is not marked as abstract but has abstract properties`,issue:null,severity:T.Error,code:_.AbstractMethodInNonAbstractEntity,entity:n});e.push(t.error),n.properties.forEach(r=>{if(r.abstract){const a=H({id:n.id+"--"+_.AbstractMethodInNonAbstractEntity+"--"+r.id,message:`Property "${r.name}" with id "${r.id}" of entity "${n.name}" with id "${n.id}" is marked as abstract but the entity is not marked as abstract`,issue:null,severity:T.Error,code:_.AbstractMethodInNonAbstractEntity,entity:n});e.push(a.error)}})}}if(n.static&&n.properties.some(t=>!t.static)){const t=H({id:n.id+"--"+_.StaticEntityWithNonStaticProperties,message:`Entity "${n.name}" with id "${n.id}" is marked as static but has non-static properties`,issue:null,severity:T.Error,code:_.StaticEntityWithNonStaticProperties,entity:n});e.push(t.error),n.properties.forEach(r=>{if(!r.static){const a=H({id:n.id+"--"+_.NonStaticPropertyInStaticEntity+"--"+r.id,message:`Property "${r.name}" with id "${r.id}" of entity "${n.name}" with id "${n.id}" is not marked as static but the entity is marked as static`,issue:null,severity:T.Error,code:_.NonStaticPropertyInStaticEntity,entity:n});e.push(a.error)}})}return e}function A8(n){return n instanceof Error&&n.name==="ZodError"&&"issues"in n&&Array.isArray(n.issues)}var S8=class extends Error{constructor(e,t){super(e,t);c(this,"name");c(this,"details");this.name="ZodValidationError",this.details=O8(t)}toString(){return this.message}};function O8(n){if(n){const e=n.cause;if(A8(e))return e.issues}return[]}var C8="; ",Jb="Validation error",B8=": ",w8=", or ";function _8(n,e,t){return e!==null?n.length>0?[e,n].join(t):e:n.length>0?n:Jb}var M8=/[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*/u;function N8(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+'["'+V8(t)+'"]';if(!M8.test(t))return e+'["'+t+'"]';const r=e.length===0?"":".";return e+r+t},"")}function V8(n){return n.replace(/"/g,'\\"')}function $8(n){return n.length!==0}function Zs(n){const{issue:e,issueSeparator:t,unionSeparator:r,includePath:a}=n;if(e.code==="invalid_union")return e.unionErrors.reduce((s,o)=>{const l=o.issues.map(p=>Zs({issue:p,issueSeparator:t,unionSeparator:r,includePath:a})).join(t);return s.includes(l)||s.push(l),s},[]).join(r);if(e.code==="invalid_arguments")return[e.message,...e.argumentsError.issues.map(s=>Zs({issue:s,issueSeparator:t,unionSeparator:r,includePath:a}))].join(t);if(e.code==="invalid_return_type")return[e.message,...e.returnTypeError.issues.map(s=>Zs({issue:s,issueSeparator:t,unionSeparator:r,includePath:a}))].join(t);if(a&&$8(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 "${N8(e.path)}"`}return e.message}function L8(n,e={}){const{issueSeparator:t=C8,unionSeparator:r=w8,prefixSeparator:a=B8,prefix:s=Jb,includePath:o=!0}=e,l=Zs({issue:n,issueSeparator:t,unionSeparator:r,includePath:o}),p=_8(l,s,a);return new S8(p,{cause:new bt([n])})}var Wb="1.13.7",Hb=typeof self=="object"&&self.self===self&&self||typeof global=="object"&&global.global===global&&global||Function("return this")()||{},Xs=Array.prototype,Uc=Object.prototype,Yb=typeof Symbol<"u"?Symbol.prototype:null,G8=Xs.push,ua=Xs.slice,pa=Uc.toString,F8=Uc.hasOwnProperty,zb=typeof ArrayBuffer<"u",U8=typeof DataView<"u",x8=Array.isArray,Zb=Object.keys,Xb=Object.create,Qb=zb&&ArrayBuffer.isView,j8=isNaN,k8=isFinite,Kb=!{toString:null}.propertyIsEnumerable("toString"),eg=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],q8=Math.pow(2,53)-1;function Dt(n,e){return e=e==null?n.length-1:+e,function(){for(var t=Math.max(arguments.length-e,0),r=Array(t),a=0;a<t;a++)r[a]=arguments[a+e];switch(e){case 0:return n.call(this,r);case 1:return n.call(this,arguments[0],r);case 2:return n.call(this,arguments[0],arguments[1],r)}var s=Array(e+1);for(a=0;a<e;a++)s[a]=arguments[a];return s[e]=r,n.apply(this,s)}}function xn(n){var e=typeof n;return e==="function"||e==="object"&&!!n}function J8(n){return n===null}function tg(n){return n===void 0}function ng(n){return n===!0||n===!1||pa.call(n)==="[object Boolean]"}function W8(n){return!!(n&&n.nodeType===1)}function st(n){var e="[object "+n+"]";return function(t){return pa.call(t)===e}}const xc=st("String"),rg=st("Number"),H8=st("Date"),Y8=st("RegExp"),z8=st("Error"),ig=st("Symbol"),ag=st("ArrayBuffer");var sg=st("Function"),Z8=Hb.document&&Hb.document.childNodes;typeof/./!="function"&&typeof Int8Array!="object"&&typeof Z8!="function"&&(sg=function(n){return typeof n=="function"||!1});const mt=sg,og=st("Object");var lg=U8&&(!/\[native code\]/.test(String(DataView))||og(new DataView(new ArrayBuffer(8)))),jc=typeof Map<"u"&&og(new Map),X8=st("DataView");function Q8(n){return n!=null&&mt(n.getInt8)&&ag(n.buffer)}const Qs=lg?Q8:X8,hr=x8||st("Array");function jn(n,e){return n!=null&&F8.call(n,e)}var kc=st("Arguments");(function(){kc(arguments)||(kc=function(n){return jn(n,"callee")})})();const qc=kc;function K8(n){return!ig(n)&&k8(n)&&!isNaN(parseFloat(n))}function cg(n){return rg(n)&&j8(n)}function dg(n){return function(){return n}}function ug(n){return function(e){var t=n(e);return typeof t=="number"&&t>=0&&t<=q8}}function pg(n){return function(e){return e==null?void 0:e[n]}}const Ks=pg("byteLength"),e6=ug(Ks);var t6=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;function n6(n){return Qb?Qb(n)&&!Qs(n):e6(n)&&t6.test(pa.call(n))}const yg=zb?n6:dg(!1),Pt=pg("length");function r6(n){for(var e={},t=n.length,r=0;r<t;++r)e[n[r]]=!0;return{contains:function(a){return e[a]===!0},push:function(a){return e[a]=!0,n.push(a)}}}function hg(n,e){e=r6(e);var t=eg.length,r=n.constructor,a=mt(r)&&r.prototype||Uc,s="constructor";for(jn(n,s)&&!e.contains(s)&&e.push(s);t--;)s=eg[t],s in n&&n[s]!==a[s]&&!e.contains(s)&&e.push(s)}function Ye(n){if(!xn(n))return[];if(Zb)return Zb(n);var e=[];for(var t in n)jn(n,t)&&e.push(t);return Kb&&hg(n,e),e}function ya(n){if(n==null)return!0;var e=Pt(n);return typeof e=="number"&&(hr(n)||xc(n)||qc(n))?e===0:Pt(Ye(n))===0}function fg(n,e){var t=Ye(e),r=t.length;if(n==null)return!r;for(var a=Object(n),s=0;s<r;s++){var o=t[s];if(e[o]!==a[o]||!(o in a))return!1}return!0}function re(n){if(n instanceof re)return n;if(!(this instanceof re))return new re(n);this._wrapped=n}re.VERSION=Wb,re.prototype.value=function(){return this._wrapped},re.prototype.valueOf=re.prototype.toJSON=re.prototype.value,re.prototype.toString=function(){return String(this._wrapped)};function mg(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,Ks(n))}var Tg="[object DataView]";function Jc(n,e,t,r){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:Eg(n,e,t,r)}function Eg(n,e,t,r){n instanceof re&&(n=n._wrapped),e instanceof re&&(e=e._wrapped);var a=pa.call(n);if(a!==pa.call(e))return!1;if(lg&&a=="[object Object]"&&Qs(n)){if(!Qs(e))return!1;a=Tg}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 Yb.valueOf.call(n)===Yb.valueOf.call(e);case"[object ArrayBuffer]":case Tg:return Eg(mg(n),mg(e),t,r)}var s=a==="[object Array]";if(!s&&yg(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 l=n.constructor,p=e.constructor;if(l!==p&&!(mt(l)&&l instanceof l&&mt(p)&&p instanceof p)&&"constructor"in n&&"constructor"in e)return!1}t=t||[],r=r||[];for(var y=t.length;y--;)if(t[y]===n)return r[y]===e;if(t.push(n),r.push(e),s){if(y=n.length,y!==e.length)return!1;for(;y--;)if(!Jc(n[y],e[y],t,r))return!1}else{var f=Ye(n),m;if(y=f.length,Ye(e).length!==y)return!1;for(;y--;)if(m=f[y],!(jn(e,m)&&Jc(n[m],e[m],t,r)))return!1}return t.pop(),r.pop(),!0}function i6(n,e){return Jc(n,e)}function ha(n){if(!xn(n))return[];var e=[];for(var t in n)e.push(t);return Kb&&hg(n,e),e}function Wc(n){var e=Pt(n);return function(t){if(t==null)return!1;var r=ha(t);if(Pt(r))return!1;for(var a=0;a<e;a++)if(!mt(t[n[a]]))return!1;return n!==gg||!mt(t[Hc])}}var Hc="forEach",Rg="has",Yc=["clear","delete"],bg=["get",Rg,"set"],a6=Yc.concat(Hc,bg),gg=Yc.concat(bg),s6=["add"].concat(Yc,Hc,Rg);const o6=jc?Wc(a6):st("Map"),l6=jc?Wc(gg):st("WeakMap"),c6=jc?Wc(s6):st("Set"),d6=st("WeakSet");function ui(n){for(var e=Ye(n),t=e.length,r=Array(t),a=0;a<t;a++)r[a]=n[e[a]];return r}function u6(n){for(var e=Ye(n),t=e.length,r=Array(t),a=0;a<t;a++)r[a]=[e[a],n[e[a]]];return r}function vg(n){for(var e={},t=Ye(n),r=0,a=t.length;r<a;r++)e[n[t[r]]]=t[r];return e}function zc(n){var e=[];for(var t in n)mt(n[t])&&e.push(t);return e.sort()}function Zc(n,e){return function(t){var r=arguments.length;if(e&&(t=Object(t)),r<2||t==null)return t;for(var a=1;a<r;a++)for(var s=arguments[a],o=n(s),l=o.length,p=0;p<l;p++){var y=o[p];(!e||t[y]===void 0)&&(t[y]=s[y])}return t}}const Ig=Zc(ha),eo=Zc(Ye),Dg=Zc(ha,!0);function p6(){return function(){}}function Pg(n){if(!xn(n))return{};if(Xb)return Xb(n);var e=p6();e.prototype=n;var t=new e;return e.prototype=null,t}function y6(n,e){var t=Pg(n);return e&&eo(t,e),t}function h6(n){return xn(n)?hr(n)?n.slice():Ig({},n):n}function f6(n,e){return e(n),n}function Ag(n){return hr(n)?n:[n]}re.toPath=Ag;function fa(n){return re.toPath(n)}function Xc(n,e){for(var t=e.length,r=0;r<t;r++){if(n==null)return;n=n[e[r]]}return t?n:void 0}function Sg(n,e,t){var r=Xc(n,fa(e));return tg(r)?t:r}function m6(n,e){e=fa(e);for(var t=e.length,r=0;r<t;r++){var a=e[r];if(!jn(n,a))return!1;n=n[a]}return!!t}function Qc(n){return n}function ma(n){return n=eo({},n),function(e){return fg(e,n)}}function Kc(n){return n=fa(n),function(e){return Xc(e,n)}}function Ta(n,e,t){if(e===void 0)return n;switch(t??3){case 1:return function(r){return n.call(e,r)};case 3:return function(r,a,s){return n.call(e,r,a,s)};case 4:return function(r,a,s,o){return n.call(e,r,a,s,o)}}return function(){return n.apply(e,arguments)}}function Og(n,e,t){return n==null?Qc:mt(n)?Ta(n,e,t):xn(n)&&!hr(n)?ma(n):Kc(n)}function ed(n,e){return Og(n,e,1/0)}re.iteratee=ed;function At(n,e,t){return re.iteratee!==ed?re.iteratee(n,e):Og(n,e,t)}function T6(n,e,t){e=At(e,t);for(var r=Ye(n),a=r.length,s={},o=0;o<a;o++){var l=r[o];s[l]=e(n[l],l,n)}return s}function Cg(){}function E6(n){return n==null?Cg:function(e){return Sg(n,e)}}function R6(n,e,t){var r=Array(Math.max(0,n));e=Ta(e,t,1);for(var a=0;a<n;a++)r[a]=e(a);return r}function td(n,e){return e==null&&(e=n,n=0),n+Math.floor(Math.random()*(e-n+1))}const Ea=Date.now||function(){return new Date().getTime()};function Bg(n){var e=function(s){return n[s]},t="(?:"+Ye(n).join("|")+")",r=RegExp(t),a=RegExp(t,"g");return function(s){return s=s==null?"":""+s,r.test(s)?s.replace(a,e):s}}const wg={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},b6=Bg(wg),g6=vg(wg),v6=Bg(g6),I6=re.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var nd=/(.)^/,D6={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},P6=/\\|'|\r|\n|\u2028|\u2029/g;function A6(n){return"\\"+D6[n]}var S6=/^\s*(\w|\$)+\s*$/;function O6(n,e,t){!e&&t&&(e=t),e=Dg({},e,re.templateSettings);var r=RegExp([(e.escape||nd).source,(e.interpolate||nd).source,(e.evaluate||nd).source].join("|")+"|$","g"),a=0,s="__p+='";n.replace(r,function(y,f,m,b,g){return s+=n.slice(a,g).replace(P6,A6),a=g+y.length,f?s+=`'+
1
+ (function(u,i){typeof exports=="object"&&typeof module<"u"?i(exports):typeof define=="function"&&define.amd?define(["exports"],i):(u=typeof globalThis<"u"?globalThis:u||self,i(u["@elyx-code/project-logic-tree"]={}))})(this,function(u){"use strict";var n5=Object.defineProperty;var r5=(u,i,V)=>i in u?n5(u,i,{enumerable:!0,configurable:!0,writable:!0,value:V}):u[i]=V;var c=(u,i,V)=>(r5(u,typeof i!="symbol"?i+"":i,V),V);var i=(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))(i||{}),V=(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))(V||{}),qe=(n=>(n.CurrentDateAndTime="current-date-and-time",n.Unique="unique",n.Random="random",n))(qe||{}),Ct=(n=>(n.DeletePersistedEntity="base-delete-persisted-entity",n.SoftDeletePersistedEntity="base-soft-delete-persisted-entity",n.AbortExecution="base-abort-execution",n))(Ct||{}),U=(n=>(n.Fixed="fixed",n.None="none",n.Dynamic="dynamic",n))(U||{}),_=(n=>(n.FixedArguments="fixed-arguments",n.FixedReturns="fixed-returns",n.ReturnedError="returned-error",n.OngoingProcessExecution="ongoing-process-execution",n))(_||{}),P=(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))(P||{}),ct=(n=>(n.Addition="addition",n.Substraction="substraction",n.Multiplication="multiplication",n.Division="division",n.Remainder="remainder",n.Exponentiation="exponentiation",n))(ct||{}),Ae=(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))(Ae||{}),W=(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))(W||{}),Oe=(n=>(n.Parallel="parallel",n.Sequential="sequential",n.Wait="wait",n))(Oe||{}),Ke=(n=>(n.CreateNewInstance="create-new-instance",n.Validate="validate",n))(Ke||{}),Ze=(n=>(n.HttpRequest="base-http-request",n))(Ze||{}),Me=(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))(Me||{}),$t=(n=>(n.Empty="empty",n.NotEmpty="not-empty",n))($t||{}),Q=(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))(Q||{}),xe=(n=>(n.OrDataTypeGroup="or-data-type-group",n.AndDataTypeGroup="and-data-type-group",n.DynamicArgumentTypes="dynamic-argument-types",n.DynamicReturnTypes="dynamic-return-types",n))(xe||{}),ln=(n=>(n.PROJECT_PUBLICATION_COMPLETED="GLOBAL_EVENT_PROJECT_PUBLICATION_COMPLETED",n))(ln||{}),Jd=(n=>(n.Error="error",n.Task="task",n.Return="return",n))(Jd||{});const zn=[i.VariableDeclaration,i.VariableInstance,i.InputMap,i.ReturnDeclaration],lI=[i.VariableDeclaration,i.VariableInstance,i.InputMap,i.ReturnDeclaration],Ve=[i.VariableDeclaration,i.VariableInstance,i.ArgumentDeclaration,i.OutputMap],cI=[i.VariableDeclaration,i.VariableInstance,i.ArgumentDeclaration,i.OutputMap],Wd=[...zn,...Ve],je=[i.VariableDeclaration,i.VariableInstance],$r=[i.GlobalEvent],$e=[i.Operation,i.FunctionCall,i.Condition,i.Search,i.VariableDeclaration,i.VariableInstance,i.InternalCall,i.Loop],So=[i.Operation,i.FunctionCall,i.Condition,i.Search,i.VariableDeclaration,i.VariableInstance,i.Loop],_e=[i.FunctionDeclaration,...$r],Pn=[...$e,i.ReturnStatement,i.BreakStatement,i.ContinueStatement],Oo=[...So,i.ReturnStatement,i.BreakStatement,i.ContinueStatement],cn=[...$e,..._e],Hd=[...So,..._e],dI=[...Pn,..._e],uI=[...Oo,..._e],dt=[..._e,i.Loop],Ne=[i.ReturnStatement,i.BreakStatement,i.ContinueStatement],pI=[i.CustomEntity,i.BuiltInBaseEntity,i.Project,i.InstalledProject,i.GlobalEvent,i.DataType,i.FunctionCall,i.FunctionDeclaration,i.ActionDescriptor,i.ValueDescriptor,i.ArgumentDeclaration,i.InputMap,i.ReturnStatement,i.BreakStatement,i.ContinueStatement,i.ReturnDeclaration,i.OutputMap,i.PrimitiveEntity,i.PrimitiveValue,i.Property,i.Operation,i.Condition,i.VariableDeclaration,i.VariableInstance,i.Search,i.Loop,i.InternalCall],Co=[i.CustomEntity,i.GlobalEvent,i.FunctionDeclaration,i.FunctionCall,i.VariableDeclaration,i.VariableInstance,i.Operation,i.Condition,i.ReturnStatement,i.BreakStatement,i.ContinueStatement,i.InstalledProject,i.Loop,i.Search],Yd=[i.CustomEntity,i.FunctionDeclaration,i.ArgumentDeclaration,i.ReturnDeclaration,i.Property,i.VariableDeclaration,i.Search,i.Project,i.InstalledProject,i.ActionDescriptor,i.ValueDescriptor],Lr=[i.BuiltInBaseEntity,i.PrimitiveEntity],yI=[i.CustomEntity,i.FunctionDeclaration,i.ArgumentDeclaration,i.ReturnDeclaration,i.Property,i.VariableDeclaration,i.GlobalEvent,i.Search,i.Project,i.InstalledProject,i.ActionDescriptor,i.ValueDescriptor,i.InputMap,i.OutputMap,i.FunctionCall,i.Operation,i.Condition,i.ReturnStatement,i.BreakStatement,i.ContinueStatement,i.VariableInstance,i.PrimitiveValue,i.InternalCall];var Bo=(n=>(n.ActionOngoingProcessOutputValue="action-ongoing-process-output-value-descriptor-id",n))(Bo||{});const x={[i.PrimitiveEntity]:{[P.String]:{id:"8b5fbe15-4c2b-48c0-9fd8-e5efbe3978dc",properties:{}},[P.Boolean]:{id:"f596545d-1565-4faa-9969-d95fa5edfea4",properties:{}},[P.Number]:{id:"ecb84c29-6153-4b82-86a5-fce2b5f92002",properties:{}},[P.JSON]:{id:"b6f3c3c4-9c3d-4f9d-9e9e-1c0f6a3c8c6b",properties:{}},[P.Enum]:{id:"9542b8b4-2642-4eee-9db9-def7963a17a0",properties:{options:{id:"00ccfcae-2104-45ef-bf6c-50ddccd74286",dataType:{id:"7dd59b70-f97b-43a7-a051-fde1842ce5d6",defaultValue:{id:"enum-options-property-data-type-default-value-id"}}}}},[P.UUID]:{id:"4a6234aa-c0f6-4731-b4dd-750388029226",properties:{}},[P.Date]:{id:"dc58f38b-d574-4956-aac6-32ce9529b937",properties:{}}},[i.ValueDescriptor]:{"action-ongoing-process-output-value-descriptor-id":{id:"action-ongoing-process-output-value-descriptor-id",dataType:{id:"process-output-value-data-type-id"}}},[i.BuiltInBaseEntity]:{[V.KEY_VALUE_PARAM]:{id:V.KEY_VALUE_PARAM},[V.HTTP_ENDPOINT]:{id:V.HTTP_ENDPOINT,properties:{method:{id:"http-endpoint-built-in-method-property-id"},path:{id:"http-endpoint-built-in-path-property-id"},cors:{id:"http-endpoint-built-in-cors-property-id"}}},[V.PERSISTED_ENTITY]:{id:V.PERSISTED_ENTITY,properties:{database:{id:"persisted-built-in-base-entity-database-property-id"},identifier:{id:"persisted-built-in-base-entity-identifier-property-id"}}},[V.RELATIONAL_DATABASE]:{id:V.RELATIONAL_DATABASE,properties:{identifier:{id:"relational-database-built-in-base-entity-identifier-property-id"},username:{id:"relational-database-built-in-base-entity-username-property-id"},password:{id:"relational-database-built-in-base-entity-password-property-id"},minSize:{id:"relational-database-built-in-base-entity-min-size-property-id"},default:{id:"relational-database-built-in-base-entity-default-property-id"},autoscaling:{id:"relational-database-built-in-base-entity-autoscaling-property-id"}}},[V.CRON_JOB]:{id:V.CRON_JOB,properties:{expression:{id:"cron-job-built-in-base-entity-expression-property-id"}}}},[i.Operation]:{[Ae.Join]:{id:Ae.Join,inputs:{first:{id:"join-string-first-string-input-id"},second:{id:"join-string-second-string-input-id"}},outputs:{result:{id:"join-string-result-string-return-delaration-id"},error:{id:"join-string-error-return-delaration-id"}}},[Ze.HttpRequest]:{id:Ze.HttpRequest,inputs:{url:{id:"http-request-url-input-id"},query:{id:"http-request-query-input-id"},method:{id:"http-request-method-input-id"},headers:{id:"http-request-headers-input-id"},body:{id:"http-request-body-string-input-id"}},outputs:{code:{id:"http-response-code-return-delaration-id"},body:{id:"http-response-body-return-delaration-id"},headers:{id:"http-response-headers-return-delaration-id"},error:{id:"http-request-error-return-delaration-id"}}}},[i.Loop]:{[Q.List]:{id:Q.List,inputs:{list:{id:"iterate-over-list-loop-list-input-id"}},outputs:{results:{id:"iterate-over-list-loop-output-id"}}},[Q.String]:{id:Q.String,inputs:{string:{id:"iterate-over-string-loop-string-input-id"}},outputs:{results:{id:"iterate-over-string-loop-output-id"}}},[Q.ObjectKeys]:{id:Q.ObjectKeys,inputs:{object:{id:"iterate-over-object-keys-loop-object-input-id"}},outputs:{results:{id:"iterate-over-object-keys-loop-output-id"}}},[Q.ObjectValues]:{id:Q.ObjectValues,inputs:{object:{id:"iterate-over-object-values-loop-object-input-id"}},outputs:{results:{id:"iterate-over-object-values-loop-output-id"}}},[Q.ManualFlow]:{id:Q.ManualFlow,inputs:{},outputs:{results:{id:"manual-flow-loop-output-id"}}},[Q.Counted]:{id:Q.Counted,inputs:{number:{id:"iterate-over-counted-loop-number-input-id"}},outputs:{results:{id:"iterate-over-counted-loop-output-id"}}}},[i.Condition]:{[Me.MoreThanOrEqual]:{id:Me.MoreThanOrEqual,inputs:{leftHand:{id:"condition-more-than-or-equal-left-hand-input-id"},rightHand:{id:"condition-more-than-or-equal-right-hand-input-id"}}},[$t.NotEmpty]:{id:$t.NotEmpty,inputs:{leftHand:{id:"condition-not-empty-input-id"}}}},[i.GlobalEvent]:{[ln.PROJECT_PUBLICATION_COMPLETED]:{id:ln.PROJECT_PUBLICATION_COMPLETED}}},zt=x["primitive-entity"],j={type:i.PrimitiveEntity,id:zt.string.id,description:"A string of characters.",version:1,name:P.String,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},An={type:i.PrimitiveEntity,id:zt.boolean.id,description:"A 'true' or 'false' value.",version:1,name:P.Boolean,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Ce={type:i.PrimitiveEntity,id:zt.number.id,description:"A number value.",version:1,name:P.Number,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},et={type:i.PrimitiveEntity,id:"730e8ea9-8498-439a-9001-b07de55aaa7d",description:"A complex data structure with any combination of properties with names and values.",version:1,name:P.JSON,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},zd={id:"c2f52f01-8f2e-490e-8083-72289c8189c1",type:i.GenericReference,entityId:"7dd59b70-f97b-43a7-a051-fde1842ce5d6",entityType:i.DataType},Zd={id:"4e803941-2e6a-4227-b803-b8877c0d7fee",type:i.GenericReference,entityId:"00ccfcae-2104-45ef-bf6c-50ddccd74286",entityType:i.Property},Xd={id:zt.enum.properties.options.dataType.id,version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:j,asType:!1,defaultValue:{id:zt.enum.properties.options.dataType.defaultValue.id,type:i.PrimitiveValue,version:1,name:P.JSON,autogeneration:null,value:[],valueAsType:null,parent:zd},parent:Zd},Qd={id:"a2983c4c-0286-4ef1-8b5c-5a52904d3200",type:i.GenericReference,entityId:"9542b8b4-2642-4eee-9db9-def7963a17a0",entityType:i.PrimitiveEntity},Kd={hidden:!1,required:!0,id:zt.enum.properties.options.id,name:"Options",version:1,type:i.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:Xd,description:"Options for the enum. Each option is a text value.",parent:Qd},Sn={type:i.PrimitiveEntity,id:zt.enum.id,description:"A set of text options to choose from.",version:1,name:P.Enum,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[Kd],methods:[]},dn={type:i.PrimitiveEntity,id:zt.date.id,description:"A date and time value.",version:1,name:P.Date,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Oa={type:i.PrimitiveEntity,id:zt.uuid.id,description:"A unique identifier in the form of a 36-character string.",version:1,name:P.UUID,static:!1,abstract:!1,abstractMethods:[],extends:[j],properties:[],methods:[]},wo={type:i.PrimitiveEntity,id:zt.json.id,description:"A complex data structure with any combination of properties with names and values.",version:1,name:P.JSON,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]};var eu=(n=>(n.FirstInputNumber="number-addition-first-number-argument-declaration",n.SecondInputNumber="number-addition-second-number-argument-declaration",n))(eu||{}),tu=(n=>(n.ResultNumber="number-addition-result-number-return-delaration",n.Error="number-addition-error-return-delaration",n))(tu||{});const nu={type:i.GenericReference,id:"3bd4aeb2-e3b7-4120-b289-011ebb03dba5",entityId:"number-addition-first-number-argument-declaration",entityType:i.ValueDescriptor},ru={id:"number-addition-first-number-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:nu},iu={type:i.GenericReference,id:"9f486db2-a983-4293-9eef-81d4fc8d2d3e",entityId:"number-addition-second-number-argument-declaration",entityType:i.ValueDescriptor},au={id:"1d4abe83-3e87-4f74-99be-c1fd8c2f8d2d",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:iu},su={type:i.GenericReference,id:"da5e9fe9-f18a-49e3-98e5-c1bf7b9b3153",entityId:"number-addition-result-number-return-delaration",entityType:i.ValueDescriptor},ou={id:"b761acec-0755-4582-a68b-76267038bbe1",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:su},lu={type:i.GenericReference,id:"a6c14305-d4f7-43ae-9d5e-b7dbacdc830a",entityId:ct.Addition,entityType:i.ActionDescriptor},Mo={id:"number-addition-first-number-argument-declaration",type:i.ValueDescriptor,version:1,name:"First value",description:"The first number to add",dataType:ru,required:!0,parentRelationType:_.FixedArguments,index:0,parent:lu},cu={type:i.GenericReference,id:"c5015128-4a65-462c-9da0-1c86e83ef897",entityId:ct.Addition,entityType:i.ActionDescriptor},_o={id:"number-addition-second-number-argument-declaration",type:i.ValueDescriptor,description:"The second number to add",version:1,name:"Second value",dataType:au,required:!0,parentRelationType:_.FixedArguments,index:1,parent:cu},du={type:i.GenericReference,id:"caac2bc7-c23c-4f01-9581-a515c2e4637f",entityId:ct.Addition,entityType:i.ActionDescriptor},No={parentRelationType:_.FixedReturns,id:"number-addition-result-number-return-delaration",type:i.ValueDescriptor,description:"The result number of the addition",version:1,name:"Result",dataType:ou,required:!0,index:0,parent:du},uu={type:i.GenericReference,id:"number-addition-operation-error-parent-ref",entityId:ct.Addition,entityType:i.ActionDescriptor},pu={parentRelationType:_.FixedReturns,id:"number-addition-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:uu},Ca={id:ct.Addition,type:i.ActionDescriptor,description:"Add two numbers together",version:1,name:ct.Addition,fixedArguments:[Mo,_o],error:pu,fixedReturns:[No],argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},yu={[ct.Addition]:Ca};var hu=(n=>(n.FirstInputString="join-string-first-string-argument-declaration",n.SecondInputString="join-string-second-string-argument-declaration",n))(hu||{}),fu=(n=>(n.ResultString="join-string-result-string-return-delaration",n.Error="join-string-error-return-delaration",n))(fu||{});const mu={type:i.GenericReference,id:"join-string-first-string-argument-declaration",entityId:"join-string-first-string-argument-declaration",entityType:i.ValueDescriptor},Tu={id:"join-string-first-string-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:mu},Eu={type:i.GenericReference,id:"join-string-second-string-argument-declaration",entityId:"join-string-second-string-argument-declaration",entityType:i.ValueDescriptor},Ru={id:"join-string-second-string-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Eu},bu={type:i.GenericReference,id:"join-string-result-string-return-delaration",entityId:"join-string-result-string-return-delaration",entityType:i.ValueDescriptor},gu={id:"join-string-result-string-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:bu},vu={type:i.GenericReference,id:"join-string-operation-first-string-argument-parent-ref",entityId:Ae.Join,entityType:i.ActionDescriptor},Ba={id:"join-string-first-string-argument-declaration",type:i.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:Tu,parentRelationType:_.FixedArguments,required:!0,index:0,parent:vu},Iu={type:i.GenericReference,id:"join-string-operation-second-string-argument-parent-ref",entityId:Ae.Join,entityType:i.ActionDescriptor},wa={id:"join-string-second-string-argument-declaration",type:i.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:Ru,parentRelationType:_.FixedArguments,required:!0,index:1,parent:Iu},Du={type:i.GenericReference,id:"join-string-operation-result-string-return-parent-ref",entityId:Ae.Join,entityType:i.ActionDescriptor},bi={parentRelationType:_.FixedReturns,id:"join-string-result-string-return-delaration",type:i.ValueDescriptor,version:1,name:"Result",description:"The resulting text value.",dataType:gu,required:!0,index:0,parent:Du},Pu={type:i.GenericReference,id:"join-string-operation-error-parent-ref",entityId:Ae.Join,entityType:i.ActionDescriptor},Au={parentRelationType:_.FixedReturns,id:"join-string-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Pu},gi={id:Ae.Join,type:i.ActionDescriptor,version:1,name:Ae.Join,description:"Join two text together, to form a single resulting text value.",fixedArguments:[Ba,wa],fixedReturns:[bi],error:Au,argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},Su={[Ae.Join]:gi};var Ou=(n=>(n.FirstInputList="join-list-first-list-argument-declaration",n.SecondInputList="join-list-second-list-argument-declaration",n))(Ou||{}),Cu=(n=>(n.ResultList="join-list-result-list-return-delaration",n.Error="join-list-error-return-delaration",n))(Cu||{});const Bu={type:i.GenericReference,id:"join-list-operation-first-list-argument-ref",entityId:"join-list-first-list-argument-declaration",entityType:i.ValueDescriptor},wu={id:"join-list-first-list-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Bu},Mu={type:i.GenericReference,id:"join-list-operation-second-list-argument-ref",entityId:"join-list-second-list-argument-declaration",entityType:i.ValueDescriptor},_u={id:"join-list-second-list-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Mu},Nu={type:i.GenericReference,id:"join-list-operation-result-list-return-ref",entityId:"join-list-result-list-return-delaration",entityType:i.ValueDescriptor},Vu={id:"join-list-result-list-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Nu},$u={type:i.GenericReference,id:"join-list-operation-first-list-argument-parent-ref",entityId:W.Join,entityType:i.ActionDescriptor},Lu={id:"join-list-first-list-argument-declaration",type:i.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:wu,parentRelationType:_.FixedArguments,required:!0,index:0,parent:$u},Gu={type:i.GenericReference,id:"join-list-operation-second-list-argument-parent-ref",entityId:W.Join,entityType:i.ActionDescriptor},Fu={id:"join-list-second-list-argument-declaration",type:i.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:_u,parentRelationType:_.FixedArguments,required:!0,index:1,parent:Gu},Uu={type:i.GenericReference,id:"join-list-operation-result-list-return-parent-ref",entityId:W.Join,entityType:i.ActionDescriptor},xu={parentRelationType:_.FixedReturns,id:"join-list-result-list-return-delaration",type:i.ValueDescriptor,version:1,name:"Result",description:"The resulting list value.",dataType:Vu,required:!0,index:0,parent:Uu},ju={type:i.GenericReference,id:"join-list-operation-error-parent-ref",entityId:W.Join,entityType:i.ActionDescriptor},ku={parentRelationType:_.FixedReturns,id:"join-list-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:ju},Vo={id:W.Join,type:i.ActionDescriptor,version:1,name:W.Join,description:"Join two lists together, to form a single resulting list value.",fixedArguments:[Lu,Fu],error:ku,fixedReturns:[xu],argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var qu=(n=>(n.InputList="list-to-split-argument-declaration",n.SplitIndex="split-list-index-argument-declaration",n))(qu||{}),Ju=(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))(Ju||{});const Wu={type:i.GenericReference,id:"split-list-operation-input-list-argument-ref",entityId:"list-to-split-argument-declaration",entityType:i.ValueDescriptor},Hu={id:"split-list-operation-input-list-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Wu},Yu={type:i.GenericReference,id:"split-list-operation-split-index-argument-ref",entityId:"split-list-index-argument-declaration",entityType:i.ValueDescriptor},zu={id:"split-list-operation-split-index-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Yu},$o={type:i.GenericReference,id:"split-list-operation-first-output-list-return-ref",entityId:"split-list-first-output-list-return-delaration",entityType:i.ValueDescriptor},Zu={id:"split-list-operation-first-output-list-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:$o},Xu={type:i.GenericReference,id:"split-list-operation-input-list-argument-parent-ref",entityId:W.Split,entityType:i.ActionDescriptor},Qu={id:"list-to-split-argument-declaration",type:i.ValueDescriptor,version:1,name:"List to split",description:"The list to split at the given index",dataType:Hu,parentRelationType:_.FixedArguments,required:!0,index:0,parent:Xu},Ku={type:i.GenericReference,id:"split-list-operation-split-index-argument-parent-ref",entityId:W.Split,entityType:i.ActionDescriptor},ep={id:"split-list-index-argument-declaration",type:i.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:zu,parentRelationType:_.FixedArguments,required:!0,index:1,parent:Ku},tp={type:i.GenericReference,id:"split-list-operation-first-output-list-return-parent-ref",entityId:W.Split,entityType:i.ActionDescriptor},np={parentRelationType:_.FixedReturns,id:"split-list-first-output-list-return-delaration",type:i.ValueDescriptor,version:1,name:"First list",description:"The list of values up to the split index",dataType:Zu,required:!0,index:0,parent:tp},rp={id:"split-list-operation-second-output-list-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:$o},ip={type:i.GenericReference,id:"split-list-operation-second-output-list-return-parent-ref",entityId:W.Split,entityType:i.ActionDescriptor},ap={parentRelationType:_.FixedReturns,id:"split-list-second-output-list-return-delaration",type:i.ValueDescriptor,version:1,name:"Second list",description:"The list of values up to the split index",dataType:rp,required:!0,index:0,parent:ip},sp={type:i.GenericReference,id:"split-list-operation-error-parent-ref",entityId:W.Split,entityType:i.ActionDescriptor},op={parentRelationType:_.FixedReturns,id:"split-list-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:sp},Lo={id:W.Split,type:i.ActionDescriptor,version:1,name:W.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:[Qu,ep],fixedReturns:[np,ap],error:op,argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var lp=(n=>(n.InputList="get-last-in-list-input-list-argument-declaration",n))(lp||{}),cp=(n=>(n.OutputElement="get-last-in-list-output-element-return-delaration",n.Error="get-last-in-list-error-return-delaration",n))(cp||{});const dp={type:i.GenericReference,id:"get-last-in-list-operation-input-list-argument-ref",entityId:"get-last-in-list-input-list-argument-declaration",entityType:i.ValueDescriptor},up={id:"get-last-in-list-input-list-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:dp},pp={type:i.GenericReference,id:"get-last-in-list-operation-output-element-return-ref",entityId:"get-last-in-list-output-element-return-delaration",entityType:i.ValueDescriptor},yp={id:"get-last-in-list-output-element-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:pp},hp={type:i.GenericReference,id:"get-last-in-list-operation-input-list-argument-parent-ref",entityId:W.GetLast,entityType:i.ActionDescriptor},fp={id:"get-last-in-list-input-list-argument-declaration",type:i.ValueDescriptor,version:1,name:"List",description:"The list to get the last element from.",dataType:up,parentRelationType:_.FixedArguments,required:!0,index:0,parent:hp},mp={type:i.GenericReference,id:"get-last-in-list-operation-output-element-return-parent-ref",entityId:W.GetLast,entityType:i.ActionDescriptor},Tp={parentRelationType:_.FixedReturns,id:"get-last-in-list-output-element-return-delaration",type:i.ValueDescriptor,version:1,name:"Last element",description:"The last element of the given list.",dataType:yp,required:!0,index:0,parent:mp},Ep={type:i.GenericReference,id:"get-last-in-list-operation-error-parent-ref",entityId:W.GetLast,entityType:i.ActionDescriptor},Rp={parentRelationType:_.FixedReturns,id:"get-last-in-list-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Ep},Go={id:W.GetLast,type:i.ActionDescriptor,version:1,name:W.GetLast,description:"Outputs the last element of a given list.",fixedArguments:[fp],fixedReturns:[Tp],error:Rp,argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var bp=(n=>(n.List="append-to-list-lsit-argument-declaration",n.ElementToAppend="append-to-list-element-to-append-argument-declaration",n))(bp||{}),gp=(n=>(n.ResultList="append-to-list-result-list-return-delaration",n.Error="append-to-list-error-return-delaration",n))(gp||{});const vp={type:i.GenericReference,id:"append-to-list-operation-lsit-argument-ref",entityId:"append-to-list-lsit-argument-declaration",entityType:i.ValueDescriptor},Ip={id:"append-to-list-lsit-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:vp},Dp={type:i.GenericReference,id:"append-to-list-operation-second-list-argument-ref",entityId:"append-to-list-element-to-append-argument-declaration",entityType:i.ValueDescriptor},Pp={id:"append-to-list-second-list-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Dp},Ap={type:i.GenericReference,id:"append-to-list-operation-result-list-return-ref",entityId:"append-to-list-result-list-return-delaration",entityType:i.ValueDescriptor},Sp={id:"append-to-list-result-list-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Ap},Op={type:i.GenericReference,id:"append-to-list-operation-lsit-argument-parent-ref",entityId:W.Append,entityType:i.ActionDescriptor},Fo={id:"append-to-list-lsit-argument-declaration",type:i.ValueDescriptor,version:1,name:"List value",description:"The list to which the element will be appended",dataType:Ip,parentRelationType:_.FixedArguments,required:!0,index:0,parent:Op},Cp={type:i.GenericReference,id:"append-to-list-operation-second-list-argument-parent-ref",entityId:W.Append,entityType:i.ActionDescriptor},Uo={id:"append-to-list-element-to-append-argument-declaration",type:i.ValueDescriptor,version:1,name:"Element",description:"The element that will be added at the end of the list",dataType:Pp,parentRelationType:_.FixedArguments,required:!0,index:1,parent:Cp},Bp={type:i.GenericReference,id:"append-to-list-operation-result-list-return-parent-ref",entityId:W.Append,entityType:i.ActionDescriptor},wp={parentRelationType:_.FixedReturns,id:"append-to-list-result-list-return-delaration",type:i.ValueDescriptor,version:1,name:"Result",description:"The resulting list value.",dataType:Sp,required:!0,index:0,parent:Bp},Mp={type:i.GenericReference,id:"append-to-list-operation-error-parent-ref",entityId:W.Append,entityType:i.ActionDescriptor},_p={parentRelationType:_.FixedReturns,id:"append-to-list-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Mp},Ma={id:W.Append,type:i.ActionDescriptor,version:1,name:W.Append,description:"Adds a given element to the end of a list value.",fixedArguments:[Fo,Uo],error:_p,fixedReturns:[wp],argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},Np={[W.Join]:Vo,[W.Split]:Lo,[W.GetLast]:Go,[W.Append]:Ma};var Vp=(n=>(n.ListOfFunctions="parallel-execution-list-of-functions-argument-declaration",n))(Vp||{}),$p=(n=>(n.ListOfExecutionResults="parallel-execution-result-return-delaration",n.Error="parallel-execution-error-return-delaration",n))($p||{});const Lp={id:"parallel-execution-list-of-functions-blueprint-id",type:i.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:U.Dynamic,dynamicArgumentTypes:null,fixedArguments:[],returnsType:U.Dynamic,dynamicReturnTypes:null,fixedReturns:[],error:null,parent:null},Gp={type:i.GenericReference,id:"3bd4aeb2-e3b7-4120-b289-011ebb03dba5",entityId:"parallel-execution-list-of-functions-argument-declaration",entityType:i.ValueDescriptor},Fp={id:"parallel-execution-list-of-functions-argument-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Lp,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Gp},Up={type:i.GenericReference,id:"da5e9fe9-f18a-49e3-98e5-c1bf7b9b3153",entityId:"parallel-execution-result-return-delaration",entityType:i.ValueDescriptor},xp={id:"b761acec-0755-4582-a68b-76267038bbe1",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Up},jp={type:i.GenericReference,id:"a6c14305-d4f7-43ae-9d5e-b7dbacdc830a",entityId:Oe.Parallel,entityType:i.ActionDescriptor},xo={id:"parallel-execution-list-of-functions-argument-declaration",type:i.ValueDescriptor,version:1,name:"Actions to execute",description:"A value, of a list of actions to be executed in parallel",dataType:Fp,required:!0,index:0,parent:jp,parentRelationType:_.FixedArguments},kp={type:i.GenericReference,id:"caac2bc7-c23c-4f01-9581-a515c2e4637f",entityId:Oe.Parallel,entityType:i.ActionDescriptor},jo={id:"parallel-execution-result-return-delaration",type:i.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:xp,required:!0,index:0,parent:kp,parentRelationType:_.FixedReturns},qp={type:i.GenericReference,id:"parallel-execution-operation-error-parent-ref",entityId:Oe.Parallel,entityType:i.ActionDescriptor},Jp={id:"parallel-execution-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:qp,parentRelationType:_.ReturnedError},kt={id:Oe.Parallel,type:i.ActionDescriptor,description:"Execute a list of actions in parallel",version:1,name:Oe.Parallel,fixedArguments:[xo],fixedReturns:[jo],argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,error:Jp,parent:null};var Wp=(n=>(n.MillisecondsNumber="wait-milliseconds-number-argument-declaration",n))(Wp||{}),Hp=(n=>(n.Error="wait-operation-error-return-delaration",n))(Hp||{});const Yp={type:i.GenericReference,id:"3bd4aeb2-e3b7-4120-b289-011ebb03dba5",entityType:i.ValueDescriptor,entityId:"wait-milliseconds-number-argument-declaration"},zp={id:"wait-milliseconds-number-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Yp},Zp={type:i.GenericReference,id:"a6c14305-d4f7-43ae-9d5e-b7dbacdc830a",entityType:i.ActionDescriptor,entityId:Oe.Wait},Zn={id:"wait-milliseconds-number-argument-declaration",type:i.ValueDescriptor,version:1,name:"Milliseconds to wait",description:"The amount of milliseconds to wait before calling the next entity",dataType:zp,required:!0,index:0,parent:Zp,parentRelationType:_.FixedArguments},Xp={type:i.GenericReference,id:"wait-operation-error-parent-ref",entityId:Oe.Wait,entityType:i.ActionDescriptor},Qp={id:"wait-operation-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Xp,parentRelationType:_.ReturnedError},ut={id:Oe.Wait,type:i.ActionDescriptor,description:"Wait for the given amount of milliseconds before calling the next entity",version:1,name:Oe.Wait,fixedArguments:[Zn],fixedReturns:[],error:Qp,argumentsType:U.Fixed,returnsType:U.None,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var Kp=(n=>(n.ListOfFunctions="sequential-execution-list-of-functions-argument-declaration",n))(Kp||{}),ey=(n=>(n.ListOfExecutionResults="sequential-execution-result-return-delaration",n.Error="sequential-execution-error-return-delaration",n))(ey||{});const ty={id:"sequential-execution-list-of-functions-blueprint-id",type:i.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:U.Dynamic,dynamicArgumentTypes:null,fixedArguments:[],returnsType:U.Dynamic,dynamicReturnTypes:null,fixedReturns:[],error:null,parent:null},ny={type:i.GenericReference,id:"parallel-execution-list-of-functions-argument-declaration-id",entityId:"sequential-execution-list-of-functions-argument-declaration",entityType:i.ValueDescriptor},ry={id:"sequential-execution-list-of-functions-argument-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ty,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:ny},iy={type:i.GenericReference,id:"sequential-execution-list-of-execution-results-return-declaration-id",entityId:"sequential-execution-result-return-delaration",entityType:i.ValueDescriptor},ay={id:"sequential-execution-list-of-execution-results-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:iy},sy={type:i.GenericReference,id:"parallel-execution-operation-list-of-functions-argument-parent-ref",entityId:Oe.Sequential,entityType:i.ActionDescriptor},ko={id:"sequential-execution-list-of-functions-argument-declaration",type:i.ValueDescriptor,version:1,name:"Actions to execute",description:"A value, of a list of actions to be executed in parallel",dataType:ry,required:!0,index:0,parent:sy,parentRelationType:_.FixedArguments},oy={type:i.GenericReference,id:"parallel-execution-operation-list-of-execution-results-return-parent-ref",entityId:Oe.Sequential,entityType:i.ActionDescriptor},qo={id:"sequential-execution-result-return-delaration",type:i.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:ay,required:!0,index:0,parent:oy,parentRelationType:_.FixedReturns},ly={type:i.GenericReference,id:"sequential-execution-operation-error-parent-ref",entityId:Oe.Sequential,entityType:i.ActionDescriptor},cy={id:"sequential-execution-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:ly,parentRelationType:_.ReturnedError},un={id:Oe.Sequential,type:i.ActionDescriptor,description:"Execute a list of actions one after the other",version:1,name:Oe.Sequential,fixedArguments:[ko],fixedReturns:[qo],error:cy,returnsType:U.Fixed,argumentsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},dy={[Oe.Parallel]:kt,[Oe.Wait]:ut,[Oe.Sequential]:un};var uy=(n=>(n.EntityToInstanciate="entity-to-instanciate-argument-declaration",n))(uy||{}),py=(n=>(n.Error="create-new-instance-error-return-delaration",n))(py||{});const yy={type:i.GenericReference,id:"entity-to-instanciate-argument-declaration-ref",entityType:i.ValueDescriptor,entityId:"entity-to-instanciate-argument-declaration"},hy={id:"entity-to-instanciate-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!0,isNullable:!1,defaultValue:null,constant:!1,parent:yy},fy={type:i.GenericReference,id:"create-new-instance-operation-ref",entityType:i.ActionDescriptor,entityId:Ke.CreateNewInstance},my={id:"entity-to-instanciate-argument-declaration",type:i.ValueDescriptor,version:1,name:"Entity to create a new copy of",description:"The entity of which a new copy will to be created",dataType:hy,required:!0,parentRelationType:_.FixedArguments,index:0,parent:fy},Ty={type:i.GenericReference,id:"create-new-instance-output-entity-declaration-parent-ref",entityId:Ke.CreateNewInstance,entityType:i.ActionDescriptor},Ey={parentRelationType:_.FixedReturns,id:"create-new-instance-output-entity-declaration",type:i.ValueDescriptor,version:1,dataType:null,name:"Created entity",description:"The entity that was created",parent:Ty,required:!0,index:0},Ry={type:i.GenericReference,id:"create-new-instance-error-parent-ref",entityId:Ke.CreateNewInstance,entityType:i.ActionDescriptor},by={parentRelationType:_.FixedReturns,id:"create-new-instance-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Ry},Gr={id:Ke.CreateNewInstance,type:i.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:Ke.CreateNewInstance,fixedArguments:[my],fixedReturns:[Ey],error:by,argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var gy=(n=>(n.EntityToMatchType="validate-data-operation-entity-to-match-type-argument-declaration",n.DataToValidate="validate-data-operation-data-to-validate-argument-declaration",n))(gy||{}),vy=(n=>(n.Error="validate-data-error-return-delaration",n.OutputEntity="validate-data-output-entity-declaration",n))(vy||{});const Iy={type:i.GenericReference,id:"validate-data-operation-data-to-validate-argument-declaration-ref",entityType:i.ValueDescriptor,entityId:"validate-data-operation-data-to-validate-argument-declaration"},Dy={id:"validate-data-operation-data-to-validate-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Iy},Py={type:i.GenericReference,id:"validate-data-operation-data-to-validate-argument-parent-ref",entityType:i.ActionDescriptor,entityId:Ke.Validate},Ay={id:"validate-data-operation-data-to-validate-argument-declaration",type:i.ValueDescriptor,version:1,name:"Data to validate",description:"The value to validate against the given entity type",dataType:Dy,required:!0,parentRelationType:_.FixedArguments,index:0,parent:Py},Sy={type:i.GenericReference,id:"validate-data-operation-entity-to-match-type-argument-declaration-ref",entityType:i.ValueDescriptor,entityId:"validate-data-operation-entity-to-match-type-argument-declaration"},Oy={id:"validate-data-operation-entity-to-match-type-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Sy},Cy={type:i.GenericReference,id:"validate-data-operation-entity-to-match-type-argument-parent-ref",entityType:i.ActionDescriptor,entityId:Ke.Validate},By={id:"validate-data-operation-entity-to-match-type-argument-declaration",type:i.ValueDescriptor,version:1,name:"Entity to match",description:"The entity to match the data against",dataType:Oy,required:!0,index:0,parentRelationType:_.FixedArguments,parent:Cy},wy={type:i.GenericReference,id:"validate-data-operation-output-entity-declaration-parent-ref",entityId:Ke.Validate,entityType:i.ActionDescriptor},My={id:"validate-data-output-entity-declaration",type:i.ValueDescriptor,version:1,dataType:null,name:"Output value",description:"A value with the type of the entity that was validated",parent:wy,required:!0,index:0,parentRelationType:_.FixedReturns},_y={type:i.GenericReference,id:"wait-operation-error-parent-ref",entityId:Ke.Validate,entityType:i.ActionDescriptor},Ny={id:"validate-data-error-return-delaration",type:i.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:_y,parentRelationType:_.ReturnedError},Xn={id:Ke.Validate,type:i.ActionDescriptor,description:"Validates the given data to see if it matches the structure of a given type/entity",version:1,name:Ke.Validate,fixedArguments:[By,Ay],fixedReturns:[My],error:Ny,argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},Vy={[Ke.CreateNewInstance]:Gr,[Ke.Validate]:Xn},He=x[i.Operation]["base-http-request"],$y={type:i.GenericReference,id:"d87cf943-57e1-4d19-9f05-190fa8c8ebc4",entityType:i.DataType,entityId:"0deb4ef7-d739-4ddc-a4d6-50bd6fababe3"},Ly={id:"http-request-url-default-value-id",type:i.PrimitiveValue,version:1,value:"https://some-url.com",name:P.String,valueAsType:null,parent:$y,autogeneration:null},Gy={type:i.GenericReference,id:"aed50d73-eab5-42ce-b00e-7f5c45a9026f",entityId:He.inputs.url.id,entityType:i.ValueDescriptor},Fy={id:"0deb4ef7-d739-4ddc-a4d6-50bd6fababe3",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:Ly,constant:!1,parent:Gy},Uy={type:i.GenericReference,id:"c3145af6-3387-464a-8887-272e483c856d",entityId:He.inputs.query.id,entityType:i.ValueDescriptor},xy={id:"2a5ba737-6335-4cc4-a2c0-16dca4052fac",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Uy},jy={type:i.GenericReference,id:"075556b7-e468-48f7-8485-7159eaf389b2",entityType:i.DataType,entityId:"6df7ec2b-5dbd-44af-896b-17b314e88560"},ky={id:"http-request-method-default-value-id",type:i.PrimitiveValue,version:1,value:"GET",name:P.Enum,valueAsType:null,parent:jy,autogeneration:null},qy={type:i.GenericReference,id:"aed647c8-a1b5-4cfc-9a3d-97887a567a80",entityId:He.inputs.method.id,entityType:i.ValueDescriptor},Jy={id:"6df7ec2b-5dbd-44af-896b-17b314e88560",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Sn,isList:!1,asType:!1,isNullable:!1,defaultValue:ky,options:["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","TRACE","CONNECT","CUSTOM"],constant:!1,parent:qy},Wy={type:i.GenericReference,id:"77203dfa-d2f6-4804-9556-e1cce46228f3",entityId:He.inputs.headers.id,entityType:i.ValueDescriptor},Hy={id:"2c8a2a07-69c6-40ad-b5c9-f0dc4d5955ce",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:et,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Wy},Yy={type:i.GenericReference,id:"03db68a0-7ab6-4c6a-85b6-f4b95ebb53ff",entityId:He.inputs.body.id,entityType:i.ValueDescriptor},zy={id:"0397876c-ed54-4ee9-85a4-04fd16dad973",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:et,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Yy},Zy={type:i.GenericReference,id:"182f767f-50e8-4394-ba5f-43e78c232733",entityType:i.ValueDescriptor,entityId:He.outputs.code.id},Xy={id:"45e6d0bc-0c0e-4059-a7a1-6bee925d73d0",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Zy},Qy={type:i.GenericReference,id:"2baaa53a-9aef-4bd1-b06d-967c17b7b627",entityType:i.DataType,entityId:"dac63bfa-640d-4f4e-ba0f-86c2401bcfbe"},Ky={type:i.GenericReference,id:"69f34d6c-c686-4165-b6ff-70dae8e1778b",entityType:i.ValueDescriptor,entityId:He.outputs.headers.id},eh={id:"dac63bfa-640d-4f4e-ba0f-86c2401bcfbe",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:et,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"http-response-headers-default-value-id",type:i.PrimitiveValue,version:1,value:{},name:P.JSON,parent:Qy,valueAsType:null,autogeneration:null},constant:!1,parent:Ky},th={type:i.GenericReference,id:"744334e0-5135-4214-85d0-809437cb620b",entityType:i.DataType,entityId:"05fc1a5d-151a-479a-9c4e-4063f3456177"},nh={type:i.GenericReference,id:"0e0e20df-1a46-432c-ba01-fd96508a6a61",entityType:i.ValueDescriptor,entityId:He.outputs.body.id},rh={id:"05fc1a5d-151a-479a-9c4e-4063f3456177",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:et,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"http-response-body-default-value-id",type:i.PrimitiveValue,version:1,value:{},name:P.JSON,parent:th,valueAsType:null,autogeneration:null},constant:!1,parent:nh},ih={type:i.GenericReference,id:"26911792-f707-4bf1-b6f7-03d04a84232c",entityType:i.ActionDescriptor,entityId:Ze.HttpRequest},_a={id:He.inputs.method.id,type:i.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:Jy,required:!1,index:0,parentRelationType:_.FixedArguments,parent:ih},ah={type:i.GenericReference,id:"eee0c501-0ae6-4448-b914-aada76d63163",entityType:i.ActionDescriptor,entityId:Ze.HttpRequest},Na={id:He.inputs.url.id,type:i.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:Fy,required:!1,index:1,parentRelationType:_.FixedArguments,parent:ah},sh={type:i.GenericReference,id:"670091a4-21b1-4223-ad4c-b6dada0aec49",entityType:i.ActionDescriptor,entityId:Ze.HttpRequest},Jo={id:He.inputs.query.id,type:i.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:xy,required:!1,index:2,parentRelationType:_.FixedArguments,parent:sh},oh={type:i.GenericReference,id:"85aad3eb-22fe-45f9-b68c-1dc7061f41e0",entityType:i.ActionDescriptor,entityId:Ze.HttpRequest},Va={id:He.inputs.headers.id,type:i.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:Hy,required:!1,index:3,parent:oh,parentRelationType:_.FixedArguments},lh={type:i.GenericReference,id:"c3e2a4af-9b84-4574-8b30-5044ffc51776",entityType:i.ActionDescriptor,entityId:Ze.HttpRequest},$a={id:He.inputs.body.id,type:i.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:zy,required:!1,index:4,parentRelationType:_.FixedArguments,parent:lh},ch={type:i.GenericReference,id:"92e04dc7-2145-4a31-908e-03810f7235e8",entityType:i.ActionDescriptor,entityId:Ze.HttpRequest},Wo={id:He.outputs.code.id,type:i.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:Xy,required:!0,index:0,parentRelationType:_.FixedReturns,parent:ch},dh={type:i.GenericReference,id:"86aca556-bbf1-4679-9909-31db61b288e2",entityType:i.ActionDescriptor,entityId:Ze.HttpRequest},La={parentRelationType:_.FixedReturns,id:He.outputs.headers.id,type:i.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:eh,required:!0,index:1,parent:dh},uh={type:i.GenericReference,id:"ccf3d1be-04e4-4d03-99fd-5bc1e1919f90",entityType:i.ActionDescriptor,entityId:Ze.HttpRequest},vi={parentRelationType:_.FixedReturns,id:He.outputs.body.id,type:i.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:rh,required:!0,index:2,parent:uh},ph={type:i.GenericReference,id:"21487ffc-82b9-473d-bc19-6e7d7c480ed7",entityType:i.ActionDescriptor,entityId:Ze.HttpRequest},yh={type:i.GenericReference,id:"ad69861b-32f7-4461-b7f7-aa84a82578d9",entityType:i.ValueDescriptor,entityId:He.outputs.error.id},hh={id:"5da68b15-57bc-40c1-b79f-a9075e0f22c1",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:et,isList:!1,asType:!1,isNullable:!1,constant:!1,defaultValue:null,parent:yh},Ho={parentRelationType:_.ReturnedError,id:He.outputs.error.id,type:i.ValueDescriptor,description:"Http request error, if any. Contains a payload describing what went wrong.",version:1,name:"Error",dataType:hh,required:!0,index:0,parent:ph},Ii={type:i.ActionDescriptor,id:Ze.HttpRequest,name:Ze.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:[_a,Na,Jo,Va,$a],fixedReturns:[Wo,La,vi],argumentsType:U.Fixed,returnsType:U.Fixed,error:Ho,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},fh={[Ze.HttpRequest]:Ii},hI={...Su,...yu,...Np,...dy,...Vy,...fh},mh=x[i.Loop]["list-loop"],Th={id:"iterate-over-list-loop-return-declaration-parent-ref-id",type:i.GenericReference,entityId:Q.List,entityType:i.ActionDescriptor},Eh={id:mh.outputs.results.id,type:i.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:Th,parentRelationType:_.FixedReturns},Rh={id:"iterate-over-list-loop-list-argument-declaration-data-type-parent-ref-id",type:i.GenericReference,entityId:"iterate-over-list-loop-list-argument-declaration-id",entityType:i.ArgumentDeclaration},bh={id:"iterate-over-list-loop-list-argument-declaration-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!0,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:Rh},gh={id:"iterate-over-list-loop-list-argument-declaration-parent-ref-id",type:i.GenericReference,entityId:Q.List,entityType:i.ActionDescriptor},vh={id:mh.inputs.list.id,type:i.ValueDescriptor,version:1,name:"List",description:"The list to iterate over",required:!0,dataType:bh,index:0,parent:gh,parentRelationType:_.FixedArguments},Qn={id:Q.List,type:i.ActionDescriptor,version:1,name:Q.List,description:"Iterates over a list of entities",fixedArguments:[vh],fixedReturns:[Eh],error:null,argumentsType:U.Fixed,returnsType:U.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},fI=x[i.Loop]["list-loop"],Ih={id:"manual-flow-loop-previous-iterations-results-declaration-data-type-parent-ref-id",type:i.GenericReference,entityId:"manual-flow-loop-previous-iterations-results-declaration-id",entityType:i.ReturnDeclaration},Dh={id:"manual-flow-loop-previous-iterations-results-declaration-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!0,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:Ih},Ph={id:"manual-flow-loop-previous-iterations-results-declaration-parent-ref-id",type:i.GenericReference,entityId:Q.ManualFlow,entityType:i.ActionDescriptor},Ah={id:fI.outputs.results.id,type:i.ValueDescriptor,version:1,name:"Results",description:"List of results from the loop. One item in the list for each iteration of the loop.",dataType:Dh,required:!0,index:1,parentRelationType:_.FixedReturns,parent:Ph},Yo={id:Q.ManualFlow,type:i.ActionDescriptor,version:1,name:Q.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:[Ah],argumentsType:U.None,returnsType:U.Fixed,error:null,parent:null},Ga=x[i.BuiltInBaseEntity][V.KEY_VALUE_PARAM],mI={id:"key-value-param-built-in-base-entity-name-property-data-type-ref",type:i.GenericReference,entityId:"key-value-param-built-in-base-entity-name-property-data-type",entityType:i.DataType},Sh={id:"key-value-param-built-in-base-entity-name-property-ref",type:i.GenericReference,entityId:"key-value-param-built-in-base-entity-name-property",entityType:i.Property},TI={id:"key-value-param-built-in-base-entity-name-property-data-type",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:j,asType:!1,defaultValue:null,parent:Sh},Oh={id:"key-value-param-built-in-base-entity-name-property-parent-ref",type:i.GenericReference,entityId:Ga.id,entityType:i.BuiltInBaseEntity},Ch={hidden:!1,required:!0,id:"key-value-param-built-in-base-entity-name-property",name:"Parameter name",version:1,type:i.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:TI,description:"The name of the path parameter",parent:Oh},EI={id:"key-value-param-built-in-base-entity-value-property-data-type-ref",type:i.GenericReference,entityId:"key-value-param-built-in-base-entity-value-property-data-type",entityType:i.DataType},Bh={id:"key-value-param-built-in-base-entity-value-property-ref",type:i.GenericReference,entityId:"key-value-param-built-in-base-entity-value-property",entityType:i.Property},RI={id:"key-value-param-built-in-base-entity-value-property-data-type",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:j,asType:!1,defaultValue:null,parent:Bh},wh={id:"key-value-param-built-in-base-entity-value-property-parent-ref",type:i.GenericReference,entityId:Ga.id,entityType:i.BuiltInBaseEntity},Mh={hidden:!1,required:!0,id:"key-value-param-built-in-base-entity-value-property",name:"Parameter Value",version:1,type:i.Property,private:!1,abstract:!1,implements:null,static:!1,index:1,dataType:RI,description:"The value of the path parameter",parent:wh},Fa={id:Ga.id,version:1,description:'An entity with a "name" and "value" property representing a breakdown of a key-value pair.',name:Ga.id,type:i.BuiltInBaseEntity,abstract:!1,static:!1,interactive:!0,properties:[Ch,Mh],abstractMethods:[],methods:[],extends:[]},Di=x[i.BuiltInBaseEntity][V.HTTP_ENDPOINT].properties,_h={id:"endpointBuiltInCorsPropertyDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"endpointBuiltInCorsPropertyDataType"},Nh={id:"endpointBuiltInCorsPropertyRef",type:i.GenericReference,entityType:i.Property,entityId:Di.cors.id},Vh={id:"endpointBuiltInCorsPropertyDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:{id:"endpointBuiltInCorsPropertyDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.JSON,value:["*"],parent:_h,autogeneration:null,valueAsType:null},parent:Nh},$h={id:"endpointBuiltInBaseEntityRef",type:i.GenericReference,entityType:i.BuiltInBaseEntity,entityId:V.HTTP_ENDPOINT},Lh={hidden:!0,required:!0,id:Di.cors.id,name:"Allowed origins",version:1,type:i.Property,private:!1,abstract:!0,implements:null,static:!0,index:0,dataType:Vh,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:$h},Gh={id:"endpointBuiltInPathPropertyDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"endpointBuiltInPathPropertyDataType"},Fh={id:"endpointBuiltInPathPropertyRef",type:i.GenericReference,entityType:i.Property,entityId:Di.path.id},Uh={id:"endpointBuiltInPathPropertyDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:{id:"endpointBuiltInPathPropertyDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.String,value:"/",parent:Gh,autogeneration:null,valueAsType:null},parent:Fh},xh={id:"endpointBuiltInBaseEntityRefTwo",type:i.GenericReference,entityType:i.BuiltInBaseEntity,entityId:V.HTTP_ENDPOINT},zo={hidden:!1,required:!0,id:Di.path.id,name:"Path",version:1,type:i.Property,private:!1,abstract:!0,implements:null,static:!0,index:1,dataType:Uh,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:xh},jh={id:"endpointBuiltInMethodPropertyDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"endpointBuiltInMethodPropertyDataType"},kh={id:"endpointBuiltInMethodPropertyRef",type:i.GenericReference,entityType:i.Property,entityId:"endpointBuiltInMethodProperty"},qh={id:"endpointBuiltInMethodPropertyDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Sn,isList:!0,isNullable:!1,constant:!0,asType:!1,defaultValue:{id:"endpointBuiltInMethodPropertyDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,value:"GET",name:P.Enum,parent:jh,autogeneration:null,valueAsType:null},options:["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","TRACE","CONNECT","CUSTOM"],parent:kh},Jh={id:"endpointBuiltInBaseEntityRefThree",type:i.GenericReference,entityType:i.BuiltInBaseEntity,entityId:V.HTTP_ENDPOINT},Zo={hidden:!1,required:!0,id:Di.method.id,name:"Method",version:1,type:i.Property,private:!1,index:2,implements:null,abstract:!0,static:!0,dataType:qh,description:"The HTTP method that this endpoint will respond to, for example GET, POST, PUT, DELETE, etc.",parent:Jh},Wh={id:"endpointRequestHeadersVariableDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"endpointRequestHeadersVariableDataType"},Hh={id:"endpointRequestHeadersArgumentDeclarationRef",type:i.GenericReference,entityType:i.ArgumentDeclaration,entityId:"endpointRequestHeadersArgumentDeclaration"},Yh={id:"endpointRequestHeadersVariableDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:et,asType:!1,defaultValue:{id:"endpointRequestHeadersVariableDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.JSON,value:{},parent:Wh,autogeneration:null,valueAsType:null},parent:Hh},zh={id:"endpointRequestBodyArgumentDeclarationRef",type:i.GenericReference,entityType:i.ArgumentDeclaration,entityId:"endpointRequestBodyArgumentDeclaration"},Zh={id:"endpointRequestBodyVariableDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:et,defaultValue:null,parent:zh},Xh={id:"endpointRequestQueryParamsVariableDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"endpointRequestQueryParamsVariableDataType"},Qh={id:"endpointRequestQueryParamsArgumentDeclarationRef",type:i.GenericReference,entityType:i.ArgumentDeclaration,entityId:"endpointRequestQueryParamsArgumentDeclaration"},Kh={id:"endpointRequestQueryParamsVariableDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,asType:!1,entity:Fa,defaultValue:{id:"endpointRequestQueryParamsVariableDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.JSON,value:[],parent:Xh,autogeneration:null,valueAsType:null},parent:Qh},ef={id:"endpointPathParamsVariableDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"endpointPathParamsVariableDataType"},tf={id:"endpointPathParamsArgumentDeclarationRef",type:i.GenericReference,entityType:i.ArgumentDeclaration,entityId:"endpointPathParamsArgumentDeclaration"},nf={id:"endpointPathParamsVariableDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Fa,asType:!1,defaultValue:{id:"endpointPathParamsVariableDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.JSON,value:[],parent:ef,autogeneration:null,valueAsType:null},parent:tf},rf={id:"endpointReachedTriggerActionDescriptorRef",type:i.GenericReference,entityType:i.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},af={id:"endpointRequestHeadersArgumentDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the request.",type:i.ValueDescriptor,name:"Request headers",dataType:Yh,required:!0,index:0,parentRelationType:_.FixedArguments,parent:rf},sf={id:"endpointReachedTriggerActionDescriptorRefTwo",type:i.GenericReference,entityType:i.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},of={id:"endpointPathParamsArgumentDeclaration",type:i.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:nf,required:!0,index:1,parentRelationType:_.FixedArguments,parent:sf},lf={id:"endpointReachedTriggerActionDescriptorRefThree",type:i.GenericReference,entityType:i.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},cf={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:i.ValueDescriptor,name:"Request query params",dataType:Kh,required:!0,index:2,parentRelationType:_.FixedArguments,parent:lf},df={id:"endpointReachedTriggerActionDescriptorRefFour",type:i.GenericReference,entityType:i.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},uf={id:"endpointRequestBodyArgumentDeclaration",version:1,description:"The main data payload of the request.",type:i.ValueDescriptor,name:"Request body",dataType:Zh,index:3,required:!0,parentRelationType:_.FixedArguments,parent:df},pf={id:"endpointResponseCodeReturnDeclarationRef",type:i.GenericReference,entityType:i.ReturnDeclaration,entityId:"endpointResponseCodeReturnDeclaration"},yf={id:"9ba575b0-6f8e-436d-a3de-3b843622aa17",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:pf},hf={id:"endpointReturnStatementRef",type:i.GenericReference,entityType:i.ActionDescriptor,entityId:"endpointReturnStatement"},ff={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:i.ValueDescriptor,name:"Response code",dataType:yf,required:!0,index:0,parentRelationType:_.FixedReturns,parent:hf},mf={id:"endpointResponseHeadersDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"endpointResponseHeadersDataType"},Tf={id:"endpointResponseHeadersReturnDeclarationRef",type:i.GenericReference,entityType:i.ReturnDeclaration,entityId:"endpointResponseHeadersReturnDeclaration"},Ef={id:"endpointResponseHeadersDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:et,asType:!1,defaultValue:{id:"endpointResponseHeadersDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.JSON,value:{},parent:mf,autogeneration:null,valueAsType:null},parent:Tf},Rf={id:"endpointReturnStatementRefTwo",type:i.GenericReference,entityType:i.ActionDescriptor,entityId:"endpointReturnStatement"},bf={id:"endpointResponseHeadersReturnDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the response.",type:i.ValueDescriptor,name:"Response headers",dataType:Ef,required:!1,index:1,parentRelationType:_.FixedReturns,parent:Rf},gf={id:"endpointResponseBodyReturnDeclarationRef",type:i.GenericReference,entityType:i.ReturnDeclaration,entityId:"endpointResponseBodyReturnDeclaration"},vf={id:"endpointResponseBodyDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:et,defaultValue:null,parent:gf},If={id:"endpointReturnStatementRefThree",type:i.GenericReference,entityType:i.ActionDescriptor,entityId:"endpointReturnStatement"},Df={id:"endpointResponseBodyReturnDeclaration",version:1,description:"The main data payload of the response.",type:i.ValueDescriptor,name:"Response body",dataType:vf,required:!1,index:2,parentRelationType:_.FixedReturns,parent:If},Pf={id:"endpointBuiltInBaseEntityRefFour",type:i.GenericReference,entityType:i.BuiltInBaseEntity,entityId:V.HTTP_ENDPOINT},Xo={id:"endpointReachedTriggerActionDescriptor",type:i.ActionDescriptor,version:1,name:"Endpoint reached",description:"Fired when the endpoint is reached.",argumentsType:U.Fixed,dynamicArgumentTypes:null,fixedArguments:[af,of,cf,uf],returnsType:U.Fixed,fixedReturns:[ff,bf,Df],error:null,dynamicReturnTypes:null,parent:Pf},Ua={id:V.HTTP_ENDPOINT,version:1,description:"An HTTP endpoint that can be reached by a client from the internet.",name:V.HTTP_ENDPOINT,type:i.BuiltInBaseEntity,interactive:!1,abstract:!0,static:!0,properties:[Lh,zo,Zo],abstractMethods:[Xo],extends:[],methods:[]},Lt=x[i.BuiltInBaseEntity].BUILT_IN_RELATIONAL_DATABASE_ENTITY,Af={id:"relational-database-built-in-base-entity-identifier-property-data-type-ref-id",type:i.GenericReference,entityId:"relational-database-built-in-base-entity-identifier-property-data-type-id",entityType:i.DataType},Sf={id:"relational-database-built-in-base-entity-identifier-property-ref-id",type:i.GenericReference,entityId:Lt.properties.identifier.id,entityType:i.Property},bI={id:"relational-database-built-in-base-entity-identifier-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-identifier-property-default-value-id",type:i.PrimitiveValue,version:1,name:P.String,value:null,parent:Af,autogeneration:{type:qe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:Sf},Fr={id:"relational-database-built-in-base-entity-ref-id",type:i.GenericReference,entityId:V.PERSISTED_ENTITY,entityType:i.BuiltInBaseEntity},xa={hidden:!1,required:!0,id:Lt.properties.identifier.id,name:"Identifier name",version:1,type:i.Property,private:!1,abstract:!0,static:!0,implements:null,index:0,dataType:bI,description:"The name of the main database inside of the server instance where the data will be stored.",parent:Fr},gI={id:"relational-database-built-in-base-entity-username-property-data-type-ref-id",type:i.GenericReference,entityId:"relational-database-built-in-base-entity-username-property-data-type-idd",entityType:i.DataType},Of={id:"relational-database-built-in-base-entity-username-property-ref-id",type:i.GenericReference,entityId:Lt.properties.username.id,entityType:i.Property},vI={id:"relational-database-built-in-base-entity-username-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-username-property-default-value-id",type:i.PrimitiveValue,version:1,name:P.String,value:"postgres",parent:{id:"relational-database-built-in-base-entity-username-property-data-type-default-value-parent-ref-id",type:i.GenericReference,entityId:"relational-database-built-in-base-entity-username-property-data-type-id",entityType:i.DataType},autogeneration:null,valueAsType:null},parent:Of},ja={hidden:!1,required:!0,id:Lt.properties.username.id,name:"Username",version:1,type:i.Property,private:!1,abstract:!0,static:!0,implements:null,index:1,dataType:vI,description:"The username that will be used to connect to the database.",parent:Fr},II={id:"relational-database-built-in-base-entity-password-property-data-type-ref-id",type:i.GenericReference,entityId:"relational-database-built-in-base-entity-password-property-data-type-id",entityType:i.DataType},Cf={id:"relational-database-built-in-base-entity-password-property-ref-id",type:i.GenericReference,entityId:Lt.properties.password.id,entityType:i.Property},DI={id:"relational-database-built-in-base-entity-password-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:null,parent:Cf},ka={hidden:!1,required:!0,id:Lt.properties.password.id,name:"Password",version:1,type:i.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:Fr},Bf={id:"relational-database-built-in-base-entity-min-size-property-data-type-ref-id",type:i.GenericReference,entityId:"relational-database-built-in-base-entity-min-size-property-data-type-id",entityType:i.DataType},wf={id:"relational-database-built-in-base-entity-min-size-property-ref-id",type:i.GenericReference,entityId:Lt.properties.minSize.id,entityType:i.Property},PI={id:"relational-database-built-in-base-entity-min-size-property-data-type-id",version:1,type:i.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:i.PrimitiveValue,version:1,name:P.Number,value:6,parent:Bf,autogeneration:null,valueAsType:null},parent:wf},qa={hidden:!0,required:!0,id:Lt.properties.minSize.id,name:"Minimum GB size",version:1,type:i.Property,private:!1,abstract:!0,static:!0,implements:null,index:3,dataType:PI,description:"The minimum size of the database in GB.",parent:Fr},Mf={id:"relational-database-built-in-base-entity-default-property-data-type-ref-id",type:i.GenericReference,entityId:"relational-database-built-in-base-entity-default-property-data-type-id",entityType:i.DataType},_f={id:"relational-database-built-in-base-entity-default-property-ref-id",type:i.GenericReference,entityId:Lt.properties.default.id,entityType:i.Property},AI={id:"relational-database-built-in-base-entity-default-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:An,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-default-property-default-value-id",type:i.PrimitiveValue,version:1,name:P.Boolean,value:!1,parent:Mf,autogeneration:null,valueAsType:null},parent:_f},Qo={hidden:!0,required:!0,id:Lt.properties.default.id,name:"Default",version:1,type:i.Property,private:!1,abstract:!0,static:!0,implements:null,index:4,dataType:AI,description:"If true, this database will be the default database for the server instance and all the new entities.",parent:Fr},Nf={id:"relational-database-built-in-base-entity-autoscaling-property-ref-id",type:i.GenericReference,entityId:Lt.properties.autoscaling.id,entityType:i.Property},Vf={id:"relational-database-built-in-base-entity-autoscaling-property-data-type-ref-id",type:i.GenericReference,entityId:"relational-database-built-in-base-entity-autoscaling-property-data-type-id",entityType:i.DataType},SI={id:"relational-database-built-in-base-entity-autoscaling-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:An,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-autoscaling-property-default-value-id",type:i.PrimitiveValue,version:1,name:P.Boolean,value:!1,parent:Vf,autogeneration:null,valueAsType:null},parent:Nf},$f={id:"relational-database-built-in-base-entity-autoscaling-property-parent-ref-id",type:i.GenericReference,entityId:V.PERSISTED_ENTITY,entityType:i.BuiltInBaseEntity},Ko={hidden:!0,required:!0,id:Lt.properties.autoscaling.id,name:"Auto-scaling",version:1,type:i.Property,private:!1,abstract:!0,static:!0,implements:null,index:4,dataType:SI,description:"If true, this database will automatically scale up or down in memory size, based on the usage.",parent:$f},On={id:V.RELATIONAL_DATABASE,version:1,description:"This entity provisions a relational database in the cloud.",name:V.RELATIONAL_DATABASE,type:i.BuiltInBaseEntity,abstract:!0,static:!0,interactive:!1,properties:[xa,ja,ka,qa,Qo,Ko],abstractMethods:[],methods:[],extends:[]},Lf={type:i.GenericReference,entityId:"persisted-built-in-base-entity-ref-id",entityType:i.BuiltInBaseEntity,id:Ct.DeletePersistedEntity},el={type:i.FunctionDeclaration,id:Ct.DeletePersistedEntity,name:Ct.DeletePersistedEntity,description:"Permanently deletes the current copy of an entity from the database",version:1,parent:Lf,inputs:[],calls:[],implements:null,collapsed:!1,returnStatements:[],index:0,private:!1,x:0,y:0},Gf={type:i.GenericReference,entityId:"persisted-built-in-base-entity-ref-id",entityType:i.BuiltInBaseEntity,id:Ct.SoftDeletePersistedEntity},Ff={type:i.FunctionDeclaration,id:Ct.SoftDeletePersistedEntity,name:Ct.SoftDeletePersistedEntity,description:"Designates the entity as deleted, but does not remove it from the database.",version:1,parent:Gf,inputs:[],calls:[],implements:null,collapsed:!1,returnStatements:[],index:0,private:!1,x:0,y:0},Uf=x[i.BuiltInBaseEntity][V.PERSISTED_ENTITY].properties,OI={id:"persisted-built-in-base-entity-database-property-data-type-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-database-property-data-type-id",entityType:i.DataType},xf={id:"persisted-built-in-base-entity-database-property-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-database-property-id",entityType:i.Property},CI={id:"persisted-built-in-base-entity-database-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:On,asType:!1,defaultValue:null,parent:xf},jf={id:"persisted-built-in-base-entity-database-property-parent-ref-id",type:i.GenericReference,entityId:V.PERSISTED_ENTITY,entityType:i.BuiltInBaseEntity},Pi={hidden:!0,required:!0,id:Uf.database.id,name:"Database",version:1,type:i.Property,private:!1,abstract:!0,implements:null,static:!0,index:0,dataType:CI,description:"The database that the entity belongs to.",parent:jf},kf={id:"persisted-built-in-base-entity-identifier-property-data-type-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-identifier-property-data-type-id",entityType:i.DataType},qf={id:"persisted-built-in-base-entity-identifier-property-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-identifier-property-id",entityType:i.Property},BI={id:"persisted-built-in-base-entity-identifier-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Oa,asType:!1,defaultValue:{id:"persisted-built-in-base-entity-identifier-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.UUID,value:null,parent:kf,autogeneration:{type:qe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:qf},Jf={id:"persisted-built-in-base-entity-identifier-property-parent-ref-id",type:i.GenericReference,entityId:V.PERSISTED_ENTITY,entityType:i.BuiltInBaseEntity},Wf={hidden:!1,required:!0,id:Uf.identifier.id,name:"Identifier",version:1,type:i.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:BI,description:"Auto-generated unique identifier for the entity, can be used to identify the entity among other entities of the same type.",parent:Jf},wI={id:"persisted-built-in-base-entity-deleted-at-property-data-type-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-deleted-at-property-data-type-id",entityType:i.DataType},Hf={id:"persisted-built-in-base-entity-deleted-at-property-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-deleted-at-property-id",entityType:i.Property},Yf={id:"persisted-built-in-base-entity-deleted-at-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!0,constant:!1,entity:dn,asType:!1,defaultValue:null,parent:Hf},zf={id:"persisted-built-in-base-entity-deleted-at-property-parent-ref-id",type:i.GenericReference,entityId:V.PERSISTED_ENTITY,entityType:i.BuiltInBaseEntity},Zf={hidden:!1,required:!0,id:"persisted-built-in-base-entity-deleted-at-property-id",name:"Deleted at",version:1,type:i.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:Yf,description:"The date and time when the entity was deleted.",parent:zf},MI={id:"persisted-built-in-base-entity-created-at-property-data-type-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-created-at-property-data-type-id",entityType:i.DataType},Xf={id:"persisted-built-in-base-entity-created-at-property-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-created-at-property-id",entityType:i.Property},Qf={id:"persisted-built-in-base-entity-created-at-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:dn,asType:!1,defaultValue:null,parent:Xf},Kf={id:"persisted-built-in-base-entity-created-at-property-parent-ref-id",type:i.GenericReference,entityId:V.PERSISTED_ENTITY,entityType:i.BuiltInBaseEntity},em={hidden:!1,required:!0,id:"persisted-built-in-base-entity-created-at-property-id",name:"Created at",version:1,type:i.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:Qf,description:"The date and time when the entity was created.",parent:Kf},_I={id:"persisted-built-in-base-entity-updated-at-property-data-type-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-updated-at-property-data-type-id",entityType:i.DataType},tm={id:"persisted-built-in-base-entity-updated-at-property-ref-id",type:i.GenericReference,entityId:"persisted-built-in-base-entity-updated-at-property-id",entityType:i.Property},nm={id:"persisted-built-in-base-entity-updated-at-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:dn,asType:!1,defaultValue:null,parent:tm},rm={id:"persisted-built-in-base-entity-updated-at-property-parent-ref-id",type:i.GenericReference,entityId:V.PERSISTED_ENTITY,entityType:i.BuiltInBaseEntity},im={hidden:!1,required:!0,id:"persisted-built-in-base-entity-updated-at-property-id",name:"Updated at",version:1,type:i.Property,private:!1,implements:null,abstract:!1,static:!1,index:0,dataType:nm,description:"The date and time when the entity was last updated.",parent:rm},Le={id:V.PERSISTED_ENTITY,version:1,description:"An entity that is permanently stored in the database and can be accessed at any point.",name:V.PERSISTED_ENTITY,type:i.BuiltInBaseEntity,abstract:!0,static:!1,interactive:!0,abstractMethods:[],properties:[Pi,Wf,Zf,em,im],methods:[el,Ff],extends:[]},am={id:"cron-job-triggered-function-declaration-blueprint-parent-ref-id",type:i.GenericReference,entityType:i.BuiltInBaseEntity,entityId:V.HTTP_ENDPOINT},tl={id:"cron-job-triggered-function-declaration-blueprint-id",name:"Cron job triggered",version:1,type:i.ActionDescriptor,argumentsType:U.None,returnsType:U.None,description:"Executed when the cron job is triggered",fixedArguments:[],dynamicArgumentTypes:null,error:null,fixedReturns:[],dynamicReturnTypes:null,parent:am},sm=x[i.BuiltInBaseEntity].BUILT_IN_CRON_JOB_ENTITY,NI={id:"cron-job-built-in-base-entity-expression-property-data-type-ref",type:i.GenericReference,entityId:"cron-job-built-in-base-entity-expression-property-data-type",entityType:i.DataType},om={id:"cron-job-built-in-base-entity-expression-property-ref",type:i.GenericReference,entityId:sm.properties.expression.id,entityType:i.Property},VI={id:"cron-job-built-in-base-entity-expression-property-data-type",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:null,parent:om},lm={id:"cron-job-built-in-base-entity-ref",type:i.GenericReference,entityId:V.CRON_JOB,entityType:i.BuiltInBaseEntity},cm={hidden:!1,required:!0,id:sm.properties.expression.id,name:"Cron expression",version:1,type:i.Property,private:!1,abstract:!0,implements:null,static:!0,index:0,dataType:VI,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:lm},nl={id:V.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:V.CRON_JOB,type:i.BuiltInBaseEntity,abstract:!0,static:!0,interactive:!1,properties:[cm],methods:[],abstractMethods:[tl],extends:[]},dm={type:i.GenericReference,id:"execution-built-in-entity-abort-method-parent-ref-id",entityType:i.BuiltInBaseEntity,entityId:"execution-built-in-entity-id"},rl={id:"execution-built-in-entity-abort-method-id",type:i.FunctionDeclaration,version:1,name:Ct.AbortExecution,description:"Aborts the execution of the entity",inputs:[],returnStatements:[],calls:[],implements:null,private:!1,collapsed:!1,index:null,x:0,y:0,parent:dm},il={id:V.EXECUTION,type:i.BuiltInBaseEntity,version:1,name:V.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:[rl],abstractMethods:[]},$I=x[i.Condition]["not-empty"],um={type:i.GenericReference,id:"not-empty-condition-ref",entityType:i.ActionDescriptor,entityId:$t.NotEmpty},pm={id:$I.inputs.leftHand.id,type:i.ValueDescriptor,version:1,name:"Value",description:"The value to check if it is not empty",dataType:null,required:!0,parentRelationType:_.FixedArguments,index:0,parent:um},Kn={type:i.ActionDescriptor,id:$t.NotEmpty,version:1,name:$t.NotEmpty,description:"Checks if the value is not empty",parent:null,fixedArguments:[pm],fixedReturns:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:U.Fixed,returnsType:U.None,error:null},ym={[$t.NotEmpty]:Kn},hm=x[i.Condition]["more-than-or-equal"],fm={type:i.GenericReference,id:"more-than-or-equal-condition-left-hand-argument-parent-ref",entityType:i.ActionDescriptor,entityId:Me.MoreThanOrEqual},mm={id:hm.inputs.leftHand.id,type:i.ValueDescriptor,version:1,name:"First value",description:"The first value to compare",dataType:null,required:!0,parentRelationType:_.FixedArguments,index:0,parent:fm},Tm={type:i.GenericReference,id:"more-than-or-equal-condition-right-hand-argument-parent-ref",entityType:i.ActionDescriptor,entityId:Me.MoreThanOrEqual},Em={id:hm.inputs.rightHand.id,type:i.ValueDescriptor,version:1,name:"Second value",description:"The second value to compare",dataType:null,required:!0,parentRelationType:_.FixedArguments,index:1,parent:Tm},Ur={type:i.ActionDescriptor,id:Me.MoreThanOrEqual,version:1,name:Me.MoreThanOrEqual,description:"Checks if the value is not empty",parent:null,fixedArguments:[mm,Em],fixedReturns:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:U.Fixed,returnsType:U.None,error:null},Rm={[Me.MoreThanOrEqual]:Ur},LI={...ym,...Rm},Ja={type:i.ActionDescriptor,id:ln.PROJECT_PUBLICATION_COMPLETED,version:1,name:ln.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:U.None,returnsType:U.None,error:null},GI={[ln.PROJECT_PUBLICATION_COMPLETED]:Ja},al=x[i.ValueDescriptor][Bo.ActionOngoingProcessOutputValue],bm={type:i.GenericReference,id:"182f767f-50e8-4394-ba5f-43e78c232733",entityType:i.ValueDescriptor,entityId:al.id},gm={id:al.dataType.id,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:il,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:bm},sl={id:al.id,type:i.ValueDescriptor,description:"A value that represents the ongoing process of the parent action",version:1,name:"Process",dataType:gm,required:!0,index:0,parent:null,parentRelationType:_.OngoingProcessExecution};var ee;(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(l=>typeof a[a[l]]!="number"),o={};for(const l of s)o[l]=a[l];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 r(a,s=" | "){return a.map(o=>typeof o=="string"?`'${o}'`:o).join(s)}n.joinValues=r,n.jsonStringifyReplacer=(a,s)=>typeof s=="bigint"?s.toString():s})(ee||(ee={}));var ol;(function(n){n.mergeShapes=(e,t)=>({...e,...t})})(ol||(ol={}));const $=ee.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Cn=n=>{switch(typeof n){case"undefined":return $.undefined;case"string":return $.string;case"number":return isNaN(n)?$.nan:$.number;case"boolean":return $.boolean;case"function":return $.function;case"bigint":return $.bigint;case"symbol":return $.symbol;case"object":return Array.isArray(n)?$.array:n===null?$.null:n.then&&typeof n.then=="function"&&n.catch&&typeof n.catch=="function"?$.promise:typeof Map<"u"&&n instanceof Map?$.map:typeof Set<"u"&&n instanceof Set?$.set:typeof Date<"u"&&n instanceof Date?$.date:$.object;default:return $.unknown}},O=ee.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"]),FI=n=>JSON.stringify(n,null,2).replace(/"([^"]+)":/g,"$1:");class bt extends Error{constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};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},r={_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)r._errors.push(t(o));else{let l=r,p=0;for(;p<o.path.length;){const y=o.path[p];p===o.path.length-1?(l[y]=l[y]||{_errors:[]},l[y]._errors.push(t(o))):l[y]=l[y]||{_errors:[]},l=l[y],p++}}};return a(this),r}static assert(e){if(!(e instanceof bt))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,ee.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},r=[];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))):r.push(e(a));return{formErrors:r,fieldErrors:t}}get formErrors(){return this.flatten()}}bt.create=n=>new bt(n);const xr=(n,e)=>{let t;switch(n.code){case O.invalid_type:n.received===$.undefined?t="Required":t=`Expected ${n.expected}, received ${n.received}`;break;case O.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(n.expected,ee.jsonStringifyReplacer)}`;break;case O.unrecognized_keys:t=`Unrecognized key(s) in object: ${ee.joinValues(n.keys,", ")}`;break;case O.invalid_union:t="Invalid input";break;case O.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${ee.joinValues(n.options)}`;break;case O.invalid_enum_value:t=`Invalid enum value. Expected ${ee.joinValues(n.options)}, received '${n.received}'`;break;case O.invalid_arguments:t="Invalid function arguments";break;case O.invalid_return_type:t="Invalid function return type";break;case O.invalid_date:t="Invalid date";break;case O.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}"`:ee.assertNever(n.validation):n.validation!=="regex"?t=`Invalid ${n.validation}`:t="Invalid";break;case O.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 O.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 O.custom:t="Invalid input";break;case O.invalid_intersection_types:t="Intersection results could not be merged";break;case O.not_multiple_of:t=`Number must be a multiple of ${n.multipleOf}`;break;case O.not_finite:t="Number must be finite";break;default:t=e.defaultError,ee.assertNever(n)}return{message:t}};let vm=xr;function UI(n){vm=n}function Wa(){return vm}const Ha=n=>{const{data:e,path:t,errorMaps:r,issueData:a}=n,s=[...t,...a.path||[]],o={...a,path:s};if(a.message!==void 0)return{...a,path:s,message:a.message};let l="";const p=r.filter(y=>!!y).slice().reverse();for(const y of p)l=y(o,{data:e,defaultError:l}).message;return{...a,path:s,message:l}},xI=[];function N(n,e){const t=Wa(),r=Ha({issueData:e,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,t,t===xr?void 0:xr].filter(a=>!!a)});n.common.issues.push(r)}class tt{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const r=[];for(const a of t){if(a.status==="aborted")return q;a.status==="dirty"&&e.dirty(),r.push(a.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,t){const r=[];for(const a of t){const s=await a.key,o=await a.value;r.push({key:s,value:o})}return tt.mergeObjectSync(e,r)}static mergeObjectSync(e,t){const r={};for(const a of t){const{key:s,value:o}=a;if(s.status==="aborted"||o.status==="aborted")return q;s.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof o.value<"u"||a.alwaysSet)&&(r[s.value]=o.value)}return{status:e.value,value:r}}}const q=Object.freeze({status:"aborted"}),jr=n=>({status:"dirty",value:n}),pt=n=>({status:"valid",value:n}),ll=n=>n.status==="aborted",cl=n=>n.status==="dirty",Ai=n=>n.status==="valid",Si=n=>typeof Promise<"u"&&n instanceof Promise;function Ya(n,e,t,r){if(t==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!r:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?r:t==="a"?r.call(n):r?r.value:e.get(n)}function Im(n,e,t,r,a){if(r==="m")throw new TypeError("Private method is not writable");if(r==="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 r==="a"?a.call(n,t):a?a.value=t:e.set(n,t),t}typeof SuppressedError=="function"&&SuppressedError;var F;(function(n){n.errToObj=e=>typeof e=="string"?{message:e}:e||{},n.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(F||(F={}));var Oi,Ci;class Zt{constructor(e,t,r,a){this._cachedPath=[],this.parent=e,this.data=t,this._path=r,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(Ai(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 bt(n.common.issues);return this._error=t,this._error}}};function z(n){if(!n)return{};const{errorMap:e,invalid_type_error:t,required_error:r,description:a}=n;if(e&&(t||r))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,l)=>{var p,y;const{message:f}=n;return o.code==="invalid_enum_value"?{message:f??l.defaultError}:typeof l.data>"u"?{message:(p=f??r)!==null&&p!==void 0?p:l.defaultError}:o.code!=="invalid_type"?{message:l.defaultError}:{message:(y=f??t)!==null&&y!==void 0?y:l.defaultError}},description:a}}class X{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 Cn(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Cn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new tt,ctx:{common:e.parent.common,data:e.data,parsedType:Cn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(Si(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 r=this.safeParse(e,t);if(r.success)return r.data;throw r.error}safeParse(e,t){var r;const a={common:{issues:[],async:(r=t==null?void 0:t.async)!==null&&r!==void 0?r:!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Cn(e)},s=this._parseSync({data:e,path:a.path,parent:a});return Dm(a,s)}async parseAsync(e,t){const r=await this.safeParseAsync(e,t);if(r.success)return r.data;throw r.error}async safeParseAsync(e,t){const r={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:Cn(e)},a=this._parse({data:e,path:r.path,parent:r}),s=await(Si(a)?a:Promise.resolve(a));return Dm(r,s)}refine(e,t){const r=a=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(a):t;return this._refinement((a,s)=>{const o=e(a),l=()=>s.addIssue({code:O.custom,...r(a)});return typeof Promise<"u"&&o instanceof Promise?o.then(p=>p?!0:(l(),!1)):o?!0:(l(),!1)})}refinement(e,t){return this._refinement((r,a)=>e(r)?!0:(a.addIssue(typeof t=="function"?t(r,a):t),!1))}_refinement(e){return new Wt({schema:this,typeName:k.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return Qt.create(this,this._def)}nullable(){return _n.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Jt.create(this,this._def)}promise(){return Wr.create(this,this._def)}or(e){return _i.create([this,e],this._def)}and(e){return Ni.create(this,e,this._def)}transform(e){return new Wt({...z(this._def),schema:this,typeName:k.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new Fi({...z(this._def),innerType:this,defaultValue:t,typeName:k.ZodDefault})}brand(){return new pl({typeName:k.ZodBranded,type:this,...z(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new Ui({...z(this._def),innerType:this,catchValue:t,typeName:k.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return xi.create(this,e)}readonly(){return ji.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const jI=/^c[^\s-]{8,}$/i,kI=/^[0-9a-z]+$/,qI=/^[0-9A-HJKMNP-TV-Z]{26}$/,JI=/^[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,HI=/^[-+]?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)?)??$/,YI=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,zI="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let dl;const ZI=/^(?:(?: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])$/,XI=/^(([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})))$/,QI=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Pm="((\\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])))",KI=new RegExp(`^${Pm}$`);function Am(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 eD(n){return new RegExp(`^${Am(n)}$`)}function Sm(n){let e=`${Pm}T${Am(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 tD(n,e){return!!((e==="v4"||!e)&&ZI.test(n)||(e==="v6"||!e)&&XI.test(n))}class qt extends X{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==$.string){const s=this._getOrReturnCtx(e);return N(s,{code:O.invalid_type,expected:$.string,received:s.parsedType}),q}const r=new tt;let a;for(const s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(a=this._getOrReturnCtx(e,a),N(a,{code:O.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="max")e.data.length>s.value&&(a=this._getOrReturnCtx(e,a),N(a,{code:O.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="length"){const o=e.data.length>s.value,l=e.data.length<s.value;(o||l)&&(a=this._getOrReturnCtx(e,a),o?N(a,{code:O.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):l&&N(a,{code:O.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),r.dirty())}else if(s.kind==="email")YI.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"email",code:O.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")dl||(dl=new RegExp(zI,"u")),dl.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"emoji",code:O.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")JI.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"uuid",code:O.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")WI.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"nanoid",code:O.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")jI.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"cuid",code:O.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")kI.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"cuid2",code:O.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")qI.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"ulid",code:O.invalid_string,message:s.message}),r.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{a=this._getOrReturnCtx(e,a),N(a,{validation:"url",code:O.invalid_string,message:s.message}),r.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"regex",code:O.invalid_string,message:s.message}),r.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(a=this._getOrReturnCtx(e,a),N(a,{code:O.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),r.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),N(a,{code:O.invalid_string,validation:{startsWith:s.value},message:s.message}),r.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(a=this._getOrReturnCtx(e,a),N(a,{code:O.invalid_string,validation:{endsWith:s.value},message:s.message}),r.dirty()):s.kind==="datetime"?Sm(s).test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{code:O.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?KI.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{code:O.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?eD(s).test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{code:O.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?HI.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"duration",code:O.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?tD(e.data,s.version)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"ip",code:O.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?QI.test(e.data)||(a=this._getOrReturnCtx(e,a),N(a,{validation:"base64",code:O.invalid_string,message:s.message}),r.dirty()):ee.assertNever(s);return{status:r.value,value:e.data}}_regex(e,t,r){return this.refinement(a=>e.test(a),{validation:t,code:O.invalid_string,...F.errToObj(r)})}_addCheck(e){return new qt({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...F.errToObj(e)})}url(e){return this._addCheck({kind:"url",...F.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...F.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...F.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...F.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...F.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...F.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...F.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...F.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...F.errToObj(e)})}datetime(e){var t,r;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:(r=e==null?void 0:e.local)!==null&&r!==void 0?r:!1,...F.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,...F.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...F.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...F.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...F.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...F.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...F.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...F.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...F.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...F.errToObj(t)})}nonempty(e){return this.min(1,F.errToObj(e))}trim(){return new qt({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new qt({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new qt({...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}}qt.create=n=>{var e;return new qt({checks:[],typeName:k.ZodString,coerce:(e=n==null?void 0:n.coerce)!==null&&e!==void 0?e:!1,...z(n)})};function nD(n,e){const t=(n.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,a=t>r?t:r,s=parseInt(n.toFixed(a).replace(".","")),o=parseInt(e.toFixed(a).replace(".",""));return s%o/Math.pow(10,a)}class Bn extends X{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)!==$.number){const s=this._getOrReturnCtx(e);return N(s,{code:O.invalid_type,expected:$.number,received:s.parsedType}),q}let r;const a=new tt;for(const s of this._def.checks)s.kind==="int"?ee.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),N(r,{code:O.invalid_type,expected:"integer",received:"float",message:s.message}),a.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(r=this._getOrReturnCtx(e,r),N(r,{code:O.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)&&(r=this._getOrReturnCtx(e,r),N(r,{code:O.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),a.dirty()):s.kind==="multipleOf"?nD(e.data,s.value)!==0&&(r=this._getOrReturnCtx(e,r),N(r,{code:O.not_multiple_of,multipleOf:s.value,message:s.message}),a.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),N(r,{code:O.not_finite,message:s.message}),a.dirty()):ee.assertNever(s);return{status:a.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,F.toString(t))}gt(e,t){return this.setLimit("min",e,!1,F.toString(t))}lte(e,t){return this.setLimit("max",e,!0,F.toString(t))}lt(e,t){return this.setLimit("max",e,!1,F.toString(t))}setLimit(e,t,r,a){return new Bn({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:F.toString(a)}]})}_addCheck(e){return new Bn({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:F.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:F.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:F.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:F.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:F.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:F.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:F.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:F.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:F.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"&&ee.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(t===null||r.value>t)&&(t=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(t)&&Number.isFinite(e)}}Bn.create=n=>new Bn({checks:[],typeName:k.ZodNumber,coerce:(n==null?void 0:n.coerce)||!1,...z(n)});class wn extends X{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)!==$.bigint){const s=this._getOrReturnCtx(e);return N(s,{code:O.invalid_type,expected:$.bigint,received:s.parsedType}),q}let r;const a=new tt;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(r=this._getOrReturnCtx(e,r),N(r,{code:O.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)&&(r=this._getOrReturnCtx(e,r),N(r,{code:O.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),a.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),N(r,{code:O.not_multiple_of,multipleOf:s.value,message:s.message}),a.dirty()):ee.assertNever(s);return{status:a.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,F.toString(t))}gt(e,t){return this.setLimit("min",e,!1,F.toString(t))}lte(e,t){return this.setLimit("max",e,!0,F.toString(t))}lt(e,t){return this.setLimit("max",e,!1,F.toString(t))}setLimit(e,t,r,a){return new wn({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:F.toString(a)}]})}_addCheck(e){return new wn({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:F.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:F.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:F.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:F.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:F.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}}wn.create=n=>{var e;return new wn({checks:[],typeName:k.ZodBigInt,coerce:(e=n==null?void 0:n.coerce)!==null&&e!==void 0?e:!1,...z(n)})};class Bi extends X{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==$.boolean){const r=this._getOrReturnCtx(e);return N(r,{code:O.invalid_type,expected:$.boolean,received:r.parsedType}),q}return pt(e.data)}}Bi.create=n=>new Bi({typeName:k.ZodBoolean,coerce:(n==null?void 0:n.coerce)||!1,...z(n)});class er extends X{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==$.date){const s=this._getOrReturnCtx(e);return N(s,{code:O.invalid_type,expected:$.date,received:s.parsedType}),q}if(isNaN(e.data.getTime())){const s=this._getOrReturnCtx(e);return N(s,{code:O.invalid_date}),q}const r=new tt;let a;for(const s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(a=this._getOrReturnCtx(e,a),N(a,{code:O.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),r.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(a=this._getOrReturnCtx(e,a),N(a,{code:O.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),r.dirty()):ee.assertNever(s);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new er({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:F.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:F.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}}er.create=n=>new er({checks:[],coerce:(n==null?void 0:n.coerce)||!1,typeName:k.ZodDate,...z(n)});class za extends X{_parse(e){if(this._getType(e)!==$.symbol){const r=this._getOrReturnCtx(e);return N(r,{code:O.invalid_type,expected:$.symbol,received:r.parsedType}),q}return pt(e.data)}}za.create=n=>new za({typeName:k.ZodSymbol,...z(n)});class wi extends X{_parse(e){if(this._getType(e)!==$.undefined){const r=this._getOrReturnCtx(e);return N(r,{code:O.invalid_type,expected:$.undefined,received:r.parsedType}),q}return pt(e.data)}}wi.create=n=>new wi({typeName:k.ZodUndefined,...z(n)});class Mi extends X{_parse(e){if(this._getType(e)!==$.null){const r=this._getOrReturnCtx(e);return N(r,{code:O.invalid_type,expected:$.null,received:r.parsedType}),q}return pt(e.data)}}Mi.create=n=>new Mi({typeName:k.ZodNull,...z(n)});class kr extends X{constructor(){super(...arguments),this._any=!0}_parse(e){return pt(e.data)}}kr.create=n=>new kr({typeName:k.ZodAny,...z(n)});class tr extends X{constructor(){super(...arguments),this._unknown=!0}_parse(e){return pt(e.data)}}tr.create=n=>new tr({typeName:k.ZodUnknown,...z(n)});class pn extends X{_parse(e){const t=this._getOrReturnCtx(e);return N(t,{code:O.invalid_type,expected:$.never,received:t.parsedType}),q}}pn.create=n=>new pn({typeName:k.ZodNever,...z(n)});class Za extends X{_parse(e){if(this._getType(e)!==$.undefined){const r=this._getOrReturnCtx(e);return N(r,{code:O.invalid_type,expected:$.void,received:r.parsedType}),q}return pt(e.data)}}Za.create=n=>new Za({typeName:k.ZodVoid,...z(n)});class Jt extends X{_parse(e){const{ctx:t,status:r}=this._processInputParams(e),a=this._def;if(t.parsedType!==$.array)return N(t,{code:O.invalid_type,expected:$.array,received:t.parsedType}),q;if(a.exactLength!==null){const o=t.data.length>a.exactLength.value,l=t.data.length<a.exactLength.value;(o||l)&&(N(t,{code:o?O.too_big:O.too_small,minimum:l?a.exactLength.value:void 0,maximum:o?a.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:a.exactLength.message}),r.dirty())}if(a.minLength!==null&&t.data.length<a.minLength.value&&(N(t,{code:O.too_small,minimum:a.minLength.value,type:"array",inclusive:!0,exact:!1,message:a.minLength.message}),r.dirty()),a.maxLength!==null&&t.data.length>a.maxLength.value&&(N(t,{code:O.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),r.dirty()),t.common.async)return Promise.all([...t.data].map((o,l)=>a.type._parseAsync(new Zt(t,o,t.path,l)))).then(o=>tt.mergeArray(r,o));const s=[...t.data].map((o,l)=>a.type._parseSync(new Zt(t,o,t.path,l)));return tt.mergeArray(r,s)}get element(){return this._def.type}min(e,t){return new Jt({...this._def,minLength:{value:e,message:F.toString(t)}})}max(e,t){return new Jt({...this._def,maxLength:{value:e,message:F.toString(t)}})}length(e,t){return new Jt({...this._def,exactLength:{value:e,message:F.toString(t)}})}nonempty(e){return this.min(1,e)}}Jt.create=(n,e)=>new Jt({type:n,minLength:null,maxLength:null,exactLength:null,typeName:k.ZodArray,...z(e)});function qr(n){if(n instanceof Fe){const e={};for(const t in n.shape){const r=n.shape[t];e[t]=Qt.create(qr(r))}return new Fe({...n._def,shape:()=>e})}else return n instanceof Jt?new Jt({...n._def,type:qr(n.element)}):n instanceof Qt?Qt.create(qr(n.unwrap())):n instanceof _n?_n.create(qr(n.unwrap())):n instanceof Xt?Xt.create(n.items.map(e=>qr(e))):n}class Fe extends X{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=ee.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==$.object){const y=this._getOrReturnCtx(e);return N(y,{code:O.invalid_type,expected:$.object,received:y.parsedType}),q}const{status:r,ctx:a}=this._processInputParams(e),{shape:s,keys:o}=this._getCached(),l=[];if(!(this._def.catchall instanceof pn&&this._def.unknownKeys==="strip"))for(const y in a.data)o.includes(y)||l.push(y);const p=[];for(const y of o){const f=s[y],m=a.data[y];p.push({key:{status:"valid",value:y},value:f._parse(new Zt(a,m,a.path,y)),alwaysSet:y in a.data})}if(this._def.catchall instanceof pn){const y=this._def.unknownKeys;if(y==="passthrough")for(const f of l)p.push({key:{status:"valid",value:f},value:{status:"valid",value:a.data[f]}});else if(y==="strict")l.length>0&&(N(a,{code:O.unrecognized_keys,keys:l}),r.dirty());else if(y!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const y=this._def.catchall;for(const f of l){const m=a.data[f];p.push({key:{status:"valid",value:f},value:y._parse(new Zt(a,m,a.path,f)),alwaysSet:f in a.data})}}return a.common.async?Promise.resolve().then(async()=>{const y=[];for(const f of p){const m=await f.key,b=await f.value;y.push({key:m,value:b,alwaysSet:f.alwaysSet})}return y}).then(y=>tt.mergeObjectSync(r,y)):tt.mergeObjectSync(r,p)}get shape(){return this._def.shape()}strict(e){return F.errToObj,new Fe({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,r)=>{var a,s,o,l;const p=(o=(s=(a=this._def).errorMap)===null||s===void 0?void 0:s.call(a,t,r).message)!==null&&o!==void 0?o:r.defaultError;return t.code==="unrecognized_keys"?{message:(l=F.errToObj(e).message)!==null&&l!==void 0?l:p}:{message:p}}}:{}})}strip(){return new Fe({...this._def,unknownKeys:"strip"})}passthrough(){return new Fe({...this._def,unknownKeys:"passthrough"})}extend(e){return new Fe({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new Fe({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:k.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new Fe({...this._def,catchall:e})}pick(e){const t={};return ee.objectKeys(e).forEach(r=>{e[r]&&this.shape[r]&&(t[r]=this.shape[r])}),new Fe({...this._def,shape:()=>t})}omit(e){const t={};return ee.objectKeys(this.shape).forEach(r=>{e[r]||(t[r]=this.shape[r])}),new Fe({...this._def,shape:()=>t})}deepPartial(){return qr(this)}partial(e){const t={};return ee.objectKeys(this.shape).forEach(r=>{const a=this.shape[r];e&&!e[r]?t[r]=a:t[r]=a.optional()}),new Fe({...this._def,shape:()=>t})}required(e){const t={};return ee.objectKeys(this.shape).forEach(r=>{if(e&&!e[r])t[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof Qt;)s=s._def.innerType;t[r]=s}}),new Fe({...this._def,shape:()=>t})}keyof(){return Om(ee.objectKeys(this.shape))}}Fe.create=(n,e)=>new Fe({shape:()=>n,unknownKeys:"strip",catchall:pn.create(),typeName:k.ZodObject,...z(e)}),Fe.strictCreate=(n,e)=>new Fe({shape:()=>n,unknownKeys:"strict",catchall:pn.create(),typeName:k.ZodObject,...z(e)}),Fe.lazycreate=(n,e)=>new Fe({shape:n,unknownKeys:"strip",catchall:pn.create(),typeName:k.ZodObject,...z(e)});class _i extends X{_parse(e){const{ctx:t}=this._processInputParams(e),r=this._def.options;function a(s){for(const l of s)if(l.result.status==="valid")return l.result;for(const l of s)if(l.result.status==="dirty")return t.common.issues.push(...l.ctx.common.issues),l.result;const o=s.map(l=>new bt(l.ctx.common.issues));return N(t,{code:O.invalid_union,unionErrors:o}),q}if(t.common.async)return Promise.all(r.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 r){const y={...t,common:{...t.common,issues:[]},parent:null},f=p._parseSync({data:t.data,path:t.path,parent:y});if(f.status==="valid")return f;f.status==="dirty"&&!s&&(s={result:f,ctx:y}),y.common.issues.length&&o.push(y.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;const l=o.map(p=>new bt(p));return N(t,{code:O.invalid_union,unionErrors:l}),q}}get options(){return this._def.options}}_i.create=(n,e)=>new _i({options:n,typeName:k.ZodUnion,...z(e)});const yn=n=>n instanceof $i?yn(n.schema):n instanceof Wt?yn(n.innerType()):n instanceof Li?[n.value]:n instanceof Mn?n.options:n instanceof Gi?ee.objectValues(n.enum):n instanceof Fi?yn(n._def.innerType):n instanceof wi?[void 0]:n instanceof Mi?[null]:n instanceof Qt?[void 0,...yn(n.unwrap())]:n instanceof _n?[null,...yn(n.unwrap())]:n instanceof pl||n instanceof ji?yn(n.unwrap()):n instanceof Ui?yn(n._def.innerType):[];class Xa extends X{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==$.object)return N(t,{code:O.invalid_type,expected:$.object,received:t.parsedType}),q;const r=this.discriminator,a=t.data[r],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}):(N(t,{code:O.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),q)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,r){const a=new Map;for(const s of t){const o=yn(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 l of o){if(a.has(l))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(l)}`);a.set(l,s)}}return new Xa({typeName:k.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:a,...z(r)})}}function ul(n,e){const t=Cn(n),r=Cn(e);if(n===e)return{valid:!0,data:n};if(t===$.object&&r===$.object){const a=ee.objectKeys(e),s=ee.objectKeys(n).filter(l=>a.indexOf(l)!==-1),o={...n,...e};for(const l of s){const p=ul(n[l],e[l]);if(!p.valid)return{valid:!1};o[l]=p.data}return{valid:!0,data:o}}else if(t===$.array&&r===$.array){if(n.length!==e.length)return{valid:!1};const a=[];for(let s=0;s<n.length;s++){const o=n[s],l=e[s],p=ul(o,l);if(!p.valid)return{valid:!1};a.push(p.data)}return{valid:!0,data:a}}else return t===$.date&&r===$.date&&+n==+e?{valid:!0,data:n}:{valid:!1}}class Ni extends X{_parse(e){const{status:t,ctx:r}=this._processInputParams(e),a=(s,o)=>{if(ll(s)||ll(o))return q;const l=ul(s.value,o.value);return l.valid?((cl(s)||cl(o))&&t.dirty(),{status:t.value,value:l.data}):(N(r,{code:O.invalid_intersection_types}),q)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([s,o])=>a(s,o)):a(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}Ni.create=(n,e,t)=>new Ni({left:n,right:e,typeName:k.ZodIntersection,...z(t)});class Xt extends X{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==$.array)return N(r,{code:O.invalid_type,expected:$.array,received:r.parsedType}),q;if(r.data.length<this._def.items.length)return N(r,{code:O.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),q;!this._def.rest&&r.data.length>this._def.items.length&&(N(r,{code:O.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const s=[...r.data].map((o,l)=>{const p=this._def.items[l]||this._def.rest;return p?p._parse(new Zt(r,o,r.path,l)):null}).filter(o=>!!o);return r.common.async?Promise.all(s).then(o=>tt.mergeArray(t,o)):tt.mergeArray(t,s)}get items(){return this._def.items}rest(e){return new Xt({...this._def,rest:e})}}Xt.create=(n,e)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Xt({items:n,typeName:k.ZodTuple,rest:null,...z(e)})};class Vi extends X{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==$.object)return N(r,{code:O.invalid_type,expected:$.object,received:r.parsedType}),q;const a=[],s=this._def.keyType,o=this._def.valueType;for(const l in r.data)a.push({key:s._parse(new Zt(r,l,r.path,l)),value:o._parse(new Zt(r,r.data[l],r.path,l)),alwaysSet:l in r.data});return r.common.async?tt.mergeObjectAsync(t,a):tt.mergeObjectSync(t,a)}get element(){return this._def.valueType}static create(e,t,r){return t instanceof X?new Vi({keyType:e,valueType:t,typeName:k.ZodRecord,...z(r)}):new Vi({keyType:qt.create(),valueType:e,typeName:k.ZodRecord,...z(t)})}}class Qa extends X{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==$.map)return N(r,{code:O.invalid_type,expected:$.map,received:r.parsedType}),q;const a=this._def.keyType,s=this._def.valueType,o=[...r.data.entries()].map(([l,p],y)=>({key:a._parse(new Zt(r,l,r.path,[y,"key"])),value:s._parse(new Zt(r,p,r.path,[y,"value"]))}));if(r.common.async){const l=new Map;return Promise.resolve().then(async()=>{for(const p of o){const y=await p.key,f=await p.value;if(y.status==="aborted"||f.status==="aborted")return q;(y.status==="dirty"||f.status==="dirty")&&t.dirty(),l.set(y.value,f.value)}return{status:t.value,value:l}})}else{const l=new Map;for(const p of o){const y=p.key,f=p.value;if(y.status==="aborted"||f.status==="aborted")return q;(y.status==="dirty"||f.status==="dirty")&&t.dirty(),l.set(y.value,f.value)}return{status:t.value,value:l}}}}Qa.create=(n,e,t)=>new Qa({valueType:e,keyType:n,typeName:k.ZodMap,...z(t)});class nr extends X{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==$.set)return N(r,{code:O.invalid_type,expected:$.set,received:r.parsedType}),q;const a=this._def;a.minSize!==null&&r.data.size<a.minSize.value&&(N(r,{code:O.too_small,minimum:a.minSize.value,type:"set",inclusive:!0,exact:!1,message:a.minSize.message}),t.dirty()),a.maxSize!==null&&r.data.size>a.maxSize.value&&(N(r,{code:O.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 y=new Set;for(const f of p){if(f.status==="aborted")return q;f.status==="dirty"&&t.dirty(),y.add(f.value)}return{status:t.value,value:y}}const l=[...r.data.values()].map((p,y)=>s._parse(new Zt(r,p,r.path,y)));return r.common.async?Promise.all(l).then(p=>o(p)):o(l)}min(e,t){return new nr({...this._def,minSize:{value:e,message:F.toString(t)}})}max(e,t){return new nr({...this._def,maxSize:{value:e,message:F.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}nr.create=(n,e)=>new nr({valueType:n,minSize:null,maxSize:null,typeName:k.ZodSet,...z(e)});class Jr extends X{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==$.function)return N(t,{code:O.invalid_type,expected:$.function,received:t.parsedType}),q;function r(l,p){return Ha({data:l,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Wa(),xr].filter(y=>!!y),issueData:{code:O.invalid_arguments,argumentsError:p}})}function a(l,p){return Ha({data:l,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Wa(),xr].filter(y=>!!y),issueData:{code:O.invalid_return_type,returnTypeError:p}})}const s={errorMap:t.common.contextualErrorMap},o=t.data;if(this._def.returns instanceof Wr){const l=this;return pt(async function(...p){const y=new bt([]),f=await l._def.args.parseAsync(p,s).catch(g=>{throw y.addIssue(r(p,g)),y}),m=await Reflect.apply(o,this,f);return await l._def.returns._def.type.parseAsync(m,s).catch(g=>{throw y.addIssue(a(m,g)),y})})}else{const l=this;return pt(function(...p){const y=l._def.args.safeParse(p,s);if(!y.success)throw new bt([r(p,y.error)]);const f=Reflect.apply(o,this,y.data),m=l._def.returns.safeParse(f,s);if(!m.success)throw new bt([a(f,m.error)]);return m.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new Jr({...this._def,args:Xt.create(e).rest(tr.create())})}returns(e){return new Jr({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,r){return new Jr({args:e||Xt.create([]).rest(tr.create()),returns:t||tr.create(),typeName:k.ZodFunction,...z(r)})}}class $i extends X{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})}}$i.create=(n,e)=>new $i({getter:n,typeName:k.ZodLazy,...z(e)});class Li extends X{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return N(t,{received:t.data,code:O.invalid_literal,expected:this._def.value}),q}return{status:"valid",value:e.data}}get value(){return this._def.value}}Li.create=(n,e)=>new Li({value:n,typeName:k.ZodLiteral,...z(e)});function Om(n,e){return new Mn({values:n,typeName:k.ZodEnum,...z(e)})}class Mn extends X{constructor(){super(...arguments),Oi.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),r=this._def.values;return N(t,{expected:ee.joinValues(r),received:t.parsedType,code:O.invalid_type}),q}if(Ya(this,Oi,"f")||Im(this,Oi,new Set(this._def.values),"f"),!Ya(this,Oi,"f").has(e.data)){const t=this._getOrReturnCtx(e),r=this._def.values;return N(t,{received:t.data,code:O.invalid_enum_value,options:r}),q}return pt(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 Mn.create(e,{...this._def,...t})}exclude(e,t=this._def){return Mn.create(this.options.filter(r=>!e.includes(r)),{...this._def,...t})}}Oi=new WeakMap,Mn.create=Om;class Gi extends X{constructor(){super(...arguments),Ci.set(this,void 0)}_parse(e){const t=ee.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==$.string&&r.parsedType!==$.number){const a=ee.objectValues(t);return N(r,{expected:ee.joinValues(a),received:r.parsedType,code:O.invalid_type}),q}if(Ya(this,Ci,"f")||Im(this,Ci,new Set(ee.getValidEnumValues(this._def.values)),"f"),!Ya(this,Ci,"f").has(e.data)){const a=ee.objectValues(t);return N(r,{received:r.data,code:O.invalid_enum_value,options:a}),q}return pt(e.data)}get enum(){return this._def.values}}Ci=new WeakMap,Gi.create=(n,e)=>new Gi({values:n,typeName:k.ZodNativeEnum,...z(e)});class Wr extends X{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==$.promise&&t.common.async===!1)return N(t,{code:O.invalid_type,expected:$.promise,received:t.parsedType}),q;const r=t.parsedType===$.promise?t.data:Promise.resolve(t.data);return pt(r.then(a=>this._def.type.parseAsync(a,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Wr.create=(n,e)=>new Wr({type:n,typeName:k.ZodPromise,...z(e)});class Wt extends X{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===k.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:r}=this._processInputParams(e),a=this._def.effect||null,s={addIssue:o=>{N(r,o),o.fatal?t.abort():t.dirty()},get path(){return r.path}};if(s.addIssue=s.addIssue.bind(s),a.type==="preprocess"){const o=a.transform(r.data,s);if(r.common.async)return Promise.resolve(o).then(async l=>{if(t.value==="aborted")return q;const p=await this._def.schema._parseAsync({data:l,path:r.path,parent:r});return p.status==="aborted"?q:p.status==="dirty"||t.value==="dirty"?jr(p.value):p});{if(t.value==="aborted")return q;const l=this._def.schema._parseSync({data:o,path:r.path,parent:r});return l.status==="aborted"?q:l.status==="dirty"||t.value==="dirty"?jr(l.value):l}}if(a.type==="refinement"){const o=l=>{const p=a.refinement(l,s);if(r.common.async)return Promise.resolve(p);if(p instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return l};if(r.common.async===!1){const l=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return l.status==="aborted"?q:(l.status==="dirty"&&t.dirty(),o(l.value),{status:t.value,value:l.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(l=>l.status==="aborted"?q:(l.status==="dirty"&&t.dirty(),o(l.value).then(()=>({status:t.value,value:l.value}))))}if(a.type==="transform")if(r.common.async===!1){const o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!Ai(o))return o;const l=a.transform(o.value,s);if(l instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:l}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>Ai(o)?Promise.resolve(a.transform(o.value,s)).then(l=>({status:t.value,value:l})):o);ee.assertNever(a)}}Wt.create=(n,e,t)=>new Wt({schema:n,typeName:k.ZodEffects,effect:e,...z(t)}),Wt.createWithPreprocess=(n,e,t)=>new Wt({schema:e,effect:{type:"preprocess",transform:n},typeName:k.ZodEffects,...z(t)});class Qt extends X{_parse(e){return this._getType(e)===$.undefined?pt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Qt.create=(n,e)=>new Qt({innerType:n,typeName:k.ZodOptional,...z(e)});class _n extends X{_parse(e){return this._getType(e)===$.null?pt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}_n.create=(n,e)=>new _n({innerType:n,typeName:k.ZodNullable,...z(e)});class Fi extends X{_parse(e){const{ctx:t}=this._processInputParams(e);let r=t.data;return t.parsedType===$.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}Fi.create=(n,e)=>new Fi({innerType:n,typeName:k.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...z(e)});class Ui extends X{_parse(e){const{ctx:t}=this._processInputParams(e),r={...t,common:{...t.common,issues:[]}},a=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Si(a)?a.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new bt(r.common.issues)},input:r.data})})):{status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new bt(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}Ui.create=(n,e)=>new Ui({innerType:n,typeName:k.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...z(e)});class Ka extends X{_parse(e){if(this._getType(e)!==$.nan){const r=this._getOrReturnCtx(e);return N(r,{code:O.invalid_type,expected:$.nan,received:r.parsedType}),q}return{status:"valid",value:e.data}}}Ka.create=n=>new Ka({typeName:k.ZodNaN,...z(n)});const rD=Symbol("zod_brand");class pl extends X{_parse(e){const{ctx:t}=this._processInputParams(e),r=t.data;return this._def.type._parse({data:r,path:t.path,parent:t})}unwrap(){return this._def.type}}class xi extends X{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?q:s.status==="dirty"?(t.dirty(),jr(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{const a=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?q:a.status==="dirty"?(t.dirty(),{status:"dirty",value:a.value}):this._def.out._parseSync({data:a.value,path:r.path,parent:r})}}static create(e,t){return new xi({in:e,out:t,typeName:k.ZodPipeline})}}class ji extends X{_parse(e){const t=this._def.innerType._parse(e),r=a=>(Ai(a)&&(a.value=Object.freeze(a.value)),a);return Si(t)?t.then(a=>r(a)):r(t)}unwrap(){return this._def.innerType}}ji.create=(n,e)=>new ji({innerType:n,typeName:k.ZodReadonly,...z(e)});function Cm(n,e={},t){return n?kr.create().superRefine((r,a)=>{var s,o;if(!n(r)){const l=typeof e=="function"?e(r):typeof e=="string"?{message:e}:e,p=(o=(s=l.fatal)!==null&&s!==void 0?s:t)!==null&&o!==void 0?o:!0,y=typeof l=="string"?{message:l}:l;a.addIssue({code:"custom",...y,fatal:p})}}):kr.create()}const iD={object:Fe.lazycreate};var k;(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"})(k||(k={}));const aD=(n,e={message:`Input not instance of ${n.name}`})=>Cm(t=>t instanceof n,e),es=qt.create,yl=Bn.create,sD=Ka.create,oD=wn.create,hl=Bi.create,Bm=er.create,lD=za.create,cD=wi.create,wm=Mi.create,dD=kr.create,ts=tr.create,uD=pn.create,pD=Za.create,yD=Jt.create,Mm=Fe.create,hD=Fe.strictCreate,fD=_i.create,mD=Xa.create,TD=Ni.create,ED=Xt.create,_m=Vi.create,RD=Qa.create,bD=nr.create,gD=Jr.create,vD=$i.create,ID=Li.create,Nm=Mn.create,DD=Gi.create,PD=Wr.create,Vm=Wt.create,AD=Qt.create,SD=_n.create,OD=Wt.createWithPreprocess,CD=xi.create;var d=Object.freeze({__proto__:null,defaultErrorMap:xr,setErrorMap:UI,getErrorMap:Wa,makeIssue:Ha,EMPTY_PATH:xI,addIssueToContext:N,ParseStatus:tt,INVALID:q,DIRTY:jr,OK:pt,isAborted:ll,isDirty:cl,isValid:Ai,isAsync:Si,get util(){return ee},get objectUtil(){return ol},ZodParsedType:$,getParsedType:Cn,ZodType:X,datetimeRegex:Sm,ZodString:qt,ZodNumber:Bn,ZodBigInt:wn,ZodBoolean:Bi,ZodDate:er,ZodSymbol:za,ZodUndefined:wi,ZodNull:Mi,ZodAny:kr,ZodUnknown:tr,ZodNever:pn,ZodVoid:Za,ZodArray:Jt,ZodObject:Fe,ZodUnion:_i,ZodDiscriminatedUnion:Xa,ZodIntersection:Ni,ZodTuple:Xt,ZodRecord:Vi,ZodMap:Qa,ZodSet:nr,ZodFunction:Jr,ZodLazy:$i,ZodLiteral:Li,ZodEnum:Mn,ZodNativeEnum:Gi,ZodPromise:Wr,ZodEffects:Wt,ZodTransformer:Wt,ZodOptional:Qt,ZodNullable:_n,ZodDefault:Fi,ZodCatch:Ui,ZodNaN:Ka,BRAND:rD,ZodBranded:pl,ZodPipeline:xi,ZodReadonly:ji,custom:Cm,Schema:X,ZodSchema:X,late:iD,get ZodFirstPartyTypeKind(){return k},coerce:{string:n=>qt.create({...n,coerce:!0}),number:n=>Bn.create({...n,coerce:!0}),boolean:n=>Bi.create({...n,coerce:!0}),bigint:n=>wn.create({...n,coerce:!0}),date:n=>er.create({...n,coerce:!0})},any:dD,array:yD,bigint:oD,boolean:hl,date:Bm,discriminatedUnion:mD,effect:Vm,enum:Nm,function:gD,instanceof:aD,intersection:TD,lazy:vD,literal:ID,map:RD,nan:sD,nativeEnum:DD,never:uD,null:wm,nullable:SD,number:yl,object:Mm,oboolean:()=>hl().optional(),onumber:()=>yl().optional(),optional:AD,ostring:()=>es().optional(),pipeline:CD,preprocess:OD,promise:PD,record:_m,set:bD,strictObject:hD,string:es,symbol:lD,transformer:Vm,tuple:ED,undefined:cD,union:fD,unknown:ts,void:pD,NEVER:q,ZodIssueCode:O,quotelessJson:FI,ZodError:bt});function $m(n){var a,s,o;if(!(n!=null&&n.dataType))return ts();const e=n.dataType.isNullable||!1,t=n.dataType.isList||!1;let r=ts();if(((a=n.dataType.entity)==null?void 0:a.type)===i.PrimitiveEntity)switch(n.dataType.entity.name){case P.String:r=es();break;case P.JSON:r=_m(ts());break;case P.Number:r=yl();break;case P.Boolean:r=hl();break;case P.Date:r=Bm();break;case P.Enum:{const l=n.dataType.options||[];if(l.length===0)throw new Error(`Enum property ${n.name} has no options`);r=Nm(l);break}case P.Null:r=wm();break;case P.UUID:r=es().uuid();break}else if(((s=n.dataType.entity)==null?void 0:s.type)===i.CustomEntity)r=Lm(n.dataType.entity);else throw new Error(`Unsupported data type validation: ${(o=n.dataType.entity)==null?void 0:o.type}`);return e&&(r=r.nullable()),t&&(r=r.array()),r}function Lm(n){const e=Mm({});for(const t of n.properties){const r=$m(t);e.shape[t.name]=r}return e}function Gm(n){const e=n.rangeStart;return new Date(e.getTime()+Math.random()*(Date.now()-e.getTime()))}function Fm(n){const e=n.rangeEnd;return new Date(Math.random()*e.getTime())}function Um(n){const e=n.rangeStart,t=n.rangeEnd;return new Date(e.getTime()+Math.random()*(t.getTime()-e.getTime()))}function xm(n){return n.rangeStart&&n.rangeEnd?Um(n):n.rangeStart?Gm(n):n.rangeEnd?Fm(n):new Date}function BD(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var jm={},ns={},rs={};Object.defineProperty(rs,"__esModule",{value:!0}),rs.default=MD;let is;const wD=new Uint8Array(16);function MD(){if(!is&&(is=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!is))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return is(wD)}var Nn={},rr={},as={};Object.defineProperty(as,"__esModule",{value:!0}),as.default=void 0;var _D=/^(?:[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;as.default=_D,Object.defineProperty(rr,"__esModule",{value:!0}),rr.default=void 0;var ND=VD(as);function VD(n){return n&&n.__esModule?n:{default:n}}function $D(n){return typeof n=="string"&&ND.default.test(n)}var LD=$D;rr.default=LD,Object.defineProperty(Nn,"__esModule",{value:!0}),Nn.default=void 0,Nn.unsafeStringify=km;var GD=FD(rr);function FD(n){return n&&n.__esModule?n:{default:n}}const Xe=[];for(let n=0;n<256;++n)Xe.push((n+256).toString(16).slice(1));function km(n,e=0){return Xe[n[e+0]]+Xe[n[e+1]]+Xe[n[e+2]]+Xe[n[e+3]]+"-"+Xe[n[e+4]]+Xe[n[e+5]]+"-"+Xe[n[e+6]]+Xe[n[e+7]]+"-"+Xe[n[e+8]]+Xe[n[e+9]]+"-"+Xe[n[e+10]]+Xe[n[e+11]]+Xe[n[e+12]]+Xe[n[e+13]]+Xe[n[e+14]]+Xe[n[e+15]]}function UD(n,e=0){const t=km(n,e);if(!(0,GD.default)(t))throw TypeError("Stringified UUID is invalid");return t}var xD=UD;Nn.default=xD,Object.defineProperty(ns,"__esModule",{value:!0}),ns.default=void 0;var jD=qD(rs),kD=Nn;function qD(n){return n&&n.__esModule?n:{default:n}}let qm,fl,ml=0,Tl=0;function JD(n,e,t){let r=e&&t||0;const a=e||new Array(16);n=n||{};let s=n.node||qm,o=n.clockseq!==void 0?n.clockseq:fl;if(s==null||o==null){const b=n.random||(n.rng||jD.default)();s==null&&(s=qm=[b[0]|1,b[1],b[2],b[3],b[4],b[5]]),o==null&&(o=fl=(b[6]<<8|b[7])&16383)}let l=n.msecs!==void 0?n.msecs:Date.now(),p=n.nsecs!==void 0?n.nsecs:Tl+1;const y=l-ml+(p-Tl)/1e4;if(y<0&&n.clockseq===void 0&&(o=o+1&16383),(y<0||l>ml)&&n.nsecs===void 0&&(p=0),p>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");ml=l,Tl=p,fl=o,l+=122192928e5;const f=((l&268435455)*1e4+p)%4294967296;a[r++]=f>>>24&255,a[r++]=f>>>16&255,a[r++]=f>>>8&255,a[r++]=f&255;const m=l/4294967296*1e4&268435455;a[r++]=m>>>8&255,a[r++]=m&255,a[r++]=m>>>24&15|16,a[r++]=m>>>16&255,a[r++]=o>>>8|128,a[r++]=o&255;for(let b=0;b<6;++b)a[r+b]=s[b];return e||(0,kD.unsafeStringify)(a)}var WD=JD;ns.default=WD;var ss={},Vn={},ki={};Object.defineProperty(ki,"__esModule",{value:!0}),ki.default=void 0;var HD=YD(rr);function YD(n){return n&&n.__esModule?n:{default:n}}function zD(n){if(!(0,HD.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 ZD=zD;ki.default=ZD,Object.defineProperty(Vn,"__esModule",{value:!0}),Vn.URL=Vn.DNS=void 0,Vn.default=tP;var XD=Nn,QD=KD(ki);function KD(n){return n&&n.__esModule?n:{default:n}}function eP(n){n=unescape(encodeURIComponent(n));const e=[];for(let t=0;t<n.length;++t)e.push(n.charCodeAt(t));return e}const Jm="6ba7b810-9dad-11d1-80b4-00c04fd430c8";Vn.DNS=Jm;const Wm="6ba7b811-9dad-11d1-80b4-00c04fd430c8";Vn.URL=Wm;function tP(n,e,t){function r(a,s,o,l){var p;if(typeof a=="string"&&(a=eP(a)),typeof s=="string"&&(s=(0,QD.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 y=new Uint8Array(16+a.length);if(y.set(s),y.set(a,s.length),y=t(y),y[6]=y[6]&15|e,y[8]=y[8]&63|128,o){l=l||0;for(let f=0;f<16;++f)o[l+f]=y[f];return o}return(0,XD.unsafeStringify)(y)}try{r.name=n}catch{}return r.DNS=Jm,r.URL=Wm,r}var os={};Object.defineProperty(os,"__esModule",{value:!0}),os.default=void 0;function nP(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 rP(iP(aP(n),n.length*8))}function rP(n){const e=[],t=n.length*32,r="0123456789abcdef";for(let a=0;a<t;a+=8){const s=n[a>>5]>>>a%32&255,o=parseInt(r.charAt(s>>>4&15)+r.charAt(s&15),16);e.push(o)}return e}function Hm(n){return(n+64>>>9<<4)+14+1}function iP(n,e){n[e>>5]|=128<<e%32,n[Hm(e)-1]=e;let t=1732584193,r=-271733879,a=-1732584194,s=271733878;for(let o=0;o<n.length;o+=16){const l=t,p=r,y=a,f=s;t=nt(t,r,a,s,n[o],7,-680876936),s=nt(s,t,r,a,n[o+1],12,-389564586),a=nt(a,s,t,r,n[o+2],17,606105819),r=nt(r,a,s,t,n[o+3],22,-1044525330),t=nt(t,r,a,s,n[o+4],7,-176418897),s=nt(s,t,r,a,n[o+5],12,1200080426),a=nt(a,s,t,r,n[o+6],17,-1473231341),r=nt(r,a,s,t,n[o+7],22,-45705983),t=nt(t,r,a,s,n[o+8],7,1770035416),s=nt(s,t,r,a,n[o+9],12,-1958414417),a=nt(a,s,t,r,n[o+10],17,-42063),r=nt(r,a,s,t,n[o+11],22,-1990404162),t=nt(t,r,a,s,n[o+12],7,1804603682),s=nt(s,t,r,a,n[o+13],12,-40341101),a=nt(a,s,t,r,n[o+14],17,-1502002290),r=nt(r,a,s,t,n[o+15],22,1236535329),t=rt(t,r,a,s,n[o+1],5,-165796510),s=rt(s,t,r,a,n[o+6],9,-1069501632),a=rt(a,s,t,r,n[o+11],14,643717713),r=rt(r,a,s,t,n[o],20,-373897302),t=rt(t,r,a,s,n[o+5],5,-701558691),s=rt(s,t,r,a,n[o+10],9,38016083),a=rt(a,s,t,r,n[o+15],14,-660478335),r=rt(r,a,s,t,n[o+4],20,-405537848),t=rt(t,r,a,s,n[o+9],5,568446438),s=rt(s,t,r,a,n[o+14],9,-1019803690),a=rt(a,s,t,r,n[o+3],14,-187363961),r=rt(r,a,s,t,n[o+8],20,1163531501),t=rt(t,r,a,s,n[o+13],5,-1444681467),s=rt(s,t,r,a,n[o+2],9,-51403784),a=rt(a,s,t,r,n[o+7],14,1735328473),r=rt(r,a,s,t,n[o+12],20,-1926607734),t=it(t,r,a,s,n[o+5],4,-378558),s=it(s,t,r,a,n[o+8],11,-2022574463),a=it(a,s,t,r,n[o+11],16,1839030562),r=it(r,a,s,t,n[o+14],23,-35309556),t=it(t,r,a,s,n[o+1],4,-1530992060),s=it(s,t,r,a,n[o+4],11,1272893353),a=it(a,s,t,r,n[o+7],16,-155497632),r=it(r,a,s,t,n[o+10],23,-1094730640),t=it(t,r,a,s,n[o+13],4,681279174),s=it(s,t,r,a,n[o],11,-358537222),a=it(a,s,t,r,n[o+3],16,-722521979),r=it(r,a,s,t,n[o+6],23,76029189),t=it(t,r,a,s,n[o+9],4,-640364487),s=it(s,t,r,a,n[o+12],11,-421815835),a=it(a,s,t,r,n[o+15],16,530742520),r=it(r,a,s,t,n[o+2],23,-995338651),t=at(t,r,a,s,n[o],6,-198630844),s=at(s,t,r,a,n[o+7],10,1126891415),a=at(a,s,t,r,n[o+14],15,-1416354905),r=at(r,a,s,t,n[o+5],21,-57434055),t=at(t,r,a,s,n[o+12],6,1700485571),s=at(s,t,r,a,n[o+3],10,-1894986606),a=at(a,s,t,r,n[o+10],15,-1051523),r=at(r,a,s,t,n[o+1],21,-2054922799),t=at(t,r,a,s,n[o+8],6,1873313359),s=at(s,t,r,a,n[o+15],10,-30611744),a=at(a,s,t,r,n[o+6],15,-1560198380),r=at(r,a,s,t,n[o+13],21,1309151649),t=at(t,r,a,s,n[o+4],6,-145523070),s=at(s,t,r,a,n[o+11],10,-1120210379),a=at(a,s,t,r,n[o+2],15,718787259),r=at(r,a,s,t,n[o+9],21,-343485551),t=$n(t,l),r=$n(r,p),a=$n(a,y),s=$n(s,f)}return[t,r,a,s]}function aP(n){if(n.length===0)return[];const e=n.length*8,t=new Uint32Array(Hm(e));for(let r=0;r<e;r+=8)t[r>>5]|=(n[r/8]&255)<<r%32;return t}function $n(n,e){const t=(n&65535)+(e&65535);return(n>>16)+(e>>16)+(t>>16)<<16|t&65535}function sP(n,e){return n<<e|n>>>32-e}function ls(n,e,t,r,a,s){return $n(sP($n($n(e,n),$n(r,s)),a),t)}function nt(n,e,t,r,a,s,o){return ls(e&t|~e&r,n,e,a,s,o)}function rt(n,e,t,r,a,s,o){return ls(e&r|t&~r,n,e,a,s,o)}function it(n,e,t,r,a,s,o){return ls(e^t^r,n,e,a,s,o)}function at(n,e,t,r,a,s,o){return ls(t^(e|~r),n,e,a,s,o)}var oP=nP;os.default=oP,Object.defineProperty(ss,"__esModule",{value:!0}),ss.default=void 0;var lP=Ym(Vn),cP=Ym(os);function Ym(n){return n&&n.__esModule?n:{default:n}}var dP=(0,lP.default)("v3",48,cP.default);ss.default=dP;var cs={},ds={};Object.defineProperty(ds,"__esModule",{value:!0}),ds.default=void 0;var uP={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};ds.default=uP,Object.defineProperty(cs,"__esModule",{value:!0}),cs.default=void 0;var zm=Zm(ds),pP=Zm(rs),yP=Nn;function Zm(n){return n&&n.__esModule?n:{default:n}}function hP(n,e,t){if(zm.default.randomUUID&&!e&&!n)return zm.default.randomUUID();n=n||{};const r=n.random||(n.rng||pP.default)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){t=t||0;for(let a=0;a<16;++a)e[t+a]=r[a];return e}return(0,yP.unsafeStringify)(r)}var fP=hP;cs.default=fP;var us={},ps={};Object.defineProperty(ps,"__esModule",{value:!0}),ps.default=void 0;function mP(n,e,t,r){switch(n){case 0:return e&t^~e&r;case 1:return e^t^r;case 2:return e&t^e&r^t&r;case 3:return e^t^r}}function El(n,e){return n<<e|n>>>32-e}function TP(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 l=0;l<o.length;++l)n.push(o.charCodeAt(l))}else Array.isArray(n)||(n=Array.prototype.slice.call(n));n.push(128);const r=n.length/4+2,a=Math.ceil(r/16),s=new Array(a);for(let o=0;o<a;++o){const l=new Uint32Array(16);for(let p=0;p<16;++p)l[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]=l}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 l=new Uint32Array(80);for(let g=0;g<16;++g)l[g]=s[o][g];for(let g=16;g<80;++g)l[g]=El(l[g-3]^l[g-8]^l[g-14]^l[g-16],1);let p=t[0],y=t[1],f=t[2],m=t[3],b=t[4];for(let g=0;g<80;++g){const I=Math.floor(g/20),D=El(p,5)+mP(I,y,f,m)+b+e[I]+l[g]>>>0;b=m,m=f,f=El(y,30)>>>0,y=p,p=D}t[0]=t[0]+p>>>0,t[1]=t[1]+y>>>0,t[2]=t[2]+f>>>0,t[3]=t[3]+m>>>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 EP=TP;ps.default=EP,Object.defineProperty(us,"__esModule",{value:!0}),us.default=void 0;var RP=Xm(Vn),bP=Xm(ps);function Xm(n){return n&&n.__esModule?n:{default:n}}var gP=(0,RP.default)("v5",80,bP.default);us.default=gP;var ys={};Object.defineProperty(ys,"__esModule",{value:!0}),ys.default=void 0;var vP="00000000-0000-0000-0000-000000000000";ys.default=vP;var hs={};Object.defineProperty(hs,"__esModule",{value:!0}),hs.default=void 0;var IP=DP(rr);function DP(n){return n&&n.__esModule?n:{default:n}}function PP(n){if(!(0,IP.default)(n))throw TypeError("Invalid UUID");return parseInt(n.slice(14,15),16)}var AP=PP;hs.default=AP,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 y.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 r.default}}),Object.defineProperty(n,"v5",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(n,"validate",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(n,"version",{enumerable:!0,get:function(){return o.default}});var e=f(ns),t=f(ss),r=f(cs),a=f(us),s=f(ys),o=f(hs),l=f(rr),p=f(Nn),y=f(ki);function f(m){return m&&m.__esModule?m:{default:m}}}(jm);function Rl(n,e){if(!n||!e||!n.length||!e.length)throw new Error("Bad alphabet");this.srcAlphabet=n,this.dstAlphabet=e}Rl.prototype.convert=function(n){var e,t,r,a={},s=this.srcAlphabet.length,o=this.dstAlphabet.length,l=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<l;e++)a[e]=this.srcAlphabet.indexOf(n[e]);do{for(t=0,r=0,e=0;e<l;e++)t=t*s+a[e],t>=o?(a[r++]=parseInt(t/o,10),t=t%o):r>0&&(a[r++]=0);l=r,p=this.dstAlphabet.slice(t,t+1).concat(p)}while(r!==0);return p},Rl.prototype.isValid=function(n){for(var e=0;e<n.length;++e)if(this.srcAlphabet.indexOf(n[e])===-1)return!1;return!0};var SP=Rl,OP=SP;function qi(n,e){var t=new OP(n,e);return function(r){return t.convert(r)}}qi.BIN="01",qi.OCT="01234567",qi.DEC="0123456789",qi.HEX="0123456789abcdef";var CP=qi;const{v4:bl,validate:BP}=jm,fs=CP,gl={cookieBase90:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~",flickrBase58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",uuid25Base36:"0123456789abcdefghijklmnopqrstuvwxyz"},wP={consistentLength:!0};let vl;const Qm=(n,e,t)=>{const r=e(n.toLowerCase().replace(/-/g,""));return!t||!t.consistentLength?r:r.padStart(t.shortIdLength,t.paddingChar)},Km=(n,e)=>{const r=e(n).padStart(32,"0").match(/(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})/);return[r[1],r[2],r[3],r[4],r[5]].join("-")},MP=n=>Math.ceil(Math.log(2**128)/Math.log(n));var _P=(()=>{const n=(e,t)=>{const r=e||gl.flickrBase58,a={...wP,...t};if([...new Set(Array.from(r))].length!==r.length)throw new Error("The provided Alphabet has duplicate characters resulting in unreliable results");const s=MP(r.length),o={shortIdLength:s,consistentLength:a.consistentLength,paddingChar:r[0]},l=fs(fs.HEX,r),p=fs(r,fs.HEX),y=()=>Qm(bl(),l,o),m={alphabet:r,fromUUID:b=>Qm(b,l,o),maxLength:s,generate:y,new:y,toUUID:b=>Km(b,p),uuid:bl,validate:(b,g=!1)=>{if(!b||typeof b!="string")return!1;const I=a.consistentLength?b.length===s:b.length<=s,D=b.split("").every(C=>r.includes(C));return g===!1?I&&D:I&&D&&BP(Km(b,p))}};return Object.freeze(m),m};return n.constants=gl,n.uuid=bl,n.generate=()=>(vl||(vl=n(gl.flickrBase58).generate),vl()),n})();const ms=BD(_P);function eT(){return ms().uuid()}function tT(n){return n.rangeStart+Math.random()}function nT(n){const e=n.rangeEnd;return Math.random()*e}function rT(n){const e=n.rangeStart,t=n.rangeEnd;return Math.random()*(t-e)+e}function iT(n){return n.rangeStart&&n.rangeEnd?rT(n):n.rangeStart?tT(n):n.rangeEnd?nT(n):Math.random()}function aT(n){const e=n.rangeStart;return Math.random().toString(36).substring(e)}function sT(n){const e=n.rangeEnd;return Math.random().toString(36).substring(0,e)}function oT(n){const e=n.rangeStart,t=n.rangeEnd;return Math.random().toString(36).substring(e,t)}function lT(n){return n.rangeStart&&n.rangeEnd?oT(n):n.rangeStart?aT(n):n.rangeEnd?sT(n):Math.random().toString(36)}function cT(n){return Math.random()>=.5}function NP(n){if(!n||!n.autogeneration)return null;switch(n.autogeneration.type){case qe.CurrentDateAndTime:if(n.name===P.Date)return new Date;case qe.Random:{if(n.name===P.Date)return xm(n.autogeneration);if(n.name===P.Number)return iT(n.autogeneration);if(n.name===P.String)return lT(n.autogeneration);if(n.name===P.Boolean)return cT(n.autogeneration)}case qe.Unique:if(n.name===P.UUID)return eT();default:throw new Error(`Generating a ${n.autogeneration.type} value for a ${n.name} is not supported`)}}const Z="e7eb5382-3d99-44fd-972a-b8b1e819f6be",Il="global-user-variable-id",dT="last-executed-timestamp-variable-id",VP={id:"alternative-relational-database-entity-identifier-property-data-type-ref-id",type:i.GenericReference,entityId:"alternative-relational-database-entity-identifier-property-data-type-id",entityType:i.DataType},$P={id:"alternative-relational-database-entity-identifier-property-ref-id",type:i.GenericReference,entityId:"alternative-relational-database-entity-identifier-property-id",entityType:i.Property},LP={id:"alternative-relational-database-entity-identifier-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:{id:"alternative-relational-database-entity-identifier-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.String,value:null,parent:VP,autogeneration:{type:qe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:$P},Ts={id:"alternative-relational-database-entity-ref-id",type:i.GenericReference,entityId:V.PERSISTED_ENTITY,entityType:i.BuiltInBaseEntity},GP={hidden:!1,required:!0,id:"alternative-relational-database-entity-identifier-property-id",name:"Identifier name",version:1,type:i.Property,private:!1,abstract:!1,implements:xa,static:!0,index:0,dataType:LP,description:"The name of the main database inside of the server instance where the data will be stored.",parent:Ts};i.GenericReference,i.DataType;const FP={id:"alternative-relational-database-entity-username-property-ref-id",type:i.GenericReference,entityId:"alternative-relational-database-entity-username-property-id",entityType:i.Property},UP={id:"alternative-relational-database-entity-username-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:null,parent:FP},xP={hidden:!1,required:!0,id:"alternative-relational-database-entity-username-property-id",name:"Username",version:1,type:i.Property,private:!1,abstract:!1,implements:ja,static:!0,index:1,dataType:UP,description:"The username that will be used to connect to the database.",parent:Ts};i.GenericReference,i.DataType;const jP={id:"alternative-relational-database-entity-password-property-ref-id",type:i.GenericReference,entityId:"alternative-relational-database-entity-password-property-id",entityType:i.Property},kP={id:"alternative-relational-database-entity-password-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:null,parent:jP},qP={hidden:!1,required:!0,id:"alternative-relational-database-entity-password-property-id",name:"Password",version:1,type:i.Property,private:!1,abstract:!1,implements:ka,static:!0,index:2,dataType:kP,description:"The password that will be used to connect to the database.",parent:Ts},JP={id:"alternative-relational-database-entity-min-size-property-data-type-ref-id",type:i.GenericReference,entityId:"alternative-relational-database-entity-min-size-property-data-type-id",entityType:i.DataType},WP={id:"alternative-relational-database-entity-min-size-property-ref-id",type:i.GenericReference,entityId:"alternative-relational-database-entity-min-size-property-id",entityType:i.Property},HP={id:"alternative-relational-database-entity-min-size-property-data-type-id",version:1,type:i.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:i.PrimitiveValue,version:1,name:P.Number,value:6,parent:JP,autogeneration:null,valueAsType:null},parent:WP},YP={hidden:!1,required:!0,id:"alternative-relational-database-entity-min-size-property-id",name:"Minimum GB size",version:1,type:i.Property,private:!1,abstract:!1,implements:qa,static:!0,index:3,dataType:HP,description:"The minimum size of the database in GB.",parent:Ts},zP={id:"alternative-relational-database-entity-parent-ref-id",type:i.GenericReference,entityId:Z,entityType:i.Project},uT={id:"alternative-relational-database-entity-id",type:i.CustomEntity,version:1,name:"Alternative relational Database",description:"A database that permanently stores the persisted entities attached to it.",abstract:!1,static:!0,properties:[GP,xP,qP,YP],methods:[],abstractMethods:[],extends:[],implements:[On],x:0,y:0,parent:zP},ZP={id:"animal-prototype-database-property-ref-id",type:i.GenericReference,entityId:"animal-prototype-database-property-id",entityType:i.Property},XP={id:"animal-prototype-database-property-data-type-default-value-parent-ref-id",type:i.GenericReference,entityId:"animal-prototype-database-property-data-type-default-value-id",entityType:i.DataType},QP={id:"animal-prototype-database-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:On,asType:!1,defaultValue:{id:"animal-prototype-database-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,value:null,name:P.EntityTemplate,valueAsType:uT,autogeneration:null,parent:XP},parent:ZP},KP={id:"animal-prototype-database-property-parent-ref-id",type:i.GenericReference,entityId:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",entityType:i.CustomEntity},eA={hidden:!1,required:!0,id:"animal-prototype-database-property-id",name:"Database",version:1,type:i.Property,private:!1,abstract:!1,implements:Pi,static:!0,index:0,dataType:QP,description:"The database that the entity belongs to.",parent:KP},tA={type:i.GenericReference,id:"291e4d4f-01d8-40a0-90dc-5f1ac6636e9b",entityType:i.Property,entityId:"5cb617b0-92be-4dbe-a007-49093368d94f"},nA={id:"c1930577-9e79-48a6-8905-be24611015c1",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:tA},rA={type:i.GenericReference,id:"e2b9e456-f2b3-4dc7-85a2-fbb68ed0c9c7",entityType:i.CustomEntity,entityId:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},iA={hidden:!1,required:!0,type:i.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:nA,abstract:!1,parent:rA},aA={type:i.GenericReference,id:"abc565de-4c83-4936-bc48-4013bef213b8",entityType:i.Project,entityId:Z},sA={type:i.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:[eA,iA],methods:[],extends:[],implements:[Le],x:0,y:0,parent:aA},oA={id:"default-relational-database-entity-identifier-property-data-type-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-identifier-property-data-type-id",entityType:i.DataType},lA={id:"default-relational-database-entity-identifier-property-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-identifier-property-id",entityType:i.Property},cA={id:"default-relational-database-entity-identifier-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:{id:"default-relational-database-entity-identifier-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.String,value:"main",parent:oA,autogeneration:{type:qe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:lA},Hr={id:"default-relational-database-entity-ref-id",type:i.GenericReference,entityId:V.PERSISTED_ENTITY,entityType:i.BuiltInBaseEntity},dA={hidden:!1,required:!0,id:"default-relational-database-entity-identifier-property-id",name:"Identifier name",version:1,type:i.Property,private:!1,abstract:!1,implements:xa,static:!0,index:0,dataType:cA,description:"The name of the main database inside of the server instance where the data will be stored.",parent:Hr};i.GenericReference,i.DataType;const uA={id:"default-relational-database-entity-username-property-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-username-property-id",entityType:i.Property},pA={id:"default-relational-database-entity-username-property-default-value-parent-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-username-property-data-type-id",entityType:i.DataType},yA={id:"default-relational-database-entity-username-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:{id:"default-relational-database-entity-username-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.String,value:"root",parent:pA,autogeneration:null,valueAsType:null},parent:uA},hA={hidden:!1,required:!0,id:"default-relational-database-entity-username-property-id",name:"Username",version:1,type:i.Property,private:!1,abstract:!1,implements:ja,static:!0,index:1,dataType:yA,description:"The username that will be used to connect to the database.",parent:Hr};i.GenericReference,i.DataType;const fA={id:"default-relational-database-entity-password-property-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-password-property-id",entityType:i.Property},mA={id:"default-relational-database-entity-password-property-default-value-parent-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-password-property-data-type-id",entityType:i.DataType},TA={id:"default-relational-database-entity-password-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:{id:"default-relational-database-entity-password-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.String,value:"password",parent:mA,autogeneration:null,valueAsType:null},parent:fA},EA={hidden:!1,required:!0,id:"default-relational-database-entity-password-property-id",name:"Password",version:1,type:i.Property,private:!1,abstract:!1,implements:ka,static:!0,index:2,dataType:TA,description:"The password that will be used to connect to the database.",parent:Hr},RA={id:"default-relational-database-entity-min-size-property-data-type-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-min-size-property-data-type-id",entityType:i.DataType},bA={id:"default-relational-database-entity-min-size-property-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-min-size-property-id",entityType:i.Property},gA={id:"default-relational-database-entity-min-size-property-data-type-id",version:1,type:i.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:i.PrimitiveValue,version:1,name:P.Number,value:6,parent:RA,autogeneration:null,valueAsType:null},parent:bA},vA={hidden:!1,required:!0,id:"default-relational-database-entity-min-size-property-id",name:"Minimum GB size",version:1,type:i.Property,private:!1,abstract:!1,implements:qa,static:!0,index:3,dataType:gA,description:"The minimum size of the database in GB.",parent:Hr},IA={id:"default-relational-database-entity-default-property-data-type-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-default-property-data-type-id",entityType:i.DataType},DA={id:"default-relational-database-entity-default-property-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-default-property-id",entityType:i.Property},PA={id:"default-relational-database-entity-default-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Ce,asType:!1,defaultValue:{id:"default-relational-database-entity-default-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.Boolean,value:!0,parent:IA,autogeneration:null,valueAsType:null},parent:DA},AA={hidden:!0,required:!0,id:"default-relational-database-entity-default-property-id",name:"Default",version:1,type:i.Property,private:!1,abstract:!1,implements:Qo,static:!0,index:4,dataType:PA,description:"Whether this database is automatically picked by other entities as the default database.",parent:Hr},SA={id:"default-relational-database-entity-autoscaling-property-data-type-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-autoscaling-property-data-type-id",entityType:i.DataType},OA={id:"default-relational-database-entity-autoscaling-property-ref-id",type:i.GenericReference,entityId:"default-relational-database-entity-autoscaling-property-id",entityType:i.Property},CA={id:"default-relational-database-entity-autoscaling-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Ce,asType:!1,defaultValue:{id:"default-relational-database-entity-autoscaling-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.Boolean,value:!0,parent:SA,autogeneration:null,valueAsType:null},parent:OA},BA={hidden:!1,required:!0,id:"default-relational-database-entity-autoscaling-property-id",name:"Auto-scaling",version:1,type:i.Property,private:!1,abstract:!1,implements:Ko,static:!0,index:5,dataType:CA,description:"If true, this database will automatically scale up or down in memory size, based on the usage.s",parent:Hr},wA={id:"default-relational-database-entity-parent-ref-id",type:i.GenericReference,entityId:Z,entityType:i.Project},Dl={id:"default-relational-database-entity-id",type:i.CustomEntity,version:1,name:"Relational Database",description:"A database that permanently stores the persisted entities attached to it.",abstract:!1,static:!0,properties:[AA,BA,dA,hA,EA,vA],methods:[],abstractMethods:[],extends:[],implements:[On],x:0,y:0,parent:wA},MA={id:"user-prototype-database-property-data-type-ref-id",type:i.GenericReference,entityId:"user-prototype-database-property-data-type-id",entityType:i.DataType},_A={id:"user-prototype-database-property-ref-id",type:i.GenericReference,entityId:"user-prototype-database-property-id",entityType:i.Property},NA={id:"user-prototype-database-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:On,asType:!1,defaultValue:{id:"user-prototype-database-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,value:null,name:P.EntityTemplate,valueAsType:Dl,autogeneration:null,parent:MA},parent:_A},VA={id:"user-prototype-database-property-parent-ref-id",type:i.GenericReference,entityId:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",entityType:i.CustomEntity},$A={hidden:!1,required:!0,id:"user-prototype-database-property-id",name:"Database",version:1,type:i.Property,private:!1,abstract:!1,implements:Pi,static:!0,index:0,dataType:NA,description:"The database that the entity belongs to.",parent:VA},LA={type:i.GenericReference,id:"user-prototype-parent-ref-id",entityType:i.Project,entityId:Z},Pl={type:i.CustomEntity,id:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",version:1,name:"User",description:"A user of the application",implements:[Le],abstract:!1,static:!1,abstractMethods:[],extends:[],properties:[$A],methods:[],x:0,y:0,parent:LA},GA={type:i.GenericReference,id:"person-date-of-birth-property-data-type-parent-ref-id",entityType:i.Property,entityId:"person-date-of-birth-property-id"},FA={id:"person-date-of-birth-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:dn,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:GA},UA={type:i.GenericReference,id:"person-date-of-birth-property-parent-ref-id",entityType:i.CustomEntity,entityId:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},xA={hidden:!1,required:!0,type:i.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:FA,abstract:!1,parent:UA},jA={type:i.GenericReference,id:"a2867827-2f8e-4c25-b18b-d91857d7f24e",entityType:i.Property,entityId:"cacfec92-46c3-4fca-a1d9-fd1ba94d78c7"},kA={id:"1d49f41b-17b9-4f48-87aa-3ce43498e5a9",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:jA},qA={type:i.GenericReference,id:"01cbe760-40a9-4f49-8e3d-194d2f57cb1e",entityType:i.CustomEntity,entityId:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},JA={hidden:!1,required:!0,type:i.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:kA,abstract:!1,parent:qA},WA={type:i.GenericReference,id:"3542b22a-3a2f-41c6-876e-24c885572498",entityType:i.Project,entityId:Z},yt={type:i.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:[JA,xA],abstract:!1,static:!1,abstractMethods:[],methods:[],implements:[],extends:[Pl],x:0,y:0,parent:WA},HA={type:i.GenericReference,id:"b59c80b7-b2e9-41e9-abcd-7c5652835efc",entityType:i.FunctionDeclaration,entityId:"36f29f96-c001-4b9a-b49c-83eff406a060"},YA={type:i.GenericReference,id:"1190b5a2-f25e-46db-884d-8a3dd1a44d94",entityType:i.ReturnStatement,entityId:"3ebc4342-c9e8-42e7-a61c-7937081e1d2e"},zA={type:i.GenericReference,id:"36c63126-7814-496f-a6cc-48662c2aabae",entityType:i.ArgumentDeclaration,entityId:"500dee3a-3435-4453-9699-0d053f646523"},ZA={type:i.GenericReference,id:"c567e55d-ec12-4e4e-958e-f07522892b4b",entityType:i.ReturnDeclaration,entityId:"9e070523-7e07-4100-8637-960a187f5f14"},XA={id:"3973c5a1-f0d8-49a0-a9a9-a0009bf3f0d8",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:yt,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:ZA},Al={isError:!1,id:"9e070523-7e07-4100-8637-960a187f5f14",type:i.ReturnDeclaration,version:1,name:"Output Account Owner",description:null,dataType:XA,readsValue:zA,required:!0,index:0,parent:YA},QA={type:i.GenericReference,id:"567d923c-20da-4c1e-956d-962ea30c6d0b",entityType:i.FunctionDeclaration,entityId:"36f29f96-c001-4b9a-b49c-83eff406a060"},KA={type:i.GenericReference,id:"da85e620-59f3-42ab-88c8-b38d33c2c833",entityType:i.FunctionDeclaration,entityId:"36f29f96-c001-4b9a-b49c-83eff406a060"},pT={type:i.ReturnStatement,id:"3ebc4342-c9e8-42e7-a61c-7937081e1d2e",version:1,outputs:[Al],calledByError:[],calledByEntry:[QA],calledBySuccess:[],throws:null,x:0,y:0,parent:KA},eS={type:i.GenericReference,id:"1c806bb7-4c25-4bad-963b-93dfbb7c8304",entityType:i.ArgumentDeclaration,entityId:"500dee3a-3435-4453-9699-0d053f646523"},tS={id:"d90fcc18-642b-433c-8fcb-4094b9031cd5",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:yt,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:eS},yT={id:"500dee3a-3435-4453-9699-0d053f646523",type:i.ArgumentDeclaration,version:1,name:"New Account Owner",description:null,dataType:tS,required:!0,writesValues:[Al],index:0,parent:HA},nS={type:i.GenericReference,id:"83dceb60-f3c4-4085-824c-85f2003bfd27",entityType:i.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},hT={type:i.FunctionDeclaration,id:"36f29f96-c001-4b9a-b49c-83eff406a060",version:1,name:"Change owner of bank account",description:null,implements:null,inputs:[yT],calls:[pT],returnStatements:[pT],index:0,collapsed:!1,private:!1,x:0,y:0,parent:nS},rS={type:i.GenericReference,id:"adbaf302-ffa9-49b6-a3c6-83f9a75068e3",entityType:i.VariableDeclaration,entityId:"8e36a476-766e-4cc2-a8a7-27a07dfb5a4b"},iS={id:"79ee04aa-1ba4-4ae9-a406-ed45e5b03f7f",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:yt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:rS},aS={type:i.GenericReference,id:"55e212d1-f0ec-4bb6-acbe-60f741367daf",entityType:i.OutputMap,entityId:"dc9ddb8f-02a0-4a43-aea6-270ec7b7f8a4"},sS={type:i.GenericReference,id:"944e1171-3d9b-4559-9386-1d4974b15962",entityType:i.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},oS={id:"8e36a476-766e-4cc2-a8a7-27a07dfb5a4b",type:i.VariableDeclaration,version:1,name:"Output Account Owner",description:null,dataType:iS,readsValue:aS,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:sS},lS={type:i.GenericReference,id:"b89ebc83-52cf-4447-a5ae-62241f713079",entityType:i.FunctionCall,entityId:"78f6dba8-bed8-44cd-8b0f-6dcc787d1e1e"},cS={id:"dc9ddb8f-02a0-4a43-aea6-270ec7b7f8a4",type:i.OutputMap,version:1,declaration:Al,writesValues:[oS],index:0,parent:lS},dS={type:i.GenericReference,id:"c1b9e125-1aad-48b7-9687-95c57a6bc10d",entityType:i.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},uS={type:i.GenericReference,id:"d2deaa02-e164-4425-905c-6dee47eb4eac",entityType:i.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},pS={type:i.GenericReference,id:"1109a655-ac62-4110-a933-42a72106f4f0",entityType:i.VariableDeclaration,entityId:"8bea6986-8da2-487b-905d-2fb962db6728"},yS={id:"7d9a1307-512e-42ec-9797-2f7229796b97",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:yt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:pS},hS={type:i.GenericReference,id:"bb61ebf7-57b3-4d14-905d-82ec907205b5",entityType:i.ArgumentDeclaration,entityId:"38f6b236-98ac-47b0-ab9c-d2f9610137b9"},fS={type:i.GenericReference,id:"6b8c7bf2-9fc8-4ea4-9ec0-f41679d513b1",entityType:i.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},mS={type:i.GenericReference,id:"6163d1a1-7a94-49b1-95bb-aecd8d6d335c",entityType:i.FunctionCall,entityId:"78f6dba8-bed8-44cd-8b0f-6dcc787d1e1e"},TS={type:i.GenericReference,id:"1f900f62-4bd2-4246-94aa-b8f5aad384fd",entityType:i.VariableDeclaration,entityId:"8bea6986-8da2-487b-905d-2fb962db6728"},fT={id:"be8538be-e6f9-4b94-9314-a546003ebaa0",type:i.InputMap,version:1,declaration:yT,name:null,description:null,readsValue:TS,dynamicArguments:[],defaultValue:null,index:0,parent:mS},ES={type:i.VariableDeclaration,id:"8bea6986-8da2-487b-905d-2fb962db6728",version:1,name:"Changed Account Owner",description:null,dataType:yS,readsValue:hS,writesValues:[fT],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:fS},RS={type:i.FunctionCall,id:"78f6dba8-bed8-44cd-8b0f-6dcc787d1e1e",version:1,declaration:hT,inputs:[fT],outputs:[cS],process:null,successCalls:[],errorCalls:[],calledByError:[],calledByEntry:[dS],calledBySuccess:[],parent:uS,error:null,x:0,y:0},bS={type:i.GenericReference,id:"2d47aba1-a918-46a7-8db7-78809928654a",entityType:i.ArgumentDeclaration,entityId:"38f6b236-98ac-47b0-ab9c-d2f9610137b9"},gS={id:"5583766c-e9a5-484c-8f43-f4b0a6a1876c",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:yt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:bS},vS={type:i.GenericReference,id:"3e2a81e4-55b2-49f5-94eb-39135e95c3d7",entityType:i.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},IS={id:"38f6b236-98ac-47b0-ab9c-d2f9610137b9",type:i.ArgumentDeclaration,version:1,description:null,name:"New Company Owner",dataType:gS,required:!0,index:0,writesValues:[ES],parent:vS},DS={type:i.GenericReference,id:"30291b01-1b94-4d03-b434-dec122c2bc7d",entityType:i.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},PS={type:i.FunctionDeclaration,id:"15ee556d-681f-47de-a31f-16d4ba73cc4e",version:1,description:null,name:"Change Account Owner",inputs:[IS],collapsed:!0,returnStatements:[],calls:[RS],private:!1,index:0,implements:null,x:0,y:0,parent:DS},AS={type:i.GenericReference,id:"72c7ac0a-886e-4e10-b7ed-2f5a819a0233",entityType:i.Property,entityId:"b8f4656a-2b77-43ab-af51-7c32ddede044"},SS={id:"c09dd282-73f6-4077-a467-b66db20b9fc6",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:AS},OS={type:i.GenericReference,id:"8a950024-512c-4580-81db-a705410aeb99",entityType:i.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},mT={hidden:!1,required:!0,type:i.Property,id:"b8f4656a-2b77-43ab-af51-7c32ddede044",version:1,name:"Account number",description:null,private:!0,implements:null,static:!1,index:0,dataType:SS,abstract:!1,parent:OS},CS={type:i.GenericReference,id:"b6704b6c-c3bd-49d0-8ebc-82d03e726cbb",entityType:i.Property,entityId:"733d06a6-b8c5-44f3-a1f7-a8c9bd9e44ea"},BS={id:"c03e0b0a-88ab-401a-8833-4806738bdc37",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:yt,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:CS},wS={type:i.GenericReference,id:"1ef999a7-e9ed-406a-866e-e58277fc985b",entityType:i.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},TT={hidden:!1,required:!0,type:i.Property,id:"733d06a6-b8c5-44f3-a1f7-a8c9bd9e44ea",version:1,description:null,name:"Account Owner",index:1,dataType:BS,implements:null,static:!1,private:!0,abstract:!1,parent:wS},MS={type:i.GenericReference,id:"d41d7f41-98b8-4f67-be92-c349fdda5156",entityType:i.Project,entityId:Z},Yr={type:i.CustomEntity,id:"506946aa-30da-48e6-918f-ffd9eac58813",version:1,name:"Bank Account",description:null,abstract:!1,static:!1,abstractMethods:[],properties:[mT,TT],methods:[hT,PS],extends:[],implements:[Le],x:0,y:0,parent:MS},Ji="bitcoin-api-response-id",ET="time-property-id",RT="disclamer-property-id",bT="chart-name-property-id",gT="bpi-property-id",Es="bpi-entity-id",vT="usd-property-id",IT="gbp-property-id",DT="eur-property-id",zr="currency-entity-id",PT="currency-code-property-id",AT="currency-symbol-property-id",ST="currency-rate-property-id",OT="currency-description-property-id",CT="currency-rate-number-property-id",_S={type:i.GenericReference,id:"code-property-data-type-parent-ref-id",entityType:i.Property,entityId:PT},NS={id:"code-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Sn,isList:!1,asType:!1,isNullable:!1,defaultValue:null,options:["USD","GBP","EUR"],constant:!1,parent:_S},VS={type:i.GenericReference,id:"code-property-parent-ref-id",entityType:i.CustomEntity,entityId:zr},$S={hidden:!1,required:!0,type:i.Property,id:PT,version:1,name:"code",description:null,dataType:NS,index:0,implements:null,static:!1,private:!1,abstract:!1,parent:VS},LS={type:i.GenericReference,id:"symbol-property-data-type-parent-ref-id",entityType:i.Property,entityId:AT},GS={id:"symbol-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Sn,isList:!1,asType:!1,isNullable:!1,defaultValue:null,options:["&#36;","&pound;","&euro;"],constant:!1,parent:LS},FS={type:i.GenericReference,id:"symbol-property-parent-ref-id",entityType:i.CustomEntity,entityId:zr},US={hidden:!1,required:!0,type:i.Property,id:AT,version:1,name:"symbol",description:null,index:0,dataType:GS,implements:null,static:!1,private:!1,abstract:!1,parent:FS},xS={type:i.GenericReference,id:"rate-property-data-type-parent-ref-id",entityType:i.Property,entityId:ST},jS={id:"rate-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:xS},kS={type:i.GenericReference,id:"rate-property-parent-ref-id",entityType:i.CustomEntity,entityId:zr},qS={hidden:!1,required:!0,type:i.Property,id:ST,version:1,name:"rate",description:null,index:0,dataType:jS,implements:null,static:!1,private:!1,abstract:!1,parent:kS},JS={type:i.GenericReference,id:"description-property-data-type-parent-ref-id",entityType:i.Property,entityId:OT},WS={id:"description-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:JS},HS={type:i.GenericReference,id:"description-property-parent-ref-id",entityType:i.CustomEntity,entityId:zr},YS={hidden:!1,required:!0,type:i.Property,id:OT,version:1,name:"description",description:null,dataType:WS,implements:null,static:!1,index:0,private:!1,abstract:!1,parent:HS},zS={type:i.GenericReference,id:"rate-number-property-data-type-parent-ref-id",entityType:i.Property,entityId:CT},ZS={id:"rate-number-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:zS},XS={type:i.GenericReference,id:"rate-number-property-parent-ref-id",entityType:i.CustomEntity,entityId:zr},QS={hidden:!1,required:!0,type:i.Property,id:CT,version:1,name:"rate_float",description:null,dataType:ZS,implements:null,static:!1,index:0,private:!1,abstract:!1,parent:XS},KS={type:i.GenericReference,id:"currency-prototype-parent-ref-id",entityType:i.Project,entityId:Z},Rs={type:i.CustomEntity,id:zr,version:1,name:"Currency",description:"This entity describes a currency in the Bitcoin Price Index.",properties:[$S,US,qS,YS,QS],static:!1,abstract:!1,abstractMethods:[],methods:[],extends:[],implements:[],x:0,y:0,parent:KS},eO={type:i.GenericReference,id:"usd-property-data-type-parent-ref-id",entityType:i.Property,entityId:vT},tO={id:"usd-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rs,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:eO},nO={type:i.GenericReference,id:"usd-property-parent-ref-id",entityType:i.CustomEntity,entityId:Es},rO={hidden:!1,required:!0,id:vT,type:i.Property,version:1,name:"USD",description:null,index:0,dataType:tO,implements:null,static:!1,private:!1,abstract:!1,parent:nO},iO={type:i.GenericReference,id:"gbp-property-data-type-parent-ref-id",entityType:i.Property,entityId:IT},aO={id:"gbp-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rs,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:iO},sO={type:i.GenericReference,id:"gbp-property-parent-ref-id",entityType:i.CustomEntity,entityId:Es},oO={hidden:!1,required:!0,id:IT,type:i.Property,version:1,name:"GBP",description:null,index:0,dataType:aO,implements:null,static:!1,private:!1,abstract:!1,parent:sO},lO={type:i.GenericReference,id:"eur-property-data-type-parent-ref-id",entityType:i.Property,entityId:DT},cO={id:"eur-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rs,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:lO},dO={type:i.GenericReference,id:"eur-property-parent-ref-id",entityType:i.CustomEntity,entityId:Es},uO={hidden:!1,required:!0,id:DT,type:i.Property,version:1,name:"EUR",description:null,implements:null,static:!1,index:0,dataType:cO,private:!1,abstract:!1,parent:dO},pO={type:i.GenericReference,id:"bpi-prototype-parent-ref-id",entityType:i.Project,entityId:Z},BT={type:i.CustomEntity,id:Es,version:1,name:"BPI",description:"The Bitcoin Price Index",properties:[rO,oO,uO],abstract:!1,static:!1,abstractMethods:[],methods:[],extends:[],implements:[],x:0,y:0,parent:pO},yO={type:i.GenericReference,id:"time-property-data-type-parent-ref-id",entityType:i.Property,entityId:ET},hO={id:"time-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:wo,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:yO},fO={type:i.GenericReference,id:"time-property-parent-ref-id",entityType:i.CustomEntity,entityId:Ji},mO={hidden:!1,required:!0,type:i.Property,id:ET,version:1,name:"time",description:null,index:0,dataType:hO,implements:null,static:!1,private:!1,abstract:!1,parent:fO},TO={type:i.GenericReference,id:"disclamer-property-data-type-parent-ref-id",entityType:i.Property,entityId:RT},EO={id:"disclamer-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:TO},RO={type:i.GenericReference,id:"disclamer-property-parent-ref-id",entityType:i.CustomEntity,entityId:Ji},bO={hidden:!1,required:!0,type:i.Property,id:RT,version:1,name:"disclamer",description:null,index:0,dataType:EO,implements:null,static:!1,private:!1,abstract:!1,parent:RO},gO={type:i.GenericReference,id:"chart-name-property-data-type-parent-ref-id",entityType:i.Property,entityId:bT},vO={id:"chart-name-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:gO},IO={type:i.GenericReference,id:"chart-name-property-parent-ref-id",entityType:i.CustomEntity,entityId:Ji},DO={hidden:!1,required:!0,type:i.Property,id:bT,version:1,name:"chartName",description:null,index:0,dataType:vO,implements:null,static:!1,private:!1,abstract:!1,parent:IO},PO={type:i.GenericReference,id:"bpi-property-data-type-parent-ref-id",entityType:i.Property,entityId:gT},AO={id:"bpi-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:BT,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:PO},SO={type:i.GenericReference,id:"bpi-property-parent-ref-id",entityType:i.CustomEntity,entityId:Ji},OO={hidden:!1,required:!0,type:i.Property,id:gT,version:1,name:"bpi",description:null,implements:null,index:0,dataType:AO,static:!1,private:!1,abstract:!1,parent:SO},CO={type:i.GenericReference,id:"bitcoin-api-response-parent-ref-id",entityType:i.Project,entityId:Z},wT={type:i.CustomEntity,id:Ji,version:1,name:"Bitcoin API Response type",description:"The type of the data structure response from the Bitcoin API call",properties:[mO,bO,DO,OO],abstract:!1,static:!1,abstractMethods:[],methods:[],extends:[],implements:[],x:0,y:0,parent:CO},BO={type:i.GenericReference,id:"eefa0147-f873-484b-b4f3-9e6493aab183",entityType:i.ArgumentDeclaration,entityId:"f2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},wO={id:"b9f35112-dcb2-4b7c-8fb9-f196b3fa37f9",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:yt,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:BO},MO={type:i.GenericReference,id:"128770d6-5e3a-4aff-bca0-ad1f32ebefa8",entityType:i.ReturnStatement,entityId:"e4e05975-c277-471a-b869-f0aed316045c"},_O={type:i.GenericReference,id:"0be84bf9-6421-42b9-980f-6a03f30cb809",entityType:i.ReturnDeclaration,entityId:"a1ec31f0-25ca-42ac-a4c4-c9ec2255f55b"},NO={id:"43daa02a-237b-4b7c-a6e9-2b8c167f6e22",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:yt,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:_O},VO={type:i.GenericReference,id:"ad380383-4a47-43da-968e-75a2d603b230",entityType:i.ArgumentDeclaration,entityId:"f2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},MT={isError:!1,id:"a1ec31f0-25ca-42ac-a4c4-c9ec2255f55b",type:i.ReturnDeclaration,version:1,name:"New Company Owner",description:"The new owner of the company",dataType:NO,readsValue:VO,required:!0,index:0,parent:MO},$O={type:i.GenericReference,id:"4f24dc27-59a1-49bf-abcc-7d72b00926e4",entityType:i.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},LO={id:"f2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a",type:i.ArgumentDeclaration,version:1,name:"New Company Owner",description:null,dataType:wO,writesValues:[MT],required:!0,index:0,parent:$O},GO={type:i.GenericReference,id:"5c9a02f0-d2cf-4efc-828e-467f33a74dd3",entityType:i.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},FO={type:i.GenericReference,id:"2ff8f3da-e0c5-4f0f-b688-2c051c588786",entityType:i.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},UO={type:i.GenericReference,id:"195ae28c-159b-42de-80b1-2ebb8be3619f",entityType:i.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},_T={type:i.ReturnStatement,id:"e4e05975-c277-471a-b869-f0aed316045c",version:1,outputs:[MT],calledByError:[],calledByEntry:[FO],calledBySuccess:[],throws:null,x:0,y:0,parent:UO},xO={type:i.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:[LO],calls:[_T],index:0,collapsed:!1,implements:null,returnStatements:[_T],private:!1,x:0,y:0,parent:GO},jO={type:i.GenericReference,id:"e691026f-6db0-43ec-93cd-805ae7d713e3",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},kO={type:i.GenericReference,id:"29c4e3e0-1b66-4075-b559-45b27c5cf356",entityType:i.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},qO={type:i.GenericReference,id:"b1289358-b185-455d-8f58-7791b15cd52a",entityType:i.ReturnStatement,entityId:"9690cd1d-ea35-4e83-823d-0c7310265fee"},JO={type:i.GenericReference,id:"d847bb49-8789-4550-bb2d-e2d551993b28",entityType:i.VariableDeclaration,entityId:"e5a8b6d0-0e6f-4e9a-9b1e-8a2b5c7f0d5a"},WO={type:i.GenericReference,id:"06535500-c37c-4915-8398-1d4e184fa5e7",entityType:i.ReturnDeclaration,entityId:"e7a35277-a0c4-46d5-aca2-bddd0c26e931"},HO={id:"d358dd91-35f7-4095-b728-3fb3c71dbc05",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:An,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:WO},Sl={isError:!1,id:"e7a35277-a0c4-46d5-aca2-bddd0c26e931",type:i.ReturnDeclaration,version:1,name:"Is name registered",description:"Whether the company name is already registered",dataType:HO,readsValue:JO,required:!0,index:0,parent:qO},YO={type:i.GenericReference,id:"gov-company-registry-return-statement-called-by-success-ref-id",entityType:i.VariableDeclaration,entityId:"e5a8b6d0-0e6f-4e9a-9b1e-8a2b5c7f0d5a"},Ol={type:i.ReturnStatement,id:"9690cd1d-ea35-4e83-823d-0c7310265fee",version:1,outputs:[Sl],calledByError:[],calledByEntry:[],calledBySuccess:[jO,YO],throws:null,x:0,y:0,parent:kO},zO={type:i.GenericReference,id:"b3126414-4c9b-495f-901e-59f5073c8d67",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},ZO={type:i.GenericReference,id:"35115c48-618b-411b-a290-d746d22fdd10",entityType:i.VariableDeclaration,entityId:"83e12ebb-c958-4dee-b750-8ab9930f0f4e"},NT={id:"a0e7b4e5-2f5f-4d4c-8f5c-1e1f1e1a1b1a",type:i.InputMap,version:1,declaration:Jo,name:null,description:null,dynamicArguments:[],readsValue:ZO,defaultValue:null,parent:zO,index:2},XO={type:i.GenericReference,id:"14f46eae-04a5-47d1-9c7f-28fb09b84d1d",entityType:i.VariableDeclaration,entityId:"e5a8b6d0-0e6f-4e9a-9b1e-8a2b5c7f0d5a"},QO={id:"990bd5d1-07ea-4253-acc1-d03bedd22a38",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:An,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:XO},KO={type:i.GenericReference,id:"e4c3542a-8fb0-4b72-8d6e-3fdff812dd67",entityType:i.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},eC={type:i.GenericReference,id:"825f9f60-22a8-4cc6-9055-d7333f8e92f4",entityType:i.OutputMap,entityId:"8f30d787-9459-4d8d-98a2-b46fbc2006d5"},tC={type:i.GenericReference,id:"is-company-name-registered-var-called-by-ref",entityType:i.Operation,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},VT={type:i.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:QO,readsValue:eC,writesValues:[Sl],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[tC],successCalls:[Ol],errorCalls:[],internalCalls:[],x:0,y:0,parent:KO},nC={type:i.GenericReference,id:"1aba021e-48ef-44ac-93d0-eaecac5895da",entityType:i.InputMap,entityId:"c3c8d6c1-3e0d-4e6c-9f9c-6b8c7d7f8e9a"},rC={type:i.GenericReference,id:"dffae7e0-0a5c-4c14-8ed2-8d680b4c4c86",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},iC={type:i.InputMap,id:"c3c8d6c1-3e0d-4e6c-9f9c-6b8c7d7f8e9a",version:1,declaration:Na,name:null,description:null,readsValue:null,defaultValue:{id:"gov-http-request-url-argument-default-value-id",type:i.PrimitiveValue,version:1,value:"https://api.publicapis.org/entries",name:P.String,valueAsType:null,parent:nC,autogeneration:null},index:1,dynamicArguments:[],parent:rC},aC={type:i.GenericReference,id:"64ae61f5-ace7-401b-926d-25f852daa60e",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},sC={id:"8f30d787-9459-4d8d-98a2-b46fbc2006d5",type:i.OutputMap,version:1,declaration:vi,index:2,writesValues:[VT],parent:aC},oC={type:i.GenericReference,id:"62a1a086-caea-4270-9c9f-a1695503e745",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},lC={id:"48cf7654-8f3e-4fcd-abc6-740876c310a0",type:i.InputMap,version:1,declaration:_a,name:null,description:null,dynamicArguments:[],readsValue:null,index:0,defaultValue:null,parent:oC},cC={type:i.GenericReference,id:"b0c9c79f-f525-428d-99e7-087d3237ad62",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},dC={id:"2c1dc406-4b71-4023-87b2-abede3a111d2",type:i.InputMap,version:1,name:null,description:null,declaration:Va,dynamicArguments:[],index:3,readsValue:null,defaultValue:null,parent:cC},uC={type:i.GenericReference,id:"9887d6c9-d75b-4c97-b722-e2e60945ea20",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},pC={id:"3fef94b2-0278-43ae-b0c5-bc7083f0a111",type:i.InputMap,version:1,declaration:$a,name:null,description:null,dynamicArguments:[],readsValue:null,index:4,defaultValue:null,parent:uC},yC={type:i.GenericReference,id:"561275b6-5056-45d8-bf7d-8abaa4645593",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},hC={id:"3efe20a7-4d63-411e-89ef-63e277f48d66",type:i.OutputMap,version:1,declaration:La,index:1,writesValues:[],parent:yC},fC={type:i.GenericReference,id:"3170ccc2-13de-4bfc-802a-a643be41cd42",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},mC={id:"40d34323-d7e6-440a-8016-67c05a3b66dd",type:i.OutputMap,version:1,declaration:vi,index:0,writesValues:[],parent:fC},TC={type:i.GenericReference,id:"7432fa82-f574-4c54-a8fa-4cc4376da3d5",entityType:i.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},EC={type:i.GenericReference,id:"8f518502-9eea-462c-8753-8bc3bf3e29a9",entityType:i.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},RC={type:i.GenericReference,id:"123b8f18-79d9-4166-a5f6-78ec4b461680",entityType:i.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},bC={type:i.GenericReference,id:"e691026f-6db0-43ec-93cd-805ae7d713e3",entityType:i.FunctionCall,entityId:"abb5d456-ee85-4800-bdd9-d409415f60d7"},gC={type:i.GenericReference,id:"a375eedf-4811-41aa-a998-4897c69c46b9",entityType:i.ReturnDeclaration,entityId:"024a9b77-c1cd-4b67-b3ba-1935046b590d"},vC={id:"767cc5ed-20ec-4fd1-89b1-c8d19daa87d1",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:et,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:gC},IC={type:i.GenericReference,id:"e64b0c23-129d-4d74-8ab4-eec60e1e5b9b",entityType:i.ReturnStatement,entityId:"ea444a9e-6a5b-4138-b81f-0d5618c3c6f3"},$T={isError:!0,id:"024a9b77-c1cd-4b67-b3ba-1935046b590d",type:i.ReturnDeclaration,version:1,name:"Error",description:"The error that occurred during the HTTP request to the government company registry",dataType:vC,required:!0,readsValue:null,index:0,parent:IC},DC={type:i.ReturnStatement,id:"ea444a9e-6a5b-4138-b81f-0d5618c3c6f3",version:1,outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[bC],throws:$T,x:0,y:0,parent:RC},PC={type:i.GenericReference,id:"323814fb-9723-49ef-bbba-f882384f18e4",entityType:i.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},AC={id:"2f63f7ba-0ff0-458a-92bc-65d1dd4df8c3",type:i.OutputMap,declaration:Ho,version:1,writesValues:[$T],index:0,parent:PC},SC={type:i.Operation,id:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7",version:1,declaration:Ii,inputs:[lC,iC,NT,dC,pC],outputs:[mC,hC,sC],process:null,calledByError:[],calledByEntry:[TC],calledBySuccess:[],successCalls:[Ol,VT],errorCalls:[DC],error:AC,dynamicArguments:[],x:0,y:0,parent:EC},OC={type:i.GenericReference,id:"597b8aa2-f6f2-4f7d-bbb9-b703d02de96a",entityType:i.InputMap,entityId:"b0e7b4e5-2f5f-4d4c-8f5c-1e1f1e1a1b1a"},CC={type:i.GenericReference,id:"546d99b3-28c4-4186-93a0-ac53c1565e07",entityType:i.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},BC={id:"b0e7b4e5-2f5f-4d4c-8f5c-1e1f1e1a1b1a",type:i.InputMap,version:1,declaration:Ba,name:null,description:null,readsValue:null,defaultValue:{id:"base-query-string-map-default-value-id",type:i.PrimitiveValue,version:1,value:"?name=",name:P.String,parent:OC,valueAsType:null,autogeneration:null},dynamicArguments:[],index:0,parent:CC},wC={type:i.GenericReference,id:"6a56fb22-82e1-47c9-bf85-41c4e5986c74",entityType:i.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},MC={type:i.GenericReference,id:"191c6a6d-9bcb-441e-bf98-de0da96f5f3a",entityType:i.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},_C={type:i.GenericReference,id:"d8fcbb76-dae2-40cf-847a-02364721b387",entityType:i.VariableDeclaration,entityId:"83e12ebb-c958-4dee-b750-8ab9930f0f4e"},NC={id:"6a70c42b-024a-47c6-8a9d-af52be9c9b9a",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:_C},VC={type:i.GenericReference,id:"2282e2c0-ed9e-4c7b-86fc-1a364fa0fdb8",entityType:i.OutputMap,entityId:"f6c22cf8-63e4-4b2d-b649-b5ab884cf9a5"},$C={type:i.GenericReference,id:"assembled-query-string-called-by-ref",entityType:i.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},LT={type:i.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:NC,readsValue:VC,writesValues:[NT],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[$C],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:MC},LC={id:"f6c22cf8-63e4-4b2d-b649-b5ab884cf9a5",type:i.OutputMap,version:1,writesValues:[LT],declaration:bi,index:0,parent:wC},GC={type:i.GenericReference,id:"a1b48e7c-0301-4747-b4dd-b5af79956f7f",entityType:i.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},FC={type:i.GenericReference,id:"487c9235-be95-4c96-b9b5-2714b374a277",entityType:i.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},UC={type:i.GenericReference,id:"f6471f4f-b269-46fa-80ec-885e87a449c2",entityId:"a4106e8e-ec4f-4633-a636-09ae73135f69",entityType:i.ArgumentDeclaration},xC={type:i.GenericReference,id:"62b4afb0-6c21-4b0f-abd3-cebef7b17c28",entityType:i.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},GT={id:"08f36e2b-bad2-425c-8129-93560bec8488",version:1,type:i.InputMap,declaration:wa,name:null,description:null,readsValue:UC,dynamicArguments:[],defaultValue:null,index:1,parent:xC},jC={type:i.Operation,id:"8f2094c0-e27e-465e-9280-112da0de9019",declaration:gi,version:1,inputs:[BC,GT],outputs:[LC],process:null,calledByError:[],calledByEntry:[GC],calledBySuccess:[],dynamicArguments:[],successCalls:[LT],errorCalls:[],error:null,x:0,y:0,parent:FC},kC={type:i.GenericReference,id:"c2e0e9b4-aa46-4974-bf8a-886b737b12fb",entityType:i.ArgumentDeclaration,entityId:"a4106e8e-ec4f-4633-a636-09ae73135f69"},qC={id:"a4279518-3bf3-44b7-a2ac-65142ca37f1c",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:kC},JC={type:i.GenericReference,id:"dc273f24-164b-4943-82f9-589b237141e2",entityType:i.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},FT={id:"a4106e8e-ec4f-4633-a636-09ae73135f69",type:i.ArgumentDeclaration,version:1,name:"Company Name to check",description:"The name of the company to check in the government registry",dataType:qC,required:!1,writesValues:[GT],index:0,parent:JC},WC={type:i.GenericReference,id:"2178a10c-1cc0-4dad-97c3-0941be6c9738",entityType:i.Project,entityId:Z},UT={type:i.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:[FT],calls:[jC,SC],returnStatements:[Ol],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:WC},HC={type:i.GenericReference,id:"4d66c53c-f0f7-496a-9955-1e6c8533c5e0",entityType:i.Condition,entityId:"a8f4b0f2-5e5e-4e8f-9d7b-1b5b9b6e9a4b"},YC={type:i.GenericReference,id:"6fa0c8e0-d104-4b4d-a035-d4f6e0c49f09",entityType:i.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},zC={type:i.GenericReference,id:"146408d5-5336-4877-941a-777dd5871926",entityType:i.ArgumentDeclaration,entityId:"c6cf620c-1eee-4919-8578-1a0b6c088551"},ZC={type:i.GenericReference,id:"34ae8f8c-548d-4654-984a-6f36affdaf49",entityType:i.FunctionCall,entityId:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},xT={id:"69b1215d-9ebf-4274-b9cb-d4a5888f5122",version:1,type:i.InputMap,declaration:FT,name:null,description:null,readsValue:zC,dynamicArguments:[],defaultValue:null,index:0,parent:ZC},XC={type:i.GenericReference,id:"07540a94-dda1-40b3-8452-f209bdc87b88",entityType:i.FunctionCall,entityId:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},QC={type:i.GenericReference,id:"eaddf12a-a995-429e-90a0-13bf06efeb28",entityType:i.VariableDeclaration,entityId:"faaf3bf6-917d-40d7-aee6-5164f6646c4b"},KC={id:"7fdaf943-3ffb-48e0-b766-b86cc24090cf",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:An,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:QC},eB={type:i.GenericReference,id:"030fb5c5-af4d-4c85-8cf0-e99edd50d2bd",entityType:i.OutputMap,entityId:"c1ec31f0-25ca-42ac-a4c4-c9ec2255f55b"},tB={type:i.GenericReference,id:"a8b618e9-c68c-48c1-8bd6-ef47c87d699e",entityType:i.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},nB={type:i.GenericReference,id:"is-company-name-valid-var-called-by-ref",entityType:i.FunctionCall,entityId:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},jT={type:i.VariableDeclaration,id:"faaf3bf6-917d-40d7-aee6-5164f6646c4b",version:1,name:"Is name valid",description:"Whether the company name is valid",dataType:KC,readsValue:eB,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[nB],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:tB},rB={id:"c1ec31f0-25ca-42ac-a4c4-c9ec2255f55b",type:i.OutputMap,version:1,declaration:Sl,writesValues:[jT],index:0,parent:XC},iB={type:i.FunctionCall,id:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a",version:1,declaration:UT,inputs:[xT],outputs:[rB],calledByError:[],calledByEntry:[],process:null,calledBySuccess:[HC],successCalls:[jT],errorCalls:[],error:null,x:0,y:0,parent:YC},aB={type:i.GenericReference,id:"9d0b87b4-bfed-4e02-9e84-6831c21feae2",entityType:i.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},sB={type:i.GenericReference,id:"74345f4f-e80d-48be-adff-d12fcea25bec",entityType:i.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},oB={type:i.GenericReference,id:"b39279ea-969a-4efb-a9ec-353bfd13db65",entityType:i.ArgumentDeclaration,entityId:"c6cf620c-1eee-4919-8578-1a0b6c088551"},lB={type:i.GenericReference,id:"549db613-f225-4c5b-9634-7d096717f0ff",entityType:i.Condition,entityId:"a8f4b0f2-5e5e-4e8f-9d7b-1b5b9b6e9a4b"},kT={id:"358e242c-7448-442e-ab8b-fd7fa119ea71",version:1,type:i.InputMap,declaration:Kn.fixedArguments[0],name:null,description:null,dynamicArguments:[],readsValue:oB,defaultValue:null,index:0,parent:lB},cB={type:i.Condition,id:"a8f4b0f2-5e5e-4e8f-9d7b-1b5b9b6e9a4b",version:1,declaration:Kn,inputs:[kT],calledByError:[],calledByEntry:[aB],calledBySuccess:[],successCalls:[iB],errorCalls:[],x:0,y:0,parent:sB},dB={type:i.GenericReference,id:"43ba1e25-f805-488f-8ae8-c58bb6215b2f",entityType:i.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},uB={type:i.GenericReference,id:"eb091bed-507f-4a1e-93b5-7cd2fccfe002",entityType:i.VariableDeclaration,entityId:"9c928995-0dd5-4f97-9962-56b343bc8a45"},pB={id:"d64152ea-831f-4426-9506-a39bfa170513",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Yr,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:uB},yB={type:i.GenericReference,id:"7e79c29f-f7bd-441a-a77e-c627604dae94",entityType:i.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},hB={type:i.GenericReference,id:"8995ce5f-d5cf-4341-a8b1-5c046cc78b89",entityType:i.ArgumentDeclaration,entityId:"7ed0f7bb-2df0-44e2-b0b3-0709dcca8071"},fB={type:i.GenericReference,id:"new-company-bank-account-var-decl-1-called-by-ref",entityType:i.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},qT={type:i.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:pB,readsValue:hB,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[fB],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:yB},mB={type:i.GenericReference,id:"9a4887bf-d50d-43e4-bdd5-a5262f65f04b",entityType:i.ArgumentDeclaration,entityId:"7ed0f7bb-2df0-44e2-b0b3-0709dcca8071"},TB={id:"ae148c06-3143-49e9-9614-c3aca3f6fa7b",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Yr,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:mB},EB={id:"7ed0f7bb-2df0-44e2-b0b3-0709dcca8071",type:i.ArgumentDeclaration,version:1,name:"New bank account",description:"The new bank account of the company",dataType:TB,required:!0,index:1,writesValues:[qT],parent:dB},RB={type:i.GenericReference,id:"caec9cf8-3133-48d4-a390-114fa71b2933",entityType:i.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},bB={type:i.GenericReference,id:"cebcbad8-ca87-4c4b-be8a-312293d49892",entityType:i.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},gB={type:i.GenericReference,id:"7b8ccfe5-f9cd-4776-a19b-80c689bbe3df",entityType:i.ArgumentDeclaration,entityId:"c6cf620c-1eee-4919-8578-1a0b6c088551"},vB={id:"2a6b4703-ac8d-4d25-8abd-48a115577fec",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:gB},IB={id:"c6cf620c-1eee-4919-8578-1a0b6c088551",type:i.ArgumentDeclaration,version:1,name:"New company name",description:null,dataType:vB,required:!0,index:0,writesValues:[kT,xT],parent:bB},DB={type:i.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:[IB,EB],calls:[cB,qT],index:1,private:!1,implements:null,x:0,y:0,parent:RB},PB={type:i.GenericReference,id:"employee-manager-property-data-type-entity-ref-id",entityType:i.CustomEntity,entityId:"employee-entity-id"},AB={type:i.GenericReference,id:"employee-manager-property-data-type-parent-ref-id",entityType:i.Property,entityId:"employee-manager-property-id"},SB={id:"employee-manager-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:PB,isList:!1,isNullable:!0,asType:!1,defaultValue:null,constant:!1,parent:AB},OB={type:i.GenericReference,id:"employee-manager-property-parent-ref-id",entityType:i.CustomEntity,entityId:"employee-entity-id"},CB={hidden:!1,required:!0,type:i.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:SB,abstract:!1,parent:OB},BB={type:i.GenericReference,id:"employee-start-date-property-data-type-parent-ref-id",entityType:i.Property,entityId:"employee-start-date-property-id"},wB={id:"employee-start-date-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:dn,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:BB},MB={type:i.GenericReference,id:"employee-start-date-property-parent-ref-id",entityType:i.CustomEntity,entityId:"employee-entity-id"},_B={hidden:!1,required:!0,type:i.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:wB,abstract:!1,parent:MB},NB={type:i.GenericReference,id:"employee-department-property-ref-id",entityType:i.Property,entityId:"employee-department-property-id"},VB={id:"employee-department-property-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Sn,isList:!1,isNullable:!1,asType:!1,options:["Human Resources","Finance","IT","Sales","Marketing","Customer Service","Logistics","Product"],defaultValue:null,constant:!1,parent:NB},$B={type:i.GenericReference,id:"employee-department-property-parent-ref-id",entityType:i.CustomEntity,entityId:"employee-entity-id"},LB={hidden:!1,required:!0,type:i.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:VB,abstract:!1,parent:$B},GB={type:i.GenericReference,id:"employee-prototype-parent-ref-id",entityType:i.Project,entityId:Z},Bt={type:i.CustomEntity,id:"employee-entity-id",version:1,name:"Employee",description:"A entity that represents an employee in the company",properties:[LB,_B,CB],abstract:!1,static:!1,abstractMethods:[],methods:[],implements:[],extends:[yt],x:0,y:0,parent:GB},FB={type:i.GenericReference,id:"dec8fbfe-9124-41fd-9f1c-5b2f07cfd6ba",entityType:i.Property,entityId:"4f52d044-f3dd-4bdf-927e-637c3b92e8bd"},UB={id:"bc0b8979-6c43-4d47-a712-6742b89e3c00",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:FB},xB={type:i.GenericReference,id:"4f8c0a05-466e-4672-b4c4-6bd408c0be9a",entityType:i.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},jB={hidden:!1,required:!0,type:i.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:UB,abstract:!1,parent:xB},kB={type:i.GenericReference,id:"95173fe0-a6e6-443c-94f3-f7c5cf171fcf",entityType:i.Property,entityId:"80c86e1b-caca-4ba5-9b1f-38f72d10e4a3"},qB={id:"ddbb6f5c-0cf4-41fb-83b3-b6c47c0e338d",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Yr,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:kB},JB={type:i.GenericReference,id:"6a9a0b72-a05d-4169-b3f3-5afb01e8d0df",entityType:i.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},Cl={hidden:!1,required:!0,type:i.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:qB,abstract:!1,parent:JB},WB={type:i.GenericReference,id:"62892cc6-d227-4088-90d3-ae7c15ed4af4",entityType:i.Property,entityId:"19a31727-1fba-40a5-be25-18e0f149d5cb"},HB={id:"1f7629df-dc29-4c89-8369-c6d043e97a9e",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:yt,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:WB},YB={type:i.GenericReference,id:"89384206-fd5a-4f0a-849c-f777473e5773",entityType:i.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},zB={hidden:!1,required:!0,type:i.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:HB,private:!0,abstract:!1,parent:YB},ZB={type:i.GenericReference,id:"4d2ffb6c-5f38-436e-8339-fb9878ac2b5e",entityType:i.Property,entityId:"f8310850-a87e-405c-b182-4f1d5fa49240"},XB={id:"ad44250b-40c2-48f7-a480-381fa938f562",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Bt,isList:!0,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:ZB},QB={type:i.GenericReference,id:"aa5d4eee-6fac-4e72-bf21-9c8750024541",entityType:i.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},KB={hidden:!1,required:!0,type:i.Property,id:"f8310850-a87e-405c-b182-4f1d5fa49240",version:1,name:"Employees",description:null,index:3,dataType:XB,implements:null,private:!0,static:!1,abstract:!1,parent:QB},ew={type:i.GenericReference,id:"e3c03b6b-2ea0-4d99-865d-5e6a348672d0",entityType:i.Project,entityId:Z},gt={type:i.CustomEntity,id:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d",version:1,name:"Company",description:null,properties:[jB,Cl,zB,KB],static:!1,abstract:!1,abstractMethods:[],methods:[xO,DB],extends:[],implements:[Le],x:0,y:0,parent:ew},tw={type:i.GenericReference,id:"ffcad334-138d-4b67-8fb3-5f0e6f5fefbd",entityType:i.Project,entityId:Z},Bl={type:i.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:tw};i.GenericReference,i.DataType;const nw={id:"cron-job-entity-expression-property-ref-id",type:i.GenericReference,entityId:"cron-job-entity-expression-property-id",entityType:i.Property},rw={id:"cron-job-entity-expression-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:null,parent:nw},iw={id:"cron-job-entity-ref-id",type:i.GenericReference,entityId:"cron-job-entity-id",entityType:i.CustomEntity},aw={hidden:!1,required:!0,id:"cron-job-entity-expression-property-id",type:i.Property,version:1,name:"Cron expression",description:"The cron expression that defines when the cron job should be triggered",dataType:rw,implements:null,static:!0,private:!1,abstract:!1,index:0,parent:iw},sw={id:"cron-job-entity-trigger-show-popup-func-call-called-by-ref-one-id",type:i.GenericReference,entityId:"show-popup-func-decl-id",entityType:i.FunctionDeclaration},ow={id:"cron-job-entity-trigger-show-popup-func-call-parent-ref-id",type:i.GenericReference,entityId:"cron-job-entity-trigger-func-decl-id",entityType:i.FunctionDeclaration},lw={id:"cron-job-entity-trigger-show-popup-func-call-id",version:1,type:i.FunctionCall,declaration:Bl,inputs:[],outputs:[],process:null,successCalls:[],calledByError:[],calledByEntry:[sw],calledBySuccess:[],errorCalls:[],error:null,x:0,y:0,parent:ow},cw={id:"cron-job-entity-trigger-func-decl-parent-ref-id",type:i.GenericReference,entityId:"cron-job-entity-id",entityType:i.CustomEntity},dw={id:"cron-job-entity-trigger-func-decl-id",version:1,type:i.FunctionDeclaration,name:"Scheduled trigger",description:"The function that is called when the cron job is triggered",inputs:[],private:!1,implements:tl,calls:[lw],collapsed:!1,returnStatements:[],index:0,x:0,y:0,parent:cw},uw={id:"cron-job-entity-parent-ref-id",type:i.GenericReference,entityId:Z,entityType:i.Project},pw={id:"cron-job-entity-id",version:1,type:i.CustomEntity,name:"Run at 12pm on Christmas day",description:"A cron job that runs at 12pm on Christmas day",properties:[aw],static:!0,abstract:!1,abstractMethods:[],extends:[nl],implements:[],methods:[dw],x:0,y:0,parent:uw},yw={type:i.GenericReference,id:"52dbd85c-48b1-462a-8205-2437d6fb1cb4",entityType:i.Project,entityId:Z},hw={type:i.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:[Ua],x:0,y:0,parent:yw},JT="f558fbf8-67de-4545-9804-6ae621e0b2d4",fw={id:"getCompanyByIdEndpointPathParamsVariableDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"getCompanyByIdEndpointPathParamsVariableDataType"},mw={id:"getCompanyByIdEndpointPathParamsArgumentDeclarationRef",type:i.GenericReference,entityType:i.ArgumentDeclaration,entityId:"getCompanyByIdEndpointPathParamsArgumentDeclaration"},Tw={id:"getCompanyByIdEndpointPathParamsVariableDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:j,asType:!1,defaultValue:{id:"getCompanyByIdEndpointPathParamsVariableDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.JSON,value:{},parent:fw,autogeneration:null,valueAsType:null},parent:mw},Ew={id:"getCompanyByIdEndpointReachedEntityEventRef",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},Rw={id:"getCompanyByIdEndpointRequestHeadersVariableDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"getCompanyByIdEndpointRequestHeadersVariableDataType"},bw={id:"getCompanyByIdEndpointRequestHeadersArgumentDeclarationRef",type:i.GenericReference,entityType:i.ArgumentDeclaration,entityId:"getCompanyByIdEndpointRequestHeadersArgumentDeclaration"},gw={id:"getCompanyByIdEndpointRequestHeadersVariableDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:et,asType:!1,defaultValue:{id:"getCompanyByIdEndpointRequestHeadersVariableDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.JSON,value:{},parent:Rw,autogeneration:null,valueAsType:null},parent:bw},vw={id:"getCompanyByIdEndpointRequestHeadersArgumentDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the request.",type:i.ArgumentDeclaration,writesValues:[],name:"Request headers",dataType:gw,required:!0,index:0,parent:Ew},Iw={id:"getCompanyByIdEndpointReachedEntityEventRefTwo",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},Dw={id:"getCompanyByIdEndpointPathParamsArgumentDeclaration",type:i.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:Tw,required:!0,index:1,parent:Iw},Pw={id:"getCompanyByIdEndpointReachedEntityEventRefThree",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},Aw={id:"getCompanyByIdEndpointRequestQueryParamsVariableDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"getCompanyByIdEndpointRequestQueryParamsVariableDataType"},Sw={id:"getCompanyByIdEndpointRequestQueryParamsArgumentDeclarationRef",type:i.GenericReference,entityType:i.ArgumentDeclaration,entityId:"getCompanyByIdEndpointRequestQueryParamsArgumentDeclaration"},Ow={id:"getCompanyByIdEndpointRequestQueryParamsVariableDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,asType:!1,entity:j,defaultValue:{id:"getCompanyByIdEndpointRequestQueryParamsVariableDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.JSON,value:{},parent:Aw,autogeneration:null,valueAsType:null},parent:Sw},Cw={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:i.ArgumentDeclaration,writesValues:[],name:"Request query params",dataType:Ow,required:!0,index:2,parent:Pw},Bw={id:"getCompanyByIdEndpointReachedEntityEventRefFour",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},ww={id:"getCompanyByIdEndpointRequestBodyArgumentDeclarationRef",type:i.GenericReference,entityType:i.ArgumentDeclaration,entityId:"getCompanyByIdEndpointRequestBodyArgumentDeclaration"},Mw={id:"getCompanyByIdEndpointRequestBodyVariableDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:et,defaultValue:null,parent:ww},_w={id:"getCompanyByIdEndpointRequestBodyArgumentDeclaration",version:1,description:"The main data payload of the request.",type:i.ArgumentDeclaration,writesValues:[],name:"Request body",dataType:Mw,index:3,required:!0,parent:Bw},Nw={id:"getCompanyByIdEndpointResponseCodeReturnDeclarationRef",type:i.GenericReference,entityType:i.ReturnDeclaration,entityId:"getCompanyByIdEndpointResponseCodeReturnDeclaration"},Vw={id:"9ba575b0-6f8e-436d-a3de-3b843622aa17",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Nw},$w={id:"getCompanyByIdEndpointReturnStatementRef",type:i.GenericReference,entityType:i.ReturnStatement,entityId:"getCompanyByIdEndpointReturnStatement"},Lw={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:i.ReturnDeclaration,name:"Response code",dataType:Vw,readsValue:null,required:!0,index:0,parent:$w},Gw={id:"getCompanyByIdEndpointResponseHeadersDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"getCompanyByIdEndpointResponseHeadersDataType"},Fw={id:"getCompanyByIdEndpointResponseHeadersReturnDeclarationRef",type:i.GenericReference,entityType:i.ReturnDeclaration,entityId:"getCompanyByIdEndpointResponseHeadersReturnDeclaration"},Uw={id:"getCompanyByIdEndpointResponseHeadersDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:et,asType:!1,defaultValue:{id:"getCompanyByIdEndpointResponseHeadersDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.JSON,value:{},parent:Gw,autogeneration:null,valueAsType:null},parent:Fw},xw={id:"getCompanyByIdEndpointReturnStatementRefTwo",type:i.GenericReference,entityType:i.ReturnStatement,entityId:"getCompanyByIdEndpointReturnStatement"},jw={isError:!1,id:"getCompanyByIdEndpointResponseHeadersReturnDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the response.",type:i.ReturnDeclaration,name:"Response headers",dataType:Uw,readsValue:null,required:!0,index:1,parent:xw},kw={id:"getCompanyByIdEndpointResponseBodyReturnDeclarationRef",type:i.GenericReference,entityType:i.ReturnDeclaration,entityId:"getCompanyByIdEndpointResponseBodyReturnDeclaration"},qw={id:"getCompanyByIdEndpointResponseBodyDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:et,defaultValue:null,parent:kw},Jw={id:"getCompanyByIdEndpointReturnStatementRefThree",type:i.GenericReference,entityType:i.ReturnStatement,entityId:"getCompanyByIdEndpointReturnStatement"},Ww={isError:!1,id:"getCompanyByIdEndpointResponseBodyReturnDeclaration",version:1,description:"The main data payload of the response.",type:i.ReturnDeclaration,name:"Response body",dataType:qw,readsValue:null,required:!0,index:2,parent:Jw},Hw={id:"getCompanyByIdEndpointReturnStatementCallerRef",type:i.GenericReference,entityId:"getCompanyByIdEndpointReachedEntityEvent",entityType:i.FunctionDeclaration},Yw={id:"getCompanyByIdEndpointReachedEntityEventRefFive",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},zw={id:"getCompanyByIdEndpointReturnStatement",type:i.ReturnStatement,version:1,outputs:[Lw,jw,Ww],calledByError:[],calledByEntry:[Hw],calledBySuccess:[],throws:null,x:0,y:0,parent:Yw},Zw={id:"endpointBuiltInBaseEntityRefFour",type:i.GenericReference,entityType:i.BuiltInBaseEntity,entityId:JT},Xw={id:"getCompanyByIdEndpointReachedEntityEvent",name:"Endpoint reached",version:1,type:i.FunctionDeclaration,inputs:[vw,Dw,Cw,_w],returnStatements:[zw],description:"Fired when the endpoint is reached.",calls:[],collapsed:!1,implements:Xo,index:0,private:!1,x:0,y:0,parent:Zw},Qw={id:"getCompanyByIdEndpointPathPropertyDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"getCompanyByIdEndpointPathPropertyDataType"},Kw={id:"getCompanyByIdEndpointPathPropertyRef",type:i.GenericReference,entityType:i.Property,entityId:"getCompanyByIdEndpointPathProperty"},eM={id:"getCompanyByIdEndpointPathPropertyDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:j,asType:!1,defaultValue:{id:"getCompanyByIdEndpointPathPropertyDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,name:P.String,value:"/company/{id}",parent:Qw,valueAsType:null,autogeneration:null},parent:Kw},tM={id:"getCompanyByIdEndpointBaseEntityRefTwo",type:i.GenericReference,entityType:i.BuiltInBaseEntity,entityId:V.HTTP_ENDPOINT},nM={hidden:!1,required:!0,id:"getCompanyByIdEndpointPathProperty",name:"Path",version:1,type:i.Property,private:!1,abstract:!1,static:!0,implements:zo,dataType:eM,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:tM},rM={id:"getCompanyByIdEndpointMethodPropertyDataTypeRef",type:i.GenericReference,entityType:i.DataType,entityId:"getCompanyByIdEndpointMethodPropertyDataType"},iM={id:"getCompanyByIdEndpointMethodPropertyRef",type:i.GenericReference,entityType:i.Property,entityId:"getCompanyByIdEndpointMethodProperty"},aM={id:"getCompanyByIdEndpointMethodPropertyDataType",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Sn,isList:!0,isNullable:!1,constant:!0,asType:!1,defaultValue:{id:"getCompanyByIdEndpointMethodPropertyDataTypeDefaultValueId",type:i.PrimitiveValue,version:1,value:"GET",name:P.Enum,parent:rM,valueAsType:null,autogeneration:null},options:["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","TRACE","CONNECT","CUSTOM"],parent:iM},sM={id:"getCompanyByIdEndpointBaseEntityRefThree",type:i.GenericReference,entityType:i.BuiltInBaseEntity,entityId:V.HTTP_ENDPOINT},oM={hidden:!1,required:!0,id:"getCompanyByIdEndpointMethodProperty",name:"Method",version:1,type:i.Property,private:!1,abstract:!1,static:!0,implements:Zo,index:0,dataType:aM,description:null,parent:sM},lM={type:i.GenericReference,id:"6a905153-8aa8-4424-bd7b-6415731a2725",entityType:i.Project,entityId:Z},cM={type:i.CustomEntity,id:JT,version:1,name:"Get given company data by id",description:null,properties:[nM,oM],methods:[Xw],static:!0,abstract:!1,abstractMethods:[],extends:[],implements:[Ua],x:0,y:0,parent:lM},dM={id:"product-prototype-database-property-ref-id",type:i.GenericReference,entityId:"product-prototype-database-property-id",entityType:i.Property},uM={id:"product-prototype-database-property-data-type-default-value-parent-ref-id",type:i.GenericReference,entityId:"product-prototype-database-property-data-type-default-value-id",entityType:i.DataType},pM={id:"product-prototype-database-property-data-type-id",version:1,type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:On,asType:!1,defaultValue:{id:"product-prototype-database-property-data-type-default-value-id",type:i.PrimitiveValue,version:1,value:null,name:P.EntityTemplate,valueAsType:Dl,autogeneration:null,parent:uM},parent:dM},yM={id:"product-prototype-database-property-parent-ref-id",type:i.GenericReference,entityId:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",entityType:i.CustomEntity},hM={hidden:!1,required:!0,id:"product-prototype-database-property-id",name:"Database",version:1,type:i.Property,private:!1,abstract:!1,implements:Pi,static:!0,index:0,dataType:pM,description:"The database that the entity belongs to.",parent:yM},fM={type:i.GenericReference,id:"13a4045e-dcb0-4159-8d33-10a646078b5a",entityType:i.Property,entityId:"d519c26a-15b8-40d8-ad09-13fa9342e9ba"},mM={id:"7449779e-1d4e-409c-81c6-4b611336ed18",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:fM},TM={type:i.GenericReference,id:"0969562f-d836-406f-8b48-dd9d417fbe72",entityType:i.CustomEntity,entityId:"a2d0ec83-72ce-4f54-b059-a39e018fa86c"},EM={hidden:!1,required:!0,type:i.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:mM,abstract:!1,parent:TM},RM={type:i.GenericReference,id:"833a5425-7bd0-41dd-9e97-e018acce9592",entityType:i.Project,entityId:Z},bM={type:i.CustomEntity,id:"a2d0ec83-72ce-4f54-b059-a39e018fa86c",version:1,name:"Product",description:"A product that can be sold",implements:[Le],extends:[],abstract:!1,static:!1,abstractMethods:[],properties:[hM,EM],methods:[],x:0,y:0,parent:RM},Wi="project-loaded-event-id",Kt="get-bitcoin-price-http-call-operation-id",WT="get-bitcoin-price-http-call-response-body-id",bs="validate-bitcoin-price-response-operation-ids",gM={type:i.GenericReference,id:"validate-bitcoin-data-to-validate-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:WT},vM={type:i.GenericReference,id:"validate-bitcoin-data-to-validate-input-map-parent-ref-id",entityType:i.Operation,entityId:bs},HT={id:"validate-bitcoin-data-to-validate-input-map-id",type:i.InputMap,version:1,declaration:Xn.fixedArguments[1],name:null,description:null,readsValue:gM,defaultValue:null,dynamicArguments:[],index:0,parent:vM},IM={type:i.GenericReference,id:"validate-bitcoin-type-to-match-input-map-default-value-parent-ref-id",entityType:i.InputMap,entityId:"validate-bitcoin-type-to-match-input-map-id"},DM={type:i.GenericReference,id:"validate-bitcoin-type-to-match-input-map-parent-ref-id",entityType:i.Operation,entityId:bs},PM={id:"validate-bitcoin-type-to-match-input-map-id",type:i.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:i.PrimitiveValue,version:1,name:P.EntityTemplate,valueAsType:wT,value:null,parent:IM,autogeneration:null},dynamicArguments:[],index:0,parent:DM},AM={type:i.GenericReference,id:"validate-bitcoin-validated-entity-output-map-parent-ref-id",entityType:i.Operation,entityId:bs},SM={id:"validate-bitcoin-validated-entity-output-map-id",type:i.OutputMap,version:1,declaration:Xn.fixedReturns[0],writesValues:[],index:0,parent:AM},OM={type:i.GenericReference,id:"validate-bitcoin-price-response-operation-parent-ref-id",entityType:i.GlobalEvent,entityId:Wi},CM={type:i.GenericReference,id:"validate-bitcoin-price-response-operation-called-by-ref-id",entityType:i.Operation,entityId:Kt},BM={type:i.Operation,id:bs,version:1,declaration:Xn,inputs:[PM,HT],outputs:[SM],process:null,dynamicArguments:[],successCalls:[],errorCalls:[],error:null,x:0,y:0,calledByError:[],calledByEntry:[],calledBySuccess:[CM],parent:OM},wM={type:i.GenericReference,id:"96edb661-3f36-406c-8921-f1679dd796a3",entityType:i.FunctionCall,entityId:Kt},MM={id:"c93e1393-9b5e-4de2-b8da-7eae647d715a",version:1,type:i.InputMap,declaration:_a,name:null,description:null,readsValue:null,defaultValue:null,dynamicArguments:[],index:0,parent:wM},_M={type:i.GenericReference,id:"40312b28-71b8-4b01-a654-58b87191939d",entityType:i.FunctionCall,entityId:Kt},NM={type:i.GenericReference,id:"6ea96c7d-02a7-4971-82ad-2f32a0fec8b4",entityType:i.InputMap,entityId:"9f21cbac-5a83-4983-8923-9224ffd3ba9f"},VM={id:"9f21cbac-5a83-4983-8923-9224ffd3ba9f",version:1,type:i.InputMap,declaration:Na,name:null,description:null,readsValue:null,defaultValue:{id:"get-bitcoin-price-http-request-url-argument-default-value-id",type:i.PrimitiveValue,version:1,value:"https://api.coindesk.com/v1/bpi/currentprice.json",name:P.String,parent:NM,valueAsType:null,autogeneration:null},index:1,dynamicArguments:[],parent:_M},$M={type:i.GenericReference,id:"2610bf4a-c8a2-4746-b6cc-eb15f7fa8e9c",entityType:i.FunctionCall,entityId:Kt},LM={id:"ffb3cd9d-c955-4104-bc7b-299120fe4ede",version:1,type:i.InputMap,declaration:Va,name:null,description:null,readsValue:null,dynamicArguments:[],defaultValue:null,index:2,parent:$M},GM={type:i.GenericReference,id:"bfd29a6a-671a-448c-9f2f-f8c7e4ad8349",entityType:i.FunctionCall,entityId:Kt},FM={id:"412bf1f3-1a8e-4665-a95f-82117540e34e",version:1,type:i.InputMap,declaration:$a,name:null,description:null,readsValue:null,dynamicArguments:[],defaultValue:null,index:3,parent:GM},UM={type:i.GenericReference,id:"616a15f3-c224-4b11-b95c-63314edef409",entityType:i.FunctionCall,entityId:Kt},xM={id:"4dd4651c-02e4-45f1-b50f-824f3bcb1648",version:1,type:i.OutputMap,declaration:La,writesValues:[],index:1,parent:UM},jM={type:i.GenericReference,id:"28793b68-4d7e-4826-aee1-f201a3499faf",entityType:i.FunctionCall,entityId:Kt},kM={id:"94fe9d35-4dd4-4729-a50c-5283ccd7e661",version:1,type:i.OutputMap,declaration:Wo,writesValues:[],index:0,parent:jM},qM={type:i.GenericReference,id:"f13e04b2-49b4-4c69-85b8-cbbafafa3524",entityType:i.FunctionCall,entityId:Kt},JM={id:WT,type:i.OutputMap,version:1,declaration:vi,writesValues:[HT],index:2,parent:qM},WM={type:i.GenericReference,id:"6148d6d0-caaa-45fc-b601-ff2493dfc60f",entityType:i.FunctionDeclaration,entityId:Kt},HM={type:i.GenericReference,id:"b115f084-807b-44b3-ae01-b69cc342f761",entityType:i.GlobalEvent,entityId:Wi},YM={type:i.Operation,id:Kt,version:1,declaration:Ii,inputs:[MM,VM,LM,FM],outputs:[kM,xM,JM],process:null,parent:HM,calledByError:[],calledByEntry:[WM],calledBySuccess:[],dynamicArguments:[],successCalls:[BM],errorCalls:[],error:null,x:0,y:0},zM={type:i.GenericReference,id:"24e76019-3f94-475b-91ce-297f76bbc224",entityType:i.GlobalEvent,entityId:Wi},ZM={type:i.GenericReference,id:"0eac8e29-cdf2-42f8-8ea7-ad76d4d79abe",entityType:i.GlobalEvent,entityId:Wi},XM={process:null,type:i.FunctionCall,id:"2d2e7593-bfbf-457c-a607-5fce18eef457",version:1,declaration:Bl,inputs:[],outputs:[],calledByError:[],calledByEntry:[zM],calledBySuccess:[],parent:ZM,successCalls:[],errorCalls:[],error:null,x:0,y:0},QM={id:"793b5999-a9da-47fb-9665-0c17ebc6d5c9",type:i.GenericReference,entityType:i.Project,entityId:"2e7eb5382-3d99-44fd-972a-b8b1e819f6be"},KM={type:i.GlobalEvent,id:Wi,version:1,name:ln.PROJECT_PUBLICATION_COMPLETED,returnStatements:[],collapsed:!1,implements:Ja,parent:QM,inputs:[],calls:[XM,YM],x:0,y:0},Gt="abort-execution-func-declaration-id",Hi="abort-execution-func-exec-var-declaration-id",gs="abort-execution-func-small-wait-op-id",wl="abort-execution-func-long-wait-op-id",YT="abort-execution-func-long-wait-process-output-id",zT="abort-execution-func-exec-var-instance-write-id",ZT="abort-execution-func-long-wait-return-stmt-id",XT="abort-execution-func-small-wait-return-stmt-id",e_="abort-execution-func-exec-var-instance-abort-call-id",Ml="abort-execution-func-exec-var-instance-abort-internal-call-id",QT="abort-execution-func-exec-second-wait-op-id",t_={type:i.GenericReference,id:"short-wait-return-statement-returned-hello-string-data-type-parent-ref-id",entityType:i.ReturnDeclaration,entityId:"short-wait-return-statement-returned-hello-string-id"},n_={type:i.GenericReference,id:"short-wait-return-statement-returned-hello-string-data-type-default-value-parent-ref-id",entityType:i.DataType,entityId:"short-wait-return-statement-returned-hello-string-data-type-id"},r_={id:"short-wait-return-statement-returned-hello-string-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:{id:"short-wait-return-statement-returned-hello-string-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.String,value:"Hello 2",autogeneration:null,valueAsType:null,parent:n_},constant:!1,parent:t_},i_={type:i.GenericReference,id:"short-wait-return-statement-returned-hello-string-parent-ref-id",entityType:i.ReturnStatement,entityId:XT},a_={isError:!1,id:"short-wait-return-statement-returned-hello-string-id",type:i.ReturnDeclaration,version:1,name:"Return 1",description:"A random string that is returned by the function",dataType:r_,readsValue:null,required:!0,index:0,parent:i_},s_={type:i.GenericReference,id:"short-wait-return-statement-called-by-ref-id",entityType:i.Operation,entityId:gs},o_={type:i.GenericReference,id:"short-wait-return-statement-parent-ref-id",entityType:i.FunctionDeclaration,entityId:Gt},KT={type:i.ReturnStatement,id:XT,version:1,outputs:[a_],calledByError:[],calledByEntry:[],calledBySuccess:[s_],throws:null,x:0,y:0,parent:o_},l_={type:i.GenericReference,id:"second-wait-argument-default-value-parent-ref-id",entityType:i.InputMap,entityId:"second-wait-argument-map-id"},c_={type:i.GenericReference,id:"second-wait-argument-map-parent-ref-id",entityType:i.Operation,entityId:QT},d_={id:"second-wait-argument-map-id",type:i.InputMap,version:1,declaration:Zn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"second-wait-argument-default-value-id",type:i.PrimitiveValue,version:1,value:2e3,valueAsType:null,autogeneration:null,name:P.Number,parent:l_},index:0,parent:c_},u_={type:i.GenericReference,id:"small-wait-parent-ref-id",entityType:i.FunctionDeclaration,entityId:Gt},p_={type:i.GenericReference,id:"small-wait-called-by-ref-one-id",entityType:i.InternalCall,entityId:Ml},y_={id:QT,type:i.Operation,version:1,declaration:ut,inputs:[d_],dynamicArguments:[],outputs:[],process:null,successCalls:[KT],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[],calledBySuccess:[p_],error:null,parent:u_},h_={type:i.GenericReference,id:"abort-exec-func-abort-call-var-instance-abort-internal-call-called-by-ref-one-id",entityType:i.VariableInstance,entityId:zT},f_={type:i.GenericReference,id:"abort-exec-func-abort-call-var-instance-abort-internal-call-called-by-ref-two-id",entityType:i.Operation,entityId:gs},m_={type:i.GenericReference,id:"abort-exec-func-abort-call-var-instance-main-project-ref-id",entityType:i.FunctionDeclaration,entityId:Gt},T_={type:i.GenericReference,id:"abort-exec-func-abort-call-var-instance-declaration-ref-id",entityType:i.VariableDeclaration,entityId:Hi},E_={type:i.GenericReference,id:"abort-exec-func-abort-call-var-instance-internal-call-ref-one-id",entityType:i.InternalCall,entityId:Ml},R_={id:e_,type:i.VariableInstance,version:1,declaration:T_,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[E_],parent:m_},eE={id:Ml,type:i.InternalCall,version:1,inputs:[],outputs:[],declaration:rl,process:null,calledByError:[],calledByEntry:[],calledBySuccess:[h_,f_],successCalls:[y_],errorCalls:[],error:null,index:0,parent:R_},b_={type:i.GenericReference,id:"abort-exec-func-var-write-instance-main-project-ref-id",entityType:i.FunctionDeclaration,entityId:Gt},g_={type:i.GenericReference,id:"abort-exec-func-var-write-instance-called-by-ref-one-id",entityType:i.VariableDeclaration,entityId:Hi},v_={type:i.GenericReference,id:"abort-exec-func-var-write-instance-called-by-ref-two-id",entityType:i.FunctionDeclaration,entityId:Gt},I_={type:i.GenericReference,id:"abort-exec-func-abort-call-var-instance-declaration-ref-id",entityType:i.VariableDeclaration,entityId:Hi},D_={type:i.GenericReference,id:"abort-exec-func-var-write-instance-reads-value-ref-id",entityType:i.OutputMap,entityId:YT},_l={id:zT,type:i.VariableInstance,version:1,declaration:I_,inputs:[],outputs:[],calledByError:[],calledByEntry:[v_],calledBySuccess:[g_],successCalls:[eE],errorCalls:[],x:0,y:0,readsValue:D_,writesValues:[],internalCalls:[],parent:b_},P_={type:i.GenericReference,id:"abort-exec-func-var-decl-datatype-parent-ref-id",entityType:i.VariableDeclaration,entityId:Hi};i.GenericReference,i.DataType;const A_={id:"abort-exec-func-var-decl-datatype-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:il,version:1,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:P_,defaultValue:null},S_={type:i.GenericReference,id:"abort-exec-func-var-decl-main-project-ref-id",entityType:i.FunctionDeclaration,entityId:Gt},O_={type:i.GenericReference,id:"abort-exec-func-var-decl-called-by-ref-one-id",entityType:i.FunctionDeclaration,entityId:Gt},C_={id:Hi,type:i.VariableDeclaration,version:1,name:"Execution in progress",description:"A variable that holds an ongoing execution to abort it if needed",dataType:A_,inputs:[],outputs:[],calledByError:[],calledByEntry:[O_],calledBySuccess:[],successCalls:[_l],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:S_},B_={type:i.GenericReference,id:"long-wait-return-statement-returned-hello-string-data-type-parent-ref-id",entityType:i.ReturnDeclaration,entityId:"long-wait-return-statement-returned-hello-string-id"},w_={type:i.GenericReference,id:"long-wait-return-statement-returned-hello-string-data-type-default-value-parent-ref-id",entityType:i.DataType,entityId:"long-wait-return-statement-returned-hello-string-data-type-id"},M_={id:"long-wait-return-statement-returned-hello-string-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,asType:!1,isList:!1,isNullable:!1,defaultValue:{id:"long-wait-return-statement-returned-hello-string-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.String,value:"Hello 1",autogeneration:null,valueAsType:null,parent:w_},constant:!1,parent:B_},__={type:i.GenericReference,id:"long-wait-return-statement-returned-hello-string-parent-ref-id",entityType:i.ReturnStatement,entityId:ZT},N_={isError:!1,id:"long-wait-return-statement-returned-hello-string-id",type:i.ReturnDeclaration,version:1,name:"Return 2",description:"A random string that is returned by the function",dataType:M_,readsValue:null,required:!0,index:0,parent:__},V_={type:i.GenericReference,id:"long-wait-return-statement-called-by-ref-id",entityType:i.Operation,entityId:wl},$_={type:i.GenericReference,id:"long-wait-return-statement-parent-ref-id",entityType:i.FunctionDeclaration,entityId:Gt},tE={type:i.ReturnStatement,id:ZT,version:1,outputs:[N_],calledByError:[],calledByEntry:[],calledBySuccess:[V_],throws:null,x:0,y:0,parent:$_},L_={type:i.GenericReference,id:"long-argument-default-value-parent-ref-id",entityType:i.InputMap,entityId:"long-argument-map-id"},nE={type:i.GenericReference,id:"long-argument-map-parent-ref-id",entityType:i.Operation,entityId:wl},G_={id:"long-argument-map-id",type:i.InputMap,version:1,declaration:Zn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"long-argument-default-value-id",type:i.PrimitiveValue,version:1,value:1500,valueAsType:null,autogeneration:null,name:P.Number,parent:L_},index:0,parent:nE},F_={type:i.GenericReference,id:"long-parent-ref-id",entityType:i.FunctionDeclaration,entityId:Gt},U_={type:i.GenericReference,id:"long-called-by-ref-one-id",entityType:i.FunctionDeclaration,entityId:Gt},x_={id:YT,type:i.OutputMap,version:1,declaration:sl,writesValues:[_l],index:0,parent:nE},j_={id:wl,type:i.Operation,version:1,declaration:ut,inputs:[G_],dynamicArguments:[],outputs:[],process:x_,successCalls:[tE],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[U_],calledBySuccess:[],error:null,parent:F_},k_={type:i.GenericReference,id:"small-wait-argument-default-value-parent-ref-id",entityType:i.InputMap,entityId:"small-wait-argument-map-id"},q_={type:i.GenericReference,id:"small-wait-argument-map-parent-ref-id",entityType:i.Operation,entityId:gs},J_={id:"small-wait-argument-map-id",type:i.InputMap,version:1,declaration:Zn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"small-wait-argument-default-value-id",type:i.PrimitiveValue,version:1,value:500,valueAsType:null,autogeneration:null,name:P.Number,parent:k_},index:0,parent:q_},W_={type:i.GenericReference,id:"small-wait-parent-ref-id",entityType:i.FunctionDeclaration,entityId:Gt},H_={type:i.GenericReference,id:"small-wait-called-by-ref-one-id",entityType:i.FunctionDeclaration,entityId:Gt},Y_={id:gs,type:i.Operation,version:1,declaration:ut,inputs:[J_],dynamicArguments:[],outputs:[],process:null,successCalls:[eE],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[H_],calledBySuccess:[],error:null,parent:W_},z_={type:i.GenericReference,id:"abort-execution-func-decl-parent-ref-id",entityType:i.Project,entityId:Z},rE={id:"abort-execution-func-decl-id",type:i.FunctionDeclaration,version:1,name:"Test aborting execution",description:"Executes a wait and then aborts the execution of that wait",inputs:[],returnStatements:[tE,KT],calls:[Y_,C_,_l,j_],implements:null,private:!1,collapsed:!1,index:null,x:0,y:0,parent:z_},Z_={type:i.GenericReference,id:"call-execution-abort-func-parent-ref-id",entityType:i.Project,entityId:Z},X_={id:"call-execution-abort-func-id",type:i.FunctionCall,version:1,declaration:rE,inputs:[],process:null,outputs:[],successCalls:[],errorCalls:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[],x:0,y:0,parent:Z_},Nl="manual-hello-world-loop-func-decl-id",iE="manual-hello-world-loop-func-return-statement-id",en="manual-hello-world-loop-id",Yi="manual-hello-world-loop-body-id",Vl="manual-hello-world-loop-break-statement-id",zi="manual-hello-world-loop-current-iteration-number-output-map-id",$l="manual-hello-world-loop-previous-iterations-results-output-map-id",Ll="assembled-hello-world-text-output-id",aE="assembled-hello-world-list-output-id",Zi="iteration-number-is-equal-or-greater-than-10-condition-id",vs="join-hello-world-and-number-operation-id",Is="append-string-to-list-operation-id",sE="hello-world-loop-output-map-id",Q_={type:i.GenericReference,id:"manual-hello-world-loop-function-declaration-output-declaration-parent-ref",entityType:i.ReturnStatement,entityId:iE},K_={type:i.GenericReference,id:"manual-hello-world-loop-function-declaration-output-declaration-data-type-parent-ref",entityType:i.ReturnDeclaration,entityId:"manual-hello-world-loop-function-declaration-output-declaration"},eN={id:"manual-hello-world-loop-function-declaration-output-declaration-data-type",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!0,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:K_},tN={type:i.GenericReference,id:"manual-hello-world-loop-function-declaration-output-declaration-reads-value-ref",entityType:i.OutputMap,entityId:sE},oE={isError:!1,id:"manual-hello-world-loop-function-declaration-output-declaration",version:1,type:i.ReturnDeclaration,name:"Results",description:null,dataType:eN,readsValue:tN,required:!0,index:0,parent:Q_},nN={type:i.GenericReference,id:"manual-hello-world-loop-function-declaration-return-statement-called-by-ref",entityType:i.Loop,entityId:en},rN={type:i.GenericReference,id:"manual-hello-world-loop-function-declaration-parent-ref",entityType:i.FunctionDeclaration,entityId:Nl},lE={type:i.ReturnStatement,id:iE,version:1,outputs:[oE],calledByError:[],calledByEntry:[],calledBySuccess:[nN],parent:rN,throws:null,x:0,y:0},iN={type:i.GenericReference,id:"hello-world-loop-break-statement-ref-id",entityType:i.BreakStatement,entityId:Vl},aN={type:i.GenericReference,id:"hello-world-loop-break-statement-reads-value-ref-id",entityType:i.OutputMap,entityId:Ll},cE={isError:!1,id:"hello-world-loop-break-statement-output-id",version:1,type:i.ReturnDeclaration,name:"Iteration result",description:null,dataType:null,readsValue:aN,required:!0,index:0,parent:iN},sN={type:i.GenericReference,id:"hello-world-loop-break-statement-counter-reads-value-ref-id",entityType:i.ArgumentDeclaration,entityId:zi},oN={type:i.GenericReference,id:"hello-world-loop-break-statement-counter-ref-id",entityType:i.BreakStatement,entityId:Vl},dE={isError:!1,id:"hello-world-loop-break-statement-counter-output-id",version:1,type:i.ReturnDeclaration,name:"Iteration counter",description:null,dataType:null,readsValue:sN,required:!0,index:1,parent:oN},lN={type:i.GenericReference,id:"hello-world-loop-break-statement-called-by-ref-id",entityType:i.Condition,entityId:Zi},cN={type:i.GenericReference,id:"hello-world-loop-break-statement-parent-ref-id",entityType:i.Loop,entityId:en},uE={type:i.BreakStatement,id:Vl,version:1,outputs:[cE,dE],calledByError:[],calledByEntry:[],calledBySuccess:[lN],parent:cN,throws:null,x:0,y:0},dN={type:i.GenericReference,id:"hello-world-loop-continue-statement-ref-id",entityType:i.ContinueStatement,entityId:"hello-world-loop-continue-statement"},uN={type:i.GenericReference,id:"hello-world-loop-continue-statement-output-data-type-ref-id",entityType:i.ReturnDeclaration,entityId:"hello-world-loop-continue-statement-output-id"},pN={id:"hello-world-loop-continue-statement-output-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:uN},yN={type:i.GenericReference,id:"hello-world-loop-continue-statement-reads-value-ref-id",entityType:i.OutputMap,entityId:Ll},pE={isError:!1,id:"hello-world-loop-continue-statement-output-id",version:1,type:i.ReturnDeclaration,name:"Iteration result",description:null,dataType:pN,readsValue:yN,required:!0,index:0,parent:dN},hN={type:i.GenericReference,id:"hello-world-loop-continue-statement-called-by-ref-id",entityType:i.Condition,entityId:Zi},fN={type:i.GenericReference,id:"hello-world-loop-continue-statement-parent-ref-id",entityType:i.Loop,entityId:en},yE={type:i.ContinueStatement,id:"hello-world-loop-continue-statement",version:1,outputs:[pE],calledBySuccess:[],calledByError:[hN],calledByEntry:[],parent:fN,throws:null,x:0,y:0};i.GenericReference,i.InputMap;const mN={type:i.GenericReference,id:"append-string-to-list-base-string-map-parent-ref-id",entityType:i.Operation,entityId:Is},TN={type:i.GenericReference,id:"base-string-map-reads-value-ref-id",entityType:i.OutputMap,entityId:$l},hE={id:"append-string-to-list-base-string-map-id",type:i.InputMap,version:1,declaration:Fo,name:null,description:null,readsValue:TN,defaultValue:null,dynamicArguments:[],index:0,parent:mN},EN={type:i.GenericReference,id:"assembly-string-map-parent-ref-id",entityType:i.Operation,entityId:Is},RN={id:aE,type:i.OutputMap,version:1,writesValues:[cE],declaration:bi,index:0,parent:EN},bN={type:i.GenericReference,id:"append-string-to-list-called-by-ref-id",entityType:i.Condition,entityId:Zi},gN={type:i.GenericReference,id:"latest-string-to-add-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:aE},vN={type:i.GenericReference,id:"62b4afb0-6c21-4b0f-abd3-cebef7b17c28",entityType:i.Operation,entityId:Is},fE={id:"latest-string-to-add-input-map-id",version:1,type:i.InputMap,declaration:Uo,name:null,description:null,readsValue:gN,dynamicArguments:[],defaultValue:null,index:1,parent:vN},IN={type:i.GenericReference,id:"append-string-to-list-parent-ref-id",entityType:i.FunctionDeclaration,entityId:en},DN={type:i.Operation,id:Is,declaration:Ma,version:1,inputs:[hE,fE],outputs:[RN],calledByError:[],process:null,calledByEntry:[],calledBySuccess:[bN],dynamicArguments:[],successCalls:[],errorCalls:[],error:null,x:0,y:0,parent:IN},PN={type:i.GenericReference,id:"iteration-number-is-equal-or-greater-than-10-condition-called-by-ref-id",entityType:i.FunctionDeclaration,entityId:Yi},AN={type:i.GenericReference,id:"iteration-number-is-equal-or-greater-than-10-condition-parent-ref-id",entityType:i.Loop,entityId:en},SN={type:i.GenericReference,id:"current-iteration-number-to-check-map-reads-value-ref-id",entityType:i.OutputMap,entityId:zi},mE={type:i.GenericReference,id:"iteration-number-is-equal-or-greater-than-10-condition-ref-two-id",entityType:i.Condition,entityId:Zi},ON={id:"current-iteration-number-to-check-map-id",version:1,type:i.InputMap,declaration:Ur.fixedArguments[0],name:null,description:null,dynamicArguments:[],readsValue:SN,index:1,defaultValue:null,parent:mE},CN={type:i.GenericReference,id:"max-num-iterations-value-map-default-value-parent-ref-id",entityType:i.InputMap,entityId:"max-num-iterations-value-map-id"},BN={id:"max-num-iterations-value-map-id",version:1,type:i.InputMap,declaration:Ur.fixedArguments[1],name:null,description:null,dynamicArguments:[],readsValue:null,index:0,defaultValue:{id:"max-num-iterations-value-map-default-value-id",type:i.PrimitiveValue,version:1,name:P.Number,value:10,autogeneration:null,valueAsType:null,parent:CN},parent:mE},wN={type:i.Condition,id:Zi,version:1,declaration:Ur,inputs:[BN,ON],calledByError:[],calledByEntry:[PN],calledBySuccess:[],successCalls:[uE,DN],errorCalls:[yE],x:0,y:0,parent:AN},MN={type:i.GenericReference,id:"base-string-map-ref-id",entityType:i.InputMap,entityId:"join-hello-world-and-number-base-string-map-id"},_N={type:i.GenericReference,id:"join-hello-world-and-number-base-string-map-parent-ref-id",entityType:i.Operation,entityId:vs},NN={id:"join-hello-world-and-number-base-string-map-id",type:i.InputMap,version:1,declaration:Ba,name:null,description:null,readsValue:null,defaultValue:{id:"join-hello-world-and-number-base-string-map-default-value-id",type:i.PrimitiveValue,version:1,value:"Hello world ",name:P.String,parent:MN,valueAsType:null,autogeneration:null},dynamicArguments:[],index:0,parent:_N},VN={type:i.GenericReference,id:"assembly-string-map-parent-ref-id",entityType:i.Operation,entityId:vs},$N={id:Ll,type:i.OutputMap,version:1,writesValues:[fE,pE],declaration:bi,index:0,parent:VN},LN={type:i.GenericReference,id:"join-hello-world-and-number-called-by-ref-id",entityType:i.FunctionDeclaration,entityId:Yi},GN={type:i.GenericReference,id:"current-iteration-number-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:zi},FN={type:i.GenericReference,id:"62b4afb0-6c21-4b0f-abd3-cebef7b17c28",entityType:i.Operation,entityId:vs},TE={id:"current-iteration-number-input-map-id",version:1,type:i.InputMap,declaration:wa,name:null,description:null,readsValue:GN,dynamicArguments:[],defaultValue:null,index:1,parent:FN},UN={type:i.GenericReference,id:"join-hello-world-and-number-parent-ref-id",entityType:i.FunctionDeclaration,entityId:en},xN={type:i.Operation,id:vs,declaration:gi,version:1,inputs:[NN,TE],outputs:[$N],process:null,calledByError:[],calledByEntry:[LN],calledBySuccess:[],dynamicArguments:[],successCalls:[],errorCalls:[],error:null,x:0,y:0,parent:UN},jN={id:"manual-hello-world-loop-iterations-results-declaration-data-type-parent-ref-id",type:i.GenericReference,entityId:$l,entityType:i.ArgumentDeclaration},kN={id:"manual-hello-world-loop-iterations-results-declaration-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!0,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:jN},qN={id:"manual-hello-world-loop-previous-iterations-results-output-map-parent-ref-id",type:i.GenericReference,entityId:Yi,entityType:i.FunctionDeclaration},JN={id:$l,type:i.ArgumentDeclaration,version:1,name:"Previous iterations results",description:"The results of the previous iterations of the loop.",required:!0,dataType:kN,writesValues:[hE],index:1,parent:qN},WN={id:"manual-hello-world-loop-current-iteration-number-output-map-parent-ref-id",type:i.GenericReference,entityId:Yi,entityType:i.FunctionDeclaration},HN={id:"manual-flow-loop-current-iteration-number-declaration-data-type-parent-ref-id",type:i.GenericReference,entityId:zi,entityType:i.ArgumentDeclaration};i.DataType;const YN={id:zi,type:i.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,dE],index:0,parent:WN},zN={id:"manual-flow-loop-body-parent-ref-id",type:i.GenericReference,entityId:en,entityType:i.Loop},ZN={id:Yi,type:i.FunctionDeclaration,version:1,name:"Iteration logic trigger",description:"This function is called multiple times, once for each iteration of the loop.",inputs:[YN,JN],calls:[wN,xN],implements:null,collapsed:!1,returnStatements:[],private:!1,index:0,x:0,y:0,parent:zN},XN={type:i.GenericReference,id:"hello-world-loop-iteration-result-inline-output-declaration-parent-ref-id",entityType:i.Loop,entityId:en},EE={id:"hello-world-loop-iteration-result-inline-output-declaration-id",version:1,type:i.ValueDescriptor,name:"Iteration result",description:null,dataType:null,required:!0,index:0,parent:XN},QN={type:i.GenericReference,id:"hello-world-loop-break-statement-output-map-parent-ref-id",entityType:i.Loop,entityId:en},KN={type:i.OutputMap,id:sE,version:1,declaration:EE,writesValues:[oE],index:0,parent:QN},e0={id:"manual-hello-world-loop-parent-ref-id",type:i.GenericReference,entityId:Z,entityType:i.Project},t0={id:"manual-hello-world-loop-called-by-ref-id",type:i.GenericReference,entityId:Nl,entityType:i.FunctionDeclaration},n0={id:en,type:i.Loop,version:1,declaration:Yo,inputs:[],outputsDeclarations:[EE],outputs:[KN],body:ZN,successCalls:[lE],errorCalls:[],process:null,error:null,calledByError:[],calledByEntry:[t0],calledBySuccess:[],breakStatements:[uE],continueStatements:[yE],x:0,y:0,parent:e0},r0={type:i.GenericReference,id:"manual-hello-world-loop-function-declaration-parent-ref-id",entityType:i.Project,entityId:Z},RE={type:i.FunctionDeclaration,id:Nl,version:1,name:"Manual hello world loop",description:null,inputs:[],calls:[n0],returnStatements:[lE],implements:null,collapsed:!1,private:!1,index:null,x:0,y:0,parent:r0},i0={type:i.GenericReference,id:"call-hello-world-loop-parent-ref-id",entityType:i.Project,entityId:Z},a0={id:"call-hello-world-loop-id",type:i.FunctionCall,version:1,declaration:RE,inputs:[],outputs:[],process:null,successCalls:[],errorCalls:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[],x:0,y:0,parent:i0},hn="company-dto-function-declaration-id",Gl="company-dto-func-declaration-argument-dcl-id",tn="company-dto-function-company-variable-id",Ln="company-dto-function-company-dto-variable-id",Zr="iterate-over-employee-list-loop-id",bE="iterate-over-employee-list-loop-employee-dto-output-map-id",Fl="iterate-over-employee-list-loop-body-current-employee-argument-declaration-id",Xi="iterate-over-employee-list-loop-body-map-employee-dto-function-call-id",gE="iterate-over-employee-list-continue-statement-employee-dto-output-decl-id",s0="iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-dto-output-map-id",vE="iterate-over-employee-list-continue-statement-id",Ds="iterate-over-employee-list-loop-body-id",IE="company-dto-func-declaration-return-statement-id",DE="company-dto-func-declaration-return-decl-id",PE="company-dto-func-declaration-company-variable-id-output-map-id",AE="company-dto-func-declaration-company-variable-employess-output-map-id",SE="company-dto-func-declaration-company-variable-name-output-map-id",o0="company-dto-func-declaration-company-dto-variable-input-map-id",l0="company-dto-func-declaration-company-dto-variable-employess-input-map-id",c0="company-dto-func-declaration-company-dto-variable-name-input-map-id",Ps="company-dto-func-declaration-owner-variable-id",d0="company-dto-func-declaration-company-dto-variable-owner-input-map-id",OE="company-dto-func-declaration-company-variable-owner-output-map-id",CE="company-dto-func-declaration-owner-variable-id-output-map-id",As="company-dto-func-declaration-bank-account-variable-id",u0="company-dto-func-declaration-company-dto-variable-bank-account-input-map-id",BE="company-dto-func-declaration-company-variable-bank-account-output-map-id",wE="company-dto-func-declaration-bank-account-variable-id-output-map-id",p0={type:i.GenericReference,id:"company-dto-func-returned-company-dto-data-type-parent-ref-id",entityType:i.ReturnDeclaration,entityId:DE},y0={id:"company-dto-func-returned-company-dto-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:gt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:p0},h0={type:i.GenericReference,id:"company-dto-func-returned-company-dto-parent-ref-id",entityType:i.ReturnStatement,entityId:IE},f0={type:i.GenericReference,id:"company-dto-func-returned-company-dto-reads-value-ref-id",entityType:i.VariableDeclaration,entityId:Ln},ME={isError:!1,id:DE,type:i.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:y0,readsValue:f0,required:!0,index:0,parent:h0},m0={type:i.GenericReference,id:"company-dto-func-return-statement-called-by-ref-id",entityType:i.Operation,entityId:Ln},T0={type:i.GenericReference,id:"company-dto-func-return-statement-parent-ref-id",entityType:i.FunctionDeclaration,entityId:hn},Ul={type:i.ReturnStatement,id:IE,version:1,outputs:[ME],calledByError:[],calledByEntry:[],calledBySuccess:[m0],throws:null,x:0,y:0,parent:T0},E0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-owner-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:CE},R0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-owner-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:Ln},_E={id:d0,type:i.InputMap,version:1,declaration:null,name:"owner_id",description:null,defaultValue:null,dynamicArguments:[],index:5,readsValue:E0,parent:R0},b0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-bank-account-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:wE},g0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-bank-account-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:Ln},NE={id:u0,type:i.InputMap,version:1,declaration:null,name:"bank_account_id",description:null,defaultValue:null,dynamicArguments:[],index:4,readsValue:b0,parent:g0},v0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-name-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:SE},I0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-name-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:Ln},VE={id:c0,type:i.InputMap,version:1,declaration:null,name:"name",description:null,defaultValue:null,dynamicArguments:[],index:3,readsValue:v0,parent:I0},D0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-employess-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:bE},P0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-employess-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:Ln},$E={id:l0,type:i.InputMap,version:1,declaration:null,name:"employees",description:null,defaultValue:null,dynamicArguments:[],index:2,readsValue:D0,parent:P0},A0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-id-output-map-reads-value-ref-id",entityType:i.OutputMap,entityId:PE},S0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:Ln},LE={id:o0,type:i.InputMap,version:1,declaration:null,name:"id",description:"The ID of the company",defaultValue:null,dynamicArguments:[],index:1,readsValue:A0,parent:S0},O0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:hn},C0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-called-by-ref-one-id",entityType:i.VariableDeclaration,entityId:As},B0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-called-by-ref-two-id",entityType:i.VariableDeclaration,entityId:Ps},w0={type:i.GenericReference,id:"company-dto-func-company-dto-variable-called-by-ref-three-id",entityType:i.VariableDeclaration,entityId:Zr},xl={id:Ln,type:i.VariableDeclaration,version:1,name:"Company DTO",dataType:null,description:"A variable holding the data of a mapped company DTO",calledByError:[],calledByEntry:[],calledBySuccess:[C0,B0,w0],successCalls:[Ul],errorCalls:[],readsValue:null,writesValues:[ME],inputs:[LE,VE,NE,_E,$E],outputs:[],internalCalls:[],parent:O0,x:0,y:0},ir="employee-dto-func-declaration-id",jl="employee-dto-func-declaration-argument-dcl-id",GE="employee-dto-func-declaration-return-statement-id",FE="employee-dto-func-declaration-return-decl-id",ar="employee-dto-func-declaration-employee-variable-id",sr="employee-dto-func-declaration-employee-dto-variable-id",Ss="employee-dto-func-declaration-manager-variable-id",UE="employee-dto-func-declaration-employee-variable-id-output-map-id",xE="employee-dto-func-declaration-employee-variable-birth-date-output-map-id",jE="employee-dto-func-declaration-employee-variable-department-output-map-id",kE="employee-dto-func-declaration-employee-variable-manager-output-map-id",qE="employee-dto-func-declaration-manager-variable-id-output-map-id",M0="employee-dto-func-declaration-employee-dto-variable-input-map-id",_0="employee-dto-func-declaration-employee-dto-variable-birth-date-input-map-id",N0="employee-dto-func-declaration-employee-dto-variable-department-input-map-id",V0="employee-dto-func-declaration-employee-dto-variable-manager-input-map-id",$0={type:i.GenericReference,id:"employee-dto-func-returned-employee-dto-data-type-parent-ref-id",entityType:i.ReturnDeclaration,entityId:FE},L0={id:"employee-dto-func-returned-employee-dto-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:gt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:$0},G0={type:i.GenericReference,id:"employee-dto-func-returned-employee-dto-parent-ref-id",entityType:i.ReturnStatement,entityId:GE},F0={type:i.GenericReference,id:"employee-dto-func-returned-employee-dto-reads-value-ref-id",entityType:i.VariableDeclaration,entityId:sr},JE={isError:!1,id:FE,type:i.ReturnDeclaration,version:1,name:"Employee DTO",description:"Output the employee data in the format that it will be sent through an HTTP request.",dataType:L0,readsValue:F0,required:!0,index:0,parent:G0},U0={type:i.GenericReference,id:"employee-dto-func-return-statement-called-by-ref-id",entityType:i.Operation,entityId:sr},x0={type:i.GenericReference,id:"employee-dto-func-return-statement-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ir},kl={type:i.ReturnStatement,id:GE,version:1,outputs:[JE],calledByError:[],calledByEntry:[],calledBySuccess:[U0],throws:null,x:0,y:0,parent:x0},j0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-manager-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:qE},k0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-manager-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:sr},WE={id:V0,type:i.InputMap,version:1,declaration:null,name:"manager_id",description:null,defaultValue:null,dynamicArguments:[],index:4,readsValue:j0,parent:k0},q0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-department-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:jE},J0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-department-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:sr},HE={id:N0,type:i.InputMap,version:1,declaration:null,name:"department_name",description:null,defaultValue:null,dynamicArguments:[],index:3,readsValue:q0,parent:J0},W0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-birth-date-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:xE},H0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-birth-date-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:sr},YE={id:_0,type:i.InputMap,version:1,declaration:null,name:"birth_date",description:null,defaultValue:null,dynamicArguments:[],index:2,readsValue:W0,parent:H0},Y0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-id-output-map-reads-value-ref-id",entityType:i.OutputMap,entityId:UE},z0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:sr},zE={id:M0,type:i.InputMap,version:1,declaration:null,name:"id",description:"The ID of the employee",defaultValue:null,dynamicArguments:[],index:1,readsValue:Y0,parent:z0},Z0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ir},X0={type:i.GenericReference,id:"employee-dto-func-employee-dto-variable-called-by-ref-id",entityType:i.VariableDeclaration,entityId:Ss},Q0={id:sr,type:i.VariableDeclaration,version:1,name:"Employee DTO",dataType:null,description:"A variable holding the data of a mapped employee DTO",calledByError:[],calledByEntry:[],calledBySuccess:[X0],successCalls:[kl],errorCalls:[],readsValue:null,writesValues:[JE],inputs:[zE,YE,HE,WE],outputs:[],internalCalls:[],parent:Z0,x:0,y:0},K0={type:i.GenericReference,id:"employee-dto-func-manager-variable-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:Ss},e1={id:qE,type:i.OutputMap,version:1,declaration:Le.properties[1],index:0,writesValues:[WE],parent:K0},t1={type:i.GenericReference,id:"employee-dto-func-manager-variable-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:Ss},n1={id:"employee-dto-func-manager-variable-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Bt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:t1,defaultValue:null},r1={type:i.GenericReference,id:"employee-dto-func-manager-variable-reads-value-ref-id",entityType:i.OutputMap,entityId:kE},i1={type:i.GenericReference,id:"employee-dto-func-manager-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ir};i.GenericReference,i.VariableDeclaration;const ZE={id:Ss,type:i.VariableDeclaration,version:1,name:"Manager",dataType:n1,description:"A variable holding an inherited manager",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[Q0],errorCalls:[],readsValue:r1,writesValues:[],inputs:[],outputs:[e1],internalCalls:[],parent:i1,x:0,y:0},a1={type:i.GenericReference,id:"employee-dto-func-employee-variable-manager-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:ar},s1={id:kE,type:i.OutputMap,version:1,declaration:Bt.properties[2],index:3,writesValues:[ZE],parent:a1},o1={type:i.GenericReference,id:"employee-dto-func-employee-variable-department-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:ar},l1={id:jE,type:i.OutputMap,version:1,declaration:Bt.properties[0],index:2,writesValues:[HE],parent:o1},c1={type:i.GenericReference,id:"employee-dto-func-employee-variable-birth-date-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:ar},d1={id:xE,type:i.OutputMap,version:1,declaration:yt.properties[1],index:1,writesValues:[YE],parent:c1},u1={type:i.GenericReference,id:"employee-dto-func-employee-variable-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:ar},p1={id:UE,type:i.OutputMap,version:1,declaration:Le.properties[1],index:0,writesValues:[zE],parent:u1},y1={type:i.GenericReference,id:"employee-dto-func-employee-variable-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:ar},h1={id:"employee-dto-func-employee-variable-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Bt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:y1,defaultValue:null},f1={type:i.GenericReference,id:"employee-dto-func-employee-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ir},m1={type:i.GenericReference,id:"employee-dto-func-employee-variable-reads-value-ref-id",entityType:i.ArgumentDeclaration,entityId:jl},T1={type:i.GenericReference,id:"employee-dto-func-employee-variable-called-by-id",entityType:i.FunctionDeclaration,entityId:ir},XE={id:ar,type:i.VariableDeclaration,version:1,name:"Company employee",dataType:h1,description:"A variable holding a company employee",calledByError:[],calledByEntry:[T1],calledBySuccess:[],successCalls:[ZE],errorCalls:[],readsValue:m1,writesValues:[],inputs:[],outputs:[p1,d1,l1,s1],internalCalls:[],parent:f1,x:0,y:0},E1={type:i.GenericReference,id:"employee-dto-func-declaration-employee-input-declaration-data-type-parent-ref-id",entityId:jl,entityType:i.ArgumentDeclaration},R1={type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"employee-dto-func-declaration-employee-input-declaration-data-type-id",version:1,entity:Bt,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:E1,defaultValue:null},b1={type:i.GenericReference,id:"employee-dto-func-declaration-employee-input-declaration-parent-ref-id",entityId:ir,entityType:i.FunctionDeclaration},g1={type:i.ArgumentDeclaration,id:jl,version:1,name:"Employee",description:"The employee to create a DTO for",required:!0,dataType:R1,index:0,writesValues:[XE],parent:b1},v1={type:i.GenericReference,id:"employee-dto-function-declaration-parent-ref-id",entityType:i.Project,entityId:Z},ql={type:i.FunctionDeclaration,id:ir,version:1,name:"Employee DTO",description:"Takes a employee and returns a DTO of that employee",index:null,inputs:[g1],calls:[XE],implements:null,returnStatements:[kl],collapsed:!1,private:!1,x:0,y:0,parent:v1},I1={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-data-type-parent-ref-id",type:i.GenericReference,entityId:gE,entityType:i.ReturnDeclaration},D1={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,defaultValue:null,entity:Bt,isList:!1,isNullable:!1,asType:!1,constant:!1,parent:I1},P1={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-reads-value-ref-id",type:i.GenericReference,entityId:Xi,entityType:i.OutputMap},A1={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-parent-ref-id",type:i.GenericReference,entityId:vE,entityType:i.ContinueStatement},QE={isError:!1,id:gE,type:i.ReturnDeclaration,version:1,name:"Employee DTO",description:"The DTO of the employee entity.",readsValue:P1,dataType:D1,required:!0,index:0,parent:A1},S1={id:"iterate-over-employee-list-continue-statement-called-by-ref-id",type:i.GenericReference,entityId:Xi,entityType:i.FunctionCall},O1={id:"iterate-over-employee-list-continue-statement-parent-ref-id",type:i.GenericReference,entityId:Zr,entityType:i.Loop},KE={id:vE,type:i.ContinueStatement,version:1,calledByError:[],calledByEntry:[],calledBySuccess:[S1],outputs:[QE],throws:null,x:0,y:0,parent:O1},C1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-dto-output-map-parent-ref-id",type:i.GenericReference,entityId:Xi,entityType:i.FunctionCall},B1={id:s0,type:i.OutputMap,version:1,declaration:kl.outputs[0],writesValues:[QE],index:0,parent:C1},w1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-input-map-reads-value-ref-id",type:i.GenericReference,entityId:Fl,entityType:i.ArgumentDeclaration},M1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-input-map-parent-ref-id",type:i.GenericReference,entityId:Xi,entityType:i.FunctionCall},eR={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-input-map-id",type:i.InputMap,version:1,name:null,description:null,declaration:ql.inputs[0],readsValue:w1,index:0,defaultValue:null,dynamicArguments:[],parent:M1},_1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-called-by-ref-id",type:i.GenericReference,entityId:Ds,entityType:i.FunctionDeclaration},N1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-parent-ref-id",type:i.GenericReference,entityId:Ds,entityType:i.FunctionDeclaration},V1={id:Xi,type:i.FunctionCall,version:1,declaration:ql,inputs:[eR],process:null,outputs:[B1],calledByError:[],calledByEntry:[_1],calledBySuccess:[],successCalls:[KE],errorCalls:[],error:null,x:0,y:0,parent:N1},$1={type:i.GenericReference,id:"iterate-over-employee-list-loop-body-current-employee-argument-declaration-data-type-parent-ref-id",entityId:Fl,entityType:i.ArgumentDeclaration},L1={id:"iterate-over-employee-list-loop-body-current-employee-argument-declaration-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,defaultValue:null,entity:Bt,isList:!1,isNullable:!1,asType:!1,constant:!1,parent:$1},G1={id:"iterate-over-employee-list-loop-body-current-employee-argument-declaration-parent-ref-id",type:i.GenericReference,entityId:Ds,entityType:i.FunctionDeclaration},F1={id:Fl,type:i.ArgumentDeclaration,version:1,name:"Current employee",description:"The current employee entity being processed.",dataType:L1,required:!0,index:0,writesValues:[eR],parent:G1},U1={id:"iterate-over-employee-list-loop-body-parent-ref-id",type:i.GenericReference,entityId:Zr,entityType:i.Loop},x1={id:Ds,type:i.FunctionDeclaration,version:1,name:"Iteration logic trigger",description:"This function is called once for each entity in the list.",inputs:[F1],calls:[V1],implements:null,collapsed:!1,returnStatements:[],private:!1,index:0,x:0,y:0,parent:U1},j1={id:"iterate-over-employee-list-loop-iteration-list-input-map-parent-ref-id",type:i.GenericReference,entityId:Zr,entityType:i.Loop},k1={id:"iterate-over-employee-list-loop-iteration-list-input-map-reads-value-ref-id",type:i.GenericReference,entityId:AE,entityType:i.OutputMap},tR={id:"iterate-over-employee-list-loop-iteration-list-input-map-id",type:i.InputMap,version:1,name:null,description:null,declaration:Qn.fixedArguments[0],defaultValue:null,dynamicArguments:[],readsValue:k1,index:0,parent:j1},q1={id:"iterate-over-employee-list-loop-parent-ref-id",type:i.GenericReference,entityId:hn,entityType:i.FunctionDeclaration},J1={id:"iterate-over-employee-list-loop-employee-dto-output-map-parent-ref-id",type:i.GenericReference,entityId:Zr,entityType:i.Loop},W1={id:bE,type:i.OutputMap,version:1,declaration:Qn.fixedReturns[0],writesValues:[$E],index:0,parent:J1},H1={type:i.GenericReference,id:"iterate-over-employee-list-loop-called-by-ref-id",entityType:i.VariableDeclaration,entityId:tn},Y1={id:Zr,type:i.Loop,version:1,declaration:Qn,inputs:[tR],successCalls:[xl],errorCalls:[],outputsDeclarations:[],outputs:[W1],body:x1,process:null,calledByError:[],calledByEntry:[],calledBySuccess:[H1],breakStatements:[],continueStatements:[KE],error:null,x:0,y:0,parent:q1},z1={type:i.GenericReference,id:"company-dto-func-bank-account-variable-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:As},Z1={id:wE,type:i.OutputMap,version:1,declaration:Le.properties[1],index:0,writesValues:[NE],parent:z1},X1={type:i.GenericReference,id:"company-dto-func-bank-account-variable-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:As},Q1={id:"company-dto-func-bank-account-variable-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:gt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:X1,defaultValue:null},K1={type:i.GenericReference,id:"company-dto-func-bank-account-variable-reads-value-ref-id",entityType:i.OutputMap,entityId:BE},eV={type:i.GenericReference,id:"company-dto-func-bank-account-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:hn};i.GenericReference,i.VariableDeclaration;const nR={id:As,type:i.VariableDeclaration,version:1,name:"Bank account",dataType:Q1,description:"A variable holding an inherited bank account",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[xl],errorCalls:[],readsValue:K1,writesValues:[],inputs:[],outputs:[Z1],internalCalls:[],parent:eV,x:0,y:0},tV={type:i.GenericReference,id:"company-dto-func-owner-variable-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:Ps},nV={id:CE,type:i.OutputMap,version:1,declaration:Le.properties[1],index:0,writesValues:[_E],parent:tV},rV={type:i.GenericReference,id:"company-dto-func-owner-variable-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:Ps},iV={id:"company-dto-func-owner-variable-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:gt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:rV,defaultValue:null},aV={type:i.GenericReference,id:"company-dto-func-owner-variable-reads-value-ref-id",entityType:i.OutputMap,entityId:OE},sV={type:i.GenericReference,id:"company-dto-func-owner-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:hn};i.GenericReference,i.VariableDeclaration;const rR={id:Ps,type:i.VariableDeclaration,version:1,name:"Owner",dataType:iV,description:"A variable holding an inherited owner",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[xl],errorCalls:[],readsValue:aV,writesValues:[],inputs:[],outputs:[nV],internalCalls:[],parent:sV,x:0,y:0},oV={type:i.GenericReference,id:"company-dto-func-company-variable-owner-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:tn},lV={id:OE,type:i.OutputMap,version:1,declaration:gt.properties[2],index:4,writesValues:[rR],parent:oV},cV={type:i.GenericReference,id:"company-dto-func-company-variable-bank-account-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:tn},dV={id:BE,type:i.OutputMap,version:1,declaration:gt.properties[2],index:3,writesValues:[nR],parent:cV},uV={type:i.GenericReference,id:"company-dto-func-company-variable-name-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:tn},pV={id:SE,type:i.OutputMap,version:1,declaration:gt.properties[0],index:2,writesValues:[VE],parent:uV},yV={type:i.GenericReference,id:"company-dto-func-company-variable-employess-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:tn},hV={id:AE,type:i.OutputMap,version:1,declaration:gt.properties[3],index:1,writesValues:[tR],parent:yV},fV={type:i.GenericReference,id:"company-dto-func-company-variable-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:tn},mV={id:PE,type:i.OutputMap,version:1,declaration:Le.properties[1],index:0,writesValues:[LE],parent:fV},TV={type:i.GenericReference,id:"company-dto-func-company-variable-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:tn},EV={id:"company-dto-func-company-variable-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:gt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:TV,defaultValue:null},RV={type:i.GenericReference,id:"company-dto-func-company-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:hn},bV={type:i.GenericReference,id:"company-dto-func-company-variable-reads-value-ref-id",entityType:i.ArgumentDeclaration,entityId:Gl},gV={type:i.GenericReference,id:"company-dto-func-company-variable-called-by-id",entityType:i.FunctionDeclaration,entityId:hn},iR={id:tn,type:i.VariableDeclaration,version:1,name:"Company",dataType:EV,description:"A variable holding a company",calledByError:[],calledByEntry:[gV],calledBySuccess:[],successCalls:[nR,rR,Y1],errorCalls:[],readsValue:bV,writesValues:[],inputs:[],outputs:[mV,hV,pV,dV,lV],internalCalls:[],parent:RV,x:0,y:0},vV={type:i.GenericReference,id:"company-dto-func-declaration-company-input-declaration-data-type-parent-ref-id",entityId:Gl,entityType:i.ArgumentDeclaration},IV={type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"company-dto-func-declaration-company-input-declaration-data-type-id",version:1,entity:gt,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:vV,defaultValue:null},DV={type:i.GenericReference,id:"company-dto-func-declaration-company-input-declaration-parent-ref-id",entityId:hn,entityType:i.FunctionDeclaration},PV={type:i.ArgumentDeclaration,id:Gl,version:1,name:"Company",description:"The company to create a DTO for",required:!0,dataType:IV,index:0,writesValues:[iR],parent:DV},AV={type:i.GenericReference,id:"company-dto-function-declaration-parent-ref-id",entityType:i.Project,entityId:Z},Jl={type:i.FunctionDeclaration,id:hn,version:1,name:"Company DTO",description:"Takes a company and returns a DTO of that company",inputs:[PV],calls:[iR],implements:null,index:null,returnStatements:[Ul],collapsed:!1,private:!1,x:0,y:0,parent:AV},Qi="exec-in-parallel-operation-call-id",Ki="exec-sequentially-operation-call-id",ht="concurrency-and-wait-function-declaration-id",aR="concurrency-and-wait-return-statement-id",sR="concurrency-and-wait-return-declaration-id",Wl="exec-in-parallel-argument-map-id",oR="exec-sequentially-argument-map-id",Hl="wait-for-2-seconds-operation-id",lR="wait-for-2-seconds-argument-map-id",Yl="map-company-dto-function-call-id",cR="map-company-dto-function-call-company-dto-output-map-id",ea="company-dto-variable-one-id",zl="company-dto-variable-one-instance-id",SV="company-dto-variable-two-id",OV={type:i.GenericReference,id:"returned-company-dto-data-type-parent-ref-id",entityType:i.ReturnDeclaration,entityId:sR},CV={id:"returned-company-dto-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:gt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:OV},BV={type:i.GenericReference,id:"returned-company-dto-parent-ref-id",entityType:i.ReturnStatement,entityId:aR},wV={type:i.GenericReference,id:"returned-company-dto-reads-value-ref-id",entityType:i.VariableDeclaration,entityId:ea},dR={isError:!1,id:sR,type:i.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:CV,readsValue:wV,required:!0,index:0,parent:BV},MV={type:i.GenericReference,id:"concurrency-and-wait-return-statement-called-by-ref-id",entityType:i.Operation,entityId:Hl},_V={type:i.GenericReference,id:"concurrency-and-wait-return-statement-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht},uR={type:i.ReturnStatement,id:aR,version:1,outputs:[dR],calledByError:[],calledByEntry:[],calledBySuccess:[MV],throws:null,x:0,y:0,parent:_V},NV={type:i.GenericReference,id:"company-dto-variable-two-called-by-ref-id",entityType:i.VariableInstance,entityId:zl},VV={type:i.GenericReference,id:"company-dto-variable-two-reads-value-ref-id",entityType:i.VariableInstance,entityId:zl},$V={type:i.GenericReference,id:"company-dto-variable-two-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht},pR={id:SV,type:i.VariableDeclaration,version:1,name:"Company DTO",description:null,dataType:null,inputs:[],outputs:[],successCalls:[],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[NV],internalCalls:[],writesValues:[dR],readsValue:VV,x:0,y:0,parent:$V},LV={type:i.GenericReference,id:"company-dto-variable-one-instance-called-by-ref-id",entityType:i.VariableDeclaration,entityId:ea},GV={type:i.GenericReference,id:"company-dto-variable-one-instance-reads-value-ref-id",entityType:i.VariableDeclaration,entityId:ea},FV={type:i.GenericReference,id:"company-dto-variable-one-instance-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht},UV={type:i.GenericReference,id:"company-dto-variable-one-instance-declaration-ref-id",entityType:i.VariableDeclaration,entityId:ea},yR={id:zl,type:i.VariableInstance,version:1,declaration:UV,inputs:[],outputs:[],successCalls:[pR],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[LV],internalCalls:[],writesValues:[pR],readsValue:GV,x:0,y:0,parent:FV},xV={type:i.GenericReference,id:"company-dto-variable-one-called-by-ref-id",entityType:i.FunctionCall,entityId:Yl},jV={type:i.GenericReference,id:"company-dto-variable-one-reads-value-ref-id",entityType:i.OutputMap,entityId:cR},kV={type:i.GenericReference,id:"company-dto-variable-one-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht},hR={id:ea,type:i.VariableDeclaration,version:1,name:"Company DTO",description:null,dataType:null,inputs:[],outputs:[],successCalls:[yR],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[xV],internalCalls:[],writesValues:[yR],readsValue:jV,x:0,y:0,parent:kV},fR={type:i.GenericReference,id:"map-company-dto-function-call-company-input-map-parent-ref-id",entityType:i.FunctionCall,entityId:Yl},qV={id:"map-company-dto-function-call-company-input-map-id",type:i.InputMap,version:1,declaration:Jl.inputs[0],name:null,description:null,defaultValue:null,dynamicArguments:[],index:0,readsValue:null,parent:fR},JV={id:cR,type:i.OutputMap,version:1,declaration:Ul.outputs[0],writesValues:[hR],index:0,parent:fR},WV={id:"map-company-dto-function-call-called-by-ref-id",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:ht},HV={id:"map-company-dto-function-call-parent-ref-id",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:ht},YV={id:Yl,type:i.FunctionCall,version:1,declaration:Jl,successCalls:[hR],process:null,errorCalls:[],inputs:[qV],outputs:[JV],calledByError:[],calledByEntry:[WV],calledBySuccess:[],parent:HV,x:0,y:0,error:null},zV={type:i.GenericReference,id:"last-timestamp-variable-datatype-parent-ref-id",entityType:i.VariableDeclaration,entityId:dT},ZV={type:i.GenericReference,id:"last-timestamp-variable-default-value-parent-ref-id",entityType:i.DataType,entityId:"last-timestamp-variable-datatype-id"},XV={id:"last-timestamp-variable-datatype-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:dn,version:1,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:zV,defaultValue:{id:"last-timestamp-variable-default-value-id",type:i.PrimitiveValue,version:1,name:P.Date,value:null,autogeneration:{type:qe.CurrentDateAndTime,rangeStart:null,rangeEnd:null},parent:ZV,valueAsType:null}},QV={type:i.GenericReference,id:"last-timestamp-variable-main-project-ref-id",entityType:i.Project,entityId:Z},Zl={id:dT,type:i.VariableDeclaration,version:1,name:"Last registered current time",description:"A test variable that holds the last current date and time that was registered.",dataType:XV,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:QV},KV={type:i.GenericReference,id:"wait-for-2-seconds-argument-default-value-parent-ref-id",entityType:i.InputMap,entityId:lR},e$={type:i.GenericReference,id:"wait-for-2-seconds-argument-map-parent-ref-id",entityType:i.Operation,entityId:Hl},t$={id:lR,type:i.InputMap,version:1,declaration:Zn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"wait-for-2-seconds-argument-default-value-id",type:i.PrimitiveValue,version:1,value:2e3,valueAsType:null,autogeneration:null,name:P.Number,parent:KV},index:0,parent:e$},n$={type:i.GenericReference,id:"wait-for-2-seconds-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht},r$={type:i.GenericReference,id:"wait-for-2-seconds-called-by-ref-one-id",entityType:i.FunctionDeclaration,entityId:Ki},i$={type:i.GenericReference,id:"wait-for-2-seconds-called-by-ref-two-id",entityType:i.FunctionDeclaration,entityId:Qi},mR={id:Hl,type:i.Operation,version:1,declaration:kt,inputs:[t$],dynamicArguments:[],outputs:[],process:null,successCalls:[uR],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[r$,i$],calledBySuccess:[],error:null,parent:n$},a$={type:i.GenericReference,id:"wait-for-random-amount-argument-default-value-parent-ref-id",entityType:i.InputMap,entityId:"wait-for-random-amount-input-map-id"},s$={type:i.GenericReference,id:"wait-for-random-amount-argument-map-parent-ref-id",entityType:i.Operation,entityId:"wait-for-random-amount-id"},o$={id:"wait-for-random-amount-input-map-id",type:i.InputMap,version:1,declaration:Zn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"wait-for-random-amount-argument-default-value-id",type:i.PrimitiveValue,version:1,value:null,valueAsType:null,autogeneration:{type:qe.Random,rangeStart:1e3,rangeEnd:4e3},name:P.Number,parent:a$},index:0,parent:s$},l$={type:i.GenericReference,id:"wait-for-random-amount-parent-ref-id",entityType:i.Project,entityId:Z},Xr={id:"wait-for-random-amount-id",type:i.Operation,version:1,declaration:kt,inputs:[o$],dynamicArguments:[],process:null,outputs:[],successCalls:[],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[],calledBySuccess:[],error:null,parent:l$},TR="list-of-functions-variable-id",c$={type:i.GenericReference,id:"list-of-functions-variable-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:TR},d$={id:"list-of-functions-variable-action-descriptor-id",type:i.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:U.Dynamic,dynamicArgumentTypes:null,fixedArguments:[],returnsType:U.Dynamic,error:null,dynamicReturnTypes:null,fixedReturns:[],parent:null},u$={type:i.GenericReference,id:"list-of-functions-variable-data-type-default-parent-ref-id",entityType:i.DataType,entityId:"list-of-functions-variable-data-type-id"},p$={id:"list-of-functions-variable-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:d$,asType:!1,isList:!0,isNullable:!1,defaultValue:{id:"list-of-functions-variable-data-type-default-value-id",type:i.PrimitiveValue,version:1,name:P.ActionDescriptor,value:null,valueAsType:[Xr,Xr,Xr,Xr,Xr],autogeneration:null,parent:u$},constant:!1,parent:c$},y$={type:i.GenericReference,id:"list-of-functions-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht};i.GenericReference,i.InputMap;const h$={type:i.GenericReference,id:"list-of-functions-variable-writes-value-one-ref-id",entityType:i.InputMap,entityId:oR},f$={type:i.GenericReference,id:"list-of-functions-variable-writes-value-two-ref-id",entityType:i.InputMap,entityId:Wl},ER={id:TR,type:i.VariableDeclaration,version:1,name:"List of functions to execute",description:"A list of functions to be executed in parallel",dataType:p$,parent:y$,readsValue:null,writesValues:[h$,f$],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],inputs:[],outputs:[],internalCalls:[],x:0,y:0},m$={type:i.GenericReference,id:"exec-in-parallel-return-map-parent-ref-id",entityType:i.Operation,entityId:Qi},T$={type:i.GenericReference,id:"exec-in-parallel-result-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht},E$={type:i.GenericReference,id:"exec-in-parallel-result-variable-reads-value-ref-id",entityType:i.OutputMap,entityId:"exec-in-parallel-return-map-id"},R$={type:i.GenericReference,id:"exec-in-parallel-result-variable-called-by-ref-id",entityType:i.Operation,entityId:Qi},RR={id:"exec-in-parallel-result-variable-id",type:i.VariableInstance,version:1,declaration:Zl,readsValue:E$,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[R$],successCalls:[],errorCalls:[],internalCalls:[],parent:T$,x:0,y:0},b$={id:"exec-in-parallel-return-map-id",type:i.OutputMap,version:1,declaration:jo,writesValues:[RR],index:0,parent:m$},g$={type:i.GenericReference,id:"exec-in-parallel-argument-map-parent-ref-id",entityType:i.Operation,entityId:Qi},v$={id:Wl,type:i.InputMap,version:1,declaration:xo,name:null,description:null,dynamicArguments:[],readsValue:ER,defaultValue:null,index:0,parent:g$},I$={type:i.GenericReference,id:"exec-in-parallel-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht},D$={type:i.GenericReference,id:"exec-in-parallel-called-by-ref-id",entityType:i.FunctionDeclaration,entityId:ht},P$={process:null,id:Qi,type:i.Operation,version:1,declaration:kt,inputs:[v$],dynamicArguments:[],outputs:[b$],successCalls:[mR,RR],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[D$],calledBySuccess:[],error:null,parent:I$},A$={type:i.GenericReference,id:"exec-sequentially-return-map-parent-ref-id",entityType:i.Operation,entityId:Ki},S$={type:i.GenericReference,id:"exec-sequentially-result-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht},O$={type:i.GenericReference,id:"exec-sequentially-result-variable-reads-value-ref-id",entityType:i.OutputMap,entityId:"exec-sequentially-return-map-id"},C$={type:i.GenericReference,id:"exec-sequentially-result-variable-called-by-ref-id",entityType:i.Operation,entityId:Ki},bR={id:"exec-sequentially-result-variable-id",type:i.VariableInstance,version:1,declaration:Zl,readsValue:O$,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[C$],successCalls:[],errorCalls:[],internalCalls:[],parent:S$,x:0,y:0},B$={id:"exec-sequentially-return-map-id",type:i.OutputMap,version:1,declaration:qo,writesValues:[bR],index:0,parent:A$},w$={type:i.GenericReference,id:"exec-sequentially-argument-map-parent-ref-id",entityType:i.Operation,entityId:Ki},M$={id:oR,type:i.InputMap,version:1,declaration:ko,name:null,description:null,dynamicArguments:[],readsValue:ER,defaultValue:null,index:0,parent:w$},_$={type:i.GenericReference,id:"exec-sequentially-parent-ref-id",entityType:i.FunctionDeclaration,entityId:ht},N$={type:i.GenericReference,id:"exec-sequentially-called-by-ref-id",entityType:i.FunctionDeclaration,entityId:ht},V$={id:Ki,type:i.Operation,version:1,declaration:un,inputs:[M$],process:null,dynamicArguments:[],outputs:[B$],successCalls:[mR,bR],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[N$],calledBySuccess:[],error:null,parent:_$},$$={type:i.GenericReference,id:"concurrency-and-wait-parent-ref-id",entityType:i.Project,entityId:Z},L$={type:i.FunctionDeclaration,id:ht,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:[V$,P$,YV],returnStatements:[uR],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:$$},G$={type:i.GenericReference,id:"3521f2c8-a5c0-419c-8808-4fc6a73d0b78",entityType:i.ReturnDeclaration,entityId:"e1ec31f0-25ca-42ac-a4c4-c9ec2255f55b"},F$={id:"ce8b9a30-afe9-4d4f-879f-1677efca2c47",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:gt,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:G$},U$={type:i.GenericReference,id:"8ee66e38-b060-474e-a503-594063a8ec24",entityType:i.ReturnStatement,entityId:"40a23a98-d3b2-42b1-9652-b33779ad15aa"},x$={isError:!1,id:"e1ec31f0-25ca-42ac-a4c4-c9ec2255f55b",type:i.ReturnDeclaration,version:1,name:"Created company",description:"The new company that was created",dataType:F$,readsValue:null,required:!0,index:0,parent:U$},j$={type:i.GenericReference,id:"9cb3c1e4-7250-4be6-be2a-69c2dd366d6f",entityType:i.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},k$={type:i.GenericReference,id:"c065fcdd-e054-4f95-941c-7eaa65c35d04",entityType:i.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},gR={type:i.ReturnStatement,id:"40a23a98-d3b2-42b1-9652-b33779ad15aa",version:1,outputs:[x$],calledByError:[],calledByEntry:[k$],calledBySuccess:[],throws:null,x:0,y:0,parent:j$},q$={type:i.GenericReference,id:"312ef836-9e40-4d57-b177-03b7145ed074",entityType:i.Project,entityId:Z},J$={type:i.FunctionDeclaration,id:"5059c093-eda2-4efc-b7b4-aaaadd4d44de",version:1,name:"Create new company",description:null,inputs:[],calls:[gR],index:null,implements:null,returnStatements:[gR],collapsed:!1,private:!1,x:0,y:0,parent:q$},Xl="get-current-date-and-time-func-decl-id",vR="get-current-date-and-time-return-statement-id",IR="get-current-date-and-time-return-declaration-id",DR="get-current-date-and-time-return-declaration-data-type-id",W$={type:i.GenericReference,id:"get-current-date-and-time-return-declaration-data-type-value-parent-ref-id",entityType:i.DataType,entityId:DR},H$={type:i.GenericReference,id:"get-current-date-and-time-return-declaration-data-type-parent-ref-id",entityType:i.ReturnDeclaration,entityId:IR},Y$={type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,id:DR,version:1,entity:dn,asType:!1,isList:!1,isNullable:!1,defaultValue:{id:"last-timestamp-variable-default-value-id",type:i.PrimitiveValue,version:1,value:null,name:P.Date,valueAsType:null,autogeneration:{type:qe.CurrentDateAndTime,rangeStart:null,rangeEnd:null},parent:W$},constant:!1,parent:H$},z$={type:i.GenericReference,id:"get-current-date-and-time-return-declaration-parent-ref-id",entityType:i.ReturnStatement,entityId:vR};i.ReturnDeclaration;const Z$={type:i.GenericReference,id:"get-current-date-and-time-return-statement-called-by-ref-id",entityType:i.FunctionDeclaration,entityId:Xl},X$={type:i.GenericReference,id:"get-current-date-and-time-return-statement-parent-ref-id",entityType:i.FunctionDeclaration,entityId:Xl};i.ReturnStatement;const Q$={type:i.GenericReference,id:"concurrency-and-wait-parent-ref-id",entityType:i.Project,entityId:Z},K$={type:i.FunctionDeclaration,id:Xl,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:Q$},PR="do-math-return-statement-id",AR="do-math-return-declaration-id",eL={type:i.GenericReference,id:"do-math-func-var-to-return-one-ref-id",entityType:i.VariableDeclaration,entityId:"do-math-func-var-to-return-one-id"},tL={id:"do-math-func-var-to-return-one-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:eL},nL={type:i.GenericReference,id:"do-math-func-decl-ref-two-id",entityType:i.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},rL={type:i.GenericReference,id:"do-math-func-var-to-return-one-map-ref-id",entityType:i.ReturnDeclaration,entityId:AR},iL={type:i.VariableDeclaration,id:"do-math-func-var-to-return-one-id",version:1,description:null,name:"Fixed result",dataType:tL,readsValue:null,writesValues:[rL],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:nL},aL={type:i.GenericReference,id:"96ec244e-594b-45f7-802b-6dc3056920f6",entityType:i.ReturnStatement,entityId:PR},sL={type:i.GenericReference,id:"d120c0cc-9d13-4e45-90e2-4e1ee825ca46",entityType:i.ReturnDeclaration,entityId:"873a3556-4911-4141-b2a0-49c677b56fb4"},oL={id:"da91aa23-9985-49ac-a8bf-9d623ba1ba8f",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:sL},lL={isError:!1,id:AR,version:1,type:i.ReturnDeclaration,name:"Result",description:null,dataType:oL,readsValue:iL,required:!0,index:0,parent:aL},cL={type:i.GenericReference,id:"57fd93e4-93a1-484e-82eb-4dd15d2d0e24",entityType:i.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},dL={type:i.GenericReference,id:"0a86e8d5-ab21-476e-a482-b928cbf351e3",entityType:i.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},SR={type:i.ReturnStatement,id:PR,version:1,outputs:[lL],calledByError:[],calledByEntry:[],calledBySuccess:[cL],parent:dL,throws:null,x:0,y:0},uL={type:i.GenericReference,id:"a2db26be-57f2-48e5-9769-cdbf0d95dc7c",entityType:i.VariableDeclaration,entityId:"d0e9f1f3-7e9f-4e1f-8d8e-7b4b3e6c6a6a"},pL={id:"c3e9d5f0-204f-45f9-85f7-e1b56b468388",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:uL},yL={type:i.GenericReference,id:"692122c5-610a-4504-90dd-f5a5202d116c",entityType:i.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},hL={type:i.GenericReference,id:"do-math-func-return-one-called-by",entityType:i.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},fL={type:i.GenericReference,id:"6dceb501-be5b-4252-afb4-3c0d08abba33",entityType:i.OutputMap,entityId:"64752080-ee0f-4cfe-9897-a0668f2b2aca"},OR={type:i.VariableDeclaration,id:"d0e9f1f3-7e9f-4e1f-8d8e-7b4b3e6c6a6a",version:1,name:"Result",dataType:pL,description:null,readsValue:fL,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[hL],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:yL},mL={type:i.GenericReference,id:"5440f523-af38-4981-8035-89d162fe8041",entityType:i.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},TL={type:i.GenericReference,id:"8c482c35-e674-4713-a1dd-63c3d13b611c",entityType:i.OutputMap,entityId:"64752080-ee0f-4cfe-9897-a0668f2b2aca"},EL={type:i.GenericReference,id:"c0a299cd-5869-4930-8cf0-90e3ceb8a903",entityType:i.VariableDeclaration,entityId:"46b2fe23-b417-4887-a35d-09b186679172"},RL={id:"51c0c1df-2ee3-41df-ae52-ac512d8cf795",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:EL},bL={type:i.GenericReference,id:"do-math-func-return-two-called-by",entityType:i.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},CR={type:i.VariableDeclaration,id:"46b2fe23-b417-4887-a35d-09b186679172",version:1,name:"Total",description:null,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[bL],successCalls:[],errorCalls:[],dataType:RL,readsValue:TL,writesValues:[],internalCalls:[],parent:mL,x:0,y:0},BR={type:i.GenericReference,id:"6e4d776e-6af2-4321-b630-c78110fd677c",entityType:i.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},gL={type:i.GenericReference,id:"5b60955b-2486-40b6-bb24-ffd97ccd8902",entityType:i.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},vL={type:i.GenericReference,id:"1a49923f-bc6f-453f-a438-e74e5475c2a9",entityType:i.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},IL={type:i.GenericReference,id:"02bfde0a-b757-4072-9613-6e9c7c9a424a",entityType:i.ArgumentDeclaration,entityId:"d8895765-f705-457e-85fa-25d130926769"},wR={id:"928953b0-0e3f-4d8c-ae5a-84620b4b8c68",version:1,type:i.InputMap,declaration:Mo,name:null,description:null,dynamicArguments:[],readsValue:IL,defaultValue:null,index:0,parent:vL},DL={id:"64752080-ee0f-4cfe-9897-a0668f2b2aca",type:i.OutputMap,version:1,declaration:No,writesValues:[OR,CR],index:0,parent:gL},PL={type:i.GenericReference,id:"d235a7f6-07ff-4f35-98d2-8f42dd59cf9f",entityType:i.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},AL={id:"8827e8e9-9381-4ad7-8f61-5419c23c9136",type:i.GenericReference,entityType:i.VariableDeclaration,entityId:"72a338d8-0183-4ca2-8760-227517854595"},MR={id:"a5525249-0eb5-472b-97bc-5e4cc0d75aee",version:1,type:i.InputMap,declaration:_o,name:null,description:null,dynamicArguments:[],readsValue:AL,defaultValue:null,index:1,parent:PL},SL={type:i.Operation,id:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e",declaration:Ca,version:1,inputs:[wR,MR],dynamicArguments:[],outputs:[DL],calledByError:[],calledByEntry:[BR],calledBySuccess:[],process:null,successCalls:[SR,OR,CR],errorCalls:[],parent:BR,error:null,x:0,y:0},OL={type:i.GenericReference,id:"a2c40226-2270-4963-a865-c777ba79c551",entityType:i.DataType,entityId:"a350a9e9-25ee-477f-a83d-9e98ed2451662"},CL={id:"f47731b3-f278-4ab5-aeb2-24519c1119fb",type:i.GenericReference,entityId:"72a338d8-0183-4ca2-8760-227517854595",entityType:i.ArgumentDeclaration},_R={id:"a350a9e9-25ee-477f-a83d-9e98ed2451662",type:i.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:i.PrimitiveValue,version:1,value:1,name:P.Number,parent:OL,valueAsType:null,autogeneration:null},constant:!1,parent:CL},BL={type:i.GenericReference,id:"5f5d8dd0-7f3b-40cd-9f84-83d976887eaf",entityType:i.ArgumentDeclaration,entityId:"649bf0a4-6532-44aa-9818-a03d1c6564e9"},wL={type:i.GenericReference,id:"ca018d0f-a8b3-4c7e-a408-c8b372d04aff",entityType:i.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},ML={type:i.GenericReference,id:"do-math-func-var-called-by-ref",entityType:i.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},NR={type:i.VariableDeclaration,id:"72a338d8-0183-4ca2-8760-227517854595",version:1,name:"Z",description:null,dataType:_R,inputs:[],outputs:[],calledByError:[],calledByEntry:[ML],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:BL,writesValues:[MR],internalCalls:[],x:0,y:0,parent:wL},_L={entityType:i.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b",type:i.GenericReference,id:"af0cf105-4075-425f-aecc-b25d3600fcc4"},NL={id:"649bf0a4-6532-44aa-9818-a03d1c6564e9",type:i.ArgumentDeclaration,version:1,name:"Z",description:"The number to add",dataType:_R,writesValues:[NR],required:!0,index:1,parent:_L},VL={type:i.GenericReference,id:"56953b5d-3e43-4dea-a62c-f3e868ba81bb",entityType:i.Project,entityId:Z},$L={id:"868defc8-5c95-48ed-942d-257e8b9b9b00",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},LL={type:i.GenericReference,id:"35167664-a793-49f1-9eaf-fb57eac30897",entityType:i.DataType,entityId:"55b12914-91b1-48b7-9a3e-9c5d0d2a2ec2"},GL={id:"d47ceef6-be6f-40f1-a7b3-c73c8d8a6c6a",type:i.GenericReference,entityId:"d8895765-f705-457e-85fa-25d130926769",entityType:i.ArgumentDeclaration},FL={id:"55b12914-91b1-48b7-9a3e-9c5d0d2a2ec2",type:i.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:i.PrimitiveValue,version:1,value:5,name:P.Number,parent:LL,valueAsType:null,autogeneration:null},constant:!1,parent:GL},UL={id:"d8895765-f705-457e-85fa-25d130926769",type:i.ArgumentDeclaration,version:1,name:"N",dataType:FL,description:"The number to add",writesValues:[wR],required:!0,index:0,parent:$L},xL={type:i.FunctionDeclaration,id:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b",version:1,name:"Do math",description:"This function does math",inputs:[UL,NL],calls:[SL,NR],implements:null,index:null,collapsed:!1,returnStatements:[SR],private:!1,x:0,y:0,parent:VL},vt="replace-bank-account-in-company-func-declaration-id",Ql="company-entity-to-modify-arg-declaration-id",jL="account-number-to-create-arg-decl-id",Qr="company-variable-id",Kr="search-person-by-id-id",VR="new-bank-account-owner-arg-decl-id",$R="search-person-by-id-output-declaration-id",Kl="search-person-by-id-output-entity-map-id",Os="person-not-empty-condition-id",Cs="create-new-bank-account-instance-operation-id",LR="create-new-bank-account-instance-operation-output-entity-map-id",GR="company-bank-account-output-map-id",ec="old-bank-account-var-declaration-id",FR="old-bank-account-var-instance-id",UR="company-variable-instance-id",tc="delete-bank-account-internal-call-id",kL={type:i.GenericReference,id:"company-variable-instance-parent-ref-id",entityType:i.FunctionDeclaration,entityId:vt},qL={type:i.GenericReference,id:"company-variable-instance-called-by-ref-id",entityType:i.InternalCall,entityId:tc},JL={type:i.GenericReference,id:"company-variable-instance-declaration-ref-id",entityType:i.VariableDeclaration,entityId:Qr},WL={type:i.GenericReference,id:"bank-account-input-map-parent-ref-id",entityType:i.VariableInstance,entityId:UR},HL={type:i.GenericReference,id:"bank-account-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:LR},xR={type:i.InputMap,id:"bank-account-input-map-id",version:1,readsValue:HL,declaration:Cl,name:null,description:null,index:0,defaultValue:null,dynamicArguments:[],parent:WL},YL={type:i.VariableInstance,id:UR,version:1,declaration:JL,inputs:[xR],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[qL],successCalls:[],errorCalls:[],internalCalls:[],parent:kL,readsValue:null,writesValues:[],x:0,y:0},zL={type:i.GenericReference,id:"bank-account-variable-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:Qr},ZL={type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"bank-account-variable-data-type-id",version:1,entity:Yr,asType:!1,isList:!1,isNullable:!1,constant:!1,defaultValue:null,parent:zL},XL={type:i.GenericReference,id:"bank-account-variable-reads-value-ref-id",entityType:i.OutputMap,entityId:GR},QL={type:i.GenericReference,id:"bank-account-variable-parent-ref-id",entityType:i.FunctionDeclaration,entityId:vt},KL={type:i.GenericReference,id:"bank-account-variable-called-by-ref-id",entityType:i.VariableDeclaration,entityId:Qr},eG={type:i.GenericReference,id:"delete-bank-account-internal-call-called-by-ref-id",entityType:i.Operation,entityId:Cs};i.GenericReference,i.VariableInstance;const tG={type:i.GenericReference,id:"delete-bank-account-internal-call-called-by-ref-two-id",entityType:i.VariableDeclaration,entityId:ec},nG={type:i.GenericReference,id:"old-bank-account-variable-trigger-delete-decl-ref-id",entityType:i.VariableDeclaration,entityId:ec},rG={type:i.GenericReference,id:"bank-account-variable-parent-ref-two-id",entityType:i.FunctionDeclaration,entityId:vt},iG={type:i.GenericReference,id:"old-bank-account-variable-trigger-delete-internal-call-ref-id",entityType:i.InternalCall,entityId:tc},aG={type:i.VariableInstance,id:FR,version:1,declaration:nG,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],internalCalls:[iG],errorCalls:[],parent:rG,readsValue:null,writesValues:[],x:0,y:0},jR={process:null,type:i.InternalCall,id:tc,version:1,declaration:el,index:0,successCalls:[YL],errorCalls:[],inputs:[],outputs:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[eG,tG],parent:aG},kR={type:i.VariableDeclaration,id:ec,version:1,name:"Old bank account",description:"The existing bank account that needs to be replaced in the company entity",dataType:ZL,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[KL],successCalls:[jR],internalCalls:[],errorCalls:[],parent:QL,readsValue:XL,writesValues:[],x:0,y:0},sG={type:i.GenericReference,id:"company-variable-declaration-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:Qr},oG={type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"company-variable-declaration-data-type-id",version:1,entity:gt,asType:!1,isList:!1,isNullable:!1,constant:!1,defaultValue:null,parent:sG},lG={type:i.GenericReference,id:"company-variable-declaration-reads-value-ref-id",entityType:i.ArgumentDeclaration,entityId:Ql},cG={type:i.GenericReference,id:"company-variable-declaration-parent-ref-id",entityType:i.FunctionDeclaration,entityId:vt},dG={type:i.GenericReference,id:"company-variable-declaration-called-by-ref-id",entityType:i.FunctionDeclaration,entityId:vt},uG={type:i.GenericReference,id:"company-bank-account-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:Qr},pG={id:GR,version:1,type:i.OutputMap,declaration:Cl,index:0,parent:uG,writesValues:[kR]},qR={type:i.VariableDeclaration,id:Qr,version:1,name:"Company",description:"The company entity that was passed as an argument to the parent function",dataType:oG,inputs:[],outputs:[pG],calledByError:[],calledByEntry:[dG],calledBySuccess:[],successCalls:[kR],errorCalls:[],parent:cG,internalCalls:[],readsValue:lG,writesValues:[],x:0,y:0},yG={type:i.GenericReference,id:"create-new-bank-account-account-owner-dynamic-input-map-parent-ref-id",entityType:i.InputMap,entityId:"create-new-bank-account-instance-operation-entity-to-create-input-map-id"},hG={id:"create-new-bank-account-account-owner-dynamic-input-map-reads-value-ref-id",type:i.GenericReference,entityType:i.OutputMap,entityId:Kl},JR={id:"create-new-bank-account-account-owner-dynamic-input-map-id",version:1,type:i.InputMap,declaration:TT,name:null,description:null,dynamicArguments:[],readsValue:hG,index:1,defaultValue:null,parent:yG},fG={id:"create-new-bank-account-account-number-dynamic-input-map-reads-value-ref-id",type:i.GenericReference,entityType:i.ArgumentDeclaration,entityId:jL},mG={type:i.GenericReference,id:"create-new-bank-account-account-number-dynamic-input-map-parent-ref-id",entityType:i.InputMap,entityId:"create-new-bank-account-instance-operation-entity-to-create-input-map-id"},WR={id:"create-new-bank-account-account-number-dynamic-input-map-id",version:1,type:i.InputMap,declaration:mT,name:null,description:null,dynamicArguments:[],readsValue:fG,defaultValue:null,index:0,parent:mG},TG={type:i.GenericReference,id:"create-new-bank-account-instance-operation-entity-to-create-input-map-parent-ref-id",entityType:i.Operation,entityId:Cs},EG={id:"create-new-bank-account-instance-operation-entity-to-create-input-map-id",version:1,type:i.InputMap,declaration:Gr.fixedArguments[0],name:null,description:null,dynamicArguments:[WR,JR],index:0,readsValue:null,defaultValue:{type:i.PrimitiveValue,name:P.EntityTemplate,value:null,valueAsType:Yr,autogeneration:null},parent:TG},RG={type:i.GenericReference,id:"create-new-bank-account-instance-operation-output-entity-map-parent-ref-id",entityType:i.Operation,entityId:Cs},bG={id:LR,version:1,type:i.OutputMap,declaration:Gr.fixedReturns[0],index:0,writesValues:[xR],parent:RG},gG={type:i.GenericReference,id:"create-new-bank-account-instance-operation-called-by-ref-id",entityType:i.Condition,entityId:Os},vG={type:i.GenericReference,id:"create-new-bank-account-instance-operation-parent-ref-id",entityType:i.FunctionDeclaration,entityId:vt},IG={process:null,id:Cs,type:i.Operation,version:1,declaration:Gr,inputs:[EG],dynamicArguments:[],error:null,outputs:[bG],successCalls:[jR],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[gG],parent:vG,x:0,y:0},DG={id:"person-not-found-thrown-error-datatype-default-value-parent-ref-id",type:i.GenericReference,entityId:"person-not-found-thrown-error-datatype-id",entityType:i.DataType},PG={id:"person-not-found-thrown-error-datatype-parent-ref-id",type:i.GenericReference,entityId:"person-not-found-thrown-error-id",entityType:i.ReturnDeclaration};i.DataType,i.PrimitiveValue,P.String;const AG={id:"person-not-found-thrown-error-parent-ref-id",type:i.GenericReference,entityId:"person-not-found-error-return-statement-id",entityType:i.ReturnStatement},SG={isError:!0,id:"person-not-found-thrown-error-id",type:i.ReturnDeclaration,version:1,dataType:null,name:"Person not found error",description:"If the person entity was not found this error is outputted",parent:AG,required:!0,index:0,readsValue:null},OG={id:"person-not-found-error-return-statement-called-by-ref-id",type:i.GenericReference,entityId:Os,entityType:i.Condition},CG={id:"person-not-found-error-return-statement-parent-ref-id",type:i.GenericReference,entityId:vt,entityType:i.FunctionDeclaration},BG={id:"person-not-found-error-return-statement-id",type:i.ReturnStatement,version:1,throws:SG,outputs:[],calledBySuccess:[],calledByError:[OG],calledByEntry:[],x:0,y:0,parent:CG},wG={type:i.GenericReference,id:"person-not-empty-condition-called-by-ref-id",entityType:i.Search,entityId:Kr},MG={type:i.GenericReference,id:"person-not-empty-condition-parent-ref-id",entityType:i.FunctionDeclaration,entityId:vt},_G={type:i.GenericReference,id:"person-entity-to-check-map-reads-value-ref-id",entityType:i.OutputMap,entityId:Kl},NG={type:i.GenericReference,id:"person-not-empty-condition-ref-two-id",entityType:i.Condition,entityId:Os},HR={id:"person-entity-to-check-map-id",version:1,type:i.InputMap,declaration:Kn.fixedArguments[0],name:null,description:null,dynamicArguments:[],readsValue:_G,index:0,defaultValue:null,parent:NG},VG={type:i.Condition,id:Os,version:1,declaration:Kn,inputs:[HR],calledByError:[],calledByEntry:[],calledBySuccess:[wG],successCalls:[IG],errorCalls:[BG],x:0,y:0,parent:MG},$G={type:i.GenericReference,id:"search-person-by-id-output-entity-declaration-datatype-parent-ref-id",entityType:i.ValueDescriptor,entityId:$R},LG={id:"search-person-by-id-output-entity-declaration-datatype-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!1,constant:!1,asType:!1,isNullable:!1,entity:yt,defaultValue:null,parent:$G},GG={type:i.GenericReference,id:"search-person-by-id-output-entity-declaration-parent-ref-id",entityType:i.Search,entityId:Kr},YR={id:$R,type:i.ValueDescriptor,version:1,dataType:LG,name:"Found person",description:"The person entity that was found",parent:GG,required:!0,index:0},FG={type:i.GenericReference,id:"search-person-by-id-output-entity-map-parent-ref-id",entityType:i.Search,entityId:Kr},UG={type:i.OutputMap,id:Kl,version:1,declaration:YR,parent:FG,writesValues:[HR,JR],index:0},xG={id:"search-person-by-id-input-declaration-datatype-parent-ref-id",type:i.GenericReference,entityId:"search-person-by-id-input-declaration-id",entityType:i.ArgumentDeclaration};i.DataType;const jG={type:i.GenericReference,id:"search-person-by-id-input-declaration-parent-ref-id",entityType:i.Search,entityId:Kr},zR={id:"search-person-by-id-input-declaration-id",type:i.ArgumentDeclaration,version:1,dataType:null,name:"Person ID",description:"The unique identifier (ID) property of the person entity",index:0,required:!0,parent:jG,writesValues:[]},kG={type:i.GenericReference,id:"search-person-by-id-input-map-parent-ref-id",entityType:i.Search,entityId:Kr},qG={id:"search-person-by-id-input-map-reads-value-ref-id",type:i.GenericReference,entityId:VR,entityType:i.ArgumentDeclaration},ZR={type:i.InputMap,id:"search-person-by-id-input-map",version:1,declaration:zR,name:null,description:null,readsValue:qG,defaultValue:null,parent:kG,dynamicArguments:[],index:0},JG={from:{name:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},items:[{name:"*"}],where:[{name:"id",value:"{{dynamic_value_1}}"}]},WG={type:i.GenericReference,id:"search-person-by-id-parent-ref-id",entityType:i.FunctionDeclaration,entityId:vt},HG={type:i.GenericReference,id:"search-person-by-id-called-by-ref-id",entityType:i.FunctionDeclaration,entityId:vt},YG={type:i.Search,id:Kr,version:1,name:"Search person by ID",description:"Searches for a person entity given the UUID",query:JG,inputsDeclarations:[zR],inputs:[ZR],outputsDeclarations:[YR],outputs:[UG],calledByError:[],calledByEntry:[HG],calledBySuccess:[],error:null,successCalls:[VG],errorCalls:[],parent:WG,x:0,y:0};i.GenericReference,i.DataType;const zG={id:"account-number-to-create-arg-decl-data-type-parent-ref-id",type:i.GenericReference,entityId:"account-number-to-create-arg-decl-id",entityType:i.ArgumentDeclaration},ZG={id:"account-number-to-create-arg-decl-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:j,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:zG},XG={entityType:i.FunctionDeclaration,entityId:vt,type:i.GenericReference,id:"account-number-to-create-arg-decl-parent-ref-id"},QG={id:"account-number-to-create-arg-decl-id",type:i.ArgumentDeclaration,version:1,name:"Account number",description:"The account number of the new bank account entity",dataType:ZG,writesValues:[WR],required:!0,index:1,parent:XG};i.GenericReference,i.DataType;const KG={id:"new-bank-account-owner-arg-decl-data-type-parent-ref-id",type:i.GenericReference,entityId:"new-bank-account-owner-arg-decl-id",entityType:i.ArgumentDeclaration},eF={id:"new-bank-account-owner-arg-decl-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Oa,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:KG},tF={entityType:i.FunctionDeclaration,entityId:vt,type:i.GenericReference,id:"new-bank-account-owner-arg-decl-parent-ref-id"},nF={id:VR,type:i.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:eF,writesValues:[ZR],required:!1,index:1,parent:tF},rF={type:i.GenericReference,id:"replace-bank-account-in-company-parent-ref",entityType:i.Project,entityId:Z},iF={type:i.GenericReference,id:"company-entity-to-modify-parent-ref",entityType:i.FunctionDeclaration,entityId:vt};i.GenericReference,i.DataType;const aF={id:"d47ceef6-be6f-40f1-a7b3-c73c8d8a6c6a",type:i.GenericReference,entityId:Ql,entityType:i.ArgumentDeclaration},sF={id:"company-entity-to-modify-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:aF},oF={id:Ql,type:i.ArgumentDeclaration,version:1,name:"Company",dataType:sF,description:"The company to replace the bank account for",writesValues:[qR],required:!0,index:0,parent:iF},lF={type:i.FunctionDeclaration,id:vt,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:[oF,QG,nF],index:null,implements:null,calls:[YG,qR],collapsed:!1,returnStatements:[],private:!1,x:0,y:0,parent:rF},cF={type:i.GenericReference,id:"e0a937bd-3a85-4037-a973-916985b9f94b",entityType:i.Project,entityId:"7268bc97-c0e6-4d88-b37e-d3241b5f77a6"},dF={type:i.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:cF,x:0,y:0},uF={type:i.GenericReference,id:"948e6869-ae5b-4914-bea0-b9f02ad6a014",entityType:i.Project,entityId:"23b23d8b-1929-4505-a350-745c8550e731"},pF={type:i.GenericReference,id:"f3d6f2c6-1b3e-4e9d-8c9d-5b5b9f0b8d9c",entityType:i.Project,entityId:"7268bc97-c0e6-4d88-b37e-d3241b5f77a6"},yF={type:i.InstalledProject,version:1,id:"7268bc97-c0e6-4d88-b37e-d3241b5f77a6",name:"Third Party Installed Project",description:null,functions:[dF],events:[],implements:pF,parent:uF,x:0,y:0},nc="iterate-over-list-loop-id",XR="iterate-over-list-loop-body-id",QR="iterate-over-list-loop-body-current-iteration-argument-declaration-id",hF={type:i.GenericReference,id:"iterate-over-list-loop-body-current-iteration-argument-declaration-data-type-parent-ref-id",entityId:QR,entityType:i.ArgumentDeclaration},fF={id:"iterate-over-list-loop-body-current-iteration-argument-declaration-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,defaultValue:null,entity:null,isList:!1,isNullable:!1,asType:!1,constant:!1,parent:hF},mF={id:"iterate-over-list-loop-body-current-iteration-argument-declaration-parent-ref-id",type:i.GenericReference,entityId:XR,entityType:i.FunctionDeclaration},TF={id:QR,type:i.ArgumentDeclaration,version:1,name:"Current value",description:"The current value being processed.",dataType:fF,required:!0,index:0,writesValues:[],parent:mF},EF={id:"iterate-over-list-loop-body-parent-ref-id",type:i.GenericReference,entityId:nc,entityType:i.Loop},RF={id:XR,type:i.FunctionDeclaration,version:1,name:"Iteration logic trigger",description:"This function is called once for each entity in the list.",inputs:[TF],calls:[],implements:null,collapsed:!1,returnStatements:[],private:!1,index:0,x:0,y:0,parent:EF},bF={id:"iterate-over-list-loop-iteration-list-input-map-parent-ref-id",type:i.GenericReference,entityId:nc,entityType:i.Loop},gF={id:"iterate-over-list-loop-iteration-list-input-map-id",type:i.InputMap,version:1,name:null,description:null,declaration:Qn.fixedArguments[0],defaultValue:null,dynamicArguments:[],readsValue:null,index:0,parent:bF},vF={id:"iterate-over-list-loop-parent-ref-id",type:i.GenericReference,entityId:Z,entityType:i.Project},IF={id:nc,type:i.Loop,version:1,declaration:Qn,inputs:[gF],successCalls:[],errorCalls:[],outputsDeclarations:[],outputs:[],process:null,body:RF,calledByError:[],calledByEntry:[],calledBySuccess:[],breakStatements:[],continueStatements:[],error:null,x:0,y:0,parent:vF};var rc=(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))(rc||{}),KR=(n=>(n.COUNT="count",n.SUM="sum",n.AVG="avg",n.MIN="min",n.MAX="max",n))(KR||{});const DF={from:{name:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},items:{from:{name:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},items:[{function:{name:KR.COUNT,items:["f8310850-a87e-405c-b182-4f1d5fa49240"]},alias:"employee_count"}],where:[{name:"80c86e1b-caca-4ba5-9b1f-38f72d10e4a3",operation:rc.NEQ,value:null}]},where:[{name:"employee_count",operation:rc.GT,value:1}]},PF={id:"find-companies-with-multiple-employees-and-bank-account-search-parent-ref-id",type:i.GenericReference,entityId:Z,entityType:i.Project},AF={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-declaration-parent-ref-id",type:i.GenericReference,entityId:"find-companies-with-multiple-employees-and-bank-account",entityType:i.Search},eb={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-declaration-id",type:i.ValueDescriptor,version:1,name:"companies",description:"List of companies with multiple employees and an existing bank account",dataType:null,required:!0,index:0,parent:AF},SF={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-parent-ref-id",type:i.GenericReference,entityId:"find-companies-with-multiple-employees-and-bank-account",entityType:i.Search},OF={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-id",type:i.OutputMap,version:1,declaration:eb,writesValues:[],index:0,parent:SF},CF={id:"find-companies-with-multiple-employees-and-bank-account",type:i.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:[eb],inputs:[],outputs:[OF],query:DF,successCalls:[],errorCalls:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[],x:0,y:0,parent:PF},ei="random-company-employee-test-variable-id",ic="manager-global-variable-id",tb="global-user-instance-id",or="employee-mapped-dto-variable-id",ac="employee-mapped-dto-variable-instance-id",nb="random-employee-id-output-map-id",rb="random-employee-birth-date-output-map-id",ib="random-employee-department-output-map-id",ab="random-employee-manager-output-map-id",sb="manager-global-id-output-map-id",ob="global-user-instance-id-output-map-id",BF="employee-mapped-dto-requester-id-input-map-id",lb="employee-mapped-dto-now-timestamp-input-map-id",wF="employee-mapped-dto-id-input-map-id",MF="employee-mapped-dto-birth-date-input-map-id",_F="employee-mapped-dto-department-input-map-id",NF="employee-mapped-dto-manager-input-map-id",VF={type:i.GenericReference,id:"employee-mapped-dto-manager-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:sb},$F={type:i.GenericReference,id:"employee-mapped-dto-manager-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:or},cb={id:NF,type:i.InputMap,version:1,declaration:null,name:"manager_id",description:null,defaultValue:null,dynamicArguments:[],index:4,readsValue:VF,parent:$F},LF={type:i.GenericReference,id:"employee-mapped-dto-department-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:ib},GF={type:i.GenericReference,id:"employee-mapped-dto-department-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:or},db={id:_F,type:i.InputMap,version:1,declaration:null,name:"department_name",description:null,defaultValue:null,dynamicArguments:[],index:3,readsValue:LF,parent:GF},FF={type:i.GenericReference,id:"employee-mapped-dto-birth-date-input-map-reads-value-ref-id",entityType:i.OutputMap,entityId:rb},UF={type:i.GenericReference,id:"employee-mapped-dto-birth-date-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:or},ub={id:MF,type:i.InputMap,version:1,declaration:null,name:"birth_date",description:null,defaultValue:null,dynamicArguments:[],index:2,readsValue:FF,parent:UF},xF={type:i.GenericReference,id:"employee-mapped-dto-id-output-map-reads-value-ref-id",entityType:i.OutputMap,entityId:nb},jF={type:i.GenericReference,id:"employee-mapped-dto-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:or},pb={id:wF,type:i.InputMap,version:1,declaration:null,name:"id",description:"The ID of the employee",defaultValue:null,dynamicArguments:[],index:1,readsValue:xF,parent:jF},kF={type:i.GenericReference,id:"employee-mapped-dto-requester-id-output-map-reads-value-ref-id",entityType:i.OutputMap,entityId:ob},qF={type:i.GenericReference,id:"employee-mapped-dto-requester-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:or},yb={id:BF,type:i.InputMap,version:1,declaration:null,name:"requester_id",description:"The ID of the current user making the request",defaultValue:null,dynamicArguments:[],index:0,readsValue:kF,parent:qF},JF={type:i.GenericReference,id:"manager-variable-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:ic},WF={id:sb,type:i.OutputMap,version:1,declaration:Le.properties[1],index:0,writesValues:[cb],parent:JF},HF={type:i.GenericReference,id:"manager-variable-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:ic},YF={id:"manager-variable-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Bt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:HF,defaultValue:null},zF={type:i.GenericReference,id:"manager-variable-reads-value-ref-id",entityType:i.OutputMap,entityId:ab},ZF={type:i.GenericReference,id:"manager-variable-parent-ref-id",entityType:i.Project,entityId:Z},hb={id:ic,type:i.VariableDeclaration,version:1,name:"Manager",dataType:YF,description:"A variable holding an inherited manager for testing purposes",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:zF,writesValues:[],inputs:[],outputs:[WF],internalCalls:[],parent:ZF,x:0,y:0},XF={type:i.GenericReference,id:"random-company-employee-manager-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:ei},QF={id:ab,type:i.OutputMap,version:1,declaration:Bt.properties[2],index:3,writesValues:[hb],parent:XF},KF={type:i.GenericReference,id:"random-company-employee-department-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:ei},e4={id:ib,type:i.OutputMap,version:1,declaration:Bt.properties[0],index:2,writesValues:[db],parent:KF},t4={type:i.GenericReference,id:"random-company-employee-birth-date-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:ei},n4={id:rb,type:i.OutputMap,version:1,declaration:yt.properties[1],index:1,writesValues:[ub],parent:t4},r4={type:i.GenericReference,id:"random-company-employee-id-output-map-parent-ref-id",entityType:i.VariableDeclaration,entityId:ei},i4={id:nb,type:i.OutputMap,version:1,declaration:Le.properties[1],index:0,writesValues:[pb],parent:r4},a4={type:i.GenericReference,id:"random-company-employee-test-variable-data-type-parent-ref-id",entityType:i.VariableDeclaration,entityId:ei},s4={id:"random-company-employee-test-variable-data-type-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Bt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:a4,defaultValue:null},o4={type:i.GenericReference,id:"random-company-employee-test-variable-parent-ref-id",entityType:i.Project,entityId:Z},l4={id:ei,type:i.VariableDeclaration,version:1,name:"Company employee",dataType:s4,description:"A variable holding a random company employee for testing purposes",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[],outputs:[i4,n4,e4,QF],internalCalls:[],parent:o4,x:0,y:0},c4={type:i.GenericReference,id:"employee-mapped-dto-variable-instance-now-timestamp-input-map-default-value-parent-ref-id",entityType:i.InputMap,entityId:lb},d4={type:i.PrimitiveValue,id:"employee-mapped-dto-variable-instance-now-timestamp-input-map-default-value-id",name:P.Date,version:1,valueAsType:null,value:null,autogeneration:{type:qe.CurrentDateAndTime,rangeStart:null,rangeEnd:null},parent:c4},u4={type:i.GenericReference,id:"employee-mapped-dto-variable-instance-now-timestamp-input-map-parent-ref-id",entityType:i.VariableInstance,entityId:ac},p4={id:lb,type:i.InputMap,version:1,declaration:null,name:"now",description:"The current timestamp when the operation is executed",defaultValue:d4,dynamicArguments:[],index:5,readsValue:null,parent:u4},y4={type:i.GenericReference,id:"employee-mapped-dto-variable-instance-decl-ref-id",entityType:i.VariableDeclaration,entityId:or},h4={type:i.GenericReference,id:"employee-mapped-dto-variable-instance-called-by-success-ref-id",entityType:i.VariableDeclaration,entityId:ac},f4={type:i.GenericReference,id:"employee-mapped-dto-variable-instance-parent-ref-id",entityType:i.Project,entityId:Z},m4={id:ac,type:i.VariableInstance,version:1,declaration:y4,calledByError:[],calledByEntry:[],calledBySuccess:[h4],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[p4],outputs:[],internalCalls:[],parent:f4,x:0,y:0},T4={type:i.GenericReference,id:"employee-mapped-dto-variable-parent-ref-id",entityType:i.Project,entityId:Z},E4={id:or,type:i.VariableDeclaration,version:1,name:"Employee DTO",dataType:null,description:"A variable holding the data of a mapped employee DTO",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[m4],errorCalls:[],readsValue:null,writesValues:[],inputs:[yb,pb,ub,db,cb],outputs:[],internalCalls:[],parent:T4,x:0,y:0},R4={type:i.GenericReference,id:"0e63e617-f9d3-42e8-bde0-1bb0b1df7034",entityType:i.VariableDeclaration,entityId:Il},b4={id:"e75645ce-d3df-4f07-a897-ae9ef4d917fd",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Pl,version:1,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:R4,defaultValue:null},g4={type:i.GenericReference,id:"e92a8ff5-3fef-4e0c-8d8f-92c930b2890b",entityType:i.Project,entityId:Z},fb={id:Il,type:i.VariableDeclaration,version:1,name:"Current user",description:"The user that is currently logged in",dataType:b4,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:g4},v4={type:i.GenericReference,id:"manager-variable-id-output-map-parent-ref-id",entityType:i.VariableInstance,entityId:tb},I4={id:ob,type:i.OutputMap,version:1,declaration:Le.properties[1],index:0,writesValues:[yb],parent:v4},D4={type:i.GenericReference,id:"global-user-instance-parent-ref-id",entityType:i.Project,entityId:Z},P4={id:tb,type:i.VariableInstance,version:1,declaration:fb,calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[],outputs:[I4],internalCalls:[],parent:D4,x:0,y:0},A4={type:i.GenericReference,id:"is-test-environment-variable-dcl-datatype-parent-ref-id",entityType:i.VariableDeclaration,entityId:Il},S4={type:i.GenericReference,id:"is-test-environment-variable-dcl-datatype-default-value-parent-ref-id",entityType:i.DataType,entityId:"is-test-environment-variable-dcl-datatype-id"},O4={id:"is-test-environment-variable-dcl-datatype-id",type:i.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:An,version:1,asType:!1,isList:!1,isNullable:!1,constant:!0,parent:A4,defaultValue:{id:"is-test-environment-variable-dcl-datatype-default-value-id",name:P.Boolean,version:1,value:null,type:i.PrimitiveValue,autogeneration:{type:qe.Random,rangeStart:null,rangeEnd:null},valueAsType:null,parent:S4}},C4={type:i.GenericReference,id:"is-test-environment-variable-dcl-main-project-ref-id",entityType:i.Project,entityId:Z},mb={id:"is-test-environment-variable-dcl-id",type:i.VariableDeclaration,version:1,name:"Is test envrioment",description:"Indicates whether the current environment is a test environment or not.",dataType:O4,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:C4},B4={type:i.GenericReference,id:"is-test-environment-variable-instance-parent-ref-id",entityType:i.Project,entityId:Z},w4={id:"is-test-environment-variable-instance-id",type:i.VariableInstance,version:1,declaration:mb,calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[],outputs:[],internalCalls:[],parent:B4,x:0,y:0},Tb={type:i.Project,id:Z,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:[yF],entities:[Dl,Pl,yt,bM,Bt,Rs,BT,wT,Yr,hw,gt,cM,uT,sA,pw],functions:[L$,rE,ql,J$,K$,RE,Jl,Bl,lF,UT,xL],events:[KM],variableDeclarations:[mb,fb,Zl,l4,hb,E4],variableInstances:[w4,P4],conditions:[],operations:[Xr],functionCalls:[X_,a0],loops:[IF],searches:[CF]};var T=(n=>(n.Error="error",n.Warning="warning",n))(T||{}),A=(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))(A||{}),h=(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))(h||{}),M=(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.VariableReadsValueAndInternalCall="variable-reads-value-and-internal-call",n.VariableWritesValuesAndInternalCall="variable-writes-values-and-internal-call",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))(M||{});class E{constructor(e){c(this,"id");c(this,"message");c(this,"issue");c(this,"severity");c(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 A?new lr({id:this.id,message:this.message,issue:this.issue,severity:this.severity,code:this.code,entity:e}):null}}class lr{constructor(e){c(this,"id");c(this,"message");c(this,"issue");c(this,"severity");c(this,"code");c(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 lr({id:this.id,message:this.message,issue:this.issue,severity:this.severity,code:this.code,entity:this.entity})}}function M4(n){const e=new Set;return n.filter(t=>e.has(t.id)?!1:(e.add(t.id),!0))}function H(n){const e=n.entity.errors.find(r=>r.id===n.id);return e?{new:!1,error:e}:{new:!0,error:new lr(n)}}function _4(n,e){const t=new Map;return n.forEach(r=>{t.set(r.id,r)}),e.forEach(r=>{t.set(r.id,r)}),Array.from(t.values())}function ne(n,e){const t=[];return e.forEach(r=>{const a=n.find(s=>s.id===r.id);a?t.push(a):t.push(r)}),t}const ta=d.union([d.string(),d.number(),d.boolean(),d.date()]),Eb=d.enum([qe.CurrentDateAndTime,qe.Random,qe.Unique]),Bs=d.object({type:Eb,rangeStart:ta.nullable(),rangeEnd:ta.nullable()}),na=Bs.extend({type:d.literal(qe.Random),rangeStart:ta,rangeEnd:ta}),sc=Bs.extend({type:d.literal(qe.Unique),rangeStart:d.null(),rangeEnd:d.null()}),Rb=Bs.extend({type:d.literal(qe.CurrentDateAndTime),rangeStart:d.null(),rangeEnd:d.null()}),ws=na.extend({rangeStart:d.number().nullable(),rangeEnd:d.number().nullable()}),bb=ws.extend({rangeStart:d.number(),rangeEnd:d.null()}),gb=ws.extend({rangeStart:d.null(),rangeEnd:d.number()}),vb=ws.extend({rangeStart:d.number(),rangeEnd:d.number()}),Ms=na.extend({rangeStart:d.number().nullable(),rangeEnd:d.number().nullable()}),Ib=Ms.extend({rangeStart:d.number(),rangeEnd:d.null()}),Db=Ms.extend({rangeStart:d.null(),rangeEnd:d.number()}),Pb=Ms.extend({rangeStart:d.number(),rangeEnd:d.number()}),_s=na.extend({rangeStart:d.date().nullable(),rangeEnd:d.date().nullable()}),Ab=_s.extend({rangeStart:d.date(),rangeEnd:d.null()}),Sb=_s.extend({rangeStart:d.null(),rangeEnd:d.date()}),Ob=_s.extend({rangeStart:d.date(),rangeEnd:d.date()}),oc=na.extend({rangeStart:d.null(),rangeEnd:d.null()}),lc=d.union([Ib,Db,Pb]),cc=d.union([bb,gb,vb]),dc=d.union([Ab,Sb,Ob,Rb]),uc=d.union([lc,cc,dc,sc,oc]);function ra(){return d.union([d.object({type:d.literal(i.ValueDescriptor)}),d.record(d.string(),d.any())])}function Cb(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.ValueDescriptor)})}function pc(){return d.object({id:d.string(),type:d.literal(i.ValueDescriptor),name:d.string(),required:d.boolean()})}function N4(){return pc().merge(d.object({version:d.number(),index:d.number()}))}function V4(){return pc().merge(d.object({}))}function $4(){return d.object({dataType:Tn(),parent:Gn()})}function L4(){return N4().merge($4())}function Ns(){return d.union([d.object({type:d.literal(i.PrimitiveEntity)}),d.record(d.string(),d.any())])}function Vs(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.PrimitiveEntity)})}function $s(){return d.object({id:d.string(),type:d.literal(i.PrimitiveEntity),name:d.string(),description:d.string().nullable(),static:d.boolean(),abstract:d.boolean()})}function G4(){return $s().merge(d.object({version:d.number()}))}function F4(){return $s().merge(d.object({}))}function U4(){return d.object({properties:d.array(cr()),methods:d.array(Mt()),abstractMethods:d.array(nn()),extends:d.array(d.union([Ns(),ti()]))})}function x4(){return G4().merge(U4())}function cr(){return d.union([d.object({type:d.literal(i.Property)}),d.record(d.string(),d.any())])}function Bb(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.Property)})}function yc(){return d.object({id:d.string(),type:d.literal(i.Property),name:d.string(),description:d.string().nullable(),private:d.boolean(),static:d.boolean(),required:d.boolean(),abstract:d.boolean()})}function j4(){return yc().merge(d.object({version:d.number(),index:d.number()}))}function k4(){return yc().merge(d.object({}))}function q4(){return d.object({dataType:Tn(),implements:cr().nullable(),parent:d.union([yr(),Vs(),Ls()])})}function J4(){return j4().merge(q4())}function W4(){return d.enum([V.CRON_JOB,V.EXECUTION,V.HTTP_ENDPOINT,V.PERSISTED_ENTITY,V.RELATIONAL_DATABASE])}function ti(){return d.union([d.object({type:d.literal(i.BuiltInBaseEntity)}),d.record(d.string(),d.any())])}function Ls(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.BuiltInBaseEntity)})}function hc(){return d.object({id:d.string(),version:d.number(),type:d.literal(i.BuiltInBaseEntity),name:W4(),description:d.string().nullable(),abstract:d.boolean(),static:d.boolean()})}function H4(){return hc()}function Y4(){return hc().merge(d.object({}))}function z4(){return d.object({properties:d.array(cr()),methods:d.array(Mt()),abstractMethods:d.array(nn()),extends:d.array(d.union([ti(),Ns()]))})}function Z4(){return H4().merge(z4())}function wb(){return d.enum([U.Dynamic,U.Fixed,U.None])}function nn(){return d.union([d.object({type:d.literal(i.ActionDescriptor)}),d.record(d.string(),d.any())])}function Gn(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.ActionDescriptor)})}function Gs(){return d.object({id:d.string(),type:d.literal(i.ActionDescriptor),name:d.string(),description:d.string().nullable(),argumentsType:wb(),returnsType:wb()})}function X4(){return Gs().merge(d.object({version:d.number()}))}function Q4(){return Gs().merge(d.object({}))}function K4(){return d.object({fixedArguments:d.array(ra()),fixedReturns:d.array(ra()),dynamicArgumentTypes:Tn().nullable(),dynamicReturnTypes:Tn().nullable(),parent:d.union([It(),yr(),Ls(),Vs()]).nullable()})}function Mb(){return X4().merge(K4())}function ni(){return d.union([d.object({type:d.literal(i.Loop)}),d.record(d.string(),d.any())])}function rn(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.Loop)})}function _b(){return d.object({id:d.string(),type:d.literal(i.Loop)})}function eU(){return _b().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function tU(){return _b().merge(d.object({declaration:d.union([d.string(),Mt()])}))}function nU(){return d.object({calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),declaration:nn(),inputs:d.array(wt()),outputs:d.array(ft()),outputsDeclarations:d.array(ra()),successCalls:d.array(We()),errorCalls:d.array(We()),error:ft(),body:Mt(),parent:d.union([Rn(),It()]),breakStatements:d.array(si()),continueStatements:d.array(ri())})}function rU(){return eU().merge(nU())}function ri(){return d.union([d.object({type:d.literal(i.ContinueStatement)}),d.record(d.string(),d.any())])}function ii(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.ContinueStatement)})}function fc(){return d.object({id:d.string(),type:d.literal(i.ContinueStatement)})}function iU(){return fc().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function aU(){return fc().merge(d.object({}))}function sU(){return d.object({calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),outputs:d.array(fn()),throws:d.optional(fn()),parent:rn()})}function oU(){return iU().merge(sU())}function dr(){return d.union([d.object({type:d.literal(i.ReturnStatement)}),d.record(d.string(),d.any())])}function ai(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.ReturnStatement)})}function mc(){return d.object({id:d.string(),type:d.literal(i.ReturnStatement)})}function lU(){return mc().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function cU(){return mc().merge(d.object({}))}function dU(){return d.object({calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),outputs:d.array(fn()),throws:d.optional(fn()),parent:Rn()})}function uU(){return lU().merge(dU())}function fn(){return d.union([d.object({type:d.literal(i.ReturnDeclaration)}),d.record(d.string(),d.any())])}function Nb(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.ReturnDeclaration)})}function Tc(){return d.object({id:d.string(),type:d.literal(i.ReturnDeclaration),name:d.string(),description:d.string().nullable(),isError:d.boolean()})}function pU(){return Tc().merge(d.object({version:d.number(),index:d.number()}))}function yU(){return Tc().merge(d.object({}))}function hU(){return d.object({dataType:Tn().nullable(),readsValue:ca().nullable(),parent:d.union([ai(),Gn(),mn(),ii()])})}function fU(){return pU().merge(hU())}function si(){return d.union([d.object({type:d.literal(i.BreakStatement)}),d.record(d.string(),d.any())])}function mn(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.BreakStatement)})}function Ec(){return d.object({id:d.string(),type:d.literal(i.BreakStatement)})}function mU(){return Ec().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function TU(){return Ec().merge(d.object({}))}function EU(){return d.object({calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),outputs:d.array(fn()),throws:d.optional(fn()),parent:rn()})}function RU(){return mU().merge(EU())}function ft(){return d.union([d.object({type:d.literal(i.OutputMap)}),d.record(d.string(),d.any())])}function Rc(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.OutputMap)})}function bc(){return d.object({id:d.string(),type:d.literal(i.OutputMap)})}function bU(){return bc().merge(d.object({version:d.number(),index:d.number()}))}function gU(){return bc().merge(d.object({}))}function vU(){return d.object({writesValues:d.array(En()),declaration:d.union([fn(),cr()]),parent:d.union([de(),rn(),mn()])})}function IU(){return bU().merge(vU())}function oi(){return d.union([d.object({type:d.literal(i.FunctionCall)}),d.record(d.string(),d.any())])}function ia(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.FunctionCall)})}function gc(){return d.object({id:d.string(),type:d.literal(i.FunctionCall)})}function DU(){return gc().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function PU(){return gc().merge(d.object({}))}function AU(){return d.object({successCalls:d.array(We()),errorCalls:d.array(We()),calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),writesValues:d.array(En()),declaration:Mt(),inputs:d.array(wt()),outputs:d.array(ft()),error:d.optional(ft()),parent:d.union([Rn(),It()])})}function SU(){return DU().merge(AU())}function OU(){return d.enum([Me.Equal,Me.NotEqual,Me.MoreThan,Me.MoreThanOrEqual,Me.LessThan,Me.LessThanOrEqual,Me.And,Me.Or,$t.Empty,$t.NotEmpty])}function aa(){return d.union([d.object({type:d.literal(i.Condition)}),d.record(d.string(),d.any())])}function Fs(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.Condition)})}function vc(){return d.object({id:d.string(),type:d.literal(i.Condition)})}function CU(){return vc().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function BU(){return vc().merge(d.object({}))}function wU(){return d.object({successCalls:d.array(We()),errorCalls:d.array(We()),calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),leftValue:wt(),rightValue:wt().nullable(),operator:OU(),parent:d.union([Rn(),It()])})}function MU(){return CU().merge(wU())}function sa(){return d.union([d.object({type:d.literal(i.Search)}),d.record(d.string(),d.any())])}function oa(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.Search)})}function Ic(){return d.object({id:d.string(),type:d.literal(i.Search),name:d.string(),query:d.any(),description:d.string().nullable()})}function _U(){return Ic().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function NU(){return Ic().merge(d.object({}))}function VU(){return d.object({successCalls:d.array(We()),errorCalls:d.array(We()),calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),inputsDeclarations:d.array(pr()),inputs:d.array(wt()),outputsDeclarations:d.array(ra()),outputs:d.array(ft()),parent:d.union([Rn(),It()]),error:ft().nullable()})}function $U(){return _U().merge(VU())}function la(){return d.union([d.object({type:d.literal(i.InternalCall)}),d.record(d.string(),d.any())])}function Dc(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.InternalCall)})}function Pc(){return d.object({id:d.string(),type:d.literal(i.InternalCall),index:d.number()})}function LU(){return Pc().merge(d.object({version:d.number(),index:d.number()}))}function GU(){return Pc().merge(d.object({declaration:d.union([d.string(),Mt()])}))}function FU(){return d.object({successCalls:d.array(We()),errorCalls:d.array(We()),calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),writesValues:d.array(En()),declaration:Mt(),inputs:d.array(wt()),outputs:d.array(ft()),parent:Fn(),error:d.optional(ft())})}function UU(){return LU().merge(FU())}function wt(){return d.union([d.object({type:d.literal(i.InputMap)}),d.record(d.string(),d.any())])}function Us(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.InputMap)})}function Ac(){return d.object({id:d.string(),type:d.literal(i.InputMap),name:d.string().nullable().optional(),description:d.string().nullable().optional()})}function xU(){return Ac().merge(d.object({version:d.number(),index:d.number()}))}function jU(){return Ac().merge(d.object({}))}function kU(){return d.object({defaultValue:Sc().nullable(),declaration:d.union([pr(),cr()]).nullable(),readsValue:ca().nullable(),parent:d.union([de(),Us(),rn(),mn()]),dynamicArguments:d.array(wt())})}function qU(){return xU().merge(kU())}function li(){return d.union([d.object({type:d.literal(i.Operation)}),d.record(d.string(),d.any())])}function ci(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.Operation)})}function xs(){return d.object({id:d.string(),type:d.literal(i.Operation)})}function JU(){return xs().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function WU(){return xs().merge(d.object({}))}function HU(){return xs().merge(d.object({successCalls:d.array(We()),errorCalls:d.array(We()),calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),writesValues:d.array(En()),declaration:nn(),inputs:d.array(wt()),outputs:d.array(ft()),error:d.array(ft()),dynamicArguments:d.array(wt()),parent:d.union([Rn(),It()])}))}function YU(){return JU().merge(HU())}function js(){return d.union([d.string(),d.number(),d.boolean(),d.null(),d.date()])}function Vb(){return d.record(d.string(),js())}function zU(){return d.array(d.union([js(),Vb()]))}function $b(){return d.union([js(),Vb(),zU()])}function Lb(){return d.union([js(),$b()])}function Gb(){return d.enum([P.String,P.Number,P.Boolean,P.Null,P.Date,P.JSON,P.Enum,P.File,P.UUID,P.EntityTemplate,P.ActionDescriptor])}function ZU(){return d.union([yr(),ci(),da()])}function XU(){return d.object({id:d.string(),name:Gb(),type:d.literal(i.PrimitiveValue),value:Lb(),autogeneration:uc.nullable()})}function QU(){return XU().merge(d.object({}))}function Ht(){return d.object({id:d.string(),version:d.number(),name:Gb(),type:d.literal(i.PrimitiveValue),value:Lb(),valueAsType:ZU().nullable(),autogeneration:uc.nullable(),parent:d.union([Oc(),Us()])})}function KU(){return Ht().extend({name:d.literal(P.String),value:d.string(),autogeneration:lc.nullable()})}function ex(){return Ht().extend({name:d.literal(P.Number),value:d.number(),autogeneration:cc.nullable()})}function tx(){return Ht().extend({name:d.literal(P.Boolean),value:d.boolean(),autogeneration:oc.nullable()})}function nx(){return Ht().extend({name:d.literal(P.Null),value:d.null(),autogeneration:d.null()})}function rx(){return Ht().extend({name:d.literal(P.Date),value:d.date(),autogeneration:dc.nullable()})}function ix(){return Ht().extend({name:d.literal(P.JSON),value:$b(),autogeneration:d.null()})}function ax(){return Ht().extend({name:d.literal(P.Enum),value:d.string(),autogeneration:d.null()})}function sx(){return Ht().extend({name:d.literal(P.File),value:d.string(),autogeneration:d.null()})}function ox(){return Ht().extend({name:d.literal(P.UUID),value:d.string(),autogeneration:sc.nullable()})}function lx(){return Ht().extend({name:d.literal(P.EntityTemplate),value:yr(),autogeneration:d.null()})}function cx(){return Ht().extend({name:d.literal(P.ActionDescriptor),value:da(),autogeneration:d.null()})}function Sc(){return d.union([KU(),ex(),tx(),nx(),rx(),ix(),ax(),sx(),ox(),lx(),cx()])}function Tn(){return d.union([d.object({type:d.literal(i.DataType)}),d.record(d.string(),d.any())])}function Oc(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.DataType)})}function Cc(){return d.object({id:d.string(),type:d.literal(i.DataType),isNullable:d.boolean(),isList:d.boolean(),constant:d.boolean(),asType:d.boolean(),options:d.array(d.string()).optional()})}function dx(){return Cc().merge(d.object({version:d.number()}))}function ux(){return Cc().merge(d.object({}))}function px(){return d.object({defaultValue:Sc().nullable(),entity:d.union([di(),ti(),Ns(),nn()]).nullable(),parent:d.union([Bb(),xb(),Gn(),Cb()])})}function yx(){return dx().merge(px())}function Bc(){return d.union([d.object({type:d.literal(i.VariableDeclaration)}),d.record(d.string(),d.any())])}function hx(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.VariableDeclaration)})}function wc(){return d.object({id:d.string(),type:d.literal(i.VariableDeclaration),name:d.string(),description:d.string().nullable()})}function fx(){return wc().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function mx(){return wc().merge(d.object({}))}function Tx(){return d.object({dataType:Tn().nullable(),readsValue:ca().nullable(),writesValues:d.array(En()),inputs:d.array(wt()),outputs:d.array(ft()),successCalls:d.array(We()),errorCalls:d.array(We()),internalCalls:d.array(la()),calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),parent:d.union([Rn(),It()])})}function Ex(){return fx().merge(Tx())}function Fb(){return d.union([d.object({type:d.literal(i.VariableInstance)}),d.record(d.string(),d.any())])}function Rx(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.VariableInstance)})}function Mc(){return d.object({id:d.string(),type:d.literal(i.VariableInstance)})}function bx(){return Mc().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function gx(){return Mc().merge(d.object({}))}function vx(){return d.object({declaration:Bc(),dataType:Tn().nullable(),readsValue:ca().nullable(),writesValues:d.array(En()),inputs:d.array(wt()),outputs:d.array(ft()),successCalls:d.array(We()),errorCalls:d.array(We()),internalCalls:d.array(la()),calledBySuccess:d.array(de()),calledByError:d.array(de()),calledByEntry:d.array(Je()),parent:d.union([Rn(),It()])})}function Ix(){return bx().merge(vx())}function _c(){return d.union([d.object({type:d.literal(i.InstalledProject)}),d.record(d.string(),d.any())])}function ks(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.InstalledProject)})}function Dx(){return d.object({id:d.string(),type:d.literal(i.InstalledProject)})}function Px(){return d.object({version:d.number(),x:d.number(),y:d.number()})}function Ax(){return d.object({})}function Sx(){return d.object({implements:It(),description:d.string().nullable(),functions:d.array(Mt()),events:d.array(Nc()),parent:It()})}function Ox(){return Px().merge(Sx())}function Nc(){return d.union([d.object({type:d.literal(i.GlobalEvent)}),d.record(d.string(),d.any())])}function Cx(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.GlobalEvent)})}function qs(){return d.object({id:d.string(),type:d.literal(i.GlobalEvent),name:d.string(),collapsed:d.boolean()})}function Bx(){return qs().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function wx(){return qs().merge(d.object({}))}function Mx(){return qs().merge(d.object({returnStatements:d.array(dr()),implements:d.array(Mb()),inputs:d.array(pr()),calls:d.array(We()),parent:d.union([It(),ks()])}))}function _x(){return Bx().merge(Mx())}function ur(){return d.union([Bc(),Fb()])}function Fn(){return d.union([hx(),Rx()])}function En(){return d.union([ur(),wt(),fn()])}function Ub(){return d.union([Fn(),Us(),Nb()])}function ca(){return d.union([ur(),pr(),ft(),li(),la(),oi()])}function Nx(){return d.union([Fn(),Vc(),Rc(),ci(),Dc(),ia()])}function Vx(){return d.union([pr(),ft(),En()])}function xb(){return d.union([Vc(),Rc(),Ub()])}function Js(){return Nc()}function Ws(){return Cx()}function Hs(){return d.union([li(),oi(),aa(),sa(),ur(),la(),ni()])}function de(){return d.union([ci(),ia(),Fs(),oa(),Fn(),Dc(),rn()])}function Ys(){return d.union([li(),oi(),aa(),sa(),ur(),ni()])}function zs(){return d.union([ci(),ia(),Fs(),oa(),Fn(),rn()])}function jb(){return d.union([Hs(),dr(),si(),ri()])}function We(){return d.union([de(),ai(),mn(),ii()])}function kb(){return d.union([Ys(),dr(),si(),ri()])}function qb(){return d.union([zs(),ai(),mn(),ii()])}function Un(){return d.union([Mt(),Js()])}function Je(){return d.union([da(),Ws()])}function $x(){return d.union([Hs(),Un()])}function Lx(){return d.union([de(),Je()])}function Gx(){return d.union([Ys(),Un()])}function Fx(){return d.union([zs(),Je()])}function Ux(){return d.union([jb(),Un()])}function xx(){return d.union([We(),Je()])}function jx(){return d.union([kb(),Un()])}function kx(){return d.union([qb(),Je()])}function qx(){return d.union([Un(),ni()])}function Rn(){return d.union([Je(),rn()])}function Jx(){return d.union([Hs(),Un()])}function Wx(){return d.union([de(),Je()])}function Hx(){return d.union([Ys(),Un()])}function Yx(){return d.union([zs(),Je()])}function zx(){return d.union([dr(),si(),ri()])}function Zx(){return d.union([ai(),mn(),ii()])}function Xx(){return d.union([ti(),c8(),_c(),di(),Mt(),Js(),ur(),wt(),ft(),aa(),li(),oi(),fn(),pr(),Ns(),Tn(),cr(),nn(),dr(),ri(),si(),ni(),sa(),nn(),nn(),ra(),la()])}function Qx(){return d.union([Ls(),It(),ks(),yr(),da(),Ws(),Fn(),Us(),Rc(),Fs(),ci(),ia(),Nb(),Vc(),Vs(),Oc(),Bb(),Gn(),ai(),ii(),mn(),rn(),oa(),Gn(),Gn(),Cb(),Dc()])}function Kx(){return d.union([_c(),di(),Mt(),Js(),ur(),aa(),li(),oi(),dr(),ri(),si(),ni(),sa()])}function e8(){return d.union([ks(),yr(),da(),Ws(),Fn(),Fs(),ci(),ia(),ai(),ii(),mn(),rn(),oa()])}function pr(){return d.union([d.object({type:d.literal(i.ArgumentDeclaration)}),d.record(d.string(),d.any())])}function Vc(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.ArgumentDeclaration)})}function $c(){return d.object({id:d.string(),type:d.literal(i.ArgumentDeclaration)})}function t8(){return $c().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function n8(){return $c().merge(d.object({}))}function r8(){return d.object({dataType:Tn().nullable(),writesValues:d.array(En()),parent:d.union([Je(),Gn(),Gn(),oa(),mn()])})}function i8(){return t8().merge(r8())}function Mt(){return d.union([d.object({type:d.literal(i.FunctionDeclaration)}),d.record(d.string(),d.any())])}function da(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.FunctionDeclaration)})}function Lc(){return d.object({id:d.string(),type:d.literal(i.FunctionDeclaration),name:d.string(),description:d.string().nullable()})}function a8(){return Lc().merge(d.object({version:d.number(),x:d.number(),y:d.number(),index:d.number().nullable()}))}function s8(){return Lc()}function o8(){return d.object({inputs:d.array(pr()),implements:nn().nullable(),returnStatements:d.array(dr()),parent:d.union([It(),ks(),yr(),rn(),Ls(),Vs()])})}function l8(){return a8().merge(o8())}function c8(){return d.union([d.object({type:d.literal(i.Project)}),d.record(d.string(),d.any())])}function It(){return d.object({entityType:d.literal(i.Project),entityId:d.string(),id:d.string(),type:d.literal(i.GenericReference)})}function Gc(){return d.object({id:d.string(),type:d.literal(i.Project),name:d.string(),description:d.string().nullable()})}function d8(){return Gc().merge(d.object({version:d.number()}))}function u8(){return Gc()}function p8(){return d.object({entities:d.array(di()),functions:d.array(Mt()),events:d.array(Nc()),projects:d.array(_c()),variableDeclarations:d.array(Bc()),variableInstances:d.array(Fb()),conditions:d.array(aa()),operations:d.array(li()),functionCalls:d.array(oi()),loops:d.array(ni()),searches:d.array(sa())})}function y8(){return d8().merge(p8())}function di(){return d.union([d.object({type:d.literal(i.CustomEntity)}),d.record(d.string(),d.any())])}function yr(){return d.object({id:d.string(),type:d.literal(i.GenericReference),entityId:d.string(),entityType:d.literal(i.CustomEntity)})}function Fc(){return d.object({id:d.string(),type:d.literal(i.CustomEntity),name:d.string(),description:d.string().nullable(),static:d.boolean(),abstract:d.boolean()})}function h8(){return Fc().merge(d.object({version:d.number(),x:d.number(),y:d.number()}))}function f8(){return Fc().merge(d.object({}))}function m8(){return d.union([It(),Oc()])}function T8(){return d.object({properties:d.array(cr()),methods:d.array(Mt()),abstractMethods:d.array(nn()),extends:d.array(d.union([di(),ti()])),implements:d.array(d.union([di(),ti()])),parent:m8()})}function E8(){return h8().merge(T8())}function R8(n){const e=E8(),t=n.toJSON();e.safeParse(t).success;const a=n.implements.flatMap(f=>v8(n,f)),s=n.extends.flatMap(f=>I8(n,f)),o=P8(n),l=D8(n);n.methods.flatMap(f=>f.validate());const p=[...a,...s,...o,...l];return ne(n.errors,p)}function b8(n,e){const t=e.properties.filter(s=>s.abstract),r=[];let a=[...n.properties];return t.forEach(s=>{const o=a.find(l=>{var p;return((p=l.implements)==null?void 0:p.id)===s.id});o?a=a.filter(l=>l.id!==o.id):r.push(s)}),r}function g8(n,e){const t=e.abstractMethods,r=[];let a=[...n.methods];return t.forEach(s=>{const o=a.find(l=>{var p;return((p=l.implements)==null?void 0:p.id)===s.id});o?a=a.filter(l=>l.id!==o.id):r.push(s)}),r}function v8(n,e){const t=[];if(!e.abstract){const f=H({id:n.id+"--"+M.ImplementingNonAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is implementing a non-abstract entity "${e.name}" with id "${e.id}"`,issue:null,severity:T.Error,code:M.ImplementingNonAbstractEntity,entity:n});return t.push(f.error),t}const r=e.properties.filter(f=>f.abstract),a=[];let s=[...n.properties];r.forEach(f=>{const m=s.find(b=>{var g;return((g=b.implements)==null?void 0:g.id)===f.id});m?s=s.filter(b=>b.id!==m.id):a.push(f)}),a.length&&a.forEach(f=>{const m=H({id:n.id+"--"+M.MissingPropertyImplementation+"--"+f.id,message:`Property "${f.name}" with id "${f.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:T.Error,code:M.MissingPropertyImplementation,entity:n});t.push(m.error)});const o=[];let l=[...n.methods];e.abstractMethods.forEach(f=>{const m=l.find(b=>{var g;return((g=b.implements)==null?void 0:g.id)===f.id});m?l=l.filter(b=>b.id!==m.id):o.push(f)}),o.length&&o.forEach(f=>{const m=H({id:n.id+"--"+M.MissingMethodImplementation+"--"+f.id,message:`Method "${f.name}" with id "${f.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:T.Error,code:M.MissingMethodImplementation,entity:n});t.push(m.error)});const p=[];e.properties.forEach(f=>{const m=s.find(b=>b.name===f.name);m&&p.push([m,f])}),p.length&&p.forEach(([f])=>{const m=H({id:n.id+"--"+A.PropertyOverwrite+"--"+f.id,message:`Property "${f.name}" with id "${f.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:T.Error,code:A.PropertyOverwrite,entity:n});t.push(m.error)});const y=[];return e.methods.forEach(f=>{const m=l.find(b=>b.name===f.name);m&&y.push([m,f])}),y.length&&y.forEach(([f])=>{const m=H({id:n.id+"--"+A.MethodOverwrite+"--"+f.id,message:`Method "${f.name}" with id "${f.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:T.Error,code:A.MethodOverwrite,entity:n});t.push(m.error)}),t}function I8(n,e){const t=[],r=[];if(e.abstract){const s=H({id:n.id+"--"+M.ExtendingAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is extending an abstract entity "${e.name}" with id "${e.id}"`,issue:null,severity:T.Error,code:M.ExtendingAbstractEntity,entity:n});return t.push(s.error),t}n.properties.forEach(s=>{var l;const o=e.properties.find(p=>p.name===s.name);((l=s.implements)==null?void 0:l.id)!==(o==null?void 0:o.id)&&o&&r.push(s)}),r.length&&r.forEach(s=>{const o=H({id:n.id+"--"+A.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:T.Error,code:A.PropertyOverwrite,entity:n});t.push(o.error)});const a=[];return n.methods.forEach(s=>{var l;const o=e.methods.find(p=>p.name===s.name);((l=s.implements)==null?void 0:l.id)!==(o==null?void 0:o.id)&&o&&a.push(s)}),a.length&&a.forEach(s=>{const o=H({id:n.id+"--"+A.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:T.Error,code:A.MethodOverwrite,entity:n});t.push(o.error)}),t}function D8(n){const e=[];if(!n.properties.length){const t=H({id:n.id+"--"+M.NoProperties,message:"No properties implemented",issue:null,severity:T.Warning,code:M.NoProperties,entity:n});e.push(t.error)}return n.properties.forEach(t=>{t.validate()}),e}function P8(n){const e=[];if(n.abstract){if(n.methods.length){const t=H({id:n.id+"--"+M.AbstractEntityWithNonAbstractMethods,message:`Entity "${n.name}" with id "${n.id}" is marked as abstract but has non-abstract methods`,issue:null,severity:T.Error,code:M.AbstractEntityWithNonAbstractMethods,entity:n});e.push(t.error)}if(n.properties.some(t=>!t.abstract)){const t=H({id:n.id+"--"+M.AbstractEntityWithNonAbstractProperties,message:`Entity "${n.name}" with id "${n.id}" is marked as abstract but has non-abstract properties`,issue:null,severity:T.Error,code:M.AbstractEntityWithNonAbstractProperties,entity:n});e.push(t.error),n.properties.forEach(r=>{if(!r.abstract){const a=H({id:n.id+"--"+M.StaticEntityWithNonStaticProperties+"--"+r.id,message:`Property "${r.name}" with id "${r.id}" of entity "${n.name}" with id "${n.id}" is not marked as abstract but the entity is marked as abstract`,issue:null,severity:T.Error,code:M.StaticEntityWithNonStaticProperties,entity:n});e.push(a.error)}})}}else{if(n.abstractMethods.length){const t=H({id:n.id+"--"+M.AbstractPropertyInNonAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is not marked as abstract but has abstract methods`,issue:null,severity:T.Error,code:M.AbstractPropertyInNonAbstractEntity,entity:n});e.push(t.error)}if(n.properties.some(t=>t.abstract)){const t=H({id:n.id+"--"+M.AbstractMethodInNonAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is not marked as abstract but has abstract properties`,issue:null,severity:T.Error,code:M.AbstractMethodInNonAbstractEntity,entity:n});e.push(t.error),n.properties.forEach(r=>{if(r.abstract){const a=H({id:n.id+"--"+M.AbstractMethodInNonAbstractEntity+"--"+r.id,message:`Property "${r.name}" with id "${r.id}" of entity "${n.name}" with id "${n.id}" is marked as abstract but the entity is not marked as abstract`,issue:null,severity:T.Error,code:M.AbstractMethodInNonAbstractEntity,entity:n});e.push(a.error)}})}}if(n.static&&n.properties.some(t=>!t.static)){const t=H({id:n.id+"--"+M.StaticEntityWithNonStaticProperties,message:`Entity "${n.name}" with id "${n.id}" is marked as static but has non-static properties`,issue:null,severity:T.Error,code:M.StaticEntityWithNonStaticProperties,entity:n});e.push(t.error),n.properties.forEach(r=>{if(!r.static){const a=H({id:n.id+"--"+M.NonStaticPropertyInStaticEntity+"--"+r.id,message:`Property "${r.name}" with id "${r.id}" of entity "${n.name}" with id "${n.id}" is not marked as static but the entity is marked as static`,issue:null,severity:T.Error,code:M.NonStaticPropertyInStaticEntity,entity:n});e.push(a.error)}})}return e}function A8(n){return n instanceof Error&&n.name==="ZodError"&&"issues"in n&&Array.isArray(n.issues)}var S8=class extends Error{constructor(e,t){super(e,t);c(this,"name");c(this,"details");this.name="ZodValidationError",this.details=O8(t)}toString(){return this.message}};function O8(n){if(n){const e=n.cause;if(A8(e))return e.issues}return[]}var C8="; ",Jb="Validation error",B8=": ",w8=", or ";function M8(n,e,t){return e!==null?n.length>0?[e,n].join(t):e:n.length>0?n:Jb}var _8=/[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*/u;function N8(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+'["'+V8(t)+'"]';if(!_8.test(t))return e+'["'+t+'"]';const r=e.length===0?"":".";return e+r+t},"")}function V8(n){return n.replace(/"/g,'\\"')}function $8(n){return n.length!==0}function Zs(n){const{issue:e,issueSeparator:t,unionSeparator:r,includePath:a}=n;if(e.code==="invalid_union")return e.unionErrors.reduce((s,o)=>{const l=o.issues.map(p=>Zs({issue:p,issueSeparator:t,unionSeparator:r,includePath:a})).join(t);return s.includes(l)||s.push(l),s},[]).join(r);if(e.code==="invalid_arguments")return[e.message,...e.argumentsError.issues.map(s=>Zs({issue:s,issueSeparator:t,unionSeparator:r,includePath:a}))].join(t);if(e.code==="invalid_return_type")return[e.message,...e.returnTypeError.issues.map(s=>Zs({issue:s,issueSeparator:t,unionSeparator:r,includePath:a}))].join(t);if(a&&$8(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 "${N8(e.path)}"`}return e.message}function L8(n,e={}){const{issueSeparator:t=C8,unionSeparator:r=w8,prefixSeparator:a=B8,prefix:s=Jb,includePath:o=!0}=e,l=Zs({issue:n,issueSeparator:t,unionSeparator:r,includePath:o}),p=M8(l,s,a);return new S8(p,{cause:new bt([n])})}var Wb="1.13.7",Hb=typeof self=="object"&&self.self===self&&self||typeof global=="object"&&global.global===global&&global||Function("return this")()||{},Xs=Array.prototype,Uc=Object.prototype,Yb=typeof Symbol<"u"?Symbol.prototype:null,G8=Xs.push,ua=Xs.slice,pa=Uc.toString,F8=Uc.hasOwnProperty,zb=typeof ArrayBuffer<"u",U8=typeof DataView<"u",x8=Array.isArray,Zb=Object.keys,Xb=Object.create,Qb=zb&&ArrayBuffer.isView,j8=isNaN,k8=isFinite,Kb=!{toString:null}.propertyIsEnumerable("toString"),eg=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],q8=Math.pow(2,53)-1;function Dt(n,e){return e=e==null?n.length-1:+e,function(){for(var t=Math.max(arguments.length-e,0),r=Array(t),a=0;a<t;a++)r[a]=arguments[a+e];switch(e){case 0:return n.call(this,r);case 1:return n.call(this,arguments[0],r);case 2:return n.call(this,arguments[0],arguments[1],r)}var s=Array(e+1);for(a=0;a<e;a++)s[a]=arguments[a];return s[e]=r,n.apply(this,s)}}function xn(n){var e=typeof n;return e==="function"||e==="object"&&!!n}function J8(n){return n===null}function tg(n){return n===void 0}function ng(n){return n===!0||n===!1||pa.call(n)==="[object Boolean]"}function W8(n){return!!(n&&n.nodeType===1)}function st(n){var e="[object "+n+"]";return function(t){return pa.call(t)===e}}const xc=st("String"),rg=st("Number"),H8=st("Date"),Y8=st("RegExp"),z8=st("Error"),ig=st("Symbol"),ag=st("ArrayBuffer");var sg=st("Function"),Z8=Hb.document&&Hb.document.childNodes;typeof/./!="function"&&typeof Int8Array!="object"&&typeof Z8!="function"&&(sg=function(n){return typeof n=="function"||!1});const mt=sg,og=st("Object");var lg=U8&&(!/\[native code\]/.test(String(DataView))||og(new DataView(new ArrayBuffer(8)))),jc=typeof Map<"u"&&og(new Map),X8=st("DataView");function Q8(n){return n!=null&&mt(n.getInt8)&&ag(n.buffer)}const Qs=lg?Q8:X8,hr=x8||st("Array");function jn(n,e){return n!=null&&F8.call(n,e)}var kc=st("Arguments");(function(){kc(arguments)||(kc=function(n){return jn(n,"callee")})})();const qc=kc;function K8(n){return!ig(n)&&k8(n)&&!isNaN(parseFloat(n))}function cg(n){return rg(n)&&j8(n)}function dg(n){return function(){return n}}function ug(n){return function(e){var t=n(e);return typeof t=="number"&&t>=0&&t<=q8}}function pg(n){return function(e){return e==null?void 0:e[n]}}const Ks=pg("byteLength"),e6=ug(Ks);var t6=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;function n6(n){return Qb?Qb(n)&&!Qs(n):e6(n)&&t6.test(pa.call(n))}const yg=zb?n6:dg(!1),Pt=pg("length");function r6(n){for(var e={},t=n.length,r=0;r<t;++r)e[n[r]]=!0;return{contains:function(a){return e[a]===!0},push:function(a){return e[a]=!0,n.push(a)}}}function hg(n,e){e=r6(e);var t=eg.length,r=n.constructor,a=mt(r)&&r.prototype||Uc,s="constructor";for(jn(n,s)&&!e.contains(s)&&e.push(s);t--;)s=eg[t],s in n&&n[s]!==a[s]&&!e.contains(s)&&e.push(s)}function Ye(n){if(!xn(n))return[];if(Zb)return Zb(n);var e=[];for(var t in n)jn(n,t)&&e.push(t);return Kb&&hg(n,e),e}function ya(n){if(n==null)return!0;var e=Pt(n);return typeof e=="number"&&(hr(n)||xc(n)||qc(n))?e===0:Pt(Ye(n))===0}function fg(n,e){var t=Ye(e),r=t.length;if(n==null)return!r;for(var a=Object(n),s=0;s<r;s++){var o=t[s];if(e[o]!==a[o]||!(o in a))return!1}return!0}function re(n){if(n instanceof re)return n;if(!(this instanceof re))return new re(n);this._wrapped=n}re.VERSION=Wb,re.prototype.value=function(){return this._wrapped},re.prototype.valueOf=re.prototype.toJSON=re.prototype.value,re.prototype.toString=function(){return String(this._wrapped)};function mg(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,Ks(n))}var Tg="[object DataView]";function Jc(n,e,t,r){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:Eg(n,e,t,r)}function Eg(n,e,t,r){n instanceof re&&(n=n._wrapped),e instanceof re&&(e=e._wrapped);var a=pa.call(n);if(a!==pa.call(e))return!1;if(lg&&a=="[object Object]"&&Qs(n)){if(!Qs(e))return!1;a=Tg}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 Yb.valueOf.call(n)===Yb.valueOf.call(e);case"[object ArrayBuffer]":case Tg:return Eg(mg(n),mg(e),t,r)}var s=a==="[object Array]";if(!s&&yg(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 l=n.constructor,p=e.constructor;if(l!==p&&!(mt(l)&&l instanceof l&&mt(p)&&p instanceof p)&&"constructor"in n&&"constructor"in e)return!1}t=t||[],r=r||[];for(var y=t.length;y--;)if(t[y]===n)return r[y]===e;if(t.push(n),r.push(e),s){if(y=n.length,y!==e.length)return!1;for(;y--;)if(!Jc(n[y],e[y],t,r))return!1}else{var f=Ye(n),m;if(y=f.length,Ye(e).length!==y)return!1;for(;y--;)if(m=f[y],!(jn(e,m)&&Jc(n[m],e[m],t,r)))return!1}return t.pop(),r.pop(),!0}function i6(n,e){return Jc(n,e)}function ha(n){if(!xn(n))return[];var e=[];for(var t in n)e.push(t);return Kb&&hg(n,e),e}function Wc(n){var e=Pt(n);return function(t){if(t==null)return!1;var r=ha(t);if(Pt(r))return!1;for(var a=0;a<e;a++)if(!mt(t[n[a]]))return!1;return n!==gg||!mt(t[Hc])}}var Hc="forEach",Rg="has",Yc=["clear","delete"],bg=["get",Rg,"set"],a6=Yc.concat(Hc,bg),gg=Yc.concat(bg),s6=["add"].concat(Yc,Hc,Rg);const o6=jc?Wc(a6):st("Map"),l6=jc?Wc(gg):st("WeakMap"),c6=jc?Wc(s6):st("Set"),d6=st("WeakSet");function ui(n){for(var e=Ye(n),t=e.length,r=Array(t),a=0;a<t;a++)r[a]=n[e[a]];return r}function u6(n){for(var e=Ye(n),t=e.length,r=Array(t),a=0;a<t;a++)r[a]=[e[a],n[e[a]]];return r}function vg(n){for(var e={},t=Ye(n),r=0,a=t.length;r<a;r++)e[n[t[r]]]=t[r];return e}function zc(n){var e=[];for(var t in n)mt(n[t])&&e.push(t);return e.sort()}function Zc(n,e){return function(t){var r=arguments.length;if(e&&(t=Object(t)),r<2||t==null)return t;for(var a=1;a<r;a++)for(var s=arguments[a],o=n(s),l=o.length,p=0;p<l;p++){var y=o[p];(!e||t[y]===void 0)&&(t[y]=s[y])}return t}}const Ig=Zc(ha),eo=Zc(Ye),Dg=Zc(ha,!0);function p6(){return function(){}}function Pg(n){if(!xn(n))return{};if(Xb)return Xb(n);var e=p6();e.prototype=n;var t=new e;return e.prototype=null,t}function y6(n,e){var t=Pg(n);return e&&eo(t,e),t}function h6(n){return xn(n)?hr(n)?n.slice():Ig({},n):n}function f6(n,e){return e(n),n}function Ag(n){return hr(n)?n:[n]}re.toPath=Ag;function fa(n){return re.toPath(n)}function Xc(n,e){for(var t=e.length,r=0;r<t;r++){if(n==null)return;n=n[e[r]]}return t?n:void 0}function Sg(n,e,t){var r=Xc(n,fa(e));return tg(r)?t:r}function m6(n,e){e=fa(e);for(var t=e.length,r=0;r<t;r++){var a=e[r];if(!jn(n,a))return!1;n=n[a]}return!!t}function Qc(n){return n}function ma(n){return n=eo({},n),function(e){return fg(e,n)}}function Kc(n){return n=fa(n),function(e){return Xc(e,n)}}function Ta(n,e,t){if(e===void 0)return n;switch(t??3){case 1:return function(r){return n.call(e,r)};case 3:return function(r,a,s){return n.call(e,r,a,s)};case 4:return function(r,a,s,o){return n.call(e,r,a,s,o)}}return function(){return n.apply(e,arguments)}}function Og(n,e,t){return n==null?Qc:mt(n)?Ta(n,e,t):xn(n)&&!hr(n)?ma(n):Kc(n)}function ed(n,e){return Og(n,e,1/0)}re.iteratee=ed;function At(n,e,t){return re.iteratee!==ed?re.iteratee(n,e):Og(n,e,t)}function T6(n,e,t){e=At(e,t);for(var r=Ye(n),a=r.length,s={},o=0;o<a;o++){var l=r[o];s[l]=e(n[l],l,n)}return s}function Cg(){}function E6(n){return n==null?Cg:function(e){return Sg(n,e)}}function R6(n,e,t){var r=Array(Math.max(0,n));e=Ta(e,t,1);for(var a=0;a<n;a++)r[a]=e(a);return r}function td(n,e){return e==null&&(e=n,n=0),n+Math.floor(Math.random()*(e-n+1))}const Ea=Date.now||function(){return new Date().getTime()};function Bg(n){var e=function(s){return n[s]},t="(?:"+Ye(n).join("|")+")",r=RegExp(t),a=RegExp(t,"g");return function(s){return s=s==null?"":""+s,r.test(s)?s.replace(a,e):s}}const wg={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},b6=Bg(wg),g6=vg(wg),v6=Bg(g6),I6=re.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var nd=/(.)^/,D6={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},P6=/\\|'|\r|\n|\u2028|\u2029/g;function A6(n){return"\\"+D6[n]}var S6=/^\s*(\w|\$)+\s*$/;function O6(n,e,t){!e&&t&&(e=t),e=Dg({},e,re.templateSettings);var r=RegExp([(e.escape||nd).source,(e.interpolate||nd).source,(e.evaluate||nd).source].join("|")+"|$","g"),a=0,s="__p+='";n.replace(r,function(y,f,m,b,g){return s+=n.slice(a,g).replace(P6,A6),a=g+y.length,f?s+=`'+
2
2
  ((__t=(`+f+`))==null?'':_.escape(__t))+
3
3
  '`:m?s+=`'+
4
4
  ((__t=(`+m+`))==null?'':__t)+
@@ -10,16 +10,16 @@ __p+='`),y}),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 l;try{l=new Function(o,"_",s)}catch(y){throw y.source=s,y}var p=function(y){return l.call(this,y,re)};return p.source="function("+o+`){
13
- `+s+"}",p}function C6(n,e,t){e=fa(e);var r=e.length;if(!r)return mt(t)?t.call(n):t;for(var a=0;a<r;a++){var s=n==null?void 0:n[e[a]];s===void 0&&(s=t,a=r),n=mt(s)?s.call(n):s}return n}var B6=0;function w6(n){var e=++B6+"";return n?n+e:e}function _6(n){var e=re(n);return e._chain=!0,e}function _g(n,e,t,r,a){if(!(r instanceof e))return n.apply(t,a);var s=Pg(n.prototype),o=n.apply(s,a);return xn(o)?o:s}var pi=Dt(function(n,e){var t=pi.placeholder,r=function(){for(var a=0,s=e.length,o=Array(s),l=0;l<s;l++)o[l]=e[l]===t?arguments[a++]:e[l];for(;a<arguments.length;)o.push(arguments[a++]);return _g(n,r,this,this,o)};return r});pi.placeholder=re;const Mg=Dt(function(n,e,t){if(!mt(n))throw new TypeError("Bind must be called on a function");var r=Dt(function(a){return _g(n,r,e,this,t.concat(a))});return r}),Mt=ug(Pt);function fr(n,e,t,r){if(r=r||[],!e&&e!==0)e=1/0;else if(e<=0)return r.concat(n);for(var a=r.length,s=0,o=Pt(n);s<o;s++){var l=n[s];if(Mt(l)&&(hr(l)||qc(l)))if(e>1)fr(l,e-1,t,r),a=r.length;else for(var p=0,y=l.length;p<y;)r[a++]=l[p++];else t||(r[a++]=l)}return r}const M6=Dt(function(n,e){e=fr(e,!1,!1);var t=e.length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var r=e[t];n[r]=Mg(n[r],n)}return n});function N6(n,e){var t=function(r){var a=t.cache,s=""+(e?e.apply(this,arguments):r);return jn(a,s)||(a[s]=n.apply(this,arguments)),a[s]};return t.cache={},t}const Ng=Dt(function(n,e,t){return setTimeout(function(){return n.apply(null,t)},e)}),V6=pi(Ng,re,1);function $6(n,e,t){var r,a,s,o,l=0;t||(t={});var p=function(){l=t.leading===!1?0:Ea(),r=null,o=n.apply(a,s),r||(a=s=null)},y=function(){var f=Ea();!l&&t.leading===!1&&(l=f);var m=e-(f-l);return a=this,s=arguments,m<=0||m>e?(r&&(clearTimeout(r),r=null),l=f,o=n.apply(a,s),r||(a=s=null)):!r&&t.trailing!==!1&&(r=setTimeout(p,m)),o};return y.cancel=function(){clearTimeout(r),l=0,r=a=s=null},y}function L6(n,e,t){var r,a,s,o,l,p=function(){var f=Ea()-a;e>f?r=setTimeout(p,e-f):(r=null,t||(o=n.apply(l,s)),r||(s=l=null))},y=Dt(function(f){return l=this,s=f,a=Ea(),r||(r=setTimeout(p,e),t&&(o=n.apply(l,s))),o});return y.cancel=function(){clearTimeout(r),r=s=l=null},y}function G6(n,e){return pi(e,n)}function rd(n){return function(){return!n.apply(this,arguments)}}function F6(){var n=arguments,e=n.length-1;return function(){for(var t=e,r=n[e].apply(this,arguments);t--;)r=n[t].call(this,r);return r}}function U6(n,e){return function(){if(--n<1)return e.apply(this,arguments)}}function Vg(n,e){var t;return function(){return--n>0&&(t=e.apply(this,arguments)),n<=1&&(e=null),t}}const x6=pi(Vg,2);function $g(n,e,t){e=At(e,t);for(var r=Ye(n),a,s=0,o=r.length;s<o;s++)if(a=r[s],e(n[a],a,n))return a}function Lg(n){return function(e,t,r){t=At(t,r);for(var a=Pt(e),s=n>0?0:a-1;s>=0&&s<a;s+=n)if(t(e[s],s,e))return s;return-1}}const id=Lg(1),Gg=Lg(-1);function Fg(n,e,t,r){t=At(t,r,1);for(var a=t(e),s=0,o=Pt(n);s<o;){var l=Math.floor((s+o)/2);t(n[l])<a?s=l+1:o=l}return s}function Ug(n,e,t){return function(r,a,s){var o=0,l=Pt(r);if(typeof s=="number")n>0?o=s>=0?s:Math.max(s+l,o):l=s>=0?Math.min(s+1,l):s+l+1;else if(t&&s&&l)return s=t(r,a),r[s]===a?s:-1;if(a!==a)return s=e(ua.call(r,o,l),cg),s>=0?s+o:-1;for(s=n>0?o:l-1;s>=0&&s<l;s+=n)if(r[s]===a)return s;return-1}}const xg=Ug(1,id,Fg),j6=Ug(-1,Gg);function ad(n,e,t){var r=Mt(n)?id:$g,a=r(n,e,t);if(a!==void 0&&a!==-1)return n[a]}function k6(n,e){return ad(n,ma(e))}function bn(n,e,t){e=Ta(e,t);var r,a;if(Mt(n))for(r=0,a=n.length;r<a;r++)e(n[r],r,n);else{var s=Ye(n);for(r=0,a=s.length;r<a;r++)e(n[s[r]],s[r],n)}return n}function mr(n,e,t){e=At(e,t);for(var r=!Mt(n)&&Ye(n),a=(r||n).length,s=Array(a),o=0;o<a;o++){var l=r?r[o]:o;s[o]=e(n[l],l,n)}return s}function jg(n){var e=function(t,r,a,s){var o=!Mt(t)&&Ye(t),l=(o||t).length,p=n>0?0:l-1;for(s||(a=t[o?o[p]:p],p+=n);p>=0&&p<l;p+=n){var y=o?o[p]:p;a=r(a,t[y],y,t)}return a};return function(t,r,a,s){var o=arguments.length>=3;return e(t,Ta(r,s,4),a,o)}}const sd=jg(1),kg=jg(-1);function yi(n,e,t){var r=[];return e=At(e,t),bn(n,function(a,s,o){e(a,s,o)&&r.push(a)}),r}function q6(n,e,t){return yi(n,rd(At(e)),t)}function qg(n,e,t){e=At(e,t);for(var r=!Mt(n)&&Ye(n),a=(r||n).length,s=0;s<a;s++){var o=r?r[s]:s;if(!e(n[o],o,n))return!1}return!0}function Jg(n,e,t){e=At(e,t);for(var r=!Mt(n)&&Ye(n),a=(r||n).length,s=0;s<a;s++){var o=r?r[s]:s;if(e(n[o],o,n))return!0}return!1}function gn(n,e,t,r){return Mt(n)||(n=ui(n)),(typeof t!="number"||r)&&(t=0),xg(n,e,t)>=0}const J6=Dt(function(n,e,t){var r,a;return mt(e)?a=e:(e=fa(e),r=e.slice(0,-1),e=e[e.length-1]),mr(n,function(s){var o=a;if(!o){if(r&&r.length&&(s=Xc(s,r)),s==null)return;o=s[e]}return o==null?o:o.apply(s,t)})});function od(n,e){return mr(n,Kc(e))}function W6(n,e){return yi(n,ma(e))}function Wg(n,e,t){var r=-1/0,a=-1/0,s,o;if(e==null||typeof e=="number"&&typeof n[0]!="object"&&n!=null){n=Mt(n)?n:ui(n);for(var l=0,p=n.length;l<p;l++)s=n[l],s!=null&&s>r&&(r=s)}else e=At(e,t),bn(n,function(y,f,m){o=e(y,f,m),(o>a||o===-1/0&&r===-1/0)&&(r=y,a=o)});return r}function H6(n,e,t){var r=1/0,a=1/0,s,o;if(e==null||typeof e=="number"&&typeof n[0]!="object"&&n!=null){n=Mt(n)?n:ui(n);for(var l=0,p=n.length;l<p;l++)s=n[l],s!=null&&s<r&&(r=s)}else e=At(e,t),bn(n,function(y,f,m){o=e(y,f,m),(o<a||o===1/0&&r===1/0)&&(r=y,a=o)});return r}var Y6=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function Hg(n){return n?hr(n)?ua.call(n):xc(n)?n.match(Y6):Mt(n)?mr(n,Qc):ui(n):[]}function Yg(n,e,t){if(e==null||t)return Mt(n)||(n=ui(n)),n[td(n.length-1)];var r=Hg(n),a=Pt(r);e=Math.max(Math.min(e,a),0);for(var s=a-1,o=0;o<e;o++){var l=td(o,s),p=r[o];r[o]=r[l],r[l]=p}return r.slice(0,e)}function z6(n){return Yg(n,1/0)}function Z6(n,e,t){var r=0;return e=At(e,t),od(mr(n,function(a,s,o){return{value:a,index:r++,criteria:e(a,s,o)}}).sort(function(a,s){var o=a.criteria,l=s.criteria;if(o!==l){if(o>l||o===void 0)return 1;if(o<l||l===void 0)return-1}return a.index-s.index}),"value")}function to(n,e){return function(t,r,a){var s=e?[[],[]]:{};return r=At(r,a),bn(t,function(o,l){var p=r(o,l,t);n(s,o,p)}),s}}const X6=to(function(n,e,t){jn(n,t)?n[t].push(e):n[t]=[e]}),Q6=to(function(n,e,t){n[t]=e}),K6=to(function(n,e,t){jn(n,t)?n[t]++:n[t]=1}),e9=to(function(n,e,t){n[t?0:1].push(e)},!0);function t9(n){return n==null?0:Mt(n)?n.length:Ye(n).length}function n9(n,e,t){return e in t}const zg=Dt(function(n,e){var t={},r=e[0];if(n==null)return t;mt(r)?(e.length>1&&(r=Ta(r,e[1])),e=ha(n)):(r=n9,e=fr(e,!1,!1),n=Object(n));for(var a=0,s=e.length;a<s;a++){var o=e[a],l=n[o];r(l,o,n)&&(t[o]=l)}return t}),r9=Dt(function(n,e){var t=e[0],r;return mt(t)?(t=rd(t),e.length>1&&(r=e[1])):(e=mr(fr(e,!1,!1),String),t=function(a,s){return!gn(e,s)}),zg(n,t,r)});function Zg(n,e,t){return ua.call(n,0,Math.max(0,n.length-(e==null||t?1:e)))}function ld(n,e,t){return n==null||n.length<1?e==null||t?void 0:[]:e==null||t?n[0]:Zg(n,n.length-e)}function no(n,e,t){return ua.call(n,e==null||t?1:e)}function i9(n,e,t){return n==null||n.length<1?e==null||t?void 0:[]:e==null||t?n[n.length-1]:no(n,Math.max(0,n.length-e))}function a9(n){return yi(n,Boolean)}function s9(n,e){return fr(n,e,!1)}const Xg=Dt(function(n,e){return e=fr(e,!0,!0),yi(n,function(t){return!gn(e,t)})}),o9=Dt(function(n,e){return Xg(n,e)});function cd(n,e,t,r){ng(e)||(r=t,t=e,e=!1),t!=null&&(t=At(t,r));for(var a=[],s=[],o=0,l=Pt(n);o<l;o++){var p=n[o],y=t?t(p,o,n):p;e&&!t?((!o||s!==y)&&a.push(p),s=y):t?gn(s,y)||(s.push(y),a.push(p)):gn(a,p)||a.push(p)}return a}const l9=Dt(function(n){return cd(fr(n,!0,!0))});function c9(n){for(var e=[],t=arguments.length,r=0,a=Pt(n);r<a;r++){var s=n[r];if(!gn(e,s)){var o;for(o=1;o<t&&gn(arguments[o],s);o++);o===t&&e.push(s)}}return e}function dd(n){for(var e=n&&Wg(n,Pt).length||0,t=Array(e),r=0;r<e;r++)t[r]=od(n,r);return t}const d9=Dt(dd);function u9(n,e){for(var t={},r=0,a=Pt(n);r<a;r++)e?t[n[r]]=e[r]:t[n[r][0]]=n[r][1];return t}function p9(n,e,t){e==null&&(e=n||0,n=0),t||(t=e<n?-1:1);for(var r=Math.max(Math.ceil((e-n)/t),0),a=Array(r),s=0;s<r;s++,n+=t)a[s]=n;return a}function y9(n,e){if(e==null||e<1)return[];for(var t=[],r=0,a=n.length;r<a;)t.push(ua.call(n,r,r+=e));return t}function ud(n,e){return n._chain?re(e).chain():e}function Qg(n){return bn(zc(n),function(e){var t=re[e]=n[e];re.prototype[e]=function(){var r=[this._wrapped];return G8.apply(r,arguments),ud(this,t.apply(re,r))}}),re}bn(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var e=Xs[n];re.prototype[n]=function(){var t=this._wrapped;return t!=null&&(e.apply(t,arguments),(n==="shift"||n==="splice")&&t.length===0&&delete t[0]),ud(this,t)}}),bn(["concat","join","slice"],function(n){var e=Xs[n];re.prototype[n]=function(){var t=this._wrapped;return t!=null&&(t=e.apply(t,arguments)),ud(this,t)}});var Kg=Qg(Object.freeze(Object.defineProperty({__proto__:null,VERSION:Wb,after:U6,all:qg,allKeys:ha,any:Jg,assign:eo,before:Vg,bind:Mg,bindAll:M6,chain:_6,chunk:y9,clone:h6,collect:mr,compact:a9,compose:F6,constant:dg,contains:gn,countBy:K6,create:y6,debounce:L6,default:re,defaults:Dg,defer:V6,delay:Ng,detect:ad,difference:Xg,drop:no,each:bn,escape:b6,every:qg,extend:Ig,extendOwn:eo,filter:yi,find:ad,findIndex:id,findKey:$g,findLastIndex:Gg,findWhere:k6,first:ld,flatten:s9,foldl:sd,foldr:kg,forEach:bn,functions:zc,get:Sg,groupBy:X6,has:m6,head:ld,identity:Qc,include:gn,includes:gn,indexBy:Q6,indexOf:xg,initial:Zg,inject:sd,intersection:c9,invert:vg,invoke:J6,isArguments:qc,isArray:hr,isArrayBuffer:ag,isBoolean:ng,isDataView:Qs,isDate:H8,isElement:W8,isEmpty:ya,isEqual:i6,isError:z8,isFinite:K8,isFunction:mt,isMap:o6,isMatch:fg,isNaN:cg,isNull:J8,isNumber:rg,isObject:xn,isRegExp:Y8,isSet:c6,isString:xc,isSymbol:ig,isTypedArray:yg,isUndefined:tg,isWeakMap:l6,isWeakSet:d6,iteratee:ed,keys:Ye,last:i9,lastIndexOf:j6,map:mr,mapObject:T6,matcher:ma,matches:ma,max:Wg,memoize:N6,methods:zc,min:H6,mixin:Qg,negate:rd,noop:Cg,now:Ea,object:u9,omit:r9,once:x6,pairs:u6,partial:pi,partition:e9,pick:zg,pluck:od,property:Kc,propertyOf:E6,random:td,range:p9,reduce:sd,reduceRight:kg,reject:q6,rest:no,restArguments:Dt,result:C6,sample:Yg,select:yi,shuffle:z6,size:t9,some:Jg,sortBy:Z6,sortedIndex:Fg,tail:no,take:ld,tap:f6,template:O6,templateSettings:I6,throttle:$6,times:R6,toArray:Hg,toPath:Ag,transpose:dd,unescape:v6,union:l9,uniq:cd,unique:cd,uniqueId:w6,unzip:dd,values:ui,where:W6,without:o9,wrap:G6,zip:d9},Symbol.toStringTag,{value:"Module"})));Kg._=Kg;function ro(n){return n.charAt(0).toUpperCase()+n.slice(1)}function ev(n){return n.charAt(0).toLowerCase()+n.slice(1)}function tv(n,e){if(n.type!==i.Property||e.type!==i.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:Yt(n.dataType,e.dataType).compatible}function nv(n,e){if(n.type!==i.CustomEntity||e.type!==i.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 r=[];for(let a=0;a<n.properties.length;a++){const s=n.properties[a];t.find(l=>{const p=tv(s,l);return p&&(t=t.filter(y=>y.id!==l.id)),p})||r.push(s)}return!(r.length>0)}var Ft=(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))(Ft||{});function Yt(n,e){var t,r,a,s,o,l,p,y,f,m,b;if(n&&n.type!==i.DataType||e&&e.type!==i.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)!==((r=e.entity)==null?void 0:r.type))return{compatible:!1,type:"type-entity-mismatch"};if(((a=n.entity)==null?void 0:a.type)===i.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 g=nv(n.entity,e.entity);return{compatible:g,type:g?"compatible-custom-entities":"incompatible-custom-entities"}}return((l=n.entity)==null?void 0:l.type)===i.PrimitiveEntity?((p=n.entity)==null?void 0:p.id)===((y=e.entity)==null?void 0:y.id)?{compatible:!0,type:"same-primitive-entities"}:{compatible:!1,type:"incompatible-primitive-entities"}:((f=n.entity)==null?void 0:f.type)===i.BuiltInBaseEntity?((m=n.entity)==null?void 0:m.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 h9(n){const e=n.project.builtInBaseEntities.find(a=>a.id===V.EXECUTION),t={id:n.id+"--infered-data-type",version:1,type:i.DataType,isList:!1,isNullable:!1,andChildrenGroup:null,orChildrenGroup:null,asType:!1,entity:null,constant:!1,defaultValue:null,parent:null},r=R(t,n.project);return r.inferred=!0,r.sync(t),r.setParent(n),r.entity=e,r}function rv(n){return n.dataType?n.dataType:null}function iv(n){var e;return(e=n.declaration)!=null&&e.dataType?n.declaration.dataType:n.readsValue?an(n.readsValue):null}function pd(n){return n.dataType&&!n.dataType.inferred&&n.dataType.isResolved()?n.dataType:n.readsValue?an(n.readsValue):null}function av(n){return an(n.declaration)}function sv(n){return n.dataType&&!n.dataType.inferred?n.dataType:(n.dataType&&n.dataType.inferred,n.inferDataTypeAndSyncInstancesInputsAndOutputs(),n.dataType)}function ov(n){var e;return((e=n.declaration)==null?void 0:e.dataType)||null}function an(n){switch(n.type){case i.VariableDeclaration:return sv(n);case i.ArgumentDeclaration:return rv(n);case i.ReturnDeclaration:return pd(n);case i.VariableInstance:return av(n);case i.InputMap:return iv(n);case i.OutputMap:return ov(n);default:throw new Error(`Cannot infer data type from entity of type ${n.type}.`)}}function io(n){switch(n.type){case i.ArgumentDeclaration:return n.getDataType();case i.InputMap:return n.getDataType();case i.VariableDeclaration:return n.getDataType();case i.VariableInstance:return n.getDataType();case i.OutputMap:return n.getDataType();case i.ReturnDeclaration:return n.getDataType();case i.Property:return n.getDataType();case i.ValueDescriptor:return n.getDataType();default:return null}}function B(n){if(n){let e=null;return typeof n=="string"?e=n:n.entityId?e=n.entityId:n.type!==i.GenericReference&&(e=n.id),e}return null}function Tr(n){return n.declaration||n}function f9(n){return n.type===i.VariableDeclaration?n.parent===n.project?"global-declaration":"local-declaration":n.declaration.parent===n.project?"global-instance":"local-instance"}function yd(n,e){const t=[];if(n.type===i.Project)t.push(...n.variableDeclarations);else{const a=Et(Se(n)).filter(s=>s.type===i.VariableDeclaration);t.push(...a),n.parent&&(dt.includes(n.parent.type)||n.parent.type===i.Project)&&t.push(...yd(n.parent))}return t}function m9(n){return n.replace(/(?:^\w|[A-Z]|\b\w)/g,function(e,t){return t===0?e.toLowerCase():e.toUpperCase()}).replace(/\s+/g,"")}function T9(n){return n.split(/\s+/).map(r=>r[0].toUpperCase()+r.slice(1).toLowerCase()).join("")}function lv(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 ao(n){return lv(n).toLowerCase()}function Er(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===i.PrimitiveEntity){let t=n.dataType.entity.name;switch(n.dataType.entity.name){case P.String:t="Text";break;case P.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 cv(n){return Er(n.declaration)}function E9(n){return n.type===i.VariableInstance?cv(n):Er(n)}function dv(n){if(!n)return"Any data type";if(!n.entity)return"Inherited";if(n.entity.type===i.PrimitiveEntity){const e=n.entity.name===P.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===i.CustomEntity){const e=fd(n.entity);return n.isList?`List of ${e} entities`:e.slice(0,1).toUpperCase()+e.slice(1)}else if(n.entity.type===i.BuiltInBaseEntity){const e=hd(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 uv(n){if(!n.dataType)return"Any data type";if(!n.dataType.entity)return"Inherited";if(n.dataType.entity.type===i.PrimitiveEntity){const e=n.dataType.entity.name===P.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===i.CustomEntity){const e=fd(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===i.BuiltInBaseEntity){const e=hd(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 pv(n){switch(n.type){case i.Property:return uv(n);case i.VariableDeclaration:return Er(n);case i.ArgumentDeclaration:return Er(n,!1);case i.InputMap:{const e=n.declaration;return e?pv(e):"Unknown data type"}case i.ReturnDeclaration:return Er(n,!1);case i.OutputMap:{const e=n.declaration;return Er(e,!1)}}return"Unknown data type"}function so(n){switch(n.declaration.id){case _e.Equal:return"is equal to";case _e.NotEqual:return"is not equal to";case _e.MoreThan:return"is greater than";case _e.MoreThanOrEqual:return"is greater than or equal to";case _e.LessThan:return"is less than";case _e.LessThanOrEqual:return"is less than or equal to";case _e.And:return"and";case _e.Or:return"or";case $t.Empty:return"is empty";case $t.NotEmpty:return"is not empty"}}function yv(n){return n.includes(V.HTTP_ENDPOINT)?"HTTP endpoint":n.includes(V.PERSISTED_ENTITY)?"Persisted entity":n.includes(V.CRON_JOB)?"Scheduled execution":n.includes(V.RELATIONAL_DATABASE)?"Relational database":"Entity"}function hd(n){switch(n.name){case V.HTTP_ENDPOINT:return"HTTP endpoint";case V.PERSISTED_ENTITY:return"Persisted entity";case V.CRON_JOB:return"Scheduled execution";case V.RELATIONAL_DATABASE:return"Relational database"}return"Entity"}function fd(n){const e=Zv(n);if(!e){const t=Yv(n);return t.includes(V.HTTP_ENDPOINT)?"HTTP endpoint":t.includes(V.PERSISTED_ENTITY)?"Persisted entity":t.includes(V.CRON_JOB)?"Scheduled execution":t.includes(V.RELATIONAL_DATABASE)?"Relational database":S(n,n.project)+" entity"}return S(e,n.project)+" entity"}function hv(n){let e="Find ";return n.outputsDeclarations.forEach((t,r)=>{const a=io(t),s=ev(a&&a.entity?S(a.entity,n.project):"unstructured data");r===0?e+=`${s} `:r===n.outputsDeclarations.length-1?e+=`and ${s} `:e+=`, ${s} `}),e}function fv(n){switch(n.name){case P.String:return"Text";case P.Number:return"Number";case P.Boolean:return"Boolean";case P.JSON:return"Data structure";case P.UUID:return"Unique identifier";case P.Date:return"Date";case P.EntityTemplate:return"Entity as template";case P.Enum:return"Enumeration";case P.File:return"File";case P.Null:return"Empty";case P.ActionDescriptor:return"Action descriptor";default:return n.name}}function mv(n){switch(n.id){case Q.List:return"Loop over list items";case Q.ManualFlow:return"Manual flow control loop";case Q.ObjectKeys:return"Loop over object keys";case Q.ObjectValues:return"Loop over object values";case Q.Counted:return"Loop given number of times";case Q.String:return"Loop over text characters";case ct.Addition:return"Sum numbers";case ct.Substraction:return"Subtract numbers";case ct.Multiplication:return"Multiply numbers";case ct.Division:return"Divide numbers";case ct.Remainder:return"Get remainder of numbers";case ct.Exponentiation:return"Get exponent of numbers";case Ae.AddIndex:return"Add at index position";case Ae.DeleteFirst:return"Delete first character";case Ae.DeleteLast:return"Delete last character";case Ae.DeleteIndex:return"Delete at index position";case Ae.Join:return"Join texts";case Ae.ReplaceAllMatches:return"Replace all matches";case Ae.ReplaceFirst:return"Replace first match";case Ae.ReplaceLast:return"Replace last match";case Ae.Split:return"Split text";case Ae.ReplaceIndex:return"Replace at index position";case Ae.ReplaceSingleMatch:return"Replace single match";case Ae.GetFirst:return"Get first character";case Ae.GetLast:return"Get last character";case Ae.GetIndex:return"Get at index position";case Ae.Append:return"Add at the end";case Ae.Prepend:return"Add at the start";case Oe.Wait:return"Wait";case Oe.Parallel:return"Run in parallel";case Oe.Sequential:return"Run in sequence";case Ze.HttpRequest:return"HTTP request";case Ke.CreateNewInstance:return"Create new copy of entity";case W.AddIndex:return"Add item at index position";case W.DeleteFirst:return"Delete first item";case W.DeleteLast:return"Delete last item";case W.DeleteIndex:return"Delete item at index position";case W.Join:return"Join lists";case W.ReplaceAllMatches:return"Replace all matches";case W.ReplaceFirst:return"Replace first match";case W.ReplaceLast:return"Replace last match";case W.Split:return"Split list";case W.ReplaceIndex:return"Replace at index position";case W.ReplaceSingleMatch:return"Replace single match";case W.GetFirst:return"Get first item";case W.GetLast:return"Get last item";case W.GetIndex:return"Get item at index position";case W.Append:return"Add item at the end";case W.Prepend:return"Add item at the start";case ln.PROJECT_PUBLICATION_COMPLETED:return"Project publication completed";default:return(n.name.slice(0,1).toUpperCase()+n.name.slice(1)).replaceAll("-"," ")}}function S(n,e){var t;if(i.FunctionDeclaration===n.type){const r=n.name;if(Object.values(Ct).includes(r))switch(r){case Ct.AbortExecution:return"Abort execution";case Ct.DeletePersistedEntity:return"Delete persisted entity";case Ct.SoftDeletePersistedEntity:return"Soft delete persisted entity";default:return ro(n.type).replaceAll("-"," ")}return r}if(i.BuiltInBaseEntity===n.type)return yv([n.name]);if(Yd.includes(n.type)&&n.type!==i.ActionDescriptor)return n.name;switch(n.type){case i.Search:return hv(n);case i.Operation:case i.InternalCall:case i.Loop:const r=Vt(n.declaration,e);return S(r,e);case i.ActionDescriptor:return mv(n);case i.BreakStatement:const a=Vt(n.parent,e);return`Stop loop ${S(a,e)}`;case i.ContinueStatement:const s=Vt(n.parent,e);return`Execute next iteration of ${S(s,e)}`;case i.FunctionCall:return Vt(n.declaration,e).name;case i.Condition:{const l=n;if((t=n.inputs)!=null&&t.length){const p=S(l.inputs[0],l.project);if(l.inputs[1]){const y=l.inputs[1].declaration.name;return`If ${p} ${so(l)} ${y}`}return`If ${p} ${so(l)}`}else return`If ${so(l)}`}case i.ReturnStatement:{const l=Vt(n.parent,e);return`Output of ${S(l,e)}`}case i.InputMap:if(n.declaration){const l=Vt(n.declaration,e);return S(l,e)||""}else return n.name||"";case i.VariableInstance:{const l=Vt(n.declaration,e);return S(l,e)||""}case i.OutputMap:if(n.declaration){const l=Vt(n.declaration,e);return(l==null?void 0:l.name)||""}else return"";case i.PrimitiveEntity:case i.PrimitiveValue:return fv(n);default:return ro(n.type).replaceAll("-"," ")}}function oo(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${A.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:T.Error,code:A.EmptyName,issue:null}));const r=e.entities.filter(a=>a.name===n.name);return r.length&&t.push(new E({id:`${n.id}--${A.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 "${r[0].id}" has the same name.
13
+ `+s+"}",p}function C6(n,e,t){e=fa(e);var r=e.length;if(!r)return mt(t)?t.call(n):t;for(var a=0;a<r;a++){var s=n==null?void 0:n[e[a]];s===void 0&&(s=t,a=r),n=mt(s)?s.call(n):s}return n}var B6=0;function w6(n){var e=++B6+"";return n?n+e:e}function M6(n){var e=re(n);return e._chain=!0,e}function Mg(n,e,t,r,a){if(!(r instanceof e))return n.apply(t,a);var s=Pg(n.prototype),o=n.apply(s,a);return xn(o)?o:s}var pi=Dt(function(n,e){var t=pi.placeholder,r=function(){for(var a=0,s=e.length,o=Array(s),l=0;l<s;l++)o[l]=e[l]===t?arguments[a++]:e[l];for(;a<arguments.length;)o.push(arguments[a++]);return Mg(n,r,this,this,o)};return r});pi.placeholder=re;const _g=Dt(function(n,e,t){if(!mt(n))throw new TypeError("Bind must be called on a function");var r=Dt(function(a){return Mg(n,r,e,this,t.concat(a))});return r}),_t=ug(Pt);function fr(n,e,t,r){if(r=r||[],!e&&e!==0)e=1/0;else if(e<=0)return r.concat(n);for(var a=r.length,s=0,o=Pt(n);s<o;s++){var l=n[s];if(_t(l)&&(hr(l)||qc(l)))if(e>1)fr(l,e-1,t,r),a=r.length;else for(var p=0,y=l.length;p<y;)r[a++]=l[p++];else t||(r[a++]=l)}return r}const _6=Dt(function(n,e){e=fr(e,!1,!1);var t=e.length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var r=e[t];n[r]=_g(n[r],n)}return n});function N6(n,e){var t=function(r){var a=t.cache,s=""+(e?e.apply(this,arguments):r);return jn(a,s)||(a[s]=n.apply(this,arguments)),a[s]};return t.cache={},t}const Ng=Dt(function(n,e,t){return setTimeout(function(){return n.apply(null,t)},e)}),V6=pi(Ng,re,1);function $6(n,e,t){var r,a,s,o,l=0;t||(t={});var p=function(){l=t.leading===!1?0:Ea(),r=null,o=n.apply(a,s),r||(a=s=null)},y=function(){var f=Ea();!l&&t.leading===!1&&(l=f);var m=e-(f-l);return a=this,s=arguments,m<=0||m>e?(r&&(clearTimeout(r),r=null),l=f,o=n.apply(a,s),r||(a=s=null)):!r&&t.trailing!==!1&&(r=setTimeout(p,m)),o};return y.cancel=function(){clearTimeout(r),l=0,r=a=s=null},y}function L6(n,e,t){var r,a,s,o,l,p=function(){var f=Ea()-a;e>f?r=setTimeout(p,e-f):(r=null,t||(o=n.apply(l,s)),r||(s=l=null))},y=Dt(function(f){return l=this,s=f,a=Ea(),r||(r=setTimeout(p,e),t&&(o=n.apply(l,s))),o});return y.cancel=function(){clearTimeout(r),r=s=l=null},y}function G6(n,e){return pi(e,n)}function rd(n){return function(){return!n.apply(this,arguments)}}function F6(){var n=arguments,e=n.length-1;return function(){for(var t=e,r=n[e].apply(this,arguments);t--;)r=n[t].call(this,r);return r}}function U6(n,e){return function(){if(--n<1)return e.apply(this,arguments)}}function Vg(n,e){var t;return function(){return--n>0&&(t=e.apply(this,arguments)),n<=1&&(e=null),t}}const x6=pi(Vg,2);function $g(n,e,t){e=At(e,t);for(var r=Ye(n),a,s=0,o=r.length;s<o;s++)if(a=r[s],e(n[a],a,n))return a}function Lg(n){return function(e,t,r){t=At(t,r);for(var a=Pt(e),s=n>0?0:a-1;s>=0&&s<a;s+=n)if(t(e[s],s,e))return s;return-1}}const id=Lg(1),Gg=Lg(-1);function Fg(n,e,t,r){t=At(t,r,1);for(var a=t(e),s=0,o=Pt(n);s<o;){var l=Math.floor((s+o)/2);t(n[l])<a?s=l+1:o=l}return s}function Ug(n,e,t){return function(r,a,s){var o=0,l=Pt(r);if(typeof s=="number")n>0?o=s>=0?s:Math.max(s+l,o):l=s>=0?Math.min(s+1,l):s+l+1;else if(t&&s&&l)return s=t(r,a),r[s]===a?s:-1;if(a!==a)return s=e(ua.call(r,o,l),cg),s>=0?s+o:-1;for(s=n>0?o:l-1;s>=0&&s<l;s+=n)if(r[s]===a)return s;return-1}}const xg=Ug(1,id,Fg),j6=Ug(-1,Gg);function ad(n,e,t){var r=_t(n)?id:$g,a=r(n,e,t);if(a!==void 0&&a!==-1)return n[a]}function k6(n,e){return ad(n,ma(e))}function bn(n,e,t){e=Ta(e,t);var r,a;if(_t(n))for(r=0,a=n.length;r<a;r++)e(n[r],r,n);else{var s=Ye(n);for(r=0,a=s.length;r<a;r++)e(n[s[r]],s[r],n)}return n}function mr(n,e,t){e=At(e,t);for(var r=!_t(n)&&Ye(n),a=(r||n).length,s=Array(a),o=0;o<a;o++){var l=r?r[o]:o;s[o]=e(n[l],l,n)}return s}function jg(n){var e=function(t,r,a,s){var o=!_t(t)&&Ye(t),l=(o||t).length,p=n>0?0:l-1;for(s||(a=t[o?o[p]:p],p+=n);p>=0&&p<l;p+=n){var y=o?o[p]:p;a=r(a,t[y],y,t)}return a};return function(t,r,a,s){var o=arguments.length>=3;return e(t,Ta(r,s,4),a,o)}}const sd=jg(1),kg=jg(-1);function yi(n,e,t){var r=[];return e=At(e,t),bn(n,function(a,s,o){e(a,s,o)&&r.push(a)}),r}function q6(n,e,t){return yi(n,rd(At(e)),t)}function qg(n,e,t){e=At(e,t);for(var r=!_t(n)&&Ye(n),a=(r||n).length,s=0;s<a;s++){var o=r?r[s]:s;if(!e(n[o],o,n))return!1}return!0}function Jg(n,e,t){e=At(e,t);for(var r=!_t(n)&&Ye(n),a=(r||n).length,s=0;s<a;s++){var o=r?r[s]:s;if(e(n[o],o,n))return!0}return!1}function gn(n,e,t,r){return _t(n)||(n=ui(n)),(typeof t!="number"||r)&&(t=0),xg(n,e,t)>=0}const J6=Dt(function(n,e,t){var r,a;return mt(e)?a=e:(e=fa(e),r=e.slice(0,-1),e=e[e.length-1]),mr(n,function(s){var o=a;if(!o){if(r&&r.length&&(s=Xc(s,r)),s==null)return;o=s[e]}return o==null?o:o.apply(s,t)})});function od(n,e){return mr(n,Kc(e))}function W6(n,e){return yi(n,ma(e))}function Wg(n,e,t){var r=-1/0,a=-1/0,s,o;if(e==null||typeof e=="number"&&typeof n[0]!="object"&&n!=null){n=_t(n)?n:ui(n);for(var l=0,p=n.length;l<p;l++)s=n[l],s!=null&&s>r&&(r=s)}else e=At(e,t),bn(n,function(y,f,m){o=e(y,f,m),(o>a||o===-1/0&&r===-1/0)&&(r=y,a=o)});return r}function H6(n,e,t){var r=1/0,a=1/0,s,o;if(e==null||typeof e=="number"&&typeof n[0]!="object"&&n!=null){n=_t(n)?n:ui(n);for(var l=0,p=n.length;l<p;l++)s=n[l],s!=null&&s<r&&(r=s)}else e=At(e,t),bn(n,function(y,f,m){o=e(y,f,m),(o<a||o===1/0&&r===1/0)&&(r=y,a=o)});return r}var Y6=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function Hg(n){return n?hr(n)?ua.call(n):xc(n)?n.match(Y6):_t(n)?mr(n,Qc):ui(n):[]}function Yg(n,e,t){if(e==null||t)return _t(n)||(n=ui(n)),n[td(n.length-1)];var r=Hg(n),a=Pt(r);e=Math.max(Math.min(e,a),0);for(var s=a-1,o=0;o<e;o++){var l=td(o,s),p=r[o];r[o]=r[l],r[l]=p}return r.slice(0,e)}function z6(n){return Yg(n,1/0)}function Z6(n,e,t){var r=0;return e=At(e,t),od(mr(n,function(a,s,o){return{value:a,index:r++,criteria:e(a,s,o)}}).sort(function(a,s){var o=a.criteria,l=s.criteria;if(o!==l){if(o>l||o===void 0)return 1;if(o<l||l===void 0)return-1}return a.index-s.index}),"value")}function to(n,e){return function(t,r,a){var s=e?[[],[]]:{};return r=At(r,a),bn(t,function(o,l){var p=r(o,l,t);n(s,o,p)}),s}}const X6=to(function(n,e,t){jn(n,t)?n[t].push(e):n[t]=[e]}),Q6=to(function(n,e,t){n[t]=e}),K6=to(function(n,e,t){jn(n,t)?n[t]++:n[t]=1}),e9=to(function(n,e,t){n[t?0:1].push(e)},!0);function t9(n){return n==null?0:_t(n)?n.length:Ye(n).length}function n9(n,e,t){return e in t}const zg=Dt(function(n,e){var t={},r=e[0];if(n==null)return t;mt(r)?(e.length>1&&(r=Ta(r,e[1])),e=ha(n)):(r=n9,e=fr(e,!1,!1),n=Object(n));for(var a=0,s=e.length;a<s;a++){var o=e[a],l=n[o];r(l,o,n)&&(t[o]=l)}return t}),r9=Dt(function(n,e){var t=e[0],r;return mt(t)?(t=rd(t),e.length>1&&(r=e[1])):(e=mr(fr(e,!1,!1),String),t=function(a,s){return!gn(e,s)}),zg(n,t,r)});function Zg(n,e,t){return ua.call(n,0,Math.max(0,n.length-(e==null||t?1:e)))}function ld(n,e,t){return n==null||n.length<1?e==null||t?void 0:[]:e==null||t?n[0]:Zg(n,n.length-e)}function no(n,e,t){return ua.call(n,e==null||t?1:e)}function i9(n,e,t){return n==null||n.length<1?e==null||t?void 0:[]:e==null||t?n[n.length-1]:no(n,Math.max(0,n.length-e))}function a9(n){return yi(n,Boolean)}function s9(n,e){return fr(n,e,!1)}const Xg=Dt(function(n,e){return e=fr(e,!0,!0),yi(n,function(t){return!gn(e,t)})}),o9=Dt(function(n,e){return Xg(n,e)});function cd(n,e,t,r){ng(e)||(r=t,t=e,e=!1),t!=null&&(t=At(t,r));for(var a=[],s=[],o=0,l=Pt(n);o<l;o++){var p=n[o],y=t?t(p,o,n):p;e&&!t?((!o||s!==y)&&a.push(p),s=y):t?gn(s,y)||(s.push(y),a.push(p)):gn(a,p)||a.push(p)}return a}const l9=Dt(function(n){return cd(fr(n,!0,!0))});function c9(n){for(var e=[],t=arguments.length,r=0,a=Pt(n);r<a;r++){var s=n[r];if(!gn(e,s)){var o;for(o=1;o<t&&gn(arguments[o],s);o++);o===t&&e.push(s)}}return e}function dd(n){for(var e=n&&Wg(n,Pt).length||0,t=Array(e),r=0;r<e;r++)t[r]=od(n,r);return t}const d9=Dt(dd);function u9(n,e){for(var t={},r=0,a=Pt(n);r<a;r++)e?t[n[r]]=e[r]:t[n[r][0]]=n[r][1];return t}function p9(n,e,t){e==null&&(e=n||0,n=0),t||(t=e<n?-1:1);for(var r=Math.max(Math.ceil((e-n)/t),0),a=Array(r),s=0;s<r;s++,n+=t)a[s]=n;return a}function y9(n,e){if(e==null||e<1)return[];for(var t=[],r=0,a=n.length;r<a;)t.push(ua.call(n,r,r+=e));return t}function ud(n,e){return n._chain?re(e).chain():e}function Qg(n){return bn(zc(n),function(e){var t=re[e]=n[e];re.prototype[e]=function(){var r=[this._wrapped];return G8.apply(r,arguments),ud(this,t.apply(re,r))}}),re}bn(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var e=Xs[n];re.prototype[n]=function(){var t=this._wrapped;return t!=null&&(e.apply(t,arguments),(n==="shift"||n==="splice")&&t.length===0&&delete t[0]),ud(this,t)}}),bn(["concat","join","slice"],function(n){var e=Xs[n];re.prototype[n]=function(){var t=this._wrapped;return t!=null&&(t=e.apply(t,arguments)),ud(this,t)}});var Kg=Qg(Object.freeze(Object.defineProperty({__proto__:null,VERSION:Wb,after:U6,all:qg,allKeys:ha,any:Jg,assign:eo,before:Vg,bind:_g,bindAll:_6,chain:M6,chunk:y9,clone:h6,collect:mr,compact:a9,compose:F6,constant:dg,contains:gn,countBy:K6,create:y6,debounce:L6,default:re,defaults:Dg,defer:V6,delay:Ng,detect:ad,difference:Xg,drop:no,each:bn,escape:b6,every:qg,extend:Ig,extendOwn:eo,filter:yi,find:ad,findIndex:id,findKey:$g,findLastIndex:Gg,findWhere:k6,first:ld,flatten:s9,foldl:sd,foldr:kg,forEach:bn,functions:zc,get:Sg,groupBy:X6,has:m6,head:ld,identity:Qc,include:gn,includes:gn,indexBy:Q6,indexOf:xg,initial:Zg,inject:sd,intersection:c9,invert:vg,invoke:J6,isArguments:qc,isArray:hr,isArrayBuffer:ag,isBoolean:ng,isDataView:Qs,isDate:H8,isElement:W8,isEmpty:ya,isEqual:i6,isError:z8,isFinite:K8,isFunction:mt,isMap:o6,isMatch:fg,isNaN:cg,isNull:J8,isNumber:rg,isObject:xn,isRegExp:Y8,isSet:c6,isString:xc,isSymbol:ig,isTypedArray:yg,isUndefined:tg,isWeakMap:l6,isWeakSet:d6,iteratee:ed,keys:Ye,last:i9,lastIndexOf:j6,map:mr,mapObject:T6,matcher:ma,matches:ma,max:Wg,memoize:N6,methods:zc,min:H6,mixin:Qg,negate:rd,noop:Cg,now:Ea,object:u9,omit:r9,once:x6,pairs:u6,partial:pi,partition:e9,pick:zg,pluck:od,property:Kc,propertyOf:E6,random:td,range:p9,reduce:sd,reduceRight:kg,reject:q6,rest:no,restArguments:Dt,result:C6,sample:Yg,select:yi,shuffle:z6,size:t9,some:Jg,sortBy:Z6,sortedIndex:Fg,tail:no,take:ld,tap:f6,template:O6,templateSettings:I6,throttle:$6,times:R6,toArray:Hg,toPath:Ag,transpose:dd,unescape:v6,union:l9,uniq:cd,unique:cd,uniqueId:w6,unzip:dd,values:ui,where:W6,without:o9,wrap:G6,zip:d9},Symbol.toStringTag,{value:"Module"})));Kg._=Kg;function ro(n){return n.charAt(0).toUpperCase()+n.slice(1)}function ev(n){return n.charAt(0).toLowerCase()+n.slice(1)}function tv(n,e){if(n.type!==i.Property||e.type!==i.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:Yt(n.dataType,e.dataType).compatible}function nv(n,e){if(n.type!==i.CustomEntity||e.type!==i.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 r=[];for(let a=0;a<n.properties.length;a++){const s=n.properties[a];t.find(l=>{const p=tv(s,l);return p&&(t=t.filter(y=>y.id!==l.id)),p})||r.push(s)}return!(r.length>0)}var Ft=(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))(Ft||{});function Yt(n,e){var t,r,a,s,o,l,p,y,f,m,b;if(n&&n.type!==i.DataType||e&&e.type!==i.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)!==((r=e.entity)==null?void 0:r.type))return{compatible:!1,type:"type-entity-mismatch"};if(((a=n.entity)==null?void 0:a.type)===i.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 g=nv(n.entity,e.entity);return{compatible:g,type:g?"compatible-custom-entities":"incompatible-custom-entities"}}return((l=n.entity)==null?void 0:l.type)===i.PrimitiveEntity?((p=n.entity)==null?void 0:p.id)===((y=e.entity)==null?void 0:y.id)?{compatible:!0,type:"same-primitive-entities"}:{compatible:!1,type:"incompatible-primitive-entities"}:((f=n.entity)==null?void 0:f.type)===i.BuiltInBaseEntity?((m=n.entity)==null?void 0:m.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 h9(n){const e=n.project.builtInBaseEntities.find(a=>a.id===V.EXECUTION),t={id:n.id+"--infered-data-type",version:1,type:i.DataType,isList:!1,isNullable:!1,andChildrenGroup:null,orChildrenGroup:null,asType:!1,entity:null,constant:!1,defaultValue:null,parent:null},r=R(t,n.project);return r.inferred=!0,r.sync(t),r.setParent(n),r.entity=e,r}function rv(n){return n.dataType?n.dataType:null}function iv(n){var e;return(e=n.declaration)!=null&&e.dataType?n.declaration.dataType:n.readsValue?an(n.readsValue):null}function pd(n){return n.dataType&&!n.dataType.inferred&&n.dataType.isResolved()?n.dataType:n.readsValue?an(n.readsValue):null}function av(n){return an(n.declaration)}function sv(n){return n.dataType&&!n.dataType.inferred?n.dataType:(n.dataType&&n.dataType.inferred,n.inferDataTypeAndSyncInstancesInputsAndOutputs(),n.dataType)}function ov(n){var e;return((e=n.declaration)==null?void 0:e.dataType)||null}function an(n){switch(n.type){case i.VariableDeclaration:return sv(n);case i.ArgumentDeclaration:return rv(n);case i.ReturnDeclaration:return pd(n);case i.VariableInstance:return av(n);case i.InputMap:return iv(n);case i.OutputMap:return ov(n);default:throw new Error(`Cannot infer data type from entity of type ${n.type}.`)}}function io(n){switch(n.type){case i.ArgumentDeclaration:return n.getDataType();case i.InputMap:return n.getDataType();case i.VariableDeclaration:return n.getDataType();case i.VariableInstance:return n.getDataType();case i.OutputMap:return n.getDataType();case i.ReturnDeclaration:return n.getDataType();case i.Property:return n.getDataType();case i.ValueDescriptor:return n.getDataType();default:return null}}function B(n){if(n){let e=null;return typeof n=="string"?e=n:n.entityId?e=n.entityId:n.type!==i.GenericReference&&(e=n.id),e}return null}function Tr(n){return n.declaration||n}function f9(n){return n.type===i.VariableDeclaration?n.parent===n.project?"global-declaration":"local-declaration":n.declaration.parent===n.project?"global-instance":"local-instance"}function yd(n,e){const t=[];if(n.type===i.Project)t.push(...n.variableDeclarations);else{const a=Et(Se(n)).filter(s=>s.type===i.VariableDeclaration);t.push(...a),n.parent&&(dt.includes(n.parent.type)||n.parent.type===i.Project)&&t.push(...yd(n.parent))}return t}function m9(n){return n.replace(/(?:^\w|[A-Z]|\b\w)/g,function(e,t){return t===0?e.toLowerCase():e.toUpperCase()}).replace(/\s+/g,"")}function T9(n){return n.split(/\s+/).map(r=>r[0].toUpperCase()+r.slice(1).toLowerCase()).join("")}function lv(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 ao(n){return lv(n).toLowerCase()}function Er(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===i.PrimitiveEntity){let t=n.dataType.entity.name;switch(n.dataType.entity.name){case P.String:t="Text";break;case P.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 cv(n){return Er(n.declaration)}function E9(n){return n.type===i.VariableInstance?cv(n):Er(n)}function dv(n){if(!n)return"Any data type";if(!n.entity)return"Inherited";if(n.entity.type===i.PrimitiveEntity){const e=n.entity.name===P.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===i.CustomEntity){const e=fd(n.entity);return n.isList?`List of ${e} entities`:e.slice(0,1).toUpperCase()+e.slice(1)}else if(n.entity.type===i.BuiltInBaseEntity){const e=hd(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 uv(n){if(!n.dataType)return"Any data type";if(!n.dataType.entity)return"Inherited";if(n.dataType.entity.type===i.PrimitiveEntity){const e=n.dataType.entity.name===P.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===i.CustomEntity){const e=fd(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===i.BuiltInBaseEntity){const e=hd(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 pv(n){switch(n.type){case i.Property:return uv(n);case i.VariableDeclaration:return Er(n);case i.ArgumentDeclaration:return Er(n,!1);case i.InputMap:{const e=n.declaration;return e?pv(e):"Unknown data type"}case i.ReturnDeclaration:return Er(n,!1);case i.OutputMap:{const e=n.declaration;return Er(e,!1)}}return"Unknown data type"}function so(n){switch(n.declaration.id){case Me.Equal:return"is equal to";case Me.NotEqual:return"is not equal to";case Me.MoreThan:return"is greater than";case Me.MoreThanOrEqual:return"is greater than or equal to";case Me.LessThan:return"is less than";case Me.LessThanOrEqual:return"is less than or equal to";case Me.And:return"and";case Me.Or:return"or";case $t.Empty:return"is empty";case $t.NotEmpty:return"is not empty"}}function yv(n){return n.includes(V.HTTP_ENDPOINT)?"HTTP endpoint":n.includes(V.PERSISTED_ENTITY)?"Persisted entity":n.includes(V.CRON_JOB)?"Scheduled execution":n.includes(V.RELATIONAL_DATABASE)?"Relational database":"Entity"}function hd(n){switch(n.name){case V.HTTP_ENDPOINT:return"HTTP endpoint";case V.PERSISTED_ENTITY:return"Persisted entity";case V.CRON_JOB:return"Scheduled execution";case V.RELATIONAL_DATABASE:return"Relational database"}return"Entity"}function fd(n){const e=Zv(n);if(!e){const t=Yv(n);return t.includes(V.HTTP_ENDPOINT)?"HTTP endpoint":t.includes(V.PERSISTED_ENTITY)?"Persisted entity":t.includes(V.CRON_JOB)?"Scheduled execution":t.includes(V.RELATIONAL_DATABASE)?"Relational database":S(n,n.project)+" entity"}return S(e,n.project)+" entity"}function hv(n){let e="Find ";return n.outputsDeclarations.forEach((t,r)=>{const a=io(t),s=ev(a&&a.entity?S(a.entity,n.project):"unstructured data");r===0?e+=`${s} `:r===n.outputsDeclarations.length-1?e+=`and ${s} `:e+=`, ${s} `}),e}function fv(n){switch(n.name){case P.String:return"Text";case P.Number:return"Number";case P.Boolean:return"Boolean";case P.JSON:return"Data structure";case P.UUID:return"Unique identifier";case P.Date:return"Date";case P.EntityTemplate:return"Entity as template";case P.Enum:return"Enumeration";case P.File:return"File";case P.Null:return"Empty";case P.ActionDescriptor:return"Action descriptor";default:return n.name}}function mv(n){switch(n.id){case Q.List:return"Loop over list items";case Q.ManualFlow:return"Manual flow control loop";case Q.ObjectKeys:return"Loop over object keys";case Q.ObjectValues:return"Loop over object values";case Q.Counted:return"Loop given number of times";case Q.String:return"Loop over text characters";case ct.Addition:return"Sum numbers";case ct.Substraction:return"Subtract numbers";case ct.Multiplication:return"Multiply numbers";case ct.Division:return"Divide numbers";case ct.Remainder:return"Get remainder of numbers";case ct.Exponentiation:return"Get exponent of numbers";case Ae.AddIndex:return"Add at index position";case Ae.DeleteFirst:return"Delete first character";case Ae.DeleteLast:return"Delete last character";case Ae.DeleteIndex:return"Delete at index position";case Ae.Join:return"Join texts";case Ae.ReplaceAllMatches:return"Replace all matches";case Ae.ReplaceFirst:return"Replace first match";case Ae.ReplaceLast:return"Replace last match";case Ae.Split:return"Split text";case Ae.ReplaceIndex:return"Replace at index position";case Ae.ReplaceSingleMatch:return"Replace single match";case Ae.GetFirst:return"Get first character";case Ae.GetLast:return"Get last character";case Ae.GetIndex:return"Get at index position";case Ae.Append:return"Add at the end";case Ae.Prepend:return"Add at the start";case Oe.Wait:return"Wait";case Oe.Parallel:return"Run in parallel";case Oe.Sequential:return"Run in sequence";case Ze.HttpRequest:return"HTTP request";case Ke.CreateNewInstance:return"Create new copy of entity";case W.AddIndex:return"Add item at index position";case W.DeleteFirst:return"Delete first item";case W.DeleteLast:return"Delete last item";case W.DeleteIndex:return"Delete item at index position";case W.Join:return"Join lists";case W.ReplaceAllMatches:return"Replace all matches";case W.ReplaceFirst:return"Replace first match";case W.ReplaceLast:return"Replace last match";case W.Split:return"Split list";case W.ReplaceIndex:return"Replace at index position";case W.ReplaceSingleMatch:return"Replace single match";case W.GetFirst:return"Get first item";case W.GetLast:return"Get last item";case W.GetIndex:return"Get item at index position";case W.Append:return"Add item at the end";case W.Prepend:return"Add item at the start";case ln.PROJECT_PUBLICATION_COMPLETED:return"Project publication completed";default:return(n.name.slice(0,1).toUpperCase()+n.name.slice(1)).replaceAll("-"," ")}}function S(n,e){var t;if(i.FunctionDeclaration===n.type){const r=n.name;if(Object.values(Ct).includes(r))switch(r){case Ct.AbortExecution:return"Abort execution";case Ct.DeletePersistedEntity:return"Delete persisted entity";case Ct.SoftDeletePersistedEntity:return"Soft delete persisted entity";default:return ro(n.type).replaceAll("-"," ")}return r}if(i.BuiltInBaseEntity===n.type)return yv([n.name]);if(Yd.includes(n.type)&&n.type!==i.ActionDescriptor)return n.name;switch(n.type){case i.Search:return hv(n);case i.Operation:case i.InternalCall:case i.Loop:const r=Vt(n.declaration,e);return S(r,e);case i.ActionDescriptor:return mv(n);case i.BreakStatement:const a=Vt(n.parent,e);return`Stop loop ${S(a,e)}`;case i.ContinueStatement:const s=Vt(n.parent,e);return`Execute next iteration of ${S(s,e)}`;case i.FunctionCall:return Vt(n.declaration,e).name;case i.Condition:{const l=n;if((t=n.inputs)!=null&&t.length){const p=S(l.inputs[0],l.project);if(l.inputs[1]){const y=l.inputs[1].declaration.name;return`If ${p} ${so(l)} ${y}`}return`If ${p} ${so(l)}`}else return`If ${so(l)}`}case i.ReturnStatement:{const l=Vt(n.parent,e);return`Output of ${S(l,e)}`}case i.InputMap:if(n.declaration){const l=Vt(n.declaration,e);return S(l,e)||""}else return n.name||"";case i.VariableInstance:{const l=Vt(n.declaration,e);return S(l,e)||""}case i.OutputMap:if(n.declaration){const l=Vt(n.declaration,e);return(l==null?void 0:l.name)||""}else return"";case i.PrimitiveEntity:case i.PrimitiveValue:return fv(n);default:return ro(n.type).replaceAll("-"," ")}}function oo(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${A.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:T.Error,code:A.EmptyName,issue:null}));const r=e.entities.filter(a=>a.name===n.name);return r.length&&t.push(new E({id:`${n.id}--${A.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 "${r[0].id}" has the same name.
14
14
  Please provide a unique 'name' string.`,severity:T.Error,code:A.NameNotUniqueInScope,issue:null})),t}function md(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${A.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:T.Error,code:A.EmptyName,issue:null}));const r=n.parent?B(n.parent):null;let a=e;r&&(a=e.get(r));const s=[];a.type===i.CustomEntity?s.push(...a.methods.map(l=>l)):a.type===i.Project?s.push(...a.functions.map(l=>l)):a.type===i.Loop?a.body&&s.push(a.body):a.type===i.InstalledProject&&s.push(...a.functions.map(l=>l));const o=s.filter(l=>l.name===n.name);return o.length&&t.push(new E({id:`${n.id}--${A.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique in ${a.type===i.Project?"the globally declared project scope":"its parent entity"}. Entity with id "${o[0].id}" has the same name.
15
15
  Please provide a unique 'name' string.`,severity:T.Error,code:A.NameNotUniqueInScope,issue:null})),t}function Td(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${A.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:T.Error,code:A.EmptyName,issue:null}));const r=n.parent&&Vt(n.parent,e)||e;if(!r)t.push(new E({id:`${n.id}--parent-reference--${h.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:T.Error,code:h.ReferencedEntityNotFound,issue:null}));else{const s=yd(r).filter(o=>o.name===n.name);s.length&&t.push(new E({id:`${n.id}--${A.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
16
  Please provide a unique 'name' string.`,severity:T.Error,code:A.NameNotUniqueInScope,issue:null}))}return t}function Ed(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${A.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:T.Error,code:A.EmptyName,issue:null}));const r=B(n.parent);if(!r)t.push(new E({id:`${n.id}--parent-reference--${h.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:T.Error,code:h.InvalidReferenceObjectStructure,issue:null}));else{const a=e.get(r);if(!a)t.push(new E({id:`${n.id}--parent-reference--${h.ReferencedEntityNotFound}`,message:`The entity with id '${r}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:T.Error,code:h.ReferencedEntityNotFound,issue:null}));else{const o=a.properties.filter(l=>l.name===n.name);o.length&&t.push(new E({id:`${n.id}--${A.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
17
  Please provide a unique 'name' string.`,severity:T.Error,code:A.NameNotUniqueInScope,issue:null}))}}return t}function Rd(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${A.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:T.Error,code:A.EmptyName,issue:null}));const r=B(n.parent);if(!r)t.push(new E({id:`${n.id}--parent-reference--${h.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:T.Error,code:h.InvalidReferenceObjectStructure,issue:null}));else{const a=e.get(r);if(!a)t.push(new E({id:`${n.id}--parent-reference--${h.ReferencedEntityNotFound}`,message:`The entity with id '${r}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:T.Error,code:h.ReferencedEntityNotFound,issue:null}));else{const o=$d(a).filter(l=>l.name===n.name);o.length&&t.push(new E({id:`${n.id}--${A.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
18
  Please provide a unique 'name' string.`,severity:T.Error,code:A.NameNotUniqueInScope,issue:null}))}}return t}function bd(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${A.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:T.Error,code:A.EmptyName,issue:null}));const r=B(n.parent);if(!r)t.push(new E({id:`${n.id}--parent-reference--${h.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:T.Error,code:h.InvalidReferenceObjectStructure,issue:null}));else{const a=e.get(r);if(!a)t.push(new E({id:`${n.id}--parent-reference--${h.ReferencedEntityNotFound}`,message:`The entity with id '${r}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:T.Error,code:h.ReferencedEntityNotFound,issue:null}));else{const o=Ld(a).filter(l=>l.name===n.name);o.length&&t.push(new E({id:`${n.id}--${A.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:T.Error,code:A.NameNotUniqueInScope,issue:null}))}}return t}function R9(n,e){switch(n.type){case i.CustomEntity:return oo(n,e);case i.FunctionDeclaration:return md(n,e);case i.VariableDeclaration:return Td(n,e);case i.Property:return Ed(n,e);case i.ArgumentDeclaration:return Rd(n,e);case i.ReturnDeclaration:return bd(n,e);default:return[]}}function Qe(n,e,t){const a=`${ao(n)}-${e}-id`;return t.instances[a]?w.UUID.uuid():a}function gd(n,e){let t="",r=null;if(n.parent){const s=e.get(n.parent);s&&(r=s)}let a="";return r&&(a=`${ao(S(r,e))}-`),t=`${a}${ao(S(n,e))}-id`,e.instances[t]?w.UUID.uuid():t}function b9(n){var o;const e=J4(),t=n.toJSON();e.safeParse(t).success;const a=g9(n);(o=n.dataType)==null||o.validate();const s=[...a];if(n.id==="80c86e1b-caca-4ba5-9b1f-38f72d10e4a3"){const l=H({id:`${n.id}--${_.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:_.PropertyImplementsNonAbstact,entity:n});s.push(l.error)}return s}function g9(n){const e=[];if(!n.implements)return e;const t=n.implements;if(!t.abstract){const a=H({id:`${n.id}--${_.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(t,n.project)}" with id "${t.id}".`,issue:null,severity:T.Error,code:_.PropertyImplementsNonAbstact,entity:n});e.push(a.error)}if(n.static&&!t.static){const a=H({id:`${n.id}--${_.NonStaticPropertyImplementsStatic}`,message:`Static property "${S(n,n.project)}" with id "${n.id}" implements a non-static property "${S(t,n.project)}" with id "${t.id}".`,issue:null,severity:T.Error,code:_.NonStaticPropertyImplementsStatic,entity:n});e.push(a.error)}if(!n.static&&t.static){const a=H({id:`${n.id}--${_.StaticPropertyImplementsNonStatic}`,message:`Non-static property "${S(n,n.project)}" with id "${n.id}" implements a static property "${S(t,n.project)}" with id "${t.id}".`,issue:null,severity:T.Error,code:_.StaticPropertyImplementsNonStatic,entity:n});e.push(a.error)}if(!Yt(n.dataType,t.dataType)){const a=H({id:`${n.id}--${_.PropertyImplementsIncompatibleType}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a property "${S(t,n.project)}" with id "${t.id}" that has an incompatible data type.`,issue:null,severity:T.Error,code:_.PropertyImplementsIncompatibleType,entity:n});e.push(a.error)}return ne(n.errors,e)}function v9(n,e){const t=[];if(n.parent){const a=e.get(n.parent);if(!a)t.push(new E({id:`${n.id}--${n.parent}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.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=Yn(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}' (${S(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}--${h.InvalidBuiltInEntityReference}`,code:h.InvalidBuiltInEntityReference,severity:T.Error,message:o,issue:null}))}else if(![i.CustomEntity].includes(a.type))t.push(new E({id:`${n.id}--${n.parent}--${h.InvalidParentReference}`,code:h.InvalidParentReference,severity:T.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 l=Hn(a).filter(p=>!p.interactive);if(l.length){let p=l.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 '${i.BuiltInBaseEntity}' entities that are non-interactive ("${L(l.map(y=>S(y,y.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 '${i.BuiltInBaseEntity}' entity that is non-interactive ("${S(l[0],l[0].project)}").`;p+=`
19
+ Please provide a unique 'name' string.`,severity:T.Error,code:A.NameNotUniqueInScope,issue:null}))}}return t}function R9(n,e){switch(n.type){case i.CustomEntity:return oo(n,e);case i.FunctionDeclaration:return md(n,e);case i.VariableDeclaration:return Td(n,e);case i.Property:return Ed(n,e);case i.ArgumentDeclaration:return Rd(n,e);case i.ReturnDeclaration:return bd(n,e);default:return[]}}function Qe(n,e,t){const a=`${ao(n)}-${e}-id`;return t.instances[a]?w.UUID.uuid():a}function gd(n,e){let t="",r=null;if(n.parent){const s=e.get(n.parent);s&&(r=s)}let a="";return r&&(a=`${ao(S(r,e))}-`),t=`${a}${ao(S(n,e))}-id`,e.instances[t]?w.UUID.uuid():t}function b9(n){var o;const e=J4(),t=n.toJSON();e.safeParse(t).success;const a=g9(n);(o=n.dataType)==null||o.validate();const s=[...a];if(n.id==="80c86e1b-caca-4ba5-9b1f-38f72d10e4a3"){const l=H({id:`${n.id}--${M.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:M.PropertyImplementsNonAbstact,entity:n});s.push(l.error)}return s}function g9(n){const e=[];if(!n.implements)return e;const t=n.implements;if(!t.abstract){const a=H({id:`${n.id}--${M.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(t,n.project)}" with id "${t.id}".`,issue:null,severity:T.Error,code:M.PropertyImplementsNonAbstact,entity:n});e.push(a.error)}if(n.static&&!t.static){const a=H({id:`${n.id}--${M.NonStaticPropertyImplementsStatic}`,message:`Static property "${S(n,n.project)}" with id "${n.id}" implements a non-static property "${S(t,n.project)}" with id "${t.id}".`,issue:null,severity:T.Error,code:M.NonStaticPropertyImplementsStatic,entity:n});e.push(a.error)}if(!n.static&&t.static){const a=H({id:`${n.id}--${M.StaticPropertyImplementsNonStatic}`,message:`Non-static property "${S(n,n.project)}" with id "${n.id}" implements a static property "${S(t,n.project)}" with id "${t.id}".`,issue:null,severity:T.Error,code:M.StaticPropertyImplementsNonStatic,entity:n});e.push(a.error)}if(!Yt(n.dataType,t.dataType)){const a=H({id:`${n.id}--${M.PropertyImplementsIncompatibleType}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a property "${S(t,n.project)}" with id "${t.id}" that has an incompatible data type.`,issue:null,severity:T.Error,code:M.PropertyImplementsIncompatibleType,entity:n});e.push(a.error)}return ne(n.errors,e)}function v9(n,e){const t=[];if(n.parent){const a=e.get(n.parent);if(!a)t.push(new E({id:`${n.id}--${n.parent}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.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=Yn(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}' (${S(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}--${h.InvalidBuiltInEntityReference}`,code:h.InvalidBuiltInEntityReference,severity:T.Error,message:o,issue:null}))}else if(![i.CustomEntity].includes(a.type))t.push(new E({id:`${n.id}--${n.parent}--${h.InvalidParentReference}`,code:h.InvalidParentReference,severity:T.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 l=Hn(a).filter(p=>!p.interactive);if(l.length){let p=l.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 '${i.BuiltInBaseEntity}' entities that are non-interactive ("${L(l.map(y=>S(y,y.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 '${i.BuiltInBaseEntity}' entity that is non-interactive ("${S(l[0],l[0].project)}").`;p+=`
20
20
  ${Jn}`,t.push(new E({id:`${n.id}--${h.NonInteractiveEntityReferenced}`,code:h.NonInteractiveEntityReferenced,severity:T.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}--${h.SelfReference}`,code:h.SelfReference,severity:T.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}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.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 y=a.properties.find(f=>{var m;return((m=f.implements)==null?void 0:m.id)===n.implements});y?t.push(new E({id:`${n.id}--${A.PropertyOverwrite}`,code:A.PropertyOverwrite,severity:T.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 '${y.id}' that implements the same base property.`,issue:null})):[i.Property].includes(p.type)?p.abstract||t.push(new E({id:`${n.id}--${n.implements}--${h.InvalidImplementsReference}`,code:h.InvalidImplementsReference,severity:T.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}--${h.InvalidImplementsReference}`,code:h.InvalidImplementsReference,severity:T.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 r=ke(n,{},e);return t.push(...r.errors),t}const ue=class ue{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"private");c(this,"abstract");c(this,"index");c(this,"static");c(this,"required");c(this,"type",i.Property);c(this,"hidden",!1);c(this,"dataType",null);c(this,"implements",null);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.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,this.hidden=e.hidden||!1}static fromGenerationTarget(e,t){const r=B(e.parent),a=t.get(r);let s=null;if(e.implements){const p=B(e.implements);s=t.get(p)}const o={id:e.id,version:1,name:e.name,type:i.Property,index:a.properties.length,private:e.private,abstract:e.abstract,static:e.static,required:e.required||!1,hidden:!1,description:e.description,implements:s,dataType:null,parent:a},l=R(o,t);return l.setParent(a),l.initChildren(),l}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=v9(r,t),o=Ed(r,t);return a.push(...s,...o,...Be(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
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}--${A.InvalidObjectStructure}`,code:A.InvalidObjectStructure,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' is not a value reading or writing entity.
22
- ${po}`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){const e=[this];return this.parent.addProperty(this),e.push(this.parent),{affected:v(e),self: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.required=e.required||this.required,this.hidden=e.hidden||this.hidden,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const r=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.dataType){const{affected:s,removed:o}=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s),a.push(...o)}return e||this.parent.type===i.CustomEntity&&(this.parent.removeProperty(this),r.push(this.parent)),{affected:v(r),removed:v(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:r}=this.dataType.restore({seenEntities:e});t.push(...r)}return this.parent.type===i.CustomEntity&&(this.parent.addProperty(this),t.push(this.parent)),{affected:t,self:this}}toFlat(e=new Set){var r;return e.has(this.id)?[]:(e.add(this.id),[this,...((r=this.dataType)==null?void 0:r.toFlat(e))||[]])}toFlatIds(e=new Set){var r;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((r=this.dataType)==null?void 0:r.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,hidden:this.hidden,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+"--"+w.UUID.uuid()+"--ref",type:i.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,hidden:this.hidden,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 r,a;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((r=this.dataType)==null?void 0:r.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 r;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((r=this.dataType)==null?void 0:r.toFlatGenerationTarget(e))||[]])}clearErrors(){var e;return this.errors=[],(e=this.dataType)==null||e.clearErrors(),this}validate(){return this.errors=b9(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,r=!0){var f;const a=t||Qe(S(this,this.project),i.Property,this.project),s=a.split("-id"),o=s[s.length-1||0]||a,l={hidden:!1,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=jt(l,this.project);r&&p.subscribe();const y=((f=this.dataType)==null?void 0:f.clone(p,o+"-data-type-id",r))||null;return y&&p.setDataType(y),p}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}getDataType(){return this.dataType}};c(ue,"MUTABLE_BASE_PROPERTIES",["name","description","private","abstract","static","required"]),c(ue,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(ue,"BASE_PROPERTIES",[...ue.MUTABLE_BASE_PROPERTIES,...ue.INMUTABLE_BASE_PROPERTIES]),c(ue,"MUTABLE_META_PROPERTIES",[...ue.MUTABLE_BASE_PROPERTIES,"index"]),c(ue,"INMUTABLE_META_PROPERTIES",[...ue.INMUTABLE_BASE_PROPERTIES]),c(ue,"META_PROPERTIES",[...ue.MUTABLE_META_PROPERTIES,...ue.INMUTABLE_META_PROPERTIES]),c(ue,"MUTABLE_UPSTREAM_PROPERTIES",[]),c(ue,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","implements"]),c(ue,"UPSTREAM_PROPERTIES",[...ue.MUTABLE_UPSTREAM_PROPERTIES,...ue.INMUTABLE_UPSTREAM_PROPERTIES]),c(ue,"MUTABLE_DOWNSTREAM_PROPERTIES",["dataType"]),c(ue,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(ue,"DOWNSTREAM_PROPERTIES",[...ue.MUTABLE_DOWNSTREAM_PROPERTIES,...ue.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(ue,"PROPERTIES",[...ue.META_PROPERTIES,...ue.UPSTREAM_PROPERTIES,...ue.DOWNSTREAM_PROPERTIES]);let Rr=ue;function I9(n){const e=l8(),t=n.toJSON();e.safeParse(t).success;const a=D9(n),s=P9(n),o=St(n);n.inputs.forEach(p=>p.validate()),o.forEach(p=>p.validate());const l=[...a,...s];if(n.id==="getCompanyByIdEndpointReachedEntityEvent"){const p=H({id:`${n.id}--${_.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:_.PropertyImplementsNonAbstact,entity:n});l.push(p.error)}return ne(n.errors,l)}function D9(n){const e=[];if(!n.calls.length){const t=H({id:`${n.id}--${_.ScopeWithoutLogic}`,message:`Action "${S(n,n.project)}" with id "${n.id}" does not have any logic defined. So it doesn't do anything.`,issue:null,severity:T.Error,code:_.ScopeWithoutLogic,entity:n});e.push(t.error)}return ne(n.errors,e)}function P9(n){const e=[];return n.implements,ne(n.errors,e)}const pe=class pe{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"x");c(this,"y");c(this,"collapsed");c(this,"private");c(this,"index",null);c(this,"type",i.FunctionDeclaration);c(this,"implements",null);c(this,"inputs",[]);c(this,"returnStatements",[]);c(this,"calls",[]);c(this,"parent");c(this,"detachedChildren",[]);c(this,"errors",[]);c(this,"project");c(this,"initialized",!1);c(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 r=t;if(e.parent){const l=B(e.parent);r=t.get(l)}let a=null;if(e.implements){const l=B(e.implements);a=t.get(l)}const s={id:e.id,version:1,name:e.name,type:i.FunctionDeclaration,index:r.type===i.CustomEntity?r.methods.length:null,description:e.description,collapsed:!1,private:!1,returnStatements:[],calls:[],inputs:[],implements:a,x:0,y:0,parent:r},o=R(s,t);return o.setParent(r),o.initChildren(),o}static validateGenerationTarget(e,t){var f;let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[i.Project,i.InstalledProject,i.CustomEntity,i.Loop],optional:!0},implements:{list:!1,types:[i.ActionDescriptor],optional:!0}},t);r=s.modifiedData;const o=md(r,t),l=r.parent?t.get(r.parent):null;if(l&&l.type===i.CustomEntity){const m=l,g=Hn(m).filter(I=>!I.interactive);if(g.length){let I=g.length>1?`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${m.id}' because it extends or implements multiple '${i.BuiltInBaseEntity}' entities that are non-interactive ("${L(g.map(D=>S(D,D.project)),'", "','" and "')}").`:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${m.id}' because it extends or implements a '${i.BuiltInBaseEntity}' entity that is non-interactive ("${S(g[0],g[0].project)}").`;I+=`
22
+ ${po}`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){const e=[this];return this.parent.addProperty(this),e.push(this.parent),{affected:v(e),self: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.required=e.required||this.required,this.hidden=e.hidden||this.hidden,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const r=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.dataType){const{affected:s,removed:o}=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s),a.push(...o)}return e||this.parent.type===i.CustomEntity&&(this.parent.removeProperty(this),r.push(this.parent)),{affected:v(r),removed:v(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:r}=this.dataType.restore({seenEntities:e});t.push(...r)}return this.parent.type===i.CustomEntity&&(this.parent.addProperty(this),t.push(this.parent)),{affected:t,self:this}}toFlat(e=new Set){var r;return e.has(this.id)?[]:(e.add(this.id),[this,...((r=this.dataType)==null?void 0:r.toFlat(e))||[]])}toFlatIds(e=new Set){var r;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((r=this.dataType)==null?void 0:r.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,hidden:this.hidden,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+"--"+w.UUID.uuid()+"--ref",type:i.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,hidden:this.hidden,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 r,a;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((r=this.dataType)==null?void 0:r.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 r;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((r=this.dataType)==null?void 0:r.toFlatGenerationTarget(e))||[]])}clearErrors(){var e;return this.errors=[],(e=this.dataType)==null||e.clearErrors(),this}validate(){return this.errors=b9(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,r=!0){var f;const a=t||Qe(S(this,this.project),i.Property,this.project),s=a.split("-id"),o=s[s.length-1||0]||a,l={hidden:!1,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=jt(l,this.project);r&&p.subscribe();const y=((f=this.dataType)==null?void 0:f.clone(p,o+"-data-type-id",r))||null;return y&&p.setDataType(y),p}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}getDataType(){return this.dataType}};c(ue,"MUTABLE_BASE_PROPERTIES",["name","description","private","abstract","static","required"]),c(ue,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(ue,"BASE_PROPERTIES",[...ue.MUTABLE_BASE_PROPERTIES,...ue.INMUTABLE_BASE_PROPERTIES]),c(ue,"MUTABLE_META_PROPERTIES",[...ue.MUTABLE_BASE_PROPERTIES,"index"]),c(ue,"INMUTABLE_META_PROPERTIES",[...ue.INMUTABLE_BASE_PROPERTIES]),c(ue,"META_PROPERTIES",[...ue.MUTABLE_META_PROPERTIES,...ue.INMUTABLE_META_PROPERTIES]),c(ue,"MUTABLE_UPSTREAM_PROPERTIES",[]),c(ue,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","implements"]),c(ue,"UPSTREAM_PROPERTIES",[...ue.MUTABLE_UPSTREAM_PROPERTIES,...ue.INMUTABLE_UPSTREAM_PROPERTIES]),c(ue,"MUTABLE_DOWNSTREAM_PROPERTIES",["dataType"]),c(ue,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(ue,"DOWNSTREAM_PROPERTIES",[...ue.MUTABLE_DOWNSTREAM_PROPERTIES,...ue.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(ue,"PROPERTIES",[...ue.META_PROPERTIES,...ue.UPSTREAM_PROPERTIES,...ue.DOWNSTREAM_PROPERTIES]);let Rr=ue;function I9(n){const e=l8(),t=n.toJSON();e.safeParse(t).success;const a=D9(n),s=P9(n),o=St(n);n.inputs.forEach(p=>p.validate()),o.forEach(p=>p.validate());const l=[...a,...s];if(n.id==="getCompanyByIdEndpointReachedEntityEvent"){const p=H({id:`${n.id}--${M.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:M.PropertyImplementsNonAbstact,entity:n});l.push(p.error)}return ne(n.errors,l)}function D9(n){const e=[];if(!n.calls.length){const t=H({id:`${n.id}--${M.ScopeWithoutLogic}`,message:`Action "${S(n,n.project)}" with id "${n.id}" does not have any logic defined. So it doesn't do anything.`,issue:null,severity:T.Error,code:M.ScopeWithoutLogic,entity:n});e.push(t.error)}return ne(n.errors,e)}function P9(n){const e=[];return n.implements,ne(n.errors,e)}const pe=class pe{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"x");c(this,"y");c(this,"collapsed");c(this,"private");c(this,"index",null);c(this,"type",i.FunctionDeclaration);c(this,"implements",null);c(this,"inputs",[]);c(this,"returnStatements",[]);c(this,"calls",[]);c(this,"parent");c(this,"detachedChildren",[]);c(this,"errors",[]);c(this,"project");c(this,"initialized",!1);c(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 r=t;if(e.parent){const l=B(e.parent);r=t.get(l)}let a=null;if(e.implements){const l=B(e.implements);a=t.get(l)}const s={id:e.id,version:1,name:e.name,type:i.FunctionDeclaration,index:r.type===i.CustomEntity?r.methods.length:null,description:e.description,collapsed:!1,private:!1,returnStatements:[],calls:[],inputs:[],implements:a,x:0,y:0,parent:r},o=R(s,t);return o.setParent(r),o.initChildren(),o}static validateGenerationTarget(e,t){var f;let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[i.Project,i.InstalledProject,i.CustomEntity,i.Loop],optional:!0},implements:{list:!1,types:[i.ActionDescriptor],optional:!0}},t);r=s.modifiedData;const o=md(r,t),l=r.parent?t.get(r.parent):null;if(l&&l.type===i.CustomEntity){const m=l,g=Hn(m).filter(I=>!I.interactive);if(g.length){let I=g.length>1?`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${m.id}' because it extends or implements multiple '${i.BuiltInBaseEntity}' entities that are non-interactive ("${L(g.map(D=>S(D,D.project)),'", "','" and "')}").`:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${m.id}' because it extends or implements a '${i.BuiltInBaseEntity}' entity that is non-interactive ("${S(g[0],g[0].project)}").`;I+=`
23
23
  ${Jn}`,a.push(new E({id:`${e.id}--${h.NonInteractiveEntityReferenced}`,code:h.NonInteractiveEntityReferenced,severity:T.Error,message:I,issue:null}))}else{const I=m.methods.find(Y=>{var G;return((G=Y.implements)==null?void 0:G.id)===r.implements});I&&a.push(new E({id:`${r.id}--${A.MethodOverwrite}`,code:A.MethodOverwrite,severity:T.Error,message:`The '${i.FunctionDeclaration}' with id "${r.id}" is trying to implement the '${i.ActionDescriptor}' with id "${r.implements}", but the parent custom-entity already has a ${i.FunctionDeclaration} with id '${I.id}' that implements the same base method.
24
24
  A ${i.FunctionDeclaration} that has a parent of type '${i.CustomEntity}' is considered a method of that entity, and cannot implement the same '${i.ActionDescriptor}' more than once.
25
25
  ${i.ActionDescriptor} entities inside a ${i.CustomEntity} are considered abstract methods that can be implemented by ${i.FunctionDeclaration} entities inside the same parent.
@@ -29,19 +29,19 @@ If you want to implement a new method, you can create a new 'function-declaratio
29
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 ${i.ActionDescriptor} signature, otherwise the implementation will have a validation error.`,issue:null}))}}else if(l&&l.type===i.Loop){const m=l.body;m&&((f=m.implements)==null?void 0:f.id)===r.implements&&a.push(new E({id:`${r.id}--${A.MethodOverwrite}`,code:A.MethodOverwrite,severity:T.Error,message:`The '${i.FunctionDeclaration}' with id "${r.id}" is being added as the 'body' of the ${i.Loop} with id "${l.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=r.parent&&t.get(r.parent)||t.getBuiltIn(r.parent),y=p?Yn(p):null;return y&&a.push(new E({id:`${e.id}--${h.BuiltInEntityParent}`,code:h.BuiltInEntityParent,severity:T.Error,message:`The entity with id '${e.id}' and type '${e.type}', belongs to a built-in system entity "${S(y,t)}" with id '${y.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,...Be(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];return e.parent&&(this.parent.type===i.Project?t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
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}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
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(){const e=[this];return this.parent===this.project?this.project.addFunctionDeclaration(this):this.parent.type===i.CustomEntity?(this.parent.addMethod(this),e.push(this.parent)):this.parent.type===i.Loop&&(this.parent.setBody(this),e.push(this.parent)),{affected:v(e),self:this}}replaceDetachedChild(e,t){const r=this.detachedChildren.indexOf(e);return r!==-1&&(this.detachedChildren[r]=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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent),t.initChildren()):t.type!==i.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 r=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),St(this).forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),{affected:v(r),removed:v(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)}),St(this).forEach(a=>{const{affected:s}=a.restore({seenEntities:e});t.push(...s)}),{affected:v(t),self:this})}toFlat(e=new Set){if(e.has(this.id))return[];e.add(this.id);const t=St(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=St(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+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.toFlatJSON(e)),...this.calls.flatMap(r=>r.toFlatJSON(e)),...this.returnStatements.flatMap(r=>r.toFlatJSON(e)),...this.implements?this.implements.toFlatJSON(e):[]])}toGenerationTarget(){var t;const e=this.parent.type===i.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(r=>r.toFlatGenerationTarget(e)),...this.calls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.returnStatements.flatMap(r=>r.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=I9(this);return this.errors=[...e],{success:!0,error:null,data:this.toJSON()}}getErrors(){const e=St(this);return[...this.errors,...this.inputs.flatMap(r=>r.getErrors()),...e.flatMap(r=>r.getErrors())]}getShallowErrors(){return this.errors}clone(e=null,t=null,r=!0,a=!1){var m;const s=this.toJSON(),o=t||Qe(S(this,this.project),i.FunctionDeclaration,this.project);s.inputs=[];const l=o.split("-id"),p=l[l.length-1||0]||o;s.id=o;const y=jt(s,this.project);e?y.setParent(e):y.setParent(this.parent),r&&y.subscribe(),y.initChildren();const f=(m=this.inputs)==null?void 0:m.map((b,g)=>b.clone(this,p+"-argument-declaration-"+g+"-id",r));return y.inputs=f,y}getVariableInstances(){return te(this).filter(r=>r.type===i.VariableInstance)}getArgument(e){return this.inputs.find(t=>t.id===e)||null}createCall(e=this.project,t={}){const r={id:t.id||w.UUID.uuid(),version:t.version||1,type:i.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(r,this.project);return a.setParent(e),a.initChildren(),e===this.project&&this.project.addFunctionCall(a),a}createInternalCall(e,t={}){const r={id:t.id||w.UUID.uuid(),version:t.version||1,type:i.InternalCall,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.toShallowJSON(),index:e.internalCalls.length},a=R(r,this.project);return a.setParent(e),a.initChildren(),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}};c(pe,"MUTABLE_BASE_PROPERTIES",["name","description","private"]),c(pe,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(pe,"BASE_PROPERTIES",[...pe.MUTABLE_BASE_PROPERTIES,...pe.INMUTABLE_BASE_PROPERTIES]),c(pe,"MUTABLE_META_PROPERTIES",[...pe.MUTABLE_BASE_PROPERTIES,"x","y","index","collapsed"]),c(pe,"INMUTABLE_META_PROPERTIES",[...pe.INMUTABLE_BASE_PROPERTIES]),c(pe,"META_PROPERTIES",[...pe.MUTABLE_META_PROPERTIES,...pe.INMUTABLE_META_PROPERTIES]),c(pe,"MUTABLE_UPSTREAM_PROPERTIES",[]),c(pe,"INMUATABLE_UPSTREAM_PROPERTIES",["parent","implements"]),c(pe,"UPSTREAM_PROPERTIES",[...pe.MUTABLE_UPSTREAM_PROPERTIES,...pe.INMUATABLE_UPSTREAM_PROPERTIES]),c(pe,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","calls","returnStatements"]),c(pe,"INMUATABLE_DOWNSTREAM_PROPERTIES",[]),c(pe,"DOWNSTREAM_PROPERTIES",[...pe.MUTABLE_DOWNSTREAM_PROPERTIES,...pe.INMUATABLE_DOWNSTREAM_PROPERTIES]),c(pe,"PROPERTIES",[...pe.META_PROPERTIES,...pe.UPSTREAM_PROPERTIES,...pe.DOWNSTREAM_PROPERTIES]);let br=pe;function A9(n){const e=yx(),t=n.toJSON();e.safeParse(t).success;const a=[];if(n.entity&&n.andChildrenGroup||n.entity&&n.orChildrenGroup||n.andChildrenGroup&&n.orChildrenGroup){const s=H({id:n.id+"--"+_.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:T.Error,code:_.InvalidPropertiesCombination,entity:n});a.push(s.error)}return ne(n.errors,a)}function S9(n,e){const t=[],r=[i.CustomEntity,i.ActionDescriptor,i.Property,i.ArgumentDeclaration,i.ReturnDeclaration,i.VariableDeclaration,i.ValueDescriptor,i.DataType],a=`'${L(r,"', '","' or '")}'`;if(n.parent)if(n.id===n.parent)t.push(new E({id:`${n.id}--${n.parent}--${h.SelfReference}`,code:h.SelfReference,severity:T.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?r.includes(s.type)||t.push(new E({id:`${n.id}--${n.parent}--${h.InvalidParentReference}`,code:h.InvalidParentReference,severity:T.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}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.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}--${A.InvalidObjectStructure}`,code:A.InvalidObjectStructure,severity:T.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}--${h.SelfReference}`,code:h.SelfReference,severity:T.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?[i.CustomEntity,i.PrimitiveEntity,i.ActionDescriptor,i.BuiltInBaseEntity].includes(s.type)||t.push(new E({id:`${n.id}--${n.entity}--${h.InvalidImplementsReference}`,code:h.InvalidImplementsReference,severity:T.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}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.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 ye=class ye{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"isNullable");c(this,"isList");c(this,"constant");c(this,"asType");c(this,"type",i.DataType);c(this,"options");c(this,"parentRelationType");c(this,"defaultValue",null);c(this,"entity",null);c(this,"andChildrenGroup");c(this,"orChildrenGroup");c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(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 r=B(e.parent),a=t.get(r);let s=null;e.entity&&(s=t.get(e.entity));const o={id:e.id,version:1,type:i.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},l=R(o,t);return l.setParent(a),l.initChildren(),l}static validateGenerationTarget(e,t){var p;let r=JSON.parse(JSON.stringify(e));const a=[],s=S9(r,t);if(a.push(...s,...Be(r)),r.entity){const y=t.get(r.entity);if(y.type===i.CustomEntity){const m=Hn(y).filter(b=>!b.interactive);if(m.length){const b=m.length>1?`entities with ids '${L(m.map(g=>g.id),"', '","' and '")}'`:`entity with id '${m[0].id}'`;a.push(new E({id:`${e.id}--${h.NonInteractiveEntityReferenced}`,code:h.NonInteractiveEntityReferenced,severity:T.Error,message:`The entity with id '${e.id}' and type '${e.type}', cannot reference 'custom-entity' with id '${r.entity}' at 'entity'. The entity extends or implements non-interactive built-in-base-entity ${b}.
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(){const e=[this];return this.parent===this.project?this.project.addFunctionDeclaration(this):this.parent.type===i.CustomEntity?(this.parent.addMethod(this),e.push(this.parent)):this.parent.type===i.Loop&&(this.parent.setBody(this),e.push(this.parent)),{affected:v(e),self:this}}replaceDetachedChild(e,t){const r=this.detachedChildren.indexOf(e);return r!==-1&&(this.detachedChildren[r]=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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent),t.initChildren()):t.type!==i.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 r=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),St(this).forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),{affected:v(r),removed:v(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)}),St(this).forEach(a=>{const{affected:s}=a.restore({seenEntities:e});t.push(...s)}),{affected:v(t),self:this})}toFlat(e=new Set){if(e.has(this.id))return[];e.add(this.id);const t=St(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=St(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+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.toFlatJSON(e)),...this.calls.flatMap(r=>r.toFlatJSON(e)),...this.returnStatements.flatMap(r=>r.toFlatJSON(e)),...this.implements?this.implements.toFlatJSON(e):[]])}toGenerationTarget(){var t;const e=this.parent.type===i.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(r=>r.toFlatGenerationTarget(e)),...this.calls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.returnStatements.flatMap(r=>r.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=I9(this);return this.errors=[...e],{success:!0,error:null,data:this.toJSON()}}getErrors(){const e=St(this);return[...this.errors,...this.inputs.flatMap(r=>r.getErrors()),...e.flatMap(r=>r.getErrors())]}getShallowErrors(){return this.errors}clone(e=null,t=null,r=!0,a=!1){var m;const s=this.toJSON(),o=t||Qe(S(this,this.project),i.FunctionDeclaration,this.project);s.inputs=[];const l=o.split("-id"),p=l[l.length-1||0]||o;s.id=o;const y=jt(s,this.project);e?y.setParent(e):y.setParent(this.parent),r&&y.subscribe(),y.initChildren();const f=(m=this.inputs)==null?void 0:m.map((b,g)=>b.clone(this,p+"-argument-declaration-"+g+"-id",r));return y.inputs=f,y}getVariableInstances(){return te(this).filter(r=>r.type===i.VariableInstance)}getArgument(e){return this.inputs.find(t=>t.id===e)||null}createCall(e=this.project,t={}){const r={id:t.id||w.UUID.uuid(),version:t.version||1,type:i.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(r,this.project);return a.setParent(e),a.initChildren(),e===this.project&&this.project.addFunctionCall(a),a}createInternalCall(e,t={}){const r={id:t.id||w.UUID.uuid(),version:t.version||1,type:i.InternalCall,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.toShallowJSON(),index:e.internalCalls.length},a=R(r,this.project);return a.setParent(e),a.initChildren(),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}};c(pe,"MUTABLE_BASE_PROPERTIES",["name","description","private"]),c(pe,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(pe,"BASE_PROPERTIES",[...pe.MUTABLE_BASE_PROPERTIES,...pe.INMUTABLE_BASE_PROPERTIES]),c(pe,"MUTABLE_META_PROPERTIES",[...pe.MUTABLE_BASE_PROPERTIES,"x","y","index","collapsed"]),c(pe,"INMUTABLE_META_PROPERTIES",[...pe.INMUTABLE_BASE_PROPERTIES]),c(pe,"META_PROPERTIES",[...pe.MUTABLE_META_PROPERTIES,...pe.INMUTABLE_META_PROPERTIES]),c(pe,"MUTABLE_UPSTREAM_PROPERTIES",[]),c(pe,"INMUATABLE_UPSTREAM_PROPERTIES",["parent","implements"]),c(pe,"UPSTREAM_PROPERTIES",[...pe.MUTABLE_UPSTREAM_PROPERTIES,...pe.INMUATABLE_UPSTREAM_PROPERTIES]),c(pe,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","calls","returnStatements"]),c(pe,"INMUATABLE_DOWNSTREAM_PROPERTIES",[]),c(pe,"DOWNSTREAM_PROPERTIES",[...pe.MUTABLE_DOWNSTREAM_PROPERTIES,...pe.INMUATABLE_DOWNSTREAM_PROPERTIES]),c(pe,"PROPERTIES",[...pe.META_PROPERTIES,...pe.UPSTREAM_PROPERTIES,...pe.DOWNSTREAM_PROPERTIES]);let br=pe;function A9(n){const e=yx(),t=n.toJSON();e.safeParse(t).success;const a=[];if(n.entity&&n.andChildrenGroup||n.entity&&n.orChildrenGroup||n.andChildrenGroup&&n.orChildrenGroup){const s=H({id:n.id+"--"+M.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:T.Error,code:M.InvalidPropertiesCombination,entity:n});a.push(s.error)}return ne(n.errors,a)}function S9(n,e){const t=[],r=[i.CustomEntity,i.ActionDescriptor,i.Property,i.ArgumentDeclaration,i.ReturnDeclaration,i.VariableDeclaration,i.ValueDescriptor,i.DataType],a=`'${L(r,"', '","' or '")}'`;if(n.parent)if(n.id===n.parent)t.push(new E({id:`${n.id}--${n.parent}--${h.SelfReference}`,code:h.SelfReference,severity:T.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?r.includes(s.type)||t.push(new E({id:`${n.id}--${n.parent}--${h.InvalidParentReference}`,code:h.InvalidParentReference,severity:T.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}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.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}--${A.InvalidObjectStructure}`,code:A.InvalidObjectStructure,severity:T.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}--${h.SelfReference}`,code:h.SelfReference,severity:T.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?[i.CustomEntity,i.PrimitiveEntity,i.ActionDescriptor,i.BuiltInBaseEntity].includes(s.type)||t.push(new E({id:`${n.id}--${n.entity}--${h.InvalidImplementsReference}`,code:h.InvalidImplementsReference,severity:T.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}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.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 ye=class ye{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"isNullable");c(this,"isList");c(this,"constant");c(this,"asType");c(this,"type",i.DataType);c(this,"options");c(this,"parentRelationType");c(this,"defaultValue",null);c(this,"entity",null);c(this,"andChildrenGroup");c(this,"orChildrenGroup");c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(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 r=B(e.parent),a=t.get(r);let s=null;e.entity&&(s=t.get(e.entity));const o={id:e.id,version:1,type:i.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},l=R(o,t);return l.setParent(a),l.initChildren(),l}static validateGenerationTarget(e,t){var p;let r=JSON.parse(JSON.stringify(e));const a=[],s=S9(r,t);if(a.push(...s,...Be(r)),r.entity){const y=t.get(r.entity);if(y.type===i.CustomEntity){const m=Hn(y).filter(b=>!b.interactive);if(m.length){const b=m.length>1?`entities with ids '${L(m.map(g=>g.id),"', '","' and '")}'`:`entity with id '${m[0].id}'`;a.push(new E({id:`${e.id}--${h.NonInteractiveEntityReferenced}`,code:h.NonInteractiveEntityReferenced,severity:T.Error,message:`The entity with id '${e.id}' and type '${e.type}', cannot reference 'custom-entity' with id '${r.entity}' at 'entity'. The entity extends or implements non-interactive built-in-base-entity ${b}.
33
33
  ${Jn}`,issue:null}))}}}const o=r.parent&&t.get(r.parent)||t.getBuiltIn(r.parent),l=o?Yn(o):null;if(l)a.push(new E({id:`${e.id}--${h.BuiltInEntityParent}`,code:h.BuiltInEntityParent,severity:T.Error,message:`The entity with id '${e.id}' and type '${e.type}', belongs to a built-in system entity "${S(l,t)}" with id '${l.id}', and therefore it cannot be created as it would affect a built in entity, which are inmutable.`,issue:null}));else if(o){const y=o.type,f=[i.Property,i.VariableDeclaration,i.ArgumentDeclaration,i.ReturnDeclaration,i.ValueDescriptor];if(f.includes(y)&&(r.parentRelationType&&a.push(new E({id:`${e.id}--${h.InvalidParentRelationType}`,code:h.InvalidParentRelationType,severity:T.Error,message:`The entity with id '${e.id}' and type '${e.type}', cannot have a 'parentRelationType' property set of type '${y}'.
34
34
  The entitities of type '${L(f,"', '","' and '")}' can only have one 'data-type' child under the 'dataType' property so no 'parentRelationType' is needed.`,issue:null})),o.dataType)){const m=(p=o.dataType)==null?void 0:p.id;a.push(new E({id:`${e.id}--${h.NewEntityWouldOverriteExisting}`,code:h.NewEntityWouldOverriteExisting,severity:T.Error,message:`The entity with id '${e.id}' and type '${e.type}', cannot be added as a child to the entity with id '${r.parent}' and type '${y}', because it already has a 'data-type' child with id '${m}'.
35
35
  The entitities of type '${L(f,"', '","' 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
  ${sn({describe_entity:m})}
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}))}y===i.ActionDescriptor&&(!r.parentRelationType||!(r.parentRelationType===xe.DynamicArgumentTypes||r.parentRelationType===xe.DynamicReturnTypes))&&a.push(new E({id:`${e.id}--${h.InvalidParentRelationType}`,code:h.InvalidParentRelationType,severity:T.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})),y===i.DataType&&(!r.parentRelationType||!(r.parentRelationType===xe.AndDataTypeGroup||r.parentRelationType===xe.OrDataTypeGroup))&&a.push(new E({id:`${e.id}--${h.InvalidParentRelationType}`,code:h.InvalidParentRelationType,severity:T.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:r}}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){const e=[this];return this.parent.type===i.DataType?this.parentRelationType===xe.AndDataTypeGroup?this.parent.addToAndGroup(this):this.parentRelationType===xe.OrDataTypeGroup&&this.parent.addToOrGroup(this):this.parent.type===i.ActionDescriptor?this.parentRelationType===xe.DynamicArgumentTypes?this.parent.setDynamicArgumentTypes(this):this.parentRelationType===xe.DynamicReturnTypes&&this.parent.setDynamicReturnTypes(this):this.parent.setDataType(this),e.push(this.parent),{affected:v(e),self:this}}setParent(e){return this.parent=e,this}removeChildGroup(e){if(this.andChildrenGroup){const t=this.andChildrenGroup.findIndex(r=>r.id===e.id);t!==-1&&this.andChildrenGroup.splice(t,1)}if(this.orChildrenGroup){const t=this.orChildrenGroup.findIndex(r=>r.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===i.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 r=[],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});r.push(...s),a.push(...o)}if(this.entity&&this.entity.type===i.CustomEntity&&this.entity.parent===this){const{affected:s,removed:o}=this.entity.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s),a.push(...o)}if(!e){this.parent.type===i.DataType&&this.parent.removeChildGroup(this);const s=this.parent;if(s.type===i.DataType){if(this.parentRelationType===xe.AndDataTypeGroup){if(Array.isArray(s.andChildrenGroup)){const o=s.andChildrenGroup.findIndex(l=>l.id===this.id);o!==-1&&s.andChildrenGroup.splice(o,1)}}else if(this.parentRelationType===xe.OrDataTypeGroup&&Array.isArray(s.orChildrenGroup)){const o=s.orChildrenGroup.findIndex(l=>l.id===this.id);o!==-1&&s.orChildrenGroup.splice(o,1)}}else if(s.type===i.ActionDescriptor){const o=this.parent;this.parentRelationType===xe.DynamicArgumentTypes?o.removeDynamicArgumentTypes():this.parentRelationType===xe.DynamicReturnTypes&&o.removeDynamicReturnTypes()}else this.parent.removeDataType();r.push(s)}return{affected:v(r),removed:v(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:r}=this.defaultValue.restore({seenEntities:e});t.push(...r)}if(this.entity&&this.entity.type===i.CustomEntity&&this.entity.parent===this){const{affected:r}=this.entity.restore({seenEntities:e});t.push(...r)}if(this.parent.type===i.DataType){const r=this.parent;Array.isArray(r.andChildrenGroup)&&r.andChildrenGroup.push(this)}if(this.parent.type===i.DataType){const r=this.parent;this.parentRelationType===xe.AndDataTypeGroup?Array.isArray(r.andChildrenGroup)&&r.andChildrenGroup.push(this):this.parentRelationType===xe.OrDataTypeGroup&&Array.isArray(r.orChildrenGroup)&&r.orChildrenGroup.push(this)}else if(this.parent.type===i.ActionDescriptor){const r=this.parent;this.parentRelationType===xe.DynamicArgumentTypes?r.setDynamicArgumentTypes(this):this.parentRelationType===xe.DynamicReturnTypes&&r.setDynamicReturnTypes(this)}else{const r=this.parent;r.setDataType(this),t.push(r)}return{affected:t,self:this}}toFlat(e=new Set){var r,a,s;return e.has(this.id)?[]:(e.add(this.id),[this,...((r=this.andChildrenGroup)==null?void 0:r.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 r,a,s;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((r=this.andChildrenGroup)==null?void 0:r.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,r,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:((r=this.orChildrenGroup)==null?void 0:r.map(s=>s.toJSON()))||null,entity:((a=this.entity)==null?void 0:a.toReference())||null,parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,r,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:((r=this.orChildrenGroup)==null?void 0:r.map(s=>s.toReference()))||null,entity:((a=this.entity)==null?void 0:a.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var r,a,s,o;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((r=this.defaultValue)==null?void 0:r.toFlatJSON(e))||[],...((a=this.andChildrenGroup)==null?void 0:a.flatMap(l=>l.toFlatJSON(e)))||[],...((s=this.orChildrenGroup)==null?void 0:s.flatMap(l=>l.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 r,a,s;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((r=this.defaultValue)==null?void 0:r.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==i.CustomEntity&&this.entity.parent===this&&this.entity.toFlatGenerationTarget(e)||[]])}clearErrors(){var e,t,r,a;return this.errors=[],(e=this.defaultValue)==null||e.clearErrors(),(t=this.andChildrenGroup)==null||t.forEach(s=>s.clearErrors()),(r=this.orChildrenGroup)==null||r.forEach(s=>s.clearErrors()),this.inferred&&((a=this.entity)==null||a.clearErrors()),this}validate(){const e=A9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors]}getShallowErrors(){return this.errors}clone(e=null,t=null,r=!0){var b,g,I,D;const a=this.toJSON(),s=t||Qe(dv(this),i.DataType,this.project),o=s.split("-id"),l=o[o.length-1||0]||s;a.id=s;const p=jt(a,this.project);e&&p.setParent(e),r&&p.subscribe(),p.initChildren();const y=(b=this.defaultValue)==null?void 0:b.clone(p,l+"-default-value-id",r);p.defaultValue=y||null;const f=(g=this.andChildrenGroup)==null?void 0:g.map((C,Y)=>C.clone(this,l+"-and-group-data-type-"+Y+"-id",r)),m=(I=this.orChildrenGroup)==null?void 0:I.map((C,Y)=>C.clone(this,l+"-or-group-data-type-"+Y+"-id",r));if(p.andChildrenGroup=f||null,p.orChildrenGroup=m||null,this.entity&&this.entity.type===i.CustomEntity&&((D=this.entity)==null?void 0:D.parent)===this){const C=this.entity.clone(p,l+"-inferred-entity-id",r);p.setEntity(C)}else this.entity&&p.setEntity(this.entity);return p}merge(e){const t=[],r=[],a=[];return this.asType!==(e==null?void 0:e.asType)&&(this.sync({asType:e==null?void 0:e.asType}),t.push(this)),this.isNullable!==(e==null?void 0:e.isNullable)&&(this.sync({isNullable:e==null?void 0:e.isNullable}),t.push(this)),this.isList!==!(e!=null&&e.isList)&&(this.sync({isList:e==null?void 0:e.isList}),t.push(this)),this.constant!==(e==null?void 0:e.constant)&&(this.sync({constant:e==null?void 0:e.constant}),t.push(this)),e!=null&&e.inferred,{updated:v(t),added:v(r),removed:v(a),self:this}}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}isResolved(){return[i.BuiltInBaseEntity,i.ActionDescriptor].includes(this.parent.type)||Yn(this.parent)?!0:!(!this.entity&&(!this.andChildrenGroup||!this.andChildrenGroup.length)&&(!this.orChildrenGroup||!this.orChildrenGroup.length))}inferFromInputs(e){var t;if(!this.inferred)return this;if(!this.entity&&e.length){const r={id:this.id+"--infered-entity",type:i.CustomEntity,version:1,name:S(this,this.project),description:((t=this.parent)==null?void 0:t.description)||null,static:!0,abstract:!1,properties:[],methods:[],extends:[],implements:[],abstractMethods:[],x:0,y:0,parent:this.toReference()},a=R(r,this.project);a.sync(r),a.setParent(this),a.initChildren(),this.setEntity(a)}return this.entity&&this.entity.inferFromInputs(e),this}};c(ye,"MUTABLE_BASE_PROPERTIES",["isNullable","isList","constant","asType","options","parentRelationType"]),c(ye,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(ye,"BASE_PROPERTIES",[...ye.MUTABLE_BASE_PROPERTIES,...ye.INMUTABLE_BASE_PROPERTIES]),c(ye,"MUTABLE_META_PROPERTIES",[...ye.MUTABLE_BASE_PROPERTIES,"inferred"]),c(ye,"INMUTABLE_META_PROPERTIES",[...ye.INMUTABLE_BASE_PROPERTIES]),c(ye,"META_PROPERTIES",[...ye.MUTABLE_META_PROPERTIES,...ye.INMUTABLE_META_PROPERTIES]),c(ye,"MUTABLE_UPSTREAM_PROPERTIES",["entity","andChildrenGroup","orChildrenGroup","parent"]),c(ye,"INMUTABLE_UPSTREAM_PROPERTIES",[]),c(ye,"UPSTREAM_PROPERTIES",[...ye.MUTABLE_UPSTREAM_PROPERTIES,...ye.INMUTABLE_UPSTREAM_PROPERTIES]),c(ye,"MUTABLE_DOWNSTREAM_PROPERTIES",["defaultValue"]),c(ye,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(ye,"DOWNSTREAM_PROPERTIES",[...ye.MUTABLE_DOWNSTREAM_PROPERTIES,...ye.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(ye,"PROPERTIES",[...ye.META_PROPERTIES,...ye.UPSTREAM_PROPERTIES,...ye.DOWNSTREAM_PROPERTIES]);let hi=ye;function O9(n){var l;const e=YU(),t=n.toJSON();e.safeParse(t).success;const a=C9(n),s=Dn(n),o=[...a,...s];if(n.id==="exec-sequentially-operation-call-id"){const p=H({id:`${n.id}--${_.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:_.PropertyImplementsNonAbstact,entity:n});o.push(p.error)}return n.outputs.forEach(p=>p.validate()),(l=n.error)==null||l.validate(),ne(n.errors,o)}function C9(n){const e=[];return n.inputs.forEach(t=>{t.validate()}),n.dynamicArguments.forEach(t=>{t.validate()}),ne(n.errors,e)}const ie=class ie{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"x");c(this,"y");c(this,"type",i.Operation);c(this,"declaration");c(this,"inputs",[]);c(this,"outputs",[]);c(this,"process",null);c(this,"successCalls",[]);c(this,"errorCalls",[]);c(this,"error",null);c(this,"dynamicArguments",[]);c(this,"calledBySuccess",[]);c(this,"calledByError",[]);c(this,"calledByEntry",[]);c(this,"parent");c(this,"errors",[]);c(this,"project");c(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 r=t;if(e.parent){const m=B(e.parent);r=t.get(m)}const a=B(e.declaration),s=t.get(a),o=e.calledByEntry.map(m=>{const b=B(m);return t.get(b)}),l=e.calledBySuccess.map(m=>{const b=B(m);return t.get(b)}),p=e.calledByError.map(m=>{const b=B(m);return t.get(b)}),y={id:e.id,version:1,type:i.Operation,declaration:s,calledByEntry:o,calledBySuccess:l,calledByError:p,errorCalls:[],successCalls:[],dynamicArguments:[],inputs:[],outputs:[],process:null,error:null,x:0,y:0,parent:r},f=R(y,t);return f.setParent(r),f.initChildren(),f}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[...dt,i.Project],optional:!0}},t);r=s.modifiedData,a.push(...s.errors,...Be(r));const o=B(r.declaration);if(o){const l=Ov(o,t);a.push(...l)}else{const l=`
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}))}y===i.ActionDescriptor&&(!r.parentRelationType||!(r.parentRelationType===xe.DynamicArgumentTypes||r.parentRelationType===xe.DynamicReturnTypes))&&a.push(new E({id:`${e.id}--${h.InvalidParentRelationType}`,code:h.InvalidParentRelationType,severity:T.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})),y===i.DataType&&(!r.parentRelationType||!(r.parentRelationType===xe.AndDataTypeGroup||r.parentRelationType===xe.OrDataTypeGroup))&&a.push(new E({id:`${e.id}--${h.InvalidParentRelationType}`,code:h.InvalidParentRelationType,severity:T.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:r}}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){const e=[this];return this.parent.type===i.DataType?this.parentRelationType===xe.AndDataTypeGroup?this.parent.addToAndGroup(this):this.parentRelationType===xe.OrDataTypeGroup&&this.parent.addToOrGroup(this):this.parent.type===i.ActionDescriptor?this.parentRelationType===xe.DynamicArgumentTypes?this.parent.setDynamicArgumentTypes(this):this.parentRelationType===xe.DynamicReturnTypes&&this.parent.setDynamicReturnTypes(this):this.parent.setDataType(this),e.push(this.parent),{affected:v(e),self:this}}setParent(e){return this.parent=e,this}removeChildGroup(e){if(this.andChildrenGroup){const t=this.andChildrenGroup.findIndex(r=>r.id===e.id);t!==-1&&this.andChildrenGroup.splice(t,1)}if(this.orChildrenGroup){const t=this.orChildrenGroup.findIndex(r=>r.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===i.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 r=[],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});r.push(...s),a.push(...o)}if(this.entity&&this.entity.type===i.CustomEntity&&this.entity.parent===this){const{affected:s,removed:o}=this.entity.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s),a.push(...o)}if(!e){this.parent.type===i.DataType&&this.parent.removeChildGroup(this);const s=this.parent;if(s.type===i.DataType){if(this.parentRelationType===xe.AndDataTypeGroup){if(Array.isArray(s.andChildrenGroup)){const o=s.andChildrenGroup.findIndex(l=>l.id===this.id);o!==-1&&s.andChildrenGroup.splice(o,1)}}else if(this.parentRelationType===xe.OrDataTypeGroup&&Array.isArray(s.orChildrenGroup)){const o=s.orChildrenGroup.findIndex(l=>l.id===this.id);o!==-1&&s.orChildrenGroup.splice(o,1)}}else if(s.type===i.ActionDescriptor){const o=this.parent;this.parentRelationType===xe.DynamicArgumentTypes?o.removeDynamicArgumentTypes():this.parentRelationType===xe.DynamicReturnTypes&&o.removeDynamicReturnTypes()}else this.parent.removeDataType();r.push(s)}return{affected:v(r),removed:v(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:r}=this.defaultValue.restore({seenEntities:e});t.push(...r)}if(this.entity&&this.entity.type===i.CustomEntity&&this.entity.parent===this){const{affected:r}=this.entity.restore({seenEntities:e});t.push(...r)}if(this.parent.type===i.DataType){const r=this.parent;Array.isArray(r.andChildrenGroup)&&r.andChildrenGroup.push(this)}if(this.parent.type===i.DataType){const r=this.parent;this.parentRelationType===xe.AndDataTypeGroup?Array.isArray(r.andChildrenGroup)&&r.andChildrenGroup.push(this):this.parentRelationType===xe.OrDataTypeGroup&&Array.isArray(r.orChildrenGroup)&&r.orChildrenGroup.push(this)}else if(this.parent.type===i.ActionDescriptor){const r=this.parent;this.parentRelationType===xe.DynamicArgumentTypes?r.setDynamicArgumentTypes(this):this.parentRelationType===xe.DynamicReturnTypes&&r.setDynamicReturnTypes(this)}else{const r=this.parent;r.setDataType(this),t.push(r)}return{affected:t,self:this}}toFlat(e=new Set){var r,a,s;return e.has(this.id)?[]:(e.add(this.id),[this,...((r=this.andChildrenGroup)==null?void 0:r.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 r,a,s;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((r=this.andChildrenGroup)==null?void 0:r.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,r,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:((r=this.orChildrenGroup)==null?void 0:r.map(s=>s.toJSON()))||null,entity:((a=this.entity)==null?void 0:a.toReference())||null,parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,r,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:((r=this.orChildrenGroup)==null?void 0:r.map(s=>s.toReference()))||null,entity:((a=this.entity)==null?void 0:a.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var r,a,s,o;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((r=this.defaultValue)==null?void 0:r.toFlatJSON(e))||[],...((a=this.andChildrenGroup)==null?void 0:a.flatMap(l=>l.toFlatJSON(e)))||[],...((s=this.orChildrenGroup)==null?void 0:s.flatMap(l=>l.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 r,a,s;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((r=this.defaultValue)==null?void 0:r.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==i.CustomEntity&&this.entity.parent===this&&this.entity.toFlatGenerationTarget(e)||[]])}clearErrors(){var e,t,r,a;return this.errors=[],(e=this.defaultValue)==null||e.clearErrors(),(t=this.andChildrenGroup)==null||t.forEach(s=>s.clearErrors()),(r=this.orChildrenGroup)==null||r.forEach(s=>s.clearErrors()),this.inferred&&((a=this.entity)==null||a.clearErrors()),this}validate(){const e=A9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors]}getShallowErrors(){return this.errors}clone(e=null,t=null,r=!0){var b,g,I,D;const a=this.toJSON(),s=t||Qe(dv(this),i.DataType,this.project),o=s.split("-id"),l=o[o.length-1||0]||s;a.id=s;const p=jt(a,this.project);e&&p.setParent(e),r&&p.subscribe(),p.initChildren();const y=(b=this.defaultValue)==null?void 0:b.clone(p,l+"-default-value-id",r);p.defaultValue=y||null;const f=(g=this.andChildrenGroup)==null?void 0:g.map((C,Y)=>C.clone(this,l+"-and-group-data-type-"+Y+"-id",r)),m=(I=this.orChildrenGroup)==null?void 0:I.map((C,Y)=>C.clone(this,l+"-or-group-data-type-"+Y+"-id",r));if(p.andChildrenGroup=f||null,p.orChildrenGroup=m||null,this.entity&&this.entity.type===i.CustomEntity&&((D=this.entity)==null?void 0:D.parent)===this){const C=this.entity.clone(p,l+"-inferred-entity-id",r);p.setEntity(C)}else this.entity&&p.setEntity(this.entity);return p}merge(e){const t=[],r=[],a=[];return this.asType!==(e==null?void 0:e.asType)&&(this.sync({asType:e==null?void 0:e.asType}),t.push(this)),this.isNullable!==(e==null?void 0:e.isNullable)&&(this.sync({isNullable:e==null?void 0:e.isNullable}),t.push(this)),this.isList!==!(e!=null&&e.isList)&&(this.sync({isList:e==null?void 0:e.isList}),t.push(this)),this.constant!==(e==null?void 0:e.constant)&&(this.sync({constant:e==null?void 0:e.constant}),t.push(this)),e!=null&&e.inferred,{updated:v(t),added:v(r),removed:v(a),self:this}}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}isResolved(){return[i.BuiltInBaseEntity,i.ActionDescriptor].includes(this.parent.type)||Yn(this.parent)?!0:!(!this.entity&&(!this.andChildrenGroup||!this.andChildrenGroup.length)&&(!this.orChildrenGroup||!this.orChildrenGroup.length))}inferFromInputs(e){var t;if(!this.inferred)return this;if(!this.entity&&e.length){const r={id:this.id+"--infered-entity",type:i.CustomEntity,version:1,name:S(this,this.project),description:((t=this.parent)==null?void 0:t.description)||null,static:!0,abstract:!1,properties:[],methods:[],extends:[],implements:[],abstractMethods:[],x:0,y:0,parent:this.toReference()},a=R(r,this.project);a.sync(r),a.setParent(this),a.initChildren(),this.setEntity(a)}return this.entity&&this.entity.inferFromInputs(e),this}};c(ye,"MUTABLE_BASE_PROPERTIES",["isNullable","isList","constant","asType","options","parentRelationType"]),c(ye,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(ye,"BASE_PROPERTIES",[...ye.MUTABLE_BASE_PROPERTIES,...ye.INMUTABLE_BASE_PROPERTIES]),c(ye,"MUTABLE_META_PROPERTIES",[...ye.MUTABLE_BASE_PROPERTIES,"inferred"]),c(ye,"INMUTABLE_META_PROPERTIES",[...ye.INMUTABLE_BASE_PROPERTIES]),c(ye,"META_PROPERTIES",[...ye.MUTABLE_META_PROPERTIES,...ye.INMUTABLE_META_PROPERTIES]),c(ye,"MUTABLE_UPSTREAM_PROPERTIES",["entity","andChildrenGroup","orChildrenGroup","parent"]),c(ye,"INMUTABLE_UPSTREAM_PROPERTIES",[]),c(ye,"UPSTREAM_PROPERTIES",[...ye.MUTABLE_UPSTREAM_PROPERTIES,...ye.INMUTABLE_UPSTREAM_PROPERTIES]),c(ye,"MUTABLE_DOWNSTREAM_PROPERTIES",["defaultValue"]),c(ye,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(ye,"DOWNSTREAM_PROPERTIES",[...ye.MUTABLE_DOWNSTREAM_PROPERTIES,...ye.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(ye,"PROPERTIES",[...ye.META_PROPERTIES,...ye.UPSTREAM_PROPERTIES,...ye.DOWNSTREAM_PROPERTIES]);let hi=ye;function O9(n){var l;const e=YU(),t=n.toJSON();e.safeParse(t).success;const a=C9(n),s=Dn(n),o=[...a,...s];if(n.id==="exec-sequentially-operation-call-id"){const p=H({id:`${n.id}--${M.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:M.PropertyImplementsNonAbstact,entity:n});o.push(p.error)}return n.outputs.forEach(p=>p.validate()),(l=n.error)==null||l.validate(),ne(n.errors,o)}function C9(n){const e=[];return n.inputs.forEach(t=>{t.validate()}),n.dynamicArguments.forEach(t=>{t.validate()}),ne(n.errors,e)}const ie=class ie{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"x");c(this,"y");c(this,"type",i.Operation);c(this,"declaration");c(this,"inputs",[]);c(this,"outputs",[]);c(this,"process",null);c(this,"successCalls",[]);c(this,"errorCalls",[]);c(this,"error",null);c(this,"dynamicArguments",[]);c(this,"calledBySuccess",[]);c(this,"calledByError",[]);c(this,"calledByEntry",[]);c(this,"parent");c(this,"errors",[]);c(this,"project");c(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 r=t;if(e.parent){const m=B(e.parent);r=t.get(m)}const a=B(e.declaration),s=t.get(a),o=e.calledByEntry.map(m=>{const b=B(m);return t.get(b)}),l=e.calledBySuccess.map(m=>{const b=B(m);return t.get(b)}),p=e.calledByError.map(m=>{const b=B(m);return t.get(b)}),y={id:e.id,version:1,type:i.Operation,declaration:s,calledByEntry:o,calledBySuccess:l,calledByError:p,errorCalls:[],successCalls:[],dynamicArguments:[],inputs:[],outputs:[],process:null,error:null,x:0,y:0,parent:r},f=R(y,t);return f.setParent(r),f.initChildren(),f}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[...dt,i.Project],optional:!0}},t);r=s.modifiedData,a.push(...s.errors,...Be(r));const o=B(r.declaration);if(o){const l=Ov(o,t);a.push(...l)}else{const l=`
38
38
  All built-in 'action-descriptor' entity ids are:
39
39
  - ${t.operationDeclarations.map(p=>`${p.id} (${S(p,t)})`).join(`
40
40
  - `)}.
41
41
  `;a.push(new E({id:`${r.id}--${h.InvalidReference}`,code:h.InvalidReference,severity:T.Error,message:`Entity of type "${i.Operation}" with id "${r.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'.${l}`,issue:null}))}return{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
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 t;const e=[this];return this.parent===this.project&&this.project.addOperation(this),(t=this.process)==null||t.writesValues.forEach(r=>{r.setValueWriter(this.process),e.push(r)}),this.successCalls.forEach(r=>{r.addSuccessCaller(this),e.push(r)}),this.errorCalls.forEach(r=>{r.addErrorCaller(this),e.push(r)}),this.calledBySuccess.forEach(r=>{r.addSuccessCall(this),e.push(r)}),this.calledByError.forEach(r=>{r.addErrorCall(this),e.push(r)}),this.calledByEntry.forEach(r=>{r.addCall(this),e.push(r)}),{affected:v(e),self:this}}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(r=>r.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(r=>r.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const r=this.errorCalls.findIndex(a=>a.id===e.id);return r>-1&&this.errorCalls.splice(r,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?t.setParent(this.parent.parent):t.type!==i.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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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 r=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:l}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}if(this.inputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),this.outputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),this.error){const{affected:o,removed:l}=this.error.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}return this.successCalls.forEach(o=>{r.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{r.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{r.push(o),o.removeCall(this)}),{affected:v(r),removed:v(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:r}=this.process.restore({seenEntities:e});t.push(...r)}return this.inputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(r=>{t.push(r),r.addSuccessCaller(this)}),this.errorCalls.forEach(r=>{t.push(r),r.addErrorCaller(this)}),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:v(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(r=>r.toFlat(e)),...this.errorCalls.flatMap(r=>r.toFlat(e)),...this.inputs.flatMap(r=>r.toFlat(e)),...this.dynamicArguments.flatMap(r=>r.toFlat(e)),...this.outputs.flatMap(r=>r.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(r=>r.toFlatIds(e)),...this.errorCalls.flatMap(r=>r.toFlatIds(e)),...this.inputs.flatMap(r=>r.toFlatIds(e)),...this.dynamicArguments.flatMap(r=>r.toFlatIds(e)),...this.outputs.flatMap(r=>r.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(r=>r.toJSON()),errorCalls:this.errorCalls.map(r=>r.toJSON()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(r=>r.toJSON()),outputs:this.outputs.map(r=>r.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON(),dynamicArguments:this.dynamicArguments.map(r=>r.toJSON())}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.toFlatJSON(e)),...this.errorCalls.flatMap(r=>r.toFlatJSON(e)),...this.inputs.flatMap(r=>r.toFlatJSON(e)),...this.dynamicArguments.flatMap(r=>r.toFlatJSON(e)),...this.outputs.flatMap(r=>r.toFlatJSON(e)),...this.calledBy.flatMap(r=>r.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===i.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(r=>r.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.inputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.dynamicArguments.flatMap(r=>r.toFlatGenerationTarget(e)),...this.outputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.process?this.process.toFlatGenerationTarget(e):[],...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(r=>r.clearErrors()),this.outputs.forEach(r=>r.clearErrors()),this.successCalls.forEach(r=>r.clearErrors()),this.errorCalls.forEach(r=>r.clearErrors()),this.dynamicArguments.forEach(r=>r.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=O9(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 ie(this.toJSON(),this.project)}};c(ie,"MUTABLE_BASE_PROPERTIES",[]),c(ie,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(ie,"BASE_PROPERTIES",[...ie.MUTABLE_BASE_PROPERTIES,...ie.INMUTABLE_BASE_PROPERTIES]),c(ie,"MUTABLE_META_PROPERTIES",[...ie.MUTABLE_BASE_PROPERTIES,"x","y"]),c(ie,"INMUTABLE_META_PROPERTIES",[...ie.INMUTABLE_BASE_PROPERTIES]),c(ie,"META_PROPERTIES",[...ie.MUTABLE_META_PROPERTIES,...ie.INMUTABLE_META_PROPERTIES]),c(ie,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),c(ie,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),c(ie,"UPSTREAM_PROPERTIES",[...ie.MUTABLE_UPSTREAM_PROPERTIES,...ie.INMUTABLE_UPSTREAM_PROPERTIES]),c(ie,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","outputs","writesValues","successCalls","errorCalls","error","dynamicArguments"]),c(ie,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(ie,"DOWNSTREAM_PROPERTIES",[...ie.MUTABLE_DOWNSTREAM_PROPERTIES,...ie.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(ie,"PROPERTIES",[...ie.META_PROPERTIES,...ie.UPSTREAM_PROPERTIES,...ie.DOWNSTREAM_PROPERTIES]);let gr=ie;function B9(n){const e=Mx(),t=n.toJSON();e.safeParse(t).success;const a=St(n);n.inputs.forEach(o=>o.validate()),a.forEach(o=>o.validate());const s=[];return ne(n.errors,s)}const ae=class ae{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"x");c(this,"y");c(this,"collapsed");c(this,"type",i.GlobalEvent);c(this,"inputs",[]);c(this,"calls",[]);c(this,"returnStatements",[]);c(this,"parent");c(this,"implements");c(this,"detachedChildren",[]);c(this,"errors",[]);c(this,"project");c(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 r=t;if(e.parent){const l=B(e.parent);r=t.get(l)}let a;e.implements&&(a=t.getBuiltIn(e.implements));const s={id:e.id,version:1,name:e.name,type:i.GlobalEvent,collapsed:!1,returnStatements:[],calls:[],inputs:[],implements:a,x:0,y:0,parent:r},o=R(s,t);return o.setParent(r),o.initChildren(),o}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{},t);if(r=s.modifiedData,a.push(...s.errors,...Be(r)),!e.implements)a.push(new E({id:`${e.id}--${A.InvalidObjectStructure}`,code:A.InvalidObjectStructure,severity:T.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.
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 t;const e=[this];return this.parent===this.project&&this.project.addOperation(this),(t=this.process)==null||t.writesValues.forEach(r=>{r.setValueWriter(this.process),e.push(r)}),this.successCalls.forEach(r=>{r.addSuccessCaller(this),e.push(r)}),this.errorCalls.forEach(r=>{r.addErrorCaller(this),e.push(r)}),this.calledBySuccess.forEach(r=>{r.addSuccessCall(this),e.push(r)}),this.calledByError.forEach(r=>{r.addErrorCall(this),e.push(r)}),this.calledByEntry.forEach(r=>{r.addCall(this),e.push(r)}),{affected:v(e),self:this}}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(r=>r.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(r=>r.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const r=this.errorCalls.findIndex(a=>a.id===e.id);return r>-1&&this.errorCalls.splice(r,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?t.setParent(this.parent.parent):t.type!==i.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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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 r=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:l}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}if(this.inputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),this.outputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),this.error){const{affected:o,removed:l}=this.error.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}return this.successCalls.forEach(o=>{r.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{r.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{r.push(o),o.removeCall(this)}),{affected:v(r),removed:v(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:r}=this.process.restore({seenEntities:e});t.push(...r)}return this.inputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(r=>{t.push(r),r.addSuccessCaller(this)}),this.errorCalls.forEach(r=>{t.push(r),r.addErrorCaller(this)}),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:v(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(r=>r.toFlat(e)),...this.errorCalls.flatMap(r=>r.toFlat(e)),...this.inputs.flatMap(r=>r.toFlat(e)),...this.dynamicArguments.flatMap(r=>r.toFlat(e)),...this.outputs.flatMap(r=>r.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(r=>r.toFlatIds(e)),...this.errorCalls.flatMap(r=>r.toFlatIds(e)),...this.inputs.flatMap(r=>r.toFlatIds(e)),...this.dynamicArguments.flatMap(r=>r.toFlatIds(e)),...this.outputs.flatMap(r=>r.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(r=>r.toJSON()),errorCalls:this.errorCalls.map(r=>r.toJSON()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(r=>r.toJSON()),outputs:this.outputs.map(r=>r.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON(),dynamicArguments:this.dynamicArguments.map(r=>r.toJSON())}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.toFlatJSON(e)),...this.errorCalls.flatMap(r=>r.toFlatJSON(e)),...this.inputs.flatMap(r=>r.toFlatJSON(e)),...this.dynamicArguments.flatMap(r=>r.toFlatJSON(e)),...this.outputs.flatMap(r=>r.toFlatJSON(e)),...this.calledBy.flatMap(r=>r.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===i.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(r=>r.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.inputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.dynamicArguments.flatMap(r=>r.toFlatGenerationTarget(e)),...this.outputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.process?this.process.toFlatGenerationTarget(e):[],...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(r=>r.clearErrors()),this.outputs.forEach(r=>r.clearErrors()),this.successCalls.forEach(r=>r.clearErrors()),this.errorCalls.forEach(r=>r.clearErrors()),this.dynamicArguments.forEach(r=>r.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=O9(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 ie(this.toJSON(),this.project)}};c(ie,"MUTABLE_BASE_PROPERTIES",[]),c(ie,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(ie,"BASE_PROPERTIES",[...ie.MUTABLE_BASE_PROPERTIES,...ie.INMUTABLE_BASE_PROPERTIES]),c(ie,"MUTABLE_META_PROPERTIES",[...ie.MUTABLE_BASE_PROPERTIES,"x","y"]),c(ie,"INMUTABLE_META_PROPERTIES",[...ie.INMUTABLE_BASE_PROPERTIES]),c(ie,"META_PROPERTIES",[...ie.MUTABLE_META_PROPERTIES,...ie.INMUTABLE_META_PROPERTIES]),c(ie,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),c(ie,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),c(ie,"UPSTREAM_PROPERTIES",[...ie.MUTABLE_UPSTREAM_PROPERTIES,...ie.INMUTABLE_UPSTREAM_PROPERTIES]),c(ie,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","outputs","writesValues","successCalls","errorCalls","error","dynamicArguments"]),c(ie,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(ie,"DOWNSTREAM_PROPERTIES",[...ie.MUTABLE_DOWNSTREAM_PROPERTIES,...ie.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(ie,"PROPERTIES",[...ie.META_PROPERTIES,...ie.UPSTREAM_PROPERTIES,...ie.DOWNSTREAM_PROPERTIES]);let gr=ie;function B9(n){const e=_x(),t=n.toJSON();e.safeParse(t).success;const a=St(n);n.inputs.forEach(o=>o.validate()),a.forEach(o=>o.validate());const s=[];return ne(n.errors,s)}const ae=class ae{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"x");c(this,"y");c(this,"collapsed");c(this,"type",i.GlobalEvent);c(this,"inputs",[]);c(this,"calls",[]);c(this,"returnStatements",[]);c(this,"parent");c(this,"implements");c(this,"detachedChildren",[]);c(this,"errors",[]);c(this,"project");c(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 r=t;if(e.parent){const l=B(e.parent);r=t.get(l)}let a;e.implements&&(a=t.getBuiltIn(e.implements));const s={id:e.id,version:1,name:e.name,type:i.GlobalEvent,collapsed:!1,returnStatements:[],calls:[],inputs:[],implements:a,x:0,y:0,parent:r},o=R(s,t);return o.setParent(r),o.initChildren(),o}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{},t);if(r=s.modifiedData,a.push(...s.errors,...Be(r)),!e.implements)a.push(new E({id:`${e.id}--${A.InvalidObjectStructure}`,code:A.InvalidObjectStructure,severity:T.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
45
  ${ho(t)}`,issue:null}));else if(!t.get(e.implements))a.push(new E({id:`${e.id}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.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
46
  ${ho(t)}`,issue:null}));else if(!t.globalEventActionDescriptors.find(p=>p.id===e.implements))a.push(new E({id:`${e.id}--${h.InvalidImplementsReference}`,code:h.InvalidImplementsReference,severity:T.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
47
  ${ho(t)}`,issue:null}));else{const p=t.events.find(y=>y.implements.id===e.implements);p&&a.push(new E({id:`${e.id}--${h.InvalidImplementsReference}`,code:h.InvalidImplementsReference,severity:T.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.
@@ -50,19 +50,19 @@ ${fo(t)}`,issue:null})):a.push(new E({id:`${e.id}--${h.ReferencedEntityNotFound}
50
50
  ${fo(t)}`,issue:null})):a.push(new E({id:`${e.id}--${A.InvalidObjectStructure}`,code:A.InvalidObjectStructure,severity:T.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 '${i.Condition}' entities.
51
51
  ${fo(t)}`,issue:null})),{errors:a,modifiedData:r}}static fromReturnDeclarationToBodyArgumentDeclarationName(e){return`Previous iteration results of '${S(e,e.project)}'`}static fromBodyArgumentDeclarationToReturnDeclarationName(e){const t=e.name.replace("Previous iteration results of '","");return t.slice(0,t.length-1)}static fromReturnDeclarationToLoopOutputDeclarationName(e){return`Result list of '${S(e,e.project)}'`}static fromLoopOutputDeclarationToReturnDeclarationName(e){const t=e.name.replace("Result list of '","");return t.slice(0,t.length-1)}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
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(){const e=[this];return this.parent===this.project&&this.project.addLoop(this),this.successCalls.forEach(t=>{t.addSuccessCaller(this),e.push(t)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this),e.push(t)}),this.calledByEntry.forEach(t=>{t.addCall(this),e.push(t)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this),e.push(t)}),this.calledByError.forEach(t=>{t.addErrorCall(this),e.push(t)}),{affected:v(e),self:this}}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(r=>r.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutputDeclaration(e){return this.outputsDeclarations.includes(e)?this:(this.outputsDeclarations.push(e),this)}removeOutputDeclaration(e){const t=this.outputsDeclarations.findIndex(r=>r.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(r=>r.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 r=this.errorCalls.findIndex(a=>a.id===e.id);return r>-1&&this.errorCalls.splice(r,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}replaceDetachedChild(e,t){const r=this.detachedChildren.indexOf(e);return r!==-1&&(this.detachedChildren[r]=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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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.syncChildren(),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const r=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.outputs.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.body.remove({ignoreUpstream:!0,seenEntities:t}),this.error){const{affected:s,removed:o}=this.error.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s),a.push(...o)}return this.successCalls.forEach(s=>{r.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{r.push(s),s.removeCaller(this)}),e||this.calledBy.forEach(s=>{r.push(s),s.removeCall(this)}),{affected:v(r),removed:v(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(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.body.restore({seenEntities:e}),this.successCalls.forEach(r=>{t.push(r),r.addSuccessCaller(this)}),this.errorCalls.forEach(r=>{t.push(r),r.addErrorCaller(this)}),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:v(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.inputs.flatMap(r=>r.toFlat(e)),...this.outputs.flatMap(r=>r.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.successCalls.flatMap(r=>r.toFlat(e)),...this.errorCalls.flatMap(r=>r.toFlat(e)),...this.error?this.error.toFlat(e):[],...this.body?this.body.toFlat(e):[],...this.continueStatements.flatMap(r=>r.toFlat(e)),...this.breakStatements.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.inputs.flatMap(r=>r.toFlatIds(e)),...this.outputs.flatMap(r=>r.toFlatIds(e)),...this.process?this.process.toFlatIds(e):[],...this.successCalls.flatMap(r=>r.toFlatIds(e)),...this.errorCalls.flatMap(r=>r.toFlatIds(e)),...this.error?this.error.toFlatIds(e):[],...this.body?this.body.toFlatIds(e):[],...this.continueStatements.flatMap(r=>r.toFlatIds(e)),...this.breakStatements.flatMap(r=>r.toFlatIds(e))])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.toReference()),process:((e=this.process)==null?void 0:e.toJSON())||null,declaration:this.declaration.toJSON(),inputs:this.inputs.map(r=>r.toJSON()),outputs:this.outputs.map(r=>r.toJSON()),outputsDeclarations:this.outputsDeclarations.map(r=>r.toJSON()),successCalls:this.successCalls.map(r=>r.toJSON()),errorCalls:this.errorCalls.map(r=>r.toJSON()),error:((t=this.error)==null?void 0:t.toJSON())||null,body:this.body.toJSON(),parent:this.parent.toReference(),breakStatements:this.breakStatements.map(r=>r.toJSON()),continueStatements:this.continueStatements.map(r=>r.toJSON())}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,r,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()),outputsDeclarations:this.outputsDeclarations.map(s=>s.toReference()),successCalls:this.successCalls.map(s=>s.toReference()),errorCalls:this.errorCalls.map(s=>s.toReference()),process:((r=this.process)==null?void 0:r.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 r;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((r=this.body)==null?void 0:r.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===i.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 r;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((r=this.body)==null?void 0:r.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(r=>r.clearErrors()),this.outputs.forEach(r=>r.clearErrors()),this.successCalls.forEach(r=>r.clearErrors()),this.errorCalls.forEach(r=>r.clearErrors()),this.continueStatements.forEach(r=>r.clearErrors()),this.breakStatements.forEach(r=>r.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 J(this.toJSON(),this.project)}getVariableInstances(){return this.body?te(this.body).filter(r=>r.type===i.VariableInstance):[]}addReturnStatement(e){return Me.includes(this.parent.type)&&this.parent.addReturnStatement(e),this}removeReturnStatement(e){return Me.includes(this.parent.type)&&this.parent.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}getUniqueReturnDeclarations(){const e=[];return[...this.breakStatements,...this.continueStatements].forEach(r=>{r.outputs.forEach(s=>{e.find(l=>l===s||S(l,this.project)===S(s,this.project)&&Yt(l.dataType,s.dataType))||e.push(s)})}),v(e)}syncTerminationStatements(){const e=[],t=[],r=[],a=this.getUniqueReturnDeclarations(),s=[...this.breakStatements,...this.continueStatements];return a.forEach((o,l)=>{o.index!==l&&(o.sync({index:l}),e.push(o))}),s.forEach(o=>{const l=o.outputs,p=a.filter(y=>!l.find(f=>S(y,this.project)===S(f,this.project)&&Yt(y.dataType,f.dataType)));p.length&&e.push(o),p.forEach(y=>{const f=y.clone(o);f.addSelfToProject(),t.push(f)})}),{updated:v(e),added:v(t),removed:v(r),self:this}}syncBodyArgumentsDeclarations(){const e=[],t=[],r=[],{updated:a,added:s,removed:o}=this.syncFixedBodyArgumentDeclarations();e.push(...a),t.push(...s),r.push(...o);const l=this.getUniqueReturnDeclarations(),p=this.body.inputs;l.forEach((b,g)=>{b.index!==g&&(b.sync({index:g}),e.push(b))}),l.forEach(b=>{const g=b.getDataType();let D=p.find(G=>S(G,this.project)===J.fromReturnDeclarationToBodyArgumentDeclarationName(b)&&Yt(G.dataType,b.dataType));if(!D){const G=J.fromReturnDeclarationToBodyArgumentDeclarationName(b),Ge={id:w.UUID.uuid(),version:1,type:i.ArgumentDeclaration,name:G,description:`Aggretated list of all previously outputted values from each iteration by the output '${S(b,this.project)}'`,dataType:null,index:b.index,required:b.required,parent:this.body.toReference(),writesValues:[]},lt=R(Ge,this.project);lt.setParent(this.body),lt.initChildren(),lt.addSelfToProject(),t.push(lt),D=lt}D.index!==b.index&&(D.sync({index:b.index}),e.push(D));const C=D.getDataType();let Y=C;if(g)if(!C||!Yt(C,g)){if(!Y){const G=g.clone(D);G.addSelfToProject(),Y=G,t.push(G),e.push(D)}Y.merge(g),Y.sync({isList:!0})}else Y.isList||(Y.sync({isList:!0}),e.push(Y));if(!g&&!Y){const G={id:w.UUID.uuid(),version:1,type:i.DataType,isList:!0,entity:null,isNullable:!1,constant:!1,defaultValue:null,asType:!1,andChildrenGroup:[],orChildrenGroup:[],parent:D.toReference()},Ge=R(G,this.project);Ge.sync({isList:!0}),Ge.setParent(D),Ge.initChildren(),Ge.addSelfToProject();const lt={id:w.UUID.uuid(),version:1,type:i.PrimitiveValue,name:P.JSON,autogeneration:null,valueAsType:null,value:[],parent:Ge.toReference()},Ot=R(lt,this.project);Ot.setParent(Ge),Ot.initChildren(),Ot.addSelfToProject(),t.push(Ot),t.push(Ge)}});const{updated:y,added:f,removed:m}=this.removeExtraBodyArgumentDeclarations();return e.push(...y),t.push(...f),r.push(...m),{updated:v(e),added:v(t),removed:v(r),self:this}}syncOutputsDeclarations(){const e=[],t=[],r=[],a=this.getUniqueReturnDeclarations(),s=this.outputsDeclarations;return a.forEach((l,p)=>{l.index!==p&&(l.sync({index:p}),e.push(l))}),a.forEach(l=>{const p=l.getDataType();let f=s.find(g=>S(g,this.project)===J.fromReturnDeclarationToLoopOutputDeclarationName(l)&&Yt(g.dataType,l.dataType));if(!f){const g=J.fromReturnDeclarationToLoopOutputDeclarationName(l),I={id:w.UUID.uuid(),version:1,type:i.ValueDescriptor,name:g,description:`Aggretated list of all previously outputted values from each iteration by the output '${S(l,this.project)}'`,dataType:null,index:l.index,required:l.required,parent:this.toReference()},D=R(I,this.project);D.setParent(this),D.initChildren(),D.addSelfToProject(),t.push(D),f=D}f.index!==l.index&&(f.sync({index:l.index}),e.push(f));let b=f.getDataType();if(p)if(!b||!Yt(b,p)){if(!b){const g=p.clone(f);g.addSelfToProject(),b=g,t.push(g),e.push(f)}b.merge(p),b.sync({isList:!0})}else b.isList||(b.sync({isList:!0}),e.push(b));if(!p&&!b){const g={id:w.UUID.uuid(),version:1,type:i.DataType,isList:!0,entity:null,isNullable:!1,constant:!1,defaultValue:null,asType:!1,andChildrenGroup:[],orChildrenGroup:[],parent:f.toReference()},I=R(g,this.project);I.sync({isList:!0}),I.setParent(f),I.initChildren(),I.addSelfToProject();const D={id:w.UUID.uuid(),version:1,type:i.PrimitiveValue,name:P.JSON,autogeneration:null,valueAsType:null,value:[],parent:I.toReference()},C=R(D,this.project);C.setParent(I),C.initChildren(),C.addSelfToProject(),t.push(C),t.push(I)}}),s.filter(l=>!a.find(y=>S(l,this.project)===J.fromReturnDeclarationToLoopOutputDeclarationName(y))).forEach(l=>{const{affected:p,removed:y}=l.remove({ignoreUpstream:!1,seenEntities:new Set});e.push(...p),r.push(...y)}),{updated:v(e),added:v(t),removed:v(r),self:this}}syncOutputMaps(){const e=[],t=[],r=[],a=this.outputsDeclarations,s=this.outputs;return a.forEach(l=>{var f;let y=s.find(m=>{var b,g;return((b=m.declaration)==null?void 0:b.id)===l.id&&Yt((g=m.declaration)==null?void 0:g.dataType,l.dataType)});if(y)((f=y.declaration)==null?void 0:f.id)!==l.id&&(y.setDeclaration(l),e.push(y));else{const m={id:w.UUID.uuid(),version:1,type:i.OutputMap,index:l.index,declaration:l.toJSON(),writesValues:[],parent:this.toReference()},b=R(m,this.project);b.setParent(this),b.initChildren(),b.addSelfToProject(),t.push(b),y=b}y.index!==l.index&&(y.sync({index:l.index}),e.push(y))}),s.filter(l=>!a.find(y=>{var f;return((f=l.declaration)==null?void 0:f.id)===y.id})).forEach(l=>{const{affected:p,removed:y}=l.remove({ignoreUpstream:!1,seenEntities:new Set});e.push(...p),r.push(...y)}),{updated:v(e),added:v(t),removed:v(r),self:this}}createCurrentIterationNumberArgumentDeclaration(){const e=[],t=[],r=[];let s=this.body.inputs.find(p=>{var y;return p.name===J.CURRENT_ITERATION_NUMBER_ARG_NAME||p.id===((y=this.currentIterationNumberArgumentDeclaration)==null?void 0:y.id)});if(!s){const p={id:w.UUID.uuid(),version:1,type:i.ArgumentDeclaration,name:J.CURRENT_ITERATION_NUMBER_ARG_NAME,description:"The number of the current iteration",dataType:null,index:0,required:!0,parent:this.body.toReference(),writesValues:[]},y=R(p,this.project);y.setParent(this.body),y.initChildren(),y.addSelfToProject(),t.push(y),s=y}s.index!==0&&(s.sync({index:0}),e.push(s));let l=s.getDataType();if(!l){const p={id:w.UUID.uuid(),version:1,type:i.DataType,isList:!1,entity:null,isNullable:!1,constant:!1,defaultValue:null,asType:!1,andChildrenGroup:[],orChildrenGroup:[],parent:s.toReference()},y=R(p,this.project);y.setParent(s),y.initChildren(),y.addSelfToProject();const f={id:w.UUID.uuid(),version:1,type:i.PrimitiveValue,name:P.Number,autogeneration:null,valueAsType:null,value:null,parent:y.toReference()},m=R(f,this.project);m.setParent(y),m.initChildren(),m.addSelfToProject(),t.push(m),t.push(y),l=y}if(!l.entity||l.entity.type!==i.PrimitiveEntity||l.entity.name!==P.Number||l.entity.id!==x["primitive-entity"].number.id){const p=this.project.getBuiltIn(x["primitive-entity"].number.id);l.setEntity(p),e.push(l)}return this.currentIterationNumberArgumentDeclaration=s,{updated:v(e),added:v(t),removed:v(r),self:this}}removeExtraBodyArgumentDeclarations(){const e=[],t=[],r=[],a=this.body.inputs,s=this.getUniqueReturnDeclarations();return a.filter(l=>l===this.currentIterationNumberArgumentDeclaration||l===this.currentValueArgumentDeclaration?!1:!s.find(y=>S(l,this.project)===J.fromReturnDeclarationToBodyArgumentDeclarationName(y))).forEach(l=>{const{affected:p,removed:y}=l.remove({ignoreUpstream:!1,seenEntities:new Set});e.push(...p),r.push(...y)}),{updated:v(e),added:v(t),removed:v(r),self:this}}createCurrentValueInputBasedOnInputMap(){var l,p,y,f,m;const e=[],t=[],r=[];switch(this.declaration.id){case Q.List:{const b=this.body.inputs.find(I=>{var D;return I.name===J.CURRENT_VALUE_ARG_NAME||I.id===((D=this.currentValueArgumentDeclaration)==null?void 0:D.id)}),g=this.inputs.find(I=>{var D;return((D=I.declaration)==null?void 0:D.id)===x[i.Loop]["list-loop"].inputs.list.id});if(!g)break;if(b){const I=this.project.get(x[i.Loop]["list-loop"].inputs.list.id);let C=b.getDataType();if(!C){const G={id:w.UUID.uuid(),version:1,type:i.DataType,isList:!1,entity:null,isNullable:!1,constant:!1,defaultValue:null,asType:!1,andChildrenGroup:[],orChildrenGroup:[],parent:I.toReference()},Ge=R(G,this.project);Ge.setParent(I),Ge.initChildren(),Ge.addSelfToProject(),t.push(Ge),C=Ge}const Y=g.getDataType();C.merge(Y),C.sync({isList:!1})}else{const I={id:w.UUID.uuid(),version:1,type:i.ArgumentDeclaration,name:J.CURRENT_VALUE_ARG_NAME,description:null,index:0,required:!0,writesValues:[],dataType:null,parent:this.body.toReference()},D=R(I,this.project);D.initChildren(),D.setParent(this.body),D.addSelfToProject(),t.push(D)}break}case Q.ManualFlow:break;case Q.Counted:break;case Q.ObjectKeys:{const b=this.body.inputs.find(I=>{var D;return I.name===J.CURRENT_VALUE_ARG_NAME||I.id===((D=this.currentValueArgumentDeclaration)==null?void 0:D.id)});if(!this.inputs.find(I=>{var D;return((D=I.declaration)==null?void 0:D.id)===x[i.Loop]["object-keys-loop"].inputs.object.id}))break;if(b){const I=this.project.get(x[i.Loop]["object-keys-loop"].inputs.object.id);let C=b.getDataType();if(C){const Y=this.project.getBuiltIn(x["primitive-entity"].string.id);((l=C.entity)==null?void 0:l.id)!==Y.id&&(C.setEntity(Y),e.push(C))}else{const Y={id:w.UUID.uuid(),version:1,type:i.DataType,isList:!1,entity:null,isNullable:!1,constant:!1,defaultValue:null,asType:!1,andChildrenGroup:[],orChildrenGroup:[],parent:I.toReference()},G=R(Y,this.project);G.setParent(I),G.initChildren(),G.addSelfToProject(),C=G}}else{const I={id:w.UUID.uuid(),version:1,type:i.ArgumentDeclaration,name:J.CURRENT_VALUE_ARG_NAME,description:null,index:0,required:!0,writesValues:[],dataType:null,parent:this.body.toReference()},D=R(I,this.project);D.initChildren(),D.setParent(this.body),D.addSelfToProject(),t.push(D)}break}case Q.ObjectValues:{const b=this.body.inputs.find(I=>{var D;return I.name===J.CURRENT_VALUE_ARG_NAME||I.id===((D=this.currentValueArgumentDeclaration)==null?void 0:D.id)}),g=this.inputs.find(I=>{var D;return((D=I.declaration)==null?void 0:D.id)===x[i.Loop]["object-values-loop"].inputs.object.id});if(!g)break;if(b){const I=this.project.get(x[i.Loop]["object-values-loop"].inputs.object.id);let C=b.getDataType();if(C){const Y=g.getDataType(),G=((y=Y==null?void 0:Y.entity)==null?void 0:y.properties)||[];(f=C.orChildrenGroup)==null||f.forEach(Ge=>{const{affected:lt,removed:Ot}=Ge.remove({ignoreUpstream:!1,seenEntities:new Set});e.push(...lt),r.push(...Ot)}),G.forEach(Ge=>{const lt=Ge.getDataType();if(lt){const Ot=lt.clone(C);Ot.sync({parentRelationType:xe.OrDataTypeGroup}),Ot.addSelfToProject(),t.push(Ot)}else{const Ot={id:w.UUID.uuid(),version:1,type:i.DataType,isList:!1,entity:null,isNullable:!1,constant:!1,defaultValue:null,asType:!1,andChildrenGroup:[],orChildrenGroup:[],parentRelationType:xe.OrDataTypeGroup,parent:C.toReference()},Vr=R(Ot,this.project);Vr.setParent(C),Vr.initChildren(),Vr.addSelfToProject(),t.push(Vr)}})}else{const Y={id:w.UUID.uuid(),version:1,type:i.DataType,isList:!1,entity:null,isNullable:!1,constant:!1,defaultValue:null,asType:!1,andChildrenGroup:[],orChildrenGroup:[],parent:I.toReference()},G=R(Y,this.project);G.setParent(I),G.initChildren(),G.addSelfToProject(),C=G;const Ge=g.getDataType();(((p=Ge==null?void 0:Ge.entity)==null?void 0:p.properties)||[]).forEach(Ot=>{const Vr=Ot.getDataType();if(Vr){const Sa=Vr.clone(G);Sa.sync({parentRelationType:xe.OrDataTypeGroup}),Sa.addSelfToProject(),t.push(Sa)}else{const Sa={id:w.UUID.uuid(),version:1,type:i.DataType,isList:!1,entity:null,isNullable:!1,constant:!1,defaultValue:null,asType:!1,andChildrenGroup:[],orChildrenGroup:[],parentRelationType:xe.OrDataTypeGroup,parent:G.toReference()},Ao=R(Sa,this.project);Ao.setParent(G),Ao.initChildren(),Ao.addSelfToProject(),t.push(Ao)}})}}else{const I={id:w.UUID.uuid(),version:1,type:i.ArgumentDeclaration,name:J.CURRENT_VALUE_ARG_NAME,description:null,index:0,required:!0,writesValues:[],dataType:null,parent:this.body.toReference()},D=R(I,this.project);D.initChildren(),D.setParent(this.body),D.addSelfToProject(),t.push(D)}break}case Q.String:{const b=this.body.inputs.find(I=>{var D;return I.name===J.CURRENT_VALUE_ARG_NAME||I.id===((D=this.currentValueArgumentDeclaration)==null?void 0:D.id)});if(!this.inputs.find(I=>{var D;return((D=I.declaration)==null?void 0:D.id)===x[i.Loop]["string-loop"].inputs.string.id}))break;if(b){const I=this.project.get(x[i.Loop]["string-loop"].inputs.string.id);let C=b.getDataType();if(C){const Y=this.project.getBuiltIn(x["primitive-entity"].string.id);((m=C.entity)==null?void 0:m.id)!==Y.id&&(C.setEntity(Y),e.push(C))}else{const Y={id:w.UUID.uuid(),version:1,type:i.DataType,isList:!1,entity:null,isNullable:!1,constant:!1,defaultValue:null,asType:!1,andChildrenGroup:[],orChildrenGroup:[],parent:I.toReference()},G=R(Y,this.project);G.setParent(I),G.initChildren(),G.addSelfToProject(),t.push(G),C=G}}else{const I={id:w.UUID.uuid(),version:1,type:i.ArgumentDeclaration,name:J.CURRENT_VALUE_ARG_NAME,description:null,index:0,required:!0,writesValues:[],dataType:null,parent:this.body.toReference()},D=R(I,this.project);D.initChildren(),D.setParent(this.body),D.addSelfToProject(),t.push(D)}break}}const{updated:a,added:s,removed:o}=this.removeExtraBodyArgumentDeclarations();return e.push(...a),t.push(...s),r.push(...o),{updated:v(e),added:v(t),removed:v(r),self:this}}syncFixedBodyArgumentDeclarations(){const e=[],t=[],r=[],{updated:a,added:s,removed:o}=this.createCurrentIterationNumberArgumentDeclaration();e.push(...a),t.push(...s),r.push(...o);const{updated:l,added:p,removed:y}=this.createCurrentValueInputBasedOnInputMap();return e.push(...l),t.push(...p),r.push(...y),{updated:v(e),added:v(t),removed:v(r),self:this}}syncInputMaps(){const e=[],t=[],r=[];switch(this.declaration.id){case Q.List:{let a=null;if(this.inputs.forEach(s=>{var o;((o=s.declaration)==null?void 0:o.id)===x[i.Loop]["list-loop"].inputs.list.id?a=s:(s.remove(),r.push(s))}),a){if(a.declaration.id!==x[i.Loop]["list-loop"].inputs.list.id){const s=this.project.get(x[i.Loop]["list-loop"].inputs.list.id);a.setDeclaration(s),e.push(a)}}else{const s=this.project.get(x[i.Loop]["list-loop"].inputs.list.id),o={id:w.UUID.uuid(),version:1,type:i.InputMap,name:null,description:null,index:0,declaration:s.toJSON(),readsValue:null,defaultValue:null,dynamicArguments:[],parent:this.toReference()},l=R(o,this.project);l.initChildren(),l.setParent(this),l.addSelfToProject(),t.push(l)}break}case Q.ManualFlow:{this.inputs.forEach(a=>{a.remove(),r.push(a)});break}case Q.Counted:{let a=null;if(this.inputs.forEach(s=>{var o;((o=s.declaration)==null?void 0:o.id)===x[i.Loop]["counted-loop"].inputs.number.id?a=s:(s.remove(),r.push(s))}),a){if(a.declaration.id!==x[i.Loop]["counted-loop"].inputs.number.id){const s=this.project.get(x[i.Loop]["counted-loop"].inputs.number.id);a.setDeclaration(s),e.push(a)}}else{const s=this.project.get(x[i.Loop]["counted-loop"].inputs.number.id),o={id:w.UUID.uuid(),version:1,type:i.InputMap,name:null,description:null,index:0,declaration:s.toJSON(),readsValue:null,defaultValue:null,dynamicArguments:[],parent:this.toReference()},l=R(o,this.project);l.initChildren(),l.setParent(this),l.addSelfToProject(),t.push(l)}break}case Q.ObjectKeys:{let a=null;if(this.inputs.forEach(s=>{var o;((o=s.declaration)==null?void 0:o.id)===x[i.Loop]["object-keys-loop"].inputs.object.id?a=s:(s.remove(),r.push(s))}),a){if(a.declaration.id!==x[i.Loop]["object-keys-loop"].inputs.object.id){const s=this.project.get(x[i.Loop]["object-keys-loop"].inputs.object.id);a.setDeclaration(s),e.push(a)}}else{const s=this.project.get(x[i.Loop]["object-keys-loop"].inputs.object.id),o={id:w.UUID.uuid(),version:1,type:i.InputMap,name:null,description:null,index:0,declaration:s.toJSON(),readsValue:null,defaultValue:null,dynamicArguments:[],parent:this.toReference()},l=R(o,this.project);l.initChildren(),l.setParent(this),l.addSelfToProject(),t.push(l)}break}case Q.ObjectValues:{let a=null;if(this.inputs.forEach(s=>{var o;((o=s.declaration)==null?void 0:o.id)===x[i.Loop]["object-values-loop"].inputs.object.id?a=s:(s.remove(),r.push(s))}),a){if(a.declaration.id!==x[i.Loop]["object-values-loop"].inputs.object.id){const s=this.project.get(x[i.Loop]["object-values-loop"].inputs.object.id);a.setDeclaration(s),e.push(a)}}else{const s=this.project.get(x[i.Loop]["object-values-loop"].inputs.object.id),o={id:w.UUID.uuid(),version:1,type:i.InputMap,name:null,description:null,index:0,declaration:s.toJSON(),readsValue:null,defaultValue:null,dynamicArguments:[],parent:this.toReference()},l=R(o,this.project);l.initChildren(),l.setParent(this),l.addSelfToProject(),t.push(l)}break}case Q.String:{let a=null;if(this.inputs.forEach(s=>{var o;((o=s.declaration)==null?void 0:o.id)===x[i.Loop]["string-loop"].inputs.string.id?a=s:(s.remove(),r.push(s))}),a){if(a.declaration.id!==x[i.Loop]["string-loop"].inputs.string.id){const s=this.project.get(x[i.Loop]["string-loop"].inputs.string.id);a.setDeclaration(s),e.push(a)}}else{const s=this.project.get(x[i.Loop]["string-loop"].inputs.string.id),o={id:w.UUID.uuid(),version:1,type:i.InputMap,name:null,description:null,index:0,declaration:s.toJSON(),readsValue:null,defaultValue:null,dynamicArguments:[],parent:this.toReference()},l=R(o,this.project);l.initChildren(),l.setParent(this),l.addSelfToProject(),t.push(l)}break}}return{updated:v(e),added:v(t),removed:v(r),self:this}}syncChildren(){const e=[],t=[],r=[],{updated:a,added:s,removed:o}=this.syncInputMaps();e.push(...a),t.push(...s),r.push(...o);const{updated:l,added:p,removed:y}=this.syncTerminationStatements();e.push(...l),t.push(...p),r.push(...y);const{updated:f,added:m,removed:b}=this.syncBodyArgumentsDeclarations();e.push(...f),t.push(...m),r.push(...b);const{updated:g,added:I,removed:D}=this.syncOutputsDeclarations();e.push(...g),t.push(...I),r.push(...D);const{updated:C,added:Y,removed:G}=this.syncOutputMaps();return e.push(...C),t.push(...Y),r.push(...G),{self:this,updated:v(e),added:v(t),removed:v(r)}}};c(J,"CURRENT_ITERATION_NUMBER_ARG_NAME","Current iteration number"),c(J,"CURRENT_VALUE_ARG_NAME","Current value"),c(J,"MUTABLE_BASE_PROPERTIES",[]),c(J,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(J,"BASE_PROPERTIES",[...J.MUTABLE_BASE_PROPERTIES,...J.INMUTABLE_BASE_PROPERTIES]),c(J,"MUTABLE_META_PROPERTIES",[...J.MUTABLE_BASE_PROPERTIES,"x","y"]),c(J,"INMUTABLE_META_PROPERTIES",[...J.INMUTABLE_BASE_PROPERTIES]),c(J,"META_PROPERTIES",[...J.MUTABLE_META_PROPERTIES,...J.INMUTABLE_META_PROPERTIES]),c(J,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),c(J,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),c(J,"UPSTREAM_PROPERTIES",[...J.MUTABLE_UPSTREAM_PROPERTIES,...J.INMUTABLE_UPSTREAM_PROPERTIES]),c(J,"MUTABLE_DOWNSTREAM_PROPERTIES",["body","inputs","outputs","outputsDeclarations","successCalls","errorCalls","error","breakStatements","continueStatements"]),c(J,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(J,"DOWNSTREAM_PROPERTIES",[...J.MUTABLE_DOWNSTREAM_PROPERTIES,...J.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(J,"PROPERTIES",[...J.META_PROPERTIES,...J.UPSTREAM_PROPERTIES,...J.DOWNSTREAM_PROPERTIES]);let vr=J;function _9(n){const e=_U(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(o=>o.validate());const s=[...Dn(n)];return ne(n.errors,s)}const he=class he{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"x");c(this,"y");c(this,"type",i.Condition);c(this,"successCalls",[]);c(this,"errorCalls",[]);c(this,"declaration");c(this,"inputs",[]);c(this,"calledBySuccess",[]);c(this,"calledByError",[]);c(this,"calledByEntry",[]);c(this,"project");c(this,"errors",[]);c(this,"parent");c(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 r=t;if(e.parent){const f=B(e.parent);r=t.get(f)}const a=e.calledByEntry.map(f=>{const m=B(f);return t.get(m)}),s=e.calledBySuccess.map(f=>{const m=B(f);return t.get(m)}),o=e.calledByError.map(f=>{const m=B(f);return t.get(m)});let l;if(e.declaration){const f=B(e.declaration);l=t.get(f)}const p={id:e.id,version:1,type:i.Condition,declaration:l,calledByEntry:a,calledBySuccess:s,calledByError:o,errorCalls:[],successCalls:[],inputs:[],x:0,y:0,parent:r},y=R(p,t);return y.setParent(r),y.initChildren(),y}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[...dt,i.Project],optional:!0}},t);return r=s.modifiedData,a.push(...s.errors,...Be(r)),e.declaration?t.get(e.declaration)?t.conditionDeclarations.find(p=>p.id===e.declaration)||a.push(new E({id:`${e.id}--${h.InvalidImplementsReference}`,code:h.InvalidImplementsReference,severity:T.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 '${i.Condition}' entities.
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(){const e=[this];return this.parent===this.project&&this.project.addLoop(this),this.successCalls.forEach(t=>{t.addSuccessCaller(this),e.push(t)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this),e.push(t)}),this.calledByEntry.forEach(t=>{t.addCall(this),e.push(t)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this),e.push(t)}),this.calledByError.forEach(t=>{t.addErrorCall(this),e.push(t)}),{affected:v(e),self:this}}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(r=>r.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutputDeclaration(e){return this.outputsDeclarations.includes(e)?this:(this.outputsDeclarations.push(e),this)}removeOutputDeclaration(e){const t=this.outputsDeclarations.findIndex(r=>r.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(r=>r.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 r=this.errorCalls.findIndex(a=>a.id===e.id);return r>-1&&this.errorCalls.splice(r,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}replaceDetachedChild(e,t){const r=this.detachedChildren.indexOf(e);return r!==-1&&(this.detachedChildren[r]=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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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.syncChildren(),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const r=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.outputs.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.body.remove({ignoreUpstream:!0,seenEntities:t}),this.error){const{affected:s,removed:o}=this.error.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s),a.push(...o)}return this.successCalls.forEach(s=>{r.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{r.push(s),s.removeCaller(this)}),e||this.calledBy.forEach(s=>{r.push(s),s.removeCall(this)}),{affected:v(r),removed:v(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(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.body.restore({seenEntities:e}),this.successCalls.forEach(r=>{t.push(r),r.addSuccessCaller(this)}),this.errorCalls.forEach(r=>{t.push(r),r.addErrorCaller(this)}),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:v(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.inputs.flatMap(r=>r.toFlat(e)),...this.outputs.flatMap(r=>r.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.successCalls.flatMap(r=>r.toFlat(e)),...this.errorCalls.flatMap(r=>r.toFlat(e)),...this.error?this.error.toFlat(e):[],...this.body?this.body.toFlat(e):[],...this.continueStatements.flatMap(r=>r.toFlat(e)),...this.breakStatements.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.inputs.flatMap(r=>r.toFlatIds(e)),...this.outputs.flatMap(r=>r.toFlatIds(e)),...this.process?this.process.toFlatIds(e):[],...this.successCalls.flatMap(r=>r.toFlatIds(e)),...this.errorCalls.flatMap(r=>r.toFlatIds(e)),...this.error?this.error.toFlatIds(e):[],...this.body?this.body.toFlatIds(e):[],...this.continueStatements.flatMap(r=>r.toFlatIds(e)),...this.breakStatements.flatMap(r=>r.toFlatIds(e))])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.toReference()),process:((e=this.process)==null?void 0:e.toJSON())||null,declaration:this.declaration.toJSON(),inputs:this.inputs.map(r=>r.toJSON()),outputs:this.outputs.map(r=>r.toJSON()),outputsDeclarations:this.outputsDeclarations.map(r=>r.toJSON()),successCalls:this.successCalls.map(r=>r.toJSON()),errorCalls:this.errorCalls.map(r=>r.toJSON()),error:((t=this.error)==null?void 0:t.toJSON())||null,body:this.body.toJSON(),parent:this.parent.toReference(),breakStatements:this.breakStatements.map(r=>r.toJSON()),continueStatements:this.continueStatements.map(r=>r.toJSON())}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,r,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()),outputsDeclarations:this.outputsDeclarations.map(s=>s.toReference()),successCalls:this.successCalls.map(s=>s.toReference()),errorCalls:this.errorCalls.map(s=>s.toReference()),process:((r=this.process)==null?void 0:r.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 r;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((r=this.body)==null?void 0:r.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===i.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 r;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((r=this.body)==null?void 0:r.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(r=>r.clearErrors()),this.outputs.forEach(r=>r.clearErrors()),this.successCalls.forEach(r=>r.clearErrors()),this.errorCalls.forEach(r=>r.clearErrors()),this.continueStatements.forEach(r=>r.clearErrors()),this.breakStatements.forEach(r=>r.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 J(this.toJSON(),this.project)}getVariableInstances(){return this.body?te(this.body).filter(r=>r.type===i.VariableInstance):[]}addReturnStatement(e){return _e.includes(this.parent.type)&&this.parent.addReturnStatement(e),this}removeReturnStatement(e){return _e.includes(this.parent.type)&&this.parent.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}getUniqueReturnDeclarations(){const e=[];return[...this.breakStatements,...this.continueStatements].forEach(r=>{r.outputs.forEach(s=>{e.find(l=>l===s||S(l,this.project)===S(s,this.project)&&Yt(l.dataType,s.dataType))||e.push(s)})}),v(e)}syncTerminationStatements(){const e=[],t=[],r=[],a=this.getUniqueReturnDeclarations(),s=[...this.breakStatements,...this.continueStatements];return a.forEach((o,l)=>{o.index!==l&&(o.sync({index:l}),e.push(o))}),s.forEach(o=>{const l=o.outputs,p=a.filter(y=>!l.find(f=>S(y,this.project)===S(f,this.project)&&Yt(y.dataType,f.dataType)));p.length&&e.push(o),p.forEach(y=>{const f=y.clone(o);f.addSelfToProject(),t.push(f)})}),{updated:v(e),added:v(t),removed:v(r),self:this}}syncBodyArgumentsDeclarations(){const e=[],t=[],r=[],{updated:a,added:s,removed:o}=this.syncFixedBodyArgumentDeclarations();e.push(...a),t.push(...s),r.push(...o);const l=this.getUniqueReturnDeclarations(),p=this.body.inputs;l.forEach((b,g)=>{b.index!==g&&(b.sync({index:g}),e.push(b))}),l.forEach(b=>{const g=b.getDataType();let D=p.find(G=>S(G,this.project)===J.fromReturnDeclarationToBodyArgumentDeclarationName(b)&&Yt(G.dataType,b.dataType));if(!D){const G=J.fromReturnDeclarationToBodyArgumentDeclarationName(b),Ge={id:w.UUID.uuid(),version:1,type:i.ArgumentDeclaration,name:G,description:`Aggretated list of all previously outputted values from each iteration by the output '${S(b,this.project)}'`,dataType:null,index:b.index,required:b.required,parent:this.body.toReference(),writesValues:[]},lt=R(Ge,this.project);lt.setParent(this.body),lt.initChildren(),lt.addSelfToProject(),t.push(lt),D=lt}D.index!==b.index&&(D.sync({index:b.index}),e.push(D));const C=D.getDataType();let Y=C;if(g)if(!C||!Yt(C,g)){if(!Y){const G=g.clone(D);G.addSelfToProject(),Y=G,t.push(G),e.push(D)}Y.merge(g),Y.sync({isList:!0})}else Y.isList||(Y.sync({isList:!0}),e.push(Y));if(!g&&!Y){const G={id:w.UUID.uuid(),version:1,type:i.DataType,isList:!0,entity:null,isNullable:!1,constant:!1,defaultValue:null,asType:!1,andChildrenGroup:[],orChildrenGroup:[],parent:D.toReference()},Ge=R(G,this.project);Ge.sync({isList:!0}),Ge.setParent(D),Ge.initChildren(),Ge.addSelfToProject();const lt={id:w.UUID.uuid(),version:1,type:i.PrimitiveValue,name:P.JSON,autogeneration:null,valueAsType:null,value:[],parent:Ge.toReference()},Ot=R(lt,this.project);Ot.setParent(Ge),Ot.initChildren(),Ot.addSelfToProject(),t.push(Ot),t.push(Ge)}});const{updated:y,added:f,removed:m}=this.removeExtraBodyArgumentDeclarations();return e.push(...y),t.push(...f),r.push(...m),{updated:v(e),added:v(t),removed:v(r),self:this}}syncOutputsDeclarations(){const e=[],t=[],r=[],a=this.getUniqueReturnDeclarations(),s=this.outputsDeclarations;return a.forEach((l,p)=>{l.index!==p&&(l.sync({index:p}),e.push(l))}),a.forEach(l=>{const p=l.getDataType();let f=s.find(g=>S(g,this.project)===J.fromReturnDeclarationToLoopOutputDeclarationName(l)&&Yt(g.dataType,l.dataType));if(!f){const g=J.fromReturnDeclarationToLoopOutputDeclarationName(l),I={id:w.UUID.uuid(),version:1,type:i.ValueDescriptor,name:g,description:`Aggretated list of all previously outputted values from each iteration by the output '${S(l,this.project)}'`,dataType:null,index:l.index,required:l.required,parent:this.toReference()},D=R(I,this.project);D.setParent(this),D.initChildren(),D.addSelfToProject(),t.push(D),f=D}f.index!==l.index&&(f.sync({index:l.index}),e.push(f));let b=f.getDataType();if(p)if(!b||!Yt(b,p)){if(!b){const g=p.clone(f);g.addSelfToProject(),b=g,t.push(g),e.push(f)}b.merge(p),b.sync({isList:!0})}else b.isList||(b.sync({isList:!0}),e.push(b));if(!p&&!b){const g={id:w.UUID.uuid(),version:1,type:i.DataType,isList:!0,entity:null,isNullable:!1,constant:!1,defaultValue:null,asType:!1,andChildrenGroup:[],orChildrenGroup:[],parent:f.toReference()},I=R(g,this.project);I.sync({isList:!0}),I.setParent(f),I.initChildren(),I.addSelfToProject();const D={id:w.UUID.uuid(),version:1,type:i.PrimitiveValue,name:P.JSON,autogeneration:null,valueAsType:null,value:[],parent:I.toReference()},C=R(D,this.project);C.setParent(I),C.initChildren(),C.addSelfToProject(),t.push(C),t.push(I)}}),s.filter(l=>!a.find(y=>S(l,this.project)===J.fromReturnDeclarationToLoopOutputDeclarationName(y))).forEach(l=>{const{affected:p,removed:y}=l.remove({ignoreUpstream:!1,seenEntities:new Set});e.push(...p),r.push(...y)}),{updated:v(e),added:v(t),removed:v(r),self:this}}syncOutputMaps(){const e=[],t=[],r=[],a=this.outputsDeclarations,s=this.outputs;return a.forEach(l=>{var f;let y=s.find(m=>{var b,g;return((b=m.declaration)==null?void 0:b.id)===l.id&&Yt((g=m.declaration)==null?void 0:g.dataType,l.dataType)});if(y)((f=y.declaration)==null?void 0:f.id)!==l.id&&(y.setDeclaration(l),e.push(y));else{const m={id:w.UUID.uuid(),version:1,type:i.OutputMap,index:l.index,declaration:l.toJSON(),writesValues:[],parent:this.toReference()},b=R(m,this.project);b.setParent(this),b.initChildren(),b.addSelfToProject(),t.push(b),y=b}y.index!==l.index&&(y.sync({index:l.index}),e.push(y))}),s.filter(l=>!a.find(y=>{var f;return((f=l.declaration)==null?void 0:f.id)===y.id})).forEach(l=>{const{affected:p,removed:y}=l.remove({ignoreUpstream:!1,seenEntities:new Set});e.push(...p),r.push(...y)}),{updated:v(e),added:v(t),removed:v(r),self:this}}createCurrentIterationNumberArgumentDeclaration(){const e=[],t=[],r=[];let s=this.body.inputs.find(p=>{var y;return p.name===J.CURRENT_ITERATION_NUMBER_ARG_NAME||p.id===((y=this.currentIterationNumberArgumentDeclaration)==null?void 0:y.id)});if(!s){const p={id:w.UUID.uuid(),version:1,type:i.ArgumentDeclaration,name:J.CURRENT_ITERATION_NUMBER_ARG_NAME,description:"The number of the current iteration",dataType:null,index:0,required:!0,parent:this.body.toReference(),writesValues:[]},y=R(p,this.project);y.setParent(this.body),y.initChildren(),y.addSelfToProject(),t.push(y),s=y}s.index!==0&&(s.sync({index:0}),e.push(s));let l=s.getDataType();if(!l){const p={id:w.UUID.uuid(),version:1,type:i.DataType,isList:!1,entity:null,isNullable:!1,constant:!1,defaultValue:null,asType:!1,andChildrenGroup:[],orChildrenGroup:[],parent:s.toReference()},y=R(p,this.project);y.setParent(s),y.initChildren(),y.addSelfToProject();const f={id:w.UUID.uuid(),version:1,type:i.PrimitiveValue,name:P.Number,autogeneration:null,valueAsType:null,value:null,parent:y.toReference()},m=R(f,this.project);m.setParent(y),m.initChildren(),m.addSelfToProject(),t.push(m),t.push(y),l=y}if(!l.entity||l.entity.type!==i.PrimitiveEntity||l.entity.name!==P.Number||l.entity.id!==x["primitive-entity"].number.id){const p=this.project.getBuiltIn(x["primitive-entity"].number.id);l.setEntity(p),e.push(l)}return this.currentIterationNumberArgumentDeclaration=s,{updated:v(e),added:v(t),removed:v(r),self:this}}removeExtraBodyArgumentDeclarations(){const e=[],t=[],r=[],a=this.body.inputs,s=this.getUniqueReturnDeclarations();return a.filter(l=>l===this.currentIterationNumberArgumentDeclaration||l===this.currentValueArgumentDeclaration?!1:!s.find(y=>S(l,this.project)===J.fromReturnDeclarationToBodyArgumentDeclarationName(y))).forEach(l=>{const{affected:p,removed:y}=l.remove({ignoreUpstream:!1,seenEntities:new Set});e.push(...p),r.push(...y)}),{updated:v(e),added:v(t),removed:v(r),self:this}}createCurrentValueInputBasedOnInputMap(){var l,p,y,f,m;const e=[],t=[],r=[];switch(this.declaration.id){case Q.List:{const b=this.body.inputs.find(I=>{var D;return I.name===J.CURRENT_VALUE_ARG_NAME||I.id===((D=this.currentValueArgumentDeclaration)==null?void 0:D.id)}),g=this.inputs.find(I=>{var D;return((D=I.declaration)==null?void 0:D.id)===x[i.Loop]["list-loop"].inputs.list.id});if(!g)break;if(b){const I=this.project.get(x[i.Loop]["list-loop"].inputs.list.id);let C=b.getDataType();if(!C){const G={id:w.UUID.uuid(),version:1,type:i.DataType,isList:!1,entity:null,isNullable:!1,constant:!1,defaultValue:null,asType:!1,andChildrenGroup:[],orChildrenGroup:[],parent:I.toReference()},Ge=R(G,this.project);Ge.setParent(I),Ge.initChildren(),Ge.addSelfToProject(),t.push(Ge),C=Ge}const Y=g.getDataType();C.merge(Y),C.sync({isList:!1})}else{const I={id:w.UUID.uuid(),version:1,type:i.ArgumentDeclaration,name:J.CURRENT_VALUE_ARG_NAME,description:null,index:0,required:!0,writesValues:[],dataType:null,parent:this.body.toReference()},D=R(I,this.project);D.initChildren(),D.setParent(this.body),D.addSelfToProject(),t.push(D)}break}case Q.ManualFlow:break;case Q.Counted:break;case Q.ObjectKeys:{const b=this.body.inputs.find(I=>{var D;return I.name===J.CURRENT_VALUE_ARG_NAME||I.id===((D=this.currentValueArgumentDeclaration)==null?void 0:D.id)});if(!this.inputs.find(I=>{var D;return((D=I.declaration)==null?void 0:D.id)===x[i.Loop]["object-keys-loop"].inputs.object.id}))break;if(b){const I=this.project.get(x[i.Loop]["object-keys-loop"].inputs.object.id);let C=b.getDataType();if(C){const Y=this.project.getBuiltIn(x["primitive-entity"].string.id);((l=C.entity)==null?void 0:l.id)!==Y.id&&(C.setEntity(Y),e.push(C))}else{const Y={id:w.UUID.uuid(),version:1,type:i.DataType,isList:!1,entity:null,isNullable:!1,constant:!1,defaultValue:null,asType:!1,andChildrenGroup:[],orChildrenGroup:[],parent:I.toReference()},G=R(Y,this.project);G.setParent(I),G.initChildren(),G.addSelfToProject(),C=G}}else{const I={id:w.UUID.uuid(),version:1,type:i.ArgumentDeclaration,name:J.CURRENT_VALUE_ARG_NAME,description:null,index:0,required:!0,writesValues:[],dataType:null,parent:this.body.toReference()},D=R(I,this.project);D.initChildren(),D.setParent(this.body),D.addSelfToProject(),t.push(D)}break}case Q.ObjectValues:{const b=this.body.inputs.find(I=>{var D;return I.name===J.CURRENT_VALUE_ARG_NAME||I.id===((D=this.currentValueArgumentDeclaration)==null?void 0:D.id)}),g=this.inputs.find(I=>{var D;return((D=I.declaration)==null?void 0:D.id)===x[i.Loop]["object-values-loop"].inputs.object.id});if(!g)break;if(b){const I=this.project.get(x[i.Loop]["object-values-loop"].inputs.object.id);let C=b.getDataType();if(C){const Y=g.getDataType(),G=((y=Y==null?void 0:Y.entity)==null?void 0:y.properties)||[];(f=C.orChildrenGroup)==null||f.forEach(Ge=>{const{affected:lt,removed:Ot}=Ge.remove({ignoreUpstream:!1,seenEntities:new Set});e.push(...lt),r.push(...Ot)}),G.forEach(Ge=>{const lt=Ge.getDataType();if(lt){const Ot=lt.clone(C);Ot.sync({parentRelationType:xe.OrDataTypeGroup}),Ot.addSelfToProject(),t.push(Ot)}else{const Ot={id:w.UUID.uuid(),version:1,type:i.DataType,isList:!1,entity:null,isNullable:!1,constant:!1,defaultValue:null,asType:!1,andChildrenGroup:[],orChildrenGroup:[],parentRelationType:xe.OrDataTypeGroup,parent:C.toReference()},Vr=R(Ot,this.project);Vr.setParent(C),Vr.initChildren(),Vr.addSelfToProject(),t.push(Vr)}})}else{const Y={id:w.UUID.uuid(),version:1,type:i.DataType,isList:!1,entity:null,isNullable:!1,constant:!1,defaultValue:null,asType:!1,andChildrenGroup:[],orChildrenGroup:[],parent:I.toReference()},G=R(Y,this.project);G.setParent(I),G.initChildren(),G.addSelfToProject(),C=G;const Ge=g.getDataType();(((p=Ge==null?void 0:Ge.entity)==null?void 0:p.properties)||[]).forEach(Ot=>{const Vr=Ot.getDataType();if(Vr){const Sa=Vr.clone(G);Sa.sync({parentRelationType:xe.OrDataTypeGroup}),Sa.addSelfToProject(),t.push(Sa)}else{const Sa={id:w.UUID.uuid(),version:1,type:i.DataType,isList:!1,entity:null,isNullable:!1,constant:!1,defaultValue:null,asType:!1,andChildrenGroup:[],orChildrenGroup:[],parentRelationType:xe.OrDataTypeGroup,parent:G.toReference()},Ao=R(Sa,this.project);Ao.setParent(G),Ao.initChildren(),Ao.addSelfToProject(),t.push(Ao)}})}}else{const I={id:w.UUID.uuid(),version:1,type:i.ArgumentDeclaration,name:J.CURRENT_VALUE_ARG_NAME,description:null,index:0,required:!0,writesValues:[],dataType:null,parent:this.body.toReference()},D=R(I,this.project);D.initChildren(),D.setParent(this.body),D.addSelfToProject(),t.push(D)}break}case Q.String:{const b=this.body.inputs.find(I=>{var D;return I.name===J.CURRENT_VALUE_ARG_NAME||I.id===((D=this.currentValueArgumentDeclaration)==null?void 0:D.id)});if(!this.inputs.find(I=>{var D;return((D=I.declaration)==null?void 0:D.id)===x[i.Loop]["string-loop"].inputs.string.id}))break;if(b){const I=this.project.get(x[i.Loop]["string-loop"].inputs.string.id);let C=b.getDataType();if(C){const Y=this.project.getBuiltIn(x["primitive-entity"].string.id);((m=C.entity)==null?void 0:m.id)!==Y.id&&(C.setEntity(Y),e.push(C))}else{const Y={id:w.UUID.uuid(),version:1,type:i.DataType,isList:!1,entity:null,isNullable:!1,constant:!1,defaultValue:null,asType:!1,andChildrenGroup:[],orChildrenGroup:[],parent:I.toReference()},G=R(Y,this.project);G.setParent(I),G.initChildren(),G.addSelfToProject(),t.push(G),C=G}}else{const I={id:w.UUID.uuid(),version:1,type:i.ArgumentDeclaration,name:J.CURRENT_VALUE_ARG_NAME,description:null,index:0,required:!0,writesValues:[],dataType:null,parent:this.body.toReference()},D=R(I,this.project);D.initChildren(),D.setParent(this.body),D.addSelfToProject(),t.push(D)}break}}const{updated:a,added:s,removed:o}=this.removeExtraBodyArgumentDeclarations();return e.push(...a),t.push(...s),r.push(...o),{updated:v(e),added:v(t),removed:v(r),self:this}}syncFixedBodyArgumentDeclarations(){const e=[],t=[],r=[],{updated:a,added:s,removed:o}=this.createCurrentIterationNumberArgumentDeclaration();e.push(...a),t.push(...s),r.push(...o);const{updated:l,added:p,removed:y}=this.createCurrentValueInputBasedOnInputMap();return e.push(...l),t.push(...p),r.push(...y),{updated:v(e),added:v(t),removed:v(r),self:this}}syncInputMaps(){const e=[],t=[],r=[];switch(this.declaration.id){case Q.List:{let a=null;if(this.inputs.forEach(s=>{var o;((o=s.declaration)==null?void 0:o.id)===x[i.Loop]["list-loop"].inputs.list.id?a=s:(s.remove(),r.push(s))}),a){if(a.declaration.id!==x[i.Loop]["list-loop"].inputs.list.id){const s=this.project.get(x[i.Loop]["list-loop"].inputs.list.id);a.setDeclaration(s),e.push(a)}}else{const s=this.project.get(x[i.Loop]["list-loop"].inputs.list.id),o={id:w.UUID.uuid(),version:1,type:i.InputMap,name:null,description:null,index:0,declaration:s.toJSON(),readsValue:null,defaultValue:null,dynamicArguments:[],parent:this.toReference()},l=R(o,this.project);l.initChildren(),l.setParent(this),l.addSelfToProject(),t.push(l)}break}case Q.ManualFlow:{this.inputs.forEach(a=>{a.remove(),r.push(a)});break}case Q.Counted:{let a=null;if(this.inputs.forEach(s=>{var o;((o=s.declaration)==null?void 0:o.id)===x[i.Loop]["counted-loop"].inputs.number.id?a=s:(s.remove(),r.push(s))}),a){if(a.declaration.id!==x[i.Loop]["counted-loop"].inputs.number.id){const s=this.project.get(x[i.Loop]["counted-loop"].inputs.number.id);a.setDeclaration(s),e.push(a)}}else{const s=this.project.get(x[i.Loop]["counted-loop"].inputs.number.id),o={id:w.UUID.uuid(),version:1,type:i.InputMap,name:null,description:null,index:0,declaration:s.toJSON(),readsValue:null,defaultValue:null,dynamicArguments:[],parent:this.toReference()},l=R(o,this.project);l.initChildren(),l.setParent(this),l.addSelfToProject(),t.push(l)}break}case Q.ObjectKeys:{let a=null;if(this.inputs.forEach(s=>{var o;((o=s.declaration)==null?void 0:o.id)===x[i.Loop]["object-keys-loop"].inputs.object.id?a=s:(s.remove(),r.push(s))}),a){if(a.declaration.id!==x[i.Loop]["object-keys-loop"].inputs.object.id){const s=this.project.get(x[i.Loop]["object-keys-loop"].inputs.object.id);a.setDeclaration(s),e.push(a)}}else{const s=this.project.get(x[i.Loop]["object-keys-loop"].inputs.object.id),o={id:w.UUID.uuid(),version:1,type:i.InputMap,name:null,description:null,index:0,declaration:s.toJSON(),readsValue:null,defaultValue:null,dynamicArguments:[],parent:this.toReference()},l=R(o,this.project);l.initChildren(),l.setParent(this),l.addSelfToProject(),t.push(l)}break}case Q.ObjectValues:{let a=null;if(this.inputs.forEach(s=>{var o;((o=s.declaration)==null?void 0:o.id)===x[i.Loop]["object-values-loop"].inputs.object.id?a=s:(s.remove(),r.push(s))}),a){if(a.declaration.id!==x[i.Loop]["object-values-loop"].inputs.object.id){const s=this.project.get(x[i.Loop]["object-values-loop"].inputs.object.id);a.setDeclaration(s),e.push(a)}}else{const s=this.project.get(x[i.Loop]["object-values-loop"].inputs.object.id),o={id:w.UUID.uuid(),version:1,type:i.InputMap,name:null,description:null,index:0,declaration:s.toJSON(),readsValue:null,defaultValue:null,dynamicArguments:[],parent:this.toReference()},l=R(o,this.project);l.initChildren(),l.setParent(this),l.addSelfToProject(),t.push(l)}break}case Q.String:{let a=null;if(this.inputs.forEach(s=>{var o;((o=s.declaration)==null?void 0:o.id)===x[i.Loop]["string-loop"].inputs.string.id?a=s:(s.remove(),r.push(s))}),a){if(a.declaration.id!==x[i.Loop]["string-loop"].inputs.string.id){const s=this.project.get(x[i.Loop]["string-loop"].inputs.string.id);a.setDeclaration(s),e.push(a)}}else{const s=this.project.get(x[i.Loop]["string-loop"].inputs.string.id),o={id:w.UUID.uuid(),version:1,type:i.InputMap,name:null,description:null,index:0,declaration:s.toJSON(),readsValue:null,defaultValue:null,dynamicArguments:[],parent:this.toReference()},l=R(o,this.project);l.initChildren(),l.setParent(this),l.addSelfToProject(),t.push(l)}break}}return{updated:v(e),added:v(t),removed:v(r),self:this}}syncChildren(){const e=[],t=[],r=[],{updated:a,added:s,removed:o}=this.syncInputMaps();e.push(...a),t.push(...s),r.push(...o);const{updated:l,added:p,removed:y}=this.syncTerminationStatements();e.push(...l),t.push(...p),r.push(...y);const{updated:f,added:m,removed:b}=this.syncBodyArgumentsDeclarations();e.push(...f),t.push(...m),r.push(...b);const{updated:g,added:I,removed:D}=this.syncOutputsDeclarations();e.push(...g),t.push(...I),r.push(...D);const{updated:C,added:Y,removed:G}=this.syncOutputMaps();return e.push(...C),t.push(...Y),r.push(...G),{self:this,updated:v(e),added:v(t),removed:v(r)}}};c(J,"CURRENT_ITERATION_NUMBER_ARG_NAME","Current iteration number"),c(J,"CURRENT_VALUE_ARG_NAME","Current value"),c(J,"MUTABLE_BASE_PROPERTIES",[]),c(J,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(J,"BASE_PROPERTIES",[...J.MUTABLE_BASE_PROPERTIES,...J.INMUTABLE_BASE_PROPERTIES]),c(J,"MUTABLE_META_PROPERTIES",[...J.MUTABLE_BASE_PROPERTIES,"x","y"]),c(J,"INMUTABLE_META_PROPERTIES",[...J.INMUTABLE_BASE_PROPERTIES]),c(J,"META_PROPERTIES",[...J.MUTABLE_META_PROPERTIES,...J.INMUTABLE_META_PROPERTIES]),c(J,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),c(J,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),c(J,"UPSTREAM_PROPERTIES",[...J.MUTABLE_UPSTREAM_PROPERTIES,...J.INMUTABLE_UPSTREAM_PROPERTIES]),c(J,"MUTABLE_DOWNSTREAM_PROPERTIES",["body","inputs","outputs","outputsDeclarations","successCalls","errorCalls","error","breakStatements","continueStatements"]),c(J,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(J,"DOWNSTREAM_PROPERTIES",[...J.MUTABLE_DOWNSTREAM_PROPERTIES,...J.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(J,"PROPERTIES",[...J.META_PROPERTIES,...J.UPSTREAM_PROPERTIES,...J.DOWNSTREAM_PROPERTIES]);let vr=J;function M9(n){const e=MU(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(o=>o.validate());const s=[...Dn(n)];return ne(n.errors,s)}const he=class he{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"x");c(this,"y");c(this,"type",i.Condition);c(this,"successCalls",[]);c(this,"errorCalls",[]);c(this,"declaration");c(this,"inputs",[]);c(this,"calledBySuccess",[]);c(this,"calledByError",[]);c(this,"calledByEntry",[]);c(this,"project");c(this,"errors",[]);c(this,"parent");c(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 r=t;if(e.parent){const f=B(e.parent);r=t.get(f)}const a=e.calledByEntry.map(f=>{const m=B(f);return t.get(m)}),s=e.calledBySuccess.map(f=>{const m=B(f);return t.get(m)}),o=e.calledByError.map(f=>{const m=B(f);return t.get(m)});let l;if(e.declaration){const f=B(e.declaration);l=t.get(f)}const p={id:e.id,version:1,type:i.Condition,declaration:l,calledByEntry:a,calledBySuccess:s,calledByError:o,errorCalls:[],successCalls:[],inputs:[],x:0,y:0,parent:r},y=R(p,t);return y.setParent(r),y.initChildren(),y}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[...dt,i.Project],optional:!0}},t);return r=s.modifiedData,a.push(...s.errors,...Be(r)),e.declaration?t.get(e.declaration)?t.conditionDeclarations.find(p=>p.id===e.declaration)||a.push(new E({id:`${e.id}--${h.InvalidImplementsReference}`,code:h.InvalidImplementsReference,severity:T.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 '${i.Condition}' entities.
54
54
  ${mo(t)}`,issue:null})):a.push(new E({id:`${e.id}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.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 '${i.Condition}' entities.
55
55
  ${mo(t)}`,issue:null})):a.push(new E({id:`${e.id}--${A.InvalidObjectStructure}`,code:A.InvalidObjectStructure,severity:T.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 '${i.Condition}' entities.
56
56
  ${mo(t)}`,issue:null})),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
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(){const e=[this];return this.parent===this.project&&this.project.addCondition(this),this.successCalls.forEach(t=>{t.addSuccessCaller(this),e.push(t)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this),e.push(t)}),this.calledByEntry.forEach(t=>{t.addCall(this),e.push(t)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this),e.push(t)}),this.calledByError.forEach(t=>{t.addErrorCall(this),e.push(t)}),{affected:v(e),self:this}}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(r=>r.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this}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 r=this.errorCalls.findIndex(a=>a.id===e.id);return r>-1&&this.errorCalls.splice(r,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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 r=[],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:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.successCalls.forEach(s=>{r.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{r.push(s),s.removeCaller(this)}),e||this.calledBy.forEach(s=>{r.push(s),s.removeCall(this)}),{affected:v(r),removed:v(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(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(r=>{t.push(r),r.addSuccessCaller(this)}),this.errorCalls.forEach(r=>{t.push(r),r.addErrorCaller(this)}),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.inputs.flatMap(r=>r.toFlat(e)),...this.successCalls.flatMap(r=>r.toFlat(e)),...this.errorCalls.flatMap(r=>r.toFlat(e)),...this.calledBy.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.inputs.flatMap(r=>r.toFlatIds(e)),...this.successCalls.flatMap(r=>r.toFlatIds(e)),...this.errorCalls.flatMap(r=>r.toFlatIds(e)),...this.calledBy.flatMap(r=>r.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+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.toFlatJSON(e)),...this.successCalls.flatMap(r=>r.toFlatJSON(e)),...this.errorCalls.flatMap(r=>r.toFlatJSON(e)),...this.calledBy.flatMap(r=>r.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===i.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(r=>r.toFlatGenerationTarget(e)),...this.successCalls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(r=>r.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=_9(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 he(this.toJSON(),this.project)}};c(he,"MUTABLE_BASE_PROPERTIES",["operator"]),c(he,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(he,"BASE_PROPERTIES",[...he.MUTABLE_BASE_PROPERTIES,...he.INMUTABLE_BASE_PROPERTIES]),c(he,"MUTABLE_META_PROPERTIES",["x","y"]),c(he,"INMUTABLE_META_PROPERTIES",[...he.INMUTABLE_BASE_PROPERTIES]),c(he,"META_PROPERTIES",[...he.MUTABLE_META_PROPERTIES,...he.INMUTABLE_META_PROPERTIES]),c(he,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),c(he,"INMUTABLE_UPSTREAM_PROPERTIES",[]),c(he,"UPSTREAM_PROPERTIES",[...he.MUTABLE_UPSTREAM_PROPERTIES,...he.INMUTABLE_UPSTREAM_PROPERTIES]),c(he,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","inputsDeclarations","inputs"]),c(he,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(he,"DOWNSTREAM_PROPERTIES",[...he.MUTABLE_DOWNSTREAM_PROPERTIES,...he.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(he,"PROPERTIES",[...he.META_PROPERTIES,...he.UPSTREAM_PROPERTIES,...he.DOWNSTREAM_PROPERTIES]);let Ir=he;class Tv{constructor(){c(this,"initialData")}}class M9{}class N9 extends Tv{}class V9{}class $9{}class L9{}class vd{}class G9 extends vd{}class F9 extends vd{}class U9{}class Ra{static initReadsValue(e){if(e.initialData.readsValue&&e.initialData.readsValue.type!==i.GenericReference)e.readsValue=R(e.initialData.readsValue,e.project);else if(e.initialData.readsValue&&e.initialData.readsValue.type===i.GenericReference){const t=Vt(e.initialData.readsValue,e.project);t&&(e.readsValue=t)}if(e.readsValue){if(je.includes(e.readsValue.type)){let t=e.parent;dt.includes(t.type)||(t=t.parent),e.readsValue.setParent(t),e.readsValue.initChildren(),t.detachedChildren.includes(e)?t.replaceDetachedChild(e,e.readsValue):t.subscribeDetachedChild(e.readsValue)}e.readsValue.addValueReader(e)}return e.readsValue}}class ba{static initWritesValues(e,t){const r=e.initialData.writesValues.reduce((s,o)=>{if(o.type===i.GenericReference||e.writesValues.some(p=>p.id===o.id))return s;const l=R(o,e.project);return l.setValueWriter(e),je.includes(l.type)&&(l.setParent(t),l.initChildren()),[...s,l]},[]),a=[...e.writesValues];return e.writesValues=v([...a,...r]),e.writesValues}}class x9{}function j9(n){var l;const e=Ex(),t=n.toJSON();e.safeParse(t).success,(l=n.dataType)==null||l.validate(),n.inputs.forEach(p=>p.validate()),n.outputs.forEach(p=>p.validate()),n.internalCalls.forEach(p=>p.validate());const s=[...Dn(n)];if(n.id==="random-company-employee-test-variable-id"){const p=H({id:`${n.id}--${_.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:_.PropertyImplementsNonAbstact,entity:n});s.push(p.error)}if(n.id==="company-dto-variable-one-id"){const p=H({id:`${n.id}--${_.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:_.PropertyImplementsNonAbstact,entity:n});s.push(p.error)}const o=_d(n);return s.push(...o),ne(n.errors,s)}const se=class se{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"dataType",null);c(this,"x");c(this,"y");c(this,"type",i.VariableDeclaration);c(this,"writesValues",[]);c(this,"readsValue",null);c(this,"inputs",[]);c(this,"outputs",[]);c(this,"calledBySuccess",[]);c(this,"calledByError",[]);c(this,"calledByEntry",[]);c(this,"successCalls",[]);c(this,"errorCalls",[]);c(this,"internalCalls",[]);c(this,"parent");c(this,"variableInstances",[]);c(this,"errors",[]);c(this,"project");c(this,"initialized",!1);c(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.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let r=t;if(e.parent){const f=B(e.parent);r=t.get(f)}const a=e.calledByEntry.map(f=>{const m=B(f);return t.get(m)}),s=e.calledBySuccess.map(f=>{const m=B(f);return t.get(m)}),o=e.calledByError.map(f=>{const m=B(f);return t.get(m)});let l=null;if(e.readsValue){const f=B(e.readsValue);l=t.get(f)}const p={id:e.id,version:1,type:i.VariableDeclaration,name:e.name,description:e.description,calledByEntry:a,calledBySuccess:s,calledByError:o,dataType:null,errorCalls:[],successCalls:[],internalCalls:[],readsValue:l,inputs:[],outputs:[],writesValues:[],x:0,y:0,parent:r},y=R(p,t);return y.setParent(r),y.initChildren(),y}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[...dt,i.Project],optional:!0}},t);r=s.modifiedData;const o=Td(r,t);return a.push(...s.errors,...o,...Be(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];let r=JSON.parse(JSON.stringify(e));const a=va(r,this);return r=a.modifiedData,t.push(...a.errors),e.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
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(){const e=[this];return this.parent===this.project&&this.project.addCondition(this),this.successCalls.forEach(t=>{t.addSuccessCaller(this),e.push(t)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this),e.push(t)}),this.calledByEntry.forEach(t=>{t.addCall(this),e.push(t)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this),e.push(t)}),this.calledByError.forEach(t=>{t.addErrorCall(this),e.push(t)}),{affected:v(e),self:this}}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(r=>r.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this}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 r=this.errorCalls.findIndex(a=>a.id===e.id);return r>-1&&this.errorCalls.splice(r,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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 r=[],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:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.successCalls.forEach(s=>{r.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{r.push(s),s.removeCaller(this)}),e||this.calledBy.forEach(s=>{r.push(s),s.removeCall(this)}),{affected:v(r),removed:v(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(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(r=>{t.push(r),r.addSuccessCaller(this)}),this.errorCalls.forEach(r=>{t.push(r),r.addErrorCaller(this)}),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.inputs.flatMap(r=>r.toFlat(e)),...this.successCalls.flatMap(r=>r.toFlat(e)),...this.errorCalls.flatMap(r=>r.toFlat(e)),...this.calledBy.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.inputs.flatMap(r=>r.toFlatIds(e)),...this.successCalls.flatMap(r=>r.toFlatIds(e)),...this.errorCalls.flatMap(r=>r.toFlatIds(e)),...this.calledBy.flatMap(r=>r.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+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.toFlatJSON(e)),...this.successCalls.flatMap(r=>r.toFlatJSON(e)),...this.errorCalls.flatMap(r=>r.toFlatJSON(e)),...this.calledBy.flatMap(r=>r.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===i.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(r=>r.toFlatGenerationTarget(e)),...this.successCalls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(r=>r.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=M9(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 he(this.toJSON(),this.project)}};c(he,"MUTABLE_BASE_PROPERTIES",["operator"]),c(he,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(he,"BASE_PROPERTIES",[...he.MUTABLE_BASE_PROPERTIES,...he.INMUTABLE_BASE_PROPERTIES]),c(he,"MUTABLE_META_PROPERTIES",["x","y"]),c(he,"INMUTABLE_META_PROPERTIES",[...he.INMUTABLE_BASE_PROPERTIES]),c(he,"META_PROPERTIES",[...he.MUTABLE_META_PROPERTIES,...he.INMUTABLE_META_PROPERTIES]),c(he,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),c(he,"INMUTABLE_UPSTREAM_PROPERTIES",[]),c(he,"UPSTREAM_PROPERTIES",[...he.MUTABLE_UPSTREAM_PROPERTIES,...he.INMUTABLE_UPSTREAM_PROPERTIES]),c(he,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","inputsDeclarations","inputs"]),c(he,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(he,"DOWNSTREAM_PROPERTIES",[...he.MUTABLE_DOWNSTREAM_PROPERTIES,...he.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(he,"PROPERTIES",[...he.META_PROPERTIES,...he.UPSTREAM_PROPERTIES,...he.DOWNSTREAM_PROPERTIES]);let Ir=he;class Tv{constructor(){c(this,"initialData")}}class _9{}class N9 extends Tv{}class V9{}class $9{}class L9{}class vd{}class G9 extends vd{}class F9 extends vd{}class U9{}class Ra{static initReadsValue(e){if(e.initialData.readsValue&&e.initialData.readsValue.type!==i.GenericReference)e.readsValue=R(e.initialData.readsValue,e.project);else if(e.initialData.readsValue&&e.initialData.readsValue.type===i.GenericReference){const t=Vt(e.initialData.readsValue,e.project);t&&(e.readsValue=t)}if(e.readsValue){if(je.includes(e.readsValue.type)){let t=e.parent;dt.includes(t.type)||(t=t.parent),e.readsValue.setParent(t),e.readsValue.initChildren(),t.detachedChildren.includes(e)?t.replaceDetachedChild(e,e.readsValue):t.subscribeDetachedChild(e.readsValue)}e.readsValue.addValueReader(e)}return e.readsValue}}class ba{static initWritesValues(e,t){const r=e.initialData.writesValues.reduce((s,o)=>{if(o.type===i.GenericReference||e.writesValues.some(p=>p.id===o.id))return s;const l=R(o,e.project);return l.setValueWriter(e),je.includes(l.type)&&(l.setParent(t),l.initChildren()),[...s,l]},[]),a=[...e.writesValues];return e.writesValues=v([...a,...r]),e.writesValues}}class x9{}function j9(n){var l;const e=Ex(),t=n.toJSON();e.safeParse(t).success,(l=n.dataType)==null||l.validate(),n.inputs.forEach(p=>p.validate()),n.outputs.forEach(p=>p.validate()),n.internalCalls.forEach(p=>p.validate());const s=[...Dn(n)];if(n.id==="random-company-employee-test-variable-id"){const p=H({id:`${n.id}--${M.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:M.PropertyImplementsNonAbstact,entity:n});s.push(p.error)}if(n.id==="company-dto-variable-one-id"){const p=H({id:`${n.id}--${M.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:M.PropertyImplementsNonAbstact,entity:n});s.push(p.error)}const o=Md(n);return s.push(...o),ne(n.errors,s)}const se=class se{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"dataType",null);c(this,"x");c(this,"y");c(this,"type",i.VariableDeclaration);c(this,"writesValues",[]);c(this,"readsValue",null);c(this,"inputs",[]);c(this,"outputs",[]);c(this,"calledBySuccess",[]);c(this,"calledByError",[]);c(this,"calledByEntry",[]);c(this,"successCalls",[]);c(this,"errorCalls",[]);c(this,"internalCalls",[]);c(this,"parent");c(this,"variableInstances",[]);c(this,"errors",[]);c(this,"project");c(this,"initialized",!1);c(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.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let r=t;if(e.parent){const f=B(e.parent);r=t.get(f)}const a=e.calledByEntry.map(f=>{const m=B(f);return t.get(m)}),s=e.calledBySuccess.map(f=>{const m=B(f);return t.get(m)}),o=e.calledByError.map(f=>{const m=B(f);return t.get(m)});let l=null;if(e.readsValue){const f=B(e.readsValue);l=t.get(f)}const p={id:e.id,version:1,type:i.VariableDeclaration,name:e.name,description:e.description,calledByEntry:a,calledBySuccess:s,calledByError:o,dataType:null,errorCalls:[],successCalls:[],internalCalls:[],readsValue:l,inputs:[],outputs:[],writesValues:[],x:0,y:0,parent:r},y=R(p,t);return y.setParent(r),y.initChildren(),y}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[...dt,i.Project],optional:!0}},t);r=s.modifiedData;const o=Td(r,t);return a.push(...s.errors,...o,...Be(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];let r=JSON.parse(JSON.stringify(e));const a=va(r,this);return r=a.modifiedData,t.push(...a.errors),e.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
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:r}}addSelfToProject(){const e=[this];return this.parent===this.project&&this.project.addVariableDeclaration(this),this.readsValue&&(this.readsValue.addValueReader(this),e.push(this.readsValue)),this.writesValues.forEach(t=>{t.setValueWriter(this),e.push(t)}),this.successCalls.forEach(t=>{t.addSuccessCaller(this),e.push(t)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this),e.push(t)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this),e.push(t)}),this.calledByError.forEach(t=>{t.addErrorCall(this),e.push(t)}),this.calledByEntry.forEach(t=>{t.addCall(this),e.push(t)}),{affected:v(e),self: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)}get usedInternalCalls(){return this.internalCalls.filter(e=>!!e.calledBy.length)}get unusedInternalCalls(){return this.internalCalls.filter(e=>!e.calledBy.length)}removeInput(e){const t=this.inputs.findIndex(r=>r.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(r=>r.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const r=this.errorCalls.findIndex(a=>a.id===e.id);return r>-1&&this.errorCalls.splice(r,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}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()),ba.initWritesValues(this,this.parent),Ra.initReadsValue(this),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.initialData.inputs.forEach(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),this.addInput(t),t}),this.initialData.outputs.forEach(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),this.addOutput(t),t}),this.initialData.internalCalls.forEach(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),this.addInternalCall(t),t}),this.generateUnusedInputs(),this.generateUnusedOutputs(),this.generateUnusedInternalCalls(),(!this.dataType||this.dataType.inferred)&&this.inferDataTypeAndSyncInstancesInputsAndOutputs(),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}subscribeInstance(e){return this.variableInstances.includes(e)?this:(this.variableInstances.push(e),this)}removeInstance(e){return this.variableInstances=this.variableInstances.filter(t=>t.id!==e.id),this}getMasterInputWithValueWritterFromAllInstances(e){return v([...this.inputs,...this.variableInstances.flatMap(a=>a.inputs)]).find(a=>S(a,this.project)===S(e,this.project)&&!!a.readsValue)||e}inferDataTypeAndSyncInstancesInputsAndOutputs(){var r,a;if(!this.dataType){const s=R({id:this.id+"--infered-data-type",version:1,type:i.DataType,isList:!1,isNullable:!1,andChildrenGroup:null,orChildrenGroup:null,asType:!1,entity:null,constant:!1,defaultValue:null,parent:this.toReference()},this.project);s.inferred=!0,s.setParent(this),s.initChildren(),this.setDataType(s)}if(this.readsValue){const s=(r=this.readsValue.getDataType())==null?void 0:r.clone(this);return s&&(s.inferred=!0,this.setDataType(s)),this}const e=v([...this.inputs,...this.variableInstances.flatMap(s=>s.inputs)]),t=[];return e.forEach(s=>{t.find(l=>S(l,this.project)===S(s,this.project))||t.push(s)}),t.length?((a=this.dataType)==null||a.inferFromInputs(t),this.dataType?(this.generateUnusedInputs(),this.generateUnusedOutputs(),this.variableInstances.forEach(s=>{s.generateUnusedInputs(),s.generateUnusedOutputs()}),this):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),Pa(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const r=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.readsValue&&(r.push(this.readsValue),this.readsValue.removeValueReader(this)),this.writesValues.forEach(s=>{r.push(s),s.readsValue=null}),this.inputs.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.outputs.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.successCalls.forEach(s=>{r.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{r.push(s),s.removeCaller(this)}),this.internalCalls.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.dataType){const{affected:s,removed:o}=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s),a.push(...o)}return e||this.calledBy.forEach(s=>{r.push(s),s.removeCall(this)}),{affected:v(r),removed:v(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(r=>{t.push(r),r.setValueWriter(this)}),this.inputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(r=>{t.push(r),r.addSuccessCaller(this)}),this.errorCalls.forEach(r=>{t.push(r),r.addErrorCaller(this)}),this.internalCalls.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.dataType){const{affected:r}=this.dataType.restore({seenEntities:e});t.push(...r)}return this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:v(t),self:this}}toFlat(e=new Set){var r;return e.has(this.id)?[]:(e.add(this.id),[this,...((r=this.dataType)==null?void 0:r.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 r;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((r=this.dataType)==null?void 0:r.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(r=>r.toJSON()),inputs:this.inputs.map(r=>r.toJSON()),outputs:this.outputs.map(r=>r.toJSON()),successCalls:this.successCalls.map(r=>r.toJSON()),errorCalls:this.errorCalls.map(r=>r.toJSON()),internalCalls:this.internalCalls.map(r=>r.toJSON()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.toReference()),parent:this.parent.toReference(),x:this.x,y:this.y}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.toReference()),inputs:this.inputs.map(r=>r.toReference()),outputs:this.outputs.map(r=>r.toReference()),successCalls:this.successCalls.map(r=>r.toReference()),errorCalls:this.errorCalls.map(r=>r.toReference()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.toReference()),internalCalls:this.internalCalls.map(r=>r.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){var r;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((r=this.dataType)==null?void 0:r.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===i.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 r;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((r=this.dataType)==null?void 0:r.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=j9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t,r;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()),...((r=this.readsValue)==null?void 0:r.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e;return((e=this.dataType)==null?void 0:e.defaultValue)||null}clone(e){return new se(this.toJSON(),this.project)}addInternalCall(e){return this.internalCalls.find(t=>t===e)||this.internalCalls.push(e),this}createInstance(e=this.project,t={}){const r={id:t.id||w.UUID.uuid(),version:t.version||1,type:i.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(r,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([i.CustomEntity,i.PrimitiveEntity,i.BuiltInBaseEntity].includes(this.dataType.entity.type)){const e=[...this.dataType.entity.properties,...this.dataType.entity.extendedProperties];e.filter(s=>!s.getDataType()).forEach(s=>{const o=this.inputs.find(y=>S(y,this.project)===S(s,this.project));if(!o)return;const l=this.getMasterInputWithValueWritterFromAllInstances(o);if(!l)return;const p=an(l);s.setDataType(p),o.setDeclaration(s)}),e.filter(s=>!this.inputs.find(o=>{var l;return((l=o.declaration)==null?void 0:l.id)===s.id})).forEach(s=>{const o={id:w.UUID.uuid(),version:1,type:i.InputMap,parent:this.toReference(),name:null,description:null,dynamicArguments:[],declaration:s,defaultValue:null,index:s.index,readsValue:null},l=R(o,this.project);return l.setParent(this),l.initChildren(),l.suggestion=!0,this.addInput(l),l}),this.inputs.filter(s=>!s.declaration).forEach(s=>{const o=e.find(l=>S(l,this.project)===S(s,this.project));o&&s.setDeclaration(o)})}}else return[];else return[];return[]}generateUnusedOutputs(){if(this.dataType)if(this.dataType.entity){if([i.CustomEntity,i.PrimitiveEntity,i.BuiltInBaseEntity].includes(this.dataType.entity.type))return[...this.dataType.entity.properties,...this.dataType.entity.extendedProperties].filter(r=>!this.outputs.find(a=>a.declaration===r)).map(r=>{const a={id:w.UUID.uuid(),version:1,type:i.OutputMap,parent:this.toReference(),declaration:r,index:r.index,writesValues:[]},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,this.addOutput(s),s})}else return[];else return[];return[]}generateUnusedInternalCalls(){if(this.dataType)if(this.dataType.entity){if([i.CustomEntity,i.PrimitiveEntity,i.BuiltInBaseEntity].includes(this.dataType.entity.type))return[...this.dataType.entity.getAllInteractiveMethods()].filter(r=>!this.internalCalls.find(s=>{var l,p,y,f,m;return(((l=s.declaration)==null?void 0:l.id)||((y=(p=s.initialData)==null?void 0:p.declaration)==null?void 0:y.entityId)||((m=(f=s.initialData)==null?void 0:f.declaration)==null?void 0:m.id))===r.id})).map(r=>{const a=r.createInternalCall(this);return a.suggestion=!0,this.addInternalCall(a),a})}else return[];else return[];return[]}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}getDataType(){return(!this.dataType||this.dataType.inferred)&&this.inferDataTypeAndSyncInstancesInputsAndOutputs(),this.dataType||null}getUnusedInputs(){return this.inputs.filter(e=>e.suggestion||!e.readsValue&&!e.defaultValue)}getUnusedOutputs(){return this.outputs.filter(e=>e.suggestion||!e.writesValues.length)}getUsedInputs(){return this.inputs.filter(e=>!e.suggestion&&(e.readsValue||e.defaultValue))}getUsedOutputs(){return this.outputs.filter(e=>!e.suggestion&&e.writesValues.length)}};c(se,"MUTABLE_BASE_PROPERTIES",["name","description"]),c(se,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(se,"BASE_PROPERTIES",[...se.MUTABLE_BASE_PROPERTIES,...se.INMUTABLE_BASE_PROPERTIES]),c(se,"MUTABLE_META_PROPERTIES",[...se.MUTABLE_BASE_PROPERTIES,"x","y"]),c(se,"INMUTABLE_META_PROPERTIES",[...se.INMUTABLE_BASE_PROPERTIES]),c(se,"META_PROPERTIES",[...se.MUTABLE_META_PROPERTIES,...se.INMUTABLE_META_PROPERTIES]),c(se,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","readsValue"]),c(se,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","dataType"]),c(se,"UPSTREAM_PROPERTIES",[...se.MUTABLE_UPSTREAM_PROPERTIES,...se.INMUTABLE_UPSTREAM_PROPERTIES]),c(se,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues","inputs","outputs","successCalls","errorCalls","internalCalls"]),c(se,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(se,"DOWNSTREAM_PROPERTIES",[...se.MUTABLE_DOWNSTREAM_PROPERTIES,...se.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(se,"PROPERTIES",[...se.META_PROPERTIES,...se.UPSTREAM_PROPERTIES,...se.DOWNSTREAM_PROPERTIES]);let Dr=se;function k9(n){const e=Ix(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(l=>l.validate()),n.outputs.forEach(l=>l.validate()),n.internalCalls.forEach(l=>l.validate());const s=[...Dn(n)];if(n.id==="exec-sequentially-result-variable-id"){const l=H({id:`${n.id}--${_.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:_.PropertyImplementsNonAbstact,entity:n});s.push(l.error)}const o=_d(n);return s.push(...o),ne(n.errors,s)}const oe=class oe{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"x");c(this,"y");c(this,"type",i.VariableInstance);c(this,"writesValues",[]);c(this,"readsValue",null);c(this,"declaration");c(this,"inputs",[]);c(this,"outputs",[]);c(this,"calledBySuccess",[]);c(this,"calledByError",[]);c(this,"calledByEntry",[]);c(this,"successCalls",[]);c(this,"errorCalls",[]);c(this,"internalCalls",[]);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let r=t;if(e.parent){const b=B(e.parent);r=t.get(b)}const a=B(e.declaration),s=t.get(a),o=e.calledByEntry.map(b=>{const g=B(b);return t.get(g)}),l=e.calledBySuccess.map(b=>{const g=B(b);return t.get(g)}),p=e.calledByError.map(b=>{const g=B(b);return t.get(g)});let y=null;if(e.readsValue){const b=B(e.readsValue);y=t.get(b)}const f={id:e.id,version:1,type:i.VariableInstance,declaration:s.toReference(),calledByEntry:o,calledBySuccess:l,calledByError:p,errorCalls:[],successCalls:[],internalCalls:[],readsValue:y,inputs:[],outputs:[],writesValues:[],x:0,y:0,parent:r},m=R(f,t);return m.setParent(r),m.initChildren(),m}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[...dt,i.Project],optional:!0},declaration:{list:!1,types:[i.VariableDeclaration]}},t);return r=s.modifiedData,a.push(...s.errors,...Be(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];let r=JSON.parse(JSON.stringify(e));const a=va(r,this);return r=a.modifiedData,t.push(...a.errors),e.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
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:r}}addSelfToProject(){const e=[this];return this.parent===this.project&&this.project.addVariableDeclaration(this),this.readsValue&&(this.readsValue.addValueReader(this),e.push(this.readsValue)),this.writesValues.forEach(t=>{t.setValueWriter(this),e.push(t)}),this.successCalls.forEach(t=>{t.addSuccessCaller(this),e.push(t)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this),e.push(t)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this),e.push(t)}),this.calledByError.forEach(t=>{t.addErrorCall(this),e.push(t)}),this.calledByEntry.forEach(t=>{t.addCall(this),e.push(t)}),{affected:v(e),self: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)}get usedInternalCalls(){return this.internalCalls.filter(e=>!!e.calledBy.length)}get unusedInternalCalls(){return this.internalCalls.filter(e=>!e.calledBy.length)}removeInput(e){const t=this.inputs.findIndex(r=>r.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(r=>r.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const r=this.errorCalls.findIndex(a=>a.id===e.id);return r>-1&&this.errorCalls.splice(r,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}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()),ba.initWritesValues(this,this.parent),Ra.initReadsValue(this),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.initialData.inputs.forEach(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),this.addInput(t),t}),this.initialData.outputs.forEach(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),this.addOutput(t),t}),this.initialData.internalCalls.forEach(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),this.addInternalCall(t),t}),this.generateUnusedInputs(),this.generateUnusedOutputs(),this.generateUnusedInternalCalls(),(!this.dataType||this.dataType.inferred)&&this.inferDataTypeAndSyncInstancesInputsAndOutputs(),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}subscribeInstance(e){return this.variableInstances.includes(e)?this:(this.variableInstances.push(e),this)}removeInstance(e){return this.variableInstances=this.variableInstances.filter(t=>t.id!==e.id),this}getMasterInputWithValueWritterFromAllInstances(e){return v([...this.inputs,...this.variableInstances.flatMap(a=>a.inputs)]).find(a=>S(a,this.project)===S(e,this.project)&&!!a.readsValue)||e}inferDataTypeAndSyncInstancesInputsAndOutputs(){var r,a;if(!this.dataType){const s=R({id:this.id+"--infered-data-type",version:1,type:i.DataType,isList:!1,isNullable:!1,andChildrenGroup:null,orChildrenGroup:null,asType:!1,entity:null,constant:!1,defaultValue:null,parent:this.toReference()},this.project);s.inferred=!0,s.setParent(this),s.initChildren(),this.setDataType(s)}if(this.readsValue){const s=(r=this.readsValue.getDataType())==null?void 0:r.clone(this);return s&&(s.inferred=!0,this.setDataType(s)),this}const e=v([...this.inputs,...this.variableInstances.flatMap(s=>s.inputs)]),t=[];return e.forEach(s=>{t.find(l=>S(l,this.project)===S(s,this.project))||t.push(s)}),t.length?((a=this.dataType)==null||a.inferFromInputs(t),this.dataType?(this.generateUnusedInputs(),this.generateUnusedOutputs(),this.variableInstances.forEach(s=>{s.generateUnusedInputs(),s.generateUnusedOutputs()}),this):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),Pa(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const r=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.readsValue&&(r.push(this.readsValue),this.readsValue.removeValueReader(this)),this.writesValues.forEach(s=>{r.push(s),s.readsValue=null}),this.inputs.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.outputs.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.successCalls.forEach(s=>{r.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{r.push(s),s.removeCaller(this)}),this.internalCalls.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.dataType){const{affected:s,removed:o}=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s),a.push(...o)}return e||this.calledBy.forEach(s=>{r.push(s),s.removeCall(this)}),{affected:v(r),removed:v(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(r=>{t.push(r),r.setValueWriter(this)}),this.inputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(r=>{t.push(r),r.addSuccessCaller(this)}),this.errorCalls.forEach(r=>{t.push(r),r.addErrorCaller(this)}),this.internalCalls.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.dataType){const{affected:r}=this.dataType.restore({seenEntities:e});t.push(...r)}return this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:v(t),self:this}}toFlat(e=new Set){var r;return e.has(this.id)?[]:(e.add(this.id),[this,...((r=this.dataType)==null?void 0:r.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 r;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((r=this.dataType)==null?void 0:r.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(r=>r.toJSON()),inputs:this.inputs.map(r=>r.toJSON()),outputs:this.outputs.map(r=>r.toJSON()),successCalls:this.successCalls.map(r=>r.toJSON()),errorCalls:this.errorCalls.map(r=>r.toJSON()),internalCalls:this.internalCalls.map(r=>r.toJSON()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.toReference()),parent:this.parent.toReference(),x:this.x,y:this.y}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.toReference()),inputs:this.inputs.map(r=>r.toReference()),outputs:this.outputs.map(r=>r.toReference()),successCalls:this.successCalls.map(r=>r.toReference()),errorCalls:this.errorCalls.map(r=>r.toReference()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.toReference()),internalCalls:this.internalCalls.map(r=>r.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){var r;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((r=this.dataType)==null?void 0:r.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===i.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 r;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((r=this.dataType)==null?void 0:r.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=j9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t,r;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()),...((r=this.readsValue)==null?void 0:r.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e;return((e=this.dataType)==null?void 0:e.defaultValue)||null}clone(e){return new se(this.toJSON(),this.project)}addInternalCall(e){return this.internalCalls.find(t=>t===e)||this.internalCalls.push(e),this}createInstance(e=this.project,t={}){const r={id:t.id||w.UUID.uuid(),version:t.version||1,type:i.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(r,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([i.CustomEntity,i.PrimitiveEntity,i.BuiltInBaseEntity].includes(this.dataType.entity.type)){const e=[...this.dataType.entity.properties,...this.dataType.entity.extendedProperties];e.filter(s=>!s.getDataType()).forEach(s=>{const o=this.inputs.find(y=>S(y,this.project)===S(s,this.project));if(!o)return;const l=this.getMasterInputWithValueWritterFromAllInstances(o);if(!l)return;const p=an(l);s.setDataType(p),o.setDeclaration(s)}),e.filter(s=>!this.inputs.find(o=>{var l;return((l=o.declaration)==null?void 0:l.id)===s.id})).forEach(s=>{const o={id:w.UUID.uuid(),version:1,type:i.InputMap,parent:this.toReference(),name:null,description:null,dynamicArguments:[],declaration:s,defaultValue:null,index:s.index,readsValue:null},l=R(o,this.project);return l.setParent(this),l.initChildren(),l.suggestion=!0,this.addInput(l),l}),this.inputs.filter(s=>!s.declaration).forEach(s=>{const o=e.find(l=>S(l,this.project)===S(s,this.project));o&&s.setDeclaration(o)})}}else return[];else return[];return[]}generateUnusedOutputs(){if(this.dataType)if(this.dataType.entity){if([i.CustomEntity,i.PrimitiveEntity,i.BuiltInBaseEntity].includes(this.dataType.entity.type))return[...this.dataType.entity.properties,...this.dataType.entity.extendedProperties].filter(r=>!this.outputs.find(a=>a.declaration===r)).map(r=>{const a={id:w.UUID.uuid(),version:1,type:i.OutputMap,parent:this.toReference(),declaration:r,index:r.index,writesValues:[]},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,this.addOutput(s),s})}else return[];else return[];return[]}generateUnusedInternalCalls(){if(this.dataType)if(this.dataType.entity){if([i.CustomEntity,i.PrimitiveEntity,i.BuiltInBaseEntity].includes(this.dataType.entity.type))return[...this.dataType.entity.getAllInteractiveMethods()].filter(r=>!this.internalCalls.find(s=>{var l,p,y,f,m;return(((l=s.declaration)==null?void 0:l.id)||((y=(p=s.initialData)==null?void 0:p.declaration)==null?void 0:y.entityId)||((m=(f=s.initialData)==null?void 0:f.declaration)==null?void 0:m.id))===r.id})).map(r=>{const a=r.createInternalCall(this);return a.suggestion=!0,this.addInternalCall(a),a})}else return[];else return[];return[]}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}getDataType(){return(!this.dataType||this.dataType.inferred)&&this.inferDataTypeAndSyncInstancesInputsAndOutputs(),this.dataType||null}getUnusedInputs(){return this.inputs.filter(e=>e.suggestion||!e.readsValue&&!e.defaultValue)}getUnusedOutputs(){return this.outputs.filter(e=>e.suggestion||!e.writesValues.length)}getUsedInputs(){return this.inputs.filter(e=>!e.suggestion&&(e.readsValue||e.defaultValue))}getUsedOutputs(){return this.outputs.filter(e=>!e.suggestion&&e.writesValues.length)}};c(se,"MUTABLE_BASE_PROPERTIES",["name","description"]),c(se,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(se,"BASE_PROPERTIES",[...se.MUTABLE_BASE_PROPERTIES,...se.INMUTABLE_BASE_PROPERTIES]),c(se,"MUTABLE_META_PROPERTIES",[...se.MUTABLE_BASE_PROPERTIES,"x","y"]),c(se,"INMUTABLE_META_PROPERTIES",[...se.INMUTABLE_BASE_PROPERTIES]),c(se,"META_PROPERTIES",[...se.MUTABLE_META_PROPERTIES,...se.INMUTABLE_META_PROPERTIES]),c(se,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","readsValue"]),c(se,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","dataType"]),c(se,"UPSTREAM_PROPERTIES",[...se.MUTABLE_UPSTREAM_PROPERTIES,...se.INMUTABLE_UPSTREAM_PROPERTIES]),c(se,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues","inputs","outputs","successCalls","errorCalls","internalCalls"]),c(se,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(se,"DOWNSTREAM_PROPERTIES",[...se.MUTABLE_DOWNSTREAM_PROPERTIES,...se.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(se,"PROPERTIES",[...se.META_PROPERTIES,...se.UPSTREAM_PROPERTIES,...se.DOWNSTREAM_PROPERTIES]);let Dr=se;function k9(n){const e=Ix(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(l=>l.validate()),n.outputs.forEach(l=>l.validate()),n.internalCalls.forEach(l=>l.validate());const s=[...Dn(n)];if(n.id==="exec-sequentially-result-variable-id"){const l=H({id:`${n.id}--${M.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:M.PropertyImplementsNonAbstact,entity:n});s.push(l.error)}const o=Md(n);return s.push(...o),ne(n.errors,s)}const oe=class oe{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"x");c(this,"y");c(this,"type",i.VariableInstance);c(this,"writesValues",[]);c(this,"readsValue",null);c(this,"declaration");c(this,"inputs",[]);c(this,"outputs",[]);c(this,"calledBySuccess",[]);c(this,"calledByError",[]);c(this,"calledByEntry",[]);c(this,"successCalls",[]);c(this,"errorCalls",[]);c(this,"internalCalls",[]);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let r=t;if(e.parent){const b=B(e.parent);r=t.get(b)}const a=B(e.declaration),s=t.get(a),o=e.calledByEntry.map(b=>{const g=B(b);return t.get(g)}),l=e.calledBySuccess.map(b=>{const g=B(b);return t.get(g)}),p=e.calledByError.map(b=>{const g=B(b);return t.get(g)});let y=null;if(e.readsValue){const b=B(e.readsValue);y=t.get(b)}const f={id:e.id,version:1,type:i.VariableInstance,declaration:s.toReference(),calledByEntry:o,calledBySuccess:l,calledByError:p,errorCalls:[],successCalls:[],internalCalls:[],readsValue:y,inputs:[],outputs:[],writesValues:[],x:0,y:0,parent:r},m=R(f,t);return m.setParent(r),m.initChildren(),m}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[...dt,i.Project],optional:!0},declaration:{list:!1,types:[i.VariableDeclaration]}},t);return r=s.modifiedData,a.push(...s.errors,...Be(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];let r=JSON.parse(JSON.stringify(e));const a=va(r,this);return r=a.modifiedData,t.push(...a.errors),e.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
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:r}}addSelfToProject(){const e=[this];return this.parent===this.project&&this.project.addVariableInstance(this),this.readsValue&&(this.readsValue.addValueReader(this),e.push(this.readsValue)),this.writesValues.forEach(t=>{t.setValueWriter(this),e.push(t)}),this.successCalls.forEach(t=>{t.addSuccessCaller(this),e.push(t)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this),e.push(t)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this),e.push(t)}),this.calledByError.forEach(t=>{t.addErrorCall(this),e.push(t)}),this.calledByEntry.forEach(t=>{t.addCall(this),e.push(t)}),{affected:v(e),self: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)}get usedInternalCalls(){return this.internalCalls.filter(e=>!!e.calledBy.length)}get unusedInternalCalls(){const e=this.usedInternalCalls;return this.internalCalls.filter(r=>!(e.find(o=>o.id===r.id)||e.find(o=>o.declaration===r.declaration)))}removeInput(e){const t=this.inputs.findIndex(r=>r.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(r=>r.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const r=this.errorCalls.findIndex(a=>a.id===e.id);return r>-1&&this.errorCalls.splice(r,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addValueReader(e){return this.writesValues.includes(e)?this:(this.writesValues.push(e),this)}setParent(e){return this.parent=e,this}initChildren(){var e;if(this.initialized)return this;if(this.initialized=!0,this.initialData.declaration.type===i.GenericReference){const t=this.project.findSubscribedInstanceFromReference(this.initialData.declaration);if(!t)return this;this.declaration=t}else this.declaration=R(this.initialData.declaration,this.project),this.declaration.setParent(this.parent),this.declaration.initChildren();return ba.initWritesValues(this,this.parent),Ra.initReadsValue(this),this.initialData.inputs.forEach(t=>{const r=R(t,this.project);return r.setParent(this),r.initChildren(),this.addInput(r),r}),this.initialData.outputs.forEach(t=>{const r=R(t,this.project);return r.setParent(this),r.initChildren(),this.addOutput(r),r}),this.successCalls=this.initialData.successCalls.map(t=>{const r=R(t,this.project);return r.addSuccessCaller(this),[i.BreakStatement,i.ContinueStatement].includes(r.type)?(r.setParent(this.parent.parent),r.initChildren()):r.type!==i.InternalCall&&(r.setParent(this.parent),r.initChildren()),r}),this.errorCalls=this.initialData.errorCalls.map(t=>{const r=R(t,this.project);return r.addErrorCaller(this),[i.BreakStatement,i.ContinueStatement].includes(r.type)?(r.setParent(this.parent.parent),r.initChildren()):r.type!==i.InternalCall&&(r.setParent(this.parent),r.initChildren()),r}),this.internalCalls=this.initialData.internalCalls.reduce((t,r)=>{if(r.type===i.GenericReference){const a=this.project.findSubscribedInstanceFromReference(r);if(!a)return t;const s=a;return s.setParent(this),[...t,s]}else{const a=R(r,this.project);return a.setParent(this),a.initChildren(),[...t,a]}},[]),this.generateUnusedInputs(),this.generateUnusedOutputs(),this.generateUnusedInternalCalls(),this.declaration.subscribeInstance(this),(!this.declaration.dataType||(e=this.declaration.dataType)!=null&&e.inferred)&&this.declaration.inferDataTypeAndSyncInstancesInputsAndOutputs(),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),Pa(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const r=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.readsValue&&(r.push(this.readsValue),this.readsValue.removeValueReader(this)),this.writesValues.forEach(s=>{r.push(s),s.readsValue=null}),this.inputs.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.outputs.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.successCalls.forEach(s=>{r.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{r.push(s),s.removeCaller(this)}),this.internalCalls.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),e||this.calledBy.forEach(s=>{r.push(s),s.removeCall(this)}),this.declaration.removeInstance(this),{affected:v(r),removed:v(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(r=>{t.push(r),r.setValueWriter(this)}),this.inputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(r=>{t.push(r),r.addSuccessCaller(this)}),this.errorCalls.forEach(r=>{t.push(r),r.addErrorCaller(this)}),this.internalCalls.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),this.declaration.subscribeInstance(this),{affected:v(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.writesValues.flatMap(r=>r.toFlat(e)),...this.successCalls.flatMap(r=>r.toFlat(e)),...this.errorCalls.flatMap(r=>r.toFlat(e)),...this.inputs.flatMap(r=>r.toFlat(e)),...this.outputs.flatMap(r=>r.toFlat(e)),...this.internalCalls.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.writesValues.flatMap(r=>r.toFlatIds(e)),...this.successCalls.flatMap(r=>r.toFlatIds(e)),...this.errorCalls.flatMap(r=>r.toFlatIds(e)),...this.inputs.flatMap(r=>r.toFlatIds(e)),...this.outputs.flatMap(r=>r.toFlatIds(e)),...this.internalCalls.flatMap(r=>r.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+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.toReference()),inputs:this.inputs.map(r=>r.toReference()),outputs:this.outputs.map(r=>r.toReference()),successCalls:this.successCalls.map(r=>r.toReference()),errorCalls:this.errorCalls.map(r=>r.toReference()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.toReference()),internalCalls:this.internalCalls.map(r=>r.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){var r;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((r=this.declaration)==null?void 0:r.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===i.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 r,a;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((r=this.declaration)==null?void 0:r.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=k9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t;return[...this.errors,...this.inputs.flatMap(r=>r.getErrors()),...this.internalCalls.flatMap(r=>r.getErrors()),...this.outputs.flatMap(r=>r.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 oe(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([i.CustomEntity,i.PrimitiveEntity,i.BuiltInBaseEntity].includes(this.declaration.dataType.entity.type)){const e=[...this.declaration.dataType.entity.properties,...this.declaration.dataType.entity.extendedProperties];e.filter(s=>!s.getDataType()).forEach(s=>{const o=this.inputs.find(y=>S(y,this.project)===S(s,this.project));if(!o)return;const l=this.declaration.getMasterInputWithValueWritterFromAllInstances(o);if(!l)return;const p=an(l);s.setDataType(p),o.setDeclaration(s)}),e.filter(s=>!this.inputs.find(o=>{var l;return((l=o.declaration)==null?void 0:l.id)===s.id})).forEach(s=>{const o={id:w.UUID.uuid(),version:1,type:i.InputMap,parent:this.toReference(),name:null,description:null,dynamicArguments:[],declaration:s,defaultValue:null,index:s.index,readsValue:null},l=R(o,this.project);return l.setParent(this),l.initChildren(),l.suggestion=!0,this.addInput(l),l}),this.inputs.filter(s=>!s.declaration).forEach(s=>{const o=e.find(l=>S(l,this.project)===S(s,this.project));o&&s.setDeclaration(o)})}}else return[];else return[];return[]}generateUnusedOutputs(){if(this.declaration.dataType)if(this.declaration.dataType.entity){if([i.CustomEntity,i.PrimitiveEntity,i.BuiltInBaseEntity].includes(this.declaration.dataType.entity.type))return[...this.declaration.dataType.entity.properties,...this.declaration.dataType.entity.extendedProperties].filter(r=>!this.outputs.find(a=>a.declaration===r)).map(r=>{const a={id:w.UUID.uuid(),version:1,type:i.OutputMap,parent:this.toReference(),declaration:r,index:r.index,writesValues:[]},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,this.addOutput(s),s})}else return[];else return[];return[]}generateUnusedInternalCalls(){if(this.declaration.dataType)if(this.declaration.dataType.entity){if([i.CustomEntity,i.PrimitiveEntity,i.BuiltInBaseEntity].includes(this.declaration.dataType.entity.type))return[...this.declaration.dataType.entity.getAllInteractiveMethods()].filter(r=>!this.internalCalls.find(s=>{var l,p,y,f,m;return(((l=s.declaration)==null?void 0:l.id)||((y=(p=s.initialData)==null?void 0:p.declaration)==null?void 0:y.entityId)||((m=(f=s.initialData)==null?void 0:f.declaration)==null?void 0:m.id))===r.id})).map(r=>{const a=r.createInternalCall(this);return a.suggestion=!0,this.addInternalCall(a),a})}else return[];else return[];return[]}getDataType(){var e;return((e=this.declaration)==null?void 0:e.getDataType())||null}getUnusedInputs(){return this.inputs.filter(e=>e.suggestion||!e.readsValue&&!e.defaultValue)}getUnusedOutputs(){return this.outputs.filter(e=>e.suggestion||!e.writesValues.length)}getUsedInputs(){return this.inputs.filter(e=>!e.suggestion&&(e.readsValue||e.defaultValue))}getUsedOutputs(){return this.outputs.filter(e=>!e.suggestion&&e.writesValues.length)}};c(oe,"MUTABLE_BASE_PROPERTIES",[]),c(oe,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(oe,"BASE_PROPERTIES",[...oe.MUTABLE_BASE_PROPERTIES,...oe.INMUTABLE_BASE_PROPERTIES]),c(oe,"MUTABLE_META_PROPERTIES",[...oe.MUTABLE_BASE_PROPERTIES,"x","y"]),c(oe,"INMUTABLE_META_PROPERTIES",[...oe.INMUTABLE_BASE_PROPERTIES]),c(oe,"META_PROPERTIES",[...oe.MUTABLE_META_PROPERTIES,...oe.INMUTABLE_META_PROPERTIES]),c(oe,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","readsValue"]),c(oe,"INMUTABLE_UPSTREAM_PROPERTIES",["declaration","parent"]),c(oe,"UPSTREAM_PROPERTIES",[...oe.MUTABLE_UPSTREAM_PROPERTIES,...oe.INMUTABLE_UPSTREAM_PROPERTIES]),c(oe,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues","inputs","outputs","successCalls","errorCalls","internalCalls"]),c(oe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(oe,"DOWNSTREAM_PROPERTIES",[...oe.MUTABLE_DOWNSTREAM_PROPERTIES,...oe.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(oe,"PROPERTIES",[...oe.META_PROPERTIES,...oe.UPSTREAM_PROPERTIES,...oe.DOWNSTREAM_PROPERTIES]);let Pr=oe;function q9(n){var s;const e=fU(),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=H({id:`${n.id}--${_.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:_.PropertyImplementsNonAbstact,entity:n});a.push(o.error)}return ne(n.errors,a)}const fe=class fe{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"index");c(this,"required");c(this,"isError");c(this,"type",i.ReturnDeclaration);c(this,"dataType",null);c(this,"readsValue",null);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.name=e.name,this.description=e.description,this.required=e.required,this.isError=e.isError}static fromGenerationTarget(e,t){const r=B(e.parent),a=t.get(r);let s=null;if(e.readsValue){const p=B(e.readsValue);s=t.get(p)}const o={id:e.id,version:1,name:e.name,type:i.ReturnDeclaration,index:a.outputs.length,isError:!1,description:e.description,required:e.required,readsValue:s,dataType:null,parent:a},l=R(o,t);return l.setParent(a),l.initChildren(),l}static validateGenerationTarget(e,t){var l,p;let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[i.ReturnStatement,i.Search,i.BreakStatement,i.ContinueStatement]}},t),o=bd(r,t);if(r=s.modifiedData,r.parent){const y=t.get(B(r.parent));if(y&&[i.BreakStatement,i.ContinueStatement].includes(y.type)){const f=y,m=f.parent,b=[...m.breakStatements.filter(I=>I.id!==y.id),...m.continueStatements.filter(I=>I.id!==y.id)];if(f.outputs.length)a.push(new E({id:`${r.id}--${A.NoOverlapWithImplementedSignature}`,code:A.NoOverlapWithImplementedSignature,severity:T.Error,message:`Entity of type '${i.ReturnDeclaration}' with id '${r.id}' cannot be added to the parent entity of type '${f.type}' with id '${f.id}'. This '${f.type}' already has return declarations.
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:r}}addSelfToProject(){const e=[this];return this.parent===this.project&&this.project.addVariableInstance(this),this.readsValue&&(this.readsValue.addValueReader(this),e.push(this.readsValue)),this.writesValues.forEach(t=>{t.setValueWriter(this),e.push(t)}),this.successCalls.forEach(t=>{t.addSuccessCaller(this),e.push(t)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this),e.push(t)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this),e.push(t)}),this.calledByError.forEach(t=>{t.addErrorCall(this),e.push(t)}),this.calledByEntry.forEach(t=>{t.addCall(this),e.push(t)}),{affected:v(e),self: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)}get usedInternalCalls(){return this.internalCalls.filter(e=>!!e.calledBy.length)}get unusedInternalCalls(){const e=this.usedInternalCalls;return this.internalCalls.filter(r=>!(e.find(o=>o.id===r.id)||e.find(o=>o.declaration===r.declaration)))}removeInput(e){const t=this.inputs.findIndex(r=>r.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(r=>r.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const r=this.errorCalls.findIndex(a=>a.id===e.id);return r>-1&&this.errorCalls.splice(r,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addValueReader(e){return this.writesValues.includes(e)?this:(this.writesValues.push(e),this)}setParent(e){return this.parent=e,this}initChildren(){var e;if(this.initialized)return this;if(this.initialized=!0,this.initialData.declaration.type===i.GenericReference){const t=this.project.findSubscribedInstanceFromReference(this.initialData.declaration);if(!t)return this;this.declaration=t}else this.declaration=R(this.initialData.declaration,this.project),this.declaration.setParent(this.parent),this.declaration.initChildren();return ba.initWritesValues(this,this.parent),Ra.initReadsValue(this),this.initialData.inputs.forEach(t=>{const r=R(t,this.project);return r.setParent(this),r.initChildren(),this.addInput(r),r}),this.initialData.outputs.forEach(t=>{const r=R(t,this.project);return r.setParent(this),r.initChildren(),this.addOutput(r),r}),this.successCalls=this.initialData.successCalls.map(t=>{const r=R(t,this.project);return r.addSuccessCaller(this),[i.BreakStatement,i.ContinueStatement].includes(r.type)?(r.setParent(this.parent.parent),r.initChildren()):r.type!==i.InternalCall&&(r.setParent(this.parent),r.initChildren()),r}),this.errorCalls=this.initialData.errorCalls.map(t=>{const r=R(t,this.project);return r.addErrorCaller(this),[i.BreakStatement,i.ContinueStatement].includes(r.type)?(r.setParent(this.parent.parent),r.initChildren()):r.type!==i.InternalCall&&(r.setParent(this.parent),r.initChildren()),r}),this.internalCalls=this.initialData.internalCalls.reduce((t,r)=>{if(r.type===i.GenericReference){const a=this.project.findSubscribedInstanceFromReference(r);if(!a)return t;const s=a;return s.setParent(this),[...t,s]}else{const a=R(r,this.project);return a.setParent(this),a.initChildren(),[...t,a]}},[]),this.generateUnusedInputs(),this.generateUnusedOutputs(),this.generateUnusedInternalCalls(),this.declaration.subscribeInstance(this),(!this.declaration.dataType||(e=this.declaration.dataType)!=null&&e.inferred)&&this.declaration.inferDataTypeAndSyncInstancesInputsAndOutputs(),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),Pa(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const r=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.readsValue&&(r.push(this.readsValue),this.readsValue.removeValueReader(this)),this.writesValues.forEach(s=>{r.push(s),s.readsValue=null}),this.inputs.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.outputs.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.successCalls.forEach(s=>{r.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{r.push(s),s.removeCaller(this)}),this.internalCalls.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),e||this.calledBy.forEach(s=>{r.push(s),s.removeCall(this)}),this.declaration.removeInstance(this),{affected:v(r),removed:v(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(r=>{t.push(r),r.setValueWriter(this)}),this.inputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(r=>{t.push(r),r.addSuccessCaller(this)}),this.errorCalls.forEach(r=>{t.push(r),r.addErrorCaller(this)}),this.internalCalls.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),this.declaration.subscribeInstance(this),{affected:v(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.writesValues.flatMap(r=>r.toFlat(e)),...this.successCalls.flatMap(r=>r.toFlat(e)),...this.errorCalls.flatMap(r=>r.toFlat(e)),...this.inputs.flatMap(r=>r.toFlat(e)),...this.outputs.flatMap(r=>r.toFlat(e)),...this.internalCalls.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.writesValues.flatMap(r=>r.toFlatIds(e)),...this.successCalls.flatMap(r=>r.toFlatIds(e)),...this.errorCalls.flatMap(r=>r.toFlatIds(e)),...this.inputs.flatMap(r=>r.toFlatIds(e)),...this.outputs.flatMap(r=>r.toFlatIds(e)),...this.internalCalls.flatMap(r=>r.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+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.toReference()),inputs:this.inputs.map(r=>r.toReference()),outputs:this.outputs.map(r=>r.toReference()),successCalls:this.successCalls.map(r=>r.toReference()),errorCalls:this.errorCalls.map(r=>r.toReference()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.toReference()),internalCalls:this.internalCalls.map(r=>r.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){var r;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((r=this.declaration)==null?void 0:r.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===i.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 r,a;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((r=this.declaration)==null?void 0:r.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=k9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t;return[...this.errors,...this.inputs.flatMap(r=>r.getErrors()),...this.internalCalls.flatMap(r=>r.getErrors()),...this.outputs.flatMap(r=>r.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 oe(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([i.CustomEntity,i.PrimitiveEntity,i.BuiltInBaseEntity].includes(this.declaration.dataType.entity.type)){const e=[...this.declaration.dataType.entity.properties,...this.declaration.dataType.entity.extendedProperties];e.filter(s=>!s.getDataType()).forEach(s=>{const o=this.inputs.find(y=>S(y,this.project)===S(s,this.project));if(!o)return;const l=this.declaration.getMasterInputWithValueWritterFromAllInstances(o);if(!l)return;const p=an(l);s.setDataType(p),o.setDeclaration(s)}),e.filter(s=>!this.inputs.find(o=>{var l;return((l=o.declaration)==null?void 0:l.id)===s.id})).forEach(s=>{const o={id:w.UUID.uuid(),version:1,type:i.InputMap,parent:this.toReference(),name:null,description:null,dynamicArguments:[],declaration:s,defaultValue:null,index:s.index,readsValue:null},l=R(o,this.project);return l.setParent(this),l.initChildren(),l.suggestion=!0,this.addInput(l),l}),this.inputs.filter(s=>!s.declaration).forEach(s=>{const o=e.find(l=>S(l,this.project)===S(s,this.project));o&&s.setDeclaration(o)})}}else return[];else return[];return[]}generateUnusedOutputs(){if(this.declaration.dataType)if(this.declaration.dataType.entity){if([i.CustomEntity,i.PrimitiveEntity,i.BuiltInBaseEntity].includes(this.declaration.dataType.entity.type))return[...this.declaration.dataType.entity.properties,...this.declaration.dataType.entity.extendedProperties].filter(r=>!this.outputs.find(a=>a.declaration===r)).map(r=>{const a={id:w.UUID.uuid(),version:1,type:i.OutputMap,parent:this.toReference(),declaration:r,index:r.index,writesValues:[]},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,this.addOutput(s),s})}else return[];else return[];return[]}generateUnusedInternalCalls(){if(this.declaration.dataType)if(this.declaration.dataType.entity){if([i.CustomEntity,i.PrimitiveEntity,i.BuiltInBaseEntity].includes(this.declaration.dataType.entity.type))return[...this.declaration.dataType.entity.getAllInteractiveMethods()].filter(r=>!this.internalCalls.find(s=>{var l,p,y,f,m;return(((l=s.declaration)==null?void 0:l.id)||((y=(p=s.initialData)==null?void 0:p.declaration)==null?void 0:y.entityId)||((m=(f=s.initialData)==null?void 0:f.declaration)==null?void 0:m.id))===r.id})).map(r=>{const a=r.createInternalCall(this);return a.suggestion=!0,this.addInternalCall(a),a})}else return[];else return[];return[]}getDataType(){var e;return((e=this.declaration)==null?void 0:e.getDataType())||null}getUnusedInputs(){return this.inputs.filter(e=>e.suggestion||!e.readsValue&&!e.defaultValue)}getUnusedOutputs(){return this.outputs.filter(e=>e.suggestion||!e.writesValues.length)}getUsedInputs(){return this.inputs.filter(e=>!e.suggestion&&(e.readsValue||e.defaultValue))}getUsedOutputs(){return this.outputs.filter(e=>!e.suggestion&&e.writesValues.length)}};c(oe,"MUTABLE_BASE_PROPERTIES",[]),c(oe,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(oe,"BASE_PROPERTIES",[...oe.MUTABLE_BASE_PROPERTIES,...oe.INMUTABLE_BASE_PROPERTIES]),c(oe,"MUTABLE_META_PROPERTIES",[...oe.MUTABLE_BASE_PROPERTIES,"x","y"]),c(oe,"INMUTABLE_META_PROPERTIES",[...oe.INMUTABLE_BASE_PROPERTIES]),c(oe,"META_PROPERTIES",[...oe.MUTABLE_META_PROPERTIES,...oe.INMUTABLE_META_PROPERTIES]),c(oe,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","readsValue"]),c(oe,"INMUTABLE_UPSTREAM_PROPERTIES",["declaration","parent"]),c(oe,"UPSTREAM_PROPERTIES",[...oe.MUTABLE_UPSTREAM_PROPERTIES,...oe.INMUTABLE_UPSTREAM_PROPERTIES]),c(oe,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues","inputs","outputs","successCalls","errorCalls","internalCalls"]),c(oe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(oe,"DOWNSTREAM_PROPERTIES",[...oe.MUTABLE_DOWNSTREAM_PROPERTIES,...oe.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(oe,"PROPERTIES",[...oe.META_PROPERTIES,...oe.UPSTREAM_PROPERTIES,...oe.DOWNSTREAM_PROPERTIES]);let Pr=oe;function q9(n){var s;const e=fU(),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=H({id:`${n.id}--${M.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:M.PropertyImplementsNonAbstact,entity:n});a.push(o.error)}return ne(n.errors,a)}const fe=class fe{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"index");c(this,"required");c(this,"isError");c(this,"type",i.ReturnDeclaration);c(this,"dataType",null);c(this,"readsValue",null);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.name=e.name,this.description=e.description,this.required=e.required,this.isError=e.isError}static fromGenerationTarget(e,t){const r=B(e.parent),a=t.get(r);let s=null;if(e.readsValue){const p=B(e.readsValue);s=t.get(p)}const o={id:e.id,version:1,name:e.name,type:i.ReturnDeclaration,index:a.outputs.length,isError:!1,description:e.description,required:e.required,readsValue:s,dataType:null,parent:a},l=R(o,t);return l.setParent(a),l.initChildren(),l}static validateGenerationTarget(e,t){var l,p;let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[i.ReturnStatement,i.Search,i.BreakStatement,i.ContinueStatement]}},t),o=bd(r,t);if(r=s.modifiedData,r.parent){const y=t.get(B(r.parent));if(y&&[i.BreakStatement,i.ContinueStatement].includes(y.type)){const f=y,m=f.parent,b=[...m.breakStatements.filter(I=>I.id!==y.id),...m.continueStatements.filter(I=>I.id!==y.id)];if(f.outputs.length)a.push(new E({id:`${r.id}--${A.NoOverlapWithImplementedSignature}`,code:A.NoOverlapWithImplementedSignature,severity:T.Error,message:`Entity of type '${i.ReturnDeclaration}' with id '${r.id}' cannot be added to the parent entity of type '${f.type}' with id '${f.id}'. This '${f.type}' already has return declarations.
64
64
  ${Ad}`,issue:null}));else{const I=(p=(l=b[0])==null?void 0:l.outputs[0])==null?void 0:p.name;I!==r.name&&a.push(new E({id:`${r.id}--${A.NoOverlapWithImplementedSignature}`,code:A.NoOverlapWithImplementedSignature,severity:T.Error,message:`Entity of type '${i.ReturnDeclaration}' with id '${r.id}' cannot be added to the parent entity of type '${f.type}' with id '${f.id}'. This new 'return-declaration' doesn't have the same name "${I}" as the return declarations on the other statements in the same scope.
65
- ${Ad}`,issue:null}))}}else if(y&&y.type===i.ReturnStatement){const f=y.parent;if(f&&Me.includes(f.type)){const m=f.implements;if(m)if(m.returnsType===U.Fixed){const b=m.fixedReturns.find(G=>G.name===r.name),g=m.fixedReturns.filter(G=>!y.outputs.find(lt=>lt.type===i.ReturnDeclaration&&lt.name===G.name)),I=y.outputs.filter(G=>G.type===i.ReturnDeclaration),D=I.find(G=>G.name===r.name),C=I.length?`The parent entity already implements the following return declarations: ${L(I.map(G=>`'${G.id}' (${G.name})`),", "," and ")}.`:"The parent entity does not yet have any implemented return declarations.",Y=g.length?`The parent entity is still missing the following returns in the implementation: ${L(g.map(G=>`'${G.id}' (${G.name})`),", "," and ")}.`:"The parent entity has all the returns it needs implemented.";b?D&&a.push(new E({id:`${r.id}--${A.NoOverlapWithImplementedSignature}`,code:A.NoOverlapWithImplementedSignature,severity:T.Error,message:`Entity of type '${i.ReturnDeclaration}' with id '${r.id}' should not exist in a parent entity of type '${y.type}' with id '${y.id}' that implements a ${i.ActionDescriptor} with fixed outputs.
65
+ ${Ad}`,issue:null}))}}else if(y&&y.type===i.ReturnStatement){const f=y.parent;if(f&&_e.includes(f.type)){const m=f.implements;if(m)if(m.returnsType===U.Fixed){const b=m.fixedReturns.find(G=>G.name===r.name),g=m.fixedReturns.filter(G=>!y.outputs.find(lt=>lt.type===i.ReturnDeclaration&&lt.name===G.name)),I=y.outputs.filter(G=>G.type===i.ReturnDeclaration),D=I.find(G=>G.name===r.name),C=I.length?`The parent entity already implements the following return declarations: ${L(I.map(G=>`'${G.id}' (${G.name})`),", "," and ")}.`:"The parent entity does not yet have any implemented return declarations.",Y=g.length?`The parent entity is still missing the following returns in the implementation: ${L(g.map(G=>`'${G.id}' (${G.name})`),", "," and ")}.`:"The parent entity has all the returns it needs implemented.";b?D&&a.push(new E({id:`${r.id}--${A.NoOverlapWithImplementedSignature}`,code:A.NoOverlapWithImplementedSignature,severity:T.Error,message:`Entity of type '${i.ReturnDeclaration}' with id '${r.id}' should not exist in a parent entity of type '${y.type}' with id '${y.id}' that implements a ${i.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
  ${C}
68
68
  ${Y}`,issue:null})):a.push(new E({id:`${r.id}--${A.NoOverlapWithImplementedSignature}`,code:A.NoOverlapWithImplementedSignature,severity:T.Error,message:`Entity of type '${i.ReturnDeclaration}' with id '${r.id}' should not exist in a parent entity of type '${y.type}' with id '${y.id}' that implements a ${i.ActionDescriptor} with fixed outputs.
@@ -70,7 +70,7 @@ Adding a new return would make the implementation invalid. There are no returns
70
70
  ${C}
71
71
  ${Y}`,issue:null}))}else m.returnsType===U.Dynamic||m.returnsType===U.None&&a.push(new E({id:`${r.id}--${A.NoOverlapWithImplementedSignature}`,code:A.NoOverlapWithImplementedSignature,severity:T.Error,message:`Entity of type '${i.ReturnDeclaration}' with id '${r.id}' should not exist in a parent entity of type '${y.type}' with id '${y.id}' that implements a ${i.ActionDescriptor} with no outputs.
72
72
  Adding a new return would make the implementation invalid.`,issue:null}))}}}return a.push(...s.errors,...o,...Be(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];let r=JSON.parse(JSON.stringify(e));const a=va(r,this);return r=a.modifiedData,t.push(...a.errors),r.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
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:r}}addSelfToProject(){var t;const e=[this];return this.parent.addOutputDeclaration(this),e.push(this.parent),(t=this.readsValue)==null||t.addValueReader(this),this.readsValue&&e.push(this.readsValue),{affected:v(e),self: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()),Ra.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),Pa(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const r=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.dataType){const s=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s.affected),a.push(...s.removed)}return{affected:v(r),removed:v(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 r=this.dataType.restore({seenEntities:e});t.push(...r.affected)}return{affected:[],self:this}}toFlat(e=new Set){var r;return e.has(this.id)?[]:(e.add(this.id),[this,...((r=this.dataType)==null?void 0:r.toFlat(e))||[]])}toFlatIds(e=new Set){var r;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((r=this.dataType)==null?void 0:r.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+"--"+w.UUID.uuid()+"--ref",type:i.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 r;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((r=this.dataType)==null?void 0:r.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 r,a;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((r=this.readsValue)==null?void 0:r.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=q9(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=null,t=null,r=!0){var f;const a=this.toJSON(),s=t||Qe(S(this,this.project),i.ReturnDeclaration,this.project);a.dataType=null;const o=s.split("-id"),l=o[o.length-1||0]||s;a.id=s;const p=jt(a,this.project);e?p.setParent(e):p.setParent(this.parent),r&&p.subscribe(),p.initChildren();const y=(f=this.dataType)==null?void 0:f.clone(p,l+"--data-type-id",r);return p.dataType=y||null,p}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}inferDataType(){const e=pd(this);if(e){const t=e.clone(this);t&&(t.inferred=!0,this.setDataType(t))}return this}getDataType(){var e;return(!this.dataType||!this.dataType.isResolved()||(e=this.dataType)!=null&&e.inferred)&&this.readsValue&&this.inferDataType(),this.dataType}};c(fe,"MUTABLE_BASE_PROPERTIES",["name","description","required","isError"]),c(fe,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(fe,"BASE_PROPERTIES",[...fe.MUTABLE_BASE_PROPERTIES,...fe.INMUTABLE_BASE_PROPERTIES]),c(fe,"MUTABLE_META_PROPERTIES",[...fe.MUTABLE_BASE_PROPERTIES,"index"]),c(fe,"INMUTABLE_META_PROPERTIES",[...fe.INMUTABLE_BASE_PROPERTIES]),c(fe,"META_PROPERTIES",[...fe.MUTABLE_META_PROPERTIES,...fe.INMUTABLE_META_PROPERTIES]),c(fe,"MUTABLE_UPSTREAM_PROPERTIES",["readsValue"]),c(fe,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","dataType"]),c(fe,"UPSTREAM_PROPERTIES",[...fe.MUTABLE_UPSTREAM_PROPERTIES,...fe.INMUTABLE_UPSTREAM_PROPERTIES]),c(fe,"MUTABLE_DOWNSTREAM_PROPERTIES",[]),c(fe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(fe,"DOWNSTREAM_PROPERTIES",[...fe.MUTABLE_DOWNSTREAM_PROPERTIES,...fe.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(fe,"PROPERTIES",[...fe.META_PROPERTIES,...fe.UPSTREAM_PROPERTIES,...fe.DOWNSTREAM_PROPERTIES]);let Nt=fe;function J9(n){var o;const e=$U(),t=n.toJSON();e.safeParse(t).success,n.inputsDeclarations.forEach(l=>l.validate()),n.inputs.forEach(l=>l.validate()),n.outputsDeclarations.forEach(l=>l.validate()),n.outputs.forEach(l=>l.validate()),(o=n.error)==null||o.validate();const s=[...Dn(n)];if(n.id==="search-person-by-id-id"){const l=H({id:`${n.id}--${_.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:_.PropertyImplementsNonAbstact,entity:n});s.push(l.error)}return ne(n.errors,s)}const we=class we{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"x");c(this,"y");c(this,"query");c(this,"type",i.Search);c(this,"successCalls",[]);c(this,"errorCalls",[]);c(this,"inputsDeclarations",[]);c(this,"inputs",[]);c(this,"outputsDeclarations",[]);c(this,"outputs",[]);c(this,"calledBySuccess",[]);c(this,"calledByError",[]);c(this,"calledByEntry",[]);c(this,"error",null);c(this,"parent");c(this,"errors",[]);c(this,"project");c(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 r=t;if(e.parent){const y=B(e.parent);r=t.get(y)}const a=e.calledByEntry.map(y=>{const f=B(y);return t.get(f)}),s=e.calledBySuccess.map(y=>{const f=B(y);return t.get(f)}),o=e.calledByError.map(y=>{const f=B(y);return t.get(f)}),l={id:e.id,version:1,type:i.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:r},p=R(l,t);return p.setParent(r),p.initChildren(),p}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[...dt,i.Project],optional:!0}},t);return r=s.modifiedData,a.push(...s.errors,...Be(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
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:r}}addSelfToProject(){var t;const e=[this];return this.parent.addOutputDeclaration(this),e.push(this.parent),(t=this.readsValue)==null||t.addValueReader(this),this.readsValue&&e.push(this.readsValue),{affected:v(e),self: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()),Ra.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),Pa(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const r=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.dataType){const s=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s.affected),a.push(...s.removed)}return{affected:v(r),removed:v(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 r=this.dataType.restore({seenEntities:e});t.push(...r.affected)}return{affected:[],self:this}}toFlat(e=new Set){var r;return e.has(this.id)?[]:(e.add(this.id),[this,...((r=this.dataType)==null?void 0:r.toFlat(e))||[]])}toFlatIds(e=new Set){var r;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((r=this.dataType)==null?void 0:r.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+"--"+w.UUID.uuid()+"--ref",type:i.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 r;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((r=this.dataType)==null?void 0:r.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 r,a;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((r=this.readsValue)==null?void 0:r.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=q9(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=null,t=null,r=!0){var f;const a=this.toJSON(),s=t||Qe(S(this,this.project),i.ReturnDeclaration,this.project);a.dataType=null;const o=s.split("-id"),l=o[o.length-1||0]||s;a.id=s;const p=jt(a,this.project);e?p.setParent(e):p.setParent(this.parent),r&&p.subscribe(),p.initChildren();const y=(f=this.dataType)==null?void 0:f.clone(p,l+"--data-type-id",r);return p.dataType=y||null,p}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}inferDataType(){const e=pd(this);if(e){const t=e.clone(this);t&&(t.inferred=!0,this.setDataType(t))}return this}getDataType(){var e;return(!this.dataType||!this.dataType.isResolved()||(e=this.dataType)!=null&&e.inferred)&&this.readsValue&&this.inferDataType(),this.dataType}};c(fe,"MUTABLE_BASE_PROPERTIES",["name","description","required","isError"]),c(fe,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(fe,"BASE_PROPERTIES",[...fe.MUTABLE_BASE_PROPERTIES,...fe.INMUTABLE_BASE_PROPERTIES]),c(fe,"MUTABLE_META_PROPERTIES",[...fe.MUTABLE_BASE_PROPERTIES,"index"]),c(fe,"INMUTABLE_META_PROPERTIES",[...fe.INMUTABLE_BASE_PROPERTIES]),c(fe,"META_PROPERTIES",[...fe.MUTABLE_META_PROPERTIES,...fe.INMUTABLE_META_PROPERTIES]),c(fe,"MUTABLE_UPSTREAM_PROPERTIES",["readsValue"]),c(fe,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","dataType"]),c(fe,"UPSTREAM_PROPERTIES",[...fe.MUTABLE_UPSTREAM_PROPERTIES,...fe.INMUTABLE_UPSTREAM_PROPERTIES]),c(fe,"MUTABLE_DOWNSTREAM_PROPERTIES",[]),c(fe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(fe,"DOWNSTREAM_PROPERTIES",[...fe.MUTABLE_DOWNSTREAM_PROPERTIES,...fe.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(fe,"PROPERTIES",[...fe.META_PROPERTIES,...fe.UPSTREAM_PROPERTIES,...fe.DOWNSTREAM_PROPERTIES]);let Nt=fe;function J9(n){var o;const e=$U(),t=n.toJSON();e.safeParse(t).success,n.inputsDeclarations.forEach(l=>l.validate()),n.inputs.forEach(l=>l.validate()),n.outputsDeclarations.forEach(l=>l.validate()),n.outputs.forEach(l=>l.validate()),(o=n.error)==null||o.validate();const s=[...Dn(n)];if(n.id==="search-person-by-id-id"){const l=H({id:`${n.id}--${M.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:M.PropertyImplementsNonAbstact,entity:n});s.push(l.error)}return ne(n.errors,s)}const we=class we{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"x");c(this,"y");c(this,"query");c(this,"type",i.Search);c(this,"successCalls",[]);c(this,"errorCalls",[]);c(this,"inputsDeclarations",[]);c(this,"inputs",[]);c(this,"outputsDeclarations",[]);c(this,"outputs",[]);c(this,"calledBySuccess",[]);c(this,"calledByError",[]);c(this,"calledByEntry",[]);c(this,"error",null);c(this,"parent");c(this,"errors",[]);c(this,"project");c(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 r=t;if(e.parent){const y=B(e.parent);r=t.get(y)}const a=e.calledByEntry.map(y=>{const f=B(y);return t.get(f)}),s=e.calledBySuccess.map(y=>{const f=B(y);return t.get(f)}),o=e.calledByError.map(y=>{const f=B(y);return t.get(f)}),l={id:e.id,version:1,type:i.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:r},p=R(l,t);return p.setParent(r),p.initChildren(),p}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[...dt,i.Project],optional:!0}},t);return r=s.modifiedData,a.push(...s.errors,...Be(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
74
74
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
75
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(){const e=[this];return this.parent===this.project&&this.project.addSearch(this),this.successCalls.forEach(t=>{t.addSuccessCaller(this),e.push(t)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this),e.push(t)}),this.calledByEntry.forEach(t=>{t.addCall(this),e.push(t)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this),e.push(t)}),this.calledByError.forEach(t=>{t.addErrorCall(this),e.push(t)}),{affected:v(e),self: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 r=this.inputsDeclarations.findIndex(a=>a.id===e.declaration.id);return r>-1&&this.inputsDeclarations.splice(r,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(r=>r.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(r=>r.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(r=>r.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 r=this.errorCalls.findIndex(a=>a.id===e.id);return r>-1&&this.errorCalls.splice(r,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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 r=[],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:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.inputsDeclarations.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.outputs.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.outputsDeclarations.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.error){const{affected:s,removed:o}=this.error.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s),a.push(...o)}return this.successCalls.forEach(s=>{r.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{r.push(s),s.removeCaller(this)}),e||this.calledBy.forEach(s=>{r.push(s),s.removeCall(this)}),{affected:v(r),removed:v(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(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.inputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.outputsDeclarations.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(r=>{t.push(r),r.addSuccessCaller(this)}),this.errorCalls.forEach(r=>{t.push(r),r.addErrorCaller(this)}),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:v(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(r=>r.toFlat(e)),...this.errorCalls.flatMap(r=>r.toFlat(e)),...this.inputs.flatMap(r=>r.toFlat(e)),...this.inputsDeclarations.flatMap(r=>r.toFlat(e)),...this.outputs.flatMap(r=>r.toFlat(e)),...this.outputsDeclarations.flatMap(r=>r.toFlat(e)),...this.calledBy.flatMap(r=>r.toFlat(e)),...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(r=>r.toFlatIds(e)),...this.errorCalls.flatMap(r=>r.toFlatIds(e)),...this.inputs.flatMap(r=>r.toFlatIds(e)),...this.inputsDeclarations.flatMap(r=>r.toFlatIds(e)),...this.outputs.flatMap(r=>r.toFlatIds(e)),...this.outputsDeclarations.flatMap(r=>r.toFlatIds(e)),...this.calledBy.flatMap(r=>r.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+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.toFlatJSON(e)),...this.errorCalls.flatMap(r=>r.toFlatJSON(e)),...this.inputs.flatMap(r=>r.toFlatJSON(e)),...this.inputsDeclarations.flatMap(r=>r.toFlatJSON(e)),...this.outputs.flatMap(r=>r.toFlatJSON(e)),...this.outputsDeclarations.flatMap(r=>r.toFlatJSON(e)),...this.calledBy.flatMap(r=>r.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===i.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(r=>r.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.inputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.inputsDeclarations.flatMap(r=>r.toFlatGenerationTarget(e)),...this.outputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.outputsDeclarations.flatMap(r=>r.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=J9(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 we(this.toJSON(),this.project)}};c(we,"MUTABLE_BASE_PROPERTIES",["name","description","query"]),c(we,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(we,"BASE_PROPERTIES",[...we.MUTABLE_BASE_PROPERTIES,...we.INMUTABLE_BASE_PROPERTIES]),c(we,"MUTABLE_META_PROPERTIES",[...we.MUTABLE_BASE_PROPERTIES,"x","y"]),c(we,"INMUTABLE_META_PROPERTIES",[...we.INMUTABLE_BASE_PROPERTIES]),c(we,"META_PROPERTIES",[...we.MUTABLE_META_PROPERTIES,...we.INMUTABLE_META_PROPERTIES]),c(we,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),c(we,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),c(we,"UPSTREAM_PROPERTIES",[...we.MUTABLE_UPSTREAM_PROPERTIES,...we.INMUTABLE_UPSTREAM_PROPERTIES]),c(we,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","inputsDeclarations","inputs","outputsDeclarations","outputs","error"]),c(we,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(we,"DOWNSTREAM_PROPERTIES",[...we.MUTABLE_DOWNSTREAM_PROPERTIES,...we.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(we,"PROPERTIES",[...Nt.META_PROPERTIES,...Nt.UPSTREAM_PROPERTIES,...Nt.DOWNSTREAM_PROPERTIES]);let Ar=we;function W9(n){const e=Ox(),t=n.toJSON();e.safeParse(t).success,n.functions.forEach(s=>s.validate()),n.events.forEach(s=>s.validate());const a=[];return ne(n.errors,a)}const me=class me{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"x");c(this,"y");c(this,"type",i.InstalledProject);c(this,"implements");c(this,"functions",[]);c(this,"events",[]);c(this,"parent");c(this,"errors",[]);c(this,"project");c(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 r=t,a={id:e.id,version:1,name:e.name,type:i.InstalledProject,description:e.description,functions:[],events:[],implements:{entityId:e.implements,entityType:i.Project,type:i.GenericReference,id:w.UUID.uuid()},x:0,y:0,parent:r},s=R(a,t);return s.setParent(r),s.initChildren(),s}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[];return a.push(...Be(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on an installed project, must be the root project as it is a globally declared entity.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return{affected:v([]),self: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 r=[],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:l}=s.remove({ignoreUpstream:!1,seenEntities:t});r.push(...o),a.push(...l)}),this.events.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!1,seenEntities:t});r.push(...o),a.push(...l)}),{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(r=>r.toFlat(e)),...this.events.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.functions.flatMap(r=>r.toFlatIds(e)),...this.events.flatMap(r=>r.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+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.toFlatJSON(e)),...this.events.flatMap(r=>r.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(r=>r.toFlatGenerationTarget(e)),...this.events.flatMap(r=>r.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.functions.forEach(e=>e.clearErrors()),this.events.forEach(e=>e.clearErrors()),this}validate(){const e=W9(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 me(this.toJSON(),this.project)}};c(me,"MUTABLE_BASE_PROPERTIES",[]),c(me,"INMUTABLE_BASE_PROPERTIES",["id","version","name","description","type"]),c(me,"BASE_PROPERTIES",[...me.MUTABLE_BASE_PROPERTIES,...me.INMUTABLE_BASE_PROPERTIES]),c(me,"MUTABLE_META_PROPERTIES",["x","y"]),c(me,"INMUTABLE_META_PROPERTIES",[...me.INMUTABLE_BASE_PROPERTIES]),c(me,"META_PROPERTIES",[...me.MUTABLE_META_PROPERTIES,...me.INMUTABLE_META_PROPERTIES]),c(me,"MUTABLE_UPSTREAM_PROPERTIES",[]),c(me,"INMUTABLE_UPSTREAM_PROPERTIES",["implements","parent"]),c(me,"UPSTREAM_PROPERTIES",[...me.MUTABLE_UPSTREAM_PROPERTIES,...me.INMUTABLE_UPSTREAM_PROPERTIES]),c(me,"MUTABLE_DOWNSTREAM_PROPERTIES",["functions","events"]),c(me,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(me,"DOWNSTREAM_PROPERTIES",[...me.MUTABLE_DOWNSTREAM_PROPERTIES,...me.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(me,"PROPERTIES",[...me.META_PROPERTIES,...me.UPSTREAM_PROPERTIES,...me.DOWNSTREAM_PROPERTIES]);let Sr=me;function H9(n){var l;const e=UU(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(p=>p.validate()),n.outputs.forEach(p=>p.validate()),(l=n.error)==null||l.validate();const a=Dn(n),s=Y9(n),o=[...a,...s];return ne(n.errors,o)}function Y9(n){const e=[],t=io(n.parent),r=t==null?void 0:t.entity;if(!r)e.push(H({id:`${n.id}--${A.InternalCallParentMissingDataType}`,code:A.InternalCallParentMissingDataType,severity:T.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(![i.CustomEntity,i.BuiltInBaseEntity,i.PrimitiveEntity].includes(r.type))e.push(H({id:`${n.id}--${A.InternalCallParentDeclarationEntityInvalidType}`,code:A.InternalCallParentDeclarationEntityInvalidType,severity:T.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
76
  This variable's data-type has an 'entity' field that references an entity with id '${r.id}' and of type '${r.type}'.`,issue:null,entity:n}).error);else{const a=xd(r),s=[];[i.CustomEntity,i.BuiltInBaseEntity,i.PrimitiveEntity].includes(r.type)&&s.push(...r.getAllInteractiveMethods());let o="";a?r.methods.length?o=`
@@ -101,7 +101,7 @@ ${Jn}`);const b=r.declaration;if(!t.get(b))a.push(new E({id:`${r.id}--${h.Refere
101
101
  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.${m}`,issue:null})):a.push(new E({id:`${r.id}--${A.InternalCallDeclarationNotFoundInParentDatatypeEntity}`,code:A.InternalCallDeclarationNotFoundInParentDatatypeEntity,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", belongs to a variable whose data type entity doesn't contain its declaration method (function-declaration) with id "${r.declaration}".${m}`,issue:null}))}}(l.inputs.length||l.outputs.length||l.internalCalls.length)&&a.push(new E({id:`${r.id}--${h.InvalidInternalCallParentRelation}`,code:h.InvalidInternalCallParentRelation,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.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.
102
102
  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.
103
103
  The you can attach the new internal-call to it.`,issue:null}))}return a.push(...s.errors,...Be(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
104
- 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 t;const e=[this];return this.parent.addInternalCall(this),e.push(this.parent),(t=this.process)==null||t.writesValues.forEach(r=>{r.setValueWriter(this.process),e.push(r)}),this.successCalls.forEach(r=>{r.addSuccessCaller(this),e.push(r)}),this.errorCalls.forEach(r=>{r.addErrorCaller(this),e.push(r)}),this.calledBySuccess.forEach(r=>{r.addSuccessCall(this),e.push(r)}),this.calledByError.forEach(r=>{r.addErrorCall(this),e.push(r)}),this.calledByEntry.forEach(r=>{r.addCall(this),e.push(r)}),{affected:v(e),self:this}}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(r=>r.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(r=>r.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const r=this.errorCalls.findIndex(a=>a.id===e.id);return r>-1&&this.errorCalls.splice(r,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.parent.type!==i.GenericReference){const e=R(this.initialData.parent,this.project);this.setParent(e),this.parent.initChildren(),this.parent.addInternalCall(this);const t=this.calledBy.find(r=>!!r.parent&&dt.includes(r.parent.type));if(t){const r=R(t.parent,this.project);this.parent.setParent(r)}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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent.parent),t.initChildren()):t.type!==i.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 r=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:l}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}if(this.inputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),this.outputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),this.error){const{affected:o,removed:l}=this.error.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}return this.successCalls.forEach(o=>{r.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{r.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{r.push(o),o.removeCall(this)}),{affected:v(r),removed:v(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:r}=this.process.restore({seenEntities:e});t.push(...r)}return this.inputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(r=>{t.push(r),r.addSuccessCaller(this)}),this.errorCalls.forEach(r=>{t.push(r),r.addErrorCaller(this)}),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:v(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(r=>r.toFlat(e)),...this.errorCalls.flatMap(r=>r.toFlat(e)),...this.inputs.flatMap(r=>r.toFlat(e)),...this.outputs.flatMap(r=>r.toFlat(e)),...this.calledBy.flatMap(r=>r.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(r=>r.toFlatIds(e)),...this.errorCalls.flatMap(r=>r.toFlatIds(e)),...this.inputs.flatMap(r=>r.toFlatIds(e)),...this.outputs.flatMap(r=>r.toFlatIds(e)),...this.calledBy.flatMap(r=>r.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(r=>r.toJSON()),errorCalls:this.errorCalls.map(r=>r.toJSON()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(r=>r.toJSON()),outputs:this.outputs.map(r=>r.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON()}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.toFlatJSON(e)),...this.errorCalls.flatMap(r=>r.toFlatJSON(e)),...this.inputs.flatMap(r=>r.toFlatJSON(e)),...this.outputs.flatMap(r=>r.toFlatJSON(e)),...this.calledBy.flatMap(r=>r.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(r=>r.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.inputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.outputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(r=>r.clearErrors()),this.outputs.forEach(r=>r.clearErrors()),this.successCalls.forEach(r=>r.clearErrors()),this.errorCalls.forEach(r=>r.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=H9(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 le(this.toJSON(),this.project)}};c(le,"MUTABLE_BASE_PROPERTIES",[]),c(le,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(le,"BASE_PROPERTIES",[...le.MUTABLE_BASE_PROPERTIES,...le.INMUTABLE_BASE_PROPERTIES]),c(le,"MUTABLE_META_PROPERTIES",[...le.MUTABLE_BASE_PROPERTIES,"index"]),c(le,"INMUTABLE_META_PROPERTIES",[...le.INMUTABLE_BASE_PROPERTIES]),c(le,"META_PROPERTIES",[...le.MUTABLE_META_PROPERTIES,...le.INMUTABLE_META_PROPERTIES]),c(le,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),c(le,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),c(le,"UPSTREAM_PROPERTIES",[...le.MUTABLE_UPSTREAM_PROPERTIES,...le.INMUTABLE_UPSTREAM_PROPERTIES]),c(le,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","outputs","writesValues","successCalls","errorCalls","error"]),c(le,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(le,"DOWNSTREAM_PROPERTIES",[...le.MUTABLE_DOWNSTREAM_PROPERTIES,...le.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(le,"PROPERTIES",[...le.META_PROPERTIES,...le.UPSTREAM_PROPERTIES,...le.DOWNSTREAM_PROPERTIES]);let mi=le;function z9(n){const e=qU(),t=n.toJSON();e.safeParse(t).success;const a=[];if(n.id==="exec-sequentially-argument-map-id"){const s=H({id:`${n.id}--${_.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:_.PropertyImplementsNonAbstact,entity:n});a.push(s.error)}return ne(n.errors,a)}const Te=class Te{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"index");c(this,"name",null);c(this,"description",null);c(this,"declaration",null);c(this,"type",i.InputMap);c(this,"defaultValue",null);c(this,"readsValue",null);c(this,"dynamicArguments",[]);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.name=e.name||null,this.description=e.description||null}static fromGenerationTarget(e,t){const r=B(e.parent),a=t.get(r);let s=null;if(e.declaration){const y=B(e.declaration);s=t.get(y)}let o=null;if(e.readsValue){const y=B(e.readsValue);o=t.get(y)}const l={id:e.id,version:1,name:e.name||null,type:i.InputMap,index:(a.inputs||a.dynamicArguments||[]).length,description:e.description||null,declaration:s,readsValue:o,dynamicArguments:[],defaultValue:null,parent:a},p=R(l,t);return p.setParent(a),p.initChildren(),p}static validateGenerationTarget(e,t){var y;let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[...$e,i.InputMap]}},t);r=s.modifiedData;const o=t.get(r.parent),l=r.declaration&&(t.get(r.declaration)||t.getBuiltIn(r.declaration)),p=((o==null?void 0:o.inputs)||[]).find(f=>{var m;return r.declaration&&((m=f.declaration)==null?void 0:m.id)===r.declaration});if(r.declaration?l?[i.Property,i.ArgumentDeclaration,i.ValueDescriptor].includes(l.type)?o&&l.type===i.ArgumentDeclaration&&![i.FunctionCall,i.Search,i.InternalCall].includes(o.type)?a.push(new E({id:`${r.id}--${h.InvalidInputMapDeclaration}`,code:h.InvalidInputMapDeclaration,severity:T.Error,message:`Entity of type '${i.InputMap}' with id '${r.id}' has a 'declaration' property pointing to an entity with type '${i.ArgumentDeclaration}' with id '${r.declaration}'.
104
+ 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 t;const e=[this];return this.parent.addInternalCall(this),e.push(this.parent),(t=this.process)==null||t.writesValues.forEach(r=>{r.setValueWriter(this.process),e.push(r)}),this.successCalls.forEach(r=>{r.addSuccessCaller(this),e.push(r)}),this.errorCalls.forEach(r=>{r.addErrorCaller(this),e.push(r)}),this.calledBySuccess.forEach(r=>{r.addSuccessCall(this),e.push(r)}),this.calledByError.forEach(r=>{r.addErrorCall(this),e.push(r)}),this.calledByEntry.forEach(r=>{r.addCall(this),e.push(r)}),{affected:v(e),self:this}}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(r=>r.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(r=>r.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const r=this.errorCalls.findIndex(a=>a.id===e.id);return r>-1&&this.errorCalls.splice(r,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.parent.type!==i.GenericReference){const e=R(this.initialData.parent,this.project);this.setParent(e),this.parent.initChildren(),this.parent.addInternalCall(this);const t=this.calledBy.find(r=>!!r.parent&&dt.includes(r.parent.type));if(t){const r=R(t.parent,this.project);this.parent.setParent(r)}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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent.parent),t.initChildren()):t.type!==i.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 r=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:l}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}if(this.inputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),this.outputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),this.error){const{affected:o,removed:l}=this.error.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}return this.successCalls.forEach(o=>{r.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{r.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{r.push(o),o.removeCall(this)}),{affected:v(r),removed:v(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:r}=this.process.restore({seenEntities:e});t.push(...r)}return this.inputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(r=>{t.push(r),r.addSuccessCaller(this)}),this.errorCalls.forEach(r=>{t.push(r),r.addErrorCaller(this)}),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:v(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(r=>r.toFlat(e)),...this.errorCalls.flatMap(r=>r.toFlat(e)),...this.inputs.flatMap(r=>r.toFlat(e)),...this.outputs.flatMap(r=>r.toFlat(e)),...this.calledBy.flatMap(r=>r.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(r=>r.toFlatIds(e)),...this.errorCalls.flatMap(r=>r.toFlatIds(e)),...this.inputs.flatMap(r=>r.toFlatIds(e)),...this.outputs.flatMap(r=>r.toFlatIds(e)),...this.calledBy.flatMap(r=>r.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(r=>r.toJSON()),errorCalls:this.errorCalls.map(r=>r.toJSON()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(r=>r.toJSON()),outputs:this.outputs.map(r=>r.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON()}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.toFlatJSON(e)),...this.errorCalls.flatMap(r=>r.toFlatJSON(e)),...this.inputs.flatMap(r=>r.toFlatJSON(e)),...this.outputs.flatMap(r=>r.toFlatJSON(e)),...this.calledBy.flatMap(r=>r.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(r=>r.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.inputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.outputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(r=>r.clearErrors()),this.outputs.forEach(r=>r.clearErrors()),this.successCalls.forEach(r=>r.clearErrors()),this.errorCalls.forEach(r=>r.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=H9(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 le(this.toJSON(),this.project)}};c(le,"MUTABLE_BASE_PROPERTIES",[]),c(le,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(le,"BASE_PROPERTIES",[...le.MUTABLE_BASE_PROPERTIES,...le.INMUTABLE_BASE_PROPERTIES]),c(le,"MUTABLE_META_PROPERTIES",[...le.MUTABLE_BASE_PROPERTIES,"index"]),c(le,"INMUTABLE_META_PROPERTIES",[...le.INMUTABLE_BASE_PROPERTIES]),c(le,"META_PROPERTIES",[...le.MUTABLE_META_PROPERTIES,...le.INMUTABLE_META_PROPERTIES]),c(le,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),c(le,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),c(le,"UPSTREAM_PROPERTIES",[...le.MUTABLE_UPSTREAM_PROPERTIES,...le.INMUTABLE_UPSTREAM_PROPERTIES]),c(le,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","outputs","writesValues","successCalls","errorCalls","error"]),c(le,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(le,"DOWNSTREAM_PROPERTIES",[...le.MUTABLE_DOWNSTREAM_PROPERTIES,...le.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(le,"PROPERTIES",[...le.META_PROPERTIES,...le.UPSTREAM_PROPERTIES,...le.DOWNSTREAM_PROPERTIES]);let mi=le;function z9(n){const e=qU(),t=n.toJSON();e.safeParse(t).success;const a=[];if(n.id==="exec-sequentially-argument-map-id"){const s=H({id:`${n.id}--${M.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:M.PropertyImplementsNonAbstact,entity:n});a.push(s.error)}return ne(n.errors,a)}const Te=class Te{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"index");c(this,"name",null);c(this,"description",null);c(this,"declaration",null);c(this,"type",i.InputMap);c(this,"defaultValue",null);c(this,"readsValue",null);c(this,"dynamicArguments",[]);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.name=e.name||null,this.description=e.description||null}static fromGenerationTarget(e,t){const r=B(e.parent),a=t.get(r);let s=null;if(e.declaration){const y=B(e.declaration);s=t.get(y)}let o=null;if(e.readsValue){const y=B(e.readsValue);o=t.get(y)}const l={id:e.id,version:1,name:e.name||null,type:i.InputMap,index:(a.inputs||a.dynamicArguments||[]).length,description:e.description||null,declaration:s,readsValue:o,dynamicArguments:[],defaultValue:null,parent:a},p=R(l,t);return p.setParent(a),p.initChildren(),p}static validateGenerationTarget(e,t){var y;let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[...$e,i.InputMap]}},t);r=s.modifiedData;const o=t.get(r.parent),l=r.declaration&&(t.get(r.declaration)||t.getBuiltIn(r.declaration)),p=((o==null?void 0:o.inputs)||[]).find(f=>{var m;return r.declaration&&((m=f.declaration)==null?void 0:m.id)===r.declaration});if(r.declaration?l?[i.Property,i.ArgumentDeclaration,i.ValueDescriptor].includes(l.type)?o&&l.type===i.ArgumentDeclaration&&![i.FunctionCall,i.Search,i.InternalCall].includes(o.type)?a.push(new E({id:`${r.id}--${h.InvalidInputMapDeclaration}`,code:h.InvalidInputMapDeclaration,severity:T.Error,message:`Entity of type '${i.InputMap}' with id '${r.id}' has a 'declaration' property pointing to an entity with type '${i.ArgumentDeclaration}' with id '${r.declaration}'.
105
105
  The parent entity of type '${o.type}' with id '${o.id}' is not compatible with this type of declaration.
106
106
  Only 'function-call', 'search' and 'internal-call' entities can have input-maps whose 'declaration' points to 'argument-declaration' entities.`,issue:null})):o&&l.type===i.Property&&!je.includes(o.type)?a.push(new E({id:`${r.id}--${h.InvalidInputMapDeclaration}`,code:h.InvalidInputMapDeclaration,severity:T.Error,message:`Entity of type '${i.InputMap}' with id '${r.id}' has a 'declaration' property pointing to an entity with type '${i.Property}' with id '${r.declaration}'.
107
107
  The parent entity of type '${o.type}' with id '${o.id}' is not compatible with this type of declaration.
@@ -119,7 +119,7 @@ Input maps can only be added to variables which hold an entity with properties.`
119
119
  The entity of the data-type has the following properties that can be reads as input maps, ids: '${L(g.properties.map(D=>D.id),"', '","' and '")}'`,issue:null})))}else if($e.filter(f=>je.includes(f)).includes(o.type)){const m=$d(o),b=m.find(I=>I.id===r.declaration),g=`The parent entity has the following argument declarations that can be referenced by input-maps, ids: '${L(m.map(I=>I.id),"', '","' and '")}'`;b||a.push(new E({id:`${r.id}--${A.NoOverlapWithImplementedSignature}`,code:A.NoOverlapWithImplementedSignature,severity:T.Error,message:`Entity of type '${i.InputMap}' with id '${r.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 '${r.declaration}'.
120
120
  You can't add an input-map to an entity that doesn't have a matching 'argument-declaration'.
121
121
  ${g}`,issue:null}))}}return a.push(...s.errors,...Be(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];let r=JSON.parse(JSON.stringify(e));const a=va(r,this);return r=a.modifiedData,t.push(...a.errors),r.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
122
- 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:r}}addSelfToProject(){var t,r;const e=[this];if(this.parent.addInput(this),e.push(this.parent),(t=this.readsValue)==null||t.addValueReader(this),this.readsValue&&e.push(this.readsValue),je.includes(this.parent.type)&&((r=this.parent.getDataType())!=null&&r.inferred)){const a=this.parent.type===i.VariableDeclaration?this.parent:this.parent.declaration;a.inferDataTypeAndSyncInstancesInputsAndOutputs(),e.push(a,...a.variableInstances)}return{affected:v(e),self:this}}setParent(e){return this.parent=e,this}setDeclaration(e){return this.declaration=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)),Ra.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),Pa(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const r=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.readsValue&&(r.push(this.readsValue),this.readsValue.removeValueReader(this)),this.dynamicArguments.forEach(s=>{r.push(s),s.remove({ignoreUpstream:!0,seenEntities:t})}),this.defaultValue&&(r.push(this.defaultValue),this.defaultValue.remove({ignoreUpstream:!0,seenEntities:t})),e||(r.push(this.parent),this.parent.removeInput(this)),{affected:r,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(r=>{t.push(r),r.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(r=>r.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(r=>r.toFlatIds(e)),...this.defaultValue?this.defaultValue.toFlatIds(e):[]])}toJSON(){var e,t,r;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:((r=this.readsValue)==null?void 0:r.toReference())||null,parent:this.parent.toReference(),dynamicArguments:this.dynamicArguments.map(a=>a.toJSON())}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,r;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:((r=this.readsValue)==null?void 0:r.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.dynamicArguments.flatMap(r=>r.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(r=>r.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=z9(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=null,t=null,r=!0){var f;const a=this.toJSON(),s=t||Qe(S(this,this.project),i.InputMap,this.project);a.defaultValue=null;const o=s.split("-id"),l=o[o.length-1||0]||s;a.id=s;const p=jt(a,this.project);e?p.setParent(e):p.setParent(this.parent),r&&p.subscribe(),p.initChildren();const y=(f=this.defaultValue)==null?void 0:f.clone(p,l+"--default-value-id",r);return p.defaultValue=y||null,p}getDataType(){var t;if(je.includes(this.parent.type)){const r=Tr(this.parent),a=r.getDataType();(!a||a.inferred)&&r.inferDataTypeAndSyncInstancesInputsAndOutputs()}const e=(t=this.declaration)==null?void 0:t.getDataType();if(!e){const r=an(this);if(r)return r}return e||null}};c(Te,"MUTABLE_BASE_PROPERTIES",["name","description"]),c(Te,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(Te,"BASE_PROPERTIES",[...Te.MUTABLE_BASE_PROPERTIES,...Te.INMUTABLE_BASE_PROPERTIES]),c(Te,"MUTABLE_META_PROPERTIES",[...Te.MUTABLE_BASE_PROPERTIES,"index"]),c(Te,"INMUTABLE_META_PROPERTIES",[...Te.INMUTABLE_BASE_PROPERTIES]),c(Te,"META_PROPERTIES",[...Te.MUTABLE_META_PROPERTIES,...Te.INMUTABLE_META_PROPERTIES]),c(Te,"MUTABLE_UPSTREAM_PROPERTIES",["readsValue"]),c(Te,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),c(Te,"UPSTREAM_PROPERTIES",[...Te.MUTABLE_UPSTREAM_PROPERTIES,...Te.INMUTABLE_UPSTREAM_PROPERTIES]),c(Te,"MUTABLE_DOWNSTREAM_PROPERTIES",["defaultValue","dynamicArguments"]),c(Te,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(Te,"DOWNSTREAM_PROPERTIES",[...Te.MUTABLE_DOWNSTREAM_PROPERTIES,...Te.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(Te,"PROPERTIES",[...Te.META_PROPERTIES,...Te.UPSTREAM_PROPERTIES,...Te.DOWNSTREAM_PROPERTIES]);let vn=Te;class Z9 extends vn{constructor(t,r){super(t,r);c(this,"declaration",null);c(this,"parent");c(this,"errors",[])}toJSON(){return super.toJSON()}}class X9 extends vn{constructor(t,r){super(t,r);c(this,"name",null);c(this,"description",null);c(this,"declaration");c(this,"parent");c(this,"errors",[])}toJSON(){return super.toJSON()}}function Q9(n){const e=IU(),t=n.toJSON();e.safeParse(t).success;const a=[];if(n.id==="exec-sequentially-return-map-id"){const s=H({id:`${n.id}--${_.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:_.PropertyImplementsNonAbstact,entity:n});a.push(s.error)}return ne(n.errors,a)}const ce=class ce{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"index");c(this,"type",i.OutputMap);c(this,"parentRelationType");c(this,"declaration");c(this,"writesValues",[]);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.parentRelationType=e.parentRelationType}static fromGenerationTarget(e,t){const r=B(e.parent),a=t.get(r);let s;if(e.declaration){const p=B(e.declaration);s=t.get(p)}const o={id:e.id,version:1,type:i.OutputMap,index:(a.outputs||[]).length,declaration:s,writesValues:[],parent:a},l=R(o,t);return l.setParent(a),l.initChildren(),l}static validateGenerationTarget(e,t){var l;let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:$e.filter(p=>p!==i.Condition)},declaration:{list:!1,types:[i.ReturnDeclaration,i.Property]}},t);r=s.modifiedData;const o=t.get(r.parent);if(o&&$e.filter(p=>p!==i.Condition).includes(o.type)){const p=o.outputs.find(y=>y.declaration.id===B(r.declaration));if(p)a.push(new E({id:`${r.id}--${h.OutputOverwrite}`,code:h.OutputOverwrite,severity:T.Error,message:`Entity of type '${i.OutputMap}' with id '${r.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'.
122
+ 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:r}}addSelfToProject(){var t,r;const e=[this];if(this.parent.addInput(this),e.push(this.parent),(t=this.readsValue)==null||t.addValueReader(this),this.readsValue&&e.push(this.readsValue),je.includes(this.parent.type)&&((r=this.parent.getDataType())!=null&&r.inferred)){const a=this.parent.type===i.VariableDeclaration?this.parent:this.parent.declaration;a.inferDataTypeAndSyncInstancesInputsAndOutputs(),e.push(a,...a.variableInstances)}return{affected:v(e),self:this}}setParent(e){return this.parent=e,this}setDeclaration(e){return this.declaration=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)),Ra.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),Pa(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const r=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.readsValue&&(r.push(this.readsValue),this.readsValue.removeValueReader(this)),this.dynamicArguments.forEach(s=>{r.push(s),s.remove({ignoreUpstream:!0,seenEntities:t})}),this.defaultValue&&(r.push(this.defaultValue),this.defaultValue.remove({ignoreUpstream:!0,seenEntities:t})),e||(r.push(this.parent),this.parent.removeInput(this)),{affected:r,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(r=>{t.push(r),r.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(r=>r.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(r=>r.toFlatIds(e)),...this.defaultValue?this.defaultValue.toFlatIds(e):[]])}toJSON(){var e,t,r;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:((r=this.readsValue)==null?void 0:r.toReference())||null,parent:this.parent.toReference(),dynamicArguments:this.dynamicArguments.map(a=>a.toJSON())}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,r;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:((r=this.readsValue)==null?void 0:r.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.dynamicArguments.flatMap(r=>r.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(r=>r.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=z9(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=null,t=null,r=!0){var f;const a=this.toJSON(),s=t||Qe(S(this,this.project),i.InputMap,this.project);a.defaultValue=null;const o=s.split("-id"),l=o[o.length-1||0]||s;a.id=s;const p=jt(a,this.project);e?p.setParent(e):p.setParent(this.parent),r&&p.subscribe(),p.initChildren();const y=(f=this.defaultValue)==null?void 0:f.clone(p,l+"--default-value-id",r);return p.defaultValue=y||null,p}getDataType(){var t;if(je.includes(this.parent.type)){const r=Tr(this.parent),a=r.getDataType();(!a||a.inferred)&&r.inferDataTypeAndSyncInstancesInputsAndOutputs()}const e=(t=this.declaration)==null?void 0:t.getDataType();if(!e){const r=an(this);if(r)return r}return e||null}};c(Te,"MUTABLE_BASE_PROPERTIES",["name","description"]),c(Te,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(Te,"BASE_PROPERTIES",[...Te.MUTABLE_BASE_PROPERTIES,...Te.INMUTABLE_BASE_PROPERTIES]),c(Te,"MUTABLE_META_PROPERTIES",[...Te.MUTABLE_BASE_PROPERTIES,"index"]),c(Te,"INMUTABLE_META_PROPERTIES",[...Te.INMUTABLE_BASE_PROPERTIES]),c(Te,"META_PROPERTIES",[...Te.MUTABLE_META_PROPERTIES,...Te.INMUTABLE_META_PROPERTIES]),c(Te,"MUTABLE_UPSTREAM_PROPERTIES",["readsValue"]),c(Te,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),c(Te,"UPSTREAM_PROPERTIES",[...Te.MUTABLE_UPSTREAM_PROPERTIES,...Te.INMUTABLE_UPSTREAM_PROPERTIES]),c(Te,"MUTABLE_DOWNSTREAM_PROPERTIES",["defaultValue","dynamicArguments"]),c(Te,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(Te,"DOWNSTREAM_PROPERTIES",[...Te.MUTABLE_DOWNSTREAM_PROPERTIES,...Te.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(Te,"PROPERTIES",[...Te.META_PROPERTIES,...Te.UPSTREAM_PROPERTIES,...Te.DOWNSTREAM_PROPERTIES]);let vn=Te;class Z9 extends vn{constructor(t,r){super(t,r);c(this,"declaration",null);c(this,"parent");c(this,"errors",[])}toJSON(){return super.toJSON()}}class X9 extends vn{constructor(t,r){super(t,r);c(this,"name",null);c(this,"description",null);c(this,"declaration");c(this,"parent");c(this,"errors",[])}toJSON(){return super.toJSON()}}function Q9(n){const e=IU(),t=n.toJSON();e.safeParse(t).success;const a=[];if(n.id==="exec-sequentially-return-map-id"){const s=H({id:`${n.id}--${M.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:M.PropertyImplementsNonAbstact,entity:n});a.push(s.error)}return ne(n.errors,a)}const ce=class ce{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"index");c(this,"type",i.OutputMap);c(this,"parentRelationType");c(this,"declaration");c(this,"writesValues",[]);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.parentRelationType=e.parentRelationType}static fromGenerationTarget(e,t){const r=B(e.parent),a=t.get(r);let s;if(e.declaration){const p=B(e.declaration);s=t.get(p)}const o={id:e.id,version:1,type:i.OutputMap,index:(a.outputs||[]).length,declaration:s,writesValues:[],parent:a},l=R(o,t);return l.setParent(a),l.initChildren(),l}static validateGenerationTarget(e,t){var l;let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:$e.filter(p=>p!==i.Condition)},declaration:{list:!1,types:[i.ReturnDeclaration,i.Property]}},t);r=s.modifiedData;const o=t.get(r.parent);if(o&&$e.filter(p=>p!==i.Condition).includes(o.type)){const p=o.outputs.find(y=>y.declaration.id===B(r.declaration));if(p)a.push(new E({id:`${r.id}--${h.OutputOverwrite}`,code:h.OutputOverwrite,severity:T.Error,message:`Entity of type '${i.OutputMap}' with id '${r.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
123
  Any value reads can be done with that output-map instead.
124
124
  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 y=t.get(r.declaration);if(y&&je.includes(o.type)){const f=Tr(o),m=f.dataType,b=(l=f.dataType)==null?void 0:l.entity;m?b?b.type===i.ActionDescriptor?a.push(new E({id:`${r.id}--${A.NoOverlapWithImplementedSignature}`,code:A.NoOverlapWithImplementedSignature,severity:T.Error,message:`Entity of type '${i.OutputMap}' with id '${r.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.
125
125
  This means it can hold a function-call or operation as its value, to be executed programatically.
@@ -129,7 +129,7 @@ ${Sd}`,issue:null})):a.push(new E({id:`${r.id}--${A.NoOverlapWithImplementedSign
129
129
  ${Sd}`,issue:null}))}else if(y){const f=o.outputs.find(m=>m.declaration.id===r.declaration);f&&a.push(new E({id:`${r.id}--${h.OutputOverwrite}`,code:h.OutputOverwrite,severity:T.Error,message:`Entity of type '${i.OutputMap}' with id '${r.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 '${f.id}' that points to the same declaration.
130
130
  Any value reads can be done with that output-map instead.
131
131
  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,...Be(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
132
- 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(){const e=[this];return this.parent.addOutput(this),this.writesValues.forEach(t=>{t.setValueWriter(this),e.push(t)}),{affected:v(e),self: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}setDeclaration(e){return this.declaration=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,ba.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 r=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.writesValues.forEach(s=>{r.push(s),s.readsValue=null}),e||(r.push(this.parent),this.parent.removeOutput(this)),{affected:r,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(r=>{t.push(r),r.setValueWriter(this)}),t.push(this.parent),this.parent.addOutput(this),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.writesValues.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.writesValues.flatMap(r=>r.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+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.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(r=>r.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this}validate(){const e=Q9(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 ce(this.toJSON(),this.project)}getDataType(){var t;return((t=this.declaration)==null?void 0:t.getDataType())||null}};c(ce,"MUTABLE_BASE_PROPERTIES",[]),c(ce,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(ce,"BASE_PROPERTIES",[...ce.MUTABLE_BASE_PROPERTIES,...ce.INMUTABLE_BASE_PROPERTIES]),c(ce,"MUTABLE_META_PROPERTIES",[...ce.MUTABLE_BASE_PROPERTIES,"index"]),c(ce,"INMUTABLE_META_PROPERTIES",[...ce.INMUTABLE_BASE_PROPERTIES]),c(ce,"META_PROPERTIES",[...ce.MUTABLE_META_PROPERTIES,...ce.INMUTABLE_META_PROPERTIES]),c(ce,"MUTABLE_UPSTREAM_PROPERTIES",[]),c(ce,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),c(ce,"UPSTREAM_PROPERTIES",[...ce.MUTABLE_UPSTREAM_PROPERTIES,...ce.INMUTABLE_UPSTREAM_PROPERTIES]),c(ce,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues"]),c(ce,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(ce,"DOWNSTREAM_PROPERTIES",[...ce.MUTABLE_DOWNSTREAM_PROPERTIES,...ce.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(ce,"PROPERTIES",[...ce.META_PROPERTIES,...ce.UPSTREAM_PROPERTIES,...ce.DOWNSTREAM_PROPERTIES]);let In=ce;class K9 extends In{constructor(t,r){super(t,r);c(this,"declaration");c(this,"parent");c(this,"errors",[])}toJSON(){return super.toJSON()}}class e3 extends In{constructor(t,r){super(t,r);c(this,"declaration");c(this,"parent");c(this,"errors",[])}toJSON(){return super.toJSON()}}function t3(n){var s;const e=i8(),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=H({id:`${n.id}--${_.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:_.PropertyImplementsNonAbstact,entity:n});a.push(o.error)}if(n.id==="manual-hello-world-loop-current-iteration-number-output-map-id"){const o=H({id:`${n.id}--${_.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:_.PropertyImplementsNonAbstact,entity:n});a.push(o.error)}return ne(n.errors,a)}const Ee=class Ee{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"index");c(this,"required");c(this,"type",i.ArgumentDeclaration);c(this,"dataType",null);c(this,"writesValues",[]);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.name=e.name,this.description=e.description,this.required=e.required}static fromGenerationTarget(e,t){const r=B(e.parent),a=t.get(r),s={id:e.id,version:1,name:e.name,type:i.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 r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[i.FunctionDeclaration,i.Search,i.Condition]}},t);r=s.modifiedData;const o=Rd(r,t);if(r.parent){const l=t.get(B(r.parent));if(l&&Me.includes(l.type)){const p=l.implements;if(p)if(p.argumentsType===U.Fixed){const y=p.fixedArguments.find(D=>D.name===r.name),f=p.fixedArguments.filter(D=>!l.inputs.find(Y=>Y.type===i.ArgumentDeclaration&&Y.name===D.name)),m=l.inputs.filter(D=>D.type===i.ArgumentDeclaration),b=m.find(D=>D.name===r.name),g=m.length?`The parent entity already implements the following arguments: ${L(m.map(D=>`'${D.id}' (${D.name})`),", "," and ")}.`:"The parent entity does not yet have any implemented arguments.",I=f.length?`The parent entity is still missing the following arguments in the implementation: ${L(f.map(D=>`'${D.id}' (${D.name})`),", "," and ")}.`:"The parent entity has all the arguments it needs implemented.";y?b&&a.push(new E({id:`${r.id}--${A.NoOverlapWithImplementedSignature}`,code:A.NoOverlapWithImplementedSignature,severity:T.Error,message:`Entity of type '${i.ArgumentDeclaration}' with id '${r.id}' should not exist in a parent entity of type '${l.type}' with id '${l.id}' that implements a ${i.ActionDescriptor} with fixed arguments.
132
+ 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(){const e=[this];return this.parent.addOutput(this),this.writesValues.forEach(t=>{t.setValueWriter(this),e.push(t)}),{affected:v(e),self: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}setDeclaration(e){return this.declaration=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,ba.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 r=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.writesValues.forEach(s=>{r.push(s),s.readsValue=null}),e||(r.push(this.parent),this.parent.removeOutput(this)),{affected:r,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(r=>{t.push(r),r.setValueWriter(this)}),t.push(this.parent),this.parent.addOutput(this),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.writesValues.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.writesValues.flatMap(r=>r.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+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.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(r=>r.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this}validate(){const e=Q9(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 ce(this.toJSON(),this.project)}getDataType(){var t;return((t=this.declaration)==null?void 0:t.getDataType())||null}};c(ce,"MUTABLE_BASE_PROPERTIES",[]),c(ce,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(ce,"BASE_PROPERTIES",[...ce.MUTABLE_BASE_PROPERTIES,...ce.INMUTABLE_BASE_PROPERTIES]),c(ce,"MUTABLE_META_PROPERTIES",[...ce.MUTABLE_BASE_PROPERTIES,"index"]),c(ce,"INMUTABLE_META_PROPERTIES",[...ce.INMUTABLE_BASE_PROPERTIES]),c(ce,"META_PROPERTIES",[...ce.MUTABLE_META_PROPERTIES,...ce.INMUTABLE_META_PROPERTIES]),c(ce,"MUTABLE_UPSTREAM_PROPERTIES",[]),c(ce,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),c(ce,"UPSTREAM_PROPERTIES",[...ce.MUTABLE_UPSTREAM_PROPERTIES,...ce.INMUTABLE_UPSTREAM_PROPERTIES]),c(ce,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues"]),c(ce,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(ce,"DOWNSTREAM_PROPERTIES",[...ce.MUTABLE_DOWNSTREAM_PROPERTIES,...ce.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(ce,"PROPERTIES",[...ce.META_PROPERTIES,...ce.UPSTREAM_PROPERTIES,...ce.DOWNSTREAM_PROPERTIES]);let In=ce;class K9 extends In{constructor(t,r){super(t,r);c(this,"declaration");c(this,"parent");c(this,"errors",[])}toJSON(){return super.toJSON()}}class e3 extends In{constructor(t,r){super(t,r);c(this,"declaration");c(this,"parent");c(this,"errors",[])}toJSON(){return super.toJSON()}}function t3(n){var s;const e=i8(),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=H({id:`${n.id}--${M.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:M.PropertyImplementsNonAbstact,entity:n});a.push(o.error)}if(n.id==="manual-hello-world-loop-current-iteration-number-output-map-id"){const o=H({id:`${n.id}--${M.PropertyImplementsNonAbstact}`,message:`Property "${S(n,n.project)}" with id "${n.id}" implements a non-abstract property "${S(n,n.project)}" with id "${n.id}".`,issue:null,severity:T.Error,code:M.PropertyImplementsNonAbstact,entity:n});a.push(o.error)}return ne(n.errors,a)}const Ee=class Ee{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"index");c(this,"required");c(this,"type",i.ArgumentDeclaration);c(this,"dataType",null);c(this,"writesValues",[]);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.name=e.name,this.description=e.description,this.required=e.required}static fromGenerationTarget(e,t){const r=B(e.parent),a=t.get(r),s={id:e.id,version:1,name:e.name,type:i.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 r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[i.FunctionDeclaration,i.Search,i.Condition]}},t);r=s.modifiedData;const o=Rd(r,t);if(r.parent){const l=t.get(B(r.parent));if(l&&_e.includes(l.type)){const p=l.implements;if(p)if(p.argumentsType===U.Fixed){const y=p.fixedArguments.find(D=>D.name===r.name),f=p.fixedArguments.filter(D=>!l.inputs.find(Y=>Y.type===i.ArgumentDeclaration&&Y.name===D.name)),m=l.inputs.filter(D=>D.type===i.ArgumentDeclaration),b=m.find(D=>D.name===r.name),g=m.length?`The parent entity already implements the following arguments: ${L(m.map(D=>`'${D.id}' (${D.name})`),", "," and ")}.`:"The parent entity does not yet have any implemented arguments.",I=f.length?`The parent entity is still missing the following arguments in the implementation: ${L(f.map(D=>`'${D.id}' (${D.name})`),", "," and ")}.`:"The parent entity has all the arguments it needs implemented.";y?b&&a.push(new E({id:`${r.id}--${A.NoOverlapWithImplementedSignature}`,code:A.NoOverlapWithImplementedSignature,severity:T.Error,message:`Entity of type '${i.ArgumentDeclaration}' with id '${r.id}' should not exist in a parent entity of type '${l.type}' with id '${l.id}' that implements a ${i.ActionDescriptor} with fixed arguments.
133
133
  Adding a new argument would make the implementation invalid. An argument with the same name already exists in the parent entity.
134
134
  ${g}
135
135
  ${I}`,issue:null})):a.push(new E({id:`${r.id}--${A.NoOverlapWithImplementedSignature}`,code:A.NoOverlapWithImplementedSignature,severity:T.Error,message:`Entity of type '${i.ArgumentDeclaration}' with id '${r.id}' should not exist in a parent entity of type '${l.type}' with id '${l.id}' that implements a ${i.ActionDescriptor} with fixed arguments.
@@ -159,26 +159,26 @@ You shouldn't have to manually update a 'parent' property.
159
159
  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(){const e=[this];return this.calledByEntry.forEach(t=>{t.addCall(this),e.push(t)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this),e.push(t)}),this.calledByError.forEach(t=>{t.addErrorCall(this),e.push(t)}),this.parent.addReturnStatement(this),e.push(this.parent),{affected:v(e),self:this}}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addOutputDeclaration(e){return this.outputs.find(t=>t.id===e.id)||this.outputs.push(e),this}removeOutputDeclaration(e){return this.outputs=this.outputs.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.outputs=this.initialData.outputs.map(e=>{const t=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.parent.addReturnStatement(this),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const r=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.outputs.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.throws){const{affected:s,removed:o}=this.throws.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s),a.push(...o)}return this.parent.removeReturnStatement(this),e||this.calledBy.forEach(s=>{r.push(s),s.removeCall(this)}),{affected:v(r),removed:v(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.throws){const{affected:r}=this.throws.restore({seenEntities:e});t.push(...r)}return this.parent.addReturnStatement(this),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:v(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.outputs.flatMap(r=>r.toFlat(e)),...this.throws?this.throws.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.outputs.flatMap(r=>r.toFlatIds(e)),...this.throws?this.throws.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.toReference()),outputs:this.outputs.map(r=>r.toJSON()),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+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.toReference()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.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(r=>r.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(r=>r.toFlatGenerationTarget(e)),...this.throws?this.throws.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.outputs.forEach(t=>t.clearErrors()),(e=this.throws)==null||e.clearErrors(),this}validate(){const e=i3(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 ot(this.toJSON(),this.project)}};c(ot,"MUTABLE_BASE_PROPERTIES",[]),c(ot,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(ot,"BASE_PROPERTIES",[...Tt.MUTABLE_BASE_PROPERTIES,...Tt.INMUTABLE_BASE_PROPERTIES]),c(ot,"MUTABLE_META_PROPERTIES",["x","y"]),c(ot,"INMUTABLE_META_PROPERTIES",[...Tt.INMUTABLE_BASE_PROPERTIES]),c(ot,"META_PROPERTIES",[...Tt.MUTABLE_META_PROPERTIES,...Tt.INMUTABLE_META_PROPERTIES]),c(ot,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),c(ot,"INMUTABLE_UPSTREAM_PROPERTIES",[]),c(ot,"UPSTREAM_PROPERTIES",[...Tt.MUTABLE_UPSTREAM_PROPERTIES,...Tt.INMUTABLE_UPSTREAM_PROPERTIES]),c(ot,"MUTABLE_DOWNSTREAM_PROPERTIES",["outputs","throws"]),c(ot,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(ot,"DOWNSTREAM_PROPERTIES",[...Tt.MUTABLE_DOWNSTREAM_PROPERTIES,...Tt.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(ot,"PROPERTIES",[...Nt.META_PROPERTIES,...Nt.UPSTREAM_PROPERTIES,...Nt.DOWNSTREAM_PROPERTIES]);let Cr=ot;function s3(n){var s;const e=RU(),t=n.toJSON();e.safeParse(t).success,n.outputs.forEach(o=>o.validate()),(s=n.throws)==null||s.validate();const a=[];return ne(n.errors,a)}const ge=class ge{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"x");c(this,"y");c(this,"type",i.BreakStatement);c(this,"outputs",[]);c(this,"calledBySuccess",[]);c(this,"calledByError",[]);c(this,"calledByEntry",[]);c(this,"throws",null);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){const r=B(e.parent),a=t.get(r),s=e.calledByEntry.map(f=>{const m=B(f);return t.get(m)}),o=e.calledBySuccess.map(f=>{const m=B(f);return t.get(m)}),l=e.calledByError.map(f=>{const m=B(f);return t.get(m)}),p={id:e.id,version:1,type:i.BreakStatement,x:0,y:0,outputs:[],calledBySuccess:o,calledByError:l,calledByEntry:s,throws:null,parent:a},y=R(p,t);return y.setParent(a),y.initChildren(),y}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[i.Loop]}},t);return r=s.modifiedData,a.push(...s.errors,...Be(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
160
160
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
161
161
  You shouldn't have to manually update a 'parent' property.
162
- Specifically for break statements the parent needs to always be the 'loop' entity that contains it.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){const e=[this];return this.calledByEntry.forEach(t=>{t.addCall(this),e.push(t)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this),e.push(t)}),this.calledByError.forEach(t=>{t.addErrorCall(this),e.push(t)}),this.parent.addBreakStatement(this),e.push(this.parent),{affected:v(e),self:this}}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addOutputDeclaration(e){return this.outputs.find(t=>t.id===e.id)||this.outputs.push(e),this}removeOutputDeclaration(e){return this.outputs=this.outputs.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.outputs=this.initialData.outputs.map(e=>{const t=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.parent.addBreakStatement(this),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const r=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.outputs.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.throws){const{affected:s,removed:o}=this.throws.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s),a.push(...o)}return this.parent.removeBreakStatement(this),e||this.calledBy.forEach(s=>{r.push(s),s.removeCall(this)}),{affected:v(r),removed:v(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.throws){const{affected:r}=this.throws.restore({seenEntities:e});t.push(...r)}return this.parent.addBreakStatement(this),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:v(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.outputs.flatMap(r=>r.toFlat(e)),...this.throws?this.throws.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.outputs.flatMap(r=>r.toFlatIds(e)),...this.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(r=>r.toJSON()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.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+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.toReference()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.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(r=>r.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(r=>r.toFlatGenerationTarget(e)),...this.throws?this.throws.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.outputs.forEach(t=>t.clearErrors()),(e=this.throws)==null||e.clearErrors(),this}validate(){const e=s3(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 ge(this.toJSON(),this.project)}};c(ge,"MUTABLE_BASE_PROPERTIES",[]),c(ge,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(ge,"BASE_PROPERTIES",[...ge.MUTABLE_BASE_PROPERTIES,...ge.INMUTABLE_BASE_PROPERTIES]),c(ge,"MUTABLE_META_PROPERTIES",["x","y"]),c(ge,"INMUTABLE_META_PROPERTIES",[...ge.INMUTABLE_BASE_PROPERTIES]),c(ge,"META_PROPERTIES",[...ge.MUTABLE_META_PROPERTIES,...ge.INMUTABLE_META_PROPERTIES]),c(ge,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),c(ge,"INMUTABLE_UPSTREAM_PROPERTIES",[]),c(ge,"UPSTREAM_PROPERTIES",[...ge.MUTABLE_UPSTREAM_PROPERTIES,...ge.INMUTABLE_UPSTREAM_PROPERTIES]),c(ge,"MUTABLE_DOWNSTREAM_PROPERTIES",["outputs","throws"]),c(ge,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(ge,"DOWNSTREAM_PROPERTIES",[...ge.MUTABLE_DOWNSTREAM_PROPERTIES,...ge.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(ge,"PROPERTIES",[...ge.META_PROPERTIES,...ge.UPSTREAM_PROPERTIES,...ge.DOWNSTREAM_PROPERTIES]);let Ei=ge;function o3(n){var s,o;const e=_b(),t=n.toJSON();e.safeParse(t).success,n.fixedArguments.flatMap(l=>l.validate()),n.fixedReturns.flatMap(l=>l.validate()),(s=n.dynamicArgumentTypes)==null||s.validate(),(o=n.dynamicReturnTypes)==null||o.validate();const a=[];return ne(n.errors,a)}const ve=class ve{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"argumentsType");c(this,"returnsType");c(this,"type",i.ActionDescriptor);c(this,"fixedArguments",[]);c(this,"fixedReturns",[]);c(this,"error",null);c(this,"dynamicArgumentTypes",null);c(this,"dynamicReturnTypes",null);c(this,"implementation",null);c(this,"parent",null);c(this,"errors",[]);c(this,"project");c(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 r=null;if(e.parent){const o=B(e.parent);r=t.get(o)}const a={id:e.id,version:1,name:e.name,type:i.ActionDescriptor,description:e.description,dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:e.argumentsType,returnsType:e.returnsType,fixedArguments:[],fixedReturns:[],error:null,parent:r},s=R(a,t);return r&&s.setParent(r),s.initChildren(),s}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[i.CustomEntity,i.DataType]}},t);r=s.modifiedData;const o=r.parent?t.get(r.parent):null;if(o&&o.type===i.CustomEntity){const l=o,y=Hn(l).filter(f=>!f.interactive);if(y.length){let f=y.length>1?`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${l.id}' because it extends or implements multiple '${i.BuiltInBaseEntity}' entities that are non-interactive ("${L(y.map(m=>S(m,m.project)),'", "','" and "')}").`:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${l.id}' because it extends or implements a '${i.BuiltInBaseEntity}' entity that is non-interactive ("${S(y[0],y[0].project)}").`;f+=`
162
+ Specifically for break statements the parent needs to always be the 'loop' entity that contains it.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){const e=[this];return this.calledByEntry.forEach(t=>{t.addCall(this),e.push(t)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this),e.push(t)}),this.calledByError.forEach(t=>{t.addErrorCall(this),e.push(t)}),this.parent.addBreakStatement(this),e.push(this.parent),{affected:v(e),self:this}}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addOutputDeclaration(e){return this.outputs.find(t=>t.id===e.id)||this.outputs.push(e),this}removeOutputDeclaration(e){return this.outputs=this.outputs.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.outputs=this.initialData.outputs.map(e=>{const t=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.parent.addBreakStatement(this),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const r=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.outputs.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.throws){const{affected:s,removed:o}=this.throws.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s),a.push(...o)}return this.parent.removeBreakStatement(this),e||this.calledBy.forEach(s=>{r.push(s),s.removeCall(this)}),{affected:v(r),removed:v(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.throws){const{affected:r}=this.throws.restore({seenEntities:e});t.push(...r)}return this.parent.addBreakStatement(this),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:v(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.outputs.flatMap(r=>r.toFlat(e)),...this.throws?this.throws.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.outputs.flatMap(r=>r.toFlatIds(e)),...this.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(r=>r.toJSON()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.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+"--"+w.UUID.uuid()+"--ref",type:i.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(r=>r.toReference()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.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(r=>r.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(r=>r.toFlatGenerationTarget(e)),...this.throws?this.throws.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.outputs.forEach(t=>t.clearErrors()),(e=this.throws)==null||e.clearErrors(),this}validate(){const e=s3(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 ge(this.toJSON(),this.project)}};c(ge,"MUTABLE_BASE_PROPERTIES",[]),c(ge,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(ge,"BASE_PROPERTIES",[...ge.MUTABLE_BASE_PROPERTIES,...ge.INMUTABLE_BASE_PROPERTIES]),c(ge,"MUTABLE_META_PROPERTIES",["x","y"]),c(ge,"INMUTABLE_META_PROPERTIES",[...ge.INMUTABLE_BASE_PROPERTIES]),c(ge,"META_PROPERTIES",[...ge.MUTABLE_META_PROPERTIES,...ge.INMUTABLE_META_PROPERTIES]),c(ge,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),c(ge,"INMUTABLE_UPSTREAM_PROPERTIES",[]),c(ge,"UPSTREAM_PROPERTIES",[...ge.MUTABLE_UPSTREAM_PROPERTIES,...ge.INMUTABLE_UPSTREAM_PROPERTIES]),c(ge,"MUTABLE_DOWNSTREAM_PROPERTIES",["outputs","throws"]),c(ge,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(ge,"DOWNSTREAM_PROPERTIES",[...ge.MUTABLE_DOWNSTREAM_PROPERTIES,...ge.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(ge,"PROPERTIES",[...ge.META_PROPERTIES,...ge.UPSTREAM_PROPERTIES,...ge.DOWNSTREAM_PROPERTIES]);let Ei=ge;function o3(n){var s,o;const e=Mb(),t=n.toJSON();e.safeParse(t).success,n.fixedArguments.flatMap(l=>l.validate()),n.fixedReturns.flatMap(l=>l.validate()),(s=n.dynamicArgumentTypes)==null||s.validate(),(o=n.dynamicReturnTypes)==null||o.validate();const a=[];return ne(n.errors,a)}const ve=class ve{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"argumentsType");c(this,"returnsType");c(this,"type",i.ActionDescriptor);c(this,"fixedArguments",[]);c(this,"fixedReturns",[]);c(this,"error",null);c(this,"dynamicArgumentTypes",null);c(this,"dynamicReturnTypes",null);c(this,"implementation",null);c(this,"parent",null);c(this,"errors",[]);c(this,"project");c(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 r=null;if(e.parent){const o=B(e.parent);r=t.get(o)}const a={id:e.id,version:1,name:e.name,type:i.ActionDescriptor,description:e.description,dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:e.argumentsType,returnsType:e.returnsType,fixedArguments:[],fixedReturns:[],error:null,parent:r},s=R(a,t);return r&&s.setParent(r),s.initChildren(),s}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[i.CustomEntity,i.DataType]}},t);r=s.modifiedData;const o=r.parent?t.get(r.parent):null;if(o&&o.type===i.CustomEntity){const l=o,y=Hn(l).filter(f=>!f.interactive);if(y.length){let f=y.length>1?`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${l.id}' because it extends or implements multiple '${i.BuiltInBaseEntity}' entities that are non-interactive ("${L(y.map(m=>S(m,m.project)),'", "','" and "')}").`:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${l.id}' because it extends or implements a '${i.BuiltInBaseEntity}' entity that is non-interactive ("${S(y[0],y[0].project)}").`;f+=`
163
163
  ${Jn}`,a.push(new E({id:`${e.id}--${h.NonInteractiveEntityReferenced}`,code:h.NonInteractiveEntityReferenced,severity:T.Error,message:f,issue:null}))}}else if(o&&o.type===i.DataType){const l=o;l.entity&&a.push(new E({id:`${e.id}--${h.NewEntityWouldOverriteExisting}`,code:h.NewEntityWouldOverriteExisting,severity:T.Error,message:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${l.id}' because it already has an 'entity' child. Data type entities can only have one 'entity' as children.
164
164
  You can inspect the existing 'entity' field with the 'describe_entity' action. Like so:
165
165
  ${sn({describe_entity:l.entity.id})}
166
166
  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,...Be(r)),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
167
- 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(){const e=[this];return this.parent?(this.parent.type===i.CustomEntity?(this.parent.addAbstractMethod(this),e.push(this.parent)):this.parent.type===i.DataType&&(this.parent.setEntity(this),e.push(this.parent)),{affected:v(e),self:this}):{affected:v(e),self: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 r=[],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});r.push(...o.affected),a.push(...o.removed)}),this.fixedReturns.forEach(s=>{const o=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o.affected),a.push(...o.removed)}),this.dynamicArgumentTypes){const s=this.dynamicArgumentTypes.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s.affected),a.push(...s.removed)}if(this.dynamicReturnTypes){const s=this.dynamicReturnTypes.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s.affected),a.push(...s.removed)}if(this.error){const s=this.error.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s.affected),a.push(...s.removed)}return{affected:v(r),removed:v(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(r=>{const a=r.restore({seenEntities:e});t.push(...a.affected)}),this.fixedReturns.forEach(r=>{const a=r.restore({seenEntities:e});t.push(...a.affected)}),this.dynamicArgumentTypes){const r=this.dynamicArgumentTypes.restore({seenEntities:e});t.push(...r.affected)}if(this.dynamicReturnTypes){const r=this.dynamicReturnTypes.restore({seenEntities:e});t.push(...r.affected)}if(this.error){const r=this.error.restore({seenEntities:e});t.push(...r.affected)}return{affected:v(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.fixedArguments.flatMap(r=>r.toFlat(e)),...this.fixedReturns.flatMap(r=>r.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(r=>r.toFlatIds(e)),...this.fixedReturns.flatMap(r=>r.toFlatIds(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlatIds(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlatIds(e):[]])}toJSON(){var e,t,r,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:((r=this.dynamicReturnTypes)==null?void 0:r.toJSON())||null,parent:((a=this.parent)==null?void 0:a.toReference())||null}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,r,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:((r=this.dynamicReturnTypes)==null?void 0:r.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(r=>r.toFlatJSON(e)),...this.fixedReturns.flatMap(r=>r.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(r=>r.toFlatGenerationTarget(e)),...this.fixedReturns.flatMap(r=>r.toFlatGenerationTarget(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlatGenerationTarget(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlatGenerationTarget(e):[]])}implementAsFunctionDeclaration(e){var s;const t=this.fixedArguments.map((o,l)=>{var y;const p={id:e+"--"+o.id+"--parent-ref",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:e};return{id:e+"--"+o.id,version:o.version,type:i.ArgumentDeclaration,name:o.name,required:o.required,writesValues:[],description:o.description,index:l,dataType:((y=o.dataType)==null?void 0:y.toJSON())||null,parent:p}}),r=[],a=[];if(this.fixedReturns.length){const o=this.fixedReturns.map((f,m)=>{var g;const b={id:e+"--return-statement--"+f.id+"--parent-ref",type:i.GenericReference,entityId:e,entityType:i.ReturnStatement};return{id:e+"--"+f.id,version:f.version,type:i.ReturnDeclaration,name:f.name,description:f.description,readsValue:null,required:f.required,isError:!1,index:m,dataType:((g=f.dataType)==null?void 0:g.toJSON())||null,parent:b}}),l={id:e+"--return-statement-parent-ref",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:e},p={id:e+"--return-statement-called-by-ref",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:e},y={id:e+"--return-statement",version:this.version,type:i.ReturnStatement,outputs:o,throws:null,calledBySuccess:[],calledByError:[],calledByEntry:[p],parent:l,x:0,y:0};r.push(y),a.push(y)}return{id:e,version:this.version,type:i.FunctionDeclaration,name:this.name,description:this.description,inputs:t,returnStatements:r,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,r=this.id+"--instance-"+w.UUID.fromUUID(w.UUID.uuid()),a={id:r,version:this.version,type:i.Loop,declaration:this.toJSON(),inputs:[],outputs:[],error:null,process:null,successCalls:[],errorCalls:[],calledByEntry:[],calledByError:[],calledBySuccess:[],breakStatements:[],continueStatements:[],outputsDeclarations:[],body:null,x:0,y:0,parent:t.toReference()};this.fixedArguments.forEach((l,p)=>{const f={id:l.toReference().id+"--input-map-id",version:this.version,type:i.InputMap,name:null,description:null,declaration:l,defaultValue:null,readsValue:null,index:p,dynamicArguments:[],parent:{id:w.UUID.uuid(),type:i.GenericReference,entityId:r,entityType:i.Loop}};a.inputs.push(f)}),this.fixedReturns.forEach((l,p)=>{const f={id:l.toReference().id+"--output-map-id",version:this.version,type:i.OutputMap,declaration:l,writesValues:[],index:p,parent:{id:w.UUID.uuid(),type:i.GenericReference,entityId:r,entityType:i.Loop}};a.outputs.push(f)});const s={id:r+"--body-function-declaration-id",version:this.version,type:i.FunctionDeclaration,name:"body",description:null,inputs:[],returnStatements:[],calls:[],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:{id:w.UUID.uuid(),type:i.GenericReference,entityId:r,entityType:i.Loop}};s.inputs=[{id:w.UUID.uuid(),version:this.version,type:i.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:i.GenericReference,entityId:s.id,entityType:i.FunctionDeclaration}},{id:w.UUID.uuid(),version:this.version,type:i.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:i.GenericReference,entityId:s.id,entityType:i.FunctionDeclaration}}],a.body=s;const o=R(a,this.project);return o.setParent(t),o.initChildren(),o}implementAsOperation(e,t){const r=e||this.project,a=t||this.id+"--instance-"+w.UUID.fromUUID(w.UUID.uuid()),s={id:a,version:this.version,type:i.Operation,declaration:this.toJSON(),inputs:[],outputs:[],error:null,successCalls:[],errorCalls:[],process:null,dynamicArguments:[],calledByEntry:[],calledByError:[],calledBySuccess:[],x:0,y:0,parent:r.toReference()};if(this.fixedArguments.forEach((l,p)=>{const y={id:a+Qe(l.name,i.InputMap,this.project),version:this.version,type:i.InputMap,name:null,description:null,declaration:l,defaultValue:null,readsValue:null,index:p,dynamicArguments:[],parent:{id:w.UUID.uuid(),type:i.GenericReference,entityId:a,entityType:i.Operation}};s.inputs.push(y)}),this.fixedReturns.forEach((l,p)=>{const y={id:a+Qe(l.name,i.OutputMap,this.project),version:this.version,type:i.OutputMap,declaration:l,writesValues:[],index:p,parent:{id:w.UUID.uuid(),type:i.GenericReference,entityId:a,entityType:i.Operation}};s.outputs.push(y)}),this.error){const p={id:this.error.toReference().id+"--error-map",version:this.version,type:i.OutputMap,declaration:this.error,writesValues:[],index:-1,parent:{id:w.UUID.uuid(),type:i.GenericReference,entityId:a,entityType:i.Operation}};s.error=p}const o=R(s,this.project);return o.setParent(r),o.initChildren(),o}implementAsCondition(e){const t=e||this.project,r=this.id+"--instance-"+w.UUID.fromUUID(w.UUID.uuid()),a={id:r,version:this.version,type:i.Condition,declaration:this.toJSON(),operator:null,inputs:[],successCalls:[],errorCalls:[],calledByEntry:[],calledByError:[],calledBySuccess:[],x:0,y:0,parent:t.toReference()};this.fixedArguments.forEach((o,l)=>{const p={id:r+Qe(o.name,i.InputMap,this.project),version:this.version,type:i.InputMap,name:null,description:null,declaration:o,defaultValue:null,readsValue:null,index:l,dynamicArguments:[],parent:{id:w.UUID.uuid(),type:i.GenericReference,entityId:r,entityType:i.Condition}};a.inputs.push(p)});const s=R(a,this.project);return s.setParent(t),s.initChildren(),s}clearErrors(){var e,t,r;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(),(r=this.error)==null||r.clearErrors(),this}validate(){const e=o3(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=null,t=null,r=!0){var m,b;const a=this.toJSON(),s=t||Qe(S(this,this.project),i.ActionDescriptor,this.project);a.fixedArguments=[],a.fixedReturns=[],a.dynamicArgumentTypes=null,a.dynamicReturnTypes=null,a.error=null;const o=s.split("-id"),l=o[o.length-1||0]||s;a.id=s;const p=jt(a,this.project);e?p.setParent(e):this.parent&&p.setParent(this.parent),r&&p.subscribe(),p.initChildren();const y=(m=this.fixedArguments)==null?void 0:m.map((g,I)=>g.clone(this,l+"-argument-value-descriptor-"+I+"-id",r));p.fixedArguments=y;const f=(b=this.fixedReturns)==null?void 0:b.map((g,I)=>g.clone(this,l+"-return-value-descriptor-"+I+"-id",r));return p.fixedReturns=f,this.dynamicArgumentTypes&&(p.dynamicArgumentTypes=this.dynamicArgumentTypes.clone(this,l+"-dynamic-argument-types-id",r)),this.dynamicReturnTypes&&(p.dynamicReturnTypes=this.dynamicReturnTypes.clone(this,l+"-dynamic-return-types-id",r)),this.error&&(p.error=this.error.clone(this,l+"-error-action-descriptor-id",r)),p}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}};c(ve,"MUTABLE_BASE_PROPERTIES",["name","description","argumentsType","returnsType"]),c(ve,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(ve,"BASE_PROPERTIES",[...ve.MUTABLE_BASE_PROPERTIES,...ve.INMUTABLE_BASE_PROPERTIES]),c(ve,"MUTABLE_META_PROPERTIES",[...ve.MUTABLE_BASE_PROPERTIES]),c(ve,"INMUTABLE_META_PROPERTIES",[...ve.INMUTABLE_BASE_PROPERTIES]),c(ve,"META_PROPERTIES",[...ve.MUTABLE_META_PROPERTIES,...ve.INMUTABLE_META_PROPERTIES]),c(ve,"MUTABLE_UPSTREAM_PROPERTIES",[]),c(ve,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),c(ve,"UPSTREAM_PROPERTIES",[...ve.MUTABLE_UPSTREAM_PROPERTIES,...ve.INMUTABLE_UPSTREAM_PROPERTIES]),c(ve,"MUTABLE_DOWNSTREAM_PROPERTIES",["dynamicArgumentTypes","dynamicReturnTypes","fixedArguments","fixedReturns"]),c(ve,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(ve,"DOWNSTREAM_PROPERTIES",[...ve.MUTABLE_DOWNSTREAM_PROPERTIES,...ve.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(ve,"PROPERTIES",[...ve.META_PROPERTIES,...ve.UPSTREAM_PROPERTIES,...ve.DOWNSTREAM_PROPERTIES]);let Ue=ve;function l3(n){var s;const e=L4(),t=n.toJSON();e.safeParse(t).success,(s=n.dataType)==null||s.validate();const a=[];return ne(n.errors,a)}const Ie=class Ie{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"index");c(this,"required");c(this,"parentRelationType");c(this,"type",i.ValueDescriptor);c(this,"dataType",null);c(this,"project");c(this,"errors",[]);c(this,"parent");c(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 r=e.parent?B(e.parent):null,a=r?t.get(r):null,s=e.parentRelationType===M.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:i.ValueDescriptor,index:s||0,description:e.description,required:e.required,parentRelationType:e.parentRelationType,dataType:null,parent:a},l=R(o,t);return a&&l.setParent(a),l.initChildren(),l}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[i.ActionDescriptor]}},t);r=s.modifiedData,a.push(...s.errors,...Be(r));const o=r.parent&&t.get(r.parent),l=o&&Yn(o);return l&&l.type===i.ActionDescriptor&&a.push(new E({id:`${e.id}--${h.BuiltInEntityParent}`,code:h.BuiltInEntityParent,severity:T.Error,message:`Entity of type "${e.type}" with id "${e.id}", has a parent that is a built-in entity "${l.name}" of type '${l.type}' with id '${l.id}'.
168
- You can't modify system entities that are built-in.`,issue:null})),o&&o.type===i.ActionDescriptor&&(!r.parentRelationType||!(r.parentRelationType===M.FixedArguments||r.parentRelationType===M.FixedReturns||r.parentRelationType===M.ReturnedError)?a.push(new E({id:`${e.id}--${h.InvalidParentRelationType}`,code:h.InvalidParentRelationType,severity:T.Error,message:`The entity with id '${e.id}' and type '${e.type}', must have a 'parentRelationType' property set to either '${M.FixedArguments}', '${M.FixedReturns}', or '${M.ReturnedError}' when being added as a child to an entity of type 'action-descriptor'.`,issue:null})):r.parentRelationType===M.ReturnedError&&o.error&&a.push(new E({id:`${e.id}--${h.NewEntityWouldOverriteExisting}`,code:h.NewEntityWouldOverriteExisting,severity:T.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}'.
167
+ 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(){const e=[this];return this.parent?(this.parent.type===i.CustomEntity?(this.parent.addAbstractMethod(this),e.push(this.parent)):this.parent.type===i.DataType&&(this.parent.setEntity(this),e.push(this.parent)),{affected:v(e),self:this}):{affected:v(e),self: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 r=[],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});r.push(...o.affected),a.push(...o.removed)}),this.fixedReturns.forEach(s=>{const o=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o.affected),a.push(...o.removed)}),this.dynamicArgumentTypes){const s=this.dynamicArgumentTypes.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s.affected),a.push(...s.removed)}if(this.dynamicReturnTypes){const s=this.dynamicReturnTypes.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s.affected),a.push(...s.removed)}if(this.error){const s=this.error.remove({ignoreUpstream:!0,seenEntities:t});r.push(...s.affected),a.push(...s.removed)}return{affected:v(r),removed:v(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(r=>{const a=r.restore({seenEntities:e});t.push(...a.affected)}),this.fixedReturns.forEach(r=>{const a=r.restore({seenEntities:e});t.push(...a.affected)}),this.dynamicArgumentTypes){const r=this.dynamicArgumentTypes.restore({seenEntities:e});t.push(...r.affected)}if(this.dynamicReturnTypes){const r=this.dynamicReturnTypes.restore({seenEntities:e});t.push(...r.affected)}if(this.error){const r=this.error.restore({seenEntities:e});t.push(...r.affected)}return{affected:v(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.fixedArguments.flatMap(r=>r.toFlat(e)),...this.fixedReturns.flatMap(r=>r.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(r=>r.toFlatIds(e)),...this.fixedReturns.flatMap(r=>r.toFlatIds(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlatIds(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlatIds(e):[]])}toJSON(){var e,t,r,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:((r=this.dynamicReturnTypes)==null?void 0:r.toJSON())||null,parent:((a=this.parent)==null?void 0:a.toReference())||null}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,r,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:((r=this.dynamicReturnTypes)==null?void 0:r.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(r=>r.toFlatJSON(e)),...this.fixedReturns.flatMap(r=>r.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(r=>r.toFlatGenerationTarget(e)),...this.fixedReturns.flatMap(r=>r.toFlatGenerationTarget(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlatGenerationTarget(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlatGenerationTarget(e):[]])}implementAsFunctionDeclaration(e){var s;const t=this.fixedArguments.map((o,l)=>{var y;const p={id:e+"--"+o.id+"--parent-ref",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:e};return{id:e+"--"+o.id,version:o.version,type:i.ArgumentDeclaration,name:o.name,required:o.required,writesValues:[],description:o.description,index:l,dataType:((y=o.dataType)==null?void 0:y.toJSON())||null,parent:p}}),r=[],a=[];if(this.fixedReturns.length){const o=this.fixedReturns.map((f,m)=>{var g;const b={id:e+"--return-statement--"+f.id+"--parent-ref",type:i.GenericReference,entityId:e,entityType:i.ReturnStatement};return{id:e+"--"+f.id,version:f.version,type:i.ReturnDeclaration,name:f.name,description:f.description,readsValue:null,required:f.required,isError:!1,index:m,dataType:((g=f.dataType)==null?void 0:g.toJSON())||null,parent:b}}),l={id:e+"--return-statement-parent-ref",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:e},p={id:e+"--return-statement-called-by-ref",type:i.GenericReference,entityType:i.FunctionDeclaration,entityId:e},y={id:e+"--return-statement",version:this.version,type:i.ReturnStatement,outputs:o,throws:null,calledBySuccess:[],calledByError:[],calledByEntry:[p],parent:l,x:0,y:0};r.push(y),a.push(y)}return{id:e,version:this.version,type:i.FunctionDeclaration,name:this.name,description:this.description,inputs:t,returnStatements:r,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,r=this.id+"--instance-"+w.UUID.fromUUID(w.UUID.uuid()),a={id:r,version:this.version,type:i.Loop,declaration:this.toJSON(),inputs:[],outputs:[],error:null,process:null,successCalls:[],errorCalls:[],calledByEntry:[],calledByError:[],calledBySuccess:[],breakStatements:[],continueStatements:[],outputsDeclarations:[],body:null,x:0,y:0,parent:t.toReference()};this.fixedArguments.forEach((l,p)=>{const f={id:l.toReference().id+"--input-map-id",version:this.version,type:i.InputMap,name:null,description:null,declaration:l,defaultValue:null,readsValue:null,index:p,dynamicArguments:[],parent:{id:w.UUID.uuid(),type:i.GenericReference,entityId:r,entityType:i.Loop}};a.inputs.push(f)}),this.fixedReturns.forEach((l,p)=>{const f={id:l.toReference().id+"--output-map-id",version:this.version,type:i.OutputMap,declaration:l,writesValues:[],index:p,parent:{id:w.UUID.uuid(),type:i.GenericReference,entityId:r,entityType:i.Loop}};a.outputs.push(f)});const s={id:r+"--body-function-declaration-id",version:this.version,type:i.FunctionDeclaration,name:"body",description:null,inputs:[],returnStatements:[],calls:[],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:{id:w.UUID.uuid(),type:i.GenericReference,entityId:r,entityType:i.Loop}};s.inputs=[{id:w.UUID.uuid(),version:this.version,type:i.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:i.GenericReference,entityId:s.id,entityType:i.FunctionDeclaration}},{id:w.UUID.uuid(),version:this.version,type:i.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:i.GenericReference,entityId:s.id,entityType:i.FunctionDeclaration}}],a.body=s;const o=R(a,this.project);return o.setParent(t),o.initChildren(),o}implementAsOperation(e,t){const r=e||this.project,a=t||this.id+"--instance-"+w.UUID.fromUUID(w.UUID.uuid()),s={id:a,version:this.version,type:i.Operation,declaration:this.toJSON(),inputs:[],outputs:[],error:null,successCalls:[],errorCalls:[],process:null,dynamicArguments:[],calledByEntry:[],calledByError:[],calledBySuccess:[],x:0,y:0,parent:r.toReference()};if(this.fixedArguments.forEach((l,p)=>{const y={id:a+Qe(l.name,i.InputMap,this.project),version:this.version,type:i.InputMap,name:null,description:null,declaration:l,defaultValue:null,readsValue:null,index:p,dynamicArguments:[],parent:{id:w.UUID.uuid(),type:i.GenericReference,entityId:a,entityType:i.Operation}};s.inputs.push(y)}),this.fixedReturns.forEach((l,p)=>{const y={id:a+Qe(l.name,i.OutputMap,this.project),version:this.version,type:i.OutputMap,declaration:l,writesValues:[],index:p,parent:{id:w.UUID.uuid(),type:i.GenericReference,entityId:a,entityType:i.Operation}};s.outputs.push(y)}),this.error){const p={id:this.error.toReference().id+"--error-map",version:this.version,type:i.OutputMap,declaration:this.error,writesValues:[],index:-1,parent:{id:w.UUID.uuid(),type:i.GenericReference,entityId:a,entityType:i.Operation}};s.error=p}const o=R(s,this.project);return o.setParent(r),o.initChildren(),o}implementAsCondition(e){const t=e||this.project,r=this.id+"--instance-"+w.UUID.fromUUID(w.UUID.uuid()),a={id:r,version:this.version,type:i.Condition,declaration:this.toJSON(),operator:null,inputs:[],successCalls:[],errorCalls:[],calledByEntry:[],calledByError:[],calledBySuccess:[],x:0,y:0,parent:t.toReference()};this.fixedArguments.forEach((o,l)=>{const p={id:r+Qe(o.name,i.InputMap,this.project),version:this.version,type:i.InputMap,name:null,description:null,declaration:o,defaultValue:null,readsValue:null,index:l,dynamicArguments:[],parent:{id:w.UUID.uuid(),type:i.GenericReference,entityId:r,entityType:i.Condition}};a.inputs.push(p)});const s=R(a,this.project);return s.setParent(t),s.initChildren(),s}clearErrors(){var e,t,r;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(),(r=this.error)==null||r.clearErrors(),this}validate(){const e=o3(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=null,t=null,r=!0){var m,b;const a=this.toJSON(),s=t||Qe(S(this,this.project),i.ActionDescriptor,this.project);a.fixedArguments=[],a.fixedReturns=[],a.dynamicArgumentTypes=null,a.dynamicReturnTypes=null,a.error=null;const o=s.split("-id"),l=o[o.length-1||0]||s;a.id=s;const p=jt(a,this.project);e?p.setParent(e):this.parent&&p.setParent(this.parent),r&&p.subscribe(),p.initChildren();const y=(m=this.fixedArguments)==null?void 0:m.map((g,I)=>g.clone(this,l+"-argument-value-descriptor-"+I+"-id",r));p.fixedArguments=y;const f=(b=this.fixedReturns)==null?void 0:b.map((g,I)=>g.clone(this,l+"-return-value-descriptor-"+I+"-id",r));return p.fixedReturns=f,this.dynamicArgumentTypes&&(p.dynamicArgumentTypes=this.dynamicArgumentTypes.clone(this,l+"-dynamic-argument-types-id",r)),this.dynamicReturnTypes&&(p.dynamicReturnTypes=this.dynamicReturnTypes.clone(this,l+"-dynamic-return-types-id",r)),this.error&&(p.error=this.error.clone(this,l+"-error-action-descriptor-id",r)),p}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}};c(ve,"MUTABLE_BASE_PROPERTIES",["name","description","argumentsType","returnsType"]),c(ve,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(ve,"BASE_PROPERTIES",[...ve.MUTABLE_BASE_PROPERTIES,...ve.INMUTABLE_BASE_PROPERTIES]),c(ve,"MUTABLE_META_PROPERTIES",[...ve.MUTABLE_BASE_PROPERTIES]),c(ve,"INMUTABLE_META_PROPERTIES",[...ve.INMUTABLE_BASE_PROPERTIES]),c(ve,"META_PROPERTIES",[...ve.MUTABLE_META_PROPERTIES,...ve.INMUTABLE_META_PROPERTIES]),c(ve,"MUTABLE_UPSTREAM_PROPERTIES",[]),c(ve,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),c(ve,"UPSTREAM_PROPERTIES",[...ve.MUTABLE_UPSTREAM_PROPERTIES,...ve.INMUTABLE_UPSTREAM_PROPERTIES]),c(ve,"MUTABLE_DOWNSTREAM_PROPERTIES",["dynamicArgumentTypes","dynamicReturnTypes","fixedArguments","fixedReturns"]),c(ve,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(ve,"DOWNSTREAM_PROPERTIES",[...ve.MUTABLE_DOWNSTREAM_PROPERTIES,...ve.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(ve,"PROPERTIES",[...ve.META_PROPERTIES,...ve.UPSTREAM_PROPERTIES,...ve.DOWNSTREAM_PROPERTIES]);let Ue=ve;function l3(n){var s;const e=L4(),t=n.toJSON();e.safeParse(t).success,(s=n.dataType)==null||s.validate();const a=[];return ne(n.errors,a)}const Ie=class Ie{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"index");c(this,"required");c(this,"parentRelationType");c(this,"type",i.ValueDescriptor);c(this,"dataType",null);c(this,"project");c(this,"errors",[]);c(this,"parent");c(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 r=e.parent?B(e.parent):null,a=r?t.get(r):null,s=e.parentRelationType===_.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:i.ValueDescriptor,index:s||0,description:e.description,required:e.required,parentRelationType:e.parentRelationType,dataType:null,parent:a},l=R(o,t);return a&&l.setParent(a),l.initChildren(),l}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[i.ActionDescriptor]}},t);r=s.modifiedData,a.push(...s.errors,...Be(r));const o=r.parent&&t.get(r.parent),l=o&&Yn(o);return l&&l.type===i.ActionDescriptor&&a.push(new E({id:`${e.id}--${h.BuiltInEntityParent}`,code:h.BuiltInEntityParent,severity:T.Error,message:`Entity of type "${e.type}" with id "${e.id}", has a parent that is a built-in entity "${l.name}" of type '${l.type}' with id '${l.id}'.
168
+ You can't modify system entities that are built-in.`,issue:null})),o&&o.type===i.ActionDescriptor&&(!r.parentRelationType||!(r.parentRelationType===_.FixedArguments||r.parentRelationType===_.FixedReturns||r.parentRelationType===_.ReturnedError)?a.push(new E({id:`${e.id}--${h.InvalidParentRelationType}`,code:h.InvalidParentRelationType,severity:T.Error,message:`The entity with id '${e.id}' and type '${e.type}', must have a 'parentRelationType' property set to either '${_.FixedArguments}', '${_.FixedReturns}', or '${_.ReturnedError}' when being added as a child to an entity of type 'action-descriptor'.`,issue:null})):r.parentRelationType===_.ReturnedError&&o.error&&a.push(new E({id:`${e.id}--${h.NewEntityWouldOverriteExisting}`,code:h.NewEntityWouldOverriteExisting,severity:T.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}'.
169
169
  An action descriptor can only have one error value descriptor child.
170
170
  Either remove the existing error value descriptor or update it with the 'update' action.
171
171
  You can use the 'describe_entity' action to get more information about the existing error value descriptor like so:
172
- ${sn({describe_entity:o.error.id})}`,issue:null}))),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){var t,r,a,s;const e=[this];return this.parentRelationType===M.FixedArguments?(r=(t=this.parent)==null?void 0:t.addFixedArgument)==null||r.call(t,this):this.parentRelationType===M.FixedReturns?(s=(a=this.parent)==null?void 0:a.addFixedReturn)==null||s.call(a,this):this.parentRelationType===M.ReturnedError&&this.parent&&(this.parent.error=this),this.parent&&([i.Search,i.Loop].includes(this.parent.type)&&this.parent.addOutputDeclaration(this),e.push(this.parent)),{affected:v(e),self: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 r=[],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});r.push(...s),a.push(...o)}return{affected:v(r),removed:v(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:r}=this.dataType.restore({seenEntities:e});t.push(...r)}return{affected:v(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+"--"+w.UUID.uuid()+"--ref",type:i.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=l3(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(e=null,t=null,r=!0){var f;const a=t||Qe(S(this,this.project),i.ValueDescriptor,this.project),s=a.split("-id"),o=s[s.length-1||0]||a,l=this.toJSON();l.id=a;const p=jt(l,this.project);e&&p.setParent(e),r&&p.subscribe();const y=((f=this.dataType)==null?void 0:f.clone(p,o+"-data-type-id",r))||null;return y&&p.setDataType(y),p}getDataType(){return this.dataType||null}setDataType(e){return this.dataType=e,this}getDefaultValue(){var e;return((e=this.dataType)==null?void 0:e.defaultValue)||null}};c(Ie,"MUTABLE_BASE_PROPERTIES",["name","description","required"]),c(Ie,"INMUTABLE_BASE_PROPERTIES",["id","version","type","parentRelationType"]),c(Ie,"BASE_PROPERTIES",[...Ie.MUTABLE_BASE_PROPERTIES,...Ie.INMUTABLE_BASE_PROPERTIES]),c(Ie,"MUTABLE_META_PROPERTIES",[...Ie.MUTABLE_BASE_PROPERTIES,"index"]),c(Ie,"INMUTABLE_META_PROPERTIES",[...Ie.INMUTABLE_BASE_PROPERTIES]),c(Ie,"META_PROPERTIES",[...Ie.MUTABLE_META_PROPERTIES,...Ie.INMUTABLE_META_PROPERTIES]),c(Ie,"MUTABLE_UPSTREAM_PROPERTIES",[]),c(Ie,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),c(Ie,"UPSTREAM_PROPERTIES",[...Ie.MUTABLE_UPSTREAM_PROPERTIES,...Ie.INMUTABLE_UPSTREAM_PROPERTIES]),c(Ie,"MUTABLE_DOWNSTREAM_PROPERTIES",["dataType"]),c(Ie,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(Ie,"DOWNSTREAM_PROPERTIES",[...Ie.MUTABLE_DOWNSTREAM_PROPERTIES,...Ie.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(Ie,"PROPERTIES",[...Ie.META_PROPERTIES,...Ie.UPSTREAM_PROPERTIES,...Ie.DOWNSTREAM_PROPERTIES]);let Br=Ie;function c3(n,e){if(!n.type&&!n.id)return{errors:[new E({id:`last-generated-entity-payload--${h.MissingTypeProperty}`,message:"Last generated entity payload is missing a 'type' property.",severity:T.Error,code:h.MissingTypeProperty,issue:null}),new E({id:`last-generated-entity-payload--${h.MissingIdProperty}`,message:"Last generated entity payload is missing an 'id' property.",severity:T.Error,code:h.MissingIdProperty,issue:null})],modifiedData:null};if(n.type){if(!n.id)return{errors:[new E({id:`last-generated-entity-payload--${h.MissingIdProperty}`,message:`Last generated entity, with type "${n.type}" is missing an 'id' property.`,severity:T.Error,code:h.MissingIdProperty,issue:null})],modifiedData:null}}else return{errors:[new E({id:`${n.id}--${h.MissingTypeProperty}`,message:`Entity with id "${n.id}" is missing a 'type' property.`,severity:T.Error,code:h.MissingTypeProperty,issue:null})],modifiedData:null};if(n.type===i.GenericReference)return{errors:[new E({id:`${n.id}--${h.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:T.Error,code:h.RootReference,issue:null})],modifiedData:null};const t=n,r=e.instances[t.id],a=e.builtInInstances[t.id];if(r&&!a&&t.type!==i.GenericReference){let s=`A previously generated entity with id "${t.id}" already exists in the project state.
172
+ ${sn({describe_entity:o.error.id})}`,issue:null}))),{errors:a,modifiedData:r}}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){var t,r,a,s;const e=[this];return this.parentRelationType===_.FixedArguments?(r=(t=this.parent)==null?void 0:t.addFixedArgument)==null||r.call(t,this):this.parentRelationType===_.FixedReturns?(s=(a=this.parent)==null?void 0:a.addFixedReturn)==null||s.call(a,this):this.parentRelationType===_.ReturnedError&&this.parent&&(this.parent.error=this),this.parent&&([i.Search,i.Loop].includes(this.parent.type)&&this.parent.addOutputDeclaration(this),e.push(this.parent)),{affected:v(e),self: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 r=[],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});r.push(...s),a.push(...o)}return{affected:v(r),removed:v(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:r}=this.dataType.restore({seenEntities:e});t.push(...r)}return{affected:v(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+"--"+w.UUID.uuid()+"--ref",type:i.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=l3(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(e=null,t=null,r=!0){var f;const a=t||Qe(S(this,this.project),i.ValueDescriptor,this.project),s=a.split("-id"),o=s[s.length-1||0]||a,l=this.toJSON();l.id=a;const p=jt(l,this.project);e&&p.setParent(e),r&&p.subscribe();const y=((f=this.dataType)==null?void 0:f.clone(p,o+"-data-type-id",r))||null;return y&&p.setDataType(y),p}getDataType(){return this.dataType||null}setDataType(e){return this.dataType=e,this}getDefaultValue(){var e;return((e=this.dataType)==null?void 0:e.defaultValue)||null}};c(Ie,"MUTABLE_BASE_PROPERTIES",["name","description","required"]),c(Ie,"INMUTABLE_BASE_PROPERTIES",["id","version","type","parentRelationType"]),c(Ie,"BASE_PROPERTIES",[...Ie.MUTABLE_BASE_PROPERTIES,...Ie.INMUTABLE_BASE_PROPERTIES]),c(Ie,"MUTABLE_META_PROPERTIES",[...Ie.MUTABLE_BASE_PROPERTIES,"index"]),c(Ie,"INMUTABLE_META_PROPERTIES",[...Ie.INMUTABLE_BASE_PROPERTIES]),c(Ie,"META_PROPERTIES",[...Ie.MUTABLE_META_PROPERTIES,...Ie.INMUTABLE_META_PROPERTIES]),c(Ie,"MUTABLE_UPSTREAM_PROPERTIES",[]),c(Ie,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),c(Ie,"UPSTREAM_PROPERTIES",[...Ie.MUTABLE_UPSTREAM_PROPERTIES,...Ie.INMUTABLE_UPSTREAM_PROPERTIES]),c(Ie,"MUTABLE_DOWNSTREAM_PROPERTIES",["dataType"]),c(Ie,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(Ie,"DOWNSTREAM_PROPERTIES",[...Ie.MUTABLE_DOWNSTREAM_PROPERTIES,...Ie.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(Ie,"PROPERTIES",[...Ie.META_PROPERTIES,...Ie.UPSTREAM_PROPERTIES,...Ie.DOWNSTREAM_PROPERTIES]);let Br=Ie;function c3(n,e){if(!n.type&&!n.id)return{errors:[new E({id:`last-generated-entity-payload--${h.MissingTypeProperty}`,message:"Last generated entity payload is missing a 'type' property.",severity:T.Error,code:h.MissingTypeProperty,issue:null}),new E({id:`last-generated-entity-payload--${h.MissingIdProperty}`,message:"Last generated entity payload is missing an 'id' property.",severity:T.Error,code:h.MissingIdProperty,issue:null})],modifiedData:null};if(n.type){if(!n.id)return{errors:[new E({id:`last-generated-entity-payload--${h.MissingIdProperty}`,message:`Last generated entity, with type "${n.type}" is missing an 'id' property.`,severity:T.Error,code:h.MissingIdProperty,issue:null})],modifiedData:null}}else return{errors:[new E({id:`${n.id}--${h.MissingTypeProperty}`,message:`Entity with id "${n.id}" is missing a 'type' property.`,severity:T.Error,code:h.MissingTypeProperty,issue:null})],modifiedData:null};if(n.type===i.GenericReference)return{errors:[new E({id:`${n.id}--${h.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:T.Error,code:h.RootReference,issue:null})],modifiedData:null};const t=n,r=e.instances[t.id],a=e.builtInInstances[t.id];if(r&&!a&&t.type!==i.GenericReference){let s=`A previously generated entity with id "${t.id}" already exists in the project state.
173
173
  Are you trying to update that entity?
174
174
  If so, you should use the 'update' action for core mutable metadata properties, or 'delete' and then 'post' again to replace it.
175
- If you are trying to create a new entity, please use a different id, for example: "${gd(t,e)}".`;return{errors:[new E({id:`duplicate--${t.id}--${h.EntityIdNotUnique}`,message:s,severity:T.Error,code:h.EntityIdNotUnique,issue:null})],modifiedData:n}}else if(r&&t.type!==i.GenericReference)return{errors:[new E({id:`${t.id}--${h.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: "${gd(t,e)}".`,severity:T.Error,code:h.EntityIdNotUnique,issue:null})],modifiedData:n};switch(t.type){case i.Project:return w.validateGenerationTarget(t,e);case i.CustomEntity:return Mr.validateGenerationTarget(t,e);case i.Property:return Rr.validateGenerationTarget(t,e);case i.FunctionDeclaration:return br.validateGenerationTarget(t,e);case i.DataType:return hi.validateGenerationTarget(t,e);case i.Operation:return gr.validateGenerationTarget(t,e);case i.FunctionCall:return wr.validateGenerationTarget(t,e);case i.VariableDeclaration:return Dr.validateGenerationTarget(t,e);case i.VariableInstance:return Pr.validateGenerationTarget(t,e);case i.GlobalEvent:return fi.validateGenerationTarget(t,e);case i.InputMap:return vn.validateGenerationTarget(t,e);case i.OutputMap:return In.validateGenerationTarget(t,e);case i.ArgumentDeclaration:return Or.validateGenerationTarget(t,e);case i.ReturnDeclaration:return Nt.validateGenerationTarget(t,e);case i.Loop:return vr.validateGenerationTarget(t,e);case i.Condition:return Ir.validateGenerationTarget(t,e);case i.Search:return Ar.validateGenerationTarget(t,e);case i.InstalledProject:return Sr.validateGenerationTarget(t,e);case i.InternalCall:return mi.validateGenerationTarget(t,e);case i.PrimitiveValue:return Ti.validateGenerationTarget(t,e);case i.ReturnStatement:return Cr.validateGenerationTarget(t,e);case i.BreakStatement:return Ei.validateGenerationTarget(t,e);case i.ContinueStatement:return Tt.validateGenerationTarget(t,e);case i.ActionDescriptor:return Ue.validateGenerationTarget(t,e);case i.ValueDescriptor:return Br.validateGenerationTarget(t,e);case i.BuiltInBaseEntity:case i.PrimitiveEntity:{const s="Did you mean to generate a",l={[i.BuiltInBaseEntity]:`${s} '${i.CustomEntity}' instead?`,[i.PrimitiveEntity]:`${s} '${i.CustomEntity}' instead?`}[t.type]||"";return{errors:[new E({id:`${t.id}--${h.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.
175
+ If you are trying to create a new entity, please use a different id, for example: "${gd(t,e)}".`;return{errors:[new E({id:`duplicate--${t.id}--${h.EntityIdNotUnique}`,message:s,severity:T.Error,code:h.EntityIdNotUnique,issue:null})],modifiedData:n}}else if(r&&t.type!==i.GenericReference)return{errors:[new E({id:`${t.id}--${h.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: "${gd(t,e)}".`,severity:T.Error,code:h.EntityIdNotUnique,issue:null})],modifiedData:n};switch(t.type){case i.Project:return w.validateGenerationTarget(t,e);case i.CustomEntity:return _r.validateGenerationTarget(t,e);case i.Property:return Rr.validateGenerationTarget(t,e);case i.FunctionDeclaration:return br.validateGenerationTarget(t,e);case i.DataType:return hi.validateGenerationTarget(t,e);case i.Operation:return gr.validateGenerationTarget(t,e);case i.FunctionCall:return wr.validateGenerationTarget(t,e);case i.VariableDeclaration:return Dr.validateGenerationTarget(t,e);case i.VariableInstance:return Pr.validateGenerationTarget(t,e);case i.GlobalEvent:return fi.validateGenerationTarget(t,e);case i.InputMap:return vn.validateGenerationTarget(t,e);case i.OutputMap:return In.validateGenerationTarget(t,e);case i.ArgumentDeclaration:return Or.validateGenerationTarget(t,e);case i.ReturnDeclaration:return Nt.validateGenerationTarget(t,e);case i.Loop:return vr.validateGenerationTarget(t,e);case i.Condition:return Ir.validateGenerationTarget(t,e);case i.Search:return Ar.validateGenerationTarget(t,e);case i.InstalledProject:return Sr.validateGenerationTarget(t,e);case i.InternalCall:return mi.validateGenerationTarget(t,e);case i.PrimitiveValue:return Ti.validateGenerationTarget(t,e);case i.ReturnStatement:return Cr.validateGenerationTarget(t,e);case i.BreakStatement:return Ei.validateGenerationTarget(t,e);case i.ContinueStatement:return Tt.validateGenerationTarget(t,e);case i.ActionDescriptor:return Ue.validateGenerationTarget(t,e);case i.ValueDescriptor:return Br.validateGenerationTarget(t,e);case i.BuiltInBaseEntity:case i.PrimitiveEntity:{const s="Did you mean to generate a",l={[i.BuiltInBaseEntity]:`${s} '${i.CustomEntity}' instead?`,[i.PrimitiveEntity]:`${s} '${i.CustomEntity}' instead?`}[t.type]||"";return{errors:[new E({id:`${t.id}--${h.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.
176
176
  ${l}`,severity:T.Error,code:h.BuiltInEntityGenerated,issue:null})],modifiedData:n}}default:{const s=t;return{errors:[new E({id:`${s.id}--${h.UnknownEntityType}`,message:`Incorrect entity implementation for entity with id "${s.id}". Entity type "${s.type}" is not supported.`,severity:T.Error,code:h.UnknownEntityType,issue:null})],modifiedData:null}}}}function lo(n){const e=vo(n.type),t=e.MUTABLE_BASE_PROPERTIES,r=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
177
  For entities of type "${n.type}", `;if(t.length>0?a+=`you can update the following metadata properties: '${L(t,"', '","' and '")}'. `:a+="there are no mutable metadata properties.",r.length>0){const s=t.length>0?`
178
178
  You can also update the following upstream references: `:`
179
179
  But can update the following upstream entity references: `;a+=`${s}'${L(r,"', '","' and '")}'.`}else a+=t.length>0?`
180
180
  And there are no upstream references that can be updated.`:`
181
- There are no upstream references that can be updated.`;return a}function d3(n,e){const t=[];let r=!1;if(Lr.includes(e.type)&&t.push(new E({id:`${e.id}--${h.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:T.Error,code:h.BuiltInEntityGenerated,issue:null})),n.id&&(t.push(new E({id:`last-action--${h.InvalidUpdateEntityOperation}`,code:h.InvalidUpdateEntityOperation,severity:T.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})),r=!0),n.type&&(t.push(new E({id:`last-action--${h.InvalidUpdateEntityOperation}`,code:h.InvalidUpdateEntityOperation,severity:T.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})),r=!0),t.length)return{errors:t,modifiedData:null,messageAddition:""};if(Me.includes(e.type)?n.calls&&t.push(new E({id:`${e.id}--${h.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calls" updated.
181
+ There are no upstream references that can be updated.`;return a}function d3(n,e){const t=[];let r=!1;if(Lr.includes(e.type)&&t.push(new E({id:`${e.id}--${h.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:T.Error,code:h.BuiltInEntityGenerated,issue:null})),n.id&&(t.push(new E({id:`last-action--${h.InvalidUpdateEntityOperation}`,code:h.InvalidUpdateEntityOperation,severity:T.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})),r=!0),n.type&&(t.push(new E({id:`last-action--${h.InvalidUpdateEntityOperation}`,code:h.InvalidUpdateEntityOperation,severity:T.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})),r=!0),t.length)return{errors:t,modifiedData:null,messageAddition:""};if(_e.includes(e.type)?n.calls&&t.push(new E({id:`${e.id}--${h.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calls" updated.
182
182
  ${qn}`,severity:T.Error,code:h.InvalidInmutablePropertyOverride,issue:null})):$e.includes(e.type)&&(n.successCalls&&t.push(new E({id:`${e.id}--${h.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "successCalls" updated.
183
183
  ${qn}`,severity:T.Error,code:h.InvalidInmutablePropertyOverride,issue:null})),n.errorCalls&&t.push(new E({id:`${e.id}--${h.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "errorCalls" updated.
184
184
  ${qn}`,severity:T.Error,code:h.InvalidInmutablePropertyOverride,issue:null}))),Pn.includes(e.type)&&(n.calledBy&&t.push(new E({id:`${e.id}--${h.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calledBy" updated.
@@ -189,10 +189,10 @@ ${qn}`,severity:T.Error,code:h.InvalidInmutablePropertyOverride,issue:null}))),t
189
189
  If you need to update this property, you should delete the entity and create a new one with the updated value.`,severity:T.Error,code:h.InvalidInmutablePropertyOverride,issue:null})),r=!0)}),(a.DOWNSTREAM_PROPERTIES||[]).forEach(C=>{n[C]&&!ya(n[C])&&(t.push(new E({id:`${e.id}--${h.InvalidDownstreamPropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "${C}" set directly. It is a downstream property that points to a downstream nested entity.
190
190
  All downstream references are managed by the downstream entity. Entities only manage their own upstream references.
191
191
  To modify '${C}', target the entity that it points to and its equivalent property.`,severity:T.Error,code:h.InvalidDownstreamPropertyOverride,issue:null})),r=!0)}),(a.INMUTABLE_UPSTREAM_PROPERTIES||[]).forEach(C=>{n[C]&&!ya(n[C])&&(t.push(new E({id:`${e.id}--${h.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "${C}" updated. It is an inmutable property that is set only when the entity is created.
192
- If you need to update this property, you should delete the entity and create a new one with the updated value.`,severity:T.Error,code:h.InvalidInmutablePropertyOverride,issue:null})),r=!0)});const D=a.PROPERTIES||[];D.length>0&&Object.keys(n).forEach(C=>{D.includes(C)||t.push(new E({id:`${e.id}--${h.UnrecognizedProperty}`,message:`Entity of type "${e.type}" with id "${e.id}" has an unrecognized property "${C}" that will be ignored.`,severity:T.Warning,code:h.UnrecognizedProperty,issue:null}))})}if(t.length)return{errors:t,modifiedData:null,messageAddition:r?lo(e):""};const s=Ev(e),o=s==null?void 0:s.partial(),l=o==null?void 0:o.safeParse(n),p={...n,id:e.id,type:e.type},y=Id(p,l);if(t.push(...y),t.length)return{errors:t,modifiedData:null,messageAddition:r?lo(e):""};const m=e.validateGeneratedUpdate(n);return{errors:[...t,...m.errors],modifiedData:m.modifiedData,messageAddition:r?lo(e):""}}function Ev(n){switch(n.type){case i.PrimitiveValue:return $s();case i.CustomEntity:return Fc();case i.PrimitiveEntity:return $s();case i.FunctionDeclaration:return Lc();case i.GlobalEvent:return qs();case i.DataType:return Cc();case i.Property:return yc();case i.FunctionCall:return gc();case i.Condition:return vc();case i.Operation:return xs();case i.VariableDeclaration:return wc();case i.VariableInstance:return _c();case i.OutputMap:return bc();case i.ReturnDeclaration:return Tc();case i.ArgumentDeclaration:return $c();case i.InputMap:return Ac();case i.Project:return Gc();case i.InstalledProject:return Dx();case i.ActionDescriptor:return Gs();case i.ReturnStatement:return mc();case i.Loop:return Gs();case i.Search:return Ic();case i.ValueDescriptor:return pc();case i.BuiltInBaseEntity:return hc();case i.InternalCall:return Pc();case i.ContinueStatement:return fc();case i.BreakStatement:return Ec();default:return null}}function Rv(n){switch(n.type){case i.PrimitiveValue:return QU();case i.CustomEntity:return f8();case i.PrimitiveEntity:return F4();case i.FunctionDeclaration:return s8();case i.GlobalEvent:return wx();case i.DataType:return ux();case i.Property:return k4();case i.FunctionCall:return PU();case i.Condition:return BU();case i.Operation:return WU();case i.VariableDeclaration:return mx();case i.VariableInstance:return gx();case i.OutputMap:return gU();case i.ReturnDeclaration:return yU();case i.ArgumentDeclaration:return n8();case i.InputMap:return jU();case i.Project:return u8();case i.InstalledProject:return Ax();case i.ActionDescriptor:return Q4();case i.ReturnStatement:return cU();case i.Loop:return tU();case i.Search:return NU();case i.ValueDescriptor:return V4();case i.BuiltInBaseEntity:return Y4();case i.InternalCall:return GU();case i.ContinueStatement:return aU();case i.BreakStatement:return TU();default:return null}}function co(n){const e=[];xn(n)||e.push(new E({id:`${n}--${h.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:T.Error,code:h.InvalidReferenceObjectStructure,issue:null}));const t=n.id||"reference-to--"+(n.entityId||"unknown"),r=`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}--${h.InvalidReferenceObjectStructure}`,message:`${r} is missing an 'entityId' property.`,severity:T.Error,code:h.InvalidReferenceObjectStructure,issue:null})),n.entityType||e.push(new E({id:`${t}--${h.InvalidReferenceObjectStructure}`,message:`${r} is missing an 'entityType' property.`,severity:T.Error,code:h.InvalidReferenceObjectStructure,issue:null})),n.id||e.push(new E({id:`${t}--${h.MissingIdProperty}`,message:`${r} is missing an 'id' property.`,severity:T.Error,code:h.MissingIdProperty,issue:null})),n.type||e.push(new E({id:`${t}--${h.MissingTypeProperty}`,message:`${r} is missing a 'type' property.`,severity:T.Error,code:h.MissingTypeProperty,issue:null})),e}function Id(n,e){return e.success?[]:e.error.issues.map(t=>new E({id:`${n.id}--${A.InvalidObjectStructure}`,message:`Entity of type "${n.type}" and with id "${n.id}", has an invalid structure: ${L8(t).toString().replace("Validation error: ","")}`,severity:T.Error,code:A.InvalidObjectStructure,issue:t}))}function Be(n,e){const t=[],r=Rv(n);if(r){const s=r.safeParse(n);t.push(...Id(n,s))}const a=vo(n.type);if(a){(a.DOWNSTREAM_PROPERTIES||[]).forEach(l=>{n[l]&&!ya(n[l])&&t.push(new E({id:`${n.id}--${h.InvalidDownstreamPropertyOverride}`,message:`Entity of type "${n.type}" with id "${n.id}" cannot have the property "${l}" set directly. It is a downstream property that points to a downstream nested entity.
192
+ If you need to update this property, you should delete the entity and create a new one with the updated value.`,severity:T.Error,code:h.InvalidInmutablePropertyOverride,issue:null})),r=!0)});const D=a.PROPERTIES||[];D.length>0&&Object.keys(n).forEach(C=>{D.includes(C)||t.push(new E({id:`${e.id}--${h.UnrecognizedProperty}`,message:`Entity of type "${e.type}" with id "${e.id}" has an unrecognized property "${C}" that will be ignored.`,severity:T.Warning,code:h.UnrecognizedProperty,issue:null}))})}if(t.length)return{errors:t,modifiedData:null,messageAddition:r?lo(e):""};const s=Ev(e),o=s==null?void 0:s.partial(),l=o==null?void 0:o.safeParse(n),p={...n,id:e.id,type:e.type},y=Id(p,l);if(t.push(...y),t.length)return{errors:t,modifiedData:null,messageAddition:r?lo(e):""};const m=e.validateGeneratedUpdate(n);return{errors:[...t,...m.errors],modifiedData:m.modifiedData,messageAddition:r?lo(e):""}}function Ev(n){switch(n.type){case i.PrimitiveValue:return $s();case i.CustomEntity:return Fc();case i.PrimitiveEntity:return $s();case i.FunctionDeclaration:return Lc();case i.GlobalEvent:return qs();case i.DataType:return Cc();case i.Property:return yc();case i.FunctionCall:return gc();case i.Condition:return vc();case i.Operation:return xs();case i.VariableDeclaration:return wc();case i.VariableInstance:return Mc();case i.OutputMap:return bc();case i.ReturnDeclaration:return Tc();case i.ArgumentDeclaration:return $c();case i.InputMap:return Ac();case i.Project:return Gc();case i.InstalledProject:return Dx();case i.ActionDescriptor:return Gs();case i.ReturnStatement:return mc();case i.Loop:return Gs();case i.Search:return Ic();case i.ValueDescriptor:return pc();case i.BuiltInBaseEntity:return hc();case i.InternalCall:return Pc();case i.ContinueStatement:return fc();case i.BreakStatement:return Ec();default:return null}}function Rv(n){switch(n.type){case i.PrimitiveValue:return QU();case i.CustomEntity:return f8();case i.PrimitiveEntity:return F4();case i.FunctionDeclaration:return s8();case i.GlobalEvent:return wx();case i.DataType:return ux();case i.Property:return k4();case i.FunctionCall:return PU();case i.Condition:return BU();case i.Operation:return WU();case i.VariableDeclaration:return mx();case i.VariableInstance:return gx();case i.OutputMap:return gU();case i.ReturnDeclaration:return yU();case i.ArgumentDeclaration:return n8();case i.InputMap:return jU();case i.Project:return u8();case i.InstalledProject:return Ax();case i.ActionDescriptor:return Q4();case i.ReturnStatement:return cU();case i.Loop:return tU();case i.Search:return NU();case i.ValueDescriptor:return V4();case i.BuiltInBaseEntity:return Y4();case i.InternalCall:return GU();case i.ContinueStatement:return aU();case i.BreakStatement:return TU();default:return null}}function co(n){const e=[];xn(n)||e.push(new E({id:`${n}--${h.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:T.Error,code:h.InvalidReferenceObjectStructure,issue:null}));const t=n.id||"reference-to--"+(n.entityId||"unknown"),r=`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}--${h.InvalidReferenceObjectStructure}`,message:`${r} is missing an 'entityId' property.`,severity:T.Error,code:h.InvalidReferenceObjectStructure,issue:null})),n.entityType||e.push(new E({id:`${t}--${h.InvalidReferenceObjectStructure}`,message:`${r} is missing an 'entityType' property.`,severity:T.Error,code:h.InvalidReferenceObjectStructure,issue:null})),n.id||e.push(new E({id:`${t}--${h.MissingIdProperty}`,message:`${r} is missing an 'id' property.`,severity:T.Error,code:h.MissingIdProperty,issue:null})),n.type||e.push(new E({id:`${t}--${h.MissingTypeProperty}`,message:`${r} is missing a 'type' property.`,severity:T.Error,code:h.MissingTypeProperty,issue:null})),e}function Id(n,e){return e.success?[]:e.error.issues.map(t=>new E({id:`${n.id}--${A.InvalidObjectStructure}`,message:`Entity of type "${n.type}" and with id "${n.id}", has an invalid structure: ${L8(t).toString().replace("Validation error: ","")}`,severity:T.Error,code:A.InvalidObjectStructure,issue:t}))}function Be(n,e){const t=[],r=Rv(n);if(r){const s=r.safeParse(n);t.push(...Id(n,s))}const a=vo(n.type);if(a){(a.DOWNSTREAM_PROPERTIES||[]).forEach(l=>{n[l]&&!ya(n[l])&&t.push(new E({id:`${n.id}--${h.InvalidDownstreamPropertyOverride}`,message:`Entity of type "${n.type}" with id "${n.id}" cannot have the property "${l}" set directly. It is a downstream property that points to a downstream nested entity.
193
193
  All downstream references are managed by the downstream entity. Entities only manage their own upstream references.
194
194
  To modify '${l}', target the entity that it points to and its equivalent property.`,severity:T.Error,code:h.InvalidDownstreamPropertyOverride,issue:null}))});const o=a.PROPERTIES||[];o.length>0&&Object.keys(n).forEach(l=>{o.includes(l)||t.push(new E({id:`${n.id}--${h.UnrecognizedProperty}`,message:`Entity of type "${n.type}" with id "${n.id}" has an unrecognized property "${l}" that will be ignored.`,severity:T.Warning,code:h.UnrecognizedProperty,issue:null}))})}return t}function u3(n,e){const t=[];if(!n.parent)return t;const r=e.get(n.parent);return r?(Lr.includes(r==null?void 0:r.type)?t.push(new E({id:`${n.id}--${h.BuiltInEntityParent}`,message:`Entity of type "${n.type}" with id "${n.id}" cannot have the parent with id "${r.id}", because it is a built in entity. Built in entities cannot be modified.`,severity:T.Error,code:h.BuiltInEntityParent,issue:null})):r.type===i.ActionDescriptor&&e.get(n.parent)&&t.push(new E({id:`${n.id}--${h.BuiltInEntityParent}`,message:`Entity of type "${n.type}" with id "${n.id}" cannot have the parent with id "${r.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:T.Error,code:h.BuiltInEntityParent,issue:null})),t):[]}function Dd(n,e,t){const r=[],a=n[e.key];if(!a)return r.push(new E({id:`${n.id}--${e.key}--${A.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 ${L(e.types,", "," or ")}.`,severity:T.Error,code:A.InvalidObjectStructure,issue:null})),{entityState:null,errors:r};let s=null;if(typeof a=="string")s=a;else{const l=co(a);r.push(...l),l.length===0&&(s=a.entityId)}if(!s)return{entityState:null,errors:r};if(n.id===s)return r.push(new E({id:`${n.id}--${s}--${h.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:T.Error,code:h.SelfReference,issue:null})),{entityState:null,errors:r};const o=t.get(s)||t.getBuiltIn(s);return o?e.types.includes(o.type)||r.push(new E({id:`${n.id}--${s}--${h.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 '${L(e.types,"', '","' or '")}'.`,severity:T.Error,code:h.InvalidReference,issue:null})):r.push(new E({id:`${n.id}--${s}--${h.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:T.Error,code:h.ReferencedEntityNotFound,issue:null})),{entityState:o,errors:r}}function uo(n,e,t){const r=[],a=n[e];return a?Array.isArray(a)?{entities:a.map(o=>{let l=null;if(typeof o=="string")l=o;else{const y=co(o);r.push(...y),y.length===0&&(l=o.entityId)}if(!l)return{entityState:null,errors:[new E({id:`${n.id}--${e}--${h.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:T.Error,code:h.InvalidReference,issue:null})]};const p=t.get(l)||t.getBuiltIn(l);return p?{entityState:p,errors:[]}:(r.push(new E({id:`${n.id}--${l}--${h.ReferencedEntityNotFound}`,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${l}" at '${e}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:T.Error,code:h.ReferencedEntityNotFound,issue:null})),{entityState:null,errors:r})}),errors:[]}:(r.push(new E({id:`${n.id}--${e}--${A.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:T.Error,code:A.InvalidObjectStructure,issue:null})),{entities:[],errors:r}):(r.push(new E({id:`${n.id}--${e}--${A.InvalidObjectStructure}`,message:`Entity of type "${n.type}" with id "${n.id}" is missing a list of references to "${e}" entities.`,severity:T.Error,code:A.InvalidObjectStructure,issue:null})),{entities:[],errors:r})}function Pd(n,e,t){const r=[],a=Dd(n,e,t);if(a.errors.length>0)return a.errors;if(a.entityState){const s=a.entityState;e.types.includes(s.type)||r.push(new E({id:`${n.id}--${s.id}--${h.InvalidReference}`,code:h.InvalidReference,severity:T.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 '${L(e.types,"', '","' or '")}'.`,issue:null})),n.id===s.id&&r.push(new E({id:`${n.id}--${s.id}--${h.SelfReference}`,code:h.SelfReference,severity:T.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 r}function L(n,e,t){if(n.length===1)return n[0];if(n.length===2)return n.join(t);{const r=n.pop();return`${n.join(e)}${t}${r}`}}const kn=`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.
195
- All pass-through callable entities are: ${L($e,", "," and ")}.`,ga=`Entry point entities are the entities which start the execution of a logic chain. They are ${L(Me,", "," 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. `,bv=`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: ${L(cn,", "," and ")}.`,p3=`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.
195
+ All pass-through callable entities are: ${L($e,", "," and ")}.`,ga=`Entry point entities are the entities which start the execution of a logic chain. They are ${L(_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. `,bv=`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: ${L(cn,", "," and ")}.`,p3=`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.
196
196
  All callable entity types are: ${L(Pn,", "," and ")}.`,qn=`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).
197
197
  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.`,Ad=`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.
198
198
  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'.`,y3=`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.
@@ -223,7 +223,7 @@ ${typeof n=="string"?n:JSON.stringify(n,null,2)}
223
223
  ...All the properties you want to update
224
224
  }
225
225
  }
226
- }`;return sn(r)}default:return""}}function vv(n,e){const t=JSON.parse(JSON.stringify(n)),r=[];if(Me.includes(e.type))r.push(new E({id:`${n.id}--${e.id}--${h.InvalidReference}`,code:h.InvalidReference,severity:T.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}".
226
+ }`;return sn(r)}default:return""}}function vv(n,e){const t=JSON.parse(JSON.stringify(n)),r=[];if(_e.includes(e.type))r.push(new E({id:`${n.id}--${e.id}--${h.InvalidReference}`,code:h.InvalidReference,severity:T.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}".
227
227
  Entry-point entities can only be referenced as 'calledByEntry'.
228
228
  ${ga}
229
229
  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(Ne.includes(e.type)){const a=e.calledBy||[],s=a.length?`
@@ -234,7 +234,7 @@ Termination entities are ${L(Ne,", "," and ")}.${s}`,issue:null}))}else if(!$e.i
234
234
  ${kn}`,issue:null}));else if(!cn.includes(e.type))return r.push(new E({id:`${n.id}--${e.id}--${h.InvalidReference}`,code:h.InvalidReference,severity:T.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.
235
235
  All caller entity types are: ${L(cn,", "," and ")}.
236
236
  For the 'calledBySuccess' property, you specifically need to reference a pass-through callable entity.
237
- ${kn}`,issue:null})),{errors:r,modifiedData:t};return{errors:r,modifiedData:t}}function Iv(n,e){const t=[];if(Me.includes(e.type))t.push(new E({id:`${n.id}--${e.id}--${h.InvalidReference}`,code:h.InvalidReference,severity:T.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}".
237
+ ${kn}`,issue:null})),{errors:r,modifiedData:t};return{errors:r,modifiedData:t}}function Iv(n,e){const t=[];if(_e.includes(e.type))t.push(new E({id:`${n.id}--${e.id}--${h.InvalidReference}`,code:h.InvalidReference,severity:T.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}".
238
238
  Entry-point entities can only be referenced as 'calledByEntry'.
239
239
  ${ga}`,issue:null}));else if(Ne.includes(e.type)){const r=e.calledBy||[],a=r.length?`
240
240
 
@@ -255,7 +255,7 @@ ${ga}.
255
255
  We have moved the reference to 'calledBySuccess' for you.`,issue:null}));else if(!cn.includes(e.type))return t.push(new E({id:`${n.id}--${e.id}--${h.InvalidReference}`,code:h.InvalidReference,severity:T.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.
256
256
  All caller entity types are: ${L(cn,", "," and ")}.
257
257
  For the 'calledByEntry' property, you specifically need to reference a pass-through callable entity.
258
- ${kn}`,issue:null})),t;return t}function Pv(n,e){const t=[];let r=JSON.parse(JSON.stringify(n));if(Pn.includes(r.type)){if(r.calledBySuccess){const s=uo(r,"calledBySuccess",e);s.errors.length===0?s.entities.forEach(o=>{if(o.errors.length){t.push(...o.errors);return}const l=vv(r,o.entityState);r=l.modifiedData,t.push(...l.errors)}):t.push(...s.errors)}if(r.calledByError){const s=uo(r,"calledByError",e);s.errors.length===0?s.entities.forEach(o=>{if(o.errors.length){t.push(...o.errors);return}const l=Iv(r,o.entityState);t.push(...l)}):t.push(...s.errors)}if(r.calledByEntry){const s=uo(r,"calledByEntry",e);s.errors.length===0?(s.entities.forEach(o=>{if(o.errors.length){t.push(...o.errors);return}const l=Dv(r,o.entityState);t.push(...l)}),t.push(...t)):t.push(...s.errors)}const a=[...r.calledBySuccess||[],...r.calledByError||[],...r.calledByEntry||[]];if(a.length){const s=[...new Set(a)];a.length!==s.length&&t.push(new E({id:`${r.id}--${h.DuplicateReference}`,code:h.DuplicateReference,severity:T.Warning,message:`Entity of type "${r.type}" with id "${r.id}" has duplicate caller references. Each caller reference should be unique. Duplicate caller reference will be ignored.`,issue:null}));const o=Rt(r,e);r.type===i.ReturnStatement&&o&&!Me.includes(o.type)?t.push(new E({id:`${r.id}--${h.IncompatibleScope}`,code:h.IncompatibleScope,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}" has an explicitly set parent, but it isn't a '${L(Me,"', '","' or '")}' entity. A return statement's parent should always be resolved to a function declaration or global event.${yo}`,issue:null})):r.type===i.ContinueStatement&&o&&o.type!==i.Loop?t.push(new E({id:`${r.id}--${h.IncompatibleScope}`,code:h.IncompatibleScope,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}" has an explicitly set parent, but it isn't a '${i.Loop}' entity. A continue statement's parent should always be resolved to a loop entity.${yo}`,issue:null})):r.type===i.BreakStatement&&o&&o.type!==i.Loop&&t.push(new E({id:`${r.id}--${h.IncompatibleScope}`,code:h.IncompatibleScope,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}" has an explicitly set parent, but it isn't a '${i.Loop}' entity. A break statement's parent should always be resolved to a loop entity.${yo}`,issue:null}));const l=[],p=[];let y=null;if(s.forEach(f=>{const m=e.get(f);if(!m){t.push(new E({id:`${r.id}--${f}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity with id "${f}" that doesn't exist in the project.`,issue:null}));return}const b=Rt(m,e);if(o)Da(o,b,e)?(Ne.includes(r.type)&&((r.calledBySuccess||[]).find(I=>I===m.id)?(m.successCalls||[]).find(C=>Ne.includes(C.type))&&t.push(new E({id:`${r.id}--${m.id}--${A.UnreachableEntity}`,code:A.UnreachableEntity,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}" is being called by an entity of type "${m.type}" with id "${m.id}" that already calls a termination statement.
258
+ ${kn}`,issue:null})),t;return t}function Pv(n,e){const t=[];let r=JSON.parse(JSON.stringify(n));if(Pn.includes(r.type)){if(r.calledBySuccess){const s=uo(r,"calledBySuccess",e);s.errors.length===0?s.entities.forEach(o=>{if(o.errors.length){t.push(...o.errors);return}const l=vv(r,o.entityState);r=l.modifiedData,t.push(...l.errors)}):t.push(...s.errors)}if(r.calledByError){const s=uo(r,"calledByError",e);s.errors.length===0?s.entities.forEach(o=>{if(o.errors.length){t.push(...o.errors);return}const l=Iv(r,o.entityState);t.push(...l)}):t.push(...s.errors)}if(r.calledByEntry){const s=uo(r,"calledByEntry",e);s.errors.length===0?(s.entities.forEach(o=>{if(o.errors.length){t.push(...o.errors);return}const l=Dv(r,o.entityState);t.push(...l)}),t.push(...t)):t.push(...s.errors)}const a=[...r.calledBySuccess||[],...r.calledByError||[],...r.calledByEntry||[]];if(a.length){const s=[...new Set(a)];a.length!==s.length&&t.push(new E({id:`${r.id}--${h.DuplicateReference}`,code:h.DuplicateReference,severity:T.Warning,message:`Entity of type "${r.type}" with id "${r.id}" has duplicate caller references. Each caller reference should be unique. Duplicate caller reference will be ignored.`,issue:null}));const o=Rt(r,e);r.type===i.ReturnStatement&&o&&!_e.includes(o.type)?t.push(new E({id:`${r.id}--${h.IncompatibleScope}`,code:h.IncompatibleScope,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}" has an explicitly set parent, but it isn't a '${L(_e,"', '","' or '")}' entity. A return statement's parent should always be resolved to a function declaration or global event.${yo}`,issue:null})):r.type===i.ContinueStatement&&o&&o.type!==i.Loop?t.push(new E({id:`${r.id}--${h.IncompatibleScope}`,code:h.IncompatibleScope,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}" has an explicitly set parent, but it isn't a '${i.Loop}' entity. A continue statement's parent should always be resolved to a loop entity.${yo}`,issue:null})):r.type===i.BreakStatement&&o&&o.type!==i.Loop&&t.push(new E({id:`${r.id}--${h.IncompatibleScope}`,code:h.IncompatibleScope,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}" has an explicitly set parent, but it isn't a '${i.Loop}' entity. A break statement's parent should always be resolved to a loop entity.${yo}`,issue:null}));const l=[],p=[];let y=null;if(s.forEach(f=>{const m=e.get(f);if(!m){t.push(new E({id:`${r.id}--${f}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity with id "${f}" that doesn't exist in the project.`,issue:null}));return}const b=Rt(m,e);if(o)Da(o,b,e)?(Ne.includes(r.type)&&((r.calledBySuccess||[]).find(I=>I===m.id)?(m.successCalls||[]).find(C=>Ne.includes(C.type))&&t.push(new E({id:`${r.id}--${m.id}--${A.UnreachableEntity}`,code:A.UnreachableEntity,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}" is being called by an entity of type "${m.type}" with id "${m.id}" that already calls a termination statement.
259
259
  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})):(r.calledByError||[]).find(I=>I===m.id)?(m.errorCalls||[]).find(C=>Ne.includes(C.type))&&t.push(new E({id:`${r.id}--${m.id}--${A.UnreachableEntity}`,code:A.UnreachableEntity,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}" is being called by an entity of type "${m.type}" with id "${m.id}" that already calls a termination statement.
260
260
  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})):(r.calledByEntry||[]).find(I=>I===m.id)&&(m.calls||[]).find(C=>Ne.includes(C.type))&&t.push(new E({id:`${r.id}--${m.id}--${A.UnreachableEntity}`,code:A.UnreachableEntity,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}" is being called by an entity of type "${m.type}" with id "${m.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 (entry-point), at the same time.`,issue:null}))),l.push({caller:m,scope:b})):p.push({caller:m,scope:b,errors:[new E({id:`${r.id}--${m.id}--${h.CallerWithIncompatibleScope}`,code:h.CallerWithIncompatibleScope,severity:T.Warning,message:`Entity of type "${r.type}" with id "${r.id}" is being called by an entity of type "${m.type}" with id "${m.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(!y)y=b;else{const{compatible:g}=Da(y,b,e);g?(Ne.includes(r.type)&&((r.calledBySuccess||[]).find(I=>I===m.id)?(m.successCalls||[]).find(C=>Ne.includes(C.type))&&t.push(new E({id:`${r.id}--${m.id}--${A.UnreachableEntity}`,code:A.UnreachableEntity,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}" is being called by an entity of type "${m.type}" with id "${m.id}" that already calls a termination statement.
@@ -289,7 +289,7 @@ ${Cd}`,issue:null})):a.push(new E({id:`${o.id}--${h.InvalidReference}`,code:h.In
289
289
  ${Od}`,issue:null})),delete s.readsValue);o.writesValues&&(Ve.includes(o.type)?a.push(new E({id:`${o.id}--${h.InvalidReference}`,code:h.InvalidReference,severity:T.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.
290
290
  ${Bd}`,issue:null})):a.push(new E({id:`${o.id}--${h.InvalidReference}`,code:h.InvalidReference,severity:T.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.
291
291
  ${po}
292
- ${Bd}`,issue:null})),delete s.writesValues);const p=Pv(o,t);delete s.calledByError,delete s.calledBySuccess,delete s.calledByEntry,a.push(...p.errors),o=p.modifiedData}const l=Object.entries(s);for(const[p,y]of l){const f=y.types,m=y.optional,b=o[p];if(!b){m||a.push(new E({id:`${o.id}--${p}--${A.InvalidObjectStructure}`,code:A.InvalidObjectStructure,severity:T.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 ${L(f,", "," or ")}`,issue:null}));continue}if(y.list)if(Array.isArray(b))for(const g of b){const I=Pd(o,{key:p,types:f,optional:m},t);a.push(...I)}else{a.push(new E({id:`${o.id}--${p}--${h.ContainsSingleButShouldBeReferenceList}`,code:h.ContainsSingleButShouldBeReferenceList,severity:T.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}--${h.ContainsListButShouldReferenceSingle}`,code:h.ContainsListButShouldReferenceSingle,severity:T.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 g=Pd(o,{key:p,types:f,optional:m},t);a.push(...g)}}return{errors:a,modifiedData:o}}function f3(n,e,t="calledBy"){const r=[];if(!n)return[];const a=e.get(n);if(!a)return r.push(new E({id:`${n}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.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})),r;if([...$e,...Me].includes(a.type))return[];if(Ne.includes(a.type)){const s=a.calledBy||[],o=s.length?`
292
+ ${Bd}`,issue:null})),delete s.writesValues);const p=Pv(o,t);delete s.calledByError,delete s.calledBySuccess,delete s.calledByEntry,a.push(...p.errors),o=p.modifiedData}const l=Object.entries(s);for(const[p,y]of l){const f=y.types,m=y.optional,b=o[p];if(!b){m||a.push(new E({id:`${o.id}--${p}--${A.InvalidObjectStructure}`,code:A.InvalidObjectStructure,severity:T.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 ${L(f,", "," or ")}`,issue:null}));continue}if(y.list)if(Array.isArray(b))for(const g of b){const I=Pd(o,{key:p,types:f,optional:m},t);a.push(...I)}else{a.push(new E({id:`${o.id}--${p}--${h.ContainsSingleButShouldBeReferenceList}`,code:h.ContainsSingleButShouldBeReferenceList,severity:T.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}--${h.ContainsListButShouldReferenceSingle}`,code:h.ContainsListButShouldReferenceSingle,severity:T.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 g=Pd(o,{key:p,types:f,optional:m},t);a.push(...g)}}return{errors:a,modifiedData:o}}function f3(n,e,t="calledBy"){const r=[];if(!n)return[];const a=e.get(n);if(!a)return r.push(new E({id:`${n}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.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})),r;if([...$e,..._e].includes(a.type))return[];if(Ne.includes(a.type)){const s=a.calledBy||[],o=s.length?`
293
293
 
294
294
  This ${a.type} is called by ${L(s.map(l=>`${l.type} with id "${l.id}"`),", "," and ")} entities. You can reference ${s.length>1?"one of them":"it"} instead to execute this entity before the end of the logic.`:"";r.push(new E({id:`last-action--${a.id}--${h.InvalidReference}`,code:h.InvalidReference,severity:T.Error,message:`Entity with id '${a.id}' referenced in '${t}' property is of type '${a.type}'.
295
295
  ${a.type} entities are the last entity to be executed in a logic chain, and they don't call any other entities.
@@ -298,7 +298,7 @@ All caller entity types are: ${L(cn,", "," and ")}.`,issue:null}));return r}func
298
298
 
299
299
  This ${a.type} is called by ${L(s.map(l=>`${l.type} with id "${l.id}"`),", "," and ")} entities. You can reference ${s.length>1?"one of them":"it"} instead to execute this entity before the end of the logic.`:"";r.push(new E({id:`last-action--${a.id}--${h.InvalidReference}`,code:h.InvalidReference,severity:T.Error,message:`Entity with id '${a.id}' referenced in '${t}' property is of type '${a.type}'.
300
300
  ${a.type} entities are the last entity to be executed in a logic chain, and they don't call any other entities.
301
- Termination entities are ${L(Ne,", "," and ")}.${o}`,issue:null}))}else Me.includes(a.type)?r.push(new E({id:`last-action--${a.id}--${h.InvalidReference}`,code:h.InvalidReference,severity:T.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.
301
+ Termination entities are ${L(Ne,", "," and ")}.${o}`,issue:null}))}else _e.includes(a.type)?r.push(new E({id:`last-action--${a.id}--${h.InvalidReference}`,code:h.InvalidReference,severity:T.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.
302
302
  ${ga}`,issue:null})):r.push(new E({id:`last-action--${a.id}--${h.InvalidReference}`,code:h.InvalidReference,severity:T.Error,message:`Entity with id '${a.id}' referenced in '${t}' property is of type '${a.type}' which is not a valid caller entity type.
303
303
  For any error branch caller, for the 'calledByError' property of an entity, you specifically need to reference a pass-through callable entity.
304
304
  ${kn}`,issue:null}));return r}function T3(n,e){const t=[],r=e.get(n);if(!r)t.push(new E({id:`last-action--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.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(r.type===i.PrimitiveValue){const s=r.parent;let o=!1;if(s.type===i.InputMap)t.push(new E({id:`last-action--${r.id}--${h.InvalidReference}`,code:h.InvalidReference,severity:T.Error,message:`The 'readsValue' property references an entity with id "${r.id}" that is a primitive value entity. Primitive value entities aren't value writting entities.
@@ -353,21 +353,21 @@ ${a} is not a template, but ${o} is. A data type that provides an entity as a "t
353
353
  Their 'entity' property is of different types. They must be of the same type to be connected. For example, the 'entity' can be a '${i.CustomEntity}' or a '${i.PrimitiveEntity}'.`:t.type===Ft.IncompatibleCustomEntities?`${l}
354
354
  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===Ft.IncompatiblePrimitiveEntities?`${l}
355
355
  ${a} is of primitive type '${((p=n.getDataType())==null?void 0:p.entity).name}' and ${o} is of primitive type '${((y=e.getDataType())==null?void 0:y.entity).name}'. They must be of the same primitive type to be connected.`:t.type===Ft.IncompatibleBuiltInBaseEntities?`${l}
356
- Both point to a built-in-base-entity. But${a} is of built-in base type '${((f=n.getDataType())==null?void 0:f.entity).name}' and ${o} is of built-in base type '${((m=e.getDataType())==null?void 0:m.entity).name}'. They must be of the same built-in base type to be connected.`:l}function va(n,e){const t=[];if(n.readsValue){const r=e.project.get(B(n.readsValue));if(e.project.getBuiltIn(B(n.readsValue)))t.push(new E({id:`${e.id}--${h.InvalidBuiltInEntityReference}`,code:h.InvalidBuiltInEntityReference,severity:T.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(!r)t.push(new E({id:`${e.id}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.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=Yn(r);if(s)t.push(new E({id:`${e.id}--${h.InvalidBuiltInEntityReference}`,code:h.InvalidBuiltInEntityReference,severity:T.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}' (${S(s,e.project)}) higher up in the tree.`,issue:null}));else{const o=wd({...e.toGenerationTarget(),...n},r);t.push(...o);const l=Yt(e.getDataType(),r.getDataType());l.compatible||t.push(new E({id:`${e.id}--${A.ReaderWriterIncompatibleDataType}`,code:A.ReaderWriterIncompatibleDataType,severity:T.Error,message:Cv(e,r,l),issue:null}))}}}return{errors:t,modifiedData:n}}function Dn(n){const e=[];if(n.parent===n.project)n.calledBy.length||e.push(new lr({id:`${n.id}--${_.DisconnectedCallableEntity}`,code:_.DisconnectedCallableEntity,severity:T.Warning,message:`This '${n.type}' entity "${S(n,n.project)}" with id "${n.id}" is globally declared and isn't called by any other entity.
356
+ Both point to a built-in-base-entity. But${a} is of built-in base type '${((f=n.getDataType())==null?void 0:f.entity).name}' and ${o} is of built-in base type '${((m=e.getDataType())==null?void 0:m.entity).name}'. They must be of the same built-in base type to be connected.`:l}function va(n,e){const t=[];if(n.readsValue){const r=e.project.get(B(n.readsValue));if(e.project.getBuiltIn(B(n.readsValue)))t.push(new E({id:`${e.id}--${h.InvalidBuiltInEntityReference}`,code:h.InvalidBuiltInEntityReference,severity:T.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(!r)t.push(new E({id:`${e.id}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.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=Yn(r);if(s)t.push(new E({id:`${e.id}--${h.InvalidBuiltInEntityReference}`,code:h.InvalidBuiltInEntityReference,severity:T.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}' (${S(s,e.project)}) higher up in the tree.`,issue:null}));else{const o=wd({...e.toGenerationTarget(),...n},r);t.push(...o);const l=Yt(e.getDataType(),r.getDataType());l.compatible||t.push(new E({id:`${e.id}--${A.ReaderWriterIncompatibleDataType}`,code:A.ReaderWriterIncompatibleDataType,severity:T.Error,message:Cv(e,r,l),issue:null}))}}}return{errors:t,modifiedData:n}}function Dn(n){const e=[];if(n.parent===n.project)n.calledBy.length||e.push(new lr({id:`${n.id}--${M.DisconnectedCallableEntity}`,code:M.DisconnectedCallableEntity,severity:T.Warning,message:`This '${n.type}' entity "${S(n,n.project)}" with id "${n.id}" is globally declared and isn't called by any other entity.
357
357
  Globally declared callable entities will not be part of any logic execution when the project is published.
358
358
  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 '${i.GlobalEvent}' or '${i.FunctionDeclaration}'.
359
359
  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.
360
360
  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=Aa(n);if(!t.reachable){let r=`This '${n.type}' entity "${S(n,n.project)}" with id "${n.id}" is not reachable from the project's closest entry point '${t.entryPoint.type}' "${S(t.entryPoint,n.project)}".`;r+=`
361
361
  This is because there are termination statements in the call chain before reaching this '${n.type}'.
362
362
  If a caller entity calls a termination statement, it will always prevent all other calls from executing.`;let a=`
363
- This '${n.type}' is blocked `;t.blocks.forEach((s,o)=>{const l=s.blockedByCaller,p=s.blockedByCalling;o===0?a+="by ":o===t.blocks.length-1&&(a+="and by "),a+=`its ancestor "${S(l,n.project)}" with id "${l.id}" that calls a '${p.type}' entity with id "${p.id}"`,o<t.blocks.length-1?a+=", ":a+="."}),e.push(new lr({id:`${n.id}--${A.UnreachableEntity}`,code:A.UnreachableEntity,severity:T.Warning,message:`${r}${a}`,issue:null,entity:n}))}}return ne(n.errors,e)}function _d(n){const e=[];if(!n.internalCalls.length)return e;if(n.readsValue){const t=H({id:`${n.id}--${_.VariableReadsValueAndInternalCall}`,message:`Variable "${S(n,n.project)}" with id "${n.id}" reads a value. A variable with internal calls can't read a value.`,issue:null,severity:T.Error,code:_.VariableReadsValueAndInternalCall,entity:n});e.push(t.error)}if(n.writesValues.length){const t=H({id:`${n.id}--${_.VariableWritesValuesAndInternalCall}`,message:`Variable "${S(n,n.project)}" with id "${n.id}" writes values. A variable with internal calls can't write a value.`,issue:null,severity:T.Error,code:_.VariableWritesValuesAndInternalCall,entity:n});e.push(t.error)}if(n.getUsedInputs().length){const t=H({id:`${n.id}--${_.VariableHasInputsAndInternalCall}`,message:`Variable "${S(n,n.project)}" with id "${n.id}" has inputs. A variable with internal calls can't have inputs.`,issue:null,severity:T.Error,code:_.VariableHasInputsAndInternalCall,entity:n});e.push(t.error)}if(n.getUsedOutputs().length){const t=H({id:`${n.id}--${_.VariableHasOutputsAndInternalCall}`,message:`Variable "${S(n,n.project)}" with id "${n.id}" has outputs. A variable with internal calls can't have outputs.`,issue:null,severity:T.Error,code:_.VariableHasOutputsAndInternalCall,entity:n});e.push(t.error)}if(n.calledBy.length){const t=H({id:`${n.id}--${_.VariableIsCalledAndHasInternalCall}`,message:`Variable "${S(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:T.Error,code:_.VariableIsCalledAndHasInternalCall,entity:n});e.push(t.error)}if([...n.successCalls,...n.errorCalls].length){const t=H({id:`${n.id}--${_.VariableCallsOthersAndHasInternalCall}`,message:`Variable "${S(n,n.project)}" with id "${n.id}" calls other entities. A variable with internal calls can't call other entities.`,issue:null,severity:T.Error,code:_.VariableCallsOthersAndHasInternalCall,entity:n});e.push(t.error)}return e}function g3(n){var o;const e=SU(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(l=>l.validate()),n.outputs.forEach(l=>l.validate()),(o=n.error)==null||o.validate();const s=[...Dn(n)];return ne(n.errors,s)}const De=class De{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"x");c(this,"y");c(this,"type",i.FunctionCall);c(this,"successCalls",[]);c(this,"errorCalls",[]);c(this,"process",null);c(this,"declaration");c(this,"inputs",[]);c(this,"outputs",[]);c(this,"calledBySuccess",[]);c(this,"calledByError",[]);c(this,"calledByEntry",[]);c(this,"error",null);c(this,"parent");c(this,"errors",[]);c(this,"project");c(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 r=t;if(e.parent){const m=B(e.parent);r=t.get(m)}const a=B(e.declaration),s=t.get(a),o=e.calledByEntry.map(m=>{const b=B(m);return t.get(b)}),l=e.calledBySuccess.map(m=>{const b=B(m);return t.get(b)}),p=e.calledByError.map(m=>{const b=B(m);return t.get(b)}),y={id:e.id,version:1,type:i.FunctionCall,declaration:s.toReference(),calledByEntry:o,calledBySuccess:l,calledByError:p,errorCalls:[],successCalls:[],inputs:[],outputs:[],process:null,error:null,x:0,y:0,parent:r},f=R(y,t);return f.setParent(r),f.initChildren(),f}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[...dt,i.Project],optional:!0}},t);r=s.modifiedData,a.push(...s.errors,...Be(r));const o=B(r.declaration);if(o){const l=Sv(o,t);a.push(...l)}else{const l=t.functions.length?`
363
+ This '${n.type}' is blocked `;t.blocks.forEach((s,o)=>{const l=s.blockedByCaller,p=s.blockedByCalling;o===0?a+="by ":o===t.blocks.length-1&&(a+="and by "),a+=`its ancestor "${S(l,n.project)}" with id "${l.id}" that calls a '${p.type}' entity with id "${p.id}"`,o<t.blocks.length-1?a+=", ":a+="."}),e.push(new lr({id:`${n.id}--${A.UnreachableEntity}`,code:A.UnreachableEntity,severity:T.Warning,message:`${r}${a}`,issue:null,entity:n}))}}return ne(n.errors,e)}function Md(n){const e=[];if(!n.internalCalls.length)return e;if(n.readsValue){const t=H({id:`${n.id}--${M.VariableReadsValueAndInternalCall}`,message:`Variable "${S(n,n.project)}" with id "${n.id}" reads a value. A variable with internal calls can't read a value.`,issue:null,severity:T.Error,code:M.VariableReadsValueAndInternalCall,entity:n});e.push(t.error)}if(n.writesValues.length){const t=H({id:`${n.id}--${M.VariableWritesValuesAndInternalCall}`,message:`Variable "${S(n,n.project)}" with id "${n.id}" writes values. A variable with internal calls can't write a value.`,issue:null,severity:T.Error,code:M.VariableWritesValuesAndInternalCall,entity:n});e.push(t.error)}if(n.getUsedInputs().length){const t=H({id:`${n.id}--${M.VariableHasInputsAndInternalCall}`,message:`Variable "${S(n,n.project)}" with id "${n.id}" has inputs. A variable with internal calls can't have inputs.`,issue:null,severity:T.Error,code:M.VariableHasInputsAndInternalCall,entity:n});e.push(t.error)}if(n.getUsedOutputs().length){const t=H({id:`${n.id}--${M.VariableHasOutputsAndInternalCall}`,message:`Variable "${S(n,n.project)}" with id "${n.id}" has outputs. A variable with internal calls can't have outputs.`,issue:null,severity:T.Error,code:M.VariableHasOutputsAndInternalCall,entity:n});e.push(t.error)}if(n.calledBy.length){const t=H({id:`${n.id}--${M.VariableIsCalledAndHasInternalCall}`,message:`Variable "${S(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:T.Error,code:M.VariableIsCalledAndHasInternalCall,entity:n});e.push(t.error)}if([...n.successCalls,...n.errorCalls].length){const t=H({id:`${n.id}--${M.VariableCallsOthersAndHasInternalCall}`,message:`Variable "${S(n,n.project)}" with id "${n.id}" calls other entities. A variable with internal calls can't call other entities.`,issue:null,severity:T.Error,code:M.VariableCallsOthersAndHasInternalCall,entity:n});e.push(t.error)}return e}function g3(n){var o;const e=SU(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(l=>l.validate()),n.outputs.forEach(l=>l.validate()),(o=n.error)==null||o.validate();const s=[...Dn(n)];return ne(n.errors,s)}const De=class De{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"x");c(this,"y");c(this,"type",i.FunctionCall);c(this,"successCalls",[]);c(this,"errorCalls",[]);c(this,"process",null);c(this,"declaration");c(this,"inputs",[]);c(this,"outputs",[]);c(this,"calledBySuccess",[]);c(this,"calledByError",[]);c(this,"calledByEntry",[]);c(this,"error",null);c(this,"parent");c(this,"errors",[]);c(this,"project");c(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 r=t;if(e.parent){const m=B(e.parent);r=t.get(m)}const a=B(e.declaration),s=t.get(a),o=e.calledByEntry.map(m=>{const b=B(m);return t.get(b)}),l=e.calledBySuccess.map(m=>{const b=B(m);return t.get(b)}),p=e.calledByError.map(m=>{const b=B(m);return t.get(b)}),y={id:e.id,version:1,type:i.FunctionCall,declaration:s.toReference(),calledByEntry:o,calledBySuccess:l,calledByError:p,errorCalls:[],successCalls:[],inputs:[],outputs:[],process:null,error:null,x:0,y:0,parent:r},f=R(y,t);return f.setParent(r),f.initChildren(),f}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=ke(r,{parent:{list:!1,types:[...dt,i.Project],optional:!0}},t);r=s.modifiedData,a.push(...s.errors,...Be(r));const o=B(r.declaration);if(o){const l=Sv(o,t);a.push(...l)}else{const l=t.functions.length?`
364
364
  All global 'function-declaration' entity ids are:
365
365
  - ${t.functions.map(p=>`${p.id} (${S(p,t)})`).join(`
366
366
  - `)}.`:`
367
367
  The project currently has no global 'function-declaration' entities that can be called as 'function-call' entities.`;a.push(new E({id:`${r.id}--${h.InvalidReference}`,code:h.InvalidReference,severity:T.Error,message:`Entity of type "${i.FunctionCall}" with id "${r.id}", has an invalid reference at the 'declaration' property. The 'declaration' property must be a valid reference to an 'function-declaration' entity.
368
368
  References can either be an ID string or an object with exacly four properties: 'id', 'entityId', 'entityType', 'type'.${l}`,issue:null}))}return{errors:a,modifiedData:r}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
369
369
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
370
- 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 t;const e=[this];return this.parent===this.project&&this.project.addFunctionCall(this),(t=this.process)==null||t.writesValues.forEach(r=>{r.setValueWriter(this.process),e.push(r)}),this.successCalls.forEach(r=>{r.addSuccessCaller(this),e.push(r)}),this.errorCalls.forEach(r=>{r.addErrorCaller(this),e.push(r)}),this.calledBySuccess.forEach(r=>{r.addSuccessCall(this),e.push(r)}),this.calledByError.forEach(r=>{r.addErrorCall(this),e.push(r)}),this.calledByEntry.forEach(r=>{r.addCall(this),e.push(r)}),{affected:v(e),self:this}}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(r=>r.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(r=>r.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const r=this.errorCalls.findIndex(a=>a.id===e.id);return r>-1&&this.errorCalls.splice(r,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.declaration.type===i.FunctionDeclaration){const e=R(this.initialData.declaration,this.project);this.declaration=e}else{const e=B(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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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 r=Ld(this).filter(s=>!this.outputs.find(o=>o.declaration.id===s.id));r.sort((s,o)=>s.index-o.index);const a=r.map((s,o)=>{const l=e.includes(s.index)?this.outputs.length-1+o:s.index,p={id:w.UUID.uuid(),type:i.OutputMap,version:1,declaration:s,index:l,parent:this,writesValues:[]},y=R(p,this.project);return y.setParent(this),y.initChildren(),y});return this.outputs.push(...a),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){var s;const r=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:l}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}if(this.inputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),this.outputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),this.error){const{affected:o,removed:l}=this.error.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}return this.successCalls.forEach(o=>{r.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{r.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{r.push(o),o.removeCall(this)}),{affected:v(r),removed:v(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:r}=this.process.restore({seenEntities:e});t.push(...r)}return this.inputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(r=>{t.push(r),r.addSuccessCaller(this)}),this.errorCalls.forEach(r=>{t.push(r),r.addErrorCaller(this)}),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:v(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(r=>r.toFlat(e)),...this.errorCalls.flatMap(r=>r.toFlat(e)),...this.inputs.flatMap(r=>r.toFlat(e)),...this.outputs.flatMap(r=>r.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(r=>r.toFlatIds(e)),...this.errorCalls.flatMap(r=>r.toFlatIds(e)),...this.inputs.flatMap(r=>r.toFlatIds(e)),...this.outputs.flatMap(r=>r.toFlatIds(e))])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,successCalls:this.successCalls.map(r=>r.toJSON()),errorCalls:this.errorCalls.map(r=>r.toJSON()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(r=>r.toJSON()),outputs:this.outputs.map(r=>r.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON()}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,process:this.process?this.process.toReference():null,inputs:this.inputs.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),declaration:this.declaration.toReference(),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.successCalls.flatMap(r=>r.toFlatJSON(e)),...this.errorCalls.flatMap(r=>r.toFlatJSON(e)),...this.inputs.flatMap(r=>r.toFlatJSON(e)),...this.outputs.flatMap(r=>r.toFlatJSON(e)),...this.process?this.process.toFlatJSON(e):[],...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===i.Project?void 0:this.parent.id;return{id:this.id,version:this.version,type:this.type,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),declaration:this.declaration.id,parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.successCalls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.inputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.outputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.process?this.process.toFlatGenerationTarget(e):[],...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(r=>r.clearErrors()),this.outputs.forEach(r=>r.clearErrors()),this.successCalls.forEach(r=>r.clearErrors()),this.errorCalls.forEach(r=>r.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=g3(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 De(this.toJSON(),this.project)}};c(De,"MUTABLE_BASE_PROPERTIES",[]),c(De,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(De,"BASE_PROPERTIES",[...De.MUTABLE_BASE_PROPERTIES,...De.INMUTABLE_BASE_PROPERTIES]),c(De,"MUTABLE_META_PROPERTIES",["x","y"]),c(De,"INMUTABLE_META_PROPERTIES",[...De.INMUTABLE_BASE_PROPERTIES]),c(De,"META_PROPERTIES",[...De.MUTABLE_META_PROPERTIES,...De.INMUTABLE_META_PROPERTIES]),c(De,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),c(De,"INMUTABLE_UPSTREAM_PROPERTIES",["declaration","parent"]),c(De,"UPSTREAM_PROPERTIES",[...De.MUTABLE_UPSTREAM_PROPERTIES,...De.INMUTABLE_UPSTREAM_PROPERTIES]),c(De,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","writesValues","inputs","outputs","error"]),c(De,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(De,"DOWNSTREAM_PROPERTIES",[...De.MUTABLE_DOWNSTREAM_PROPERTIES,...De.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(De,"PROPERTIES",[...De.META_PROPERTIES,...De.UPSTREAM_PROPERTIES,...De.DOWNSTREAM_PROPERTIES]);let wr=De;function Bv(n){var e,t,r;switch(n.id){case x["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const a=n.project.entities.filter(f=>!!f.implements.find(m=>m.id===x["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id));if(a.find(f=>!!f.properties.find(m=>{var b;return m.implements&&m.implements.id===x["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id&&((b=m.getDefaultValue())==null?void 0:b.value)===!0}))){const m=a[0].properties.find(g=>g.implements&&g.implements.id===x["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id),b=(e=m==null?void 0:m.dataType)==null?void 0:e.defaultValue;if(b)b.value=!0;else if(m!=null&&m.dataType){const g=(t=m==null?void 0:m.dataType)==null?void 0:t.id.split("-id")[0],I=R({id:g+"-default-value-id",version:1,type:i.PrimitiveValue,name:P.EntityTemplate,autogeneration:null,value:!0,valueAsType:null,parent:m==null?void 0:m.dataType.toReference()},n.project);return I.setParent(m==null?void 0:m.dataType),I.initChildren(),I.addSelfToProject(),{newEntities:[I]}}return{newEntities:[]}}const o=n.project.get(x["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id),l=To(o,"Main database");if(l.errors.length>0)return{newEntities:[]};const p=l.implemented.properties.find(f=>f.implements&&f.implements.id===x["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id),y=(r=p==null?void 0:p.dataType)==null?void 0:r.defaultValue;if(y)y.value=!0;else if(p!=null&&p.dataType){const f=p==null?void 0:p.dataType.id.split("-id")[0],m=R({id:f+"-default-value-id",version:1,type:i.PrimitiveValue,name:P.EntityTemplate,autogeneration:null,value:!0,valueAsType:null,parent:p==null?void 0:p.dataType.toReference()},n.project);m.setParent(p==null?void 0:p.dataType),m.initChildren(),m.addSelfToProject()}return{newEntities:[l.implemented]}}}return{newEntities:[]}}function wv(n){return n.implements.filter(t=>t.type===i.BuiltInBaseEntity).map(t=>{var r;switch(t.id){case x["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const s=n.project.entities.filter(p=>p.implements.find(y=>y.id===x["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id)).find(p=>!!p.properties.find(y=>{var f;return y.implements&&y.implements.id===x["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id&&((f=y.getDefaultValue())==null?void 0:f.value)===!0}));if(!s)return{newEntities:[]};const o=n.properties.find(p=>p.implements&&p.implements.id===x["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.properties.database.id),l=(r=o==null?void 0:o.dataType)==null?void 0:r.defaultValue;if(o&&(o!=null&&o.dataType)&&!l){const p=o==null?void 0:o.dataType.id.split("-id")[0],y=R({id:p+"-default-value-id",version:1,type:i.PrimitiveValue,name:P.EntityTemplate,autogeneration:null,value:null,valueAsType:s,parent:o==null?void 0:o.dataType.toReference()},n.project);return y.setParent(o==null?void 0:o.dataType),y.initChildren(),y.addSelfToProject(),{newEntities:[y]}}return{newEntities:[]}}}}),{newEntities:[]}}function To(n,e,t){const r=t||Qe(e,i.CustomEntity,n.project),a=r.split("-id"),s=a[a.length-1||0]||r,o={id:r,version:1,name:e,type:i.CustomEntity,description:null,static:!1,abstract:!1,properties:[],methods:[],abstractMethods:[],extends:[],implements:[n],x:0,y:0,parent:n.project},l=oo(o,n.project);if(l.length>0)return{errors:l,implemented:null,entitiesChanges:{new:[],updated:[],deleted:[]}};const p=Bv(n),y=R(o,n.project);y.setParent(n.project),y.initChildren();const f=n.properties.map(g=>{const I=s+"-"+Qe(S(g,n.project),i.Property,n.project),D=g.clone(y,I);return D.abstract=!1,D.implements=g,D.setParent(y),y.addProperty(D),D}),m=n.abstractMethods.map(g=>{const I=s+Qe(g.name,i.FunctionDeclaration,n.project),D=g.implementAsFunctionDeclaration(I),C={id:I+"-parent-ref-id",type:i.GenericReference,entityId:r,entityType:i.CustomEntity},Y={...D,implements:g,parent:C},G=R(Y,n.project);return y.addMethod(G),G.setParent(y),G.initChildren(),G.implements=g,G});o.properties=f,o.methods=m;const b=wv(y);return{implemented:y,errors:[],entitiesChanges:{new:[y,...p.newEntities,...b.newEntities],updated:[y],deleted:[]}}}function Eo(n,e){const t=_r(n);if(t.length===0)return{list:[],last:null};let r=null;return{list:t.flatMap(s=>{if(s===e)return r=s,[s];const o=Eo(s,e);return o.last&&(r=o.last),[s,...o.list]}),last:r}}function _v(n,e,t=new Set){const r=Wn(n),a=Wn(e),s=r.filter(p=>!a.includes(p)),o=r.filter(p=>a.includes(p)),l=s.reduce((p,y)=>t.has(y.id)?p:(t.add(y.id),v([...p,..._v(y,e,t)])),[]);return v([...o,...l])}function Ia(n,e){const t=Eo(n,e);return t.last===e&&t.list.length>0&&t.list[0]!==e}function v3(n,e){return!!Eo(n,e).last}function I3(n){if(Me.includes(n.type))return n;if([...Pn,i.VariableDeclaration].includes(n.type)){const e=n.parent;return Me.includes(e.type)?e:null}return null}function Md(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===i.Project)return null}else return null;const r=e.parent;if(r){if(r===n)return n;if(r.type===i.Project)return null}else return null;return Md(t,r)}function ze(n){if(Co.includes(n.type)){if(n.type===i.FunctionDeclaration){const e=n.parent;if(e.type===i.CustomEntity)return e}return n}else{const e=n.parent;return e?ze(e):null}}function D3(n){return n.type===i.VariableDeclaration?[n]:$e.includes(n.type)?[...n.inputs,...n.outputs||[]]:n.type===i.ReturnStatement?n.outputs:$r.includes(n.type)||n.type===i.FunctionDeclaration?n.inputs:[]}function P3(n){const e=Wn(n),t=[],r=[];Hd.includes(n.type)&&t.push(...Nd(n));const a=e.filter(s=>{const o=t.includes(s);return o?!1:Pn.includes(s.type)&&!o?(r.push(s),!1):!0});return t.sort((s,o)=>Ia(o,s)?-1:0),r.sort((s,o)=>Ia(o,s)?-1:0),[...t,...r,...a]}function Mv(n){return[...n].sort((e,t)=>Ia(t,e)?-1:0)}function A3(n){const e=Mv(n),t=[];return e.forEach(r=>{const a=t[t.length-1];if(a){const s=a[a.length-1];Ia(r,s)?t.push([r]):a.push(r)}else t.push([r])}),t}function Et(n){const e=n.map(t=>ze(t));return v(e)}function Nd(n){return $e.includes(n.type)?[...Et(n.successCalls),...Et(n.errorCalls)]:Me.includes(n.type)?Et(n.calls):[]}function S3(n,e){return Nd(n).includes(e)}function Vd(n){return n.writesValues||[]}function O3(n,e){return Vd(n).includes(e)}function Nv(n){var e;return je.includes((e=n==null?void 0:n.readsValue)==null?void 0:e.type)?n.readsValue:null}function C3(n){return n.writesValues}function Vv(n=[]){return n.map(Nv).filter(e=>!!e)}function Ro(n=[]){return n.map(e=>e.writesValues).flat().filter(e=>je.includes(e.type))}function $v(n=[]){return n.map(e=>e.readsValue).filter(e=>!!e&&je.includes(e.type))}function Lv(n){return je.includes(n.type)?n:null}function Gv(n){return n.writesValues.map(Lv).filter(e=>!!e)}function Fv(n=[]){return n.reduce((e,t)=>t.type===i.OutputMap?[...e,...Gv(t)]:e,[])}function Se(n){return $e.includes(n.type)?[...on(Et(n.successCalls)),...on(Et(n.errorCalls))]:Me.includes(n.type)?on(Et(n.calls)):[]}function B3(n){return $e.includes(n.type)?[...on(Et(n.successCalls)),...on(Et(n.errorCalls))]:Me.includes(n.type)?on(Et(n.calls)):[]}function Uv(n,e=new Set){return n.writesValues.filter(r=>je.includes(r.type)&&!e.has(r.id)).reduce((r,a)=>e.has(a.id)?r:[...r,...te(a,e)],[])}function xv(n,e=new Set){var r;return(((r=n.readsValue)==null?void 0:r.writesValues)||[]).filter(a=>je.includes(a.type)&&!e.has(a.id)).reduce((a,s)=>e.has(s.id)?a:[...a,...te(s,e)],[])}function te(n,e=new Set){if(e.has(n.id))return[];if(n.type===i.ReturnStatement)return $v(n.outputs).reduce((r,a)=>[...r,...te(a,e)],[]);if(n.type===i.FunctionCall||n.type===i.Operation||n.type===i.Condition)return[...Se(n).reduce((s,o)=>{const l=ze(o);return[...s,...te(l||o,e)]},[]),...Vv(n.inputs),...Fv(n.outputs)].reduce((s,o)=>[...s,...te(o,e)],[]);if($r.includes(n.type)){const t=Ro(n.inputs),a=Se(n).reduce((s,o)=>{const l=ze(o);return[...s,...te(l||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...te(o,e)],[])}if(n.type===i.FunctionDeclaration){const t=[...Ro(n.inputs)],a=Se(n).reduce((s,o)=>{const l=ze(o);return[...s,...te(l||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...te(o)],[])}if(je.includes(n.type)){e.add(n.id);const r=Se(n).reduce((a,s)=>{const o=ze(s);return[...a,...te(o||s,e)]},[]);return[n,...r,...xv(n,e),...Uv(n,e)]}return[]}function St(n,e=new Set){return e.has(n.id)?[]:(e.add(n.id),[...Wn(n).reduce((a,s)=>[...a,s,...St(s,e)],[])])}function on(n){return n.reduce((e,t)=>t.type===i.ReturnStatement||t.type===i.ContinueStatement||t.type===i.BreakStatement?[...e,t]:[...e,t,...Se(t)],[])}function jv(n){const e=n.entities||[],t=[...e,...n.functions||[],...n.events||[],...n.projects||[]],r=e.reduce((p,y)=>[...p,...y.properties],[]),a=e.reduce((p,y)=>[...p,...y.methods],[]),s=a.reduce((p,y)=>[...p,...Ro(y.inputs),...on(Et(y.calls)),...y.returnStatements],[]),o=n.functions.reduce((p,y)=>[...p,...on(Et(y.calls)),...y.returnStatements],[]),l=n.events.reduce((p,y)=>[...p,...on(Et(y.calls)),...y.returnStatements],[]);return[...t,...r,...a,...s,...o,...l]}function kv(n,e){return e.filter(r=>{if(!r)return!1;switch(r.type){case i.FunctionCall:return r.inputs.find(a=>a.id===n.id)!==void 0||r.outputs.find(a=>a.id===n.id)!==void 0;case i.Condition:return r.successCalls.find(a=>a.id===n.id)!==void 0||r.errorCalls.find(a=>a.id===n.id)!==void 0||r.inputs.find(a=>a.id===n.id)!==void 0;case i.Operation:return r.outputs.find(a=>a.id===n.id)!==void 0;case i.VariableDeclaration:return $e.includes(n.type)?qv(n).find(s=>{var o;return((o=s.readsValue)==null?void 0:o.id)===r.id})!==void 0:!1;case i.CustomEntity:return r.properties.find(a=>a.id===n.id)!==void 0||r.methods.find(a=>a.id===n.id)!==void 0;case i.FunctionDeclaration:return r.inputs.find(a=>a.id===n.id)!==void 0||(r.returnStatements.map(a=>a.outputs).flat()||[]).find(a=>a.id===n.id)!==void 0;default:return!1}})}function w3(n){const e=jv(n.project);return kv(n,e)}function _r(n){const e=[];if(Pn.includes(n.type)){n.calledBy.forEach(a=>{const s=ze(a);s&&e.push(s)});const r=[...n.inputs||[],...n.outputs||[]].map(a=>Gd(a)).filter(a=>a!==null);e.push(...v(r))}if(je.includes(n.type)){const t=Gd(n);t&&e.push(t)}return v(e)}function $d(n){return n.type===i.FunctionCall||n.type===i.InternalCall?n.declaration.inputs:[i.Operation,i.Condition,i.Loop].includes(n.type)?n.declaration.fixedArguments:n.type===i.FunctionDeclaration||$r.includes(n.type)?n.inputs:n.type===i.Search?n.inputsDeclarations:[]}function _3(n,e){return e.type===i.Condition?e.inputs.find(t=>t.declaration.id===n.id):e.type===i.FunctionCall||e.type===i.Operation?e.inputs.find(t=>t.declaration.id===n.id):null}function qv(n){return $e.includes(n.type)?n.inputs:[]}function Ld(n){var e;return n.type===i.FunctionCall?((e=n.declaration.returnStatements[0])==null?void 0:e.outputs)||[]:[i.Operation,i.Condition,i.Loop].includes(n.type)?n.declaration.fixedReturns:n.type===i.Search?n.outputsDeclarations:Ne.includes(n.type)?n.outputs:[]}function M3(n,e){return e.type===i.Condition?null:e.type===i.FunctionCall||e.type===i.Operation?e.outputs.find(t=>t.declaration.id===n.id):null}function N3(n){return n.type===i.Condition?[]:$e.includes(n.type)?n.outputs:[]}function Gd(n){const e=n.readsValue;return e?ze(e):null}function Jv(n){const e=n.internalCalls||[];return v(Et(v(e.flatMap(t=>[...t.successCalls,...t.errorCalls]))))}function Ri(n){const e=Vd(n),t=[];return e.forEach(r=>{if(je.includes(r.type))t.push(r);else if(r.type===i.InputMap){const a=r.parent;if(a.type===i.InputMap){const s=a.parent;t.push(s)}else t.push(a)}else[i.ActionDescriptor].includes(r.parent.type)||t.push(r.parent)}),t}function v(n){const e=new Set;return n.filter(t=>!t||e.has(t.id)?!1:(e.add(t.id),!0))}function Wn(n,e=!1){const t=[];if(n.type===i.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)||[]),dt.includes(n.type)&&t.push(...(n==null?void 0:n.detachedChildren)||[]),n.type===i.CustomEntity){const r=[...n.suggestedMethods,...n.methods].flatMap(a=>a.collapsed&&e?[]:Wn(a));t.push(...r)}if(n.type===i.Condition){const r=n.successCalls.map(s=>ze(s)),a=n.errorCalls.map(s=>ze(s));t.push(...r,...a)}if($r.includes(n.type)){if(n.collapsed&&e)return[];const r=n.inputs.map(s=>Ri(s)).flat(),a=n.calls.map(s=>ze(s));t.push(...v(r),...a)}if($e.includes(n.type)&&n.type!==i.Condition){const r=n==null?void 0:n.outputs.map(o=>Ri(o)).flat(),a=n.successCalls.map(o=>ze(o)),s=n.errorCalls.map(o=>ze(o));t.push(...v(r),...a,...s)}if(je.includes(n.type)){const r=Ri(n),a=Jv(n);t.push(...r,...a)}if(n.type===i.Loop){const r=n.outputs.map(o=>Ri(o)).flat();if(n.body){const o=Wn(n.body,e);t.push(...o)}const a=n.errorCalls.map(o=>ze(o)),s=n.successCalls.map(o=>ze(o));t.push(...v(r),...s,...a)}if(n.type===i.FunctionDeclaration){if(n.collapsed&&e)return[];const r=n.inputs.map(s=>Ri(s)).flat(),a=n.calls.map(s=>ze(s));t.push(...v(r),...a)}return v(t)}function Wv(n,e=!1){const t=Wn(n,e),r=[...t,...t.reduce((a,s)=>[...a,...Wv(s,e)],[])];return v(r)}function Hv(n){const e=_r(n),t=[...e,...e.reduce((r,a)=>[...r,...Hv(a)],[])];return v(t)}function bo(n){return n.implements.reduce((e,t)=>t.type===i.CustomEntity?[...e,i.CustomEntity,...bo(t),...go(t)]:[...e,t.name],[])}function go(n){return n.extends.reduce((e,t)=>t.type===i.CustomEntity?[...e,i.CustomEntity,...go(t),...bo(t)]:[...e,t.name],[])}function Fd(n){return n.extends.reduce((e,t)=>t.type===i.CustomEntity?[...e,t,...Fd(t),...Ud(t)]:[...e,t],[])}function Ud(n){return n.implements.reduce((e,t)=>t.type===i.CustomEntity?[...e,t,...Ud(t),...Fd(t)]:[...e,t],[])}function Yv(n){return[...go(n),...bo(n)].filter((t,r,a)=>a.indexOf(t)===r)}function zv(n){return n.implements.length===0&&n.extends.length===0?null:n.implements.find(r=>r.type===i.BuiltInBaseEntity&&r.name===V.PERSISTED_ENTITY)?n:[...n.implements,...n.extends].reduce((r,a)=>{if(a.type===i.CustomEntity){const s=zv(a);if(s)return s}return r},null)}function V3(n){const e=n.extends.find(t=>t.type===i.BuiltInBaseEntity);return e&&e.type===i.BuiltInBaseEntity?e:null}function $3(n){const e=n.implements.find(t=>t.type===i.BuiltInBaseEntity);return e&&e.type===i.BuiltInBaseEntity?e:null}function Zv(n){const e=n.extends.find(t=>t.type===i.CustomEntity);return e&&e.type===i.CustomEntity?e:null}function Hn(n){const e=[...n.implements,...n.extends].reduce((t,r)=>r.type===i.BuiltInBaseEntity?[...t,r]:r.type===i.CustomEntity?[...t,...Hn(r)]:t,[]);return v(e)}function xd(n){return n.type===i.PrimitiveEntity?!0:n.type===i.BuiltInBaseEntity?n.interactive:!Hn(n).find(r=>!r.interactive)}function L3(n){return n.parent===n.project&&n.project.variableDeclarations.includes(n)}function jd(n){return n.parent!==n.project?!1:i.VariableDeclaration===n.type?n.project.variableDeclarations.includes(n):i.VariableInstance===n.type?n.project.variableInstances.includes(n):i.FunctionCall===n.type?n.project.functionCalls.includes(n):i.Condition===n.type?n.project.conditions.includes(n):i.Operation===n.type?n.project.operations.includes(n):i.Loop===n.type?n.project.loops.includes(n):i.Search===n.type?n.project.searches.includes(n):!1}function Xv(n){if([...Me,i.CustomEntity,i.InstalledProject,i.Project].includes(n.type)||jd(n))return!1;const e=_r(n);return e.length===0?!0:e.some(t=>Xv(t))}function kd(n){return[...Me,i.CustomEntity,i.InstalledProject,i.Project].includes(n.type)||jd(n)?!1:_r(n).length===0}function Qv(n,e=0){if(kd(n)){const t=_r(n);return t.length===0?n:t.map(a=>Qv(a,e+1)).reduce((a,s)=>a?s&&s.x<a.x?s:a:s,null)}return null}function Kv(n){const e=[];if(kd(n))e.push(n);else return[];return _r(n).forEach(r=>{e.push(...Kv(r))}),e}function eI(n){return n.type===i.FunctionDeclaration&&n.parent!==n.project&&!![i.CustomEntity,i.Loop,i.InstalledProject].includes(n.parent.type)}function G3(n,e){const t=new Map;return n.forEach(r=>{t.set(r.id,r)}),e.forEach(r=>{t.set(r.id,r)}),Array.from(t.values())}function vo(n){switch(n){case i.CustomEntity:return Mr;case i.FunctionDeclaration:return br;case i.VariableDeclaration:return Dr;case i.VariableInstance:return Pr;case i.FunctionCall:return wr;case i.Operation:return gr;case i.Condition:return Ir;case i.ReturnStatement:return Cr;case i.Loop:return vr;case i.Search:return Ar;case i.InputMap:return vn;case i.OutputMap:return In;case i.ArgumentDeclaration:return Or;case i.ReturnDeclaration:return Nt;case i.Property:return Rr;case i.InstalledProject:return Sr;case i.Project:return w;case i.BuiltInBaseEntity:return Ut;default:return null}}function Rt(n,e){if(dt.includes(n.type))return n;if(Lr.includes(n.type))return null;const t=n.parent;if(!t)return null;if(t.type===i.GenericReference){const r=B(t);if(!r)return null;const a=e.get(r);return a?Rt(a,e):null}else return t===e?e:Rt(t,e)}function qd(n,e){if(Lr.includes(n.type)||e.getAllBuiltInIds().includes(n.id))return null;const r=Vt(n.parent,e);return r?r===e?dt.includes(n.type)?n:null:r.type===i.CustomEntity?n:qd(r,e):null}function Io(n,e,t){if(n===e||e===t||n===t)return!1;const r=Rt(e.parent,t);return r===n?!0:Io(r,e,t)}var Do=(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))(Do||{});function Da(n,e,t){const r=Rt(n,t),a=Rt(e,t);if(!r)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(r===a&&r.type!==i.Project)return{compatible:!0,type:"same-both-local",commonAncestorScope:r};if(r===a&&r.type===i.Project)return{compatible:!0,type:"same-both-global",commonAncestorScope:r};if(r.type===i.Project&&a.type!==i.Project)return{compatible:!1,type:"a-is-global-b-is-not",commonAncestorScope:r};if(r.type!==i.Project&&a.type===i.Project)return{compatible:!1,type:"b-is-global-a-is-not",commonAncestorScope:a};if(Io(r,a,t))return{compatible:!0,type:"b-in-a",commonAncestorScope:r};if(Io(a,r,t))return{compatible:!0,type:"a-in-b",commonAncestorScope:a};const l=Md(r,a);return l===t?{compatible:!1,type:"parallel-in-project",commonAncestorScope:l}:l?{compatible:!1,type:"parallel-in-common-parent",commonAncestorScope:Rt(l,t)}:{compatible:!1,type:"parallel-in-project",commonAncestorScope:t}}function tI(n,e,t){const r=Da(n,e,t);if(!r.compatible||r.type!=="same-both-local")return null;if(n===e)return n;let a=Rt(n.parent,t);if(a){if(a===e)return e;if(a.type===i.Project)return n}else return n;for(;a;){if(a){if(a===e)return e;if(a.type===i.Project)return n}else return n;a=Rt(a.parent,t)}let s=Rt(e.parent,t);if(s){if(s===n)return n;if(s.type===i.Project)return e}else return e;for(;s;){if(s){if(s===n)return n;if(s.type===i.Project)return e}else return e;s=Rt(s.parent,t)}return null}function nI(n){return n.length===0?null:n.length===1?n[0]:n.reduce((t,r)=>{const a=tI(t,r,r.project);return!a||a===r?t:r},n[0])}function Vt(n,e){let t;return typeof n=="string"?t=n:n.type===i.GenericReference?t=B(n):t=n.id,t===e.id?e:e.get(t)}function Yn(n){if(Lr.includes(n.type))return n;if(n.type===i.Project)return null;if(n.project.getAllBuiltInIds().includes(n.id))return n;const t=n.parent;return!t||t.type===i.Project?null:Yn(t)}function Pa(n,e){var t;if(n.readsValue){const r=Vt(n.readsValue,e.project);e.setValueWriter(r),r.addValueReader(e)}else n.readsValue===null&&((t=e.readsValue)==null||t.removeValueReader(e),e.readsValue=null);return e}function Aa(n){const e=[];function t(s,o){return e.some(l=>l.blockedByCaller===s&&l.blockedByCalling===o)}function r(s,o){t(s,o)||e.push({blockedByCaller:s,blockedByCalling:o})}const a=qd(n,n.project);return n.calledBySuccess.forEach(s=>{[...s.successCalls||[]].forEach(p=>{Ne.includes(p.type)&&p!==n&&(Se(n).find(m=>m===p)||r(s,p))});let l;if($e.includes(s.type)&&(l=s),l){const p=Aa(l);p.reachable||Se(n).find(m=>m===s)||p.blocks.forEach(m=>{r(s,m.blockedByCalling)})}}),n.calledByError.forEach(s=>{[...s.errorCalls||[]].forEach(p=>{Ne.includes(p.type)&&p!==n&&(Se(n).find(m=>m===p)||r(s,p))});let l;if($e.includes(s.type)&&(l=s),l){const p=Aa(l);p.reachable||Se(n).find(m=>m===s)||p.blocks.forEach(m=>{r(s,m.blockedByCalling)})}}),n.calledByEntry.forEach(s=>{if([...s.calls||[]].forEach(p=>{Ne.includes(p.type)&&p!==n&&(Se(n).find(m=>m===p)||r(s,p))}),s===a)return;let l;if(s.type===i.FunctionDeclaration){const p=ze(s);if(p.type===i.CustomEntity)return;p.type===i.Loop&&(l=p)}if(l){const p=Aa(l);p.reachable||p.blocks.forEach(y=>{r(s,y.blockedByCalling)})}}),{reachable:e.length===0,entryPoint:a,blocks:e}}function F3(n){return Co.includes(n.type)?n.type===i.FunctionDeclaration?!eI(n):!0:!1}function U3(n){if(i.ActionDescriptor===n.type){if(n.project.operationDeclarations.find(s=>s.id===n.id))return i.Operation;if(n.project.globalEventActionDescriptors.find(s=>s.id===n.id))return i.GlobalEvent;if(n.project.loopDeclarations.find(s=>s.id===n.id))return i.Loop;if(n.project.conditionDeclarations.find(s=>s.id===n.id))return i.Condition}return n.type}function x3(n,e){const t=[];if(n.parent)if(n.id===n.parent)t.push(new E({id:`${n.id}--${n.parent}--${h.SelfReference}`,code:h.SelfReference,severity:T.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 r=e.get(n.parent);r?[i.Project,i.DataType].includes(r.type)||t.push(new E({id:`${n.id}--${n.parent}--${h.InvalidParentReference}`,code:h.InvalidParentReference,severity:T.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}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.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(r=>{if(n.id===r){t.push(new E({id:`${n.id}--${r}--${h.SelfReference}`,code:h.SelfReference,severity:T.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(r);a?[i.CustomEntity,i.BuiltInBaseEntity].includes(a.type)?a.abstract||t.push(new E({id:`${n.id}--${r}--${h.InvalidImplementsReference}`,code:h.InvalidImplementsReference,severity:T.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}--${r}--${h.InvalidImplementsReference}`,code:h.InvalidImplementsReference,severity:T.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}--${r}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${r}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}):t.push(new E({id:`${n.id}--${A.InvalidObjectStructure}`,code:A.InvalidObjectStructure,severity:T.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(r=>{const a=e.get(r);a?[i.CustomEntity,i.BuiltInBaseEntity].includes(a.type)?a.abstract&&t.push(new E({id:`${n.id}--${r}--${h.InvalidExtendsReference}`,code:h.InvalidExtendsReference,severity:T.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}--${r}--${h.InvalidExtendsReference}`,code:h.InvalidExtendsReference,severity:T.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}--${r}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${r}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}),t}const Pe=class Pe{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"x");c(this,"y");c(this,"static");c(this,"abstract");c(this,"type",i.CustomEntity);c(this,"properties",[]);c(this,"methods",[]);c(this,"abstractMethods",[]);c(this,"extends",[]);c(this,"implements",[]);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestedProperties",[]);c(this,"suggestedMethods",[]);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.x=e.x,this.y=e.y,this.static=e.static,this.abstract=e.abstract}static fromGenerationTarget(e,t){let r=t;if(e.parent){const p=B(e.parent);r=t.get(p)}const a=[];e.implements&&e.implements.forEach(p=>{a.push(t.get(p)||t.getBuiltIn(p))});const s=[];e.extends&&e.extends.forEach(p=>{s.push(t.get(p)||t.getBuiltIn(p))});const o={id:e.id,version:1,name:e.name,type:i.CustomEntity,description:e.description,static:e.static,abstract:e.abstract,properties:[],methods:[],abstractMethods:[],extends:s,implements:a,x:0,y:0,parent:r},l=R(o,t);return l.setParent(r),l.initChildren(),l}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=x3(r,t),o=oo(r,t);a.push(...s,...o,...Be(r));const l=r.parent?t.get(r.parent):null;if(l&&l.type===i.DataType){const p=l;p.entity&&a.push(new E({id:`${e.id}--${h.NewEntityWouldOverriteExisting}`,code:h.NewEntityWouldOverriteExisting,severity:T.Error,message:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${p.id}' because it already has an 'entity' child. Data type entities can only have one 'entity' as children.
370
+ 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 t;const e=[this];return this.parent===this.project&&this.project.addFunctionCall(this),(t=this.process)==null||t.writesValues.forEach(r=>{r.setValueWriter(this.process),e.push(r)}),this.successCalls.forEach(r=>{r.addSuccessCaller(this),e.push(r)}),this.errorCalls.forEach(r=>{r.addErrorCaller(this),e.push(r)}),this.calledBySuccess.forEach(r=>{r.addSuccessCall(this),e.push(r)}),this.calledByError.forEach(r=>{r.addErrorCall(this),e.push(r)}),this.calledByEntry.forEach(r=>{r.addCall(this),e.push(r)}),{affected:v(e),self:this}}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(r=>r.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(r=>r.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const r=this.errorCalls.findIndex(a=>a.id===e.id);return r>-1&&this.errorCalls.splice(r,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.declaration.type===i.FunctionDeclaration){const e=R(this.initialData.declaration,this.project);this.declaration=e}else{const e=B(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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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),[i.BreakStatement,i.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==i.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 r=Ld(this).filter(s=>!this.outputs.find(o=>o.declaration.id===s.id));r.sort((s,o)=>s.index-o.index);const a=r.map((s,o)=>{const l=e.includes(s.index)?this.outputs.length-1+o:s.index,p={id:w.UUID.uuid(),type:i.OutputMap,version:1,declaration:s,index:l,parent:this,writesValues:[]},y=R(p,this.project);return y.setParent(this),y.initChildren(),y});return this.outputs.push(...a),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){var s;const r=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:l}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}if(this.inputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),this.outputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});r.push(...l),a.push(...p)}),this.error){const{affected:o,removed:l}=this.error.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}return this.successCalls.forEach(o=>{r.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{r.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{r.push(o),o.removeCall(this)}),{affected:v(r),removed:v(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:r}=this.process.restore({seenEntities:e});t.push(...r)}return this.inputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(r=>{t.push(r),r.addSuccessCaller(this)}),this.errorCalls.forEach(r=>{t.push(r),r.addErrorCaller(this)}),this.calledBySuccess.forEach(r=>{t.push(r),r.addSuccessCall(this)}),this.calledByError.forEach(r=>{t.push(r),r.addErrorCall(this)}),this.calledByEntry.forEach(r=>{t.push(r),r.addCall(this)}),{affected:v(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(r=>r.toFlat(e)),...this.errorCalls.flatMap(r=>r.toFlat(e)),...this.inputs.flatMap(r=>r.toFlat(e)),...this.outputs.flatMap(r=>r.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(r=>r.toFlatIds(e)),...this.errorCalls.flatMap(r=>r.toFlatIds(e)),...this.inputs.flatMap(r=>r.toFlatIds(e)),...this.outputs.flatMap(r=>r.toFlatIds(e))])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,successCalls:this.successCalls.map(r=>r.toJSON()),errorCalls:this.errorCalls.map(r=>r.toJSON()),calledBySuccess:this.calledBySuccess.map(r=>r.toReference()),calledByError:this.calledByError.map(r=>r.toReference()),calledByEntry:this.calledByEntry.map(r=>r.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(r=>r.toJSON()),outputs:this.outputs.map(r=>r.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON()}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,process:this.process?this.process.toReference():null,inputs:this.inputs.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),declaration:this.declaration.toReference(),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.successCalls.flatMap(r=>r.toFlatJSON(e)),...this.errorCalls.flatMap(r=>r.toFlatJSON(e)),...this.inputs.flatMap(r=>r.toFlatJSON(e)),...this.outputs.flatMap(r=>r.toFlatJSON(e)),...this.process?this.process.toFlatJSON(e):[],...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===i.Project?void 0:this.parent.id;return{id:this.id,version:this.version,type:this.type,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),declaration:this.declaration.id,parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.successCalls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.inputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.outputs.flatMap(r=>r.toFlatGenerationTarget(e)),...this.process?this.process.toFlatGenerationTarget(e):[],...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(r=>r.clearErrors()),this.outputs.forEach(r=>r.clearErrors()),this.successCalls.forEach(r=>r.clearErrors()),this.errorCalls.forEach(r=>r.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=g3(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 De(this.toJSON(),this.project)}};c(De,"MUTABLE_BASE_PROPERTIES",[]),c(De,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(De,"BASE_PROPERTIES",[...De.MUTABLE_BASE_PROPERTIES,...De.INMUTABLE_BASE_PROPERTIES]),c(De,"MUTABLE_META_PROPERTIES",["x","y"]),c(De,"INMUTABLE_META_PROPERTIES",[...De.INMUTABLE_BASE_PROPERTIES]),c(De,"META_PROPERTIES",[...De.MUTABLE_META_PROPERTIES,...De.INMUTABLE_META_PROPERTIES]),c(De,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),c(De,"INMUTABLE_UPSTREAM_PROPERTIES",["declaration","parent"]),c(De,"UPSTREAM_PROPERTIES",[...De.MUTABLE_UPSTREAM_PROPERTIES,...De.INMUTABLE_UPSTREAM_PROPERTIES]),c(De,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","writesValues","inputs","outputs","error"]),c(De,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(De,"DOWNSTREAM_PROPERTIES",[...De.MUTABLE_DOWNSTREAM_PROPERTIES,...De.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(De,"PROPERTIES",[...De.META_PROPERTIES,...De.UPSTREAM_PROPERTIES,...De.DOWNSTREAM_PROPERTIES]);let wr=De;function Bv(n){var e,t,r;switch(n.id){case x["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const a=n.project.entities.filter(f=>!!f.implements.find(m=>m.id===x["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id));if(a.find(f=>!!f.properties.find(m=>{var b;return m.implements&&m.implements.id===x["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id&&((b=m.getDefaultValue())==null?void 0:b.value)===!0}))){const m=a[0].properties.find(g=>g.implements&&g.implements.id===x["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id),b=(e=m==null?void 0:m.dataType)==null?void 0:e.defaultValue;if(b)b.value=!0;else if(m!=null&&m.dataType){const g=(t=m==null?void 0:m.dataType)==null?void 0:t.id.split("-id")[0],I=R({id:g+"-default-value-id",version:1,type:i.PrimitiveValue,name:P.EntityTemplate,autogeneration:null,value:!0,valueAsType:null,parent:m==null?void 0:m.dataType.toReference()},n.project);return I.setParent(m==null?void 0:m.dataType),I.initChildren(),I.addSelfToProject(),{newEntities:[I]}}return{newEntities:[]}}const o=n.project.get(x["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id),l=To(o,"Main database");if(l.errors.length>0)return{newEntities:[]};const p=l.implemented.properties.find(f=>f.implements&&f.implements.id===x["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id),y=(r=p==null?void 0:p.dataType)==null?void 0:r.defaultValue;if(y)y.value=!0;else if(p!=null&&p.dataType){const f=p==null?void 0:p.dataType.id.split("-id")[0],m=R({id:f+"-default-value-id",version:1,type:i.PrimitiveValue,name:P.EntityTemplate,autogeneration:null,value:!0,valueAsType:null,parent:p==null?void 0:p.dataType.toReference()},n.project);m.setParent(p==null?void 0:p.dataType),m.initChildren(),m.addSelfToProject()}return{newEntities:[l.implemented]}}}return{newEntities:[]}}function wv(n){return n.implements.filter(t=>t.type===i.BuiltInBaseEntity).map(t=>{var r;switch(t.id){case x["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const s=n.project.entities.filter(p=>p.implements.find(y=>y.id===x["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id)).find(p=>!!p.properties.find(y=>{var f;return y.implements&&y.implements.id===x["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id&&((f=y.getDefaultValue())==null?void 0:f.value)===!0}));if(!s)return{newEntities:[]};const o=n.properties.find(p=>p.implements&&p.implements.id===x["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.properties.database.id),l=(r=o==null?void 0:o.dataType)==null?void 0:r.defaultValue;if(o&&(o!=null&&o.dataType)&&!l){const p=o==null?void 0:o.dataType.id.split("-id")[0],y=R({id:p+"-default-value-id",version:1,type:i.PrimitiveValue,name:P.EntityTemplate,autogeneration:null,value:null,valueAsType:s,parent:o==null?void 0:o.dataType.toReference()},n.project);return y.setParent(o==null?void 0:o.dataType),y.initChildren(),y.addSelfToProject(),{newEntities:[y]}}return{newEntities:[]}}}}),{newEntities:[]}}function To(n,e,t){const r=t||Qe(e,i.CustomEntity,n.project),a=r.split("-id"),s=a[a.length-1||0]||r,o={id:r,version:1,name:e,type:i.CustomEntity,description:null,static:!1,abstract:!1,properties:[],methods:[],abstractMethods:[],extends:[],implements:[n],x:0,y:0,parent:n.project},l=oo(o,n.project);if(l.length>0)return{errors:l,implemented:null,entitiesChanges:{new:[],updated:[],deleted:[]}};const p=Bv(n),y=R(o,n.project);y.setParent(n.project),y.initChildren();const f=n.properties.map(g=>{const I=s+"-"+Qe(S(g,n.project),i.Property,n.project),D=g.clone(y,I);return D.abstract=!1,D.implements=g,D.setParent(y),y.addProperty(D),D}),m=n.abstractMethods.map(g=>{const I=s+Qe(g.name,i.FunctionDeclaration,n.project),D=g.implementAsFunctionDeclaration(I),C={id:I+"-parent-ref-id",type:i.GenericReference,entityId:r,entityType:i.CustomEntity},Y={...D,implements:g,parent:C},G=R(Y,n.project);return y.addMethod(G),G.setParent(y),G.initChildren(),G.implements=g,G});o.properties=f,o.methods=m;const b=wv(y);return{implemented:y,errors:[],entitiesChanges:{new:[y,...p.newEntities,...b.newEntities],updated:[y],deleted:[]}}}function Eo(n,e){const t=Mr(n);if(t.length===0)return{list:[],last:null};let r=null;return{list:t.flatMap(s=>{if(s===e)return r=s,[s];const o=Eo(s,e);return o.last&&(r=o.last),[s,...o.list]}),last:r}}function Mv(n,e,t=new Set){const r=Wn(n),a=Wn(e),s=r.filter(p=>!a.includes(p)),o=r.filter(p=>a.includes(p)),l=s.reduce((p,y)=>t.has(y.id)?p:(t.add(y.id),v([...p,...Mv(y,e,t)])),[]);return v([...o,...l])}function Ia(n,e){const t=Eo(n,e);return t.last===e&&t.list.length>0&&t.list[0]!==e}function v3(n,e){return!!Eo(n,e).last}function I3(n){if(_e.includes(n.type))return n;if([...Pn,i.VariableDeclaration].includes(n.type)){const e=n.parent;return _e.includes(e.type)?e:null}return null}function _d(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===i.Project)return null}else return null;const r=e.parent;if(r){if(r===n)return n;if(r.type===i.Project)return null}else return null;return _d(t,r)}function ze(n){if(Co.includes(n.type)){if(n.type===i.FunctionDeclaration){const e=n.parent;if(e.type===i.CustomEntity)return e}return n}else{const e=n.parent;return e?ze(e):null}}function D3(n){return n.type===i.VariableDeclaration?[n]:$e.includes(n.type)?[...n.inputs,...n.outputs||[]]:n.type===i.ReturnStatement?n.outputs:$r.includes(n.type)||n.type===i.FunctionDeclaration?n.inputs:[]}function P3(n){const e=Wn(n),t=[],r=[];Hd.includes(n.type)&&t.push(...Nd(n));const a=e.filter(s=>{const o=t.includes(s);return o?!1:Pn.includes(s.type)&&!o?(r.push(s),!1):!0});return t.sort((s,o)=>Ia(o,s)?-1:0),r.sort((s,o)=>Ia(o,s)?-1:0),[...t,...r,...a]}function _v(n){return[...n].sort((e,t)=>Ia(t,e)?-1:0)}function A3(n){const e=_v(n),t=[];return e.forEach(r=>{const a=t[t.length-1];if(a){const s=a[a.length-1];Ia(r,s)?t.push([r]):a.push(r)}else t.push([r])}),t}function Et(n){const e=n.map(t=>ze(t));return v(e)}function Nd(n){return $e.includes(n.type)?[...Et(n.successCalls),...Et(n.errorCalls)]:_e.includes(n.type)?Et(n.calls):[]}function S3(n,e){return Nd(n).includes(e)}function Vd(n){return n.writesValues||[]}function O3(n,e){return Vd(n).includes(e)}function Nv(n){var e;return je.includes((e=n==null?void 0:n.readsValue)==null?void 0:e.type)?n.readsValue:null}function C3(n){return n.writesValues}function Vv(n=[]){return n.map(Nv).filter(e=>!!e)}function Ro(n=[]){return n.map(e=>e.writesValues).flat().filter(e=>je.includes(e.type))}function $v(n=[]){return n.map(e=>e.readsValue).filter(e=>!!e&&je.includes(e.type))}function Lv(n){return je.includes(n.type)?n:null}function Gv(n){return n.writesValues.map(Lv).filter(e=>!!e)}function Fv(n=[]){return n.reduce((e,t)=>t.type===i.OutputMap?[...e,...Gv(t)]:e,[])}function Se(n){return $e.includes(n.type)?[...on(Et(n.successCalls)),...on(Et(n.errorCalls))]:_e.includes(n.type)?on(Et(n.calls)):[]}function B3(n){return $e.includes(n.type)?[...on(Et(n.successCalls)),...on(Et(n.errorCalls))]:_e.includes(n.type)?on(Et(n.calls)):[]}function Uv(n,e=new Set){return n.writesValues.filter(r=>je.includes(r.type)&&!e.has(r.id)).reduce((r,a)=>e.has(a.id)?r:[...r,...te(a,e)],[])}function xv(n,e=new Set){var r;return(((r=n.readsValue)==null?void 0:r.writesValues)||[]).filter(a=>je.includes(a.type)&&!e.has(a.id)).reduce((a,s)=>e.has(s.id)?a:[...a,...te(s,e)],[])}function te(n,e=new Set){if(e.has(n.id))return[];if(n.type===i.ReturnStatement)return $v(n.outputs).reduce((r,a)=>[...r,...te(a,e)],[]);if(n.type===i.FunctionCall||n.type===i.Operation||n.type===i.Condition)return[...Se(n).reduce((s,o)=>{const l=ze(o);return[...s,...te(l||o,e)]},[]),...Vv(n.inputs),...Fv(n.outputs)].reduce((s,o)=>[...s,...te(o,e)],[]);if($r.includes(n.type)){const t=Ro(n.inputs),a=Se(n).reduce((s,o)=>{const l=ze(o);return[...s,...te(l||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...te(o,e)],[])}if(n.type===i.FunctionDeclaration){const t=[...Ro(n.inputs)],a=Se(n).reduce((s,o)=>{const l=ze(o);return[...s,...te(l||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...te(o)],[])}if(je.includes(n.type)){e.add(n.id);const r=Se(n).reduce((a,s)=>{const o=ze(s);return[...a,...te(o||s,e)]},[]);return[n,...r,...xv(n,e),...Uv(n,e)]}return[]}function St(n,e=new Set){return e.has(n.id)?[]:(e.add(n.id),[...Wn(n).reduce((a,s)=>[...a,s,...St(s,e)],[])])}function on(n){return n.reduce((e,t)=>t.type===i.ReturnStatement||t.type===i.ContinueStatement||t.type===i.BreakStatement?[...e,t]:[...e,t,...Se(t)],[])}function jv(n){const e=n.entities||[],t=[...e,...n.functions||[],...n.events||[],...n.projects||[]],r=e.reduce((p,y)=>[...p,...y.properties],[]),a=e.reduce((p,y)=>[...p,...y.methods],[]),s=a.reduce((p,y)=>[...p,...Ro(y.inputs),...on(Et(y.calls)),...y.returnStatements],[]),o=n.functions.reduce((p,y)=>[...p,...on(Et(y.calls)),...y.returnStatements],[]),l=n.events.reduce((p,y)=>[...p,...on(Et(y.calls)),...y.returnStatements],[]);return[...t,...r,...a,...s,...o,...l]}function kv(n,e){return e.filter(r=>{if(!r)return!1;switch(r.type){case i.FunctionCall:return r.inputs.find(a=>a.id===n.id)!==void 0||r.outputs.find(a=>a.id===n.id)!==void 0;case i.Condition:return r.successCalls.find(a=>a.id===n.id)!==void 0||r.errorCalls.find(a=>a.id===n.id)!==void 0||r.inputs.find(a=>a.id===n.id)!==void 0;case i.Operation:return r.outputs.find(a=>a.id===n.id)!==void 0;case i.VariableDeclaration:return $e.includes(n.type)?qv(n).find(s=>{var o;return((o=s.readsValue)==null?void 0:o.id)===r.id})!==void 0:!1;case i.CustomEntity:return r.properties.find(a=>a.id===n.id)!==void 0||r.methods.find(a=>a.id===n.id)!==void 0;case i.FunctionDeclaration:return r.inputs.find(a=>a.id===n.id)!==void 0||(r.returnStatements.map(a=>a.outputs).flat()||[]).find(a=>a.id===n.id)!==void 0;default:return!1}})}function w3(n){const e=jv(n.project);return kv(n,e)}function Mr(n){const e=[];if(Pn.includes(n.type)){n.calledBy.forEach(a=>{const s=ze(a);s&&e.push(s)});const r=[...n.inputs||[],...n.outputs||[]].map(a=>Gd(a)).filter(a=>a!==null);e.push(...v(r))}if(je.includes(n.type)){const t=Gd(n);t&&e.push(t)}return v(e)}function $d(n){return n.type===i.FunctionCall||n.type===i.InternalCall?n.declaration.inputs:[i.Operation,i.Condition,i.Loop].includes(n.type)?n.declaration.fixedArguments:n.type===i.FunctionDeclaration||$r.includes(n.type)?n.inputs:n.type===i.Search?n.inputsDeclarations:[]}function M3(n,e){return e.type===i.Condition?e.inputs.find(t=>t.declaration.id===n.id):e.type===i.FunctionCall||e.type===i.Operation?e.inputs.find(t=>t.declaration.id===n.id):null}function qv(n){return $e.includes(n.type)?n.inputs:[]}function Ld(n){var e;return n.type===i.FunctionCall?((e=n.declaration.returnStatements[0])==null?void 0:e.outputs)||[]:[i.Operation,i.Condition,i.Loop].includes(n.type)?n.declaration.fixedReturns:n.type===i.Search?n.outputsDeclarations:Ne.includes(n.type)?n.outputs:[]}function _3(n,e){return e.type===i.Condition?null:e.type===i.FunctionCall||e.type===i.Operation?e.outputs.find(t=>t.declaration.id===n.id):null}function N3(n){return n.type===i.Condition?[]:$e.includes(n.type)?n.outputs:[]}function Gd(n){const e=n.readsValue;return e?ze(e):null}function Jv(n){const e=n.internalCalls||[];return v(Et(v(e.flatMap(t=>[...t.successCalls,...t.errorCalls]))))}function Ri(n){const e=Vd(n),t=[];return e.forEach(r=>{if(je.includes(r.type))t.push(r);else if(r.type===i.InputMap){const a=r.parent;if(a.type===i.InputMap){const s=a.parent;t.push(s)}else t.push(a)}else[i.ActionDescriptor].includes(r.parent.type)||t.push(r.parent)}),t}function v(n){const e=new Set;return n.filter(t=>!t||e.has(t.id)?!1:(e.add(t.id),!0))}function Wn(n,e=!1){const t=[];if(n.type===i.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)||[]),dt.includes(n.type)&&t.push(...(n==null?void 0:n.detachedChildren)||[]),n.type===i.CustomEntity){const r=[...n.suggestedMethods,...n.methods].flatMap(a=>a.collapsed&&e?[]:Wn(a));t.push(...r)}if(n.type===i.Condition){const r=n.successCalls.map(s=>ze(s)),a=n.errorCalls.map(s=>ze(s));t.push(...r,...a)}if($r.includes(n.type)){if(n.collapsed&&e)return[];const r=n.inputs.map(s=>Ri(s)).flat(),a=n.calls.map(s=>ze(s));t.push(...v(r),...a)}if($e.includes(n.type)&&n.type!==i.Condition){const r=n==null?void 0:n.outputs.map(o=>Ri(o)).flat(),a=n.successCalls.map(o=>ze(o)),s=n.errorCalls.map(o=>ze(o));t.push(...v(r),...a,...s)}if(je.includes(n.type)){const r=Ri(n),a=Jv(n);t.push(...r,...a)}if(n.type===i.Loop){const r=n.outputs.map(o=>Ri(o)).flat();if(n.body){const o=Wn(n.body,e);t.push(...o)}const a=n.errorCalls.map(o=>ze(o)),s=n.successCalls.map(o=>ze(o));t.push(...v(r),...s,...a)}if(n.type===i.FunctionDeclaration){if(n.collapsed&&e)return[];const r=n.inputs.map(s=>Ri(s)).flat(),a=n.calls.map(s=>ze(s));t.push(...v(r),...a)}return v(t)}function Wv(n,e=!1){const t=Wn(n,e),r=[...t,...t.reduce((a,s)=>[...a,...Wv(s,e)],[])];return v(r)}function Hv(n){const e=Mr(n),t=[...e,...e.reduce((r,a)=>[...r,...Hv(a)],[])];return v(t)}function bo(n){return n.implements.reduce((e,t)=>t.type===i.CustomEntity?[...e,i.CustomEntity,...bo(t),...go(t)]:[...e,t.name],[])}function go(n){return n.extends.reduce((e,t)=>t.type===i.CustomEntity?[...e,i.CustomEntity,...go(t),...bo(t)]:[...e,t.name],[])}function Fd(n){return n.extends.reduce((e,t)=>t.type===i.CustomEntity?[...e,t,...Fd(t),...Ud(t)]:[...e,t],[])}function Ud(n){return n.implements.reduce((e,t)=>t.type===i.CustomEntity?[...e,t,...Ud(t),...Fd(t)]:[...e,t],[])}function Yv(n){return[...go(n),...bo(n)].filter((t,r,a)=>a.indexOf(t)===r)}function zv(n){return n.implements.length===0&&n.extends.length===0?null:n.implements.find(r=>r.type===i.BuiltInBaseEntity&&r.name===V.PERSISTED_ENTITY)?n:[...n.implements,...n.extends].reduce((r,a)=>{if(a.type===i.CustomEntity){const s=zv(a);if(s)return s}return r},null)}function V3(n){const e=n.extends.find(t=>t.type===i.BuiltInBaseEntity);return e&&e.type===i.BuiltInBaseEntity?e:null}function $3(n){const e=n.implements.find(t=>t.type===i.BuiltInBaseEntity);return e&&e.type===i.BuiltInBaseEntity?e:null}function Zv(n){const e=n.extends.find(t=>t.type===i.CustomEntity);return e&&e.type===i.CustomEntity?e:null}function Hn(n){const e=[...n.implements,...n.extends].reduce((t,r)=>r.type===i.BuiltInBaseEntity?[...t,r]:r.type===i.CustomEntity?[...t,...Hn(r)]:t,[]);return v(e)}function xd(n){return n.type===i.PrimitiveEntity?!0:n.type===i.BuiltInBaseEntity?n.interactive:!Hn(n).find(r=>!r.interactive)}function L3(n){return n.parent===n.project&&n.project.variableDeclarations.includes(n)}function jd(n){return n.parent!==n.project?!1:i.VariableDeclaration===n.type?n.project.variableDeclarations.includes(n):i.VariableInstance===n.type?n.project.variableInstances.includes(n):i.FunctionCall===n.type?n.project.functionCalls.includes(n):i.Condition===n.type?n.project.conditions.includes(n):i.Operation===n.type?n.project.operations.includes(n):i.Loop===n.type?n.project.loops.includes(n):i.Search===n.type?n.project.searches.includes(n):!1}function Xv(n){if([..._e,i.CustomEntity,i.InstalledProject,i.Project].includes(n.type)||jd(n))return!1;const e=Mr(n);return e.length===0?!0:e.some(t=>Xv(t))}function kd(n){return[..._e,i.CustomEntity,i.InstalledProject,i.Project].includes(n.type)||jd(n)?!1:Mr(n).length===0}function Qv(n,e=0){if(kd(n)){const t=Mr(n);return t.length===0?n:t.map(a=>Qv(a,e+1)).reduce((a,s)=>a?s&&s.x<a.x?s:a:s,null)}return null}function Kv(n){const e=[];if(kd(n))e.push(n);else return[];return Mr(n).forEach(r=>{e.push(...Kv(r))}),e}function eI(n){return n.type===i.FunctionDeclaration&&n.parent!==n.project&&!![i.CustomEntity,i.Loop,i.InstalledProject].includes(n.parent.type)}function G3(n,e){const t=new Map;return n.forEach(r=>{t.set(r.id,r)}),e.forEach(r=>{t.set(r.id,r)}),Array.from(t.values())}function vo(n){switch(n){case i.CustomEntity:return _r;case i.FunctionDeclaration:return br;case i.VariableDeclaration:return Dr;case i.VariableInstance:return Pr;case i.FunctionCall:return wr;case i.Operation:return gr;case i.Condition:return Ir;case i.ReturnStatement:return Cr;case i.Loop:return vr;case i.Search:return Ar;case i.InputMap:return vn;case i.OutputMap:return In;case i.ArgumentDeclaration:return Or;case i.ReturnDeclaration:return Nt;case i.Property:return Rr;case i.InstalledProject:return Sr;case i.Project:return w;case i.BuiltInBaseEntity:return Ut;default:return null}}function Rt(n,e){if(dt.includes(n.type))return n;if(Lr.includes(n.type))return null;const t=n.parent;if(!t)return null;if(t.type===i.GenericReference){const r=B(t);if(!r)return null;const a=e.get(r);return a?Rt(a,e):null}else return t===e?e:Rt(t,e)}function qd(n,e){if(Lr.includes(n.type)||e.getAllBuiltInIds().includes(n.id))return null;const r=Vt(n.parent,e);return r?r===e?dt.includes(n.type)?n:null:r.type===i.CustomEntity?n:qd(r,e):null}function Io(n,e,t){if(n===e||e===t||n===t)return!1;const r=Rt(e.parent,t);return r===n?!0:Io(r,e,t)}var Do=(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))(Do||{});function Da(n,e,t){const r=Rt(n,t),a=Rt(e,t);if(!r)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(r===a&&r.type!==i.Project)return{compatible:!0,type:"same-both-local",commonAncestorScope:r};if(r===a&&r.type===i.Project)return{compatible:!0,type:"same-both-global",commonAncestorScope:r};if(r.type===i.Project&&a.type!==i.Project)return{compatible:!1,type:"a-is-global-b-is-not",commonAncestorScope:r};if(r.type!==i.Project&&a.type===i.Project)return{compatible:!1,type:"b-is-global-a-is-not",commonAncestorScope:a};if(Io(r,a,t))return{compatible:!0,type:"b-in-a",commonAncestorScope:r};if(Io(a,r,t))return{compatible:!0,type:"a-in-b",commonAncestorScope:a};const l=_d(r,a);return l===t?{compatible:!1,type:"parallel-in-project",commonAncestorScope:l}:l?{compatible:!1,type:"parallel-in-common-parent",commonAncestorScope:Rt(l,t)}:{compatible:!1,type:"parallel-in-project",commonAncestorScope:t}}function tI(n,e,t){const r=Da(n,e,t);if(!r.compatible||r.type!=="same-both-local")return null;if(n===e)return n;let a=Rt(n.parent,t);if(a){if(a===e)return e;if(a.type===i.Project)return n}else return n;for(;a;){if(a){if(a===e)return e;if(a.type===i.Project)return n}else return n;a=Rt(a.parent,t)}let s=Rt(e.parent,t);if(s){if(s===n)return n;if(s.type===i.Project)return e}else return e;for(;s;){if(s){if(s===n)return n;if(s.type===i.Project)return e}else return e;s=Rt(s.parent,t)}return null}function nI(n){return n.length===0?null:n.length===1?n[0]:n.reduce((t,r)=>{const a=tI(t,r,r.project);return!a||a===r?t:r},n[0])}function Vt(n,e){let t;return typeof n=="string"?t=n:n.type===i.GenericReference?t=B(n):t=n.id,t===e.id?e:e.get(t)}function Yn(n){if(Lr.includes(n.type))return n;if(n.type===i.Project)return null;if(n.project.getAllBuiltInIds().includes(n.id))return n;const t=n.parent;return!t||t.type===i.Project?null:Yn(t)}function Pa(n,e){var t;if(n.readsValue){const r=Vt(n.readsValue,e.project);e.setValueWriter(r),r.addValueReader(e)}else n.readsValue===null&&((t=e.readsValue)==null||t.removeValueReader(e),e.readsValue=null);return e}function Aa(n){const e=[];function t(s,o){return e.some(l=>l.blockedByCaller===s&&l.blockedByCalling===o)}function r(s,o){t(s,o)||e.push({blockedByCaller:s,blockedByCalling:o})}const a=qd(n,n.project);return n.calledBySuccess.forEach(s=>{[...s.successCalls||[]].forEach(p=>{Ne.includes(p.type)&&p!==n&&(Se(n).find(m=>m===p)||r(s,p))});let l;if($e.includes(s.type)&&(l=s),l){const p=Aa(l);p.reachable||Se(n).find(m=>m===s)||p.blocks.forEach(m=>{r(s,m.blockedByCalling)})}}),n.calledByError.forEach(s=>{[...s.errorCalls||[]].forEach(p=>{Ne.includes(p.type)&&p!==n&&(Se(n).find(m=>m===p)||r(s,p))});let l;if($e.includes(s.type)&&(l=s),l){const p=Aa(l);p.reachable||Se(n).find(m=>m===s)||p.blocks.forEach(m=>{r(s,m.blockedByCalling)})}}),n.calledByEntry.forEach(s=>{if([...s.calls||[]].forEach(p=>{Ne.includes(p.type)&&p!==n&&(Se(n).find(m=>m===p)||r(s,p))}),s===a)return;let l;if(s.type===i.FunctionDeclaration){const p=ze(s);if(p.type===i.CustomEntity)return;p.type===i.Loop&&(l=p)}if(l){const p=Aa(l);p.reachable||p.blocks.forEach(y=>{r(s,y.blockedByCalling)})}}),{reachable:e.length===0,entryPoint:a,blocks:e}}function F3(n){return Co.includes(n.type)?n.type===i.FunctionDeclaration?!eI(n):!0:!1}function U3(n){if(i.ActionDescriptor===n.type){if(n.project.operationDeclarations.find(s=>s.id===n.id))return i.Operation;if(n.project.globalEventActionDescriptors.find(s=>s.id===n.id))return i.GlobalEvent;if(n.project.loopDeclarations.find(s=>s.id===n.id))return i.Loop;if(n.project.conditionDeclarations.find(s=>s.id===n.id))return i.Condition}return n.type}function x3(n,e){const t=[];if(n.parent)if(n.id===n.parent)t.push(new E({id:`${n.id}--${n.parent}--${h.SelfReference}`,code:h.SelfReference,severity:T.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 r=e.get(n.parent);r?[i.Project,i.DataType].includes(r.type)||t.push(new E({id:`${n.id}--${n.parent}--${h.InvalidParentReference}`,code:h.InvalidParentReference,severity:T.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}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.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(r=>{if(n.id===r){t.push(new E({id:`${n.id}--${r}--${h.SelfReference}`,code:h.SelfReference,severity:T.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(r);a?[i.CustomEntity,i.BuiltInBaseEntity].includes(a.type)?a.abstract||t.push(new E({id:`${n.id}--${r}--${h.InvalidImplementsReference}`,code:h.InvalidImplementsReference,severity:T.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}--${r}--${h.InvalidImplementsReference}`,code:h.InvalidImplementsReference,severity:T.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}--${r}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${r}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}):t.push(new E({id:`${n.id}--${A.InvalidObjectStructure}`,code:A.InvalidObjectStructure,severity:T.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(r=>{const a=e.get(r);a?[i.CustomEntity,i.BuiltInBaseEntity].includes(a.type)?a.abstract&&t.push(new E({id:`${n.id}--${r}--${h.InvalidExtendsReference}`,code:h.InvalidExtendsReference,severity:T.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}--${r}--${h.InvalidExtendsReference}`,code:h.InvalidExtendsReference,severity:T.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}--${r}--${h.ReferencedEntityNotFound}`,code:h.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${r}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}),t}const Pe=class Pe{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"x");c(this,"y");c(this,"static");c(this,"abstract");c(this,"type",i.CustomEntity);c(this,"properties",[]);c(this,"methods",[]);c(this,"abstractMethods",[]);c(this,"extends",[]);c(this,"implements",[]);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestedProperties",[]);c(this,"suggestedMethods",[]);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.x=e.x,this.y=e.y,this.static=e.static,this.abstract=e.abstract}static fromGenerationTarget(e,t){let r=t;if(e.parent){const p=B(e.parent);r=t.get(p)}const a=[];e.implements&&e.implements.forEach(p=>{a.push(t.get(p)||t.getBuiltIn(p))});const s=[];e.extends&&e.extends.forEach(p=>{s.push(t.get(p)||t.getBuiltIn(p))});const o={id:e.id,version:1,name:e.name,type:i.CustomEntity,description:e.description,static:e.static,abstract:e.abstract,properties:[],methods:[],abstractMethods:[],extends:s,implements:a,x:0,y:0,parent:r},l=R(o,t);return l.setParent(r),l.initChildren(),l}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[],s=x3(r,t),o=oo(r,t);a.push(...s,...o,...Be(r));const l=r.parent?t.get(r.parent):null;if(l&&l.type===i.DataType){const p=l;p.entity&&a.push(new E({id:`${e.id}--${h.NewEntityWouldOverriteExisting}`,code:h.NewEntityWouldOverriteExisting,severity:T.Error,message:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${p.id}' because it already has an 'entity' child. Data type entities can only have one 'entity' as children.
371
371
  You can inspect the existing 'entity' field with the 'describe_entity' action. Like so:
372
372
  ${sn({describe_entity:p.entity.id})}
373
- Alternatively you can update the parent data-type entity with 'update' action to remove the existing value of the field.`,issue:null}))}return{errors:a,modifiedData:r}}get extendedProperties(){return v([...this.extends.reduce((e,t)=>[...[...t.properties,...t.extendedProperties].filter(a=>!a.abstract),...e],[]),...this.implements.reduce((e,t)=>[...[...t.properties,...t.extendedProperties].filter(a=>!a.abstract),...e],[])])}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on an '${this.type}', must be the root project as it is a globally declared entity.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){const e=[this];if(this.parent.type===i.DataType){const t=this.parent;t.entity=this,e.push(t)}else this.project.addCustomEntity(this);return{affected:v(e),self:this}}setParent(e){return this.parent=e,this}removeProperty(e){return this.properties=this.properties.filter(t=>t.id!==e.id),this}addMethod(e){return this.methods.includes(e)||(this.methods.push(e),this.suggestedMethods=this.suggestedMethods.filter(t=>t.name!==e.name)),this}removeMethod(e){return this.methods=this.methods.filter(t=>t.id!==e.id),this}addProperty(e){return this.properties.includes(e)||(this.properties.push(e),this.suggestedProperties=this.suggestedProperties.filter(t=>t.name!==e.name)),this}addSuggestedProperty(e){return this.suggestedProperties.includes(e)||this.suggestedProperties.push(e),this}addSuggestedMethod(e){return this.suggestedMethods.includes(e)||this.suggestedMethods.push(e),this}removeSuggestedProperty(e){return this.suggestedProperties=this.suggestedProperties.filter(t=>t.id!==e.id),this}removeSuggestedMethod(e){return this.suggestedMethods=this.suggestedMethods.filter(t=>t.id!==e.id),this}addAbstractMethod(e){return this.abstractMethods.includes(e)||this.abstractMethods.push(e),this}removeAbstractMethod(e){return this.abstractMethods=this.abstractMethods.filter(t=>t.id!==e.id),this}initChildren(){return this.initialized?this:(this.initialized=!0,this.properties=this.initialData.properties.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.methods=this.initialData.methods.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.abstractMethods=this.initialData.abstractMethods.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.extends=this.initialData.extends.map(e=>R(e,this.project)),this.implements=this.initialData.implements.map(e=>R(e,this.project)),this.addSuggestions(),this)}addSuggestions(){return this.implements.forEach(e=>{b8(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)}),g8(this,e).forEach(a=>{const s=`_suggestion--parent--${this.id}--${a.id}`,o=a.implementAsFunctionDeclaration(s),l=R(o,this.project);if(l.suggestion=!0,l.setParent(this),l.initChildren(),l.inputs.forEach(p=>{p.suggestion=!0}),l.returnStatements.length){const p=l.returnStatements[0];p.suggestion=!0,p.outputs.forEach(y=>{y.suggestion=!0})}this.addSuggestedMethod(l)})}),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.x=e.x||this.x,this.y=e.y||this.y,this.static=e.static||this.static,this.abstract=e.abstract||this.abstract,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const r=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.properties.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.methods.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.abstractMethods.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.suggestedProperties.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.suggestedMethods.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),{affected:v(r),removed:v(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.properties.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.methods.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.abstractMethods.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.suggestedProperties.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.suggestedMethods.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),{affected:v(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.extends.flatMap(r=>r.toFlat(e)),...this.implements.flatMap(r=>r.toFlat(e)),...this.properties.flatMap(r=>r.toFlat(e)),...this.methods.flatMap(r=>r.toFlat(e)),...this.abstractMethods.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.extends.flatMap(r=>r.toFlatIds(e)),...this.implements.flatMap(r=>r.toFlatIds(e)),...this.properties.flatMap(r=>r.toFlatIds(e)),...this.methods.flatMap(r=>r.toFlatIds(e)),...this.abstractMethods.flatMap(r=>r.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,x:this.x,y:this.y,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),implements:this.implements.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,x:this.x,y:this.y,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),implements:this.implements.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(r=>r.toFlatJSON(e)),...this.methods.flatMap(r=>r.toFlatJSON(e)),...this.abstractMethods.flatMap(r=>r.toFlatJSON(e)),...this.implements.flatMap(r=>r.toFlatJSON(e)),...this.extends.flatMap(r=>r.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===i.Project?void 0:this.parent.id;return{id:this.id,name:this.name,description:this.description,type:this.type,static:this.static,abstract:this.abstract,extends:this.extends.map(t=>t.id),implements:this.implements.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(r=>r.toFlatGenerationTarget(e)),...this.methods.flatMap(r=>r.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(r=>r.toFlatGenerationTarget(e)),...this.implements.filter(r=>r.type===i.CustomEntity).flatMap(r=>r.toFlatGenerationTarget(e)),...this.implements.filter(r=>r.type===i.CustomEntity).flatMap(r=>r.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){return this.errors=R8(this),{success:!0,error:null,data:null}}getErrors(){return[...this.errors,...this.properties.flatMap(t=>t.getErrors()),...this.methods.flatMap(t=>t.getErrors()),...this.abstractMethods.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(e=null,t=null,r=!0){var b,g,I;const a=this.toJSON(),s=t||Qe(S(this,this.project),i.CustomEntity,this.project);a.properties=[],a.methods=[],a.abstractMethods=[];const o=s.split("-id"),l=o[o.length-1||0]||s;a.id=s;const p=jt(a,this.project);e&&p.setParent(e),r&&p.subscribe(),p.initChildren();const y=(b=this.properties)==null?void 0:b.map((D,C)=>D.clone(this,l+"-property-"+C+"-id",r));p.properties=y;const f=(g=this.methods)==null?void 0:g.map((D,C)=>D.clone(this,l+"-method-"+C+"-id",r));p.methods=f;const m=(I=this.abstractMethods)==null?void 0:I.map((D,C)=>D.clone(this,l+"-abstract-method-"+C+"-id",r));return p.abstractMethods=m,p}getFunctionDeclaration(e){return this.methods.find(t=>t.id===e)}implement(e,t){return To(this,e,t)}getAllInteractiveMethods(){const e=this.implements.filter(r=>r.type===i.CustomEntity||r.type===i.BuiltInBaseEntity&&r.interactive);return v([...this.methods,...this.extends.flatMap(r=>r.getAllInteractiveMethods()),...e.flatMap(r=>r.getAllInteractiveMethods())])}inferFromInputs(e){if(this.parent.type!==i.DataType||!this.parent.inferred)return this;const t=[];e.forEach(s=>{t.find(l=>S(l,this.project)===S(s,this.project))||t.push(s)});const r=this.properties.filter(s=>!s.getDataType());t.forEach(s=>{const o=r.find(m=>S(m,this.project)===S(s,this.project));if(!o)return;const p=Tr(s.parent).getMasterInputWithValueWritterFromAllInstances(s),y=an(p),f=y==null?void 0:y.clone(o,o.id+"--data-type",!0);f&&o.setDataType(f),s.setDeclaration(o)});const a=[];return t.forEach(s=>{if(!s.declaration){a.push(s);return}}),a.length===0?this:(a.forEach(s=>{const o=this.properties.find(g=>S(g,this.project)===S(s,this.project));if(o){if(s.setDeclaration(o),!o.getDataType()){const I=Tr(s.parent).getMasterInputWithValueWritterFromAllInstances(s),D=an(I),C=D==null?void 0:D.clone(o,o.id+"--data-type",!0);C&&o.setDataType(C)}return}const l={id:s.id+"--inferred-property",type:i.Property,version:1,name:S(s,this.project),description:s.description,static:!0,abstract:!1,private:!1,hidden:!1,required:!1,index:s.index,implements:null,dataType:null,parent:this.toReference()},p=R(l,this.project);p.setParent(this),p.initChildren();const f=Tr(s.parent).getMasterInputWithValueWritterFromAllInstances(s),m=an(f),b=m==null?void 0:m.clone(p,l.id+"--data-type",!0);return b&&p.setDataType(b),this.addProperty(p),s.setDeclaration(p),p}),this)}};c(Pe,"MUTABLE_BASE_PROPERTIES",["name","description","static","abstract"]),c(Pe,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(Pe,"BASE_PROPERTIES",[...Pe.MUTABLE_BASE_PROPERTIES,...Pe.INMUTABLE_BASE_PROPERTIES]),c(Pe,"MUTABLE_META_PROPERTIES",[...Pe.MUTABLE_BASE_PROPERTIES,"x","y"]),c(Pe,"INMUTABLE_META_PROPERTIES",[...Pe.INMUTABLE_BASE_PROPERTIES]),c(Pe,"META_PROPERTIES",[...Pe.MUTABLE_META_PROPERTIES,...Pe.INMUTABLE_META_PROPERTIES]),c(Pe,"MUTABLE_UPSTREAM_PROPERTIES",["extends","implements"]),c(Pe,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),c(Pe,"UPSTREAM_PROPERTIES",[...Pe.MUTABLE_UPSTREAM_PROPERTIES,...Pe.INMUTABLE_UPSTREAM_PROPERTIES]),c(Pe,"MUTABLE_DOWNSTREAM_PROPERTIES",["properties","methods","abstractMethods"]),c(Pe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(Pe,"DOWNSTREAM_PROPERTIES",[...Pe.MUTABLE_DOWNSTREAM_PROPERTIES,...Pe.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(Pe,"PROPERTIES",[...Pe.META_PROPERTIES,...Pe.UPSTREAM_PROPERTIES,...Pe.DOWNSTREAM_PROPERTIES]);let Mr=Pe;function j3(n){const e=Z4(),t=n.toJSON();e.safeParse(t).success;const a=[];return ne(n.errors,a)}class Ut{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"type",i.BuiltInBaseEntity);c(this,"abstract",!1);c(this,"static");c(this,"properties",[]);c(this,"methods",[]);c(this,"abstractMethods",[]);c(this,"extends",[]);c(this,"interactive",!1);c(this,"errors",[]);c(this,"project");this.initialData=this.initialData||e,this.project=this.project||t,this.id=this.id||e.id,this.version=this.version||e.version,this.name=this.name||e.name,this.static=this.static||e.static,this.interactive=this.interactive||e.interactive,this.abstract=e.abstract,this.properties=this.initialData.properties.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.abstractMethods=this.initialData.abstractMethods.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.extends=this.initialData.extends.map(r=>R(r,this.project))}get extendedProperties(){return v(this.extends.reduce((e,t)=>{const r=[...t.properties,...t.extendedProperties].filter(a=>!a.abstract);return[...e,...r]},[]))}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}async load(){return this}remove(e={ignoreUpstream:!1,seenEntities:new Set}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.properties.flatMap(r=>r.toFlat(e)),...this.methods.flatMap(r=>r.toFlat(e)),...this.abstractMethods.flatMap(r=>r.toFlat(e)),...this.extends.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.properties.flatMap(r=>r.toFlatIds(e)),...this.methods.flatMap(r=>r.toFlatIds(e)),...this.abstractMethods.flatMap(r=>r.toFlatIds(e)),...this.extends.flatMap(r=>r.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,interactive:this.interactive,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,interactive:this.interactive,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(r=>r.toFlatJSON(e)),...this.methods.flatMap(r=>r.toFlatJSON(e)),...this.abstractMethods.flatMap(r=>r.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,interactive:this.interactive,extends:this.extends.map(e=>e.id)}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(r=>r.toFlatGenerationTarget(e)),...this.methods.flatMap(r=>r.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(r=>r.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){const e=j3(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 To(this,e,t)}getAllInteractiveMethods(){const e=[];return this.interactive&&(e.push(...this.methods),this.extends.filter(r=>r.type===i.BuiltInBaseEntity&&r.interactive||r.type===i.PrimitiveEntity).forEach(r=>{r instanceof Ut&&e.push(...r.getAllInteractiveMethods())})),v(e)}}function k3(n){const e=x4(),t=n.toJSON();e.safeParse(t).success;const a=[];return ne(n.errors,a)}class xt{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"type",i.PrimitiveEntity);c(this,"static");c(this,"abstract");c(this,"properties",[]);c(this,"methods",[]);c(this,"abstractMethods",[]);c(this,"extends",[]);c(this,"errors",[]);c(this,"project");this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.static=e.static,this.abstract=e.abstract,this.properties=this.initialData.properties.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(r=>{const a=R(r,this.project);return a.parent=this,a}),this.abstractMethods=this.initialData.abstractMethods.map(r=>{const a=R(r,this.project);return a.parent=this,a})}get extendedProperties(){return v(this.extends.reduce((e,t)=>{const r=[...t.properties,...t.extendedProperties].filter(a=>!a.abstract);return[...e,...r]},[]))}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}async load(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.properties.flatMap(r=>r.toFlat(e)),...this.methods.flatMap(r=>r.toFlat(e)),...this.abstractMethods.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.properties.flatMap(r=>r.toFlatIds(e)),...this.methods.flatMap(r=>r.toFlatIds(e)),...this.abstractMethods.flatMap(r=>r.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(r=>r.toFlatJSON(e)),...this.methods.flatMap(r=>r.toFlatJSON(e)),...this.abstractMethods.flatMap(r=>r.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,extends:this.extends.map(e=>e.id)}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(r=>r.toFlatGenerationTarget(e)),...this.methods.flatMap(r=>r.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(r=>r.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){const e=k3(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.properties.flatMap(t=>t.getErrors()),...this.methods.flatMap(t=>t.getErrors()),...this.abstractMethods.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new xt(this.toJSON(),this.project)}getAllInteractiveMethods(){const e=[];return e.push(...this.methods),this.extends.filter(r=>r.type===i.BuiltInBaseEntity&&r.interactive||r.type===i.PrimitiveEntity).forEach(r=>{r instanceof Ut&&e.push(...r.getAllInteractiveMethods())}),v(e)}}function jt(n,e){if(!n)throw new Error("Entity is null");const t=e.findSubscribedInstance(n);switch(n.type){case i.PrimitiveValue:return t||new Ti(n,e);case i.CustomEntity:return t||new Mr(n,e);case i.PrimitiveEntity:return t||new xt(n,e);case i.FunctionDeclaration:return t||new br(n,e);case i.GlobalEvent:return t||new fi(n,e);case i.DataType:return t||new hi(n,e);case i.Property:return t||new Rr(n,e);case i.FunctionCall:return t||new wr(n,e);case i.Condition:return t||new Ir(n,e);case i.Operation:return t||new gr(n,e);case i.VariableDeclaration:return t||new Dr(n,e);case i.VariableInstance:return t||new Pr(n,e);case i.OutputMap:return t||new In(n,e);case i.ReturnDeclaration:return t||new Nt(n,e);case i.ArgumentDeclaration:return t||new Or(n,e);case i.InputMap:return t||new vn(n,e);case i.Project:return t||new w(n);case i.InstalledProject:return t||new Sr(n,e);case i.ActionDescriptor:return t||new Ue(n,e);case i.ReturnStatement:return t||new Cr(n,e);case i.Loop:return t||new vr(n,e);case i.Search:return t||new Ar(n,e);case i.ValueDescriptor:return t||new Br(n,e);case i.BuiltInBaseEntity:return t||new Ut(n,e);case i.InternalCall:return t||new mi(n,e);case i.ContinueStatement:return t||new Tt(n,e);case i.BreakStatement:return t||new Ei(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=jt(n,e);return t.subscribe(),t}function q3(n,e){if(!n)throw new Error("Entity is null");switch(n.type){case i.PrimitiveValue:return Ti.fromGenerationTarget(n,e);case i.CustomEntity:return Mr.fromGenerationTarget(n,e);case i.FunctionDeclaration:return br.fromGenerationTarget(n,e);case i.GlobalEvent:return fi.fromGenerationTarget(n,e);case i.DataType:return hi.fromGenerationTarget(n,e);case i.Property:return Rr.fromGenerationTarget(n,e);case i.FunctionCall:return wr.fromGenerationTarget(n,e);case i.Condition:return Ir.fromGenerationTarget(n,e);case i.Operation:return gr.fromGenerationTarget(n,e);case i.VariableDeclaration:return Dr.fromGenerationTarget(n,e);case i.VariableInstance:return Pr.fromGenerationTarget(n,e);case i.OutputMap:return In.fromGenerationTarget(n,e);case i.ReturnDeclaration:return Nt.fromGenerationTarget(n,e);case i.ArgumentDeclaration:return Or.fromGenerationTarget(n,e);case i.InputMap:return vn.fromGenerationTarget(n,e);case i.InstalledProject:return Sr.fromGenerationTarget(n,e);case i.ReturnStatement:return Cr.fromGenerationTarget(n,e);case i.Loop:return vr.fromGenerationTarget(n,e);case i.Search:return Ar.fromGenerationTarget(n,e);case i.ActionDescriptor:return Ue.fromGenerationTarget(n,e);case i.ValueDescriptor:return Br.fromGenerationTarget(n,e);case i.InternalCall:return mi.fromGenerationTarget(n,e);case i.ContinueStatement:return Tt.fromGenerationTarget(n,e);case i.BreakStatement:return Ei.fromGenerationTarget(n,e);default:throw new Error("Invalid entity type: "+n.type)}}const K=class K{constructor(e){c(this,"initialData");c(this,"id");c(this,"version");c(this,"type",i.Project);c(this,"name",null);c(this,"description",null);c(this,"x");c(this,"y");c(this,"entities",[]);c(this,"projects",[]);c(this,"functions",[]);c(this,"events",[]);c(this,"variableDeclarations",[]);c(this,"variableInstances",[]);c(this,"conditions",[]);c(this,"operations",[]);c(this,"functionCalls",[]);c(this,"loops",[]);c(this,"searches",[]);c(this,"primitives",[]);c(this,"builtInBaseEntities",[]);c(this,"operationDeclarations",[]);c(this,"globalEventActionDescriptors",[]);c(this,"loopDeclarations",[]);c(this,"conditionDeclarations",[]);c(this,"valueDescriptors",[]);c(this,"dataTypes",[]);c(this,"project");c(this,"instances",{});c(this,"builtInInstances",{});c(this,"errors",[]);c(this,"references",[]);this.initialData=e,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.x=0,this.y=0;try{K.UUID||(K.UUID=ms==null?void 0:ms())}catch(t){console.error("Error initializing UUID module",t),K.UUID={uuid:()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15),fromUUID:r=>r}}}static injectUUIDModule(e){K.UUID=e}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[];return a.push(...Be(r)),{errors:a,modifiedData:r}}async inject(...e){return await Promise.all(e.map(t=>new Promise(async r=>{await t.init(this),r(null)}))),this}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){return{affected:v([]),self:this}}get instancesList(){return Object.values(this.instances)}isOperationDeclaration(e){return this.operationDeclarations.includes(e)}isGlobalEventActionDescriptor(e){return this.globalEventActionDescriptors.includes(e)}isLoopDeclaration(e){return this.loopDeclarations.includes(e)}isConditionDeclaration(e){return this.conditionDeclarations.includes(e)}initChildren(){return this.entities=this.initialData.entities.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.projects=this.initialData.projects.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.functions=this.initialData.functions.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.events=this.initialData.events.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.variableDeclarations=this.initialData.variableDeclarations.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.variableInstances=this.initialData.variableInstances.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.conditions=this.initialData.conditions.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.operations=this.initialData.operations.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.functionCalls=this.initialData.functionCalls.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.loops=this.initialData.loops.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.searches=this.initialData.searches.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.attachOrphanReferences(),this.validate(),this}subscribeInstance(e){return(!this.instances[e.id]||this.instances[e.id]!==e)&&(this.instances[e.id]=e),this}subscribeBuiltInInstance(e){return(!this.builtInInstances[e.id]||this.builtInInstances[e.id]!==e)&&(this.builtInInstances[e.id]=e),this}subscribe(){return this}unsubscribe(){return this}unsubscribeInstance(e){return delete this.instances[e.id],this}findSubscribedInstance(e){return this.instances[e.id]||null}findSubscribedBuiltInInstance(e){return this.builtInInstances[e.id]||null}get(e){return this.instances[e]||this.builtInInstances[e]||null}getManaged(e){return this.instances[e]||null}getBuiltIn(e){return this.builtInInstances[e]||null}findSubscribedInstanceFromReference(e){return this.instances[e.entityId]||null}findSubscribedBuiltInInstanceFromReference(e){return this.builtInInstances[e.entityId]||null}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e}={ignoreUpstream:!1}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}getAllBuiltInIds(){const e=new Set;return[...this.primitives.flatMap(t=>t.toFlatIds(e)),...this.builtInBaseEntities.flatMap(t=>t.toFlatIds(e)),...this.operationDeclarations.flatMap(t=>t.toFlatIds(e)),...this.globalEventActionDescriptors.flatMap(t=>t.toFlatIds(e)),...this.loopDeclarations.flatMap(t=>t.toFlatIds(e)),...this.conditionDeclarations.flatMap(t=>t.toFlatIds(e)),...this.valueDescriptors.flatMap(t=>t.toFlatIds(e)),...this.dataTypes.flatMap(t=>t.toFlatIds(e))]}getAllBuiltIn(){const e=new Set;return[...this.primitives.flatMap(t=>t.toFlat(e)),...this.builtInBaseEntities.flatMap(t=>t.toFlat(e)),...this.operationDeclarations.flatMap(t=>t.toFlat(e)),...this.globalEventActionDescriptors.flatMap(t=>t.toFlat(e)),...this.loopDeclarations.flatMap(t=>t.toFlat(e)),...this.conditionDeclarations.flatMap(t=>t.toFlat(e)),...this.valueDescriptors.flatMap(t=>t.toFlat(e)),...this.dataTypes.flatMap(t=>t.toFlat(e))]}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(r=>r.toFlat(e)),...this.functions.flatMap(r=>r.toFlat(e)),...this.events.flatMap(r=>r.toFlat(e)),...this.projects.flatMap(r=>r.toFlat(e)),...this.variableDeclarations.flatMap(r=>r.toFlat(e)),...this.variableInstances.flatMap(r=>r.toFlat(e)),...this.conditions.flatMap(r=>r.toFlat(e)),...this.operations.flatMap(r=>r.toFlat(e)),...this.functionCalls.flatMap(r=>r.toFlat(e)),...this.loops.flatMap(r=>r.toFlat(e)),...this.searches.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),Array.from(e))}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,entities:this.entities.map(e=>e.toJSON()),functions:this.functions.map(e=>e.toJSON()),events:this.events.map(e=>e.toJSON()),projects:this.projects.map(e=>e.toJSON()),variableDeclarations:this.variableDeclarations.map(e=>e.toJSON()),variableInstances:this.variableInstances.map(e=>e.toJSON()),conditions:this.conditions.map(e=>e.toJSON()),operations:this.operations.map(e=>e.toJSON()),functionCalls:this.functionCalls.map(e=>e.toJSON()),loops:this.loops.map(e=>e.toJSON()),searches:this.searches.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+K.UUID.uuid()+"--ref",type:i.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,entities:this.entities.map(e=>e.toReference()),functions:this.functions.map(e=>e.toReference()),events:this.events.map(e=>e.toReference()),projects:this.projects.map(e=>e.toReference()),variableDeclarations:this.variableDeclarations.map(e=>e.toReference()),variableInstances:this.variableInstances.map(e=>e.toReference()),conditions:this.conditions.map(e=>e.toReference()),operations:this.operations.map(e=>e.toReference()),functionCalls:this.functionCalls.map(e=>e.toReference()),loops:this.loops.map(e=>e.toReference()),searches:this.searches.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(r=>r.toFlatJSON(e)),...this.functions.flatMap(r=>r.toFlatJSON(e)),...this.events.flatMap(r=>r.toFlatJSON(e)),...this.projects.flatMap(r=>r.toFlatJSON(e)),...this.variableDeclarations.flatMap(r=>r.toFlatJSON(e)),...this.variableInstances.flatMap(r=>r.toFlatJSON(e)),...this.conditions.flatMap(r=>r.toFlatJSON(e)),...this.operations.flatMap(r=>r.toFlatJSON(e)),...this.functionCalls.flatMap(r=>r.toFlatJSON(e)),...this.loops.flatMap(r=>r.toFlatJSON(e)),...this.searches.flatMap(r=>r.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(r=>r.toFlatGenerationTarget(e)),...this.functions.flatMap(r=>r.toFlatGenerationTarget(e)),...this.events.flatMap(r=>r.toFlatGenerationTarget(e)),...this.projects.flatMap(r=>r.toFlatGenerationTarget(e)),...this.variableDeclarations.flatMap(r=>r.toFlatGenerationTarget(e)),...this.variableInstances.flatMap(r=>r.toFlatGenerationTarget(e)),...this.conditions.flatMap(r=>r.toFlatGenerationTarget(e)),...this.operations.flatMap(r=>r.toFlatGenerationTarget(e)),...this.functionCalls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.loops.flatMap(r=>r.toFlatGenerationTarget(e)),...this.searches.flatMap(r=>r.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.entities.forEach(e=>e.clearErrors()),this.projects.forEach(e=>e.clearErrors()),this.functions.forEach(e=>e.clearErrors()),this.events.forEach(e=>e.clearErrors()),this.variableDeclarations.forEach(e=>e.clearErrors()),this.variableInstances.forEach(e=>e.clearErrors()),this.conditions.forEach(e=>e.clearErrors()),this.operations.forEach(e=>e.clearErrors()),this.functionCalls.forEach(e=>e.clearErrors()),this.loops.forEach(e=>e.clearErrors()),this.searches.forEach(e=>e.clearErrors()),this}validate(){const e=y8(),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 K(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(r=>r.id===e.id);if(t>-1){const r=this.entities[t];return this.entities.splice(t,1),r}return null}removeFunctionDeclaration(e){const t=this.functions.findIndex(r=>r.id===e.id);if(t>-1){const r=this.functions[t];return this.functions.splice(t,1),r}return null}removeExternalProject(e){const t=this.projects.findIndex(r=>r.id===e.id);if(t>-1){const r=this.projects[t];return this.projects.splice(t,1),r}return null}removeGlobalEvent(e){const t=this.events.findIndex(r=>r.id===e.id);if(t>-1){const r=this.events[t];return this.events.splice(t,1),r}return null}removeTopLevelVariableDeclaration(e){if(e.type!==i.VariableDeclaration)return null;const t=this.variableDeclarations.findIndex(r=>r.id===e.id);if(t>-1){const r=this.variableDeclarations[t];return this.variableDeclarations.splice(t,1),r}return null}getEntryPoints(){return[...this.functions,...this.events,...this.entities.flatMap(t=>t.methods)]}getFunctionDeclaration(e){return this.functions.find(t=>t.id===e)||null}getConditions(){return[...this.conditions,...this.getEntryPoints().reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Condition)]},[]),...this.functionCalls.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Condition)]},[]),...this.operations.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Condition)]},[]),...this.loops.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Condition)]},[]),...this.searches.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Condition)]},[])]}getOperations(){return[...this.operations,...this.getEntryPoints().reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Operation)]},[]),...this.functionCalls.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Operation)]},[]),...this.conditions.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Operation)]},[]),...this.loops.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Operation)]},[]),...this.searches.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Operation)]},[])]}getFunctionCalls(){return[...this.functionCalls,...this.getEntryPoints().reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.FunctionCall)]},[]),...this.conditions.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.FunctionCall)]},[]),...this.operations.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.FunctionCall)]},[]),...this.loops.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.FunctionCall)]},[]),...this.searches.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.FunctionCall)]},[])]}getVariables(){return[...this.variableDeclarations,...this.getEntryPoints().reduce((t,r)=>{const a=te(r);return[...t,...a]},[]),...this.functionCalls.reduce((t,r)=>{const a=te(r);return[...t,...a]},[]),...this.conditions.reduce((t,r)=>{const a=te(r);return[...t,...a]},[]),...this.operations.reduce((t,r)=>{const a=te(r);return[...t,...a]},[]),...this.loops.reduce((t,r)=>{const a=te(r);return[...t,...a]},[]),...this.searches.reduce((t,r)=>{const a=te(r);return[...t,...a]},[])]}getVariableInstances(){return[...this.variableInstances,...this.getEntryPoints().reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableInstance);return[...t,...s]},[]),...this.functionCalls.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableInstance);return[...t,...s]},[]),...this.conditions.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableInstance);return[...t,...s]},[]),...this.operations.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableInstance);return[...t,...s]},[]),...this.loops.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableInstance);return[...t,...s]},[]),...this.searches.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableInstance);return[...t,...s]},[])]}getVariableDeclarations(){return v([...this.variableDeclarations,...this.getEntryPoints().reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableDeclaration);return[...t,...s]},[]),...this.functionCalls.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableDeclaration);return[...t,...s]},[]),...this.conditions.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableDeclaration);return[...t,...s]},[]),...this.operations.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableDeclaration);return[...t,...s]},[]),...this.loops.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableDeclaration);return[...t,...s]},[]),...this.searches.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableDeclaration);return[...t,...s]},[])])}attachOrphanReferences(){const e=this.getVariableInstances(),t=this.getVariableDeclarations();return e.forEach(r=>{if(!r.declaration){const a=r.initialData,s=a.declaration.entityId||a.declaration.id,o=t.find(l=>l.id===s);o&&r.setDeclaration(o)}}),this}getBuiltInPersistedEntity(){return this.builtInBaseEntities.find(e=>e.name===V.PERSISTED_ENTITY)||null}};c(K,"UUID",{uuid:()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15),fromUUID:e=>e}),c(K,"MUTABLE_BASE_PROPERTIES",["name","description"]),c(K,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(K,"BASE_PROPERTIES",[...K.MUTABLE_BASE_PROPERTIES,...K.INMUTABLE_BASE_PROPERTIES]),c(K,"MUTABLE_META_PROPERTIES",[...K.MUTABLE_BASE_PROPERTIES,"x","y"]),c(K,"INMUTABLE_META_PROPERTIES",[...K.INMUTABLE_BASE_PROPERTIES]),c(K,"META_PROPERTIES",[...K.MUTABLE_META_PROPERTIES,...K.INMUTABLE_META_PROPERTIES]),c(K,"MUTABLE_UPSTREAM_PROPERTIES",[]),c(K,"INMUTABLE_UPSTREAM_PROPERTIES",["primitives","builtInBaseEntities","operationDeclarations","globalEventActionDescriptors","loopDeclarations","builtInInstances"]),c(K,"UPSTREAM_PROPERTIES",[...K.MUTABLE_UPSTREAM_PROPERTIES,...K.INMUTABLE_UPSTREAM_PROPERTIES]),c(K,"MUTABLE_DOWNSTREAM_PROPERTIES",["entities","projects","functions","events","variableDeclarations","variableInstances","conditions","operations","functionCalls","loops","searches"]),c(K,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(K,"DOWNSTREAM_PROPERTIES",[...K.MUTABLE_DOWNSTREAM_PROPERTIES,...K.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(K,"PROPERTIES",[...K.META_PROPERTIES,...K.UPSTREAM_PROPERTIES,...K.DOWNSTREAM_PROPERTIES]);let w=K;class rI extends Ue{constructor(t){super(kt,t);c(this,"id",Oe.Parallel);c(this,"name",Oe.Parallel);c(this,"description","Execute a list of actions one after the other");c(this,"version",1);c(this,"autoexecutable",!0);c(this,"initialData",kt);c(this,"type",i.ActionDescriptor);c(this,"fixedArguments",[]);c(this,"fixedReturns",[]);c(this,"error",null);c(this,"dynamicArgumentTypes",null);c(this,"dynamicReturnTypes",null);c(this,"project");this.project=t,this.fixedArguments=kt.fixedArguments.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.fixedReturns=kt.fixedReturns.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.error=kt.error?R(kt.error,this.project):null}}class iI extends Ue{constructor(t){super(ut,t);c(this,"id",ut.id);c(this,"name",ut.name);c(this,"description",ut.description);c(this,"version",ut.version);c(this,"autoexecutable",!1);c(this,"initialData",ut);c(this,"type",i.ActionDescriptor);c(this,"fixedArguments",[]);c(this,"fixedReturns",[]);c(this,"error",null);c(this,"dynamicArgumentTypes",null);c(this,"dynamicReturnTypes",null);c(this,"project");this.project=t,this.fixedArguments=ut.fixedArguments.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.fixedReturns=ut.fixedReturns.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.error=ut.error?R(ut.error,this.project):null}}class aI extends Ue{constructor(t){super(un,t);c(this,"id",Oe.Sequential);c(this,"name",Oe.Sequential);c(this,"description","Execute a list of actions one after the other");c(this,"version",1);c(this,"autoexecutable",!0);c(this,"initialData",un);c(this,"type",i.ActionDescriptor);c(this,"fixedArguments",[]);c(this,"fixedReturns",[]);c(this,"error",null);c(this,"dynamicArgumentTypes",null);c(this,"dynamicReturnTypes",null);c(this,"project");this.project=t,this.fixedArguments=un.fixedArguments.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.fixedReturns=un.fixedReturns.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.error=un.error?R(un.error,this.project):null}}function J3(n){const e=[new aI(n),new rI(n),new iI(n),new Ue(Ii,n),new Ue(Gr,n),new Ue(Xn,n),new Ue(_a,n),new Ue(Vo,n),new Ue(Go,n),new Ue(Lo,n),new Ue(Ca,n),new Ue(gi,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.operationDeclarations=e,e}class sI extends Ut{constructor(t){super(Le,t);c(this,"initialData");c(this,"id",V.PERSISTED_ENTITY);c(this,"version",1);c(this,"name",V.PERSISTED_ENTITY);c(this,"description",Le.description);c(this,"type",i.BuiltInBaseEntity);c(this,"abstract",Le.abstract);c(this,"static",Le.static);c(this,"properties",[]);c(this,"methods",[]);c(this,"abstractMethods",[]);c(this,"extends",[]);c(this,"errors",[]);c(this,"project");this.initialData=Le,this.project=t,this.id=Le.id,this.version=Le.version,this.name=Le.name,this.static=Le.static,this.abstract=Le.abstract,this.properties=this.initialData.properties.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(r=>{const a=R(r,this.project);return a.parent=this,a}),this.abstractMethods=this.initialData.abstractMethods.map(r=>{const a=R(r,this.project);return a.parent=this,a}),this.extends=this.initialData.extends.map(r=>R(r,this.project))}}function W3(n){const e=[new sI(n),new Ut(Ua,n),new Ut(On,n),new Ut(nl,n),new Ut(Fa,n)];return e.forEach(t=>{n.subscribeBuiltInInstance(t)}),n.builtInBaseEntities=e,e}function H3(n){const e=[new xt(j,n),new xt(An,n),new xt(Ce,n),new xt(et,n),new xt(Sn,n),new xt(dn,n),new xt(Oa,n),new xt(wo,n)];return e.forEach(t=>{n.subscribeBuiltInInstance(t)}),n.primitives=e,e}function Y3(n){const e=[new Ue(Ja,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.globalEventActionDescriptors=e,e}function z3(n){const e=[new Ue(Qn,n),new Ue(Yo,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.loopDeclarations=e,e}function Z3(n){const e=[new Br(sl,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.valueDescriptors=e,e}function X3(n){const e=[new Ue(Kn,n),new Ue(Ur,n)];return e.forEach(t=>{t.initChildren()}),n.conditionDeclarations=e,e}const Nr={},Po={};async function Q3(n,e={}){const t={...Tb};return t.id=n.id,e.empty?{data:{id:n.id,type:i.Project,version:1,name:null,description:null,projects:[],entities:[],operations:[],functions:[],variableDeclarations:[],variableInstances:[],functionCalls:[],conditions:[],loops:[],searches:[],events:[]}}:{data:t}}function oI(n){const e=new w(n);return H3(e),W3(e),J3(e),Y3(e),z3(e),Z3(e),X3(e),e.initChildren(),e}async function K3(n,e={}){if(n.id&&Nr[n.id])return Nr[n.id];if(n.id&&Po[n.id])return await Po[n.id],Nr[n.id];const t=Q3(n,e);n.id&&(Po[n.id]=t);const r=await t;if(r.data){const a=oI(r.data);return Nr[n.id]=a,n.id&&delete Po[n.id],a}return null}function e5(n){return Nr[n.id]&&delete Nr[n.id],null}const t5="test_primitive_entities_export";u.AI_VALUE_CONNECTION_GENERATION_ACTION_EXPLANATION=Bd,u.ActionDescriptorState=Ue,u.ActionDescriptorValuesType=U,u.ActionInputMapState=X9,u.ActionOutputMapState=e3,u.AppendToListOperationInputIds=bp,u.AppendToListOperationOutputIds=gp,u.ArgumentDeclarationState=Or,u.BREAK_AND_CONTINUE_STATEMENTS_RETURN_DECLARATIONS_EXPLANATION=Ad,u.BUILT_IN_BASE_ENTITY_IDS=x,u.BUILT_IN_ENTITY_TYPES=Lr,u.BaseCanvasDraggableState=V9,u.BaseEntityNames=V,u.BaseState=N9,u.BaseValueDescriptorIds=Bo,u.BreakStatementState=Ei,u.BuiltInBaseEntityState=Ut,u.CACHED_PROJECTS_BY_ID=Nr,u.CALLABLE_ENTITIES_EXPLANATION=p3,u.CALLABLE_TYPES=Pn,u.CALLER_ENTITIES_EXPLANATION=bv,u.CALLER_TYPES=cn,u.CALLS_UPDATE_EXPLANATION=qn,u.COMPARISON_CONDITIONS=Rm,u.CONDITIONS=LI,u.CUSTOM_ENTITY_OPERATIONS=Vy,u.CallableEntityClass=L9,u.CallerEntityClass=vd,u.ChildEntityState=$9,u.ComparisonOperatorTypes=_e,u.ConditionState=Ir,u.ContinueStatementState=Tt,u.CreateNewInputIds=uy,u.CreateNewOutputIds=py,u.CustomEntityState=Mr,u.DRAGGABLE_CALLABLE_TYPES=Oo,u.DRAGGABLE_CALLER_TYPES=Hd,u.DRAGGABLE_ELEMENT_TYPES=Co,u.DRAGGABLE_EXECUTABLE_TYPES=uI,u.DRAGGABLE_PASS_THROUGH_CALLABLE_TYPES=So,u.DataTypeCompatibilityTypes=Ft,u.DataTypeParentChildRelation=xe,u.DataTypeState=hi,u.ENTITIES_WITH_VALLUES_EXPLANATION=po,u.ENTITY_TYPES=pI,u.ENTITY_WITH_LOGIC_SCOPE_TYPES=dt,u.ENTITY_WITH_NAMES_TYPES=Yd,u.ENTITY_WITH_VALUE_TYPES=Wd,u.ENTRY_POINT_ENTITIES_EXPLANATION=ga,u.ENTRY_POINT_TYPES=Me,u.EVENT_TYPES=$r,u.EXECUTABLE_TYPES=dI,u.EXECUTION_OPERATIONS=dy,u.EntityError=lr,u.EntityErrorSeverity=T,u.EntityGenerationError=E,u.EntityGenerationErrorCode=h,u.EntityInstanceErrorCode=_,u.EntityOperations=Ke,u.EntityType=i,u.EntityWithLogicScopeClass=x9,u.EntityWithValueClass=U9,u.EntryPointEntityClass=G9,u.ExecutionOperations=Oe,u.FunctionCallState=wr,u.FunctionDeclarationState=br,u.GLOBAL_EVENT_DECLARATIONS=GI,u.GetLastInListOperationInputIds=lp,u.GetLastInListOperationOutputIds=cp,u.GlobalEventNames=ln,u.GlobalEventState=fi,u.HTTPOperations=Ze,u.HTTP_OPERATIONS=fh,u.InputMapState=vn,u.InstalledProjectState=Sr,u.InternalCallState=mi,u.JoinListOperationInputIds=Ou,u.JoinListOperationOutputIds=Cu,u.JoinStringOperationInputIds=hu,u.JoinStringOperationOutputIds=fu,u.LIST_OPERATIONS=Np,u.ListOperations=W,u.LoopState=vr,u.LoopTypes=Q,u.NON_INTERACTIVE_BASE_ENTITIES_EXPLANATION=Jn,u.NUMBER_OPERATIONS=yu,u.NumberAdditionOperationInputIds=eu,u.NumberAdditionOperationOutputIds=tu,u.NumberOperations=ct,u.OPERATION_DECLARATIONS=hI,u.OperationState=gr,u.OutputMapParentChildRelation=Jd,u.OutputMapState=In,u.PARENT_AUTO_CALCULATION_FROM_CALLER_EXPLANATION=yo,u.PASS_THROUGH_CALLABLE_ENTITIES_EXPLANATION=kn,u.PASS_THROUGH_CALLABLE_TYPES=$e,u.PROPERTY_NOT_VALUE_READER_WRITTER_EXPLANATION=Cd,u.ParallelExecutionOperation=rI,u.ParallelExecutionOperationInputIds=Vp,u.ParallelExecutionOperationOutputIds=$p,u.PassThroughCallableEntityClass=F9,u.PersistedEntity=sI,u.PersistedEntityMethods=Ct,u.PrimitiveEntityState=xt,u.PrimitiveTypes=P,u.PrimitiveValueState=Ti,u.ProjectState=w,u.PropertyState=Rr,u.RETURN_STATEMENT_RETURN_DECLARATIONS_EXPLANATION=y3,u.ReturnDeclarationState=Nt,u.ReturnStatementState=Cr,u.STANDALONE_CONDITIONS=ym,u.STRING_OPERATIONS=Su,u.ScopeCompatibilityType=Do,u.SearchState=Ar,u.SequentialExecutionOperation=aI,u.SequentialExecutionOperationInputIds=Kp,u.SequentialExecutionOperationOutputIds=ey,u.SharedEntityErrorCode=A,u.SharedStateFunctionality=Tv,u.SplitListOperationInputIds=qu,u.SplitListOperationOutputIds=Ju,u.StandaloneOperatorTypes=$t,u.StringOperations=Ae,u.TERMINATION_TYPES=Ne,u.USER_MANAGED_ENTITY_TYPES=yI,u.UserManagedEntityStateFunctionality=M9,u.VALUE_READING_ENTITIES_EXPLANATION=Od,u.VALUE_READING_TYPES=zn,u.VALUE_WRITING_ENTITIES_EXPLANATION=gv,u.VALUE_WRITING_TYPES=Ve,u.VARIABLE_DATA_TYPE_INFERRANCE_EXPLANATION=Sd,u.VARIABLE_TYPES=je,u.ValidationInputIds=gy,u.ValidationOutputIds=vy,u.ValueAutogenerationType=qe,u.ValueDescriptorParentChildRelation=M,u.ValueDescriptorState=Br,u.ValueReadingEntityClass=Ra,u.ValueWritingEntityClass=ba,u.VariableDeclarationState=Dr,u.VariableInputMapState=Z9,u.VariableInstanceState=Pr,u.VariableOutputMapState=K9,u.WaitOperation=iI,u.WaitOperationInputIds=Wp,u.WaitOperationOutputIds=Hp,u._VALUE_READING_TYPES=lI,u._VALUE_WRITING_TYPES=cI,u.appendToListOperation=_a,u.appendToListOperationElementToAppendArgument=Uo,u.appendToListOperationElementToAppendArgumentParentRef=Cp,u.appendToListOperationElementToAppendArgumentRef=Dp,u.appendToListOperationError=Mp,u.appendToListOperationErrorParentRef=_p,u.appendToListOperationListArgument=Fo,u.appendToListOperationListArgumentParentRef=Op,u.appendToListOperationListArgumentRef=vp,u.appendToListOperationListDataType=Ip,u.appendToListOperationResultListDataType=Sp,u.appendToListOperationResultListReturn=wp,u.appendToListOperationResultListReturnParentRef=Bp,u.appendToListOperationResultListReturnRef=Ap,u.appendToListOperationSecondListDataType=Pp,u.asGenerationActionExample=sn,u.baseHttpRequestFunctionDeclaration=Ii,u.baseHttpRequestFunctionDeclarationErrorValueDescriptor=Ho,u.baseHttpRequestFunctionDeclarationErrorValueDescriptorDatatype=hh,u.baseHttpRequestFunctionDeclarationErrorValueDescriptorRef=yh,u.baseHttpRequestFunctionDeclarationRef=ch,u.baseHttpRequestFunctionDeclarationRefEight=uh,u.baseHttpRequestFunctionDeclarationRefFive=oh,u.baseHttpRequestFunctionDeclarationRefFour=sh,u.baseHttpRequestFunctionDeclarationRefNine=ph,u.baseHttpRequestFunctionDeclarationRefSeven=dh,u.baseHttpRequestFunctionDeclarationRefSix=lh,u.baseHttpRequestFunctionDeclarationRefThree=ah,u.baseHttpRequestFunctionDeclarationRefTwo=ih,u.booleanPrototype=An,u.capitalizeFirstLetter=ro,u.checkAreCustomEntitiesCompatibleAsDataType=nv,u.checkAreDataTypesCompatible=Yt,u.checkArePropertiesCompatibleAsDataType=tv,u.checkIsBranchDependentButNotDirectlyOnBranch=Ia,u.checkIsBranchDependentOnBranch=v3,u.checkIsCallableEntityReachable=Aa,u.checkIsCanvasEntity=F3,u.checkIsDetachedBranch=Xv,u.checkIsDetachedBranchShallow=kd,u.checkIsGlobalVariable=L3,u.checkIsGloballyDeclared=jd,u.checkIsMethod=eI,u.checkIsNestedScope=Io,u.checkScopeCompatibility=Da,u.createEntityError=H,u.createNewInstanceOperation=Gr,u.createNewInstanceOperationEntityToInstanciateArgument=my,u.createNewInstanceOperationEntityToInstanciateArgumentRef=yy,u.createNewInstanceOperationEntityToInstanciateDataType=hy,u.createNewInstanceOperationError=by,u.createNewInstanceOperationErrorParentRef=Ry,u.createNewInstanceOperationOutputEntityDeclaration=Ey,u.createNewInstanceOperationOutputEntityDeclarationParentRef=Ty,u.createNewInstanceOperationRef=fy,u.createSemanticId=Qe,u.createStateFromGenerationTargetType=q3,u.createStateFromType=jt,u.createStateFromTypeAndSubscribe=R,u.cronJobBuiltInBaseEntity=nl,u.cronJobBuiltInBaseEntityExpressionProperty=cm,u.cronJobBuiltInBaseEntityExpressionPropertyDataTypeRef=NI,u.cronJobBuiltInBaseEntityExpressionPropertyRef=om,u.cronJobBuiltInBaseEntityRef=lm,u.cronJobTriggeredFunctionDeclarationBlueprint=tl,u.cronJobTriggeredFunctionDeclarationBlueprintParentRef=am,u.customEntityToZodSchema=Lm,u.dataTypeCompatibilityToErrorExplanation=Cv,u.datePrototype=dn,u.dateValueAutogenerationSchema=dc,u.deletePersistedEntityMethod=el,u.deletePersistedEntityMethodParentRef=Lf,u.deleteRootProject=e5,u.endpointBuiltInBaseEntity=Ua,u.endpointBuiltInBaseEntityRef=$h,u.endpointBuiltInBaseEntityRefFour=Pf,u.endpointBuiltInBaseEntityRefThree=Jh,u.endpointBuiltInBaseEntityRefTwo=xh,u.endpointBuiltInCorsProperty=Lh,u.endpointBuiltInCorsPropertyDataType=Vh,u.endpointBuiltInCorsPropertyDataTypeRef=Mh,u.endpointBuiltInCorsPropertyRef=Nh,u.endpointBuiltInMethodProperty=Zo,u.endpointBuiltInMethodPropertyDataType=qh,u.endpointBuiltInMethodPropertyDataTypeRef=jh,u.endpointBuiltInMethodPropertyRef=kh,u.endpointBuiltInPathProperty=zo,u.endpointBuiltInPathPropertyDataType=Uh,u.endpointBuiltInPathPropertyDataTypeRef=Gh,u.endpointBuiltInPathPropertyRef=Fh,u.endpointPathParamsArgumentDeclaration=of,u.endpointPathParamsArgumentDeclarationRef=tf,u.endpointPathParamsVariableDataType=nf,u.endpointPathParamsVariableDataTypeRef=ef,u.endpointReachedTriggerActionDescriptor=Xo,u.endpointReachedTriggerActionDescriptorRef=rf,u.endpointReachedTriggerActionDescriptorRefFour=df,u.endpointReachedTriggerActionDescriptorRefThree=lf,u.endpointReachedTriggerActionDescriptorRefTwo=sf,u.endpointRequestBodyArgumentDeclaration=uf,u.endpointRequestBodyArgumentDeclarationRef=zh,u.endpointRequestBodyVariableDataType=Zh,u.endpointRequestHeadersArgumentDeclaration=af,u.endpointRequestHeadersArgumentDeclarationRef=Hh,u.endpointRequestHeadersVariableDataType=Yh,u.endpointRequestHeadersVariableDataTypeRef=Wh,u.endpointRequestQueryParamsArgumentDeclaration=cf,u.endpointRequestQueryParamsArgumentDeclarationRef=Qh,u.endpointRequestQueryParamsVariableDataType=Kh,u.endpointRequestQueryParamsVariableDataTypeRef=Xh,u.endpointResponseBodyDataType=vf,u.endpointResponseBodyReturnDeclaration=Df,u.endpointResponseBodyReturnDeclarationRef=gf,u.endpointResponseCodeDataType=yf,u.endpointResponseCodeReturnDeclaration=ff,u.endpointResponseCodeReturnDeclarationRef=pf,u.endpointResponseHeadersDataType=Ef,u.endpointResponseHeadersDataTypeRef=mf,u.endpointResponseHeadersReturnDeclaration=bf,u.endpointResponseHeadersReturnDeclarationRef=Tf,u.endpointReturnStatementRef=hf,u.endpointReturnStatementRefThree=If,u.endpointReturnStatementRefTwo=Rf,u.enumOptionsProperty=Kd,u.enumOptionsPropertyDataType=Xd,u.enumOptionsPropertyDataTypeRef=zd,u.enumOptionsPropertyRef=Zd,u.enumPrototype=Sn,u.enumPrototypeRef=Qd,u.executionBuiltInEntity=il,u.executionBuiltInEntityAbortMethod=rl,u.executionBuiltInEntityAbortMethodParentRef=dm,u.filterOutDuplicateEntities=v,u.filterOutDuplicateErrors=_4,u.findReferenceToSelfInList=kv,u.findReferencesToSelfInProject=w3,u.flattenCalls=on,u.flattenCanvasAncestorsUntil=Eo,u.flattenCustomEntityExtensionAndImplementationTypes=Yv,u.flattenCustomEntityExtensionTypes=go,u.flattenCustomEntityExtensions=Fd,u.flattenCustomEntityImplementations=Ud,u.flattenCustomEntityImplementionTypes=bo,u.flattenDerivedCanvasEntities=St,u.flattenDetachedBranch=Kv,u.flattenElementCalls=Se,u.flattenElementCallsOnTheSameScope=B3,u.flattenProjectElements=jv,u.flattenRelatedCanvasElementsOnTheLeft=Hv,u.flattenRelatedCanvasElementsOnTheRight=Wv,u.flattenVariableReads=xv,u.flattenVariableWrites=Uv,u.flattenVariables=te,u.fromZodParseToEntityGenerationErrors=Id,u.generate=NP,u.generateActionExample=h3,u.generateExecutionDataType=h9,u.generateMutablePropertiesExplanation=lo,u.generateRandomBoolean=cT,u.generateRandomDate=xm,u.generateRandomDateAfter=Gm,u.generateRandomDateBefore=Fm,u.generateRandomDateBetweenRange=Um,u.generateRandomNumber=iT,u.generateRandomNumberAfter=tT,u.generateRandomNumberBefore=nT,u.generateRandomNumberBetweenRange=rT,u.generateRandomText=lT,u.generateRandomTextAfter=aT,u.generateRandomTextBefore=sT,u.generateRandomTextBetweenRange=oT,u.generateUniqueUUID=eT,u.getAllActionDescriptorsForConditions=mo,u.getAllActionDescriptorsForGlobalEvents=ho,u.getAllActionDescriptorsForLoops=fo,u.getAllActionDescriptorsForOperations=E3,u.getAllGloballyDeclaredFunctionDeclarationsExplanation=Av,u.getBaseBuiltInEntities=Hn,u.getBaseSchemaBasedOnType=Ev,u.getBuiltInEntityOwner=Yn,u.getCallableEntityReferenceSchema=We,u.getCallableEntityTypeSchema=jb,u.getCallerEntityReferenceSchema=Lx,u.getCallerEntityTypeSchema=$x,u.getCalls=Nd,u.getCanvasEntitiesDerivedFromInternalCalls=Jv,u.getCanvasEntitiesDerivedFromWrites=Ri,u.getCanvasEntityDerivedFromValueReadingEntity=Gd,u.getCanvasEntityReferenceSchema=e8,u.getCanvasEntityTypeSchema=Kx,u.getChildrenEntityWithValues=D3,u.getCommonAncestor=Md,u.getCommonChildren=_v,u.getDeclaration=Tr,u.getDeepestScope=nI,u.getDraggableCallableEntityReferenceSchema=qb,u.getDraggableCallableEntityTypeSchema=kb,u.getDraggableCallerEntityReferenceSchema=Fx,u.getDraggableCallerEntityTypeSchema=Gx,u.getDraggableExecutableEntityReferenceSchema=kx,u.getDraggableExecutableEntityTypeSchema=jx,u.getDraggablePassThroughCallableEntityReferenceSchema=zs,u.getDraggablePassThroughCallableEntityTypeSchema=Ys,u.getDraggablePlayableEntityReferenceSchema=Yx,u.getDraggablePlayableEntityTypeSchema=Hx,u.getEntityArgumentDeclarations=$d,u.getEntityInputMaps=qv,u.getEntityOutputMaps=N3,u.getEntityReferenceSchema=Qx,u.getEntityReturnDeclarations=Ld,u.getEntityTypeSchema=Xx,u.getEntityWithLogicScopeReferenceSchema=Rn,u.getEntityWithLogicScopeTypeSchema=qx,u.getEntityWithValueReferenceSchema=xb,u.getEntityWithValueTypeSchema=Vx,u.getEntryPointEntityReferenceSchema=Je,u.getEntryPointEntityTypeSchema=Un,u.getEventEntityReferenceSchema=Ws,u.getEventEntityTypeSchema=Js,u.getExecutableEntityReferenceSchema=xx,u.getExecutableEntityTypeSchema=Ux,u.getExtendedBuiltInEntity=V3,u.getExtendedCustomEntity=Zv,u.getGenerationTargetSchemaBasedOnType=Rv,u.getHeadIfPartOfDetachedBranch=Qv,u.getHighestScope=tI,u.getImplementedBuiltInEntity=$3,u.getIsInteractive=xd,u.getLastInListOperation=Go,u.getLastInListOperationError=Rp,u.getLastInListOperationErrorParentRef=Ep,u.getLastInListOperationInputListArgument=fp,u.getLastInListOperationInputListArgumentParentRef=hp,u.getLastInListOperationInputListArgumentRef=dp,u.getLastInListOperationInputListDataType=up,u.getLastInListOperationOutputElementDataType=yp,u.getLastInListOperationOutputElementReturn=Tp,u.getLastInListOperationOutputElementReturnParentRef=mp,u.getLastInListOperationOutputElementReturnRef=pp,u.getLinkedEntitiesFromArgumentDeclaration=C3,u.getLowestPersistedEntityImplementation=zv,u.getParentCanvasEntities=Et,u.getParentCanvasEntity=ze,u.getParentEntryPoint=I3,u.getPassThroughCallableEntityReferenceSchema=de,u.getPassThroughCallableEntityTypeSchema=Hs,u.getPlayableEntityReferenceSchema=Wx,u.getPlayableEntityTypeSchema=Jx,u.getProject=K3,u.getPrototypeByType=vo,u.getReferenceEntityId=B,u.getReferencedEntitiesStateOrErrors=uo,u.getReferencedEntityStateOrErrors=Dd,u.getRelatedCanvasElementsOnTheLeft=_r,u.getRelatedCanvasElementsOnTheRight=Wn,u.getRootEntryPointScopeOwner=qd,u.getScopeOwner=Rt,u.getTerminationReferenceSchema=Zx,u.getTerminationTypeSchema=zx,u.getUsedArgFromDeclaration=_3,u.getUsedReturnFromDeclaration=M3,u.getValueReadingEntityReferenceSchema=Ub,u.getValueReadingEntityTypeSchema=En,u.getValueWritingEntityReferenceSchema=Nx,u.getValueWritingEntityTypeSchema=ca,u.getVariableFromInputMapping=Nv,u.getVariableFromReturnVariablePointer=Lv,u.getVariableReferenceSchema=Fn,u.getVariableTypeSchema=ur,u.getVariablesFromArgumentDeclarations=Ro,u.getVariablesFromInputMaps=Vv,u.getVariablesFromOutputMapping=Gv,u.getVariablesFromOutputMaps=Fv,u.getVariablesFromReturnDeclarations=$v,u.getVariablesInSameOrHigherScope=yd,u.getWrites=Vd,u.groupCallsBasedOnParallelizableExecution=A3,u.handleAfterEntityImplementationSideEffects=wv,u.handleBeforeEntityImplementationSideEffects=Bv,u.httpRequestBodyArgument=$a,u.httpRequestBodyArgumentRef=Yy,u.httpRequestBodyDataType=zy,u.httpRequestHeadersArgument=Va,u.httpRequestHeadersArgumentRef=Wy,u.httpRequestHeadersDataType=Hy,u.httpRequestMethodArgument=Ma,u.httpRequestMethodArgumentRef=qy,u.httpRequestMethodDataType=Jy,u.httpRequestMethodDataTypeRef=jy,u.httpRequestQueryParamsArgument=Jo,u.httpRequestQueryParamsArgumentRef=Uy,u.httpRequestQueryParamsDataType=xy,u.httpRequestVariableURLArgument=Na,u.httpRequestVariableURLArgumentRef=Gy,u.httpRequestVariableURLDataType=Fy,u.httpRequestVariableURLDataTypeRef=$y,u.httpResponseBodyReturnDataType=rh,u.httpResponseBodyReturnDataTypeRef=th,u.httpResponseBodyReturnReturn=vi,u.httpResponseBodyReturnReturnRef=nh,u.httpResponseCodeDataType=Xy,u.httpResponseCodeReturn=Wo,u.httpResponseCodeReturnRef=Zy,u.httpResponseHeadersDataType=eh,u.httpResponseHeadersDataTypeRef=Qy,u.httpResponseHeadersReturn=La,u.httpResponseHeadersReturnRef=Ky,u.implement=To,u.inferArgumentDeclarationDataType=rv,u.inferDataType=an,u.inferInputMapDataType=iv,u.inferOutputMapDataType=ov,u.inferReturnDeclarationDataType=pd,u.inferVariableDeclarationDataType=sv,u.inferVariableInstanceDataType=av,u.initProject=oI,u.iterateOverListActionDescriptor=Qn,u.iterateOverListActionDescriptorListArgumentDeclaration=vh,u.iterateOverListActionDescriptorListArgumentDeclarationDataType=bh,u.iterateOverListActionDescriptorListArgumentDeclarationDataTypeParentRef=Rh,u.iterateOverListActionDescriptorListArgumentDeclarationParentRef=gh,u.iterateOverListActionDescriptorReturnDeclaration=Eh,u.iterateOverListActionDescriptorReturnDeclarationParentRef=Th,u.joinListOperation=Vo,u.joinListOperationError=ku,u.joinListOperationErrorParentRef=ju,u.joinListOperationFirstListArgument=Lu,u.joinListOperationFirstListArgumentParentRef=$u,u.joinListOperationFirstListArgumentRef=Bu,u.joinListOperationFirstListDataType=wu,u.joinListOperationResultListDataType=Vu,u.joinListOperationResultListReturn=xu,u.joinListOperationResultListReturnParentRef=Uu,u.joinListOperationResultListReturnRef=Nu,u.joinListOperationSecondListArgument=Fu,u.joinListOperationSecondListArgumentParentRef=Gu,u.joinListOperationSecondListArgumentRef=_u,u.joinListOperationSecondListDataType=Mu,u.joinListWithLastSeparator=L,u.joinStringOperation=gi,u.joinStringOperationError=Au,u.joinStringOperationErrorParentRef=Pu,u.joinStringOperationFirstStringArgument=Ba,u.joinStringOperationFirstStringArgumentParentRef=vu,u.joinStringOperationFirstStringArgumentRef=mu,u.joinStringOperationFirstStringDataType=Tu,u.joinStringOperationResultStringDataType=gu,u.joinStringOperationResultStringReturn=bi,u.joinStringOperationResultStringReturnParentRef=Du,u.joinStringOperationResultStringReturnRef=bu,u.joinStringOperationSecondStringArgument=wa,u.joinStringOperationSecondStringArgumentParentRef=Iu,u.joinStringOperationSecondStringArgumentRef=Eu,u.joinStringOperationSecondStringDataType=Ru,u.jsonPrototype=wo,u.keyValueParamBuiltInBaseEntity=Fa,u.keyValueParamBuiltInBaseEntityNameProperty=Ch,u.keyValueParamBuiltInBaseEntityNamePropertyDataTypeRef=mI,u.keyValueParamBuiltInBaseEntityNamePropertyParentRef=Oh,u.keyValueParamBuiltInBaseEntityNamePropertyRef=Sh,u.keyValueParamBuiltInBaseEntityValueProperty=_h,u.keyValueParamBuiltInBaseEntityValuePropertyDataTypeRef=EI,u.keyValueParamBuiltInBaseEntityValuePropertyParentRef=wh,u.keyValueParamBuiltInBaseEntityValuePropertyRef=Bh,u.lowercaseFirstLetter=ev,u.manualFlowActionDescriptor=Yo,u.manualFlowActionDescriptorDeclarationReturnDeclaration=Ah,u.manualFlowActionDescriptorDeclarationReturnDeclarationDataType=Dh,u.manualFlowActionDescriptorDeclarationReturnDeclarationDataTypeParentRef=Ih,u.manualFlowActionDescriptorDeclarationReturnDeclarationParentRef=Ph,u.mapActionDescriptorToTypeItRepresents=U3,u.mergeEntityErrorsList=M4,u.mergeListOfEntities=G3,u.methodDefaultValue=ky,u.mockClientProject=Tb,u.moreThanOrEqualCondition=Ur,u.moreThanOrEqualConditionLeftHandArgument=mm,u.moreThanOrEqualConditionLeftHandArgumentParentRef=fm,u.moreThanOrEqualConditionRightHandArgument=Em,u.moreThanOrEqualConditionRightHandArgumentParentRef=Tm,u.notEmptyCondition=Kn,u.notEmptyConditionArgument=pm,u.notEmptyConditionRef=um,u.numberAdditionOperation=Ca,u.numberAdditionOperationError=pu,u.numberAdditionOperationErrorParentRef=uu,u.numberAdditionOperationFirstNumberArgument=_o,u.numberAdditionOperationFirstNumberArgumentRef=nu,u.numberAdditionOperationFirstNumberDataType=ru,u.numberAdditionOperationRef=lu,u.numberAdditionOperationRefThree=du,u.numberAdditionOperationRefTwo=cu,u.numberAdditionOperationResultNumberDataType=ou,u.numberAdditionOperationResultNumberReturn=No,u.numberAdditionOperationResultNumberReturnRef=su,u.numberAdditionOperationSecondNumberArgument=Mo,u.numberAdditionOperationSecondNumberArgumentRef=iu,u.numberAdditionOperationSecondNumberDataType=au,u.numberPrototype=Ce,u.numberValueAutogenerationSchema=cc,u.parallelExecutionOperation=kt,u.parallelExecutionOperationError=Jp,u.parallelExecutionOperationErrorParentRef=qp,u.parallelExecutionOperationListOfExecutionResultsDataType=xp,u.parallelExecutionOperationListOfExecutionResultsReturn=jo,u.parallelExecutionOperationListOfExecutionResultsReturnRef=Up,u.parallelExecutionOperationListOfFunctionsArgument=xo,u.parallelExecutionOperationListOfFunctionsArgumentDatatype=Fp,u.parallelExecutionOperationListOfFunctionsArgumentRef=Gp,u.parallelExecutionOperationListOfFunctionsBlueprint=Lp,u.parallelExecutionOperationRef=jp,u.parallelExecutionOperationRefThree=kp,u.persistedBuiltInBaseEntity=Le,u.persistedBuiltInBaseEntityCreatedAtProperty=em,u.persistedBuiltInBaseEntityCreatedAtPropertyDataType=Qf,u.persistedBuiltInBaseEntityCreatedAtPropertyDataTypeRef=_I,u.persistedBuiltInBaseEntityCreatedAtPropertyParentRef=Kf,u.persistedBuiltInBaseEntityCreatedAtPropertyRef=Xf,u.persistedBuiltInBaseEntityDatabaseProperty=Pi,u.persistedBuiltInBaseEntityDatabasePropertyDataTypeRef=OI,u.persistedBuiltInBaseEntityDatabasePropertyParentRef=jf,u.persistedBuiltInBaseEntityDatabasePropertyRef=xf,u.persistedBuiltInBaseEntityDeletedAtProperty=Zf,u.persistedBuiltInBaseEntityDeletedAtPropertyDataType=Yf,u.persistedBuiltInBaseEntityDeletedAtPropertyDataTypeRef=wI,u.persistedBuiltInBaseEntityDeletedAtPropertyParentRef=zf,u.persistedBuiltInBaseEntityDeletedAtPropertyRef=Hf,u.persistedBuiltInBaseEntityIdentifierProperty=Wf,u.persistedBuiltInBaseEntityIdentifierPropertyDataTypeRef=kf,u.persistedBuiltInBaseEntityIdentifierPropertyParentRef=Jf,u.persistedBuiltInBaseEntityIdentifierPropertyRef=qf,u.persistedBuiltInBaseEntityUpdatedAtProperty=im,u.persistedBuiltInBaseEntityUpdatedAtPropertyDataType=nm,u.persistedBuiltInBaseEntityUpdatedAtPropertyDataTypeRef=MI,u.persistedBuiltInBaseEntityUpdatedAtPropertyParentRef=rm,u.persistedBuiltInBaseEntityUpdatedAtPropertyRef=tm,u.processOutputGlobalValueDescriptorDataType=gm,u.processOutputGlobalValueDescriptorReturn=sl,u.processOutputGlobalValueDescriptorReturnRef=bm,u.projectPublicationCompletedGlobalEvent=Ja,u.propertyToZodSchema=$m,u.relationalDatabaseBuiltInBaseEntity=On,u.relationalDatabaseBuiltInBaseEntityAutoscalingProperty=Ko,u.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyDataTypeRef=Vf,u.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyParentRef=$f,u.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyRef=Nf,u.relationalDatabaseBuiltInBaseEntityDefaultProperty=Qo,u.relationalDatabaseBuiltInBaseEntityDefaultPropertyDataTypeRef=_f,u.relationalDatabaseBuiltInBaseEntityDefaultPropertyRef=Mf,u.relationalDatabaseBuiltInBaseEntityIdentifierProperty=xa,u.relationalDatabaseBuiltInBaseEntityIdentifierPropertyDataTypeRef=Af,u.relationalDatabaseBuiltInBaseEntityIdentifierPropertyRef=Sf,u.relationalDatabaseBuiltInBaseEntityMinSizeProperty=qa,u.relationalDatabaseBuiltInBaseEntityMinSizePropertyDataTypeRef=Bf,u.relationalDatabaseBuiltInBaseEntityMinSizePropertyRef=wf,u.relationalDatabaseBuiltInBaseEntityPasswordProperty=ka,u.relationalDatabaseBuiltInBaseEntityPasswordPropertyDataTypeRef=II,u.relationalDatabaseBuiltInBaseEntityPasswordPropertyRef=Cf,u.relationalDatabaseBuiltInBaseEntityRef=Fr,u.relationalDatabaseBuiltInBaseEntityUsernameProperty=ja,u.relationalDatabaseBuiltInBaseEntityUsernamePropertyDataTypeRef=gI,u.relationalDatabaseBuiltInBaseEntityUsernamePropertyRef=Of,u.resolveActionDescriptorName=mv,u.resolveBaseEntityName=yv,u.resolveBuiltInBaseEntityDataTypeLabel=hd,u.resolveConditionOperatorLabel=so,u.resolveCustomEntityDataTypeLabel=fd,u.resolveDataType=io,u.resolveDataTypeLabel=dv,u.resolveEntityDataTypeLabel=pv,u.resolveEntityName=S,u.resolveFirstCallsSecond=S3,u.resolveFirstWritesSecond=O3,u.resolvePrimitiveEntityName=fv,u.resolvePropertyDataTypeLabel=uv,u.resolveSearchName=hv,u.resolveVariableDataTypeLabel=E9,u.resolveVariableDeclarationDataTypeLabel=Er,u.resolveVariableInstanceDataTypeLabel=cv,u.resolveVariableScope=f9,u.sequentialExecutionOperation=un,u.sequentialExecutionOperationError=cy,u.sequentialExecutionOperationErrorParentRef=ly,u.sequentialExecutionOperationListOfExecutionResultsDataType=ay,u.sequentialExecutionOperationListOfExecutionResultsReturn=qo,u.sequentialExecutionOperationListOfExecutionResultsReturnParentRef=oy,u.sequentialExecutionOperationListOfExecutionResultsReturnRef=iy,u.sequentialExecutionOperationListOfFunctionsArgument=ko,u.sequentialExecutionOperationListOfFunctionsArgumentDatatype=ry,u.sequentialExecutionOperationListOfFunctionsArgumentParentRef=sy,u.sequentialExecutionOperationListOfFunctionsArgumentRef=ny,u.sequentialExecutionOperationListOfFunctionsBlueprint=ty,u.softDeletePersistedEntityMethod=Ff,u.softDeletePersistedEntityMethodParentRef=Gf,u.sortCallsBasedOnExecutionDependencies=Mv,u.sortChildrenEntitiesBasedOnExecutionDependencies=P3,u.splitListOperation=Lo,u.splitListOperationError=op,u.splitListOperationErrorParentRef=sp,u.splitListOperationFirstOutputListDataType=Zu,u.splitListOperationFirstOutputListReturn=np,u.splitListOperationFirstOutputListReturnParentRef=tp,u.splitListOperationFirstOutputListReturnRef=$o,u.splitListOperationInputListArgument=Qu,u.splitListOperationInputListArgumentParentRef=Xu,u.splitListOperationInputListArgumentRef=Wu,u.splitListOperationInputListDataType=Hu,u.splitListOperationSecondOutputListDataType=rp,u.splitListOperationSecondOutputListReturn=ap,u.splitListOperationSecondOutputListReturnParentRef=ip,u.splitListOperationSplitIndexArgument=ep,u.splitListOperationSplitIndexArgumentParentRef=Ku,u.splitListOperationSplitIndexArgumentRef=Yu,u.splitListOperationSplitIndexDataType=zu,u.stringPrototype=j,u.stringValueAutogenerationSchema=lc,u.suggestNewIdForEntity=gd,u.test_primitive_entities_export=t5,u.toCamelCase=m9,u.toEntityState=Vt,u.toKebabCase=lv,u.toLowerCaseKebabCase=ao,u.toPascalCase=T9,u.untypedObjectPrototype=et,u.updateErrorsList=ne,u.updateValueReader=Pa,u.urlDefaultValue=Ly,u.uuidPrototype=Oa,u.validateArgumentDeclarationName=Rd,u.validateCalledByErrorIdInAction=m3,u.validateCalledByIdInAction=f3,u.validateCallers=Pv,u.validateConditionEntityDeclaration=R3,u.validateCustomEntityName=oo,u.validateDataOperation=Xn,u.validateDataOperationDataToValidateArgument=Ay,u.validateDataOperationDataToValidateArgumentParentRef=Py,u.validateDataOperationDataToValidateArgumentRef=Iy,u.validateDataOperationDataToValidateDataType=Dy,u.validateDataOperationEntityToMatchTypeArgument=By,u.validateDataOperationEntityToMatchTypeArgumentParentRef=Cy,u.validateDataOperationEntityToMatchTypeArgumentRef=Sy,u.validateDataOperationEntityToMatchTypeDataType=Oy,u.validateDataOperationError=Ny,u.validateDataOperationErrorParentRef=My,u.validateDataOperationOutputEntityDeclaration=_y,u.validateDataOperationOutputEntityDeclarationParentRef=wy,u.validateEntryCaller=Dv,u.validateErrorCaller=Iv,u.validateFunctionCallDeclaration=Sv,u.validateFunctionDeclarationName=md,u.validateGeneratedEntityParentIsNotBuiltInEntity=u3,u.validateGeneration=c3,u.validateGenerationTarget=Be,u.validateGenerationUpdate=d3,u.validateLoopEntityDeclaration=b3,u.validateName=R9,u.validateOperationEntityDeclaration=Ov,u.validatePropertyName=Ed,u.validateReachability=Dn,u.validateReadsValueInActionPayload=T3,u.validateReferenceObject=co,u.validateReferenceToOne=Pd,u.validateReferences=ke,u.validateReturnDeclarationName=bd,u.validateSuccessCaller=vv,u.validateValueReaderGenerationUpdate=va,u.validateValueWritter=wd,u.validateVariableDeclarationName=Td,u.validateVariableInternalCallUse=_d,u.valueAutogenerationCurrentDateAndTimeSchema=Rb,u.valueAutogenerationGenericSchema=Bs,u.valueAutogenerationOptions=uc,u.valueAutogenerationOptionsSchema=Eb,u.valueAutogenerationRandomBooleanSchema=oc,u.valueAutogenerationRandomDateBetweenSchema=Ob,u.valueAutogenerationRandomDateFromSchema=Ab,u.valueAutogenerationRandomDateSchema=Ms,u.valueAutogenerationRandomDateUntilSchema=Sb,u.valueAutogenerationRandomNumberBetweenSchema=vb,u.valueAutogenerationRandomNumberFromSchema=bb,u.valueAutogenerationRandomNumberSchema=ws,u.valueAutogenerationRandomNumberUntilSchema=gb,u.valueAutogenerationRandomSchema=na,u.valueAutogenerationRandomTextBetweenSchema=Pb,u.valueAutogenerationRandomTextFromSchema=Ib,u.valueAutogenerationRandomTextSchema=_s,u.valueAutogenerationRandomTextUntilSchema=Db,u.valueAutogenerationRangeValueTypesSchema=ta,u.valueAutogenerationUniqueSchema=sc,u.waitOperation=ut,u.waitOperationMillisecondsNumberArgument=Zn,u.waitOperationMillisecondsNumberArgumentRef=Yp,u.waitOperationMillisecondsNumberDataType=zp,u.waitOperationOperationError=Qp,u.waitOperationOperationErrorParentRef=Xp,u.waitOperationRef=Zp,Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})});
373
+ Alternatively you can update the parent data-type entity with 'update' action to remove the existing value of the field.`,issue:null}))}return{errors:a,modifiedData:r}}get extendedProperties(){return v([...this.extends.reduce((e,t)=>[...[...t.properties,...t.extendedProperties].filter(a=>!a.abstract),...e],[]),...this.implements.reduce((e,t)=>[...[...t.properties,...t.extendedProperties].filter(a=>!a.abstract),...e],[])])}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${h.InvalidParentUpdate}`,code:h.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on an '${this.type}', must be the root project as it is a globally declared entity.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){const e=[this];if(this.parent.type===i.DataType){const t=this.parent;t.entity=this,e.push(t)}else this.project.addCustomEntity(this);return{affected:v(e),self:this}}setParent(e){return this.parent=e,this}removeProperty(e){return this.properties=this.properties.filter(t=>t.id!==e.id),this}addMethod(e){return this.methods.includes(e)||(this.methods.push(e),this.suggestedMethods=this.suggestedMethods.filter(t=>t.name!==e.name)),this}removeMethod(e){return this.methods=this.methods.filter(t=>t.id!==e.id),this}addProperty(e){return this.properties.includes(e)||(this.properties.push(e),this.suggestedProperties=this.suggestedProperties.filter(t=>t.name!==e.name)),this}addSuggestedProperty(e){return this.suggestedProperties.includes(e)||this.suggestedProperties.push(e),this}addSuggestedMethod(e){return this.suggestedMethods.includes(e)||this.suggestedMethods.push(e),this}removeSuggestedProperty(e){return this.suggestedProperties=this.suggestedProperties.filter(t=>t.id!==e.id),this}removeSuggestedMethod(e){return this.suggestedMethods=this.suggestedMethods.filter(t=>t.id!==e.id),this}addAbstractMethod(e){return this.abstractMethods.includes(e)||this.abstractMethods.push(e),this}removeAbstractMethod(e){return this.abstractMethods=this.abstractMethods.filter(t=>t.id!==e.id),this}initChildren(){return this.initialized?this:(this.initialized=!0,this.properties=this.initialData.properties.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.methods=this.initialData.methods.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.abstractMethods=this.initialData.abstractMethods.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.extends=this.initialData.extends.map(e=>R(e,this.project)),this.implements=this.initialData.implements.map(e=>R(e,this.project)),this.addSuggestions(),this)}addSuggestions(){return this.implements.forEach(e=>{b8(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)}),g8(this,e).forEach(a=>{const s=`_suggestion--parent--${this.id}--${a.id}`,o=a.implementAsFunctionDeclaration(s),l=R(o,this.project);if(l.suggestion=!0,l.setParent(this),l.initChildren(),l.inputs.forEach(p=>{p.suggestion=!0}),l.returnStatements.length){const p=l.returnStatements[0];p.suggestion=!0,p.outputs.forEach(y=>{y.suggestion=!0})}this.addSuggestedMethod(l)})}),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.x=e.x||this.x,this.y=e.y||this.y,this.static=e.static||this.static,this.abstract=e.abstract||this.abstract,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const r=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.properties.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.methods.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.abstractMethods.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.suggestedProperties.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),this.suggestedMethods.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});r.push(...o),a.push(...l)}),{affected:v(r),removed:v(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.properties.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.methods.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.abstractMethods.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.suggestedProperties.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),this.suggestedMethods.forEach(r=>{const{affected:a}=r.restore({seenEntities:e});t.push(...a)}),{affected:v(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.extends.flatMap(r=>r.toFlat(e)),...this.implements.flatMap(r=>r.toFlat(e)),...this.properties.flatMap(r=>r.toFlat(e)),...this.methods.flatMap(r=>r.toFlat(e)),...this.abstractMethods.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.extends.flatMap(r=>r.toFlatIds(e)),...this.implements.flatMap(r=>r.toFlatIds(e)),...this.properties.flatMap(r=>r.toFlatIds(e)),...this.methods.flatMap(r=>r.toFlatIds(e)),...this.abstractMethods.flatMap(r=>r.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,x:this.x,y:this.y,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),implements:this.implements.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,x:this.x,y:this.y,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),implements:this.implements.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(r=>r.toFlatJSON(e)),...this.methods.flatMap(r=>r.toFlatJSON(e)),...this.abstractMethods.flatMap(r=>r.toFlatJSON(e)),...this.implements.flatMap(r=>r.toFlatJSON(e)),...this.extends.flatMap(r=>r.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===i.Project?void 0:this.parent.id;return{id:this.id,name:this.name,description:this.description,type:this.type,static:this.static,abstract:this.abstract,extends:this.extends.map(t=>t.id),implements:this.implements.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(r=>r.toFlatGenerationTarget(e)),...this.methods.flatMap(r=>r.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(r=>r.toFlatGenerationTarget(e)),...this.implements.filter(r=>r.type===i.CustomEntity).flatMap(r=>r.toFlatGenerationTarget(e)),...this.implements.filter(r=>r.type===i.CustomEntity).flatMap(r=>r.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){return this.errors=R8(this),{success:!0,error:null,data:null}}getErrors(){return[...this.errors,...this.properties.flatMap(t=>t.getErrors()),...this.methods.flatMap(t=>t.getErrors()),...this.abstractMethods.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(e=null,t=null,r=!0){var b,g,I;const a=this.toJSON(),s=t||Qe(S(this,this.project),i.CustomEntity,this.project);a.properties=[],a.methods=[],a.abstractMethods=[];const o=s.split("-id"),l=o[o.length-1||0]||s;a.id=s;const p=jt(a,this.project);e&&p.setParent(e),r&&p.subscribe(),p.initChildren();const y=(b=this.properties)==null?void 0:b.map((D,C)=>D.clone(this,l+"-property-"+C+"-id",r));p.properties=y;const f=(g=this.methods)==null?void 0:g.map((D,C)=>D.clone(this,l+"-method-"+C+"-id",r));p.methods=f;const m=(I=this.abstractMethods)==null?void 0:I.map((D,C)=>D.clone(this,l+"-abstract-method-"+C+"-id",r));return p.abstractMethods=m,p}getFunctionDeclaration(e){return this.methods.find(t=>t.id===e)}implement(e,t){return To(this,e,t)}getAllInteractiveMethods(){const e=this.implements.filter(r=>r.type===i.CustomEntity||r.type===i.BuiltInBaseEntity&&r.interactive);return v([...this.methods,...this.extends.flatMap(r=>r.getAllInteractiveMethods()),...e.flatMap(r=>r.getAllInteractiveMethods())])}inferFromInputs(e){if(this.parent.type!==i.DataType||!this.parent.inferred)return this;const t=[];e.forEach(s=>{t.find(l=>S(l,this.project)===S(s,this.project))||t.push(s)});const r=this.properties.filter(s=>!s.getDataType());t.forEach(s=>{const o=r.find(m=>S(m,this.project)===S(s,this.project));if(!o)return;const p=Tr(s.parent).getMasterInputWithValueWritterFromAllInstances(s),y=an(p),f=y==null?void 0:y.clone(o,o.id+"--data-type",!0);f&&o.setDataType(f),s.setDeclaration(o)});const a=[];return t.forEach(s=>{if(!s.declaration){a.push(s);return}}),a.length===0?this:(a.forEach(s=>{const o=this.properties.find(g=>S(g,this.project)===S(s,this.project));if(o){if(s.setDeclaration(o),!o.getDataType()){const I=Tr(s.parent).getMasterInputWithValueWritterFromAllInstances(s),D=an(I),C=D==null?void 0:D.clone(o,o.id+"--data-type",!0);C&&o.setDataType(C)}return}const l={id:s.id+"--inferred-property",type:i.Property,version:1,name:S(s,this.project),description:s.description,static:!0,abstract:!1,private:!1,hidden:!1,required:!1,index:s.index,implements:null,dataType:null,parent:this.toReference()},p=R(l,this.project);p.setParent(this),p.initChildren();const f=Tr(s.parent).getMasterInputWithValueWritterFromAllInstances(s),m=an(f),b=m==null?void 0:m.clone(p,l.id+"--data-type",!0);return b&&p.setDataType(b),this.addProperty(p),s.setDeclaration(p),p}),this)}};c(Pe,"MUTABLE_BASE_PROPERTIES",["name","description","static","abstract"]),c(Pe,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(Pe,"BASE_PROPERTIES",[...Pe.MUTABLE_BASE_PROPERTIES,...Pe.INMUTABLE_BASE_PROPERTIES]),c(Pe,"MUTABLE_META_PROPERTIES",[...Pe.MUTABLE_BASE_PROPERTIES,"x","y"]),c(Pe,"INMUTABLE_META_PROPERTIES",[...Pe.INMUTABLE_BASE_PROPERTIES]),c(Pe,"META_PROPERTIES",[...Pe.MUTABLE_META_PROPERTIES,...Pe.INMUTABLE_META_PROPERTIES]),c(Pe,"MUTABLE_UPSTREAM_PROPERTIES",["extends","implements"]),c(Pe,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),c(Pe,"UPSTREAM_PROPERTIES",[...Pe.MUTABLE_UPSTREAM_PROPERTIES,...Pe.INMUTABLE_UPSTREAM_PROPERTIES]),c(Pe,"MUTABLE_DOWNSTREAM_PROPERTIES",["properties","methods","abstractMethods"]),c(Pe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(Pe,"DOWNSTREAM_PROPERTIES",[...Pe.MUTABLE_DOWNSTREAM_PROPERTIES,...Pe.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(Pe,"PROPERTIES",[...Pe.META_PROPERTIES,...Pe.UPSTREAM_PROPERTIES,...Pe.DOWNSTREAM_PROPERTIES]);let _r=Pe;function j3(n){const e=Z4(),t=n.toJSON();e.safeParse(t).success;const a=[];return ne(n.errors,a)}class Ut{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"type",i.BuiltInBaseEntity);c(this,"abstract",!1);c(this,"static");c(this,"properties",[]);c(this,"methods",[]);c(this,"abstractMethods",[]);c(this,"extends",[]);c(this,"interactive",!1);c(this,"errors",[]);c(this,"project");this.initialData=this.initialData||e,this.project=this.project||t,this.id=this.id||e.id,this.version=this.version||e.version,this.name=this.name||e.name,this.static=this.static||e.static,this.interactive=this.interactive||e.interactive,this.abstract=e.abstract,this.properties=this.initialData.properties.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.abstractMethods=this.initialData.abstractMethods.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.extends=this.initialData.extends.map(r=>R(r,this.project))}get extendedProperties(){return v(this.extends.reduce((e,t)=>{const r=[...t.properties,...t.extendedProperties].filter(a=>!a.abstract);return[...e,...r]},[]))}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}async load(){return this}remove(e={ignoreUpstream:!1,seenEntities:new Set}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.properties.flatMap(r=>r.toFlat(e)),...this.methods.flatMap(r=>r.toFlat(e)),...this.abstractMethods.flatMap(r=>r.toFlat(e)),...this.extends.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.properties.flatMap(r=>r.toFlatIds(e)),...this.methods.flatMap(r=>r.toFlatIds(e)),...this.abstractMethods.flatMap(r=>r.toFlatIds(e)),...this.extends.flatMap(r=>r.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,interactive:this.interactive,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,interactive:this.interactive,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(r=>r.toFlatJSON(e)),...this.methods.flatMap(r=>r.toFlatJSON(e)),...this.abstractMethods.flatMap(r=>r.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,interactive:this.interactive,extends:this.extends.map(e=>e.id)}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(r=>r.toFlatGenerationTarget(e)),...this.methods.flatMap(r=>r.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(r=>r.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){const e=j3(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 To(this,e,t)}getAllInteractiveMethods(){const e=[];return this.interactive&&(e.push(...this.methods),this.extends.filter(r=>r.type===i.BuiltInBaseEntity&&r.interactive||r.type===i.PrimitiveEntity).forEach(r=>{r instanceof Ut&&e.push(...r.getAllInteractiveMethods())})),v(e)}}function k3(n){const e=x4(),t=n.toJSON();e.safeParse(t).success;const a=[];return ne(n.errors,a)}class xt{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"type",i.PrimitiveEntity);c(this,"static");c(this,"abstract");c(this,"properties",[]);c(this,"methods",[]);c(this,"abstractMethods",[]);c(this,"extends",[]);c(this,"errors",[]);c(this,"project");this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.static=e.static,this.abstract=e.abstract,this.properties=this.initialData.properties.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(r=>{const a=R(r,this.project);return a.parent=this,a}),this.abstractMethods=this.initialData.abstractMethods.map(r=>{const a=R(r,this.project);return a.parent=this,a})}get extendedProperties(){return v(this.extends.reduce((e,t)=>{const r=[...t.properties,...t.extendedProperties].filter(a=>!a.abstract);return[...e,...r]},[]))}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}async load(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.properties.flatMap(r=>r.toFlat(e)),...this.methods.flatMap(r=>r.toFlat(e)),...this.abstractMethods.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.properties.flatMap(r=>r.toFlatIds(e)),...this.methods.flatMap(r=>r.toFlatIds(e)),...this.abstractMethods.flatMap(r=>r.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+w.UUID.uuid()+"--ref",type:i.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(r=>r.toFlatJSON(e)),...this.methods.flatMap(r=>r.toFlatJSON(e)),...this.abstractMethods.flatMap(r=>r.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,extends:this.extends.map(e=>e.id)}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(r=>r.toFlatGenerationTarget(e)),...this.methods.flatMap(r=>r.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(r=>r.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){const e=k3(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.properties.flatMap(t=>t.getErrors()),...this.methods.flatMap(t=>t.getErrors()),...this.abstractMethods.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new xt(this.toJSON(),this.project)}getAllInteractiveMethods(){const e=[];return e.push(...this.methods),this.extends.filter(r=>r.type===i.BuiltInBaseEntity&&r.interactive||r.type===i.PrimitiveEntity).forEach(r=>{r instanceof Ut&&e.push(...r.getAllInteractiveMethods())}),v(e)}}function jt(n,e){if(!n)throw new Error("Entity is null");const t=e.findSubscribedInstance(n);switch(n.type){case i.PrimitiveValue:return t||new Ti(n,e);case i.CustomEntity:return t||new _r(n,e);case i.PrimitiveEntity:return t||new xt(n,e);case i.FunctionDeclaration:return t||new br(n,e);case i.GlobalEvent:return t||new fi(n,e);case i.DataType:return t||new hi(n,e);case i.Property:return t||new Rr(n,e);case i.FunctionCall:return t||new wr(n,e);case i.Condition:return t||new Ir(n,e);case i.Operation:return t||new gr(n,e);case i.VariableDeclaration:return t||new Dr(n,e);case i.VariableInstance:return t||new Pr(n,e);case i.OutputMap:return t||new In(n,e);case i.ReturnDeclaration:return t||new Nt(n,e);case i.ArgumentDeclaration:return t||new Or(n,e);case i.InputMap:return t||new vn(n,e);case i.Project:return t||new w(n);case i.InstalledProject:return t||new Sr(n,e);case i.ActionDescriptor:return t||new Ue(n,e);case i.ReturnStatement:return t||new Cr(n,e);case i.Loop:return t||new vr(n,e);case i.Search:return t||new Ar(n,e);case i.ValueDescriptor:return t||new Br(n,e);case i.BuiltInBaseEntity:return t||new Ut(n,e);case i.InternalCall:return t||new mi(n,e);case i.ContinueStatement:return t||new Tt(n,e);case i.BreakStatement:return t||new Ei(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=jt(n,e);return t.subscribe(),t}function q3(n,e){if(!n)throw new Error("Entity is null");switch(n.type){case i.PrimitiveValue:return Ti.fromGenerationTarget(n,e);case i.CustomEntity:return _r.fromGenerationTarget(n,e);case i.FunctionDeclaration:return br.fromGenerationTarget(n,e);case i.GlobalEvent:return fi.fromGenerationTarget(n,e);case i.DataType:return hi.fromGenerationTarget(n,e);case i.Property:return Rr.fromGenerationTarget(n,e);case i.FunctionCall:return wr.fromGenerationTarget(n,e);case i.Condition:return Ir.fromGenerationTarget(n,e);case i.Operation:return gr.fromGenerationTarget(n,e);case i.VariableDeclaration:return Dr.fromGenerationTarget(n,e);case i.VariableInstance:return Pr.fromGenerationTarget(n,e);case i.OutputMap:return In.fromGenerationTarget(n,e);case i.ReturnDeclaration:return Nt.fromGenerationTarget(n,e);case i.ArgumentDeclaration:return Or.fromGenerationTarget(n,e);case i.InputMap:return vn.fromGenerationTarget(n,e);case i.InstalledProject:return Sr.fromGenerationTarget(n,e);case i.ReturnStatement:return Cr.fromGenerationTarget(n,e);case i.Loop:return vr.fromGenerationTarget(n,e);case i.Search:return Ar.fromGenerationTarget(n,e);case i.ActionDescriptor:return Ue.fromGenerationTarget(n,e);case i.ValueDescriptor:return Br.fromGenerationTarget(n,e);case i.InternalCall:return mi.fromGenerationTarget(n,e);case i.ContinueStatement:return Tt.fromGenerationTarget(n,e);case i.BreakStatement:return Ei.fromGenerationTarget(n,e);default:throw new Error("Invalid entity type: "+n.type)}}const K=class K{constructor(e){c(this,"initialData");c(this,"id");c(this,"version");c(this,"type",i.Project);c(this,"name",null);c(this,"description",null);c(this,"x");c(this,"y");c(this,"entities",[]);c(this,"projects",[]);c(this,"functions",[]);c(this,"events",[]);c(this,"variableDeclarations",[]);c(this,"variableInstances",[]);c(this,"conditions",[]);c(this,"operations",[]);c(this,"functionCalls",[]);c(this,"loops",[]);c(this,"searches",[]);c(this,"primitives",[]);c(this,"builtInBaseEntities",[]);c(this,"operationDeclarations",[]);c(this,"globalEventActionDescriptors",[]);c(this,"loopDeclarations",[]);c(this,"conditionDeclarations",[]);c(this,"valueDescriptors",[]);c(this,"dataTypes",[]);c(this,"project");c(this,"instances",{});c(this,"builtInInstances",{});c(this,"errors",[]);c(this,"references",[]);this.initialData=e,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.x=0,this.y=0;try{(!K.UUID||K.UUID.isBackup)&&(K.UUID=ms==null?void 0:ms()),K.UUID||(K.UUID={isBackup:!0,uuid:()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15),fromUUID:t=>t})}catch(t){console.error("Error initializing UUID module",t),K.UUID={isBackup:!0,uuid:()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15),fromUUID:r=>r}}}static injectUUIDModule(e){K.UUID=e}static validateGenerationTarget(e,t){let r=JSON.parse(JSON.stringify(e));const a=[];return a.push(...Be(r)),{errors:a,modifiedData:r}}async inject(...e){return await Promise.all(e.map(t=>new Promise(async r=>{await t.init(this),r(null)}))),this}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){return{affected:v([]),self:this}}get instancesList(){return Object.values(this.instances)}isOperationDeclaration(e){return this.operationDeclarations.includes(e)}isGlobalEventActionDescriptor(e){return this.globalEventActionDescriptors.includes(e)}isLoopDeclaration(e){return this.loopDeclarations.includes(e)}isConditionDeclaration(e){return this.conditionDeclarations.includes(e)}initChildren(){return this.entities=this.initialData.entities.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.projects=this.initialData.projects.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.functions=this.initialData.functions.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.events=this.initialData.events.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.variableDeclarations=this.initialData.variableDeclarations.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.variableInstances=this.initialData.variableInstances.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.conditions=this.initialData.conditions.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.operations=this.initialData.operations.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.functionCalls=this.initialData.functionCalls.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.loops=this.initialData.loops.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.searches=this.initialData.searches.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.attachOrphanReferences(),this.validate(),this}subscribeInstance(e){return(!this.instances[e.id]||this.instances[e.id]!==e)&&(this.instances[e.id]=e),this}subscribeBuiltInInstance(e){return(!this.builtInInstances[e.id]||this.builtInInstances[e.id]!==e)&&(this.builtInInstances[e.id]=e),this}subscribe(){return this}unsubscribe(){return this}unsubscribeInstance(e){return delete this.instances[e.id],this}findSubscribedInstance(e){return this.instances[e.id]||null}findSubscribedBuiltInInstance(e){return this.builtInInstances[e.id]||null}get(e){return this.instances[e]||this.builtInInstances[e]||null}getManaged(e){return this.instances[e]||null}getBuiltIn(e){return this.builtInInstances[e]||null}findSubscribedInstanceFromReference(e){return this.instances[e.entityId]||null}findSubscribedBuiltInInstanceFromReference(e){return this.builtInInstances[e.entityId]||null}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e}={ignoreUpstream:!1}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}getAllBuiltInIds(){const e=new Set;return[...this.primitives.flatMap(t=>t.toFlatIds(e)),...this.builtInBaseEntities.flatMap(t=>t.toFlatIds(e)),...this.operationDeclarations.flatMap(t=>t.toFlatIds(e)),...this.globalEventActionDescriptors.flatMap(t=>t.toFlatIds(e)),...this.loopDeclarations.flatMap(t=>t.toFlatIds(e)),...this.conditionDeclarations.flatMap(t=>t.toFlatIds(e)),...this.valueDescriptors.flatMap(t=>t.toFlatIds(e)),...this.dataTypes.flatMap(t=>t.toFlatIds(e))]}getAllBuiltIn(){const e=new Set;return[...this.primitives.flatMap(t=>t.toFlat(e)),...this.builtInBaseEntities.flatMap(t=>t.toFlat(e)),...this.operationDeclarations.flatMap(t=>t.toFlat(e)),...this.globalEventActionDescriptors.flatMap(t=>t.toFlat(e)),...this.loopDeclarations.flatMap(t=>t.toFlat(e)),...this.conditionDeclarations.flatMap(t=>t.toFlat(e)),...this.valueDescriptors.flatMap(t=>t.toFlat(e)),...this.dataTypes.flatMap(t=>t.toFlat(e))]}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(r=>r.toFlat(e)),...this.functions.flatMap(r=>r.toFlat(e)),...this.events.flatMap(r=>r.toFlat(e)),...this.projects.flatMap(r=>r.toFlat(e)),...this.variableDeclarations.flatMap(r=>r.toFlat(e)),...this.variableInstances.flatMap(r=>r.toFlat(e)),...this.conditions.flatMap(r=>r.toFlat(e)),...this.operations.flatMap(r=>r.toFlat(e)),...this.functionCalls.flatMap(r=>r.toFlat(e)),...this.loops.flatMap(r=>r.toFlat(e)),...this.searches.flatMap(r=>r.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),Array.from(e))}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,entities:this.entities.map(e=>e.toJSON()),functions:this.functions.map(e=>e.toJSON()),events:this.events.map(e=>e.toJSON()),projects:this.projects.map(e=>e.toJSON()),variableDeclarations:this.variableDeclarations.map(e=>e.toJSON()),variableInstances:this.variableInstances.map(e=>e.toJSON()),conditions:this.conditions.map(e=>e.toJSON()),operations:this.operations.map(e=>e.toJSON()),functionCalls:this.functionCalls.map(e=>e.toJSON()),loops:this.loops.map(e=>e.toJSON()),searches:this.searches.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+K.UUID.uuid()+"--ref",type:i.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,entities:this.entities.map(e=>e.toReference()),functions:this.functions.map(e=>e.toReference()),events:this.events.map(e=>e.toReference()),projects:this.projects.map(e=>e.toReference()),variableDeclarations:this.variableDeclarations.map(e=>e.toReference()),variableInstances:this.variableInstances.map(e=>e.toReference()),conditions:this.conditions.map(e=>e.toReference()),operations:this.operations.map(e=>e.toReference()),functionCalls:this.functionCalls.map(e=>e.toReference()),loops:this.loops.map(e=>e.toReference()),searches:this.searches.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(r=>r.toFlatJSON(e)),...this.functions.flatMap(r=>r.toFlatJSON(e)),...this.events.flatMap(r=>r.toFlatJSON(e)),...this.projects.flatMap(r=>r.toFlatJSON(e)),...this.variableDeclarations.flatMap(r=>r.toFlatJSON(e)),...this.variableInstances.flatMap(r=>r.toFlatJSON(e)),...this.conditions.flatMap(r=>r.toFlatJSON(e)),...this.operations.flatMap(r=>r.toFlatJSON(e)),...this.functionCalls.flatMap(r=>r.toFlatJSON(e)),...this.loops.flatMap(r=>r.toFlatJSON(e)),...this.searches.flatMap(r=>r.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(r=>r.toFlatGenerationTarget(e)),...this.functions.flatMap(r=>r.toFlatGenerationTarget(e)),...this.events.flatMap(r=>r.toFlatGenerationTarget(e)),...this.projects.flatMap(r=>r.toFlatGenerationTarget(e)),...this.variableDeclarations.flatMap(r=>r.toFlatGenerationTarget(e)),...this.variableInstances.flatMap(r=>r.toFlatGenerationTarget(e)),...this.conditions.flatMap(r=>r.toFlatGenerationTarget(e)),...this.operations.flatMap(r=>r.toFlatGenerationTarget(e)),...this.functionCalls.flatMap(r=>r.toFlatGenerationTarget(e)),...this.loops.flatMap(r=>r.toFlatGenerationTarget(e)),...this.searches.flatMap(r=>r.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.entities.forEach(e=>e.clearErrors()),this.projects.forEach(e=>e.clearErrors()),this.functions.forEach(e=>e.clearErrors()),this.events.forEach(e=>e.clearErrors()),this.variableDeclarations.forEach(e=>e.clearErrors()),this.variableInstances.forEach(e=>e.clearErrors()),this.conditions.forEach(e=>e.clearErrors()),this.operations.forEach(e=>e.clearErrors()),this.functionCalls.forEach(e=>e.clearErrors()),this.loops.forEach(e=>e.clearErrors()),this.searches.forEach(e=>e.clearErrors()),this}validate(){const e=y8(),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 K(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(r=>r.id===e.id);if(t>-1){const r=this.entities[t];return this.entities.splice(t,1),r}return null}removeFunctionDeclaration(e){const t=this.functions.findIndex(r=>r.id===e.id);if(t>-1){const r=this.functions[t];return this.functions.splice(t,1),r}return null}removeExternalProject(e){const t=this.projects.findIndex(r=>r.id===e.id);if(t>-1){const r=this.projects[t];return this.projects.splice(t,1),r}return null}removeGlobalEvent(e){const t=this.events.findIndex(r=>r.id===e.id);if(t>-1){const r=this.events[t];return this.events.splice(t,1),r}return null}removeTopLevelVariableDeclaration(e){if(e.type!==i.VariableDeclaration)return null;const t=this.variableDeclarations.findIndex(r=>r.id===e.id);if(t>-1){const r=this.variableDeclarations[t];return this.variableDeclarations.splice(t,1),r}return null}getEntryPoints(){return[...this.functions,...this.events,...this.entities.flatMap(t=>t.methods)]}getFunctionDeclaration(e){return this.functions.find(t=>t.id===e)||null}getConditions(){return[...this.conditions,...this.getEntryPoints().reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Condition)]},[]),...this.functionCalls.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Condition)]},[]),...this.operations.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Condition)]},[]),...this.loops.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Condition)]},[]),...this.searches.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Condition)]},[])]}getOperations(){return[...this.operations,...this.getEntryPoints().reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Operation)]},[]),...this.functionCalls.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Operation)]},[]),...this.conditions.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Operation)]},[]),...this.loops.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Operation)]},[]),...this.searches.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.Operation)]},[])]}getFunctionCalls(){return[...this.functionCalls,...this.getEntryPoints().reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.FunctionCall)]},[]),...this.conditions.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.FunctionCall)]},[]),...this.operations.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.FunctionCall)]},[]),...this.loops.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.FunctionCall)]},[]),...this.searches.reduce((t,r)=>{const a=Se(r);return[...t,...a.filter(s=>s.type===i.FunctionCall)]},[])]}getVariables(){return[...this.variableDeclarations,...this.getEntryPoints().reduce((t,r)=>{const a=te(r);return[...t,...a]},[]),...this.functionCalls.reduce((t,r)=>{const a=te(r);return[...t,...a]},[]),...this.conditions.reduce((t,r)=>{const a=te(r);return[...t,...a]},[]),...this.operations.reduce((t,r)=>{const a=te(r);return[...t,...a]},[]),...this.loops.reduce((t,r)=>{const a=te(r);return[...t,...a]},[]),...this.searches.reduce((t,r)=>{const a=te(r);return[...t,...a]},[])]}getVariableInstances(){return[...this.variableInstances,...this.getEntryPoints().reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableInstance);return[...t,...s]},[]),...this.functionCalls.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableInstance);return[...t,...s]},[]),...this.conditions.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableInstance);return[...t,...s]},[]),...this.operations.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableInstance);return[...t,...s]},[]),...this.loops.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableInstance);return[...t,...s]},[]),...this.searches.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableInstance);return[...t,...s]},[])]}getVariableDeclarations(){return v([...this.variableDeclarations,...this.getEntryPoints().reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableDeclaration);return[...t,...s]},[]),...this.functionCalls.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableDeclaration);return[...t,...s]},[]),...this.conditions.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableDeclaration);return[...t,...s]},[]),...this.operations.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableDeclaration);return[...t,...s]},[]),...this.loops.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableDeclaration);return[...t,...s]},[]),...this.searches.reduce((t,r)=>{const s=te(r).filter(o=>o.type===i.VariableDeclaration);return[...t,...s]},[])])}attachOrphanReferences(){const e=this.getVariableInstances(),t=this.getVariableDeclarations();return e.forEach(r=>{if(!r.declaration){const a=r.initialData,s=a.declaration.entityId||a.declaration.id,o=t.find(l=>l.id===s);o&&r.setDeclaration(o)}}),this}getBuiltInPersistedEntity(){return this.builtInBaseEntities.find(e=>e.name===V.PERSISTED_ENTITY)||null}};c(K,"UUID",{isBackup:!0,uuid:()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15),fromUUID:e=>e}),c(K,"MUTABLE_BASE_PROPERTIES",["name","description"]),c(K,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(K,"BASE_PROPERTIES",[...K.MUTABLE_BASE_PROPERTIES,...K.INMUTABLE_BASE_PROPERTIES]),c(K,"MUTABLE_META_PROPERTIES",[...K.MUTABLE_BASE_PROPERTIES,"x","y"]),c(K,"INMUTABLE_META_PROPERTIES",[...K.INMUTABLE_BASE_PROPERTIES]),c(K,"META_PROPERTIES",[...K.MUTABLE_META_PROPERTIES,...K.INMUTABLE_META_PROPERTIES]),c(K,"MUTABLE_UPSTREAM_PROPERTIES",[]),c(K,"INMUTABLE_UPSTREAM_PROPERTIES",["primitives","builtInBaseEntities","operationDeclarations","globalEventActionDescriptors","loopDeclarations","builtInInstances"]),c(K,"UPSTREAM_PROPERTIES",[...K.MUTABLE_UPSTREAM_PROPERTIES,...K.INMUTABLE_UPSTREAM_PROPERTIES]),c(K,"MUTABLE_DOWNSTREAM_PROPERTIES",["entities","projects","functions","events","variableDeclarations","variableInstances","conditions","operations","functionCalls","loops","searches"]),c(K,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(K,"DOWNSTREAM_PROPERTIES",[...K.MUTABLE_DOWNSTREAM_PROPERTIES,...K.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(K,"PROPERTIES",[...K.META_PROPERTIES,...K.UPSTREAM_PROPERTIES,...K.DOWNSTREAM_PROPERTIES]);let w=K;class rI extends Ue{constructor(t){super(kt,t);c(this,"id",Oe.Parallel);c(this,"name",Oe.Parallel);c(this,"description","Execute a list of actions one after the other");c(this,"version",1);c(this,"autoexecutable",!0);c(this,"initialData",kt);c(this,"type",i.ActionDescriptor);c(this,"fixedArguments",[]);c(this,"fixedReturns",[]);c(this,"error",null);c(this,"dynamicArgumentTypes",null);c(this,"dynamicReturnTypes",null);c(this,"project");this.project=t,this.fixedArguments=kt.fixedArguments.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.fixedReturns=kt.fixedReturns.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.error=kt.error?R(kt.error,this.project):null}}class iI extends Ue{constructor(t){super(ut,t);c(this,"id",ut.id);c(this,"name",ut.name);c(this,"description",ut.description);c(this,"version",ut.version);c(this,"autoexecutable",!1);c(this,"initialData",ut);c(this,"type",i.ActionDescriptor);c(this,"fixedArguments",[]);c(this,"fixedReturns",[]);c(this,"error",null);c(this,"dynamicArgumentTypes",null);c(this,"dynamicReturnTypes",null);c(this,"project");this.project=t,this.fixedArguments=ut.fixedArguments.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.fixedReturns=ut.fixedReturns.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.error=ut.error?R(ut.error,this.project):null}}class aI extends Ue{constructor(t){super(un,t);c(this,"id",Oe.Sequential);c(this,"name",Oe.Sequential);c(this,"description","Execute a list of actions one after the other");c(this,"version",1);c(this,"autoexecutable",!0);c(this,"initialData",un);c(this,"type",i.ActionDescriptor);c(this,"fixedArguments",[]);c(this,"fixedReturns",[]);c(this,"error",null);c(this,"dynamicArgumentTypes",null);c(this,"dynamicReturnTypes",null);c(this,"project");this.project=t,this.fixedArguments=un.fixedArguments.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.fixedReturns=un.fixedReturns.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.error=un.error?R(un.error,this.project):null}}function J3(n){const e=[new aI(n),new rI(n),new iI(n),new Ue(Ii,n),new Ue(Gr,n),new Ue(Xn,n),new Ue(Ma,n),new Ue(Vo,n),new Ue(Go,n),new Ue(Lo,n),new Ue(Ca,n),new Ue(gi,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.operationDeclarations=e,e}class sI extends Ut{constructor(t){super(Le,t);c(this,"initialData");c(this,"id",V.PERSISTED_ENTITY);c(this,"version",1);c(this,"name",V.PERSISTED_ENTITY);c(this,"description",Le.description);c(this,"type",i.BuiltInBaseEntity);c(this,"abstract",Le.abstract);c(this,"static",Le.static);c(this,"properties",[]);c(this,"methods",[]);c(this,"abstractMethods",[]);c(this,"extends",[]);c(this,"errors",[]);c(this,"project");this.initialData=Le,this.project=t,this.id=Le.id,this.version=Le.version,this.name=Le.name,this.static=Le.static,this.abstract=Le.abstract,this.properties=this.initialData.properties.map(r=>{const a=R(r,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(r=>{const a=R(r,this.project);return a.parent=this,a}),this.abstractMethods=this.initialData.abstractMethods.map(r=>{const a=R(r,this.project);return a.parent=this,a}),this.extends=this.initialData.extends.map(r=>R(r,this.project))}}function W3(n){const e=[new sI(n),new Ut(Ua,n),new Ut(On,n),new Ut(nl,n),new Ut(Fa,n)];return e.forEach(t=>{n.subscribeBuiltInInstance(t)}),n.builtInBaseEntities=e,e}function H3(n){const e=[new xt(j,n),new xt(An,n),new xt(Ce,n),new xt(et,n),new xt(Sn,n),new xt(dn,n),new xt(Oa,n),new xt(wo,n)];return e.forEach(t=>{n.subscribeBuiltInInstance(t)}),n.primitives=e,e}function Y3(n){const e=[new Ue(Ja,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.globalEventActionDescriptors=e,e}function z3(n){const e=[new Ue(Qn,n),new Ue(Yo,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.loopDeclarations=e,e}function Z3(n){const e=[new Br(sl,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.valueDescriptors=e,e}function X3(n){const e=[new Ue(Kn,n),new Ue(Ur,n)];return e.forEach(t=>{t.initChildren()}),n.conditionDeclarations=e,e}const Nr={},Po={};async function Q3(n,e={}){const t={...Tb};return t.id=n.id,e.empty?{data:{id:n.id,type:i.Project,version:1,name:null,description:null,projects:[],entities:[],operations:[],functions:[],variableDeclarations:[],variableInstances:[],functionCalls:[],conditions:[],loops:[],searches:[],events:[]}}:{data:t}}function oI(n){const e=new w(n);return H3(e),W3(e),J3(e),Y3(e),z3(e),Z3(e),X3(e),e.initChildren(),e}async function K3(n,e={}){if(n.id&&Nr[n.id])return Nr[n.id];if(n.id&&Po[n.id])return await Po[n.id],Nr[n.id];const t=Q3(n,e);n.id&&(Po[n.id]=t);const r=await t;if(r.data){const a=oI(r.data);return Nr[n.id]=a,n.id&&delete Po[n.id],a}return null}function e5(n){return Nr[n.id]&&delete Nr[n.id],null}const t5="test_primitive_entities_export";u.AI_VALUE_CONNECTION_GENERATION_ACTION_EXPLANATION=Bd,u.ActionDescriptorState=Ue,u.ActionDescriptorValuesType=U,u.ActionInputMapState=X9,u.ActionOutputMapState=e3,u.AppendToListOperationInputIds=bp,u.AppendToListOperationOutputIds=gp,u.ArgumentDeclarationState=Or,u.BREAK_AND_CONTINUE_STATEMENTS_RETURN_DECLARATIONS_EXPLANATION=Ad,u.BUILT_IN_BASE_ENTITY_IDS=x,u.BUILT_IN_ENTITY_TYPES=Lr,u.BaseCanvasDraggableState=V9,u.BaseEntityNames=V,u.BaseState=N9,u.BaseValueDescriptorIds=Bo,u.BreakStatementState=Ei,u.BuiltInBaseEntityState=Ut,u.CACHED_PROJECTS_BY_ID=Nr,u.CALLABLE_ENTITIES_EXPLANATION=p3,u.CALLABLE_TYPES=Pn,u.CALLER_ENTITIES_EXPLANATION=bv,u.CALLER_TYPES=cn,u.CALLS_UPDATE_EXPLANATION=qn,u.COMPARISON_CONDITIONS=Rm,u.CONDITIONS=LI,u.CUSTOM_ENTITY_OPERATIONS=Vy,u.CallableEntityClass=L9,u.CallerEntityClass=vd,u.ChildEntityState=$9,u.ComparisonOperatorTypes=Me,u.ConditionState=Ir,u.ContinueStatementState=Tt,u.CreateNewInputIds=uy,u.CreateNewOutputIds=py,u.CustomEntityState=_r,u.DRAGGABLE_CALLABLE_TYPES=Oo,u.DRAGGABLE_CALLER_TYPES=Hd,u.DRAGGABLE_ELEMENT_TYPES=Co,u.DRAGGABLE_EXECUTABLE_TYPES=uI,u.DRAGGABLE_PASS_THROUGH_CALLABLE_TYPES=So,u.DataTypeCompatibilityTypes=Ft,u.DataTypeParentChildRelation=xe,u.DataTypeState=hi,u.ENTITIES_WITH_VALLUES_EXPLANATION=po,u.ENTITY_TYPES=pI,u.ENTITY_WITH_LOGIC_SCOPE_TYPES=dt,u.ENTITY_WITH_NAMES_TYPES=Yd,u.ENTITY_WITH_VALUE_TYPES=Wd,u.ENTRY_POINT_ENTITIES_EXPLANATION=ga,u.ENTRY_POINT_TYPES=_e,u.EVENT_TYPES=$r,u.EXECUTABLE_TYPES=dI,u.EXECUTION_OPERATIONS=dy,u.EntityError=lr,u.EntityErrorSeverity=T,u.EntityGenerationError=E,u.EntityGenerationErrorCode=h,u.EntityInstanceErrorCode=M,u.EntityOperations=Ke,u.EntityType=i,u.EntityWithLogicScopeClass=x9,u.EntityWithValueClass=U9,u.EntryPointEntityClass=G9,u.ExecutionOperations=Oe,u.FunctionCallState=wr,u.FunctionDeclarationState=br,u.GLOBAL_EVENT_DECLARATIONS=GI,u.GetLastInListOperationInputIds=lp,u.GetLastInListOperationOutputIds=cp,u.GlobalEventNames=ln,u.GlobalEventState=fi,u.HTTPOperations=Ze,u.HTTP_OPERATIONS=fh,u.InputMapState=vn,u.InstalledProjectState=Sr,u.InternalCallState=mi,u.JoinListOperationInputIds=Ou,u.JoinListOperationOutputIds=Cu,u.JoinStringOperationInputIds=hu,u.JoinStringOperationOutputIds=fu,u.LIST_OPERATIONS=Np,u.ListOperations=W,u.LoopState=vr,u.LoopTypes=Q,u.NON_INTERACTIVE_BASE_ENTITIES_EXPLANATION=Jn,u.NUMBER_OPERATIONS=yu,u.NumberAdditionOperationInputIds=eu,u.NumberAdditionOperationOutputIds=tu,u.NumberOperations=ct,u.OPERATION_DECLARATIONS=hI,u.OperationState=gr,u.OutputMapParentChildRelation=Jd,u.OutputMapState=In,u.PARENT_AUTO_CALCULATION_FROM_CALLER_EXPLANATION=yo,u.PASS_THROUGH_CALLABLE_ENTITIES_EXPLANATION=kn,u.PASS_THROUGH_CALLABLE_TYPES=$e,u.PROPERTY_NOT_VALUE_READER_WRITTER_EXPLANATION=Cd,u.ParallelExecutionOperation=rI,u.ParallelExecutionOperationInputIds=Vp,u.ParallelExecutionOperationOutputIds=$p,u.PassThroughCallableEntityClass=F9,u.PersistedEntity=sI,u.PersistedEntityMethods=Ct,u.PrimitiveEntityState=xt,u.PrimitiveTypes=P,u.PrimitiveValueState=Ti,u.ProjectState=w,u.PropertyState=Rr,u.RETURN_STATEMENT_RETURN_DECLARATIONS_EXPLANATION=y3,u.ReturnDeclarationState=Nt,u.ReturnStatementState=Cr,u.STANDALONE_CONDITIONS=ym,u.STRING_OPERATIONS=Su,u.ScopeCompatibilityType=Do,u.SearchState=Ar,u.SequentialExecutionOperation=aI,u.SequentialExecutionOperationInputIds=Kp,u.SequentialExecutionOperationOutputIds=ey,u.SharedEntityErrorCode=A,u.SharedStateFunctionality=Tv,u.SplitListOperationInputIds=qu,u.SplitListOperationOutputIds=Ju,u.StandaloneOperatorTypes=$t,u.StringOperations=Ae,u.TERMINATION_TYPES=Ne,u.USER_MANAGED_ENTITY_TYPES=yI,u.UserManagedEntityStateFunctionality=_9,u.VALUE_READING_ENTITIES_EXPLANATION=Od,u.VALUE_READING_TYPES=zn,u.VALUE_WRITING_ENTITIES_EXPLANATION=gv,u.VALUE_WRITING_TYPES=Ve,u.VARIABLE_DATA_TYPE_INFERRANCE_EXPLANATION=Sd,u.VARIABLE_TYPES=je,u.ValidationInputIds=gy,u.ValidationOutputIds=vy,u.ValueAutogenerationType=qe,u.ValueDescriptorParentChildRelation=_,u.ValueDescriptorState=Br,u.ValueReadingEntityClass=Ra,u.ValueWritingEntityClass=ba,u.VariableDeclarationState=Dr,u.VariableInputMapState=Z9,u.VariableInstanceState=Pr,u.VariableOutputMapState=K9,u.WaitOperation=iI,u.WaitOperationInputIds=Wp,u.WaitOperationOutputIds=Hp,u._VALUE_READING_TYPES=lI,u._VALUE_WRITING_TYPES=cI,u.appendToListOperation=Ma,u.appendToListOperationElementToAppendArgument=Uo,u.appendToListOperationElementToAppendArgumentParentRef=Cp,u.appendToListOperationElementToAppendArgumentRef=Dp,u.appendToListOperationError=_p,u.appendToListOperationErrorParentRef=Mp,u.appendToListOperationListArgument=Fo,u.appendToListOperationListArgumentParentRef=Op,u.appendToListOperationListArgumentRef=vp,u.appendToListOperationListDataType=Ip,u.appendToListOperationResultListDataType=Sp,u.appendToListOperationResultListReturn=wp,u.appendToListOperationResultListReturnParentRef=Bp,u.appendToListOperationResultListReturnRef=Ap,u.appendToListOperationSecondListDataType=Pp,u.asGenerationActionExample=sn,u.baseHttpRequestFunctionDeclaration=Ii,u.baseHttpRequestFunctionDeclarationErrorValueDescriptor=Ho,u.baseHttpRequestFunctionDeclarationErrorValueDescriptorDatatype=hh,u.baseHttpRequestFunctionDeclarationErrorValueDescriptorRef=yh,u.baseHttpRequestFunctionDeclarationRef=ch,u.baseHttpRequestFunctionDeclarationRefEight=uh,u.baseHttpRequestFunctionDeclarationRefFive=oh,u.baseHttpRequestFunctionDeclarationRefFour=sh,u.baseHttpRequestFunctionDeclarationRefNine=ph,u.baseHttpRequestFunctionDeclarationRefSeven=dh,u.baseHttpRequestFunctionDeclarationRefSix=lh,u.baseHttpRequestFunctionDeclarationRefThree=ah,u.baseHttpRequestFunctionDeclarationRefTwo=ih,u.booleanPrototype=An,u.capitalizeFirstLetter=ro,u.checkAreCustomEntitiesCompatibleAsDataType=nv,u.checkAreDataTypesCompatible=Yt,u.checkArePropertiesCompatibleAsDataType=tv,u.checkIsBranchDependentButNotDirectlyOnBranch=Ia,u.checkIsBranchDependentOnBranch=v3,u.checkIsCallableEntityReachable=Aa,u.checkIsCanvasEntity=F3,u.checkIsDetachedBranch=Xv,u.checkIsDetachedBranchShallow=kd,u.checkIsGlobalVariable=L3,u.checkIsGloballyDeclared=jd,u.checkIsMethod=eI,u.checkIsNestedScope=Io,u.checkScopeCompatibility=Da,u.createEntityError=H,u.createNewInstanceOperation=Gr,u.createNewInstanceOperationEntityToInstanciateArgument=my,u.createNewInstanceOperationEntityToInstanciateArgumentRef=yy,u.createNewInstanceOperationEntityToInstanciateDataType=hy,u.createNewInstanceOperationError=by,u.createNewInstanceOperationErrorParentRef=Ry,u.createNewInstanceOperationOutputEntityDeclaration=Ey,u.createNewInstanceOperationOutputEntityDeclarationParentRef=Ty,u.createNewInstanceOperationRef=fy,u.createSemanticId=Qe,u.createStateFromGenerationTargetType=q3,u.createStateFromType=jt,u.createStateFromTypeAndSubscribe=R,u.cronJobBuiltInBaseEntity=nl,u.cronJobBuiltInBaseEntityExpressionProperty=cm,u.cronJobBuiltInBaseEntityExpressionPropertyDataTypeRef=NI,u.cronJobBuiltInBaseEntityExpressionPropertyRef=om,u.cronJobBuiltInBaseEntityRef=lm,u.cronJobTriggeredFunctionDeclarationBlueprint=tl,u.cronJobTriggeredFunctionDeclarationBlueprintParentRef=am,u.customEntityToZodSchema=Lm,u.dataTypeCompatibilityToErrorExplanation=Cv,u.datePrototype=dn,u.dateValueAutogenerationSchema=dc,u.deletePersistedEntityMethod=el,u.deletePersistedEntityMethodParentRef=Lf,u.deleteRootProject=e5,u.endpointBuiltInBaseEntity=Ua,u.endpointBuiltInBaseEntityRef=$h,u.endpointBuiltInBaseEntityRefFour=Pf,u.endpointBuiltInBaseEntityRefThree=Jh,u.endpointBuiltInBaseEntityRefTwo=xh,u.endpointBuiltInCorsProperty=Lh,u.endpointBuiltInCorsPropertyDataType=Vh,u.endpointBuiltInCorsPropertyDataTypeRef=_h,u.endpointBuiltInCorsPropertyRef=Nh,u.endpointBuiltInMethodProperty=Zo,u.endpointBuiltInMethodPropertyDataType=qh,u.endpointBuiltInMethodPropertyDataTypeRef=jh,u.endpointBuiltInMethodPropertyRef=kh,u.endpointBuiltInPathProperty=zo,u.endpointBuiltInPathPropertyDataType=Uh,u.endpointBuiltInPathPropertyDataTypeRef=Gh,u.endpointBuiltInPathPropertyRef=Fh,u.endpointPathParamsArgumentDeclaration=of,u.endpointPathParamsArgumentDeclarationRef=tf,u.endpointPathParamsVariableDataType=nf,u.endpointPathParamsVariableDataTypeRef=ef,u.endpointReachedTriggerActionDescriptor=Xo,u.endpointReachedTriggerActionDescriptorRef=rf,u.endpointReachedTriggerActionDescriptorRefFour=df,u.endpointReachedTriggerActionDescriptorRefThree=lf,u.endpointReachedTriggerActionDescriptorRefTwo=sf,u.endpointRequestBodyArgumentDeclaration=uf,u.endpointRequestBodyArgumentDeclarationRef=zh,u.endpointRequestBodyVariableDataType=Zh,u.endpointRequestHeadersArgumentDeclaration=af,u.endpointRequestHeadersArgumentDeclarationRef=Hh,u.endpointRequestHeadersVariableDataType=Yh,u.endpointRequestHeadersVariableDataTypeRef=Wh,u.endpointRequestQueryParamsArgumentDeclaration=cf,u.endpointRequestQueryParamsArgumentDeclarationRef=Qh,u.endpointRequestQueryParamsVariableDataType=Kh,u.endpointRequestQueryParamsVariableDataTypeRef=Xh,u.endpointResponseBodyDataType=vf,u.endpointResponseBodyReturnDeclaration=Df,u.endpointResponseBodyReturnDeclarationRef=gf,u.endpointResponseCodeDataType=yf,u.endpointResponseCodeReturnDeclaration=ff,u.endpointResponseCodeReturnDeclarationRef=pf,u.endpointResponseHeadersDataType=Ef,u.endpointResponseHeadersDataTypeRef=mf,u.endpointResponseHeadersReturnDeclaration=bf,u.endpointResponseHeadersReturnDeclarationRef=Tf,u.endpointReturnStatementRef=hf,u.endpointReturnStatementRefThree=If,u.endpointReturnStatementRefTwo=Rf,u.enumOptionsProperty=Kd,u.enumOptionsPropertyDataType=Xd,u.enumOptionsPropertyDataTypeRef=zd,u.enumOptionsPropertyRef=Zd,u.enumPrototype=Sn,u.enumPrototypeRef=Qd,u.executionBuiltInEntity=il,u.executionBuiltInEntityAbortMethod=rl,u.executionBuiltInEntityAbortMethodParentRef=dm,u.filterOutDuplicateEntities=v,u.filterOutDuplicateErrors=M4,u.findReferenceToSelfInList=kv,u.findReferencesToSelfInProject=w3,u.flattenCalls=on,u.flattenCanvasAncestorsUntil=Eo,u.flattenCustomEntityExtensionAndImplementationTypes=Yv,u.flattenCustomEntityExtensionTypes=go,u.flattenCustomEntityExtensions=Fd,u.flattenCustomEntityImplementations=Ud,u.flattenCustomEntityImplementionTypes=bo,u.flattenDerivedCanvasEntities=St,u.flattenDetachedBranch=Kv,u.flattenElementCalls=Se,u.flattenElementCallsOnTheSameScope=B3,u.flattenProjectElements=jv,u.flattenRelatedCanvasElementsOnTheLeft=Hv,u.flattenRelatedCanvasElementsOnTheRight=Wv,u.flattenVariableReads=xv,u.flattenVariableWrites=Uv,u.flattenVariables=te,u.fromZodParseToEntityGenerationErrors=Id,u.generate=NP,u.generateActionExample=h3,u.generateExecutionDataType=h9,u.generateMutablePropertiesExplanation=lo,u.generateRandomBoolean=cT,u.generateRandomDate=xm,u.generateRandomDateAfter=Gm,u.generateRandomDateBefore=Fm,u.generateRandomDateBetweenRange=Um,u.generateRandomNumber=iT,u.generateRandomNumberAfter=tT,u.generateRandomNumberBefore=nT,u.generateRandomNumberBetweenRange=rT,u.generateRandomText=lT,u.generateRandomTextAfter=aT,u.generateRandomTextBefore=sT,u.generateRandomTextBetweenRange=oT,u.generateUniqueUUID=eT,u.getAllActionDescriptorsForConditions=mo,u.getAllActionDescriptorsForGlobalEvents=ho,u.getAllActionDescriptorsForLoops=fo,u.getAllActionDescriptorsForOperations=E3,u.getAllGloballyDeclaredFunctionDeclarationsExplanation=Av,u.getBaseBuiltInEntities=Hn,u.getBaseSchemaBasedOnType=Ev,u.getBuiltInEntityOwner=Yn,u.getCallableEntityReferenceSchema=We,u.getCallableEntityTypeSchema=jb,u.getCallerEntityReferenceSchema=Lx,u.getCallerEntityTypeSchema=$x,u.getCalls=Nd,u.getCanvasEntitiesDerivedFromInternalCalls=Jv,u.getCanvasEntitiesDerivedFromWrites=Ri,u.getCanvasEntityDerivedFromValueReadingEntity=Gd,u.getCanvasEntityReferenceSchema=e8,u.getCanvasEntityTypeSchema=Kx,u.getChildrenEntityWithValues=D3,u.getCommonAncestor=_d,u.getCommonChildren=Mv,u.getDeclaration=Tr,u.getDeepestScope=nI,u.getDraggableCallableEntityReferenceSchema=qb,u.getDraggableCallableEntityTypeSchema=kb,u.getDraggableCallerEntityReferenceSchema=Fx,u.getDraggableCallerEntityTypeSchema=Gx,u.getDraggableExecutableEntityReferenceSchema=kx,u.getDraggableExecutableEntityTypeSchema=jx,u.getDraggablePassThroughCallableEntityReferenceSchema=zs,u.getDraggablePassThroughCallableEntityTypeSchema=Ys,u.getDraggablePlayableEntityReferenceSchema=Yx,u.getDraggablePlayableEntityTypeSchema=Hx,u.getEntityArgumentDeclarations=$d,u.getEntityInputMaps=qv,u.getEntityOutputMaps=N3,u.getEntityReferenceSchema=Qx,u.getEntityReturnDeclarations=Ld,u.getEntityTypeSchema=Xx,u.getEntityWithLogicScopeReferenceSchema=Rn,u.getEntityWithLogicScopeTypeSchema=qx,u.getEntityWithValueReferenceSchema=xb,u.getEntityWithValueTypeSchema=Vx,u.getEntryPointEntityReferenceSchema=Je,u.getEntryPointEntityTypeSchema=Un,u.getEventEntityReferenceSchema=Ws,u.getEventEntityTypeSchema=Js,u.getExecutableEntityReferenceSchema=xx,u.getExecutableEntityTypeSchema=Ux,u.getExtendedBuiltInEntity=V3,u.getExtendedCustomEntity=Zv,u.getGenerationTargetSchemaBasedOnType=Rv,u.getHeadIfPartOfDetachedBranch=Qv,u.getHighestScope=tI,u.getImplementedBuiltInEntity=$3,u.getIsInteractive=xd,u.getLastInListOperation=Go,u.getLastInListOperationError=Rp,u.getLastInListOperationErrorParentRef=Ep,u.getLastInListOperationInputListArgument=fp,u.getLastInListOperationInputListArgumentParentRef=hp,u.getLastInListOperationInputListArgumentRef=dp,u.getLastInListOperationInputListDataType=up,u.getLastInListOperationOutputElementDataType=yp,u.getLastInListOperationOutputElementReturn=Tp,u.getLastInListOperationOutputElementReturnParentRef=mp,u.getLastInListOperationOutputElementReturnRef=pp,u.getLinkedEntitiesFromArgumentDeclaration=C3,u.getLowestPersistedEntityImplementation=zv,u.getParentCanvasEntities=Et,u.getParentCanvasEntity=ze,u.getParentEntryPoint=I3,u.getPassThroughCallableEntityReferenceSchema=de,u.getPassThroughCallableEntityTypeSchema=Hs,u.getPlayableEntityReferenceSchema=Wx,u.getPlayableEntityTypeSchema=Jx,u.getProject=K3,u.getPrototypeByType=vo,u.getReferenceEntityId=B,u.getReferencedEntitiesStateOrErrors=uo,u.getReferencedEntityStateOrErrors=Dd,u.getRelatedCanvasElementsOnTheLeft=Mr,u.getRelatedCanvasElementsOnTheRight=Wn,u.getRootEntryPointScopeOwner=qd,u.getScopeOwner=Rt,u.getTerminationReferenceSchema=Zx,u.getTerminationTypeSchema=zx,u.getUsedArgFromDeclaration=M3,u.getUsedReturnFromDeclaration=_3,u.getValueReadingEntityReferenceSchema=Ub,u.getValueReadingEntityTypeSchema=En,u.getValueWritingEntityReferenceSchema=Nx,u.getValueWritingEntityTypeSchema=ca,u.getVariableFromInputMapping=Nv,u.getVariableFromReturnVariablePointer=Lv,u.getVariableReferenceSchema=Fn,u.getVariableTypeSchema=ur,u.getVariablesFromArgumentDeclarations=Ro,u.getVariablesFromInputMaps=Vv,u.getVariablesFromOutputMapping=Gv,u.getVariablesFromOutputMaps=Fv,u.getVariablesFromReturnDeclarations=$v,u.getVariablesInSameOrHigherScope=yd,u.getWrites=Vd,u.groupCallsBasedOnParallelizableExecution=A3,u.handleAfterEntityImplementationSideEffects=wv,u.handleBeforeEntityImplementationSideEffects=Bv,u.httpRequestBodyArgument=$a,u.httpRequestBodyArgumentRef=Yy,u.httpRequestBodyDataType=zy,u.httpRequestHeadersArgument=Va,u.httpRequestHeadersArgumentRef=Wy,u.httpRequestHeadersDataType=Hy,u.httpRequestMethodArgument=_a,u.httpRequestMethodArgumentRef=qy,u.httpRequestMethodDataType=Jy,u.httpRequestMethodDataTypeRef=jy,u.httpRequestQueryParamsArgument=Jo,u.httpRequestQueryParamsArgumentRef=Uy,u.httpRequestQueryParamsDataType=xy,u.httpRequestVariableURLArgument=Na,u.httpRequestVariableURLArgumentRef=Gy,u.httpRequestVariableURLDataType=Fy,u.httpRequestVariableURLDataTypeRef=$y,u.httpResponseBodyReturnDataType=rh,u.httpResponseBodyReturnDataTypeRef=th,u.httpResponseBodyReturnReturn=vi,u.httpResponseBodyReturnReturnRef=nh,u.httpResponseCodeDataType=Xy,u.httpResponseCodeReturn=Wo,u.httpResponseCodeReturnRef=Zy,u.httpResponseHeadersDataType=eh,u.httpResponseHeadersDataTypeRef=Qy,u.httpResponseHeadersReturn=La,u.httpResponseHeadersReturnRef=Ky,u.implement=To,u.inferArgumentDeclarationDataType=rv,u.inferDataType=an,u.inferInputMapDataType=iv,u.inferOutputMapDataType=ov,u.inferReturnDeclarationDataType=pd,u.inferVariableDeclarationDataType=sv,u.inferVariableInstanceDataType=av,u.initProject=oI,u.iterateOverListActionDescriptor=Qn,u.iterateOverListActionDescriptorListArgumentDeclaration=vh,u.iterateOverListActionDescriptorListArgumentDeclarationDataType=bh,u.iterateOverListActionDescriptorListArgumentDeclarationDataTypeParentRef=Rh,u.iterateOverListActionDescriptorListArgumentDeclarationParentRef=gh,u.iterateOverListActionDescriptorReturnDeclaration=Eh,u.iterateOverListActionDescriptorReturnDeclarationParentRef=Th,u.joinListOperation=Vo,u.joinListOperationError=ku,u.joinListOperationErrorParentRef=ju,u.joinListOperationFirstListArgument=Lu,u.joinListOperationFirstListArgumentParentRef=$u,u.joinListOperationFirstListArgumentRef=Bu,u.joinListOperationFirstListDataType=wu,u.joinListOperationResultListDataType=Vu,u.joinListOperationResultListReturn=xu,u.joinListOperationResultListReturnParentRef=Uu,u.joinListOperationResultListReturnRef=Nu,u.joinListOperationSecondListArgument=Fu,u.joinListOperationSecondListArgumentParentRef=Gu,u.joinListOperationSecondListArgumentRef=Mu,u.joinListOperationSecondListDataType=_u,u.joinListWithLastSeparator=L,u.joinStringOperation=gi,u.joinStringOperationError=Au,u.joinStringOperationErrorParentRef=Pu,u.joinStringOperationFirstStringArgument=Ba,u.joinStringOperationFirstStringArgumentParentRef=vu,u.joinStringOperationFirstStringArgumentRef=mu,u.joinStringOperationFirstStringDataType=Tu,u.joinStringOperationResultStringDataType=gu,u.joinStringOperationResultStringReturn=bi,u.joinStringOperationResultStringReturnParentRef=Du,u.joinStringOperationResultStringReturnRef=bu,u.joinStringOperationSecondStringArgument=wa,u.joinStringOperationSecondStringArgumentParentRef=Iu,u.joinStringOperationSecondStringArgumentRef=Eu,u.joinStringOperationSecondStringDataType=Ru,u.jsonPrototype=wo,u.keyValueParamBuiltInBaseEntity=Fa,u.keyValueParamBuiltInBaseEntityNameProperty=Ch,u.keyValueParamBuiltInBaseEntityNamePropertyDataTypeRef=mI,u.keyValueParamBuiltInBaseEntityNamePropertyParentRef=Oh,u.keyValueParamBuiltInBaseEntityNamePropertyRef=Sh,u.keyValueParamBuiltInBaseEntityValueProperty=Mh,u.keyValueParamBuiltInBaseEntityValuePropertyDataTypeRef=EI,u.keyValueParamBuiltInBaseEntityValuePropertyParentRef=wh,u.keyValueParamBuiltInBaseEntityValuePropertyRef=Bh,u.lowercaseFirstLetter=ev,u.manualFlowActionDescriptor=Yo,u.manualFlowActionDescriptorDeclarationReturnDeclaration=Ah,u.manualFlowActionDescriptorDeclarationReturnDeclarationDataType=Dh,u.manualFlowActionDescriptorDeclarationReturnDeclarationDataTypeParentRef=Ih,u.manualFlowActionDescriptorDeclarationReturnDeclarationParentRef=Ph,u.mapActionDescriptorToTypeItRepresents=U3,u.mergeEntityErrorsList=_4,u.mergeListOfEntities=G3,u.methodDefaultValue=ky,u.mockClientProject=Tb,u.moreThanOrEqualCondition=Ur,u.moreThanOrEqualConditionLeftHandArgument=mm,u.moreThanOrEqualConditionLeftHandArgumentParentRef=fm,u.moreThanOrEqualConditionRightHandArgument=Em,u.moreThanOrEqualConditionRightHandArgumentParentRef=Tm,u.notEmptyCondition=Kn,u.notEmptyConditionArgument=pm,u.notEmptyConditionRef=um,u.numberAdditionOperation=Ca,u.numberAdditionOperationError=pu,u.numberAdditionOperationErrorParentRef=uu,u.numberAdditionOperationFirstNumberArgument=Mo,u.numberAdditionOperationFirstNumberArgumentRef=nu,u.numberAdditionOperationFirstNumberDataType=ru,u.numberAdditionOperationRef=lu,u.numberAdditionOperationRefThree=du,u.numberAdditionOperationRefTwo=cu,u.numberAdditionOperationResultNumberDataType=ou,u.numberAdditionOperationResultNumberReturn=No,u.numberAdditionOperationResultNumberReturnRef=su,u.numberAdditionOperationSecondNumberArgument=_o,u.numberAdditionOperationSecondNumberArgumentRef=iu,u.numberAdditionOperationSecondNumberDataType=au,u.numberPrototype=Ce,u.numberValueAutogenerationSchema=cc,u.parallelExecutionOperation=kt,u.parallelExecutionOperationError=Jp,u.parallelExecutionOperationErrorParentRef=qp,u.parallelExecutionOperationListOfExecutionResultsDataType=xp,u.parallelExecutionOperationListOfExecutionResultsReturn=jo,u.parallelExecutionOperationListOfExecutionResultsReturnRef=Up,u.parallelExecutionOperationListOfFunctionsArgument=xo,u.parallelExecutionOperationListOfFunctionsArgumentDatatype=Fp,u.parallelExecutionOperationListOfFunctionsArgumentRef=Gp,u.parallelExecutionOperationListOfFunctionsBlueprint=Lp,u.parallelExecutionOperationRef=jp,u.parallelExecutionOperationRefThree=kp,u.persistedBuiltInBaseEntity=Le,u.persistedBuiltInBaseEntityCreatedAtProperty=em,u.persistedBuiltInBaseEntityCreatedAtPropertyDataType=Qf,u.persistedBuiltInBaseEntityCreatedAtPropertyDataTypeRef=MI,u.persistedBuiltInBaseEntityCreatedAtPropertyParentRef=Kf,u.persistedBuiltInBaseEntityCreatedAtPropertyRef=Xf,u.persistedBuiltInBaseEntityDatabaseProperty=Pi,u.persistedBuiltInBaseEntityDatabasePropertyDataTypeRef=OI,u.persistedBuiltInBaseEntityDatabasePropertyParentRef=jf,u.persistedBuiltInBaseEntityDatabasePropertyRef=xf,u.persistedBuiltInBaseEntityDeletedAtProperty=Zf,u.persistedBuiltInBaseEntityDeletedAtPropertyDataType=Yf,u.persistedBuiltInBaseEntityDeletedAtPropertyDataTypeRef=wI,u.persistedBuiltInBaseEntityDeletedAtPropertyParentRef=zf,u.persistedBuiltInBaseEntityDeletedAtPropertyRef=Hf,u.persistedBuiltInBaseEntityIdentifierProperty=Wf,u.persistedBuiltInBaseEntityIdentifierPropertyDataTypeRef=kf,u.persistedBuiltInBaseEntityIdentifierPropertyParentRef=Jf,u.persistedBuiltInBaseEntityIdentifierPropertyRef=qf,u.persistedBuiltInBaseEntityUpdatedAtProperty=im,u.persistedBuiltInBaseEntityUpdatedAtPropertyDataType=nm,u.persistedBuiltInBaseEntityUpdatedAtPropertyDataTypeRef=_I,u.persistedBuiltInBaseEntityUpdatedAtPropertyParentRef=rm,u.persistedBuiltInBaseEntityUpdatedAtPropertyRef=tm,u.processOutputGlobalValueDescriptorDataType=gm,u.processOutputGlobalValueDescriptorReturn=sl,u.processOutputGlobalValueDescriptorReturnRef=bm,u.projectPublicationCompletedGlobalEvent=Ja,u.propertyToZodSchema=$m,u.relationalDatabaseBuiltInBaseEntity=On,u.relationalDatabaseBuiltInBaseEntityAutoscalingProperty=Ko,u.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyDataTypeRef=Vf,u.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyParentRef=$f,u.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyRef=Nf,u.relationalDatabaseBuiltInBaseEntityDefaultProperty=Qo,u.relationalDatabaseBuiltInBaseEntityDefaultPropertyDataTypeRef=Mf,u.relationalDatabaseBuiltInBaseEntityDefaultPropertyRef=_f,u.relationalDatabaseBuiltInBaseEntityIdentifierProperty=xa,u.relationalDatabaseBuiltInBaseEntityIdentifierPropertyDataTypeRef=Af,u.relationalDatabaseBuiltInBaseEntityIdentifierPropertyRef=Sf,u.relationalDatabaseBuiltInBaseEntityMinSizeProperty=qa,u.relationalDatabaseBuiltInBaseEntityMinSizePropertyDataTypeRef=Bf,u.relationalDatabaseBuiltInBaseEntityMinSizePropertyRef=wf,u.relationalDatabaseBuiltInBaseEntityPasswordProperty=ka,u.relationalDatabaseBuiltInBaseEntityPasswordPropertyDataTypeRef=II,u.relationalDatabaseBuiltInBaseEntityPasswordPropertyRef=Cf,u.relationalDatabaseBuiltInBaseEntityRef=Fr,u.relationalDatabaseBuiltInBaseEntityUsernameProperty=ja,u.relationalDatabaseBuiltInBaseEntityUsernamePropertyDataTypeRef=gI,u.relationalDatabaseBuiltInBaseEntityUsernamePropertyRef=Of,u.resolveActionDescriptorName=mv,u.resolveBaseEntityName=yv,u.resolveBuiltInBaseEntityDataTypeLabel=hd,u.resolveConditionOperatorLabel=so,u.resolveCustomEntityDataTypeLabel=fd,u.resolveDataType=io,u.resolveDataTypeLabel=dv,u.resolveEntityDataTypeLabel=pv,u.resolveEntityName=S,u.resolveFirstCallsSecond=S3,u.resolveFirstWritesSecond=O3,u.resolvePrimitiveEntityName=fv,u.resolvePropertyDataTypeLabel=uv,u.resolveSearchName=hv,u.resolveVariableDataTypeLabel=E9,u.resolveVariableDeclarationDataTypeLabel=Er,u.resolveVariableInstanceDataTypeLabel=cv,u.resolveVariableScope=f9,u.sequentialExecutionOperation=un,u.sequentialExecutionOperationError=cy,u.sequentialExecutionOperationErrorParentRef=ly,u.sequentialExecutionOperationListOfExecutionResultsDataType=ay,u.sequentialExecutionOperationListOfExecutionResultsReturn=qo,u.sequentialExecutionOperationListOfExecutionResultsReturnParentRef=oy,u.sequentialExecutionOperationListOfExecutionResultsReturnRef=iy,u.sequentialExecutionOperationListOfFunctionsArgument=ko,u.sequentialExecutionOperationListOfFunctionsArgumentDatatype=ry,u.sequentialExecutionOperationListOfFunctionsArgumentParentRef=sy,u.sequentialExecutionOperationListOfFunctionsArgumentRef=ny,u.sequentialExecutionOperationListOfFunctionsBlueprint=ty,u.softDeletePersistedEntityMethod=Ff,u.softDeletePersistedEntityMethodParentRef=Gf,u.sortCallsBasedOnExecutionDependencies=_v,u.sortChildrenEntitiesBasedOnExecutionDependencies=P3,u.splitListOperation=Lo,u.splitListOperationError=op,u.splitListOperationErrorParentRef=sp,u.splitListOperationFirstOutputListDataType=Zu,u.splitListOperationFirstOutputListReturn=np,u.splitListOperationFirstOutputListReturnParentRef=tp,u.splitListOperationFirstOutputListReturnRef=$o,u.splitListOperationInputListArgument=Qu,u.splitListOperationInputListArgumentParentRef=Xu,u.splitListOperationInputListArgumentRef=Wu,u.splitListOperationInputListDataType=Hu,u.splitListOperationSecondOutputListDataType=rp,u.splitListOperationSecondOutputListReturn=ap,u.splitListOperationSecondOutputListReturnParentRef=ip,u.splitListOperationSplitIndexArgument=ep,u.splitListOperationSplitIndexArgumentParentRef=Ku,u.splitListOperationSplitIndexArgumentRef=Yu,u.splitListOperationSplitIndexDataType=zu,u.stringPrototype=j,u.stringValueAutogenerationSchema=lc,u.suggestNewIdForEntity=gd,u.test_primitive_entities_export=t5,u.toCamelCase=m9,u.toEntityState=Vt,u.toKebabCase=lv,u.toLowerCaseKebabCase=ao,u.toPascalCase=T9,u.untypedObjectPrototype=et,u.updateErrorsList=ne,u.updateValueReader=Pa,u.urlDefaultValue=Ly,u.uuidPrototype=Oa,u.validateArgumentDeclarationName=Rd,u.validateCalledByErrorIdInAction=m3,u.validateCalledByIdInAction=f3,u.validateCallers=Pv,u.validateConditionEntityDeclaration=R3,u.validateCustomEntityName=oo,u.validateDataOperation=Xn,u.validateDataOperationDataToValidateArgument=Ay,u.validateDataOperationDataToValidateArgumentParentRef=Py,u.validateDataOperationDataToValidateArgumentRef=Iy,u.validateDataOperationDataToValidateDataType=Dy,u.validateDataOperationEntityToMatchTypeArgument=By,u.validateDataOperationEntityToMatchTypeArgumentParentRef=Cy,u.validateDataOperationEntityToMatchTypeArgumentRef=Sy,u.validateDataOperationEntityToMatchTypeDataType=Oy,u.validateDataOperationError=Ny,u.validateDataOperationErrorParentRef=_y,u.validateDataOperationOutputEntityDeclaration=My,u.validateDataOperationOutputEntityDeclarationParentRef=wy,u.validateEntryCaller=Dv,u.validateErrorCaller=Iv,u.validateFunctionCallDeclaration=Sv,u.validateFunctionDeclarationName=md,u.validateGeneratedEntityParentIsNotBuiltInEntity=u3,u.validateGeneration=c3,u.validateGenerationTarget=Be,u.validateGenerationUpdate=d3,u.validateLoopEntityDeclaration=b3,u.validateName=R9,u.validateOperationEntityDeclaration=Ov,u.validatePropertyName=Ed,u.validateReachability=Dn,u.validateReadsValueInActionPayload=T3,u.validateReferenceObject=co,u.validateReferenceToOne=Pd,u.validateReferences=ke,u.validateReturnDeclarationName=bd,u.validateSuccessCaller=vv,u.validateValueReaderGenerationUpdate=va,u.validateValueWritter=wd,u.validateVariableDeclarationName=Td,u.validateVariableInternalCallUse=Md,u.valueAutogenerationCurrentDateAndTimeSchema=Rb,u.valueAutogenerationGenericSchema=Bs,u.valueAutogenerationOptions=uc,u.valueAutogenerationOptionsSchema=Eb,u.valueAutogenerationRandomBooleanSchema=oc,u.valueAutogenerationRandomDateBetweenSchema=Ob,u.valueAutogenerationRandomDateFromSchema=Ab,u.valueAutogenerationRandomDateSchema=_s,u.valueAutogenerationRandomDateUntilSchema=Sb,u.valueAutogenerationRandomNumberBetweenSchema=vb,u.valueAutogenerationRandomNumberFromSchema=bb,u.valueAutogenerationRandomNumberSchema=ws,u.valueAutogenerationRandomNumberUntilSchema=gb,u.valueAutogenerationRandomSchema=na,u.valueAutogenerationRandomTextBetweenSchema=Pb,u.valueAutogenerationRandomTextFromSchema=Ib,u.valueAutogenerationRandomTextSchema=Ms,u.valueAutogenerationRandomTextUntilSchema=Db,u.valueAutogenerationRangeValueTypesSchema=ta,u.valueAutogenerationUniqueSchema=sc,u.waitOperation=ut,u.waitOperationMillisecondsNumberArgument=Zn,u.waitOperationMillisecondsNumberArgumentRef=Yp,u.waitOperationMillisecondsNumberDataType=zp,u.waitOperationOperationError=Qp,u.waitOperationOperationErrorParentRef=Xp,u.waitOperationRef=Zp,Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})});