@elyx-code/project-logic-tree 0.0.5992 → 0.0.5994

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,68 +1,68 @@
1
- (function(d,r){typeof exports=="object"&&typeof module<"u"?r(exports):typeof define=="function"&&define.amd?define(["exports"],r):(d=typeof globalThis<"u"?globalThis:d||self,r(d["@elyx-code/project-logic-tree"]={}))})(this,function(d){"use strict";var T3=Object.defineProperty;var E3=(d,r,_)=>r in d?T3(d,r,{enumerable:!0,configurable:!0,writable:!0,value:_}):d[r]=_;var l=(d,r,_)=>(E3(d,typeof r!="symbol"?r+"":r,_),_);var r=(n=>(n.CustomEntity="custom-entity",n.BuiltInBaseEntity="built-in-base-entity",n.Project="project",n.InstalledProject="installed-project",n.GlobalEvent="global-event",n.DataType="data-type",n.FunctionCall="function-call",n.FunctionDeclaration="function-declaration",n.ActionDescriptor="action-descriptor",n.ValueDescriptor="value-descriptor",n.ArgumentDeclaration="argument-declaration",n.InputMap="input-map",n.ReturnStatement="return-statement",n.BreakStatement="break-statement",n.ContinueStatement="continue-statement",n.ReturnDeclaration="return-declaration",n.OutputMap="output-map",n.PrimitiveEntity="primitive-entity",n.PrimitiveValue="primitive-value",n.Property="property",n.Operation="operation",n.Condition="condition",n.VariableDeclaration="variable-declaration",n.VariableInstance="variable-instance",n.Search="search",n.Loop="loop",n.InternalCall="internal-call",n.GenericReference="generic-reference",n))(r||{}),_=(n=>(n.HTTP_ENDPOINT="BUILT_IN_HTTP_ENDPOINT_ENTITY",n.RELATIONAL_DATABASE="BUILT_IN_RELATIONAL_DATABASE_ENTITY",n.PERSISTED_ENTITY="BUILT_IN_PERSISTED_ENTITY_ENTITY",n.CRON_JOB="BUILT_IN_CRON_JOB_ENTITY",n.EXECUTION="BUILT_IN_EXECUTION_ENTITY",n.KEY_VALUE_PARAM="BUILT_IN_KEY_VALUE_PARAM_ENTITY",n))(_||{}),xe=(n=>(n.CurrentDateAndTime="current-date-and-time",n.Unique="unique",n.Random="random",n))(xe||{}),gt=(n=>(n.DeletePersistedEntity="base-delete-persisted-entity",n.SoftDeletePersistedEntity="base-soft-delete-persisted-entity",n.AbortExecution="base-abort-execution",n))(gt||{}),L=(n=>(n.Fixed="fixed",n.None="none",n.Dynamic="dynamic",n))(L||{}),C=(n=>(n.FixedArguments="fixed-arguments",n.FixedReturns="fixed-returns",n.ReturnedError="returned-error",n.OngoingProcessExecution="ongoing-process-execution",n))(C||{}),g=(n=>(n.EntityTemplate="entity-template",n.ActionDescriptor="action-descriptor",n.String="string",n.Number="number",n.Boolean="boolean",n.Null="null",n.Enum="enum",n.JSON="json",n.Date="date",n.UUID="uuid",n.File="file",n))(g||{}),at=(n=>(n.Addition="addition",n.Substraction="substraction",n.Multiplication="multiplication",n.Division="division",n.Remainder="remainder",n.Exponentiation="exponentiation",n))(at||{}),ge=(n=>(n.Join="string-join",n.Split="stringSsplit",n.DeleteLast="string-delete-last",n.DeleteFirst="string-delete-first",n.DeleteIndex="string-delete-index",n.AddIndex="string-add-index",n.ReplaceFirst="string-replace-first",n.ReplaceLast="string-replace-last",n.ReplaceIndex="string-replace-index",n.ReplaceSingleMatch="string-replace-single-match",n.ReplaceAllMatches="string-replace-all-matches",n.GetIndex="string-get-index",n.GetFirst="string-get-first",n.GetLast="string-get-last",n.Append="string-append",n.Prepend="string-prepend",n))(ge||{}),j=(n=>(n.Join="list-join",n.Split="list-split",n.DeleteLast="list-delete-last",n.DeleteFirst="list-delete-first",n.DeleteIndex="list-delete-index",n.AddIndex="list-add-index",n.ReplaceFirst="list-replace-first",n.ReplaceLast="list-replace-last",n.ReplaceIndex="list-replace-index",n.ReplaceSingleMatch="list-replace-single-match",n.ReplaceAllMatches="list-replace-all-matches",n.GetIndex="list-get-index",n.GetFirst="list-get-first",n.GetLast="list-get-last",n.Append="list-append",n.Prepend="list-prepend",n))(j||{}),Ie=(n=>(n.Parallel="parallel",n.Sequential="sequential",n.Wait="wait",n))(Ie||{}),Ze=(n=>(n.CreateNewInstance="create-new-instance",n.Validate="validate",n))(Ze||{}),Ye=(n=>(n.HttpRequest="base-http-request",n))(Ye||{}),Ae=(n=>(n.Equal="equal",n.NotEqual="not-equal",n.And="and",n.Or="or",n.LessThan="less-than",n.MoreThan="more-than",n.LessThanOrEqual="less-than-or-equal",n.MoreThanOrEqual="more-than-or-equal",n))(Ae||{}),Ct=(n=>(n.Empty="empty",n.NotEmpty="not-empty",n))(Ct||{}),je=(n=>(n.ManualFlow="manual-flow-loop",n.Counted="counted-loop",n.List="list-loop",n.ObjectKeys="object-keys-loop",n.ObjectValues="object-values-loop",n.String="string-loop",n))(je||{}),qe=(n=>(n.OrDataTypeGroup="or-data-type-group",n.AndDataTypeGroup="and-data-type-group",n.DynamicArgumentTypes="dynamic-argument-types",n.DynamicReturnTypes="dynamic-return-types",n))(qe||{}),Kt=(n=>(n.PROJECT_PUBLICATION_COMPLETED="GLOBAL_EVENT_PROJECT_PUBLICATION_COMPLETED",n))(Kt||{}),Md=(n=>(n.Error="error",n.Task="task",n))(Md||{});const Tn=[r.VariableDeclaration,r.VariableInstance,r.InputMap,r.ReturnDeclaration],Yg=[r.VariableDeclaration,r.VariableInstance,r.InputMap,r.ReturnDeclaration];console.log("VALUE_READING_TYPES: ",[...Tn]);const Se=[r.VariableDeclaration,r.VariableInstance,r.ArgumentDeclaration,r.OutputMap],zg=[r.VariableDeclaration,r.VariableInstance,r.ArgumentDeclaration,r.OutputMap];console.log("VALUE_WRITING_TYPES: ",[...Se]);const Nd=[...Tn,...Se],Fe=[r.VariableDeclaration,r.VariableInstance],Ar=[r.GlobalEvent],Ne=[r.Operation,r.FunctionCall,r.Condition,r.Search,r.VariableDeclaration,r.VariableInstance,r.InternalCall,r.Loop],Eo=[r.Operation,r.FunctionCall,r.Condition,r.Search,r.VariableDeclaration,r.VariableInstance,r.Loop],$e=[r.FunctionDeclaration,...Ar],En=[...Ne,r.ReturnStatement,r.BreakStatement,r.ContinueStatement],Ro=[...Eo,r.ReturnStatement,r.BreakStatement,r.ContinueStatement],en=[...Ne,...$e],$d=[...Eo,...$e],Zg=[...En,...$e],Xg=[...Ro,...$e],st=[...$e,r.Loop],Oe=[r.ReturnStatement,r.BreakStatement,r.ContinueStatement],Qg=[r.CustomEntity,r.BuiltInBaseEntity,r.Project,r.InstalledProject,r.GlobalEvent,r.DataType,r.FunctionCall,r.FunctionDeclaration,r.ActionDescriptor,r.ValueDescriptor,r.ArgumentDeclaration,r.InputMap,r.ReturnStatement,r.BreakStatement,r.ContinueStatement,r.ReturnDeclaration,r.OutputMap,r.PrimitiveEntity,r.PrimitiveValue,r.Property,r.Operation,r.Condition,r.VariableDeclaration,r.VariableInstance,r.Search,r.Loop,r.InternalCall],bo=[r.CustomEntity,r.GlobalEvent,r.FunctionDeclaration,r.FunctionCall,r.VariableDeclaration,r.VariableInstance,r.Operation,r.Condition,r.ReturnStatement,r.BreakStatement,r.ContinueStatement,r.InstalledProject,r.Loop,r.Search],Vd=[r.CustomEntity,r.FunctionDeclaration,r.ArgumentDeclaration,r.ReturnDeclaration,r.Property,r.VariableDeclaration,r.Search,r.Project,r.InstalledProject,r.ActionDescriptor,r.ValueDescriptor],Sr=[r.BuiltInBaseEntity,r.PrimitiveEntity],Kg=[r.CustomEntity,r.FunctionDeclaration,r.ArgumentDeclaration,r.ReturnDeclaration,r.Property,r.VariableDeclaration,r.GlobalEvent,r.Search,r.Project,r.InstalledProject,r.ActionDescriptor,r.ValueDescriptor,r.InputMap,r.OutputMap,r.FunctionCall,r.Operation,r.Condition,r.ReturnStatement,r.BreakStatement,r.ContinueStatement,r.VariableInstance,r.PrimitiveValue,r.InternalCall],F={type:r.PrimitiveEntity,id:"8b5fbe15-4c2b-48c0-9fd8-e5efbe3978dc",description:"A string of characters.",version:1,name:g.String,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Un={type:r.PrimitiveEntity,id:"f596545d-1565-4faa-9969-d95fa5edfea4",description:"A 'true' or 'false' value.",version:1,name:g.Boolean,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Ce={type:r.PrimitiveEntity,id:"ecb84c29-6153-4b82-86a5-fce2b5f92002",description:"A number value.",version:1,name:g.Number,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Xe={type:r.PrimitiveEntity,id:"730e8ea9-8498-439a-9001-b07de55aaa7d",description:"A complex data structure with any combination of properties with names and values.",version:1,name:g.JSON,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Ld={id:"c2f52f01-8f2e-490e-8083-72289c8189c1",type:r.GenericReference,entityId:"7dd59b70-f97b-43a7-a051-fde1842ce5d6",entityType:r.DataType},Gd={id:"4e803941-2e6a-4227-b803-b8877c0d7fee",type:r.GenericReference,entityId:"00ccfcae-2104-45ef-bf6c-50ddccd74286",entityType:r.Property},Fd={id:"7dd59b70-f97b-43a7-a051-fde1842ce5d6",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:F,asType:!1,defaultValue:{id:"enum-options-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.JSON,autogeneration:null,value:[],valueAsType:null,parent:Ld},parent:Gd},Ud={id:"a2983c4c-0286-4ef1-8b5c-5a52904d3200",type:r.GenericReference,entityId:"9542b8b4-2642-4eee-9db9-def7963a17a0",entityType:r.PrimitiveEntity},xd={required:!0,id:"00ccfcae-2104-45ef-bf6c-50ddccd74286",name:"Options",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:Fd,description:"Options for the enum. Each option is a text value.",parent:Ud},Rn={type:r.PrimitiveEntity,id:"9542b8b4-2642-4eee-9db9-def7963a17a0",description:"A set of text options to choose from.",version:1,name:g.Enum,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[xd],methods:[]},Or={type:r.PrimitiveEntity,id:"dc58f38b-d574-4956-aac6-32ce9529b937",description:"A date and time value.",version:1,name:g.Date,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},ma={type:r.PrimitiveEntity,id:"4a6234aa-c0f6-4731-b4dd-750388029226",description:"A unique identifier in the form of a 36-character string.",version:1,name:g.UUID,static:!1,abstract:!1,abstractMethods:[],extends:[F],properties:[],methods:[]},vo={type:r.PrimitiveEntity,id:"b6f3c3c4-9c3d-4f9d-9e9e-1c0f6a3c8c6b",description:"A complex data structure with any combination of properties with names and values.",version:1,name:g.JSON,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]};var jd=(n=>(n.FirstInputNumber="number-addition-first-number-argument-declaration",n.SecondInputNumber="number-addition-second-number-argument-declaration",n))(jd||{}),kd=(n=>(n.ResultNumber="number-addition-result-number-return-delaration",n.Error="number-addition-error-return-delaration",n))(kd||{});const qd={type:r.GenericReference,id:"3bd4aeb2-e3b7-4120-b289-011ebb03dba5",entityId:"number-addition-first-number-argument-declaration",entityType:r.ValueDescriptor},Jd={id:"number-addition-first-number-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:qd},Wd={type:r.GenericReference,id:"9f486db2-a983-4293-9eef-81d4fc8d2d3e",entityId:"number-addition-second-number-argument-declaration",entityType:r.ValueDescriptor},Hd={id:"1d4abe83-3e87-4f74-99be-c1fd8c2f8d2d",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Wd},Yd={type:r.GenericReference,id:"da5e9fe9-f18a-49e3-98e5-c1bf7b9b3153",entityId:"number-addition-result-number-return-delaration",entityType:r.ValueDescriptor},zd={id:"b761acec-0755-4582-a68b-76267038bbe1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Yd},Zd={type:r.GenericReference,id:"a6c14305-d4f7-43ae-9d5e-b7dbacdc830a",entityId:at.Addition,entityType:r.ActionDescriptor},go={id:"number-addition-first-number-argument-declaration",type:r.ValueDescriptor,version:1,name:"First value",description:"The first number to add",dataType:Jd,required:!0,parentRelationType:C.FixedArguments,index:0,parent:Zd},Xd={type:r.GenericReference,id:"c5015128-4a65-462c-9da0-1c86e83ef897",entityId:at.Addition,entityType:r.ActionDescriptor},Io={id:"number-addition-second-number-argument-declaration",type:r.ValueDescriptor,description:"The second number to add",version:1,name:"Second value",dataType:Hd,required:!0,parentRelationType:C.FixedArguments,index:1,parent:Xd},Qd={type:r.GenericReference,id:"caac2bc7-c23c-4f01-9581-a515c2e4637f",entityId:at.Addition,entityType:r.ActionDescriptor},Po={parentRelationType:C.FixedReturns,id:"number-addition-result-number-return-delaration",type:r.ValueDescriptor,description:"The result number of the addition",version:1,name:"Result",dataType:zd,required:!0,index:0,parent:Qd},Kd={type:r.GenericReference,id:"number-addition-operation-error-parent-ref",entityId:at.Addition,entityType:r.ActionDescriptor},eu={parentRelationType:C.FixedReturns,id:"number-addition-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Kd},Ta={id:at.Addition,type:r.ActionDescriptor,description:"Add two numbers together",version:1,name:at.Addition,fixedArguments:[go,Io],error:eu,fixedReturns:[Po],argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},tu={[at.Addition]:Ta};var nu=(n=>(n.FirstInputString="join-string-first-string-argument-declaration",n.SecondInputString="join-string-second-string-argument-declaration",n))(nu||{}),ru=(n=>(n.ResultString="join-string-result-string-return-delaration",n.Error="join-string-error-return-delaration",n))(ru||{});const iu={type:r.GenericReference,id:"join-string-first-string-argument-declaration",entityId:"join-string-first-string-argument-declaration",entityType:r.ValueDescriptor},au={id:"join-string-first-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:iu},su={type:r.GenericReference,id:"join-string-second-string-argument-declaration",entityId:"join-string-second-string-argument-declaration",entityType:r.ValueDescriptor},ou={id:"join-string-second-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:su},lu={type:r.GenericReference,id:"join-string-result-string-return-delaration",entityId:"join-string-result-string-return-delaration",entityType:r.ValueDescriptor},cu={id:"join-string-result-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:lu},du={type:r.GenericReference,id:"join-string-operation-first-string-argument-parent-ref",entityId:ge.Join,entityType:r.ActionDescriptor},Ea={id:"join-string-first-string-argument-declaration",type:r.ValueDescriptor,version:1,name:"First value",description:"The first text to join to the second one. Its value will be at the beginning of the resulting text.",dataType:au,parentRelationType:C.FixedArguments,required:!0,index:0,parent:du},uu={type:r.GenericReference,id:"join-string-operation-second-string-argument-parent-ref",entityId:ge.Join,entityType:r.ActionDescriptor},Ra={id:"join-string-second-string-argument-declaration",type:r.ValueDescriptor,version:1,name:"Second value",description:"The second text to join to the first one. Its value will be at the end of the resulting text.",dataType:ou,parentRelationType:C.FixedArguments,required:!0,index:1,parent:uu},pu={type:r.GenericReference,id:"join-string-operation-result-string-return-parent-ref",entityId:ge.Join,entityType:r.ActionDescriptor},pi={parentRelationType:C.FixedReturns,id:"join-string-result-string-return-delaration",type:r.ValueDescriptor,version:1,name:"Result",description:"The resulting text value.",dataType:cu,required:!0,index:0,parent:pu},yu={type:r.GenericReference,id:"join-string-operation-error-parent-ref",entityId:ge.Join,entityType:r.ActionDescriptor},hu={parentRelationType:C.FixedReturns,id:"join-string-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:yu},yi={id:ge.Join,type:r.ActionDescriptor,version:1,name:ge.Join,description:"Join two text together, to form a single resulting text value.",fixedArguments:[Ea,Ra],fixedReturns:[pi],error:hu,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},fu={[ge.Join]:yi};var mu=(n=>(n.FirstInputList="join-list-first-list-argument-declaration",n.SecondInputList="join-list-second-list-argument-declaration",n))(mu||{}),Tu=(n=>(n.ResultList="join-list-result-list-return-delaration",n.Error="join-list-error-return-delaration",n))(Tu||{});const Eu={type:r.GenericReference,id:"join-list-operation-first-list-argument-ref",entityId:"join-list-first-list-argument-declaration",entityType:r.ValueDescriptor},Ru={id:"join-list-first-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Eu},bu={type:r.GenericReference,id:"join-list-operation-second-list-argument-ref",entityId:"join-list-second-list-argument-declaration",entityType:r.ValueDescriptor},vu={id:"join-list-second-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:bu},gu={type:r.GenericReference,id:"join-list-operation-result-list-return-ref",entityId:"join-list-result-list-return-delaration",entityType:r.ValueDescriptor},Iu={id:"join-list-result-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:gu},Pu={type:r.GenericReference,id:"join-list-operation-first-list-argument-parent-ref",entityId:j.Join,entityType:r.ActionDescriptor},Du={id:"join-list-first-list-argument-declaration",type:r.ValueDescriptor,version:1,name:"First value",description:"The first list to join to the second one. Its values will be at the beginning of the resulting list.",dataType:Ru,parentRelationType:C.FixedArguments,required:!0,index:0,parent:Pu},Au={type:r.GenericReference,id:"join-list-operation-second-list-argument-parent-ref",entityId:j.Join,entityType:r.ActionDescriptor},Su={id:"join-list-second-list-argument-declaration",type:r.ValueDescriptor,version:1,name:"Second value",description:"The second list to join to the first one. Its values will be at the end of the resulting list.",dataType:vu,parentRelationType:C.FixedArguments,required:!0,index:1,parent:Au},Ou={type:r.GenericReference,id:"join-list-operation-result-list-return-parent-ref",entityId:j.Join,entityType:r.ActionDescriptor},Cu={parentRelationType:C.FixedReturns,id:"join-list-result-list-return-delaration",type:r.ValueDescriptor,version:1,name:"Result",description:"The resulting list value.",dataType:Iu,required:!0,index:0,parent:Ou},Bu={type:r.GenericReference,id:"join-list-operation-error-parent-ref",entityId:j.Join,entityType:r.ActionDescriptor},wu={parentRelationType:C.FixedReturns,id:"join-list-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Bu},Do={id:j.Join,type:r.ActionDescriptor,version:1,name:j.Join,description:"Join two lists together, to form a single resulting list value.",fixedArguments:[Du,Su],error:wu,fixedReturns:[Cu],argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var _u=(n=>(n.InputList="list-to-split-argument-declaration",n.SplitIndex="split-list-index-argument-declaration",n))(_u||{}),Mu=(n=>(n.FirstOutputList="split-list-first-output-list-return-delaration",n.SecondOutputList="split-list-second-output-list-return-delaration",n.Error="split-list-error-return-delaration",n))(Mu||{});const Nu={type:r.GenericReference,id:"split-list-operation-input-list-argument-ref",entityId:"list-to-split-argument-declaration",entityType:r.ValueDescriptor},$u={id:"split-list-operation-input-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Nu},Vu={type:r.GenericReference,id:"split-list-operation-split-index-argument-ref",entityId:"split-list-index-argument-declaration",entityType:r.ValueDescriptor},Lu={id:"split-list-operation-split-index-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Vu},Ao={type:r.GenericReference,id:"split-list-operation-first-output-list-return-ref",entityId:"split-list-first-output-list-return-delaration",entityType:r.ValueDescriptor},Gu={id:"split-list-operation-first-output-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Ao},Fu={type:r.GenericReference,id:"split-list-operation-input-list-argument-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},Uu={id:"list-to-split-argument-declaration",type:r.ValueDescriptor,version:1,name:"List to split",description:"The list to split at the given index",dataType:$u,parentRelationType:C.FixedArguments,required:!0,index:0,parent:Fu},xu={type:r.GenericReference,id:"split-list-operation-split-index-argument-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},ju={id:"split-list-index-argument-declaration",type:r.ValueDescriptor,version:1,name:"Split location",description:"The index at which to split the list. The value at this index will be the first value of the second list.",dataType:Lu,parentRelationType:C.FixedArguments,required:!0,index:1,parent:xu},ku={type:r.GenericReference,id:"split-list-operation-first-output-list-return-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},qu={parentRelationType:C.FixedReturns,id:"split-list-first-output-list-return-delaration",type:r.ValueDescriptor,version:1,name:"First list",description:"The list of values up to the split index",dataType:Gu,required:!0,index:0,parent:ku},Ju={id:"split-list-operation-second-output-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Ao},Wu={type:r.GenericReference,id:"split-list-operation-second-output-list-return-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},Hu={parentRelationType:C.FixedReturns,id:"split-list-second-output-list-return-delaration",type:r.ValueDescriptor,version:1,name:"Second list",description:"The list of values up to the split index",dataType:Ju,required:!0,index:0,parent:Wu},Yu={type:r.GenericReference,id:"split-list-operation-error-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},zu={parentRelationType:C.FixedReturns,id:"split-list-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Yu},So={id:j.Split,type:r.ActionDescriptor,version:1,name:j.Split,description:"Splits a given list at the given index, and returns two lists, one with the values up to the index, and the other with the values after the index",fixedArguments:[Uu,ju],fixedReturns:[qu,Hu],error:zu,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var Zu=(n=>(n.InputList="get-last-in-list-input-list-argument-declaration",n))(Zu||{}),Xu=(n=>(n.OutputElement="get-last-in-list-output-element-return-delaration",n.Error="get-last-in-list-error-return-delaration",n))(Xu||{});const Qu={type:r.GenericReference,id:"get-last-in-list-operation-input-list-argument-ref",entityId:"get-last-in-list-input-list-argument-declaration",entityType:r.ValueDescriptor},Ku={id:"get-last-in-list-input-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Qu},ep={type:r.GenericReference,id:"get-last-in-list-operation-output-element-return-ref",entityId:"get-last-in-list-output-element-return-delaration",entityType:r.ValueDescriptor},tp={id:"get-last-in-list-output-element-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:ep},np={type:r.GenericReference,id:"get-last-in-list-operation-input-list-argument-parent-ref",entityId:j.GetLast,entityType:r.ActionDescriptor},rp={id:"get-last-in-list-input-list-argument-declaration",type:r.ValueDescriptor,version:1,name:"List",description:"The list to get the last element from.",dataType:Ku,parentRelationType:C.FixedArguments,required:!0,index:0,parent:np},ip={type:r.GenericReference,id:"get-last-in-list-operation-output-element-return-parent-ref",entityId:j.GetLast,entityType:r.ActionDescriptor},ap={parentRelationType:C.FixedReturns,id:"get-last-in-list-output-element-return-delaration",type:r.ValueDescriptor,version:1,name:"Last element",description:"The last element of the given list.",dataType:tp,required:!0,index:0,parent:ip},sp={type:r.GenericReference,id:"get-last-in-list-operation-error-parent-ref",entityId:j.GetLast,entityType:r.ActionDescriptor},op={parentRelationType:C.FixedReturns,id:"get-last-in-list-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:sp},Oo={id:j.GetLast,type:r.ActionDescriptor,version:1,name:j.GetLast,description:"Outputs the last element of a given list.",fixedArguments:[rp],fixedReturns:[ap],error:op,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var lp=(n=>(n.List="append-to-list-lsit-argument-declaration",n.ElementToAppend="append-to-list-element-to-append-argument-declaration",n))(lp||{}),cp=(n=>(n.ResultList="append-to-list-result-list-return-delaration",n.Error="append-to-list-error-return-delaration",n))(cp||{});const dp={type:r.GenericReference,id:"append-to-list-operation-lsit-argument-ref",entityId:"append-to-list-lsit-argument-declaration",entityType:r.ValueDescriptor},up={id:"append-to-list-lsit-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:dp},pp={type:r.GenericReference,id:"append-to-list-operation-second-list-argument-ref",entityId:"append-to-list-element-to-append-argument-declaration",entityType:r.ValueDescriptor},yp={id:"append-to-list-second-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:pp},hp={type:r.GenericReference,id:"append-to-list-operation-result-list-return-ref",entityId:"append-to-list-result-list-return-delaration",entityType:r.ValueDescriptor},fp={id:"append-to-list-result-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:hp},mp={type:r.GenericReference,id:"append-to-list-operation-lsit-argument-parent-ref",entityId:j.Append,entityType:r.ActionDescriptor},Co={id:"append-to-list-lsit-argument-declaration",type:r.ValueDescriptor,version:1,name:"List value",description:"The list to which the element will be appended",dataType:up,parentRelationType:C.FixedArguments,required:!0,index:0,parent:mp},Tp={type:r.GenericReference,id:"append-to-list-operation-second-list-argument-parent-ref",entityId:j.Append,entityType:r.ActionDescriptor},Bo={id:"append-to-list-element-to-append-argument-declaration",type:r.ValueDescriptor,version:1,name:"Element",description:"The element that will be added at the end of the list",dataType:yp,parentRelationType:C.FixedArguments,required:!0,index:1,parent:Tp},Ep={type:r.GenericReference,id:"append-to-list-operation-result-list-return-parent-ref",entityId:j.Append,entityType:r.ActionDescriptor},Rp={parentRelationType:C.FixedReturns,id:"append-to-list-result-list-return-delaration",type:r.ValueDescriptor,version:1,name:"Result",description:"The resulting list value.",dataType:fp,required:!0,index:0,parent:Ep},bp={type:r.GenericReference,id:"append-to-list-operation-error-parent-ref",entityId:j.Append,entityType:r.ActionDescriptor},vp={parentRelationType:C.FixedReturns,id:"append-to-list-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:bp},ba={id:j.Append,type:r.ActionDescriptor,version:1,name:j.Append,description:"Adds a given element to the end of a list value.",fixedArguments:[Co,Bo],error:vp,fixedReturns:[Rp],argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},gp={[j.Join]:Do,[j.Split]:So,[j.GetLast]:Oo,[j.Append]:ba};var Ip=(n=>(n.ListOfFunctions="parallel-execution-list-of-functions-argument-declaration",n))(Ip||{}),Pp=(n=>(n.ListOfExecutionResults="parallel-execution-result-return-delaration",n.Error="parallel-execution-error-return-delaration",n))(Pp||{});const Dp={id:"parallel-execution-list-of-functions-blueprint-id",type:r.ActionDescriptor,version:1,name:"Action to execute",description:"An action of any type, to be executed. It can contain any number of inputs and outputs.",argumentsType:L.Dynamic,dynamicArgumentTypes:null,fixedArguments:[],returnsType:L.Dynamic,dynamicReturnTypes:null,fixedReturns:[],error:null,parent:null},Ap={type:r.GenericReference,id:"3bd4aeb2-e3b7-4120-b289-011ebb03dba5",entityId:"parallel-execution-list-of-functions-argument-declaration",entityType:r.ValueDescriptor},Sp={id:"parallel-execution-list-of-functions-argument-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Dp,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Ap},Op={type:r.GenericReference,id:"da5e9fe9-f18a-49e3-98e5-c1bf7b9b3153",entityId:"parallel-execution-result-return-delaration",entityType:r.ValueDescriptor},Cp={id:"b761acec-0755-4582-a68b-76267038bbe1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Op},Bp={type:r.GenericReference,id:"a6c14305-d4f7-43ae-9d5e-b7dbacdc830a",entityId:Ie.Parallel,entityType:r.ActionDescriptor},wo={id:"parallel-execution-list-of-functions-argument-declaration",type:r.ValueDescriptor,version:1,name:"Actions to execute",description:"A value, of a list of actions to be executed in parallel",dataType:Sp,required:!0,index:0,parent:Bp,parentRelationType:C.FixedArguments},wp={type:r.GenericReference,id:"caac2bc7-c23c-4f01-9581-a515c2e4637f",entityId:Ie.Parallel,entityType:r.ActionDescriptor},_o={id:"parallel-execution-result-return-delaration",type:r.ValueDescriptor,version:1,name:"List of execution results",description:"Each execution result, in the same order as the input list of actions. One item on this list for each executed action.",dataType:Cp,required:!0,index:0,parent:wp,parentRelationType:C.FixedReturns},_p={type:r.GenericReference,id:"parallel-execution-operation-error-parent-ref",entityId:Ie.Parallel,entityType:r.ActionDescriptor},Mp={id:"parallel-execution-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:_p,parentRelationType:C.ReturnedError},$t={id:Ie.Parallel,type:r.ActionDescriptor,description:"Execute a list of actions in parallel",version:1,name:Ie.Parallel,fixedArguments:[wo],fixedReturns:[_o],argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,error:Mp,parent:null};var Np=(n=>(n.MillisecondsNumber="wait-milliseconds-number-argument-declaration",n))(Np||{}),$p=(n=>(n.Error="wait-operation-error-return-delaration",n))($p||{});const Vp={type:r.GenericReference,id:"3bd4aeb2-e3b7-4120-b289-011ebb03dba5",entityType:r.ValueDescriptor,entityId:"wait-milliseconds-number-argument-declaration"},Lp={id:"wait-milliseconds-number-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Vp},Gp={type:r.GenericReference,id:"a6c14305-d4f7-43ae-9d5e-b7dbacdc830a",entityType:r.ActionDescriptor,entityId:Ie.Wait},xn={id:"wait-milliseconds-number-argument-declaration",type:r.ValueDescriptor,version:1,name:"Milliseconds to wait",description:"The amount of milliseconds to wait before calling the next entity",dataType:Lp,required:!0,index:0,parent:Gp,parentRelationType:C.FixedArguments},Fp={type:r.GenericReference,id:"wait-operation-error-parent-ref",entityId:Ie.Wait,entityType:r.ActionDescriptor},Up={id:"wait-operation-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Fp,parentRelationType:C.ReturnedError},ot={id:Ie.Wait,type:r.ActionDescriptor,description:"Wait for the given amount of milliseconds before calling the next entity",version:1,name:Ie.Wait,fixedArguments:[xn],fixedReturns:[],error:Up,argumentsType:L.Fixed,returnsType:L.None,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var xp=(n=>(n.ListOfFunctions="sequential-execution-list-of-functions-argument-declaration",n))(xp||{}),jp=(n=>(n.ListOfExecutionResults="sequential-execution-result-return-delaration",n.Error="sequential-execution-error-return-delaration",n))(jp||{});const kp={id:"sequential-execution-list-of-functions-blueprint-id",type:r.ActionDescriptor,version:1,name:"Action to execute",description:"An action of any type, to be executed. It can contain any number of inputs and outputs.",argumentsType:L.Dynamic,dynamicArgumentTypes:null,fixedArguments:[],returnsType:L.Dynamic,dynamicReturnTypes:null,fixedReturns:[],error:null,parent:null},qp={type:r.GenericReference,id:"parallel-execution-list-of-functions-argument-declaration-id",entityId:"sequential-execution-list-of-functions-argument-declaration",entityType:r.ValueDescriptor},Jp={id:"sequential-execution-list-of-functions-argument-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:kp,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:qp},Wp={type:r.GenericReference,id:"sequential-execution-list-of-execution-results-return-declaration-id",entityId:"sequential-execution-result-return-delaration",entityType:r.ValueDescriptor},Hp={id:"sequential-execution-list-of-execution-results-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Wp},Yp={type:r.GenericReference,id:"parallel-execution-operation-list-of-functions-argument-parent-ref",entityId:Ie.Sequential,entityType:r.ActionDescriptor},Mo={id:"sequential-execution-list-of-functions-argument-declaration",type:r.ValueDescriptor,version:1,name:"Actions to execute",description:"A value, of a list of actions to be executed in parallel",dataType:Jp,required:!0,index:0,parent:Yp,parentRelationType:C.FixedArguments},zp={type:r.GenericReference,id:"parallel-execution-operation-list-of-execution-results-return-parent-ref",entityId:Ie.Sequential,entityType:r.ActionDescriptor},No={id:"sequential-execution-result-return-delaration",type:r.ValueDescriptor,version:1,name:"List of execution results",description:"Each execution result, in the same order as the input list of actions. One item on this list for each executed action.",dataType:Hp,required:!0,index:0,parent:zp,parentRelationType:C.FixedReturns},Zp={type:r.GenericReference,id:"sequential-execution-operation-error-parent-ref",entityId:Ie.Sequential,entityType:r.ActionDescriptor},Xp={id:"sequential-execution-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Zp,parentRelationType:C.ReturnedError},tn={id:Ie.Sequential,type:r.ActionDescriptor,description:"Execute a list of actions one after the other",version:1,name:Ie.Sequential,fixedArguments:[Mo],fixedReturns:[No],error:Xp,returnsType:L.Fixed,argumentsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},Qp={[Ie.Parallel]:$t,[Ie.Wait]:ot,[Ie.Sequential]:tn};var Kp=(n=>(n.EntityToInstanciate="entity-to-instanciate-argument-declaration",n))(Kp||{}),ey=(n=>(n.Error="create-new-instance-error-return-delaration",n))(ey||{});const ty={type:r.GenericReference,id:"entity-to-instanciate-argument-declaration-ref",entityType:r.ValueDescriptor,entityId:"entity-to-instanciate-argument-declaration"},ny={id:"entity-to-instanciate-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!0,isNullable:!1,defaultValue:null,constant:!1,parent:ty},ry={type:r.GenericReference,id:"create-new-instance-operation-ref",entityType:r.ActionDescriptor,entityId:Ze.CreateNewInstance},iy={id:"entity-to-instanciate-argument-declaration",type:r.ValueDescriptor,version:1,name:"Entity to create a new copy of",description:"The entity of which a new copy will to be created",dataType:ny,required:!0,parentRelationType:C.FixedArguments,index:0,parent:ry},ay={type:r.GenericReference,id:"create-new-instance-output-entity-declaration-parent-ref",entityId:Ze.CreateNewInstance,entityType:r.ActionDescriptor},sy={parentRelationType:C.FixedReturns,id:"create-new-instance-output-entity-declaration",type:r.ValueDescriptor,version:1,dataType:null,name:"Created entity",description:"The entity that was created",parent:ay,required:!0,index:0},oy={type:r.GenericReference,id:"create-new-instance-error-parent-ref",entityId:Ze.CreateNewInstance,entityType:r.ActionDescriptor},ly={parentRelationType:C.FixedReturns,id:"create-new-instance-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:oy},Cr={id:Ze.CreateNewInstance,type:r.ActionDescriptor,description:"Creates a new copy of a given entity, with the given values for each property, or default values if a value is not provided",version:1,name:Ze.CreateNewInstance,fixedArguments:[iy],fixedReturns:[sy],error:ly,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var cy=(n=>(n.EntityToMatchType="validate-data-operation-entity-to-match-type-argument-declaration",n.DataToValidate="validate-data-operation-data-to-validate-argument-declaration",n))(cy||{}),dy=(n=>(n.Error="validate-data-error-return-delaration",n.OutputEntity="validate-data-output-entity-declaration",n))(dy||{});const uy={type:r.GenericReference,id:"validate-data-operation-data-to-validate-argument-declaration-ref",entityType:r.ValueDescriptor,entityId:"validate-data-operation-data-to-validate-argument-declaration"},py={id:"validate-data-operation-data-to-validate-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:uy},yy={type:r.GenericReference,id:"validate-data-operation-data-to-validate-argument-parent-ref",entityType:r.ActionDescriptor,entityId:Ze.Validate},hy={id:"validate-data-operation-data-to-validate-argument-declaration",type:r.ValueDescriptor,version:1,name:"Data to validate",description:"The value to validate against the given entity type",dataType:py,required:!0,parentRelationType:C.FixedArguments,index:0,parent:yy},fy={type:r.GenericReference,id:"validate-data-operation-entity-to-match-type-argument-declaration-ref",entityType:r.ValueDescriptor,entityId:"validate-data-operation-entity-to-match-type-argument-declaration"},my={id:"validate-data-operation-entity-to-match-type-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!0,isNullable:!1,defaultValue:null,constant:!1,parent:fy},Ty={type:r.GenericReference,id:"validate-data-operation-entity-to-match-type-argument-parent-ref",entityType:r.ActionDescriptor,entityId:Ze.Validate},Ey={id:"validate-data-operation-entity-to-match-type-argument-declaration",type:r.ValueDescriptor,version:1,name:"Entity to match",description:"The entity to match the data against",dataType:my,required:!0,index:0,parentRelationType:C.FixedArguments,parent:Ty},Ry={type:r.GenericReference,id:"validate-data-operation-output-entity-declaration-parent-ref",entityId:Ze.Validate,entityType:r.ActionDescriptor},by={id:"validate-data-output-entity-declaration",type:r.ValueDescriptor,version:1,dataType:null,name:"Output value",description:"A value with the type of the entity that was validated",parent:Ry,required:!0,index:0,parentRelationType:C.FixedReturns},vy={type:r.GenericReference,id:"wait-operation-error-parent-ref",entityId:Ze.Validate,entityType:r.ActionDescriptor},gy={id:"validate-data-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:vy,parentRelationType:C.ReturnedError},jn={id:Ze.Validate,type:r.ActionDescriptor,description:"Validates the given data to see if it matches the structure of a given type/entity",version:1,name:Ze.Validate,fixedArguments:[Ey,hy],fixedReturns:[by],error:gy,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},Iy={[Ze.CreateNewInstance]:Cr,[Ze.Validate]:jn};var $o=(n=>(n.ActionOngoingProcessOutputValue="action-ongoing-process-output-value-descriptor-id",n))($o||{});const Ve={[r.ValueDescriptor]:{"action-ongoing-process-output-value-descriptor-id":{id:"action-ongoing-process-output-value-descriptor-id",dataType:{id:"process-output-value-data-type-id"}}},[r.BuiltInBaseEntity]:{[_.KEY_VALUE_PARAM]:{id:_.KEY_VALUE_PARAM},[_.HTTP_ENDPOINT]:{id:_.HTTP_ENDPOINT,properties:{method:"http-endpoint-built-in-method-property-id",path:"http-endpoint-built-in-path-property-id",cors:"http-endpoint-built-in-cors-property-id"}},[_.PERSISTED_ENTITY]:{id:_.PERSISTED_ENTITY,properties:{database:"persisted-built-in-base-entity-database-property-id",identifier:"persisted-built-in-base-entity-identifier-property-id"}},[_.RELATIONAL_DATABASE]:{id:_.RELATIONAL_DATABASE,properties:{identifier:"relational-database-built-in-base-entity-identifier-property-id",username:"relational-database-built-in-base-entity-username-property-id",password:"relational-database-built-in-base-entity-password-property-id",minSize:"relational-database-built-in-base-entity-min-size-property-id",default:"relational-database-built-in-base-entity-default-property-id"}},[_.CRON_JOB]:{id:_.CRON_JOB,properties:{expression:"cron-job-built-in-base-entity-expression-property-id"}}},[r.Operation]:{[ge.Join]:{id:ge.Join,inputs:{first:"join-string-first-string-input-id",second:"join-string-second-string-input-id"},outputs:{result:"join-string-result-string-return-delaration-id",error:"join-string-error-return-delaration-id"}},[Ye.HttpRequest]:{id:Ye.HttpRequest,inputs:{url:"http-request-url-input-id",query:"http-request-query-input-id",method:"http-request-method-input-id",headers:"http-request-headers-input-id",body:"http-request-body-string-input-id"},outputs:{code:"http-response-code-return-delaration-id",body:"http-response-body-return-delaration-id",headers:"http-response-headers-return-delaration-id",error:"http-request-error-return-delaration-id"}}},[r.Loop]:{[je.List]:{id:je.List,inputs:{list:"iterate-over-list-loop-list-input-id"},outputs:{results:"iterate-over-list-loop-output-id"}},[je.ManualFlow]:{id:je.ManualFlow,inputs:{},outputs:{results:"manual-flow-loop-output-id"}}},[r.Condition]:{[Ae.MoreThanOrEqual]:{id:Ae.MoreThanOrEqual,inputs:{leftHand:"condition-more-than-or-equal-left-hand-input-id",rightHand:"condition-more-than-or-equal-right-hand-input-id"}},[Ct.NotEmpty]:{id:Ct.NotEmpty,inputs:{leftHand:"condition-not-empty-input-id"}}},[r.GlobalEvent]:{[Kt.PROJECT_PUBLICATION_COMPLETED]:{id:Kt.PROJECT_PUBLICATION_COMPLETED}}},Je=Ve[r.Operation]["base-http-request"],Py={type:r.GenericReference,id:"d87cf943-57e1-4d19-9f05-190fa8c8ebc4",entityType:r.DataType,entityId:"0deb4ef7-d739-4ddc-a4d6-50bd6fababe3"},Dy={id:"http-request-url-default-value-id",type:r.PrimitiveValue,version:1,value:"https://some-url.com",name:g.String,valueAsType:null,parent:Py,autogeneration:null},Ay={type:r.GenericReference,id:"aed50d73-eab5-42ce-b00e-7f5c45a9026f",entityId:Je.inputs.url,entityType:r.ValueDescriptor},Sy={id:"0deb4ef7-d739-4ddc-a4d6-50bd6fababe3",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:Dy,constant:!1,parent:Ay},Oy={type:r.GenericReference,id:"c3145af6-3387-464a-8887-272e483c856d",entityId:Je.inputs.query,entityType:r.ValueDescriptor},Cy={id:"2a5ba737-6335-4cc4-a2c0-16dca4052fac",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Oy},By={type:r.GenericReference,id:"075556b7-e468-48f7-8485-7159eaf389b2",entityType:r.DataType,entityId:"6df7ec2b-5dbd-44af-896b-17b314e88560"},wy={id:"http-request-method-default-value-id",type:r.PrimitiveValue,version:1,value:"GET",name:g.Enum,valueAsType:null,parent:By,autogeneration:null},_y={type:r.GenericReference,id:"aed647c8-a1b5-4cfc-9a3d-97887a567a80",entityId:Je.inputs.method,entityType:r.ValueDescriptor},My={id:"6df7ec2b-5dbd-44af-896b-17b314e88560",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rn,isList:!1,asType:!1,isNullable:!1,defaultValue:wy,options:["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","TRACE","CONNECT","CUSTOM"],constant:!1,parent:_y},Ny={type:r.GenericReference,id:"77203dfa-d2f6-4804-9556-e1cce46228f3",entityId:Je.inputs.headers,entityType:r.ValueDescriptor},$y={id:"2c8a2a07-69c6-40ad-b5c9-f0dc4d5955ce",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Ny},Vy={type:r.GenericReference,id:"03db68a0-7ab6-4c6a-85b6-f4b95ebb53ff",entityId:Je.inputs.body,entityType:r.ValueDescriptor},Ly={id:"0397876c-ed54-4ee9-85a4-04fd16dad973",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Vy},Gy={type:r.GenericReference,id:"182f767f-50e8-4394-ba5f-43e78c232733",entityType:r.ValueDescriptor,entityId:Je.outputs.code},Fy={id:"45e6d0bc-0c0e-4059-a7a1-6bee925d73d0",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Gy},Uy={type:r.GenericReference,id:"2baaa53a-9aef-4bd1-b06d-967c17b7b627",entityType:r.DataType,entityId:"dac63bfa-640d-4f4e-ba0f-86c2401bcfbe"},xy={type:r.GenericReference,id:"69f34d6c-c686-4165-b6ff-70dae8e1778b",entityType:r.ValueDescriptor,entityId:Je.outputs.headers},jy={id:"dac63bfa-640d-4f4e-ba0f-86c2401bcfbe",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"http-response-headers-default-value-id",type:r.PrimitiveValue,version:1,value:{},name:g.JSON,parent:Uy,valueAsType:null,autogeneration:null},constant:!1,parent:xy},ky={type:r.GenericReference,id:"744334e0-5135-4214-85d0-809437cb620b",entityType:r.DataType,entityId:"05fc1a5d-151a-479a-9c4e-4063f3456177"},qy={type:r.GenericReference,id:"0e0e20df-1a46-432c-ba01-fd96508a6a61",entityType:r.ValueDescriptor,entityId:Je.outputs.body},Jy={id:"05fc1a5d-151a-479a-9c4e-4063f3456177",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"http-response-body-default-value-id",type:r.PrimitiveValue,version:1,value:{},name:g.JSON,parent:ky,valueAsType:null,autogeneration:null},constant:!1,parent:qy},Wy={type:r.GenericReference,id:"26911792-f707-4bf1-b6f7-03d04a84232c",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},va={id:Je.inputs.method,type:r.ValueDescriptor,description:"A single word that represents the type of request you want to make. For example: GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD, TRACE, CONNECT, CUSTOM",version:1,name:"Method",dataType:My,required:!1,index:0,parentRelationType:C.FixedArguments,parent:Wy},Hy={type:r.GenericReference,id:"eee0c501-0ae6-4448-b914-aada76d63163",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},ga={id:Je.inputs.url,type:r.ValueDescriptor,description:"The base domain, or address where the request is being sent to. For example: https://some-url.com",version:1,name:"URL",dataType:Sy,required:!1,index:1,parentRelationType:C.FixedArguments,parent:Hy},Yy={type:r.GenericReference,id:"670091a4-21b1-4223-ad4c-b6dada0aec49",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},Vo={id:Je.inputs.query,type:r.ValueDescriptor,description:"A text with standarized format, without spaces that is added at the end of the URL path, after the ? character. It contains data that might be used to process the request. For example: /api/users?name=John&age=30",version:1,name:"Query Params",dataType:Cy,required:!1,index:2,parentRelationType:C.FixedArguments,parent:Yy},zy={type:r.GenericReference,id:"85aad3eb-22fe-45f9-b68c-1dc7061f41e0",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},Ia={id:Je.inputs.headers,type:r.ValueDescriptor,description:"A set of any properties, with names and values that represent metadata about the request, such as the server, date, content type, and more, that you want to send alongside your request data.",version:1,name:"Headers",dataType:$y,required:!1,index:3,parent:zy,parentRelationType:C.FixedArguments},Zy={type:r.GenericReference,id:"c3e2a4af-9b84-4574-8b30-5044ffc51776",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},Pa={id:Je.inputs.body,type:r.ValueDescriptor,description:"The main data payload of the request. This is the data that you want to send to the server. It could be anything, but it is usually a JSON data structure or a text value.",version:1,name:"Body",dataType:Ly,required:!1,index:4,parentRelationType:C.FixedArguments,parent:Zy},Xy={type:r.GenericReference,id:"92e04dc7-2145-4a31-908e-03810f7235e8",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},Lo={id:Je.outputs.code,type:r.ValueDescriptor,description:'A standardized status code of the response. It is a 3-digit number that represents the response status. For example, 200 means "OK", 404 means "Not Found", and 500 means "Internal Server Error".',version:1,name:"Code",dataType:Fy,required:!0,index:0,parentRelationType:C.FixedReturns,parent:Xy},Qy={type:r.GenericReference,id:"86aca556-bbf1-4679-9909-31db61b288e2",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},Da={parentRelationType:C.FixedReturns,id:Je.outputs.headers,type:r.ValueDescriptor,description:"A set of any properties, with names and value that the server sent back to you. It represents metadata about the response, such as the server, date, content type, and more.",version:1,name:"Headers",dataType:jy,required:!0,index:1,parent:Qy},Ky={type:r.GenericReference,id:"ccf3d1be-04e4-4d03-99fd-5bc1e1919f90",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},hi={parentRelationType:C.FixedReturns,id:Je.outputs.body,type:r.ValueDescriptor,description:"The main data payload of the response. This is the data that the server sent back to you. It could be anything, but it is usually a JSON data structure or a text value.",version:1,name:"Body",dataType:Jy,required:!0,index:2,parent:Ky},eh={type:r.GenericReference,id:"21487ffc-82b9-473d-bc19-6e7d7c480ed7",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},th={type:r.GenericReference,id:"ad69861b-32f7-4461-b7f7-aa84a82578d9",entityType:r.ValueDescriptor,entityId:Je.outputs.error},nh={id:"5da68b15-57bc-40c1-b79f-a9075e0f22c1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,isList:!1,asType:!1,isNullable:!1,constant:!1,defaultValue:null,parent:th},Go={parentRelationType:C.ReturnedError,id:Je.outputs.error,type:r.ValueDescriptor,description:"Http request error, if any. Contains a payload describing what went wrong.",version:1,name:"Error",dataType:nh,required:!0,index:0,parent:eh},fi={type:r.ActionDescriptor,id:Ye.HttpRequest,name:Ye.HttpRequest,description:"Make an HTTP request, out to the internet, to a given URL with the specified method, query parameters, headers, and body.",version:1,fixedArguments:[va,ga,Vo,Ia,Pa],fixedReturns:[Lo,Da,hi],argumentsType:L.Fixed,returnsType:L.Fixed,error:Go,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},rh={[Ye.HttpRequest]:fi},eI={...fu,...tu,...gp,...Qp,...Iy,...rh},ih=Ve[r.Loop]["list-loop"],ah={id:"iterate-over-list-loop-return-declaration-parent-ref-id",type:r.GenericReference,entityId:je.List,entityType:r.ActionDescriptor},sh={id:ih.outputs.results,type:r.ValueDescriptor,version:1,name:"Results",description:"List of results from the loop. One item in the list for each iteration of the loop.",dataType:null,required:!0,index:0,parent:ah,parentRelationType:C.FixedReturns},oh={id:"iterate-over-list-loop-list-argument-declaration-data-type-parent-ref-id",type:r.GenericReference,entityId:"iterate-over-list-loop-list-argument-declaration-id",entityType:r.ArgumentDeclaration},lh={id:"iterate-over-list-loop-list-argument-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!0,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:oh},ch={id:"iterate-over-list-loop-list-argument-declaration-parent-ref-id",type:r.GenericReference,entityId:je.List,entityType:r.ActionDescriptor},dh={id:ih.inputs.list,type:r.ValueDescriptor,version:1,name:"List",description:"The list to iterate over",required:!0,dataType:lh,index:0,parent:ch,parentRelationType:C.FixedArguments},kn={id:je.List,type:r.ActionDescriptor,version:1,name:je.List,description:"Iterates over a list of entities",fixedArguments:[dh],fixedReturns:[sh],error:null,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},tI=Ve[r.Loop]["list-loop"],uh={id:"manual-flow-loop-previous-iterations-results-declaration-data-type-parent-ref-id",type:r.GenericReference,entityId:"manual-flow-loop-previous-iterations-results-declaration-id",entityType:r.ReturnDeclaration},ph={id:"manual-flow-loop-previous-iterations-results-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!0,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:uh},yh={id:"manual-flow-loop-previous-iterations-results-declaration-parent-ref-id",type:r.GenericReference,entityId:je.ManualFlow,entityType:r.ActionDescriptor},hh={id:tI.outputs.results,type:r.ValueDescriptor,version:1,name:"Results",description:"List of results from the loop. One item in the list for each iteration of the loop.",dataType:ph,required:!0,index:1,parentRelationType:C.FixedReturns,parent:yh},Fo={id:je.ManualFlow,type:r.ActionDescriptor,version:1,name:je.ManualFlow,description:"A loop that is manually controlled by the continue and break statements. It runs until the break statement is called, and it can skip to the next iteration with the continue statement.",fixedArguments:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,fixedReturns:[hh],argumentsType:L.None,returnsType:L.Fixed,error:null,parent:null},Aa=Ve[r.BuiltInBaseEntity][_.KEY_VALUE_PARAM],nI={id:"key-value-param-built-in-base-entity-name-property-data-type-ref",type:r.GenericReference,entityId:"key-value-param-built-in-base-entity-name-property-data-type",entityType:r.DataType},fh={id:"key-value-param-built-in-base-entity-name-property-ref",type:r.GenericReference,entityId:"key-value-param-built-in-base-entity-name-property",entityType:r.Property},rI={id:"key-value-param-built-in-base-entity-name-property-data-type",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:F,asType:!1,defaultValue:null,parent:fh},mh={id:"key-value-param-built-in-base-entity-name-property-parent-ref",type:r.GenericReference,entityId:Aa.id,entityType:r.BuiltInBaseEntity},Th={required:!0,id:"key-value-param-built-in-base-entity-name-property",name:"Parameter name",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:rI,description:"The name of the path parameter",parent:mh},iI={id:"key-value-param-built-in-base-entity-value-property-data-type-ref",type:r.GenericReference,entityId:"key-value-param-built-in-base-entity-value-property-data-type",entityType:r.DataType},Eh={id:"key-value-param-built-in-base-entity-value-property-ref",type:r.GenericReference,entityId:"key-value-param-built-in-base-entity-value-property",entityType:r.Property},aI={id:"key-value-param-built-in-base-entity-value-property-data-type",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:F,asType:!1,defaultValue:null,parent:Eh},Rh={id:"key-value-param-built-in-base-entity-value-property-parent-ref",type:r.GenericReference,entityId:Aa.id,entityType:r.BuiltInBaseEntity},bh={required:!0,id:"key-value-param-built-in-base-entity-value-property",name:"Parameter Value",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:1,dataType:aI,description:"The value of the path parameter",parent:Rh},Sa={id:Aa.id,version:1,description:'An entity with a "name" and "value" property representing a breakdown of a key-value pair.',name:Aa.id,type:r.BuiltInBaseEntity,abstract:!1,static:!1,interactive:!0,properties:[Th,bh],abstractMethods:[],methods:[],extends:[]},mi=Ve[r.BuiltInBaseEntity][_.HTTP_ENDPOINT].properties,vh={id:"endpointBuiltInCorsPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointBuiltInCorsPropertyDataType"},gh={id:"endpointBuiltInCorsPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:mi.cors},Ih={id:"endpointBuiltInCorsPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"endpointBuiltInCorsPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:["*"],parent:vh,autogeneration:null,valueAsType:null},parent:gh},Ph={id:"endpointBuiltInBaseEntityRef",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},Dh={required:!0,id:mi.cors,name:"Allowed origins",version:1,type:r.Property,private:!1,abstract:!0,implements:null,static:!0,index:0,dataType:Ih,description:"The origins that are allowed to access this endpoint, use * for all origins, or http://example.com/* to be as specific as you need.",parent:Ph},Ah={id:"endpointBuiltInPathPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointBuiltInPathPropertyDataType"},Sh={id:"endpointBuiltInPathPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:mi.path},Oh={id:"endpointBuiltInPathPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"endpointBuiltInPathPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.String,value:"/",parent:Ah,autogeneration:null,valueAsType:null},parent:Sh},Ch={id:"endpointBuiltInBaseEntityRefTwo",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},Uo={required:!0,id:mi.path,name:"Path",version:1,type:r.Property,private:!1,abstract:!0,implements:null,static:!0,index:1,dataType:Oh,description:"Path to the endpoint, for example /api/users, or /api/users/{id}, or /api/users/{id}/:name. The path can contain parameters, which are defined by curly braces, and will be passed to the endpoint event as variables with the same name.",parent:Ch},Bh={id:"endpointBuiltInMethodPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointBuiltInMethodPropertyDataType"},wh={id:"endpointBuiltInMethodPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:"endpointBuiltInMethodProperty"},_h={id:"endpointBuiltInMethodPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Rn,isList:!0,isNullable:!1,constant:!0,asType:!1,defaultValue:{id:"endpointBuiltInMethodPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,value:"GET",name:g.Enum,parent:Bh,autogeneration:null,valueAsType:null},options:["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","TRACE","CONNECT","CUSTOM"],parent:wh},Mh={id:"endpointBuiltInBaseEntityRefThree",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},xo={required:!0,id:mi.method,name:"Method",version:1,type:r.Property,private:!1,index:2,implements:null,abstract:!0,static:!0,dataType:_h,description:"The HTTP method that this endpoint will respond to, for example GET, POST, PUT, DELETE, etc.",parent:Mh},Nh={id:"endpointRequestHeadersVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointRequestHeadersVariableDataType"},$h={id:"endpointRequestHeadersArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"endpointRequestHeadersArgumentDeclaration"},Vh={id:"endpointRequestHeadersVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Xe,asType:!1,defaultValue:{id:"endpointRequestHeadersVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:Nh,autogeneration:null,valueAsType:null},parent:$h},Lh={id:"endpointRequestBodyArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"endpointRequestBodyArgumentDeclaration"},Gh={id:"endpointRequestBodyVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:Xe,defaultValue:null,parent:Lh},Fh={id:"endpointRequestQueryParamsVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointRequestQueryParamsVariableDataType"},Uh={id:"endpointRequestQueryParamsArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"endpointRequestQueryParamsArgumentDeclaration"},xh={id:"endpointRequestQueryParamsVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,asType:!1,entity:Sa,defaultValue:{id:"endpointRequestQueryParamsVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:[],parent:Fh,autogeneration:null,valueAsType:null},parent:Uh},jh={id:"endpointPathParamsVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointPathParamsVariableDataType"},kh={id:"endpointPathParamsArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"endpointPathParamsArgumentDeclaration"},qh={id:"endpointPathParamsVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Sa,asType:!1,defaultValue:{id:"endpointPathParamsVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:[],parent:jh,autogeneration:null,valueAsType:null},parent:kh},Jh={id:"endpointReachedTriggerActionDescriptorRef",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},Wh={id:"endpointRequestHeadersArgumentDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the request.",type:r.ValueDescriptor,name:"Request headers",dataType:Vh,required:!0,index:0,parentRelationType:C.FixedArguments,parent:Jh},Hh={id:"endpointReachedTriggerActionDescriptorRefTwo",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},Yh={id:"endpointPathParamsArgumentDeclaration",type:r.ValueDescriptor,description:"A standarized text, without spaces that is added at the end of the domain and routes the request to a specific resource within the target server. For example: /api/users/123, /api/users/123/:name, /api/users/123/:name/:age.",version:1,name:"Path parameters",dataType:qh,required:!0,index:1,parentRelationType:C.FixedArguments,parent:Hh},zh={id:"endpointReachedTriggerActionDescriptorRefThree",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},Zh={id:"endpointRequestQueryParamsArgumentDeclaration",version:1,description:"A text with standarized format, without spaces that is added at the end of the URL path, after the ? character. It contains data that might be used to process the request. For example: /api/users?name=John&age=30",type:r.ValueDescriptor,name:"Request query params",dataType:xh,required:!0,index:2,parentRelationType:C.FixedArguments,parent:zh},Xh={id:"endpointReachedTriggerActionDescriptorRefFour",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},Qh={id:"endpointRequestBodyArgumentDeclaration",version:1,description:"The main data payload of the request.",type:r.ValueDescriptor,name:"Request body",dataType:Gh,index:3,required:!0,parentRelationType:C.FixedArguments,parent:Xh},Kh={id:"endpointResponseCodeReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"endpointResponseCodeReturnDeclaration"},ef={id:"9ba575b0-6f8e-436d-a3de-3b843622aa17",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Kh},tf={id:"endpointReturnStatementRef",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReturnStatement"},nf={id:"endpointResponseCodeReturnDeclaration",version:1,description:"A standarized number that represents the status of the response. 200 for OK, 404 for not found, 500 for server error, etc.",type:r.ValueDescriptor,name:"Response code",dataType:ef,required:!0,index:0,parentRelationType:C.FixedReturns,parent:tf},rf={id:"endpointResponseHeadersDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointResponseHeadersDataType"},af={id:"endpointResponseHeadersReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"endpointResponseHeadersReturnDeclaration"},sf={id:"endpointResponseHeadersDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Xe,asType:!1,defaultValue:{id:"endpointResponseHeadersDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:rf,autogeneration:null,valueAsType:null},parent:af},of={id:"endpointReturnStatementRefTwo",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReturnStatement"},lf={id:"endpointResponseHeadersReturnDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the response.",type:r.ValueDescriptor,name:"Response headers",dataType:sf,required:!1,index:1,parentRelationType:C.FixedReturns,parent:of},cf={id:"endpointResponseBodyReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"endpointResponseBodyReturnDeclaration"},df={id:"endpointResponseBodyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:Xe,defaultValue:null,parent:cf},uf={id:"endpointReturnStatementRefThree",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReturnStatement"},pf={id:"endpointResponseBodyReturnDeclaration",version:1,description:"The main data payload of the response.",type:r.ValueDescriptor,name:"Response body",dataType:df,required:!1,index:2,parentRelationType:C.FixedReturns,parent:uf},yf={id:"endpointBuiltInBaseEntityRefFour",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},jo={id:"endpointReachedTriggerActionDescriptor",type:r.ActionDescriptor,version:1,name:"Endpoint reached",description:"Fired when the endpoint is reached.",argumentsType:L.Fixed,dynamicArgumentTypes:null,fixedArguments:[Wh,Yh,Zh,Qh],returnsType:L.Fixed,fixedReturns:[nf,lf,pf],error:null,dynamicReturnTypes:null,parent:yf},Oa={id:_.HTTP_ENDPOINT,version:1,description:"An HTTP endpoint that can be reached by a client from the internet.",name:_.HTTP_ENDPOINT,type:r.BuiltInBaseEntity,interactive:!1,abstract:!0,static:!0,properties:[Dh,Uo,xo],abstractMethods:[jo],extends:[],methods:[]},jt=Ve[r.BuiltInBaseEntity].BUILT_IN_RELATIONAL_DATABASE_ENTITY,hf={id:"relational-database-built-in-base-entity-identifier-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-identifier-property-data-type-id",entityType:r.DataType},ff={id:"relational-database-built-in-base-entity-identifier-property-ref-id",type:r.GenericReference,entityId:jt.properties.identifier,entityType:r.Property},sI={id:"relational-database-built-in-base-entity-identifier-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-identifier-property-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:null,parent:hf,autogeneration:{type:xe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:ff},Br={id:"relational-database-built-in-base-entity-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},Ca={required:!0,id:jt.properties.identifier,name:"Identifier name",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:0,dataType:sI,description:"The name of the main database inside of the server instance where the data will be stored.",parent:Br},oI={id:"relational-database-built-in-base-entity-username-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-username-property-data-type-idd",entityType:r.DataType},mf={id:"relational-database-built-in-base-entity-username-property-ref-id",type:r.GenericReference,entityId:jt.properties.username,entityType:r.Property},lI={id:"relational-database-built-in-base-entity-username-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-username-property-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:"postgres",parent:{id:"relational-database-built-in-base-entity-username-property-data-type-default-value-parent-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-username-property-data-type-id",entityType:r.DataType},autogeneration:null,valueAsType:null},parent:mf},Ba={required:!0,id:jt.properties.username,name:"Username",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:1,dataType:lI,description:"The username that will be used to connect to the database.",parent:Br},cI={id:"relational-database-built-in-base-entity-password-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-password-property-data-type-id",entityType:r.DataType},Tf={id:"relational-database-built-in-base-entity-password-property-ref-id",type:r.GenericReference,entityId:jt.properties.password,entityType:r.Property},dI={id:"relational-database-built-in-base-entity-password-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:Tf},wa={required:!0,id:jt.properties.password,name:"Password",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:2,dataType:dI,description:"The password that will be used to connect to the database.",parent:Br},Ef={id:"relational-database-built-in-base-entity-min-size-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-min-size-property-data-type-id",entityType:r.DataType},Rf={id:"relational-database-built-in-base-entity-min-size-property-ref-id",type:r.GenericReference,entityId:jt.properties.minSize,entityType:r.Property},uI={id:"relational-database-built-in-base-entity-min-size-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Ce,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-min-size-property-default-value-id",type:r.PrimitiveValue,version:1,name:g.Number,value:6,parent:Ef,autogeneration:null,valueAsType:null},parent:Rf},_a={required:!0,id:jt.properties.minSize,name:"Minimum GB size",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:3,dataType:uI,description:"The minimum size of the database in GB.",parent:Br},bf={id:"relational-database-built-in-base-entity-default-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-default-property-data-type-id",entityType:r.DataType},vf={id:"relational-database-built-in-base-entity-default-property-ref-id",type:r.GenericReference,entityId:jt.properties.default,entityType:r.Property},pI={id:"relational-database-built-in-base-entity-default-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Un,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-default-property-default-value-id",type:r.PrimitiveValue,version:1,name:g.Boolean,value:!1,parent:bf,autogeneration:null,valueAsType:null},parent:vf},gf={required:!0,id:jt.properties.default,name:"Default",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:4,dataType:pI,description:"If true, this database will be the default database for the server instance and all the new entities.",parent:Br},bn={id:_.RELATIONAL_DATABASE,version:1,description:"This entity provisions a relational database in the cloud.",name:_.RELATIONAL_DATABASE,type:r.BuiltInBaseEntity,abstract:!0,static:!0,interactive:!1,properties:[Ca,Ba,wa,_a,gf],abstractMethods:[],methods:[],extends:[]},If={type:r.GenericReference,entityId:"persisted-built-in-base-entity-ref-id",entityType:r.BuiltInBaseEntity,id:gt.DeletePersistedEntity},ko={type:r.FunctionDeclaration,id:gt.DeletePersistedEntity,name:gt.DeletePersistedEntity,description:"Permanently deletes the current copy of an entity from the database",version:1,parent:If,inputs:[],calls:[],implements:null,collapsed:!1,returnStatements:[],index:0,private:!1,x:0,y:0},Pf={type:r.GenericReference,entityId:"persisted-built-in-base-entity-ref-id",entityType:r.BuiltInBaseEntity,id:gt.SoftDeletePersistedEntity},Df={type:r.FunctionDeclaration,id:gt.SoftDeletePersistedEntity,name:gt.SoftDeletePersistedEntity,description:"Designates the entity as deleted, but does not remove it from the database.",version:1,parent:Pf,inputs:[],calls:[],implements:null,collapsed:!1,returnStatements:[],index:0,private:!1,x:0,y:0},Af=Ve[r.BuiltInBaseEntity][_.PERSISTED_ENTITY].properties,yI={id:"persisted-built-in-base-entity-database-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-database-property-data-type-id",entityType:r.DataType},Sf={id:"persisted-built-in-base-entity-database-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-database-property-id",entityType:r.Property},hI={id:"persisted-built-in-base-entity-database-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:bn,asType:!1,defaultValue:null,parent:Sf},Of={id:"persisted-built-in-base-entity-database-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},Ti={required:!0,id:Af.database,name:"Database",version:1,type:r.Property,private:!1,abstract:!0,implements:null,static:!0,index:0,dataType:hI,description:"The database that the entity belongs to.",parent:Of},Cf={id:"persisted-built-in-base-entity-identifier-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-identifier-property-data-type-id",entityType:r.DataType},Bf={id:"persisted-built-in-base-entity-identifier-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-identifier-property-id",entityType:r.Property},fI={id:"persisted-built-in-base-entity-identifier-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:ma,asType:!1,defaultValue:{id:"persisted-built-in-base-entity-identifier-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.UUID,value:null,parent:Cf,autogeneration:{type:xe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:Bf},wf={id:"persisted-built-in-base-entity-identifier-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},_f={required:!0,id:Af.identifier,name:"Identifier",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:fI,description:"Auto-generated unique identifier for the entity, can be used to identify the entity among other entities of the same type.",parent:wf},mI={id:"persisted-built-in-base-entity-deleted-at-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-deleted-at-property-data-type-id",entityType:r.DataType},Mf={id:"persisted-built-in-base-entity-deleted-at-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-deleted-at-property-id",entityType:r.Property},Nf={id:"persisted-built-in-base-entity-deleted-at-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!0,constant:!1,entity:null,asType:!1,defaultValue:null,parent:Mf},$f={id:"persisted-built-in-base-entity-deleted-at-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},Vf={required:!0,id:"persisted-built-in-base-entity-deleted-at-property-id",name:"Deleted at",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:Nf,description:"The date and time when the entity was deleted.",parent:$f},TI={id:"persisted-built-in-base-entity-created-at-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-created-at-property-data-type-id",entityType:r.DataType},Lf={id:"persisted-built-in-base-entity-created-at-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-created-at-property-id",entityType:r.Property},Gf={id:"persisted-built-in-base-entity-created-at-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:Lf},Ff={id:"persisted-built-in-base-entity-created-at-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},Uf={required:!0,id:"persisted-built-in-base-entity-created-at-property-id",name:"Created at",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:Gf,description:"The date and time when the entity was created.",parent:Ff},EI={id:"persisted-built-in-base-entity-updated-at-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-updated-at-property-data-type-id",entityType:r.DataType},xf={id:"persisted-built-in-base-entity-updated-at-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-updated-at-property-id",entityType:r.Property},jf={id:"persisted-built-in-base-entity-updated-at-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:xf},kf={id:"persisted-built-in-base-entity-updated-at-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},qf={required:!0,id:"persisted-built-in-base-entity-updated-at-property-id",name:"Updated at",version:1,type:r.Property,private:!1,implements:null,abstract:!1,static:!1,index:0,dataType:jf,description:"The date and time when the entity was last updated.",parent:kf},Be={id:_.PERSISTED_ENTITY,version:1,description:"An entity that is permanently stored in the database and can be accessed at any point.",name:_.PERSISTED_ENTITY,type:r.BuiltInBaseEntity,abstract:!0,static:!1,interactive:!0,abstractMethods:[],properties:[Ti,_f,Vf,Uf,qf],methods:[ko,Df],extends:[]},Jf={id:"cron-job-triggered-function-declaration-blueprint-parent-ref-id",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},qo={id:"cron-job-triggered-function-declaration-blueprint-id",name:"Cron job triggered",version:1,type:r.ActionDescriptor,argumentsType:L.None,returnsType:L.None,description:"Executed when the cron job is triggered",fixedArguments:[],dynamicArgumentTypes:null,error:null,fixedReturns:[],dynamicReturnTypes:null,parent:Jf},Wf=Ve[r.BuiltInBaseEntity].BUILT_IN_CRON_JOB_ENTITY,RI={id:"cron-job-built-in-base-entity-expression-property-data-type-ref",type:r.GenericReference,entityId:"cron-job-built-in-base-entity-expression-property-data-type",entityType:r.DataType},Hf={id:"cron-job-built-in-base-entity-expression-property-ref",type:r.GenericReference,entityId:Wf.properties.expression,entityType:r.Property},bI={id:"cron-job-built-in-base-entity-expression-property-data-type",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:Hf},Yf={id:"cron-job-built-in-base-entity-ref",type:r.GenericReference,entityId:_.CRON_JOB,entityType:r.BuiltInBaseEntity},zf={required:!0,id:Wf.properties.expression,name:"Cron expression",version:1,type:r.Property,private:!1,abstract:!0,implements:null,static:!0,index:0,dataType:bI,description:"The cron-job expression that defines when the cron-job job should be triggered. The expression should be in the format of a cron-job expression.",parent:Yf},Jo={id:_.CRON_JOB,version:1,description:"This entity represents a scheduled trigger. The action on this entity will be executed one the time set by the cron-job expression is reached.",name:_.CRON_JOB,type:r.BuiltInBaseEntity,abstract:!0,static:!0,interactive:!1,properties:[zf],methods:[],abstractMethods:[qo],extends:[]},Zf={type:r.GenericReference,id:"execution-built-in-entity-abort-method-parent-ref-id",entityType:r.BuiltInBaseEntity,entityId:"execution-built-in-entity-id"},Wo={id:"execution-built-in-entity-abort-method-id",type:r.FunctionDeclaration,version:1,name:gt.AbortExecution,description:"Aborts the execution of the entity",inputs:[],returnStatements:[],calls:[],implements:null,private:!1,collapsed:!1,index:null,x:0,y:0,parent:Zf},Ho={id:_.EXECUTION,type:r.BuiltInBaseEntity,version:1,name:_.EXECUTION,description:"A reference to an ongoing execution of any entity that can be called. Eg: Operations, custom trigger calls, etc.",static:!1,abstract:!1,interactive:!0,extends:[],properties:[],methods:[Wo],abstractMethods:[]},vI=Ve[r.Condition]["not-empty"],Xf={type:r.GenericReference,id:"not-empty-condition-ref",entityType:r.ActionDescriptor,entityId:Ct.NotEmpty},Qf={id:vI.inputs.leftHand,type:r.ValueDescriptor,version:1,name:"Value",description:"The value to check if it is not empty",dataType:null,required:!0,parentRelationType:C.FixedArguments,index:0,parent:Xf},qn={type:r.ActionDescriptor,id:Ct.NotEmpty,version:1,name:Ct.NotEmpty,description:"Checks if the value is not empty",parent:null,fixedArguments:[Qf],fixedReturns:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:L.Fixed,returnsType:L.None,error:null},Kf={[Ct.NotEmpty]:qn},em=Ve[r.Condition]["more-than-or-equal"],tm={type:r.GenericReference,id:"more-than-or-equal-condition-left-hand-argument-parent-ref",entityType:r.ActionDescriptor,entityId:Ae.MoreThanOrEqual},nm={id:em.inputs.leftHand,type:r.ValueDescriptor,version:1,name:"First value",description:"The first value to compare",dataType:null,required:!0,parentRelationType:C.FixedArguments,index:0,parent:tm},rm={type:r.GenericReference,id:"more-than-or-equal-condition-right-hand-argument-parent-ref",entityType:r.ActionDescriptor,entityId:Ae.MoreThanOrEqual},im={id:em.inputs.rightHand,type:r.ValueDescriptor,version:1,name:"Second value",description:"The second value to compare",dataType:null,required:!0,parentRelationType:C.FixedArguments,index:1,parent:rm},wr={type:r.ActionDescriptor,id:Ae.MoreThanOrEqual,version:1,name:Ae.MoreThanOrEqual,description:"Checks if the value is not empty",parent:null,fixedArguments:[nm,im],fixedReturns:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:L.Fixed,returnsType:L.None,error:null},am={[Ae.MoreThanOrEqual]:wr},gI={...Kf,...am},Ma={type:r.ActionDescriptor,id:Kt.PROJECT_PUBLICATION_COMPLETED,version:1,name:Kt.PROJECT_PUBLICATION_COMPLETED,description:"The event that is triggered when the project has completed its publication and all its code and resurces are now deployed and ready to be used by the users",parent:null,fixedArguments:[],fixedReturns:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:L.None,returnsType:L.None,error:null},II={[Kt.PROJECT_PUBLICATION_COMPLETED]:Ma},Yo=Ve[r.ValueDescriptor][$o.ActionOngoingProcessOutputValue],sm={type:r.GenericReference,id:"182f767f-50e8-4394-ba5f-43e78c232733",entityType:r.ValueDescriptor,entityId:Yo.id},om={id:Yo.dataType.id,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ho,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:sm},zo={id:Yo.id,type:r.ValueDescriptor,description:"A value that represents the ongoing process of the parent action",version:1,name:"Process",dataType:om,required:!0,index:0,parent:null,parentRelationType:C.OngoingProcessExecution};var Y;(function(n){n.assertEqual=a=>a;function e(a){}n.assertIs=e;function t(a){throw new Error}n.assertNever=t,n.arrayToEnum=a=>{const s={};for(const o of a)s[o]=o;return s},n.getValidEnumValues=a=>{const s=n.objectKeys(a).filter(u=>typeof a[a[u]]!="number"),o={};for(const u of s)o[u]=a[u];return n.objectValues(o)},n.objectValues=a=>n.objectKeys(a).map(function(s){return a[s]}),n.objectKeys=typeof Object.keys=="function"?a=>Object.keys(a):a=>{const s=[];for(const o in a)Object.prototype.hasOwnProperty.call(a,o)&&s.push(o);return s},n.find=(a,s)=>{for(const o of a)if(s(o))return o},n.isInteger=typeof Number.isInteger=="function"?a=>Number.isInteger(a):a=>typeof a=="number"&&isFinite(a)&&Math.floor(a)===a;function i(a,s=" | "){return a.map(o=>typeof o=="string"?`'${o}'`:o).join(s)}n.joinValues=i,n.jsonStringifyReplacer=(a,s)=>typeof s=="bigint"?s.toString():s})(Y||(Y={}));var Zo;(function(n){n.mergeShapes=(e,t)=>({...e,...t})})(Zo||(Zo={}));const M=Y.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),vn=n=>{switch(typeof n){case"undefined":return M.undefined;case"string":return M.string;case"number":return isNaN(n)?M.nan:M.number;case"boolean":return M.boolean;case"function":return M.function;case"bigint":return M.bigint;case"symbol":return M.symbol;case"object":return Array.isArray(n)?M.array:n===null?M.null:n.then&&typeof n.then=="function"&&n.catch&&typeof n.catch=="function"?M.promise:typeof Map<"u"&&n instanceof Map?M.map:typeof Set<"u"&&n instanceof Set?M.set:typeof Date<"u"&&n instanceof Date?M.date:M.object;default:return M.unknown}},P=Y.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),PI=n=>JSON.stringify(n,null,2).replace(/"([^"]+)":/g,"$1:");class ft extends Error{constructor(e){super(),this.issues=[],this.addIssue=i=>{this.issues=[...this.issues,i]},this.addIssues=(i=[])=>{this.issues=[...this.issues,...i]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(s){return s.message},i={_errors:[]},a=s=>{for(const o of s.issues)if(o.code==="invalid_union")o.unionErrors.map(a);else if(o.code==="invalid_return_type")a(o.returnTypeError);else if(o.code==="invalid_arguments")a(o.argumentsError);else if(o.path.length===0)i._errors.push(t(o));else{let u=i,p=0;for(;p<o.path.length;){const h=o.path[p];p===o.path.length-1?(u[h]=u[h]||{_errors:[]},u[h]._errors.push(t(o))):u[h]=u[h]||{_errors:[]},u=u[h],p++}}};return a(this),i}static assert(e){if(!(e instanceof ft))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Y.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},i=[];for(const a of this.issues)a.path.length>0?(t[a.path[0]]=t[a.path[0]]||[],t[a.path[0]].push(e(a))):i.push(e(a));return{formErrors:i,fieldErrors:t}}get formErrors(){return this.flatten()}}ft.create=n=>new ft(n);const _r=(n,e)=>{let t;switch(n.code){case P.invalid_type:n.received===M.undefined?t="Required":t=`Expected ${n.expected}, received ${n.received}`;break;case P.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(n.expected,Y.jsonStringifyReplacer)}`;break;case P.unrecognized_keys:t=`Unrecognized key(s) in object: ${Y.joinValues(n.keys,", ")}`;break;case P.invalid_union:t="Invalid input";break;case P.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${Y.joinValues(n.options)}`;break;case P.invalid_enum_value:t=`Invalid enum value. Expected ${Y.joinValues(n.options)}, received '${n.received}'`;break;case P.invalid_arguments:t="Invalid function arguments";break;case P.invalid_return_type:t="Invalid function return type";break;case P.invalid_date:t="Invalid date";break;case P.invalid_string:typeof n.validation=="object"?"includes"in n.validation?(t=`Invalid input: must include "${n.validation.includes}"`,typeof n.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${n.validation.position}`)):"startsWith"in n.validation?t=`Invalid input: must start with "${n.validation.startsWith}"`:"endsWith"in n.validation?t=`Invalid input: must end with "${n.validation.endsWith}"`:Y.assertNever(n.validation):n.validation!=="regex"?t=`Invalid ${n.validation}`:t="Invalid";break;case P.too_small:n.type==="array"?t=`Array must contain ${n.exact?"exactly":n.inclusive?"at least":"more than"} ${n.minimum} element(s)`:n.type==="string"?t=`String must contain ${n.exact?"exactly":n.inclusive?"at least":"over"} ${n.minimum} character(s)`:n.type==="number"?t=`Number must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${n.minimum}`:n.type==="date"?t=`Date must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(n.minimum))}`:t="Invalid input";break;case P.too_big:n.type==="array"?t=`Array must contain ${n.exact?"exactly":n.inclusive?"at most":"less than"} ${n.maximum} element(s)`:n.type==="string"?t=`String must contain ${n.exact?"exactly":n.inclusive?"at most":"under"} ${n.maximum} character(s)`:n.type==="number"?t=`Number must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`:n.type==="bigint"?t=`BigInt must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`:n.type==="date"?t=`Date must be ${n.exact?"exactly":n.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(n.maximum))}`:t="Invalid input";break;case P.custom:t="Invalid input";break;case P.invalid_intersection_types:t="Intersection results could not be merged";break;case P.not_multiple_of:t=`Number must be a multiple of ${n.multipleOf}`;break;case P.not_finite:t="Number must be finite";break;default:t=e.defaultError,Y.assertNever(n)}return{message:t}};let lm=_r;function DI(n){lm=n}function Na(){return lm}const $a=n=>{const{data:e,path:t,errorMaps:i,issueData:a}=n,s=[...t,...a.path||[]],o={...a,path:s};if(a.message!==void 0)return{...a,path:s,message:a.message};let u="";const p=i.filter(h=>!!h).slice().reverse();for(const h of p)u=h(o,{data:e,defaultError:u}).message;return{...a,path:s,message:u}},AI=[];function w(n,e){const t=Na(),i=$a({issueData:e,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,t,t===_r?void 0:_r].filter(a=>!!a)});n.common.issues.push(i)}class Qe{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const i=[];for(const a of t){if(a.status==="aborted")return x;a.status==="dirty"&&e.dirty(),i.push(a.value)}return{status:e.value,value:i}}static async mergeObjectAsync(e,t){const i=[];for(const a of t){const s=await a.key,o=await a.value;i.push({key:s,value:o})}return Qe.mergeObjectSync(e,i)}static mergeObjectSync(e,t){const i={};for(const a of t){const{key:s,value:o}=a;if(s.status==="aborted"||o.status==="aborted")return x;s.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof o.value<"u"||a.alwaysSet)&&(i[s.value]=o.value)}return{status:e.value,value:i}}}const x=Object.freeze({status:"aborted"}),Mr=n=>({status:"dirty",value:n}),lt=n=>({status:"valid",value:n}),Xo=n=>n.status==="aborted",Qo=n=>n.status==="dirty",Ei=n=>n.status==="valid",Ri=n=>typeof Promise<"u"&&n instanceof Promise;function Va(n,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!i:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(n):i?i.value:e.get(n)}function cm(n,e,t,i,a){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!a:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?a.call(n,t):a?a.value=t:e.set(n,t),t}typeof SuppressedError=="function"&&SuppressedError;var V;(function(n){n.errToObj=e=>typeof e=="string"?{message:e}:e||{},n.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(V||(V={}));var bi,vi;class kt{constructor(e,t,i,a){this._cachedPath=[],this.parent=e,this.data=t,this._path=i,this._key=a}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const dm=(n,e)=>{if(Ei(e))return{success:!0,data:e.value};if(!n.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new ft(n.common.issues);return this._error=t,this._error}}};function q(n){if(!n)return{};const{errorMap:e,invalid_type_error:t,required_error:i,description:a}=n;if(e&&(t||i))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:a}:{errorMap:(o,u)=>{var p,h;const{message:m}=n;return o.code==="invalid_enum_value"?{message:m??u.defaultError}:typeof u.data>"u"?{message:(p=m??i)!==null&&p!==void 0?p:u.defaultError}:o.code!=="invalid_type"?{message:u.defaultError}:{message:(h=m??t)!==null&&h!==void 0?h:u.defaultError}},description:a}}class H{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return vn(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:vn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Qe,ctx:{common:e.parent.common,data:e.data,parsedType:vn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(Ri(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const i=this.safeParse(e,t);if(i.success)return i.data;throw i.error}safeParse(e,t){var i;const a={common:{issues:[],async:(i=t==null?void 0:t.async)!==null&&i!==void 0?i:!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:vn(e)},s=this._parseSync({data:e,path:a.path,parent:a});return dm(a,s)}async parseAsync(e,t){const i=await this.safeParseAsync(e,t);if(i.success)return i.data;throw i.error}async safeParseAsync(e,t){const i={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:vn(e)},a=this._parse({data:e,path:i.path,parent:i}),s=await(Ri(a)?a:Promise.resolve(a));return dm(i,s)}refine(e,t){const i=a=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(a):t;return this._refinement((a,s)=>{const o=e(a),u=()=>s.addIssue({code:P.custom,...i(a)});return typeof Promise<"u"&&o instanceof Promise?o.then(p=>p?!0:(u(),!1)):o?!0:(u(),!1)})}refinement(e,t){return this._refinement((i,a)=>e(i)?!0:(a.addIssue(typeof t=="function"?t(i,a):t),!1))}_refinement(e){return new Gt({schema:this,typeName:U.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return Jt.create(this,this._def)}nullable(){return Dn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Lt.create(this,this._def)}promise(){return Lr.create(this,this._def)}or(e){return Di.create([this,e],this._def)}and(e){return Ai.create(this,e,this._def)}transform(e){return new Gt({...q(this._def),schema:this,typeName:U.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new wi({...q(this._def),innerType:this,defaultValue:t,typeName:U.ZodDefault})}brand(){return new tl({typeName:U.ZodBranded,type:this,...q(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new _i({...q(this._def),innerType:this,catchValue:t,typeName:U.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Mi.create(this,e)}readonly(){return Ni.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const SI=/^c[^\s-]{8,}$/i,OI=/^[0-9a-z]+$/,CI=/^[0-9A-HJKMNP-TV-Z]{26}$/,BI=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,wI=/^[a-z0-9_-]{21}$/i,_I=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,MI=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,NI="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Ko;const $I=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,VI=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,LI=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,um="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",GI=new RegExp(`^${um}$`);function pm(n){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return n.precision?e=`${e}\\.\\d{${n.precision}}`:n.precision==null&&(e=`${e}(\\.\\d+)?`),e}function FI(n){return new RegExp(`^${pm(n)}$`)}function ym(n){let e=`${um}T${pm(n)}`;const t=[];return t.push(n.local?"Z?":"Z"),n.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function UI(n,e){return!!((e==="v4"||!e)&&$I.test(n)||(e==="v6"||!e)&&VI.test(n))}class Vt extends H{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==M.string){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_type,expected:M.string,received:s.parsedType}),x}const i=new Qe;let a;for(const s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(a=this._getOrReturnCtx(e,a),w(a,{code:P.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),i.dirty());else if(s.kind==="max")e.data.length>s.value&&(a=this._getOrReturnCtx(e,a),w(a,{code:P.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),i.dirty());else if(s.kind==="length"){const o=e.data.length>s.value,u=e.data.length<s.value;(o||u)&&(a=this._getOrReturnCtx(e,a),o?w(a,{code:P.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):u&&w(a,{code:P.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),i.dirty())}else if(s.kind==="email")MI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"email",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="emoji")Ko||(Ko=new RegExp(NI,"u")),Ko.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"emoji",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="uuid")BI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"uuid",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="nanoid")wI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"nanoid",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="cuid")SI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"cuid",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="cuid2")OI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"cuid2",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="ulid")CI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"ulid",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{a=this._getOrReturnCtx(e,a),w(a,{validation:"url",code:P.invalid_string,message:s.message}),i.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"regex",code:P.invalid_string,message:s.message}),i.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),i.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:{startsWith:s.value},message:s.message}),i.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:{endsWith:s.value},message:s.message}),i.dirty()):s.kind==="datetime"?ym(s).test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:"datetime",message:s.message}),i.dirty()):s.kind==="date"?GI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:"date",message:s.message}),i.dirty()):s.kind==="time"?FI(s).test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:"time",message:s.message}),i.dirty()):s.kind==="duration"?_I.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"duration",code:P.invalid_string,message:s.message}),i.dirty()):s.kind==="ip"?UI(e.data,s.version)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"ip",code:P.invalid_string,message:s.message}),i.dirty()):s.kind==="base64"?LI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"base64",code:P.invalid_string,message:s.message}),i.dirty()):Y.assertNever(s);return{status:i.value,value:e.data}}_regex(e,t,i){return this.refinement(a=>e.test(a),{validation:t,code:P.invalid_string,...V.errToObj(i)})}_addCheck(e){return new Vt({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...V.errToObj(e)})}url(e){return this._addCheck({kind:"url",...V.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...V.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...V.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...V.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...V.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...V.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...V.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...V.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...V.errToObj(e)})}datetime(e){var t,i;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(t=e==null?void 0:e.offset)!==null&&t!==void 0?t:!1,local:(i=e==null?void 0:e.local)!==null&&i!==void 0?i:!1,...V.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...V.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...V.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...V.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...V.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...V.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...V.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...V.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...V.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...V.errToObj(t)})}nonempty(e){return this.min(1,V.errToObj(e))}trim(){return new Vt({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Vt({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Vt({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get minLength(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}Vt.create=n=>{var e;return new Vt({checks:[],typeName:U.ZodString,coerce:(e=n==null?void 0:n.coerce)!==null&&e!==void 0?e:!1,...q(n)})};function xI(n,e){const t=(n.toString().split(".")[1]||"").length,i=(e.toString().split(".")[1]||"").length,a=t>i?t:i,s=parseInt(n.toFixed(a).replace(".","")),o=parseInt(e.toFixed(a).replace(".",""));return s%o/Math.pow(10,a)}class gn extends H{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==M.number){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_type,expected:M.number,received:s.parsedType}),x}let i;const a=new Qe;for(const s of this._def.checks)s.kind==="int"?Y.isInteger(e.data)||(i=this._getOrReturnCtx(e,i),w(i,{code:P.invalid_type,expected:"integer",received:"float",message:s.message}),a.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),a.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),a.dirty()):s.kind==="multipleOf"?xI(e.data,s.value)!==0&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.not_multiple_of,multipleOf:s.value,message:s.message}),a.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(i=this._getOrReturnCtx(e,i),w(i,{code:P.not_finite,message:s.message}),a.dirty()):Y.assertNever(s);return{status:a.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,V.toString(t))}gt(e,t){return this.setLimit("min",e,!1,V.toString(t))}lte(e,t){return this.setLimit("max",e,!0,V.toString(t))}lt(e,t){return this.setLimit("max",e,!1,V.toString(t))}setLimit(e,t,i,a){return new gn({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:i,message:V.toString(a)}]})}_addCheck(e){return new gn({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:V.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:V.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:V.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:V.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:V.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:V.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&Y.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const i of this._def.checks){if(i.kind==="finite"||i.kind==="int"||i.kind==="multipleOf")return!0;i.kind==="min"?(t===null||i.value>t)&&(t=i.value):i.kind==="max"&&(e===null||i.value<e)&&(e=i.value)}return Number.isFinite(t)&&Number.isFinite(e)}}gn.create=n=>new gn({checks:[],typeName:U.ZodNumber,coerce:(n==null?void 0:n.coerce)||!1,...q(n)});class In extends H{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==M.bigint){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_type,expected:M.bigint,received:s.parsedType}),x}let i;const a=new Qe;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),a.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),a.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.not_multiple_of,multipleOf:s.value,message:s.message}),a.dirty()):Y.assertNever(s);return{status:a.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,V.toString(t))}gt(e,t){return this.setLimit("min",e,!1,V.toString(t))}lte(e,t){return this.setLimit("max",e,!0,V.toString(t))}lt(e,t){return this.setLimit("max",e,!1,V.toString(t))}setLimit(e,t,i,a){return new In({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:i,message:V.toString(a)}]})}_addCheck(e){return new In({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:V.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:V.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}In.create=n=>{var e;return new In({checks:[],typeName:U.ZodBigInt,coerce:(e=n==null?void 0:n.coerce)!==null&&e!==void 0?e:!1,...q(n)})};class gi extends H{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==M.boolean){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.boolean,received:i.parsedType}),x}return lt(e.data)}}gi.create=n=>new gi({typeName:U.ZodBoolean,coerce:(n==null?void 0:n.coerce)||!1,...q(n)});class Jn extends H{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==M.date){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_type,expected:M.date,received:s.parsedType}),x}if(isNaN(e.data.getTime())){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_date}),x}const i=new Qe;let a;for(const s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(a=this._getOrReturnCtx(e,a),w(a,{code:P.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),i.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(a=this._getOrReturnCtx(e,a),w(a,{code:P.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),i.dirty()):Y.assertNever(s);return{status:i.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Jn({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:V.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:V.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}}Jn.create=n=>new Jn({checks:[],coerce:(n==null?void 0:n.coerce)||!1,typeName:U.ZodDate,...q(n)});class La extends H{_parse(e){if(this._getType(e)!==M.symbol){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.symbol,received:i.parsedType}),x}return lt(e.data)}}La.create=n=>new La({typeName:U.ZodSymbol,...q(n)});class Ii extends H{_parse(e){if(this._getType(e)!==M.undefined){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.undefined,received:i.parsedType}),x}return lt(e.data)}}Ii.create=n=>new Ii({typeName:U.ZodUndefined,...q(n)});class Pi extends H{_parse(e){if(this._getType(e)!==M.null){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.null,received:i.parsedType}),x}return lt(e.data)}}Pi.create=n=>new Pi({typeName:U.ZodNull,...q(n)});class Nr extends H{constructor(){super(...arguments),this._any=!0}_parse(e){return lt(e.data)}}Nr.create=n=>new Nr({typeName:U.ZodAny,...q(n)});class Wn extends H{constructor(){super(...arguments),this._unknown=!0}_parse(e){return lt(e.data)}}Wn.create=n=>new Wn({typeName:U.ZodUnknown,...q(n)});class nn extends H{_parse(e){const t=this._getOrReturnCtx(e);return w(t,{code:P.invalid_type,expected:M.never,received:t.parsedType}),x}}nn.create=n=>new nn({typeName:U.ZodNever,...q(n)});class Ga extends H{_parse(e){if(this._getType(e)!==M.undefined){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.void,received:i.parsedType}),x}return lt(e.data)}}Ga.create=n=>new Ga({typeName:U.ZodVoid,...q(n)});class Lt extends H{_parse(e){const{ctx:t,status:i}=this._processInputParams(e),a=this._def;if(t.parsedType!==M.array)return w(t,{code:P.invalid_type,expected:M.array,received:t.parsedType}),x;if(a.exactLength!==null){const o=t.data.length>a.exactLength.value,u=t.data.length<a.exactLength.value;(o||u)&&(w(t,{code:o?P.too_big:P.too_small,minimum:u?a.exactLength.value:void 0,maximum:o?a.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:a.exactLength.message}),i.dirty())}if(a.minLength!==null&&t.data.length<a.minLength.value&&(w(t,{code:P.too_small,minimum:a.minLength.value,type:"array",inclusive:!0,exact:!1,message:a.minLength.message}),i.dirty()),a.maxLength!==null&&t.data.length>a.maxLength.value&&(w(t,{code:P.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),i.dirty()),t.common.async)return Promise.all([...t.data].map((o,u)=>a.type._parseAsync(new kt(t,o,t.path,u)))).then(o=>Qe.mergeArray(i,o));const s=[...t.data].map((o,u)=>a.type._parseSync(new kt(t,o,t.path,u)));return Qe.mergeArray(i,s)}get element(){return this._def.type}min(e,t){return new Lt({...this._def,minLength:{value:e,message:V.toString(t)}})}max(e,t){return new Lt({...this._def,maxLength:{value:e,message:V.toString(t)}})}length(e,t){return new Lt({...this._def,exactLength:{value:e,message:V.toString(t)}})}nonempty(e){return this.min(1,e)}}Lt.create=(n,e)=>new Lt({type:n,minLength:null,maxLength:null,exactLength:null,typeName:U.ZodArray,...q(e)});function $r(n){if(n instanceof we){const e={};for(const t in n.shape){const i=n.shape[t];e[t]=Jt.create($r(i))}return new we({...n._def,shape:()=>e})}else return n instanceof Lt?new Lt({...n._def,type:$r(n.element)}):n instanceof Jt?Jt.create($r(n.unwrap())):n instanceof Dn?Dn.create($r(n.unwrap())):n instanceof qt?qt.create(n.items.map(e=>$r(e))):n}class we extends H{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=Y.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==M.object){const h=this._getOrReturnCtx(e);return w(h,{code:P.invalid_type,expected:M.object,received:h.parsedType}),x}const{status:i,ctx:a}=this._processInputParams(e),{shape:s,keys:o}=this._getCached(),u=[];if(!(this._def.catchall instanceof nn&&this._def.unknownKeys==="strip"))for(const h in a.data)o.includes(h)||u.push(h);const p=[];for(const h of o){const m=s[h],T=a.data[h];p.push({key:{status:"valid",value:h},value:m._parse(new kt(a,T,a.path,h)),alwaysSet:h in a.data})}if(this._def.catchall instanceof nn){const h=this._def.unknownKeys;if(h==="passthrough")for(const m of u)p.push({key:{status:"valid",value:m},value:{status:"valid",value:a.data[m]}});else if(h==="strict")u.length>0&&(w(a,{code:P.unrecognized_keys,keys:u}),i.dirty());else if(h!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const h=this._def.catchall;for(const m of u){const T=a.data[m];p.push({key:{status:"valid",value:m},value:h._parse(new kt(a,T,a.path,m)),alwaysSet:m in a.data})}}return a.common.async?Promise.resolve().then(async()=>{const h=[];for(const m of p){const T=await m.key,b=await m.value;h.push({key:T,value:b,alwaysSet:m.alwaysSet})}return h}).then(h=>Qe.mergeObjectSync(i,h)):Qe.mergeObjectSync(i,p)}get shape(){return this._def.shape()}strict(e){return V.errToObj,new we({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,i)=>{var a,s,o,u;const p=(o=(s=(a=this._def).errorMap)===null||s===void 0?void 0:s.call(a,t,i).message)!==null&&o!==void 0?o:i.defaultError;return t.code==="unrecognized_keys"?{message:(u=V.errToObj(e).message)!==null&&u!==void 0?u:p}:{message:p}}}:{}})}strip(){return new we({...this._def,unknownKeys:"strip"})}passthrough(){return new we({...this._def,unknownKeys:"passthrough"})}extend(e){return new we({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new we({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:U.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new we({...this._def,catchall:e})}pick(e){const t={};return Y.objectKeys(e).forEach(i=>{e[i]&&this.shape[i]&&(t[i]=this.shape[i])}),new we({...this._def,shape:()=>t})}omit(e){const t={};return Y.objectKeys(this.shape).forEach(i=>{e[i]||(t[i]=this.shape[i])}),new we({...this._def,shape:()=>t})}deepPartial(){return $r(this)}partial(e){const t={};return Y.objectKeys(this.shape).forEach(i=>{const a=this.shape[i];e&&!e[i]?t[i]=a:t[i]=a.optional()}),new we({...this._def,shape:()=>t})}required(e){const t={};return Y.objectKeys(this.shape).forEach(i=>{if(e&&!e[i])t[i]=this.shape[i];else{let s=this.shape[i];for(;s instanceof Jt;)s=s._def.innerType;t[i]=s}}),new we({...this._def,shape:()=>t})}keyof(){return hm(Y.objectKeys(this.shape))}}we.create=(n,e)=>new we({shape:()=>n,unknownKeys:"strip",catchall:nn.create(),typeName:U.ZodObject,...q(e)}),we.strictCreate=(n,e)=>new we({shape:()=>n,unknownKeys:"strict",catchall:nn.create(),typeName:U.ZodObject,...q(e)}),we.lazycreate=(n,e)=>new we({shape:n,unknownKeys:"strip",catchall:nn.create(),typeName:U.ZodObject,...q(e)});class Di extends H{_parse(e){const{ctx:t}=this._processInputParams(e),i=this._def.options;function a(s){for(const u of s)if(u.result.status==="valid")return u.result;for(const u of s)if(u.result.status==="dirty")return t.common.issues.push(...u.ctx.common.issues),u.result;const o=s.map(u=>new ft(u.ctx.common.issues));return w(t,{code:P.invalid_union,unionErrors:o}),x}if(t.common.async)return Promise.all(i.map(async s=>{const o={...t,common:{...t.common,issues:[]},parent:null};return{result:await s._parseAsync({data:t.data,path:t.path,parent:o}),ctx:o}})).then(a);{let s;const o=[];for(const p of i){const h={...t,common:{...t.common,issues:[]},parent:null},m=p._parseSync({data:t.data,path:t.path,parent:h});if(m.status==="valid")return m;m.status==="dirty"&&!s&&(s={result:m,ctx:h}),h.common.issues.length&&o.push(h.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;const u=o.map(p=>new ft(p));return w(t,{code:P.invalid_union,unionErrors:u}),x}}get options(){return this._def.options}}Di.create=(n,e)=>new Di({options:n,typeName:U.ZodUnion,...q(e)});const rn=n=>n instanceof Oi?rn(n.schema):n instanceof Gt?rn(n.innerType()):n instanceof Ci?[n.value]:n instanceof Pn?n.options:n instanceof Bi?Y.objectValues(n.enum):n instanceof wi?rn(n._def.innerType):n instanceof Ii?[void 0]:n instanceof Pi?[null]:n instanceof Jt?[void 0,...rn(n.unwrap())]:n instanceof Dn?[null,...rn(n.unwrap())]:n instanceof tl||n instanceof Ni?rn(n.unwrap()):n instanceof _i?rn(n._def.innerType):[];class Fa extends H{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==M.object)return w(t,{code:P.invalid_type,expected:M.object,received:t.parsedType}),x;const i=this.discriminator,a=t.data[i],s=this.optionsMap.get(a);return s?t.common.async?s._parseAsync({data:t.data,path:t.path,parent:t}):s._parseSync({data:t.data,path:t.path,parent:t}):(w(t,{code:P.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[i]}),x)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,i){const a=new Map;for(const s of t){const o=rn(s.shape[e]);if(!o.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const u of o){if(a.has(u))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(u)}`);a.set(u,s)}}return new Fa({typeName:U.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:a,...q(i)})}}function el(n,e){const t=vn(n),i=vn(e);if(n===e)return{valid:!0,data:n};if(t===M.object&&i===M.object){const a=Y.objectKeys(e),s=Y.objectKeys(n).filter(u=>a.indexOf(u)!==-1),o={...n,...e};for(const u of s){const p=el(n[u],e[u]);if(!p.valid)return{valid:!1};o[u]=p.data}return{valid:!0,data:o}}else if(t===M.array&&i===M.array){if(n.length!==e.length)return{valid:!1};const a=[];for(let s=0;s<n.length;s++){const o=n[s],u=e[s],p=el(o,u);if(!p.valid)return{valid:!1};a.push(p.data)}return{valid:!0,data:a}}else return t===M.date&&i===M.date&&+n==+e?{valid:!0,data:n}:{valid:!1}}class Ai extends H{_parse(e){const{status:t,ctx:i}=this._processInputParams(e),a=(s,o)=>{if(Xo(s)||Xo(o))return x;const u=el(s.value,o.value);return u.valid?((Qo(s)||Qo(o))&&t.dirty(),{status:t.value,value:u.data}):(w(i,{code:P.invalid_intersection_types}),x)};return i.common.async?Promise.all([this._def.left._parseAsync({data:i.data,path:i.path,parent:i}),this._def.right._parseAsync({data:i.data,path:i.path,parent:i})]).then(([s,o])=>a(s,o)):a(this._def.left._parseSync({data:i.data,path:i.path,parent:i}),this._def.right._parseSync({data:i.data,path:i.path,parent:i}))}}Ai.create=(n,e,t)=>new Ai({left:n,right:e,typeName:U.ZodIntersection,...q(t)});class qt extends H{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==M.array)return w(i,{code:P.invalid_type,expected:M.array,received:i.parsedType}),x;if(i.data.length<this._def.items.length)return w(i,{code:P.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),x;!this._def.rest&&i.data.length>this._def.items.length&&(w(i,{code:P.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const s=[...i.data].map((o,u)=>{const p=this._def.items[u]||this._def.rest;return p?p._parse(new kt(i,o,i.path,u)):null}).filter(o=>!!o);return i.common.async?Promise.all(s).then(o=>Qe.mergeArray(t,o)):Qe.mergeArray(t,s)}get items(){return this._def.items}rest(e){return new qt({...this._def,rest:e})}}qt.create=(n,e)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new qt({items:n,typeName:U.ZodTuple,rest:null,...q(e)})};class Si extends H{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==M.object)return w(i,{code:P.invalid_type,expected:M.object,received:i.parsedType}),x;const a=[],s=this._def.keyType,o=this._def.valueType;for(const u in i.data)a.push({key:s._parse(new kt(i,u,i.path,u)),value:o._parse(new kt(i,i.data[u],i.path,u)),alwaysSet:u in i.data});return i.common.async?Qe.mergeObjectAsync(t,a):Qe.mergeObjectSync(t,a)}get element(){return this._def.valueType}static create(e,t,i){return t instanceof H?new Si({keyType:e,valueType:t,typeName:U.ZodRecord,...q(i)}):new Si({keyType:Vt.create(),valueType:e,typeName:U.ZodRecord,...q(t)})}}class Ua extends H{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==M.map)return w(i,{code:P.invalid_type,expected:M.map,received:i.parsedType}),x;const a=this._def.keyType,s=this._def.valueType,o=[...i.data.entries()].map(([u,p],h)=>({key:a._parse(new kt(i,u,i.path,[h,"key"])),value:s._parse(new kt(i,p,i.path,[h,"value"]))}));if(i.common.async){const u=new Map;return Promise.resolve().then(async()=>{for(const p of o){const h=await p.key,m=await p.value;if(h.status==="aborted"||m.status==="aborted")return x;(h.status==="dirty"||m.status==="dirty")&&t.dirty(),u.set(h.value,m.value)}return{status:t.value,value:u}})}else{const u=new Map;for(const p of o){const h=p.key,m=p.value;if(h.status==="aborted"||m.status==="aborted")return x;(h.status==="dirty"||m.status==="dirty")&&t.dirty(),u.set(h.value,m.value)}return{status:t.value,value:u}}}}Ua.create=(n,e,t)=>new Ua({valueType:e,keyType:n,typeName:U.ZodMap,...q(t)});class Hn extends H{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==M.set)return w(i,{code:P.invalid_type,expected:M.set,received:i.parsedType}),x;const a=this._def;a.minSize!==null&&i.data.size<a.minSize.value&&(w(i,{code:P.too_small,minimum:a.minSize.value,type:"set",inclusive:!0,exact:!1,message:a.minSize.message}),t.dirty()),a.maxSize!==null&&i.data.size>a.maxSize.value&&(w(i,{code:P.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),t.dirty());const s=this._def.valueType;function o(p){const h=new Set;for(const m of p){if(m.status==="aborted")return x;m.status==="dirty"&&t.dirty(),h.add(m.value)}return{status:t.value,value:h}}const u=[...i.data.values()].map((p,h)=>s._parse(new kt(i,p,i.path,h)));return i.common.async?Promise.all(u).then(p=>o(p)):o(u)}min(e,t){return new Hn({...this._def,minSize:{value:e,message:V.toString(t)}})}max(e,t){return new Hn({...this._def,maxSize:{value:e,message:V.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Hn.create=(n,e)=>new Hn({valueType:n,minSize:null,maxSize:null,typeName:U.ZodSet,...q(e)});class Vr extends H{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==M.function)return w(t,{code:P.invalid_type,expected:M.function,received:t.parsedType}),x;function i(u,p){return $a({data:u,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Na(),_r].filter(h=>!!h),issueData:{code:P.invalid_arguments,argumentsError:p}})}function a(u,p){return $a({data:u,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Na(),_r].filter(h=>!!h),issueData:{code:P.invalid_return_type,returnTypeError:p}})}const s={errorMap:t.common.contextualErrorMap},o=t.data;if(this._def.returns instanceof Lr){const u=this;return lt(async function(...p){const h=new ft([]),m=await u._def.args.parseAsync(p,s).catch(I=>{throw h.addIssue(i(p,I)),h}),T=await Reflect.apply(o,this,m);return await u._def.returns._def.type.parseAsync(T,s).catch(I=>{throw h.addIssue(a(T,I)),h})})}else{const u=this;return lt(function(...p){const h=u._def.args.safeParse(p,s);if(!h.success)throw new ft([i(p,h.error)]);const m=Reflect.apply(o,this,h.data),T=u._def.returns.safeParse(m,s);if(!T.success)throw new ft([a(m,T.error)]);return T.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new Vr({...this._def,args:qt.create(e).rest(Wn.create())})}returns(e){return new Vr({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,i){return new Vr({args:e||qt.create([]).rest(Wn.create()),returns:t||Wn.create(),typeName:U.ZodFunction,...q(i)})}}class Oi extends H{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}Oi.create=(n,e)=>new Oi({getter:n,typeName:U.ZodLazy,...q(e)});class Ci extends H{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return w(t,{received:t.data,code:P.invalid_literal,expected:this._def.value}),x}return{status:"valid",value:e.data}}get value(){return this._def.value}}Ci.create=(n,e)=>new Ci({value:n,typeName:U.ZodLiteral,...q(e)});function hm(n,e){return new Pn({values:n,typeName:U.ZodEnum,...q(e)})}class Pn extends H{constructor(){super(...arguments),bi.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),i=this._def.values;return w(t,{expected:Y.joinValues(i),received:t.parsedType,code:P.invalid_type}),x}if(Va(this,bi,"f")||cm(this,bi,new Set(this._def.values),"f"),!Va(this,bi,"f").has(e.data)){const t=this._getOrReturnCtx(e),i=this._def.values;return w(t,{received:t.data,code:P.invalid_enum_value,options:i}),x}return lt(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return Pn.create(e,{...this._def,...t})}exclude(e,t=this._def){return Pn.create(this.options.filter(i=>!e.includes(i)),{...this._def,...t})}}bi=new WeakMap,Pn.create=hm;class Bi extends H{constructor(){super(...arguments),vi.set(this,void 0)}_parse(e){const t=Y.getValidEnumValues(this._def.values),i=this._getOrReturnCtx(e);if(i.parsedType!==M.string&&i.parsedType!==M.number){const a=Y.objectValues(t);return w(i,{expected:Y.joinValues(a),received:i.parsedType,code:P.invalid_type}),x}if(Va(this,vi,"f")||cm(this,vi,new Set(Y.getValidEnumValues(this._def.values)),"f"),!Va(this,vi,"f").has(e.data)){const a=Y.objectValues(t);return w(i,{received:i.data,code:P.invalid_enum_value,options:a}),x}return lt(e.data)}get enum(){return this._def.values}}vi=new WeakMap,Bi.create=(n,e)=>new Bi({values:n,typeName:U.ZodNativeEnum,...q(e)});class Lr extends H{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==M.promise&&t.common.async===!1)return w(t,{code:P.invalid_type,expected:M.promise,received:t.parsedType}),x;const i=t.parsedType===M.promise?t.data:Promise.resolve(t.data);return lt(i.then(a=>this._def.type.parseAsync(a,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Lr.create=(n,e)=>new Lr({type:n,typeName:U.ZodPromise,...q(e)});class Gt extends H{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===U.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:i}=this._processInputParams(e),a=this._def.effect||null,s={addIssue:o=>{w(i,o),o.fatal?t.abort():t.dirty()},get path(){return i.path}};if(s.addIssue=s.addIssue.bind(s),a.type==="preprocess"){const o=a.transform(i.data,s);if(i.common.async)return Promise.resolve(o).then(async u=>{if(t.value==="aborted")return x;const p=await this._def.schema._parseAsync({data:u,path:i.path,parent:i});return p.status==="aborted"?x:p.status==="dirty"||t.value==="dirty"?Mr(p.value):p});{if(t.value==="aborted")return x;const u=this._def.schema._parseSync({data:o,path:i.path,parent:i});return u.status==="aborted"?x:u.status==="dirty"||t.value==="dirty"?Mr(u.value):u}}if(a.type==="refinement"){const o=u=>{const p=a.refinement(u,s);if(i.common.async)return Promise.resolve(p);if(p instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return u};if(i.common.async===!1){const u=this._def.schema._parseSync({data:i.data,path:i.path,parent:i});return u.status==="aborted"?x:(u.status==="dirty"&&t.dirty(),o(u.value),{status:t.value,value:u.value})}else return this._def.schema._parseAsync({data:i.data,path:i.path,parent:i}).then(u=>u.status==="aborted"?x:(u.status==="dirty"&&t.dirty(),o(u.value).then(()=>({status:t.value,value:u.value}))))}if(a.type==="transform")if(i.common.async===!1){const o=this._def.schema._parseSync({data:i.data,path:i.path,parent:i});if(!Ei(o))return o;const u=a.transform(o.value,s);if(u instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:u}}else return this._def.schema._parseAsync({data:i.data,path:i.path,parent:i}).then(o=>Ei(o)?Promise.resolve(a.transform(o.value,s)).then(u=>({status:t.value,value:u})):o);Y.assertNever(a)}}Gt.create=(n,e,t)=>new Gt({schema:n,typeName:U.ZodEffects,effect:e,...q(t)}),Gt.createWithPreprocess=(n,e,t)=>new Gt({schema:e,effect:{type:"preprocess",transform:n},typeName:U.ZodEffects,...q(t)});class Jt extends H{_parse(e){return this._getType(e)===M.undefined?lt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Jt.create=(n,e)=>new Jt({innerType:n,typeName:U.ZodOptional,...q(e)});class Dn extends H{_parse(e){return this._getType(e)===M.null?lt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Dn.create=(n,e)=>new Dn({innerType:n,typeName:U.ZodNullable,...q(e)});class wi extends H{_parse(e){const{ctx:t}=this._processInputParams(e);let i=t.data;return t.parsedType===M.undefined&&(i=this._def.defaultValue()),this._def.innerType._parse({data:i,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}wi.create=(n,e)=>new wi({innerType:n,typeName:U.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...q(e)});class _i extends H{_parse(e){const{ctx:t}=this._processInputParams(e),i={...t,common:{...t.common,issues:[]}},a=this._def.innerType._parse({data:i.data,path:i.path,parent:{...i}});return Ri(a)?a.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ft(i.common.issues)},input:i.data})})):{status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new ft(i.common.issues)},input:i.data})}}removeCatch(){return this._def.innerType}}_i.create=(n,e)=>new _i({innerType:n,typeName:U.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...q(e)});class xa extends H{_parse(e){if(this._getType(e)!==M.nan){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.nan,received:i.parsedType}),x}return{status:"valid",value:e.data}}}xa.create=n=>new xa({typeName:U.ZodNaN,...q(n)});const jI=Symbol("zod_brand");class tl extends H{_parse(e){const{ctx:t}=this._processInputParams(e),i=t.data;return this._def.type._parse({data:i,path:t.path,parent:t})}unwrap(){return this._def.type}}class Mi extends H{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:i.data,path:i.path,parent:i});return s.status==="aborted"?x:s.status==="dirty"?(t.dirty(),Mr(s.value)):this._def.out._parseAsync({data:s.value,path:i.path,parent:i})})();{const a=this._def.in._parseSync({data:i.data,path:i.path,parent:i});return a.status==="aborted"?x:a.status==="dirty"?(t.dirty(),{status:"dirty",value:a.value}):this._def.out._parseSync({data:a.value,path:i.path,parent:i})}}static create(e,t){return new Mi({in:e,out:t,typeName:U.ZodPipeline})}}class Ni extends H{_parse(e){const t=this._def.innerType._parse(e),i=a=>(Ei(a)&&(a.value=Object.freeze(a.value)),a);return Ri(t)?t.then(a=>i(a)):i(t)}unwrap(){return this._def.innerType}}Ni.create=(n,e)=>new Ni({innerType:n,typeName:U.ZodReadonly,...q(e)});function fm(n,e={},t){return n?Nr.create().superRefine((i,a)=>{var s,o;if(!n(i)){const u=typeof e=="function"?e(i):typeof e=="string"?{message:e}:e,p=(o=(s=u.fatal)!==null&&s!==void 0?s:t)!==null&&o!==void 0?o:!0,h=typeof u=="string"?{message:u}:u;a.addIssue({code:"custom",...h,fatal:p})}}):Nr.create()}const kI={object:we.lazycreate};var U;(function(n){n.ZodString="ZodString",n.ZodNumber="ZodNumber",n.ZodNaN="ZodNaN",n.ZodBigInt="ZodBigInt",n.ZodBoolean="ZodBoolean",n.ZodDate="ZodDate",n.ZodSymbol="ZodSymbol",n.ZodUndefined="ZodUndefined",n.ZodNull="ZodNull",n.ZodAny="ZodAny",n.ZodUnknown="ZodUnknown",n.ZodNever="ZodNever",n.ZodVoid="ZodVoid",n.ZodArray="ZodArray",n.ZodObject="ZodObject",n.ZodUnion="ZodUnion",n.ZodDiscriminatedUnion="ZodDiscriminatedUnion",n.ZodIntersection="ZodIntersection",n.ZodTuple="ZodTuple",n.ZodRecord="ZodRecord",n.ZodMap="ZodMap",n.ZodSet="ZodSet",n.ZodFunction="ZodFunction",n.ZodLazy="ZodLazy",n.ZodLiteral="ZodLiteral",n.ZodEnum="ZodEnum",n.ZodEffects="ZodEffects",n.ZodNativeEnum="ZodNativeEnum",n.ZodOptional="ZodOptional",n.ZodNullable="ZodNullable",n.ZodDefault="ZodDefault",n.ZodCatch="ZodCatch",n.ZodPromise="ZodPromise",n.ZodBranded="ZodBranded",n.ZodPipeline="ZodPipeline",n.ZodReadonly="ZodReadonly"})(U||(U={}));const qI=(n,e={message:`Input not instance of ${n.name}`})=>fm(t=>t instanceof n,e),ja=Vt.create,nl=gn.create,JI=xa.create,WI=In.create,rl=gi.create,mm=Jn.create,HI=La.create,YI=Ii.create,Tm=Pi.create,zI=Nr.create,ka=Wn.create,ZI=nn.create,XI=Ga.create,QI=Lt.create,Em=we.create,KI=we.strictCreate,eP=Di.create,tP=Fa.create,nP=Ai.create,rP=qt.create,Rm=Si.create,iP=Ua.create,aP=Hn.create,sP=Vr.create,oP=Oi.create,lP=Ci.create,bm=Pn.create,cP=Bi.create,dP=Lr.create,vm=Gt.create,uP=Jt.create,pP=Dn.create,yP=Gt.createWithPreprocess,hP=Mi.create;var c=Object.freeze({__proto__:null,defaultErrorMap:_r,setErrorMap:DI,getErrorMap:Na,makeIssue:$a,EMPTY_PATH:AI,addIssueToContext:w,ParseStatus:Qe,INVALID:x,DIRTY:Mr,OK:lt,isAborted:Xo,isDirty:Qo,isValid:Ei,isAsync:Ri,get util(){return Y},get objectUtil(){return Zo},ZodParsedType:M,getParsedType:vn,ZodType:H,datetimeRegex:ym,ZodString:Vt,ZodNumber:gn,ZodBigInt:In,ZodBoolean:gi,ZodDate:Jn,ZodSymbol:La,ZodUndefined:Ii,ZodNull:Pi,ZodAny:Nr,ZodUnknown:Wn,ZodNever:nn,ZodVoid:Ga,ZodArray:Lt,ZodObject:we,ZodUnion:Di,ZodDiscriminatedUnion:Fa,ZodIntersection:Ai,ZodTuple:qt,ZodRecord:Si,ZodMap:Ua,ZodSet:Hn,ZodFunction:Vr,ZodLazy:Oi,ZodLiteral:Ci,ZodEnum:Pn,ZodNativeEnum:Bi,ZodPromise:Lr,ZodEffects:Gt,ZodTransformer:Gt,ZodOptional:Jt,ZodNullable:Dn,ZodDefault:wi,ZodCatch:_i,ZodNaN:xa,BRAND:jI,ZodBranded:tl,ZodPipeline:Mi,ZodReadonly:Ni,custom:fm,Schema:H,ZodSchema:H,late:kI,get ZodFirstPartyTypeKind(){return U},coerce:{string:n=>Vt.create({...n,coerce:!0}),number:n=>gn.create({...n,coerce:!0}),boolean:n=>gi.create({...n,coerce:!0}),bigint:n=>In.create({...n,coerce:!0}),date:n=>Jn.create({...n,coerce:!0})},any:zI,array:QI,bigint:WI,boolean:rl,date:mm,discriminatedUnion:tP,effect:vm,enum:bm,function:sP,instanceof:qI,intersection:nP,lazy:oP,literal:lP,map:iP,nan:JI,nativeEnum:cP,never:ZI,null:Tm,nullable:pP,number:nl,object:Em,oboolean:()=>rl().optional(),onumber:()=>nl().optional(),optional:uP,ostring:()=>ja().optional(),pipeline:hP,preprocess:yP,promise:dP,record:Rm,set:aP,strictObject:KI,string:ja,symbol:HI,transformer:vm,tuple:rP,undefined:YI,union:eP,unknown:ka,void:XI,NEVER:x,ZodIssueCode:P,quotelessJson:PI,ZodError:ft});function gm(n){var a,s,o;if(!(n!=null&&n.dataType))return ka();const e=n.dataType.isNullable||!1,t=n.dataType.isList||!1;let i=ka();if(((a=n.dataType.entity)==null?void 0:a.type)===r.PrimitiveEntity)switch(n.dataType.entity.name){case g.String:i=ja();break;case g.JSON:i=Rm(ka());break;case g.Number:i=nl();break;case g.Boolean:i=rl();break;case g.Date:i=mm();break;case g.Enum:{const u=n.dataType.options||[];if(u.length===0)throw new Error(`Enum property ${n.name} has no options`);i=bm(u);break}case g.Null:i=Tm();break;case g.UUID:i=ja().uuid();break}else if(((s=n.dataType.entity)==null?void 0:s.type)===r.CustomEntity)i=Im(n.dataType.entity);else throw new Error(`Unsupported data type validation: ${(o=n.dataType.entity)==null?void 0:o.type}`);return e&&(i=i.nullable()),t&&(i=i.array()),i}function Im(n){const e=Em({});for(const t of n.properties){const i=gm(t);e.shape[t.name]=i}return e}function Pm(n){const e=n.rangeStart;return new Date(e.getTime()+Math.random()*(Date.now()-e.getTime()))}function Dm(n){const e=n.rangeEnd;return new Date(Math.random()*e.getTime())}function Am(n){const e=n.rangeStart,t=n.rangeEnd;return new Date(e.getTime()+Math.random()*(t.getTime()-e.getTime()))}function Sm(n){return n.rangeStart&&n.rangeEnd?Am(n):n.rangeStart?Pm(n):n.rangeEnd?Dm(n):new Date}function fP(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Om={},qa={},Ja={};Object.defineProperty(Ja,"__esModule",{value:!0}),Ja.default=TP;let Wa;const mP=new Uint8Array(16);function TP(){if(!Wa&&(Wa=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Wa))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Wa(mP)}var An={},Yn={},Ha={};Object.defineProperty(Ha,"__esModule",{value:!0}),Ha.default=void 0;var EP=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;Ha.default=EP,Object.defineProperty(Yn,"__esModule",{value:!0}),Yn.default=void 0;var RP=bP(Ha);function bP(n){return n&&n.__esModule?n:{default:n}}function vP(n){return typeof n=="string"&&RP.default.test(n)}var gP=vP;Yn.default=gP,Object.defineProperty(An,"__esModule",{value:!0}),An.default=void 0,An.unsafeStringify=Cm;var IP=PP(Yn);function PP(n){return n&&n.__esModule?n:{default:n}}const ze=[];for(let n=0;n<256;++n)ze.push((n+256).toString(16).slice(1));function Cm(n,e=0){return ze[n[e+0]]+ze[n[e+1]]+ze[n[e+2]]+ze[n[e+3]]+"-"+ze[n[e+4]]+ze[n[e+5]]+"-"+ze[n[e+6]]+ze[n[e+7]]+"-"+ze[n[e+8]]+ze[n[e+9]]+"-"+ze[n[e+10]]+ze[n[e+11]]+ze[n[e+12]]+ze[n[e+13]]+ze[n[e+14]]+ze[n[e+15]]}function DP(n,e=0){const t=Cm(n,e);if(!(0,IP.default)(t))throw TypeError("Stringified UUID is invalid");return t}var AP=DP;An.default=AP,Object.defineProperty(qa,"__esModule",{value:!0}),qa.default=void 0;var SP=CP(Ja),OP=An;function CP(n){return n&&n.__esModule?n:{default:n}}let Bm,il,al=0,sl=0;function BP(n,e,t){let i=e&&t||0;const a=e||new Array(16);n=n||{};let s=n.node||Bm,o=n.clockseq!==void 0?n.clockseq:il;if(s==null||o==null){const b=n.random||(n.rng||SP.default)();s==null&&(s=Bm=[b[0]|1,b[1],b[2],b[3],b[4],b[5]]),o==null&&(o=il=(b[6]<<8|b[7])&16383)}let u=n.msecs!==void 0?n.msecs:Date.now(),p=n.nsecs!==void 0?n.nsecs:sl+1;const h=u-al+(p-sl)/1e4;if(h<0&&n.clockseq===void 0&&(o=o+1&16383),(h<0||u>al)&&n.nsecs===void 0&&(p=0),p>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");al=u,sl=p,il=o,u+=122192928e5;const m=((u&268435455)*1e4+p)%4294967296;a[i++]=m>>>24&255,a[i++]=m>>>16&255,a[i++]=m>>>8&255,a[i++]=m&255;const T=u/4294967296*1e4&268435455;a[i++]=T>>>8&255,a[i++]=T&255,a[i++]=T>>>24&15|16,a[i++]=T>>>16&255,a[i++]=o>>>8|128,a[i++]=o&255;for(let b=0;b<6;++b)a[i+b]=s[b];return e||(0,OP.unsafeStringify)(a)}var wP=BP;qa.default=wP;var Ya={},Sn={},$i={};Object.defineProperty($i,"__esModule",{value:!0}),$i.default=void 0;var _P=MP(Yn);function MP(n){return n&&n.__esModule?n:{default:n}}function NP(n){if(!(0,_P.default)(n))throw TypeError("Invalid UUID");let e;const t=new Uint8Array(16);return t[0]=(e=parseInt(n.slice(0,8),16))>>>24,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=e&255,t[4]=(e=parseInt(n.slice(9,13),16))>>>8,t[5]=e&255,t[6]=(e=parseInt(n.slice(14,18),16))>>>8,t[7]=e&255,t[8]=(e=parseInt(n.slice(19,23),16))>>>8,t[9]=e&255,t[10]=(e=parseInt(n.slice(24,36),16))/1099511627776&255,t[11]=e/4294967296&255,t[12]=e>>>24&255,t[13]=e>>>16&255,t[14]=e>>>8&255,t[15]=e&255,t}var $P=NP;$i.default=$P,Object.defineProperty(Sn,"__esModule",{value:!0}),Sn.URL=Sn.DNS=void 0,Sn.default=UP;var VP=An,LP=GP($i);function GP(n){return n&&n.__esModule?n:{default:n}}function FP(n){n=unescape(encodeURIComponent(n));const e=[];for(let t=0;t<n.length;++t)e.push(n.charCodeAt(t));return e}const wm="6ba7b810-9dad-11d1-80b4-00c04fd430c8";Sn.DNS=wm;const _m="6ba7b811-9dad-11d1-80b4-00c04fd430c8";Sn.URL=_m;function UP(n,e,t){function i(a,s,o,u){var p;if(typeof a=="string"&&(a=FP(a)),typeof s=="string"&&(s=(0,LP.default)(s)),((p=s)===null||p===void 0?void 0:p.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let h=new Uint8Array(16+a.length);if(h.set(s),h.set(a,s.length),h=t(h),h[6]=h[6]&15|e,h[8]=h[8]&63|128,o){u=u||0;for(let m=0;m<16;++m)o[u+m]=h[m];return o}return(0,VP.unsafeStringify)(h)}try{i.name=n}catch{}return i.DNS=wm,i.URL=_m,i}var za={};Object.defineProperty(za,"__esModule",{value:!0}),za.default=void 0;function xP(n){if(typeof n=="string"){const e=unescape(encodeURIComponent(n));n=new Uint8Array(e.length);for(let t=0;t<e.length;++t)n[t]=e.charCodeAt(t)}return jP(kP(qP(n),n.length*8))}function jP(n){const e=[],t=n.length*32,i="0123456789abcdef";for(let a=0;a<t;a+=8){const s=n[a>>5]>>>a%32&255,o=parseInt(i.charAt(s>>>4&15)+i.charAt(s&15),16);e.push(o)}return e}function Mm(n){return(n+64>>>9<<4)+14+1}function kP(n,e){n[e>>5]|=128<<e%32,n[Mm(e)-1]=e;let t=1732584193,i=-271733879,a=-1732584194,s=271733878;for(let o=0;o<n.length;o+=16){const u=t,p=i,h=a,m=s;t=Ke(t,i,a,s,n[o],7,-680876936),s=Ke(s,t,i,a,n[o+1],12,-389564586),a=Ke(a,s,t,i,n[o+2],17,606105819),i=Ke(i,a,s,t,n[o+3],22,-1044525330),t=Ke(t,i,a,s,n[o+4],7,-176418897),s=Ke(s,t,i,a,n[o+5],12,1200080426),a=Ke(a,s,t,i,n[o+6],17,-1473231341),i=Ke(i,a,s,t,n[o+7],22,-45705983),t=Ke(t,i,a,s,n[o+8],7,1770035416),s=Ke(s,t,i,a,n[o+9],12,-1958414417),a=Ke(a,s,t,i,n[o+10],17,-42063),i=Ke(i,a,s,t,n[o+11],22,-1990404162),t=Ke(t,i,a,s,n[o+12],7,1804603682),s=Ke(s,t,i,a,n[o+13],12,-40341101),a=Ke(a,s,t,i,n[o+14],17,-1502002290),i=Ke(i,a,s,t,n[o+15],22,1236535329),t=et(t,i,a,s,n[o+1],5,-165796510),s=et(s,t,i,a,n[o+6],9,-1069501632),a=et(a,s,t,i,n[o+11],14,643717713),i=et(i,a,s,t,n[o],20,-373897302),t=et(t,i,a,s,n[o+5],5,-701558691),s=et(s,t,i,a,n[o+10],9,38016083),a=et(a,s,t,i,n[o+15],14,-660478335),i=et(i,a,s,t,n[o+4],20,-405537848),t=et(t,i,a,s,n[o+9],5,568446438),s=et(s,t,i,a,n[o+14],9,-1019803690),a=et(a,s,t,i,n[o+3],14,-187363961),i=et(i,a,s,t,n[o+8],20,1163531501),t=et(t,i,a,s,n[o+13],5,-1444681467),s=et(s,t,i,a,n[o+2],9,-51403784),a=et(a,s,t,i,n[o+7],14,1735328473),i=et(i,a,s,t,n[o+12],20,-1926607734),t=tt(t,i,a,s,n[o+5],4,-378558),s=tt(s,t,i,a,n[o+8],11,-2022574463),a=tt(a,s,t,i,n[o+11],16,1839030562),i=tt(i,a,s,t,n[o+14],23,-35309556),t=tt(t,i,a,s,n[o+1],4,-1530992060),s=tt(s,t,i,a,n[o+4],11,1272893353),a=tt(a,s,t,i,n[o+7],16,-155497632),i=tt(i,a,s,t,n[o+10],23,-1094730640),t=tt(t,i,a,s,n[o+13],4,681279174),s=tt(s,t,i,a,n[o],11,-358537222),a=tt(a,s,t,i,n[o+3],16,-722521979),i=tt(i,a,s,t,n[o+6],23,76029189),t=tt(t,i,a,s,n[o+9],4,-640364487),s=tt(s,t,i,a,n[o+12],11,-421815835),a=tt(a,s,t,i,n[o+15],16,530742520),i=tt(i,a,s,t,n[o+2],23,-995338651),t=nt(t,i,a,s,n[o],6,-198630844),s=nt(s,t,i,a,n[o+7],10,1126891415),a=nt(a,s,t,i,n[o+14],15,-1416354905),i=nt(i,a,s,t,n[o+5],21,-57434055),t=nt(t,i,a,s,n[o+12],6,1700485571),s=nt(s,t,i,a,n[o+3],10,-1894986606),a=nt(a,s,t,i,n[o+10],15,-1051523),i=nt(i,a,s,t,n[o+1],21,-2054922799),t=nt(t,i,a,s,n[o+8],6,1873313359),s=nt(s,t,i,a,n[o+15],10,-30611744),a=nt(a,s,t,i,n[o+6],15,-1560198380),i=nt(i,a,s,t,n[o+13],21,1309151649),t=nt(t,i,a,s,n[o+4],6,-145523070),s=nt(s,t,i,a,n[o+11],10,-1120210379),a=nt(a,s,t,i,n[o+2],15,718787259),i=nt(i,a,s,t,n[o+9],21,-343485551),t=On(t,u),i=On(i,p),a=On(a,h),s=On(s,m)}return[t,i,a,s]}function qP(n){if(n.length===0)return[];const e=n.length*8,t=new Uint32Array(Mm(e));for(let i=0;i<e;i+=8)t[i>>5]|=(n[i/8]&255)<<i%32;return t}function On(n,e){const t=(n&65535)+(e&65535);return(n>>16)+(e>>16)+(t>>16)<<16|t&65535}function JP(n,e){return n<<e|n>>>32-e}function Za(n,e,t,i,a,s){return On(JP(On(On(e,n),On(i,s)),a),t)}function Ke(n,e,t,i,a,s,o){return Za(e&t|~e&i,n,e,a,s,o)}function et(n,e,t,i,a,s,o){return Za(e&i|t&~i,n,e,a,s,o)}function tt(n,e,t,i,a,s,o){return Za(e^t^i,n,e,a,s,o)}function nt(n,e,t,i,a,s,o){return Za(t^(e|~i),n,e,a,s,o)}var WP=xP;za.default=WP,Object.defineProperty(Ya,"__esModule",{value:!0}),Ya.default=void 0;var HP=Nm(Sn),YP=Nm(za);function Nm(n){return n&&n.__esModule?n:{default:n}}var zP=(0,HP.default)("v3",48,YP.default);Ya.default=zP;var Xa={},Qa={};Object.defineProperty(Qa,"__esModule",{value:!0}),Qa.default=void 0;var ZP={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};Qa.default=ZP,Object.defineProperty(Xa,"__esModule",{value:!0}),Xa.default=void 0;var $m=Vm(Qa),XP=Vm(Ja),QP=An;function Vm(n){return n&&n.__esModule?n:{default:n}}function KP(n,e,t){if($m.default.randomUUID&&!e&&!n)return $m.default.randomUUID();n=n||{};const i=n.random||(n.rng||XP.default)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,e){t=t||0;for(let a=0;a<16;++a)e[t+a]=i[a];return e}return(0,QP.unsafeStringify)(i)}var eD=KP;Xa.default=eD;var Ka={},es={};Object.defineProperty(es,"__esModule",{value:!0}),es.default=void 0;function tD(n,e,t,i){switch(n){case 0:return e&t^~e&i;case 1:return e^t^i;case 2:return e&t^e&i^t&i;case 3:return e^t^i}}function ol(n,e){return n<<e|n>>>32-e}function nD(n){const e=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof n=="string"){const o=unescape(encodeURIComponent(n));n=[];for(let u=0;u<o.length;++u)n.push(o.charCodeAt(u))}else Array.isArray(n)||(n=Array.prototype.slice.call(n));n.push(128);const i=n.length/4+2,a=Math.ceil(i/16),s=new Array(a);for(let o=0;o<a;++o){const u=new Uint32Array(16);for(let p=0;p<16;++p)u[p]=n[o*64+p*4]<<24|n[o*64+p*4+1]<<16|n[o*64+p*4+2]<<8|n[o*64+p*4+3];s[o]=u}s[a-1][14]=(n.length-1)*8/Math.pow(2,32),s[a-1][14]=Math.floor(s[a-1][14]),s[a-1][15]=(n.length-1)*8&4294967295;for(let o=0;o<a;++o){const u=new Uint32Array(80);for(let I=0;I<16;++I)u[I]=s[o][I];for(let I=16;I<80;++I)u[I]=ol(u[I-3]^u[I-8]^u[I-14]^u[I-16],1);let p=t[0],h=t[1],m=t[2],T=t[3],b=t[4];for(let I=0;I<80;++I){const B=Math.floor(I/20),G=ol(p,5)+tD(B,h,m,T)+b+e[B]+u[I]>>>0;b=T,T=m,m=ol(h,30)>>>0,h=p,p=G}t[0]=t[0]+p>>>0,t[1]=t[1]+h>>>0,t[2]=t[2]+m>>>0,t[3]=t[3]+T>>>0,t[4]=t[4]+b>>>0}return[t[0]>>24&255,t[0]>>16&255,t[0]>>8&255,t[0]&255,t[1]>>24&255,t[1]>>16&255,t[1]>>8&255,t[1]&255,t[2]>>24&255,t[2]>>16&255,t[2]>>8&255,t[2]&255,t[3]>>24&255,t[3]>>16&255,t[3]>>8&255,t[3]&255,t[4]>>24&255,t[4]>>16&255,t[4]>>8&255,t[4]&255]}var rD=nD;es.default=rD,Object.defineProperty(Ka,"__esModule",{value:!0}),Ka.default=void 0;var iD=Lm(Sn),aD=Lm(es);function Lm(n){return n&&n.__esModule?n:{default:n}}var sD=(0,iD.default)("v5",80,aD.default);Ka.default=sD;var ts={};Object.defineProperty(ts,"__esModule",{value:!0}),ts.default=void 0;var oD="00000000-0000-0000-0000-000000000000";ts.default=oD;var ns={};Object.defineProperty(ns,"__esModule",{value:!0}),ns.default=void 0;var lD=cD(Yn);function cD(n){return n&&n.__esModule?n:{default:n}}function dD(n){if(!(0,lD.default)(n))throw TypeError("Invalid UUID");return parseInt(n.slice(14,15),16)}var uD=dD;ns.default=uD,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"NIL",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(n,"parse",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(n,"stringify",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(n,"v1",{enumerable:!0,get:function(){return e.default}}),Object.defineProperty(n,"v3",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(n,"v4",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(n,"v5",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(n,"validate",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(n,"version",{enumerable:!0,get:function(){return o.default}});var e=m(qa),t=m(Ya),i=m(Xa),a=m(Ka),s=m(ts),o=m(ns),u=m(Yn),p=m(An),h=m($i);function m(T){return T&&T.__esModule?T:{default:T}}}(Om);function ll(n,e){if(!n||!e||!n.length||!e.length)throw new Error("Bad alphabet");this.srcAlphabet=n,this.dstAlphabet=e}ll.prototype.convert=function(n){var e,t,i,a={},s=this.srcAlphabet.length,o=this.dstAlphabet.length,u=n.length,p=typeof n=="string"?"":[];if(!this.isValid(n))throw new Error('Number "'+n+'" contains of non-alphabetic digits ('+this.srcAlphabet+")");if(this.srcAlphabet===this.dstAlphabet)return n;for(e=0;e<u;e++)a[e]=this.srcAlphabet.indexOf(n[e]);do{for(t=0,i=0,e=0;e<u;e++)t=t*s+a[e],t>=o?(a[i++]=parseInt(t/o,10),t=t%o):i>0&&(a[i++]=0);u=i,p=this.dstAlphabet.slice(t,t+1).concat(p)}while(i!==0);return p},ll.prototype.isValid=function(n){for(var e=0;e<n.length;++e)if(this.srcAlphabet.indexOf(n[e])===-1)return!1;return!0};var pD=ll,yD=pD;function Vi(n,e){var t=new yD(n,e);return function(i){return t.convert(i)}}Vi.BIN="01",Vi.OCT="01234567",Vi.DEC="0123456789",Vi.HEX="0123456789abcdef";var hD=Vi;const{v4:cl,validate:fD}=Om,rs=hD,dl={cookieBase90:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~",flickrBase58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",uuid25Base36:"0123456789abcdefghijklmnopqrstuvwxyz"},mD={consistentLength:!0};let ul;const Gm=(n,e,t)=>{const i=e(n.toLowerCase().replace(/-/g,""));return!t||!t.consistentLength?i:i.padStart(t.shortIdLength,t.paddingChar)},Fm=(n,e)=>{const i=e(n).padStart(32,"0").match(/(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})/);return[i[1],i[2],i[3],i[4],i[5]].join("-")},TD=n=>Math.ceil(Math.log(2**128)/Math.log(n));var ED=(()=>{const n=(e,t)=>{const i=e||dl.flickrBase58,a={...mD,...t};if([...new Set(Array.from(i))].length!==i.length)throw new Error("The provided Alphabet has duplicate characters resulting in unreliable results");const s=TD(i.length),o={shortIdLength:s,consistentLength:a.consistentLength,paddingChar:i[0]},u=rs(rs.HEX,i),p=rs(i,rs.HEX),h=()=>Gm(cl(),u,o),T={alphabet:i,fromUUID:b=>Gm(b,u,o),maxLength:s,generate:h,new:h,toUUID:b=>Fm(b,p),uuid:cl,validate:(b,I=!1)=>{if(!b||typeof b!="string")return!1;const B=a.consistentLength?b.length===s:b.length<=s,G=b.split("").every(W=>i.includes(W));return I===!1?B&&G:B&&G&&fD(Fm(b,p))}};return Object.freeze(T),T};return n.constants=dl,n.uuid=cl,n.generate=()=>(ul||(ul=n(dl.flickrBase58).generate),ul()),n})();const Cn=fP(ED);console.log("Hello, world!: ",Cn);function Um(){return Cn().uuid()}function xm(n){return n.rangeStart+Math.random()}function jm(n){const e=n.rangeEnd;return Math.random()*e}function km(n){const e=n.rangeStart,t=n.rangeEnd;return Math.random()*(t-e)+e}function qm(n){return n.rangeStart&&n.rangeEnd?km(n):n.rangeStart?xm(n):n.rangeEnd?jm(n):Math.random()}function Jm(n){const e=n.rangeStart;return Math.random().toString(36).substring(e)}function Wm(n){const e=n.rangeEnd;return Math.random().toString(36).substring(0,e)}function Hm(n){const e=n.rangeStart,t=n.rangeEnd;return Math.random().toString(36).substring(e,t)}function Ym(n){return n.rangeStart&&n.rangeEnd?Hm(n):n.rangeStart?Jm(n):n.rangeEnd?Wm(n):Math.random().toString(36)}function zm(n){return Math.random()>=.5}function RD(n){if(!n||!n.autogeneration)return null;switch(n.autogeneration.type){case xe.CurrentDateAndTime:if(n.name===g.Date)return new Date;case xe.Random:{if(n.name===g.Date)return Sm(n.autogeneration);if(n.name===g.Number)return qm(n.autogeneration);if(n.name===g.String)return Ym(n.autogeneration);if(n.name===g.Boolean)return zm(n.autogeneration)}case xe.Unique:if(n.name===g.UUID)return Um();default:throw new Error(`Generating a ${n.autogeneration.type} value for a ${n.name} is not supported`)}}const J="e7eb5382-3d99-44fd-972a-b8b1e819f6be",pl="global-user-variable-id",Zm="last-executed-timestamp-variable-id",bD={id:"alternative-relational-database-entity-identifier-property-data-type-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-identifier-property-data-type-id",entityType:r.DataType},vD={id:"alternative-relational-database-entity-identifier-property-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-identifier-property-id",entityType:r.Property},gD={id:"alternative-relational-database-entity-identifier-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"alternative-relational-database-entity-identifier-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:null,parent:bD,autogeneration:{type:xe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:vD},is={id:"alternative-relational-database-entity-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},ID={required:!0,id:"alternative-relational-database-entity-identifier-property-id",name:"Identifier name",version:1,type:r.Property,private:!1,abstract:!1,implements:Ca,static:!0,index:0,dataType:gD,description:"The name of the main database inside of the server instance where the data will be stored.",parent:is};r.GenericReference,r.DataType;const PD={id:"alternative-relational-database-entity-username-property-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-username-property-id",entityType:r.Property},DD={id:"alternative-relational-database-entity-username-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:PD},AD={required:!0,id:"alternative-relational-database-entity-username-property-id",name:"Username",version:1,type:r.Property,private:!1,abstract:!1,implements:Ba,static:!0,index:1,dataType:DD,description:"The username that will be used to connect to the database.",parent:is};r.GenericReference,r.DataType;const SD={id:"alternative-relational-database-entity-password-property-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-password-property-id",entityType:r.Property},OD={id:"alternative-relational-database-entity-password-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:SD},CD={required:!0,id:"alternative-relational-database-entity-password-property-id",name:"Password",version:1,type:r.Property,private:!1,abstract:!1,implements:wa,static:!0,index:2,dataType:OD,description:"The password that will be used to connect to the database.",parent:is},BD={id:"alternative-relational-database-entity-min-size-property-data-type-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-min-size-property-data-type-id",entityType:r.DataType},wD={id:"alternative-relational-database-entity-min-size-property-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-min-size-property-id",entityType:r.Property},_D={id:"alternative-relational-database-entity-min-size-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Ce,asType:!1,defaultValue:{id:"alternative-relational-database-entity-min-size-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.Number,value:6,parent:BD,autogeneration:null,valueAsType:null},parent:wD},MD={required:!0,id:"alternative-relational-database-entity-min-size-property-id",name:"Minimum GB size",version:1,type:r.Property,private:!1,abstract:!1,implements:_a,static:!0,index:3,dataType:_D,description:"The minimum size of the database in GB.",parent:is},ND={id:"alternative-relational-database-entity-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},Xm={id:"alternative-relational-database-entity-id",type:r.CustomEntity,version:1,name:"Alternative relational Database",description:"A database that permanently stores the persisted entities attached to it.",abstract:!1,static:!0,properties:[ID,AD,CD,MD],methods:[],abstractMethods:[],extends:[],implements:[bn],x:0,y:0,parent:ND},$D={id:"animal-prototype-database-property-ref-id",type:r.GenericReference,entityId:"animal-prototype-database-property-id",entityType:r.Property},VD={id:"animal-prototype-database-property-data-type-default-value-parent-ref-id",type:r.GenericReference,entityId:"animal-prototype-database-property-data-type-default-value-id",entityType:r.DataType},LD={id:"animal-prototype-database-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:bn,asType:!1,defaultValue:{id:"animal-prototype-database-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,value:null,name:g.EntityTemplate,valueAsType:Xm,autogeneration:null,parent:VD},parent:$D},GD={id:"animal-prototype-database-property-parent-ref-id",type:r.GenericReference,entityId:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",entityType:r.CustomEntity},FD={required:!0,id:"animal-prototype-database-property-id",name:"Database",version:1,type:r.Property,private:!1,abstract:!1,implements:Ti,static:!0,index:0,dataType:LD,description:"The database that the entity belongs to.",parent:GD},UD={type:r.GenericReference,id:"291e4d4f-01d8-40a0-90dc-5f1ac6636e9b",entityType:r.Property,entityId:"5cb617b0-92be-4dbe-a007-49093368d94f"},xD={id:"c1930577-9e79-48a6-8905-be24611015c1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:UD},jD={type:r.GenericReference,id:"e2b9e456-f2b3-4dc7-85a2-fbb68ed0c9c7",entityType:r.CustomEntity,entityId:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},kD={required:!0,type:r.Property,id:"5cb617b0-92be-4dbe-a007-49093368d94f",version:1,name:"Name",description:"The name of the animal",implements:null,static:!1,private:!1,index:0,dataType:xD,abstract:!1,parent:jD},qD={type:r.GenericReference,id:"abc565de-4c83-4936-bc48-4013bef213b8",entityType:r.Project,entityId:J},JD={type:r.CustomEntity,id:"83eaa847-e62b-4192-84fb-3d8d6f5ea970",version:1,name:"Animal",description:"A living creature that is not human",abstract:!1,static:!1,abstractMethods:[],properties:[FD,kD],methods:[],extends:[],implements:[Be],x:0,y:0,parent:qD},WD={id:"default-relational-database-entity-identifier-property-data-type-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-identifier-property-data-type-id",entityType:r.DataType},HD={id:"default-relational-database-entity-identifier-property-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-identifier-property-id",entityType:r.Property},YD={id:"default-relational-database-entity-identifier-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"default-relational-database-entity-identifier-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:null,parent:WD,autogeneration:{type:xe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:HD},as={id:"default-relational-database-entity-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},zD={required:!0,id:"default-relational-database-entity-identifier-property-id",name:"Identifier name",version:1,type:r.Property,private:!1,abstract:!1,implements:Ca,static:!0,index:0,dataType:YD,description:"The name of the main database inside of the server instance where the data will be stored.",parent:as};r.GenericReference,r.DataType;const ZD={id:"default-relational-database-entity-username-property-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-username-property-id",entityType:r.Property},XD={id:"default-relational-database-entity-username-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:ZD},QD={required:!0,id:"default-relational-database-entity-username-property-id",name:"Username",version:1,type:r.Property,private:!1,abstract:!1,implements:Ba,static:!0,index:1,dataType:XD,description:"The username that will be used to connect to the database.",parent:as};r.GenericReference,r.DataType;const KD={id:"default-relational-database-entity-password-property-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-password-property-id",entityType:r.Property},eA={id:"default-relational-database-entity-password-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:KD},tA={required:!0,id:"default-relational-database-entity-password-property-id",name:"Password",version:1,type:r.Property,private:!1,abstract:!1,implements:wa,static:!0,index:2,dataType:eA,description:"The password that will be used to connect to the database.",parent:as},nA={id:"default-relational-database-entity-min-size-property-data-type-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-min-size-property-data-type-id",entityType:r.DataType},rA={id:"default-relational-database-entity-min-size-property-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-min-size-property-id",entityType:r.Property},iA={id:"default-relational-database-entity-min-size-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Ce,asType:!1,defaultValue:{id:"default-relational-database-entity-min-size-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.Number,value:6,parent:nA,autogeneration:null,valueAsType:null},parent:rA},aA={required:!0,id:"default-relational-database-entity-min-size-property-id",name:"Minimum GB size",version:1,type:r.Property,private:!1,abstract:!1,implements:_a,static:!0,index:3,dataType:iA,description:"The minimum size of the database in GB.",parent:as},sA={id:"default-relational-database-entity-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},yl={id:"default-relational-database-entity-id",type:r.CustomEntity,version:1,name:"Relational Database",description:"A database that permanently stores the persisted entities attached to it.",abstract:!1,static:!0,properties:[zD,QD,tA,aA],methods:[],abstractMethods:[],extends:[],implements:[bn],x:0,y:0,parent:sA},oA={id:"user-prototype-database-property-data-type-ref-id",type:r.GenericReference,entityId:"user-prototype-database-property-data-type-id",entityType:r.DataType},lA={id:"user-prototype-database-property-ref-id",type:r.GenericReference,entityId:"user-prototype-database-property-id",entityType:r.Property},cA={id:"user-prototype-database-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:bn,asType:!1,defaultValue:{id:"user-prototype-database-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,value:null,name:g.EntityTemplate,valueAsType:yl,autogeneration:null,parent:oA},parent:lA},dA={id:"user-prototype-database-property-parent-ref-id",type:r.GenericReference,entityId:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",entityType:r.CustomEntity},uA={required:!0,id:"user-prototype-database-property-id",name:"Database",version:1,type:r.Property,private:!1,abstract:!1,implements:Ti,static:!0,index:0,dataType:cA,description:"The database that the entity belongs to.",parent:dA},pA={type:r.GenericReference,id:"user-prototype-parent-ref-id",entityType:r.Project,entityId:J},hl={type:r.CustomEntity,id:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",version:1,name:"User",description:"A user of the application",implements:[Be],abstract:!1,static:!1,abstractMethods:[],extends:[],properties:[uA],methods:[],x:0,y:0,parent:pA},yA={type:r.GenericReference,id:"person-date-of-birth-property-data-type-parent-ref-id",entityType:r.Property,entityId:"person-date-of-birth-property-id"},hA={id:"person-date-of-birth-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Or,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:yA},fA={type:r.GenericReference,id:"person-date-of-birth-property-parent-ref-id",entityType:r.CustomEntity,entityId:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},mA={required:!0,type:r.Property,id:"person-date-of-birth-property-id",version:1,name:"Date of birth",description:"The date of birth of the person",implements:null,private:!1,static:!1,index:0,dataType:hA,abstract:!1,parent:fA},TA={type:r.GenericReference,id:"a2867827-2f8e-4c25-b18b-d91857d7f24e",entityType:r.Property,entityId:"cacfec92-46c3-4fca-a1d9-fd1ba94d78c7"},EA={id:"1d49f41b-17b9-4f48-87aa-3ce43498e5a9",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:TA},RA={type:r.GenericReference,id:"01cbe760-40a9-4f49-8e3d-194d2f57cb1e",entityType:r.CustomEntity,entityId:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},bA={required:!0,type:r.Property,id:"cacfec92-46c3-4fca-a1d9-fd1ba94d78c7",version:1,name:"Name",description:"The name of the person",implements:null,private:!1,static:!1,index:0,dataType:EA,abstract:!1,parent:RA},vA={type:r.GenericReference,id:"3542b22a-3a2f-41c6-876e-24c885572498",entityType:r.Project,entityId:J},ct={type:r.CustomEntity,id:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416",version:1,name:"Person",description:"A entity to store more information about a person than the user entity does, to split the responsibilities and keep it the logic clean.",properties:[bA,mA],abstract:!1,static:!1,abstractMethods:[],methods:[],implements:[],extends:[hl],x:0,y:0,parent:vA},gA={type:r.GenericReference,id:"b59c80b7-b2e9-41e9-abcd-7c5652835efc",entityType:r.FunctionDeclaration,entityId:"36f29f96-c001-4b9a-b49c-83eff406a060"},IA={type:r.GenericReference,id:"1190b5a2-f25e-46db-884d-8a3dd1a44d94",entityType:r.ReturnStatement,entityId:"3ebc4342-c9e8-42e7-a61c-7937081e1d2e"},PA={type:r.GenericReference,id:"36c63126-7814-496f-a6cc-48662c2aabae",entityType:r.ArgumentDeclaration,entityId:"500dee3a-3435-4453-9699-0d053f646523"},DA={type:r.GenericReference,id:"c567e55d-ec12-4e4e-958e-f07522892b4b",entityType:r.ReturnDeclaration,entityId:"9e070523-7e07-4100-8637-960a187f5f14"},AA={id:"3973c5a1-f0d8-49a0-a9a9-a0009bf3f0d8",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:DA},fl={isError:!1,id:"9e070523-7e07-4100-8637-960a187f5f14",type:r.ReturnDeclaration,version:1,name:"Output Account Owner",description:null,dataType:AA,readsValue:PA,required:!0,index:0,parent:IA},SA={type:r.GenericReference,id:"567d923c-20da-4c1e-956d-962ea30c6d0b",entityType:r.FunctionDeclaration,entityId:"36f29f96-c001-4b9a-b49c-83eff406a060"},OA={type:r.GenericReference,id:"da85e620-59f3-42ab-88c8-b38d33c2c833",entityType:r.FunctionDeclaration,entityId:"36f29f96-c001-4b9a-b49c-83eff406a060"},Qm={type:r.ReturnStatement,id:"3ebc4342-c9e8-42e7-a61c-7937081e1d2e",version:1,outputs:[fl],calledByError:[],calledByEntry:[SA],calledBySuccess:[],throws:null,x:0,y:0,parent:OA},CA={type:r.GenericReference,id:"1c806bb7-4c25-4bad-963b-93dfbb7c8304",entityType:r.ArgumentDeclaration,entityId:"500dee3a-3435-4453-9699-0d053f646523"},BA={id:"d90fcc18-642b-433c-8fcb-4094b9031cd5",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:CA},Km={id:"500dee3a-3435-4453-9699-0d053f646523",type:r.ArgumentDeclaration,version:1,name:"New Account Owner",description:null,dataType:BA,required:!0,writesValues:[fl],index:0,parent:gA},wA={type:r.GenericReference,id:"83dceb60-f3c4-4085-824c-85f2003bfd27",entityType:r.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},eT={type:r.FunctionDeclaration,id:"36f29f96-c001-4b9a-b49c-83eff406a060",version:1,name:"Change owner of bank account",description:null,implements:null,inputs:[Km],calls:[Qm],returnStatements:[Qm],index:0,collapsed:!1,private:!1,x:0,y:0,parent:wA},_A={type:r.GenericReference,id:"adbaf302-ffa9-49b6-a3c6-83f9a75068e3",entityType:r.VariableDeclaration,entityId:"8e36a476-766e-4cc2-a8a7-27a07dfb5a4b"},MA={id:"79ee04aa-1ba4-4ae9-a406-ed45e5b03f7f",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:_A},NA={type:r.GenericReference,id:"55e212d1-f0ec-4bb6-acbe-60f741367daf",entityType:r.OutputMap,entityId:"dc9ddb8f-02a0-4a43-aea6-270ec7b7f8a4"},$A={type:r.GenericReference,id:"944e1171-3d9b-4559-9386-1d4974b15962",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},VA={id:"8e36a476-766e-4cc2-a8a7-27a07dfb5a4b",type:r.VariableDeclaration,version:1,name:"Output Account Owner",description:null,dataType:MA,readsValue:NA,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:$A},LA={type:r.GenericReference,id:"b89ebc83-52cf-4447-a5ae-62241f713079",entityType:r.FunctionCall,entityId:"78f6dba8-bed8-44cd-8b0f-6dcc787d1e1e"},GA={id:"dc9ddb8f-02a0-4a43-aea6-270ec7b7f8a4",type:r.OutputMap,version:1,declaration:fl,writesValues:[VA],index:0,parent:LA},FA={type:r.GenericReference,id:"c1b9e125-1aad-48b7-9687-95c57a6bc10d",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},UA={type:r.GenericReference,id:"d2deaa02-e164-4425-905c-6dee47eb4eac",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},xA={type:r.GenericReference,id:"1109a655-ac62-4110-a933-42a72106f4f0",entityType:r.VariableDeclaration,entityId:"8bea6986-8da2-487b-905d-2fb962db6728"},jA={id:"7d9a1307-512e-42ec-9797-2f7229796b97",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:xA},kA={type:r.GenericReference,id:"bb61ebf7-57b3-4d14-905d-82ec907205b5",entityType:r.ArgumentDeclaration,entityId:"38f6b236-98ac-47b0-ab9c-d2f9610137b9"},qA={type:r.GenericReference,id:"6b8c7bf2-9fc8-4ea4-9ec0-f41679d513b1",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},JA={type:r.GenericReference,id:"6163d1a1-7a94-49b1-95bb-aecd8d6d335c",entityType:r.FunctionCall,entityId:"78f6dba8-bed8-44cd-8b0f-6dcc787d1e1e"},WA={type:r.GenericReference,id:"1f900f62-4bd2-4246-94aa-b8f5aad384fd",entityType:r.VariableDeclaration,entityId:"8bea6986-8da2-487b-905d-2fb962db6728"},tT={id:"be8538be-e6f9-4b94-9314-a546003ebaa0",type:r.InputMap,version:1,declaration:Km,name:null,description:null,readsValue:WA,dynamicArguments:[],defaultValue:null,index:0,parent:JA},HA={type:r.VariableDeclaration,id:"8bea6986-8da2-487b-905d-2fb962db6728",version:1,name:"Changed Account Owner",description:null,dataType:jA,readsValue:kA,writesValues:[tT],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:qA},YA={type:r.FunctionCall,id:"78f6dba8-bed8-44cd-8b0f-6dcc787d1e1e",version:1,declaration:eT,inputs:[tT],outputs:[GA],process:null,successCalls:[],errorCalls:[],calledByError:[],calledByEntry:[FA],calledBySuccess:[],parent:UA,error:null,x:0,y:0},zA={type:r.GenericReference,id:"2d47aba1-a918-46a7-8db7-78809928654a",entityType:r.ArgumentDeclaration,entityId:"38f6b236-98ac-47b0-ab9c-d2f9610137b9"},ZA={id:"5583766c-e9a5-484c-8f43-f4b0a6a1876c",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:zA},XA={type:r.GenericReference,id:"3e2a81e4-55b2-49f5-94eb-39135e95c3d7",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},QA={id:"38f6b236-98ac-47b0-ab9c-d2f9610137b9",type:r.ArgumentDeclaration,version:1,description:null,name:"New Company Owner",dataType:ZA,required:!0,index:0,writesValues:[HA],parent:XA},KA={type:r.GenericReference,id:"30291b01-1b94-4d03-b434-dec122c2bc7d",entityType:r.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},eS={type:r.FunctionDeclaration,id:"15ee556d-681f-47de-a31f-16d4ba73cc4e",version:1,description:null,name:"Change Account Owner",inputs:[QA],collapsed:!0,returnStatements:[],calls:[YA],private:!1,index:0,implements:null,x:0,y:0,parent:KA},tS={type:r.GenericReference,id:"72c7ac0a-886e-4e10-b7ed-2f5a819a0233",entityType:r.Property,entityId:"b8f4656a-2b77-43ab-af51-7c32ddede044"},nS={id:"c09dd282-73f6-4077-a467-b66db20b9fc6",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:tS},rS={type:r.GenericReference,id:"8a950024-512c-4580-81db-a705410aeb99",entityType:r.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},nT={required:!0,type:r.Property,id:"b8f4656a-2b77-43ab-af51-7c32ddede044",version:1,name:"Account number",description:null,private:!0,implements:null,static:!1,index:0,dataType:nS,abstract:!1,parent:rS},iS={type:r.GenericReference,id:"b6704b6c-c3bd-49d0-8ebc-82d03e726cbb",entityType:r.Property,entityId:"733d06a6-b8c5-44f3-a1f7-a8c9bd9e44ea"},aS={id:"c03e0b0a-88ab-401a-8833-4806738bdc37",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:iS},sS={type:r.GenericReference,id:"1ef999a7-e9ed-406a-866e-e58277fc985b",entityType:r.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},rT={required:!0,type:r.Property,id:"733d06a6-b8c5-44f3-a1f7-a8c9bd9e44ea",version:1,description:null,name:"Account Owner",index:1,dataType:aS,implements:null,static:!1,private:!0,abstract:!1,parent:sS},oS={type:r.GenericReference,id:"d41d7f41-98b8-4f67-be92-c349fdda5156",entityType:r.Project,entityId:J},Gr={type:r.CustomEntity,id:"506946aa-30da-48e6-918f-ffd9eac58813",version:1,name:"Bank Account",description:null,abstract:!1,static:!1,abstractMethods:[],properties:[nT,rT],methods:[eT,eS],extends:[],implements:[Be],x:0,y:0,parent:oS},Li="bitcoin-api-response-id",iT="time-property-id",aT="disclamer-property-id",sT="chart-name-property-id",oT="bpi-property-id",ss="bpi-entity-id",lT="usd-property-id",cT="gbp-property-id",dT="eur-property-id",Fr="currency-entity-id",uT="currency-code-property-id",pT="currency-symbol-property-id",yT="currency-rate-property-id",hT="currency-description-property-id",fT="currency-rate-number-property-id",lS={type:r.GenericReference,id:"code-property-data-type-parent-ref-id",entityType:r.Property,entityId:uT},cS={id:"code-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rn,isList:!1,asType:!1,isNullable:!1,defaultValue:null,options:["USD","GBP","EUR"],constant:!1,parent:lS},dS={type:r.GenericReference,id:"code-property-parent-ref-id",entityType:r.CustomEntity,entityId:Fr},uS={required:!0,type:r.Property,id:uT,version:1,name:"code",description:null,dataType:cS,index:0,implements:null,static:!1,private:!1,abstract:!1,parent:dS},pS={type:r.GenericReference,id:"symbol-property-data-type-parent-ref-id",entityType:r.Property,entityId:pT},yS={id:"symbol-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rn,isList:!1,asType:!1,isNullable:!1,defaultValue:null,options:["&#36;","&pound;","&euro;"],constant:!1,parent:pS},hS={type:r.GenericReference,id:"symbol-property-parent-ref-id",entityType:r.CustomEntity,entityId:Fr},fS={required:!0,type:r.Property,id:pT,version:1,name:"symbol",description:null,index:0,dataType:yS,implements:null,static:!1,private:!1,abstract:!1,parent:hS},mS={type:r.GenericReference,id:"rate-property-data-type-parent-ref-id",entityType:r.Property,entityId:yT},TS={id:"rate-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:mS},ES={type:r.GenericReference,id:"rate-property-parent-ref-id",entityType:r.CustomEntity,entityId:Fr},RS={required:!0,type:r.Property,id:yT,version:1,name:"rate",description:null,index:0,dataType:TS,implements:null,static:!1,private:!1,abstract:!1,parent:ES},bS={type:r.GenericReference,id:"description-property-data-type-parent-ref-id",entityType:r.Property,entityId:hT},vS={id:"description-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:bS},gS={type:r.GenericReference,id:"description-property-parent-ref-id",entityType:r.CustomEntity,entityId:Fr},IS={required:!0,type:r.Property,id:hT,version:1,name:"description",description:null,dataType:vS,implements:null,static:!1,index:0,private:!1,abstract:!1,parent:gS},PS={type:r.GenericReference,id:"rate-number-property-data-type-parent-ref-id",entityType:r.Property,entityId:fT},DS={id:"rate-number-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:PS},AS={type:r.GenericReference,id:"rate-number-property-parent-ref-id",entityType:r.CustomEntity,entityId:Fr},SS={required:!0,type:r.Property,id:fT,version:1,name:"rate_float",description:null,dataType:DS,implements:null,static:!1,index:0,private:!1,abstract:!1,parent:AS},OS={type:r.GenericReference,id:"currency-prototype-parent-ref-id",entityType:r.Project,entityId:J},os={type:r.CustomEntity,id:Fr,version:1,name:"Currency",description:"This entity describes a currency in the Bitcoin Price Index.",properties:[uS,fS,RS,IS,SS],static:!1,abstract:!1,abstractMethods:[],methods:[],extends:[],implements:[],x:0,y:0,parent:OS},CS={type:r.GenericReference,id:"usd-property-data-type-parent-ref-id",entityType:r.Property,entityId:lT},BS={id:"usd-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:os,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:CS},wS={type:r.GenericReference,id:"usd-property-parent-ref-id",entityType:r.CustomEntity,entityId:ss},_S={required:!0,id:lT,type:r.Property,version:1,name:"USD",description:null,index:0,dataType:BS,implements:null,static:!1,private:!1,abstract:!1,parent:wS},MS={type:r.GenericReference,id:"gbp-property-data-type-parent-ref-id",entityType:r.Property,entityId:cT},NS={id:"gbp-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:os,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:MS},$S={type:r.GenericReference,id:"gbp-property-parent-ref-id",entityType:r.CustomEntity,entityId:ss},VS={required:!0,id:cT,type:r.Property,version:1,name:"GBP",description:null,index:0,dataType:NS,implements:null,static:!1,private:!1,abstract:!1,parent:$S},LS={type:r.GenericReference,id:"eur-property-data-type-parent-ref-id",entityType:r.Property,entityId:dT},GS={id:"eur-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:os,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:LS},FS={type:r.GenericReference,id:"eur-property-parent-ref-id",entityType:r.CustomEntity,entityId:ss},US={required:!0,id:dT,type:r.Property,version:1,name:"EUR",description:null,implements:null,static:!1,index:0,dataType:GS,private:!1,abstract:!1,parent:FS},xS={type:r.GenericReference,id:"bpi-prototype-parent-ref-id",entityType:r.Project,entityId:J},mT={type:r.CustomEntity,id:ss,version:1,name:"BPI",description:"The Bitcoin Price Index",properties:[_S,VS,US],abstract:!1,static:!1,abstractMethods:[],methods:[],extends:[],implements:[],x:0,y:0,parent:xS},jS={type:r.GenericReference,id:"time-property-data-type-parent-ref-id",entityType:r.Property,entityId:iT},kS={id:"time-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:vo,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:jS},qS={type:r.GenericReference,id:"time-property-parent-ref-id",entityType:r.CustomEntity,entityId:Li},JS={required:!0,type:r.Property,id:iT,version:1,name:"time",description:null,index:0,dataType:kS,implements:null,static:!1,private:!1,abstract:!1,parent:qS},WS={type:r.GenericReference,id:"disclamer-property-data-type-parent-ref-id",entityType:r.Property,entityId:aT},HS={id:"disclamer-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:WS},YS={type:r.GenericReference,id:"disclamer-property-parent-ref-id",entityType:r.CustomEntity,entityId:Li},zS={required:!0,type:r.Property,id:aT,version:1,name:"disclamer",description:null,index:0,dataType:HS,implements:null,static:!1,private:!1,abstract:!1,parent:YS},ZS={type:r.GenericReference,id:"chart-name-property-data-type-parent-ref-id",entityType:r.Property,entityId:sT},XS={id:"chart-name-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:ZS},QS={type:r.GenericReference,id:"chart-name-property-parent-ref-id",entityType:r.CustomEntity,entityId:Li},KS={required:!0,type:r.Property,id:sT,version:1,name:"chartName",description:null,index:0,dataType:XS,implements:null,static:!1,private:!1,abstract:!1,parent:QS},eO={type:r.GenericReference,id:"bpi-property-data-type-parent-ref-id",entityType:r.Property,entityId:oT},tO={id:"bpi-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mT,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:eO},nO={type:r.GenericReference,id:"bpi-property-parent-ref-id",entityType:r.CustomEntity,entityId:Li},rO={required:!0,type:r.Property,id:oT,version:1,name:"bpi",description:null,implements:null,index:0,dataType:tO,static:!1,private:!1,abstract:!1,parent:nO},iO={type:r.GenericReference,id:"bitcoin-api-response-parent-ref-id",entityType:r.Project,entityId:J},TT={type:r.CustomEntity,id:Li,version:1,name:"Bitcoin API Response type",description:"The type of the data structure response from the Bitcoin API call",properties:[JS,zS,KS,rO],abstract:!1,static:!1,abstractMethods:[],methods:[],extends:[],implements:[],x:0,y:0,parent:iO},aO={type:r.GenericReference,id:"eefa0147-f873-484b-b4f3-9e6493aab183",entityType:r.ArgumentDeclaration,entityId:"f2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},sO={id:"b9f35112-dcb2-4b7c-8fb9-f196b3fa37f9",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:aO},oO={type:r.GenericReference,id:"128770d6-5e3a-4aff-bca0-ad1f32ebefa8",entityType:r.ReturnStatement,entityId:"e4e05975-c277-471a-b869-f0aed316045c"},lO={type:r.GenericReference,id:"0be84bf9-6421-42b9-980f-6a03f30cb809",entityType:r.ReturnDeclaration,entityId:"a1ec31f0-25ca-42ac-a4c4-c9ec2255f55b"},cO={id:"43daa02a-237b-4b7c-a6e9-2b8c167f6e22",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:lO},dO={type:r.GenericReference,id:"ad380383-4a47-43da-968e-75a2d603b230",entityType:r.ArgumentDeclaration,entityId:"f2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},ET={isError:!1,id:"a1ec31f0-25ca-42ac-a4c4-c9ec2255f55b",type:r.ReturnDeclaration,version:1,name:"New Company Owner",description:"The new owner of the company",dataType:cO,readsValue:dO,required:!0,index:0,parent:oO},uO={type:r.GenericReference,id:"4f24dc27-59a1-49bf-abcc-7d72b00926e4",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},pO={id:"f2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a",type:r.ArgumentDeclaration,version:1,name:"New Company Owner",description:null,dataType:sO,writesValues:[ET],required:!0,index:0,parent:uO},yO={type:r.GenericReference,id:"5c9a02f0-d2cf-4efc-828e-467f33a74dd3",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},hO={type:r.GenericReference,id:"2ff8f3da-e0c5-4f0f-b688-2c051c588786",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},fO={type:r.GenericReference,id:"195ae28c-159b-42de-80b1-2ebb8be3619f",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},RT={type:r.ReturnStatement,id:"e4e05975-c277-471a-b869-f0aed316045c",version:1,outputs:[ET],calledByError:[],calledByEntry:[hO],calledBySuccess:[],throws:null,x:0,y:0,parent:fO},mO={type:r.FunctionDeclaration,id:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4",version:1,name:"Change owner of company",description:"Change the owner of the company to a new person",inputs:[pO],calls:[RT],index:0,collapsed:!1,implements:null,returnStatements:[RT],private:!1,x:0,y:0,parent:yO},TO={type:r.GenericReference,id:"e691026f-6db0-43ec-93cd-805ae7d713e3",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},EO={type:r.GenericReference,id:"29c4e3e0-1b66-4075-b559-45b27c5cf356",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},RO={type:r.GenericReference,id:"b1289358-b185-455d-8f58-7791b15cd52a",entityType:r.ReturnStatement,entityId:"9690cd1d-ea35-4e83-823d-0c7310265fee"},bO={type:r.GenericReference,id:"d847bb49-8789-4550-bb2d-e2d551993b28",entityType:r.VariableDeclaration,entityId:"e5a8b6d0-0e6f-4e9a-9b1e-8a2b5c7f0d5a"},vO={type:r.GenericReference,id:"06535500-c37c-4915-8398-1d4e184fa5e7",entityType:r.ReturnDeclaration,entityId:"e7a35277-a0c4-46d5-aca2-bddd0c26e931"},gO={id:"d358dd91-35f7-4095-b728-3fb3c71dbc05",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Un,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:vO},ml={isError:!1,id:"e7a35277-a0c4-46d5-aca2-bddd0c26e931",type:r.ReturnDeclaration,version:1,name:"Is name registered",description:"Whether the company name is already registered",dataType:gO,readsValue:bO,required:!0,index:0,parent:RO},bT={type:r.ReturnStatement,id:"9690cd1d-ea35-4e83-823d-0c7310265fee",version:1,outputs:[ml],calledByError:[],calledByEntry:[],calledBySuccess:[TO],throws:null,x:0,y:0,parent:EO},IO={type:r.GenericReference,id:"b3126414-4c9b-495f-901e-59f5073c8d67",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},PO={type:r.GenericReference,id:"35115c48-618b-411b-a290-d746d22fdd10",entityType:r.VariableDeclaration,entityId:"83e12ebb-c958-4dee-b750-8ab9930f0f4e"},vT={id:"a0e7b4e5-2f5f-4d4c-8f5c-1e1f1e1a1b1a",type:r.InputMap,version:1,declaration:Vo,name:null,description:null,dynamicArguments:[],readsValue:PO,defaultValue:null,parent:IO,index:2},DO={type:r.GenericReference,id:"14f46eae-04a5-47d1-9c7f-28fb09b84d1d",entityType:r.VariableDeclaration,entityId:"e5a8b6d0-0e6f-4e9a-9b1e-8a2b5c7f0d5a"},AO={id:"990bd5d1-07ea-4253-acc1-d03bedd22a38",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Un,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:DO},SO={type:r.GenericReference,id:"e4c3542a-8fb0-4b72-8d6e-3fdff812dd67",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},OO={type:r.GenericReference,id:"825f9f60-22a8-4cc6-9055-d7333f8e92f4",entityType:r.OutputMap,entityId:"8f30d787-9459-4d8d-98a2-b46fbc2006d5"},CO={type:r.GenericReference,id:"is-company-name-registered-var-called-by-ref",entityType:r.Operation,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},gT={type:r.VariableDeclaration,id:"e5a8b6d0-0e6f-4e9a-9b1e-8a2b5c7f0d5a",version:1,name:"Is name registered",description:"Whether the company name is registered with the government company registry",dataType:AO,readsValue:OO,writesValues:[ml],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[CO],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:SO},BO={type:r.GenericReference,id:"1aba021e-48ef-44ac-93d0-eaecac5895da",entityType:r.InputMap,entityId:"c3c8d6c1-3e0d-4e6c-9f9c-6b8c7d7f8e9a"},wO={type:r.GenericReference,id:"dffae7e0-0a5c-4c14-8ed2-8d680b4c4c86",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},_O={type:r.InputMap,id:"c3c8d6c1-3e0d-4e6c-9f9c-6b8c7d7f8e9a",version:1,declaration:ga,name:null,description:null,readsValue:null,defaultValue:{id:"gov-http-request-url-argument-default-value-id",type:r.PrimitiveValue,version:1,value:"https://api.publicapis.org/entries",name:g.String,valueAsType:null,parent:BO,autogeneration:null},index:1,dynamicArguments:[],parent:wO},MO={type:r.GenericReference,id:"64ae61f5-ace7-401b-926d-25f852daa60e",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},NO={id:"8f30d787-9459-4d8d-98a2-b46fbc2006d5",type:r.OutputMap,version:1,declaration:hi,index:2,writesValues:[gT],parent:MO},$O={type:r.GenericReference,id:"62a1a086-caea-4270-9c9f-a1695503e745",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},VO={id:"48cf7654-8f3e-4fcd-abc6-740876c310a0",type:r.InputMap,version:1,declaration:va,name:null,description:null,dynamicArguments:[],readsValue:null,index:0,defaultValue:null,parent:$O},LO={type:r.GenericReference,id:"b0c9c79f-f525-428d-99e7-087d3237ad62",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},GO={id:"2c1dc406-4b71-4023-87b2-abede3a111d2",type:r.InputMap,version:1,name:null,description:null,declaration:Ia,dynamicArguments:[],index:3,readsValue:null,defaultValue:null,parent:LO},FO={type:r.GenericReference,id:"9887d6c9-d75b-4c97-b722-e2e60945ea20",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},UO={id:"3fef94b2-0278-43ae-b0c5-bc7083f0a111",type:r.InputMap,version:1,declaration:Pa,name:null,description:null,dynamicArguments:[],readsValue:null,index:4,defaultValue:null,parent:FO},xO={type:r.GenericReference,id:"561275b6-5056-45d8-bf7d-8abaa4645593",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},jO={id:"3efe20a7-4d63-411e-89ef-63e277f48d66",type:r.OutputMap,version:1,declaration:Da,index:1,writesValues:[],parent:xO},kO={type:r.GenericReference,id:"3170ccc2-13de-4bfc-802a-a643be41cd42",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},qO={id:"40d34323-d7e6-440a-8016-67c05a3b66dd",type:r.OutputMap,version:1,declaration:hi,index:0,writesValues:[],parent:kO},JO={type:r.GenericReference,id:"7432fa82-f574-4c54-a8fa-4cc4376da3d5",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},WO={type:r.GenericReference,id:"8f518502-9eea-462c-8753-8bc3bf3e29a9",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},HO={type:r.GenericReference,id:"123b8f18-79d9-4166-a5f6-78ec4b461680",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},YO={type:r.GenericReference,id:"e691026f-6db0-43ec-93cd-805ae7d713e3",entityType:r.FunctionCall,entityId:"abb5d456-ee85-4800-bdd9-d409415f60d7"},zO={type:r.GenericReference,id:"a375eedf-4811-41aa-a998-4897c69c46b9",entityType:r.ReturnDeclaration,entityId:"024a9b77-c1cd-4b67-b3ba-1935046b590d"},ZO={id:"767cc5ed-20ec-4fd1-89b1-c8d19daa87d1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:zO},XO={type:r.GenericReference,id:"e64b0c23-129d-4d74-8ab4-eec60e1e5b9b",entityType:r.ReturnStatement,entityId:"ea444a9e-6a5b-4138-b81f-0d5618c3c6f3"},IT={isError:!0,id:"024a9b77-c1cd-4b67-b3ba-1935046b590d",type:r.ReturnDeclaration,version:1,name:"Error",description:"The error that occurred during the HTTP request to the government company registry",dataType:ZO,required:!0,readsValue:null,index:0,parent:XO},QO={type:r.ReturnStatement,id:"ea444a9e-6a5b-4138-b81f-0d5618c3c6f3",version:1,outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[YO],throws:IT,x:0,y:0,parent:HO},KO={type:r.GenericReference,id:"323814fb-9723-49ef-bbba-f882384f18e4",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},eC={id:"2f63f7ba-0ff0-458a-92bc-65d1dd4df8c3",type:r.OutputMap,declaration:Go,version:1,writesValues:[IT],index:0,parent:KO},tC={type:r.Operation,id:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7",version:1,declaration:fi,inputs:[VO,_O,vT,GO,UO],outputs:[qO,jO,NO],process:null,calledByError:[],calledByEntry:[JO],calledBySuccess:[],successCalls:[bT,gT],errorCalls:[QO],error:eC,dynamicArguments:[],x:0,y:0,parent:WO},nC={type:r.GenericReference,id:"597b8aa2-f6f2-4f7d-bbb9-b703d02de96a",entityType:r.InputMap,entityId:"b0e7b4e5-2f5f-4d4c-8f5c-1e1f1e1a1b1a"},rC={type:r.GenericReference,id:"546d99b3-28c4-4186-93a0-ac53c1565e07",entityType:r.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},iC={id:"b0e7b4e5-2f5f-4d4c-8f5c-1e1f1e1a1b1a",type:r.InputMap,version:1,declaration:Ea,name:null,description:null,readsValue:null,defaultValue:{id:"base-query-string-map-default-value-id",type:r.PrimitiveValue,version:1,value:"?name=",name:g.String,parent:nC,valueAsType:null,autogeneration:null},dynamicArguments:[],index:0,parent:rC},aC={type:r.GenericReference,id:"6a56fb22-82e1-47c9-bf85-41c4e5986c74",entityType:r.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},sC={type:r.GenericReference,id:"191c6a6d-9bcb-441e-bf98-de0da96f5f3a",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},oC={type:r.GenericReference,id:"d8fcbb76-dae2-40cf-847a-02364721b387",entityType:r.VariableDeclaration,entityId:"83e12ebb-c958-4dee-b750-8ab9930f0f4e"},lC={id:"6a70c42b-024a-47c6-8a9d-af52be9c9b9a",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:oC},cC={type:r.GenericReference,id:"2282e2c0-ed9e-4c7b-86fc-1a364fa0fdb8",entityType:r.OutputMap,entityId:"f6c22cf8-63e4-4b2d-b649-b5ab884cf9a5"},dC={type:r.GenericReference,id:"assembled-query-string-called-by-ref",entityType:r.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},PT={type:r.VariableDeclaration,id:"83e12ebb-c958-4dee-b750-8ab9930f0f4e",version:1,name:"Query string",description:"The final, assembled query string that will be used in the HTTP request to the government company registry",dataType:lC,readsValue:cC,writesValues:[vT],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[dC],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:sC},uC={id:"f6c22cf8-63e4-4b2d-b649-b5ab884cf9a5",type:r.OutputMap,version:1,writesValues:[PT],declaration:pi,index:0,parent:aC},pC={type:r.GenericReference,id:"a1b48e7c-0301-4747-b4dd-b5af79956f7f",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},yC={type:r.GenericReference,id:"487c9235-be95-4c96-b9b5-2714b374a277",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},hC={type:r.GenericReference,id:"f6471f4f-b269-46fa-80ec-885e87a449c2",entityId:"a4106e8e-ec4f-4633-a636-09ae73135f69",entityType:r.ArgumentDeclaration},fC={type:r.GenericReference,id:"62b4afb0-6c21-4b0f-abd3-cebef7b17c28",entityType:r.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},DT={id:"08f36e2b-bad2-425c-8129-93560bec8488",version:1,type:r.InputMap,declaration:Ra,name:null,description:null,readsValue:hC,dynamicArguments:[],defaultValue:null,index:1,parent:fC},mC={type:r.Operation,id:"8f2094c0-e27e-465e-9280-112da0de9019",declaration:yi,version:1,inputs:[iC,DT],outputs:[uC],process:null,calledByError:[],calledByEntry:[pC],calledBySuccess:[],dynamicArguments:[],successCalls:[PT],errorCalls:[],error:null,x:0,y:0,parent:yC},TC={type:r.GenericReference,id:"c2e0e9b4-aa46-4974-bf8a-886b737b12fb",entityType:r.ArgumentDeclaration,entityId:"a4106e8e-ec4f-4633-a636-09ae73135f69"},EC={id:"a4279518-3bf3-44b7-a2ac-65142ca37f1c",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:TC},RC={type:r.GenericReference,id:"dc273f24-164b-4943-82f9-589b237141e2",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},AT={id:"a4106e8e-ec4f-4633-a636-09ae73135f69",type:r.ArgumentDeclaration,version:1,name:"Company Name to check",description:"The name of the company to check in the government registry",dataType:EC,required:!1,writesValues:[DT],index:0,parent:RC},bC={type:r.GenericReference,id:"2178a10c-1cc0-4dad-97c3-0941be6c9738",entityType:r.Project,entityId:J},ST={type:r.FunctionDeclaration,id:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d",version:1,name:"Check Gov Company Registry availability",description:"Check whether the company name is already registered in the government company registry, or it is available for a new company to use.",inputs:[AT],calls:[mC,tC],returnStatements:[bT],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:bC},vC={type:r.GenericReference,id:"4d66c53c-f0f7-496a-9955-1e6c8533c5e0",entityType:r.Condition,entityId:"a8f4b0f2-5e5e-4e8f-9d7b-1b5b9b6e9a4b"},gC={type:r.GenericReference,id:"6fa0c8e0-d104-4b4d-a035-d4f6e0c49f09",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},IC={type:r.GenericReference,id:"146408d5-5336-4877-941a-777dd5871926",entityType:r.ArgumentDeclaration,entityId:"c6cf620c-1eee-4919-8578-1a0b6c088551"},PC={type:r.GenericReference,id:"34ae8f8c-548d-4654-984a-6f36affdaf49",entityType:r.FunctionCall,entityId:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},OT={id:"69b1215d-9ebf-4274-b9cb-d4a5888f5122",version:1,type:r.InputMap,declaration:AT,name:null,description:null,readsValue:IC,dynamicArguments:[],defaultValue:null,index:0,parent:PC},DC={type:r.GenericReference,id:"07540a94-dda1-40b3-8452-f209bdc87b88",entityType:r.FunctionCall,entityId:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},AC={type:r.GenericReference,id:"eaddf12a-a995-429e-90a0-13bf06efeb28",entityType:r.VariableDeclaration,entityId:"faaf3bf6-917d-40d7-aee6-5164f6646c4b"},SC={id:"7fdaf943-3ffb-48e0-b766-b86cc24090cf",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Un,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:AC},OC={type:r.GenericReference,id:"030fb5c5-af4d-4c85-8cf0-e99edd50d2bd",entityType:r.OutputMap,entityId:"c1ec31f0-25ca-42ac-a4c4-c9ec2255f55b"},CC={type:r.GenericReference,id:"a8b618e9-c68c-48c1-8bd6-ef47c87d699e",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},BC={type:r.GenericReference,id:"is-company-name-valid-var-called-by-ref",entityType:r.FunctionCall,entityId:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},CT={type:r.VariableDeclaration,id:"faaf3bf6-917d-40d7-aee6-5164f6646c4b",version:1,name:"Is name valid",description:"Whether the company name is valid",dataType:SC,readsValue:OC,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[BC],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:CC},wC={id:"c1ec31f0-25ca-42ac-a4c4-c9ec2255f55b",type:r.OutputMap,version:1,declaration:ml,writesValues:[CT],index:0,parent:DC},_C={type:r.FunctionCall,id:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a",version:1,declaration:ST,inputs:[OT],outputs:[wC],calledByError:[],calledByEntry:[],process:null,calledBySuccess:[vC],successCalls:[CT],errorCalls:[],error:null,x:0,y:0,parent:gC},MC={type:r.GenericReference,id:"9d0b87b4-bfed-4e02-9e84-6831c21feae2",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},NC={type:r.GenericReference,id:"74345f4f-e80d-48be-adff-d12fcea25bec",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},$C={type:r.GenericReference,id:"b39279ea-969a-4efb-a9ec-353bfd13db65",entityType:r.ArgumentDeclaration,entityId:"c6cf620c-1eee-4919-8578-1a0b6c088551"},VC={type:r.GenericReference,id:"549db613-f225-4c5b-9634-7d096717f0ff",entityType:r.Condition,entityId:"a8f4b0f2-5e5e-4e8f-9d7b-1b5b9b6e9a4b"},BT={id:"358e242c-7448-442e-ab8b-fd7fa119ea71",version:1,type:r.InputMap,declaration:qn.fixedArguments[0],name:null,description:null,dynamicArguments:[],readsValue:$C,defaultValue:null,index:0,parent:VC},LC={type:r.Condition,id:"a8f4b0f2-5e5e-4e8f-9d7b-1b5b9b6e9a4b",version:1,declaration:qn,inputs:[BT],calledByError:[],calledByEntry:[MC],calledBySuccess:[],successCalls:[_C],errorCalls:[],x:0,y:0,parent:NC},GC={type:r.GenericReference,id:"43ba1e25-f805-488f-8ae8-c58bb6215b2f",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},FC={type:r.GenericReference,id:"eb091bed-507f-4a1e-93b5-7cd2fccfe002",entityType:r.VariableDeclaration,entityId:"9c928995-0dd5-4f97-9962-56b343bc8a45"},UC={id:"d64152ea-831f-4426-9506-a39bfa170513",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Gr,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:FC},xC={type:r.GenericReference,id:"7e79c29f-f7bd-441a-a77e-c627604dae94",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},jC={type:r.GenericReference,id:"8995ce5f-d5cf-4341-a8b1-5c046cc78b89",entityType:r.ArgumentDeclaration,entityId:"7ed0f7bb-2df0-44e2-b0b3-0709dcca8071"},kC={type:r.GenericReference,id:"new-company-bank-account-var-decl-1-called-by-ref",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},wT={type:r.VariableDeclaration,id:"9c928995-0dd5-4f97-9962-56b343bc8a45",version:1,name:"New bank account",description:"The new entity value representing the new bank account of the company",dataType:UC,readsValue:jC,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[kC],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:xC},qC={type:r.GenericReference,id:"9a4887bf-d50d-43e4-bdd5-a5262f65f04b",entityType:r.ArgumentDeclaration,entityId:"7ed0f7bb-2df0-44e2-b0b3-0709dcca8071"},JC={id:"ae148c06-3143-49e9-9614-c3aca3f6fa7b",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Gr,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:qC},WC={id:"7ed0f7bb-2df0-44e2-b0b3-0709dcca8071",type:r.ArgumentDeclaration,version:1,name:"New bank account",description:"The new bank account of the company",dataType:JC,required:!0,index:1,writesValues:[wT],parent:GC},HC={type:r.GenericReference,id:"caec9cf8-3133-48d4-a390-114fa71b2933",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},YC={type:r.GenericReference,id:"cebcbad8-ca87-4c4b-be8a-312293d49892",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},zC={type:r.GenericReference,id:"7b8ccfe5-f9cd-4776-a19b-80c689bbe3df",entityType:r.ArgumentDeclaration,entityId:"c6cf620c-1eee-4919-8578-1a0b6c088551"},ZC={id:"2a6b4703-ac8d-4d25-8abd-48a115577fec",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:zC},XC={id:"c6cf620c-1eee-4919-8578-1a0b6c088551",type:r.ArgumentDeclaration,version:1,name:"New company name",description:null,dataType:ZC,required:!0,index:0,writesValues:[BT,OT],parent:YC},QC={type:r.FunctionDeclaration,id:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84",version:1,name:"Company changed event",description:"The event that is triggered when a company is changed",returnStatements:[],collapsed:!1,inputs:[XC,WC],calls:[LC,wT],index:1,private:!1,implements:null,x:0,y:0,parent:HC},KC={type:r.GenericReference,id:"employee-manager-property-data-type-entity-ref-id",entityType:r.CustomEntity,entityId:"employee-entity-id"},eB={type:r.GenericReference,id:"employee-manager-property-data-type-parent-ref-id",entityType:r.Property,entityId:"employee-manager-property-id"},tB={id:"employee-manager-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:KC,isList:!1,isNullable:!0,asType:!1,defaultValue:null,constant:!1,parent:eB},nB={type:r.GenericReference,id:"employee-manager-property-parent-ref-id",entityType:r.CustomEntity,entityId:"employee-entity-id"},rB={required:!0,type:r.Property,id:"employee-manager-property-id",version:1,name:"Manager",description:"The manager of the employee",index:0,implements:null,private:!1,static:!1,dataType:tB,abstract:!1,parent:nB},iB={type:r.GenericReference,id:"employee-start-date-property-data-type-parent-ref-id",entityType:r.Property,entityId:"employee-start-date-property-id"},aB={id:"employee-start-date-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Or,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:iB},sB={type:r.GenericReference,id:"employee-start-date-property-parent-ref-id",entityType:r.CustomEntity,entityId:"employee-entity-id"},oB={required:!0,type:r.Property,id:"employee-start-date-property-id",version:1,name:"Start date",description:"The date the employee started working in the company",index:0,private:!1,static:!1,implements:null,dataType:aB,abstract:!1,parent:sB},lB={type:r.GenericReference,id:"employee-department-property-ref-id",entityType:r.Property,entityId:"employee-department-property-id"},cB={id:"employee-department-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rn,isList:!1,isNullable:!1,asType:!1,options:["Human Resources","Finance","IT","Sales","Marketing","Customer Service","Logistics","Product"],defaultValue:null,constant:!1,parent:lB},dB={type:r.GenericReference,id:"employee-department-property-parent-ref-id",entityType:r.CustomEntity,entityId:"employee-entity-id"},uB={required:!0,type:r.Property,id:"employee-department-property-id",version:1,name:"Department",description:"The department the employee works in, from a list of departments in the company",index:0,implements:null,static:!1,private:!1,dataType:cB,abstract:!1,parent:dB},pB={type:r.GenericReference,id:"employee-prototype-parent-ref-id",entityType:r.Project,entityId:J},It={type:r.CustomEntity,id:"employee-entity-id",version:1,name:"Employee",description:"A entity that represents an employee in the company",properties:[uB,oB,rB],abstract:!1,static:!1,abstractMethods:[],methods:[],implements:[],extends:[ct],x:0,y:0,parent:pB},yB={type:r.GenericReference,id:"dec8fbfe-9124-41fd-9f1c-5b2f07cfd6ba",entityType:r.Property,entityId:"4f52d044-f3dd-4bdf-927e-637c3b92e8bd"},hB={id:"bc0b8979-6c43-4d47-a712-6742b89e3c00",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:yB},fB={type:r.GenericReference,id:"4f8c0a05-466e-4672-b4c4-6bd408c0be9a",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},mB={required:!0,type:r.Property,id:"4f52d044-f3dd-4bdf-927e-637c3b92e8bd",version:1,name:"Company Name",private:!1,static:!1,description:"The name of the company",index:0,implements:null,dataType:hB,abstract:!1,parent:fB},TB={type:r.GenericReference,id:"95173fe0-a6e6-443c-94f3-f7c5cf171fcf",entityType:r.Property,entityId:"80c86e1b-caca-4ba5-9b1f-38f72d10e4a3"},EB={id:"ddbb6f5c-0cf4-41fb-83b3-b6c47c0e338d",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Gr,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:TB},RB={type:r.GenericReference,id:"6a9a0b72-a05d-4169-b3f3-5afb01e8d0df",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},Tl={required:!0,type:r.Property,id:"80c86e1b-caca-4ba5-9b1f-38f72d10e4a3",version:1,name:"Bank account",description:"The bank account of the company",index:1,implements:null,static:!1,private:!1,dataType:EB,abstract:!1,parent:RB},bB={type:r.GenericReference,id:"62892cc6-d227-4088-90d3-ae7c15ed4af4",entityType:r.Property,entityId:"19a31727-1fba-40a5-be25-18e0f149d5cb"},vB={id:"1f7629df-dc29-4c89-8369-c6d043e97a9e",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:bB},gB={type:r.GenericReference,id:"89384206-fd5a-4f0a-849c-f777473e5773",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},IB={required:!0,type:r.Property,id:"19a31727-1fba-40a5-be25-18e0f149d5cb",version:1,name:"Company Owner",description:"The person that owns the company",index:2,static:!1,implements:null,dataType:vB,private:!0,abstract:!1,parent:gB},PB={type:r.GenericReference,id:"4d2ffb6c-5f38-436e-8339-fb9878ac2b5e",entityType:r.Property,entityId:"f8310850-a87e-405c-b182-4f1d5fa49240"},DB={id:"ad44250b-40c2-48f7-a480-381fa938f562",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:It,isList:!0,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:PB},AB={type:r.GenericReference,id:"aa5d4eee-6fac-4e72-bf21-9c8750024541",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},SB={required:!0,type:r.Property,id:"f8310850-a87e-405c-b182-4f1d5fa49240",version:1,name:"Employees",description:null,index:3,dataType:DB,implements:null,private:!0,static:!1,abstract:!1,parent:AB},OB={type:r.GenericReference,id:"e3c03b6b-2ea0-4d99-865d-5e6a348672d0",entityType:r.Project,entityId:J},mt={type:r.CustomEntity,id:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d",version:1,name:"Company",description:null,properties:[mB,Tl,IB,SB],static:!1,abstract:!1,abstractMethods:[],methods:[mO,QC],extends:[],implements:[Be],x:0,y:0,parent:OB},CB={type:r.GenericReference,id:"ffcad334-138d-4b67-8fb3-5f0e6f5fefbd",entityType:r.Project,entityId:J},El={type:r.FunctionDeclaration,id:"0f89260c-8c58-4639-8629-d9ea5ab40ba7",version:1,name:"Show popup",description:null,inputs:[],calls:[],returnStatements:[],implements:null,collapsed:!1,private:!1,index:null,x:0,y:0,parent:CB};r.GenericReference,r.DataType;const BB={id:"cron-job-entity-expression-property-ref-id",type:r.GenericReference,entityId:"cron-job-entity-expression-property-id",entityType:r.Property},wB={id:"cron-job-entity-expression-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:BB},_B={id:"cron-job-entity-ref-id",type:r.GenericReference,entityId:"cron-job-entity-id",entityType:r.CustomEntity},MB={required:!0,id:"cron-job-entity-expression-property-id",type:r.Property,version:1,name:"Cron expression",description:"The cron expression that defines when the cron job should be triggered",dataType:wB,implements:null,static:!0,private:!1,abstract:!1,index:0,parent:_B},NB={id:"cron-job-entity-trigger-show-popup-func-call-called-by-ref-one-id",type:r.GenericReference,entityId:"show-popup-func-decl-id",entityType:r.FunctionDeclaration},$B={id:"cron-job-entity-trigger-show-popup-func-call-parent-ref-id",type:r.GenericReference,entityId:"cron-job-entity-trigger-func-decl-id",entityType:r.FunctionDeclaration},VB={id:"cron-job-entity-trigger-show-popup-func-call-id",version:1,type:r.FunctionCall,declaration:El,inputs:[],outputs:[],process:null,successCalls:[],calledByError:[],calledByEntry:[NB],calledBySuccess:[],errorCalls:[],error:null,x:0,y:0,parent:$B},LB={id:"cron-job-entity-trigger-func-decl-parent-ref-id",type:r.GenericReference,entityId:"cron-job-entity-id",entityType:r.CustomEntity},GB={id:"cron-job-entity-trigger-func-decl-id",version:1,type:r.FunctionDeclaration,name:"Scheduled trigger",description:"The function that is called when the cron job is triggered",inputs:[],private:!1,implements:qo,calls:[VB],collapsed:!1,returnStatements:[],index:0,x:0,y:0,parent:LB},FB={id:"cron-job-entity-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},UB={id:"cron-job-entity-id",version:1,type:r.CustomEntity,name:"Run at 12pm on Christmas day",description:"A cron job that runs at 12pm on Christmas day",properties:[MB],static:!0,abstract:!1,abstractMethods:[],extends:[Jo],implements:[],methods:[GB],x:0,y:0,parent:FB},xB={type:r.GenericReference,id:"52dbd85c-48b1-462a-8205-2437d6fb1cb4",entityType:r.Project,entityId:J},jB={type:r.CustomEntity,id:"6f0908c2-09c6-4a8b-8f43-d2467fe6fb39",version:1,name:"Get bank all bank accounts",description:null,properties:[],static:!0,abstract:!1,abstractMethods:[],methods:[],extends:[],implements:[Oa],x:0,y:0,parent:xB},_T="f558fbf8-67de-4545-9804-6ae621e0b2d4",kB={id:"getCompanyByIdEndpointPathParamsVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointPathParamsVariableDataType"},qB={id:"getCompanyByIdEndpointPathParamsArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"getCompanyByIdEndpointPathParamsArgumentDeclaration"},JB={id:"getCompanyByIdEndpointPathParamsVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:F,asType:!1,defaultValue:{id:"getCompanyByIdEndpointPathParamsVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:kB,autogeneration:null,valueAsType:null},parent:qB},WB={id:"getCompanyByIdEndpointReachedEntityEventRef",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},HB={id:"getCompanyByIdEndpointRequestHeadersVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointRequestHeadersVariableDataType"},YB={id:"getCompanyByIdEndpointRequestHeadersArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"getCompanyByIdEndpointRequestHeadersArgumentDeclaration"},zB={id:"getCompanyByIdEndpointRequestHeadersVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Xe,asType:!1,defaultValue:{id:"getCompanyByIdEndpointRequestHeadersVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:HB,autogeneration:null,valueAsType:null},parent:YB},ZB={id:"getCompanyByIdEndpointRequestHeadersArgumentDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the request.",type:r.ArgumentDeclaration,writesValues:[],name:"Request headers",dataType:zB,required:!0,index:0,parent:WB},XB={id:"getCompanyByIdEndpointReachedEntityEventRefTwo",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},QB={id:"getCompanyByIdEndpointPathParamsArgumentDeclaration",type:r.ArgumentDeclaration,description:"A standarized text, without spaces that is added at the end of the domain and routes the request to a specific resource within the target server. For example: /api/users/123, /api/users/123/:name, /api/users/123/:name/:age.",version:1,name:"Path parameters",writesValues:[],dataType:JB,required:!0,index:1,parent:XB},KB={id:"getCompanyByIdEndpointReachedEntityEventRefThree",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},ew={id:"getCompanyByIdEndpointRequestQueryParamsVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointRequestQueryParamsVariableDataType"},tw={id:"getCompanyByIdEndpointRequestQueryParamsArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"getCompanyByIdEndpointRequestQueryParamsArgumentDeclaration"},nw={id:"getCompanyByIdEndpointRequestQueryParamsVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,asType:!1,entity:F,defaultValue:{id:"getCompanyByIdEndpointRequestQueryParamsVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:ew,autogeneration:null,valueAsType:null},parent:tw},rw={id:"getCompanyByIdEndpointRequestQueryParamsArgumentDeclaration",version:1,description:"A text with standarized format, without spaces that is added at the end of the URL path, after the ? character. It contains data that might be used to process the request. For example: /api/users?name=John&age=30",type:r.ArgumentDeclaration,writesValues:[],name:"Request query params",dataType:nw,required:!0,index:2,parent:KB},iw={id:"getCompanyByIdEndpointReachedEntityEventRefFour",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},aw={id:"getCompanyByIdEndpointRequestBodyArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"getCompanyByIdEndpointRequestBodyArgumentDeclaration"},sw={id:"getCompanyByIdEndpointRequestBodyVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:Xe,defaultValue:null,parent:aw},ow={id:"getCompanyByIdEndpointRequestBodyArgumentDeclaration",version:1,description:"The main data payload of the request.",type:r.ArgumentDeclaration,writesValues:[],name:"Request body",dataType:sw,index:3,required:!0,parent:iw},lw={id:"getCompanyByIdEndpointResponseCodeReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"getCompanyByIdEndpointResponseCodeReturnDeclaration"},cw={id:"9ba575b0-6f8e-436d-a3de-3b843622aa17",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:lw},dw={id:"getCompanyByIdEndpointReturnStatementRef",type:r.GenericReference,entityType:r.ReturnStatement,entityId:"getCompanyByIdEndpointReturnStatement"},uw={isError:!1,id:"getCompanyByIdEndpointResponseCodeReturnDeclaration",version:1,description:"A standarized number that represents the status of the response. 200 for OK, 404 for not found, 500 for server error, etc.",type:r.ReturnDeclaration,name:"Response code",dataType:cw,readsValue:null,required:!0,index:0,parent:dw},pw={id:"getCompanyByIdEndpointResponseHeadersDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointResponseHeadersDataType"},yw={id:"getCompanyByIdEndpointResponseHeadersReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"getCompanyByIdEndpointResponseHeadersReturnDeclaration"},hw={id:"getCompanyByIdEndpointResponseHeadersDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Xe,asType:!1,defaultValue:{id:"getCompanyByIdEndpointResponseHeadersDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:pw,autogeneration:null,valueAsType:null},parent:yw},fw={id:"getCompanyByIdEndpointReturnStatementRefTwo",type:r.GenericReference,entityType:r.ReturnStatement,entityId:"getCompanyByIdEndpointReturnStatement"},mw={isError:!1,id:"getCompanyByIdEndpointResponseHeadersReturnDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the response.",type:r.ReturnDeclaration,name:"Response headers",dataType:hw,readsValue:null,required:!0,index:1,parent:fw},Tw={id:"getCompanyByIdEndpointResponseBodyReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"getCompanyByIdEndpointResponseBodyReturnDeclaration"},Ew={id:"getCompanyByIdEndpointResponseBodyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:Xe,defaultValue:null,parent:Tw},Rw={id:"getCompanyByIdEndpointReturnStatementRefThree",type:r.GenericReference,entityType:r.ReturnStatement,entityId:"getCompanyByIdEndpointReturnStatement"},bw={isError:!1,id:"getCompanyByIdEndpointResponseBodyReturnDeclaration",version:1,description:"The main data payload of the response.",type:r.ReturnDeclaration,name:"Response body",dataType:Ew,readsValue:null,required:!0,index:2,parent:Rw},vw={id:"getCompanyByIdEndpointReturnStatementCallerRef",type:r.GenericReference,entityId:"getCompanyByIdEndpointReachedEntityEvent",entityType:r.FunctionDeclaration},gw={id:"getCompanyByIdEndpointReachedEntityEventRefFive",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},Iw={id:"getCompanyByIdEndpointReturnStatement",type:r.ReturnStatement,version:1,outputs:[uw,mw,bw],calledByError:[],calledByEntry:[vw],calledBySuccess:[],throws:null,x:0,y:0,parent:gw},Pw={id:"endpointBuiltInBaseEntityRefFour",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_T},Dw={id:"getCompanyByIdEndpointReachedEntityEvent",name:"Endpoint reached",version:1,type:r.FunctionDeclaration,inputs:[ZB,QB,rw,ow],returnStatements:[Iw],description:"Fired when the endpoint is reached.",calls:[],collapsed:!1,implements:jo,index:0,private:!1,x:0,y:0,parent:Pw},Aw={id:"getCompanyByIdEndpointPathPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointPathPropertyDataType"},Sw={id:"getCompanyByIdEndpointPathPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:"getCompanyByIdEndpointPathProperty"},Ow={id:"getCompanyByIdEndpointPathPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"getCompanyByIdEndpointPathPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.String,value:"/company/{id}",parent:Aw,valueAsType:null,autogeneration:null},parent:Sw},Cw={id:"getCompanyByIdEndpointBaseEntityRefTwo",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},Bw={required:!0,id:"getCompanyByIdEndpointPathProperty",name:"Path",version:1,type:r.Property,private:!1,abstract:!1,static:!0,implements:Uo,dataType:Ow,index:1,description:"Path to the endpoint, for example /api/users, or /api/users/{id}, or /api/users/{id}/:name. The path can contain parameters, which are defined by curly braces, and will be passed to the endpoint event as variables with the same name.",parent:Cw},ww={id:"getCompanyByIdEndpointMethodPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointMethodPropertyDataType"},_w={id:"getCompanyByIdEndpointMethodPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:"getCompanyByIdEndpointMethodProperty"},Mw={id:"getCompanyByIdEndpointMethodPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Rn,isList:!0,isNullable:!1,constant:!0,asType:!1,defaultValue:{id:"getCompanyByIdEndpointMethodPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,value:"GET",name:g.Enum,parent:ww,valueAsType:null,autogeneration:null},options:["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","TRACE","CONNECT","CUSTOM"],parent:_w},Nw={id:"getCompanyByIdEndpointBaseEntityRefThree",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},$w={required:!0,id:"getCompanyByIdEndpointMethodProperty",name:"Method",version:1,type:r.Property,private:!1,abstract:!1,static:!0,implements:xo,index:0,dataType:Mw,description:null,parent:Nw},Vw={type:r.GenericReference,id:"6a905153-8aa8-4424-bd7b-6415731a2725",entityType:r.Project,entityId:J},Lw={type:r.CustomEntity,id:_T,version:1,name:"Get given company data by id",description:null,properties:[Bw,$w],methods:[Dw],static:!0,abstract:!1,abstractMethods:[],extends:[],implements:[Oa],x:0,y:0,parent:Vw},Gw={id:"product-prototype-database-property-ref-id",type:r.GenericReference,entityId:"product-prototype-database-property-id",entityType:r.Property},Fw={id:"product-prototype-database-property-data-type-default-value-parent-ref-id",type:r.GenericReference,entityId:"product-prototype-database-property-data-type-default-value-id",entityType:r.DataType},Uw={id:"product-prototype-database-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:bn,asType:!1,defaultValue:{id:"product-prototype-database-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,value:null,name:g.EntityTemplate,valueAsType:yl,autogeneration:null,parent:Fw},parent:Gw},xw={id:"product-prototype-database-property-parent-ref-id",type:r.GenericReference,entityId:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",entityType:r.CustomEntity},jw={required:!0,id:"product-prototype-database-property-id",name:"Database",version:1,type:r.Property,private:!1,abstract:!1,implements:Ti,static:!0,index:0,dataType:Uw,description:"The database that the entity belongs to.",parent:xw},kw={type:r.GenericReference,id:"13a4045e-dcb0-4159-8d33-10a646078b5a",entityType:r.Property,entityId:"d519c26a-15b8-40d8-ad09-13fa9342e9ba"},qw={id:"7449779e-1d4e-409c-81c6-4b611336ed18",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:kw},Jw={type:r.GenericReference,id:"0969562f-d836-406f-8b48-dd9d417fbe72",entityType:r.CustomEntity,entityId:"a2d0ec83-72ce-4f54-b059-a39e018fa86c"},Ww={required:!0,type:r.Property,id:"d519c26a-15b8-40d8-ad09-13fa9342e9ba",version:1,name:"Name",description:"The name of the product",index:0,implements:null,static:!1,private:!1,dataType:qw,abstract:!1,parent:Jw},Hw={type:r.GenericReference,id:"833a5425-7bd0-41dd-9e97-e018acce9592",entityType:r.Project,entityId:J},Yw={type:r.CustomEntity,id:"a2d0ec83-72ce-4f54-b059-a39e018fa86c",version:1,name:"Product",description:"A product that can be sold",implements:[Be],extends:[],abstract:!1,static:!1,abstractMethods:[],properties:[jw,Ww],methods:[],x:0,y:0,parent:Hw},Gi="project-loaded-event-id",Wt="get-bitcoin-price-http-call-operation-id",MT="get-bitcoin-price-http-call-response-body-id",ls="validate-bitcoin-price-response-operation-ids",zw={type:r.GenericReference,id:"validate-bitcoin-data-to-validate-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:MT},Zw={type:r.GenericReference,id:"validate-bitcoin-data-to-validate-input-map-parent-ref-id",entityType:r.Operation,entityId:ls},NT={id:"validate-bitcoin-data-to-validate-input-map-id",type:r.InputMap,version:1,declaration:jn.fixedArguments[1],name:null,description:null,readsValue:zw,defaultValue:null,dynamicArguments:[],index:0,parent:Zw},Xw={type:r.GenericReference,id:"validate-bitcoin-type-to-match-input-map-default-value-parent-ref-id",entityType:r.InputMap,entityId:"validate-bitcoin-type-to-match-input-map-id"},Qw={type:r.GenericReference,id:"validate-bitcoin-type-to-match-input-map-parent-ref-id",entityType:r.Operation,entityId:ls},Kw={id:"validate-bitcoin-type-to-match-input-map-id",type:r.InputMap,version:1,declaration:jn.fixedArguments[0],name:null,description:null,readsValue:null,defaultValue:{id:"validate-bitcoin-type-to-match-input-map-default-value-id",type:r.PrimitiveValue,version:1,name:g.EntityTemplate,valueAsType:TT,value:null,parent:Xw,autogeneration:null},dynamicArguments:[],index:0,parent:Qw},e_={type:r.GenericReference,id:"validate-bitcoin-validated-entity-output-map-parent-ref-id",entityType:r.Operation,entityId:ls},t_={id:"validate-bitcoin-validated-entity-output-map-id",type:r.OutputMap,version:1,declaration:jn.fixedReturns[0],writesValues:[],index:0,parent:e_},n_={type:r.GenericReference,id:"validate-bitcoin-price-response-operation-parent-ref-id",entityType:r.GlobalEvent,entityId:Gi},r_={type:r.GenericReference,id:"validate-bitcoin-price-response-operation-called-by-ref-id",entityType:r.Operation,entityId:Wt},i_={type:r.Operation,id:ls,version:1,declaration:jn,inputs:[Kw,NT],outputs:[t_],process:null,dynamicArguments:[],successCalls:[],errorCalls:[],error:null,x:0,y:0,calledByError:[],calledByEntry:[],calledBySuccess:[r_],parent:n_},a_={type:r.GenericReference,id:"96edb661-3f36-406c-8921-f1679dd796a3",entityType:r.FunctionCall,entityId:Wt},s_={id:"c93e1393-9b5e-4de2-b8da-7eae647d715a",version:1,type:r.InputMap,declaration:va,name:null,description:null,readsValue:null,defaultValue:null,dynamicArguments:[],index:0,parent:a_},o_={type:r.GenericReference,id:"40312b28-71b8-4b01-a654-58b87191939d",entityType:r.FunctionCall,entityId:Wt},l_={type:r.GenericReference,id:"6ea96c7d-02a7-4971-82ad-2f32a0fec8b4",entityType:r.InputMap,entityId:"9f21cbac-5a83-4983-8923-9224ffd3ba9f"},c_={id:"9f21cbac-5a83-4983-8923-9224ffd3ba9f",version:1,type:r.InputMap,declaration:ga,name:null,description:null,readsValue:null,defaultValue:{id:"get-bitcoin-price-http-request-url-argument-default-value-id",type:r.PrimitiveValue,version:1,value:"https://api.coindesk.com/v1/bpi/currentprice.json",name:g.String,parent:l_,valueAsType:null,autogeneration:null},index:1,dynamicArguments:[],parent:o_},d_={type:r.GenericReference,id:"2610bf4a-c8a2-4746-b6cc-eb15f7fa8e9c",entityType:r.FunctionCall,entityId:Wt},u_={id:"ffb3cd9d-c955-4104-bc7b-299120fe4ede",version:1,type:r.InputMap,declaration:Ia,name:null,description:null,readsValue:null,dynamicArguments:[],defaultValue:null,index:2,parent:d_},p_={type:r.GenericReference,id:"bfd29a6a-671a-448c-9f2f-f8c7e4ad8349",entityType:r.FunctionCall,entityId:Wt},y_={id:"412bf1f3-1a8e-4665-a95f-82117540e34e",version:1,type:r.InputMap,declaration:Pa,name:null,description:null,readsValue:null,dynamicArguments:[],defaultValue:null,index:3,parent:p_},h_={type:r.GenericReference,id:"616a15f3-c224-4b11-b95c-63314edef409",entityType:r.FunctionCall,entityId:Wt},f_={id:"4dd4651c-02e4-45f1-b50f-824f3bcb1648",version:1,type:r.OutputMap,declaration:Da,writesValues:[],index:1,parent:h_},m_={type:r.GenericReference,id:"28793b68-4d7e-4826-aee1-f201a3499faf",entityType:r.FunctionCall,entityId:Wt},T_={id:"94fe9d35-4dd4-4729-a50c-5283ccd7e661",version:1,type:r.OutputMap,declaration:Lo,writesValues:[],index:0,parent:m_},E_={type:r.GenericReference,id:"f13e04b2-49b4-4c69-85b8-cbbafafa3524",entityType:r.FunctionCall,entityId:Wt},R_={id:MT,type:r.OutputMap,version:1,declaration:hi,writesValues:[NT],index:2,parent:E_},b_={type:r.GenericReference,id:"6148d6d0-caaa-45fc-b601-ff2493dfc60f",entityType:r.FunctionDeclaration,entityId:Wt},v_={type:r.GenericReference,id:"b115f084-807b-44b3-ae01-b69cc342f761",entityType:r.GlobalEvent,entityId:Gi},g_={type:r.Operation,id:Wt,version:1,declaration:fi,inputs:[s_,c_,u_,y_],outputs:[T_,f_,R_],process:null,parent:v_,calledByError:[],calledByEntry:[b_],calledBySuccess:[],dynamicArguments:[],successCalls:[i_],errorCalls:[],error:null,x:0,y:0},I_={type:r.GenericReference,id:"24e76019-3f94-475b-91ce-297f76bbc224",entityType:r.GlobalEvent,entityId:Gi},P_={type:r.GenericReference,id:"0eac8e29-cdf2-42f8-8ea7-ad76d4d79abe",entityType:r.GlobalEvent,entityId:Gi},D_={process:null,type:r.FunctionCall,id:"2d2e7593-bfbf-457c-a607-5fce18eef457",version:1,declaration:El,inputs:[],outputs:[],calledByError:[],calledByEntry:[I_],calledBySuccess:[],parent:P_,successCalls:[],errorCalls:[],error:null,x:0,y:0},A_={id:"793b5999-a9da-47fb-9665-0c17ebc6d5c9",type:r.GenericReference,entityType:r.Project,entityId:"2e7eb5382-3d99-44fd-972a-b8b1e819f6be"},S_={type:r.GlobalEvent,id:Gi,version:1,name:Kt.PROJECT_PUBLICATION_COMPLETED,returnStatements:[],collapsed:!1,implements:Ma,parent:A_,inputs:[],calls:[D_,g_],x:0,y:0},Bt="abort-execution-func-declaration-id",Fi="abort-execution-func-exec-var-declaration-id",cs="abort-execution-func-small-wait-op-id",Rl="abort-execution-func-long-wait-op-id",$T="abort-execution-func-long-wait-process-output-id",VT="abort-execution-func-exec-var-instance-write-id",LT="abort-execution-func-long-wait-return-stmt-id",GT="abort-execution-func-small-wait-return-stmt-id",O_="abort-execution-func-exec-var-instance-abort-call-id",bl="abort-execution-func-exec-var-instance-abort-internal-call-id",FT="abort-execution-func-exec-second-wait-op-id",C_={type:r.GenericReference,id:"short-wait-return-statement-returned-hello-string-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:"short-wait-return-statement-returned-hello-string-id"},B_={type:r.GenericReference,id:"short-wait-return-statement-returned-hello-string-data-type-default-value-parent-ref-id",entityType:r.DataType,entityId:"short-wait-return-statement-returned-hello-string-data-type-id"},w_={id:"short-wait-return-statement-returned-hello-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:{id:"short-wait-return-statement-returned-hello-string-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:"Hello 2",autogeneration:null,valueAsType:null,parent:B_},constant:!1,parent:C_},__={type:r.GenericReference,id:"short-wait-return-statement-returned-hello-string-parent-ref-id",entityType:r.ReturnStatement,entityId:GT},M_={isError:!1,id:"short-wait-return-statement-returned-hello-string-id",type:r.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:w_,readsValue:null,required:!0,index:0,parent:__},N_={type:r.GenericReference,id:"short-wait-return-statement-called-by-ref-id",entityType:r.Operation,entityId:cs},$_={type:r.GenericReference,id:"short-wait-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},UT={type:r.ReturnStatement,id:GT,version:1,outputs:[M_],calledByError:[],calledByEntry:[],calledBySuccess:[N_],throws:null,x:0,y:0,parent:$_},V_={type:r.GenericReference,id:"second-wait-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:"second-wait-argument-map-id"},L_={type:r.GenericReference,id:"second-wait-argument-map-parent-ref-id",entityType:r.Operation,entityId:FT},G_={id:"second-wait-argument-map-id",type:r.InputMap,version:1,declaration:xn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"second-wait-argument-default-value-id",type:r.PrimitiveValue,version:1,value:2e3,valueAsType:null,autogeneration:null,name:g.Number,parent:V_},index:0,parent:L_},F_={type:r.GenericReference,id:"small-wait-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},U_={type:r.GenericReference,id:"small-wait-called-by-ref-one-id",entityType:r.InternalCall,entityId:bl},x_={id:FT,type:r.Operation,version:1,declaration:ot,inputs:[G_],dynamicArguments:[],outputs:[],process:null,successCalls:[UT],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[],calledBySuccess:[U_],error:null,parent:F_},j_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-abort-internal-call-called-by-ref-one-id",entityType:r.VariableInstance,entityId:VT},k_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-abort-internal-call-called-by-ref-two-id",entityType:r.Operation,entityId:cs},q_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-main-project-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},J_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-declaration-ref-id",entityType:r.VariableDeclaration,entityId:Fi},W_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-internal-call-ref-one-id",entityType:r.InternalCall,entityId:bl},H_={id:O_,type:r.VariableInstance,version:1,declaration:J_,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[W_],parent:q_},xT={id:bl,type:r.InternalCall,version:1,inputs:[],outputs:[],declaration:Wo,process:null,calledByError:[],calledByEntry:[],calledBySuccess:[j_,k_],successCalls:[x_],errorCalls:[],error:null,index:0,parent:H_},Y_={type:r.GenericReference,id:"abort-exec-func-var-write-instance-main-project-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},z_={type:r.GenericReference,id:"abort-exec-func-var-write-instance-called-by-ref-one-id",entityType:r.VariableDeclaration,entityId:Fi},Z_={type:r.GenericReference,id:"abort-exec-func-var-write-instance-called-by-ref-two-id",entityType:r.FunctionDeclaration,entityId:Bt},X_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-declaration-ref-id",entityType:r.VariableDeclaration,entityId:Fi},Q_={type:r.GenericReference,id:"abort-exec-func-var-write-instance-reads-value-ref-id",entityType:r.OutputMap,entityId:$T},vl={id:VT,type:r.VariableInstance,version:1,declaration:X_,inputs:[],outputs:[],calledByError:[],calledByEntry:[Z_],calledBySuccess:[z_],successCalls:[xT],errorCalls:[],x:0,y:0,readsValue:Q_,writesValues:[],internalCalls:[],parent:Y_},K_={type:r.GenericReference,id:"abort-exec-func-var-decl-datatype-parent-ref-id",entityType:r.VariableDeclaration,entityId:Fi};r.GenericReference,r.DataType;const eM={id:"abort-exec-func-var-decl-datatype-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Ho,version:1,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:K_,defaultValue:null},tM={type:r.GenericReference,id:"abort-exec-func-var-decl-main-project-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},nM={type:r.GenericReference,id:"abort-exec-func-var-decl-called-by-ref-one-id",entityType:r.FunctionDeclaration,entityId:Bt},rM={id:Fi,type:r.VariableDeclaration,version:1,name:"Execution in progress",description:"A variable that holds an ongoing execution to abort it if needed",dataType:eM,inputs:[],outputs:[],calledByError:[],calledByEntry:[nM],calledBySuccess:[],successCalls:[vl],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:tM},iM={type:r.GenericReference,id:"long-wait-return-statement-returned-hello-string-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:"long-wait-return-statement-returned-hello-string-id"},aM={type:r.GenericReference,id:"long-wait-return-statement-returned-hello-string-data-type-default-value-parent-ref-id",entityType:r.DataType,entityId:"long-wait-return-statement-returned-hello-string-data-type-id"},sM={id:"long-wait-return-statement-returned-hello-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:{id:"long-wait-return-statement-returned-hello-string-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:"Hello 1",autogeneration:null,valueAsType:null,parent:aM},constant:!1,parent:iM},oM={type:r.GenericReference,id:"long-wait-return-statement-returned-hello-string-parent-ref-id",entityType:r.ReturnStatement,entityId:LT},lM={isError:!1,id:"long-wait-return-statement-returned-hello-string-id",type:r.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:sM,readsValue:null,required:!0,index:0,parent:oM},cM={type:r.GenericReference,id:"long-wait-return-statement-called-by-ref-id",entityType:r.Operation,entityId:Rl},dM={type:r.GenericReference,id:"long-wait-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},jT={type:r.ReturnStatement,id:LT,version:1,outputs:[lM],calledByError:[],calledByEntry:[],calledBySuccess:[cM],throws:null,x:0,y:0,parent:dM},uM={type:r.GenericReference,id:"long-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:"long-argument-map-id"},kT={type:r.GenericReference,id:"long-argument-map-parent-ref-id",entityType:r.Operation,entityId:Rl},pM={id:"long-argument-map-id",type:r.InputMap,version:1,declaration:xn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"long-argument-default-value-id",type:r.PrimitiveValue,version:1,value:1500,valueAsType:null,autogeneration:null,name:g.Number,parent:uM},index:0,parent:kT},yM={type:r.GenericReference,id:"long-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},hM={type:r.GenericReference,id:"long-called-by-ref-one-id",entityType:r.FunctionDeclaration,entityId:Bt},fM={id:$T,type:r.OutputMap,version:1,declaration:zo,writesValues:[vl],index:0,parent:kT},mM={id:Rl,type:r.Operation,version:1,declaration:ot,inputs:[pM],dynamicArguments:[],outputs:[],process:fM,successCalls:[jT],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[hM],calledBySuccess:[],error:null,parent:yM},TM={type:r.GenericReference,id:"small-wait-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:"small-wait-argument-map-id"},EM={type:r.GenericReference,id:"small-wait-argument-map-parent-ref-id",entityType:r.Operation,entityId:cs},RM={id:"small-wait-argument-map-id",type:r.InputMap,version:1,declaration:xn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"small-wait-argument-default-value-id",type:r.PrimitiveValue,version:1,value:500,valueAsType:null,autogeneration:null,name:g.Number,parent:TM},index:0,parent:EM},bM={type:r.GenericReference,id:"small-wait-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},vM={type:r.GenericReference,id:"small-wait-called-by-ref-one-id",entityType:r.FunctionDeclaration,entityId:Bt},gM={id:cs,type:r.Operation,version:1,declaration:ot,inputs:[RM],dynamicArguments:[],outputs:[],process:null,successCalls:[xT],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[vM],calledBySuccess:[],error:null,parent:bM},IM={type:r.GenericReference,id:"abort-execution-func-decl-parent-ref-id",entityType:r.Project,entityId:J},qT={id:"abort-execution-func-decl-id",type:r.FunctionDeclaration,version:1,name:"Test aborting execution",description:"Executes a wait and then aborts the execution of that wait",inputs:[],returnStatements:[jT,UT],calls:[gM,rM,vl,mM],implements:null,private:!1,collapsed:!1,index:null,x:0,y:0,parent:IM},PM={type:r.GenericReference,id:"call-execution-abort-func-parent-ref-id",entityType:r.Project,entityId:J},DM={id:"call-execution-abort-func-id",type:r.FunctionCall,version:1,declaration:qT,inputs:[],process:null,outputs:[],successCalls:[],errorCalls:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[],x:0,y:0,parent:PM},gl="manual-hello-world-loop-func-decl-id",JT="manual-hello-world-loop-func-return-statement-id",an="manual-hello-world-loop-id",Ui="manual-hello-world-loop-body-id",WT="manual-hello-world-loop-break-statement-id",ds="manual-hello-world-loop-current-iteration-number-output-map-id",Il="manual-hello-world-loop-previous-iterations-results-output-map-id",Pl="assembled-hello-world-text-output-id",HT="assembled-hello-world-list-output-id",xi="iteration-number-is-equal-or-greater-than-10-condition-id",us="join-hello-world-and-number-operation-id",ps="append-string-to-list-operation-id",YT="hello-world-loop-output-map-id",AM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-output-declaration-parent-ref",entityType:r.ReturnStatement,entityId:JT},SM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-output-declaration-data-type-parent-ref",entityType:r.ReturnDeclaration,entityId:"manual-hello-world-loop-function-declaration-output-declaration"},OM={id:"manual-hello-world-loop-function-declaration-output-declaration-data-type",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!0,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:SM},CM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-output-declaration-reads-value-ref",entityType:r.OutputMap,entityId:YT},zT={isError:!1,id:"manual-hello-world-loop-function-declaration-output-declaration",version:1,type:r.ReturnDeclaration,name:"Results",description:null,dataType:OM,readsValue:CM,required:!0,index:0,parent:AM},BM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-return-statement-called-by-ref",entityType:r.Loop,entityId:an},wM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-parent-ref",entityType:r.FunctionDeclaration,entityId:gl},ZT={type:r.ReturnStatement,id:JT,version:1,outputs:[zT],calledByError:[],calledByEntry:[],calledBySuccess:[BM],parent:wM,throws:null,x:0,y:0},_M={type:r.GenericReference,id:"hello-world-loop-break-statement-ref-id",entityType:r.BreakStatement,entityId:WT},MM={type:r.GenericReference,id:"hello-world-loop-break-statement-output-data-type-ref-id",entityType:r.ReturnDeclaration,entityId:"hello-world-loop-break-statement-output-id"},NM={id:"hello-world-loop-break-statement-output-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!0,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:MM},$M={type:r.GenericReference,id:"hello-world-loop-break-statement-reads-value-ref-id",entityType:r.OutputMap,entityId:Pl},Dl={isError:!1,id:"hello-world-loop-break-statement-output-id",version:1,type:r.ReturnDeclaration,name:"Iteration result",description:null,dataType:NM,readsValue:$M,required:!0,index:0,parent:_M},VM={type:r.GenericReference,id:"hello-world-loop-break-statement-called-by-ref-id",entityType:r.Condition,entityId:xi},LM={type:r.GenericReference,id:"hello-world-loop-break-statement-parent-ref-id",entityType:r.Loop,entityId:an},XT={type:r.BreakStatement,id:WT,version:1,outputs:[Dl],calledByError:[],calledByEntry:[],calledBySuccess:[VM],parent:LM,throws:null,x:0,y:0},GM={type:r.GenericReference,id:"hello-world-loop-continue-statement-ref-id",entityType:r.ContinueStatement,entityId:"hello-world-loop-continue-statement"},FM={type:r.GenericReference,id:"hello-world-loop-continue-statement-output-data-type-ref-id",entityType:r.ReturnDeclaration,entityId:"hello-world-loop-continue-statement-output-id"},UM={id:"hello-world-loop-continue-statement-output-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:FM},xM={type:r.GenericReference,id:"hello-world-loop-continue-statement-reads-value-ref-id",entityType:r.OutputMap,entityId:Pl},QT={isError:!1,id:"hello-world-loop-continue-statement-output-id",version:1,type:r.ReturnDeclaration,name:"Iteration result",description:null,dataType:UM,readsValue:xM,required:!0,index:0,parent:GM},jM={type:r.GenericReference,id:"hello-world-loop-continue-statement-called-by-ref-id",entityType:r.Condition,entityId:xi},kM={type:r.GenericReference,id:"hello-world-loop-continue-statement-parent-ref-id",entityType:r.Loop,entityId:an},KT={type:r.ContinueStatement,id:"hello-world-loop-continue-statement",version:1,outputs:[QT],calledBySuccess:[],calledByError:[jM],calledByEntry:[],parent:kM,throws:null,x:0,y:0};r.GenericReference,r.InputMap;const qM={type:r.GenericReference,id:"append-string-to-list-base-string-map-parent-ref-id",entityType:r.Operation,entityId:ps},JM={type:r.GenericReference,id:"base-string-map-reads-value-ref-id",entityType:r.OutputMap,entityId:Il},eE={id:"append-string-to-list-base-string-map-id",type:r.InputMap,version:1,declaration:Co,name:null,description:null,readsValue:JM,defaultValue:null,dynamicArguments:[],index:0,parent:qM},WM={type:r.GenericReference,id:"assembly-string-map-parent-ref-id",entityType:r.Operation,entityId:ps},HM={id:HT,type:r.OutputMap,version:1,writesValues:[Dl],declaration:pi,index:0,parent:WM},YM={type:r.GenericReference,id:"append-string-to-list-called-by-ref-id",entityType:r.Condition,entityId:xi},zM={type:r.GenericReference,id:"latest-string-to-add-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:HT},ZM={type:r.GenericReference,id:"62b4afb0-6c21-4b0f-abd3-cebef7b17c28",entityType:r.Operation,entityId:ps},tE={id:"latest-string-to-add-input-map-id",version:1,type:r.InputMap,declaration:Bo,name:null,description:null,readsValue:zM,dynamicArguments:[],defaultValue:null,index:1,parent:ZM},XM={type:r.GenericReference,id:"append-string-to-list-parent-ref-id",entityType:r.FunctionDeclaration,entityId:an},QM={type:r.Operation,id:ps,declaration:ba,version:1,inputs:[eE,tE],outputs:[HM],calledByError:[],process:null,calledByEntry:[],calledBySuccess:[YM],dynamicArguments:[],successCalls:[],errorCalls:[],error:null,x:0,y:0,parent:XM},KM={type:r.GenericReference,id:"iteration-number-is-equal-or-greater-than-10-condition-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Ui},eN={type:r.GenericReference,id:"iteration-number-is-equal-or-greater-than-10-condition-parent-ref-id",entityType:r.Loop,entityId:an},tN={type:r.GenericReference,id:"current-iteration-number-to-check-map-reads-value-ref-id",entityType:r.OutputMap,entityId:ds},nE={type:r.GenericReference,id:"iteration-number-is-equal-or-greater-than-10-condition-ref-two-id",entityType:r.Condition,entityId:xi},nN={id:"current-iteration-number-to-check-map-id",version:1,type:r.InputMap,declaration:wr.fixedArguments[0],name:null,description:null,dynamicArguments:[],readsValue:tN,index:1,defaultValue:null,parent:nE},rN={type:r.GenericReference,id:"max-num-iterations-value-map-default-value-parent-ref-id",entityType:r.InputMap,entityId:"max-num-iterations-value-map-id"},iN={id:"max-num-iterations-value-map-id",version:1,type:r.InputMap,declaration:wr.fixedArguments[1],name:null,description:null,dynamicArguments:[],readsValue:null,index:0,defaultValue:{id:"max-num-iterations-value-map-default-value-id",type:r.PrimitiveValue,version:1,name:g.Number,value:10,autogeneration:null,valueAsType:null,parent:rN},parent:nE},aN={type:r.Condition,id:xi,version:1,declaration:wr,inputs:[iN,nN],calledByError:[],calledByEntry:[KM],calledBySuccess:[],successCalls:[XT,QM],errorCalls:[KT],x:0,y:0,parent:eN},sN={type:r.GenericReference,id:"base-string-map-ref-id",entityType:r.InputMap,entityId:"join-hello-world-and-number-base-string-map-id"},oN={type:r.GenericReference,id:"join-hello-world-and-number-base-string-map-parent-ref-id",entityType:r.Operation,entityId:us},lN={id:"join-hello-world-and-number-base-string-map-id",type:r.InputMap,version:1,declaration:Ea,name:null,description:null,readsValue:null,defaultValue:{id:"join-hello-world-and-number-base-string-map-default-value-id",type:r.PrimitiveValue,version:1,value:"Hello world ",name:g.String,parent:sN,valueAsType:null,autogeneration:null},dynamicArguments:[],index:0,parent:oN},cN={type:r.GenericReference,id:"assembly-string-map-parent-ref-id",entityType:r.Operation,entityId:us},dN={id:Pl,type:r.OutputMap,version:1,writesValues:[tE,QT],declaration:pi,index:0,parent:cN},uN={type:r.GenericReference,id:"join-hello-world-and-number-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Ui},pN={type:r.GenericReference,id:"current-iteration-number-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:ds},yN={type:r.GenericReference,id:"62b4afb0-6c21-4b0f-abd3-cebef7b17c28",entityType:r.Operation,entityId:us},rE={id:"current-iteration-number-input-map-id",version:1,type:r.InputMap,declaration:Ra,name:null,description:null,readsValue:pN,dynamicArguments:[],defaultValue:null,index:1,parent:yN},hN={type:r.GenericReference,id:"join-hello-world-and-number-parent-ref-id",entityType:r.FunctionDeclaration,entityId:an},fN={type:r.Operation,id:us,declaration:yi,version:1,inputs:[lN,rE],outputs:[dN],process:null,calledByError:[],calledByEntry:[uN],calledBySuccess:[],dynamicArguments:[],successCalls:[],errorCalls:[],error:null,x:0,y:0,parent:hN},mN={id:"manual-hello-world-loop-iterations-results-declaration-data-type-parent-ref-id",type:r.GenericReference,entityId:Il,entityType:r.ArgumentDeclaration},TN={id:"manual-hello-world-loop-iterations-results-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!0,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:mN},EN={id:"manual-hello-world-loop-previous-iterations-results-output-map-parent-ref-id",type:r.GenericReference,entityId:Ui,entityType:r.FunctionDeclaration},RN={id:Il,type:r.ArgumentDeclaration,version:1,name:"Previous iterations results",description:"The results of the previous iterations of the loop.",required:!0,dataType:TN,writesValues:[eE],index:1,parent:EN},bN={id:"manual-hello-world-loop-current-iteration-number-output-map-parent-ref-id",type:r.GenericReference,entityId:Ui,entityType:r.FunctionDeclaration},vN={id:"manual-flow-loop-current-iteration-number-declaration-data-type-parent-ref-id",type:r.GenericReference,entityId:ds,entityType:r.ArgumentDeclaration};r.DataType;const gN={id:ds,type:r.ArgumentDeclaration,version:1,name:"Current iteration number",description:"The number of the current iteration of the loop. Starts at 1.",required:!0,dataType:null,writesValues:[rE],index:0,parent:bN},IN={id:"manual-flow-loop-body-parent-ref-id",type:r.GenericReference,entityId:an,entityType:r.Loop},PN={id:Ui,type:r.FunctionDeclaration,version:1,name:"Iteration logic trigger",description:"This function is called multiple times, once for each iteration of the loop.",inputs:[gN,RN],calls:[aN,fN],implements:null,collapsed:!1,returnStatements:[],private:!1,index:0,x:0,y:0,parent:IN},DN={type:r.GenericReference,id:"hello-world-loop-break-statement-output-map-parent-ref-id",entityType:r.Loop,entityId:an},AN={type:r.OutputMap,id:YT,version:1,declaration:Dl,writesValues:[zT],index:0,parent:DN},SN={id:"manual-hello-world-loop-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},ON={id:"manual-hello-world-loop-called-by-ref-id",type:r.GenericReference,entityId:gl,entityType:r.FunctionDeclaration},CN={id:an,type:r.Loop,version:1,declaration:Fo,inputs:[],outputs:[AN],body:PN,successCalls:[ZT],errorCalls:[],process:null,error:null,calledByError:[],calledByEntry:[ON],calledBySuccess:[],breakStatements:[XT],continueStatements:[KT],x:0,y:0,parent:SN},BN={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-parent-ref-id",entityType:r.Project,entityId:J},iE={type:r.FunctionDeclaration,id:gl,version:1,name:"Manual hello world loop",description:null,inputs:[],calls:[CN],returnStatements:[ZT],implements:null,collapsed:!1,private:!1,index:null,x:0,y:0,parent:BN},wN={type:r.GenericReference,id:"call-hello-world-loop-parent-ref-id",entityType:r.Project,entityId:J},_N={id:"call-hello-world-loop-id",type:r.FunctionCall,version:1,declaration:iE,inputs:[],outputs:[],process:null,successCalls:[],errorCalls:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[],x:0,y:0,parent:wN},sn="company-dto-function-declaration-id",Al="company-dto-func-declaration-argument-dcl-id",Ht="company-dto-function-company-variable-id",Bn="company-dto-function-company-dto-variable-id",Ur="iterate-over-employee-list-loop-id",aE="iterate-over-employee-list-loop-employee-dto-output-map-id",Sl="iterate-over-employee-list-loop-body-current-employee-argument-declaration-id",ji="iterate-over-employee-list-loop-body-map-employee-dto-function-call-id",sE="iterate-over-employee-list-continue-statement-employee-dto-output-decl-id",MN="iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-dto-output-map-id",oE="iterate-over-employee-list-continue-statement-id",ys="iterate-over-employee-list-loop-body-id",lE="company-dto-func-declaration-return-statement-id",cE="company-dto-func-declaration-return-decl-id",dE="company-dto-func-declaration-company-variable-id-output-map-id",uE="company-dto-func-declaration-company-variable-employess-output-map-id",pE="company-dto-func-declaration-company-variable-name-output-map-id",NN="company-dto-func-declaration-company-dto-variable-input-map-id",$N="company-dto-func-declaration-company-dto-variable-employess-input-map-id",VN="company-dto-func-declaration-company-dto-variable-name-input-map-id",hs="company-dto-func-declaration-owner-variable-id",LN="company-dto-func-declaration-company-dto-variable-owner-input-map-id",yE="company-dto-func-declaration-company-variable-owner-output-map-id",hE="company-dto-func-declaration-owner-variable-id-output-map-id",fs="company-dto-func-declaration-bank-account-variable-id",GN="company-dto-func-declaration-company-dto-variable-bank-account-input-map-id",fE="company-dto-func-declaration-company-variable-bank-account-output-map-id",mE="company-dto-func-declaration-bank-account-variable-id-output-map-id",FN={type:r.GenericReference,id:"company-dto-func-returned-company-dto-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:cE},UN={id:"company-dto-func-returned-company-dto-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:FN},xN={type:r.GenericReference,id:"company-dto-func-returned-company-dto-parent-ref-id",entityType:r.ReturnStatement,entityId:lE},jN={type:r.GenericReference,id:"company-dto-func-returned-company-dto-reads-value-ref-id",entityType:r.VariableDeclaration,entityId:Bn},TE={isError:!1,id:cE,type:r.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:UN,readsValue:jN,required:!0,index:0,parent:xN},kN={type:r.GenericReference,id:"company-dto-func-return-statement-called-by-ref-id",entityType:r.Operation,entityId:Bn},qN={type:r.GenericReference,id:"company-dto-func-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn},Ol={type:r.ReturnStatement,id:lE,version:1,outputs:[TE],calledByError:[],calledByEntry:[],calledBySuccess:[kN],throws:null,x:0,y:0,parent:qN},JN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-owner-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:hE},WN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-owner-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Bn},EE={id:LN,type:r.InputMap,version:1,declaration:null,name:"owner_id",description:null,defaultValue:null,dynamicArguments:[],index:5,readsValue:JN,parent:WN},HN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-bank-account-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:mE},YN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-bank-account-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Bn},RE={id:GN,type:r.InputMap,version:1,declaration:null,name:"bank_account_id",description:null,defaultValue:null,dynamicArguments:[],index:4,readsValue:HN,parent:YN},zN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-name-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:pE},ZN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-name-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Bn},bE={id:VN,type:r.InputMap,version:1,declaration:null,name:"name",description:null,defaultValue:null,dynamicArguments:[],index:3,readsValue:zN,parent:ZN},XN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-employess-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:aE},QN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-employess-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Bn},vE={id:$N,type:r.InputMap,version:1,declaration:null,name:"employees",description:null,defaultValue:null,dynamicArguments:[],index:2,readsValue:XN,parent:QN},KN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-id-output-map-reads-value-ref-id",entityType:r.OutputMap,entityId:dE},e0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Bn},gE={id:NN,type:r.InputMap,version:1,declaration:null,name:"id",description:"The ID of the company",defaultValue:null,dynamicArguments:[],index:1,readsValue:KN,parent:e0},t0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn},n0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-called-by-ref-one-id",entityType:r.VariableDeclaration,entityId:fs},r0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-called-by-ref-two-id",entityType:r.VariableDeclaration,entityId:hs},i0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-called-by-ref-three-id",entityType:r.VariableDeclaration,entityId:Ur},Cl={id:Bn,type:r.VariableDeclaration,version:1,name:"Company DTO",dataType:null,description:"A variable holding the data of a mapped company DTO",calledByError:[],calledByEntry:[],calledBySuccess:[n0,r0,i0],successCalls:[Ol],errorCalls:[],readsValue:null,writesValues:[TE],inputs:[gE,bE,RE,EE,vE],outputs:[],internalCalls:[],parent:t0,x:0,y:0},zn="employee-dto-func-declaration-id",Bl="employee-dto-func-declaration-argument-dcl-id",IE="employee-dto-func-declaration-return-statement-id",PE="employee-dto-func-declaration-return-decl-id",Zn="employee-dto-func-declaration-employee-variable-id",Xn="employee-dto-func-declaration-employee-dto-variable-id",ms="employee-dto-func-declaration-manager-variable-id",DE="employee-dto-func-declaration-employee-variable-id-output-map-id",AE="employee-dto-func-declaration-employee-variable-birth-date-output-map-id",SE="employee-dto-func-declaration-employee-variable-department-output-map-id",OE="employee-dto-func-declaration-employee-variable-manager-output-map-id",CE="employee-dto-func-declaration-manager-variable-id-output-map-id",a0="employee-dto-func-declaration-employee-dto-variable-input-map-id",s0="employee-dto-func-declaration-employee-dto-variable-birth-date-input-map-id",o0="employee-dto-func-declaration-employee-dto-variable-department-input-map-id",l0="employee-dto-func-declaration-employee-dto-variable-manager-input-map-id",c0={type:r.GenericReference,id:"employee-dto-func-returned-employee-dto-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:PE},d0={id:"employee-dto-func-returned-employee-dto-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:c0},u0={type:r.GenericReference,id:"employee-dto-func-returned-employee-dto-parent-ref-id",entityType:r.ReturnStatement,entityId:IE},p0={type:r.GenericReference,id:"employee-dto-func-returned-employee-dto-reads-value-ref-id",entityType:r.VariableDeclaration,entityId:Xn},BE={isError:!1,id:PE,type:r.ReturnDeclaration,version:1,name:"Employee DTO",description:"Output the employee data in the format that it will be sent through an HTTP request.",dataType:d0,readsValue:p0,required:!0,index:0,parent:u0},y0={type:r.GenericReference,id:"employee-dto-func-return-statement-called-by-ref-id",entityType:r.Operation,entityId:Xn},h0={type:r.GenericReference,id:"employee-dto-func-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:zn},wl={type:r.ReturnStatement,id:IE,version:1,outputs:[BE],calledByError:[],calledByEntry:[],calledBySuccess:[y0],throws:null,x:0,y:0,parent:h0},f0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-manager-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:CE},m0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-manager-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Xn},wE={id:l0,type:r.InputMap,version:1,declaration:null,name:"manager_id",description:null,defaultValue:null,dynamicArguments:[],index:4,readsValue:f0,parent:m0},T0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-department-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:SE},E0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-department-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Xn},_E={id:o0,type:r.InputMap,version:1,declaration:null,name:"department_name",description:null,defaultValue:null,dynamicArguments:[],index:3,readsValue:T0,parent:E0},R0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-birth-date-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:AE},b0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-birth-date-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Xn},ME={id:s0,type:r.InputMap,version:1,declaration:null,name:"birth_date",description:null,defaultValue:null,dynamicArguments:[],index:2,readsValue:R0,parent:b0},v0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-id-output-map-reads-value-ref-id",entityType:r.OutputMap,entityId:DE},g0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Xn},NE={id:a0,type:r.InputMap,version:1,declaration:null,name:"id",description:"The ID of the employee",defaultValue:null,dynamicArguments:[],index:1,readsValue:v0,parent:g0},I0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:zn},P0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-called-by-ref-id",entityType:r.VariableDeclaration,entityId:ms},D0={id:Xn,type:r.VariableDeclaration,version:1,name:"Employee DTO",dataType:null,description:"A variable holding the data of a mapped employee DTO",calledByError:[],calledByEntry:[],calledBySuccess:[P0],successCalls:[wl],errorCalls:[],readsValue:null,writesValues:[BE],inputs:[NE,ME,_E,wE],outputs:[],internalCalls:[],parent:I0,x:0,y:0},A0={type:r.GenericReference,id:"employee-dto-func-manager-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:ms},S0={id:CE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[wE],parent:A0},O0={type:r.GenericReference,id:"employee-dto-func-manager-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:ms},C0={id:"employee-dto-func-manager-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:It,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:O0,defaultValue:null},B0={type:r.GenericReference,id:"employee-dto-func-manager-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:OE},w0={type:r.GenericReference,id:"employee-dto-func-manager-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:zn};r.GenericReference,r.VariableDeclaration;const $E={id:ms,type:r.VariableDeclaration,version:1,name:"Manager",dataType:C0,description:"A variable holding an inherited manager",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[D0],errorCalls:[],readsValue:B0,writesValues:[],inputs:[],outputs:[S0],internalCalls:[],parent:w0,x:0,y:0},_0={type:r.GenericReference,id:"employee-dto-func-employee-variable-manager-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zn},M0={id:OE,type:r.OutputMap,version:1,declaration:It.properties[2],index:3,writesValues:[$E],parent:_0},N0={type:r.GenericReference,id:"employee-dto-func-employee-variable-department-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zn},$0={id:SE,type:r.OutputMap,version:1,declaration:It.properties[0],index:2,writesValues:[_E],parent:N0},V0={type:r.GenericReference,id:"employee-dto-func-employee-variable-birth-date-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zn},L0={id:AE,type:r.OutputMap,version:1,declaration:ct.properties[1],index:1,writesValues:[ME],parent:V0},G0={type:r.GenericReference,id:"employee-dto-func-employee-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zn},F0={id:DE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[NE],parent:G0},U0={type:r.GenericReference,id:"employee-dto-func-employee-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zn},x0={id:"employee-dto-func-employee-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:It,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:U0,defaultValue:null},j0={type:r.GenericReference,id:"employee-dto-func-employee-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:zn},k0={type:r.GenericReference,id:"employee-dto-func-employee-variable-reads-value-ref-id",entityType:r.ArgumentDeclaration,entityId:Bl},q0={type:r.GenericReference,id:"employee-dto-func-employee-variable-called-by-id",entityType:r.FunctionDeclaration,entityId:zn},VE={id:Zn,type:r.VariableDeclaration,version:1,name:"Company employee",dataType:x0,description:"A variable holding a company employee",calledByError:[],calledByEntry:[q0],calledBySuccess:[],successCalls:[$E],errorCalls:[],readsValue:k0,writesValues:[],inputs:[],outputs:[F0,L0,$0,M0],internalCalls:[],parent:j0,x:0,y:0},J0={type:r.GenericReference,id:"employee-dto-func-declaration-employee-input-declaration-data-type-parent-ref-id",entityId:Bl,entityType:r.ArgumentDeclaration},W0={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"employee-dto-func-declaration-employee-input-declaration-data-type-id",version:1,entity:It,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:J0,defaultValue:null},H0={type:r.GenericReference,id:"employee-dto-func-declaration-employee-input-declaration-parent-ref-id",entityId:zn,entityType:r.FunctionDeclaration},Y0={type:r.ArgumentDeclaration,id:Bl,version:1,name:"Employee",description:"The employee to create a DTO for",required:!0,dataType:W0,index:0,writesValues:[VE],parent:H0},z0={type:r.GenericReference,id:"employee-dto-function-declaration-parent-ref-id",entityType:r.Project,entityId:J},_l={type:r.FunctionDeclaration,id:zn,version:1,name:"Employee DTO",description:"Takes a employee and returns a DTO of that employee",index:null,inputs:[Y0],calls:[VE],implements:null,returnStatements:[wl],collapsed:!1,private:!1,x:0,y:0,parent:z0},Z0={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-data-type-parent-ref-id",type:r.GenericReference,entityId:sE,entityType:r.ReturnDeclaration},X0={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,defaultValue:null,entity:It,isList:!1,isNullable:!1,asType:!1,constant:!1,parent:Z0},Q0={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-reads-value-ref-id",type:r.GenericReference,entityId:ji,entityType:r.OutputMap},K0={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-parent-ref-id",type:r.GenericReference,entityId:oE,entityType:r.ContinueStatement},LE={isError:!1,id:sE,type:r.ReturnDeclaration,version:1,name:"Employee DTO",description:"The DTO of the employee entity.",readsValue:Q0,dataType:X0,required:!0,index:0,parent:K0},e1={id:"iterate-over-employee-list-continue-statement-called-by-ref-id",type:r.GenericReference,entityId:ji,entityType:r.FunctionCall},t1={id:"iterate-over-employee-list-continue-statement-parent-ref-id",type:r.GenericReference,entityId:Ur,entityType:r.Loop},GE={id:oE,type:r.ContinueStatement,version:1,calledByError:[],calledByEntry:[],calledBySuccess:[e1],outputs:[LE],throws:null,x:0,y:0,parent:t1},n1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-dto-output-map-parent-ref-id",type:r.GenericReference,entityId:ji,entityType:r.FunctionCall},r1={id:MN,type:r.OutputMap,version:1,declaration:wl.outputs[0],writesValues:[LE],index:0,parent:n1},i1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-input-map-reads-value-ref-id",type:r.GenericReference,entityId:Sl,entityType:r.ArgumentDeclaration},a1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-input-map-parent-ref-id",type:r.GenericReference,entityId:ji,entityType:r.FunctionCall},FE={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-input-map-id",type:r.InputMap,version:1,name:null,description:null,declaration:_l.inputs[0],readsValue:i1,index:0,defaultValue:null,dynamicArguments:[],parent:a1},s1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-called-by-ref-id",type:r.GenericReference,entityId:ys,entityType:r.FunctionDeclaration},o1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-parent-ref-id",type:r.GenericReference,entityId:ys,entityType:r.FunctionDeclaration},l1={id:ji,type:r.FunctionCall,version:1,declaration:_l,inputs:[FE],process:null,outputs:[r1],calledByError:[],calledByEntry:[s1],calledBySuccess:[],successCalls:[GE],errorCalls:[],error:null,x:0,y:0,parent:o1},c1={type:r.GenericReference,id:"iterate-over-employee-list-loop-body-current-employee-argument-declaration-data-type-parent-ref-id",entityId:Sl,entityType:r.ArgumentDeclaration},d1={id:"iterate-over-employee-list-loop-body-current-employee-argument-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,defaultValue:null,entity:It,isList:!1,isNullable:!1,asType:!1,constant:!1,parent:c1},u1={id:"iterate-over-employee-list-loop-body-current-employee-argument-declaration-parent-ref-id",type:r.GenericReference,entityId:ys,entityType:r.FunctionDeclaration},p1={id:Sl,type:r.ArgumentDeclaration,version:1,name:"Current employee",description:"The current employee entity being processed.",dataType:d1,required:!0,index:0,writesValues:[FE],parent:u1},y1={id:"iterate-over-employee-list-loop-body-parent-ref-id",type:r.GenericReference,entityId:Ur,entityType:r.Loop},h1={id:ys,type:r.FunctionDeclaration,version:1,name:"Iteration logic trigger",description:"This function is called once for each entity in the list.",inputs:[p1],calls:[l1],implements:null,collapsed:!1,returnStatements:[],private:!1,index:0,x:0,y:0,parent:y1},f1={id:"iterate-over-employee-list-loop-iteration-list-input-map-parent-ref-id",type:r.GenericReference,entityId:Ur,entityType:r.Loop},m1={id:"iterate-over-employee-list-loop-iteration-list-input-map-reads-value-ref-id",type:r.GenericReference,entityId:uE,entityType:r.OutputMap},UE={id:"iterate-over-employee-list-loop-iteration-list-input-map-id",type:r.InputMap,version:1,name:null,description:null,declaration:kn.fixedArguments[0],defaultValue:null,dynamicArguments:[],readsValue:m1,index:0,parent:f1},T1={id:"iterate-over-employee-list-loop-parent-ref-id",type:r.GenericReference,entityId:sn,entityType:r.FunctionDeclaration},E1={id:"iterate-over-employee-list-loop-employee-dto-output-map-parent-ref-id",type:r.GenericReference,entityId:Ur,entityType:r.Loop},R1={id:aE,type:r.OutputMap,version:1,declaration:kn.fixedReturns[0],writesValues:[vE],index:0,parent:E1},b1={type:r.GenericReference,id:"iterate-over-employee-list-loop-called-by-ref-id",entityType:r.VariableDeclaration,entityId:Ht},v1={id:Ur,type:r.Loop,version:1,declaration:kn,inputs:[UE],successCalls:[Cl],errorCalls:[],outputs:[R1],body:h1,process:null,calledByError:[],calledByEntry:[],calledBySuccess:[b1],breakStatements:[],continueStatements:[GE],error:null,x:0,y:0,parent:T1},g1={type:r.GenericReference,id:"company-dto-func-bank-account-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:fs},I1={id:mE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[RE],parent:g1},P1={type:r.GenericReference,id:"company-dto-func-bank-account-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:fs},D1={id:"company-dto-func-bank-account-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:P1,defaultValue:null},A1={type:r.GenericReference,id:"company-dto-func-bank-account-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:fE},S1={type:r.GenericReference,id:"company-dto-func-bank-account-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn};r.GenericReference,r.VariableDeclaration;const xE={id:fs,type:r.VariableDeclaration,version:1,name:"Bank account",dataType:D1,description:"A variable holding an inherited bank account",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[Cl],errorCalls:[],readsValue:A1,writesValues:[],inputs:[],outputs:[I1],internalCalls:[],parent:S1,x:0,y:0},O1={type:r.GenericReference,id:"company-dto-func-owner-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:hs},C1={id:hE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[EE],parent:O1},B1={type:r.GenericReference,id:"company-dto-func-owner-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:hs},w1={id:"company-dto-func-owner-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:B1,defaultValue:null},_1={type:r.GenericReference,id:"company-dto-func-owner-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:yE},M1={type:r.GenericReference,id:"company-dto-func-owner-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn};r.GenericReference,r.VariableDeclaration;const jE={id:hs,type:r.VariableDeclaration,version:1,name:"Owner",dataType:w1,description:"A variable holding an inherited owner",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[Cl],errorCalls:[],readsValue:_1,writesValues:[],inputs:[],outputs:[C1],internalCalls:[],parent:M1,x:0,y:0},N1={type:r.GenericReference,id:"company-dto-func-company-variable-owner-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},$1={id:yE,type:r.OutputMap,version:1,declaration:mt.properties[2],index:4,writesValues:[jE],parent:N1},V1={type:r.GenericReference,id:"company-dto-func-company-variable-bank-account-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},L1={id:fE,type:r.OutputMap,version:1,declaration:mt.properties[2],index:3,writesValues:[xE],parent:V1},G1={type:r.GenericReference,id:"company-dto-func-company-variable-name-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},F1={id:pE,type:r.OutputMap,version:1,declaration:mt.properties[0],index:2,writesValues:[bE],parent:G1},U1={type:r.GenericReference,id:"company-dto-func-company-variable-employess-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},x1={id:uE,type:r.OutputMap,version:1,declaration:mt.properties[3],index:1,writesValues:[UE],parent:U1},j1={type:r.GenericReference,id:"company-dto-func-company-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},k1={id:dE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[gE],parent:j1},q1={type:r.GenericReference,id:"company-dto-func-company-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},J1={id:"company-dto-func-company-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:q1,defaultValue:null},W1={type:r.GenericReference,id:"company-dto-func-company-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn},H1={type:r.GenericReference,id:"company-dto-func-company-variable-reads-value-ref-id",entityType:r.ArgumentDeclaration,entityId:Al},Y1={type:r.GenericReference,id:"company-dto-func-company-variable-called-by-id",entityType:r.FunctionDeclaration,entityId:sn},kE={id:Ht,type:r.VariableDeclaration,version:1,name:"Company",dataType:J1,description:"A variable holding a company",calledByError:[],calledByEntry:[Y1],calledBySuccess:[],successCalls:[xE,jE,v1],errorCalls:[],readsValue:H1,writesValues:[],inputs:[],outputs:[k1,x1,F1,L1,$1],internalCalls:[],parent:W1,x:0,y:0},z1={type:r.GenericReference,id:"company-dto-func-declaration-company-input-declaration-data-type-parent-ref-id",entityId:Al,entityType:r.ArgumentDeclaration},Z1={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"company-dto-func-declaration-company-input-declaration-data-type-id",version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:z1,defaultValue:null},X1={type:r.GenericReference,id:"company-dto-func-declaration-company-input-declaration-parent-ref-id",entityId:sn,entityType:r.FunctionDeclaration},Q1={type:r.ArgumentDeclaration,id:Al,version:1,name:"Company",description:"The company to create a DTO for",required:!0,dataType:Z1,index:0,writesValues:[kE],parent:X1},K1={type:r.GenericReference,id:"company-dto-function-declaration-parent-ref-id",entityType:r.Project,entityId:J},Ml={type:r.FunctionDeclaration,id:sn,version:1,name:"Company DTO",description:"Takes a company and returns a DTO of that company",inputs:[Q1],calls:[kE],implements:null,index:null,returnStatements:[Ol],collapsed:!1,private:!1,x:0,y:0,parent:K1},ki="exec-in-parallel-operation-call-id",qi="exec-sequentially-operation-call-id",dt="concurrency-and-wait-function-declaration-id",qE="concurrency-and-wait-return-statement-id",JE="concurrency-and-wait-return-declaration-id",Nl="exec-in-parallel-argument-map-id",WE="exec-sequentially-argument-map-id",$l="wait-for-2-seconds-operation-id",HE="wait-for-2-seconds-argument-map-id",Vl="map-company-dto-function-call-id",YE="map-company-dto-function-call-company-dto-output-map-id",Ji="company-dto-variable-one-id",Ll="company-dto-variable-one-instance-id",e$="company-dto-variable-two-id",t$={type:r.GenericReference,id:"returned-company-dto-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:JE},n$={id:"returned-company-dto-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:t$},r$={type:r.GenericReference,id:"returned-company-dto-parent-ref-id",entityType:r.ReturnStatement,entityId:qE},i$={type:r.GenericReference,id:"returned-company-dto-reads-value-ref-id",entityType:r.VariableDeclaration,entityId:Ji},zE={isError:!1,id:JE,type:r.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:n$,readsValue:i$,required:!0,index:0,parent:r$},a$={type:r.GenericReference,id:"concurrency-and-wait-return-statement-called-by-ref-id",entityType:r.Operation,entityId:$l},s$={type:r.GenericReference,id:"concurrency-and-wait-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},ZE={type:r.ReturnStatement,id:qE,version:1,outputs:[zE],calledByError:[],calledByEntry:[],calledBySuccess:[a$],throws:null,x:0,y:0,parent:s$},o$={type:r.GenericReference,id:"company-dto-variable-two-called-by-ref-id",entityType:r.VariableInstance,entityId:Ll},l$={type:r.GenericReference,id:"company-dto-variable-two-reads-value-ref-id",entityType:r.VariableInstance,entityId:Ll},c$={type:r.GenericReference,id:"company-dto-variable-two-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},XE={id:e$,type:r.VariableDeclaration,version:1,name:"Company DTO",description:null,dataType:null,inputs:[],outputs:[],successCalls:[],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[o$],internalCalls:[],writesValues:[zE],readsValue:l$,x:0,y:0,parent:c$},d$={type:r.GenericReference,id:"company-dto-variable-one-instance-called-by-ref-id",entityType:r.VariableDeclaration,entityId:Ji},u$={type:r.GenericReference,id:"company-dto-variable-one-instance-reads-value-ref-id",entityType:r.VariableDeclaration,entityId:Ji},p$={type:r.GenericReference,id:"company-dto-variable-one-instance-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},y$={type:r.GenericReference,id:"company-dto-variable-one-instance-declaration-ref-id",entityType:r.VariableDeclaration,entityId:Ji},QE={id:Ll,type:r.VariableInstance,version:1,declaration:y$,inputs:[],outputs:[],successCalls:[XE],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[d$],internalCalls:[],writesValues:[XE],readsValue:u$,x:0,y:0,parent:p$},h$={type:r.GenericReference,id:"company-dto-variable-one-called-by-ref-id",entityType:r.FunctionCall,entityId:Vl},f$={type:r.GenericReference,id:"company-dto-variable-one-reads-value-ref-id",entityType:r.OutputMap,entityId:YE},m$={type:r.GenericReference,id:"company-dto-variable-one-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},KE={id:Ji,type:r.VariableDeclaration,version:1,name:"Company DTO",description:null,dataType:null,inputs:[],outputs:[],successCalls:[QE],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[h$],internalCalls:[],writesValues:[QE],readsValue:f$,x:0,y:0,parent:m$},eR={type:r.GenericReference,id:"map-company-dto-function-call-company-input-map-parent-ref-id",entityType:r.FunctionCall,entityId:Vl},T$={id:"map-company-dto-function-call-company-input-map-id",type:r.InputMap,version:1,declaration:Ml.inputs[0],name:null,description:null,defaultValue:null,dynamicArguments:[],index:0,readsValue:null,parent:eR},E$={id:YE,type:r.OutputMap,version:1,declaration:Ol.outputs[0],writesValues:[KE],index:0,parent:eR},R$={id:"map-company-dto-function-call-called-by-ref-id",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:dt},b$={id:"map-company-dto-function-call-parent-ref-id",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:dt},v$={id:Vl,type:r.FunctionCall,version:1,declaration:Ml,successCalls:[KE],process:null,errorCalls:[],inputs:[T$],outputs:[E$],calledByError:[],calledByEntry:[R$],calledBySuccess:[],parent:b$,x:0,y:0,error:null},g$={type:r.GenericReference,id:"last-timestamp-variable-datatype-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zm},I$={type:r.GenericReference,id:"last-timestamp-variable-default-value-parent-ref-id",entityType:r.DataType,entityId:"last-timestamp-variable-datatype-id"},P$={id:"last-timestamp-variable-datatype-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Or,version:1,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:g$,defaultValue:{id:"last-timestamp-variable-default-value-id",type:r.PrimitiveValue,version:1,name:g.Date,value:null,autogeneration:{type:xe.CurrentDateAndTime,rangeStart:null,rangeEnd:null},parent:I$,valueAsType:null}},D$={type:r.GenericReference,id:"last-timestamp-variable-main-project-ref-id",entityType:r.Project,entityId:J},Gl={id:Zm,type:r.VariableDeclaration,version:1,name:"Last registered current time",description:"A test variable that holds the last current date and time that was registered.",dataType:P$,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:D$},A$={type:r.GenericReference,id:"wait-for-2-seconds-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:HE},S$={type:r.GenericReference,id:"wait-for-2-seconds-argument-map-parent-ref-id",entityType:r.Operation,entityId:$l},O$={id:HE,type:r.InputMap,version:1,declaration:xn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"wait-for-2-seconds-argument-default-value-id",type:r.PrimitiveValue,version:1,value:2e3,valueAsType:null,autogeneration:null,name:g.Number,parent:A$},index:0,parent:S$},C$={type:r.GenericReference,id:"wait-for-2-seconds-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},B$={type:r.GenericReference,id:"wait-for-2-seconds-called-by-ref-one-id",entityType:r.FunctionDeclaration,entityId:qi},w$={type:r.GenericReference,id:"wait-for-2-seconds-called-by-ref-two-id",entityType:r.FunctionDeclaration,entityId:ki},tR={id:$l,type:r.Operation,version:1,declaration:$t,inputs:[O$],dynamicArguments:[],outputs:[],process:null,successCalls:[ZE],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[B$,w$],calledBySuccess:[],error:null,parent:C$},_$={type:r.GenericReference,id:"wait-for-random-amount-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:"wait-for-random-amount-input-map-id"},M$={type:r.GenericReference,id:"wait-for-random-amount-argument-map-parent-ref-id",entityType:r.Operation,entityId:"wait-for-random-amount-id"},N$={id:"wait-for-random-amount-input-map-id",type:r.InputMap,version:1,declaration:xn,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"wait-for-random-amount-argument-default-value-id",type:r.PrimitiveValue,version:1,value:null,valueAsType:null,autogeneration:{type:xe.Random,rangeStart:1e3,rangeEnd:4e3},name:g.Number,parent:_$},index:0,parent:M$},$$={type:r.GenericReference,id:"wait-for-random-amount-parent-ref-id",entityType:r.Project,entityId:J},xr={id:"wait-for-random-amount-id",type:r.Operation,version:1,declaration:$t,inputs:[N$],dynamicArguments:[],process:null,outputs:[],successCalls:[],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[],calledBySuccess:[],error:null,parent:$$},nR="list-of-functions-variable-id",V$={type:r.GenericReference,id:"list-of-functions-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:nR},L$={id:"list-of-functions-variable-action-descriptor-id",type:r.ActionDescriptor,version:1,name:"Action to execute",description:"An action of any type, to be executed. It can contain any number of inputs and outputs.",argumentsType:L.Dynamic,dynamicArgumentTypes:null,fixedArguments:[],returnsType:L.Dynamic,error:null,dynamicReturnTypes:null,fixedReturns:[],parent:null},G$={type:r.GenericReference,id:"list-of-functions-variable-data-type-default-parent-ref-id",entityType:r.DataType,entityId:"list-of-functions-variable-data-type-id"},F$={id:"list-of-functions-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:L$,asType:!1,isList:!0,isNullable:!1,defaultValue:{id:"list-of-functions-variable-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.ActionDescriptor,value:null,valueAsType:[xr,xr,xr,xr,xr],autogeneration:null,parent:G$},constant:!1,parent:V$},U$={type:r.GenericReference,id:"list-of-functions-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt};r.GenericReference,r.InputMap;const x$={type:r.GenericReference,id:"list-of-functions-variable-writes-value-one-ref-id",entityType:r.InputMap,entityId:WE},j$={type:r.GenericReference,id:"list-of-functions-variable-writes-value-two-ref-id",entityType:r.InputMap,entityId:Nl},rR={id:nR,type:r.VariableDeclaration,version:1,name:"List of functions to execute",description:"A list of functions to be executed in parallel",dataType:F$,parent:U$,readsValue:null,writesValues:[x$,j$],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],inputs:[],outputs:[],internalCalls:[],x:0,y:0},k$={type:r.GenericReference,id:"exec-in-parallel-return-map-parent-ref-id",entityType:r.Operation,entityId:ki},q$={type:r.GenericReference,id:"exec-in-parallel-result-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},J$={type:r.GenericReference,id:"exec-in-parallel-result-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:"exec-in-parallel-return-map-id"},W$={type:r.GenericReference,id:"exec-in-parallel-result-variable-called-by-ref-id",entityType:r.Operation,entityId:ki},iR={id:"exec-in-parallel-result-variable-id",type:r.VariableInstance,version:1,declaration:Gl,readsValue:J$,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[W$],successCalls:[],errorCalls:[],internalCalls:[],parent:q$,x:0,y:0},H$={id:"exec-in-parallel-return-map-id",type:r.OutputMap,version:1,declaration:_o,writesValues:[iR],index:0,parent:k$},Y$={type:r.GenericReference,id:"exec-in-parallel-argument-map-parent-ref-id",entityType:r.Operation,entityId:ki},z$={id:Nl,type:r.InputMap,version:1,declaration:wo,name:null,description:null,dynamicArguments:[],readsValue:rR,defaultValue:null,index:0,parent:Y$},Z$={type:r.GenericReference,id:"exec-in-parallel-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},X$={type:r.GenericReference,id:"exec-in-parallel-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:dt},Q$={process:null,id:ki,type:r.Operation,version:1,declaration:$t,inputs:[z$],dynamicArguments:[],outputs:[H$],successCalls:[tR,iR],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[X$],calledBySuccess:[],error:null,parent:Z$},K$={type:r.GenericReference,id:"exec-sequentially-return-map-parent-ref-id",entityType:r.Operation,entityId:qi},eV={type:r.GenericReference,id:"exec-sequentially-result-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},tV={type:r.GenericReference,id:"exec-sequentially-result-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:"exec-sequentially-return-map-id"},nV={type:r.GenericReference,id:"exec-sequentially-result-variable-called-by-ref-id",entityType:r.Operation,entityId:qi},aR={id:"exec-sequentially-result-variable-id",type:r.VariableInstance,version:1,declaration:Gl,readsValue:tV,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[nV],successCalls:[],errorCalls:[],internalCalls:[],parent:eV,x:0,y:0},rV={id:"exec-sequentially-return-map-id",type:r.OutputMap,version:1,declaration:No,writesValues:[aR],index:0,parent:K$},iV={type:r.GenericReference,id:"exec-sequentially-argument-map-parent-ref-id",entityType:r.Operation,entityId:qi},aV={id:WE,type:r.InputMap,version:1,declaration:Mo,name:null,description:null,dynamicArguments:[],readsValue:rR,defaultValue:null,index:0,parent:iV},sV={type:r.GenericReference,id:"exec-sequentially-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},oV={type:r.GenericReference,id:"exec-sequentially-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:dt},lV={id:qi,type:r.Operation,version:1,declaration:tn,inputs:[aV],process:null,dynamicArguments:[],outputs:[rV],successCalls:[tR,aR],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[oV],calledBySuccess:[],error:null,parent:sV},cV={type:r.GenericReference,id:"concurrency-and-wait-parent-ref-id",entityType:r.Project,entityId:J},dV={type:r.FunctionDeclaration,id:dt,version:1,name:"Execute with concurrency and wait",description:"Executes a hardcoded list of actions in parallel and waits for some time before ending the logic with some unrelated data payload as the result.",inputs:[],calls:[lV,Q$,v$],returnStatements:[ZE],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:cV},uV={type:r.GenericReference,id:"3521f2c8-a5c0-419c-8808-4fc6a73d0b78",entityType:r.ReturnDeclaration,entityId:"e1ec31f0-25ca-42ac-a4c4-c9ec2255f55b"},pV={id:"ce8b9a30-afe9-4d4f-879f-1677efca2c47",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:uV},yV={type:r.GenericReference,id:"8ee66e38-b060-474e-a503-594063a8ec24",entityType:r.ReturnStatement,entityId:"40a23a98-d3b2-42b1-9652-b33779ad15aa"},hV={isError:!1,id:"e1ec31f0-25ca-42ac-a4c4-c9ec2255f55b",type:r.ReturnDeclaration,version:1,name:"Created company",description:"The new company that was created",dataType:pV,readsValue:null,required:!0,index:0,parent:yV},fV={type:r.GenericReference,id:"9cb3c1e4-7250-4be6-be2a-69c2dd366d6f",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},mV={type:r.GenericReference,id:"c065fcdd-e054-4f95-941c-7eaa65c35d04",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},sR={type:r.ReturnStatement,id:"40a23a98-d3b2-42b1-9652-b33779ad15aa",version:1,outputs:[hV],calledByError:[],calledByEntry:[mV],calledBySuccess:[],throws:null,x:0,y:0,parent:fV},TV={type:r.GenericReference,id:"312ef836-9e40-4d57-b177-03b7145ed074",entityType:r.Project,entityId:J},EV={type:r.FunctionDeclaration,id:"5059c093-eda2-4efc-b7b4-aaaadd4d44de",version:1,name:"Create new company",description:null,inputs:[],calls:[sR],index:null,implements:null,returnStatements:[sR],collapsed:!1,private:!1,x:0,y:0,parent:TV},Fl="get-current-date-and-time-func-decl-id",oR="get-current-date-and-time-return-statement-id",lR="get-current-date-and-time-return-declaration-id",cR="get-current-date-and-time-return-declaration-data-type-id",RV={type:r.GenericReference,id:"get-current-date-and-time-return-declaration-data-type-value-parent-ref-id",entityType:r.DataType,entityId:cR},bV={type:r.GenericReference,id:"get-current-date-and-time-return-declaration-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:lR},vV={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:cR,version:1,entity:Or,asType:!1,isList:!1,isNullable:!1,defaultValue:{id:"last-timestamp-variable-default-value-id",type:r.PrimitiveValue,version:1,value:null,name:g.Date,valueAsType:null,autogeneration:{type:xe.CurrentDateAndTime,rangeStart:null,rangeEnd:null},parent:RV},constant:!1,parent:bV},gV={type:r.GenericReference,id:"get-current-date-and-time-return-declaration-parent-ref-id",entityType:r.ReturnStatement,entityId:oR};r.ReturnDeclaration;const IV={type:r.GenericReference,id:"get-current-date-and-time-return-statement-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Fl},PV={type:r.GenericReference,id:"get-current-date-and-time-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Fl};r.ReturnStatement;const DV={type:r.GenericReference,id:"concurrency-and-wait-parent-ref-id",entityType:r.Project,entityId:J},AV={type:r.FunctionDeclaration,id:Fl,version:1,name:"Get current date and time",description:"Generates and returns the current date and time at the time of the execution",inputs:[],calls:[],returnStatements:[],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:DV},dR="do-math-return-statement-id",uR="do-math-return-declaration-id",SV={type:r.GenericReference,id:"do-math-func-var-to-return-one-ref-id",entityType:r.VariableDeclaration,entityId:"do-math-func-var-to-return-one-id"},OV={id:"do-math-func-var-to-return-one-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:SV},CV={type:r.GenericReference,id:"do-math-func-decl-ref-two-id",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},BV={type:r.GenericReference,id:"do-math-func-var-to-return-one-map-ref-id",entityType:r.ReturnDeclaration,entityId:uR},wV={type:r.VariableDeclaration,id:"do-math-func-var-to-return-one-id",version:1,description:null,name:"Fixed result",dataType:OV,readsValue:null,writesValues:[BV],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:CV},_V={type:r.GenericReference,id:"96ec244e-594b-45f7-802b-6dc3056920f6",entityType:r.ReturnStatement,entityId:dR},MV={type:r.GenericReference,id:"d120c0cc-9d13-4e45-90e2-4e1ee825ca46",entityType:r.ReturnDeclaration,entityId:"873a3556-4911-4141-b2a0-49c677b56fb4"},NV={id:"da91aa23-9985-49ac-a8bf-9d623ba1ba8f",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:MV},$V={isError:!1,id:uR,version:1,type:r.ReturnDeclaration,name:"Result",description:null,dataType:NV,readsValue:wV,required:!0,index:0,parent:_V},VV={type:r.GenericReference,id:"57fd93e4-93a1-484e-82eb-4dd15d2d0e24",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},LV={type:r.GenericReference,id:"0a86e8d5-ab21-476e-a482-b928cbf351e3",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},pR={type:r.ReturnStatement,id:dR,version:1,outputs:[$V],calledByError:[],calledByEntry:[],calledBySuccess:[VV],parent:LV,throws:null,x:0,y:0},GV={type:r.GenericReference,id:"a2db26be-57f2-48e5-9769-cdbf0d95dc7c",entityType:r.VariableDeclaration,entityId:"d0e9f1f3-7e9f-4e1f-8d8e-7b4b3e6c6a6a"},FV={id:"c3e9d5f0-204f-45f9-85f7-e1b56b468388",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:GV},UV={type:r.GenericReference,id:"692122c5-610a-4504-90dd-f5a5202d116c",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},xV={type:r.GenericReference,id:"do-math-func-return-one-called-by",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},jV={type:r.GenericReference,id:"6dceb501-be5b-4252-afb4-3c0d08abba33",entityType:r.OutputMap,entityId:"64752080-ee0f-4cfe-9897-a0668f2b2aca"},yR={type:r.VariableDeclaration,id:"d0e9f1f3-7e9f-4e1f-8d8e-7b4b3e6c6a6a",version:1,name:"Result",dataType:FV,description:null,readsValue:jV,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[xV],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:UV},kV={type:r.GenericReference,id:"5440f523-af38-4981-8035-89d162fe8041",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},qV={type:r.GenericReference,id:"8c482c35-e674-4713-a1dd-63c3d13b611c",entityType:r.OutputMap,entityId:"64752080-ee0f-4cfe-9897-a0668f2b2aca"},JV={type:r.GenericReference,id:"c0a299cd-5869-4930-8cf0-90e3ceb8a903",entityType:r.VariableDeclaration,entityId:"46b2fe23-b417-4887-a35d-09b186679172"},WV={id:"51c0c1df-2ee3-41df-ae52-ac512d8cf795",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:JV},HV={type:r.GenericReference,id:"do-math-func-return-two-called-by",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},hR={type:r.VariableDeclaration,id:"46b2fe23-b417-4887-a35d-09b186679172",version:1,name:"Total",description:null,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[HV],successCalls:[],errorCalls:[],dataType:WV,readsValue:qV,writesValues:[],internalCalls:[],parent:kV,x:0,y:0},fR={type:r.GenericReference,id:"6e4d776e-6af2-4321-b630-c78110fd677c",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},YV={type:r.GenericReference,id:"5b60955b-2486-40b6-bb24-ffd97ccd8902",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},zV={type:r.GenericReference,id:"1a49923f-bc6f-453f-a438-e74e5475c2a9",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},ZV={type:r.GenericReference,id:"02bfde0a-b757-4072-9613-6e9c7c9a424a",entityType:r.ArgumentDeclaration,entityId:"d8895765-f705-457e-85fa-25d130926769"},mR={id:"928953b0-0e3f-4d8c-ae5a-84620b4b8c68",version:1,type:r.InputMap,declaration:go,name:null,description:null,dynamicArguments:[],readsValue:ZV,defaultValue:null,index:0,parent:zV},XV={id:"64752080-ee0f-4cfe-9897-a0668f2b2aca",type:r.OutputMap,version:1,declaration:Po,writesValues:[yR,hR],index:0,parent:YV},QV={type:r.GenericReference,id:"d235a7f6-07ff-4f35-98d2-8f42dd59cf9f",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},KV={id:"8827e8e9-9381-4ad7-8f61-5419c23c9136",type:r.GenericReference,entityType:r.VariableDeclaration,entityId:"72a338d8-0183-4ca2-8760-227517854595"},TR={id:"a5525249-0eb5-472b-97bc-5e4cc0d75aee",version:1,type:r.InputMap,declaration:Io,name:null,description:null,dynamicArguments:[],readsValue:KV,defaultValue:null,index:1,parent:QV},eL={type:r.Operation,id:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e",declaration:Ta,version:1,inputs:[mR,TR],dynamicArguments:[],outputs:[XV],calledByError:[],calledByEntry:[fR],calledBySuccess:[],process:null,successCalls:[pR,yR,hR],errorCalls:[],parent:fR,error:null,x:0,y:0},tL={type:r.GenericReference,id:"a2c40226-2270-4963-a865-c777ba79c551",entityType:r.DataType,entityId:"a350a9e9-25ee-477f-a83d-9e98ed2451662"},nL={id:"f47731b3-f278-4ab5-aeb2-24519c1119fb",type:r.GenericReference,entityId:"72a338d8-0183-4ca2-8760-227517854595",entityType:r.ArgumentDeclaration},ER={id:"a350a9e9-25ee-477f-a83d-9e98ed2451662",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"do-math-func-argument-two-default-value-id",type:r.PrimitiveValue,version:1,value:1,name:g.Number,parent:tL,valueAsType:null,autogeneration:null},constant:!1,parent:nL},rL={type:r.GenericReference,id:"5f5d8dd0-7f3b-40cd-9f84-83d976887eaf",entityType:r.ArgumentDeclaration,entityId:"649bf0a4-6532-44aa-9818-a03d1c6564e9"},iL={type:r.GenericReference,id:"ca018d0f-a8b3-4c7e-a408-c8b372d04aff",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},aL={type:r.GenericReference,id:"do-math-func-var-called-by-ref",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},RR={type:r.VariableDeclaration,id:"72a338d8-0183-4ca2-8760-227517854595",version:1,name:"Z",description:null,dataType:ER,inputs:[],outputs:[],calledByError:[],calledByEntry:[aL],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:rL,writesValues:[TR],internalCalls:[],x:0,y:0,parent:iL},sL={entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b",type:r.GenericReference,id:"af0cf105-4075-425f-aecc-b25d3600fcc4"},oL={id:"649bf0a4-6532-44aa-9818-a03d1c6564e9",type:r.ArgumentDeclaration,version:1,name:"Z",description:"The number to add",dataType:ER,writesValues:[RR],required:!0,index:1,parent:sL},lL={type:r.GenericReference,id:"56953b5d-3e43-4dea-a62c-f3e868ba81bb",entityType:r.Project,entityId:J},cL={id:"868defc8-5c95-48ed-942d-257e8b9b9b00",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},dL={type:r.GenericReference,id:"35167664-a793-49f1-9eaf-fb57eac30897",entityType:r.DataType,entityId:"55b12914-91b1-48b7-9a3e-9c5d0d2a2ec2"},uL={id:"d47ceef6-be6f-40f1-a7b3-c73c8d8a6c6a",type:r.GenericReference,entityId:"d8895765-f705-457e-85fa-25d130926769",entityType:r.ArgumentDeclaration},pL={id:"55b12914-91b1-48b7-9a3e-9c5d0d2a2ec2",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"do-math-func-argument-one-default-value-id",type:r.PrimitiveValue,version:1,value:5,name:g.Number,parent:dL,valueAsType:null,autogeneration:null},constant:!1,parent:uL},yL={id:"d8895765-f705-457e-85fa-25d130926769",type:r.ArgumentDeclaration,version:1,name:"N",dataType:pL,description:"The number to add",writesValues:[mR],required:!0,index:0,parent:cL},hL={type:r.FunctionDeclaration,id:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b",version:1,name:"Do math",description:"This function does math",inputs:[yL,oL],calls:[eL,RR],implements:null,index:null,collapsed:!1,returnStatements:[pR],private:!1,x:0,y:0,parent:lL},Pt="replace-bank-account-in-company-func-declaration-id",Ul="company-entity-to-modify-arg-declaration-id",fL="account-number-to-create-arg-decl-id",jr="company-variable-id",kr="search-person-by-id-id",bR="new-bank-account-owner-arg-decl-id",vR="search-person-by-id-output-declaration-id",xl="search-person-by-id-output-entity-map-id",Ts="person-not-empty-condition-id",Es="create-new-bank-account-instance-operation-id",gR="create-new-bank-account-instance-operation-output-entity-map-id",IR="company-bank-account-output-map-id",Rs="old-bank-account-var-declaration-id",mL="old-bank-account-var-instance-id",PR="company-variable-instance-id",TL="delete-bank-account-internal-call-id",EL={type:r.GenericReference,id:"company-variable-instance-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},RL={type:r.GenericReference,id:"company-variable-instance-called-by-ref-id",entityType:r.InternalCall,entityId:TL},bL={type:r.GenericReference,id:"company-variable-instance-declaration-ref-id",entityType:r.VariableDeclaration,entityId:jr},vL={type:r.GenericReference,id:"bank-account-input-map-parent-ref-id",entityType:r.VariableInstance,entityId:PR},gL={type:r.GenericReference,id:"bank-account-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:gR},DR={type:r.InputMap,id:"bank-account-input-map-id",version:1,readsValue:gL,declaration:Tl,name:null,description:null,index:0,defaultValue:null,dynamicArguments:[],parent:vL},IL={type:r.VariableInstance,id:PR,version:1,declaration:bL,inputs:[DR],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[RL],successCalls:[],errorCalls:[],internalCalls:[],parent:EL,readsValue:null,writesValues:[],x:0,y:0},PL={type:r.GenericReference,id:"bank-account-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:jr},DL={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"bank-account-variable-data-type-id",version:1,entity:Gr,asType:!1,isList:!1,isNullable:!1,constant:!1,defaultValue:null,parent:PL},AL={type:r.GenericReference,id:"bank-account-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:IR},AR={type:r.GenericReference,id:"bank-account-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},SL={type:r.GenericReference,id:"bank-account-variable-called-by-ref-id",entityType:r.VariableDeclaration,entityId:jr},OL={type:r.GenericReference,id:"delete-bank-account-internal-call-called-by-ref-id",entityType:r.Operation,entityId:Es},CL={type:r.GenericReference,id:"delete-bank-account-internal-call-parent-ref-id",entityType:r.VariableDeclaration,entityId:Rs},BL={type:r.GenericReference,id:"delete-bank-account-internal-call-called-by-ref-two-id",entityType:r.VariableDeclaration,entityId:Rs},jl={process:null,type:r.InternalCall,id:"delete-bank-account-internal-call-id",version:1,declaration:ko,index:0,successCalls:[IL],errorCalls:[],inputs:[],outputs:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[OL,BL],parent:CL},wL={type:r.GenericReference,id:"old-bank-account-variable-trigger-delete-decl-ref-id",entityType:r.VariableDeclaration,entityId:Rs};r.VariableInstance;const SR={type:r.VariableDeclaration,id:Rs,version:1,name:"Old bank account",description:"The existing bank account that needs to be replaced in the company entity",dataType:DL,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[SL],successCalls:[jl],internalCalls:[],errorCalls:[],parent:AR,readsValue:AL,writesValues:[],x:0,y:0},_L={type:r.GenericReference,id:"company-variable-declaration-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:jr},ML={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"company-variable-declaration-data-type-id",version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,constant:!1,defaultValue:null,parent:_L},NL={type:r.GenericReference,id:"company-variable-declaration-reads-value-ref-id",entityType:r.ArgumentDeclaration,entityId:Ul},$L={type:r.GenericReference,id:"company-variable-declaration-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},VL={type:r.GenericReference,id:"company-variable-declaration-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},LL={type:r.GenericReference,id:"company-bank-account-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:jr},GL={id:IR,version:1,type:r.OutputMap,declaration:Tl,index:0,parent:LL,writesValues:[SR]},OR={type:r.VariableDeclaration,id:jr,version:1,name:"Company",description:"The company entity that was passed as an argument to the parent function",dataType:ML,inputs:[],outputs:[GL],calledByError:[],calledByEntry:[VL],calledBySuccess:[],successCalls:[SR],errorCalls:[],parent:$L,internalCalls:[],readsValue:NL,writesValues:[],x:0,y:0},FL={type:r.GenericReference,id:"create-new-bank-account-account-owner-dynamic-input-map-parent-ref-id",entityType:r.InputMap,entityId:"create-new-bank-account-instance-operation-entity-to-create-input-map-id"},UL={id:"create-new-bank-account-account-owner-dynamic-input-map-reads-value-ref-id",type:r.GenericReference,entityType:r.OutputMap,entityId:xl},CR={id:"create-new-bank-account-account-owner-dynamic-input-map-id",version:1,type:r.InputMap,declaration:rT,name:null,description:null,dynamicArguments:[],readsValue:UL,index:1,defaultValue:null,parent:FL},xL={id:"create-new-bank-account-account-number-dynamic-input-map-reads-value-ref-id",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:fL},jL={type:r.GenericReference,id:"create-new-bank-account-account-number-dynamic-input-map-parent-ref-id",entityType:r.InputMap,entityId:"create-new-bank-account-instance-operation-entity-to-create-input-map-id"},BR={id:"create-new-bank-account-account-number-dynamic-input-map-id",version:1,type:r.InputMap,declaration:nT,name:null,description:null,dynamicArguments:[],readsValue:xL,defaultValue:null,index:0,parent:jL},kL={type:r.GenericReference,id:"create-new-bank-account-instance-operation-entity-to-create-input-map-parent-ref-id",entityType:r.Operation,entityId:Es},qL={id:"create-new-bank-account-instance-operation-entity-to-create-input-map-id",version:1,type:r.InputMap,declaration:Cr.fixedArguments[0],name:null,description:null,dynamicArguments:[BR,CR],index:0,readsValue:null,defaultValue:{type:r.PrimitiveValue,name:g.EntityTemplate,value:null,valueAsType:Gr,autogeneration:null},parent:kL},JL={type:r.GenericReference,id:"create-new-bank-account-instance-operation-output-entity-map-parent-ref-id",entityType:r.Operation,entityId:Es},WL={id:gR,version:1,type:r.OutputMap,declaration:Cr.fixedReturns[0],index:0,writesValues:[DR],parent:JL},HL={type:r.GenericReference,id:"create-new-bank-account-instance-operation-called-by-ref-id",entityType:r.Condition,entityId:Ts},YL={type:r.GenericReference,id:"create-new-bank-account-instance-operation-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},zL={process:null,id:Es,type:r.Operation,version:1,declaration:Cr,inputs:[qL],dynamicArguments:[],error:null,outputs:[WL],successCalls:[jl],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[HL],parent:YL,x:0,y:0},ZL={id:"person-not-found-thrown-error-datatype-default-value-parent-ref-id",type:r.GenericReference,entityId:"person-not-found-thrown-error-datatype-id",entityType:r.DataType},XL={id:"person-not-found-thrown-error-datatype-parent-ref-id",type:r.GenericReference,entityId:"person-not-found-thrown-error-id",entityType:r.ReturnDeclaration};r.DataType,r.PrimitiveValue,g.String;const QL={id:"person-not-found-thrown-error-parent-ref-id",type:r.GenericReference,entityId:"person-not-found-error-return-statement-id",entityType:r.ReturnStatement},KL={isError:!0,id:"person-not-found-thrown-error-id",type:r.ReturnDeclaration,version:1,dataType:null,name:"Person not found error",description:"If the person entity was not found this error is outputted",parent:QL,required:!0,index:0,readsValue:null},eG={id:"person-not-found-error-return-statement-called-by-ref-id",type:r.GenericReference,entityId:Ts,entityType:r.Condition},tG={id:"person-not-found-error-return-statement-parent-ref-id",type:r.GenericReference,entityId:Pt,entityType:r.FunctionDeclaration},nG={id:"person-not-found-error-return-statement-id",type:r.ReturnStatement,version:1,throws:KL,outputs:[],calledBySuccess:[],calledByError:[eG],calledByEntry:[],x:0,y:0,parent:tG},rG={type:r.GenericReference,id:"person-not-empty-condition-called-by-ref-id",entityType:r.Search,entityId:kr},iG={type:r.GenericReference,id:"person-not-empty-condition-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},aG={type:r.GenericReference,id:"person-entity-to-check-map-reads-value-ref-id",entityType:r.OutputMap,entityId:xl},sG={type:r.GenericReference,id:"person-not-empty-condition-ref-two-id",entityType:r.Condition,entityId:Ts},wR={id:"person-entity-to-check-map-id",version:1,type:r.InputMap,declaration:qn.fixedArguments[0],name:null,description:null,dynamicArguments:[],readsValue:aG,index:0,defaultValue:null,parent:sG},oG={type:r.Condition,id:Ts,version:1,declaration:qn,inputs:[wR],calledByError:[],calledByEntry:[],calledBySuccess:[rG],successCalls:[zL],errorCalls:[nG],x:0,y:0,parent:iG},lG={type:r.GenericReference,id:"search-person-by-id-output-entity-declaration-datatype-parent-ref-id",entityType:r.ReturnDeclaration,entityId:vR},cG={id:"search-person-by-id-output-entity-declaration-datatype-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!1,constant:!1,asType:!1,isNullable:!1,entity:ct,defaultValue:null,parent:lG},dG={type:r.GenericReference,id:"search-person-by-id-output-entity-declaration-parent-ref-id",entityType:r.Search,entityId:kr},_R={isError:!1,id:vR,type:r.ReturnDeclaration,version:1,dataType:cG,name:"Found person",description:"The person entity that was found",parent:dG,required:!0,index:0,readsValue:null},uG={type:r.GenericReference,id:"search-person-by-id-output-entity-map-parent-ref-id",entityType:r.Search,entityId:kr},pG={type:r.OutputMap,id:xl,version:1,declaration:_R,parent:uG,writesValues:[wR,CR],index:0},yG={id:"search-person-by-id-input-declaration-datatype-parent-ref-id",type:r.GenericReference,entityId:"search-person-by-id-input-declaration-id",entityType:r.ArgumentDeclaration};r.DataType;const hG={type:r.GenericReference,id:"search-person-by-id-input-declaration-parent-ref-id",entityType:r.Search,entityId:kr},MR={id:"search-person-by-id-input-declaration-id",type:r.ArgumentDeclaration,version:1,dataType:null,name:"Person ID",description:"The unique identifier (ID) property of the person entity",index:0,required:!0,parent:hG,writesValues:[]},fG={type:r.GenericReference,id:"search-person-by-id-input-map-parent-ref-id",entityType:r.Search,entityId:kr},mG={id:"search-person-by-id-input-map-reads-value-ref-id",type:r.GenericReference,entityId:bR,entityType:r.ArgumentDeclaration},NR={type:r.InputMap,id:"search-person-by-id-input-map",version:1,declaration:MR,name:null,description:null,readsValue:mG,defaultValue:null,parent:fG,dynamicArguments:[],index:0},TG={from:{name:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},items:[{name:"*"}],where:[{name:"id",value:"{{dynamic_value_1}}"}]},EG={type:r.GenericReference,id:"search-person-by-id-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},RG={type:r.GenericReference,id:"search-person-by-id-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Pt},bG={type:r.Search,id:kr,version:1,name:"Search person by ID",description:"Searches for a person entity given the UUID",query:TG,inputsDeclarations:[MR],inputs:[NR],outputsDeclarations:[_R],outputs:[pG],calledByError:[],calledByEntry:[RG],calledBySuccess:[],error:null,successCalls:[oG],errorCalls:[],parent:EG,x:0,y:0};r.GenericReference,r.DataType;const vG={id:"account-number-to-create-arg-decl-data-type-parent-ref-id",type:r.GenericReference,entityId:"account-number-to-create-arg-decl-id",entityType:r.ArgumentDeclaration},gG={id:"account-number-to-create-arg-decl-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:vG},IG={entityType:r.FunctionDeclaration,entityId:Pt,type:r.GenericReference,id:"account-number-to-create-arg-decl-parent-ref-id"},PG={id:"account-number-to-create-arg-decl-id",type:r.ArgumentDeclaration,version:1,name:"Account number",description:"The account number of the new bank account entity",dataType:gG,writesValues:[BR],required:!0,index:1,parent:IG};r.GenericReference,r.DataType;const DG={id:"new-bank-account-owner-arg-decl-data-type-parent-ref-id",type:r.GenericReference,entityId:"new-bank-account-owner-arg-decl-id",entityType:r.ArgumentDeclaration},AG={id:"new-bank-account-owner-arg-decl-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ma,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:DG},SG={entityType:r.FunctionDeclaration,entityId:Pt,type:r.GenericReference,id:"new-bank-account-owner-arg-decl-parent-ref-id"},OG={id:bR,type:r.ArgumentDeclaration,version:1,name:"New account owner ID",description:"If it has changed, this is the new person entity, that owns of the bank account",dataType:AG,writesValues:[NR],required:!1,index:1,parent:SG},CG={type:r.GenericReference,id:"replace-bank-account-in-company-parent-ref",entityType:r.Project,entityId:J},BG={type:r.GenericReference,id:"company-entity-to-modify-parent-ref",entityType:r.FunctionDeclaration,entityId:Pt};r.GenericReference,r.DataType;const wG={id:"d47ceef6-be6f-40f1-a7b3-c73c8d8a6c6a",type:r.GenericReference,entityId:Ul,entityType:r.ArgumentDeclaration},_G={id:"company-entity-to-modify-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:wG},MG={id:Ul,type:r.ArgumentDeclaration,version:1,name:"Company",dataType:_G,description:"The company to replace the bank account for",writesValues:[OR],required:!0,index:0,parent:BG},NG={type:r.FunctionDeclaration,id:Pt,version:1,name:"Replace bank account",description:"This action takes an existing company and data to create a new bank account entity. It then creates a bank account, deletes the old one, and updates the company with the new bank account",inputs:[MG,PG,OG],index:null,implements:null,calls:[bG,OR],collapsed:!1,returnStatements:[],private:!1,x:0,y:0,parent:CG},$G={type:r.GenericReference,id:"e0a937bd-3a85-4037-a973-916985b9f94b",entityType:r.Project,entityId:"7268bc97-c0e6-4d88-b37e-d3241b5f77a6"},VG={type:r.FunctionDeclaration,version:1,id:"6bedb217-f844-4332-af72-9626b2a32511",name:"Some library main function",description:null,inputs:[],calls:[],implements:null,collapsed:!0,index:null,returnStatements:[],private:!1,parent:$G,x:0,y:0},LG={type:r.GenericReference,id:"948e6869-ae5b-4914-bea0-b9f02ad6a014",entityType:r.Project,entityId:"23b23d8b-1929-4505-a350-745c8550e731"},GG={type:r.GenericReference,id:"f3d6f2c6-1b3e-4e9d-8c9d-5b5b9f0b8d9c",entityType:r.Project,entityId:"7268bc97-c0e6-4d88-b37e-d3241b5f77a6"},FG={type:r.InstalledProject,version:1,id:"7268bc97-c0e6-4d88-b37e-d3241b5f77a6",name:"Third Party Installed Project",description:null,functions:[VG],events:[],implements:GG,parent:LG,x:0,y:0},kl="iterate-over-list-loop-id",$R="iterate-over-list-loop-body-id",VR="iterate-over-list-loop-body-current-iteration-argument-declaration-id",UG={type:r.GenericReference,id:"iterate-over-list-loop-body-current-iteration-argument-declaration-data-type-parent-ref-id",entityId:VR,entityType:r.ArgumentDeclaration},xG={id:"iterate-over-list-loop-body-current-iteration-argument-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,defaultValue:null,entity:null,isList:!1,isNullable:!1,asType:!1,constant:!1,parent:UG},jG={id:"iterate-over-list-loop-body-current-iteration-argument-declaration-parent-ref-id",type:r.GenericReference,entityId:$R,entityType:r.FunctionDeclaration},kG={id:VR,type:r.ArgumentDeclaration,version:1,name:"Current value",description:"The current value being processed.",dataType:xG,required:!0,index:0,writesValues:[],parent:jG},qG={id:"iterate-over-list-loop-body-parent-ref-id",type:r.GenericReference,entityId:kl,entityType:r.Loop},JG={id:$R,type:r.FunctionDeclaration,version:1,name:"Iteration logic trigger",description:"This function is called once for each entity in the list.",inputs:[kG],calls:[],implements:null,collapsed:!1,returnStatements:[],private:!1,index:0,x:0,y:0,parent:qG},WG={id:"iterate-over-list-loop-iteration-list-input-map-parent-ref-id",type:r.GenericReference,entityId:kl,entityType:r.Loop},HG={id:"iterate-over-list-loop-iteration-list-input-map-id",type:r.InputMap,version:1,name:null,description:null,declaration:kn.fixedArguments[0],defaultValue:null,dynamicArguments:[],readsValue:null,index:0,parent:WG},YG={id:"iterate-over-list-loop-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},zG={id:kl,type:r.Loop,version:1,declaration:kn,inputs:[HG],successCalls:[],errorCalls:[],outputs:[],process:null,body:JG,calledByError:[],calledByEntry:[],calledBySuccess:[],breakStatements:[],continueStatements:[],error:null,x:0,y:0,parent:YG};var ql=(n=>(n.EQ="eq",n.NEQ="neq",n.GT="gt",n.GTE="gte",n.LT="lt",n.LTE="lte",n.LIKE="like",n.ILIKE="ilike",n))(ql||{}),LR=(n=>(n.COUNT="count",n.SUM="sum",n.AVG="avg",n.MIN="min",n.MAX="max",n))(LR||{});const ZG={from:{name:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},items:{from:{name:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},items:[{function:{name:LR.COUNT,items:["f8310850-a87e-405c-b182-4f1d5fa49240"]},alias:"employee_count"}],where:[{name:"80c86e1b-caca-4ba5-9b1f-38f72d10e4a3",operation:ql.NEQ,value:null}]},where:[{name:"employee_count",operation:ql.GT,value:1}]},XG={id:"find-companies-with-multiple-employees-and-bank-account-search-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},QG={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-declaration-parent-ref-id",type:r.GenericReference,entityId:"find-companies-with-multiple-employees-and-bank-account",entityType:r.Search},GR={isError:!1,id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-declaration-id",type:r.ReturnDeclaration,version:1,name:"companies",description:"List of companies with multiple employees and an existing bank account",dataType:null,readsValue:null,required:!0,index:0,parent:QG},KG={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-parent-ref-id",type:r.GenericReference,entityId:"find-companies-with-multiple-employees-and-bank-account",entityType:r.Search},eF={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-id",type:r.OutputMap,version:1,declaration:GR,writesValues:[],index:0,parent:KG},tF={id:"find-companies-with-multiple-employees-and-bank-account",type:r.Search,version:1,name:"Find companies with multiple employees and a bank account",description:"This search statement finds companies with multiple employees and an existing bank account",inputsDeclarations:[],outputsDeclarations:[GR],inputs:[],outputs:[eF],query:ZG,successCalls:[],errorCalls:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[],x:0,y:0,parent:XG},qr="random-company-employee-test-variable-id",Jl="manager-global-variable-id",FR="global-user-instance-id",Jr="employee-mapped-dto-variable-id",UR="random-employee-id-output-map-id",xR="random-employee-birth-date-output-map-id",jR="random-employee-department-output-map-id",kR="random-employee-manager-output-map-id",qR="manager-global-id-output-map-id",JR="global-user-instance-id-output-map-id",nF="employee-mapped-dto-requester-id-input-map-id",rF="employee-mapped-dto-id-input-map-id",iF="employee-mapped-dto-birth-date-input-map-id",aF="employee-mapped-dto-department-input-map-id",sF="employee-mapped-dto-manager-input-map-id",oF={type:r.GenericReference,id:"employee-mapped-dto-manager-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:qR},lF={type:r.GenericReference,id:"employee-mapped-dto-manager-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Jr},WR={id:sF,type:r.InputMap,version:1,declaration:null,name:"manager_id",description:null,defaultValue:null,dynamicArguments:[],index:4,readsValue:oF,parent:lF},cF={type:r.GenericReference,id:"employee-mapped-dto-department-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:jR},dF={type:r.GenericReference,id:"employee-mapped-dto-department-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Jr},HR={id:aF,type:r.InputMap,version:1,declaration:null,name:"department_name",description:null,defaultValue:null,dynamicArguments:[],index:3,readsValue:cF,parent:dF},uF={type:r.GenericReference,id:"employee-mapped-dto-birth-date-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:xR},pF={type:r.GenericReference,id:"employee-mapped-dto-birth-date-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Jr},YR={id:iF,type:r.InputMap,version:1,declaration:null,name:"birth_date",description:null,defaultValue:null,dynamicArguments:[],index:2,readsValue:uF,parent:pF},yF={type:r.GenericReference,id:"employee-mapped-dto-id-output-map-reads-value-ref-id",entityType:r.OutputMap,entityId:UR},hF={type:r.GenericReference,id:"employee-mapped-dto-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Jr},zR={id:rF,type:r.InputMap,version:1,declaration:null,name:"id",description:"The ID of the employee",defaultValue:null,dynamicArguments:[],index:1,readsValue:yF,parent:hF},fF={type:r.GenericReference,id:"employee-mapped-dto-requester-id-output-map-reads-value-ref-id",entityType:r.OutputMap,entityId:JR},mF={type:r.GenericReference,id:"employee-mapped-dto-requester-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Jr},ZR={id:nF,type:r.InputMap,version:1,declaration:null,name:"requester_id",description:"The ID of the current user making the request",defaultValue:null,dynamicArguments:[],index:0,readsValue:fF,parent:mF},TF={type:r.GenericReference,id:"manager-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Jl},EF={id:qR,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[WR],parent:TF},RF={type:r.GenericReference,id:"manager-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:Jl},bF={id:"manager-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:It,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:RF,defaultValue:null},vF={type:r.GenericReference,id:"manager-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:kR},gF={type:r.GenericReference,id:"manager-variable-parent-ref-id",entityType:r.Project,entityId:J},XR={id:Jl,type:r.VariableDeclaration,version:1,name:"Manager",dataType:bF,description:"A variable holding an inherited manager for testing purposes",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:vF,writesValues:[],inputs:[],outputs:[EF],internalCalls:[],parent:gF,x:0,y:0},IF={type:r.GenericReference,id:"random-company-employee-manager-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},PF={id:kR,type:r.OutputMap,version:1,declaration:It.properties[2],index:3,writesValues:[XR],parent:IF},DF={type:r.GenericReference,id:"random-company-employee-department-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},AF={id:jR,type:r.OutputMap,version:1,declaration:It.properties[0],index:2,writesValues:[HR],parent:DF},SF={type:r.GenericReference,id:"random-company-employee-birth-date-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},OF={id:xR,type:r.OutputMap,version:1,declaration:ct.properties[1],index:1,writesValues:[YR],parent:SF},CF={type:r.GenericReference,id:"random-company-employee-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},BF={id:UR,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[zR],parent:CF},wF={type:r.GenericReference,id:"random-company-employee-test-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},_F={id:"random-company-employee-test-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:It,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:wF,defaultValue:null},MF={type:r.GenericReference,id:"random-company-employee-test-variable-parent-ref-id",entityType:r.Project,entityId:J},NF={id:qr,type:r.VariableDeclaration,version:1,name:"Company employee",dataType:_F,description:"A variable holding a random company employee for testing purposes",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[],outputs:[BF,OF,AF,PF],internalCalls:[],parent:MF,x:0,y:0},$F={type:r.GenericReference,id:"employee-mapped-dto-variable-parent-ref-id",entityType:r.Project,entityId:J},VF={id:Jr,type:r.VariableDeclaration,version:1,name:"Employee DTO",dataType:null,description:"A variable holding the data of a mapped employee DTO",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[ZR,zR,YR,HR,WR],outputs:[],internalCalls:[],parent:$F,x:0,y:0},LF={type:r.GenericReference,id:"0e63e617-f9d3-42e8-bde0-1bb0b1df7034",entityType:r.VariableDeclaration,entityId:pl},GF={id:"e75645ce-d3df-4f07-a897-ae9ef4d917fd",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:hl,version:1,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:LF,defaultValue:null},FF={type:r.GenericReference,id:"e92a8ff5-3fef-4e0c-8d8f-92c930b2890b",entityType:r.Project,entityId:J},QR={id:pl,type:r.VariableDeclaration,version:1,name:"Current user",description:"The user that is currently logged in",dataType:GF,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:FF},UF={type:r.GenericReference,id:"manager-variable-id-output-map-parent-ref-id",entityType:r.VariableInstance,entityId:FR},xF={id:JR,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[ZR],parent:UF},jF={type:r.GenericReference,id:"global-user-instance-parent-ref-id",entityType:r.Project,entityId:J},kF={id:FR,type:r.VariableInstance,version:1,declaration:QR,calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[],outputs:[xF],internalCalls:[],parent:jF,x:0,y:0},qF={type:r.GenericReference,id:"is-test-environment-variable-dcl-datatype-parent-ref-id",entityType:r.VariableDeclaration,entityId:pl},JF={type:r.GenericReference,id:"is-test-environment-variable-dcl-datatype-default-value-parent-ref-id",entityType:r.DataType,entityId:"is-test-environment-variable-dcl-datatype-id"},WF={id:"is-test-environment-variable-dcl-datatype-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Un,version:1,asType:!1,isList:!1,isNullable:!1,constant:!0,parent:qF,defaultValue:{id:"is-test-environment-variable-dcl-datatype-default-value-id",name:g.Boolean,version:1,value:null,type:r.PrimitiveValue,autogeneration:{type:xe.Random,rangeStart:null,rangeEnd:null},valueAsType:null,parent:JF}},HF={type:r.GenericReference,id:"is-test-environment-variable-dcl-main-project-ref-id",entityType:r.Project,entityId:J},KR={id:"is-test-environment-variable-dcl-id",type:r.VariableDeclaration,version:1,name:"Is test envrioment",description:"Indicates whether the current environment is a test environment or not.",dataType:WF,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:HF},YF={type:r.GenericReference,id:"is-test-environment-variable-instance-parent-ref-id",entityType:r.Project,entityId:J},zF={id:"is-test-environment-variable-instance-id",type:r.VariableInstance,version:1,declaration:KR,calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[],outputs:[],internalCalls:[],parent:YF,x:0,y:0},eb={type:r.Project,id:J,version:1,name:"Mocked project to compile",description:"This project is used to test all sorts of features and edge cases. It is not meant to be used in production. Or to have any functionality that makes sense",projects:[FG],entities:[yl,hl,ct,Yw,It,os,mT,TT,Gr,jB,mt,Lw,Xm,JD,UB],functions:[dV,qT,_l,EV,AV,iE,Ml,El,NG,ST,hL],events:[S_],variableDeclarations:[KR,QR,Gl,NF,XR,VF],variableInstances:[zF,kF],conditions:[],operations:[xr],functionCalls:[DM,_N],loops:[zG],searches:[tF]};var f=(n=>(n.Error="error",n.Warning="warning",n))(f||{}),v=(n=>(n.InvalidObjectStructure="invalid-object-structure",n.NameNotUniqueInScope="name-not-unique-in-scope",n.EmptyName="empty-name",n.MissingCaller="missing-caller",n.PropertyOverwrite="property-overwrite",n.MethodOverwrite="method-overwrite",n.NoOverlapWithImplementedSignature="no-overlap-with-implemented-signature",n.ReaderWriterIncompatibleDataType="reader-writer-incompatible-data-type",n.UnreachableEntity="unreachable-entity",n.InternalCallParentMissingDataType="internal-call-parent-missing-data-type",n.InternalCallParentDeclarationEntityInvalidType="internal-call-parent-declaration-entity-invalid-type",n.InternalCallDeclarationNotFoundInParentDatatypeEntity="internal-call-declaration-not-found-in-parent-datatype-entity",n.InternalCallDeclarationIsNotFunctionDeclaration="internal-call-declaration-is-not-function-declaration",n.InternalCallDeclarationNotInParentDatatypeEntity="internal-call-declaration-not-in-parent-datatype-entity",n))(v||{}),y=(n=>(n.RootReference="root-reference",n.ReferencedEntityNotFound="referenced-entity-not-found",n.EntityIdNotUnique="entity-id-not-unique",n.BuiltInEntityGenerated="built-in-entity-generated",n.BuiltInEntityUpdated="built-in-entity-updated",n.BuiltInEntityDeleted="built-in-entity-deleted",n.UnknownEntityType="unknown-entity-type",n.MissingTypeProperty="missing-type-property",n.MissingIdProperty="missing-id-property",n.BuiltInEntityParent="built-in-entity-parent",n.InvalidBuiltInEntityReference="invalid-built-in-entity-reference",n.RecommendedImplementAbstractEntityAction="recommended-implement-abstract-entity-action",n.RecommendedImplementOperationAction="recommended-implement-operation-action",n.RecommendedImplementFunctionCallAction="recommended-implement-function-call-action",n.RecommendedImplementVariableDeclarationAction="recommended-implement-variable-declaration-action",n.RecommendedImplementVariableInstanceAction="recommended-implement-variable-instance-action",n.RecommendedImplementConditionAction="recommended-implement-condition-action",n.InvalidReferenceObjectStructure="invalid-reference-object-structure",n.ContainsSingleButShouldBeReferenceList="contains-single-but-should-be-reference-list",n.ContainsListButShouldReferenceSingle="contains-list-but-should-reference-single",n.InvalidParentReference="invalid-parent-reference",n.InvalidImplementsReference="invalid-implements-reference",n.InvalidExtendsReference="invalid-extends-reference",n.InvalidGenerationActionPayload="invalid-generation-action-payload",n.InvalidReference="invalid-reference",n.InvalidInternalCallParentRelation="invalid-internal-call-parent-relation",n.InvalidUpdateEntityOperation="invalid-update-entity-operation",n.NewEntityWouldOverriteExisting="new-entity-would-overrite-existing",n.InvalidDownstreamPropertyOverride="invalid-downstream-property-override",n.UnrecognizedProperty="unrecognized-property",n.SelfReference="self-reference",n.DuplicateReference="duplicate-reference",n.CallerWithIncompatibleScope="caller-with-incompatible-scope",n.InvalidFunctionDeclarationForFunctionCall="invalid-function-declaration-for-function-call",n.InvalidInputMapDeclaration="invalid-input-map-declaration",n.InvalidActionDescriptorForOperation="invalid-action-descriptor-for-operation",n.InvalidActionDescriptorForCondition="invalid-action-descriptor-for-condition",n.InvalidActionDescriptorForLoop="invalid-action-descriptor-for-loop",n.InvalidInmutablePropertyOverride="invalid-inmutable-property-override",n.OutputOverwrite="output-overwrite",n.InputOverwrite="input-overwrite",n.IncompatibleScope="incompatible-scope",n.InvalidParentUpdate="invalid-parent-update",n.NonInteractiveEntityReferenced="non-interactive-entity-referenced",n.InvalidParentRelationType="invalid-parent-relation-type",n))(y||{}),O=(n=>(n.ScopeWithoutLogic="scope-without-logic",n.ExtendingAbstractEntity="extending-abstract-entity",n.ImplementingNonAbstractEntity="implementing-non-abstract-entity",n.AbstractEntityWithNonAbstractMethods="abstract-entity-with-non-abstract-methods",n.AbstractEntityWithNonAbstractProperties="abstract-entity-with-non-abstract-properties",n.StaticEntityWithNonStaticProperties="static-entity-with-non-static-properties",n.NonStaticPropertyInStaticEntity="non-static-property-in-static-entity",n.AbstractPropertyInNonAbstractEntity="abstract-property-in-non-abstract-entity",n.AbstractMethodInNonAbstractEntity="abstract-method-in-non-abstract-entity",n.IncorrectEntityImplementation="incorrect-entity-implementation",n.IncorrectMethodImplementation="incorrect-method-implementation",n.IncorrectPropertyImplementation="incorrect-property-implementation",n.PropertyImplementsNonAbstact="property-implements-non-abstract",n.NonStaticPropertyImplementsStatic="non-static-property-implements-static",n.StaticPropertyImplementsNonStatic="static-property-implements-non-static",n.PropertyImplementsIncompatibleType="property-implements-incompatible-type",n.MissingPropertyImplementation="missing-property-implementation",n.MissingMethodImplementation="missing-method-implementation",n.NoProperties="no-properties",n.ReadingFromIncompatibleType="reading-from-incompatible-type",n.WritingToIncompatibleType="writing-to-incompatible-type",n.InvalidPropertiesCombination="invalid-properties-combination",n.DisconnectedCallableEntity="disconnected-callable-entity",n.VariableHasInputsAndInternalCall="variable-has-inputs-and-internal-calls",n.VariableHasOutputsAndInternalCall="variable-has-outputs-and-internal-call",n.VariableIsCalledAndHasInternalCall="variable-is-called-and-has-internal-call",n.VariableCallsOthersAndHasInternalCall="variable-calls-others-and-has-internal-call",n))(O||{});class E{constructor(e){l(this,"id");l(this,"message");l(this,"issue");l(this,"severity");l(this,"code");this.id=e.id,this.message=e.message,this.issue=e.issue,this.severity=e.severity,this.code=e.code}toEntityError(e){return this.code in v?new Qn({id:this.id,message:this.message,issue:this.issue,severity:this.severity,code:this.code,entity:e}):null}}class Qn{constructor(e){l(this,"id");l(this,"message");l(this,"issue");l(this,"severity");l(this,"code");l(this,"entity");this.id=e.id,this.message=e.message,this.issue=e.issue,this.severity=e.severity,this.code=e.code,this.entity=e.entity}clone(){return new Qn({id:this.id,message:this.message,issue:this.issue,severity:this.severity,code:this.code,entity:this.entity})}}function ZF(n){const e=new Set;return n.filter(t=>e.has(t.id)?!1:(e.add(t.id),!0))}function k(n){const e=n.entity.errors.find(i=>i.id===n.id);return e?{new:!1,error:e}:{new:!0,error:new Qn(n)}}function XF(n,e){const t=new Map;return n.forEach(i=>{t.set(i.id,i)}),e.forEach(i=>{t.set(i.id,i)}),Array.from(t.values())}function X(n,e){const t=[];return e.forEach(i=>{const a=n.find(s=>s.id===i.id);a?t.push(a):t.push(i)}),t}const Wi=c.union([c.string(),c.number(),c.boolean(),c.date()]),tb=c.enum([xe.CurrentDateAndTime,xe.Random,xe.Unique]),bs=c.object({type:tb,rangeStart:Wi.nullable(),rangeEnd:Wi.nullable()}),Hi=bs.extend({type:c.literal(xe.Random),rangeStart:Wi,rangeEnd:Wi}),Wl=bs.extend({type:c.literal(xe.Unique),rangeStart:c.null(),rangeEnd:c.null()}),nb=bs.extend({type:c.literal(xe.CurrentDateAndTime),rangeStart:c.null(),rangeEnd:c.null()}),vs=Hi.extend({rangeStart:c.number().nullable(),rangeEnd:c.number().nullable()}),rb=vs.extend({rangeStart:c.number(),rangeEnd:c.null()}),ib=vs.extend({rangeStart:c.null(),rangeEnd:c.number()}),ab=vs.extend({rangeStart:c.number(),rangeEnd:c.number()}),gs=Hi.extend({rangeStart:c.number().nullable(),rangeEnd:c.number().nullable()}),sb=gs.extend({rangeStart:c.number(),rangeEnd:c.null()}),ob=gs.extend({rangeStart:c.null(),rangeEnd:c.number()}),lb=gs.extend({rangeStart:c.number(),rangeEnd:c.number()}),Is=Hi.extend({rangeStart:c.date().nullable(),rangeEnd:c.date().nullable()}),cb=Is.extend({rangeStart:c.date(),rangeEnd:c.null()}),db=Is.extend({rangeStart:c.null(),rangeEnd:c.date()}),ub=Is.extend({rangeStart:c.date(),rangeEnd:c.date()}),Hl=Hi.extend({rangeStart:c.null(),rangeEnd:c.null()}),Yl=c.union([sb,ob,lb]),zl=c.union([rb,ib,ab]),Zl=c.union([cb,db,ub,nb]),Xl=c.union([Yl,zl,Zl,Wl,Hl]);function Ql(){return c.union([c.object({type:c.literal(r.ValueDescriptor)}),c.record(c.string(),c.any())])}function pb(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ValueDescriptor)})}function Kl(){return c.object({id:c.string(),type:c.literal(r.ValueDescriptor),name:c.string(),required:c.boolean()})}function QF(){return Kl().merge(c.object({version:c.number(),index:c.number()}))}function KF(){return Kl().merge(c.object({}))}function e4(){return c.object({dataType:cn(),parent:on()})}function t4(){return QF().merge(e4())}function Ps(){return c.union([c.object({type:c.literal(r.PrimitiveEntity)}),c.record(c.string(),c.any())])}function Ds(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.PrimitiveEntity)})}function As(){return c.object({id:c.string(),type:c.literal(r.PrimitiveEntity),name:c.string(),description:c.string().nullable(),static:c.boolean(),abstract:c.boolean()})}function n4(){return As().merge(c.object({version:c.number()}))}function r4(){return As().merge(c.object({}))}function i4(){return c.object({properties:c.array(Kn()),methods:c.array(At()),abstractMethods:c.array(Yt()),extends:c.array(c.union([Ps(),Wr()]))})}function a4(){return n4().merge(i4())}function Kn(){return c.union([c.object({type:c.literal(r.Property)}),c.record(c.string(),c.any())])}function yb(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Property)})}function ec(){return c.object({id:c.string(),type:c.literal(r.Property),name:c.string(),description:c.string().nullable(),private:c.boolean(),static:c.boolean(),required:c.boolean(),abstract:c.boolean()})}function s4(){return ec().merge(c.object({version:c.number(),index:c.number()}))}function o4(){return ec().merge(c.object({}))}function l4(){return c.object({dataType:cn(),implements:Kn().nullable(),parent:c.union([rr(),Ds(),Ss()])})}function c4(){return s4().merge(l4())}function d4(){return c.enum([_.CRON_JOB,_.EXECUTION,_.HTTP_ENDPOINT,_.PERSISTED_ENTITY,_.RELATIONAL_DATABASE])}function Wr(){return c.union([c.object({type:c.literal(r.BuiltInBaseEntity)}),c.record(c.string(),c.any())])}function Ss(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.BuiltInBaseEntity)})}function tc(){return c.object({id:c.string(),version:c.number(),type:c.literal(r.BuiltInBaseEntity),name:d4(),description:c.string().nullable(),abstract:c.boolean(),static:c.boolean()})}function u4(){return tc()}function p4(){return tc().merge(c.object({}))}function y4(){return c.object({properties:c.array(Kn()),methods:c.array(At()),abstractMethods:c.array(Yt()),extends:c.array(c.union([Wr(),Ps()]))})}function h4(){return u4().merge(y4())}function hb(){return c.enum([L.Dynamic,L.Fixed,L.None])}function Yt(){return c.union([c.object({type:c.literal(r.ActionDescriptor)}),c.record(c.string(),c.any())])}function on(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ActionDescriptor)})}function Os(){return c.object({id:c.string(),type:c.literal(r.ActionDescriptor),name:c.string(),description:c.string().nullable(),argumentsType:hb(),returnsType:hb()})}function f4(){return Os().merge(c.object({version:c.number()}))}function m4(){return Os().merge(c.object({}))}function T4(){return c.object({fixedArguments:c.array(Ql()),fixedReturns:c.array(Ql()),dynamicArgumentTypes:cn().nullable(),dynamicReturnTypes:cn().nullable(),parent:c.union([Tt(),rr(),Ss(),Ds()]).nullable()})}function fb(){return f4().merge(T4())}function Hr(){return c.union([c.object({type:c.literal(r.Loop)}),c.record(c.string(),c.any())])}function zt(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Loop)})}function mb(){return c.object({id:c.string(),type:c.literal(r.Loop)})}function E4(){return mb().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function R4(){return mb().merge(c.object({declaration:c.union([c.string(),At()])}))}function b4(){return c.object({calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),declaration:Yt(),inputs:c.array(Dt()),outputs:c.array(ut()),successCalls:c.array(ke()),errorCalls:c.array(ke()),error:ut(),body:At(),parent:c.union([un(),Tt()]),breakStatements:c.array(Qr()),continueStatements:c.array(Yr())})}function v4(){return E4().merge(b4())}function Yr(){return c.union([c.object({type:c.literal(r.ContinueStatement)}),c.record(c.string(),c.any())])}function zr(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ContinueStatement)})}function nc(){return c.object({id:c.string(),type:c.literal(r.ContinueStatement)})}function g4(){return nc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function I4(){return nc().merge(c.object({}))}function P4(){return c.object({calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),outputs:c.array(Zt()),throws:c.optional(Zt()),parent:zt()})}function D4(){return g4().merge(P4())}function er(){return c.union([c.object({type:c.literal(r.ReturnStatement)}),c.record(c.string(),c.any())])}function Zr(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ReturnStatement)})}function rc(){return c.object({id:c.string(),type:c.literal(r.ReturnStatement)})}function A4(){return rc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function S4(){return rc().merge(c.object({}))}function O4(){return c.object({calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),outputs:c.array(Zt()),throws:c.optional(Zt()),parent:un()})}function C4(){return A4().merge(O4())}function Yi(){return c.union([c.object({type:c.literal(r.Search)}),c.record(c.string(),c.any())])}function Xr(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Search)})}function ic(){return c.object({id:c.string(),type:c.literal(r.Search),name:c.string(),query:c.any(),description:c.string().nullable()})}function B4(){return ic().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function w4(){return ic().merge(c.object({}))}function _4(){return c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),inputsDeclarations:c.array(nr()),inputs:c.array(Dt()),outputsDeclarations:c.array(Zt()),outputs:c.array(ut()),parent:c.union([un(),Tt()]),error:ut().nullable()})}function M4(){return B4().merge(_4())}function Zt(){return c.union([c.object({type:c.literal(r.ReturnDeclaration)}),c.record(c.string(),c.any())])}function Tb(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ReturnDeclaration)})}function ac(){return c.object({id:c.string(),type:c.literal(r.ReturnDeclaration),name:c.string(),description:c.string().nullable(),isError:c.boolean()})}function N4(){return ac().merge(c.object({version:c.number(),index:c.number()}))}function $4(){return ac().merge(c.object({}))}function V4(){return c.object({dataType:cn().nullable(),readsValue:Qi().nullable(),parent:c.union([Zr(),on(),on(),Xr(),ln(),zr()])})}function L4(){return N4().merge(V4())}function Qr(){return c.union([c.object({type:c.literal(r.BreakStatement)}),c.record(c.string(),c.any())])}function ln(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.BreakStatement)})}function sc(){return c.object({id:c.string(),type:c.literal(r.BreakStatement)})}function G4(){return sc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function F4(){return sc().merge(c.object({}))}function U4(){return c.object({calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),outputs:c.array(Zt()),throws:c.optional(Zt()),parent:zt()})}function x4(){return G4().merge(U4())}function ut(){return c.union([c.object({type:c.literal(r.OutputMap)}),c.record(c.string(),c.any())])}function oc(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.OutputMap)})}function lc(){return c.object({id:c.string(),type:c.literal(r.OutputMap)})}function j4(){return lc().merge(c.object({version:c.number(),index:c.number()}))}function k4(){return lc().merge(c.object({}))}function q4(){return c.object({writesValues:c.array(dn()),declaration:c.union([Zt(),Kn()]),parent:c.union([ye(),zt(),ln()])})}function J4(){return j4().merge(q4())}function Kr(){return c.union([c.object({type:c.literal(r.FunctionCall)}),c.record(c.string(),c.any())])}function zi(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.FunctionCall)})}function cc(){return c.object({id:c.string(),type:c.literal(r.FunctionCall)})}function W4(){return cc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function H4(){return cc().merge(c.object({}))}function Y4(){return c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),writesValues:c.array(dn()),declaration:At(),inputs:c.array(Dt()),outputs:c.array(ut()),error:c.optional(ut()),parent:c.union([un(),Tt()])})}function z4(){return W4().merge(Y4())}function Z4(){return c.enum([Ae.Equal,Ae.NotEqual,Ae.MoreThan,Ae.MoreThanOrEqual,Ae.LessThan,Ae.LessThanOrEqual,Ae.And,Ae.Or,Ct.Empty,Ct.NotEmpty])}function Zi(){return c.union([c.object({type:c.literal(r.Condition)}),c.record(c.string(),c.any())])}function Cs(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Condition)})}function dc(){return c.object({id:c.string(),type:c.literal(r.Condition)})}function X4(){return dc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function Q4(){return dc().merge(c.object({}))}function K4(){return c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),leftValue:Dt(),rightValue:Dt().nullable(),operator:Z4(),parent:c.union([un(),Tt()])})}function eU(){return X4().merge(K4())}function Xi(){return c.union([c.object({type:c.literal(r.InternalCall)}),c.record(c.string(),c.any())])}function uc(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.InternalCall)})}function pc(){return c.object({id:c.string(),type:c.literal(r.InternalCall),index:c.number()})}function tU(){return pc().merge(c.object({version:c.number(),index:c.number()}))}function nU(){return pc().merge(c.object({declaration:c.union([c.string(),At()])}))}function rU(){return c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),writesValues:c.array(dn()),declaration:At(),inputs:c.array(Dt()),outputs:c.array(ut()),parent:wn(),error:c.optional(ut())})}function iU(){return tU().merge(rU())}function Dt(){return c.union([c.object({type:c.literal(r.InputMap)}),c.record(c.string(),c.any())])}function Bs(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.InputMap)})}function yc(){return c.object({id:c.string(),type:c.literal(r.InputMap),name:c.string().nullable().optional(),description:c.string().nullable().optional()})}function aU(){return yc().merge(c.object({version:c.number(),index:c.number()}))}function sU(){return yc().merge(c.object({}))}function oU(){return c.object({defaultValue:hc().nullable(),declaration:c.union([nr(),Kn()]).nullable(),readsValue:Qi().nullable(),parent:c.union([ye(),Bs(),zt(),ln()]),dynamicArguments:c.array(Dt())})}function lU(){return aU().merge(oU())}function ei(){return c.union([c.object({type:c.literal(r.Operation)}),c.record(c.string(),c.any())])}function ti(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Operation)})}function ws(){return c.object({id:c.string(),type:c.literal(r.Operation)})}function cU(){return ws().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function dU(){return ws().merge(c.object({}))}function uU(){return ws().merge(c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),writesValues:c.array(dn()),declaration:Yt(),inputs:c.array(Dt()),outputs:c.array(ut()),error:c.array(ut()),dynamicArguments:c.array(Dt()),parent:c.union([un(),Tt()])}))}function pU(){return cU().merge(uU())}function _s(){return c.union([c.string(),c.number(),c.boolean(),c.null(),c.date()])}function Eb(){return c.record(c.string(),_s())}function yU(){return c.array(c.union([_s(),Eb()]))}function Rb(){return c.union([_s(),Eb(),yU()])}function bb(){return c.union([_s(),Rb()])}function vb(){return c.enum([g.String,g.Number,g.Boolean,g.Null,g.Date,g.JSON,g.Enum,g.File,g.UUID,g.EntityTemplate,g.ActionDescriptor])}function hU(){return c.union([rr(),ti(),Ki()])}function fU(){return c.object({id:c.string(),name:vb(),type:c.literal(r.PrimitiveValue),value:bb(),autogeneration:Xl.nullable()})}function mU(){return fU().merge(c.object({}))}function Ft(){return c.object({id:c.string(),version:c.number(),name:vb(),type:c.literal(r.PrimitiveValue),value:bb(),valueAsType:hU().nullable(),autogeneration:Xl.nullable(),parent:c.union([fc(),Bs()])})}function TU(){return Ft().extend({name:c.literal(g.String),value:c.string(),autogeneration:Yl.nullable()})}function EU(){return Ft().extend({name:c.literal(g.Number),value:c.number(),autogeneration:zl.nullable()})}function RU(){return Ft().extend({name:c.literal(g.Boolean),value:c.boolean(),autogeneration:Hl.nullable()})}function bU(){return Ft().extend({name:c.literal(g.Null),value:c.null(),autogeneration:c.null()})}function vU(){return Ft().extend({name:c.literal(g.Date),value:c.date(),autogeneration:Zl.nullable()})}function gU(){return Ft().extend({name:c.literal(g.JSON),value:Rb(),autogeneration:c.null()})}function IU(){return Ft().extend({name:c.literal(g.Enum),value:c.string(),autogeneration:c.null()})}function PU(){return Ft().extend({name:c.literal(g.File),value:c.string(),autogeneration:c.null()})}function DU(){return Ft().extend({name:c.literal(g.UUID),value:c.string(),autogeneration:Wl.nullable()})}function AU(){return Ft().extend({name:c.literal(g.EntityTemplate),value:rr(),autogeneration:c.null()})}function SU(){return Ft().extend({name:c.literal(g.ActionDescriptor),value:Ki(),autogeneration:c.null()})}function hc(){return c.union([TU(),EU(),RU(),bU(),vU(),gU(),IU(),PU(),DU(),AU(),SU()])}function cn(){return c.union([c.object({type:c.literal(r.DataType)}),c.record(c.string(),c.any())])}function fc(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.DataType)})}function mc(){return c.object({id:c.string(),type:c.literal(r.DataType),isNullable:c.boolean(),isList:c.boolean(),constant:c.boolean(),asType:c.boolean(),options:c.array(c.string()).optional()})}function OU(){return mc().merge(c.object({version:c.number()}))}function CU(){return mc().merge(c.object({}))}function BU(){return c.object({defaultValue:hc().nullable(),entity:c.union([ni(),Wr(),Ps(),Yt()]).nullable(),parent:c.union([yb(),Pb(),on(),pb()])})}function wU(){return OU().merge(BU())}function Tc(){return c.union([c.object({type:c.literal(r.VariableDeclaration)}),c.record(c.string(),c.any())])}function _U(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.VariableDeclaration)})}function Ec(){return c.object({id:c.string(),type:c.literal(r.VariableDeclaration),name:c.string(),description:c.string().nullable()})}function MU(){return Ec().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function NU(){return Ec().merge(c.object({}))}function $U(){return c.object({dataType:cn().nullable(),readsValue:Qi().nullable(),writesValues:c.array(dn()),inputs:c.array(Dt()),outputs:c.array(ut()),successCalls:c.array(ke()),errorCalls:c.array(ke()),internalCalls:c.array(Xi()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),parent:c.union([un(),Tt()])})}function VU(){return MU().merge($U())}function gb(){return c.union([c.object({type:c.literal(r.VariableInstance)}),c.record(c.string(),c.any())])}function LU(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.VariableInstance)})}function Rc(){return c.object({id:c.string(),type:c.literal(r.VariableInstance)})}function GU(){return Rc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function FU(){return Rc().merge(c.object({}))}function UU(){return c.object({declaration:Tc(),dataType:cn().nullable(),readsValue:Qi().nullable(),writesValues:c.array(dn()),inputs:c.array(Dt()),outputs:c.array(ut()),successCalls:c.array(ke()),errorCalls:c.array(ke()),internalCalls:c.array(Xi()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),parent:c.union([un(),Tt()])})}function xU(){return GU().merge(UU())}function bc(){return c.union([c.object({type:c.literal(r.InstalledProject)}),c.record(c.string(),c.any())])}function Ms(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.InstalledProject)})}function jU(){return c.object({id:c.string(),type:c.literal(r.InstalledProject)})}function kU(){return c.object({version:c.number(),x:c.number(),y:c.number()})}function qU(){return c.object({})}function JU(){return c.object({implements:Tt(),description:c.string().nullable(),functions:c.array(At()),events:c.array(vc()),parent:Tt()})}function WU(){return kU().merge(JU())}function vc(){return c.union([c.object({type:c.literal(r.GlobalEvent)}),c.record(c.string(),c.any())])}function HU(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.GlobalEvent)})}function Ns(){return c.object({id:c.string(),type:c.literal(r.GlobalEvent),name:c.string(),collapsed:c.boolean()})}function YU(){return Ns().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function zU(){return Ns().merge(c.object({}))}function ZU(){return Ns().merge(c.object({returnStatements:c.array(er()),implements:c.array(fb()),inputs:c.array(nr()),calls:c.array(ke()),parent:c.union([Tt(),Ms()])}))}function XU(){return YU().merge(ZU())}function tr(){return c.union([Tc(),gb()])}function wn(){return c.union([_U(),LU()])}function dn(){return c.union([tr(),Dt(),Zt()])}function Ib(){return c.union([wn(),Bs(),Tb()])}function Qi(){return c.union([tr(),nr(),ut(),ei(),Xi(),Kr()])}function QU(){return c.union([wn(),gc(),oc(),ti(),uc(),zi()])}function KU(){return c.union([nr(),ut(),dn()])}function Pb(){return c.union([gc(),oc(),Ib()])}function $s(){return vc()}function Vs(){return HU()}function Ls(){return c.union([ei(),Kr(),Zi(),Yi(),tr(),Xi(),Hr()])}function ye(){return c.union([ti(),zi(),Cs(),Xr(),wn(),uc(),zt()])}function Gs(){return c.union([ei(),Kr(),Zi(),Yi(),tr(),Hr()])}function Fs(){return c.union([ti(),zi(),Cs(),Xr(),wn(),zt()])}function Db(){return c.union([Ls(),er(),Qr(),Yr()])}function ke(){return c.union([ye(),Zr(),ln(),zr()])}function Ab(){return c.union([Gs(),er(),Qr(),Yr()])}function Sb(){return c.union([Fs(),Zr(),ln(),zr()])}function _n(){return c.union([At(),$s()])}function Ue(){return c.union([Ki(),Vs()])}function ex(){return c.union([Ls(),_n()])}function tx(){return c.union([ye(),Ue()])}function nx(){return c.union([Gs(),_n()])}function rx(){return c.union([Fs(),Ue()])}function ix(){return c.union([Db(),_n()])}function ax(){return c.union([ke(),Ue()])}function sx(){return c.union([Ab(),_n()])}function ox(){return c.union([Sb(),Ue()])}function lx(){return c.union([_n(),Hr()])}function un(){return c.union([Ue(),zt()])}function cx(){return c.union([Ls(),_n()])}function dx(){return c.union([ye(),Ue()])}function ux(){return c.union([Gs(),_n()])}function px(){return c.union([Fs(),Ue()])}function yx(){return c.union([er(),Qr(),Yr()])}function hx(){return c.union([Zr(),ln(),zr()])}function fx(){return c.union([Wr(),Sx(),bc(),ni(),At(),$s(),tr(),Dt(),ut(),Zi(),ei(),Kr(),Zt(),nr(),Ps(),cn(),Kn(),Yt(),er(),Yr(),Qr(),Hr(),Yi(),Yt(),Yt(),Ql(),Xi()])}function mx(){return c.union([Ss(),Tt(),Ms(),rr(),Ki(),Vs(),wn(),Bs(),oc(),Cs(),ti(),zi(),Tb(),gc(),Ds(),fc(),yb(),on(),Zr(),zr(),ln(),zt(),Xr(),on(),on(),pb(),uc()])}function Tx(){return c.union([bc(),ni(),At(),$s(),tr(),Zi(),ei(),Kr(),er(),Yr(),Qr(),Hr(),Yi()])}function Ex(){return c.union([Ms(),rr(),Ki(),Vs(),wn(),Cs(),ti(),zi(),Zr(),zr(),ln(),zt(),Xr()])}function nr(){return c.union([c.object({type:c.literal(r.ArgumentDeclaration)}),c.record(c.string(),c.any())])}function gc(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ArgumentDeclaration)})}function Ic(){return c.object({id:c.string(),type:c.literal(r.ArgumentDeclaration)})}function Rx(){return Ic().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function bx(){return Ic().merge(c.object({}))}function vx(){return c.object({dataType:cn().nullable(),writesValues:c.array(dn()),parent:c.union([Ue(),on(),on(),Xr(),ln()])})}function gx(){return Rx().merge(vx())}function At(){return c.union([c.object({type:c.literal(r.FunctionDeclaration)}),c.record(c.string(),c.any())])}function Ki(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.FunctionDeclaration)})}function Pc(){return c.object({id:c.string(),type:c.literal(r.FunctionDeclaration),name:c.string(),description:c.string().nullable()})}function Ix(){return Pc().merge(c.object({version:c.number(),x:c.number(),y:c.number(),index:c.number().nullable()}))}function Px(){return Pc()}function Dx(){return c.object({inputs:c.array(nr()),implements:Yt().nullable(),returnStatements:c.array(er()),parent:c.union([Tt(),Ms(),rr(),zt(),Ss(),Ds()])})}function Ax(){return Ix().merge(Dx())}function Sx(){return c.union([c.object({type:c.literal(r.Project)}),c.record(c.string(),c.any())])}function Tt(){return c.object({entityType:c.literal(r.Project),entityId:c.string(),id:c.string(),type:c.literal(r.GenericReference)})}function Dc(){return c.object({id:c.string(),type:c.literal(r.Project),name:c.string(),description:c.string().nullable()})}function Ox(){return Dc().merge(c.object({version:c.number()}))}function Cx(){return Dc()}function Bx(){return c.object({entities:c.array(ni()),functions:c.array(At()),events:c.array(vc()),projects:c.array(bc()),variableDeclarations:c.array(Tc()),variableInstances:c.array(gb()),conditions:c.array(Zi()),operations:c.array(ei()),functionCalls:c.array(Kr()),loops:c.array(Hr()),searches:c.array(Yi())})}function wx(){return Ox().merge(Bx())}function ni(){return c.union([c.object({type:c.literal(r.CustomEntity)}),c.record(c.string(),c.any())])}function rr(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.CustomEntity)})}function Ac(){return c.object({id:c.string(),type:c.literal(r.CustomEntity),name:c.string(),description:c.string().nullable(),static:c.boolean(),abstract:c.boolean()})}function _x(){return Ac().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function Mx(){return Ac().merge(c.object({}))}function Nx(){return c.union([Tt(),fc()])}function $x(){return c.object({properties:c.array(Kn()),methods:c.array(At()),abstractMethods:c.array(Yt()),extends:c.array(c.union([ni(),Wr()])),implements:c.array(c.union([ni(),Wr()])),parent:Nx()})}function Vx(){return _x().merge($x())}function Lx(n){const e=Vx(),t=n.toJSON();e.safeParse(t).success;const a=n.implements.flatMap(m=>Ux(n,m)),s=n.extends.flatMap(m=>xx(n,m)),o=kx(n),u=jx(n);n.methods.flatMap(m=>m.validate());const p=[...a,...s,...o,...u];return X(n.errors,p)}function Gx(n,e){const t=e.properties.filter(s=>s.abstract),i=[];let a=[...n.properties];return t.forEach(s=>{const o=a.find(u=>{var p;return((p=u.implements)==null?void 0:p.id)===s.id});o?a=a.filter(u=>u.id!==o.id):i.push(s)}),i}function Fx(n,e){const t=e.abstractMethods,i=[];let a=[...n.methods];return t.forEach(s=>{const o=a.find(u=>{var p;return((p=u.implements)==null?void 0:p.id)===s.id});o?a=a.filter(u=>u.id!==o.id):i.push(s)}),i}function Ux(n,e){const t=[];if(!e.abstract){const m=k({id:n.id+"--"+O.ImplementingNonAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is implementing a non-abstract entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:O.ImplementingNonAbstractEntity,entity:n});return t.push(m.error),t}const i=e.properties.filter(m=>m.abstract),a=[];let s=[...n.properties];i.forEach(m=>{const T=s.find(b=>{var I;return((I=b.implements)==null?void 0:I.id)===m.id});T?s=s.filter(b=>b.id!==T.id):a.push(m)}),a.length&&a.forEach(m=>{const T=k({id:n.id+"--"+O.MissingPropertyImplementation+"--"+m.id,message:`Property "${m.name}" with id "${m.id}" of entity "${e.name}" with id "${e.id}" is not implemented when entity "${n.name}" with id "${n.id}" implements it`,issue:null,severity:f.Error,code:O.MissingPropertyImplementation,entity:n});t.push(T.error)});const o=[];let u=[...n.methods];e.abstractMethods.forEach(m=>{const T=u.find(b=>{var I;return((I=b.implements)==null?void 0:I.id)===m.id});T?u=u.filter(b=>b.id!==T.id):o.push(m)}),o.length&&o.forEach(m=>{const T=k({id:n.id+"--"+O.MissingMethodImplementation+"--"+m.id,message:`Method "${m.name}" with id "${m.id}" of entity "${e.name}" with id "${e.id}" is not implemented when entity "${n.name}" with id "${n.id}" implements it`,issue:null,severity:f.Error,code:O.MissingMethodImplementation,entity:n});t.push(T.error)});const p=[];e.properties.forEach(m=>{const T=s.find(b=>b.name===m.name);T&&p.push([T,m])}),p.length&&p.forEach(([m])=>{const T=k({id:n.id+"--"+v.PropertyOverwrite+"--"+m.id,message:`Property "${m.name}" with id "${m.id}" of entity "${n.name}" with id "${n.id}" overwrites the property with the same name from the base entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:v.PropertyOverwrite,entity:n});t.push(T.error)});const h=[];return e.methods.forEach(m=>{const T=u.find(b=>b.name===m.name);T&&h.push([T,m])}),h.length&&h.forEach(([m])=>{const T=k({id:n.id+"--"+v.MethodOverwrite+"--"+m.id,message:`Method "${m.name}" with id "${m.id}" of entity "${n.name}" with id "${n.id}" overwrites the method with the same name from the base entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:v.MethodOverwrite,entity:n});t.push(T.error)}),t}function xx(n,e){const t=[],i=[];if(e.abstract){const s=k({id:n.id+"--"+O.ExtendingAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is extending an abstract entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:O.ExtendingAbstractEntity,entity:n});return t.push(s.error),t}n.properties.forEach(s=>{var u;const o=e.properties.find(p=>p.name===s.name);((u=s.implements)==null?void 0:u.id)!==(o==null?void 0:o.id)&&o&&i.push(s)}),i.length&&i.forEach(s=>{const o=k({id:n.id+"--"+v.PropertyOverwrite,message:`Property "${s.name}" with id "${s.id}" of entity "${n.name}" with id "${n.id}" overwrites the property with the same name from the extended entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:v.PropertyOverwrite,entity:n});t.push(o.error)});const a=[];return n.methods.forEach(s=>{var u;const o=e.methods.find(p=>p.name===s.name);((u=s.implements)==null?void 0:u.id)!==(o==null?void 0:o.id)&&o&&a.push(s)}),a.length&&a.forEach(s=>{const o=k({id:n.id+"--"+v.MethodOverwrite,message:`Method "${s.name}" with id "${s.id}" of entity "${n.name}" with id "${n.id}" overwrites the method with the same name from the extended entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:v.MethodOverwrite,entity:n});t.push(o.error)}),t}function jx(n){const e=[];if(!n.properties.length){const t=k({id:n.id+"--"+O.NoProperties,message:"No properties implemented",issue:null,severity:f.Warning,code:O.NoProperties,entity:n});e.push(t.error)}return n.properties.forEach(t=>{t.validate()}),e}function kx(n){const e=[];if(n.abstract){if(n.methods.length){const t=k({id:n.id+"--"+O.AbstractEntityWithNonAbstractMethods,message:`Entity "${n.name}" with id "${n.id}" is marked as abstract but has non-abstract methods`,issue:null,severity:f.Error,code:O.AbstractEntityWithNonAbstractMethods,entity:n});e.push(t.error)}if(n.properties.some(t=>!t.abstract)){const t=k({id:n.id+"--"+O.AbstractEntityWithNonAbstractProperties,message:`Entity "${n.name}" with id "${n.id}" is marked as abstract but has non-abstract properties`,issue:null,severity:f.Error,code:O.AbstractEntityWithNonAbstractProperties,entity:n});e.push(t.error),n.properties.forEach(i=>{if(!i.abstract){const a=k({id:n.id+"--"+O.StaticEntityWithNonStaticProperties+"--"+i.id,message:`Property "${i.name}" with id "${i.id}" of entity "${n.name}" with id "${n.id}" is not marked as abstract but the entity is marked as abstract`,issue:null,severity:f.Error,code:O.StaticEntityWithNonStaticProperties,entity:n});e.push(a.error)}})}}else{if(n.abstractMethods.length){const t=k({id:n.id+"--"+O.AbstractPropertyInNonAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is not marked as abstract but has abstract methods`,issue:null,severity:f.Error,code:O.AbstractPropertyInNonAbstractEntity,entity:n});e.push(t.error)}if(n.properties.some(t=>t.abstract)){const t=k({id:n.id+"--"+O.AbstractMethodInNonAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is not marked as abstract but has abstract properties`,issue:null,severity:f.Error,code:O.AbstractMethodInNonAbstractEntity,entity:n});e.push(t.error),n.properties.forEach(i=>{if(i.abstract){const a=k({id:n.id+"--"+O.AbstractMethodInNonAbstractEntity+"--"+i.id,message:`Property "${i.name}" with id "${i.id}" of entity "${n.name}" with id "${n.id}" is marked as abstract but the entity is not marked as abstract`,issue:null,severity:f.Error,code:O.AbstractMethodInNonAbstractEntity,entity:n});e.push(a.error)}})}}if(n.static&&n.properties.some(t=>!t.static)){const t=k({id:n.id+"--"+O.StaticEntityWithNonStaticProperties,message:`Entity "${n.name}" with id "${n.id}" is marked as static but has non-static properties`,issue:null,severity:f.Error,code:O.StaticEntityWithNonStaticProperties,entity:n});e.push(t.error),n.properties.forEach(i=>{if(!i.static){const a=k({id:n.id+"--"+O.NonStaticPropertyInStaticEntity+"--"+i.id,message:`Property "${i.name}" with id "${i.id}" of entity "${n.name}" with id "${n.id}" is not marked as static but the entity is marked as static`,issue:null,severity:f.Error,code:O.NonStaticPropertyInStaticEntity,entity:n});e.push(a.error)}})}return e}function qx(n){return n instanceof Error&&n.name==="ZodError"&&"issues"in n&&Array.isArray(n.issues)}var Jx=class extends Error{constructor(e,t){super(e,t);l(this,"name");l(this,"details");this.name="ZodValidationError",this.details=Wx(t)}toString(){return this.message}};function Wx(n){if(n){const e=n.cause;if(qx(e))return e.issues}return[]}var Hx="; ",Ob="Validation error",Yx=": ",zx=", or ";function Zx(n,e,t){return e!==null?n.length>0?[e,n].join(t):e:n.length>0?n:Ob}var Xx=/[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*/u;function Qx(n){return n.length===1?n[0].toString():n.reduce((e,t)=>{if(typeof t=="number")return e+"["+t.toString()+"]";if(t.includes('"'))return e+'["'+Kx(t)+'"]';if(!Xx.test(t))return e+'["'+t+'"]';const i=e.length===0?"":".";return e+i+t},"")}function Kx(n){return n.replace(/"/g,'\\"')}function e8(n){return n.length!==0}function Us(n){const{issue:e,issueSeparator:t,unionSeparator:i,includePath:a}=n;if(e.code==="invalid_union")return e.unionErrors.reduce((s,o)=>{const u=o.issues.map(p=>Us({issue:p,issueSeparator:t,unionSeparator:i,includePath:a})).join(t);return s.includes(u)||s.push(u),s},[]).join(i);if(e.code==="invalid_arguments")return[e.message,...e.argumentsError.issues.map(s=>Us({issue:s,issueSeparator:t,unionSeparator:i,includePath:a}))].join(t);if(e.code==="invalid_return_type")return[e.message,...e.returnTypeError.issues.map(s=>Us({issue:s,issueSeparator:t,unionSeparator:i,includePath:a}))].join(t);if(a&&e8(e.path)){if(e.path.length===1){const s=e.path[0];if(typeof s=="number")return`${e.message} at index ${s}`}return`${e.message} at "${Qx(e.path)}"`}return e.message}function t8(n,e={}){const{issueSeparator:t=Hx,unionSeparator:i=zx,prefixSeparator:a=Yx,prefix:s=Ob,includePath:o=!0}=e,u=Us({issue:n,issueSeparator:t,unionSeparator:i,includePath:o}),p=Zx(u,s,a);return new Jx(p,{cause:new ft([n])})}var Cb="1.13.7",Bb=typeof self=="object"&&self.self===self&&self||typeof global=="object"&&global.global===global&&global||Function("return this")()||{},xs=Array.prototype,Sc=Object.prototype,wb=typeof Symbol<"u"?Symbol.prototype:null,n8=xs.push,ea=xs.slice,ta=Sc.toString,r8=Sc.hasOwnProperty,_b=typeof ArrayBuffer<"u",i8=typeof DataView<"u",a8=Array.isArray,Mb=Object.keys,Nb=Object.create,$b=_b&&ArrayBuffer.isView,s8=isNaN,o8=isFinite,Vb=!{toString:null}.propertyIsEnumerable("toString"),Lb=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],l8=Math.pow(2,53)-1;function Et(n,e){return e=e==null?n.length-1:+e,function(){for(var t=Math.max(arguments.length-e,0),i=Array(t),a=0;a<t;a++)i[a]=arguments[a+e];switch(e){case 0:return n.call(this,i);case 1:return n.call(this,arguments[0],i);case 2:return n.call(this,arguments[0],arguments[1],i)}var s=Array(e+1);for(a=0;a<e;a++)s[a]=arguments[a];return s[e]=i,n.apply(this,s)}}function Mn(n){var e=typeof n;return e==="function"||e==="object"&&!!n}function c8(n){return n===null}function Gb(n){return n===void 0}function Fb(n){return n===!0||n===!1||ta.call(n)==="[object Boolean]"}function d8(n){return!!(n&&n.nodeType===1)}function rt(n){var e="[object "+n+"]";return function(t){return ta.call(t)===e}}const Oc=rt("String"),Ub=rt("Number"),u8=rt("Date"),p8=rt("RegExp"),y8=rt("Error"),xb=rt("Symbol"),jb=rt("ArrayBuffer");var kb=rt("Function"),h8=Bb.document&&Bb.document.childNodes;typeof/./!="function"&&typeof Int8Array!="object"&&typeof h8!="function"&&(kb=function(n){return typeof n=="function"||!1});const pt=kb,qb=rt("Object");var Jb=i8&&(!/\[native code\]/.test(String(DataView))||qb(new DataView(new ArrayBuffer(8)))),Cc=typeof Map<"u"&&qb(new Map),f8=rt("DataView");function m8(n){return n!=null&&pt(n.getInt8)&&jb(n.buffer)}const js=Jb?m8:f8,ir=a8||rt("Array");function Nn(n,e){return n!=null&&r8.call(n,e)}var Bc=rt("Arguments");(function(){Bc(arguments)||(Bc=function(n){return Nn(n,"callee")})})();const wc=Bc;function T8(n){return!xb(n)&&o8(n)&&!isNaN(parseFloat(n))}function Wb(n){return Ub(n)&&s8(n)}function Hb(n){return function(){return n}}function Yb(n){return function(e){var t=n(e);return typeof t=="number"&&t>=0&&t<=l8}}function zb(n){return function(e){return e==null?void 0:e[n]}}const ks=zb("byteLength"),E8=Yb(ks);var R8=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;function b8(n){return $b?$b(n)&&!js(n):E8(n)&&R8.test(ta.call(n))}const Zb=_b?b8:Hb(!1),Rt=zb("length");function v8(n){for(var e={},t=n.length,i=0;i<t;++i)e[n[i]]=!0;return{contains:function(a){return e[a]===!0},push:function(a){return e[a]=!0,n.push(a)}}}function Xb(n,e){e=v8(e);var t=Lb.length,i=n.constructor,a=pt(i)&&i.prototype||Sc,s="constructor";for(Nn(n,s)&&!e.contains(s)&&e.push(s);t--;)s=Lb[t],s in n&&n[s]!==a[s]&&!e.contains(s)&&e.push(s)}function We(n){if(!Mn(n))return[];if(Mb)return Mb(n);var e=[];for(var t in n)Nn(n,t)&&e.push(t);return Vb&&Xb(n,e),e}function na(n){if(n==null)return!0;var e=Rt(n);return typeof e=="number"&&(ir(n)||Oc(n)||wc(n))?e===0:Rt(We(n))===0}function Qb(n,e){var t=We(e),i=t.length;if(n==null)return!i;for(var a=Object(n),s=0;s<i;s++){var o=t[s];if(e[o]!==a[o]||!(o in a))return!1}return!0}function Q(n){if(n instanceof Q)return n;if(!(this instanceof Q))return new Q(n);this._wrapped=n}Q.VERSION=Cb,Q.prototype.value=function(){return this._wrapped},Q.prototype.valueOf=Q.prototype.toJSON=Q.prototype.value,Q.prototype.toString=function(){return String(this._wrapped)};function Kb(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,ks(n))}var ev="[object DataView]";function _c(n,e,t,i){if(n===e)return n!==0||1/n===1/e;if(n==null||e==null)return!1;if(n!==n)return e!==e;var a=typeof n;return a!=="function"&&a!=="object"&&typeof e!="object"?!1:tv(n,e,t,i)}function tv(n,e,t,i){n instanceof Q&&(n=n._wrapped),e instanceof Q&&(e=e._wrapped);var a=ta.call(n);if(a!==ta.call(e))return!1;if(Jb&&a=="[object Object]"&&js(n)){if(!js(e))return!1;a=ev}switch(a){case"[object RegExp]":case"[object String]":return""+n==""+e;case"[object Number]":return+n!=+n?+e!=+e:+n==0?1/+n===1/e:+n==+e;case"[object Date]":case"[object Boolean]":return+n==+e;case"[object Symbol]":return wb.valueOf.call(n)===wb.valueOf.call(e);case"[object ArrayBuffer]":case ev:return tv(Kb(n),Kb(e),t,i)}var s=a==="[object Array]";if(!s&&Zb(n)){var o=ks(n);if(o!==ks(e))return!1;if(n.buffer===e.buffer&&n.byteOffset===e.byteOffset)return!0;s=!0}if(!s){if(typeof n!="object"||typeof e!="object")return!1;var u=n.constructor,p=e.constructor;if(u!==p&&!(pt(u)&&u instanceof u&&pt(p)&&p instanceof p)&&"constructor"in n&&"constructor"in e)return!1}t=t||[],i=i||[];for(var h=t.length;h--;)if(t[h]===n)return i[h]===e;if(t.push(n),i.push(e),s){if(h=n.length,h!==e.length)return!1;for(;h--;)if(!_c(n[h],e[h],t,i))return!1}else{var m=We(n),T;if(h=m.length,We(e).length!==h)return!1;for(;h--;)if(T=m[h],!(Nn(e,T)&&_c(n[T],e[T],t,i)))return!1}return t.pop(),i.pop(),!0}function g8(n,e){return _c(n,e)}function ra(n){if(!Mn(n))return[];var e=[];for(var t in n)e.push(t);return Vb&&Xb(n,e),e}function Mc(n){var e=Rt(n);return function(t){if(t==null)return!1;var i=ra(t);if(Rt(i))return!1;for(var a=0;a<e;a++)if(!pt(t[n[a]]))return!1;return n!==iv||!pt(t[Nc])}}var Nc="forEach",nv="has",$c=["clear","delete"],rv=["get",nv,"set"],I8=$c.concat(Nc,rv),iv=$c.concat(rv),P8=["add"].concat($c,Nc,nv);const D8=Cc?Mc(I8):rt("Map"),A8=Cc?Mc(iv):rt("WeakMap"),S8=Cc?Mc(P8):rt("Set"),O8=rt("WeakSet");function ri(n){for(var e=We(n),t=e.length,i=Array(t),a=0;a<t;a++)i[a]=n[e[a]];return i}function C8(n){for(var e=We(n),t=e.length,i=Array(t),a=0;a<t;a++)i[a]=[e[a],n[e[a]]];return i}function av(n){for(var e={},t=We(n),i=0,a=t.length;i<a;i++)e[n[t[i]]]=t[i];return e}function Vc(n){var e=[];for(var t in n)pt(n[t])&&e.push(t);return e.sort()}function Lc(n,e){return function(t){var i=arguments.length;if(e&&(t=Object(t)),i<2||t==null)return t;for(var a=1;a<i;a++)for(var s=arguments[a],o=n(s),u=o.length,p=0;p<u;p++){var h=o[p];(!e||t[h]===void 0)&&(t[h]=s[h])}return t}}const sv=Lc(ra),qs=Lc(We),ov=Lc(ra,!0);function B8(){return function(){}}function lv(n){if(!Mn(n))return{};if(Nb)return Nb(n);var e=B8();e.prototype=n;var t=new e;return e.prototype=null,t}function w8(n,e){var t=lv(n);return e&&qs(t,e),t}function _8(n){return Mn(n)?ir(n)?n.slice():sv({},n):n}function M8(n,e){return e(n),n}function cv(n){return ir(n)?n:[n]}Q.toPath=cv;function ia(n){return Q.toPath(n)}function Gc(n,e){for(var t=e.length,i=0;i<t;i++){if(n==null)return;n=n[e[i]]}return t?n:void 0}function dv(n,e,t){var i=Gc(n,ia(e));return Gb(i)?t:i}function N8(n,e){e=ia(e);for(var t=e.length,i=0;i<t;i++){var a=e[i];if(!Nn(n,a))return!1;n=n[a]}return!!t}function Fc(n){return n}function aa(n){return n=qs({},n),function(e){return Qb(e,n)}}function Uc(n){return n=ia(n),function(e){return Gc(e,n)}}function sa(n,e,t){if(e===void 0)return n;switch(t??3){case 1:return function(i){return n.call(e,i)};case 3:return function(i,a,s){return n.call(e,i,a,s)};case 4:return function(i,a,s,o){return n.call(e,i,a,s,o)}}return function(){return n.apply(e,arguments)}}function uv(n,e,t){return n==null?Fc:pt(n)?sa(n,e,t):Mn(n)&&!ir(n)?aa(n):Uc(n)}function xc(n,e){return uv(n,e,1/0)}Q.iteratee=xc;function bt(n,e,t){return Q.iteratee!==xc?Q.iteratee(n,e):uv(n,e,t)}function $8(n,e,t){e=bt(e,t);for(var i=We(n),a=i.length,s={},o=0;o<a;o++){var u=i[o];s[u]=e(n[u],u,n)}return s}function pv(){}function V8(n){return n==null?pv:function(e){return dv(n,e)}}function L8(n,e,t){var i=Array(Math.max(0,n));e=sa(e,t,1);for(var a=0;a<n;a++)i[a]=e(a);return i}function jc(n,e){return e==null&&(e=n,n=0),n+Math.floor(Math.random()*(e-n+1))}const oa=Date.now||function(){return new Date().getTime()};function yv(n){var e=function(s){return n[s]},t="(?:"+We(n).join("|")+")",i=RegExp(t),a=RegExp(t,"g");return function(s){return s=s==null?"":""+s,i.test(s)?s.replace(a,e):s}}const hv={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},G8=yv(hv),F8=av(hv),U8=yv(F8),x8=Q.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var kc=/(.)^/,j8={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},k8=/\\|'|\r|\n|\u2028|\u2029/g;function q8(n){return"\\"+j8[n]}var J8=/^\s*(\w|\$)+\s*$/;function W8(n,e,t){!e&&t&&(e=t),e=ov({},e,Q.templateSettings);var i=RegExp([(e.escape||kc).source,(e.interpolate||kc).source,(e.evaluate||kc).source].join("|")+"|$","g"),a=0,s="__p+='";n.replace(i,function(h,m,T,b,I){return s+=n.slice(a,I).replace(k8,q8),a=I+h.length,m?s+=`'+
1
+ (function(d,r){typeof exports=="object"&&typeof module<"u"?r(exports):typeof define=="function"&&define.amd?define(["exports"],r):(d=typeof globalThis<"u"?globalThis:d||self,r(d["@elyx-code/project-logic-tree"]={}))})(this,function(d){"use strict";var R3=Object.defineProperty;var b3=(d,r,_)=>r in d?R3(d,r,{enumerable:!0,configurable:!0,writable:!0,value:_}):d[r]=_;var l=(d,r,_)=>(b3(d,typeof r!="symbol"?r+"":r,_),_);var r=(n=>(n.CustomEntity="custom-entity",n.BuiltInBaseEntity="built-in-base-entity",n.Project="project",n.InstalledProject="installed-project",n.GlobalEvent="global-event",n.DataType="data-type",n.FunctionCall="function-call",n.FunctionDeclaration="function-declaration",n.ActionDescriptor="action-descriptor",n.ValueDescriptor="value-descriptor",n.ArgumentDeclaration="argument-declaration",n.InputMap="input-map",n.ReturnStatement="return-statement",n.BreakStatement="break-statement",n.ContinueStatement="continue-statement",n.ReturnDeclaration="return-declaration",n.OutputMap="output-map",n.PrimitiveEntity="primitive-entity",n.PrimitiveValue="primitive-value",n.Property="property",n.Operation="operation",n.Condition="condition",n.VariableDeclaration="variable-declaration",n.VariableInstance="variable-instance",n.Search="search",n.Loop="loop",n.InternalCall="internal-call",n.GenericReference="generic-reference",n))(r||{}),_=(n=>(n.HTTP_ENDPOINT="BUILT_IN_HTTP_ENDPOINT_ENTITY",n.RELATIONAL_DATABASE="BUILT_IN_RELATIONAL_DATABASE_ENTITY",n.PERSISTED_ENTITY="BUILT_IN_PERSISTED_ENTITY_ENTITY",n.CRON_JOB="BUILT_IN_CRON_JOB_ENTITY",n.EXECUTION="BUILT_IN_EXECUTION_ENTITY",n.KEY_VALUE_PARAM="BUILT_IN_KEY_VALUE_PARAM_ENTITY",n))(_||{}),xe=(n=>(n.CurrentDateAndTime="current-date-and-time",n.Unique="unique",n.Random="random",n))(xe||{}),It=(n=>(n.DeletePersistedEntity="base-delete-persisted-entity",n.SoftDeletePersistedEntity="base-soft-delete-persisted-entity",n.AbortExecution="base-abort-execution",n))(It||{}),L=(n=>(n.Fixed="fixed",n.None="none",n.Dynamic="dynamic",n))(L||{}),C=(n=>(n.FixedArguments="fixed-arguments",n.FixedReturns="fixed-returns",n.ReturnedError="returned-error",n.OngoingProcessExecution="ongoing-process-execution",n))(C||{}),g=(n=>(n.EntityTemplate="entity-template",n.ActionDescriptor="action-descriptor",n.String="string",n.Number="number",n.Boolean="boolean",n.Null="null",n.Enum="enum",n.JSON="json",n.Date="date",n.UUID="uuid",n.File="file",n))(g||{}),at=(n=>(n.Addition="addition",n.Substraction="substraction",n.Multiplication="multiplication",n.Division="division",n.Remainder="remainder",n.Exponentiation="exponentiation",n))(at||{}),ge=(n=>(n.Join="string-join",n.Split="stringSsplit",n.DeleteLast="string-delete-last",n.DeleteFirst="string-delete-first",n.DeleteIndex="string-delete-index",n.AddIndex="string-add-index",n.ReplaceFirst="string-replace-first",n.ReplaceLast="string-replace-last",n.ReplaceIndex="string-replace-index",n.ReplaceSingleMatch="string-replace-single-match",n.ReplaceAllMatches="string-replace-all-matches",n.GetIndex="string-get-index",n.GetFirst="string-get-first",n.GetLast="string-get-last",n.Append="string-append",n.Prepend="string-prepend",n))(ge||{}),j=(n=>(n.Join="list-join",n.Split="list-split",n.DeleteLast="list-delete-last",n.DeleteFirst="list-delete-first",n.DeleteIndex="list-delete-index",n.AddIndex="list-add-index",n.ReplaceFirst="list-replace-first",n.ReplaceLast="list-replace-last",n.ReplaceIndex="list-replace-index",n.ReplaceSingleMatch="list-replace-single-match",n.ReplaceAllMatches="list-replace-all-matches",n.GetIndex="list-get-index",n.GetFirst="list-get-first",n.GetLast="list-get-last",n.Append="list-append",n.Prepend="list-prepend",n))(j||{}),Ie=(n=>(n.Parallel="parallel",n.Sequential="sequential",n.Wait="wait",n))(Ie||{}),Ze=(n=>(n.CreateNewInstance="create-new-instance",n.Validate="validate",n))(Ze||{}),Ye=(n=>(n.HttpRequest="base-http-request",n))(Ye||{}),Ae=(n=>(n.Equal="equal",n.NotEqual="not-equal",n.And="and",n.Or="or",n.LessThan="less-than",n.MoreThan="more-than",n.LessThanOrEqual="less-than-or-equal",n.MoreThanOrEqual="more-than-or-equal",n))(Ae||{}),Ct=(n=>(n.Empty="empty",n.NotEmpty="not-empty",n))(Ct||{}),je=(n=>(n.ManualFlow="manual-flow-loop",n.Counted="counted-loop",n.List="list-loop",n.ObjectKeys="object-keys-loop",n.ObjectValues="object-values-loop",n.String="string-loop",n))(je||{}),qe=(n=>(n.OrDataTypeGroup="or-data-type-group",n.AndDataTypeGroup="and-data-type-group",n.DynamicArgumentTypes="dynamic-argument-types",n.DynamicReturnTypes="dynamic-return-types",n))(qe||{}),Kt=(n=>(n.PROJECT_PUBLICATION_COMPLETED="GLOBAL_EVENT_PROJECT_PUBLICATION_COMPLETED",n))(Kt||{}),Md=(n=>(n.Error="error",n.Task="task",n))(Md||{});const Tn=[r.VariableDeclaration,r.VariableInstance,r.InputMap,r.ReturnDeclaration],zg=[r.VariableDeclaration,r.VariableInstance,r.InputMap,r.ReturnDeclaration];console.log("VALUE_READING_TYPES: ",[...Tn]);const Se=[r.VariableDeclaration,r.VariableInstance,r.ArgumentDeclaration,r.OutputMap],Zg=[r.VariableDeclaration,r.VariableInstance,r.ArgumentDeclaration,r.OutputMap];console.log("VALUE_WRITING_TYPES: ",[...Se]);const Nd=[...Tn,...Se],Fe=[r.VariableDeclaration,r.VariableInstance],Dr=[r.GlobalEvent],Ne=[r.Operation,r.FunctionCall,r.Condition,r.Search,r.VariableDeclaration,r.VariableInstance,r.InternalCall,r.Loop],To=[r.Operation,r.FunctionCall,r.Condition,r.Search,r.VariableDeclaration,r.VariableInstance,r.Loop],$e=[r.FunctionDeclaration,...Dr],En=[...Ne,r.ReturnStatement,r.BreakStatement,r.ContinueStatement],Eo=[...To,r.ReturnStatement,r.BreakStatement,r.ContinueStatement],en=[...Ne,...$e],$d=[...To,...$e],Xg=[...En,...$e],Qg=[...Eo,...$e],st=[...$e,r.Loop],Oe=[r.ReturnStatement,r.BreakStatement,r.ContinueStatement],Kg=[r.CustomEntity,r.BuiltInBaseEntity,r.Project,r.InstalledProject,r.GlobalEvent,r.DataType,r.FunctionCall,r.FunctionDeclaration,r.ActionDescriptor,r.ValueDescriptor,r.ArgumentDeclaration,r.InputMap,r.ReturnStatement,r.BreakStatement,r.ContinueStatement,r.ReturnDeclaration,r.OutputMap,r.PrimitiveEntity,r.PrimitiveValue,r.Property,r.Operation,r.Condition,r.VariableDeclaration,r.VariableInstance,r.Search,r.Loop,r.InternalCall],Ro=[r.CustomEntity,r.GlobalEvent,r.FunctionDeclaration,r.FunctionCall,r.VariableDeclaration,r.VariableInstance,r.Operation,r.Condition,r.ReturnStatement,r.BreakStatement,r.ContinueStatement,r.InstalledProject,r.Loop,r.Search],Vd=[r.CustomEntity,r.FunctionDeclaration,r.ArgumentDeclaration,r.ReturnDeclaration,r.Property,r.VariableDeclaration,r.Search,r.Project,r.InstalledProject,r.ActionDescriptor,r.ValueDescriptor],Ar=[r.BuiltInBaseEntity,r.PrimitiveEntity],eI=[r.CustomEntity,r.FunctionDeclaration,r.ArgumentDeclaration,r.ReturnDeclaration,r.Property,r.VariableDeclaration,r.GlobalEvent,r.Search,r.Project,r.InstalledProject,r.ActionDescriptor,r.ValueDescriptor,r.InputMap,r.OutputMap,r.FunctionCall,r.Operation,r.Condition,r.ReturnStatement,r.BreakStatement,r.ContinueStatement,r.VariableInstance,r.PrimitiveValue,r.InternalCall],F={type:r.PrimitiveEntity,id:"8b5fbe15-4c2b-48c0-9fd8-e5efbe3978dc",description:"A string of characters.",version:1,name:g.String,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Fn={type:r.PrimitiveEntity,id:"f596545d-1565-4faa-9969-d95fa5edfea4",description:"A 'true' or 'false' value.",version:1,name:g.Boolean,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Ce={type:r.PrimitiveEntity,id:"ecb84c29-6153-4b82-86a5-fce2b5f92002",description:"A number value.",version:1,name:g.Number,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Xe={type:r.PrimitiveEntity,id:"730e8ea9-8498-439a-9001-b07de55aaa7d",description:"A complex data structure with any combination of properties with names and values.",version:1,name:g.JSON,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},Ld={id:"c2f52f01-8f2e-490e-8083-72289c8189c1",type:r.GenericReference,entityId:"7dd59b70-f97b-43a7-a051-fde1842ce5d6",entityType:r.DataType},Gd={id:"4e803941-2e6a-4227-b803-b8877c0d7fee",type:r.GenericReference,entityId:"00ccfcae-2104-45ef-bf6c-50ddccd74286",entityType:r.Property},Fd={id:"7dd59b70-f97b-43a7-a051-fde1842ce5d6",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:F,asType:!1,defaultValue:{id:"enum-options-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.JSON,autogeneration:null,value:[],valueAsType:null,parent:Ld},parent:Gd},Ud={id:"a2983c4c-0286-4ef1-8b5c-5a52904d3200",type:r.GenericReference,entityId:"9542b8b4-2642-4eee-9db9-def7963a17a0",entityType:r.PrimitiveEntity},xd={required:!0,id:"00ccfcae-2104-45ef-bf6c-50ddccd74286",name:"Options",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:Fd,description:"Options for the enum. Each option is a text value.",parent:Ud},Rn={type:r.PrimitiveEntity,id:"9542b8b4-2642-4eee-9db9-def7963a17a0",description:"A set of text options to choose from.",version:1,name:g.Enum,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[xd],methods:[]},Sr={type:r.PrimitiveEntity,id:"dc58f38b-d574-4956-aac6-32ce9529b937",description:"A date and time value.",version:1,name:g.Date,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]},ma={type:r.PrimitiveEntity,id:"4a6234aa-c0f6-4731-b4dd-750388029226",description:"A unique identifier in the form of a 36-character string.",version:1,name:g.UUID,static:!1,abstract:!1,abstractMethods:[],extends:[F],properties:[],methods:[]},bo={type:r.PrimitiveEntity,id:"b6f3c3c4-9c3d-4f9d-9e9e-1c0f6a3c8c6b",description:"A complex data structure with any combination of properties with names and values.",version:1,name:g.JSON,static:!1,abstract:!1,abstractMethods:[],extends:[],properties:[],methods:[]};var jd=(n=>(n.FirstInputNumber="number-addition-first-number-argument-declaration",n.SecondInputNumber="number-addition-second-number-argument-declaration",n))(jd||{}),kd=(n=>(n.ResultNumber="number-addition-result-number-return-delaration",n.Error="number-addition-error-return-delaration",n))(kd||{});const qd={type:r.GenericReference,id:"3bd4aeb2-e3b7-4120-b289-011ebb03dba5",entityId:"number-addition-first-number-argument-declaration",entityType:r.ValueDescriptor},Jd={id:"number-addition-first-number-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:qd},Wd={type:r.GenericReference,id:"9f486db2-a983-4293-9eef-81d4fc8d2d3e",entityId:"number-addition-second-number-argument-declaration",entityType:r.ValueDescriptor},Hd={id:"1d4abe83-3e87-4f74-99be-c1fd8c2f8d2d",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Wd},Yd={type:r.GenericReference,id:"da5e9fe9-f18a-49e3-98e5-c1bf7b9b3153",entityId:"number-addition-result-number-return-delaration",entityType:r.ValueDescriptor},zd={id:"b761acec-0755-4582-a68b-76267038bbe1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Yd},Zd={type:r.GenericReference,id:"a6c14305-d4f7-43ae-9d5e-b7dbacdc830a",entityId:at.Addition,entityType:r.ActionDescriptor},vo={id:"number-addition-first-number-argument-declaration",type:r.ValueDescriptor,version:1,name:"First value",description:"The first number to add",dataType:Jd,required:!0,parentRelationType:C.FixedArguments,index:0,parent:Zd},Xd={type:r.GenericReference,id:"c5015128-4a65-462c-9da0-1c86e83ef897",entityId:at.Addition,entityType:r.ActionDescriptor},go={id:"number-addition-second-number-argument-declaration",type:r.ValueDescriptor,description:"The second number to add",version:1,name:"Second value",dataType:Hd,required:!0,parentRelationType:C.FixedArguments,index:1,parent:Xd},Qd={type:r.GenericReference,id:"caac2bc7-c23c-4f01-9581-a515c2e4637f",entityId:at.Addition,entityType:r.ActionDescriptor},Io={parentRelationType:C.FixedReturns,id:"number-addition-result-number-return-delaration",type:r.ValueDescriptor,description:"The result number of the addition",version:1,name:"Result",dataType:zd,required:!0,index:0,parent:Qd},Kd={type:r.GenericReference,id:"number-addition-operation-error-parent-ref",entityId:at.Addition,entityType:r.ActionDescriptor},eu={parentRelationType:C.FixedReturns,id:"number-addition-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Kd},Ta={id:at.Addition,type:r.ActionDescriptor,description:"Add two numbers together",version:1,name:at.Addition,fixedArguments:[vo,go],error:eu,fixedReturns:[Io],argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},tu={[at.Addition]:Ta};var nu=(n=>(n.FirstInputString="join-string-first-string-argument-declaration",n.SecondInputString="join-string-second-string-argument-declaration",n))(nu||{}),ru=(n=>(n.ResultString="join-string-result-string-return-delaration",n.Error="join-string-error-return-delaration",n))(ru||{});const iu={type:r.GenericReference,id:"join-string-first-string-argument-declaration",entityId:"join-string-first-string-argument-declaration",entityType:r.ValueDescriptor},au={id:"join-string-first-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:iu},su={type:r.GenericReference,id:"join-string-second-string-argument-declaration",entityId:"join-string-second-string-argument-declaration",entityType:r.ValueDescriptor},ou={id:"join-string-second-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:su},lu={type:r.GenericReference,id:"join-string-result-string-return-delaration",entityId:"join-string-result-string-return-delaration",entityType:r.ValueDescriptor},cu={id:"join-string-result-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:lu},du={type:r.GenericReference,id:"join-string-operation-first-string-argument-parent-ref",entityId:ge.Join,entityType:r.ActionDescriptor},Ea={id:"join-string-first-string-argument-declaration",type:r.ValueDescriptor,version:1,name:"First value",description:"The first text to join to the second one. Its value will be at the beginning of the resulting text.",dataType:au,parentRelationType:C.FixedArguments,required:!0,index:0,parent:du},uu={type:r.GenericReference,id:"join-string-operation-second-string-argument-parent-ref",entityId:ge.Join,entityType:r.ActionDescriptor},Ra={id:"join-string-second-string-argument-declaration",type:r.ValueDescriptor,version:1,name:"Second value",description:"The second text to join to the first one. Its value will be at the end of the resulting text.",dataType:ou,parentRelationType:C.FixedArguments,required:!0,index:1,parent:uu},pu={type:r.GenericReference,id:"join-string-operation-result-string-return-parent-ref",entityId:ge.Join,entityType:r.ActionDescriptor},ui={parentRelationType:C.FixedReturns,id:"join-string-result-string-return-delaration",type:r.ValueDescriptor,version:1,name:"Result",description:"The resulting text value.",dataType:cu,required:!0,index:0,parent:pu},yu={type:r.GenericReference,id:"join-string-operation-error-parent-ref",entityId:ge.Join,entityType:r.ActionDescriptor},hu={parentRelationType:C.FixedReturns,id:"join-string-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:yu},pi={id:ge.Join,type:r.ActionDescriptor,version:1,name:ge.Join,description:"Join two text together, to form a single resulting text value.",fixedArguments:[Ea,Ra],fixedReturns:[ui],error:hu,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},fu={[ge.Join]:pi};var mu=(n=>(n.FirstInputList="join-list-first-list-argument-declaration",n.SecondInputList="join-list-second-list-argument-declaration",n))(mu||{}),Tu=(n=>(n.ResultList="join-list-result-list-return-delaration",n.Error="join-list-error-return-delaration",n))(Tu||{});const Eu={type:r.GenericReference,id:"join-list-operation-first-list-argument-ref",entityId:"join-list-first-list-argument-declaration",entityType:r.ValueDescriptor},Ru={id:"join-list-first-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Eu},bu={type:r.GenericReference,id:"join-list-operation-second-list-argument-ref",entityId:"join-list-second-list-argument-declaration",entityType:r.ValueDescriptor},vu={id:"join-list-second-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:bu},gu={type:r.GenericReference,id:"join-list-operation-result-list-return-ref",entityId:"join-list-result-list-return-delaration",entityType:r.ValueDescriptor},Iu={id:"join-list-result-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:gu},Pu={type:r.GenericReference,id:"join-list-operation-first-list-argument-parent-ref",entityId:j.Join,entityType:r.ActionDescriptor},Du={id:"join-list-first-list-argument-declaration",type:r.ValueDescriptor,version:1,name:"First value",description:"The first list to join to the second one. Its values will be at the beginning of the resulting list.",dataType:Ru,parentRelationType:C.FixedArguments,required:!0,index:0,parent:Pu},Au={type:r.GenericReference,id:"join-list-operation-second-list-argument-parent-ref",entityId:j.Join,entityType:r.ActionDescriptor},Su={id:"join-list-second-list-argument-declaration",type:r.ValueDescriptor,version:1,name:"Second value",description:"The second list to join to the first one. Its values will be at the end of the resulting list.",dataType:vu,parentRelationType:C.FixedArguments,required:!0,index:1,parent:Au},Ou={type:r.GenericReference,id:"join-list-operation-result-list-return-parent-ref",entityId:j.Join,entityType:r.ActionDescriptor},Cu={parentRelationType:C.FixedReturns,id:"join-list-result-list-return-delaration",type:r.ValueDescriptor,version:1,name:"Result",description:"The resulting list value.",dataType:Iu,required:!0,index:0,parent:Ou},Bu={type:r.GenericReference,id:"join-list-operation-error-parent-ref",entityId:j.Join,entityType:r.ActionDescriptor},wu={parentRelationType:C.FixedReturns,id:"join-list-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Bu},Po={id:j.Join,type:r.ActionDescriptor,version:1,name:j.Join,description:"Join two lists together, to form a single resulting list value.",fixedArguments:[Du,Su],error:wu,fixedReturns:[Cu],argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var _u=(n=>(n.InputList="list-to-split-argument-declaration",n.SplitIndex="split-list-index-argument-declaration",n))(_u||{}),Mu=(n=>(n.FirstOutputList="split-list-first-output-list-return-delaration",n.SecondOutputList="split-list-second-output-list-return-delaration",n.Error="split-list-error-return-delaration",n))(Mu||{});const Nu={type:r.GenericReference,id:"split-list-operation-input-list-argument-ref",entityId:"list-to-split-argument-declaration",entityType:r.ValueDescriptor},$u={id:"split-list-operation-input-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Nu},Vu={type:r.GenericReference,id:"split-list-operation-split-index-argument-ref",entityId:"split-list-index-argument-declaration",entityType:r.ValueDescriptor},Lu={id:"split-list-operation-split-index-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Vu},Do={type:r.GenericReference,id:"split-list-operation-first-output-list-return-ref",entityId:"split-list-first-output-list-return-delaration",entityType:r.ValueDescriptor},Gu={id:"split-list-operation-first-output-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Do},Fu={type:r.GenericReference,id:"split-list-operation-input-list-argument-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},Uu={id:"list-to-split-argument-declaration",type:r.ValueDescriptor,version:1,name:"List to split",description:"The list to split at the given index",dataType:$u,parentRelationType:C.FixedArguments,required:!0,index:0,parent:Fu},xu={type:r.GenericReference,id:"split-list-operation-split-index-argument-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},ju={id:"split-list-index-argument-declaration",type:r.ValueDescriptor,version:1,name:"Split location",description:"The index at which to split the list. The value at this index will be the first value of the second list.",dataType:Lu,parentRelationType:C.FixedArguments,required:!0,index:1,parent:xu},ku={type:r.GenericReference,id:"split-list-operation-first-output-list-return-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},qu={parentRelationType:C.FixedReturns,id:"split-list-first-output-list-return-delaration",type:r.ValueDescriptor,version:1,name:"First list",description:"The list of values up to the split index",dataType:Gu,required:!0,index:0,parent:ku},Ju={id:"split-list-operation-second-output-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Do},Wu={type:r.GenericReference,id:"split-list-operation-second-output-list-return-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},Hu={parentRelationType:C.FixedReturns,id:"split-list-second-output-list-return-delaration",type:r.ValueDescriptor,version:1,name:"Second list",description:"The list of values up to the split index",dataType:Ju,required:!0,index:0,parent:Wu},Yu={type:r.GenericReference,id:"split-list-operation-error-parent-ref",entityId:j.Split,entityType:r.ActionDescriptor},zu={parentRelationType:C.FixedReturns,id:"split-list-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Yu},Ao={id:j.Split,type:r.ActionDescriptor,version:1,name:j.Split,description:"Splits a given list at the given index, and returns two lists, one with the values up to the index, and the other with the values after the index",fixedArguments:[Uu,ju],fixedReturns:[qu,Hu],error:zu,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var Zu=(n=>(n.InputList="get-last-in-list-input-list-argument-declaration",n))(Zu||{}),Xu=(n=>(n.OutputElement="get-last-in-list-output-element-return-delaration",n.Error="get-last-in-list-error-return-delaration",n))(Xu||{});const Qu={type:r.GenericReference,id:"get-last-in-list-operation-input-list-argument-ref",entityId:"get-last-in-list-input-list-argument-declaration",entityType:r.ValueDescriptor},Ku={id:"get-last-in-list-input-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Qu},ep={type:r.GenericReference,id:"get-last-in-list-operation-output-element-return-ref",entityId:"get-last-in-list-output-element-return-delaration",entityType:r.ValueDescriptor},tp={id:"get-last-in-list-output-element-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:ep},np={type:r.GenericReference,id:"get-last-in-list-operation-input-list-argument-parent-ref",entityId:j.GetLast,entityType:r.ActionDescriptor},rp={id:"get-last-in-list-input-list-argument-declaration",type:r.ValueDescriptor,version:1,name:"List",description:"The list to get the last element from.",dataType:Ku,parentRelationType:C.FixedArguments,required:!0,index:0,parent:np},ip={type:r.GenericReference,id:"get-last-in-list-operation-output-element-return-parent-ref",entityId:j.GetLast,entityType:r.ActionDescriptor},ap={parentRelationType:C.FixedReturns,id:"get-last-in-list-output-element-return-delaration",type:r.ValueDescriptor,version:1,name:"Last element",description:"The last element of the given list.",dataType:tp,required:!0,index:0,parent:ip},sp={type:r.GenericReference,id:"get-last-in-list-operation-error-parent-ref",entityId:j.GetLast,entityType:r.ActionDescriptor},op={parentRelationType:C.FixedReturns,id:"get-last-in-list-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:sp},So={id:j.GetLast,type:r.ActionDescriptor,version:1,name:j.GetLast,description:"Outputs the last element of a given list.",fixedArguments:[rp],fixedReturns:[ap],error:op,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var lp=(n=>(n.List="append-to-list-lsit-argument-declaration",n.ElementToAppend="append-to-list-element-to-append-argument-declaration",n))(lp||{}),cp=(n=>(n.ResultList="append-to-list-result-list-return-delaration",n.Error="append-to-list-error-return-delaration",n))(cp||{});const dp={type:r.GenericReference,id:"append-to-list-operation-lsit-argument-ref",entityId:"append-to-list-lsit-argument-declaration",entityType:r.ValueDescriptor},up={id:"append-to-list-lsit-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:dp},pp={type:r.GenericReference,id:"append-to-list-operation-second-list-argument-ref",entityId:"append-to-list-element-to-append-argument-declaration",entityType:r.ValueDescriptor},yp={id:"append-to-list-second-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:pp},hp={type:r.GenericReference,id:"append-to-list-operation-result-list-return-ref",entityId:"append-to-list-result-list-return-delaration",entityType:r.ValueDescriptor},fp={id:"append-to-list-result-list-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:hp},mp={type:r.GenericReference,id:"append-to-list-operation-lsit-argument-parent-ref",entityId:j.Append,entityType:r.ActionDescriptor},Oo={id:"append-to-list-lsit-argument-declaration",type:r.ValueDescriptor,version:1,name:"List value",description:"The list to which the element will be appended",dataType:up,parentRelationType:C.FixedArguments,required:!0,index:0,parent:mp},Tp={type:r.GenericReference,id:"append-to-list-operation-second-list-argument-parent-ref",entityId:j.Append,entityType:r.ActionDescriptor},Co={id:"append-to-list-element-to-append-argument-declaration",type:r.ValueDescriptor,version:1,name:"Element",description:"The element that will be added at the end of the list",dataType:yp,parentRelationType:C.FixedArguments,required:!0,index:1,parent:Tp},Ep={type:r.GenericReference,id:"append-to-list-operation-result-list-return-parent-ref",entityId:j.Append,entityType:r.ActionDescriptor},Rp={parentRelationType:C.FixedReturns,id:"append-to-list-result-list-return-delaration",type:r.ValueDescriptor,version:1,name:"Result",description:"The resulting list value.",dataType:fp,required:!0,index:0,parent:Ep},bp={type:r.GenericReference,id:"append-to-list-operation-error-parent-ref",entityId:j.Append,entityType:r.ActionDescriptor},vp={parentRelationType:C.FixedReturns,id:"append-to-list-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:bp},ba={id:j.Append,type:r.ActionDescriptor,version:1,name:j.Append,description:"Adds a given element to the end of a list value.",fixedArguments:[Oo,Co],error:vp,fixedReturns:[Rp],argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},gp={[j.Join]:Po,[j.Split]:Ao,[j.GetLast]:So,[j.Append]:ba};var Ip=(n=>(n.ListOfFunctions="parallel-execution-list-of-functions-argument-declaration",n))(Ip||{}),Pp=(n=>(n.ListOfExecutionResults="parallel-execution-result-return-delaration",n.Error="parallel-execution-error-return-delaration",n))(Pp||{});const Dp={id:"parallel-execution-list-of-functions-blueprint-id",type:r.ActionDescriptor,version:1,name:"Action to execute",description:"An action of any type, to be executed. It can contain any number of inputs and outputs.",argumentsType:L.Dynamic,dynamicArgumentTypes:null,fixedArguments:[],returnsType:L.Dynamic,dynamicReturnTypes:null,fixedReturns:[],error:null,parent:null},Ap={type:r.GenericReference,id:"3bd4aeb2-e3b7-4120-b289-011ebb03dba5",entityId:"parallel-execution-list-of-functions-argument-declaration",entityType:r.ValueDescriptor},Sp={id:"parallel-execution-list-of-functions-argument-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Dp,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Ap},Op={type:r.GenericReference,id:"da5e9fe9-f18a-49e3-98e5-c1bf7b9b3153",entityId:"parallel-execution-result-return-delaration",entityType:r.ValueDescriptor},Cp={id:"b761acec-0755-4582-a68b-76267038bbe1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Op},Bp={type:r.GenericReference,id:"a6c14305-d4f7-43ae-9d5e-b7dbacdc830a",entityId:Ie.Parallel,entityType:r.ActionDescriptor},Bo={id:"parallel-execution-list-of-functions-argument-declaration",type:r.ValueDescriptor,version:1,name:"Actions to execute",description:"A value, of a list of actions to be executed in parallel",dataType:Sp,required:!0,index:0,parent:Bp,parentRelationType:C.FixedArguments},wp={type:r.GenericReference,id:"caac2bc7-c23c-4f01-9581-a515c2e4637f",entityId:Ie.Parallel,entityType:r.ActionDescriptor},wo={id:"parallel-execution-result-return-delaration",type:r.ValueDescriptor,version:1,name:"List of execution results",description:"Each execution result, in the same order as the input list of actions. One item on this list for each executed action.",dataType:Cp,required:!0,index:0,parent:wp,parentRelationType:C.FixedReturns},_p={type:r.GenericReference,id:"parallel-execution-operation-error-parent-ref",entityId:Ie.Parallel,entityType:r.ActionDescriptor},Mp={id:"parallel-execution-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:_p,parentRelationType:C.ReturnedError},$t={id:Ie.Parallel,type:r.ActionDescriptor,description:"Execute a list of actions in parallel",version:1,name:Ie.Parallel,fixedArguments:[Bo],fixedReturns:[wo],argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,error:Mp,parent:null};var Np=(n=>(n.MillisecondsNumber="wait-milliseconds-number-argument-declaration",n))(Np||{}),$p=(n=>(n.Error="wait-operation-error-return-delaration",n))($p||{});const Vp={type:r.GenericReference,id:"3bd4aeb2-e3b7-4120-b289-011ebb03dba5",entityType:r.ValueDescriptor,entityId:"wait-milliseconds-number-argument-declaration"},Lp={id:"wait-milliseconds-number-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Vp},Gp={type:r.GenericReference,id:"a6c14305-d4f7-43ae-9d5e-b7dbacdc830a",entityType:r.ActionDescriptor,entityId:Ie.Wait},Un={id:"wait-milliseconds-number-argument-declaration",type:r.ValueDescriptor,version:1,name:"Milliseconds to wait",description:"The amount of milliseconds to wait before calling the next entity",dataType:Lp,required:!0,index:0,parent:Gp,parentRelationType:C.FixedArguments},Fp={type:r.GenericReference,id:"wait-operation-error-parent-ref",entityId:Ie.Wait,entityType:r.ActionDescriptor},Up={id:"wait-operation-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Fp,parentRelationType:C.ReturnedError},ot={id:Ie.Wait,type:r.ActionDescriptor,description:"Wait for the given amount of milliseconds before calling the next entity",version:1,name:Ie.Wait,fixedArguments:[Un],fixedReturns:[],error:Up,argumentsType:L.Fixed,returnsType:L.None,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var xp=(n=>(n.ListOfFunctions="sequential-execution-list-of-functions-argument-declaration",n))(xp||{}),jp=(n=>(n.ListOfExecutionResults="sequential-execution-result-return-delaration",n.Error="sequential-execution-error-return-delaration",n))(jp||{});const kp={id:"sequential-execution-list-of-functions-blueprint-id",type:r.ActionDescriptor,version:1,name:"Action to execute",description:"An action of any type, to be executed. It can contain any number of inputs and outputs.",argumentsType:L.Dynamic,dynamicArgumentTypes:null,fixedArguments:[],returnsType:L.Dynamic,dynamicReturnTypes:null,fixedReturns:[],error:null,parent:null},qp={type:r.GenericReference,id:"parallel-execution-list-of-functions-argument-declaration-id",entityId:"sequential-execution-list-of-functions-argument-declaration",entityType:r.ValueDescriptor},Jp={id:"sequential-execution-list-of-functions-argument-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:kp,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:qp},Wp={type:r.GenericReference,id:"sequential-execution-list-of-execution-results-return-declaration-id",entityId:"sequential-execution-result-return-delaration",entityType:r.ValueDescriptor},Hp={id:"sequential-execution-list-of-execution-results-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!0,isNullable:!1,defaultValue:null,constant:!1,parent:Wp},Yp={type:r.GenericReference,id:"parallel-execution-operation-list-of-functions-argument-parent-ref",entityId:Ie.Sequential,entityType:r.ActionDescriptor},_o={id:"sequential-execution-list-of-functions-argument-declaration",type:r.ValueDescriptor,version:1,name:"Actions to execute",description:"A value, of a list of actions to be executed in parallel",dataType:Jp,required:!0,index:0,parent:Yp,parentRelationType:C.FixedArguments},zp={type:r.GenericReference,id:"parallel-execution-operation-list-of-execution-results-return-parent-ref",entityId:Ie.Sequential,entityType:r.ActionDescriptor},Mo={id:"sequential-execution-result-return-delaration",type:r.ValueDescriptor,version:1,name:"List of execution results",description:"Each execution result, in the same order as the input list of actions. One item on this list for each executed action.",dataType:Hp,required:!0,index:0,parent:zp,parentRelationType:C.FixedReturns},Zp={type:r.GenericReference,id:"sequential-execution-operation-error-parent-ref",entityId:Ie.Sequential,entityType:r.ActionDescriptor},Xp={id:"sequential-execution-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:Zp,parentRelationType:C.ReturnedError},tn={id:Ie.Sequential,type:r.ActionDescriptor,description:"Execute a list of actions one after the other",version:1,name:Ie.Sequential,fixedArguments:[_o],fixedReturns:[Mo],error:Xp,returnsType:L.Fixed,argumentsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},Qp={[Ie.Parallel]:$t,[Ie.Wait]:ot,[Ie.Sequential]:tn};var Kp=(n=>(n.EntityToInstanciate="entity-to-instanciate-argument-declaration",n))(Kp||{}),ey=(n=>(n.Error="create-new-instance-error-return-delaration",n))(ey||{});const ty={type:r.GenericReference,id:"entity-to-instanciate-argument-declaration-ref",entityType:r.ValueDescriptor,entityId:"entity-to-instanciate-argument-declaration"},ny={id:"entity-to-instanciate-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!0,isNullable:!1,defaultValue:null,constant:!1,parent:ty},ry={type:r.GenericReference,id:"create-new-instance-operation-ref",entityType:r.ActionDescriptor,entityId:Ze.CreateNewInstance},iy={id:"entity-to-instanciate-argument-declaration",type:r.ValueDescriptor,version:1,name:"Entity to create a new copy of",description:"The entity of which a new copy will to be created",dataType:ny,required:!0,parentRelationType:C.FixedArguments,index:0,parent:ry},ay={type:r.GenericReference,id:"create-new-instance-output-entity-declaration-parent-ref",entityId:Ze.CreateNewInstance,entityType:r.ActionDescriptor},sy={parentRelationType:C.FixedReturns,id:"create-new-instance-output-entity-declaration",type:r.ValueDescriptor,version:1,dataType:null,name:"Created entity",description:"The entity that was created",parent:ay,required:!0,index:0},oy={type:r.GenericReference,id:"create-new-instance-error-parent-ref",entityId:Ze.CreateNewInstance,entityType:r.ActionDescriptor},ly={parentRelationType:C.FixedReturns,id:"create-new-instance-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:oy},Or={id:Ze.CreateNewInstance,type:r.ActionDescriptor,description:"Creates a new copy of a given entity, with the given values for each property, or default values if a value is not provided",version:1,name:Ze.CreateNewInstance,fixedArguments:[iy],fixedReturns:[sy],error:ly,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null};var cy=(n=>(n.EntityToMatchType="validate-data-operation-entity-to-match-type-argument-declaration",n.DataToValidate="validate-data-operation-data-to-validate-argument-declaration",n))(cy||{}),dy=(n=>(n.Error="validate-data-error-return-delaration",n.OutputEntity="validate-data-output-entity-declaration",n))(dy||{});const uy={type:r.GenericReference,id:"validate-data-operation-data-to-validate-argument-declaration-ref",entityType:r.ValueDescriptor,entityId:"validate-data-operation-data-to-validate-argument-declaration"},py={id:"validate-data-operation-data-to-validate-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:uy},yy={type:r.GenericReference,id:"validate-data-operation-data-to-validate-argument-parent-ref",entityType:r.ActionDescriptor,entityId:Ze.Validate},hy={id:"validate-data-operation-data-to-validate-argument-declaration",type:r.ValueDescriptor,version:1,name:"Data to validate",description:"The value to validate against the given entity type",dataType:py,required:!0,parentRelationType:C.FixedArguments,index:0,parent:yy},fy={type:r.GenericReference,id:"validate-data-operation-entity-to-match-type-argument-declaration-ref",entityType:r.ValueDescriptor,entityId:"validate-data-operation-entity-to-match-type-argument-declaration"},my={id:"validate-data-operation-entity-to-match-type-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!0,isNullable:!1,defaultValue:null,constant:!1,parent:fy},Ty={type:r.GenericReference,id:"validate-data-operation-entity-to-match-type-argument-parent-ref",entityType:r.ActionDescriptor,entityId:Ze.Validate},Ey={id:"validate-data-operation-entity-to-match-type-argument-declaration",type:r.ValueDescriptor,version:1,name:"Entity to match",description:"The entity to match the data against",dataType:my,required:!0,index:0,parentRelationType:C.FixedArguments,parent:Ty},Ry={type:r.GenericReference,id:"validate-data-operation-output-entity-declaration-parent-ref",entityId:Ze.Validate,entityType:r.ActionDescriptor},by={id:"validate-data-output-entity-declaration",type:r.ValueDescriptor,version:1,dataType:null,name:"Output value",description:"A value with the type of the entity that was validated",parent:Ry,required:!0,index:0,parentRelationType:C.FixedReturns},vy={type:r.GenericReference,id:"wait-operation-error-parent-ref",entityId:Ze.Validate,entityType:r.ActionDescriptor},gy={id:"validate-data-error-return-delaration",type:r.ValueDescriptor,version:1,name:"Error",description:"An error that occurred during the operation.",dataType:null,required:!0,index:1,parent:vy,parentRelationType:C.ReturnedError},xn={id:Ze.Validate,type:r.ActionDescriptor,description:"Validates the given data to see if it matches the structure of a given type/entity",version:1,name:Ze.Validate,fixedArguments:[Ey,hy],fixedReturns:[by],error:gy,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},Iy={[Ze.CreateNewInstance]:Or,[Ze.Validate]:xn};var No=(n=>(n.ActionOngoingProcessOutputValue="action-ongoing-process-output-value-descriptor-id",n))(No||{});const Ve={[r.ValueDescriptor]:{"action-ongoing-process-output-value-descriptor-id":{id:"action-ongoing-process-output-value-descriptor-id",dataType:{id:"process-output-value-data-type-id"}}},[r.BuiltInBaseEntity]:{[_.KEY_VALUE_PARAM]:{id:_.KEY_VALUE_PARAM},[_.HTTP_ENDPOINT]:{id:_.HTTP_ENDPOINT,properties:{method:"http-endpoint-built-in-method-property-id",path:"http-endpoint-built-in-path-property-id",cors:"http-endpoint-built-in-cors-property-id"}},[_.PERSISTED_ENTITY]:{id:_.PERSISTED_ENTITY,properties:{database:"persisted-built-in-base-entity-database-property-id",identifier:"persisted-built-in-base-entity-identifier-property-id"}},[_.RELATIONAL_DATABASE]:{id:_.RELATIONAL_DATABASE,properties:{identifier:"relational-database-built-in-base-entity-identifier-property-id",username:"relational-database-built-in-base-entity-username-property-id",password:"relational-database-built-in-base-entity-password-property-id",minSize:"relational-database-built-in-base-entity-min-size-property-id",default:"relational-database-built-in-base-entity-default-property-id"}},[_.CRON_JOB]:{id:_.CRON_JOB,properties:{expression:"cron-job-built-in-base-entity-expression-property-id"}}},[r.Operation]:{[ge.Join]:{id:ge.Join,inputs:{first:"join-string-first-string-input-id",second:"join-string-second-string-input-id"},outputs:{result:"join-string-result-string-return-delaration-id",error:"join-string-error-return-delaration-id"}},[Ye.HttpRequest]:{id:Ye.HttpRequest,inputs:{url:"http-request-url-input-id",query:"http-request-query-input-id",method:"http-request-method-input-id",headers:"http-request-headers-input-id",body:"http-request-body-string-input-id"},outputs:{code:"http-response-code-return-delaration-id",body:"http-response-body-return-delaration-id",headers:"http-response-headers-return-delaration-id",error:"http-request-error-return-delaration-id"}}},[r.Loop]:{[je.List]:{id:je.List,inputs:{list:"iterate-over-list-loop-list-input-id"},outputs:{results:"iterate-over-list-loop-output-id"}},[je.ManualFlow]:{id:je.ManualFlow,inputs:{},outputs:{results:"manual-flow-loop-output-id"}}},[r.Condition]:{[Ae.MoreThanOrEqual]:{id:Ae.MoreThanOrEqual,inputs:{leftHand:"condition-more-than-or-equal-left-hand-input-id",rightHand:"condition-more-than-or-equal-right-hand-input-id"}},[Ct.NotEmpty]:{id:Ct.NotEmpty,inputs:{leftHand:"condition-not-empty-input-id"}}},[r.GlobalEvent]:{[Kt.PROJECT_PUBLICATION_COMPLETED]:{id:Kt.PROJECT_PUBLICATION_COMPLETED}}},Je=Ve[r.Operation]["base-http-request"],Py={type:r.GenericReference,id:"d87cf943-57e1-4d19-9f05-190fa8c8ebc4",entityType:r.DataType,entityId:"0deb4ef7-d739-4ddc-a4d6-50bd6fababe3"},Dy={id:"http-request-url-default-value-id",type:r.PrimitiveValue,version:1,value:"https://some-url.com",name:g.String,valueAsType:null,parent:Py,autogeneration:null},Ay={type:r.GenericReference,id:"aed50d73-eab5-42ce-b00e-7f5c45a9026f",entityId:Je.inputs.url,entityType:r.ValueDescriptor},Sy={id:"0deb4ef7-d739-4ddc-a4d6-50bd6fababe3",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:Dy,constant:!1,parent:Ay},Oy={type:r.GenericReference,id:"c3145af6-3387-464a-8887-272e483c856d",entityId:Je.inputs.query,entityType:r.ValueDescriptor},Cy={id:"2a5ba737-6335-4cc4-a2c0-16dca4052fac",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Oy},By={type:r.GenericReference,id:"075556b7-e468-48f7-8485-7159eaf389b2",entityType:r.DataType,entityId:"6df7ec2b-5dbd-44af-896b-17b314e88560"},wy={id:"http-request-method-default-value-id",type:r.PrimitiveValue,version:1,value:"GET",name:g.Enum,valueAsType:null,parent:By,autogeneration:null},_y={type:r.GenericReference,id:"aed647c8-a1b5-4cfc-9a3d-97887a567a80",entityId:Je.inputs.method,entityType:r.ValueDescriptor},My={id:"6df7ec2b-5dbd-44af-896b-17b314e88560",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rn,isList:!1,asType:!1,isNullable:!1,defaultValue:wy,options:["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","TRACE","CONNECT","CUSTOM"],constant:!1,parent:_y},Ny={type:r.GenericReference,id:"77203dfa-d2f6-4804-9556-e1cce46228f3",entityId:Je.inputs.headers,entityType:r.ValueDescriptor},$y={id:"2c8a2a07-69c6-40ad-b5c9-f0dc4d5955ce",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Ny},Vy={type:r.GenericReference,id:"03db68a0-7ab6-4c6a-85b6-f4b95ebb53ff",entityId:Je.inputs.body,entityType:r.ValueDescriptor},Ly={id:"0397876c-ed54-4ee9-85a4-04fd16dad973",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Vy},Gy={type:r.GenericReference,id:"182f767f-50e8-4394-ba5f-43e78c232733",entityType:r.ValueDescriptor,entityId:Je.outputs.code},Fy={id:"45e6d0bc-0c0e-4059-a7a1-6bee925d73d0",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Gy},Uy={type:r.GenericReference,id:"2baaa53a-9aef-4bd1-b06d-967c17b7b627",entityType:r.DataType,entityId:"dac63bfa-640d-4f4e-ba0f-86c2401bcfbe"},xy={type:r.GenericReference,id:"69f34d6c-c686-4165-b6ff-70dae8e1778b",entityType:r.ValueDescriptor,entityId:Je.outputs.headers},jy={id:"dac63bfa-640d-4f4e-ba0f-86c2401bcfbe",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"http-response-headers-default-value-id",type:r.PrimitiveValue,version:1,value:{},name:g.JSON,parent:Uy,valueAsType:null,autogeneration:null},constant:!1,parent:xy},ky={type:r.GenericReference,id:"744334e0-5135-4214-85d0-809437cb620b",entityType:r.DataType,entityId:"05fc1a5d-151a-479a-9c4e-4063f3456177"},qy={type:r.GenericReference,id:"0e0e20df-1a46-432c-ba01-fd96508a6a61",entityType:r.ValueDescriptor,entityId:Je.outputs.body},Jy={id:"05fc1a5d-151a-479a-9c4e-4063f3456177",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"http-response-body-default-value-id",type:r.PrimitiveValue,version:1,value:{},name:g.JSON,parent:ky,valueAsType:null,autogeneration:null},constant:!1,parent:qy},Wy={type:r.GenericReference,id:"26911792-f707-4bf1-b6f7-03d04a84232c",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},va={id:Je.inputs.method,type:r.ValueDescriptor,description:"A single word that represents the type of request you want to make. For example: GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD, TRACE, CONNECT, CUSTOM",version:1,name:"Method",dataType:My,required:!1,index:0,parentRelationType:C.FixedArguments,parent:Wy},Hy={type:r.GenericReference,id:"eee0c501-0ae6-4448-b914-aada76d63163",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},ga={id:Je.inputs.url,type:r.ValueDescriptor,description:"The base domain, or address where the request is being sent to. For example: https://some-url.com",version:1,name:"URL",dataType:Sy,required:!1,index:1,parentRelationType:C.FixedArguments,parent:Hy},Yy={type:r.GenericReference,id:"670091a4-21b1-4223-ad4c-b6dada0aec49",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},$o={id:Je.inputs.query,type:r.ValueDescriptor,description:"A text with standarized format, without spaces that is added at the end of the URL path, after the ? character. It contains data that might be used to process the request. For example: /api/users?name=John&age=30",version:1,name:"Query Params",dataType:Cy,required:!1,index:2,parentRelationType:C.FixedArguments,parent:Yy},zy={type:r.GenericReference,id:"85aad3eb-22fe-45f9-b68c-1dc7061f41e0",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},Ia={id:Je.inputs.headers,type:r.ValueDescriptor,description:"A set of any properties, with names and values that represent metadata about the request, such as the server, date, content type, and more, that you want to send alongside your request data.",version:1,name:"Headers",dataType:$y,required:!1,index:3,parent:zy,parentRelationType:C.FixedArguments},Zy={type:r.GenericReference,id:"c3e2a4af-9b84-4574-8b30-5044ffc51776",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},Pa={id:Je.inputs.body,type:r.ValueDescriptor,description:"The main data payload of the request. This is the data that you want to send to the server. It could be anything, but it is usually a JSON data structure or a text value.",version:1,name:"Body",dataType:Ly,required:!1,index:4,parentRelationType:C.FixedArguments,parent:Zy},Xy={type:r.GenericReference,id:"92e04dc7-2145-4a31-908e-03810f7235e8",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},Vo={id:Je.outputs.code,type:r.ValueDescriptor,description:'A standardized status code of the response. It is a 3-digit number that represents the response status. For example, 200 means "OK", 404 means "Not Found", and 500 means "Internal Server Error".',version:1,name:"Code",dataType:Fy,required:!0,index:0,parentRelationType:C.FixedReturns,parent:Xy},Qy={type:r.GenericReference,id:"86aca556-bbf1-4679-9909-31db61b288e2",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},Da={parentRelationType:C.FixedReturns,id:Je.outputs.headers,type:r.ValueDescriptor,description:"A set of any properties, with names and value that the server sent back to you. It represents metadata about the response, such as the server, date, content type, and more.",version:1,name:"Headers",dataType:jy,required:!0,index:1,parent:Qy},Ky={type:r.GenericReference,id:"ccf3d1be-04e4-4d03-99fd-5bc1e1919f90",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},yi={parentRelationType:C.FixedReturns,id:Je.outputs.body,type:r.ValueDescriptor,description:"The main data payload of the response. This is the data that the server sent back to you. It could be anything, but it is usually a JSON data structure or a text value.",version:1,name:"Body",dataType:Jy,required:!0,index:2,parent:Ky},eh={type:r.GenericReference,id:"21487ffc-82b9-473d-bc19-6e7d7c480ed7",entityType:r.ActionDescriptor,entityId:Ye.HttpRequest},th={type:r.GenericReference,id:"ad69861b-32f7-4461-b7f7-aa84a82578d9",entityType:r.ValueDescriptor,entityId:Je.outputs.error},nh={id:"5da68b15-57bc-40c1-b79f-a9075e0f22c1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,isList:!1,asType:!1,isNullable:!1,constant:!1,defaultValue:null,parent:th},Lo={parentRelationType:C.ReturnedError,id:Je.outputs.error,type:r.ValueDescriptor,description:"Http request error, if any. Contains a payload describing what went wrong.",version:1,name:"Error",dataType:nh,required:!0,index:0,parent:eh},hi={type:r.ActionDescriptor,id:Ye.HttpRequest,name:Ye.HttpRequest,description:"Make an HTTP request, out to the internet, to a given URL with the specified method, query parameters, headers, and body.",version:1,fixedArguments:[va,ga,$o,Ia,Pa],fixedReturns:[Vo,Da,yi],argumentsType:L.Fixed,returnsType:L.Fixed,error:Lo,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},rh={[Ye.HttpRequest]:hi},tI={...fu,...tu,...gp,...Qp,...Iy,...rh},ih=Ve[r.Loop]["list-loop"],ah={id:"iterate-over-list-loop-return-declaration-parent-ref-id",type:r.GenericReference,entityId:je.List,entityType:r.ActionDescriptor},sh={id:ih.outputs.results,type:r.ValueDescriptor,version:1,name:"Results",description:"List of results from the loop. One item in the list for each iteration of the loop.",dataType:null,required:!0,index:0,parent:ah,parentRelationType:C.FixedReturns},oh={id:"iterate-over-list-loop-list-argument-declaration-data-type-parent-ref-id",type:r.GenericReference,entityId:"iterate-over-list-loop-list-argument-declaration-id",entityType:r.ArgumentDeclaration},lh={id:"iterate-over-list-loop-list-argument-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!0,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:oh},ch={id:"iterate-over-list-loop-list-argument-declaration-parent-ref-id",type:r.GenericReference,entityId:je.List,entityType:r.ActionDescriptor},dh={id:ih.inputs.list,type:r.ValueDescriptor,version:1,name:"List",description:"The list to iterate over",required:!0,dataType:lh,index:0,parent:ch,parentRelationType:C.FixedArguments},jn={id:je.List,type:r.ActionDescriptor,version:1,name:je.List,description:"Iterates over a list of entities",fixedArguments:[dh],fixedReturns:[sh],error:null,argumentsType:L.Fixed,returnsType:L.Fixed,dynamicArgumentTypes:null,dynamicReturnTypes:null,parent:null},nI=Ve[r.Loop]["list-loop"],uh={id:"manual-flow-loop-previous-iterations-results-declaration-data-type-parent-ref-id",type:r.GenericReference,entityId:"manual-flow-loop-previous-iterations-results-declaration-id",entityType:r.ReturnDeclaration},ph={id:"manual-flow-loop-previous-iterations-results-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!0,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:uh},yh={id:"manual-flow-loop-previous-iterations-results-declaration-parent-ref-id",type:r.GenericReference,entityId:je.ManualFlow,entityType:r.ActionDescriptor},hh={id:nI.outputs.results,type:r.ValueDescriptor,version:1,name:"Results",description:"List of results from the loop. One item in the list for each iteration of the loop.",dataType:ph,required:!0,index:1,parentRelationType:C.FixedReturns,parent:yh},Go={id:je.ManualFlow,type:r.ActionDescriptor,version:1,name:je.ManualFlow,description:"A loop that is manually controlled by the continue and break statements. It runs until the break statement is called, and it can skip to the next iteration with the continue statement.",fixedArguments:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,fixedReturns:[hh],argumentsType:L.None,returnsType:L.Fixed,error:null,parent:null},Aa=Ve[r.BuiltInBaseEntity][_.KEY_VALUE_PARAM],rI={id:"key-value-param-built-in-base-entity-name-property-data-type-ref",type:r.GenericReference,entityId:"key-value-param-built-in-base-entity-name-property-data-type",entityType:r.DataType},fh={id:"key-value-param-built-in-base-entity-name-property-ref",type:r.GenericReference,entityId:"key-value-param-built-in-base-entity-name-property",entityType:r.Property},iI={id:"key-value-param-built-in-base-entity-name-property-data-type",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:F,asType:!1,defaultValue:null,parent:fh},mh={id:"key-value-param-built-in-base-entity-name-property-parent-ref",type:r.GenericReference,entityId:Aa.id,entityType:r.BuiltInBaseEntity},Th={required:!0,id:"key-value-param-built-in-base-entity-name-property",name:"Parameter name",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:iI,description:"The name of the path parameter",parent:mh},aI={id:"key-value-param-built-in-base-entity-value-property-data-type-ref",type:r.GenericReference,entityId:"key-value-param-built-in-base-entity-value-property-data-type",entityType:r.DataType},Eh={id:"key-value-param-built-in-base-entity-value-property-ref",type:r.GenericReference,entityId:"key-value-param-built-in-base-entity-value-property",entityType:r.Property},sI={id:"key-value-param-built-in-base-entity-value-property-data-type",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:F,asType:!1,defaultValue:null,parent:Eh},Rh={id:"key-value-param-built-in-base-entity-value-property-parent-ref",type:r.GenericReference,entityId:Aa.id,entityType:r.BuiltInBaseEntity},bh={required:!0,id:"key-value-param-built-in-base-entity-value-property",name:"Parameter Value",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:1,dataType:sI,description:"The value of the path parameter",parent:Rh},Sa={id:Aa.id,version:1,description:'An entity with a "name" and "value" property representing a breakdown of a key-value pair.',name:Aa.id,type:r.BuiltInBaseEntity,abstract:!1,static:!1,interactive:!0,properties:[Th,bh],abstractMethods:[],methods:[],extends:[]},fi=Ve[r.BuiltInBaseEntity][_.HTTP_ENDPOINT].properties,vh={id:"endpointBuiltInCorsPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointBuiltInCorsPropertyDataType"},gh={id:"endpointBuiltInCorsPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:fi.cors},Ih={id:"endpointBuiltInCorsPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"endpointBuiltInCorsPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:["*"],parent:vh,autogeneration:null,valueAsType:null},parent:gh},Ph={id:"endpointBuiltInBaseEntityRef",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},Dh={required:!0,id:fi.cors,name:"Allowed origins",version:1,type:r.Property,private:!1,abstract:!0,implements:null,static:!0,index:0,dataType:Ih,description:"The origins that are allowed to access this endpoint, use * for all origins, or http://example.com/* to be as specific as you need.",parent:Ph},Ah={id:"endpointBuiltInPathPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointBuiltInPathPropertyDataType"},Sh={id:"endpointBuiltInPathPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:fi.path},Oh={id:"endpointBuiltInPathPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"endpointBuiltInPathPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.String,value:"/",parent:Ah,autogeneration:null,valueAsType:null},parent:Sh},Ch={id:"endpointBuiltInBaseEntityRefTwo",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},Fo={required:!0,id:fi.path,name:"Path",version:1,type:r.Property,private:!1,abstract:!0,implements:null,static:!0,index:1,dataType:Oh,description:"Path to the endpoint, for example /api/users, or /api/users/{id}, or /api/users/{id}/:name. The path can contain parameters, which are defined by curly braces, and will be passed to the endpoint event as variables with the same name.",parent:Ch},Bh={id:"endpointBuiltInMethodPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointBuiltInMethodPropertyDataType"},wh={id:"endpointBuiltInMethodPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:"endpointBuiltInMethodProperty"},_h={id:"endpointBuiltInMethodPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Rn,isList:!0,isNullable:!1,constant:!0,asType:!1,defaultValue:{id:"endpointBuiltInMethodPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,value:"GET",name:g.Enum,parent:Bh,autogeneration:null,valueAsType:null},options:["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","TRACE","CONNECT","CUSTOM"],parent:wh},Mh={id:"endpointBuiltInBaseEntityRefThree",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},Uo={required:!0,id:fi.method,name:"Method",version:1,type:r.Property,private:!1,index:2,implements:null,abstract:!0,static:!0,dataType:_h,description:"The HTTP method that this endpoint will respond to, for example GET, POST, PUT, DELETE, etc.",parent:Mh},Nh={id:"endpointRequestHeadersVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointRequestHeadersVariableDataType"},$h={id:"endpointRequestHeadersArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"endpointRequestHeadersArgumentDeclaration"},Vh={id:"endpointRequestHeadersVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Xe,asType:!1,defaultValue:{id:"endpointRequestHeadersVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:Nh,autogeneration:null,valueAsType:null},parent:$h},Lh={id:"endpointRequestBodyArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"endpointRequestBodyArgumentDeclaration"},Gh={id:"endpointRequestBodyVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:Xe,defaultValue:null,parent:Lh},Fh={id:"endpointRequestQueryParamsVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointRequestQueryParamsVariableDataType"},Uh={id:"endpointRequestQueryParamsArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"endpointRequestQueryParamsArgumentDeclaration"},xh={id:"endpointRequestQueryParamsVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,asType:!1,entity:Sa,defaultValue:{id:"endpointRequestQueryParamsVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:[],parent:Fh,autogeneration:null,valueAsType:null},parent:Uh},jh={id:"endpointPathParamsVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointPathParamsVariableDataType"},kh={id:"endpointPathParamsArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"endpointPathParamsArgumentDeclaration"},qh={id:"endpointPathParamsVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Sa,asType:!1,defaultValue:{id:"endpointPathParamsVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:[],parent:jh,autogeneration:null,valueAsType:null},parent:kh},Jh={id:"endpointReachedTriggerActionDescriptorRef",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},Wh={id:"endpointRequestHeadersArgumentDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the request.",type:r.ValueDescriptor,name:"Request headers",dataType:Vh,required:!0,index:0,parentRelationType:C.FixedArguments,parent:Jh},Hh={id:"endpointReachedTriggerActionDescriptorRefTwo",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},Yh={id:"endpointPathParamsArgumentDeclaration",type:r.ValueDescriptor,description:"A standarized text, without spaces that is added at the end of the domain and routes the request to a specific resource within the target server. For example: /api/users/123, /api/users/123/:name, /api/users/123/:name/:age.",version:1,name:"Path parameters",dataType:qh,required:!0,index:1,parentRelationType:C.FixedArguments,parent:Hh},zh={id:"endpointReachedTriggerActionDescriptorRefThree",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},Zh={id:"endpointRequestQueryParamsArgumentDeclaration",version:1,description:"A text with standarized format, without spaces that is added at the end of the URL path, after the ? character. It contains data that might be used to process the request. For example: /api/users?name=John&age=30",type:r.ValueDescriptor,name:"Request query params",dataType:xh,required:!0,index:2,parentRelationType:C.FixedArguments,parent:zh},Xh={id:"endpointReachedTriggerActionDescriptorRefFour",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReachedTriggerActionDescriptor"},Qh={id:"endpointRequestBodyArgumentDeclaration",version:1,description:"The main data payload of the request.",type:r.ValueDescriptor,name:"Request body",dataType:Gh,index:3,required:!0,parentRelationType:C.FixedArguments,parent:Xh},Kh={id:"endpointResponseCodeReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"endpointResponseCodeReturnDeclaration"},ef={id:"9ba575b0-6f8e-436d-a3de-3b843622aa17",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:Kh},tf={id:"endpointReturnStatementRef",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReturnStatement"},nf={id:"endpointResponseCodeReturnDeclaration",version:1,description:"A standarized number that represents the status of the response. 200 for OK, 404 for not found, 500 for server error, etc.",type:r.ValueDescriptor,name:"Response code",dataType:ef,required:!0,index:0,parentRelationType:C.FixedReturns,parent:tf},rf={id:"endpointResponseHeadersDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"endpointResponseHeadersDataType"},af={id:"endpointResponseHeadersReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"endpointResponseHeadersReturnDeclaration"},sf={id:"endpointResponseHeadersDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Xe,asType:!1,defaultValue:{id:"endpointResponseHeadersDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:rf,autogeneration:null,valueAsType:null},parent:af},of={id:"endpointReturnStatementRefTwo",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReturnStatement"},lf={id:"endpointResponseHeadersReturnDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the response.",type:r.ValueDescriptor,name:"Response headers",dataType:sf,required:!1,index:1,parentRelationType:C.FixedReturns,parent:of},cf={id:"endpointResponseBodyReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"endpointResponseBodyReturnDeclaration"},df={id:"endpointResponseBodyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:Xe,defaultValue:null,parent:cf},uf={id:"endpointReturnStatementRefThree",type:r.GenericReference,entityType:r.ActionDescriptor,entityId:"endpointReturnStatement"},pf={id:"endpointResponseBodyReturnDeclaration",version:1,description:"The main data payload of the response.",type:r.ValueDescriptor,name:"Response body",dataType:df,required:!1,index:2,parentRelationType:C.FixedReturns,parent:uf},yf={id:"endpointBuiltInBaseEntityRefFour",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},xo={id:"endpointReachedTriggerActionDescriptor",type:r.ActionDescriptor,version:1,name:"Endpoint reached",description:"Fired when the endpoint is reached.",argumentsType:L.Fixed,dynamicArgumentTypes:null,fixedArguments:[Wh,Yh,Zh,Qh],returnsType:L.Fixed,fixedReturns:[nf,lf,pf],error:null,dynamicReturnTypes:null,parent:yf},Oa={id:_.HTTP_ENDPOINT,version:1,description:"An HTTP endpoint that can be reached by a client from the internet.",name:_.HTTP_ENDPOINT,type:r.BuiltInBaseEntity,interactive:!1,abstract:!0,static:!0,properties:[Dh,Fo,Uo],abstractMethods:[xo],extends:[],methods:[]},jt=Ve[r.BuiltInBaseEntity].BUILT_IN_RELATIONAL_DATABASE_ENTITY,hf={id:"relational-database-built-in-base-entity-identifier-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-identifier-property-data-type-id",entityType:r.DataType},ff={id:"relational-database-built-in-base-entity-identifier-property-ref-id",type:r.GenericReference,entityId:jt.properties.identifier,entityType:r.Property},oI={id:"relational-database-built-in-base-entity-identifier-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-identifier-property-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:null,parent:hf,autogeneration:{type:xe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:ff},Cr={id:"relational-database-built-in-base-entity-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},Ca={required:!0,id:jt.properties.identifier,name:"Identifier name",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:0,dataType:oI,description:"The name of the main database inside of the server instance where the data will be stored.",parent:Cr},lI={id:"relational-database-built-in-base-entity-username-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-username-property-data-type-idd",entityType:r.DataType},mf={id:"relational-database-built-in-base-entity-username-property-ref-id",type:r.GenericReference,entityId:jt.properties.username,entityType:r.Property},cI={id:"relational-database-built-in-base-entity-username-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-username-property-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:"postgres",parent:{id:"relational-database-built-in-base-entity-username-property-data-type-default-value-parent-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-username-property-data-type-id",entityType:r.DataType},autogeneration:null,valueAsType:null},parent:mf},Ba={required:!0,id:jt.properties.username,name:"Username",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:1,dataType:cI,description:"The username that will be used to connect to the database.",parent:Cr},dI={id:"relational-database-built-in-base-entity-password-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-password-property-data-type-id",entityType:r.DataType},Tf={id:"relational-database-built-in-base-entity-password-property-ref-id",type:r.GenericReference,entityId:jt.properties.password,entityType:r.Property},uI={id:"relational-database-built-in-base-entity-password-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:Tf},wa={required:!0,id:jt.properties.password,name:"Password",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:2,dataType:uI,description:"The password that will be used to connect to the database.",parent:Cr},Ef={id:"relational-database-built-in-base-entity-min-size-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-min-size-property-data-type-id",entityType:r.DataType},Rf={id:"relational-database-built-in-base-entity-min-size-property-ref-id",type:r.GenericReference,entityId:jt.properties.minSize,entityType:r.Property},pI={id:"relational-database-built-in-base-entity-min-size-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Ce,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-min-size-property-default-value-id",type:r.PrimitiveValue,version:1,name:g.Number,value:6,parent:Ef,autogeneration:null,valueAsType:null},parent:Rf},_a={required:!0,id:jt.properties.minSize,name:"Minimum GB size",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:3,dataType:pI,description:"The minimum size of the database in GB.",parent:Cr},bf={id:"relational-database-built-in-base-entity-default-property-data-type-ref-id",type:r.GenericReference,entityId:"relational-database-built-in-base-entity-default-property-data-type-id",entityType:r.DataType},vf={id:"relational-database-built-in-base-entity-default-property-ref-id",type:r.GenericReference,entityId:jt.properties.default,entityType:r.Property},yI={id:"relational-database-built-in-base-entity-default-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Fn,asType:!1,defaultValue:{id:"relational-database-built-in-base-entity-default-property-default-value-id",type:r.PrimitiveValue,version:1,name:g.Boolean,value:!1,parent:bf,autogeneration:null,valueAsType:null},parent:vf},gf={required:!0,id:jt.properties.default,name:"Default",version:1,type:r.Property,private:!1,abstract:!0,static:!0,implements:null,index:4,dataType:yI,description:"If true, this database will be the default database for the server instance and all the new entities.",parent:Cr},bn={id:_.RELATIONAL_DATABASE,version:1,description:"This entity provisions a relational database in the cloud.",name:_.RELATIONAL_DATABASE,type:r.BuiltInBaseEntity,abstract:!0,static:!0,interactive:!1,properties:[Ca,Ba,wa,_a,gf],abstractMethods:[],methods:[],extends:[]},If={type:r.GenericReference,entityId:"persisted-built-in-base-entity-ref-id",entityType:r.BuiltInBaseEntity,id:It.DeletePersistedEntity},jo={type:r.FunctionDeclaration,id:It.DeletePersistedEntity,name:It.DeletePersistedEntity,description:"Permanently deletes the current copy of an entity from the database",version:1,parent:If,inputs:[],calls:[],implements:null,collapsed:!1,returnStatements:[],index:0,private:!1,x:0,y:0},Pf={type:r.GenericReference,entityId:"persisted-built-in-base-entity-ref-id",entityType:r.BuiltInBaseEntity,id:It.SoftDeletePersistedEntity},Df={type:r.FunctionDeclaration,id:It.SoftDeletePersistedEntity,name:It.SoftDeletePersistedEntity,description:"Designates the entity as deleted, but does not remove it from the database.",version:1,parent:Pf,inputs:[],calls:[],implements:null,collapsed:!1,returnStatements:[],index:0,private:!1,x:0,y:0},Af=Ve[r.BuiltInBaseEntity][_.PERSISTED_ENTITY].properties,hI={id:"persisted-built-in-base-entity-database-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-database-property-data-type-id",entityType:r.DataType},Sf={id:"persisted-built-in-base-entity-database-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-database-property-id",entityType:r.Property},fI={id:"persisted-built-in-base-entity-database-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:bn,asType:!1,defaultValue:null,parent:Sf},Of={id:"persisted-built-in-base-entity-database-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},mi={required:!0,id:Af.database,name:"Database",version:1,type:r.Property,private:!1,abstract:!0,implements:null,static:!0,index:0,dataType:fI,description:"The database that the entity belongs to.",parent:Of},Cf={id:"persisted-built-in-base-entity-identifier-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-identifier-property-data-type-id",entityType:r.DataType},Bf={id:"persisted-built-in-base-entity-identifier-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-identifier-property-id",entityType:r.Property},mI={id:"persisted-built-in-base-entity-identifier-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:ma,asType:!1,defaultValue:{id:"persisted-built-in-base-entity-identifier-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.UUID,value:null,parent:Cf,autogeneration:{type:xe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:Bf},wf={id:"persisted-built-in-base-entity-identifier-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},_f={required:!0,id:Af.identifier,name:"Identifier",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:mI,description:"Auto-generated unique identifier for the entity, can be used to identify the entity among other entities of the same type.",parent:wf},TI={id:"persisted-built-in-base-entity-deleted-at-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-deleted-at-property-data-type-id",entityType:r.DataType},Mf={id:"persisted-built-in-base-entity-deleted-at-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-deleted-at-property-id",entityType:r.Property},Nf={id:"persisted-built-in-base-entity-deleted-at-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!0,constant:!1,entity:null,asType:!1,defaultValue:null,parent:Mf},$f={id:"persisted-built-in-base-entity-deleted-at-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},Vf={required:!0,id:"persisted-built-in-base-entity-deleted-at-property-id",name:"Deleted at",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:Nf,description:"The date and time when the entity was deleted.",parent:$f},EI={id:"persisted-built-in-base-entity-created-at-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-created-at-property-data-type-id",entityType:r.DataType},Lf={id:"persisted-built-in-base-entity-created-at-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-created-at-property-id",entityType:r.Property},Gf={id:"persisted-built-in-base-entity-created-at-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:Lf},Ff={id:"persisted-built-in-base-entity-created-at-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},Uf={required:!0,id:"persisted-built-in-base-entity-created-at-property-id",name:"Created at",version:1,type:r.Property,private:!1,abstract:!1,implements:null,static:!1,index:0,dataType:Gf,description:"The date and time when the entity was created.",parent:Ff},RI={id:"persisted-built-in-base-entity-updated-at-property-data-type-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-updated-at-property-data-type-id",entityType:r.DataType},xf={id:"persisted-built-in-base-entity-updated-at-property-ref-id",type:r.GenericReference,entityId:"persisted-built-in-base-entity-updated-at-property-id",entityType:r.Property},jf={id:"persisted-built-in-base-entity-updated-at-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:xf},kf={id:"persisted-built-in-base-entity-updated-at-property-parent-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},qf={required:!0,id:"persisted-built-in-base-entity-updated-at-property-id",name:"Updated at",version:1,type:r.Property,private:!1,implements:null,abstract:!1,static:!1,index:0,dataType:jf,description:"The date and time when the entity was last updated.",parent:kf},Be={id:_.PERSISTED_ENTITY,version:1,description:"An entity that is permanently stored in the database and can be accessed at any point.",name:_.PERSISTED_ENTITY,type:r.BuiltInBaseEntity,abstract:!0,static:!1,interactive:!0,abstractMethods:[],properties:[mi,_f,Vf,Uf,qf],methods:[jo,Df],extends:[]},Jf={id:"cron-job-triggered-function-declaration-blueprint-parent-ref-id",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},ko={id:"cron-job-triggered-function-declaration-blueprint-id",name:"Cron job triggered",version:1,type:r.ActionDescriptor,argumentsType:L.None,returnsType:L.None,description:"Executed when the cron job is triggered",fixedArguments:[],dynamicArgumentTypes:null,error:null,fixedReturns:[],dynamicReturnTypes:null,parent:Jf},Wf=Ve[r.BuiltInBaseEntity].BUILT_IN_CRON_JOB_ENTITY,bI={id:"cron-job-built-in-base-entity-expression-property-data-type-ref",type:r.GenericReference,entityId:"cron-job-built-in-base-entity-expression-property-data-type",entityType:r.DataType},Hf={id:"cron-job-built-in-base-entity-expression-property-ref",type:r.GenericReference,entityId:Wf.properties.expression,entityType:r.Property},vI={id:"cron-job-built-in-base-entity-expression-property-data-type",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:Hf},Yf={id:"cron-job-built-in-base-entity-ref",type:r.GenericReference,entityId:_.CRON_JOB,entityType:r.BuiltInBaseEntity},zf={required:!0,id:Wf.properties.expression,name:"Cron expression",version:1,type:r.Property,private:!1,abstract:!0,implements:null,static:!0,index:0,dataType: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:Yf},qo={id:_.CRON_JOB,version:1,description:"This entity represents a scheduled trigger. The action on this entity will be executed one the time set by the cron-job expression is reached.",name:_.CRON_JOB,type:r.BuiltInBaseEntity,abstract:!0,static:!0,interactive:!1,properties:[zf],methods:[],abstractMethods:[ko],extends:[]},Zf={type:r.GenericReference,id:"execution-built-in-entity-abort-method-parent-ref-id",entityType:r.BuiltInBaseEntity,entityId:"execution-built-in-entity-id"},Jo={id:"execution-built-in-entity-abort-method-id",type:r.FunctionDeclaration,version:1,name:It.AbortExecution,description:"Aborts the execution of the entity",inputs:[],returnStatements:[],calls:[],implements:null,private:!1,collapsed:!1,index:null,x:0,y:0,parent:Zf},Wo={id:_.EXECUTION,type:r.BuiltInBaseEntity,version:1,name:_.EXECUTION,description:"A reference to an ongoing execution of any entity that can be called. Eg: Operations, custom trigger calls, etc.",static:!1,abstract:!1,interactive:!0,extends:[],properties:[],methods:[Jo],abstractMethods:[]},gI=Ve[r.Condition]["not-empty"],Xf={type:r.GenericReference,id:"not-empty-condition-ref",entityType:r.ActionDescriptor,entityId:Ct.NotEmpty},Qf={id:gI.inputs.leftHand,type:r.ValueDescriptor,version:1,name:"Value",description:"The value to check if it is not empty",dataType:null,required:!0,parentRelationType:C.FixedArguments,index:0,parent:Xf},kn={type:r.ActionDescriptor,id:Ct.NotEmpty,version:1,name:Ct.NotEmpty,description:"Checks if the value is not empty",parent:null,fixedArguments:[Qf],fixedReturns:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:L.Fixed,returnsType:L.None,error:null},Kf={[Ct.NotEmpty]:kn},em=Ve[r.Condition]["more-than-or-equal"],tm={type:r.GenericReference,id:"more-than-or-equal-condition-left-hand-argument-parent-ref",entityType:r.ActionDescriptor,entityId:Ae.MoreThanOrEqual},nm={id:em.inputs.leftHand,type:r.ValueDescriptor,version:1,name:"First value",description:"The first value to compare",dataType:null,required:!0,parentRelationType:C.FixedArguments,index:0,parent:tm},rm={type:r.GenericReference,id:"more-than-or-equal-condition-right-hand-argument-parent-ref",entityType:r.ActionDescriptor,entityId:Ae.MoreThanOrEqual},im={id:em.inputs.rightHand,type:r.ValueDescriptor,version:1,name:"Second value",description:"The second value to compare",dataType:null,required:!0,parentRelationType:C.FixedArguments,index:1,parent:rm},Br={type:r.ActionDescriptor,id:Ae.MoreThanOrEqual,version:1,name:Ae.MoreThanOrEqual,description:"Checks if the value is not empty",parent:null,fixedArguments:[nm,im],fixedReturns:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:L.Fixed,returnsType:L.None,error:null},am={[Ae.MoreThanOrEqual]:Br},II={...Kf,...am},Ma={type:r.ActionDescriptor,id:Kt.PROJECT_PUBLICATION_COMPLETED,version:1,name:Kt.PROJECT_PUBLICATION_COMPLETED,description:"The event that is triggered when the project has completed its publication and all its code and resurces are now deployed and ready to be used by the users",parent:null,fixedArguments:[],fixedReturns:[],dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:L.None,returnsType:L.None,error:null},PI={[Kt.PROJECT_PUBLICATION_COMPLETED]:Ma},Ho=Ve[r.ValueDescriptor][No.ActionOngoingProcessOutputValue],sm={type:r.GenericReference,id:"182f767f-50e8-4394-ba5f-43e78c232733",entityType:r.ValueDescriptor,entityId:Ho.id},om={id:Ho.dataType.id,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Wo,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:sm},Yo={id:Ho.id,type:r.ValueDescriptor,description:"A value that represents the ongoing process of the parent action",version:1,name:"Process",dataType:om,required:!0,index:0,parent:null,parentRelationType:C.OngoingProcessExecution};var z;(function(n){n.assertEqual=a=>a;function e(a){}n.assertIs=e;function t(a){throw new Error}n.assertNever=t,n.arrayToEnum=a=>{const s={};for(const o of a)s[o]=o;return s},n.getValidEnumValues=a=>{const s=n.objectKeys(a).filter(u=>typeof a[a[u]]!="number"),o={};for(const u of s)o[u]=a[u];return n.objectValues(o)},n.objectValues=a=>n.objectKeys(a).map(function(s){return a[s]}),n.objectKeys=typeof Object.keys=="function"?a=>Object.keys(a):a=>{const s=[];for(const o in a)Object.prototype.hasOwnProperty.call(a,o)&&s.push(o);return s},n.find=(a,s)=>{for(const o of a)if(s(o))return o},n.isInteger=typeof Number.isInteger=="function"?a=>Number.isInteger(a):a=>typeof a=="number"&&isFinite(a)&&Math.floor(a)===a;function i(a,s=" | "){return a.map(o=>typeof o=="string"?`'${o}'`:o).join(s)}n.joinValues=i,n.jsonStringifyReplacer=(a,s)=>typeof s=="bigint"?s.toString():s})(z||(z={}));var zo;(function(n){n.mergeShapes=(e,t)=>({...e,...t})})(zo||(zo={}));const M=z.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),vn=n=>{switch(typeof n){case"undefined":return M.undefined;case"string":return M.string;case"number":return isNaN(n)?M.nan:M.number;case"boolean":return M.boolean;case"function":return M.function;case"bigint":return M.bigint;case"symbol":return M.symbol;case"object":return Array.isArray(n)?M.array:n===null?M.null:n.then&&typeof n.then=="function"&&n.catch&&typeof n.catch=="function"?M.promise:typeof Map<"u"&&n instanceof Map?M.map:typeof Set<"u"&&n instanceof Set?M.set:typeof Date<"u"&&n instanceof Date?M.date:M.object;default:return M.unknown}},P=z.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"]),DI=n=>JSON.stringify(n,null,2).replace(/"([^"]+)":/g,"$1:");class ft extends Error{constructor(e){super(),this.issues=[],this.addIssue=i=>{this.issues=[...this.issues,i]},this.addIssues=(i=[])=>{this.issues=[...this.issues,...i]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(s){return s.message},i={_errors:[]},a=s=>{for(const o of s.issues)if(o.code==="invalid_union")o.unionErrors.map(a);else if(o.code==="invalid_return_type")a(o.returnTypeError);else if(o.code==="invalid_arguments")a(o.argumentsError);else if(o.path.length===0)i._errors.push(t(o));else{let u=i,p=0;for(;p<o.path.length;){const h=o.path[p];p===o.path.length-1?(u[h]=u[h]||{_errors:[]},u[h]._errors.push(t(o))):u[h]=u[h]||{_errors:[]},u=u[h],p++}}};return a(this),i}static assert(e){if(!(e instanceof ft))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,z.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},i=[];for(const a of this.issues)a.path.length>0?(t[a.path[0]]=t[a.path[0]]||[],t[a.path[0]].push(e(a))):i.push(e(a));return{formErrors:i,fieldErrors:t}}get formErrors(){return this.flatten()}}ft.create=n=>new ft(n);const wr=(n,e)=>{let t;switch(n.code){case P.invalid_type:n.received===M.undefined?t="Required":t=`Expected ${n.expected}, received ${n.received}`;break;case P.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(n.expected,z.jsonStringifyReplacer)}`;break;case P.unrecognized_keys:t=`Unrecognized key(s) in object: ${z.joinValues(n.keys,", ")}`;break;case P.invalid_union:t="Invalid input";break;case P.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${z.joinValues(n.options)}`;break;case P.invalid_enum_value:t=`Invalid enum value. Expected ${z.joinValues(n.options)}, received '${n.received}'`;break;case P.invalid_arguments:t="Invalid function arguments";break;case P.invalid_return_type:t="Invalid function return type";break;case P.invalid_date:t="Invalid date";break;case P.invalid_string:typeof n.validation=="object"?"includes"in n.validation?(t=`Invalid input: must include "${n.validation.includes}"`,typeof n.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${n.validation.position}`)):"startsWith"in n.validation?t=`Invalid input: must start with "${n.validation.startsWith}"`:"endsWith"in n.validation?t=`Invalid input: must end with "${n.validation.endsWith}"`:z.assertNever(n.validation):n.validation!=="regex"?t=`Invalid ${n.validation}`:t="Invalid";break;case P.too_small:n.type==="array"?t=`Array must contain ${n.exact?"exactly":n.inclusive?"at least":"more than"} ${n.minimum} element(s)`:n.type==="string"?t=`String must contain ${n.exact?"exactly":n.inclusive?"at least":"over"} ${n.minimum} character(s)`:n.type==="number"?t=`Number must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${n.minimum}`:n.type==="date"?t=`Date must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(n.minimum))}`:t="Invalid input";break;case P.too_big:n.type==="array"?t=`Array must contain ${n.exact?"exactly":n.inclusive?"at most":"less than"} ${n.maximum} element(s)`:n.type==="string"?t=`String must contain ${n.exact?"exactly":n.inclusive?"at most":"under"} ${n.maximum} character(s)`:n.type==="number"?t=`Number must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`:n.type==="bigint"?t=`BigInt must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`:n.type==="date"?t=`Date must be ${n.exact?"exactly":n.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(n.maximum))}`:t="Invalid input";break;case P.custom:t="Invalid input";break;case P.invalid_intersection_types:t="Intersection results could not be merged";break;case P.not_multiple_of:t=`Number must be a multiple of ${n.multipleOf}`;break;case P.not_finite:t="Number must be finite";break;default:t=e.defaultError,z.assertNever(n)}return{message:t}};let lm=wr;function AI(n){lm=n}function Na(){return lm}const $a=n=>{const{data:e,path:t,errorMaps:i,issueData:a}=n,s=[...t,...a.path||[]],o={...a,path:s};if(a.message!==void 0)return{...a,path:s,message:a.message};let u="";const p=i.filter(h=>!!h).slice().reverse();for(const h of p)u=h(o,{data:e,defaultError:u}).message;return{...a,path:s,message:u}},SI=[];function w(n,e){const t=Na(),i=$a({issueData:e,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,t,t===wr?void 0:wr].filter(a=>!!a)});n.common.issues.push(i)}class Qe{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const i=[];for(const a of t){if(a.status==="aborted")return x;a.status==="dirty"&&e.dirty(),i.push(a.value)}return{status:e.value,value:i}}static async mergeObjectAsync(e,t){const i=[];for(const a of t){const s=await a.key,o=await a.value;i.push({key:s,value:o})}return Qe.mergeObjectSync(e,i)}static mergeObjectSync(e,t){const i={};for(const a of t){const{key:s,value:o}=a;if(s.status==="aborted"||o.status==="aborted")return x;s.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof o.value<"u"||a.alwaysSet)&&(i[s.value]=o.value)}return{status:e.value,value:i}}}const x=Object.freeze({status:"aborted"}),_r=n=>({status:"dirty",value:n}),lt=n=>({status:"valid",value:n}),Zo=n=>n.status==="aborted",Xo=n=>n.status==="dirty",Ti=n=>n.status==="valid",Ei=n=>typeof Promise<"u"&&n instanceof Promise;function Va(n,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!i:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(n):i?i.value:e.get(n)}function cm(n,e,t,i,a){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!a:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?a.call(n,t):a?a.value=t:e.set(n,t),t}typeof SuppressedError=="function"&&SuppressedError;var V;(function(n){n.errToObj=e=>typeof e=="string"?{message:e}:e||{},n.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(V||(V={}));var Ri,bi;class kt{constructor(e,t,i,a){this._cachedPath=[],this.parent=e,this.data=t,this._path=i,this._key=a}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const dm=(n,e)=>{if(Ti(e))return{success:!0,data:e.value};if(!n.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new ft(n.common.issues);return this._error=t,this._error}}};function q(n){if(!n)return{};const{errorMap:e,invalid_type_error:t,required_error:i,description:a}=n;if(e&&(t||i))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:a}:{errorMap:(o,u)=>{var p,h;const{message:m}=n;return o.code==="invalid_enum_value"?{message:m??u.defaultError}:typeof u.data>"u"?{message:(p=m??i)!==null&&p!==void 0?p:u.defaultError}:o.code!=="invalid_type"?{message:u.defaultError}:{message:(h=m??t)!==null&&h!==void 0?h:u.defaultError}},description:a}}class H{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return vn(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:vn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Qe,ctx:{common:e.parent.common,data:e.data,parsedType:vn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(Ei(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const i=this.safeParse(e,t);if(i.success)return i.data;throw i.error}safeParse(e,t){var i;const a={common:{issues:[],async:(i=t==null?void 0:t.async)!==null&&i!==void 0?i:!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:vn(e)},s=this._parseSync({data:e,path:a.path,parent:a});return dm(a,s)}async parseAsync(e,t){const i=await this.safeParseAsync(e,t);if(i.success)return i.data;throw i.error}async safeParseAsync(e,t){const i={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:vn(e)},a=this._parse({data:e,path:i.path,parent:i}),s=await(Ei(a)?a:Promise.resolve(a));return dm(i,s)}refine(e,t){const i=a=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(a):t;return this._refinement((a,s)=>{const o=e(a),u=()=>s.addIssue({code:P.custom,...i(a)});return typeof Promise<"u"&&o instanceof Promise?o.then(p=>p?!0:(u(),!1)):o?!0:(u(),!1)})}refinement(e,t){return this._refinement((i,a)=>e(i)?!0:(a.addIssue(typeof t=="function"?t(i,a):t),!1))}_refinement(e){return new Gt({schema:this,typeName:U.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return Jt.create(this,this._def)}nullable(){return Dn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Lt.create(this,this._def)}promise(){return Vr.create(this,this._def)}or(e){return Pi.create([this,e],this._def)}and(e){return Di.create(this,e,this._def)}transform(e){return new Gt({...q(this._def),schema:this,typeName:U.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new Bi({...q(this._def),innerType:this,defaultValue:t,typeName:U.ZodDefault})}brand(){return new el({typeName:U.ZodBranded,type:this,...q(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new wi({...q(this._def),innerType:this,catchValue:t,typeName:U.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return _i.create(this,e)}readonly(){return Mi.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const OI=/^c[^\s-]{8,}$/i,CI=/^[0-9a-z]+$/,BI=/^[0-9A-HJKMNP-TV-Z]{26}$/,wI=/^[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,_I=/^[a-z0-9_-]{21}$/i,MI=/^[-+]?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)?)??$/,NI=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,$I="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Qo;const VI=/^(?:(?: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])$/,LI=/^(([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})))$/,GI=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,um="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",FI=new RegExp(`^${um}$`);function pm(n){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return n.precision?e=`${e}\\.\\d{${n.precision}}`:n.precision==null&&(e=`${e}(\\.\\d+)?`),e}function UI(n){return new RegExp(`^${pm(n)}$`)}function ym(n){let e=`${um}T${pm(n)}`;const t=[];return t.push(n.local?"Z?":"Z"),n.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function xI(n,e){return!!((e==="v4"||!e)&&VI.test(n)||(e==="v6"||!e)&&LI.test(n))}class Vt extends H{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==M.string){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_type,expected:M.string,received:s.parsedType}),x}const i=new Qe;let a;for(const s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(a=this._getOrReturnCtx(e,a),w(a,{code:P.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),i.dirty());else if(s.kind==="max")e.data.length>s.value&&(a=this._getOrReturnCtx(e,a),w(a,{code:P.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),i.dirty());else if(s.kind==="length"){const o=e.data.length>s.value,u=e.data.length<s.value;(o||u)&&(a=this._getOrReturnCtx(e,a),o?w(a,{code:P.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):u&&w(a,{code:P.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),i.dirty())}else if(s.kind==="email")NI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"email",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="emoji")Qo||(Qo=new RegExp($I,"u")),Qo.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"emoji",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="uuid")wI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"uuid",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="nanoid")_I.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"nanoid",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="cuid")OI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"cuid",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="cuid2")CI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"cuid2",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="ulid")BI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"ulid",code:P.invalid_string,message:s.message}),i.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{a=this._getOrReturnCtx(e,a),w(a,{validation:"url",code:P.invalid_string,message:s.message}),i.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"regex",code:P.invalid_string,message:s.message}),i.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),i.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:{startsWith:s.value},message:s.message}),i.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:{endsWith:s.value},message:s.message}),i.dirty()):s.kind==="datetime"?ym(s).test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:"datetime",message:s.message}),i.dirty()):s.kind==="date"?FI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:"date",message:s.message}),i.dirty()):s.kind==="time"?UI(s).test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{code:P.invalid_string,validation:"time",message:s.message}),i.dirty()):s.kind==="duration"?MI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"duration",code:P.invalid_string,message:s.message}),i.dirty()):s.kind==="ip"?xI(e.data,s.version)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"ip",code:P.invalid_string,message:s.message}),i.dirty()):s.kind==="base64"?GI.test(e.data)||(a=this._getOrReturnCtx(e,a),w(a,{validation:"base64",code:P.invalid_string,message:s.message}),i.dirty()):z.assertNever(s);return{status:i.value,value:e.data}}_regex(e,t,i){return this.refinement(a=>e.test(a),{validation:t,code:P.invalid_string,...V.errToObj(i)})}_addCheck(e){return new Vt({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...V.errToObj(e)})}url(e){return this._addCheck({kind:"url",...V.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...V.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...V.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...V.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...V.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...V.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...V.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...V.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...V.errToObj(e)})}datetime(e){var t,i;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(t=e==null?void 0:e.offset)!==null&&t!==void 0?t:!1,local:(i=e==null?void 0:e.local)!==null&&i!==void 0?i:!1,...V.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...V.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...V.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...V.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...V.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...V.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...V.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...V.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...V.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...V.errToObj(t)})}nonempty(e){return this.min(1,V.errToObj(e))}trim(){return new Vt({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Vt({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Vt({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get minLength(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}Vt.create=n=>{var e;return new Vt({checks:[],typeName:U.ZodString,coerce:(e=n==null?void 0:n.coerce)!==null&&e!==void 0?e:!1,...q(n)})};function jI(n,e){const t=(n.toString().split(".")[1]||"").length,i=(e.toString().split(".")[1]||"").length,a=t>i?t:i,s=parseInt(n.toFixed(a).replace(".","")),o=parseInt(e.toFixed(a).replace(".",""));return s%o/Math.pow(10,a)}class gn extends H{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==M.number){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_type,expected:M.number,received:s.parsedType}),x}let i;const a=new Qe;for(const s of this._def.checks)s.kind==="int"?z.isInteger(e.data)||(i=this._getOrReturnCtx(e,i),w(i,{code:P.invalid_type,expected:"integer",received:"float",message:s.message}),a.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),a.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),a.dirty()):s.kind==="multipleOf"?jI(e.data,s.value)!==0&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.not_multiple_of,multipleOf:s.value,message:s.message}),a.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(i=this._getOrReturnCtx(e,i),w(i,{code:P.not_finite,message:s.message}),a.dirty()):z.assertNever(s);return{status:a.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,V.toString(t))}gt(e,t){return this.setLimit("min",e,!1,V.toString(t))}lte(e,t){return this.setLimit("max",e,!0,V.toString(t))}lt(e,t){return this.setLimit("max",e,!1,V.toString(t))}setLimit(e,t,i,a){return new gn({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:i,message:V.toString(a)}]})}_addCheck(e){return new gn({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:V.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:V.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:V.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:V.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:V.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:V.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&z.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const i of this._def.checks){if(i.kind==="finite"||i.kind==="int"||i.kind==="multipleOf")return!0;i.kind==="min"?(t===null||i.value>t)&&(t=i.value):i.kind==="max"&&(e===null||i.value<e)&&(e=i.value)}return Number.isFinite(t)&&Number.isFinite(e)}}gn.create=n=>new gn({checks:[],typeName:U.ZodNumber,coerce:(n==null?void 0:n.coerce)||!1,...q(n)});class In extends H{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==M.bigint){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_type,expected:M.bigint,received:s.parsedType}),x}let i;const a=new Qe;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),a.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),a.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(i=this._getOrReturnCtx(e,i),w(i,{code:P.not_multiple_of,multipleOf:s.value,message:s.message}),a.dirty()):z.assertNever(s);return{status:a.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,V.toString(t))}gt(e,t){return this.setLimit("min",e,!1,V.toString(t))}lte(e,t){return this.setLimit("max",e,!0,V.toString(t))}lt(e,t){return this.setLimit("max",e,!1,V.toString(t))}setLimit(e,t,i,a){return new In({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:i,message:V.toString(a)}]})}_addCheck(e){return new In({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:V.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:V.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}In.create=n=>{var e;return new In({checks:[],typeName:U.ZodBigInt,coerce:(e=n==null?void 0:n.coerce)!==null&&e!==void 0?e:!1,...q(n)})};class vi extends H{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==M.boolean){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.boolean,received:i.parsedType}),x}return lt(e.data)}}vi.create=n=>new vi({typeName:U.ZodBoolean,coerce:(n==null?void 0:n.coerce)||!1,...q(n)});class qn extends H{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==M.date){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_type,expected:M.date,received:s.parsedType}),x}if(isNaN(e.data.getTime())){const s=this._getOrReturnCtx(e);return w(s,{code:P.invalid_date}),x}const i=new Qe;let a;for(const s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(a=this._getOrReturnCtx(e,a),w(a,{code:P.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),i.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(a=this._getOrReturnCtx(e,a),w(a,{code:P.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),i.dirty()):z.assertNever(s);return{status:i.value,value:new Date(e.data.getTime())}}_addCheck(e){return new qn({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:V.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:V.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}}qn.create=n=>new qn({checks:[],coerce:(n==null?void 0:n.coerce)||!1,typeName:U.ZodDate,...q(n)});class La extends H{_parse(e){if(this._getType(e)!==M.symbol){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.symbol,received:i.parsedType}),x}return lt(e.data)}}La.create=n=>new La({typeName:U.ZodSymbol,...q(n)});class gi extends H{_parse(e){if(this._getType(e)!==M.undefined){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.undefined,received:i.parsedType}),x}return lt(e.data)}}gi.create=n=>new gi({typeName:U.ZodUndefined,...q(n)});class Ii extends H{_parse(e){if(this._getType(e)!==M.null){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.null,received:i.parsedType}),x}return lt(e.data)}}Ii.create=n=>new Ii({typeName:U.ZodNull,...q(n)});class Mr extends H{constructor(){super(...arguments),this._any=!0}_parse(e){return lt(e.data)}}Mr.create=n=>new Mr({typeName:U.ZodAny,...q(n)});class Jn extends H{constructor(){super(...arguments),this._unknown=!0}_parse(e){return lt(e.data)}}Jn.create=n=>new Jn({typeName:U.ZodUnknown,...q(n)});class nn extends H{_parse(e){const t=this._getOrReturnCtx(e);return w(t,{code:P.invalid_type,expected:M.never,received:t.parsedType}),x}}nn.create=n=>new nn({typeName:U.ZodNever,...q(n)});class Ga extends H{_parse(e){if(this._getType(e)!==M.undefined){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.void,received:i.parsedType}),x}return lt(e.data)}}Ga.create=n=>new Ga({typeName:U.ZodVoid,...q(n)});class Lt extends H{_parse(e){const{ctx:t,status:i}=this._processInputParams(e),a=this._def;if(t.parsedType!==M.array)return w(t,{code:P.invalid_type,expected:M.array,received:t.parsedType}),x;if(a.exactLength!==null){const o=t.data.length>a.exactLength.value,u=t.data.length<a.exactLength.value;(o||u)&&(w(t,{code:o?P.too_big:P.too_small,minimum:u?a.exactLength.value:void 0,maximum:o?a.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:a.exactLength.message}),i.dirty())}if(a.minLength!==null&&t.data.length<a.minLength.value&&(w(t,{code:P.too_small,minimum:a.minLength.value,type:"array",inclusive:!0,exact:!1,message:a.minLength.message}),i.dirty()),a.maxLength!==null&&t.data.length>a.maxLength.value&&(w(t,{code:P.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),i.dirty()),t.common.async)return Promise.all([...t.data].map((o,u)=>a.type._parseAsync(new kt(t,o,t.path,u)))).then(o=>Qe.mergeArray(i,o));const s=[...t.data].map((o,u)=>a.type._parseSync(new kt(t,o,t.path,u)));return Qe.mergeArray(i,s)}get element(){return this._def.type}min(e,t){return new Lt({...this._def,minLength:{value:e,message:V.toString(t)}})}max(e,t){return new Lt({...this._def,maxLength:{value:e,message:V.toString(t)}})}length(e,t){return new Lt({...this._def,exactLength:{value:e,message:V.toString(t)}})}nonempty(e){return this.min(1,e)}}Lt.create=(n,e)=>new Lt({type:n,minLength:null,maxLength:null,exactLength:null,typeName:U.ZodArray,...q(e)});function Nr(n){if(n instanceof we){const e={};for(const t in n.shape){const i=n.shape[t];e[t]=Jt.create(Nr(i))}return new we({...n._def,shape:()=>e})}else return n instanceof Lt?new Lt({...n._def,type:Nr(n.element)}):n instanceof Jt?Jt.create(Nr(n.unwrap())):n instanceof Dn?Dn.create(Nr(n.unwrap())):n instanceof qt?qt.create(n.items.map(e=>Nr(e))):n}class we extends H{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=z.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==M.object){const h=this._getOrReturnCtx(e);return w(h,{code:P.invalid_type,expected:M.object,received:h.parsedType}),x}const{status:i,ctx:a}=this._processInputParams(e),{shape:s,keys:o}=this._getCached(),u=[];if(!(this._def.catchall instanceof nn&&this._def.unknownKeys==="strip"))for(const h in a.data)o.includes(h)||u.push(h);const p=[];for(const h of o){const m=s[h],T=a.data[h];p.push({key:{status:"valid",value:h},value:m._parse(new kt(a,T,a.path,h)),alwaysSet:h in a.data})}if(this._def.catchall instanceof nn){const h=this._def.unknownKeys;if(h==="passthrough")for(const m of u)p.push({key:{status:"valid",value:m},value:{status:"valid",value:a.data[m]}});else if(h==="strict")u.length>0&&(w(a,{code:P.unrecognized_keys,keys:u}),i.dirty());else if(h!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const h=this._def.catchall;for(const m of u){const T=a.data[m];p.push({key:{status:"valid",value:m},value:h._parse(new kt(a,T,a.path,m)),alwaysSet:m in a.data})}}return a.common.async?Promise.resolve().then(async()=>{const h=[];for(const m of p){const T=await m.key,b=await m.value;h.push({key:T,value:b,alwaysSet:m.alwaysSet})}return h}).then(h=>Qe.mergeObjectSync(i,h)):Qe.mergeObjectSync(i,p)}get shape(){return this._def.shape()}strict(e){return V.errToObj,new we({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,i)=>{var a,s,o,u;const p=(o=(s=(a=this._def).errorMap)===null||s===void 0?void 0:s.call(a,t,i).message)!==null&&o!==void 0?o:i.defaultError;return t.code==="unrecognized_keys"?{message:(u=V.errToObj(e).message)!==null&&u!==void 0?u:p}:{message:p}}}:{}})}strip(){return new we({...this._def,unknownKeys:"strip"})}passthrough(){return new we({...this._def,unknownKeys:"passthrough"})}extend(e){return new we({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new we({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:U.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new we({...this._def,catchall:e})}pick(e){const t={};return z.objectKeys(e).forEach(i=>{e[i]&&this.shape[i]&&(t[i]=this.shape[i])}),new we({...this._def,shape:()=>t})}omit(e){const t={};return z.objectKeys(this.shape).forEach(i=>{e[i]||(t[i]=this.shape[i])}),new we({...this._def,shape:()=>t})}deepPartial(){return Nr(this)}partial(e){const t={};return z.objectKeys(this.shape).forEach(i=>{const a=this.shape[i];e&&!e[i]?t[i]=a:t[i]=a.optional()}),new we({...this._def,shape:()=>t})}required(e){const t={};return z.objectKeys(this.shape).forEach(i=>{if(e&&!e[i])t[i]=this.shape[i];else{let s=this.shape[i];for(;s instanceof Jt;)s=s._def.innerType;t[i]=s}}),new we({...this._def,shape:()=>t})}keyof(){return hm(z.objectKeys(this.shape))}}we.create=(n,e)=>new we({shape:()=>n,unknownKeys:"strip",catchall:nn.create(),typeName:U.ZodObject,...q(e)}),we.strictCreate=(n,e)=>new we({shape:()=>n,unknownKeys:"strict",catchall:nn.create(),typeName:U.ZodObject,...q(e)}),we.lazycreate=(n,e)=>new we({shape:n,unknownKeys:"strip",catchall:nn.create(),typeName:U.ZodObject,...q(e)});class Pi extends H{_parse(e){const{ctx:t}=this._processInputParams(e),i=this._def.options;function a(s){for(const u of s)if(u.result.status==="valid")return u.result;for(const u of s)if(u.result.status==="dirty")return t.common.issues.push(...u.ctx.common.issues),u.result;const o=s.map(u=>new ft(u.ctx.common.issues));return w(t,{code:P.invalid_union,unionErrors:o}),x}if(t.common.async)return Promise.all(i.map(async s=>{const o={...t,common:{...t.common,issues:[]},parent:null};return{result:await s._parseAsync({data:t.data,path:t.path,parent:o}),ctx:o}})).then(a);{let s;const o=[];for(const p of i){const h={...t,common:{...t.common,issues:[]},parent:null},m=p._parseSync({data:t.data,path:t.path,parent:h});if(m.status==="valid")return m;m.status==="dirty"&&!s&&(s={result:m,ctx:h}),h.common.issues.length&&o.push(h.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;const u=o.map(p=>new ft(p));return w(t,{code:P.invalid_union,unionErrors:u}),x}}get options(){return this._def.options}}Pi.create=(n,e)=>new Pi({options:n,typeName:U.ZodUnion,...q(e)});const rn=n=>n instanceof Si?rn(n.schema):n instanceof Gt?rn(n.innerType()):n instanceof Oi?[n.value]:n instanceof Pn?n.options:n instanceof Ci?z.objectValues(n.enum):n instanceof Bi?rn(n._def.innerType):n instanceof gi?[void 0]:n instanceof Ii?[null]:n instanceof Jt?[void 0,...rn(n.unwrap())]:n instanceof Dn?[null,...rn(n.unwrap())]:n instanceof el||n instanceof Mi?rn(n.unwrap()):n instanceof wi?rn(n._def.innerType):[];class Fa extends H{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==M.object)return w(t,{code:P.invalid_type,expected:M.object,received:t.parsedType}),x;const i=this.discriminator,a=t.data[i],s=this.optionsMap.get(a);return s?t.common.async?s._parseAsync({data:t.data,path:t.path,parent:t}):s._parseSync({data:t.data,path:t.path,parent:t}):(w(t,{code:P.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[i]}),x)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,i){const a=new Map;for(const s of t){const o=rn(s.shape[e]);if(!o.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const u of o){if(a.has(u))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(u)}`);a.set(u,s)}}return new Fa({typeName:U.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:a,...q(i)})}}function Ko(n,e){const t=vn(n),i=vn(e);if(n===e)return{valid:!0,data:n};if(t===M.object&&i===M.object){const a=z.objectKeys(e),s=z.objectKeys(n).filter(u=>a.indexOf(u)!==-1),o={...n,...e};for(const u of s){const p=Ko(n[u],e[u]);if(!p.valid)return{valid:!1};o[u]=p.data}return{valid:!0,data:o}}else if(t===M.array&&i===M.array){if(n.length!==e.length)return{valid:!1};const a=[];for(let s=0;s<n.length;s++){const o=n[s],u=e[s],p=Ko(o,u);if(!p.valid)return{valid:!1};a.push(p.data)}return{valid:!0,data:a}}else return t===M.date&&i===M.date&&+n==+e?{valid:!0,data:n}:{valid:!1}}class Di extends H{_parse(e){const{status:t,ctx:i}=this._processInputParams(e),a=(s,o)=>{if(Zo(s)||Zo(o))return x;const u=Ko(s.value,o.value);return u.valid?((Xo(s)||Xo(o))&&t.dirty(),{status:t.value,value:u.data}):(w(i,{code:P.invalid_intersection_types}),x)};return i.common.async?Promise.all([this._def.left._parseAsync({data:i.data,path:i.path,parent:i}),this._def.right._parseAsync({data:i.data,path:i.path,parent:i})]).then(([s,o])=>a(s,o)):a(this._def.left._parseSync({data:i.data,path:i.path,parent:i}),this._def.right._parseSync({data:i.data,path:i.path,parent:i}))}}Di.create=(n,e,t)=>new Di({left:n,right:e,typeName:U.ZodIntersection,...q(t)});class qt extends H{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==M.array)return w(i,{code:P.invalid_type,expected:M.array,received:i.parsedType}),x;if(i.data.length<this._def.items.length)return w(i,{code:P.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),x;!this._def.rest&&i.data.length>this._def.items.length&&(w(i,{code:P.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const s=[...i.data].map((o,u)=>{const p=this._def.items[u]||this._def.rest;return p?p._parse(new kt(i,o,i.path,u)):null}).filter(o=>!!o);return i.common.async?Promise.all(s).then(o=>Qe.mergeArray(t,o)):Qe.mergeArray(t,s)}get items(){return this._def.items}rest(e){return new qt({...this._def,rest:e})}}qt.create=(n,e)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new qt({items:n,typeName:U.ZodTuple,rest:null,...q(e)})};class Ai extends H{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==M.object)return w(i,{code:P.invalid_type,expected:M.object,received:i.parsedType}),x;const a=[],s=this._def.keyType,o=this._def.valueType;for(const u in i.data)a.push({key:s._parse(new kt(i,u,i.path,u)),value:o._parse(new kt(i,i.data[u],i.path,u)),alwaysSet:u in i.data});return i.common.async?Qe.mergeObjectAsync(t,a):Qe.mergeObjectSync(t,a)}get element(){return this._def.valueType}static create(e,t,i){return t instanceof H?new Ai({keyType:e,valueType:t,typeName:U.ZodRecord,...q(i)}):new Ai({keyType:Vt.create(),valueType:e,typeName:U.ZodRecord,...q(t)})}}class Ua extends H{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==M.map)return w(i,{code:P.invalid_type,expected:M.map,received:i.parsedType}),x;const a=this._def.keyType,s=this._def.valueType,o=[...i.data.entries()].map(([u,p],h)=>({key:a._parse(new kt(i,u,i.path,[h,"key"])),value:s._parse(new kt(i,p,i.path,[h,"value"]))}));if(i.common.async){const u=new Map;return Promise.resolve().then(async()=>{for(const p of o){const h=await p.key,m=await p.value;if(h.status==="aborted"||m.status==="aborted")return x;(h.status==="dirty"||m.status==="dirty")&&t.dirty(),u.set(h.value,m.value)}return{status:t.value,value:u}})}else{const u=new Map;for(const p of o){const h=p.key,m=p.value;if(h.status==="aborted"||m.status==="aborted")return x;(h.status==="dirty"||m.status==="dirty")&&t.dirty(),u.set(h.value,m.value)}return{status:t.value,value:u}}}}Ua.create=(n,e,t)=>new Ua({valueType:e,keyType:n,typeName:U.ZodMap,...q(t)});class Wn extends H{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==M.set)return w(i,{code:P.invalid_type,expected:M.set,received:i.parsedType}),x;const a=this._def;a.minSize!==null&&i.data.size<a.minSize.value&&(w(i,{code:P.too_small,minimum:a.minSize.value,type:"set",inclusive:!0,exact:!1,message:a.minSize.message}),t.dirty()),a.maxSize!==null&&i.data.size>a.maxSize.value&&(w(i,{code:P.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),t.dirty());const s=this._def.valueType;function o(p){const h=new Set;for(const m of p){if(m.status==="aborted")return x;m.status==="dirty"&&t.dirty(),h.add(m.value)}return{status:t.value,value:h}}const u=[...i.data.values()].map((p,h)=>s._parse(new kt(i,p,i.path,h)));return i.common.async?Promise.all(u).then(p=>o(p)):o(u)}min(e,t){return new Wn({...this._def,minSize:{value:e,message:V.toString(t)}})}max(e,t){return new Wn({...this._def,maxSize:{value:e,message:V.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Wn.create=(n,e)=>new Wn({valueType:n,minSize:null,maxSize:null,typeName:U.ZodSet,...q(e)});class $r extends H{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==M.function)return w(t,{code:P.invalid_type,expected:M.function,received:t.parsedType}),x;function i(u,p){return $a({data:u,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Na(),wr].filter(h=>!!h),issueData:{code:P.invalid_arguments,argumentsError:p}})}function a(u,p){return $a({data:u,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Na(),wr].filter(h=>!!h),issueData:{code:P.invalid_return_type,returnTypeError:p}})}const s={errorMap:t.common.contextualErrorMap},o=t.data;if(this._def.returns instanceof Vr){const u=this;return lt(async function(...p){const h=new ft([]),m=await u._def.args.parseAsync(p,s).catch(I=>{throw h.addIssue(i(p,I)),h}),T=await Reflect.apply(o,this,m);return await u._def.returns._def.type.parseAsync(T,s).catch(I=>{throw h.addIssue(a(T,I)),h})})}else{const u=this;return lt(function(...p){const h=u._def.args.safeParse(p,s);if(!h.success)throw new ft([i(p,h.error)]);const m=Reflect.apply(o,this,h.data),T=u._def.returns.safeParse(m,s);if(!T.success)throw new ft([a(m,T.error)]);return T.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new $r({...this._def,args:qt.create(e).rest(Jn.create())})}returns(e){return new $r({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,i){return new $r({args:e||qt.create([]).rest(Jn.create()),returns:t||Jn.create(),typeName:U.ZodFunction,...q(i)})}}class Si extends H{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}Si.create=(n,e)=>new Si({getter:n,typeName:U.ZodLazy,...q(e)});class Oi extends H{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return w(t,{received:t.data,code:P.invalid_literal,expected:this._def.value}),x}return{status:"valid",value:e.data}}get value(){return this._def.value}}Oi.create=(n,e)=>new Oi({value:n,typeName:U.ZodLiteral,...q(e)});function hm(n,e){return new Pn({values:n,typeName:U.ZodEnum,...q(e)})}class Pn extends H{constructor(){super(...arguments),Ri.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),i=this._def.values;return w(t,{expected:z.joinValues(i),received:t.parsedType,code:P.invalid_type}),x}if(Va(this,Ri,"f")||cm(this,Ri,new Set(this._def.values),"f"),!Va(this,Ri,"f").has(e.data)){const t=this._getOrReturnCtx(e),i=this._def.values;return w(t,{received:t.data,code:P.invalid_enum_value,options:i}),x}return lt(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return Pn.create(e,{...this._def,...t})}exclude(e,t=this._def){return Pn.create(this.options.filter(i=>!e.includes(i)),{...this._def,...t})}}Ri=new WeakMap,Pn.create=hm;class Ci extends H{constructor(){super(...arguments),bi.set(this,void 0)}_parse(e){const t=z.getValidEnumValues(this._def.values),i=this._getOrReturnCtx(e);if(i.parsedType!==M.string&&i.parsedType!==M.number){const a=z.objectValues(t);return w(i,{expected:z.joinValues(a),received:i.parsedType,code:P.invalid_type}),x}if(Va(this,bi,"f")||cm(this,bi,new Set(z.getValidEnumValues(this._def.values)),"f"),!Va(this,bi,"f").has(e.data)){const a=z.objectValues(t);return w(i,{received:i.data,code:P.invalid_enum_value,options:a}),x}return lt(e.data)}get enum(){return this._def.values}}bi=new WeakMap,Ci.create=(n,e)=>new Ci({values:n,typeName:U.ZodNativeEnum,...q(e)});class Vr extends H{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==M.promise&&t.common.async===!1)return w(t,{code:P.invalid_type,expected:M.promise,received:t.parsedType}),x;const i=t.parsedType===M.promise?t.data:Promise.resolve(t.data);return lt(i.then(a=>this._def.type.parseAsync(a,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Vr.create=(n,e)=>new Vr({type:n,typeName:U.ZodPromise,...q(e)});class Gt extends H{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===U.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:i}=this._processInputParams(e),a=this._def.effect||null,s={addIssue:o=>{w(i,o),o.fatal?t.abort():t.dirty()},get path(){return i.path}};if(s.addIssue=s.addIssue.bind(s),a.type==="preprocess"){const o=a.transform(i.data,s);if(i.common.async)return Promise.resolve(o).then(async u=>{if(t.value==="aborted")return x;const p=await this._def.schema._parseAsync({data:u,path:i.path,parent:i});return p.status==="aborted"?x:p.status==="dirty"||t.value==="dirty"?_r(p.value):p});{if(t.value==="aborted")return x;const u=this._def.schema._parseSync({data:o,path:i.path,parent:i});return u.status==="aborted"?x:u.status==="dirty"||t.value==="dirty"?_r(u.value):u}}if(a.type==="refinement"){const o=u=>{const p=a.refinement(u,s);if(i.common.async)return Promise.resolve(p);if(p instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return u};if(i.common.async===!1){const u=this._def.schema._parseSync({data:i.data,path:i.path,parent:i});return u.status==="aborted"?x:(u.status==="dirty"&&t.dirty(),o(u.value),{status:t.value,value:u.value})}else return this._def.schema._parseAsync({data:i.data,path:i.path,parent:i}).then(u=>u.status==="aborted"?x:(u.status==="dirty"&&t.dirty(),o(u.value).then(()=>({status:t.value,value:u.value}))))}if(a.type==="transform")if(i.common.async===!1){const o=this._def.schema._parseSync({data:i.data,path:i.path,parent:i});if(!Ti(o))return o;const u=a.transform(o.value,s);if(u instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:u}}else return this._def.schema._parseAsync({data:i.data,path:i.path,parent:i}).then(o=>Ti(o)?Promise.resolve(a.transform(o.value,s)).then(u=>({status:t.value,value:u})):o);z.assertNever(a)}}Gt.create=(n,e,t)=>new Gt({schema:n,typeName:U.ZodEffects,effect:e,...q(t)}),Gt.createWithPreprocess=(n,e,t)=>new Gt({schema:e,effect:{type:"preprocess",transform:n},typeName:U.ZodEffects,...q(t)});class Jt extends H{_parse(e){return this._getType(e)===M.undefined?lt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Jt.create=(n,e)=>new Jt({innerType:n,typeName:U.ZodOptional,...q(e)});class Dn extends H{_parse(e){return this._getType(e)===M.null?lt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Dn.create=(n,e)=>new Dn({innerType:n,typeName:U.ZodNullable,...q(e)});class Bi extends H{_parse(e){const{ctx:t}=this._processInputParams(e);let i=t.data;return t.parsedType===M.undefined&&(i=this._def.defaultValue()),this._def.innerType._parse({data:i,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}Bi.create=(n,e)=>new Bi({innerType:n,typeName:U.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...q(e)});class wi extends H{_parse(e){const{ctx:t}=this._processInputParams(e),i={...t,common:{...t.common,issues:[]}},a=this._def.innerType._parse({data:i.data,path:i.path,parent:{...i}});return Ei(a)?a.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ft(i.common.issues)},input:i.data})})):{status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new ft(i.common.issues)},input:i.data})}}removeCatch(){return this._def.innerType}}wi.create=(n,e)=>new wi({innerType:n,typeName:U.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...q(e)});class xa extends H{_parse(e){if(this._getType(e)!==M.nan){const i=this._getOrReturnCtx(e);return w(i,{code:P.invalid_type,expected:M.nan,received:i.parsedType}),x}return{status:"valid",value:e.data}}}xa.create=n=>new xa({typeName:U.ZodNaN,...q(n)});const kI=Symbol("zod_brand");class el extends H{_parse(e){const{ctx:t}=this._processInputParams(e),i=t.data;return this._def.type._parse({data:i,path:t.path,parent:t})}unwrap(){return this._def.type}}class _i extends H{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:i.data,path:i.path,parent:i});return s.status==="aborted"?x:s.status==="dirty"?(t.dirty(),_r(s.value)):this._def.out._parseAsync({data:s.value,path:i.path,parent:i})})();{const a=this._def.in._parseSync({data:i.data,path:i.path,parent:i});return a.status==="aborted"?x:a.status==="dirty"?(t.dirty(),{status:"dirty",value:a.value}):this._def.out._parseSync({data:a.value,path:i.path,parent:i})}}static create(e,t){return new _i({in:e,out:t,typeName:U.ZodPipeline})}}class Mi extends H{_parse(e){const t=this._def.innerType._parse(e),i=a=>(Ti(a)&&(a.value=Object.freeze(a.value)),a);return Ei(t)?t.then(a=>i(a)):i(t)}unwrap(){return this._def.innerType}}Mi.create=(n,e)=>new Mi({innerType:n,typeName:U.ZodReadonly,...q(e)});function fm(n,e={},t){return n?Mr.create().superRefine((i,a)=>{var s,o;if(!n(i)){const u=typeof e=="function"?e(i):typeof e=="string"?{message:e}:e,p=(o=(s=u.fatal)!==null&&s!==void 0?s:t)!==null&&o!==void 0?o:!0,h=typeof u=="string"?{message:u}:u;a.addIssue({code:"custom",...h,fatal:p})}}):Mr.create()}const qI={object:we.lazycreate};var U;(function(n){n.ZodString="ZodString",n.ZodNumber="ZodNumber",n.ZodNaN="ZodNaN",n.ZodBigInt="ZodBigInt",n.ZodBoolean="ZodBoolean",n.ZodDate="ZodDate",n.ZodSymbol="ZodSymbol",n.ZodUndefined="ZodUndefined",n.ZodNull="ZodNull",n.ZodAny="ZodAny",n.ZodUnknown="ZodUnknown",n.ZodNever="ZodNever",n.ZodVoid="ZodVoid",n.ZodArray="ZodArray",n.ZodObject="ZodObject",n.ZodUnion="ZodUnion",n.ZodDiscriminatedUnion="ZodDiscriminatedUnion",n.ZodIntersection="ZodIntersection",n.ZodTuple="ZodTuple",n.ZodRecord="ZodRecord",n.ZodMap="ZodMap",n.ZodSet="ZodSet",n.ZodFunction="ZodFunction",n.ZodLazy="ZodLazy",n.ZodLiteral="ZodLiteral",n.ZodEnum="ZodEnum",n.ZodEffects="ZodEffects",n.ZodNativeEnum="ZodNativeEnum",n.ZodOptional="ZodOptional",n.ZodNullable="ZodNullable",n.ZodDefault="ZodDefault",n.ZodCatch="ZodCatch",n.ZodPromise="ZodPromise",n.ZodBranded="ZodBranded",n.ZodPipeline="ZodPipeline",n.ZodReadonly="ZodReadonly"})(U||(U={}));const JI=(n,e={message:`Input not instance of ${n.name}`})=>fm(t=>t instanceof n,e),ja=Vt.create,tl=gn.create,WI=xa.create,HI=In.create,nl=vi.create,mm=qn.create,YI=La.create,zI=gi.create,Tm=Ii.create,ZI=Mr.create,ka=Jn.create,XI=nn.create,QI=Ga.create,KI=Lt.create,Em=we.create,eP=we.strictCreate,tP=Pi.create,nP=Fa.create,rP=Di.create,iP=qt.create,Rm=Ai.create,aP=Ua.create,sP=Wn.create,oP=$r.create,lP=Si.create,cP=Oi.create,bm=Pn.create,dP=Ci.create,uP=Vr.create,vm=Gt.create,pP=Jt.create,yP=Dn.create,hP=Gt.createWithPreprocess,fP=_i.create;var c=Object.freeze({__proto__:null,defaultErrorMap:wr,setErrorMap:AI,getErrorMap:Na,makeIssue:$a,EMPTY_PATH:SI,addIssueToContext:w,ParseStatus:Qe,INVALID:x,DIRTY:_r,OK:lt,isAborted:Zo,isDirty:Xo,isValid:Ti,isAsync:Ei,get util(){return z},get objectUtil(){return zo},ZodParsedType:M,getParsedType:vn,ZodType:H,datetimeRegex:ym,ZodString:Vt,ZodNumber:gn,ZodBigInt:In,ZodBoolean:vi,ZodDate:qn,ZodSymbol:La,ZodUndefined:gi,ZodNull:Ii,ZodAny:Mr,ZodUnknown:Jn,ZodNever:nn,ZodVoid:Ga,ZodArray:Lt,ZodObject:we,ZodUnion:Pi,ZodDiscriminatedUnion:Fa,ZodIntersection:Di,ZodTuple:qt,ZodRecord:Ai,ZodMap:Ua,ZodSet:Wn,ZodFunction:$r,ZodLazy:Si,ZodLiteral:Oi,ZodEnum:Pn,ZodNativeEnum:Ci,ZodPromise:Vr,ZodEffects:Gt,ZodTransformer:Gt,ZodOptional:Jt,ZodNullable:Dn,ZodDefault:Bi,ZodCatch:wi,ZodNaN:xa,BRAND:kI,ZodBranded:el,ZodPipeline:_i,ZodReadonly:Mi,custom:fm,Schema:H,ZodSchema:H,late:qI,get ZodFirstPartyTypeKind(){return U},coerce:{string:n=>Vt.create({...n,coerce:!0}),number:n=>gn.create({...n,coerce:!0}),boolean:n=>vi.create({...n,coerce:!0}),bigint:n=>In.create({...n,coerce:!0}),date:n=>qn.create({...n,coerce:!0})},any:ZI,array:KI,bigint:HI,boolean:nl,date:mm,discriminatedUnion:nP,effect:vm,enum:bm,function:oP,instanceof:JI,intersection:rP,lazy:lP,literal:cP,map:aP,nan:WI,nativeEnum:dP,never:XI,null:Tm,nullable:yP,number:tl,object:Em,oboolean:()=>nl().optional(),onumber:()=>tl().optional(),optional:pP,ostring:()=>ja().optional(),pipeline:fP,preprocess:hP,promise:uP,record:Rm,set:sP,strictObject:eP,string:ja,symbol:YI,transformer:vm,tuple:iP,undefined:zI,union:tP,unknown:ka,void:QI,NEVER:x,ZodIssueCode:P,quotelessJson:DI,ZodError:ft});function gm(n){var a,s,o;if(!(n!=null&&n.dataType))return ka();const e=n.dataType.isNullable||!1,t=n.dataType.isList||!1;let i=ka();if(((a=n.dataType.entity)==null?void 0:a.type)===r.PrimitiveEntity)switch(n.dataType.entity.name){case g.String:i=ja();break;case g.JSON:i=Rm(ka());break;case g.Number:i=tl();break;case g.Boolean:i=nl();break;case g.Date:i=mm();break;case g.Enum:{const u=n.dataType.options||[];if(u.length===0)throw new Error(`Enum property ${n.name} has no options`);i=bm(u);break}case g.Null:i=Tm();break;case g.UUID:i=ja().uuid();break}else if(((s=n.dataType.entity)==null?void 0:s.type)===r.CustomEntity)i=Im(n.dataType.entity);else throw new Error(`Unsupported data type validation: ${(o=n.dataType.entity)==null?void 0:o.type}`);return e&&(i=i.nullable()),t&&(i=i.array()),i}function Im(n){const e=Em({});for(const t of n.properties){const i=gm(t);e.shape[t.name]=i}return e}function Pm(n){const e=n.rangeStart;return new Date(e.getTime()+Math.random()*(Date.now()-e.getTime()))}function Dm(n){const e=n.rangeEnd;return new Date(Math.random()*e.getTime())}function Am(n){const e=n.rangeStart,t=n.rangeEnd;return new Date(e.getTime()+Math.random()*(t.getTime()-e.getTime()))}function Sm(n){return n.rangeStart&&n.rangeEnd?Am(n):n.rangeStart?Pm(n):n.rangeEnd?Dm(n):new Date}function mP(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Om={},qa={},Ja={};Object.defineProperty(Ja,"__esModule",{value:!0}),Ja.default=EP;let Wa;const TP=new Uint8Array(16);function EP(){if(!Wa&&(Wa=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Wa))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Wa(TP)}var An={},Hn={},Ha={};Object.defineProperty(Ha,"__esModule",{value:!0}),Ha.default=void 0;var RP=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;Ha.default=RP,Object.defineProperty(Hn,"__esModule",{value:!0}),Hn.default=void 0;var bP=vP(Ha);function vP(n){return n&&n.__esModule?n:{default:n}}function gP(n){return typeof n=="string"&&bP.default.test(n)}var IP=gP;Hn.default=IP,Object.defineProperty(An,"__esModule",{value:!0}),An.default=void 0,An.unsafeStringify=Cm;var PP=DP(Hn);function DP(n){return n&&n.__esModule?n:{default:n}}const ze=[];for(let n=0;n<256;++n)ze.push((n+256).toString(16).slice(1));function Cm(n,e=0){return ze[n[e+0]]+ze[n[e+1]]+ze[n[e+2]]+ze[n[e+3]]+"-"+ze[n[e+4]]+ze[n[e+5]]+"-"+ze[n[e+6]]+ze[n[e+7]]+"-"+ze[n[e+8]]+ze[n[e+9]]+"-"+ze[n[e+10]]+ze[n[e+11]]+ze[n[e+12]]+ze[n[e+13]]+ze[n[e+14]]+ze[n[e+15]]}function AP(n,e=0){const t=Cm(n,e);if(!(0,PP.default)(t))throw TypeError("Stringified UUID is invalid");return t}var SP=AP;An.default=SP,Object.defineProperty(qa,"__esModule",{value:!0}),qa.default=void 0;var OP=BP(Ja),CP=An;function BP(n){return n&&n.__esModule?n:{default:n}}let Bm,rl,il=0,al=0;function wP(n,e,t){let i=e&&t||0;const a=e||new Array(16);n=n||{};let s=n.node||Bm,o=n.clockseq!==void 0?n.clockseq:rl;if(s==null||o==null){const b=n.random||(n.rng||OP.default)();s==null&&(s=Bm=[b[0]|1,b[1],b[2],b[3],b[4],b[5]]),o==null&&(o=rl=(b[6]<<8|b[7])&16383)}let u=n.msecs!==void 0?n.msecs:Date.now(),p=n.nsecs!==void 0?n.nsecs:al+1;const h=u-il+(p-al)/1e4;if(h<0&&n.clockseq===void 0&&(o=o+1&16383),(h<0||u>il)&&n.nsecs===void 0&&(p=0),p>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");il=u,al=p,rl=o,u+=122192928e5;const m=((u&268435455)*1e4+p)%4294967296;a[i++]=m>>>24&255,a[i++]=m>>>16&255,a[i++]=m>>>8&255,a[i++]=m&255;const T=u/4294967296*1e4&268435455;a[i++]=T>>>8&255,a[i++]=T&255,a[i++]=T>>>24&15|16,a[i++]=T>>>16&255,a[i++]=o>>>8|128,a[i++]=o&255;for(let b=0;b<6;++b)a[i+b]=s[b];return e||(0,CP.unsafeStringify)(a)}var _P=wP;qa.default=_P;var Ya={},Sn={},Ni={};Object.defineProperty(Ni,"__esModule",{value:!0}),Ni.default=void 0;var MP=NP(Hn);function NP(n){return n&&n.__esModule?n:{default:n}}function $P(n){if(!(0,MP.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 VP=$P;Ni.default=VP,Object.defineProperty(Sn,"__esModule",{value:!0}),Sn.URL=Sn.DNS=void 0,Sn.default=xP;var LP=An,GP=FP(Ni);function FP(n){return n&&n.__esModule?n:{default:n}}function UP(n){n=unescape(encodeURIComponent(n));const e=[];for(let t=0;t<n.length;++t)e.push(n.charCodeAt(t));return e}const wm="6ba7b810-9dad-11d1-80b4-00c04fd430c8";Sn.DNS=wm;const _m="6ba7b811-9dad-11d1-80b4-00c04fd430c8";Sn.URL=_m;function xP(n,e,t){function i(a,s,o,u){var p;if(typeof a=="string"&&(a=UP(a)),typeof s=="string"&&(s=(0,GP.default)(s)),((p=s)===null||p===void 0?void 0:p.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let h=new Uint8Array(16+a.length);if(h.set(s),h.set(a,s.length),h=t(h),h[6]=h[6]&15|e,h[8]=h[8]&63|128,o){u=u||0;for(let m=0;m<16;++m)o[u+m]=h[m];return o}return(0,LP.unsafeStringify)(h)}try{i.name=n}catch{}return i.DNS=wm,i.URL=_m,i}var za={};Object.defineProperty(za,"__esModule",{value:!0}),za.default=void 0;function jP(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 kP(qP(JP(n),n.length*8))}function kP(n){const e=[],t=n.length*32,i="0123456789abcdef";for(let a=0;a<t;a+=8){const s=n[a>>5]>>>a%32&255,o=parseInt(i.charAt(s>>>4&15)+i.charAt(s&15),16);e.push(o)}return e}function Mm(n){return(n+64>>>9<<4)+14+1}function qP(n,e){n[e>>5]|=128<<e%32,n[Mm(e)-1]=e;let t=1732584193,i=-271733879,a=-1732584194,s=271733878;for(let o=0;o<n.length;o+=16){const u=t,p=i,h=a,m=s;t=Ke(t,i,a,s,n[o],7,-680876936),s=Ke(s,t,i,a,n[o+1],12,-389564586),a=Ke(a,s,t,i,n[o+2],17,606105819),i=Ke(i,a,s,t,n[o+3],22,-1044525330),t=Ke(t,i,a,s,n[o+4],7,-176418897),s=Ke(s,t,i,a,n[o+5],12,1200080426),a=Ke(a,s,t,i,n[o+6],17,-1473231341),i=Ke(i,a,s,t,n[o+7],22,-45705983),t=Ke(t,i,a,s,n[o+8],7,1770035416),s=Ke(s,t,i,a,n[o+9],12,-1958414417),a=Ke(a,s,t,i,n[o+10],17,-42063),i=Ke(i,a,s,t,n[o+11],22,-1990404162),t=Ke(t,i,a,s,n[o+12],7,1804603682),s=Ke(s,t,i,a,n[o+13],12,-40341101),a=Ke(a,s,t,i,n[o+14],17,-1502002290),i=Ke(i,a,s,t,n[o+15],22,1236535329),t=et(t,i,a,s,n[o+1],5,-165796510),s=et(s,t,i,a,n[o+6],9,-1069501632),a=et(a,s,t,i,n[o+11],14,643717713),i=et(i,a,s,t,n[o],20,-373897302),t=et(t,i,a,s,n[o+5],5,-701558691),s=et(s,t,i,a,n[o+10],9,38016083),a=et(a,s,t,i,n[o+15],14,-660478335),i=et(i,a,s,t,n[o+4],20,-405537848),t=et(t,i,a,s,n[o+9],5,568446438),s=et(s,t,i,a,n[o+14],9,-1019803690),a=et(a,s,t,i,n[o+3],14,-187363961),i=et(i,a,s,t,n[o+8],20,1163531501),t=et(t,i,a,s,n[o+13],5,-1444681467),s=et(s,t,i,a,n[o+2],9,-51403784),a=et(a,s,t,i,n[o+7],14,1735328473),i=et(i,a,s,t,n[o+12],20,-1926607734),t=tt(t,i,a,s,n[o+5],4,-378558),s=tt(s,t,i,a,n[o+8],11,-2022574463),a=tt(a,s,t,i,n[o+11],16,1839030562),i=tt(i,a,s,t,n[o+14],23,-35309556),t=tt(t,i,a,s,n[o+1],4,-1530992060),s=tt(s,t,i,a,n[o+4],11,1272893353),a=tt(a,s,t,i,n[o+7],16,-155497632),i=tt(i,a,s,t,n[o+10],23,-1094730640),t=tt(t,i,a,s,n[o+13],4,681279174),s=tt(s,t,i,a,n[o],11,-358537222),a=tt(a,s,t,i,n[o+3],16,-722521979),i=tt(i,a,s,t,n[o+6],23,76029189),t=tt(t,i,a,s,n[o+9],4,-640364487),s=tt(s,t,i,a,n[o+12],11,-421815835),a=tt(a,s,t,i,n[o+15],16,530742520),i=tt(i,a,s,t,n[o+2],23,-995338651),t=nt(t,i,a,s,n[o],6,-198630844),s=nt(s,t,i,a,n[o+7],10,1126891415),a=nt(a,s,t,i,n[o+14],15,-1416354905),i=nt(i,a,s,t,n[o+5],21,-57434055),t=nt(t,i,a,s,n[o+12],6,1700485571),s=nt(s,t,i,a,n[o+3],10,-1894986606),a=nt(a,s,t,i,n[o+10],15,-1051523),i=nt(i,a,s,t,n[o+1],21,-2054922799),t=nt(t,i,a,s,n[o+8],6,1873313359),s=nt(s,t,i,a,n[o+15],10,-30611744),a=nt(a,s,t,i,n[o+6],15,-1560198380),i=nt(i,a,s,t,n[o+13],21,1309151649),t=nt(t,i,a,s,n[o+4],6,-145523070),s=nt(s,t,i,a,n[o+11],10,-1120210379),a=nt(a,s,t,i,n[o+2],15,718787259),i=nt(i,a,s,t,n[o+9],21,-343485551),t=On(t,u),i=On(i,p),a=On(a,h),s=On(s,m)}return[t,i,a,s]}function JP(n){if(n.length===0)return[];const e=n.length*8,t=new Uint32Array(Mm(e));for(let i=0;i<e;i+=8)t[i>>5]|=(n[i/8]&255)<<i%32;return t}function On(n,e){const t=(n&65535)+(e&65535);return(n>>16)+(e>>16)+(t>>16)<<16|t&65535}function WP(n,e){return n<<e|n>>>32-e}function Za(n,e,t,i,a,s){return On(WP(On(On(e,n),On(i,s)),a),t)}function Ke(n,e,t,i,a,s,o){return Za(e&t|~e&i,n,e,a,s,o)}function et(n,e,t,i,a,s,o){return Za(e&i|t&~i,n,e,a,s,o)}function tt(n,e,t,i,a,s,o){return Za(e^t^i,n,e,a,s,o)}function nt(n,e,t,i,a,s,o){return Za(t^(e|~i),n,e,a,s,o)}var HP=jP;za.default=HP,Object.defineProperty(Ya,"__esModule",{value:!0}),Ya.default=void 0;var YP=Nm(Sn),zP=Nm(za);function Nm(n){return n&&n.__esModule?n:{default:n}}var ZP=(0,YP.default)("v3",48,zP.default);Ya.default=ZP;var Xa={},Qa={};Object.defineProperty(Qa,"__esModule",{value:!0}),Qa.default=void 0;var XP={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};Qa.default=XP,Object.defineProperty(Xa,"__esModule",{value:!0}),Xa.default=void 0;var $m=Vm(Qa),QP=Vm(Ja),KP=An;function Vm(n){return n&&n.__esModule?n:{default:n}}function eD(n,e,t){if($m.default.randomUUID&&!e&&!n)return $m.default.randomUUID();n=n||{};const i=n.random||(n.rng||QP.default)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,e){t=t||0;for(let a=0;a<16;++a)e[t+a]=i[a];return e}return(0,KP.unsafeStringify)(i)}var tD=eD;Xa.default=tD;var Ka={},es={};Object.defineProperty(es,"__esModule",{value:!0}),es.default=void 0;function nD(n,e,t,i){switch(n){case 0:return e&t^~e&i;case 1:return e^t^i;case 2:return e&t^e&i^t&i;case 3:return e^t^i}}function sl(n,e){return n<<e|n>>>32-e}function rD(n){const e=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof n=="string"){const o=unescape(encodeURIComponent(n));n=[];for(let u=0;u<o.length;++u)n.push(o.charCodeAt(u))}else Array.isArray(n)||(n=Array.prototype.slice.call(n));n.push(128);const i=n.length/4+2,a=Math.ceil(i/16),s=new Array(a);for(let o=0;o<a;++o){const u=new Uint32Array(16);for(let p=0;p<16;++p)u[p]=n[o*64+p*4]<<24|n[o*64+p*4+1]<<16|n[o*64+p*4+2]<<8|n[o*64+p*4+3];s[o]=u}s[a-1][14]=(n.length-1)*8/Math.pow(2,32),s[a-1][14]=Math.floor(s[a-1][14]),s[a-1][15]=(n.length-1)*8&4294967295;for(let o=0;o<a;++o){const u=new Uint32Array(80);for(let I=0;I<16;++I)u[I]=s[o][I];for(let I=16;I<80;++I)u[I]=sl(u[I-3]^u[I-8]^u[I-14]^u[I-16],1);let p=t[0],h=t[1],m=t[2],T=t[3],b=t[4];for(let I=0;I<80;++I){const B=Math.floor(I/20),G=sl(p,5)+nD(B,h,m,T)+b+e[B]+u[I]>>>0;b=T,T=m,m=sl(h,30)>>>0,h=p,p=G}t[0]=t[0]+p>>>0,t[1]=t[1]+h>>>0,t[2]=t[2]+m>>>0,t[3]=t[3]+T>>>0,t[4]=t[4]+b>>>0}return[t[0]>>24&255,t[0]>>16&255,t[0]>>8&255,t[0]&255,t[1]>>24&255,t[1]>>16&255,t[1]>>8&255,t[1]&255,t[2]>>24&255,t[2]>>16&255,t[2]>>8&255,t[2]&255,t[3]>>24&255,t[3]>>16&255,t[3]>>8&255,t[3]&255,t[4]>>24&255,t[4]>>16&255,t[4]>>8&255,t[4]&255]}var iD=rD;es.default=iD,Object.defineProperty(Ka,"__esModule",{value:!0}),Ka.default=void 0;var aD=Lm(Sn),sD=Lm(es);function Lm(n){return n&&n.__esModule?n:{default:n}}var oD=(0,aD.default)("v5",80,sD.default);Ka.default=oD;var ts={};Object.defineProperty(ts,"__esModule",{value:!0}),ts.default=void 0;var lD="00000000-0000-0000-0000-000000000000";ts.default=lD;var ns={};Object.defineProperty(ns,"__esModule",{value:!0}),ns.default=void 0;var cD=dD(Hn);function dD(n){return n&&n.__esModule?n:{default:n}}function uD(n){if(!(0,cD.default)(n))throw TypeError("Invalid UUID");return parseInt(n.slice(14,15),16)}var pD=uD;ns.default=pD,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"NIL",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(n,"parse",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(n,"stringify",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(n,"v1",{enumerable:!0,get:function(){return e.default}}),Object.defineProperty(n,"v3",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(n,"v4",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(n,"v5",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(n,"validate",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(n,"version",{enumerable:!0,get:function(){return o.default}});var e=m(qa),t=m(Ya),i=m(Xa),a=m(Ka),s=m(ts),o=m(ns),u=m(Hn),p=m(An),h=m(Ni);function m(T){return T&&T.__esModule?T:{default:T}}}(Om);function ol(n,e){if(!n||!e||!n.length||!e.length)throw new Error("Bad alphabet");this.srcAlphabet=n,this.dstAlphabet=e}ol.prototype.convert=function(n){var e,t,i,a={},s=this.srcAlphabet.length,o=this.dstAlphabet.length,u=n.length,p=typeof n=="string"?"":[];if(!this.isValid(n))throw new Error('Number "'+n+'" contains of non-alphabetic digits ('+this.srcAlphabet+")");if(this.srcAlphabet===this.dstAlphabet)return n;for(e=0;e<u;e++)a[e]=this.srcAlphabet.indexOf(n[e]);do{for(t=0,i=0,e=0;e<u;e++)t=t*s+a[e],t>=o?(a[i++]=parseInt(t/o,10),t=t%o):i>0&&(a[i++]=0);u=i,p=this.dstAlphabet.slice(t,t+1).concat(p)}while(i!==0);return p},ol.prototype.isValid=function(n){for(var e=0;e<n.length;++e)if(this.srcAlphabet.indexOf(n[e])===-1)return!1;return!0};var yD=ol,hD=yD;function $i(n,e){var t=new hD(n,e);return function(i){return t.convert(i)}}$i.BIN="01",$i.OCT="01234567",$i.DEC="0123456789",$i.HEX="0123456789abcdef";var fD=$i;const{v4:ll,validate:mD}=Om,rs=fD,cl={cookieBase90:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~",flickrBase58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",uuid25Base36:"0123456789abcdefghijklmnopqrstuvwxyz"},TD={consistentLength:!0};let dl;const Gm=(n,e,t)=>{const i=e(n.toLowerCase().replace(/-/g,""));return!t||!t.consistentLength?i:i.padStart(t.shortIdLength,t.paddingChar)},Fm=(n,e)=>{const i=e(n).padStart(32,"0").match(/(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})/);return[i[1],i[2],i[3],i[4],i[5]].join("-")},ED=n=>Math.ceil(Math.log(2**128)/Math.log(n));var RD=(()=>{const n=(e,t)=>{const i=e||cl.flickrBase58,a={...TD,...t};if([...new Set(Array.from(i))].length!==i.length)throw new Error("The provided Alphabet has duplicate characters resulting in unreliable results");const s=ED(i.length),o={shortIdLength:s,consistentLength:a.consistentLength,paddingChar:i[0]},u=rs(rs.HEX,i),p=rs(i,rs.HEX),h=()=>Gm(ll(),u,o),T={alphabet:i,fromUUID:b=>Gm(b,u,o),maxLength:s,generate:h,new:h,toUUID:b=>Fm(b,p),uuid:ll,validate:(b,I=!1)=>{if(!b||typeof b!="string")return!1;const B=a.consistentLength?b.length===s:b.length<=s,G=b.split("").every(W=>i.includes(W));return I===!1?B&&G:B&&G&&mD(Fm(b,p))}};return Object.freeze(T),T};return n.constants=cl,n.uuid=ll,n.generate=()=>(dl||(dl=n(cl.flickrBase58).generate),dl()),n})();const Vi=mP(RD);console.log("Hello, world!: ",Vi);function Um(){return Vi().uuid()}function xm(n){return n.rangeStart+Math.random()}function jm(n){const e=n.rangeEnd;return Math.random()*e}function km(n){const e=n.rangeStart,t=n.rangeEnd;return Math.random()*(t-e)+e}function qm(n){return n.rangeStart&&n.rangeEnd?km(n):n.rangeStart?xm(n):n.rangeEnd?jm(n):Math.random()}function Jm(n){const e=n.rangeStart;return Math.random().toString(36).substring(e)}function Wm(n){const e=n.rangeEnd;return Math.random().toString(36).substring(0,e)}function Hm(n){const e=n.rangeStart,t=n.rangeEnd;return Math.random().toString(36).substring(e,t)}function Ym(n){return n.rangeStart&&n.rangeEnd?Hm(n):n.rangeStart?Jm(n):n.rangeEnd?Wm(n):Math.random().toString(36)}function zm(n){return Math.random()>=.5}function bD(n){if(!n||!n.autogeneration)return null;switch(n.autogeneration.type){case xe.CurrentDateAndTime:if(n.name===g.Date)return new Date;case xe.Random:{if(n.name===g.Date)return Sm(n.autogeneration);if(n.name===g.Number)return qm(n.autogeneration);if(n.name===g.String)return Ym(n.autogeneration);if(n.name===g.Boolean)return zm(n.autogeneration)}case xe.Unique:if(n.name===g.UUID)return Um();default:throw new Error(`Generating a ${n.autogeneration.type} value for a ${n.name} is not supported`)}}const J="e7eb5382-3d99-44fd-972a-b8b1e819f6be",ul="global-user-variable-id",Zm="last-executed-timestamp-variable-id",vD={id:"alternative-relational-database-entity-identifier-property-data-type-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-identifier-property-data-type-id",entityType:r.DataType},gD={id:"alternative-relational-database-entity-identifier-property-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-identifier-property-id",entityType:r.Property},ID={id:"alternative-relational-database-entity-identifier-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"alternative-relational-database-entity-identifier-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:null,parent:vD,autogeneration:{type:xe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:gD},is={id:"alternative-relational-database-entity-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},PD={required:!0,id:"alternative-relational-database-entity-identifier-property-id",name:"Identifier name",version:1,type:r.Property,private:!1,abstract:!1,implements:Ca,static:!0,index:0,dataType:ID,description:"The name of the main database inside of the server instance where the data will be stored.",parent:is};r.GenericReference,r.DataType;const DD={id:"alternative-relational-database-entity-username-property-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-username-property-id",entityType:r.Property},AD={id:"alternative-relational-database-entity-username-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:DD},SD={required:!0,id:"alternative-relational-database-entity-username-property-id",name:"Username",version:1,type:r.Property,private:!1,abstract:!1,implements:Ba,static:!0,index:1,dataType:AD,description:"The username that will be used to connect to the database.",parent:is};r.GenericReference,r.DataType;const OD={id:"alternative-relational-database-entity-password-property-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-password-property-id",entityType:r.Property},CD={id:"alternative-relational-database-entity-password-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:OD},BD={required:!0,id:"alternative-relational-database-entity-password-property-id",name:"Password",version:1,type:r.Property,private:!1,abstract:!1,implements:wa,static:!0,index:2,dataType:CD,description:"The password that will be used to connect to the database.",parent:is},wD={id:"alternative-relational-database-entity-min-size-property-data-type-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-min-size-property-data-type-id",entityType:r.DataType},_D={id:"alternative-relational-database-entity-min-size-property-ref-id",type:r.GenericReference,entityId:"alternative-relational-database-entity-min-size-property-id",entityType:r.Property},MD={id:"alternative-relational-database-entity-min-size-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Ce,asType:!1,defaultValue:{id:"alternative-relational-database-entity-min-size-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.Number,value:6,parent:wD,autogeneration:null,valueAsType:null},parent:_D},ND={required:!0,id:"alternative-relational-database-entity-min-size-property-id",name:"Minimum GB size",version:1,type:r.Property,private:!1,abstract:!1,implements:_a,static:!0,index:3,dataType:MD,description:"The minimum size of the database in GB.",parent:is},$D={id:"alternative-relational-database-entity-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},Xm={id:"alternative-relational-database-entity-id",type:r.CustomEntity,version:1,name:"Alternative relational Database",description:"A database that permanently stores the persisted entities attached to it.",abstract:!1,static:!0,properties:[PD,SD,BD,ND],methods:[],abstractMethods:[],extends:[],implements:[bn],x:0,y:0,parent:$D},VD={id:"animal-prototype-database-property-ref-id",type:r.GenericReference,entityId:"animal-prototype-database-property-id",entityType:r.Property},LD={id:"animal-prototype-database-property-data-type-default-value-parent-ref-id",type:r.GenericReference,entityId:"animal-prototype-database-property-data-type-default-value-id",entityType:r.DataType},GD={id:"animal-prototype-database-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:bn,asType:!1,defaultValue:{id:"animal-prototype-database-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,value:null,name:g.EntityTemplate,valueAsType:Xm,autogeneration:null,parent:LD},parent:VD},FD={id:"animal-prototype-database-property-parent-ref-id",type:r.GenericReference,entityId:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",entityType:r.CustomEntity},UD={required:!0,id:"animal-prototype-database-property-id",name:"Database",version:1,type:r.Property,private:!1,abstract:!1,implements:mi,static:!0,index:0,dataType:GD,description:"The database that the entity belongs to.",parent:FD},xD={type:r.GenericReference,id:"291e4d4f-01d8-40a0-90dc-5f1ac6636e9b",entityType:r.Property,entityId:"5cb617b0-92be-4dbe-a007-49093368d94f"},jD={id:"c1930577-9e79-48a6-8905-be24611015c1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:xD},kD={type:r.GenericReference,id:"e2b9e456-f2b3-4dc7-85a2-fbb68ed0c9c7",entityType:r.CustomEntity,entityId:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},qD={required:!0,type:r.Property,id:"5cb617b0-92be-4dbe-a007-49093368d94f",version:1,name:"Name",description:"The name of the animal",implements:null,static:!1,private:!1,index:0,dataType:jD,abstract:!1,parent:kD},JD={type:r.GenericReference,id:"abc565de-4c83-4936-bc48-4013bef213b8",entityType:r.Project,entityId:J},WD={type:r.CustomEntity,id:"83eaa847-e62b-4192-84fb-3d8d6f5ea970",version:1,name:"Animal",description:"A living creature that is not human",abstract:!1,static:!1,abstractMethods:[],properties:[UD,qD],methods:[],extends:[],implements:[Be],x:0,y:0,parent:JD},HD={id:"default-relational-database-entity-identifier-property-data-type-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-identifier-property-data-type-id",entityType:r.DataType},YD={id:"default-relational-database-entity-identifier-property-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-identifier-property-id",entityType:r.Property},zD={id:"default-relational-database-entity-identifier-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"default-relational-database-entity-identifier-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:null,parent:HD,autogeneration:{type:xe.Unique,rangeStart:null,rangeEnd:null},valueAsType:null},parent:YD},as={id:"default-relational-database-entity-ref-id",type:r.GenericReference,entityId:_.PERSISTED_ENTITY,entityType:r.BuiltInBaseEntity},ZD={required:!0,id:"default-relational-database-entity-identifier-property-id",name:"Identifier name",version:1,type:r.Property,private:!1,abstract:!1,implements:Ca,static:!0,index:0,dataType:zD,description:"The name of the main database inside of the server instance where the data will be stored.",parent:as};r.GenericReference,r.DataType;const XD={id:"default-relational-database-entity-username-property-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-username-property-id",entityType:r.Property},QD={id:"default-relational-database-entity-username-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:XD},KD={required:!0,id:"default-relational-database-entity-username-property-id",name:"Username",version:1,type:r.Property,private:!1,abstract:!1,implements:Ba,static:!0,index:1,dataType:QD,description:"The username that will be used to connect to the database.",parent:as};r.GenericReference,r.DataType;const eA={id:"default-relational-database-entity-password-property-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-password-property-id",entityType:r.Property},tA={id:"default-relational-database-entity-password-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:eA},nA={required:!0,id:"default-relational-database-entity-password-property-id",name:"Password",version:1,type:r.Property,private:!1,abstract:!1,implements:wa,static:!0,index:2,dataType:tA,description:"The password that will be used to connect to the database.",parent:as},rA={id:"default-relational-database-entity-min-size-property-data-type-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-min-size-property-data-type-id",entityType:r.DataType},iA={id:"default-relational-database-entity-min-size-property-ref-id",type:r.GenericReference,entityId:"default-relational-database-entity-min-size-property-id",entityType:r.Property},aA={id:"default-relational-database-entity-min-size-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:Ce,asType:!1,defaultValue:{id:"default-relational-database-entity-min-size-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.Number,value:6,parent:rA,autogeneration:null,valueAsType:null},parent:iA},sA={required:!0,id:"default-relational-database-entity-min-size-property-id",name:"Minimum GB size",version:1,type:r.Property,private:!1,abstract:!1,implements:_a,static:!0,index:3,dataType:aA,description:"The minimum size of the database in GB.",parent:as},oA={id:"default-relational-database-entity-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},pl={id:"default-relational-database-entity-id",type:r.CustomEntity,version:1,name:"Relational Database",description:"A database that permanently stores the persisted entities attached to it.",abstract:!1,static:!0,properties:[ZD,KD,nA,sA],methods:[],abstractMethods:[],extends:[],implements:[bn],x:0,y:0,parent:oA},lA={id:"user-prototype-database-property-data-type-ref-id",type:r.GenericReference,entityId:"user-prototype-database-property-data-type-id",entityType:r.DataType},cA={id:"user-prototype-database-property-ref-id",type:r.GenericReference,entityId:"user-prototype-database-property-id",entityType:r.Property},dA={id:"user-prototype-database-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:bn,asType:!1,defaultValue:{id:"user-prototype-database-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,value:null,name:g.EntityTemplate,valueAsType:pl,autogeneration:null,parent:lA},parent:cA},uA={id:"user-prototype-database-property-parent-ref-id",type:r.GenericReference,entityId:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",entityType:r.CustomEntity},pA={required:!0,id:"user-prototype-database-property-id",name:"Database",version:1,type:r.Property,private:!1,abstract:!1,implements:mi,static:!0,index:0,dataType:dA,description:"The database that the entity belongs to.",parent:uA},yA={type:r.GenericReference,id:"user-prototype-parent-ref-id",entityType:r.Project,entityId:J},yl={type:r.CustomEntity,id:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",version:1,name:"User",description:"A user of the application",implements:[Be],abstract:!1,static:!1,abstractMethods:[],extends:[],properties:[pA],methods:[],x:0,y:0,parent:yA},hA={type:r.GenericReference,id:"person-date-of-birth-property-data-type-parent-ref-id",entityType:r.Property,entityId:"person-date-of-birth-property-id"},fA={id:"person-date-of-birth-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Sr,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:hA},mA={type:r.GenericReference,id:"person-date-of-birth-property-parent-ref-id",entityType:r.CustomEntity,entityId:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},TA={required:!0,type:r.Property,id:"person-date-of-birth-property-id",version:1,name:"Date of birth",description:"The date of birth of the person",implements:null,private:!1,static:!1,index:0,dataType:fA,abstract:!1,parent:mA},EA={type:r.GenericReference,id:"a2867827-2f8e-4c25-b18b-d91857d7f24e",entityType:r.Property,entityId:"cacfec92-46c3-4fca-a1d9-fd1ba94d78c7"},RA={id:"1d49f41b-17b9-4f48-87aa-3ce43498e5a9",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:EA},bA={type:r.GenericReference,id:"01cbe760-40a9-4f49-8e3d-194d2f57cb1e",entityType:r.CustomEntity,entityId:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},vA={required:!0,type:r.Property,id:"cacfec92-46c3-4fca-a1d9-fd1ba94d78c7",version:1,name:"Name",description:"The name of the person",implements:null,private:!1,static:!1,index:0,dataType:RA,abstract:!1,parent:bA},gA={type:r.GenericReference,id:"3542b22a-3a2f-41c6-876e-24c885572498",entityType:r.Project,entityId:J},ct={type:r.CustomEntity,id:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416",version:1,name:"Person",description:"A entity to store more information about a person than the user entity does, to split the responsibilities and keep it the logic clean.",properties:[vA,TA],abstract:!1,static:!1,abstractMethods:[],methods:[],implements:[],extends:[yl],x:0,y:0,parent:gA},IA={type:r.GenericReference,id:"b59c80b7-b2e9-41e9-abcd-7c5652835efc",entityType:r.FunctionDeclaration,entityId:"36f29f96-c001-4b9a-b49c-83eff406a060"},PA={type:r.GenericReference,id:"1190b5a2-f25e-46db-884d-8a3dd1a44d94",entityType:r.ReturnStatement,entityId:"3ebc4342-c9e8-42e7-a61c-7937081e1d2e"},DA={type:r.GenericReference,id:"36c63126-7814-496f-a6cc-48662c2aabae",entityType:r.ArgumentDeclaration,entityId:"500dee3a-3435-4453-9699-0d053f646523"},AA={type:r.GenericReference,id:"c567e55d-ec12-4e4e-958e-f07522892b4b",entityType:r.ReturnDeclaration,entityId:"9e070523-7e07-4100-8637-960a187f5f14"},SA={id:"3973c5a1-f0d8-49a0-a9a9-a0009bf3f0d8",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:AA},hl={isError:!1,id:"9e070523-7e07-4100-8637-960a187f5f14",type:r.ReturnDeclaration,version:1,name:"Output Account Owner",description:null,dataType:SA,readsValue:DA,required:!0,index:0,parent:PA},OA={type:r.GenericReference,id:"567d923c-20da-4c1e-956d-962ea30c6d0b",entityType:r.FunctionDeclaration,entityId:"36f29f96-c001-4b9a-b49c-83eff406a060"},CA={type:r.GenericReference,id:"da85e620-59f3-42ab-88c8-b38d33c2c833",entityType:r.FunctionDeclaration,entityId:"36f29f96-c001-4b9a-b49c-83eff406a060"},Qm={type:r.ReturnStatement,id:"3ebc4342-c9e8-42e7-a61c-7937081e1d2e",version:1,outputs:[hl],calledByError:[],calledByEntry:[OA],calledBySuccess:[],throws:null,x:0,y:0,parent:CA},BA={type:r.GenericReference,id:"1c806bb7-4c25-4bad-963b-93dfbb7c8304",entityType:r.ArgumentDeclaration,entityId:"500dee3a-3435-4453-9699-0d053f646523"},wA={id:"d90fcc18-642b-433c-8fcb-4094b9031cd5",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:BA},Km={id:"500dee3a-3435-4453-9699-0d053f646523",type:r.ArgumentDeclaration,version:1,name:"New Account Owner",description:null,dataType:wA,required:!0,writesValues:[hl],index:0,parent:IA},_A={type:r.GenericReference,id:"83dceb60-f3c4-4085-824c-85f2003bfd27",entityType:r.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},eT={type:r.FunctionDeclaration,id:"36f29f96-c001-4b9a-b49c-83eff406a060",version:1,name:"Change owner of bank account",description:null,implements:null,inputs:[Km],calls:[Qm],returnStatements:[Qm],index:0,collapsed:!1,private:!1,x:0,y:0,parent:_A},MA={type:r.GenericReference,id:"adbaf302-ffa9-49b6-a3c6-83f9a75068e3",entityType:r.VariableDeclaration,entityId:"8e36a476-766e-4cc2-a8a7-27a07dfb5a4b"},NA={id:"79ee04aa-1ba4-4ae9-a406-ed45e5b03f7f",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:MA},$A={type:r.GenericReference,id:"55e212d1-f0ec-4bb6-acbe-60f741367daf",entityType:r.OutputMap,entityId:"dc9ddb8f-02a0-4a43-aea6-270ec7b7f8a4"},VA={type:r.GenericReference,id:"944e1171-3d9b-4559-9386-1d4974b15962",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},LA={id:"8e36a476-766e-4cc2-a8a7-27a07dfb5a4b",type:r.VariableDeclaration,version:1,name:"Output Account Owner",description:null,dataType:NA,readsValue:$A,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:VA},GA={type:r.GenericReference,id:"b89ebc83-52cf-4447-a5ae-62241f713079",entityType:r.FunctionCall,entityId:"78f6dba8-bed8-44cd-8b0f-6dcc787d1e1e"},FA={id:"dc9ddb8f-02a0-4a43-aea6-270ec7b7f8a4",type:r.OutputMap,version:1,declaration:hl,writesValues:[LA],index:0,parent:GA},UA={type:r.GenericReference,id:"c1b9e125-1aad-48b7-9687-95c57a6bc10d",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},xA={type:r.GenericReference,id:"d2deaa02-e164-4425-905c-6dee47eb4eac",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},jA={type:r.GenericReference,id:"1109a655-ac62-4110-a933-42a72106f4f0",entityType:r.VariableDeclaration,entityId:"8bea6986-8da2-487b-905d-2fb962db6728"},kA={id:"7d9a1307-512e-42ec-9797-2f7229796b97",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:jA},qA={type:r.GenericReference,id:"bb61ebf7-57b3-4d14-905d-82ec907205b5",entityType:r.ArgumentDeclaration,entityId:"38f6b236-98ac-47b0-ab9c-d2f9610137b9"},JA={type:r.GenericReference,id:"6b8c7bf2-9fc8-4ea4-9ec0-f41679d513b1",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},WA={type:r.GenericReference,id:"6163d1a1-7a94-49b1-95bb-aecd8d6d335c",entityType:r.FunctionCall,entityId:"78f6dba8-bed8-44cd-8b0f-6dcc787d1e1e"},HA={type:r.GenericReference,id:"1f900f62-4bd2-4246-94aa-b8f5aad384fd",entityType:r.VariableDeclaration,entityId:"8bea6986-8da2-487b-905d-2fb962db6728"},tT={id:"be8538be-e6f9-4b94-9314-a546003ebaa0",type:r.InputMap,version:1,declaration:Km,name:null,description:null,readsValue:HA,dynamicArguments:[],defaultValue:null,index:0,parent:WA},YA={type:r.VariableDeclaration,id:"8bea6986-8da2-487b-905d-2fb962db6728",version:1,name:"Changed Account Owner",description:null,dataType:kA,readsValue:qA,writesValues:[tT],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:JA},zA={type:r.FunctionCall,id:"78f6dba8-bed8-44cd-8b0f-6dcc787d1e1e",version:1,declaration:eT,inputs:[tT],outputs:[FA],process:null,successCalls:[],errorCalls:[],calledByError:[],calledByEntry:[UA],calledBySuccess:[],parent:xA,error:null,x:0,y:0},ZA={type:r.GenericReference,id:"2d47aba1-a918-46a7-8db7-78809928654a",entityType:r.ArgumentDeclaration,entityId:"38f6b236-98ac-47b0-ab9c-d2f9610137b9"},XA={id:"5583766c-e9a5-484c-8f43-f4b0a6a1876c",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:ZA},QA={type:r.GenericReference,id:"3e2a81e4-55b2-49f5-94eb-39135e95c3d7",entityType:r.FunctionDeclaration,entityId:"15ee556d-681f-47de-a31f-16d4ba73cc4e"},KA={id:"38f6b236-98ac-47b0-ab9c-d2f9610137b9",type:r.ArgumentDeclaration,version:1,description:null,name:"New Company Owner",dataType:XA,required:!0,index:0,writesValues:[YA],parent:QA},eS={type:r.GenericReference,id:"30291b01-1b94-4d03-b434-dec122c2bc7d",entityType:r.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},tS={type:r.FunctionDeclaration,id:"15ee556d-681f-47de-a31f-16d4ba73cc4e",version:1,description:null,name:"Change Account Owner",inputs:[KA],collapsed:!0,returnStatements:[],calls:[zA],private:!1,index:0,implements:null,x:0,y:0,parent:eS},nS={type:r.GenericReference,id:"72c7ac0a-886e-4e10-b7ed-2f5a819a0233",entityType:r.Property,entityId:"b8f4656a-2b77-43ab-af51-7c32ddede044"},rS={id:"c09dd282-73f6-4077-a467-b66db20b9fc6",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:nS},iS={type:r.GenericReference,id:"8a950024-512c-4580-81db-a705410aeb99",entityType:r.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},nT={required:!0,type:r.Property,id:"b8f4656a-2b77-43ab-af51-7c32ddede044",version:1,name:"Account number",description:null,private:!0,implements:null,static:!1,index:0,dataType:rS,abstract:!1,parent:iS},aS={type:r.GenericReference,id:"b6704b6c-c3bd-49d0-8ebc-82d03e726cbb",entityType:r.Property,entityId:"733d06a6-b8c5-44f3-a1f7-a8c9bd9e44ea"},sS={id:"c03e0b0a-88ab-401a-8833-4806738bdc37",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:aS},oS={type:r.GenericReference,id:"1ef999a7-e9ed-406a-866e-e58277fc985b",entityType:r.CustomEntity,entityId:"506946aa-30da-48e6-918f-ffd9eac58813"},rT={required:!0,type:r.Property,id:"733d06a6-b8c5-44f3-a1f7-a8c9bd9e44ea",version:1,description:null,name:"Account Owner",index:1,dataType:sS,implements:null,static:!1,private:!0,abstract:!1,parent:oS},lS={type:r.GenericReference,id:"d41d7f41-98b8-4f67-be92-c349fdda5156",entityType:r.Project,entityId:J},Lr={type:r.CustomEntity,id:"506946aa-30da-48e6-918f-ffd9eac58813",version:1,name:"Bank Account",description:null,abstract:!1,static:!1,abstractMethods:[],properties:[nT,rT],methods:[eT,tS],extends:[],implements:[Be],x:0,y:0,parent:lS},Li="bitcoin-api-response-id",iT="time-property-id",aT="disclamer-property-id",sT="chart-name-property-id",oT="bpi-property-id",ss="bpi-entity-id",lT="usd-property-id",cT="gbp-property-id",dT="eur-property-id",Gr="currency-entity-id",uT="currency-code-property-id",pT="currency-symbol-property-id",yT="currency-rate-property-id",hT="currency-description-property-id",fT="currency-rate-number-property-id",cS={type:r.GenericReference,id:"code-property-data-type-parent-ref-id",entityType:r.Property,entityId:uT},dS={id:"code-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rn,isList:!1,asType:!1,isNullable:!1,defaultValue:null,options:["USD","GBP","EUR"],constant:!1,parent:cS},uS={type:r.GenericReference,id:"code-property-parent-ref-id",entityType:r.CustomEntity,entityId:Gr},pS={required:!0,type:r.Property,id:uT,version:1,name:"code",description:null,dataType:dS,index:0,implements:null,static:!1,private:!1,abstract:!1,parent:uS},yS={type:r.GenericReference,id:"symbol-property-data-type-parent-ref-id",entityType:r.Property,entityId:pT},hS={id:"symbol-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rn,isList:!1,asType:!1,isNullable:!1,defaultValue:null,options:["&#36;","&pound;","&euro;"],constant:!1,parent:yS},fS={type:r.GenericReference,id:"symbol-property-parent-ref-id",entityType:r.CustomEntity,entityId:Gr},mS={required:!0,type:r.Property,id:pT,version:1,name:"symbol",description:null,index:0,dataType:hS,implements:null,static:!1,private:!1,abstract:!1,parent:fS},TS={type:r.GenericReference,id:"rate-property-data-type-parent-ref-id",entityType:r.Property,entityId:yT},ES={id:"rate-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:TS},RS={type:r.GenericReference,id:"rate-property-parent-ref-id",entityType:r.CustomEntity,entityId:Gr},bS={required:!0,type:r.Property,id:yT,version:1,name:"rate",description:null,index:0,dataType:ES,implements:null,static:!1,private:!1,abstract:!1,parent:RS},vS={type:r.GenericReference,id:"description-property-data-type-parent-ref-id",entityType:r.Property,entityId:hT},gS={id:"description-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:vS},IS={type:r.GenericReference,id:"description-property-parent-ref-id",entityType:r.CustomEntity,entityId:Gr},PS={required:!0,type:r.Property,id:hT,version:1,name:"description",description:null,dataType:gS,implements:null,static:!1,index:0,private:!1,abstract:!1,parent:IS},DS={type:r.GenericReference,id:"rate-number-property-data-type-parent-ref-id",entityType:r.Property,entityId:fT},AS={id:"rate-number-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:DS},SS={type:r.GenericReference,id:"rate-number-property-parent-ref-id",entityType:r.CustomEntity,entityId:Gr},OS={required:!0,type:r.Property,id:fT,version:1,name:"rate_float",description:null,dataType:AS,implements:null,static:!1,index:0,private:!1,abstract:!1,parent:SS},CS={type:r.GenericReference,id:"currency-prototype-parent-ref-id",entityType:r.Project,entityId:J},os={type:r.CustomEntity,id:Gr,version:1,name:"Currency",description:"This entity describes a currency in the Bitcoin Price Index.",properties:[pS,mS,bS,PS,OS],static:!1,abstract:!1,abstractMethods:[],methods:[],extends:[],implements:[],x:0,y:0,parent:CS},BS={type:r.GenericReference,id:"usd-property-data-type-parent-ref-id",entityType:r.Property,entityId:lT},wS={id:"usd-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:os,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:BS},_S={type:r.GenericReference,id:"usd-property-parent-ref-id",entityType:r.CustomEntity,entityId:ss},MS={required:!0,id:lT,type:r.Property,version:1,name:"USD",description:null,index:0,dataType:wS,implements:null,static:!1,private:!1,abstract:!1,parent:_S},NS={type:r.GenericReference,id:"gbp-property-data-type-parent-ref-id",entityType:r.Property,entityId:cT},$S={id:"gbp-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:os,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:NS},VS={type:r.GenericReference,id:"gbp-property-parent-ref-id",entityType:r.CustomEntity,entityId:ss},LS={required:!0,id:cT,type:r.Property,version:1,name:"GBP",description:null,index:0,dataType:$S,implements:null,static:!1,private:!1,abstract:!1,parent:VS},GS={type:r.GenericReference,id:"eur-property-data-type-parent-ref-id",entityType:r.Property,entityId:dT},FS={id:"eur-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:os,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:GS},US={type:r.GenericReference,id:"eur-property-parent-ref-id",entityType:r.CustomEntity,entityId:ss},xS={required:!0,id:dT,type:r.Property,version:1,name:"EUR",description:null,implements:null,static:!1,index:0,dataType:FS,private:!1,abstract:!1,parent:US},jS={type:r.GenericReference,id:"bpi-prototype-parent-ref-id",entityType:r.Project,entityId:J},mT={type:r.CustomEntity,id:ss,version:1,name:"BPI",description:"The Bitcoin Price Index",properties:[MS,LS,xS],abstract:!1,static:!1,abstractMethods:[],methods:[],extends:[],implements:[],x:0,y:0,parent:jS},kS={type:r.GenericReference,id:"time-property-data-type-parent-ref-id",entityType:r.Property,entityId:iT},qS={id:"time-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:bo,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:kS},JS={type:r.GenericReference,id:"time-property-parent-ref-id",entityType:r.CustomEntity,entityId:Li},WS={required:!0,type:r.Property,id:iT,version:1,name:"time",description:null,index:0,dataType:qS,implements:null,static:!1,private:!1,abstract:!1,parent:JS},HS={type:r.GenericReference,id:"disclamer-property-data-type-parent-ref-id",entityType:r.Property,entityId:aT},YS={id:"disclamer-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:HS},zS={type:r.GenericReference,id:"disclamer-property-parent-ref-id",entityType:r.CustomEntity,entityId:Li},ZS={required:!0,type:r.Property,id:aT,version:1,name:"disclamer",description:null,index:0,dataType:YS,implements:null,static:!1,private:!1,abstract:!1,parent:zS},XS={type:r.GenericReference,id:"chart-name-property-data-type-parent-ref-id",entityType:r.Property,entityId:sT},QS={id:"chart-name-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:XS},KS={type:r.GenericReference,id:"chart-name-property-parent-ref-id",entityType:r.CustomEntity,entityId:Li},eO={required:!0,type:r.Property,id:sT,version:1,name:"chartName",description:null,index:0,dataType:QS,implements:null,static:!1,private:!1,abstract:!1,parent:KS},tO={type:r.GenericReference,id:"bpi-property-data-type-parent-ref-id",entityType:r.Property,entityId:oT},nO={id:"bpi-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mT,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:tO},rO={type:r.GenericReference,id:"bpi-property-parent-ref-id",entityType:r.CustomEntity,entityId:Li},iO={required:!0,type:r.Property,id:oT,version:1,name:"bpi",description:null,implements:null,index:0,dataType:nO,static:!1,private:!1,abstract:!1,parent:rO},aO={type:r.GenericReference,id:"bitcoin-api-response-parent-ref-id",entityType:r.Project,entityId:J},TT={type:r.CustomEntity,id:Li,version:1,name:"Bitcoin API Response type",description:"The type of the data structure response from the Bitcoin API call",properties:[WS,ZS,eO,iO],abstract:!1,static:!1,abstractMethods:[],methods:[],extends:[],implements:[],x:0,y:0,parent:aO},sO={type:r.GenericReference,id:"eefa0147-f873-484b-b4f3-9e6493aab183",entityType:r.ArgumentDeclaration,entityId:"f2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},oO={id:"b9f35112-dcb2-4b7c-8fb9-f196b3fa37f9",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:sO},lO={type:r.GenericReference,id:"128770d6-5e3a-4aff-bca0-ad1f32ebefa8",entityType:r.ReturnStatement,entityId:"e4e05975-c277-471a-b869-f0aed316045c"},cO={type:r.GenericReference,id:"0be84bf9-6421-42b9-980f-6a03f30cb809",entityType:r.ReturnDeclaration,entityId:"a1ec31f0-25ca-42ac-a4c4-c9ec2255f55b"},dO={id:"43daa02a-237b-4b7c-a6e9-2b8c167f6e22",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:cO},uO={type:r.GenericReference,id:"ad380383-4a47-43da-968e-75a2d603b230",entityType:r.ArgumentDeclaration,entityId:"f2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},ET={isError:!1,id:"a1ec31f0-25ca-42ac-a4c4-c9ec2255f55b",type:r.ReturnDeclaration,version:1,name:"New Company Owner",description:"The new owner of the company",dataType:dO,readsValue:uO,required:!0,index:0,parent:lO},pO={type:r.GenericReference,id:"4f24dc27-59a1-49bf-abcc-7d72b00926e4",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},yO={id:"f2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a",type:r.ArgumentDeclaration,version:1,name:"New Company Owner",description:null,dataType:oO,writesValues:[ET],required:!0,index:0,parent:pO},hO={type:r.GenericReference,id:"5c9a02f0-d2cf-4efc-828e-467f33a74dd3",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},fO={type:r.GenericReference,id:"2ff8f3da-e0c5-4f0f-b688-2c051c588786",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},mO={type:r.GenericReference,id:"195ae28c-159b-42de-80b1-2ebb8be3619f",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},RT={type:r.ReturnStatement,id:"e4e05975-c277-471a-b869-f0aed316045c",version:1,outputs:[ET],calledByError:[],calledByEntry:[fO],calledBySuccess:[],throws:null,x:0,y:0,parent:mO},TO={type:r.FunctionDeclaration,id:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4",version:1,name:"Change owner of company",description:"Change the owner of the company to a new person",inputs:[yO],calls:[RT],index:0,collapsed:!1,implements:null,returnStatements:[RT],private:!1,x:0,y:0,parent:hO},EO={type:r.GenericReference,id:"e691026f-6db0-43ec-93cd-805ae7d713e3",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},RO={type:r.GenericReference,id:"29c4e3e0-1b66-4075-b559-45b27c5cf356",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},bO={type:r.GenericReference,id:"b1289358-b185-455d-8f58-7791b15cd52a",entityType:r.ReturnStatement,entityId:"9690cd1d-ea35-4e83-823d-0c7310265fee"},vO={type:r.GenericReference,id:"d847bb49-8789-4550-bb2d-e2d551993b28",entityType:r.VariableDeclaration,entityId:"e5a8b6d0-0e6f-4e9a-9b1e-8a2b5c7f0d5a"},gO={type:r.GenericReference,id:"06535500-c37c-4915-8398-1d4e184fa5e7",entityType:r.ReturnDeclaration,entityId:"e7a35277-a0c4-46d5-aca2-bddd0c26e931"},IO={id:"d358dd91-35f7-4095-b728-3fb3c71dbc05",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Fn,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:gO},fl={isError:!1,id:"e7a35277-a0c4-46d5-aca2-bddd0c26e931",type:r.ReturnDeclaration,version:1,name:"Is name registered",description:"Whether the company name is already registered",dataType:IO,readsValue:vO,required:!0,index:0,parent:bO},bT={type:r.ReturnStatement,id:"9690cd1d-ea35-4e83-823d-0c7310265fee",version:1,outputs:[fl],calledByError:[],calledByEntry:[],calledBySuccess:[EO],throws:null,x:0,y:0,parent:RO},PO={type:r.GenericReference,id:"b3126414-4c9b-495f-901e-59f5073c8d67",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},DO={type:r.GenericReference,id:"35115c48-618b-411b-a290-d746d22fdd10",entityType:r.VariableDeclaration,entityId:"83e12ebb-c958-4dee-b750-8ab9930f0f4e"},vT={id:"a0e7b4e5-2f5f-4d4c-8f5c-1e1f1e1a1b1a",type:r.InputMap,version:1,declaration:$o,name:null,description:null,dynamicArguments:[],readsValue:DO,defaultValue:null,parent:PO,index:2},AO={type:r.GenericReference,id:"14f46eae-04a5-47d1-9c7f-28fb09b84d1d",entityType:r.VariableDeclaration,entityId:"e5a8b6d0-0e6f-4e9a-9b1e-8a2b5c7f0d5a"},SO={id:"990bd5d1-07ea-4253-acc1-d03bedd22a38",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Fn,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:AO},OO={type:r.GenericReference,id:"e4c3542a-8fb0-4b72-8d6e-3fdff812dd67",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},CO={type:r.GenericReference,id:"825f9f60-22a8-4cc6-9055-d7333f8e92f4",entityType:r.OutputMap,entityId:"8f30d787-9459-4d8d-98a2-b46fbc2006d5"},BO={type:r.GenericReference,id:"is-company-name-registered-var-called-by-ref",entityType:r.Operation,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},gT={type:r.VariableDeclaration,id:"e5a8b6d0-0e6f-4e9a-9b1e-8a2b5c7f0d5a",version:1,name:"Is name registered",description:"Whether the company name is registered with the government company registry",dataType:SO,readsValue:CO,writesValues:[fl],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[BO],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:OO},wO={type:r.GenericReference,id:"1aba021e-48ef-44ac-93d0-eaecac5895da",entityType:r.InputMap,entityId:"c3c8d6c1-3e0d-4e6c-9f9c-6b8c7d7f8e9a"},_O={type:r.GenericReference,id:"dffae7e0-0a5c-4c14-8ed2-8d680b4c4c86",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},MO={type:r.InputMap,id:"c3c8d6c1-3e0d-4e6c-9f9c-6b8c7d7f8e9a",version:1,declaration:ga,name:null,description:null,readsValue:null,defaultValue:{id:"gov-http-request-url-argument-default-value-id",type:r.PrimitiveValue,version:1,value:"https://api.publicapis.org/entries",name:g.String,valueAsType:null,parent:wO,autogeneration:null},index:1,dynamicArguments:[],parent:_O},NO={type:r.GenericReference,id:"64ae61f5-ace7-401b-926d-25f852daa60e",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},$O={id:"8f30d787-9459-4d8d-98a2-b46fbc2006d5",type:r.OutputMap,version:1,declaration:yi,index:2,writesValues:[gT],parent:NO},VO={type:r.GenericReference,id:"62a1a086-caea-4270-9c9f-a1695503e745",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},LO={id:"48cf7654-8f3e-4fcd-abc6-740876c310a0",type:r.InputMap,version:1,declaration:va,name:null,description:null,dynamicArguments:[],readsValue:null,index:0,defaultValue:null,parent:VO},GO={type:r.GenericReference,id:"b0c9c79f-f525-428d-99e7-087d3237ad62",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},FO={id:"2c1dc406-4b71-4023-87b2-abede3a111d2",type:r.InputMap,version:1,name:null,description:null,declaration:Ia,dynamicArguments:[],index:3,readsValue:null,defaultValue:null,parent:GO},UO={type:r.GenericReference,id:"9887d6c9-d75b-4c97-b722-e2e60945ea20",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},xO={id:"3fef94b2-0278-43ae-b0c5-bc7083f0a111",type:r.InputMap,version:1,declaration:Pa,name:null,description:null,dynamicArguments:[],readsValue:null,index:4,defaultValue:null,parent:UO},jO={type:r.GenericReference,id:"561275b6-5056-45d8-bf7d-8abaa4645593",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},kO={id:"3efe20a7-4d63-411e-89ef-63e277f48d66",type:r.OutputMap,version:1,declaration:Da,index:1,writesValues:[],parent:jO},qO={type:r.GenericReference,id:"3170ccc2-13de-4bfc-802a-a643be41cd42",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},JO={id:"40d34323-d7e6-440a-8016-67c05a3b66dd",type:r.OutputMap,version:1,declaration:yi,index:0,writesValues:[],parent:qO},WO={type:r.GenericReference,id:"7432fa82-f574-4c54-a8fa-4cc4376da3d5",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},HO={type:r.GenericReference,id:"8f518502-9eea-462c-8753-8bc3bf3e29a9",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},YO={type:r.GenericReference,id:"123b8f18-79d9-4166-a5f6-78ec4b461680",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},zO={type:r.GenericReference,id:"e691026f-6db0-43ec-93cd-805ae7d713e3",entityType:r.FunctionCall,entityId:"abb5d456-ee85-4800-bdd9-d409415f60d7"},ZO={type:r.GenericReference,id:"a375eedf-4811-41aa-a998-4897c69c46b9",entityType:r.ReturnDeclaration,entityId:"024a9b77-c1cd-4b67-b3ba-1935046b590d"},XO={id:"767cc5ed-20ec-4fd1-89b1-c8d19daa87d1",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Xe,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:ZO},QO={type:r.GenericReference,id:"e64b0c23-129d-4d74-8ab4-eec60e1e5b9b",entityType:r.ReturnStatement,entityId:"ea444a9e-6a5b-4138-b81f-0d5618c3c6f3"},IT={isError:!0,id:"024a9b77-c1cd-4b67-b3ba-1935046b590d",type:r.ReturnDeclaration,version:1,name:"Error",description:"The error that occurred during the HTTP request to the government company registry",dataType:XO,required:!0,readsValue:null,index:0,parent:QO},KO={type:r.ReturnStatement,id:"ea444a9e-6a5b-4138-b81f-0d5618c3c6f3",version:1,outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[zO],throws:IT,x:0,y:0,parent:YO},eC={type:r.GenericReference,id:"323814fb-9723-49ef-bbba-f882384f18e4",entityType:r.FunctionCall,entityId:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7"},tC={id:"2f63f7ba-0ff0-458a-92bc-65d1dd4df8c3",type:r.OutputMap,declaration:Lo,version:1,writesValues:[IT],index:0,parent:eC},nC={type:r.Operation,id:"4eb96d0b-025b-4ed1-ae34-0cebbb07f1e7",version:1,declaration:hi,inputs:[LO,MO,vT,FO,xO],outputs:[JO,kO,$O],process:null,calledByError:[],calledByEntry:[WO],calledBySuccess:[],successCalls:[bT,gT],errorCalls:[KO],error:tC,dynamicArguments:[],x:0,y:0,parent:HO},rC={type:r.GenericReference,id:"597b8aa2-f6f2-4f7d-bbb9-b703d02de96a",entityType:r.InputMap,entityId:"b0e7b4e5-2f5f-4d4c-8f5c-1e1f1e1a1b1a"},iC={type:r.GenericReference,id:"546d99b3-28c4-4186-93a0-ac53c1565e07",entityType:r.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},aC={id:"b0e7b4e5-2f5f-4d4c-8f5c-1e1f1e1a1b1a",type:r.InputMap,version:1,declaration:Ea,name:null,description:null,readsValue:null,defaultValue:{id:"base-query-string-map-default-value-id",type:r.PrimitiveValue,version:1,value:"?name=",name:g.String,parent:rC,valueAsType:null,autogeneration:null},dynamicArguments:[],index:0,parent:iC},sC={type:r.GenericReference,id:"6a56fb22-82e1-47c9-bf85-41c4e5986c74",entityType:r.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},oC={type:r.GenericReference,id:"191c6a6d-9bcb-441e-bf98-de0da96f5f3a",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},lC={type:r.GenericReference,id:"d8fcbb76-dae2-40cf-847a-02364721b387",entityType:r.VariableDeclaration,entityId:"83e12ebb-c958-4dee-b750-8ab9930f0f4e"},cC={id:"6a70c42b-024a-47c6-8a9d-af52be9c9b9a",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:lC},dC={type:r.GenericReference,id:"2282e2c0-ed9e-4c7b-86fc-1a364fa0fdb8",entityType:r.OutputMap,entityId:"f6c22cf8-63e4-4b2d-b649-b5ab884cf9a5"},uC={type:r.GenericReference,id:"assembled-query-string-called-by-ref",entityType:r.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},PT={type:r.VariableDeclaration,id:"83e12ebb-c958-4dee-b750-8ab9930f0f4e",version:1,name:"Query string",description:"The final, assembled query string that will be used in the HTTP request to the government company registry",dataType:cC,readsValue:dC,writesValues:[vT],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[uC],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:oC},pC={id:"f6c22cf8-63e4-4b2d-b649-b5ab884cf9a5",type:r.OutputMap,version:1,writesValues:[PT],declaration:ui,index:0,parent:sC},yC={type:r.GenericReference,id:"a1b48e7c-0301-4747-b4dd-b5af79956f7f",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},hC={type:r.GenericReference,id:"487c9235-be95-4c96-b9b5-2714b374a277",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},fC={type:r.GenericReference,id:"f6471f4f-b269-46fa-80ec-885e87a449c2",entityId:"a4106e8e-ec4f-4633-a636-09ae73135f69",entityType:r.ArgumentDeclaration},mC={type:r.GenericReference,id:"62b4afb0-6c21-4b0f-abd3-cebef7b17c28",entityType:r.Operation,entityId:"8f2094c0-e27e-465e-9280-112da0de9019"},DT={id:"08f36e2b-bad2-425c-8129-93560bec8488",version:1,type:r.InputMap,declaration:Ra,name:null,description:null,readsValue:fC,dynamicArguments:[],defaultValue:null,index:1,parent:mC},TC={type:r.Operation,id:"8f2094c0-e27e-465e-9280-112da0de9019",declaration:pi,version:1,inputs:[aC,DT],outputs:[pC],process:null,calledByError:[],calledByEntry:[yC],calledBySuccess:[],dynamicArguments:[],successCalls:[PT],errorCalls:[],error:null,x:0,y:0,parent:hC},EC={type:r.GenericReference,id:"c2e0e9b4-aa46-4974-bf8a-886b737b12fb",entityType:r.ArgumentDeclaration,entityId:"a4106e8e-ec4f-4633-a636-09ae73135f69"},RC={id:"a4279518-3bf3-44b7-a2ac-65142ca37f1c",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:EC},bC={type:r.GenericReference,id:"dc273f24-164b-4943-82f9-589b237141e2",entityType:r.FunctionDeclaration,entityId:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d"},AT={id:"a4106e8e-ec4f-4633-a636-09ae73135f69",type:r.ArgumentDeclaration,version:1,name:"Company Name to check",description:"The name of the company to check in the government registry",dataType:RC,required:!1,writesValues:[DT],index:0,parent:bC},vC={type:r.GenericReference,id:"2178a10c-1cc0-4dad-97c3-0941be6c9738",entityType:r.Project,entityId:J},ST={type:r.FunctionDeclaration,id:"e0f6e8a7-6e4b-4d0e-8a1a-6b4c1b0b7e9d",version:1,name:"Check Gov Company Registry availability",description:"Check whether the company name is already registered in the government company registry, or it is available for a new company to use.",inputs:[AT],calls:[TC,nC],returnStatements:[bT],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:vC},gC={type:r.GenericReference,id:"4d66c53c-f0f7-496a-9955-1e6c8533c5e0",entityType:r.Condition,entityId:"a8f4b0f2-5e5e-4e8f-9d7b-1b5b9b6e9a4b"},IC={type:r.GenericReference,id:"6fa0c8e0-d104-4b4d-a035-d4f6e0c49f09",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},PC={type:r.GenericReference,id:"146408d5-5336-4877-941a-777dd5871926",entityType:r.ArgumentDeclaration,entityId:"c6cf620c-1eee-4919-8578-1a0b6c088551"},DC={type:r.GenericReference,id:"34ae8f8c-548d-4654-984a-6f36affdaf49",entityType:r.FunctionCall,entityId:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},OT={id:"69b1215d-9ebf-4274-b9cb-d4a5888f5122",version:1,type:r.InputMap,declaration:AT,name:null,description:null,readsValue:PC,dynamicArguments:[],defaultValue:null,index:0,parent:DC},AC={type:r.GenericReference,id:"07540a94-dda1-40b3-8452-f209bdc87b88",entityType:r.FunctionCall,entityId:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},SC={type:r.GenericReference,id:"eaddf12a-a995-429e-90a0-13bf06efeb28",entityType:r.VariableDeclaration,entityId:"faaf3bf6-917d-40d7-aee6-5164f6646c4b"},OC={id:"7fdaf943-3ffb-48e0-b766-b86cc24090cf",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Fn,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:SC},CC={type:r.GenericReference,id:"030fb5c5-af4d-4c85-8cf0-e99edd50d2bd",entityType:r.OutputMap,entityId:"c1ec31f0-25ca-42ac-a4c4-c9ec2255f55b"},BC={type:r.GenericReference,id:"a8b618e9-c68c-48c1-8bd6-ef47c87d699e",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},wC={type:r.GenericReference,id:"is-company-name-valid-var-called-by-ref",entityType:r.FunctionCall,entityId:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a"},CT={type:r.VariableDeclaration,id:"faaf3bf6-917d-40d7-aee6-5164f6646c4b",version:1,name:"Is name valid",description:"Whether the company name is valid",dataType:OC,readsValue:CC,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[wC],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:BC},_C={id:"c1ec31f0-25ca-42ac-a4c4-c9ec2255f55b",type:r.OutputMap,version:1,declaration:fl,writesValues:[CT],index:0,parent:AC},MC={type:r.FunctionCall,id:"d2c2c3b0-5f3c-4d0d-9e4c-2d5a2c1f1e2a",version:1,declaration:ST,inputs:[OT],outputs:[_C],calledByError:[],calledByEntry:[],process:null,calledBySuccess:[gC],successCalls:[CT],errorCalls:[],error:null,x:0,y:0,parent:IC},NC={type:r.GenericReference,id:"9d0b87b4-bfed-4e02-9e84-6831c21feae2",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},$C={type:r.GenericReference,id:"74345f4f-e80d-48be-adff-d12fcea25bec",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},VC={type:r.GenericReference,id:"b39279ea-969a-4efb-a9ec-353bfd13db65",entityType:r.ArgumentDeclaration,entityId:"c6cf620c-1eee-4919-8578-1a0b6c088551"},LC={type:r.GenericReference,id:"549db613-f225-4c5b-9634-7d096717f0ff",entityType:r.Condition,entityId:"a8f4b0f2-5e5e-4e8f-9d7b-1b5b9b6e9a4b"},BT={id:"358e242c-7448-442e-ab8b-fd7fa119ea71",version:1,type:r.InputMap,declaration:kn.fixedArguments[0],name:null,description:null,dynamicArguments:[],readsValue:VC,defaultValue:null,index:0,parent:LC},GC={type:r.Condition,id:"a8f4b0f2-5e5e-4e8f-9d7b-1b5b9b6e9a4b",version:1,declaration:kn,inputs:[BT],calledByError:[],calledByEntry:[NC],calledBySuccess:[],successCalls:[MC],errorCalls:[],x:0,y:0,parent:$C},FC={type:r.GenericReference,id:"43ba1e25-f805-488f-8ae8-c58bb6215b2f",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},UC={type:r.GenericReference,id:"eb091bed-507f-4a1e-93b5-7cd2fccfe002",entityType:r.VariableDeclaration,entityId:"9c928995-0dd5-4f97-9962-56b343bc8a45"},xC={id:"d64152ea-831f-4426-9506-a39bfa170513",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Lr,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:UC},jC={type:r.GenericReference,id:"7e79c29f-f7bd-441a-a77e-c627604dae94",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},kC={type:r.GenericReference,id:"8995ce5f-d5cf-4341-a8b1-5c046cc78b89",entityType:r.ArgumentDeclaration,entityId:"7ed0f7bb-2df0-44e2-b0b3-0709dcca8071"},qC={type:r.GenericReference,id:"new-company-bank-account-var-decl-1-called-by-ref",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},wT={type:r.VariableDeclaration,id:"9c928995-0dd5-4f97-9962-56b343bc8a45",version:1,name:"New bank account",description:"The new entity value representing the new bank account of the company",dataType:xC,readsValue:kC,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[qC],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:jC},JC={type:r.GenericReference,id:"9a4887bf-d50d-43e4-bdd5-a5262f65f04b",entityType:r.ArgumentDeclaration,entityId:"7ed0f7bb-2df0-44e2-b0b3-0709dcca8071"},WC={id:"ae148c06-3143-49e9-9614-c3aca3f6fa7b",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Lr,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:JC},HC={id:"7ed0f7bb-2df0-44e2-b0b3-0709dcca8071",type:r.ArgumentDeclaration,version:1,name:"New bank account",description:"The new bank account of the company",dataType:WC,required:!0,index:1,writesValues:[wT],parent:FC},YC={type:r.GenericReference,id:"caec9cf8-3133-48d4-a390-114fa71b2933",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},zC={type:r.GenericReference,id:"cebcbad8-ca87-4c4b-be8a-312293d49892",entityType:r.FunctionDeclaration,entityId:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84"},ZC={type:r.GenericReference,id:"7b8ccfe5-f9cd-4776-a19b-80c689bbe3df",entityType:r.ArgumentDeclaration,entityId:"c6cf620c-1eee-4919-8578-1a0b6c088551"},XC={id:"2a6b4703-ac8d-4d25-8abd-48a115577fec",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:ZC},QC={id:"c6cf620c-1eee-4919-8578-1a0b6c088551",type:r.ArgumentDeclaration,version:1,name:"New company name",description:null,dataType:XC,required:!0,index:0,writesValues:[BT,OT],parent:zC},KC={type:r.FunctionDeclaration,id:"183fd975-a5d3-4dff-8d6a-c62f5a4d5a84",version:1,name:"Company changed event",description:"The event that is triggered when a company is changed",returnStatements:[],collapsed:!1,inputs:[QC,HC],calls:[GC,wT],index:1,private:!1,implements:null,x:0,y:0,parent:YC},eB={type:r.GenericReference,id:"employee-manager-property-data-type-entity-ref-id",entityType:r.CustomEntity,entityId:"employee-entity-id"},tB={type:r.GenericReference,id:"employee-manager-property-data-type-parent-ref-id",entityType:r.Property,entityId:"employee-manager-property-id"},nB={id:"employee-manager-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:eB,isList:!1,isNullable:!0,asType:!1,defaultValue:null,constant:!1,parent:tB},rB={type:r.GenericReference,id:"employee-manager-property-parent-ref-id",entityType:r.CustomEntity,entityId:"employee-entity-id"},iB={required:!0,type:r.Property,id:"employee-manager-property-id",version:1,name:"Manager",description:"The manager of the employee",index:0,implements:null,private:!1,static:!1,dataType:nB,abstract:!1,parent:rB},aB={type:r.GenericReference,id:"employee-start-date-property-data-type-parent-ref-id",entityType:r.Property,entityId:"employee-start-date-property-id"},sB={id:"employee-start-date-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Sr,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:aB},oB={type:r.GenericReference,id:"employee-start-date-property-parent-ref-id",entityType:r.CustomEntity,entityId:"employee-entity-id"},lB={required:!0,type:r.Property,id:"employee-start-date-property-id",version:1,name:"Start date",description:"The date the employee started working in the company",index:0,private:!1,static:!1,implements:null,dataType:sB,abstract:!1,parent:oB},cB={type:r.GenericReference,id:"employee-department-property-ref-id",entityType:r.Property,entityId:"employee-department-property-id"},dB={id:"employee-department-property-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Rn,isList:!1,isNullable:!1,asType:!1,options:["Human Resources","Finance","IT","Sales","Marketing","Customer Service","Logistics","Product"],defaultValue:null,constant:!1,parent:cB},uB={type:r.GenericReference,id:"employee-department-property-parent-ref-id",entityType:r.CustomEntity,entityId:"employee-entity-id"},pB={required:!0,type:r.Property,id:"employee-department-property-id",version:1,name:"Department",description:"The department the employee works in, from a list of departments in the company",index:0,implements:null,static:!1,private:!1,dataType:dB,abstract:!1,parent:uB},yB={type:r.GenericReference,id:"employee-prototype-parent-ref-id",entityType:r.Project,entityId:J},Pt={type:r.CustomEntity,id:"employee-entity-id",version:1,name:"Employee",description:"A entity that represents an employee in the company",properties:[pB,lB,iB],abstract:!1,static:!1,abstractMethods:[],methods:[],implements:[],extends:[ct],x:0,y:0,parent:yB},hB={type:r.GenericReference,id:"dec8fbfe-9124-41fd-9f1c-5b2f07cfd6ba",entityType:r.Property,entityId:"4f52d044-f3dd-4bdf-927e-637c3b92e8bd"},fB={id:"bc0b8979-6c43-4d47-a712-6742b89e3c00",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:hB},mB={type:r.GenericReference,id:"4f8c0a05-466e-4672-b4c4-6bd408c0be9a",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},TB={required:!0,type:r.Property,id:"4f52d044-f3dd-4bdf-927e-637c3b92e8bd",version:1,name:"Company Name",private:!1,static:!1,description:"The name of the company",index:0,implements:null,dataType:fB,abstract:!1,parent:mB},EB={type:r.GenericReference,id:"95173fe0-a6e6-443c-94f3-f7c5cf171fcf",entityType:r.Property,entityId:"80c86e1b-caca-4ba5-9b1f-38f72d10e4a3"},RB={id:"ddbb6f5c-0cf4-41fb-83b3-b6c47c0e338d",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Lr,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:EB},bB={type:r.GenericReference,id:"6a9a0b72-a05d-4169-b3f3-5afb01e8d0df",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},ml={required:!0,type:r.Property,id:"80c86e1b-caca-4ba5-9b1f-38f72d10e4a3",version:1,name:"Bank account",description:"The bank account of the company",index:1,implements:null,static:!1,private:!1,dataType:RB,abstract:!1,parent:bB},vB={type:r.GenericReference,id:"62892cc6-d227-4088-90d3-ae7c15ed4af4",entityType:r.Property,entityId:"19a31727-1fba-40a5-be25-18e0f149d5cb"},gB={id:"1f7629df-dc29-4c89-8369-c6d043e97a9e",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ct,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:vB},IB={type:r.GenericReference,id:"89384206-fd5a-4f0a-849c-f777473e5773",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},PB={required:!0,type:r.Property,id:"19a31727-1fba-40a5-be25-18e0f149d5cb",version:1,name:"Company Owner",description:"The person that owns the company",index:2,static:!1,implements:null,dataType:gB,private:!0,abstract:!1,parent:IB},DB={type:r.GenericReference,id:"4d2ffb6c-5f38-436e-8339-fb9878ac2b5e",entityType:r.Property,entityId:"f8310850-a87e-405c-b182-4f1d5fa49240"},AB={id:"ad44250b-40c2-48f7-a480-381fa938f562",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Pt,isList:!0,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:DB},SB={type:r.GenericReference,id:"aa5d4eee-6fac-4e72-bf21-9c8750024541",entityType:r.CustomEntity,entityId:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},OB={required:!0,type:r.Property,id:"f8310850-a87e-405c-b182-4f1d5fa49240",version:1,name:"Employees",description:null,index:3,dataType:AB,implements:null,private:!0,static:!1,abstract:!1,parent:SB},CB={type:r.GenericReference,id:"e3c03b6b-2ea0-4d99-865d-5e6a348672d0",entityType:r.Project,entityId:J},mt={type:r.CustomEntity,id:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d",version:1,name:"Company",description:null,properties:[TB,ml,PB,OB],static:!1,abstract:!1,abstractMethods:[],methods:[TO,KC],extends:[],implements:[Be],x:0,y:0,parent:CB},BB={type:r.GenericReference,id:"ffcad334-138d-4b67-8fb3-5f0e6f5fefbd",entityType:r.Project,entityId:J},Tl={type:r.FunctionDeclaration,id:"0f89260c-8c58-4639-8629-d9ea5ab40ba7",version:1,name:"Show popup",description:null,inputs:[],calls:[],returnStatements:[],implements:null,collapsed:!1,private:!1,index:null,x:0,y:0,parent:BB};r.GenericReference,r.DataType;const wB={id:"cron-job-entity-expression-property-ref-id",type:r.GenericReference,entityId:"cron-job-entity-expression-property-id",entityType:r.Property},_B={id:"cron-job-entity-expression-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:null,parent:wB},MB={id:"cron-job-entity-ref-id",type:r.GenericReference,entityId:"cron-job-entity-id",entityType:r.CustomEntity},NB={required:!0,id:"cron-job-entity-expression-property-id",type:r.Property,version:1,name:"Cron expression",description:"The cron expression that defines when the cron job should be triggered",dataType:_B,implements:null,static:!0,private:!1,abstract:!1,index:0,parent:MB},$B={id:"cron-job-entity-trigger-show-popup-func-call-called-by-ref-one-id",type:r.GenericReference,entityId:"show-popup-func-decl-id",entityType:r.FunctionDeclaration},VB={id:"cron-job-entity-trigger-show-popup-func-call-parent-ref-id",type:r.GenericReference,entityId:"cron-job-entity-trigger-func-decl-id",entityType:r.FunctionDeclaration},LB={id:"cron-job-entity-trigger-show-popup-func-call-id",version:1,type:r.FunctionCall,declaration:Tl,inputs:[],outputs:[],process:null,successCalls:[],calledByError:[],calledByEntry:[$B],calledBySuccess:[],errorCalls:[],error:null,x:0,y:0,parent:VB},GB={id:"cron-job-entity-trigger-func-decl-parent-ref-id",type:r.GenericReference,entityId:"cron-job-entity-id",entityType:r.CustomEntity},FB={id:"cron-job-entity-trigger-func-decl-id",version:1,type:r.FunctionDeclaration,name:"Scheduled trigger",description:"The function that is called when the cron job is triggered",inputs:[],private:!1,implements:ko,calls:[LB],collapsed:!1,returnStatements:[],index:0,x:0,y:0,parent:GB},UB={id:"cron-job-entity-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},xB={id:"cron-job-entity-id",version:1,type:r.CustomEntity,name:"Run at 12pm on Christmas day",description:"A cron job that runs at 12pm on Christmas day",properties:[NB],static:!0,abstract:!1,abstractMethods:[],extends:[qo],implements:[],methods:[FB],x:0,y:0,parent:UB},jB={type:r.GenericReference,id:"52dbd85c-48b1-462a-8205-2437d6fb1cb4",entityType:r.Project,entityId:J},kB={type:r.CustomEntity,id:"6f0908c2-09c6-4a8b-8f43-d2467fe6fb39",version:1,name:"Get bank all bank accounts",description:null,properties:[],static:!0,abstract:!1,abstractMethods:[],methods:[],extends:[],implements:[Oa],x:0,y:0,parent:jB},_T="f558fbf8-67de-4545-9804-6ae621e0b2d4",qB={id:"getCompanyByIdEndpointPathParamsVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointPathParamsVariableDataType"},JB={id:"getCompanyByIdEndpointPathParamsArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"getCompanyByIdEndpointPathParamsArgumentDeclaration"},WB={id:"getCompanyByIdEndpointPathParamsVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:F,asType:!1,defaultValue:{id:"getCompanyByIdEndpointPathParamsVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:qB,autogeneration:null,valueAsType:null},parent:JB},HB={id:"getCompanyByIdEndpointReachedEntityEventRef",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},YB={id:"getCompanyByIdEndpointRequestHeadersVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointRequestHeadersVariableDataType"},zB={id:"getCompanyByIdEndpointRequestHeadersArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"getCompanyByIdEndpointRequestHeadersArgumentDeclaration"},ZB={id:"getCompanyByIdEndpointRequestHeadersVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Xe,asType:!1,defaultValue:{id:"getCompanyByIdEndpointRequestHeadersVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:YB,autogeneration:null,valueAsType:null},parent:zB},XB={id:"getCompanyByIdEndpointRequestHeadersArgumentDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the request.",type:r.ArgumentDeclaration,writesValues:[],name:"Request headers",dataType:ZB,required:!0,index:0,parent:HB},QB={id:"getCompanyByIdEndpointReachedEntityEventRefTwo",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},KB={id:"getCompanyByIdEndpointPathParamsArgumentDeclaration",type:r.ArgumentDeclaration,description:"A standarized text, without spaces that is added at the end of the domain and routes the request to a specific resource within the target server. For example: /api/users/123, /api/users/123/:name, /api/users/123/:name/:age.",version:1,name:"Path parameters",writesValues:[],dataType:WB,required:!0,index:1,parent:QB},ew={id:"getCompanyByIdEndpointReachedEntityEventRefThree",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},tw={id:"getCompanyByIdEndpointRequestQueryParamsVariableDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointRequestQueryParamsVariableDataType"},nw={id:"getCompanyByIdEndpointRequestQueryParamsArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"getCompanyByIdEndpointRequestQueryParamsArgumentDeclaration"},rw={id:"getCompanyByIdEndpointRequestQueryParamsVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,asType:!1,entity:F,defaultValue:{id:"getCompanyByIdEndpointRequestQueryParamsVariableDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:tw,autogeneration:null,valueAsType:null},parent:nw},iw={id:"getCompanyByIdEndpointRequestQueryParamsArgumentDeclaration",version:1,description:"A text with standarized format, without spaces that is added at the end of the URL path, after the ? character. It contains data that might be used to process the request. For example: /api/users?name=John&age=30",type:r.ArgumentDeclaration,writesValues:[],name:"Request query params",dataType:rw,required:!0,index:2,parent:ew},aw={id:"getCompanyByIdEndpointReachedEntityEventRefFour",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},sw={id:"getCompanyByIdEndpointRequestBodyArgumentDeclarationRef",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:"getCompanyByIdEndpointRequestBodyArgumentDeclaration"},ow={id:"getCompanyByIdEndpointRequestBodyVariableDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:Xe,defaultValue:null,parent:sw},lw={id:"getCompanyByIdEndpointRequestBodyArgumentDeclaration",version:1,description:"The main data payload of the request.",type:r.ArgumentDeclaration,writesValues:[],name:"Request body",dataType:ow,index:3,required:!0,parent:aw},cw={id:"getCompanyByIdEndpointResponseCodeReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"getCompanyByIdEndpointResponseCodeReturnDeclaration"},dw={id:"9ba575b0-6f8e-436d-a3de-3b843622aa17",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:cw},uw={id:"getCompanyByIdEndpointReturnStatementRef",type:r.GenericReference,entityType:r.ReturnStatement,entityId:"getCompanyByIdEndpointReturnStatement"},pw={isError:!1,id:"getCompanyByIdEndpointResponseCodeReturnDeclaration",version:1,description:"A standarized number that represents the status of the response. 200 for OK, 404 for not found, 500 for server error, etc.",type:r.ReturnDeclaration,name:"Response code",dataType:dw,readsValue:null,required:!0,index:0,parent:uw},yw={id:"getCompanyByIdEndpointResponseHeadersDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointResponseHeadersDataType"},hw={id:"getCompanyByIdEndpointResponseHeadersReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"getCompanyByIdEndpointResponseHeadersReturnDeclaration"},fw={id:"getCompanyByIdEndpointResponseHeadersDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!0,isNullable:!1,constant:!1,entity:Xe,asType:!1,defaultValue:{id:"getCompanyByIdEndpointResponseHeadersDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.JSON,value:{},parent:yw,autogeneration:null,valueAsType:null},parent:hw},mw={id:"getCompanyByIdEndpointReturnStatementRefTwo",type:r.GenericReference,entityType:r.ReturnStatement,entityId:"getCompanyByIdEndpointReturnStatement"},Tw={isError:!1,id:"getCompanyByIdEndpointResponseHeadersReturnDeclaration",version:1,description:"A set of any properties, with names and value that transmit metadata about the response.",type:r.ReturnDeclaration,name:"Response headers",dataType:fw,readsValue:null,required:!0,index:1,parent:mw},Ew={id:"getCompanyByIdEndpointResponseBodyReturnDeclarationRef",type:r.GenericReference,entityType:r.ReturnDeclaration,entityId:"getCompanyByIdEndpointResponseBodyReturnDeclaration"},Rw={id:"getCompanyByIdEndpointResponseBodyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,asType:!1,constant:!1,entity:Xe,defaultValue:null,parent:Ew},bw={id:"getCompanyByIdEndpointReturnStatementRefThree",type:r.GenericReference,entityType:r.ReturnStatement,entityId:"getCompanyByIdEndpointReturnStatement"},vw={isError:!1,id:"getCompanyByIdEndpointResponseBodyReturnDeclaration",version:1,description:"The main data payload of the response.",type:r.ReturnDeclaration,name:"Response body",dataType:Rw,readsValue:null,required:!0,index:2,parent:bw},gw={id:"getCompanyByIdEndpointReturnStatementCallerRef",type:r.GenericReference,entityId:"getCompanyByIdEndpointReachedEntityEvent",entityType:r.FunctionDeclaration},Iw={id:"getCompanyByIdEndpointReachedEntityEventRefFive",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"getCompanyByIdEndpointReachedEntityEvent"},Pw={id:"getCompanyByIdEndpointReturnStatement",type:r.ReturnStatement,version:1,outputs:[pw,Tw,vw],calledByError:[],calledByEntry:[gw],calledBySuccess:[],throws:null,x:0,y:0,parent:Iw},Dw={id:"endpointBuiltInBaseEntityRefFour",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_T},Aw={id:"getCompanyByIdEndpointReachedEntityEvent",name:"Endpoint reached",version:1,type:r.FunctionDeclaration,inputs:[XB,KB,iw,lw],returnStatements:[Pw],description:"Fired when the endpoint is reached.",calls:[],collapsed:!1,implements:xo,index:0,private:!1,x:0,y:0,parent:Dw},Sw={id:"getCompanyByIdEndpointPathPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointPathPropertyDataType"},Ow={id:"getCompanyByIdEndpointPathPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:"getCompanyByIdEndpointPathProperty"},Cw={id:"getCompanyByIdEndpointPathPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!0,entity:F,asType:!1,defaultValue:{id:"getCompanyByIdEndpointPathPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,name:g.String,value:"/company/{id}",parent:Sw,valueAsType:null,autogeneration:null},parent:Ow},Bw={id:"getCompanyByIdEndpointBaseEntityRefTwo",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},ww={required:!0,id:"getCompanyByIdEndpointPathProperty",name:"Path",version:1,type:r.Property,private:!1,abstract:!1,static:!0,implements:Fo,dataType:Cw,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:Bw},_w={id:"getCompanyByIdEndpointMethodPropertyDataTypeRef",type:r.GenericReference,entityType:r.DataType,entityId:"getCompanyByIdEndpointMethodPropertyDataType"},Mw={id:"getCompanyByIdEndpointMethodPropertyRef",type:r.GenericReference,entityType:r.Property,entityId:"getCompanyByIdEndpointMethodProperty"},Nw={id:"getCompanyByIdEndpointMethodPropertyDataType",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Rn,isList:!0,isNullable:!1,constant:!0,asType:!1,defaultValue:{id:"getCompanyByIdEndpointMethodPropertyDataTypeDefaultValueId",type:r.PrimitiveValue,version:1,value:"GET",name:g.Enum,parent:_w,valueAsType:null,autogeneration:null},options:["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","TRACE","CONNECT","CUSTOM"],parent:Mw},$w={id:"getCompanyByIdEndpointBaseEntityRefThree",type:r.GenericReference,entityType:r.BuiltInBaseEntity,entityId:_.HTTP_ENDPOINT},Vw={required:!0,id:"getCompanyByIdEndpointMethodProperty",name:"Method",version:1,type:r.Property,private:!1,abstract:!1,static:!0,implements:Uo,index:0,dataType:Nw,description:null,parent:$w},Lw={type:r.GenericReference,id:"6a905153-8aa8-4424-bd7b-6415731a2725",entityType:r.Project,entityId:J},Gw={type:r.CustomEntity,id:_T,version:1,name:"Get given company data by id",description:null,properties:[ww,Vw],methods:[Aw],static:!0,abstract:!1,abstractMethods:[],extends:[],implements:[Oa],x:0,y:0,parent:Lw},Fw={id:"product-prototype-database-property-ref-id",type:r.GenericReference,entityId:"product-prototype-database-property-id",entityType:r.Property},Uw={id:"product-prototype-database-property-data-type-default-value-parent-ref-id",type:r.GenericReference,entityId:"product-prototype-database-property-data-type-default-value-id",entityType:r.DataType},xw={id:"product-prototype-database-property-data-type-id",version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,isList:!1,isNullable:!1,constant:!1,entity:bn,asType:!1,defaultValue:{id:"product-prototype-database-property-data-type-default-value-id",type:r.PrimitiveValue,version:1,value:null,name:g.EntityTemplate,valueAsType:pl,autogeneration:null,parent:Uw},parent:Fw},jw={id:"product-prototype-database-property-parent-ref-id",type:r.GenericReference,entityId:"de67fc84-3719-46fd-9ab4-3fca3a3cc50d",entityType:r.CustomEntity},kw={required:!0,id:"product-prototype-database-property-id",name:"Database",version:1,type:r.Property,private:!1,abstract:!1,implements:mi,static:!0,index:0,dataType:xw,description:"The database that the entity belongs to.",parent:jw},qw={type:r.GenericReference,id:"13a4045e-dcb0-4159-8d33-10a646078b5a",entityType:r.Property,entityId:"d519c26a-15b8-40d8-ad09-13fa9342e9ba"},Jw={id:"7449779e-1d4e-409c-81c6-4b611336ed18",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:qw},Ww={type:r.GenericReference,id:"0969562f-d836-406f-8b48-dd9d417fbe72",entityType:r.CustomEntity,entityId:"a2d0ec83-72ce-4f54-b059-a39e018fa86c"},Hw={required:!0,type:r.Property,id:"d519c26a-15b8-40d8-ad09-13fa9342e9ba",version:1,name:"Name",description:"The name of the product",index:0,implements:null,static:!1,private:!1,dataType:Jw,abstract:!1,parent:Ww},Yw={type:r.GenericReference,id:"833a5425-7bd0-41dd-9e97-e018acce9592",entityType:r.Project,entityId:J},zw={type:r.CustomEntity,id:"a2d0ec83-72ce-4f54-b059-a39e018fa86c",version:1,name:"Product",description:"A product that can be sold",implements:[Be],extends:[],abstract:!1,static:!1,abstractMethods:[],properties:[kw,Hw],methods:[],x:0,y:0,parent:Yw},Gi="project-loaded-event-id",Wt="get-bitcoin-price-http-call-operation-id",MT="get-bitcoin-price-http-call-response-body-id",ls="validate-bitcoin-price-response-operation-ids",Zw={type:r.GenericReference,id:"validate-bitcoin-data-to-validate-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:MT},Xw={type:r.GenericReference,id:"validate-bitcoin-data-to-validate-input-map-parent-ref-id",entityType:r.Operation,entityId:ls},NT={id:"validate-bitcoin-data-to-validate-input-map-id",type:r.InputMap,version:1,declaration:xn.fixedArguments[1],name:null,description:null,readsValue:Zw,defaultValue:null,dynamicArguments:[],index:0,parent:Xw},Qw={type:r.GenericReference,id:"validate-bitcoin-type-to-match-input-map-default-value-parent-ref-id",entityType:r.InputMap,entityId:"validate-bitcoin-type-to-match-input-map-id"},Kw={type:r.GenericReference,id:"validate-bitcoin-type-to-match-input-map-parent-ref-id",entityType:r.Operation,entityId:ls},e_={id:"validate-bitcoin-type-to-match-input-map-id",type:r.InputMap,version:1,declaration:xn.fixedArguments[0],name:null,description:null,readsValue:null,defaultValue:{id:"validate-bitcoin-type-to-match-input-map-default-value-id",type:r.PrimitiveValue,version:1,name:g.EntityTemplate,valueAsType:TT,value:null,parent:Qw,autogeneration:null},dynamicArguments:[],index:0,parent:Kw},t_={type:r.GenericReference,id:"validate-bitcoin-validated-entity-output-map-parent-ref-id",entityType:r.Operation,entityId:ls},n_={id:"validate-bitcoin-validated-entity-output-map-id",type:r.OutputMap,version:1,declaration:xn.fixedReturns[0],writesValues:[],index:0,parent:t_},r_={type:r.GenericReference,id:"validate-bitcoin-price-response-operation-parent-ref-id",entityType:r.GlobalEvent,entityId:Gi},i_={type:r.GenericReference,id:"validate-bitcoin-price-response-operation-called-by-ref-id",entityType:r.Operation,entityId:Wt},a_={type:r.Operation,id:ls,version:1,declaration:xn,inputs:[e_,NT],outputs:[n_],process:null,dynamicArguments:[],successCalls:[],errorCalls:[],error:null,x:0,y:0,calledByError:[],calledByEntry:[],calledBySuccess:[i_],parent:r_},s_={type:r.GenericReference,id:"96edb661-3f36-406c-8921-f1679dd796a3",entityType:r.FunctionCall,entityId:Wt},o_={id:"c93e1393-9b5e-4de2-b8da-7eae647d715a",version:1,type:r.InputMap,declaration:va,name:null,description:null,readsValue:null,defaultValue:null,dynamicArguments:[],index:0,parent:s_},l_={type:r.GenericReference,id:"40312b28-71b8-4b01-a654-58b87191939d",entityType:r.FunctionCall,entityId:Wt},c_={type:r.GenericReference,id:"6ea96c7d-02a7-4971-82ad-2f32a0fec8b4",entityType:r.InputMap,entityId:"9f21cbac-5a83-4983-8923-9224ffd3ba9f"},d_={id:"9f21cbac-5a83-4983-8923-9224ffd3ba9f",version:1,type:r.InputMap,declaration:ga,name:null,description:null,readsValue:null,defaultValue:{id:"get-bitcoin-price-http-request-url-argument-default-value-id",type:r.PrimitiveValue,version:1,value:"https://api.coindesk.com/v1/bpi/currentprice.json",name:g.String,parent:c_,valueAsType:null,autogeneration:null},index:1,dynamicArguments:[],parent:l_},u_={type:r.GenericReference,id:"2610bf4a-c8a2-4746-b6cc-eb15f7fa8e9c",entityType:r.FunctionCall,entityId:Wt},p_={id:"ffb3cd9d-c955-4104-bc7b-299120fe4ede",version:1,type:r.InputMap,declaration:Ia,name:null,description:null,readsValue:null,dynamicArguments:[],defaultValue:null,index:2,parent:u_},y_={type:r.GenericReference,id:"bfd29a6a-671a-448c-9f2f-f8c7e4ad8349",entityType:r.FunctionCall,entityId:Wt},h_={id:"412bf1f3-1a8e-4665-a95f-82117540e34e",version:1,type:r.InputMap,declaration:Pa,name:null,description:null,readsValue:null,dynamicArguments:[],defaultValue:null,index:3,parent:y_},f_={type:r.GenericReference,id:"616a15f3-c224-4b11-b95c-63314edef409",entityType:r.FunctionCall,entityId:Wt},m_={id:"4dd4651c-02e4-45f1-b50f-824f3bcb1648",version:1,type:r.OutputMap,declaration:Da,writesValues:[],index:1,parent:f_},T_={type:r.GenericReference,id:"28793b68-4d7e-4826-aee1-f201a3499faf",entityType:r.FunctionCall,entityId:Wt},E_={id:"94fe9d35-4dd4-4729-a50c-5283ccd7e661",version:1,type:r.OutputMap,declaration:Vo,writesValues:[],index:0,parent:T_},R_={type:r.GenericReference,id:"f13e04b2-49b4-4c69-85b8-cbbafafa3524",entityType:r.FunctionCall,entityId:Wt},b_={id:MT,type:r.OutputMap,version:1,declaration:yi,writesValues:[NT],index:2,parent:R_},v_={type:r.GenericReference,id:"6148d6d0-caaa-45fc-b601-ff2493dfc60f",entityType:r.FunctionDeclaration,entityId:Wt},g_={type:r.GenericReference,id:"b115f084-807b-44b3-ae01-b69cc342f761",entityType:r.GlobalEvent,entityId:Gi},I_={type:r.Operation,id:Wt,version:1,declaration:hi,inputs:[o_,d_,p_,h_],outputs:[E_,m_,b_],process:null,parent:g_,calledByError:[],calledByEntry:[v_],calledBySuccess:[],dynamicArguments:[],successCalls:[a_],errorCalls:[],error:null,x:0,y:0},P_={type:r.GenericReference,id:"24e76019-3f94-475b-91ce-297f76bbc224",entityType:r.GlobalEvent,entityId:Gi},D_={type:r.GenericReference,id:"0eac8e29-cdf2-42f8-8ea7-ad76d4d79abe",entityType:r.GlobalEvent,entityId:Gi},A_={process:null,type:r.FunctionCall,id:"2d2e7593-bfbf-457c-a607-5fce18eef457",version:1,declaration:Tl,inputs:[],outputs:[],calledByError:[],calledByEntry:[P_],calledBySuccess:[],parent:D_,successCalls:[],errorCalls:[],error:null,x:0,y:0},S_={id:"793b5999-a9da-47fb-9665-0c17ebc6d5c9",type:r.GenericReference,entityType:r.Project,entityId:"2e7eb5382-3d99-44fd-972a-b8b1e819f6be"},O_={type:r.GlobalEvent,id:Gi,version:1,name:Kt.PROJECT_PUBLICATION_COMPLETED,returnStatements:[],collapsed:!1,implements:Ma,parent:S_,inputs:[],calls:[A_,I_],x:0,y:0},Bt="abort-execution-func-declaration-id",Fi="abort-execution-func-exec-var-declaration-id",cs="abort-execution-func-small-wait-op-id",El="abort-execution-func-long-wait-op-id",$T="abort-execution-func-long-wait-process-output-id",VT="abort-execution-func-exec-var-instance-write-id",LT="abort-execution-func-long-wait-return-stmt-id",GT="abort-execution-func-small-wait-return-stmt-id",C_="abort-execution-func-exec-var-instance-abort-call-id",Rl="abort-execution-func-exec-var-instance-abort-internal-call-id",FT="abort-execution-func-exec-second-wait-op-id",B_={type:r.GenericReference,id:"short-wait-return-statement-returned-hello-string-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:"short-wait-return-statement-returned-hello-string-id"},w_={type:r.GenericReference,id:"short-wait-return-statement-returned-hello-string-data-type-default-value-parent-ref-id",entityType:r.DataType,entityId:"short-wait-return-statement-returned-hello-string-data-type-id"},__={id:"short-wait-return-statement-returned-hello-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:{id:"short-wait-return-statement-returned-hello-string-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:"Hello 2",autogeneration:null,valueAsType:null,parent:w_},constant:!1,parent:B_},M_={type:r.GenericReference,id:"short-wait-return-statement-returned-hello-string-parent-ref-id",entityType:r.ReturnStatement,entityId:GT},N_={isError:!1,id:"short-wait-return-statement-returned-hello-string-id",type:r.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:__,readsValue:null,required:!0,index:0,parent:M_},$_={type:r.GenericReference,id:"short-wait-return-statement-called-by-ref-id",entityType:r.Operation,entityId:cs},V_={type:r.GenericReference,id:"short-wait-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},UT={type:r.ReturnStatement,id:GT,version:1,outputs:[N_],calledByError:[],calledByEntry:[],calledBySuccess:[$_],throws:null,x:0,y:0,parent:V_},L_={type:r.GenericReference,id:"second-wait-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:"second-wait-argument-map-id"},G_={type:r.GenericReference,id:"second-wait-argument-map-parent-ref-id",entityType:r.Operation,entityId:FT},F_={id:"second-wait-argument-map-id",type:r.InputMap,version:1,declaration:Un,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"second-wait-argument-default-value-id",type:r.PrimitiveValue,version:1,value:2e3,valueAsType:null,autogeneration:null,name:g.Number,parent:L_},index:0,parent:G_},U_={type:r.GenericReference,id:"small-wait-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},x_={type:r.GenericReference,id:"small-wait-called-by-ref-one-id",entityType:r.InternalCall,entityId:Rl},j_={id:FT,type:r.Operation,version:1,declaration:ot,inputs:[F_],dynamicArguments:[],outputs:[],process:null,successCalls:[UT],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[],calledBySuccess:[x_],error:null,parent:U_},k_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-abort-internal-call-called-by-ref-one-id",entityType:r.VariableInstance,entityId:VT},q_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-abort-internal-call-called-by-ref-two-id",entityType:r.Operation,entityId:cs},J_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-main-project-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},W_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-declaration-ref-id",entityType:r.VariableDeclaration,entityId:Fi},H_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-internal-call-ref-one-id",entityType:r.InternalCall,entityId:Rl},Y_={id:C_,type:r.VariableInstance,version:1,declaration:W_,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[H_],parent:J_},xT={id:Rl,type:r.InternalCall,version:1,inputs:[],outputs:[],declaration:Jo,process:null,calledByError:[],calledByEntry:[],calledBySuccess:[k_,q_],successCalls:[j_],errorCalls:[],error:null,index:0,parent:Y_},z_={type:r.GenericReference,id:"abort-exec-func-var-write-instance-main-project-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},Z_={type:r.GenericReference,id:"abort-exec-func-var-write-instance-called-by-ref-one-id",entityType:r.VariableDeclaration,entityId:Fi},X_={type:r.GenericReference,id:"abort-exec-func-var-write-instance-called-by-ref-two-id",entityType:r.FunctionDeclaration,entityId:Bt},Q_={type:r.GenericReference,id:"abort-exec-func-abort-call-var-instance-declaration-ref-id",entityType:r.VariableDeclaration,entityId:Fi},K_={type:r.GenericReference,id:"abort-exec-func-var-write-instance-reads-value-ref-id",entityType:r.OutputMap,entityId:$T},bl={id:VT,type:r.VariableInstance,version:1,declaration:Q_,inputs:[],outputs:[],calledByError:[],calledByEntry:[X_],calledBySuccess:[Z_],successCalls:[xT],errorCalls:[],x:0,y:0,readsValue:K_,writesValues:[],internalCalls:[],parent:z_},eM={type:r.GenericReference,id:"abort-exec-func-var-decl-datatype-parent-ref-id",entityType:r.VariableDeclaration,entityId:Fi};r.GenericReference,r.DataType;const tM={id:"abort-exec-func-var-decl-datatype-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Wo,version:1,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:eM,defaultValue:null},nM={type:r.GenericReference,id:"abort-exec-func-var-decl-main-project-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},rM={type:r.GenericReference,id:"abort-exec-func-var-decl-called-by-ref-one-id",entityType:r.FunctionDeclaration,entityId:Bt},iM={id:Fi,type:r.VariableDeclaration,version:1,name:"Execution in progress",description:"A variable that holds an ongoing execution to abort it if needed",dataType:tM,inputs:[],outputs:[],calledByError:[],calledByEntry:[rM],calledBySuccess:[],successCalls:[bl],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:nM},aM={type:r.GenericReference,id:"long-wait-return-statement-returned-hello-string-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:"long-wait-return-statement-returned-hello-string-id"},sM={type:r.GenericReference,id:"long-wait-return-statement-returned-hello-string-data-type-default-value-parent-ref-id",entityType:r.DataType,entityId:"long-wait-return-statement-returned-hello-string-data-type-id"},oM={id:"long-wait-return-statement-returned-hello-string-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,asType:!1,isList:!1,isNullable:!1,defaultValue:{id:"long-wait-return-statement-returned-hello-string-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.String,value:"Hello 1",autogeneration:null,valueAsType:null,parent:sM},constant:!1,parent:aM},lM={type:r.GenericReference,id:"long-wait-return-statement-returned-hello-string-parent-ref-id",entityType:r.ReturnStatement,entityId:LT},cM={isError:!1,id:"long-wait-return-statement-returned-hello-string-id",type:r.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:oM,readsValue:null,required:!0,index:0,parent:lM},dM={type:r.GenericReference,id:"long-wait-return-statement-called-by-ref-id",entityType:r.Operation,entityId:El},uM={type:r.GenericReference,id:"long-wait-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},jT={type:r.ReturnStatement,id:LT,version:1,outputs:[cM],calledByError:[],calledByEntry:[],calledBySuccess:[dM],throws:null,x:0,y:0,parent:uM},pM={type:r.GenericReference,id:"long-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:"long-argument-map-id"},kT={type:r.GenericReference,id:"long-argument-map-parent-ref-id",entityType:r.Operation,entityId:El},yM={id:"long-argument-map-id",type:r.InputMap,version:1,declaration:Un,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"long-argument-default-value-id",type:r.PrimitiveValue,version:1,value:1500,valueAsType:null,autogeneration:null,name:g.Number,parent:pM},index:0,parent:kT},hM={type:r.GenericReference,id:"long-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},fM={type:r.GenericReference,id:"long-called-by-ref-one-id",entityType:r.FunctionDeclaration,entityId:Bt},mM={id:$T,type:r.OutputMap,version:1,declaration:Yo,writesValues:[bl],index:0,parent:kT},TM={id:El,type:r.Operation,version:1,declaration:ot,inputs:[yM],dynamicArguments:[],outputs:[],process:mM,successCalls:[jT],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[fM],calledBySuccess:[],error:null,parent:hM},EM={type:r.GenericReference,id:"small-wait-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:"small-wait-argument-map-id"},RM={type:r.GenericReference,id:"small-wait-argument-map-parent-ref-id",entityType:r.Operation,entityId:cs},bM={id:"small-wait-argument-map-id",type:r.InputMap,version:1,declaration:Un,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"small-wait-argument-default-value-id",type:r.PrimitiveValue,version:1,value:500,valueAsType:null,autogeneration:null,name:g.Number,parent:EM},index:0,parent:RM},vM={type:r.GenericReference,id:"small-wait-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Bt},gM={type:r.GenericReference,id:"small-wait-called-by-ref-one-id",entityType:r.FunctionDeclaration,entityId:Bt},IM={id:cs,type:r.Operation,version:1,declaration:ot,inputs:[bM],dynamicArguments:[],outputs:[],process:null,successCalls:[xT],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[gM],calledBySuccess:[],error:null,parent:vM},PM={type:r.GenericReference,id:"abort-execution-func-decl-parent-ref-id",entityType:r.Project,entityId:J},qT={id:"abort-execution-func-decl-id",type:r.FunctionDeclaration,version:1,name:"Test aborting execution",description:"Executes a wait and then aborts the execution of that wait",inputs:[],returnStatements:[jT,UT],calls:[IM,iM,bl,TM],implements:null,private:!1,collapsed:!1,index:null,x:0,y:0,parent:PM},DM={type:r.GenericReference,id:"call-execution-abort-func-parent-ref-id",entityType:r.Project,entityId:J},AM={id:"call-execution-abort-func-id",type:r.FunctionCall,version:1,declaration:qT,inputs:[],process:null,outputs:[],successCalls:[],errorCalls:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[],x:0,y:0,parent:DM},vl="manual-hello-world-loop-func-decl-id",JT="manual-hello-world-loop-func-return-statement-id",an="manual-hello-world-loop-id",Ui="manual-hello-world-loop-body-id",WT="manual-hello-world-loop-break-statement-id",ds="manual-hello-world-loop-current-iteration-number-output-map-id",gl="manual-hello-world-loop-previous-iterations-results-output-map-id",Il="assembled-hello-world-text-output-id",HT="assembled-hello-world-list-output-id",xi="iteration-number-is-equal-or-greater-than-10-condition-id",us="join-hello-world-and-number-operation-id",ps="append-string-to-list-operation-id",YT="hello-world-loop-output-map-id",SM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-output-declaration-parent-ref",entityType:r.ReturnStatement,entityId:JT},OM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-output-declaration-data-type-parent-ref",entityType:r.ReturnDeclaration,entityId:"manual-hello-world-loop-function-declaration-output-declaration"},CM={id:"manual-hello-world-loop-function-declaration-output-declaration-data-type",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!0,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:OM},BM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-output-declaration-reads-value-ref",entityType:r.OutputMap,entityId:YT},zT={isError:!1,id:"manual-hello-world-loop-function-declaration-output-declaration",version:1,type:r.ReturnDeclaration,name:"Results",description:null,dataType:CM,readsValue:BM,required:!0,index:0,parent:SM},wM={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-return-statement-called-by-ref",entityType:r.Loop,entityId:an},_M={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-parent-ref",entityType:r.FunctionDeclaration,entityId:vl},ZT={type:r.ReturnStatement,id:JT,version:1,outputs:[zT],calledByError:[],calledByEntry:[],calledBySuccess:[wM],parent:_M,throws:null,x:0,y:0},MM={type:r.GenericReference,id:"hello-world-loop-break-statement-ref-id",entityType:r.BreakStatement,entityId:WT},NM={type:r.GenericReference,id:"hello-world-loop-break-statement-output-data-type-ref-id",entityType:r.ReturnDeclaration,entityId:"hello-world-loop-break-statement-output-id"},$M={id:"hello-world-loop-break-statement-output-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!0,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:NM},VM={type:r.GenericReference,id:"hello-world-loop-break-statement-reads-value-ref-id",entityType:r.OutputMap,entityId:Il},Pl={isError:!1,id:"hello-world-loop-break-statement-output-id",version:1,type:r.ReturnDeclaration,name:"Iteration result",description:null,dataType:$M,readsValue:VM,required:!0,index:0,parent:MM},LM={type:r.GenericReference,id:"hello-world-loop-break-statement-called-by-ref-id",entityType:r.Condition,entityId:xi},GM={type:r.GenericReference,id:"hello-world-loop-break-statement-parent-ref-id",entityType:r.Loop,entityId:an},XT={type:r.BreakStatement,id:WT,version:1,outputs:[Pl],calledByError:[],calledByEntry:[],calledBySuccess:[LM],parent:GM,throws:null,x:0,y:0},FM={type:r.GenericReference,id:"hello-world-loop-continue-statement-ref-id",entityType:r.ContinueStatement,entityId:"hello-world-loop-continue-statement"},UM={type:r.GenericReference,id:"hello-world-loop-continue-statement-output-data-type-ref-id",entityType:r.ReturnDeclaration,entityId:"hello-world-loop-continue-statement-output-id"},xM={id:"hello-world-loop-continue-statement-output-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:null,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:UM},jM={type:r.GenericReference,id:"hello-world-loop-continue-statement-reads-value-ref-id",entityType:r.OutputMap,entityId:Il},QT={isError:!1,id:"hello-world-loop-continue-statement-output-id",version:1,type:r.ReturnDeclaration,name:"Iteration result",description:null,dataType:xM,readsValue:jM,required:!0,index:0,parent:FM},kM={type:r.GenericReference,id:"hello-world-loop-continue-statement-called-by-ref-id",entityType:r.Condition,entityId:xi},qM={type:r.GenericReference,id:"hello-world-loop-continue-statement-parent-ref-id",entityType:r.Loop,entityId:an},KT={type:r.ContinueStatement,id:"hello-world-loop-continue-statement",version:1,outputs:[QT],calledBySuccess:[],calledByError:[kM],calledByEntry:[],parent:qM,throws:null,x:0,y:0};r.GenericReference,r.InputMap;const JM={type:r.GenericReference,id:"append-string-to-list-base-string-map-parent-ref-id",entityType:r.Operation,entityId:ps},WM={type:r.GenericReference,id:"base-string-map-reads-value-ref-id",entityType:r.OutputMap,entityId:gl},eE={id:"append-string-to-list-base-string-map-id",type:r.InputMap,version:1,declaration:Oo,name:null,description:null,readsValue:WM,defaultValue:null,dynamicArguments:[],index:0,parent:JM},HM={type:r.GenericReference,id:"assembly-string-map-parent-ref-id",entityType:r.Operation,entityId:ps},YM={id:HT,type:r.OutputMap,version:1,writesValues:[Pl],declaration:ui,index:0,parent:HM},zM={type:r.GenericReference,id:"append-string-to-list-called-by-ref-id",entityType:r.Condition,entityId:xi},ZM={type:r.GenericReference,id:"latest-string-to-add-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:HT},XM={type:r.GenericReference,id:"62b4afb0-6c21-4b0f-abd3-cebef7b17c28",entityType:r.Operation,entityId:ps},tE={id:"latest-string-to-add-input-map-id",version:1,type:r.InputMap,declaration:Co,name:null,description:null,readsValue:ZM,dynamicArguments:[],defaultValue:null,index:1,parent:XM},QM={type:r.GenericReference,id:"append-string-to-list-parent-ref-id",entityType:r.FunctionDeclaration,entityId:an},KM={type:r.Operation,id:ps,declaration:ba,version:1,inputs:[eE,tE],outputs:[YM],calledByError:[],process:null,calledByEntry:[],calledBySuccess:[zM],dynamicArguments:[],successCalls:[],errorCalls:[],error:null,x:0,y:0,parent:QM},eN={type:r.GenericReference,id:"iteration-number-is-equal-or-greater-than-10-condition-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Ui},tN={type:r.GenericReference,id:"iteration-number-is-equal-or-greater-than-10-condition-parent-ref-id",entityType:r.Loop,entityId:an},nN={type:r.GenericReference,id:"current-iteration-number-to-check-map-reads-value-ref-id",entityType:r.OutputMap,entityId:ds},nE={type:r.GenericReference,id:"iteration-number-is-equal-or-greater-than-10-condition-ref-two-id",entityType:r.Condition,entityId:xi},rN={id:"current-iteration-number-to-check-map-id",version:1,type:r.InputMap,declaration:Br.fixedArguments[0],name:null,description:null,dynamicArguments:[],readsValue:nN,index:1,defaultValue:null,parent:nE},iN={type:r.GenericReference,id:"max-num-iterations-value-map-default-value-parent-ref-id",entityType:r.InputMap,entityId:"max-num-iterations-value-map-id"},aN={id:"max-num-iterations-value-map-id",version:1,type:r.InputMap,declaration:Br.fixedArguments[1],name:null,description:null,dynamicArguments:[],readsValue:null,index:0,defaultValue:{id:"max-num-iterations-value-map-default-value-id",type:r.PrimitiveValue,version:1,name:g.Number,value:10,autogeneration:null,valueAsType:null,parent:iN},parent:nE},sN={type:r.Condition,id:xi,version:1,declaration:Br,inputs:[aN,rN],calledByError:[],calledByEntry:[eN],calledBySuccess:[],successCalls:[XT,KM],errorCalls:[KT],x:0,y:0,parent:tN},oN={type:r.GenericReference,id:"base-string-map-ref-id",entityType:r.InputMap,entityId:"join-hello-world-and-number-base-string-map-id"},lN={type:r.GenericReference,id:"join-hello-world-and-number-base-string-map-parent-ref-id",entityType:r.Operation,entityId:us},cN={id:"join-hello-world-and-number-base-string-map-id",type:r.InputMap,version:1,declaration:Ea,name:null,description:null,readsValue:null,defaultValue:{id:"join-hello-world-and-number-base-string-map-default-value-id",type:r.PrimitiveValue,version:1,value:"Hello world ",name:g.String,parent:oN,valueAsType:null,autogeneration:null},dynamicArguments:[],index:0,parent:lN},dN={type:r.GenericReference,id:"assembly-string-map-parent-ref-id",entityType:r.Operation,entityId:us},uN={id:Il,type:r.OutputMap,version:1,writesValues:[tE,QT],declaration:ui,index:0,parent:dN},pN={type:r.GenericReference,id:"join-hello-world-and-number-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Ui},yN={type:r.GenericReference,id:"current-iteration-number-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:ds},hN={type:r.GenericReference,id:"62b4afb0-6c21-4b0f-abd3-cebef7b17c28",entityType:r.Operation,entityId:us},rE={id:"current-iteration-number-input-map-id",version:1,type:r.InputMap,declaration:Ra,name:null,description:null,readsValue:yN,dynamicArguments:[],defaultValue:null,index:1,parent:hN},fN={type:r.GenericReference,id:"join-hello-world-and-number-parent-ref-id",entityType:r.FunctionDeclaration,entityId:an},mN={type:r.Operation,id:us,declaration:pi,version:1,inputs:[cN,rE],outputs:[uN],process:null,calledByError:[],calledByEntry:[pN],calledBySuccess:[],dynamicArguments:[],successCalls:[],errorCalls:[],error:null,x:0,y:0,parent:fN},TN={id:"manual-hello-world-loop-iterations-results-declaration-data-type-parent-ref-id",type:r.GenericReference,entityId:gl,entityType:r.ArgumentDeclaration},EN={id:"manual-hello-world-loop-iterations-results-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!0,isNullable:!1,constant:!1,entity:null,asType:!1,defaultValue:null,parent:TN},RN={id:"manual-hello-world-loop-previous-iterations-results-output-map-parent-ref-id",type:r.GenericReference,entityId:Ui,entityType:r.FunctionDeclaration},bN={id:gl,type:r.ArgumentDeclaration,version:1,name:"Previous iterations results",description:"The results of the previous iterations of the loop.",required:!0,dataType:EN,writesValues:[eE],index:1,parent:RN},vN={id:"manual-hello-world-loop-current-iteration-number-output-map-parent-ref-id",type:r.GenericReference,entityId:Ui,entityType:r.FunctionDeclaration},gN={id:"manual-flow-loop-current-iteration-number-declaration-data-type-parent-ref-id",type:r.GenericReference,entityId:ds,entityType:r.ArgumentDeclaration};r.DataType;const IN={id:ds,type:r.ArgumentDeclaration,version:1,name:"Current iteration number",description:"The number of the current iteration of the loop. Starts at 1.",required:!0,dataType:null,writesValues:[rE],index:0,parent:vN},PN={id:"manual-flow-loop-body-parent-ref-id",type:r.GenericReference,entityId:an,entityType:r.Loop},DN={id:Ui,type:r.FunctionDeclaration,version:1,name:"Iteration logic trigger",description:"This function is called multiple times, once for each iteration of the loop.",inputs:[IN,bN],calls:[sN,mN],implements:null,collapsed:!1,returnStatements:[],private:!1,index:0,x:0,y:0,parent:PN},AN={type:r.GenericReference,id:"hello-world-loop-break-statement-output-map-parent-ref-id",entityType:r.Loop,entityId:an},SN={type:r.OutputMap,id:YT,version:1,declaration:Pl,writesValues:[zT],index:0,parent:AN},ON={id:"manual-hello-world-loop-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},CN={id:"manual-hello-world-loop-called-by-ref-id",type:r.GenericReference,entityId:vl,entityType:r.FunctionDeclaration},BN={id:an,type:r.Loop,version:1,declaration:Go,inputs:[],outputs:[SN],body:DN,successCalls:[ZT],errorCalls:[],process:null,error:null,calledByError:[],calledByEntry:[CN],calledBySuccess:[],breakStatements:[XT],continueStatements:[KT],x:0,y:0,parent:ON},wN={type:r.GenericReference,id:"manual-hello-world-loop-function-declaration-parent-ref-id",entityType:r.Project,entityId:J},iE={type:r.FunctionDeclaration,id:vl,version:1,name:"Manual hello world loop",description:null,inputs:[],calls:[BN],returnStatements:[ZT],implements:null,collapsed:!1,private:!1,index:null,x:0,y:0,parent:wN},_N={type:r.GenericReference,id:"call-hello-world-loop-parent-ref-id",entityType:r.Project,entityId:J},MN={id:"call-hello-world-loop-id",type:r.FunctionCall,version:1,declaration:iE,inputs:[],outputs:[],process:null,successCalls:[],errorCalls:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[],x:0,y:0,parent:_N},sn="company-dto-function-declaration-id",Dl="company-dto-func-declaration-argument-dcl-id",Ht="company-dto-function-company-variable-id",Cn="company-dto-function-company-dto-variable-id",Fr="iterate-over-employee-list-loop-id",aE="iterate-over-employee-list-loop-employee-dto-output-map-id",Al="iterate-over-employee-list-loop-body-current-employee-argument-declaration-id",ji="iterate-over-employee-list-loop-body-map-employee-dto-function-call-id",sE="iterate-over-employee-list-continue-statement-employee-dto-output-decl-id",NN="iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-dto-output-map-id",oE="iterate-over-employee-list-continue-statement-id",ys="iterate-over-employee-list-loop-body-id",lE="company-dto-func-declaration-return-statement-id",cE="company-dto-func-declaration-return-decl-id",dE="company-dto-func-declaration-company-variable-id-output-map-id",uE="company-dto-func-declaration-company-variable-employess-output-map-id",pE="company-dto-func-declaration-company-variable-name-output-map-id",$N="company-dto-func-declaration-company-dto-variable-input-map-id",VN="company-dto-func-declaration-company-dto-variable-employess-input-map-id",LN="company-dto-func-declaration-company-dto-variable-name-input-map-id",hs="company-dto-func-declaration-owner-variable-id",GN="company-dto-func-declaration-company-dto-variable-owner-input-map-id",yE="company-dto-func-declaration-company-variable-owner-output-map-id",hE="company-dto-func-declaration-owner-variable-id-output-map-id",fs="company-dto-func-declaration-bank-account-variable-id",FN="company-dto-func-declaration-company-dto-variable-bank-account-input-map-id",fE="company-dto-func-declaration-company-variable-bank-account-output-map-id",mE="company-dto-func-declaration-bank-account-variable-id-output-map-id",UN={type:r.GenericReference,id:"company-dto-func-returned-company-dto-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:cE},xN={id:"company-dto-func-returned-company-dto-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:UN},jN={type:r.GenericReference,id:"company-dto-func-returned-company-dto-parent-ref-id",entityType:r.ReturnStatement,entityId:lE},kN={type:r.GenericReference,id:"company-dto-func-returned-company-dto-reads-value-ref-id",entityType:r.VariableDeclaration,entityId:Cn},TE={isError:!1,id:cE,type:r.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:xN,readsValue:kN,required:!0,index:0,parent:jN},qN={type:r.GenericReference,id:"company-dto-func-return-statement-called-by-ref-id",entityType:r.Operation,entityId:Cn},JN={type:r.GenericReference,id:"company-dto-func-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn},Sl={type:r.ReturnStatement,id:lE,version:1,outputs:[TE],calledByError:[],calledByEntry:[],calledBySuccess:[qN],throws:null,x:0,y:0,parent:JN},WN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-owner-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:hE},HN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-owner-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Cn},EE={id:GN,type:r.InputMap,version:1,declaration:null,name:"owner_id",description:null,defaultValue:null,dynamicArguments:[],index:5,readsValue:WN,parent:HN},YN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-bank-account-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:mE},zN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-bank-account-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Cn},RE={id:FN,type:r.InputMap,version:1,declaration:null,name:"bank_account_id",description:null,defaultValue:null,dynamicArguments:[],index:4,readsValue:YN,parent:zN},ZN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-name-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:pE},XN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-name-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Cn},bE={id:LN,type:r.InputMap,version:1,declaration:null,name:"name",description:null,defaultValue:null,dynamicArguments:[],index:3,readsValue:ZN,parent:XN},QN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-employess-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:aE},KN={type:r.GenericReference,id:"company-dto-func-company-dto-variable-employess-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Cn},vE={id:VN,type:r.InputMap,version:1,declaration:null,name:"employees",description:null,defaultValue:null,dynamicArguments:[],index:2,readsValue:QN,parent:KN},e0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-id-output-map-reads-value-ref-id",entityType:r.OutputMap,entityId:dE},t0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Cn},gE={id:$N,type:r.InputMap,version:1,declaration:null,name:"id",description:"The ID of the company",defaultValue:null,dynamicArguments:[],index:1,readsValue:e0,parent:t0},n0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn},r0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-called-by-ref-one-id",entityType:r.VariableDeclaration,entityId:fs},i0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-called-by-ref-two-id",entityType:r.VariableDeclaration,entityId:hs},a0={type:r.GenericReference,id:"company-dto-func-company-dto-variable-called-by-ref-three-id",entityType:r.VariableDeclaration,entityId:Fr},Ol={id:Cn,type:r.VariableDeclaration,version:1,name:"Company DTO",dataType:null,description:"A variable holding the data of a mapped company DTO",calledByError:[],calledByEntry:[],calledBySuccess:[r0,i0,a0],successCalls:[Sl],errorCalls:[],readsValue:null,writesValues:[TE],inputs:[gE,bE,RE,EE,vE],outputs:[],internalCalls:[],parent:n0,x:0,y:0},Yn="employee-dto-func-declaration-id",Cl="employee-dto-func-declaration-argument-dcl-id",IE="employee-dto-func-declaration-return-statement-id",PE="employee-dto-func-declaration-return-decl-id",zn="employee-dto-func-declaration-employee-variable-id",Zn="employee-dto-func-declaration-employee-dto-variable-id",ms="employee-dto-func-declaration-manager-variable-id",DE="employee-dto-func-declaration-employee-variable-id-output-map-id",AE="employee-dto-func-declaration-employee-variable-birth-date-output-map-id",SE="employee-dto-func-declaration-employee-variable-department-output-map-id",OE="employee-dto-func-declaration-employee-variable-manager-output-map-id",CE="employee-dto-func-declaration-manager-variable-id-output-map-id",s0="employee-dto-func-declaration-employee-dto-variable-input-map-id",o0="employee-dto-func-declaration-employee-dto-variable-birth-date-input-map-id",l0="employee-dto-func-declaration-employee-dto-variable-department-input-map-id",c0="employee-dto-func-declaration-employee-dto-variable-manager-input-map-id",d0={type:r.GenericReference,id:"employee-dto-func-returned-employee-dto-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:PE},u0={id:"employee-dto-func-returned-employee-dto-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:d0},p0={type:r.GenericReference,id:"employee-dto-func-returned-employee-dto-parent-ref-id",entityType:r.ReturnStatement,entityId:IE},y0={type:r.GenericReference,id:"employee-dto-func-returned-employee-dto-reads-value-ref-id",entityType:r.VariableDeclaration,entityId:Zn},BE={isError:!1,id:PE,type:r.ReturnDeclaration,version:1,name:"Employee DTO",description:"Output the employee data in the format that it will be sent through an HTTP request.",dataType:u0,readsValue:y0,required:!0,index:0,parent:p0},h0={type:r.GenericReference,id:"employee-dto-func-return-statement-called-by-ref-id",entityType:r.Operation,entityId:Zn},f0={type:r.GenericReference,id:"employee-dto-func-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Yn},Bl={type:r.ReturnStatement,id:IE,version:1,outputs:[BE],calledByError:[],calledByEntry:[],calledBySuccess:[h0],throws:null,x:0,y:0,parent:f0},m0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-manager-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:CE},T0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-manager-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zn},wE={id:c0,type:r.InputMap,version:1,declaration:null,name:"manager_id",description:null,defaultValue:null,dynamicArguments:[],index:4,readsValue:m0,parent:T0},E0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-department-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:SE},R0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-department-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zn},_E={id:l0,type:r.InputMap,version:1,declaration:null,name:"department_name",description:null,defaultValue:null,dynamicArguments:[],index:3,readsValue:E0,parent:R0},b0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-birth-date-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:AE},v0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-birth-date-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zn},ME={id:o0,type:r.InputMap,version:1,declaration:null,name:"birth_date",description:null,defaultValue:null,dynamicArguments:[],index:2,readsValue:b0,parent:v0},g0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-id-output-map-reads-value-ref-id",entityType:r.OutputMap,entityId:DE},I0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zn},NE={id:s0,type:r.InputMap,version:1,declaration:null,name:"id",description:"The ID of the employee",defaultValue:null,dynamicArguments:[],index:1,readsValue:g0,parent:I0},P0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Yn},D0={type:r.GenericReference,id:"employee-dto-func-employee-dto-variable-called-by-ref-id",entityType:r.VariableDeclaration,entityId:ms},A0={id:Zn,type:r.VariableDeclaration,version:1,name:"Employee DTO",dataType:null,description:"A variable holding the data of a mapped employee DTO",calledByError:[],calledByEntry:[],calledBySuccess:[D0],successCalls:[Bl],errorCalls:[],readsValue:null,writesValues:[BE],inputs:[NE,ME,_E,wE],outputs:[],internalCalls:[],parent:P0,x:0,y:0},S0={type:r.GenericReference,id:"employee-dto-func-manager-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:ms},O0={id:CE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[wE],parent:S0},C0={type:r.GenericReference,id:"employee-dto-func-manager-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:ms},B0={id:"employee-dto-func-manager-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Pt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:C0,defaultValue:null},w0={type:r.GenericReference,id:"employee-dto-func-manager-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:OE},_0={type:r.GenericReference,id:"employee-dto-func-manager-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Yn};r.GenericReference,r.VariableDeclaration;const $E={id:ms,type:r.VariableDeclaration,version:1,name:"Manager",dataType:B0,description:"A variable holding an inherited manager",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[A0],errorCalls:[],readsValue:w0,writesValues:[],inputs:[],outputs:[O0],internalCalls:[],parent:_0,x:0,y:0},M0={type:r.GenericReference,id:"employee-dto-func-employee-variable-manager-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:zn},N0={id:OE,type:r.OutputMap,version:1,declaration:Pt.properties[2],index:3,writesValues:[$E],parent:M0},$0={type:r.GenericReference,id:"employee-dto-func-employee-variable-department-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:zn},V0={id:SE,type:r.OutputMap,version:1,declaration:Pt.properties[0],index:2,writesValues:[_E],parent:$0},L0={type:r.GenericReference,id:"employee-dto-func-employee-variable-birth-date-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:zn},G0={id:AE,type:r.OutputMap,version:1,declaration:ct.properties[1],index:1,writesValues:[ME],parent:L0},F0={type:r.GenericReference,id:"employee-dto-func-employee-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:zn},U0={id:DE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[NE],parent:F0},x0={type:r.GenericReference,id:"employee-dto-func-employee-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:zn},j0={id:"employee-dto-func-employee-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Pt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:x0,defaultValue:null},k0={type:r.GenericReference,id:"employee-dto-func-employee-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Yn},q0={type:r.GenericReference,id:"employee-dto-func-employee-variable-reads-value-ref-id",entityType:r.ArgumentDeclaration,entityId:Cl},J0={type:r.GenericReference,id:"employee-dto-func-employee-variable-called-by-id",entityType:r.FunctionDeclaration,entityId:Yn},VE={id:zn,type:r.VariableDeclaration,version:1,name:"Company employee",dataType:j0,description:"A variable holding a company employee",calledByError:[],calledByEntry:[J0],calledBySuccess:[],successCalls:[$E],errorCalls:[],readsValue:q0,writesValues:[],inputs:[],outputs:[U0,G0,V0,N0],internalCalls:[],parent:k0,x:0,y:0},W0={type:r.GenericReference,id:"employee-dto-func-declaration-employee-input-declaration-data-type-parent-ref-id",entityId:Cl,entityType:r.ArgumentDeclaration},H0={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"employee-dto-func-declaration-employee-input-declaration-data-type-id",version:1,entity:Pt,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:W0,defaultValue:null},Y0={type:r.GenericReference,id:"employee-dto-func-declaration-employee-input-declaration-parent-ref-id",entityId:Yn,entityType:r.FunctionDeclaration},z0={type:r.ArgumentDeclaration,id:Cl,version:1,name:"Employee",description:"The employee to create a DTO for",required:!0,dataType:H0,index:0,writesValues:[VE],parent:Y0},Z0={type:r.GenericReference,id:"employee-dto-function-declaration-parent-ref-id",entityType:r.Project,entityId:J},wl={type:r.FunctionDeclaration,id:Yn,version:1,name:"Employee DTO",description:"Takes a employee and returns a DTO of that employee",index:null,inputs:[z0],calls:[VE],implements:null,returnStatements:[Bl],collapsed:!1,private:!1,x:0,y:0,parent:Z0},X0={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-data-type-parent-ref-id",type:r.GenericReference,entityId:sE,entityType:r.ReturnDeclaration},Q0={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,defaultValue:null,entity:Pt,isList:!1,isNullable:!1,asType:!1,constant:!1,parent:X0},K0={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-reads-value-ref-id",type:r.GenericReference,entityId:ji,entityType:r.OutputMap},e1={id:"iterate-over-employee-list-continue-statement-employee-dto-output-decl-parent-ref-id",type:r.GenericReference,entityId:oE,entityType:r.ContinueStatement},LE={isError:!1,id:sE,type:r.ReturnDeclaration,version:1,name:"Employee DTO",description:"The DTO of the employee entity.",readsValue:K0,dataType:Q0,required:!0,index:0,parent:e1},t1={id:"iterate-over-employee-list-continue-statement-called-by-ref-id",type:r.GenericReference,entityId:ji,entityType:r.FunctionCall},n1={id:"iterate-over-employee-list-continue-statement-parent-ref-id",type:r.GenericReference,entityId:Fr,entityType:r.Loop},GE={id:oE,type:r.ContinueStatement,version:1,calledByError:[],calledByEntry:[],calledBySuccess:[t1],outputs:[LE],throws:null,x:0,y:0,parent:n1},r1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-dto-output-map-parent-ref-id",type:r.GenericReference,entityId:ji,entityType:r.FunctionCall},i1={id:NN,type:r.OutputMap,version:1,declaration:Bl.outputs[0],writesValues:[LE],index:0,parent:r1},a1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-input-map-reads-value-ref-id",type:r.GenericReference,entityId:Al,entityType:r.ArgumentDeclaration},s1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-input-map-parent-ref-id",type:r.GenericReference,entityId:ji,entityType:r.FunctionCall},FE={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-employee-input-map-id",type:r.InputMap,version:1,name:null,description:null,declaration:wl.inputs[0],readsValue:a1,index:0,defaultValue:null,dynamicArguments:[],parent:s1},o1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-called-by-ref-id",type:r.GenericReference,entityId:ys,entityType:r.FunctionDeclaration},l1={id:"iterate-over-employee-list-loop-body-map-employee-dto-function-call-parent-ref-id",type:r.GenericReference,entityId:ys,entityType:r.FunctionDeclaration},c1={id:ji,type:r.FunctionCall,version:1,declaration:wl,inputs:[FE],process:null,outputs:[i1],calledByError:[],calledByEntry:[o1],calledBySuccess:[],successCalls:[GE],errorCalls:[],error:null,x:0,y:0,parent:l1},d1={type:r.GenericReference,id:"iterate-over-employee-list-loop-body-current-employee-argument-declaration-data-type-parent-ref-id",entityId:Al,entityType:r.ArgumentDeclaration},u1={id:"iterate-over-employee-list-loop-body-current-employee-argument-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,defaultValue:null,entity:Pt,isList:!1,isNullable:!1,asType:!1,constant:!1,parent:d1},p1={id:"iterate-over-employee-list-loop-body-current-employee-argument-declaration-parent-ref-id",type:r.GenericReference,entityId:ys,entityType:r.FunctionDeclaration},y1={id:Al,type:r.ArgumentDeclaration,version:1,name:"Current employee",description:"The current employee entity being processed.",dataType:u1,required:!0,index:0,writesValues:[FE],parent:p1},h1={id:"iterate-over-employee-list-loop-body-parent-ref-id",type:r.GenericReference,entityId:Fr,entityType:r.Loop},f1={id:ys,type:r.FunctionDeclaration,version:1,name:"Iteration logic trigger",description:"This function is called once for each entity in the list.",inputs:[y1],calls:[c1],implements:null,collapsed:!1,returnStatements:[],private:!1,index:0,x:0,y:0,parent:h1},m1={id:"iterate-over-employee-list-loop-iteration-list-input-map-parent-ref-id",type:r.GenericReference,entityId:Fr,entityType:r.Loop},T1={id:"iterate-over-employee-list-loop-iteration-list-input-map-reads-value-ref-id",type:r.GenericReference,entityId:uE,entityType:r.OutputMap},UE={id:"iterate-over-employee-list-loop-iteration-list-input-map-id",type:r.InputMap,version:1,name:null,description:null,declaration:jn.fixedArguments[0],defaultValue:null,dynamicArguments:[],readsValue:T1,index:0,parent:m1},E1={id:"iterate-over-employee-list-loop-parent-ref-id",type:r.GenericReference,entityId:sn,entityType:r.FunctionDeclaration},R1={id:"iterate-over-employee-list-loop-employee-dto-output-map-parent-ref-id",type:r.GenericReference,entityId:Fr,entityType:r.Loop},b1={id:aE,type:r.OutputMap,version:1,declaration:jn.fixedReturns[0],writesValues:[vE],index:0,parent:R1},v1={type:r.GenericReference,id:"iterate-over-employee-list-loop-called-by-ref-id",entityType:r.VariableDeclaration,entityId:Ht},g1={id:Fr,type:r.Loop,version:1,declaration:jn,inputs:[UE],successCalls:[Ol],errorCalls:[],outputs:[b1],body:f1,process:null,calledByError:[],calledByEntry:[],calledBySuccess:[v1],breakStatements:[],continueStatements:[GE],error:null,x:0,y:0,parent:E1},I1={type:r.GenericReference,id:"company-dto-func-bank-account-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:fs},P1={id:mE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[RE],parent:I1},D1={type:r.GenericReference,id:"company-dto-func-bank-account-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:fs},A1={id:"company-dto-func-bank-account-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:D1,defaultValue:null},S1={type:r.GenericReference,id:"company-dto-func-bank-account-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:fE},O1={type:r.GenericReference,id:"company-dto-func-bank-account-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn};r.GenericReference,r.VariableDeclaration;const xE={id:fs,type:r.VariableDeclaration,version:1,name:"Bank account",dataType:A1,description:"A variable holding an inherited bank account",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[Ol],errorCalls:[],readsValue:S1,writesValues:[],inputs:[],outputs:[P1],internalCalls:[],parent:O1,x:0,y:0},C1={type:r.GenericReference,id:"company-dto-func-owner-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:hs},B1={id:hE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[EE],parent:C1},w1={type:r.GenericReference,id:"company-dto-func-owner-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:hs},_1={id:"company-dto-func-owner-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:w1,defaultValue:null},M1={type:r.GenericReference,id:"company-dto-func-owner-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:yE},N1={type:r.GenericReference,id:"company-dto-func-owner-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn};r.GenericReference,r.VariableDeclaration;const jE={id:hs,type:r.VariableDeclaration,version:1,name:"Owner",dataType:_1,description:"A variable holding an inherited owner",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[Ol],errorCalls:[],readsValue:M1,writesValues:[],inputs:[],outputs:[B1],internalCalls:[],parent:N1,x:0,y:0},$1={type:r.GenericReference,id:"company-dto-func-company-variable-owner-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},V1={id:yE,type:r.OutputMap,version:1,declaration:mt.properties[2],index:4,writesValues:[jE],parent:$1},L1={type:r.GenericReference,id:"company-dto-func-company-variable-bank-account-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},G1={id:fE,type:r.OutputMap,version:1,declaration:mt.properties[2],index:3,writesValues:[xE],parent:L1},F1={type:r.GenericReference,id:"company-dto-func-company-variable-name-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},U1={id:pE,type:r.OutputMap,version:1,declaration:mt.properties[0],index:2,writesValues:[bE],parent:F1},x1={type:r.GenericReference,id:"company-dto-func-company-variable-employess-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},j1={id:uE,type:r.OutputMap,version:1,declaration:mt.properties[3],index:1,writesValues:[UE],parent:x1},k1={type:r.GenericReference,id:"company-dto-func-company-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},q1={id:dE,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[gE],parent:k1},J1={type:r.GenericReference,id:"company-dto-func-company-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:Ht},W1={id:"company-dto-func-company-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:J1,defaultValue:null},H1={type:r.GenericReference,id:"company-dto-func-company-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:sn},Y1={type:r.GenericReference,id:"company-dto-func-company-variable-reads-value-ref-id",entityType:r.ArgumentDeclaration,entityId:Dl},z1={type:r.GenericReference,id:"company-dto-func-company-variable-called-by-id",entityType:r.FunctionDeclaration,entityId:sn},kE={id:Ht,type:r.VariableDeclaration,version:1,name:"Company",dataType:W1,description:"A variable holding a company",calledByError:[],calledByEntry:[z1],calledBySuccess:[],successCalls:[xE,jE,g1],errorCalls:[],readsValue:Y1,writesValues:[],inputs:[],outputs:[q1,j1,U1,G1,V1],internalCalls:[],parent:H1,x:0,y:0},Z1={type:r.GenericReference,id:"company-dto-func-declaration-company-input-declaration-data-type-parent-ref-id",entityId:Dl,entityType:r.ArgumentDeclaration},X1={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"company-dto-func-declaration-company-input-declaration-data-type-id",version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:Z1,defaultValue:null},Q1={type:r.GenericReference,id:"company-dto-func-declaration-company-input-declaration-parent-ref-id",entityId:sn,entityType:r.FunctionDeclaration},K1={type:r.ArgumentDeclaration,id:Dl,version:1,name:"Company",description:"The company to create a DTO for",required:!0,dataType:X1,index:0,writesValues:[kE],parent:Q1},e$={type:r.GenericReference,id:"company-dto-function-declaration-parent-ref-id",entityType:r.Project,entityId:J},_l={type:r.FunctionDeclaration,id:sn,version:1,name:"Company DTO",description:"Takes a company and returns a DTO of that company",inputs:[K1],calls:[kE],implements:null,index:null,returnStatements:[Sl],collapsed:!1,private:!1,x:0,y:0,parent:e$},ki="exec-in-parallel-operation-call-id",qi="exec-sequentially-operation-call-id",dt="concurrency-and-wait-function-declaration-id",qE="concurrency-and-wait-return-statement-id",JE="concurrency-and-wait-return-declaration-id",Ml="exec-in-parallel-argument-map-id",WE="exec-sequentially-argument-map-id",Nl="wait-for-2-seconds-operation-id",HE="wait-for-2-seconds-argument-map-id",$l="map-company-dto-function-call-id",YE="map-company-dto-function-call-company-dto-output-map-id",Ji="company-dto-variable-one-id",Vl="company-dto-variable-one-instance-id",t$="company-dto-variable-two-id",n$={type:r.GenericReference,id:"returned-company-dto-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:JE},r$={id:"returned-company-dto-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:n$},i$={type:r.GenericReference,id:"returned-company-dto-parent-ref-id",entityType:r.ReturnStatement,entityId:qE},a$={type:r.GenericReference,id:"returned-company-dto-reads-value-ref-id",entityType:r.VariableDeclaration,entityId:Ji},zE={isError:!1,id:JE,type:r.ReturnDeclaration,version:1,name:"Company DTO",description:"Output the company data in the format that it will be sent through an HTTP request.",dataType:r$,readsValue:a$,required:!0,index:0,parent:i$},s$={type:r.GenericReference,id:"concurrency-and-wait-return-statement-called-by-ref-id",entityType:r.Operation,entityId:Nl},o$={type:r.GenericReference,id:"concurrency-and-wait-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},ZE={type:r.ReturnStatement,id:qE,version:1,outputs:[zE],calledByError:[],calledByEntry:[],calledBySuccess:[s$],throws:null,x:0,y:0,parent:o$},l$={type:r.GenericReference,id:"company-dto-variable-two-called-by-ref-id",entityType:r.VariableInstance,entityId:Vl},c$={type:r.GenericReference,id:"company-dto-variable-two-reads-value-ref-id",entityType:r.VariableInstance,entityId:Vl},d$={type:r.GenericReference,id:"company-dto-variable-two-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},XE={id:t$,type:r.VariableDeclaration,version:1,name:"Company DTO",description:null,dataType:null,inputs:[],outputs:[],successCalls:[],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[l$],internalCalls:[],writesValues:[zE],readsValue:c$,x:0,y:0,parent:d$},u$={type:r.GenericReference,id:"company-dto-variable-one-instance-called-by-ref-id",entityType:r.VariableDeclaration,entityId:Ji},p$={type:r.GenericReference,id:"company-dto-variable-one-instance-reads-value-ref-id",entityType:r.VariableDeclaration,entityId:Ji},y$={type:r.GenericReference,id:"company-dto-variable-one-instance-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},h$={type:r.GenericReference,id:"company-dto-variable-one-instance-declaration-ref-id",entityType:r.VariableDeclaration,entityId:Ji},QE={id:Vl,type:r.VariableInstance,version:1,declaration:h$,inputs:[],outputs:[],successCalls:[XE],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[u$],internalCalls:[],writesValues:[XE],readsValue:p$,x:0,y:0,parent:y$},f$={type:r.GenericReference,id:"company-dto-variable-one-called-by-ref-id",entityType:r.FunctionCall,entityId:$l},m$={type:r.GenericReference,id:"company-dto-variable-one-reads-value-ref-id",entityType:r.OutputMap,entityId:YE},T$={type:r.GenericReference,id:"company-dto-variable-one-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},KE={id:Ji,type:r.VariableDeclaration,version:1,name:"Company DTO",description:null,dataType:null,inputs:[],outputs:[],successCalls:[QE],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[f$],internalCalls:[],writesValues:[QE],readsValue:m$,x:0,y:0,parent:T$},eR={type:r.GenericReference,id:"map-company-dto-function-call-company-input-map-parent-ref-id",entityType:r.FunctionCall,entityId:$l},E$={id:"map-company-dto-function-call-company-input-map-id",type:r.InputMap,version:1,declaration:_l.inputs[0],name:null,description:null,defaultValue:null,dynamicArguments:[],index:0,readsValue:null,parent:eR},R$={id:YE,type:r.OutputMap,version:1,declaration:Sl.outputs[0],writesValues:[KE],index:0,parent:eR},b$={id:"map-company-dto-function-call-called-by-ref-id",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:dt},v$={id:"map-company-dto-function-call-parent-ref-id",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:dt},g$={id:$l,type:r.FunctionCall,version:1,declaration:_l,successCalls:[KE],process:null,errorCalls:[],inputs:[E$],outputs:[R$],calledByError:[],calledByEntry:[b$],calledBySuccess:[],parent:v$,x:0,y:0,error:null},I$={type:r.GenericReference,id:"last-timestamp-variable-datatype-parent-ref-id",entityType:r.VariableDeclaration,entityId:Zm},P$={type:r.GenericReference,id:"last-timestamp-variable-default-value-parent-ref-id",entityType:r.DataType,entityId:"last-timestamp-variable-datatype-id"},D$={id:"last-timestamp-variable-datatype-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Sr,version:1,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:I$,defaultValue:{id:"last-timestamp-variable-default-value-id",type:r.PrimitiveValue,version:1,name:g.Date,value:null,autogeneration:{type:xe.CurrentDateAndTime,rangeStart:null,rangeEnd:null},parent:P$,valueAsType:null}},A$={type:r.GenericReference,id:"last-timestamp-variable-main-project-ref-id",entityType:r.Project,entityId:J},Ll={id:Zm,type:r.VariableDeclaration,version:1,name:"Last registered current time",description:"A test variable that holds the last current date and time that was registered.",dataType:D$,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:A$},S$={type:r.GenericReference,id:"wait-for-2-seconds-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:HE},O$={type:r.GenericReference,id:"wait-for-2-seconds-argument-map-parent-ref-id",entityType:r.Operation,entityId:Nl},C$={id:HE,type:r.InputMap,version:1,declaration:Un,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"wait-for-2-seconds-argument-default-value-id",type:r.PrimitiveValue,version:1,value:2e3,valueAsType:null,autogeneration:null,name:g.Number,parent:S$},index:0,parent:O$},B$={type:r.GenericReference,id:"wait-for-2-seconds-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},w$={type:r.GenericReference,id:"wait-for-2-seconds-called-by-ref-one-id",entityType:r.FunctionDeclaration,entityId:qi},_$={type:r.GenericReference,id:"wait-for-2-seconds-called-by-ref-two-id",entityType:r.FunctionDeclaration,entityId:ki},tR={id:Nl,type:r.Operation,version:1,declaration:$t,inputs:[C$],dynamicArguments:[],outputs:[],process:null,successCalls:[ZE],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[w$,_$],calledBySuccess:[],error:null,parent:B$},M$={type:r.GenericReference,id:"wait-for-random-amount-argument-default-value-parent-ref-id",entityType:r.InputMap,entityId:"wait-for-random-amount-input-map-id"},N$={type:r.GenericReference,id:"wait-for-random-amount-argument-map-parent-ref-id",entityType:r.Operation,entityId:"wait-for-random-amount-id"},$$={id:"wait-for-random-amount-input-map-id",type:r.InputMap,version:1,declaration:Un,name:null,description:null,dynamicArguments:[],readsValue:null,defaultValue:{id:"wait-for-random-amount-argument-default-value-id",type:r.PrimitiveValue,version:1,value:null,valueAsType:null,autogeneration:{type:xe.Random,rangeStart:1e3,rangeEnd:4e3},name:g.Number,parent:M$},index:0,parent:N$},V$={type:r.GenericReference,id:"wait-for-random-amount-parent-ref-id",entityType:r.Project,entityId:J},Ur={id:"wait-for-random-amount-id",type:r.Operation,version:1,declaration:$t,inputs:[$$],dynamicArguments:[],process:null,outputs:[],successCalls:[],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[],calledBySuccess:[],error:null,parent:V$},nR="list-of-functions-variable-id",L$={type:r.GenericReference,id:"list-of-functions-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:nR},G$={id:"list-of-functions-variable-action-descriptor-id",type:r.ActionDescriptor,version:1,name:"Action to execute",description:"An action of any type, to be executed. It can contain any number of inputs and outputs.",argumentsType:L.Dynamic,dynamicArgumentTypes:null,fixedArguments:[],returnsType:L.Dynamic,error:null,dynamicReturnTypes:null,fixedReturns:[],parent:null},F$={type:r.GenericReference,id:"list-of-functions-variable-data-type-default-parent-ref-id",entityType:r.DataType,entityId:"list-of-functions-variable-data-type-id"},U$={id:"list-of-functions-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:G$,asType:!1,isList:!0,isNullable:!1,defaultValue:{id:"list-of-functions-variable-data-type-default-value-id",type:r.PrimitiveValue,version:1,name:g.ActionDescriptor,value:null,valueAsType:[Ur,Ur,Ur,Ur,Ur],autogeneration:null,parent:F$},constant:!1,parent:L$},x$={type:r.GenericReference,id:"list-of-functions-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt};r.GenericReference,r.InputMap;const j$={type:r.GenericReference,id:"list-of-functions-variable-writes-value-one-ref-id",entityType:r.InputMap,entityId:WE},k$={type:r.GenericReference,id:"list-of-functions-variable-writes-value-two-ref-id",entityType:r.InputMap,entityId:Ml},rR={id:nR,type:r.VariableDeclaration,version:1,name:"List of functions to execute",description:"A list of functions to be executed in parallel",dataType:U$,parent:x$,readsValue:null,writesValues:[j$,k$],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],inputs:[],outputs:[],internalCalls:[],x:0,y:0},q$={type:r.GenericReference,id:"exec-in-parallel-return-map-parent-ref-id",entityType:r.Operation,entityId:ki},J$={type:r.GenericReference,id:"exec-in-parallel-result-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},W$={type:r.GenericReference,id:"exec-in-parallel-result-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:"exec-in-parallel-return-map-id"},H$={type:r.GenericReference,id:"exec-in-parallel-result-variable-called-by-ref-id",entityType:r.Operation,entityId:ki},iR={id:"exec-in-parallel-result-variable-id",type:r.VariableInstance,version:1,declaration:Ll,readsValue:W$,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[H$],successCalls:[],errorCalls:[],internalCalls:[],parent:J$,x:0,y:0},Y$={id:"exec-in-parallel-return-map-id",type:r.OutputMap,version:1,declaration:wo,writesValues:[iR],index:0,parent:q$},z$={type:r.GenericReference,id:"exec-in-parallel-argument-map-parent-ref-id",entityType:r.Operation,entityId:ki},Z$={id:Ml,type:r.InputMap,version:1,declaration:Bo,name:null,description:null,dynamicArguments:[],readsValue:rR,defaultValue:null,index:0,parent:z$},X$={type:r.GenericReference,id:"exec-in-parallel-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},Q$={type:r.GenericReference,id:"exec-in-parallel-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:dt},K$={process:null,id:ki,type:r.Operation,version:1,declaration:$t,inputs:[Z$],dynamicArguments:[],outputs:[Y$],successCalls:[tR,iR],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[Q$],calledBySuccess:[],error:null,parent:X$},eV={type:r.GenericReference,id:"exec-sequentially-return-map-parent-ref-id",entityType:r.Operation,entityId:qi},tV={type:r.GenericReference,id:"exec-sequentially-result-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},nV={type:r.GenericReference,id:"exec-sequentially-result-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:"exec-sequentially-return-map-id"},rV={type:r.GenericReference,id:"exec-sequentially-result-variable-called-by-ref-id",entityType:r.Operation,entityId:qi},aR={id:"exec-sequentially-result-variable-id",type:r.VariableInstance,version:1,declaration:Ll,readsValue:nV,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[rV],successCalls:[],errorCalls:[],internalCalls:[],parent:tV,x:0,y:0},iV={id:"exec-sequentially-return-map-id",type:r.OutputMap,version:1,declaration:Mo,writesValues:[aR],index:0,parent:eV},aV={type:r.GenericReference,id:"exec-sequentially-argument-map-parent-ref-id",entityType:r.Operation,entityId:qi},sV={id:WE,type:r.InputMap,version:1,declaration:_o,name:null,description:null,dynamicArguments:[],readsValue:rR,defaultValue:null,index:0,parent:aV},oV={type:r.GenericReference,id:"exec-sequentially-parent-ref-id",entityType:r.FunctionDeclaration,entityId:dt},lV={type:r.GenericReference,id:"exec-sequentially-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:dt},cV={id:qi,type:r.Operation,version:1,declaration:tn,inputs:[sV],process:null,dynamicArguments:[],outputs:[iV],successCalls:[tR,aR],errorCalls:[],x:0,y:0,calledByError:[],calledByEntry:[lV],calledBySuccess:[],error:null,parent:oV},dV={type:r.GenericReference,id:"concurrency-and-wait-parent-ref-id",entityType:r.Project,entityId:J},uV={type:r.FunctionDeclaration,id:dt,version:1,name:"Execute with concurrency and wait",description:"Executes a hardcoded list of actions in parallel and waits for some time before ending the logic with some unrelated data payload as the result.",inputs:[],calls:[cV,K$,g$],returnStatements:[ZE],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:dV},pV={type:r.GenericReference,id:"3521f2c8-a5c0-419c-8808-4fc6a73d0b78",entityType:r.ReturnDeclaration,entityId:"e1ec31f0-25ca-42ac-a4c4-c9ec2255f55b"},yV={id:"ce8b9a30-afe9-4d4f-879f-1677efca2c47",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:mt,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:pV},hV={type:r.GenericReference,id:"8ee66e38-b060-474e-a503-594063a8ec24",entityType:r.ReturnStatement,entityId:"40a23a98-d3b2-42b1-9652-b33779ad15aa"},fV={isError:!1,id:"e1ec31f0-25ca-42ac-a4c4-c9ec2255f55b",type:r.ReturnDeclaration,version:1,name:"Created company",description:"The new company that was created",dataType:yV,readsValue:null,required:!0,index:0,parent:hV},mV={type:r.GenericReference,id:"9cb3c1e4-7250-4be6-be2a-69c2dd366d6f",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},TV={type:r.GenericReference,id:"c065fcdd-e054-4f95-941c-7eaa65c35d04",entityType:r.FunctionDeclaration,entityId:"d683bfc1-a464-4810-8ec0-1dd8eaa0c3c4"},sR={type:r.ReturnStatement,id:"40a23a98-d3b2-42b1-9652-b33779ad15aa",version:1,outputs:[fV],calledByError:[],calledByEntry:[TV],calledBySuccess:[],throws:null,x:0,y:0,parent:mV},EV={type:r.GenericReference,id:"312ef836-9e40-4d57-b177-03b7145ed074",entityType:r.Project,entityId:J},RV={type:r.FunctionDeclaration,id:"5059c093-eda2-4efc-b7b4-aaaadd4d44de",version:1,name:"Create new company",description:null,inputs:[],calls:[sR],index:null,implements:null,returnStatements:[sR],collapsed:!1,private:!1,x:0,y:0,parent:EV},Gl="get-current-date-and-time-func-decl-id",oR="get-current-date-and-time-return-statement-id",lR="get-current-date-and-time-return-declaration-id",cR="get-current-date-and-time-return-declaration-data-type-id",bV={type:r.GenericReference,id:"get-current-date-and-time-return-declaration-data-type-value-parent-ref-id",entityType:r.DataType,entityId:cR},vV={type:r.GenericReference,id:"get-current-date-and-time-return-declaration-data-type-parent-ref-id",entityType:r.ReturnDeclaration,entityId:lR},gV={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:cR,version:1,entity:Sr,asType:!1,isList:!1,isNullable:!1,defaultValue:{id:"last-timestamp-variable-default-value-id",type:r.PrimitiveValue,version:1,value:null,name:g.Date,valueAsType:null,autogeneration:{type:xe.CurrentDateAndTime,rangeStart:null,rangeEnd:null},parent:bV},constant:!1,parent:vV},IV={type:r.GenericReference,id:"get-current-date-and-time-return-declaration-parent-ref-id",entityType:r.ReturnStatement,entityId:oR};r.ReturnDeclaration;const PV={type:r.GenericReference,id:"get-current-date-and-time-return-statement-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Gl},DV={type:r.GenericReference,id:"get-current-date-and-time-return-statement-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Gl};r.ReturnStatement;const AV={type:r.GenericReference,id:"concurrency-and-wait-parent-ref-id",entityType:r.Project,entityId:J},SV={type:r.FunctionDeclaration,id:Gl,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:AV},dR="do-math-return-statement-id",uR="do-math-return-declaration-id",OV={type:r.GenericReference,id:"do-math-func-var-to-return-one-ref-id",entityType:r.VariableDeclaration,entityId:"do-math-func-var-to-return-one-id"},CV={id:"do-math-func-var-to-return-one-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:OV},BV={type:r.GenericReference,id:"do-math-func-decl-ref-two-id",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},wV={type:r.GenericReference,id:"do-math-func-var-to-return-one-map-ref-id",entityType:r.ReturnDeclaration,entityId:uR},_V={type:r.VariableDeclaration,id:"do-math-func-var-to-return-one-id",version:1,description:null,name:"Fixed result",dataType:CV,readsValue:null,writesValues:[wV],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:BV},MV={type:r.GenericReference,id:"96ec244e-594b-45f7-802b-6dc3056920f6",entityType:r.ReturnStatement,entityId:dR},NV={type:r.GenericReference,id:"d120c0cc-9d13-4e45-90e2-4e1ee825ca46",entityType:r.ReturnDeclaration,entityId:"873a3556-4911-4141-b2a0-49c677b56fb4"},$V={id:"da91aa23-9985-49ac-a8bf-9d623ba1ba8f",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:NV},VV={isError:!1,id:uR,version:1,type:r.ReturnDeclaration,name:"Result",description:null,dataType:$V,readsValue:_V,required:!0,index:0,parent:MV},LV={type:r.GenericReference,id:"57fd93e4-93a1-484e-82eb-4dd15d2d0e24",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},GV={type:r.GenericReference,id:"0a86e8d5-ab21-476e-a482-b928cbf351e3",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},pR={type:r.ReturnStatement,id:dR,version:1,outputs:[VV],calledByError:[],calledByEntry:[],calledBySuccess:[LV],parent:GV,throws:null,x:0,y:0},FV={type:r.GenericReference,id:"a2db26be-57f2-48e5-9769-cdbf0d95dc7c",entityType:r.VariableDeclaration,entityId:"d0e9f1f3-7e9f-4e1f-8d8e-7b4b3e6c6a6a"},UV={id:"c3e9d5f0-204f-45f9-85f7-e1b56b468388",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,asType:!1,isList:!1,isNullable:!1,defaultValue:null,constant:!1,parent:FV},xV={type:r.GenericReference,id:"692122c5-610a-4504-90dd-f5a5202d116c",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},jV={type:r.GenericReference,id:"do-math-func-return-one-called-by",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},kV={type:r.GenericReference,id:"6dceb501-be5b-4252-afb4-3c0d08abba33",entityType:r.OutputMap,entityId:"64752080-ee0f-4cfe-9897-a0668f2b2aca"},yR={type:r.VariableDeclaration,id:"d0e9f1f3-7e9f-4e1f-8d8e-7b4b3e6c6a6a",version:1,name:"Result",dataType:UV,description:null,readsValue:kV,writesValues:[],inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[jV],successCalls:[],errorCalls:[],internalCalls:[],x:0,y:0,parent:xV},qV={type:r.GenericReference,id:"5440f523-af38-4981-8035-89d162fe8041",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},JV={type:r.GenericReference,id:"8c482c35-e674-4713-a1dd-63c3d13b611c",entityType:r.OutputMap,entityId:"64752080-ee0f-4cfe-9897-a0668f2b2aca"},WV={type:r.GenericReference,id:"c0a299cd-5869-4930-8cf0-90e3ceb8a903",entityType:r.VariableDeclaration,entityId:"46b2fe23-b417-4887-a35d-09b186679172"},HV={id:"51c0c1df-2ee3-41df-ae52-ac512d8cf795",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,asType:!1,isNullable:!1,defaultValue:null,constant:!1,parent:WV},YV={type:r.GenericReference,id:"do-math-func-return-two-called-by",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},hR={type:r.VariableDeclaration,id:"46b2fe23-b417-4887-a35d-09b186679172",version:1,name:"Total",description:null,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[YV],successCalls:[],errorCalls:[],dataType:HV,readsValue:JV,writesValues:[],internalCalls:[],parent:qV,x:0,y:0},fR={type:r.GenericReference,id:"6e4d776e-6af2-4321-b630-c78110fd677c",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},zV={type:r.GenericReference,id:"5b60955b-2486-40b6-bb24-ffd97ccd8902",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},ZV={type:r.GenericReference,id:"1a49923f-bc6f-453f-a438-e74e5475c2a9",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},XV={type:r.GenericReference,id:"02bfde0a-b757-4072-9613-6e9c7c9a424a",entityType:r.ArgumentDeclaration,entityId:"d8895765-f705-457e-85fa-25d130926769"},mR={id:"928953b0-0e3f-4d8c-ae5a-84620b4b8c68",version:1,type:r.InputMap,declaration:vo,name:null,description:null,dynamicArguments:[],readsValue:XV,defaultValue:null,index:0,parent:ZV},QV={id:"64752080-ee0f-4cfe-9897-a0668f2b2aca",type:r.OutputMap,version:1,declaration:Io,writesValues:[yR,hR],index:0,parent:zV},KV={type:r.GenericReference,id:"d235a7f6-07ff-4f35-98d2-8f42dd59cf9f",entityType:r.Operation,entityId:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e"},eL={id:"8827e8e9-9381-4ad7-8f61-5419c23c9136",type:r.GenericReference,entityType:r.VariableDeclaration,entityId:"72a338d8-0183-4ca2-8760-227517854595"},TR={id:"a5525249-0eb5-472b-97bc-5e4cc0d75aee",version:1,type:r.InputMap,declaration:go,name:null,description:null,dynamicArguments:[],readsValue:eL,defaultValue:null,index:1,parent:KV},tL={type:r.Operation,id:"e8c8c0a3-2e3e-4f6a-8e3d-8e0a0f9d7d8e",declaration:Ta,version:1,inputs:[mR,TR],dynamicArguments:[],outputs:[QV],calledByError:[],calledByEntry:[fR],calledBySuccess:[],process:null,successCalls:[pR,yR,hR],errorCalls:[],parent:fR,error:null,x:0,y:0},nL={type:r.GenericReference,id:"a2c40226-2270-4963-a865-c777ba79c551",entityType:r.DataType,entityId:"a350a9e9-25ee-477f-a83d-9e98ed2451662"},rL={id:"f47731b3-f278-4ab5-aeb2-24519c1119fb",type:r.GenericReference,entityId:"72a338d8-0183-4ca2-8760-227517854595",entityType:r.ArgumentDeclaration},ER={id:"a350a9e9-25ee-477f-a83d-9e98ed2451662",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"do-math-func-argument-two-default-value-id",type:r.PrimitiveValue,version:1,value:1,name:g.Number,parent:nL,valueAsType:null,autogeneration:null},constant:!1,parent:rL},iL={type:r.GenericReference,id:"5f5d8dd0-7f3b-40cd-9f84-83d976887eaf",entityType:r.ArgumentDeclaration,entityId:"649bf0a4-6532-44aa-9818-a03d1c6564e9"},aL={type:r.GenericReference,id:"ca018d0f-a8b3-4c7e-a408-c8b372d04aff",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},sL={type:r.GenericReference,id:"do-math-func-var-called-by-ref",entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},RR={type:r.VariableDeclaration,id:"72a338d8-0183-4ca2-8760-227517854595",version:1,name:"Z",description:null,dataType:ER,inputs:[],outputs:[],calledByError:[],calledByEntry:[sL],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:iL,writesValues:[TR],internalCalls:[],x:0,y:0,parent:aL},oL={entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b",type:r.GenericReference,id:"af0cf105-4075-425f-aecc-b25d3600fcc4"},lL={id:"649bf0a4-6532-44aa-9818-a03d1c6564e9",type:r.ArgumentDeclaration,version:1,name:"Z",description:"The number to add",dataType:ER,writesValues:[RR],required:!0,index:1,parent:oL},cL={type:r.GenericReference,id:"56953b5d-3e43-4dea-a62c-f3e868ba81bb",entityType:r.Project,entityId:J},dL={id:"868defc8-5c95-48ed-942d-257e8b9b9b00",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b"},uL={type:r.GenericReference,id:"35167664-a793-49f1-9eaf-fb57eac30897",entityType:r.DataType,entityId:"55b12914-91b1-48b7-9a3e-9c5d0d2a2ec2"},pL={id:"d47ceef6-be6f-40f1-a7b3-c73c8d8a6c6a",type:r.GenericReference,entityId:"d8895765-f705-457e-85fa-25d130926769",entityType:r.ArgumentDeclaration},yL={id:"55b12914-91b1-48b7-9a3e-9c5d0d2a2ec2",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,isNullable:!1,asType:!1,defaultValue:{id:"do-math-func-argument-one-default-value-id",type:r.PrimitiveValue,version:1,value:5,name:g.Number,parent:uL,valueAsType:null,autogeneration:null},constant:!1,parent:pL},hL={id:"d8895765-f705-457e-85fa-25d130926769",type:r.ArgumentDeclaration,version:1,name:"N",dataType:yL,description:"The number to add",writesValues:[mR],required:!0,index:0,parent:dL},fL={type:r.FunctionDeclaration,id:"b4c1d8d2-9c5e-4e0c-bd5e-3a6a0e4d2f0b",version:1,name:"Do math",description:"This function does math",inputs:[hL,lL],calls:[tL,RR],implements:null,index:null,collapsed:!1,returnStatements:[pR],private:!1,x:0,y:0,parent:cL},Tt="replace-bank-account-in-company-func-declaration-id",Fl="company-entity-to-modify-arg-declaration-id",mL="account-number-to-create-arg-decl-id",xr="company-variable-id",jr="search-person-by-id-id",bR="new-bank-account-owner-arg-decl-id",vR="search-person-by-id-output-declaration-id",Ul="search-person-by-id-output-entity-map-id",Ts="person-not-empty-condition-id",Es="create-new-bank-account-instance-operation-id",gR="create-new-bank-account-instance-operation-output-entity-map-id",IR="company-bank-account-output-map-id",xl="old-bank-account-var-declaration-id",PR="old-bank-account-var-instance-id",DR="company-variable-instance-id",jl="delete-bank-account-internal-call-id",TL={type:r.GenericReference,id:"company-variable-instance-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Tt},EL={type:r.GenericReference,id:"company-variable-instance-called-by-ref-id",entityType:r.InternalCall,entityId:jl},RL={type:r.GenericReference,id:"company-variable-instance-declaration-ref-id",entityType:r.VariableDeclaration,entityId:xr},bL={type:r.GenericReference,id:"bank-account-input-map-parent-ref-id",entityType:r.VariableInstance,entityId:DR},vL={type:r.GenericReference,id:"bank-account-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:gR},AR={type:r.InputMap,id:"bank-account-input-map-id",version:1,readsValue:vL,declaration:ml,name:null,description:null,index:0,defaultValue:null,dynamicArguments:[],parent:bL},gL={type:r.VariableInstance,id:DR,version:1,declaration:RL,inputs:[AR],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[EL],successCalls:[],errorCalls:[],internalCalls:[],parent:TL,readsValue:null,writesValues:[],x:0,y:0},IL={type:r.GenericReference,id:"bank-account-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:xr},PL={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"bank-account-variable-data-type-id",version:1,entity:Lr,asType:!1,isList:!1,isNullable:!1,constant:!1,defaultValue:null,parent:IL},DL={type:r.GenericReference,id:"bank-account-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:IR},AL={type:r.GenericReference,id:"bank-account-variable-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Tt},SL={type:r.GenericReference,id:"bank-account-variable-called-by-ref-id",entityType:r.VariableDeclaration,entityId:xr},OL={type:r.GenericReference,id:"delete-bank-account-internal-call-called-by-ref-id",entityType:r.Operation,entityId:Es};r.GenericReference,r.VariableInstance;const CL={type:r.GenericReference,id:"delete-bank-account-internal-call-called-by-ref-two-id",entityType:r.VariableDeclaration,entityId:xl},BL={type:r.GenericReference,id:"old-bank-account-variable-trigger-delete-decl-ref-id",entityType:r.VariableDeclaration,entityId:xl},wL={type:r.GenericReference,id:"bank-account-variable-parent-ref-two-id",entityType:r.FunctionDeclaration,entityId:Tt},_L={type:r.GenericReference,id:"old-bank-account-variable-trigger-delete-internal-call-ref-id",entityType:r.InternalCall,entityId:jl},ML={type:r.VariableInstance,id:PR,version:1,declaration:BL,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],internalCalls:[_L],errorCalls:[],parent:wL,readsValue:null,writesValues:[],x:0,y:0},SR={process:null,type:r.InternalCall,id:jl,version:1,declaration:jo,index:0,successCalls:[gL],errorCalls:[],inputs:[],outputs:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[OL,CL],parent:ML},OR={type:r.VariableDeclaration,id:xl,version:1,name:"Old bank account",description:"The existing bank account that needs to be replaced in the company entity",dataType:PL,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[SL],successCalls:[SR],internalCalls:[],errorCalls:[],parent:AL,readsValue:DL,writesValues:[],x:0,y:0},NL={type:r.GenericReference,id:"company-variable-declaration-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:xr},$L={type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,id:"company-variable-declaration-data-type-id",version:1,entity:mt,asType:!1,isList:!1,isNullable:!1,constant:!1,defaultValue:null,parent:NL},VL={type:r.GenericReference,id:"company-variable-declaration-reads-value-ref-id",entityType:r.ArgumentDeclaration,entityId:Fl},LL={type:r.GenericReference,id:"company-variable-declaration-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Tt},GL={type:r.GenericReference,id:"company-variable-declaration-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Tt},FL={type:r.GenericReference,id:"company-bank-account-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:xr},UL={id:IR,version:1,type:r.OutputMap,declaration:ml,index:0,parent:FL,writesValues:[OR]},CR={type:r.VariableDeclaration,id:xr,version:1,name:"Company",description:"The company entity that was passed as an argument to the parent function",dataType:$L,inputs:[],outputs:[UL],calledByError:[],calledByEntry:[GL],calledBySuccess:[],successCalls:[OR],errorCalls:[],parent:LL,internalCalls:[],readsValue:VL,writesValues:[],x:0,y:0},xL={type:r.GenericReference,id:"create-new-bank-account-account-owner-dynamic-input-map-parent-ref-id",entityType:r.InputMap,entityId:"create-new-bank-account-instance-operation-entity-to-create-input-map-id"},jL={id:"create-new-bank-account-account-owner-dynamic-input-map-reads-value-ref-id",type:r.GenericReference,entityType:r.OutputMap,entityId:Ul},BR={id:"create-new-bank-account-account-owner-dynamic-input-map-id",version:1,type:r.InputMap,declaration:rT,name:null,description:null,dynamicArguments:[],readsValue:jL,index:1,defaultValue:null,parent:xL},kL={id:"create-new-bank-account-account-number-dynamic-input-map-reads-value-ref-id",type:r.GenericReference,entityType:r.ArgumentDeclaration,entityId:mL},qL={type:r.GenericReference,id:"create-new-bank-account-account-number-dynamic-input-map-parent-ref-id",entityType:r.InputMap,entityId:"create-new-bank-account-instance-operation-entity-to-create-input-map-id"},wR={id:"create-new-bank-account-account-number-dynamic-input-map-id",version:1,type:r.InputMap,declaration:nT,name:null,description:null,dynamicArguments:[],readsValue:kL,defaultValue:null,index:0,parent:qL},JL={type:r.GenericReference,id:"create-new-bank-account-instance-operation-entity-to-create-input-map-parent-ref-id",entityType:r.Operation,entityId:Es},WL={id:"create-new-bank-account-instance-operation-entity-to-create-input-map-id",version:1,type:r.InputMap,declaration:Or.fixedArguments[0],name:null,description:null,dynamicArguments:[wR,BR],index:0,readsValue:null,defaultValue:{type:r.PrimitiveValue,name:g.EntityTemplate,value:null,valueAsType:Lr,autogeneration:null},parent:JL},HL={type:r.GenericReference,id:"create-new-bank-account-instance-operation-output-entity-map-parent-ref-id",entityType:r.Operation,entityId:Es},YL={id:gR,version:1,type:r.OutputMap,declaration:Or.fixedReturns[0],index:0,writesValues:[AR],parent:HL},zL={type:r.GenericReference,id:"create-new-bank-account-instance-operation-called-by-ref-id",entityType:r.Condition,entityId:Ts},ZL={type:r.GenericReference,id:"create-new-bank-account-instance-operation-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Tt},XL={process:null,id:Es,type:r.Operation,version:1,declaration:Or,inputs:[WL],dynamicArguments:[],error:null,outputs:[YL],successCalls:[SR],errorCalls:[],calledByError:[],calledByEntry:[],calledBySuccess:[zL],parent:ZL,x:0,y:0},QL={id:"person-not-found-thrown-error-datatype-default-value-parent-ref-id",type:r.GenericReference,entityId:"person-not-found-thrown-error-datatype-id",entityType:r.DataType},KL={id:"person-not-found-thrown-error-datatype-parent-ref-id",type:r.GenericReference,entityId:"person-not-found-thrown-error-id",entityType:r.ReturnDeclaration};r.DataType,r.PrimitiveValue,g.String;const eG={id:"person-not-found-thrown-error-parent-ref-id",type:r.GenericReference,entityId:"person-not-found-error-return-statement-id",entityType:r.ReturnStatement},tG={isError:!0,id:"person-not-found-thrown-error-id",type:r.ReturnDeclaration,version:1,dataType:null,name:"Person not found error",description:"If the person entity was not found this error is outputted",parent:eG,required:!0,index:0,readsValue:null},nG={id:"person-not-found-error-return-statement-called-by-ref-id",type:r.GenericReference,entityId:Ts,entityType:r.Condition},rG={id:"person-not-found-error-return-statement-parent-ref-id",type:r.GenericReference,entityId:Tt,entityType:r.FunctionDeclaration},iG={id:"person-not-found-error-return-statement-id",type:r.ReturnStatement,version:1,throws:tG,outputs:[],calledBySuccess:[],calledByError:[nG],calledByEntry:[],x:0,y:0,parent:rG},aG={type:r.GenericReference,id:"person-not-empty-condition-called-by-ref-id",entityType:r.Search,entityId:jr},sG={type:r.GenericReference,id:"person-not-empty-condition-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Tt},oG={type:r.GenericReference,id:"person-entity-to-check-map-reads-value-ref-id",entityType:r.OutputMap,entityId:Ul},lG={type:r.GenericReference,id:"person-not-empty-condition-ref-two-id",entityType:r.Condition,entityId:Ts},_R={id:"person-entity-to-check-map-id",version:1,type:r.InputMap,declaration:kn.fixedArguments[0],name:null,description:null,dynamicArguments:[],readsValue:oG,index:0,defaultValue:null,parent:lG},cG={type:r.Condition,id:Ts,version:1,declaration:kn,inputs:[_R],calledByError:[],calledByEntry:[],calledBySuccess:[aG],successCalls:[XL],errorCalls:[iG],x:0,y:0,parent:sG},dG={type:r.GenericReference,id:"search-person-by-id-output-entity-declaration-datatype-parent-ref-id",entityType:r.ReturnDeclaration,entityId:vR},uG={id:"search-person-by-id-output-entity-declaration-datatype-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,isList:!1,constant:!1,asType:!1,isNullable:!1,entity:ct,defaultValue:null,parent:dG},pG={type:r.GenericReference,id:"search-person-by-id-output-entity-declaration-parent-ref-id",entityType:r.Search,entityId:jr},MR={isError:!1,id:vR,type:r.ReturnDeclaration,version:1,dataType:uG,name:"Found person",description:"The person entity that was found",parent:pG,required:!0,index:0,readsValue:null},yG={type:r.GenericReference,id:"search-person-by-id-output-entity-map-parent-ref-id",entityType:r.Search,entityId:jr},hG={type:r.OutputMap,id:Ul,version:1,declaration:MR,parent:yG,writesValues:[_R,BR],index:0},fG={id:"search-person-by-id-input-declaration-datatype-parent-ref-id",type:r.GenericReference,entityId:"search-person-by-id-input-declaration-id",entityType:r.ArgumentDeclaration};r.DataType;const mG={type:r.GenericReference,id:"search-person-by-id-input-declaration-parent-ref-id",entityType:r.Search,entityId:jr},NR={id:"search-person-by-id-input-declaration-id",type:r.ArgumentDeclaration,version:1,dataType:null,name:"Person ID",description:"The unique identifier (ID) property of the person entity",index:0,required:!0,parent:mG,writesValues:[]},TG={type:r.GenericReference,id:"search-person-by-id-input-map-parent-ref-id",entityType:r.Search,entityId:jr},EG={id:"search-person-by-id-input-map-reads-value-ref-id",type:r.GenericReference,entityId:bR,entityType:r.ArgumentDeclaration},$R={type:r.InputMap,id:"search-person-by-id-input-map",version:1,declaration:NR,name:null,description:null,readsValue:EG,defaultValue:null,parent:TG,dynamicArguments:[],index:0},RG={from:{name:"c9bc312a-10d3-48a7-9ab4-ea483a9e2416"},items:[{name:"*"}],where:[{name:"id",value:"{{dynamic_value_1}}"}]},bG={type:r.GenericReference,id:"search-person-by-id-parent-ref-id",entityType:r.FunctionDeclaration,entityId:Tt},vG={type:r.GenericReference,id:"search-person-by-id-called-by-ref-id",entityType:r.FunctionDeclaration,entityId:Tt},gG={type:r.Search,id:jr,version:1,name:"Search person by ID",description:"Searches for a person entity given the UUID",query:RG,inputsDeclarations:[NR],inputs:[$R],outputsDeclarations:[MR],outputs:[hG],calledByError:[],calledByEntry:[vG],calledBySuccess:[],error:null,successCalls:[cG],errorCalls:[],parent:bG,x:0,y:0};r.GenericReference,r.DataType;const IG={id:"account-number-to-create-arg-decl-data-type-parent-ref-id",type:r.GenericReference,entityId:"account-number-to-create-arg-decl-id",entityType:r.ArgumentDeclaration},PG={id:"account-number-to-create-arg-decl-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:F,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:IG},DG={entityType:r.FunctionDeclaration,entityId:Tt,type:r.GenericReference,id:"account-number-to-create-arg-decl-parent-ref-id"},AG={id:"account-number-to-create-arg-decl-id",type:r.ArgumentDeclaration,version:1,name:"Account number",description:"The account number of the new bank account entity",dataType:PG,writesValues:[wR],required:!0,index:1,parent:DG};r.GenericReference,r.DataType;const SG={id:"new-bank-account-owner-arg-decl-data-type-parent-ref-id",type:r.GenericReference,entityId:"new-bank-account-owner-arg-decl-id",entityType:r.ArgumentDeclaration},OG={id:"new-bank-account-owner-arg-decl-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:ma,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:SG},CG={entityType:r.FunctionDeclaration,entityId:Tt,type:r.GenericReference,id:"new-bank-account-owner-arg-decl-parent-ref-id"},BG={id:bR,type:r.ArgumentDeclaration,version:1,name:"New account owner ID",description:"If it has changed, this is the new person entity, that owns of the bank account",dataType:OG,writesValues:[$R],required:!1,index:1,parent:CG},wG={type:r.GenericReference,id:"replace-bank-account-in-company-parent-ref",entityType:r.Project,entityId:J},_G={type:r.GenericReference,id:"company-entity-to-modify-parent-ref",entityType:r.FunctionDeclaration,entityId:Tt};r.GenericReference,r.DataType;const MG={id:"d47ceef6-be6f-40f1-a7b3-c73c8d8a6c6a",type:r.GenericReference,entityId:Fl,entityType:r.ArgumentDeclaration},NG={id:"company-entity-to-modify-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Ce,isList:!1,isNullable:!1,asType:!1,defaultValue:null,constant:!1,parent:MG},$G={id:Fl,type:r.ArgumentDeclaration,version:1,name:"Company",dataType:NG,description:"The company to replace the bank account for",writesValues:[CR],required:!0,index:0,parent:_G},VG={type:r.FunctionDeclaration,id:Tt,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:[$G,AG,BG],index:null,implements:null,calls:[gG,CR],collapsed:!1,returnStatements:[],private:!1,x:0,y:0,parent:wG},LG={type:r.GenericReference,id:"e0a937bd-3a85-4037-a973-916985b9f94b",entityType:r.Project,entityId:"7268bc97-c0e6-4d88-b37e-d3241b5f77a6"},GG={type:r.FunctionDeclaration,version:1,id:"6bedb217-f844-4332-af72-9626b2a32511",name:"Some library main function",description:null,inputs:[],calls:[],implements:null,collapsed:!0,index:null,returnStatements:[],private:!1,parent:LG,x:0,y:0},FG={type:r.GenericReference,id:"948e6869-ae5b-4914-bea0-b9f02ad6a014",entityType:r.Project,entityId:"23b23d8b-1929-4505-a350-745c8550e731"},UG={type:r.GenericReference,id:"f3d6f2c6-1b3e-4e9d-8c9d-5b5b9f0b8d9c",entityType:r.Project,entityId:"7268bc97-c0e6-4d88-b37e-d3241b5f77a6"},xG={type:r.InstalledProject,version:1,id:"7268bc97-c0e6-4d88-b37e-d3241b5f77a6",name:"Third Party Installed Project",description:null,functions:[GG],events:[],implements:UG,parent:FG,x:0,y:0},kl="iterate-over-list-loop-id",VR="iterate-over-list-loop-body-id",LR="iterate-over-list-loop-body-current-iteration-argument-declaration-id",jG={type:r.GenericReference,id:"iterate-over-list-loop-body-current-iteration-argument-declaration-data-type-parent-ref-id",entityId:LR,entityType:r.ArgumentDeclaration},kG={id:"iterate-over-list-loop-body-current-iteration-argument-declaration-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,defaultValue:null,entity:null,isList:!1,isNullable:!1,asType:!1,constant:!1,parent:jG},qG={id:"iterate-over-list-loop-body-current-iteration-argument-declaration-parent-ref-id",type:r.GenericReference,entityId:VR,entityType:r.FunctionDeclaration},JG={id:LR,type:r.ArgumentDeclaration,version:1,name:"Current value",description:"The current value being processed.",dataType:kG,required:!0,index:0,writesValues:[],parent:qG},WG={id:"iterate-over-list-loop-body-parent-ref-id",type:r.GenericReference,entityId:kl,entityType:r.Loop},HG={id:VR,type:r.FunctionDeclaration,version:1,name:"Iteration logic trigger",description:"This function is called once for each entity in the list.",inputs:[JG],calls:[],implements:null,collapsed:!1,returnStatements:[],private:!1,index:0,x:0,y:0,parent:WG},YG={id:"iterate-over-list-loop-iteration-list-input-map-parent-ref-id",type:r.GenericReference,entityId:kl,entityType:r.Loop},zG={id:"iterate-over-list-loop-iteration-list-input-map-id",type:r.InputMap,version:1,name:null,description:null,declaration:jn.fixedArguments[0],defaultValue:null,dynamicArguments:[],readsValue:null,index:0,parent:YG},ZG={id:"iterate-over-list-loop-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},XG={id:kl,type:r.Loop,version:1,declaration:jn,inputs:[zG],successCalls:[],errorCalls:[],outputs:[],process:null,body:HG,calledByError:[],calledByEntry:[],calledBySuccess:[],breakStatements:[],continueStatements:[],error:null,x:0,y:0,parent:ZG};var ql=(n=>(n.EQ="eq",n.NEQ="neq",n.GT="gt",n.GTE="gte",n.LT="lt",n.LTE="lte",n.LIKE="like",n.ILIKE="ilike",n))(ql||{}),GR=(n=>(n.COUNT="count",n.SUM="sum",n.AVG="avg",n.MIN="min",n.MAX="max",n))(GR||{});const QG={from:{name:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},items:{from:{name:"ed3a6098-12ee-4632-a6dd-c2e6c542f66d"},items:[{function:{name:GR.COUNT,items:["f8310850-a87e-405c-b182-4f1d5fa49240"]},alias:"employee_count"}],where:[{name:"80c86e1b-caca-4ba5-9b1f-38f72d10e4a3",operation:ql.NEQ,value:null}]},where:[{name:"employee_count",operation:ql.GT,value:1}]},KG={id:"find-companies-with-multiple-employees-and-bank-account-search-parent-ref-id",type:r.GenericReference,entityId:J,entityType:r.Project},eF={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-declaration-parent-ref-id",type:r.GenericReference,entityId:"find-companies-with-multiple-employees-and-bank-account",entityType:r.Search},FR={isError:!1,id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-declaration-id",type:r.ReturnDeclaration,version:1,name:"companies",description:"List of companies with multiple employees and an existing bank account",dataType:null,readsValue:null,required:!0,index:0,parent:eF},tF={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-parent-ref-id",type:r.GenericReference,entityId:"find-companies-with-multiple-employees-and-bank-account",entityType:r.Search},nF={id:"find-companies-with-multiple-employees-and-bank-account-search-companies-list-output-id",type:r.OutputMap,version:1,declaration:FR,writesValues:[],index:0,parent:tF},rF={id:"find-companies-with-multiple-employees-and-bank-account",type:r.Search,version:1,name:"Find companies with multiple employees and a bank account",description:"This search statement finds companies with multiple employees and an existing bank account",inputsDeclarations:[],outputsDeclarations:[FR],inputs:[],outputs:[nF],query:QG,successCalls:[],errorCalls:[],error:null,calledByError:[],calledByEntry:[],calledBySuccess:[],x:0,y:0,parent:KG},kr="random-company-employee-test-variable-id",Jl="manager-global-variable-id",UR="global-user-instance-id",qr="employee-mapped-dto-variable-id",xR="random-employee-id-output-map-id",jR="random-employee-birth-date-output-map-id",kR="random-employee-department-output-map-id",qR="random-employee-manager-output-map-id",JR="manager-global-id-output-map-id",WR="global-user-instance-id-output-map-id",iF="employee-mapped-dto-requester-id-input-map-id",aF="employee-mapped-dto-id-input-map-id",sF="employee-mapped-dto-birth-date-input-map-id",oF="employee-mapped-dto-department-input-map-id",lF="employee-mapped-dto-manager-input-map-id",cF={type:r.GenericReference,id:"employee-mapped-dto-manager-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:JR},dF={type:r.GenericReference,id:"employee-mapped-dto-manager-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},HR={id:lF,type:r.InputMap,version:1,declaration:null,name:"manager_id",description:null,defaultValue:null,dynamicArguments:[],index:4,readsValue:cF,parent:dF},uF={type:r.GenericReference,id:"employee-mapped-dto-department-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:kR},pF={type:r.GenericReference,id:"employee-mapped-dto-department-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},YR={id:oF,type:r.InputMap,version:1,declaration:null,name:"department_name",description:null,defaultValue:null,dynamicArguments:[],index:3,readsValue:uF,parent:pF},yF={type:r.GenericReference,id:"employee-mapped-dto-birth-date-input-map-reads-value-ref-id",entityType:r.OutputMap,entityId:jR},hF={type:r.GenericReference,id:"employee-mapped-dto-birth-date-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},zR={id:sF,type:r.InputMap,version:1,declaration:null,name:"birth_date",description:null,defaultValue:null,dynamicArguments:[],index:2,readsValue:yF,parent:hF},fF={type:r.GenericReference,id:"employee-mapped-dto-id-output-map-reads-value-ref-id",entityType:r.OutputMap,entityId:xR},mF={type:r.GenericReference,id:"employee-mapped-dto-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},ZR={id:aF,type:r.InputMap,version:1,declaration:null,name:"id",description:"The ID of the employee",defaultValue:null,dynamicArguments:[],index:1,readsValue:fF,parent:mF},TF={type:r.GenericReference,id:"employee-mapped-dto-requester-id-output-map-reads-value-ref-id",entityType:r.OutputMap,entityId:WR},EF={type:r.GenericReference,id:"employee-mapped-dto-requester-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:qr},XR={id:iF,type:r.InputMap,version:1,declaration:null,name:"requester_id",description:"The ID of the current user making the request",defaultValue:null,dynamicArguments:[],index:0,readsValue:TF,parent:EF},RF={type:r.GenericReference,id:"manager-variable-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:Jl},bF={id:JR,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[HR],parent:RF},vF={type:r.GenericReference,id:"manager-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:Jl},gF={id:"manager-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Pt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:vF,defaultValue:null},IF={type:r.GenericReference,id:"manager-variable-reads-value-ref-id",entityType:r.OutputMap,entityId:qR},PF={type:r.GenericReference,id:"manager-variable-parent-ref-id",entityType:r.Project,entityId:J},QR={id:Jl,type:r.VariableDeclaration,version:1,name:"Manager",dataType:gF,description:"A variable holding an inherited manager for testing purposes",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:IF,writesValues:[],inputs:[],outputs:[bF],internalCalls:[],parent:PF,x:0,y:0},DF={type:r.GenericReference,id:"random-company-employee-manager-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:kr},AF={id:qR,type:r.OutputMap,version:1,declaration:Pt.properties[2],index:3,writesValues:[QR],parent:DF},SF={type:r.GenericReference,id:"random-company-employee-department-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:kr},OF={id:kR,type:r.OutputMap,version:1,declaration:Pt.properties[0],index:2,writesValues:[YR],parent:SF},CF={type:r.GenericReference,id:"random-company-employee-birth-date-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:kr},BF={id:jR,type:r.OutputMap,version:1,declaration:ct.properties[1],index:1,writesValues:[zR],parent:CF},wF={type:r.GenericReference,id:"random-company-employee-id-output-map-parent-ref-id",entityType:r.VariableDeclaration,entityId:kr},_F={id:xR,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[ZR],parent:wF},MF={type:r.GenericReference,id:"random-company-employee-test-variable-data-type-parent-ref-id",entityType:r.VariableDeclaration,entityId:kr},NF={id:"random-company-employee-test-variable-data-type-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,version:1,entity:Pt,asType:!1,isList:!1,isNullable:!0,constant:!1,parent:MF,defaultValue:null},$F={type:r.GenericReference,id:"random-company-employee-test-variable-parent-ref-id",entityType:r.Project,entityId:J},VF={id:kr,type:r.VariableDeclaration,version:1,name:"Company employee",dataType:NF,description:"A variable holding a random company employee for testing purposes",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[],outputs:[_F,BF,OF,AF],internalCalls:[],parent:$F,x:0,y:0},LF={type:r.GenericReference,id:"employee-mapped-dto-variable-parent-ref-id",entityType:r.Project,entityId:J},GF={id:qr,type:r.VariableDeclaration,version:1,name:"Employee DTO",dataType:null,description:"A variable holding the data of a mapped employee DTO",calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[XR,ZR,zR,YR,HR],outputs:[],internalCalls:[],parent:LF,x:0,y:0},FF={type:r.GenericReference,id:"0e63e617-f9d3-42e8-bde0-1bb0b1df7034",entityType:r.VariableDeclaration,entityId:ul},UF={id:"e75645ce-d3df-4f07-a897-ae9ef4d917fd",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:yl,version:1,asType:!1,isList:!1,isNullable:!1,constant:!1,parent:FF,defaultValue:null},xF={type:r.GenericReference,id:"e92a8ff5-3fef-4e0c-8d8f-92c930b2890b",entityType:r.Project,entityId:J},KR={id:ul,type:r.VariableDeclaration,version:1,name:"Current user",description:"The user that is currently logged in",dataType:UF,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:xF},jF={type:r.GenericReference,id:"manager-variable-id-output-map-parent-ref-id",entityType:r.VariableInstance,entityId:UR},kF={id:WR,type:r.OutputMap,version:1,declaration:Be.properties[1],index:0,writesValues:[XR],parent:jF},qF={type:r.GenericReference,id:"global-user-instance-parent-ref-id",entityType:r.Project,entityId:J},JF={id:UR,type:r.VariableInstance,version:1,declaration:KR,calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[],outputs:[kF],internalCalls:[],parent:qF,x:0,y:0},WF={type:r.GenericReference,id:"is-test-environment-variable-dcl-datatype-parent-ref-id",entityType:r.VariableDeclaration,entityId:ul},HF={type:r.GenericReference,id:"is-test-environment-variable-dcl-datatype-default-value-parent-ref-id",entityType:r.DataType,entityId:"is-test-environment-variable-dcl-datatype-id"},YF={id:"is-test-environment-variable-dcl-datatype-id",type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,entity:Fn,version:1,asType:!1,isList:!1,isNullable:!1,constant:!0,parent:WF,defaultValue:{id:"is-test-environment-variable-dcl-datatype-default-value-id",name:g.Boolean,version:1,value:null,type:r.PrimitiveValue,autogeneration:{type:xe.Random,rangeStart:null,rangeEnd:null},valueAsType:null,parent:HF}},zF={type:r.GenericReference,id:"is-test-environment-variable-dcl-main-project-ref-id",entityType:r.Project,entityId:J},eb={id:"is-test-environment-variable-dcl-id",type:r.VariableDeclaration,version:1,name:"Is test envrioment",description:"Indicates whether the current environment is a test environment or not.",dataType:YF,inputs:[],outputs:[],calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],x:0,y:0,readsValue:null,writesValues:[],internalCalls:[],parent:zF},ZF={type:r.GenericReference,id:"is-test-environment-variable-instance-parent-ref-id",entityType:r.Project,entityId:J},XF={id:"is-test-environment-variable-instance-id",type:r.VariableInstance,version:1,declaration:eb,calledByError:[],calledByEntry:[],calledBySuccess:[],successCalls:[],errorCalls:[],readsValue:null,writesValues:[],inputs:[],outputs:[],internalCalls:[],parent:ZF,x:0,y:0},tb={type:r.Project,id:J,version:1,name:"Mocked project to compile",description:"This project is used to test all sorts of features and edge cases. It is not meant to be used in production. Or to have any functionality that makes sense",projects:[xG],entities:[pl,yl,ct,zw,Pt,os,mT,TT,Lr,kB,mt,Gw,Xm,WD,xB],functions:[uV,qT,wl,RV,SV,iE,_l,Tl,VG,ST,fL],events:[O_],variableDeclarations:[eb,KR,Ll,VF,QR,GF],variableInstances:[XF,JF],conditions:[],operations:[Ur],functionCalls:[AM,MN],loops:[XG],searches:[rF]};var f=(n=>(n.Error="error",n.Warning="warning",n))(f||{}),v=(n=>(n.InvalidObjectStructure="invalid-object-structure",n.NameNotUniqueInScope="name-not-unique-in-scope",n.EmptyName="empty-name",n.MissingCaller="missing-caller",n.PropertyOverwrite="property-overwrite",n.MethodOverwrite="method-overwrite",n.NoOverlapWithImplementedSignature="no-overlap-with-implemented-signature",n.ReaderWriterIncompatibleDataType="reader-writer-incompatible-data-type",n.UnreachableEntity="unreachable-entity",n.InternalCallParentMissingDataType="internal-call-parent-missing-data-type",n.InternalCallParentDeclarationEntityInvalidType="internal-call-parent-declaration-entity-invalid-type",n.InternalCallDeclarationNotFoundInParentDatatypeEntity="internal-call-declaration-not-found-in-parent-datatype-entity",n.InternalCallDeclarationIsNotFunctionDeclaration="internal-call-declaration-is-not-function-declaration",n.InternalCallDeclarationNotInParentDatatypeEntity="internal-call-declaration-not-in-parent-datatype-entity",n))(v||{}),y=(n=>(n.RootReference="root-reference",n.ReferencedEntityNotFound="referenced-entity-not-found",n.EntityIdNotUnique="entity-id-not-unique",n.BuiltInEntityGenerated="built-in-entity-generated",n.BuiltInEntityUpdated="built-in-entity-updated",n.BuiltInEntityDeleted="built-in-entity-deleted",n.UnknownEntityType="unknown-entity-type",n.MissingTypeProperty="missing-type-property",n.MissingIdProperty="missing-id-property",n.BuiltInEntityParent="built-in-entity-parent",n.InvalidBuiltInEntityReference="invalid-built-in-entity-reference",n.RecommendedImplementAbstractEntityAction="recommended-implement-abstract-entity-action",n.RecommendedImplementOperationAction="recommended-implement-operation-action",n.RecommendedImplementFunctionCallAction="recommended-implement-function-call-action",n.RecommendedImplementVariableDeclarationAction="recommended-implement-variable-declaration-action",n.RecommendedImplementVariableInstanceAction="recommended-implement-variable-instance-action",n.RecommendedImplementConditionAction="recommended-implement-condition-action",n.InvalidReferenceObjectStructure="invalid-reference-object-structure",n.ContainsSingleButShouldBeReferenceList="contains-single-but-should-be-reference-list",n.ContainsListButShouldReferenceSingle="contains-list-but-should-reference-single",n.InvalidParentReference="invalid-parent-reference",n.InvalidImplementsReference="invalid-implements-reference",n.InvalidExtendsReference="invalid-extends-reference",n.InvalidGenerationActionPayload="invalid-generation-action-payload",n.InvalidReference="invalid-reference",n.InvalidInternalCallParentRelation="invalid-internal-call-parent-relation",n.InvalidUpdateEntityOperation="invalid-update-entity-operation",n.NewEntityWouldOverriteExisting="new-entity-would-overrite-existing",n.InvalidDownstreamPropertyOverride="invalid-downstream-property-override",n.UnrecognizedProperty="unrecognized-property",n.SelfReference="self-reference",n.DuplicateReference="duplicate-reference",n.CallerWithIncompatibleScope="caller-with-incompatible-scope",n.InvalidFunctionDeclarationForFunctionCall="invalid-function-declaration-for-function-call",n.InvalidInputMapDeclaration="invalid-input-map-declaration",n.InvalidActionDescriptorForOperation="invalid-action-descriptor-for-operation",n.InvalidActionDescriptorForCondition="invalid-action-descriptor-for-condition",n.InvalidActionDescriptorForLoop="invalid-action-descriptor-for-loop",n.InvalidInmutablePropertyOverride="invalid-inmutable-property-override",n.OutputOverwrite="output-overwrite",n.InputOverwrite="input-overwrite",n.IncompatibleScope="incompatible-scope",n.InvalidParentUpdate="invalid-parent-update",n.NonInteractiveEntityReferenced="non-interactive-entity-referenced",n.InvalidParentRelationType="invalid-parent-relation-type",n))(y||{}),O=(n=>(n.ScopeWithoutLogic="scope-without-logic",n.ExtendingAbstractEntity="extending-abstract-entity",n.ImplementingNonAbstractEntity="implementing-non-abstract-entity",n.AbstractEntityWithNonAbstractMethods="abstract-entity-with-non-abstract-methods",n.AbstractEntityWithNonAbstractProperties="abstract-entity-with-non-abstract-properties",n.StaticEntityWithNonStaticProperties="static-entity-with-non-static-properties",n.NonStaticPropertyInStaticEntity="non-static-property-in-static-entity",n.AbstractPropertyInNonAbstractEntity="abstract-property-in-non-abstract-entity",n.AbstractMethodInNonAbstractEntity="abstract-method-in-non-abstract-entity",n.IncorrectEntityImplementation="incorrect-entity-implementation",n.IncorrectMethodImplementation="incorrect-method-implementation",n.IncorrectPropertyImplementation="incorrect-property-implementation",n.PropertyImplementsNonAbstact="property-implements-non-abstract",n.NonStaticPropertyImplementsStatic="non-static-property-implements-static",n.StaticPropertyImplementsNonStatic="static-property-implements-non-static",n.PropertyImplementsIncompatibleType="property-implements-incompatible-type",n.MissingPropertyImplementation="missing-property-implementation",n.MissingMethodImplementation="missing-method-implementation",n.NoProperties="no-properties",n.ReadingFromIncompatibleType="reading-from-incompatible-type",n.WritingToIncompatibleType="writing-to-incompatible-type",n.InvalidPropertiesCombination="invalid-properties-combination",n.DisconnectedCallableEntity="disconnected-callable-entity",n.VariableHasInputsAndInternalCall="variable-has-inputs-and-internal-calls",n.VariableHasOutputsAndInternalCall="variable-has-outputs-and-internal-call",n.VariableIsCalledAndHasInternalCall="variable-is-called-and-has-internal-call",n.VariableCallsOthersAndHasInternalCall="variable-calls-others-and-has-internal-call",n))(O||{});class E{constructor(e){l(this,"id");l(this,"message");l(this,"issue");l(this,"severity");l(this,"code");this.id=e.id,this.message=e.message,this.issue=e.issue,this.severity=e.severity,this.code=e.code}toEntityError(e){return this.code in v?new Xn({id:this.id,message:this.message,issue:this.issue,severity:this.severity,code:this.code,entity:e}):null}}class Xn{constructor(e){l(this,"id");l(this,"message");l(this,"issue");l(this,"severity");l(this,"code");l(this,"entity");this.id=e.id,this.message=e.message,this.issue=e.issue,this.severity=e.severity,this.code=e.code,this.entity=e.entity}clone(){return new Xn({id:this.id,message:this.message,issue:this.issue,severity:this.severity,code:this.code,entity:this.entity})}}function QF(n){const e=new Set;return n.filter(t=>e.has(t.id)?!1:(e.add(t.id),!0))}function k(n){const e=n.entity.errors.find(i=>i.id===n.id);return e?{new:!1,error:e}:{new:!0,error:new Xn(n)}}function KF(n,e){const t=new Map;return n.forEach(i=>{t.set(i.id,i)}),e.forEach(i=>{t.set(i.id,i)}),Array.from(t.values())}function X(n,e){const t=[];return e.forEach(i=>{const a=n.find(s=>s.id===i.id);a?t.push(a):t.push(i)}),t}const Wi=c.union([c.string(),c.number(),c.boolean(),c.date()]),nb=c.enum([xe.CurrentDateAndTime,xe.Random,xe.Unique]),Rs=c.object({type:nb,rangeStart:Wi.nullable(),rangeEnd:Wi.nullable()}),Hi=Rs.extend({type:c.literal(xe.Random),rangeStart:Wi,rangeEnd:Wi}),Wl=Rs.extend({type:c.literal(xe.Unique),rangeStart:c.null(),rangeEnd:c.null()}),rb=Rs.extend({type:c.literal(xe.CurrentDateAndTime),rangeStart:c.null(),rangeEnd:c.null()}),bs=Hi.extend({rangeStart:c.number().nullable(),rangeEnd:c.number().nullable()}),ib=bs.extend({rangeStart:c.number(),rangeEnd:c.null()}),ab=bs.extend({rangeStart:c.null(),rangeEnd:c.number()}),sb=bs.extend({rangeStart:c.number(),rangeEnd:c.number()}),vs=Hi.extend({rangeStart:c.number().nullable(),rangeEnd:c.number().nullable()}),ob=vs.extend({rangeStart:c.number(),rangeEnd:c.null()}),lb=vs.extend({rangeStart:c.null(),rangeEnd:c.number()}),cb=vs.extend({rangeStart:c.number(),rangeEnd:c.number()}),gs=Hi.extend({rangeStart:c.date().nullable(),rangeEnd:c.date().nullable()}),db=gs.extend({rangeStart:c.date(),rangeEnd:c.null()}),ub=gs.extend({rangeStart:c.null(),rangeEnd:c.date()}),pb=gs.extend({rangeStart:c.date(),rangeEnd:c.date()}),Hl=Hi.extend({rangeStart:c.null(),rangeEnd:c.null()}),Yl=c.union([ob,lb,cb]),zl=c.union([ib,ab,sb]),Zl=c.union([db,ub,pb,rb]),Xl=c.union([Yl,zl,Zl,Wl,Hl]);function Ql(){return c.union([c.object({type:c.literal(r.ValueDescriptor)}),c.record(c.string(),c.any())])}function yb(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ValueDescriptor)})}function Kl(){return c.object({id:c.string(),type:c.literal(r.ValueDescriptor),name:c.string(),required:c.boolean()})}function e4(){return Kl().merge(c.object({version:c.number(),index:c.number()}))}function t4(){return Kl().merge(c.object({}))}function n4(){return c.object({dataType:cn(),parent:on()})}function r4(){return e4().merge(n4())}function Is(){return c.union([c.object({type:c.literal(r.PrimitiveEntity)}),c.record(c.string(),c.any())])}function Ps(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.PrimitiveEntity)})}function Ds(){return c.object({id:c.string(),type:c.literal(r.PrimitiveEntity),name:c.string(),description:c.string().nullable(),static:c.boolean(),abstract:c.boolean()})}function i4(){return Ds().merge(c.object({version:c.number()}))}function a4(){return Ds().merge(c.object({}))}function s4(){return c.object({properties:c.array(Qn()),methods:c.array(At()),abstractMethods:c.array(Yt()),extends:c.array(c.union([Is(),Jr()]))})}function o4(){return i4().merge(s4())}function Qn(){return c.union([c.object({type:c.literal(r.Property)}),c.record(c.string(),c.any())])}function hb(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Property)})}function ec(){return c.object({id:c.string(),type:c.literal(r.Property),name:c.string(),description:c.string().nullable(),private:c.boolean(),static:c.boolean(),required:c.boolean(),abstract:c.boolean()})}function l4(){return ec().merge(c.object({version:c.number(),index:c.number()}))}function c4(){return ec().merge(c.object({}))}function d4(){return c.object({dataType:cn(),implements:Qn().nullable(),parent:c.union([nr(),Ps(),As()])})}function u4(){return l4().merge(d4())}function p4(){return c.enum([_.CRON_JOB,_.EXECUTION,_.HTTP_ENDPOINT,_.PERSISTED_ENTITY,_.RELATIONAL_DATABASE])}function Jr(){return c.union([c.object({type:c.literal(r.BuiltInBaseEntity)}),c.record(c.string(),c.any())])}function As(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.BuiltInBaseEntity)})}function tc(){return c.object({id:c.string(),version:c.number(),type:c.literal(r.BuiltInBaseEntity),name:p4(),description:c.string().nullable(),abstract:c.boolean(),static:c.boolean()})}function y4(){return tc()}function h4(){return tc().merge(c.object({}))}function f4(){return c.object({properties:c.array(Qn()),methods:c.array(At()),abstractMethods:c.array(Yt()),extends:c.array(c.union([Jr(),Is()]))})}function m4(){return y4().merge(f4())}function fb(){return c.enum([L.Dynamic,L.Fixed,L.None])}function Yt(){return c.union([c.object({type:c.literal(r.ActionDescriptor)}),c.record(c.string(),c.any())])}function on(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ActionDescriptor)})}function Ss(){return c.object({id:c.string(),type:c.literal(r.ActionDescriptor),name:c.string(),description:c.string().nullable(),argumentsType:fb(),returnsType:fb()})}function T4(){return Ss().merge(c.object({version:c.number()}))}function E4(){return Ss().merge(c.object({}))}function R4(){return c.object({fixedArguments:c.array(Ql()),fixedReturns:c.array(Ql()),dynamicArgumentTypes:cn().nullable(),dynamicReturnTypes:cn().nullable(),parent:c.union([Et(),nr(),As(),Ps()]).nullable()})}function mb(){return T4().merge(R4())}function Wr(){return c.union([c.object({type:c.literal(r.Loop)}),c.record(c.string(),c.any())])}function zt(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Loop)})}function Tb(){return c.object({id:c.string(),type:c.literal(r.Loop)})}function b4(){return Tb().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function v4(){return Tb().merge(c.object({declaration:c.union([c.string(),At()])}))}function g4(){return c.object({calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),declaration:Yt(),inputs:c.array(Dt()),outputs:c.array(ut()),successCalls:c.array(ke()),errorCalls:c.array(ke()),error:ut(),body:At(),parent:c.union([un(),Et()]),breakStatements:c.array(Xr()),continueStatements:c.array(Hr())})}function I4(){return b4().merge(g4())}function Hr(){return c.union([c.object({type:c.literal(r.ContinueStatement)}),c.record(c.string(),c.any())])}function Yr(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ContinueStatement)})}function nc(){return c.object({id:c.string(),type:c.literal(r.ContinueStatement)})}function P4(){return nc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function D4(){return nc().merge(c.object({}))}function A4(){return c.object({calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),outputs:c.array(Zt()),throws:c.optional(Zt()),parent:zt()})}function S4(){return P4().merge(A4())}function Kn(){return c.union([c.object({type:c.literal(r.ReturnStatement)}),c.record(c.string(),c.any())])}function zr(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ReturnStatement)})}function rc(){return c.object({id:c.string(),type:c.literal(r.ReturnStatement)})}function O4(){return rc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function C4(){return rc().merge(c.object({}))}function B4(){return c.object({calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),outputs:c.array(Zt()),throws:c.optional(Zt()),parent:un()})}function w4(){return O4().merge(B4())}function Yi(){return c.union([c.object({type:c.literal(r.Search)}),c.record(c.string(),c.any())])}function Zr(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Search)})}function ic(){return c.object({id:c.string(),type:c.literal(r.Search),name:c.string(),query:c.any(),description:c.string().nullable()})}function _4(){return ic().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function M4(){return ic().merge(c.object({}))}function N4(){return c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),inputsDeclarations:c.array(tr()),inputs:c.array(Dt()),outputsDeclarations:c.array(Zt()),outputs:c.array(ut()),parent:c.union([un(),Et()]),error:ut().nullable()})}function $4(){return _4().merge(N4())}function Zt(){return c.union([c.object({type:c.literal(r.ReturnDeclaration)}),c.record(c.string(),c.any())])}function Eb(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ReturnDeclaration)})}function ac(){return c.object({id:c.string(),type:c.literal(r.ReturnDeclaration),name:c.string(),description:c.string().nullable(),isError:c.boolean()})}function V4(){return ac().merge(c.object({version:c.number(),index:c.number()}))}function L4(){return ac().merge(c.object({}))}function G4(){return c.object({dataType:cn().nullable(),readsValue:Qi().nullable(),parent:c.union([zr(),on(),on(),Zr(),ln(),Yr()])})}function F4(){return V4().merge(G4())}function Xr(){return c.union([c.object({type:c.literal(r.BreakStatement)}),c.record(c.string(),c.any())])}function ln(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.BreakStatement)})}function sc(){return c.object({id:c.string(),type:c.literal(r.BreakStatement)})}function U4(){return sc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function x4(){return sc().merge(c.object({}))}function j4(){return c.object({calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),outputs:c.array(Zt()),throws:c.optional(Zt()),parent:zt()})}function k4(){return U4().merge(j4())}function ut(){return c.union([c.object({type:c.literal(r.OutputMap)}),c.record(c.string(),c.any())])}function oc(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.OutputMap)})}function lc(){return c.object({id:c.string(),type:c.literal(r.OutputMap)})}function q4(){return lc().merge(c.object({version:c.number(),index:c.number()}))}function J4(){return lc().merge(c.object({}))}function W4(){return c.object({writesValues:c.array(dn()),declaration:c.union([Zt(),Qn()]),parent:c.union([ye(),zt(),ln()])})}function H4(){return q4().merge(W4())}function Qr(){return c.union([c.object({type:c.literal(r.FunctionCall)}),c.record(c.string(),c.any())])}function zi(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.FunctionCall)})}function cc(){return c.object({id:c.string(),type:c.literal(r.FunctionCall)})}function Y4(){return cc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function z4(){return cc().merge(c.object({}))}function Z4(){return c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),writesValues:c.array(dn()),declaration:At(),inputs:c.array(Dt()),outputs:c.array(ut()),error:c.optional(ut()),parent:c.union([un(),Et()])})}function X4(){return Y4().merge(Z4())}function Q4(){return c.enum([Ae.Equal,Ae.NotEqual,Ae.MoreThan,Ae.MoreThanOrEqual,Ae.LessThan,Ae.LessThanOrEqual,Ae.And,Ae.Or,Ct.Empty,Ct.NotEmpty])}function Zi(){return c.union([c.object({type:c.literal(r.Condition)}),c.record(c.string(),c.any())])}function Os(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Condition)})}function dc(){return c.object({id:c.string(),type:c.literal(r.Condition)})}function K4(){return dc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function eU(){return dc().merge(c.object({}))}function tU(){return c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),leftValue:Dt(),rightValue:Dt().nullable(),operator:Q4(),parent:c.union([un(),Et()])})}function nU(){return K4().merge(tU())}function Xi(){return c.union([c.object({type:c.literal(r.InternalCall)}),c.record(c.string(),c.any())])}function uc(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.InternalCall)})}function pc(){return c.object({id:c.string(),type:c.literal(r.InternalCall),index:c.number()})}function rU(){return pc().merge(c.object({version:c.number(),index:c.number()}))}function iU(){return pc().merge(c.object({declaration:c.union([c.string(),At()])}))}function aU(){return c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),writesValues:c.array(dn()),declaration:At(),inputs:c.array(Dt()),outputs:c.array(ut()),parent:Bn(),error:c.optional(ut())})}function sU(){return rU().merge(aU())}function Dt(){return c.union([c.object({type:c.literal(r.InputMap)}),c.record(c.string(),c.any())])}function Cs(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.InputMap)})}function yc(){return c.object({id:c.string(),type:c.literal(r.InputMap),name:c.string().nullable().optional(),description:c.string().nullable().optional()})}function oU(){return yc().merge(c.object({version:c.number(),index:c.number()}))}function lU(){return yc().merge(c.object({}))}function cU(){return c.object({defaultValue:hc().nullable(),declaration:c.union([tr(),Qn()]).nullable(),readsValue:Qi().nullable(),parent:c.union([ye(),Cs(),zt(),ln()]),dynamicArguments:c.array(Dt())})}function dU(){return oU().merge(cU())}function Kr(){return c.union([c.object({type:c.literal(r.Operation)}),c.record(c.string(),c.any())])}function ei(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.Operation)})}function Bs(){return c.object({id:c.string(),type:c.literal(r.Operation)})}function uU(){return Bs().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function pU(){return Bs().merge(c.object({}))}function yU(){return Bs().merge(c.object({successCalls:c.array(ke()),errorCalls:c.array(ke()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),writesValues:c.array(dn()),declaration:Yt(),inputs:c.array(Dt()),outputs:c.array(ut()),error:c.array(ut()),dynamicArguments:c.array(Dt()),parent:c.union([un(),Et()])}))}function hU(){return uU().merge(yU())}function ws(){return c.union([c.string(),c.number(),c.boolean(),c.null(),c.date()])}function Rb(){return c.record(c.string(),ws())}function fU(){return c.array(c.union([ws(),Rb()]))}function bb(){return c.union([ws(),Rb(),fU()])}function vb(){return c.union([ws(),bb()])}function gb(){return c.enum([g.String,g.Number,g.Boolean,g.Null,g.Date,g.JSON,g.Enum,g.File,g.UUID,g.EntityTemplate,g.ActionDescriptor])}function mU(){return c.union([nr(),ei(),Ki()])}function TU(){return c.object({id:c.string(),name:gb(),type:c.literal(r.PrimitiveValue),value:vb(),autogeneration:Xl.nullable()})}function EU(){return TU().merge(c.object({}))}function Ft(){return c.object({id:c.string(),version:c.number(),name:gb(),type:c.literal(r.PrimitiveValue),value:vb(),valueAsType:mU().nullable(),autogeneration:Xl.nullable(),parent:c.union([fc(),Cs()])})}function RU(){return Ft().extend({name:c.literal(g.String),value:c.string(),autogeneration:Yl.nullable()})}function bU(){return Ft().extend({name:c.literal(g.Number),value:c.number(),autogeneration:zl.nullable()})}function vU(){return Ft().extend({name:c.literal(g.Boolean),value:c.boolean(),autogeneration:Hl.nullable()})}function gU(){return Ft().extend({name:c.literal(g.Null),value:c.null(),autogeneration:c.null()})}function IU(){return Ft().extend({name:c.literal(g.Date),value:c.date(),autogeneration:Zl.nullable()})}function PU(){return Ft().extend({name:c.literal(g.JSON),value:bb(),autogeneration:c.null()})}function DU(){return Ft().extend({name:c.literal(g.Enum),value:c.string(),autogeneration:c.null()})}function AU(){return Ft().extend({name:c.literal(g.File),value:c.string(),autogeneration:c.null()})}function SU(){return Ft().extend({name:c.literal(g.UUID),value:c.string(),autogeneration:Wl.nullable()})}function OU(){return Ft().extend({name:c.literal(g.EntityTemplate),value:nr(),autogeneration:c.null()})}function CU(){return Ft().extend({name:c.literal(g.ActionDescriptor),value:Ki(),autogeneration:c.null()})}function hc(){return c.union([RU(),bU(),vU(),gU(),IU(),PU(),DU(),AU(),SU(),OU(),CU()])}function cn(){return c.union([c.object({type:c.literal(r.DataType)}),c.record(c.string(),c.any())])}function fc(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.DataType)})}function mc(){return c.object({id:c.string(),type:c.literal(r.DataType),isNullable:c.boolean(),isList:c.boolean(),constant:c.boolean(),asType:c.boolean(),options:c.array(c.string()).optional()})}function BU(){return mc().merge(c.object({version:c.number()}))}function wU(){return mc().merge(c.object({}))}function _U(){return c.object({defaultValue:hc().nullable(),entity:c.union([ti(),Jr(),Is(),Yt()]).nullable(),parent:c.union([hb(),Db(),on(),yb()])})}function MU(){return BU().merge(_U())}function Tc(){return c.union([c.object({type:c.literal(r.VariableDeclaration)}),c.record(c.string(),c.any())])}function NU(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.VariableDeclaration)})}function Ec(){return c.object({id:c.string(),type:c.literal(r.VariableDeclaration),name:c.string(),description:c.string().nullable()})}function $U(){return Ec().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function VU(){return Ec().merge(c.object({}))}function LU(){return c.object({dataType:cn().nullable(),readsValue:Qi().nullable(),writesValues:c.array(dn()),inputs:c.array(Dt()),outputs:c.array(ut()),successCalls:c.array(ke()),errorCalls:c.array(ke()),internalCalls:c.array(Xi()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),parent:c.union([un(),Et()])})}function GU(){return $U().merge(LU())}function Ib(){return c.union([c.object({type:c.literal(r.VariableInstance)}),c.record(c.string(),c.any())])}function FU(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.VariableInstance)})}function Rc(){return c.object({id:c.string(),type:c.literal(r.VariableInstance)})}function UU(){return Rc().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function xU(){return Rc().merge(c.object({}))}function jU(){return c.object({declaration:Tc(),dataType:cn().nullable(),readsValue:Qi().nullable(),writesValues:c.array(dn()),inputs:c.array(Dt()),outputs:c.array(ut()),successCalls:c.array(ke()),errorCalls:c.array(ke()),internalCalls:c.array(Xi()),calledBySuccess:c.array(ye()),calledByError:c.array(ye()),calledByEntry:c.array(Ue()),parent:c.union([un(),Et()])})}function kU(){return UU().merge(jU())}function bc(){return c.union([c.object({type:c.literal(r.InstalledProject)}),c.record(c.string(),c.any())])}function _s(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.InstalledProject)})}function qU(){return c.object({id:c.string(),type:c.literal(r.InstalledProject)})}function JU(){return c.object({version:c.number(),x:c.number(),y:c.number()})}function WU(){return c.object({})}function HU(){return c.object({implements:Et(),description:c.string().nullable(),functions:c.array(At()),events:c.array(vc()),parent:Et()})}function YU(){return JU().merge(HU())}function vc(){return c.union([c.object({type:c.literal(r.GlobalEvent)}),c.record(c.string(),c.any())])}function zU(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.GlobalEvent)})}function Ms(){return c.object({id:c.string(),type:c.literal(r.GlobalEvent),name:c.string(),collapsed:c.boolean()})}function ZU(){return Ms().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function XU(){return Ms().merge(c.object({}))}function QU(){return Ms().merge(c.object({returnStatements:c.array(Kn()),implements:c.array(mb()),inputs:c.array(tr()),calls:c.array(ke()),parent:c.union([Et(),_s()])}))}function KU(){return ZU().merge(QU())}function er(){return c.union([Tc(),Ib()])}function Bn(){return c.union([NU(),FU()])}function dn(){return c.union([er(),Dt(),Zt()])}function Pb(){return c.union([Bn(),Cs(),Eb()])}function Qi(){return c.union([er(),tr(),ut(),Kr(),Xi(),Qr()])}function ex(){return c.union([Bn(),gc(),oc(),ei(),uc(),zi()])}function tx(){return c.union([tr(),ut(),dn()])}function Db(){return c.union([gc(),oc(),Pb()])}function Ns(){return vc()}function $s(){return zU()}function Vs(){return c.union([Kr(),Qr(),Zi(),Yi(),er(),Xi(),Wr()])}function ye(){return c.union([ei(),zi(),Os(),Zr(),Bn(),uc(),zt()])}function Ls(){return c.union([Kr(),Qr(),Zi(),Yi(),er(),Wr()])}function Gs(){return c.union([ei(),zi(),Os(),Zr(),Bn(),zt()])}function Ab(){return c.union([Vs(),Kn(),Xr(),Hr()])}function ke(){return c.union([ye(),zr(),ln(),Yr()])}function Sb(){return c.union([Ls(),Kn(),Xr(),Hr()])}function Ob(){return c.union([Gs(),zr(),ln(),Yr()])}function wn(){return c.union([At(),Ns()])}function Ue(){return c.union([Ki(),$s()])}function nx(){return c.union([Vs(),wn()])}function rx(){return c.union([ye(),Ue()])}function ix(){return c.union([Ls(),wn()])}function ax(){return c.union([Gs(),Ue()])}function sx(){return c.union([Ab(),wn()])}function ox(){return c.union([ke(),Ue()])}function lx(){return c.union([Sb(),wn()])}function cx(){return c.union([Ob(),Ue()])}function dx(){return c.union([wn(),Wr()])}function un(){return c.union([Ue(),zt()])}function ux(){return c.union([Vs(),wn()])}function px(){return c.union([ye(),Ue()])}function yx(){return c.union([Ls(),wn()])}function hx(){return c.union([Gs(),Ue()])}function fx(){return c.union([Kn(),Xr(),Hr()])}function mx(){return c.union([zr(),ln(),Yr()])}function Tx(){return c.union([Jr(),Cx(),bc(),ti(),At(),Ns(),er(),Dt(),ut(),Zi(),Kr(),Qr(),Zt(),tr(),Is(),cn(),Qn(),Yt(),Kn(),Hr(),Xr(),Wr(),Yi(),Yt(),Yt(),Ql(),Xi()])}function Ex(){return c.union([As(),Et(),_s(),nr(),Ki(),$s(),Bn(),Cs(),oc(),Os(),ei(),zi(),Eb(),gc(),Ps(),fc(),hb(),on(),zr(),Yr(),ln(),zt(),Zr(),on(),on(),yb(),uc()])}function Rx(){return c.union([bc(),ti(),At(),Ns(),er(),Zi(),Kr(),Qr(),Kn(),Hr(),Xr(),Wr(),Yi()])}function bx(){return c.union([_s(),nr(),Ki(),$s(),Bn(),Os(),ei(),zi(),zr(),Yr(),ln(),zt(),Zr()])}function tr(){return c.union([c.object({type:c.literal(r.ArgumentDeclaration)}),c.record(c.string(),c.any())])}function gc(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.ArgumentDeclaration)})}function Ic(){return c.object({id:c.string(),type:c.literal(r.ArgumentDeclaration)})}function vx(){return Ic().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function gx(){return Ic().merge(c.object({}))}function Ix(){return c.object({dataType:cn().nullable(),writesValues:c.array(dn()),parent:c.union([Ue(),on(),on(),Zr(),ln()])})}function Px(){return vx().merge(Ix())}function At(){return c.union([c.object({type:c.literal(r.FunctionDeclaration)}),c.record(c.string(),c.any())])}function Ki(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.FunctionDeclaration)})}function Pc(){return c.object({id:c.string(),type:c.literal(r.FunctionDeclaration),name:c.string(),description:c.string().nullable()})}function Dx(){return Pc().merge(c.object({version:c.number(),x:c.number(),y:c.number(),index:c.number().nullable()}))}function Ax(){return Pc()}function Sx(){return c.object({inputs:c.array(tr()),implements:Yt().nullable(),returnStatements:c.array(Kn()),parent:c.union([Et(),_s(),nr(),zt(),As(),Ps()])})}function Ox(){return Dx().merge(Sx())}function Cx(){return c.union([c.object({type:c.literal(r.Project)}),c.record(c.string(),c.any())])}function Et(){return c.object({entityType:c.literal(r.Project),entityId:c.string(),id:c.string(),type:c.literal(r.GenericReference)})}function Dc(){return c.object({id:c.string(),type:c.literal(r.Project),name:c.string(),description:c.string().nullable()})}function Bx(){return Dc().merge(c.object({version:c.number()}))}function wx(){return Dc()}function _x(){return c.object({entities:c.array(ti()),functions:c.array(At()),events:c.array(vc()),projects:c.array(bc()),variableDeclarations:c.array(Tc()),variableInstances:c.array(Ib()),conditions:c.array(Zi()),operations:c.array(Kr()),functionCalls:c.array(Qr()),loops:c.array(Wr()),searches:c.array(Yi())})}function Mx(){return Bx().merge(_x())}function ti(){return c.union([c.object({type:c.literal(r.CustomEntity)}),c.record(c.string(),c.any())])}function nr(){return c.object({id:c.string(),type:c.literal(r.GenericReference),entityId:c.string(),entityType:c.literal(r.CustomEntity)})}function Ac(){return c.object({id:c.string(),type:c.literal(r.CustomEntity),name:c.string(),description:c.string().nullable(),static:c.boolean(),abstract:c.boolean()})}function Nx(){return Ac().merge(c.object({version:c.number(),x:c.number(),y:c.number()}))}function $x(){return Ac().merge(c.object({}))}function Vx(){return c.union([Et(),fc()])}function Lx(){return c.object({properties:c.array(Qn()),methods:c.array(At()),abstractMethods:c.array(Yt()),extends:c.array(c.union([ti(),Jr()])),implements:c.array(c.union([ti(),Jr()])),parent:Vx()})}function Gx(){return Nx().merge(Lx())}function Fx(n){const e=Gx(),t=n.toJSON();e.safeParse(t).success;const a=n.implements.flatMap(m=>jx(n,m)),s=n.extends.flatMap(m=>kx(n,m)),o=Jx(n),u=qx(n);n.methods.flatMap(m=>m.validate());const p=[...a,...s,...o,...u];return X(n.errors,p)}function Ux(n,e){const t=e.properties.filter(s=>s.abstract),i=[];let a=[...n.properties];return t.forEach(s=>{const o=a.find(u=>{var p;return((p=u.implements)==null?void 0:p.id)===s.id});o?a=a.filter(u=>u.id!==o.id):i.push(s)}),i}function xx(n,e){const t=e.abstractMethods,i=[];let a=[...n.methods];return t.forEach(s=>{const o=a.find(u=>{var p;return((p=u.implements)==null?void 0:p.id)===s.id});o?a=a.filter(u=>u.id!==o.id):i.push(s)}),i}function jx(n,e){const t=[];if(!e.abstract){const m=k({id:n.id+"--"+O.ImplementingNonAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is implementing a non-abstract entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:O.ImplementingNonAbstractEntity,entity:n});return t.push(m.error),t}const i=e.properties.filter(m=>m.abstract),a=[];let s=[...n.properties];i.forEach(m=>{const T=s.find(b=>{var I;return((I=b.implements)==null?void 0:I.id)===m.id});T?s=s.filter(b=>b.id!==T.id):a.push(m)}),a.length&&a.forEach(m=>{const T=k({id:n.id+"--"+O.MissingPropertyImplementation+"--"+m.id,message:`Property "${m.name}" with id "${m.id}" of entity "${e.name}" with id "${e.id}" is not implemented when entity "${n.name}" with id "${n.id}" implements it`,issue:null,severity:f.Error,code:O.MissingPropertyImplementation,entity:n});t.push(T.error)});const o=[];let u=[...n.methods];e.abstractMethods.forEach(m=>{const T=u.find(b=>{var I;return((I=b.implements)==null?void 0:I.id)===m.id});T?u=u.filter(b=>b.id!==T.id):o.push(m)}),o.length&&o.forEach(m=>{const T=k({id:n.id+"--"+O.MissingMethodImplementation+"--"+m.id,message:`Method "${m.name}" with id "${m.id}" of entity "${e.name}" with id "${e.id}" is not implemented when entity "${n.name}" with id "${n.id}" implements it`,issue:null,severity:f.Error,code:O.MissingMethodImplementation,entity:n});t.push(T.error)});const p=[];e.properties.forEach(m=>{const T=s.find(b=>b.name===m.name);T&&p.push([T,m])}),p.length&&p.forEach(([m])=>{const T=k({id:n.id+"--"+v.PropertyOverwrite+"--"+m.id,message:`Property "${m.name}" with id "${m.id}" of entity "${n.name}" with id "${n.id}" overwrites the property with the same name from the base entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:v.PropertyOverwrite,entity:n});t.push(T.error)});const h=[];return e.methods.forEach(m=>{const T=u.find(b=>b.name===m.name);T&&h.push([T,m])}),h.length&&h.forEach(([m])=>{const T=k({id:n.id+"--"+v.MethodOverwrite+"--"+m.id,message:`Method "${m.name}" with id "${m.id}" of entity "${n.name}" with id "${n.id}" overwrites the method with the same name from the base entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:v.MethodOverwrite,entity:n});t.push(T.error)}),t}function kx(n,e){const t=[],i=[];if(e.abstract){const s=k({id:n.id+"--"+O.ExtendingAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is extending an abstract entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:O.ExtendingAbstractEntity,entity:n});return t.push(s.error),t}n.properties.forEach(s=>{var u;const o=e.properties.find(p=>p.name===s.name);((u=s.implements)==null?void 0:u.id)!==(o==null?void 0:o.id)&&o&&i.push(s)}),i.length&&i.forEach(s=>{const o=k({id:n.id+"--"+v.PropertyOverwrite,message:`Property "${s.name}" with id "${s.id}" of entity "${n.name}" with id "${n.id}" overwrites the property with the same name from the extended entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:v.PropertyOverwrite,entity:n});t.push(o.error)});const a=[];return n.methods.forEach(s=>{var u;const o=e.methods.find(p=>p.name===s.name);((u=s.implements)==null?void 0:u.id)!==(o==null?void 0:o.id)&&o&&a.push(s)}),a.length&&a.forEach(s=>{const o=k({id:n.id+"--"+v.MethodOverwrite,message:`Method "${s.name}" with id "${s.id}" of entity "${n.name}" with id "${n.id}" overwrites the method with the same name from the extended entity "${e.name}" with id "${e.id}"`,issue:null,severity:f.Error,code:v.MethodOverwrite,entity:n});t.push(o.error)}),t}function qx(n){const e=[];if(!n.properties.length){const t=k({id:n.id+"--"+O.NoProperties,message:"No properties implemented",issue:null,severity:f.Warning,code:O.NoProperties,entity:n});e.push(t.error)}return n.properties.forEach(t=>{t.validate()}),e}function Jx(n){const e=[];if(n.abstract){if(n.methods.length){const t=k({id:n.id+"--"+O.AbstractEntityWithNonAbstractMethods,message:`Entity "${n.name}" with id "${n.id}" is marked as abstract but has non-abstract methods`,issue:null,severity:f.Error,code:O.AbstractEntityWithNonAbstractMethods,entity:n});e.push(t.error)}if(n.properties.some(t=>!t.abstract)){const t=k({id:n.id+"--"+O.AbstractEntityWithNonAbstractProperties,message:`Entity "${n.name}" with id "${n.id}" is marked as abstract but has non-abstract properties`,issue:null,severity:f.Error,code:O.AbstractEntityWithNonAbstractProperties,entity:n});e.push(t.error),n.properties.forEach(i=>{if(!i.abstract){const a=k({id:n.id+"--"+O.StaticEntityWithNonStaticProperties+"--"+i.id,message:`Property "${i.name}" with id "${i.id}" of entity "${n.name}" with id "${n.id}" is not marked as abstract but the entity is marked as abstract`,issue:null,severity:f.Error,code:O.StaticEntityWithNonStaticProperties,entity:n});e.push(a.error)}})}}else{if(n.abstractMethods.length){const t=k({id:n.id+"--"+O.AbstractPropertyInNonAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is not marked as abstract but has abstract methods`,issue:null,severity:f.Error,code:O.AbstractPropertyInNonAbstractEntity,entity:n});e.push(t.error)}if(n.properties.some(t=>t.abstract)){const t=k({id:n.id+"--"+O.AbstractMethodInNonAbstractEntity,message:`Entity "${n.name}" with id "${n.id}" is not marked as abstract but has abstract properties`,issue:null,severity:f.Error,code:O.AbstractMethodInNonAbstractEntity,entity:n});e.push(t.error),n.properties.forEach(i=>{if(i.abstract){const a=k({id:n.id+"--"+O.AbstractMethodInNonAbstractEntity+"--"+i.id,message:`Property "${i.name}" with id "${i.id}" of entity "${n.name}" with id "${n.id}" is marked as abstract but the entity is not marked as abstract`,issue:null,severity:f.Error,code:O.AbstractMethodInNonAbstractEntity,entity:n});e.push(a.error)}})}}if(n.static&&n.properties.some(t=>!t.static)){const t=k({id:n.id+"--"+O.StaticEntityWithNonStaticProperties,message:`Entity "${n.name}" with id "${n.id}" is marked as static but has non-static properties`,issue:null,severity:f.Error,code:O.StaticEntityWithNonStaticProperties,entity:n});e.push(t.error),n.properties.forEach(i=>{if(!i.static){const a=k({id:n.id+"--"+O.NonStaticPropertyInStaticEntity+"--"+i.id,message:`Property "${i.name}" with id "${i.id}" of entity "${n.name}" with id "${n.id}" is not marked as static but the entity is marked as static`,issue:null,severity:f.Error,code:O.NonStaticPropertyInStaticEntity,entity:n});e.push(a.error)}})}return e}function Wx(n){return n instanceof Error&&n.name==="ZodError"&&"issues"in n&&Array.isArray(n.issues)}var Hx=class extends Error{constructor(e,t){super(e,t);l(this,"name");l(this,"details");this.name="ZodValidationError",this.details=Yx(t)}toString(){return this.message}};function Yx(n){if(n){const e=n.cause;if(Wx(e))return e.issues}return[]}var zx="; ",Cb="Validation error",Zx=": ",Xx=", or ";function Qx(n,e,t){return e!==null?n.length>0?[e,n].join(t):e:n.length>0?n:Cb}var Kx=/[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*/u;function e8(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+'["'+t8(t)+'"]';if(!Kx.test(t))return e+'["'+t+'"]';const i=e.length===0?"":".";return e+i+t},"")}function t8(n){return n.replace(/"/g,'\\"')}function n8(n){return n.length!==0}function Fs(n){const{issue:e,issueSeparator:t,unionSeparator:i,includePath:a}=n;if(e.code==="invalid_union")return e.unionErrors.reduce((s,o)=>{const u=o.issues.map(p=>Fs({issue:p,issueSeparator:t,unionSeparator:i,includePath:a})).join(t);return s.includes(u)||s.push(u),s},[]).join(i);if(e.code==="invalid_arguments")return[e.message,...e.argumentsError.issues.map(s=>Fs({issue:s,issueSeparator:t,unionSeparator:i,includePath:a}))].join(t);if(e.code==="invalid_return_type")return[e.message,...e.returnTypeError.issues.map(s=>Fs({issue:s,issueSeparator:t,unionSeparator:i,includePath:a}))].join(t);if(a&&n8(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 "${e8(e.path)}"`}return e.message}function r8(n,e={}){const{issueSeparator:t=zx,unionSeparator:i=Xx,prefixSeparator:a=Zx,prefix:s=Cb,includePath:o=!0}=e,u=Fs({issue:n,issueSeparator:t,unionSeparator:i,includePath:o}),p=Qx(u,s,a);return new Hx(p,{cause:new ft([n])})}var Bb="1.13.7",wb=typeof self=="object"&&self.self===self&&self||typeof global=="object"&&global.global===global&&global||Function("return this")()||{},Us=Array.prototype,Sc=Object.prototype,_b=typeof Symbol<"u"?Symbol.prototype:null,i8=Us.push,ea=Us.slice,ta=Sc.toString,a8=Sc.hasOwnProperty,Mb=typeof ArrayBuffer<"u",s8=typeof DataView<"u",o8=Array.isArray,Nb=Object.keys,$b=Object.create,Vb=Mb&&ArrayBuffer.isView,l8=isNaN,c8=isFinite,Lb=!{toString:null}.propertyIsEnumerable("toString"),Gb=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],d8=Math.pow(2,53)-1;function Rt(n,e){return e=e==null?n.length-1:+e,function(){for(var t=Math.max(arguments.length-e,0),i=Array(t),a=0;a<t;a++)i[a]=arguments[a+e];switch(e){case 0:return n.call(this,i);case 1:return n.call(this,arguments[0],i);case 2:return n.call(this,arguments[0],arguments[1],i)}var s=Array(e+1);for(a=0;a<e;a++)s[a]=arguments[a];return s[e]=i,n.apply(this,s)}}function _n(n){var e=typeof n;return e==="function"||e==="object"&&!!n}function u8(n){return n===null}function Fb(n){return n===void 0}function Ub(n){return n===!0||n===!1||ta.call(n)==="[object Boolean]"}function p8(n){return!!(n&&n.nodeType===1)}function rt(n){var e="[object "+n+"]";return function(t){return ta.call(t)===e}}const Oc=rt("String"),xb=rt("Number"),y8=rt("Date"),h8=rt("RegExp"),f8=rt("Error"),jb=rt("Symbol"),kb=rt("ArrayBuffer");var qb=rt("Function"),m8=wb.document&&wb.document.childNodes;typeof/./!="function"&&typeof Int8Array!="object"&&typeof m8!="function"&&(qb=function(n){return typeof n=="function"||!1});const pt=qb,Jb=rt("Object");var Wb=s8&&(!/\[native code\]/.test(String(DataView))||Jb(new DataView(new ArrayBuffer(8)))),Cc=typeof Map<"u"&&Jb(new Map),T8=rt("DataView");function E8(n){return n!=null&&pt(n.getInt8)&&kb(n.buffer)}const xs=Wb?E8:T8,rr=o8||rt("Array");function Mn(n,e){return n!=null&&a8.call(n,e)}var Bc=rt("Arguments");(function(){Bc(arguments)||(Bc=function(n){return Mn(n,"callee")})})();const wc=Bc;function R8(n){return!jb(n)&&c8(n)&&!isNaN(parseFloat(n))}function Hb(n){return xb(n)&&l8(n)}function Yb(n){return function(){return n}}function zb(n){return function(e){var t=n(e);return typeof t=="number"&&t>=0&&t<=d8}}function Zb(n){return function(e){return e==null?void 0:e[n]}}const js=Zb("byteLength"),b8=zb(js);var v8=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;function g8(n){return Vb?Vb(n)&&!xs(n):b8(n)&&v8.test(ta.call(n))}const Xb=Mb?g8:Yb(!1),bt=Zb("length");function I8(n){for(var e={},t=n.length,i=0;i<t;++i)e[n[i]]=!0;return{contains:function(a){return e[a]===!0},push:function(a){return e[a]=!0,n.push(a)}}}function Qb(n,e){e=I8(e);var t=Gb.length,i=n.constructor,a=pt(i)&&i.prototype||Sc,s="constructor";for(Mn(n,s)&&!e.contains(s)&&e.push(s);t--;)s=Gb[t],s in n&&n[s]!==a[s]&&!e.contains(s)&&e.push(s)}function We(n){if(!_n(n))return[];if(Nb)return Nb(n);var e=[];for(var t in n)Mn(n,t)&&e.push(t);return Lb&&Qb(n,e),e}function na(n){if(n==null)return!0;var e=bt(n);return typeof e=="number"&&(rr(n)||Oc(n)||wc(n))?e===0:bt(We(n))===0}function Kb(n,e){var t=We(e),i=t.length;if(n==null)return!i;for(var a=Object(n),s=0;s<i;s++){var o=t[s];if(e[o]!==a[o]||!(o in a))return!1}return!0}function Q(n){if(n instanceof Q)return n;if(!(this instanceof Q))return new Q(n);this._wrapped=n}Q.VERSION=Bb,Q.prototype.value=function(){return this._wrapped},Q.prototype.valueOf=Q.prototype.toJSON=Q.prototype.value,Q.prototype.toString=function(){return String(this._wrapped)};function ev(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,js(n))}var tv="[object DataView]";function _c(n,e,t,i){if(n===e)return n!==0||1/n===1/e;if(n==null||e==null)return!1;if(n!==n)return e!==e;var a=typeof n;return a!=="function"&&a!=="object"&&typeof e!="object"?!1:nv(n,e,t,i)}function nv(n,e,t,i){n instanceof Q&&(n=n._wrapped),e instanceof Q&&(e=e._wrapped);var a=ta.call(n);if(a!==ta.call(e))return!1;if(Wb&&a=="[object Object]"&&xs(n)){if(!xs(e))return!1;a=tv}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 _b.valueOf.call(n)===_b.valueOf.call(e);case"[object ArrayBuffer]":case tv:return nv(ev(n),ev(e),t,i)}var s=a==="[object Array]";if(!s&&Xb(n)){var o=js(n);if(o!==js(e))return!1;if(n.buffer===e.buffer&&n.byteOffset===e.byteOffset)return!0;s=!0}if(!s){if(typeof n!="object"||typeof e!="object")return!1;var u=n.constructor,p=e.constructor;if(u!==p&&!(pt(u)&&u instanceof u&&pt(p)&&p instanceof p)&&"constructor"in n&&"constructor"in e)return!1}t=t||[],i=i||[];for(var h=t.length;h--;)if(t[h]===n)return i[h]===e;if(t.push(n),i.push(e),s){if(h=n.length,h!==e.length)return!1;for(;h--;)if(!_c(n[h],e[h],t,i))return!1}else{var m=We(n),T;if(h=m.length,We(e).length!==h)return!1;for(;h--;)if(T=m[h],!(Mn(e,T)&&_c(n[T],e[T],t,i)))return!1}return t.pop(),i.pop(),!0}function P8(n,e){return _c(n,e)}function ra(n){if(!_n(n))return[];var e=[];for(var t in n)e.push(t);return Lb&&Qb(n,e),e}function Mc(n){var e=bt(n);return function(t){if(t==null)return!1;var i=ra(t);if(bt(i))return!1;for(var a=0;a<e;a++)if(!pt(t[n[a]]))return!1;return n!==av||!pt(t[Nc])}}var Nc="forEach",rv="has",$c=["clear","delete"],iv=["get",rv,"set"],D8=$c.concat(Nc,iv),av=$c.concat(iv),A8=["add"].concat($c,Nc,rv);const S8=Cc?Mc(D8):rt("Map"),O8=Cc?Mc(av):rt("WeakMap"),C8=Cc?Mc(A8):rt("Set"),B8=rt("WeakSet");function ni(n){for(var e=We(n),t=e.length,i=Array(t),a=0;a<t;a++)i[a]=n[e[a]];return i}function w8(n){for(var e=We(n),t=e.length,i=Array(t),a=0;a<t;a++)i[a]=[e[a],n[e[a]]];return i}function sv(n){for(var e={},t=We(n),i=0,a=t.length;i<a;i++)e[n[t[i]]]=t[i];return e}function Vc(n){var e=[];for(var t in n)pt(n[t])&&e.push(t);return e.sort()}function Lc(n,e){return function(t){var i=arguments.length;if(e&&(t=Object(t)),i<2||t==null)return t;for(var a=1;a<i;a++)for(var s=arguments[a],o=n(s),u=o.length,p=0;p<u;p++){var h=o[p];(!e||t[h]===void 0)&&(t[h]=s[h])}return t}}const ov=Lc(ra),ks=Lc(We),lv=Lc(ra,!0);function _8(){return function(){}}function cv(n){if(!_n(n))return{};if($b)return $b(n);var e=_8();e.prototype=n;var t=new e;return e.prototype=null,t}function M8(n,e){var t=cv(n);return e&&ks(t,e),t}function N8(n){return _n(n)?rr(n)?n.slice():ov({},n):n}function $8(n,e){return e(n),n}function dv(n){return rr(n)?n:[n]}Q.toPath=dv;function ia(n){return Q.toPath(n)}function Gc(n,e){for(var t=e.length,i=0;i<t;i++){if(n==null)return;n=n[e[i]]}return t?n:void 0}function uv(n,e,t){var i=Gc(n,ia(e));return Fb(i)?t:i}function V8(n,e){e=ia(e);for(var t=e.length,i=0;i<t;i++){var a=e[i];if(!Mn(n,a))return!1;n=n[a]}return!!t}function Fc(n){return n}function aa(n){return n=ks({},n),function(e){return Kb(e,n)}}function Uc(n){return n=ia(n),function(e){return Gc(e,n)}}function sa(n,e,t){if(e===void 0)return n;switch(t??3){case 1:return function(i){return n.call(e,i)};case 3:return function(i,a,s){return n.call(e,i,a,s)};case 4:return function(i,a,s,o){return n.call(e,i,a,s,o)}}return function(){return n.apply(e,arguments)}}function pv(n,e,t){return n==null?Fc:pt(n)?sa(n,e,t):_n(n)&&!rr(n)?aa(n):Uc(n)}function xc(n,e){return pv(n,e,1/0)}Q.iteratee=xc;function vt(n,e,t){return Q.iteratee!==xc?Q.iteratee(n,e):pv(n,e,t)}function L8(n,e,t){e=vt(e,t);for(var i=We(n),a=i.length,s={},o=0;o<a;o++){var u=i[o];s[u]=e(n[u],u,n)}return s}function yv(){}function G8(n){return n==null?yv:function(e){return uv(n,e)}}function F8(n,e,t){var i=Array(Math.max(0,n));e=sa(e,t,1);for(var a=0;a<n;a++)i[a]=e(a);return i}function jc(n,e){return e==null&&(e=n,n=0),n+Math.floor(Math.random()*(e-n+1))}const oa=Date.now||function(){return new Date().getTime()};function hv(n){var e=function(s){return n[s]},t="(?:"+We(n).join("|")+")",i=RegExp(t),a=RegExp(t,"g");return function(s){return s=s==null?"":""+s,i.test(s)?s.replace(a,e):s}}const fv={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},U8=hv(fv),x8=sv(fv),j8=hv(x8),k8=Q.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var kc=/(.)^/,q8={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},J8=/\\|'|\r|\n|\u2028|\u2029/g;function W8(n){return"\\"+q8[n]}var H8=/^\s*(\w|\$)+\s*$/;function Y8(n,e,t){!e&&t&&(e=t),e=lv({},e,Q.templateSettings);var i=RegExp([(e.escape||kc).source,(e.interpolate||kc).source,(e.evaluate||kc).source].join("|")+"|$","g"),a=0,s="__p+='";n.replace(i,function(h,m,T,b,I){return s+=n.slice(a,I).replace(J8,W8),a=I+h.length,m?s+=`'+
2
2
  ((__t=(`+m+`))==null?'':_.escape(__t))+
3
3
  '`:T?s+=`'+
4
4
  ((__t=(`+T+`))==null?'':__t)+
5
5
  '`:b&&(s+=`';
6
6
  `+b+`
7
7
  __p+='`),h}),s+=`';
8
- `;var o=e.variable;if(o){if(!J8.test(o))throw new Error("variable is not a bare identifier: "+o)}else s=`with(obj||{}){
8
+ `;var o=e.variable;if(o){if(!H8.test(o))throw new Error("variable is not a bare identifier: "+o)}else s=`with(obj||{}){
9
9
  `+s+`}
10
10
  `,o="obj";s=`var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
11
11
  `+s+`return __p;
12
12
  `;var u;try{u=new Function(o,"_",s)}catch(h){throw h.source=s,h}var p=function(h){return u.call(this,h,Q)};return p.source="function("+o+`){
13
- `+s+"}",p}function H8(n,e,t){e=ia(e);var i=e.length;if(!i)return pt(t)?t.call(n):t;for(var a=0;a<i;a++){var s=n==null?void 0:n[e[a]];s===void 0&&(s=t,a=i),n=pt(s)?s.call(n):s}return n}var Y8=0;function z8(n){var e=++Y8+"";return n?n+e:e}function Z8(n){var e=Q(n);return e._chain=!0,e}function fv(n,e,t,i,a){if(!(i instanceof e))return n.apply(t,a);var s=lv(n.prototype),o=n.apply(s,a);return Mn(o)?o:s}var ii=Et(function(n,e){var t=ii.placeholder,i=function(){for(var a=0,s=e.length,o=Array(s),u=0;u<s;u++)o[u]=e[u]===t?arguments[a++]:e[u];for(;a<arguments.length;)o.push(arguments[a++]);return fv(n,i,this,this,o)};return i});ii.placeholder=Q;const mv=Et(function(n,e,t){if(!pt(n))throw new TypeError("Bind must be called on a function");var i=Et(function(a){return fv(n,i,e,this,t.concat(a))});return i}),St=Yb(Rt);function ar(n,e,t,i){if(i=i||[],!e&&e!==0)e=1/0;else if(e<=0)return i.concat(n);for(var a=i.length,s=0,o=Rt(n);s<o;s++){var u=n[s];if(St(u)&&(ir(u)||wc(u)))if(e>1)ar(u,e-1,t,i),a=i.length;else for(var p=0,h=u.length;p<h;)i[a++]=u[p++];else t||(i[a++]=u)}return i}const X8=Et(function(n,e){e=ar(e,!1,!1);var t=e.length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var i=e[t];n[i]=mv(n[i],n)}return n});function Q8(n,e){var t=function(i){var a=t.cache,s=""+(e?e.apply(this,arguments):i);return Nn(a,s)||(a[s]=n.apply(this,arguments)),a[s]};return t.cache={},t}const Tv=Et(function(n,e,t){return setTimeout(function(){return n.apply(null,t)},e)}),K8=ii(Tv,Q,1);function e6(n,e,t){var i,a,s,o,u=0;t||(t={});var p=function(){u=t.leading===!1?0:oa(),i=null,o=n.apply(a,s),i||(a=s=null)},h=function(){var m=oa();!u&&t.leading===!1&&(u=m);var T=e-(m-u);return a=this,s=arguments,T<=0||T>e?(i&&(clearTimeout(i),i=null),u=m,o=n.apply(a,s),i||(a=s=null)):!i&&t.trailing!==!1&&(i=setTimeout(p,T)),o};return h.cancel=function(){clearTimeout(i),u=0,i=a=s=null},h}function t6(n,e,t){var i,a,s,o,u,p=function(){var m=oa()-a;e>m?i=setTimeout(p,e-m):(i=null,t||(o=n.apply(u,s)),i||(s=u=null))},h=Et(function(m){return u=this,s=m,a=oa(),i||(i=setTimeout(p,e),t&&(o=n.apply(u,s))),o});return h.cancel=function(){clearTimeout(i),i=s=u=null},h}function n6(n,e){return ii(e,n)}function qc(n){return function(){return!n.apply(this,arguments)}}function r6(){var n=arguments,e=n.length-1;return function(){for(var t=e,i=n[e].apply(this,arguments);t--;)i=n[t].call(this,i);return i}}function i6(n,e){return function(){if(--n<1)return e.apply(this,arguments)}}function Ev(n,e){var t;return function(){return--n>0&&(t=e.apply(this,arguments)),n<=1&&(e=null),t}}const a6=ii(Ev,2);function Rv(n,e,t){e=bt(e,t);for(var i=We(n),a,s=0,o=i.length;s<o;s++)if(a=i[s],e(n[a],a,n))return a}function bv(n){return function(e,t,i){t=bt(t,i);for(var a=Rt(e),s=n>0?0:a-1;s>=0&&s<a;s+=n)if(t(e[s],s,e))return s;return-1}}const Jc=bv(1),vv=bv(-1);function gv(n,e,t,i){t=bt(t,i,1);for(var a=t(e),s=0,o=Rt(n);s<o;){var u=Math.floor((s+o)/2);t(n[u])<a?s=u+1:o=u}return s}function Iv(n,e,t){return function(i,a,s){var o=0,u=Rt(i);if(typeof s=="number")n>0?o=s>=0?s:Math.max(s+u,o):u=s>=0?Math.min(s+1,u):s+u+1;else if(t&&s&&u)return s=t(i,a),i[s]===a?s:-1;if(a!==a)return s=e(ea.call(i,o,u),Wb),s>=0?s+o:-1;for(s=n>0?o:u-1;s>=0&&s<u;s+=n)if(i[s]===a)return s;return-1}}const Pv=Iv(1,Jc,gv),s6=Iv(-1,vv);function Wc(n,e,t){var i=St(n)?Jc:Rv,a=i(n,e,t);if(a!==void 0&&a!==-1)return n[a]}function o6(n,e){return Wc(n,aa(e))}function pn(n,e,t){e=sa(e,t);var i,a;if(St(n))for(i=0,a=n.length;i<a;i++)e(n[i],i,n);else{var s=We(n);for(i=0,a=s.length;i<a;i++)e(n[s[i]],s[i],n)}return n}function sr(n,e,t){e=bt(e,t);for(var i=!St(n)&&We(n),a=(i||n).length,s=Array(a),o=0;o<a;o++){var u=i?i[o]:o;s[o]=e(n[u],u,n)}return s}function Dv(n){var e=function(t,i,a,s){var o=!St(t)&&We(t),u=(o||t).length,p=n>0?0:u-1;for(s||(a=t[o?o[p]:p],p+=n);p>=0&&p<u;p+=n){var h=o?o[p]:p;a=i(a,t[h],h,t)}return a};return function(t,i,a,s){var o=arguments.length>=3;return e(t,sa(i,s,4),a,o)}}const Hc=Dv(1),Av=Dv(-1);function ai(n,e,t){var i=[];return e=bt(e,t),pn(n,function(a,s,o){e(a,s,o)&&i.push(a)}),i}function l6(n,e,t){return ai(n,qc(bt(e)),t)}function Sv(n,e,t){e=bt(e,t);for(var i=!St(n)&&We(n),a=(i||n).length,s=0;s<a;s++){var o=i?i[s]:s;if(!e(n[o],o,n))return!1}return!0}function Ov(n,e,t){e=bt(e,t);for(var i=!St(n)&&We(n),a=(i||n).length,s=0;s<a;s++){var o=i?i[s]:s;if(e(n[o],o,n))return!0}return!1}function yn(n,e,t,i){return St(n)||(n=ri(n)),(typeof t!="number"||i)&&(t=0),Pv(n,e,t)>=0}const c6=Et(function(n,e,t){var i,a;return pt(e)?a=e:(e=ia(e),i=e.slice(0,-1),e=e[e.length-1]),sr(n,function(s){var o=a;if(!o){if(i&&i.length&&(s=Gc(s,i)),s==null)return;o=s[e]}return o==null?o:o.apply(s,t)})});function Yc(n,e){return sr(n,Uc(e))}function d6(n,e){return ai(n,aa(e))}function Cv(n,e,t){var i=-1/0,a=-1/0,s,o;if(e==null||typeof e=="number"&&typeof n[0]!="object"&&n!=null){n=St(n)?n:ri(n);for(var u=0,p=n.length;u<p;u++)s=n[u],s!=null&&s>i&&(i=s)}else e=bt(e,t),pn(n,function(h,m,T){o=e(h,m,T),(o>a||o===-1/0&&i===-1/0)&&(i=h,a=o)});return i}function u6(n,e,t){var i=1/0,a=1/0,s,o;if(e==null||typeof e=="number"&&typeof n[0]!="object"&&n!=null){n=St(n)?n:ri(n);for(var u=0,p=n.length;u<p;u++)s=n[u],s!=null&&s<i&&(i=s)}else e=bt(e,t),pn(n,function(h,m,T){o=e(h,m,T),(o<a||o===1/0&&i===1/0)&&(i=h,a=o)});return i}var p6=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function Bv(n){return n?ir(n)?ea.call(n):Oc(n)?n.match(p6):St(n)?sr(n,Fc):ri(n):[]}function wv(n,e,t){if(e==null||t)return St(n)||(n=ri(n)),n[jc(n.length-1)];var i=Bv(n),a=Rt(i);e=Math.max(Math.min(e,a),0);for(var s=a-1,o=0;o<e;o++){var u=jc(o,s),p=i[o];i[o]=i[u],i[u]=p}return i.slice(0,e)}function y6(n){return wv(n,1/0)}function h6(n,e,t){var i=0;return e=bt(e,t),Yc(sr(n,function(a,s,o){return{value:a,index:i++,criteria:e(a,s,o)}}).sort(function(a,s){var o=a.criteria,u=s.criteria;if(o!==u){if(o>u||o===void 0)return 1;if(o<u||u===void 0)return-1}return a.index-s.index}),"value")}function Js(n,e){return function(t,i,a){var s=e?[[],[]]:{};return i=bt(i,a),pn(t,function(o,u){var p=i(o,u,t);n(s,o,p)}),s}}const f6=Js(function(n,e,t){Nn(n,t)?n[t].push(e):n[t]=[e]}),m6=Js(function(n,e,t){n[t]=e}),T6=Js(function(n,e,t){Nn(n,t)?n[t]++:n[t]=1}),E6=Js(function(n,e,t){n[t?0:1].push(e)},!0);function R6(n){return n==null?0:St(n)?n.length:We(n).length}function b6(n,e,t){return e in t}const _v=Et(function(n,e){var t={},i=e[0];if(n==null)return t;pt(i)?(e.length>1&&(i=sa(i,e[1])),e=ra(n)):(i=b6,e=ar(e,!1,!1),n=Object(n));for(var a=0,s=e.length;a<s;a++){var o=e[a],u=n[o];i(u,o,n)&&(t[o]=u)}return t}),v6=Et(function(n,e){var t=e[0],i;return pt(t)?(t=qc(t),e.length>1&&(i=e[1])):(e=sr(ar(e,!1,!1),String),t=function(a,s){return!yn(e,s)}),_v(n,t,i)});function Mv(n,e,t){return ea.call(n,0,Math.max(0,n.length-(e==null||t?1:e)))}function zc(n,e,t){return n==null||n.length<1?e==null||t?void 0:[]:e==null||t?n[0]:Mv(n,n.length-e)}function Ws(n,e,t){return ea.call(n,e==null||t?1:e)}function g6(n,e,t){return n==null||n.length<1?e==null||t?void 0:[]:e==null||t?n[n.length-1]:Ws(n,Math.max(0,n.length-e))}function I6(n){return ai(n,Boolean)}function P6(n,e){return ar(n,e,!1)}const Nv=Et(function(n,e){return e=ar(e,!0,!0),ai(n,function(t){return!yn(e,t)})}),D6=Et(function(n,e){return Nv(n,e)});function Zc(n,e,t,i){Fb(e)||(i=t,t=e,e=!1),t!=null&&(t=bt(t,i));for(var a=[],s=[],o=0,u=Rt(n);o<u;o++){var p=n[o],h=t?t(p,o,n):p;e&&!t?((!o||s!==h)&&a.push(p),s=h):t?yn(s,h)||(s.push(h),a.push(p)):yn(a,p)||a.push(p)}return a}const A6=Et(function(n){return Zc(ar(n,!0,!0))});function S6(n){for(var e=[],t=arguments.length,i=0,a=Rt(n);i<a;i++){var s=n[i];if(!yn(e,s)){var o;for(o=1;o<t&&yn(arguments[o],s);o++);o===t&&e.push(s)}}return e}function Xc(n){for(var e=n&&Cv(n,Rt).length||0,t=Array(e),i=0;i<e;i++)t[i]=Yc(n,i);return t}const O6=Et(Xc);function C6(n,e){for(var t={},i=0,a=Rt(n);i<a;i++)e?t[n[i]]=e[i]:t[n[i][0]]=n[i][1];return t}function B6(n,e,t){e==null&&(e=n||0,n=0),t||(t=e<n?-1:1);for(var i=Math.max(Math.ceil((e-n)/t),0),a=Array(i),s=0;s<i;s++,n+=t)a[s]=n;return a}function w6(n,e){if(e==null||e<1)return[];for(var t=[],i=0,a=n.length;i<a;)t.push(ea.call(n,i,i+=e));return t}function Qc(n,e){return n._chain?Q(e).chain():e}function $v(n){return pn(Vc(n),function(e){var t=Q[e]=n[e];Q.prototype[e]=function(){var i=[this._wrapped];return n8.apply(i,arguments),Qc(this,t.apply(Q,i))}}),Q}pn(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var e=xs[n];Q.prototype[n]=function(){var t=this._wrapped;return t!=null&&(e.apply(t,arguments),(n==="shift"||n==="splice")&&t.length===0&&delete t[0]),Qc(this,t)}}),pn(["concat","join","slice"],function(n){var e=xs[n];Q.prototype[n]=function(){var t=this._wrapped;return t!=null&&(t=e.apply(t,arguments)),Qc(this,t)}});var Vv=$v(Object.freeze(Object.defineProperty({__proto__:null,VERSION:Cb,after:i6,all:Sv,allKeys:ra,any:Ov,assign:qs,before:Ev,bind:mv,bindAll:X8,chain:Z8,chunk:w6,clone:_8,collect:sr,compact:I6,compose:r6,constant:Hb,contains:yn,countBy:T6,create:w8,debounce:t6,default:Q,defaults:ov,defer:K8,delay:Tv,detect:Wc,difference:Nv,drop:Ws,each:pn,escape:G8,every:Sv,extend:sv,extendOwn:qs,filter:ai,find:Wc,findIndex:Jc,findKey:Rv,findLastIndex:vv,findWhere:o6,first:zc,flatten:P6,foldl:Hc,foldr:Av,forEach:pn,functions:Vc,get:dv,groupBy:f6,has:N8,head:zc,identity:Fc,include:yn,includes:yn,indexBy:m6,indexOf:Pv,initial:Mv,inject:Hc,intersection:S6,invert:av,invoke:c6,isArguments:wc,isArray:ir,isArrayBuffer:jb,isBoolean:Fb,isDataView:js,isDate:u8,isElement:d8,isEmpty:na,isEqual:g8,isError:y8,isFinite:T8,isFunction:pt,isMap:D8,isMatch:Qb,isNaN:Wb,isNull:c8,isNumber:Ub,isObject:Mn,isRegExp:p8,isSet:S8,isString:Oc,isSymbol:xb,isTypedArray:Zb,isUndefined:Gb,isWeakMap:A8,isWeakSet:O8,iteratee:xc,keys:We,last:g6,lastIndexOf:s6,map:sr,mapObject:$8,matcher:aa,matches:aa,max:Cv,memoize:Q8,methods:Vc,min:u6,mixin:$v,negate:qc,noop:pv,now:oa,object:C6,omit:v6,once:a6,pairs:C8,partial:ii,partition:E6,pick:_v,pluck:Yc,property:Uc,propertyOf:V8,random:jc,range:B6,reduce:Hc,reduceRight:Av,reject:l6,rest:Ws,restArguments:Et,result:H8,sample:wv,select:ai,shuffle:y6,size:R6,some:Ov,sortBy:h6,sortedIndex:gv,tail:Ws,take:zc,tap:M8,template:W8,templateSettings:x8,throttle:e6,times:L8,toArray:Bv,toPath:cv,transpose:Xc,unescape:U8,union:A6,uniq:Zc,unique:Zc,uniqueId:z8,unzip:Xc,values:ri,where:d6,without:D6,wrap:n6,zip:O6},Symbol.toStringTag,{value:"Module"})));Vv._=Vv;function Hs(n){return n.charAt(0).toUpperCase()+n.slice(1)}function Lv(n){return n.charAt(0).toLowerCase()+n.slice(1)}function Gv(n,e){if(n.type!==r.Property||e.type!==r.Property)throw new Error(`Expected property entities for comparison. But got ${n.type} and ${e.type}.`);return n===e||n.id===e.id?!0:n.name!==e.name||n.static!==e.static||n.abstract!==e.abstract?!1:Ys(n.dataType,e.dataType).compatible}function Fv(n,e){if(n.type!==r.CustomEntity||e.type!==r.CustomEntity)throw new Error(`Expected custom entities for comparison. But got ${n.type} and ${e.type}.`);if(n===e||n.id===e.id)return!0;if(n.properties.length!==e.properties.length)return!1;let t=[...e.properties];const i=[];for(let a=0;a<n.properties.length;a++){const s=n.properties[a];t.find(u=>{const p=Gv(s,u);return p&&(t=t.filter(h=>h.id!==u.id)),p})||i.push(s)}return!(i.length>0)}var wt=(n=>(n.BothUnconstrained="both-unconstrained",n.AConstraintBUnconstrained="a-constraint-b-unconstrained",n.BConstraintAUnconstrained="b-constraint-a-unconstrained",n.Same="same",n.AIsListBIsNot="a-is-list-b-is-not",n.BIsListAIsNot="b-is-list-a-is-not",n.AIsNullableBIsNot="a-is-nullable-b-is-not",n.BIsNullableAIsNot="b-is-nullable-a-is-not",n.AIsTemplateBIsNot="a-is-template-b-is-not",n.BIsTemplateAIsNot="b-is-template-a-is-not",n.BothUntyped="both-untyped",n.AIsUntypedBIsNot="a-is-untyped-b-is-not",n.BIsUntypedAIsNot="b-is-untyped-a-is-not",n.TypeEntityMismatch="type-entity-mismatch",n.SameCustomEntities="same-custom-entities",n.CompatibleCustomEntities="compatible-custom-entities",n.IncompatibleCustomEntities="incompatible-custom-entities",n.SamePrimitiveEntities="same-primitive-entities",n.IncompatiblePrimitiveEntities="incompatible-primitive-entities",n.SameBuiltInBaseEntities="same-built-in-base-entities",n.IncompatibleBuiltInBaseEntities="incompatible-built-in-base-entities",n.CheckUnknown="check-unknown",n))(wt||{});function Ys(n,e){var t,i,a,s,o,u,p,h,m,T,b;if(n&&n.type!==r.DataType||e&&e.type!==r.DataType)throw new Error(`Expected data-type entities for comparison. But got ${n==null?void 0:n.type} and ${e==null?void 0:e.type}.`);if(n===null&&e===null)return{compatible:!0,type:"both-unconstrained"};if(n===null)return{compatible:!0,type:"a-constraint-b-unconstrained"};if(e===null)return{compatible:!0,type:"b-constraint-a-unconstrained"};if(n===e)return{compatible:!0,type:"same"};if(n.id===e.id)return{compatible:!0,type:"same"};if(n.isList!==e.isList)return{compatible:!1,type:n.isList?"a-is-list-b-is-not":"b-is-list-a-is-not"};if(n.isNullable!==e.isNullable)return{compatible:!1,type:n.isNullable?"a-is-nullable-b-is-not":"b-is-nullable-a-is-not"};if(n.asType!==e.asType)return{compatible:!1,type:n.asType?"a-is-template-b-is-not":"b-is-template-a-is-not"};if(!n.entity&&e.entity)return{compatible:!0,type:"a-is-untyped-b-is-not"};if(n.entity&&!e.entity)return{compatible:!0,type:"b-is-untyped-a-is-not"};if(!n.entity&&!e.entity)return{compatible:!0,type:"both-untyped"};if(((t=n.entity)==null?void 0:t.type)!==((i=e.entity)==null?void 0:i.type))return{compatible:!1,type:"type-entity-mismatch"};if(((a=n.entity)==null?void 0:a.type)===r.CustomEntity){if(((s=n.entity)==null?void 0:s.id)===((o=e.entity)==null?void 0:o.id))return{compatible:!0,type:"same-custom-entities"};const I=Fv(n.entity,e.entity);return{compatible:I,type:I?"compatible-custom-entities":"incompatible-custom-entities"}}return((u=n.entity)==null?void 0:u.type)===r.PrimitiveEntity?((p=n.entity)==null?void 0:p.id)===((h=e.entity)==null?void 0:h.id)?{compatible:!0,type:"same-primitive-entities"}:{compatible:!1,type:"incompatible-primitive-entities"}:((m=n.entity)==null?void 0:m.type)===r.BuiltInBaseEntity?((T=n.entity)==null?void 0:T.id)===((b=e.entity)==null?void 0:b.id)?{compatible:!0,type:"same-built-in-base-entities"}:{compatible:!1,type:"incompatible-built-in-base-entities"}:{compatible:!1,type:"check-unknown"}}function Uv(n){const e=n.project.builtInBaseEntities.find(a=>a.id===_.EXECUTION),t={id:n.id+"--infered-data-type",version:1,type:r.DataType,isList:!1,isNullable:!1,andChildrenGroup:null,orChildrenGroup:null,asType:!1,entity:null,constant:!1,defaultValue:null,parent:null},i=R(t,n.project);return i.inferred=!0,i.sync(t),i.setParent(n),i.entity=e,i}function xv(n){return n.dataType?n.dataType:null}function jv(n){return n.declaration?n.declaration.dataType:n.readsValue?zs(n.readsValue):null}function kv(n){return n.declaration.dataType}function qv(n){if(n.dataType)return n.dataType;if(n.readsValue)return[r.Operation,r.FunctionCall,r.InternalCall].includes(n.readsValue.type)?Uv(n):zs(n.readsValue);const e={id:n.id+"--infered-entity",type:r.CustomEntity,version:1,name:A(n,n.project),description:n.description,static:!0,abstract:!1,properties:[],methods:[],extends:[],implements:[],abstractMethods:[],x:0,y:0,parent:null},t=R(e,n.project);t.sync(e);const i=n.inputs.map(s=>{const o=zs(s),u={id:s.id+"--infered-property",type:r.Property,version:1,name:A(s,n.project),description:s.description,static:!0,abstract:!1,private:!1,required:!1,index:s.index,implements:null,dataType:null,parent:null},p=R(u,n.project);return p.setParent(t),p.dataType=o,p});t.properties=Fg(t.properties,i);const a=R({id:n.id+"--infered-data-type",version:1,type:r.DataType,isList:!1,isNullable:!1,andChildrenGroup:null,orChildrenGroup:null,asType:!1,entity:null,constant:!1,defaultValue:null,parent:null},n.project);return a.inferred=!0,t.setParent(a),a.entity=t,a.setParent(n),a}function Jv(n){return n.declaration?n.declaration.dataType:null}function zs(n){switch(n.type){case r.VariableDeclaration:return qv(n);case r.ArgumentDeclaration:return xv(n);case r.ReturnDeclaration:return null;case r.VariableInstance:return kv(n);case r.InputMap:return jv(n);case r.OutputMap:return Jv(n);default:throw new Error(`Cannot infer data type from entity of type ${n.type}.`)}}function Zs(n){var e;switch(n.type){case r.ArgumentDeclaration:return n.dataType;case r.InputMap:return((e=n.declaration)==null?void 0:e.dataType)||null;case r.VariableDeclaration:return n.dataType;case r.VariableInstance:return n.declaration.dataType;case r.OutputMap:return n.declaration.dataType;case r.ReturnDeclaration:return n.dataType;default:return null}}function D(n){if(n){let e=null;return typeof n=="string"?e=n:n.entityId?e=n.entityId:n.type!==r.GenericReference&&(e=n.id),e}return null}function Kc(n){return n.declaration||n}function _6(n){return n.type===r.VariableDeclaration?n.parent===n.project?"global-declaration":"local-declaration":n.declaration.parent===n.project?"global-instance":"local-instance"}function ed(n,e){const t=[];if(n.type===r.Project)t.push(...n.variableDeclarations);else{const a=_t(Me(n)).filter(s=>s.type===r.VariableDeclaration);t.push(...a),n.parent&&(st.includes(n.parent.type)||n.parent.type===r.Project)&&t.push(...ed(n.parent))}return t}function M6(n){return n.replace(/(?:^\w|[A-Z]|\b\w)/g,function(e,t){return t===0?e.toLowerCase():e.toUpperCase()}).replace(/\s+/g,"")}function N6(n){return n.split(/\s+/).map(i=>i[0].toUpperCase()+i.slice(1).toLowerCase()).join("")}function Wv(n){var e;return(e=n.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))==null?void 0:e.map(t=>t.toLowerCase()).join("-")}function Xs(n){return Wv(n).toLowerCase()}function or(n,e=!0){if(!(n!=null&&n.dataType))return"Any data type";if(!n.dataType.entity)return n.dataType.isList?"List of an unknown data type":"Unknown data type";if(n.dataType.entity.type===r.PrimitiveEntity){let t=n.dataType.entity.name;switch(n.dataType.entity.name){case g.String:t="Text";break;case g.JSON:t=e?"Any data structure":"Unknown data structure";break;default:t=n.dataType.entity.name;break}return n.dataType.isList?`List of ${t}s`:`${t.slice(0,1).toUpperCase()}${t.slice(1)}`}else return n.dataType.isList?`List of ${n.dataType.entity.name} entities`:`${n.dataType.entity.name.slice(0,1).toUpperCase()+n.dataType.entity.name.slice(1)} entity`}function Hv(n){return or(n.declaration)}function $6(n){return n.type===r.VariableInstance?Hv(n):or(n)}function Yv(n){if(!n)return"Any data type";if(!n.entity)return"Inherited";if(n.entity.type===r.PrimitiveEntity){const e=n.entity.name===g.String?"Text":n.entity.name;return n.isList?`List of ${e}s`:`${e.slice(0,1).toUpperCase()}${e.slice(1)}`}else if(n.entity.type===r.CustomEntity){const e=nd(n.entity);return n.isList?`List of ${e} entities`:e.slice(0,1).toUpperCase()+e.slice(1)}else if(n.entity.type===r.BuiltInBaseEntity){const e=td(n.entity);return n.isList?`List of ${e} entities`:e.slice(0,1).toUpperCase()+e.slice(1)}else return n.isList?`List of ${n.entity.name} entities`:`${n.entity.name.slice(0,1).toUpperCase()+n.entity.name.slice(1)} entity`}function zv(n){if(!n.dataType)return"Any data type";if(!n.dataType.entity)return"Inherited";if(n.dataType.entity.type===r.PrimitiveEntity){const e=n.dataType.entity.name===g.String?"Text":n.dataType.entity.name;return n.dataType.isList?`List of ${e}s`:`${e.slice(0,1).toUpperCase()}${e.slice(1)}`}else if(n.dataType.entity.type===r.CustomEntity){const e=nd(n.dataType.entity);return n.dataType.isList?`List of ${e} entities`:e.slice(0,1).toUpperCase()+e.slice(1)}else if(n.dataType.entity.type===r.BuiltInBaseEntity){const e=td(n.dataType.entity);return n.dataType.isList?`List of ${e} entities`:e.slice(0,1).toUpperCase()+e.slice(1)}else return n.dataType.isList?`List of ${n.dataType.entity.name} entities`:`${n.dataType.entity.name.slice(0,1).toUpperCase()+n.dataType.entity.name.slice(1)} entity`}function Zv(n){switch(n.type){case r.Property:return zv(n);case r.VariableDeclaration:return or(n);case r.ArgumentDeclaration:return or(n,!1);case r.InputMap:{const e=n.declaration;return e?Zv(e):"Unknown data type"}case r.ReturnDeclaration:return or(n,!1);case r.OutputMap:{const e=n.declaration;return or(e,!1)}}return"Unknown data type"}function Qs(n){switch(n.declaration.id){case Ae.Equal:return"is equal to";case Ae.NotEqual:return"is not equal to";case Ae.MoreThan:return"is greater than";case Ae.MoreThanOrEqual:return"is greater than or equal to";case Ae.LessThan:return"is less than";case Ae.LessThanOrEqual:return"is less than or equal to";case Ae.And:return"and";case Ae.Or:return"or";case Ct.Empty:return"is empty";case Ct.NotEmpty:return"is not empty"}}function Xv(n){return n.includes(_.HTTP_ENDPOINT)?"HTTP endpoint":n.includes(_.PERSISTED_ENTITY)?"Persisted entity":n.includes(_.CRON_JOB)?"Scheduled execution":n.includes(_.RELATIONAL_DATABASE)?"Relational database":"Entity"}function td(n){switch(n.name){case _.HTTP_ENDPOINT:return"HTTP endpoint";case _.PERSISTED_ENTITY:return"Persisted entity";case _.CRON_JOB:return"Scheduled execution";case _.RELATIONAL_DATABASE:return"Relational database"}return"Entity"}function nd(n){const e=Ng(n);if(!e){const t=_g(n);return t.includes(_.HTTP_ENDPOINT)?"HTTP endpoint":t.includes(_.PERSISTED_ENTITY)?"Persisted entity":t.includes(_.CRON_JOB)?"Scheduled execution":t.includes(_.RELATIONAL_DATABASE)?"Relational database":A(n,n.project)+" entity"}return A(e,n.project)+" entity"}function Qv(n){let e="Find ";return n.outputsDeclarations.forEach((t,i)=>{const a=Zs(t),s=Lv(a&&a.entity?A(a.entity,n.project):"unstructured data");i===0?e+=`${s} `:i===n.outputsDeclarations.length-1?e+=`and ${s} `:e+=`, ${s} `}),e}function Kv(n){switch(n.name){case g.String:return"Text";case g.Number:return"Number";case g.Boolean:return"Boolean";case g.JSON:return"Data structure";case g.UUID:return"Unique identifier";case g.Date:return"Date";case g.EntityTemplate:return"Entity as template";case g.Enum:return"Enumeration";case g.File:return"File";case g.Null:return"Empty";case g.ActionDescriptor:return"Action descriptor";default:return n.name}}function eg(n){switch(n.id){case je.List:return"Loop over list items";case je.ManualFlow:return"Manual flow control loop";case je.ObjectKeys:return"Loop over object keys";case je.ObjectValues:return"Loop over object values";case je.Counted:return"Loop given number of times";case je.String:return"Loop over text characters";case at.Addition:return"Sum numbers";case at.Substraction:return"Subtract numbers";case at.Multiplication:return"Multiply numbers";case at.Division:return"Divide numbers";case at.Remainder:return"Get remainder of numbers";case at.Exponentiation:return"Get exponent of numbers";case ge.AddIndex:return"Add at index position";case ge.DeleteFirst:return"Delete first character";case ge.DeleteLast:return"Delete last character";case ge.DeleteIndex:return"Delete at index position";case ge.Join:return"Join texts";case ge.ReplaceAllMatches:return"Replace all matches";case ge.ReplaceFirst:return"Replace first match";case ge.ReplaceLast:return"Replace last match";case ge.Split:return"Split text";case ge.ReplaceIndex:return"Replace at index position";case ge.ReplaceSingleMatch:return"Replace single match";case ge.GetFirst:return"Get first character";case ge.GetLast:return"Get last character";case ge.GetIndex:return"Get at index position";case ge.Append:return"Add at the end";case ge.Prepend:return"Add at the start";case Ie.Wait:return"Wait";case Ie.Parallel:return"Run in parallel";case Ie.Sequential:return"Run in sequence";case Ye.HttpRequest:return"HTTP request";case Ze.CreateNewInstance:return"Create new copy of entity";case j.AddIndex:return"Add item at index position";case j.DeleteFirst:return"Delete first item";case j.DeleteLast:return"Delete last item";case j.DeleteIndex:return"Delete item at index position";case j.Join:return"Join lists";case j.ReplaceAllMatches:return"Replace all matches";case j.ReplaceFirst:return"Replace first match";case j.ReplaceLast:return"Replace last match";case j.Split:return"Split list";case j.ReplaceIndex:return"Replace at index position";case j.ReplaceSingleMatch:return"Replace single match";case j.GetFirst:return"Get first item";case j.GetLast:return"Get last item";case j.GetIndex:return"Get item at index position";case j.Append:return"Add item at the end";case j.Prepend:return"Add item at the start";case Kt.PROJECT_PUBLICATION_COMPLETED:return"Project publication completed";default:return(n.name.slice(0,1).toUpperCase()+n.name.slice(1)).replaceAll("-"," ")}}function A(n,e){var t;if(r.FunctionDeclaration===n.type){const i=n.name;if(Object.values(gt).includes(i))switch(i){case gt.AbortExecution:return"Abort execution";case gt.DeletePersistedEntity:return"Delete persisted entity";case gt.SoftDeletePersistedEntity:return"Soft delete persisted entity";default:return Hs(n.type).replaceAll("-"," ")}return i}if(r.BuiltInBaseEntity===n.type)return Xv([n.name]);if(Vd.includes(n.type)&&n.type!==r.ActionDescriptor)return n.name;switch(n.type){case r.Search:return Qv(n);case r.Operation:case r.InternalCall:case r.Loop:const i=Mt(n.declaration,e);return A(i,e);case r.ActionDescriptor:return eg(n);case r.BreakStatement:const a=Mt(n.parent,e);return`Stop loop ${A(a,e)}`;case r.ContinueStatement:const s=Mt(n.parent,e);return`Execute next iteration of ${A(s,e)}`;case r.FunctionCall:return Mt(n.declaration,e).name;case r.Condition:{const u=n;if((t=n.inputs)!=null&&t.length){const p=A(u.inputs[0],u.project);if(u.inputs[1]){const h=u.inputs[1].declaration.name;return`If ${p} ${Qs(u)} ${h}`}return`If ${p} ${Qs(u)}`}else return`If ${Qs(u)}`}case r.ReturnStatement:{const u=Mt(n.parent,e);return`Output of ${A(u,e)}`}case r.InputMap:if(n.declaration){const u=Mt(n.declaration,e);return A(u,e)||""}else return n.name||"";case r.VariableInstance:{const u=Mt(n.declaration,e);return A(u,e)||""}case r.OutputMap:if(n.declaration){const u=Mt(n.declaration,e);return(u==null?void 0:u.name)||""}else return"";case r.PrimitiveEntity:case r.PrimitiveValue:return Kv(n);default:return Hs(n.type).replaceAll("-"," ")}}function Ks(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=e.entities.filter(a=>a.name===n.name);return i.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique in the project. Entity with id "${i[0].id}" has the same name.
13
+ `+s+"}",p}function z8(n,e,t){e=ia(e);var i=e.length;if(!i)return pt(t)?t.call(n):t;for(var a=0;a<i;a++){var s=n==null?void 0:n[e[a]];s===void 0&&(s=t,a=i),n=pt(s)?s.call(n):s}return n}var Z8=0;function X8(n){var e=++Z8+"";return n?n+e:e}function Q8(n){var e=Q(n);return e._chain=!0,e}function mv(n,e,t,i,a){if(!(i instanceof e))return n.apply(t,a);var s=cv(n.prototype),o=n.apply(s,a);return _n(o)?o:s}var ri=Rt(function(n,e){var t=ri.placeholder,i=function(){for(var a=0,s=e.length,o=Array(s),u=0;u<s;u++)o[u]=e[u]===t?arguments[a++]:e[u];for(;a<arguments.length;)o.push(arguments[a++]);return mv(n,i,this,this,o)};return i});ri.placeholder=Q;const Tv=Rt(function(n,e,t){if(!pt(n))throw new TypeError("Bind must be called on a function");var i=Rt(function(a){return mv(n,i,e,this,t.concat(a))});return i}),St=zb(bt);function ir(n,e,t,i){if(i=i||[],!e&&e!==0)e=1/0;else if(e<=0)return i.concat(n);for(var a=i.length,s=0,o=bt(n);s<o;s++){var u=n[s];if(St(u)&&(rr(u)||wc(u)))if(e>1)ir(u,e-1,t,i),a=i.length;else for(var p=0,h=u.length;p<h;)i[a++]=u[p++];else t||(i[a++]=u)}return i}const K8=Rt(function(n,e){e=ir(e,!1,!1);var t=e.length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var i=e[t];n[i]=Tv(n[i],n)}return n});function e6(n,e){var t=function(i){var a=t.cache,s=""+(e?e.apply(this,arguments):i);return Mn(a,s)||(a[s]=n.apply(this,arguments)),a[s]};return t.cache={},t}const Ev=Rt(function(n,e,t){return setTimeout(function(){return n.apply(null,t)},e)}),t6=ri(Ev,Q,1);function n6(n,e,t){var i,a,s,o,u=0;t||(t={});var p=function(){u=t.leading===!1?0:oa(),i=null,o=n.apply(a,s),i||(a=s=null)},h=function(){var m=oa();!u&&t.leading===!1&&(u=m);var T=e-(m-u);return a=this,s=arguments,T<=0||T>e?(i&&(clearTimeout(i),i=null),u=m,o=n.apply(a,s),i||(a=s=null)):!i&&t.trailing!==!1&&(i=setTimeout(p,T)),o};return h.cancel=function(){clearTimeout(i),u=0,i=a=s=null},h}function r6(n,e,t){var i,a,s,o,u,p=function(){var m=oa()-a;e>m?i=setTimeout(p,e-m):(i=null,t||(o=n.apply(u,s)),i||(s=u=null))},h=Rt(function(m){return u=this,s=m,a=oa(),i||(i=setTimeout(p,e),t&&(o=n.apply(u,s))),o});return h.cancel=function(){clearTimeout(i),i=s=u=null},h}function i6(n,e){return ri(e,n)}function qc(n){return function(){return!n.apply(this,arguments)}}function a6(){var n=arguments,e=n.length-1;return function(){for(var t=e,i=n[e].apply(this,arguments);t--;)i=n[t].call(this,i);return i}}function s6(n,e){return function(){if(--n<1)return e.apply(this,arguments)}}function Rv(n,e){var t;return function(){return--n>0&&(t=e.apply(this,arguments)),n<=1&&(e=null),t}}const o6=ri(Rv,2);function bv(n,e,t){e=vt(e,t);for(var i=We(n),a,s=0,o=i.length;s<o;s++)if(a=i[s],e(n[a],a,n))return a}function vv(n){return function(e,t,i){t=vt(t,i);for(var a=bt(e),s=n>0?0:a-1;s>=0&&s<a;s+=n)if(t(e[s],s,e))return s;return-1}}const Jc=vv(1),gv=vv(-1);function Iv(n,e,t,i){t=vt(t,i,1);for(var a=t(e),s=0,o=bt(n);s<o;){var u=Math.floor((s+o)/2);t(n[u])<a?s=u+1:o=u}return s}function Pv(n,e,t){return function(i,a,s){var o=0,u=bt(i);if(typeof s=="number")n>0?o=s>=0?s:Math.max(s+u,o):u=s>=0?Math.min(s+1,u):s+u+1;else if(t&&s&&u)return s=t(i,a),i[s]===a?s:-1;if(a!==a)return s=e(ea.call(i,o,u),Hb),s>=0?s+o:-1;for(s=n>0?o:u-1;s>=0&&s<u;s+=n)if(i[s]===a)return s;return-1}}const Dv=Pv(1,Jc,Iv),l6=Pv(-1,gv);function Wc(n,e,t){var i=St(n)?Jc:bv,a=i(n,e,t);if(a!==void 0&&a!==-1)return n[a]}function c6(n,e){return Wc(n,aa(e))}function pn(n,e,t){e=sa(e,t);var i,a;if(St(n))for(i=0,a=n.length;i<a;i++)e(n[i],i,n);else{var s=We(n);for(i=0,a=s.length;i<a;i++)e(n[s[i]],s[i],n)}return n}function ar(n,e,t){e=vt(e,t);for(var i=!St(n)&&We(n),a=(i||n).length,s=Array(a),o=0;o<a;o++){var u=i?i[o]:o;s[o]=e(n[u],u,n)}return s}function Av(n){var e=function(t,i,a,s){var o=!St(t)&&We(t),u=(o||t).length,p=n>0?0:u-1;for(s||(a=t[o?o[p]:p],p+=n);p>=0&&p<u;p+=n){var h=o?o[p]:p;a=i(a,t[h],h,t)}return a};return function(t,i,a,s){var o=arguments.length>=3;return e(t,sa(i,s,4),a,o)}}const Hc=Av(1),Sv=Av(-1);function ii(n,e,t){var i=[];return e=vt(e,t),pn(n,function(a,s,o){e(a,s,o)&&i.push(a)}),i}function d6(n,e,t){return ii(n,qc(vt(e)),t)}function Ov(n,e,t){e=vt(e,t);for(var i=!St(n)&&We(n),a=(i||n).length,s=0;s<a;s++){var o=i?i[s]:s;if(!e(n[o],o,n))return!1}return!0}function Cv(n,e,t){e=vt(e,t);for(var i=!St(n)&&We(n),a=(i||n).length,s=0;s<a;s++){var o=i?i[s]:s;if(e(n[o],o,n))return!0}return!1}function yn(n,e,t,i){return St(n)||(n=ni(n)),(typeof t!="number"||i)&&(t=0),Dv(n,e,t)>=0}const u6=Rt(function(n,e,t){var i,a;return pt(e)?a=e:(e=ia(e),i=e.slice(0,-1),e=e[e.length-1]),ar(n,function(s){var o=a;if(!o){if(i&&i.length&&(s=Gc(s,i)),s==null)return;o=s[e]}return o==null?o:o.apply(s,t)})});function Yc(n,e){return ar(n,Uc(e))}function p6(n,e){return ii(n,aa(e))}function Bv(n,e,t){var i=-1/0,a=-1/0,s,o;if(e==null||typeof e=="number"&&typeof n[0]!="object"&&n!=null){n=St(n)?n:ni(n);for(var u=0,p=n.length;u<p;u++)s=n[u],s!=null&&s>i&&(i=s)}else e=vt(e,t),pn(n,function(h,m,T){o=e(h,m,T),(o>a||o===-1/0&&i===-1/0)&&(i=h,a=o)});return i}function y6(n,e,t){var i=1/0,a=1/0,s,o;if(e==null||typeof e=="number"&&typeof n[0]!="object"&&n!=null){n=St(n)?n:ni(n);for(var u=0,p=n.length;u<p;u++)s=n[u],s!=null&&s<i&&(i=s)}else e=vt(e,t),pn(n,function(h,m,T){o=e(h,m,T),(o<a||o===1/0&&i===1/0)&&(i=h,a=o)});return i}var h6=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function wv(n){return n?rr(n)?ea.call(n):Oc(n)?n.match(h6):St(n)?ar(n,Fc):ni(n):[]}function _v(n,e,t){if(e==null||t)return St(n)||(n=ni(n)),n[jc(n.length-1)];var i=wv(n),a=bt(i);e=Math.max(Math.min(e,a),0);for(var s=a-1,o=0;o<e;o++){var u=jc(o,s),p=i[o];i[o]=i[u],i[u]=p}return i.slice(0,e)}function f6(n){return _v(n,1/0)}function m6(n,e,t){var i=0;return e=vt(e,t),Yc(ar(n,function(a,s,o){return{value:a,index:i++,criteria:e(a,s,o)}}).sort(function(a,s){var o=a.criteria,u=s.criteria;if(o!==u){if(o>u||o===void 0)return 1;if(o<u||u===void 0)return-1}return a.index-s.index}),"value")}function qs(n,e){return function(t,i,a){var s=e?[[],[]]:{};return i=vt(i,a),pn(t,function(o,u){var p=i(o,u,t);n(s,o,p)}),s}}const T6=qs(function(n,e,t){Mn(n,t)?n[t].push(e):n[t]=[e]}),E6=qs(function(n,e,t){n[t]=e}),R6=qs(function(n,e,t){Mn(n,t)?n[t]++:n[t]=1}),b6=qs(function(n,e,t){n[t?0:1].push(e)},!0);function v6(n){return n==null?0:St(n)?n.length:We(n).length}function g6(n,e,t){return e in t}const Mv=Rt(function(n,e){var t={},i=e[0];if(n==null)return t;pt(i)?(e.length>1&&(i=sa(i,e[1])),e=ra(n)):(i=g6,e=ir(e,!1,!1),n=Object(n));for(var a=0,s=e.length;a<s;a++){var o=e[a],u=n[o];i(u,o,n)&&(t[o]=u)}return t}),I6=Rt(function(n,e){var t=e[0],i;return pt(t)?(t=qc(t),e.length>1&&(i=e[1])):(e=ar(ir(e,!1,!1),String),t=function(a,s){return!yn(e,s)}),Mv(n,t,i)});function Nv(n,e,t){return ea.call(n,0,Math.max(0,n.length-(e==null||t?1:e)))}function zc(n,e,t){return n==null||n.length<1?e==null||t?void 0:[]:e==null||t?n[0]:Nv(n,n.length-e)}function Js(n,e,t){return ea.call(n,e==null||t?1:e)}function P6(n,e,t){return n==null||n.length<1?e==null||t?void 0:[]:e==null||t?n[n.length-1]:Js(n,Math.max(0,n.length-e))}function D6(n){return ii(n,Boolean)}function A6(n,e){return ir(n,e,!1)}const $v=Rt(function(n,e){return e=ir(e,!0,!0),ii(n,function(t){return!yn(e,t)})}),S6=Rt(function(n,e){return $v(n,e)});function Zc(n,e,t,i){Ub(e)||(i=t,t=e,e=!1),t!=null&&(t=vt(t,i));for(var a=[],s=[],o=0,u=bt(n);o<u;o++){var p=n[o],h=t?t(p,o,n):p;e&&!t?((!o||s!==h)&&a.push(p),s=h):t?yn(s,h)||(s.push(h),a.push(p)):yn(a,p)||a.push(p)}return a}const O6=Rt(function(n){return Zc(ir(n,!0,!0))});function C6(n){for(var e=[],t=arguments.length,i=0,a=bt(n);i<a;i++){var s=n[i];if(!yn(e,s)){var o;for(o=1;o<t&&yn(arguments[o],s);o++);o===t&&e.push(s)}}return e}function Xc(n){for(var e=n&&Bv(n,bt).length||0,t=Array(e),i=0;i<e;i++)t[i]=Yc(n,i);return t}const B6=Rt(Xc);function w6(n,e){for(var t={},i=0,a=bt(n);i<a;i++)e?t[n[i]]=e[i]:t[n[i][0]]=n[i][1];return t}function _6(n,e,t){e==null&&(e=n||0,n=0),t||(t=e<n?-1:1);for(var i=Math.max(Math.ceil((e-n)/t),0),a=Array(i),s=0;s<i;s++,n+=t)a[s]=n;return a}function M6(n,e){if(e==null||e<1)return[];for(var t=[],i=0,a=n.length;i<a;)t.push(ea.call(n,i,i+=e));return t}function Qc(n,e){return n._chain?Q(e).chain():e}function Vv(n){return pn(Vc(n),function(e){var t=Q[e]=n[e];Q.prototype[e]=function(){var i=[this._wrapped];return i8.apply(i,arguments),Qc(this,t.apply(Q,i))}}),Q}pn(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var e=Us[n];Q.prototype[n]=function(){var t=this._wrapped;return t!=null&&(e.apply(t,arguments),(n==="shift"||n==="splice")&&t.length===0&&delete t[0]),Qc(this,t)}}),pn(["concat","join","slice"],function(n){var e=Us[n];Q.prototype[n]=function(){var t=this._wrapped;return t!=null&&(t=e.apply(t,arguments)),Qc(this,t)}});var Lv=Vv(Object.freeze(Object.defineProperty({__proto__:null,VERSION:Bb,after:s6,all:Ov,allKeys:ra,any:Cv,assign:ks,before:Rv,bind:Tv,bindAll:K8,chain:Q8,chunk:M6,clone:N8,collect:ar,compact:D6,compose:a6,constant:Yb,contains:yn,countBy:R6,create:M8,debounce:r6,default:Q,defaults:lv,defer:t6,delay:Ev,detect:Wc,difference:$v,drop:Js,each:pn,escape:U8,every:Ov,extend:ov,extendOwn:ks,filter:ii,find:Wc,findIndex:Jc,findKey:bv,findLastIndex:gv,findWhere:c6,first:zc,flatten:A6,foldl:Hc,foldr:Sv,forEach:pn,functions:Vc,get:uv,groupBy:T6,has:V8,head:zc,identity:Fc,include:yn,includes:yn,indexBy:E6,indexOf:Dv,initial:Nv,inject:Hc,intersection:C6,invert:sv,invoke:u6,isArguments:wc,isArray:rr,isArrayBuffer:kb,isBoolean:Ub,isDataView:xs,isDate:y8,isElement:p8,isEmpty:na,isEqual:P8,isError:f8,isFinite:R8,isFunction:pt,isMap:S8,isMatch:Kb,isNaN:Hb,isNull:u8,isNumber:xb,isObject:_n,isRegExp:h8,isSet:C8,isString:Oc,isSymbol:jb,isTypedArray:Xb,isUndefined:Fb,isWeakMap:O8,isWeakSet:B8,iteratee:xc,keys:We,last:P6,lastIndexOf:l6,map:ar,mapObject:L8,matcher:aa,matches:aa,max:Bv,memoize:e6,methods:Vc,min:y6,mixin:Vv,negate:qc,noop:yv,now:oa,object:w6,omit:I6,once:o6,pairs:w8,partial:ri,partition:b6,pick:Mv,pluck:Yc,property:Uc,propertyOf:G8,random:jc,range:_6,reduce:Hc,reduceRight:Sv,reject:d6,rest:Js,restArguments:Rt,result:z8,sample:_v,select:ii,shuffle:f6,size:v6,some:Cv,sortBy:m6,sortedIndex:Iv,tail:Js,take:zc,tap:$8,template:Y8,templateSettings:k8,throttle:n6,times:F8,toArray:wv,toPath:dv,transpose:Xc,unescape:j8,union:O6,uniq:Zc,unique:Zc,uniqueId:X8,unzip:Xc,values:ni,where:p6,without:S6,wrap:i6,zip:B6},Symbol.toStringTag,{value:"Module"})));Lv._=Lv;function Ws(n){return n.charAt(0).toUpperCase()+n.slice(1)}function Gv(n){return n.charAt(0).toLowerCase()+n.slice(1)}function Fv(n,e){if(n.type!==r.Property||e.type!==r.Property)throw new Error(`Expected property entities for comparison. But got ${n.type} and ${e.type}.`);return n===e||n.id===e.id?!0:n.name!==e.name||n.static!==e.static||n.abstract!==e.abstract?!1:Hs(n.dataType,e.dataType).compatible}function Uv(n,e){if(n.type!==r.CustomEntity||e.type!==r.CustomEntity)throw new Error(`Expected custom entities for comparison. But got ${n.type} and ${e.type}.`);if(n===e||n.id===e.id)return!0;if(n.properties.length!==e.properties.length)return!1;let t=[...e.properties];const i=[];for(let a=0;a<n.properties.length;a++){const s=n.properties[a];t.find(u=>{const p=Fv(s,u);return p&&(t=t.filter(h=>h.id!==u.id)),p})||i.push(s)}return!(i.length>0)}var wt=(n=>(n.BothUnconstrained="both-unconstrained",n.AConstraintBUnconstrained="a-constraint-b-unconstrained",n.BConstraintAUnconstrained="b-constraint-a-unconstrained",n.Same="same",n.AIsListBIsNot="a-is-list-b-is-not",n.BIsListAIsNot="b-is-list-a-is-not",n.AIsNullableBIsNot="a-is-nullable-b-is-not",n.BIsNullableAIsNot="b-is-nullable-a-is-not",n.AIsTemplateBIsNot="a-is-template-b-is-not",n.BIsTemplateAIsNot="b-is-template-a-is-not",n.BothUntyped="both-untyped",n.AIsUntypedBIsNot="a-is-untyped-b-is-not",n.BIsUntypedAIsNot="b-is-untyped-a-is-not",n.TypeEntityMismatch="type-entity-mismatch",n.SameCustomEntities="same-custom-entities",n.CompatibleCustomEntities="compatible-custom-entities",n.IncompatibleCustomEntities="incompatible-custom-entities",n.SamePrimitiveEntities="same-primitive-entities",n.IncompatiblePrimitiveEntities="incompatible-primitive-entities",n.SameBuiltInBaseEntities="same-built-in-base-entities",n.IncompatibleBuiltInBaseEntities="incompatible-built-in-base-entities",n.CheckUnknown="check-unknown",n))(wt||{});function Hs(n,e){var t,i,a,s,o,u,p,h,m,T,b;if(n&&n.type!==r.DataType||e&&e.type!==r.DataType)throw new Error(`Expected data-type entities for comparison. But got ${n==null?void 0:n.type} and ${e==null?void 0:e.type}.`);if(n===null&&e===null)return{compatible:!0,type:"both-unconstrained"};if(n===null)return{compatible:!0,type:"a-constraint-b-unconstrained"};if(e===null)return{compatible:!0,type:"b-constraint-a-unconstrained"};if(n===e)return{compatible:!0,type:"same"};if(n.id===e.id)return{compatible:!0,type:"same"};if(n.isList!==e.isList)return{compatible:!1,type:n.isList?"a-is-list-b-is-not":"b-is-list-a-is-not"};if(n.isNullable!==e.isNullable)return{compatible:!1,type:n.isNullable?"a-is-nullable-b-is-not":"b-is-nullable-a-is-not"};if(n.asType!==e.asType)return{compatible:!1,type:n.asType?"a-is-template-b-is-not":"b-is-template-a-is-not"};if(!n.entity&&e.entity)return{compatible:!0,type:"a-is-untyped-b-is-not"};if(n.entity&&!e.entity)return{compatible:!0,type:"b-is-untyped-a-is-not"};if(!n.entity&&!e.entity)return{compatible:!0,type:"both-untyped"};if(((t=n.entity)==null?void 0:t.type)!==((i=e.entity)==null?void 0:i.type))return{compatible:!1,type:"type-entity-mismatch"};if(((a=n.entity)==null?void 0:a.type)===r.CustomEntity){if(((s=n.entity)==null?void 0:s.id)===((o=e.entity)==null?void 0:o.id))return{compatible:!0,type:"same-custom-entities"};const I=Uv(n.entity,e.entity);return{compatible:I,type:I?"compatible-custom-entities":"incompatible-custom-entities"}}return((u=n.entity)==null?void 0:u.type)===r.PrimitiveEntity?((p=n.entity)==null?void 0:p.id)===((h=e.entity)==null?void 0:h.id)?{compatible:!0,type:"same-primitive-entities"}:{compatible:!1,type:"incompatible-primitive-entities"}:((m=n.entity)==null?void 0:m.type)===r.BuiltInBaseEntity?((T=n.entity)==null?void 0:T.id)===((b=e.entity)==null?void 0:b.id)?{compatible:!0,type:"same-built-in-base-entities"}:{compatible:!1,type:"incompatible-built-in-base-entities"}:{compatible:!1,type:"check-unknown"}}function xv(n){const e=n.project.builtInBaseEntities.find(a=>a.id===_.EXECUTION),t={id:n.id+"--infered-data-type",version:1,type:r.DataType,isList:!1,isNullable:!1,andChildrenGroup:null,orChildrenGroup:null,asType:!1,entity:null,constant:!1,defaultValue:null,parent:null},i=R(t,n.project);return i.inferred=!0,i.sync(t),i.setParent(n),i.entity=e,i}function jv(n){return n.dataType?n.dataType:null}function kv(n){return n.declaration?n.declaration.dataType:n.readsValue?Ys(n.readsValue):null}function qv(n){return n.declaration.dataType}function Jv(n){if(n.dataType)return n.dataType;if(n.readsValue)return[r.Operation,r.FunctionCall,r.InternalCall].includes(n.readsValue.type)?xv(n):Ys(n.readsValue);const e={id:n.id+"--infered-entity",type:r.CustomEntity,version:1,name:A(n,n.project),description:n.description,static:!0,abstract:!1,properties:[],methods:[],extends:[],implements:[],abstractMethods:[],x:0,y:0,parent:null},t=R(e,n.project);t.sync(e);const i=n.inputs.map(s=>{const o=Ys(s),u={id:s.id+"--infered-property",type:r.Property,version:1,name:A(s,n.project),description:s.description,static:!0,abstract:!1,private:!1,required:!1,index:s.index,implements:null,dataType:null,parent:null},p=R(u,n.project);return p.setParent(t),p.dataType=o,p});t.properties=Ug(t.properties,i);const a=R({id:n.id+"--infered-data-type",version:1,type:r.DataType,isList:!1,isNullable:!1,andChildrenGroup:null,orChildrenGroup:null,asType:!1,entity:null,constant:!1,defaultValue:null,parent:null},n.project);return a.inferred=!0,t.setParent(a),a.entity=t,a.setParent(n),a}function Wv(n){return n.declaration?n.declaration.dataType:null}function Ys(n){switch(n.type){case r.VariableDeclaration:return Jv(n);case r.ArgumentDeclaration:return jv(n);case r.ReturnDeclaration:return null;case r.VariableInstance:return qv(n);case r.InputMap:return kv(n);case r.OutputMap:return Wv(n);default:throw new Error(`Cannot infer data type from entity of type ${n.type}.`)}}function zs(n){var e;switch(n.type){case r.ArgumentDeclaration:return n.dataType;case r.InputMap:return((e=n.declaration)==null?void 0:e.dataType)||null;case r.VariableDeclaration:return n.dataType;case r.VariableInstance:return n.declaration.dataType;case r.OutputMap:return n.declaration.dataType;case r.ReturnDeclaration:return n.dataType;default:return null}}function D(n){if(n){let e=null;return typeof n=="string"?e=n:n.entityId?e=n.entityId:n.type!==r.GenericReference&&(e=n.id),e}return null}function Kc(n){return n.declaration||n}function N6(n){return n.type===r.VariableDeclaration?n.parent===n.project?"global-declaration":"local-declaration":n.declaration.parent===n.project?"global-instance":"local-instance"}function ed(n,e){const t=[];if(n.type===r.Project)t.push(...n.variableDeclarations);else{const a=_t(Me(n)).filter(s=>s.type===r.VariableDeclaration);t.push(...a),n.parent&&(st.includes(n.parent.type)||n.parent.type===r.Project)&&t.push(...ed(n.parent))}return t}function $6(n){return n.replace(/(?:^\w|[A-Z]|\b\w)/g,function(e,t){return t===0?e.toLowerCase():e.toUpperCase()}).replace(/\s+/g,"")}function V6(n){return n.split(/\s+/).map(i=>i[0].toUpperCase()+i.slice(1).toLowerCase()).join("")}function Hv(n){var e;return(e=n.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))==null?void 0:e.map(t=>t.toLowerCase()).join("-")}function Zs(n){return Hv(n).toLowerCase()}function sr(n,e=!0){if(!(n!=null&&n.dataType))return"Any data type";if(!n.dataType.entity)return n.dataType.isList?"List of an unknown data type":"Unknown data type";if(n.dataType.entity.type===r.PrimitiveEntity){let t=n.dataType.entity.name;switch(n.dataType.entity.name){case g.String:t="Text";break;case g.JSON:t=e?"Any data structure":"Unknown data structure";break;default:t=n.dataType.entity.name;break}return n.dataType.isList?`List of ${t}s`:`${t.slice(0,1).toUpperCase()}${t.slice(1)}`}else return n.dataType.isList?`List of ${n.dataType.entity.name} entities`:`${n.dataType.entity.name.slice(0,1).toUpperCase()+n.dataType.entity.name.slice(1)} entity`}function Yv(n){return sr(n.declaration)}function L6(n){return n.type===r.VariableInstance?Yv(n):sr(n)}function zv(n){if(!n)return"Any data type";if(!n.entity)return"Inherited";if(n.entity.type===r.PrimitiveEntity){const e=n.entity.name===g.String?"Text":n.entity.name;return n.isList?`List of ${e}s`:`${e.slice(0,1).toUpperCase()}${e.slice(1)}`}else if(n.entity.type===r.CustomEntity){const e=nd(n.entity);return n.isList?`List of ${e} entities`:e.slice(0,1).toUpperCase()+e.slice(1)}else if(n.entity.type===r.BuiltInBaseEntity){const e=td(n.entity);return n.isList?`List of ${e} entities`:e.slice(0,1).toUpperCase()+e.slice(1)}else return n.isList?`List of ${n.entity.name} entities`:`${n.entity.name.slice(0,1).toUpperCase()+n.entity.name.slice(1)} entity`}function Zv(n){if(!n.dataType)return"Any data type";if(!n.dataType.entity)return"Inherited";if(n.dataType.entity.type===r.PrimitiveEntity){const e=n.dataType.entity.name===g.String?"Text":n.dataType.entity.name;return n.dataType.isList?`List of ${e}s`:`${e.slice(0,1).toUpperCase()}${e.slice(1)}`}else if(n.dataType.entity.type===r.CustomEntity){const e=nd(n.dataType.entity);return n.dataType.isList?`List of ${e} entities`:e.slice(0,1).toUpperCase()+e.slice(1)}else if(n.dataType.entity.type===r.BuiltInBaseEntity){const e=td(n.dataType.entity);return n.dataType.isList?`List of ${e} entities`:e.slice(0,1).toUpperCase()+e.slice(1)}else return n.dataType.isList?`List of ${n.dataType.entity.name} entities`:`${n.dataType.entity.name.slice(0,1).toUpperCase()+n.dataType.entity.name.slice(1)} entity`}function Xv(n){switch(n.type){case r.Property:return Zv(n);case r.VariableDeclaration:return sr(n);case r.ArgumentDeclaration:return sr(n,!1);case r.InputMap:{const e=n.declaration;return e?Xv(e):"Unknown data type"}case r.ReturnDeclaration:return sr(n,!1);case r.OutputMap:{const e=n.declaration;return sr(e,!1)}}return"Unknown data type"}function Xs(n){switch(n.declaration.id){case Ae.Equal:return"is equal to";case Ae.NotEqual:return"is not equal to";case Ae.MoreThan:return"is greater than";case Ae.MoreThanOrEqual:return"is greater than or equal to";case Ae.LessThan:return"is less than";case Ae.LessThanOrEqual:return"is less than or equal to";case Ae.And:return"and";case Ae.Or:return"or";case Ct.Empty:return"is empty";case Ct.NotEmpty:return"is not empty"}}function Qv(n){return n.includes(_.HTTP_ENDPOINT)?"HTTP endpoint":n.includes(_.PERSISTED_ENTITY)?"Persisted entity":n.includes(_.CRON_JOB)?"Scheduled execution":n.includes(_.RELATIONAL_DATABASE)?"Relational database":"Entity"}function td(n){switch(n.name){case _.HTTP_ENDPOINT:return"HTTP endpoint";case _.PERSISTED_ENTITY:return"Persisted entity";case _.CRON_JOB:return"Scheduled execution";case _.RELATIONAL_DATABASE:return"Relational database"}return"Entity"}function nd(n){const e=$g(n);if(!e){const t=Mg(n);return t.includes(_.HTTP_ENDPOINT)?"HTTP endpoint":t.includes(_.PERSISTED_ENTITY)?"Persisted entity":t.includes(_.CRON_JOB)?"Scheduled execution":t.includes(_.RELATIONAL_DATABASE)?"Relational database":A(n,n.project)+" entity"}return A(e,n.project)+" entity"}function Kv(n){let e="Find ";return n.outputsDeclarations.forEach((t,i)=>{const a=zs(t),s=Gv(a&&a.entity?A(a.entity,n.project):"unstructured data");i===0?e+=`${s} `:i===n.outputsDeclarations.length-1?e+=`and ${s} `:e+=`, ${s} `}),e}function eg(n){switch(n.name){case g.String:return"Text";case g.Number:return"Number";case g.Boolean:return"Boolean";case g.JSON:return"Data structure";case g.UUID:return"Unique identifier";case g.Date:return"Date";case g.EntityTemplate:return"Entity as template";case g.Enum:return"Enumeration";case g.File:return"File";case g.Null:return"Empty";case g.ActionDescriptor:return"Action descriptor";default:return n.name}}function tg(n){switch(n.id){case je.List:return"Loop over list items";case je.ManualFlow:return"Manual flow control loop";case je.ObjectKeys:return"Loop over object keys";case je.ObjectValues:return"Loop over object values";case je.Counted:return"Loop given number of times";case je.String:return"Loop over text characters";case at.Addition:return"Sum numbers";case at.Substraction:return"Subtract numbers";case at.Multiplication:return"Multiply numbers";case at.Division:return"Divide numbers";case at.Remainder:return"Get remainder of numbers";case at.Exponentiation:return"Get exponent of numbers";case ge.AddIndex:return"Add at index position";case ge.DeleteFirst:return"Delete first character";case ge.DeleteLast:return"Delete last character";case ge.DeleteIndex:return"Delete at index position";case ge.Join:return"Join texts";case ge.ReplaceAllMatches:return"Replace all matches";case ge.ReplaceFirst:return"Replace first match";case ge.ReplaceLast:return"Replace last match";case ge.Split:return"Split text";case ge.ReplaceIndex:return"Replace at index position";case ge.ReplaceSingleMatch:return"Replace single match";case ge.GetFirst:return"Get first character";case ge.GetLast:return"Get last character";case ge.GetIndex:return"Get at index position";case ge.Append:return"Add at the end";case ge.Prepend:return"Add at the start";case Ie.Wait:return"Wait";case Ie.Parallel:return"Run in parallel";case Ie.Sequential:return"Run in sequence";case Ye.HttpRequest:return"HTTP request";case Ze.CreateNewInstance:return"Create new copy of entity";case j.AddIndex:return"Add item at index position";case j.DeleteFirst:return"Delete first item";case j.DeleteLast:return"Delete last item";case j.DeleteIndex:return"Delete item at index position";case j.Join:return"Join lists";case j.ReplaceAllMatches:return"Replace all matches";case j.ReplaceFirst:return"Replace first match";case j.ReplaceLast:return"Replace last match";case j.Split:return"Split list";case j.ReplaceIndex:return"Replace at index position";case j.ReplaceSingleMatch:return"Replace single match";case j.GetFirst:return"Get first item";case j.GetLast:return"Get last item";case j.GetIndex:return"Get item at index position";case j.Append:return"Add item at the end";case j.Prepend:return"Add item at the start";case Kt.PROJECT_PUBLICATION_COMPLETED:return"Project publication completed";default:return(n.name.slice(0,1).toUpperCase()+n.name.slice(1)).replaceAll("-"," ")}}function A(n,e){var t;if(r.FunctionDeclaration===n.type){const i=n.name;if(Object.values(It).includes(i))switch(i){case It.AbortExecution:return"Abort execution";case It.DeletePersistedEntity:return"Delete persisted entity";case It.SoftDeletePersistedEntity:return"Soft delete persisted entity";default:return Ws(n.type).replaceAll("-"," ")}return i}if(r.BuiltInBaseEntity===n.type)return Qv([n.name]);if(Vd.includes(n.type)&&n.type!==r.ActionDescriptor)return n.name;switch(n.type){case r.Search:return Kv(n);case r.Operation:case r.InternalCall:case r.Loop:const i=Mt(n.declaration,e);return A(i,e);case r.ActionDescriptor:return tg(n);case r.BreakStatement:const a=Mt(n.parent,e);return`Stop loop ${A(a,e)}`;case r.ContinueStatement:const s=Mt(n.parent,e);return`Execute next iteration of ${A(s,e)}`;case r.FunctionCall:return Mt(n.declaration,e).name;case r.Condition:{const u=n;if((t=n.inputs)!=null&&t.length){const p=A(u.inputs[0],u.project);if(u.inputs[1]){const h=u.inputs[1].declaration.name;return`If ${p} ${Xs(u)} ${h}`}return`If ${p} ${Xs(u)}`}else return`If ${Xs(u)}`}case r.ReturnStatement:{const u=Mt(n.parent,e);return`Output of ${A(u,e)}`}case r.InputMap:if(n.declaration){const u=Mt(n.declaration,e);return A(u,e)||""}else return n.name||"";case r.VariableInstance:{const u=Mt(n.declaration,e);return A(u,e)||""}case r.OutputMap:if(n.declaration){const u=Mt(n.declaration,e);return(u==null?void 0:u.name)||""}else return"";case r.PrimitiveEntity:case r.PrimitiveValue:return eg(n);default:return Ws(n.type).replaceAll("-"," ")}}function Qs(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=e.entities.filter(a=>a.name===n.name);return i.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique in the project. Entity with id "${i[0].id}" has the same name.
14
14
  Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null})),t}function rd(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=n.parent?D(n.parent):null;let a=e;i&&(a=e.get(i));const s=[];a.type===r.CustomEntity?s.push(...a.methods.map(u=>u)):a.type===r.Project?s.push(...a.functions.map(u=>u)):a.type===r.Loop?a.body&&s.push(a.body):a.type===r.InstalledProject&&s.push(...a.functions.map(u=>u));const o=s.filter(u=>u.name===n.name);return o.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique in ${a.type===r.Project?"the globally declared project scope":"its parent entity"}. Entity with id "${o[0].id}" has the same name.
15
15
  Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null})),t}function id(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=n.parent&&Mt(n.parent,e)||e;if(!i)t.push(new E({id:`${n.id}--parent-reference--${y.ReferencedEntityNotFound}`,message:`The entity with id '${n.parent}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null}));else{const s=ed(i).filter(o=>o.name===n.name);s.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique in its scope or higher scopes. Entity with id "${s[0].id}" has the same name.
16
16
  Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null}))}return t}function ad(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=D(n.parent);if(!i)t.push(new E({id:`${n.id}--parent-reference--${y.InvalidReferenceObjectStructure}`,message:`Reference object at 'parent' property for entity with id "${n.id}" and type "${n.type}" is not a valid reference. A reference needs to be a 'id' string of an existing entity in the project.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null}));else{const a=e.get(i);if(!a)t.push(new E({id:`${n.id}--parent-reference--${y.ReferencedEntityNotFound}`,message:`The entity with id '${i}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null}));else{const o=a.properties.filter(u=>u.name===n.name);o.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique among all properties in the parent entity. Entity with id "${o[0].id}" has the same name.
17
17
  Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null}))}}return t}function sd(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=D(n.parent);if(!i)t.push(new E({id:`${n.id}--parent-reference--${y.InvalidReferenceObjectStructure}`,message:`Reference object at 'parent' property for entity with id "${n.id}" and type "${n.type}" is not a valid reference. A reference needs to be a 'id' string of an existing entity in the project.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null}));else{const a=e.get(i);if(!a)t.push(new E({id:`${n.id}--parent-reference--${y.ReferencedEntityNotFound}`,message:`The entity with id '${i}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null}));else{const o=Id(a).filter(u=>u.name===n.name);o.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique among all inputs declared in the parent entity. Entity with id "${o[0].id}" has the same name.
18
18
  Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null}))}}return t}function od(n,e){const t=[];n.name||t.push(new E({id:`${n.id}--${v.EmptyName}`,message:`Entity with id "${n.id}" and type "${n.type}" has an empty name. Please provide a 'name' string.`,severity:f.Error,code:v.EmptyName,issue:null}));const i=D(n.parent);if(!i)t.push(new E({id:`${n.id}--parent-reference--${y.InvalidReferenceObjectStructure}`,message:`Reference object at 'parent' property for entity with id "${n.id}" and type "${n.type}" is not a valid reference. A reference needs to be a 'id' string of an existing entity in the project.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null}));else{const a=e.get(i);if(!a)t.push(new E({id:`${n.id}--parent-reference--${y.ReferencedEntityNotFound}`,message:`The entity with id '${i}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null}));else{const o=Pd(a).filter(u=>u.name===n.name);o.length&&t.push(new E({id:`${n.id}--${v.NameNotUniqueInScope}`,message:`Entity with id "${n.id}" and type "${n.type}" has a name "${n.name}" that is not unique among all outputs declared in the parent entity. Entity with id "${o[0].id}" has the same name.
19
- Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null}))}}return t}function V6(n,e){switch(n.type){case r.CustomEntity:return Ks(n,e);case r.FunctionDeclaration:return rd(n,e);case r.VariableDeclaration:return id(n,e);case r.Property:return ad(n,e);case r.ArgumentDeclaration:return sd(n,e);case r.ReturnDeclaration:return od(n,e);default:return[]}}function Xt(n,e,t){const a=`${Xs(n)}-${e}-id`;return t.instances[a]?$.UUID.uuid():a}function ld(n,e){let t="",i=null;if(n.parent){const s=e.get(n.parent);s&&(i=s)}let a="";return i&&(a=`${Xs(A(i,e))}-`),t=`${a}${Xs(A(n,e))}-id`,e.instances[t]?$.UUID.uuid():t}function L6(n){var o;const e=c4(),t=n.toJSON();e.safeParse(t).success;const a=G6(n);(o=n.dataType)==null||o.validate();const s=[...a];if(n.id==="80c86e1b-caca-4ba5-9b1f-38f72d10e4a3"){const u=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(u.error)}return s}function G6(n){const e=[];if(!n.implements)return e;const t=n.implements;if(!t.abstract){const a=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(t,n.project)}" with id "${t.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});e.push(a.error)}if(n.static&&!t.static){const a=k({id:`${n.id}--${O.NonStaticPropertyImplementsStatic}`,message:`Static property "${A(n,n.project)}" with id "${n.id}" implements a non-static property "${A(t,n.project)}" with id "${t.id}".`,issue:null,severity:f.Error,code:O.NonStaticPropertyImplementsStatic,entity:n});e.push(a.error)}if(!n.static&&t.static){const a=k({id:`${n.id}--${O.StaticPropertyImplementsNonStatic}`,message:`Non-static property "${A(n,n.project)}" with id "${n.id}" implements a static property "${A(t,n.project)}" with id "${t.id}".`,issue:null,severity:f.Error,code:O.StaticPropertyImplementsNonStatic,entity:n});e.push(a.error)}if(!Ys(n.dataType,t.dataType)){const a=k({id:`${n.id}--${O.PropertyImplementsIncompatibleType}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a property "${A(t,n.project)}" with id "${t.id}" that has an incompatible data type.`,issue:null,severity:f.Error,code:O.PropertyImplementsIncompatibleType,entity:n});e.push(a.error)}return X(n.errors,e)}function F6(n,e){const t=[];if(n.parent){const a=e.get(n.parent);if(!a)t.push(new E({id:`${n.id}--${n.parent}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}));else{const s=Ir(a);if(s){const o=a!==s?`The entity of type '${n.type}' with id '${n.id}' have 'parent' with id '${n.parent}' because the entity belongs to a built-in '${s.type}' entity with id '${s.id}' (${A(s,a.project)}) higher up in the tree.`:`The entity of type '${n.type}' with id '${n.id}' have 'parent' with id '${n.parent}' because it is a built-in entity of type ${s.type}.`;t.push(new E({id:`${n.id}--${y.InvalidBuiltInEntityReference}`,code:y.InvalidBuiltInEntityReference,severity:f.Error,message:o,issue:null}))}else if(![r.CustomEntity].includes(a.type))t.push(new E({id:`${n.id}--${n.parent}--${y.InvalidParentReference}`,code:y.InvalidParentReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a parent reference that isn't pointing to an entity of type 'custom-entity'.`,issue:null}));else{const u=Fn(a).filter(p=>!p.interactive);if(u.length){let p=u.length>1?`The entity of type '${n.type}' with id '${n.id}' can't be added to the 'parent' entity with id '${a.id}' because it extends or implements multiple '${r.BuiltInBaseEntity}' entities that are non-interactive ("${N(u.map(h=>A(h,h.project)),'", "','" and "')}").`:`The entity of type '${n.type}' with id '${n.id}' can't be added to the 'parent' entity with id '${a.id}' because it extends or implements a '${r.BuiltInBaseEntity}' entity that is non-interactive ("${A(u[0],u[0].project)}").`;p+=`
20
- ${Ln}`,t.push(new E({id:`${n.id}--${y.NonInteractiveEntityReferenced}`,code:y.NonInteractiveEntityReferenced,severity:f.Error,message:p,issue:null}))}else if(n.implements){const p=e.get(n.implements);if(n.id===n.implements)return t.push(new E({id:`${n.id}--${n.implements}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at 'implements'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null})),t;if(!p)t.push(new E({id:`${n.id}--${n.implements}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.implements}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}));else{const h=a.properties.find(m=>{var T;return((T=m.implements)==null?void 0:T.id)===n.implements});h?t.push(new E({id:`${n.id}--${v.PropertyOverwrite}`,code:v.PropertyOverwrite,severity:f.Error,message:`The property with id "${n.id}" is trying to implement the property with id "${n.implements}", but the parent entity already has a property with id '${h.id}' that implements the same base property.`,issue:null})):[r.Property].includes(p.type)?p.abstract||t.push(new E({id:`${n.id}--${n.implements}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' reference that isn't pointing to an abstract entity.`,issue:null})):t.push(new E({id:`${n.id}--${n.implements}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' reference that isn't pointing to an entity of type 'property'.`,issue:null}))}}}}}const i=Ge(n,{},e);return t.push(...i.errors),t}const he=class he{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"private");l(this,"abstract");l(this,"index");l(this,"static");l(this,"required");l(this,"type",r.Property);l(this,"dataType",null);l(this,"implements",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.private=e.private,this.abstract=e.abstract,this.index=e.index,this.static=e.static,this.required=e.required||!1}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;if(e.implements){const p=D(e.implements);s=t.get(p)}const o={id:e.id,version:1,name:e.name,type:r.Property,index:a.properties.length,private:e.private,abstract:e.abstract,static:e.static,required:e.required||!1,description:e.description,implements:s,dataType:null,parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=F6(i,t),o=ad(i,t);return a.push(...s,...o,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
19
+ Please provide a unique 'name' string.`,severity:f.Error,code:v.NameNotUniqueInScope,issue:null}))}}return t}function G6(n,e){switch(n.type){case r.CustomEntity:return Qs(n,e);case r.FunctionDeclaration:return rd(n,e);case r.VariableDeclaration:return id(n,e);case r.Property:return ad(n,e);case r.ArgumentDeclaration:return sd(n,e);case r.ReturnDeclaration:return od(n,e);default:return[]}}function Xt(n,e,t){const a=`${Zs(n)}-${e}-id`;return t.instances[a]?$.UUID.uuid():a}function ld(n,e){let t="",i=null;if(n.parent){const s=e.get(n.parent);s&&(i=s)}let a="";return i&&(a=`${Zs(A(i,e))}-`),t=`${a}${Zs(A(n,e))}-id`,e.instances[t]?$.UUID.uuid():t}function F6(n){var o;const e=u4(),t=n.toJSON();e.safeParse(t).success;const a=U6(n);(o=n.dataType)==null||o.validate();const s=[...a];if(n.id==="80c86e1b-caca-4ba5-9b1f-38f72d10e4a3"){const u=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(u.error)}return s}function U6(n){const e=[];if(!n.implements)return e;const t=n.implements;if(!t.abstract){const a=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(t,n.project)}" with id "${t.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});e.push(a.error)}if(n.static&&!t.static){const a=k({id:`${n.id}--${O.NonStaticPropertyImplementsStatic}`,message:`Static property "${A(n,n.project)}" with id "${n.id}" implements a non-static property "${A(t,n.project)}" with id "${t.id}".`,issue:null,severity:f.Error,code:O.NonStaticPropertyImplementsStatic,entity:n});e.push(a.error)}if(!n.static&&t.static){const a=k({id:`${n.id}--${O.StaticPropertyImplementsNonStatic}`,message:`Non-static property "${A(n,n.project)}" with id "${n.id}" implements a static property "${A(t,n.project)}" with id "${t.id}".`,issue:null,severity:f.Error,code:O.StaticPropertyImplementsNonStatic,entity:n});e.push(a.error)}if(!Hs(n.dataType,t.dataType)){const a=k({id:`${n.id}--${O.PropertyImplementsIncompatibleType}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a property "${A(t,n.project)}" with id "${t.id}" that has an incompatible data type.`,issue:null,severity:f.Error,code:O.PropertyImplementsIncompatibleType,entity:n});e.push(a.error)}return X(n.errors,e)}function x6(n,e){const t=[];if(n.parent){const a=e.get(n.parent);if(!a)t.push(new E({id:`${n.id}--${n.parent}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}));else{const s=gr(a);if(s){const o=a!==s?`The entity of type '${n.type}' with id '${n.id}' have 'parent' with id '${n.parent}' because the entity belongs to a built-in '${s.type}' entity with id '${s.id}' (${A(s,a.project)}) higher up in the tree.`:`The entity of type '${n.type}' with id '${n.id}' have 'parent' with id '${n.parent}' because it is a built-in entity of type ${s.type}.`;t.push(new E({id:`${n.id}--${y.InvalidBuiltInEntityReference}`,code:y.InvalidBuiltInEntityReference,severity:f.Error,message:o,issue:null}))}else if(![r.CustomEntity].includes(a.type))t.push(new E({id:`${n.id}--${n.parent}--${y.InvalidParentReference}`,code:y.InvalidParentReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a parent reference that isn't pointing to an entity of type 'custom-entity'.`,issue:null}));else{const u=Gn(a).filter(p=>!p.interactive);if(u.length){let p=u.length>1?`The entity of type '${n.type}' with id '${n.id}' can't be added to the 'parent' entity with id '${a.id}' because it extends or implements multiple '${r.BuiltInBaseEntity}' entities that are non-interactive ("${N(u.map(h=>A(h,h.project)),'", "','" and "')}").`:`The entity of type '${n.type}' with id '${n.id}' can't be added to the 'parent' entity with id '${a.id}' because it extends or implements a '${r.BuiltInBaseEntity}' entity that is non-interactive ("${A(u[0],u[0].project)}").`;p+=`
20
+ ${Vn}`,t.push(new E({id:`${n.id}--${y.NonInteractiveEntityReferenced}`,code:y.NonInteractiveEntityReferenced,severity:f.Error,message:p,issue:null}))}else if(n.implements){const p=e.get(n.implements);if(n.id===n.implements)return t.push(new E({id:`${n.id}--${n.implements}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at 'implements'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null})),t;if(!p)t.push(new E({id:`${n.id}--${n.implements}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.implements}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}));else{const h=a.properties.find(m=>{var T;return((T=m.implements)==null?void 0:T.id)===n.implements});h?t.push(new E({id:`${n.id}--${v.PropertyOverwrite}`,code:v.PropertyOverwrite,severity:f.Error,message:`The property with id "${n.id}" is trying to implement the property with id "${n.implements}", but the parent entity already has a property with id '${h.id}' that implements the same base property.`,issue:null})):[r.Property].includes(p.type)?p.abstract||t.push(new E({id:`${n.id}--${n.implements}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' reference that isn't pointing to an abstract entity.`,issue:null})):t.push(new E({id:`${n.id}--${n.implements}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' reference that isn't pointing to an entity of type 'property'.`,issue:null}))}}}}}const i=Ge(n,{},e);return t.push(...i.errors),t}const he=class he{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"private");l(this,"abstract");l(this,"index");l(this,"static");l(this,"required");l(this,"type",r.Property);l(this,"dataType",null);l(this,"implements",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.private=e.private,this.abstract=e.abstract,this.index=e.index,this.static=e.static,this.required=e.required||!1}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;if(e.implements){const p=D(e.implements);s=t.get(p)}const o={id:e.id,version:1,name:e.name,type:r.Property,index:a.properties.length,private:e.private,abstract:e.abstract,static:e.static,required:e.required||!1,description:e.description,implements:s,dataType:null,parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=x6(i,t),o=ad(i,t);return a.push(...s,...o,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
21
21
  This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),(e.readsValue||e.writesValue)&&t.push(new E({id:`${this.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' is not a value reading or writing entity.
22
- ${ro}`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent.addProperty(this),this}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.dataType){const e=R(this.initialData.dataType,this.project);e.setParent(this),e.initChildren(),this.dataType=e}if(this.initialData.implements){const e=R(this.initialData.implements,this.project);this.implements=e}return this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.abstract=e.abstract||this.abstract,this.private=e.private||this.private,this.index=e.index||this.index,this.static=e.static||this.static,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.dataType){const{affected:s,removed:o}=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return e||this.parent.type===r.CustomEntity&&(this.parent.removeProperty(this),i.push(this.parent)),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.dataType){const{affected:i}=this.dataType.restore({seenEntities:e});t.push(...i)}return this.parent.type===r.CustomEntity&&(this.parent.addProperty(this),t.push(this.parent)),{affected:t,self:this}}toFlat(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this,...((i=this.dataType)==null?void 0:i.toFlat(e))||[]])}toFlatIds(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((i=this.dataType)==null?void 0:i.toFlatIds(e))||[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,private:this.private,required:this.required,static:this.static,abstract:this.abstract,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,implements:((t=this.implements)==null?void 0:t.toJSON())||null,parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,index:this.index,private:this.private,required:this.required,abstract:this.abstract,static:this.static,dataType:((e=this.dataType)==null?void 0:e.toReference())||null,implements:((t=this.implements)==null?void 0:t.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i,a;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.dataType)==null?void 0:i.toFlatJSON(e))||[],...((a=this.implements)==null?void 0:a.toFlatJSON(e))||[]])}toGenerationTarget(){var e;return{id:this.id,name:this.name,description:this.description,type:this.type,private:this.private,required:this.required,abstract:this.abstract,static:this.static,implements:((e=this.implements)==null?void 0:e.id)||null,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.dataType)==null?void 0:i.toFlatGenerationTarget(e))||[]])}clearErrors(){var e;return this.errors=[],(e=this.dataType)==null||e.clearErrors(),this}validate(){return this.errors=L6(this),this.errors.length,{success:!0,error:null,data:null}}getErrors(){var t;return[...this.errors,...((t=this.dataType)==null?void 0:t.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e;return((e=this.dataType)==null?void 0:e.defaultValue)||null}clone(e=null,t=null,i=!0){var m;const a=t||Xt(A(this,this.project),r.Property,this.project),s=a.split("-id"),o=s[s.length-1||0]||a,u={id:a,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,private:this.private,required:this.required,abstract:this.abstract,static:this.static,dataType:null,implements:null,parent:e||this.parent},p=fa(u,this.project);i&&p.subscribe();const h=((m=this.dataType)==null?void 0:m.clone(p,o+"-data-type-id",i))||null;if(h&&p.setDataType(h),this.implements){const T=this.implements.clone(e||this.parent.type===r.CustomEntity?e:null,o+"-implements-id",i);p.implements=T}return p}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}getDataType(){return this.dataType}};l(he,"MUTABLE_BASE_PROPERTIES",["name","description","private","abstract","static","required"]),l(he,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(he,"BASE_PROPERTIES",[...he.MUTABLE_BASE_PROPERTIES,...he.INMUTABLE_BASE_PROPERTIES]),l(he,"MUTABLE_META_PROPERTIES",[...he.MUTABLE_BASE_PROPERTIES,"index"]),l(he,"INMUTABLE_META_PROPERTIES",[...he.INMUTABLE_BASE_PROPERTIES]),l(he,"META_PROPERTIES",[...he.MUTABLE_META_PROPERTIES,...he.INMUTABLE_META_PROPERTIES]),l(he,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(he,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","implements"]),l(he,"UPSTREAM_PROPERTIES",[...he.MUTABLE_UPSTREAM_PROPERTIES,...he.INMUTABLE_UPSTREAM_PROPERTIES]),l(he,"MUTABLE_DOWNSTREAM_PROPERTIES",["dataType"]),l(he,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(he,"DOWNSTREAM_PROPERTIES",[...he.MUTABLE_DOWNSTREAM_PROPERTIES,...he.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(he,"PROPERTIES",[...he.META_PROPERTIES,...he.UPSTREAM_PROPERTIES,...he.DOWNSTREAM_PROPERTIES]);let lr=he;function U6(n){const e=Ax(),t=n.toJSON();e.safeParse(t).success;const a=x6(n),s=j6(n),o=vt(n);n.inputs.forEach(p=>p.validate()),o.forEach(p=>p.validate());const u=[...a,...s];if(n.id==="getCompanyByIdEndpointReachedEntityEvent"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});u.push(p.error)}return X(n.errors,u)}function x6(n){const e=[];if(!n.calls.length){const t=k({id:`${n.id}--${O.ScopeWithoutLogic}`,message:`Action "${A(n,n.project)}" with id "${n.id}" does not have any logic defined. So it doesn't do anything.`,issue:null,severity:f.Error,code:O.ScopeWithoutLogic,entity:n});e.push(t.error)}return X(n.errors,e)}function j6(n){const e=[];return n.implements,X(n.errors,e)}const K=class K{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"collapsed");l(this,"private");l(this,"index",null);l(this,"type",r.FunctionDeclaration);l(this,"implements",null);l(this,"inputs",[]);l(this,"returnStatements",[]);l(this,"calls",[]);l(this,"parent");l(this,"detachedChildren",[]);l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.private=e.private,this.collapsed=e.collapsed,this.x=e.x,this.y=e.y,this.index=e.index}static fromGenerationTarget(e,t){let i=t;if(e.parent){const u=D(e.parent);i=t.get(u)}let a=null;if(e.implements){const u=D(e.implements);a=t.get(u)}const s={id:e.id,version:1,name:e.name,type:r.FunctionDeclaration,index:i.type===r.CustomEntity?i.methods.length:null,description:e.description,collapsed:!1,private:!1,returnStatements:[],calls:[],inputs:[],implements:a,x:0,y:0,parent:i},o=R(s,t);return o.setParent(i),o.initChildren(),o}static validateGenerationTarget(e,t){var m;let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.Project,r.InstalledProject,r.CustomEntity,r.Loop],optional:!0},implements:{list:!1,types:[r.ActionDescriptor],optional:!0}},t);i=s.modifiedData;const o=rd(i,t),u=i.parent?t.get(i.parent):null;if(u&&u.type===r.CustomEntity){const T=u,I=Fn(T).filter(B=>!B.interactive);if(I.length){let B=I.length>1?`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${T.id}' because it extends or implements multiple '${r.BuiltInBaseEntity}' entities that are non-interactive ("${N(I.map(G=>A(G,G.project)),'", "','" and "')}").`:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${T.id}' because it extends or implements a '${r.BuiltInBaseEntity}' entity that is non-interactive ("${A(I[0],I[0].project)}").`;B+=`
23
- ${Ln}`,a.push(new E({id:`${e.id}--${y.NonInteractiveEntityReferenced}`,code:y.NonInteractiveEntityReferenced,severity:f.Error,message:B,issue:null}))}else{const B=T.methods.find(xt=>{var Le;return((Le=xt.implements)==null?void 0:Le.id)===i.implements});B&&a.push(new E({id:`${i.id}--${v.MethodOverwrite}`,code:v.MethodOverwrite,severity:f.Error,message:`The '${r.FunctionDeclaration}' with id "${i.id}" is trying to implement the '${r.ActionDescriptor}' with id "${i.implements}", but the parent custom-entity already has a ${r.FunctionDeclaration} with id '${B.id}' that implements the same base method.
22
+ ${no}`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent.addProperty(this),this}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.dataType){const e=R(this.initialData.dataType,this.project);e.setParent(this),e.initChildren(),this.dataType=e}if(this.initialData.implements){const e=R(this.initialData.implements,this.project);this.implements=e}return this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.abstract=e.abstract||this.abstract,this.private=e.private||this.private,this.index=e.index||this.index,this.static=e.static||this.static,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.dataType){const{affected:s,removed:o}=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return e||this.parent.type===r.CustomEntity&&(this.parent.removeProperty(this),i.push(this.parent)),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.dataType){const{affected:i}=this.dataType.restore({seenEntities:e});t.push(...i)}return this.parent.type===r.CustomEntity&&(this.parent.addProperty(this),t.push(this.parent)),{affected:t,self:this}}toFlat(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this,...((i=this.dataType)==null?void 0:i.toFlat(e))||[]])}toFlatIds(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((i=this.dataType)==null?void 0:i.toFlatIds(e))||[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,private:this.private,required:this.required,static:this.static,abstract:this.abstract,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,implements:((t=this.implements)==null?void 0:t.toJSON())||null,parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,index:this.index,private:this.private,required:this.required,abstract:this.abstract,static:this.static,dataType:((e=this.dataType)==null?void 0:e.toReference())||null,implements:((t=this.implements)==null?void 0:t.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i,a;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.dataType)==null?void 0:i.toFlatJSON(e))||[],...((a=this.implements)==null?void 0:a.toFlatJSON(e))||[]])}toGenerationTarget(){var e;return{id:this.id,name:this.name,description:this.description,type:this.type,private:this.private,required:this.required,abstract:this.abstract,static:this.static,implements:((e=this.implements)==null?void 0:e.id)||null,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.dataType)==null?void 0:i.toFlatGenerationTarget(e))||[]])}clearErrors(){var e;return this.errors=[],(e=this.dataType)==null||e.clearErrors(),this}validate(){return this.errors=F6(this),this.errors.length,{success:!0,error:null,data:null}}getErrors(){var t;return[...this.errors,...((t=this.dataType)==null?void 0:t.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e;return((e=this.dataType)==null?void 0:e.defaultValue)||null}clone(e=null,t=null,i=!0){var m;const a=t||Xt(A(this,this.project),r.Property,this.project),s=a.split("-id"),o=s[s.length-1||0]||a,u={id:a,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,private:this.private,required:this.required,abstract:this.abstract,static:this.static,dataType:null,implements:null,parent:e||this.parent},p=fa(u,this.project);i&&p.subscribe();const h=((m=this.dataType)==null?void 0:m.clone(p,o+"-data-type-id",i))||null;if(h&&p.setDataType(h),this.implements){const T=this.implements.clone(e||this.parent.type===r.CustomEntity?e:null,o+"-implements-id",i);p.implements=T}return p}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}getDataType(){return this.dataType}};l(he,"MUTABLE_BASE_PROPERTIES",["name","description","private","abstract","static","required"]),l(he,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(he,"BASE_PROPERTIES",[...he.MUTABLE_BASE_PROPERTIES,...he.INMUTABLE_BASE_PROPERTIES]),l(he,"MUTABLE_META_PROPERTIES",[...he.MUTABLE_BASE_PROPERTIES,"index"]),l(he,"INMUTABLE_META_PROPERTIES",[...he.INMUTABLE_BASE_PROPERTIES]),l(he,"META_PROPERTIES",[...he.MUTABLE_META_PROPERTIES,...he.INMUTABLE_META_PROPERTIES]),l(he,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(he,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","implements"]),l(he,"UPSTREAM_PROPERTIES",[...he.MUTABLE_UPSTREAM_PROPERTIES,...he.INMUTABLE_UPSTREAM_PROPERTIES]),l(he,"MUTABLE_DOWNSTREAM_PROPERTIES",["dataType"]),l(he,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(he,"DOWNSTREAM_PROPERTIES",[...he.MUTABLE_DOWNSTREAM_PROPERTIES,...he.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(he,"PROPERTIES",[...he.META_PROPERTIES,...he.UPSTREAM_PROPERTIES,...he.DOWNSTREAM_PROPERTIES]);let or=he;function j6(n){const e=Ox(),t=n.toJSON();e.safeParse(t).success;const a=k6(n),s=q6(n),o=gt(n);n.inputs.forEach(p=>p.validate()),o.forEach(p=>p.validate());const u=[...a,...s];if(n.id==="getCompanyByIdEndpointReachedEntityEvent"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});u.push(p.error)}return X(n.errors,u)}function k6(n){const e=[];if(!n.calls.length){const t=k({id:`${n.id}--${O.ScopeWithoutLogic}`,message:`Action "${A(n,n.project)}" with id "${n.id}" does not have any logic defined. So it doesn't do anything.`,issue:null,severity:f.Error,code:O.ScopeWithoutLogic,entity:n});e.push(t.error)}return X(n.errors,e)}function q6(n){const e=[];return n.implements,X(n.errors,e)}const K=class K{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"collapsed");l(this,"private");l(this,"index",null);l(this,"type",r.FunctionDeclaration);l(this,"implements",null);l(this,"inputs",[]);l(this,"returnStatements",[]);l(this,"calls",[]);l(this,"parent");l(this,"detachedChildren",[]);l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.private=e.private,this.collapsed=e.collapsed,this.x=e.x,this.y=e.y,this.index=e.index}static fromGenerationTarget(e,t){let i=t;if(e.parent){const u=D(e.parent);i=t.get(u)}let a=null;if(e.implements){const u=D(e.implements);a=t.get(u)}const s={id:e.id,version:1,name:e.name,type:r.FunctionDeclaration,index:i.type===r.CustomEntity?i.methods.length:null,description:e.description,collapsed:!1,private:!1,returnStatements:[],calls:[],inputs:[],implements:a,x:0,y:0,parent:i},o=R(s,t);return o.setParent(i),o.initChildren(),o}static validateGenerationTarget(e,t){var m;let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.Project,r.InstalledProject,r.CustomEntity,r.Loop],optional:!0},implements:{list:!1,types:[r.ActionDescriptor],optional:!0}},t);i=s.modifiedData;const o=rd(i,t),u=i.parent?t.get(i.parent):null;if(u&&u.type===r.CustomEntity){const T=u,I=Gn(T).filter(B=>!B.interactive);if(I.length){let B=I.length>1?`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${T.id}' because it extends or implements multiple '${r.BuiltInBaseEntity}' entities that are non-interactive ("${N(I.map(G=>A(G,G.project)),'", "','" and "')}").`:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${T.id}' because it extends or implements a '${r.BuiltInBaseEntity}' entity that is non-interactive ("${A(I[0],I[0].project)}").`;B+=`
23
+ ${Vn}`,a.push(new E({id:`${e.id}--${y.NonInteractiveEntityReferenced}`,code:y.NonInteractiveEntityReferenced,severity:f.Error,message:B,issue:null}))}else{const B=T.methods.find(xt=>{var Le;return((Le=xt.implements)==null?void 0:Le.id)===i.implements});B&&a.push(new E({id:`${i.id}--${v.MethodOverwrite}`,code:v.MethodOverwrite,severity:f.Error,message:`The '${r.FunctionDeclaration}' with id "${i.id}" is trying to implement the '${r.ActionDescriptor}' with id "${i.implements}", but the parent custom-entity already has a ${r.FunctionDeclaration} with id '${B.id}' that implements the same base method.
24
24
  A ${r.FunctionDeclaration} that has a parent of type '${r.CustomEntity}' is considered a method of that entity, and cannot implement the same '${r.ActionDescriptor}' more than once.
25
25
  ${r.ActionDescriptor} entities inside a ${r.CustomEntity} are considered abstract methods that can be implemented by ${r.FunctionDeclaration} entities inside the same parent.
26
26
  If you want to modify the existing implementation, you can update the existing method instead, but it will have to match the same base ${r.ActionDescriptor} signature, otherwise the implementation will have a validation error.`,issue:null}));const G=i.implements;T.abstractMethods.find(xt=>xt.id===G)||a.push(new E({id:`${i.id}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`The '${r.FunctionDeclaration}' with id "${i.id}" is trying to implement the '${r.ActionDescriptor}' with id "${i.implements}", but the parent custom-entity with id "${T.id}" does not have a action descriptor (abstract method) with that id.
27
27
  A ${r.FunctionDeclaration} that has a parent of type '${r.CustomEntity}' is considered a method of that entity, and if it implements a action-descriptor, it needs to be one of the parent's action descriptors.
28
28
  If you want to implement a new method, you can create a new 'function-declaration' inside the parent custom-entity. But note that often custom-entities already come the boiler plate for all the methods they need from the base entity they implement, which are often auto-generated when the parent custom-entity is first created.
29
- If you want to modify the existing implementation, you can update the existing method instead, but it will have to match the same base ${r.ActionDescriptor} signature, otherwise the implementation will have a validation error.`,issue:null}))}}else if(u&&u.type===r.Loop){const T=u.body;T&&((m=T.implements)==null?void 0:m.id)===i.implements&&a.push(new E({id:`${i.id}--${v.MethodOverwrite}`,code:v.MethodOverwrite,severity:f.Error,message:`The '${r.FunctionDeclaration}' with id "${i.id}" is being added as the 'body' of the ${r.Loop} with id "${u.id}", but the loop already has a function-declaration body. A loop can only have one function-declaration body at a time. You can edit the existing body instead, but it will have to match the same base signature, otherwise the implementation will have a validation error.`,issue:null}))}const p=i.parent&&t.get(i.parent)||t.getBuiltIn(i.parent),h=p?Ir(p):null;return h&&a.push(new E({id:`${e.id}--${y.BuiltInEntityParent}`,code:y.BuiltInEntityParent,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', belongs to a built-in system entity "${A(h,t)}" with id '${h.id}', and therefore it cannot be created as it would affect a built in entity, which are inmutable.`,issue:null})),a.push(...s.errors,...o,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&(this.parent.type===r.Project?t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
29
+ If you want to modify the existing implementation, you can update the existing method instead, but it will have to match the same base ${r.ActionDescriptor} signature, otherwise the implementation will have a validation error.`,issue:null}))}}else if(u&&u.type===r.Loop){const T=u.body;T&&((m=T.implements)==null?void 0:m.id)===i.implements&&a.push(new E({id:`${i.id}--${v.MethodOverwrite}`,code:v.MethodOverwrite,severity:f.Error,message:`The '${r.FunctionDeclaration}' with id "${i.id}" is being added as the 'body' of the ${r.Loop} with id "${u.id}", but the loop already has a function-declaration body. A loop can only have one function-declaration body at a time. You can edit the existing body instead, but it will have to match the same base signature, otherwise the implementation will have a validation error.`,issue:null}))}const p=i.parent&&t.get(i.parent)||t.getBuiltIn(i.parent),h=p?gr(p):null;return h&&a.push(new E({id:`${e.id}--${y.BuiltInEntityParent}`,code:y.BuiltInEntityParent,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', belongs to a built-in system entity "${A(h,t)}" with id '${h.id}', and therefore it cannot be created as it would affect a built in entity, which are inmutable.`,issue:null})),a.push(...s.errors,...o,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&(this.parent.type===r.Project?t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
30
30
  This is likely an incorrect strategy because this is a globally declared '${this.type}' entity which can only have the root project as its parent.`,issue:null})):t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
31
31
  This is likely an incorrect strategy because this function declaration is a method, since it belongs to a '${this.parent.type}' entity, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.
32
- Please consider that any updates might affect the overlap with the signature of the parent entity's action descriptors.`,issue:null}))),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent===this.project?this.project.addFunctionDeclaration(this):this.parent.type===r.CustomEntity?this.parent.addMethod(this):this.parent.type===r.Loop&&this.parent.setBody(this),this}replaceDetachedChild(e,t){const i=this.detachedChildren.indexOf(e);return i!==-1&&(this.detachedChildren[i]=t),this}subscribeDetachedChild(e){return this.detachedChildren.includes(e)||this.detachedChildren.push(e),this}addInputDeclaration(e){return this.inputs.includes(e)||this.inputs.push(e),this}removeInputDeclaration(e){const t=this.inputs.indexOf(e);return t!==-1&&this.inputs.splice(t,1),this}setParent(e){return this.parent=e,this}addCall(e){return this.calls.includes(e)||this.calls.push(e),this}removeCall(e){const t=this.calls.indexOf(e);return t!==-1&&this.calls.splice(t,1),this}initChildren(){return this.initialized?this:(this.initialized=!0,this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.calls=this.initialData.calls.map(e=>{const t=R(e,this.project);return t.addEntryCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this),t.initChildren()),t}),this.returnStatements=this.initialData.returnStatements.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.implements&&(this.implements=R(this.initialData.implements,this.project)),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.private=e.private||this.private,this.index=e.index||this.index,this.collapsed=e.collapsed!==void 0?e.collapsed:this.collapsed,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),vt(this).forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputs.forEach(a=>{const{affected:s}=a.restore({seenEntities:e});t.push(...s)}),vt(this).forEach(a=>{const{affected:s}=a.restore({seenEntities:e});t.push(...s)}),{affected:S(t),self:this})}toFlat(e=new Set){if(e.has(this.id))return[];e.add(this.id);const t=vt(this);return[this,...this.inputs.flatMap(a=>a.toFlat(e)),...this.calls.flatMap(a=>a.toFlat(e)),...this.returnStatements.flatMap(a=>a.toFlat(e)),...this.implements?this.implements.toFlat(e):[],...t.flatMap(a=>a.toFlat(e))]}toFlatIds(e=new Set){if(e.has(this.id))return[];e.add(this.id);const t=vt(this);return[this.id,...this.inputs.flatMap(a=>a.toFlatIds(e)),...this.calls.flatMap(a=>a.toFlatIds(e)),...this.returnStatements.flatMap(a=>a.toFlatIds(e)),...this.implements?this.implements.toFlatIds(e):[],...t.flatMap(a=>a.toFlatIds(e))]}toJSON(){var e;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,x:this.x,y:this.y,collapsed:this.collapsed,private:this.private,parent:this.parent.toReference(),calls:this.calls.map(t=>t.toJSON()),inputs:this.inputs.map(t=>t.toJSON()),implements:((e=this.implements)==null?void 0:e.toJSON())||null,returnStatements:this.returnStatements.map(t=>t.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,collapsed:this.collapsed,private:this.private,x:this.x,y:this.y,inputs:this.inputs.map(t=>t.toReference()),calls:this.calls.map(t=>t.toReference()),returnStatements:this.returnStatements.map(t=>t.toReference()),implements:((e=this.implements)==null?void 0:e.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.calls.flatMap(i=>i.toFlatJSON(e)),...this.returnStatements.flatMap(i=>i.toFlatJSON(e)),...this.implements?this.implements.toFlatJSON(e):[]])}toGenerationTarget(){var t;const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,name:this.name,description:this.description,type:this.type,private:this.private,implements:((t=this.implements)==null?void 0:t.id)||null,parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.calls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.returnStatements.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.inputs.forEach(e=>e.clearErrors()),this.calls.forEach(e=>e.clearErrors()),this.returnStatements.forEach(e=>e.clearErrors()),this}validate(){const e=U6(this);return this.errors=[...e],{success:!0,error:null,data:this.toJSON()}}getErrors(){const e=vt(this);return[...this.errors,...this.inputs.flatMap(i=>i.getErrors()),...e.flatMap(i=>i.getErrors())]}getShallowErrors(){return this.errors}clone(e){return new K(this.toJSON(),this.project)}getVariableInstances(){return Z(this).filter(i=>i.type===r.VariableInstance)}getArgument(e){return this.inputs.find(t=>t.id===e)||null}createCall(e=this.project,t={}){const i={id:t.id||$.UUID.uuid(),version:t.version||1,type:r.FunctionCall,parent:e.toReference(),successCalls:t.successCalls||[],errorCalls:t.errorCalls||[],inputs:t.inputs||[],outputs:t.outputs||[],error:t.error||null,process:t.process||null,calledBySuccess:t.calledBySuccess||[],calledByError:t.calledByError||[],calledByEntry:t.calledByEntry||[],declaration:this.toJSON(),x:0,y:0},a=R(i,this.project);return a.setParent(e),a.initChildren(),e===this.project&&this.project.addFunctionCall(a),a}addReturnStatement(e){return this.returnStatements.includes(e)||this.returnStatements.push(e),this}removeReturnStatement(e){const t=this.returnStatements.indexOf(e);return t!==-1&&this.returnStatements.splice(t,1),this}};l(K,"MUTABLE_BASE_PROPERTIES",["name","description","private"]),l(K,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(K,"BASE_PROPERTIES",[...K.MUTABLE_BASE_PROPERTIES,...K.INMUTABLE_BASE_PROPERTIES]),l(K,"MUTABLE_META_PROPERTIES",[...K.MUTABLE_BASE_PROPERTIES,"x","y","index","collapsed"]),l(K,"INMUTABLE_META_PROPERTIES",[...K.INMUTABLE_BASE_PROPERTIES]),l(K,"META_PROPERTIES",[...K.MUTABLE_META_PROPERTIES,...K.INMUTABLE_META_PROPERTIES]),l(K,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(K,"INMUATABLE_UPSTREAM_PROPERTIES",["parent","implements"]),l(K,"UPSTREAM_PROPERTIES",[...K.MUTABLE_UPSTREAM_PROPERTIES,...K.INMUATABLE_UPSTREAM_PROPERTIES]),l(K,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","calls","returnStatements"]),l(K,"INMUATABLE_DOWNSTREAM_PROPERTIES",[]),l(K,"DOWNSTREAM_PROPERTIES",[...K.MUTABLE_DOWNSTREAM_PROPERTIES,...K.INMUATABLE_DOWNSTREAM_PROPERTIES]),l(K,"PROPERTIES",[...K.META_PROPERTIES,...K.UPSTREAM_PROPERTIES,...K.DOWNSTREAM_PROPERTIES]);let cr=K;function k6(n){const e=wU(),t=n.toJSON();e.safeParse(t).success;const a=[];if(n.entity&&n.andChildrenGroup||n.entity&&n.orChildrenGroup||n.andChildrenGroup&&n.orChildrenGroup){const s=k({id:n.id+"--"+O.InvalidPropertiesCombination,message:`Data type with id "${n.id}" has invalid properties combination. Only one of the following properties can be present at the time: 'entity', 'andChildrenGroup' or 'orChildrenGroup'`,issue:null,severity:f.Error,code:O.InvalidPropertiesCombination,entity:n});a.push(s.error)}return X(n.errors,a)}function q6(n,e){const t=[],i=[r.CustomEntity,r.ActionDescriptor,r.Property,r.ArgumentDeclaration,r.ReturnDeclaration,r.VariableDeclaration,r.ValueDescriptor,r.DataType],a=`'${N(i,"', '","' or '")}'`;if(n.parent)if(n.id===n.parent)t.push(new E({id:`${n.id}--${n.parent}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at 'parent'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}));else{const s=e.get(n.parent);s?i.includes(s.type)||t.push(new E({id:`${n.id}--${n.parent}--${y.InvalidParentReference}`,code:y.InvalidParentReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a parent reference that isn't pointing to an entity of type ${a}.`,issue:null})):t.push(new E({id:`${n.id}--${n.parent}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}else t.push(new E({id:`${n.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}" is missing a 'parent' reference. The 'parent' of a 'data-type' entity must be a reference to an entity of type ${a}.`,issue:null}));if(n.entity){if(n.id===n.entity)return t.push(new E({id:`${n.id}--${n.entity}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at 'entity'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null})),t;const s=e.get(n.entity);s?[r.CustomEntity,r.PrimitiveEntity,r.ActionDescriptor,r.BuiltInBaseEntity].includes(s.type)||t.push(new E({id:`${n.id}--${n.entity}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'entity' reference that isn't pointing to an entity of type 'custom-entity', 'primitive-entity', 'action-descriptor' or 'built-in-base-entity'.`,issue:null})):t.push(new E({id:`${n.id}--${n.entity}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.entity}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}return t}const fe=class fe{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"isNullable");l(this,"isList");l(this,"constant");l(this,"asType");l(this,"type",r.DataType);l(this,"options");l(this,"parentRelationType");l(this,"defaultValue",null);l(this,"entity",null);l(this,"andChildrenGroup");l(this,"orChildrenGroup");l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"inferred",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.isNullable=e.isNullable,this.isList=e.isList,this.constant=e.constant,this.asType=e.asType,this.options=e.options,this.parentRelationType=e.parentRelationType}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;e.entity&&(s=t.get(e.entity));const o={id:e.id,version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,parentRelationType:e.parentRelationType,isList:e.isList,isNullable:e.isNullable,constant:e.constant,defaultValue:null,entity:s,asType:e.asType,parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){var p;let i=JSON.parse(JSON.stringify(e));const a=[],s=q6(i,t);if(a.push(...s,...Pe(i)),i.entity){const h=t.get(i.entity);if(h.type===r.CustomEntity){const T=Fn(h).filter(b=>!b.interactive);if(T.length){const b=T.length>1?`entities with ids '${N(T.map(I=>I.id),"', '","' and '")}'`:`entity with id '${T[0].id}'`;a.push(new E({id:`${e.id}--${y.NonInteractiveEntityReferenced}`,code:y.NonInteractiveEntityReferenced,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', cannot reference 'custom-entity' with id '${i.entity}' at 'entity'. The entity extends or implements non-interactive built-in-base-entity ${b}.
33
- ${Ln}`,issue:null}))}}}const o=i.parent&&t.get(i.parent)||t.getBuiltIn(i.parent),u=o?Ir(o):null;if(u)a.push(new E({id:`${e.id}--${y.BuiltInEntityParent}`,code:y.BuiltInEntityParent,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', belongs to a built-in system entity "${A(u,t)}" with id '${u.id}', and therefore it cannot be created as it would affect a built in entity, which are inmutable.`,issue:null}));else if(o){const h=o.type,m=[r.Property,r.VariableDeclaration,r.ArgumentDeclaration,r.ReturnDeclaration,r.ValueDescriptor];if(m.includes(h)&&(i.parentRelationType&&a.push(new E({id:`${e.id}--${y.InvalidParentRelationType}`,code:y.InvalidParentRelationType,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', cannot have a 'parentRelationType' property set of type '${h}'.
32
+ Please consider that any updates might affect the overlap with the signature of the parent entity's action descriptors.`,issue:null}))),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent===this.project?this.project.addFunctionDeclaration(this):this.parent.type===r.CustomEntity?this.parent.addMethod(this):this.parent.type===r.Loop&&this.parent.setBody(this),this}replaceDetachedChild(e,t){const i=this.detachedChildren.indexOf(e);return i!==-1&&(this.detachedChildren[i]=t),this}subscribeDetachedChild(e){return this.detachedChildren.includes(e)||this.detachedChildren.push(e),this}addInputDeclaration(e){return this.inputs.includes(e)||this.inputs.push(e),this}removeInputDeclaration(e){const t=this.inputs.indexOf(e);return t!==-1&&this.inputs.splice(t,1),this}setParent(e){return this.parent=e,this}addCall(e){return this.calls.includes(e)||this.calls.push(e),this}removeCall(e){const t=this.calls.indexOf(e);return t!==-1&&this.calls.splice(t,1),this}initChildren(){return this.initialized?this:(this.initialized=!0,this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.calls=this.initialData.calls.map(e=>{const t=R(e,this.project);return t.addEntryCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this),t.initChildren()),t}),this.returnStatements=this.initialData.returnStatements.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.implements&&(this.implements=R(this.initialData.implements,this.project)),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.private=e.private||this.private,this.index=e.index||this.index,this.collapsed=e.collapsed!==void 0?e.collapsed:this.collapsed,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),gt(this).forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputs.forEach(a=>{const{affected:s}=a.restore({seenEntities:e});t.push(...s)}),gt(this).forEach(a=>{const{affected:s}=a.restore({seenEntities:e});t.push(...s)}),{affected:S(t),self:this})}toFlat(e=new Set){if(e.has(this.id))return[];e.add(this.id);const t=gt(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=gt(this);return[this.id,...this.inputs.flatMap(a=>a.toFlatIds(e)),...this.calls.flatMap(a=>a.toFlatIds(e)),...this.returnStatements.flatMap(a=>a.toFlatIds(e)),...this.implements?this.implements.toFlatIds(e):[],...t.flatMap(a=>a.toFlatIds(e))]}toJSON(){var e;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,x:this.x,y:this.y,collapsed:this.collapsed,private:this.private,parent:this.parent.toReference(),calls:this.calls.map(t=>t.toJSON()),inputs:this.inputs.map(t=>t.toJSON()),implements:((e=this.implements)==null?void 0:e.toJSON())||null,returnStatements:this.returnStatements.map(t=>t.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,collapsed:this.collapsed,private:this.private,x:this.x,y:this.y,inputs:this.inputs.map(t=>t.toReference()),calls:this.calls.map(t=>t.toReference()),returnStatements:this.returnStatements.map(t=>t.toReference()),implements:((e=this.implements)==null?void 0:e.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.calls.flatMap(i=>i.toFlatJSON(e)),...this.returnStatements.flatMap(i=>i.toFlatJSON(e)),...this.implements?this.implements.toFlatJSON(e):[]])}toGenerationTarget(){var t;const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,name:this.name,description:this.description,type:this.type,private:this.private,implements:((t=this.implements)==null?void 0:t.id)||null,parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.calls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.returnStatements.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.inputs.forEach(e=>e.clearErrors()),this.calls.forEach(e=>e.clearErrors()),this.returnStatements.forEach(e=>e.clearErrors()),this}validate(){const e=j6(this);return this.errors=[...e],{success:!0,error:null,data:this.toJSON()}}getErrors(){const e=gt(this);return[...this.errors,...this.inputs.flatMap(i=>i.getErrors()),...e.flatMap(i=>i.getErrors())]}getShallowErrors(){return this.errors}clone(e){return new K(this.toJSON(),this.project)}getVariableInstances(){return Z(this).filter(i=>i.type===r.VariableInstance)}getArgument(e){return this.inputs.find(t=>t.id===e)||null}createCall(e=this.project,t={}){const i={id:t.id||$.UUID.uuid(),version:t.version||1,type:r.FunctionCall,parent:e.toReference(),successCalls:t.successCalls||[],errorCalls:t.errorCalls||[],inputs:t.inputs||[],outputs:t.outputs||[],error:t.error||null,process:t.process||null,calledBySuccess:t.calledBySuccess||[],calledByError:t.calledByError||[],calledByEntry:t.calledByEntry||[],declaration:this.toJSON(),x:0,y:0},a=R(i,this.project);return a.setParent(e),a.initChildren(),e===this.project&&this.project.addFunctionCall(a),a}addReturnStatement(e){return this.returnStatements.includes(e)||this.returnStatements.push(e),this}removeReturnStatement(e){const t=this.returnStatements.indexOf(e);return t!==-1&&this.returnStatements.splice(t,1),this}};l(K,"MUTABLE_BASE_PROPERTIES",["name","description","private"]),l(K,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(K,"BASE_PROPERTIES",[...K.MUTABLE_BASE_PROPERTIES,...K.INMUTABLE_BASE_PROPERTIES]),l(K,"MUTABLE_META_PROPERTIES",[...K.MUTABLE_BASE_PROPERTIES,"x","y","index","collapsed"]),l(K,"INMUTABLE_META_PROPERTIES",[...K.INMUTABLE_BASE_PROPERTIES]),l(K,"META_PROPERTIES",[...K.MUTABLE_META_PROPERTIES,...K.INMUTABLE_META_PROPERTIES]),l(K,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(K,"INMUATABLE_UPSTREAM_PROPERTIES",["parent","implements"]),l(K,"UPSTREAM_PROPERTIES",[...K.MUTABLE_UPSTREAM_PROPERTIES,...K.INMUATABLE_UPSTREAM_PROPERTIES]),l(K,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","calls","returnStatements"]),l(K,"INMUATABLE_DOWNSTREAM_PROPERTIES",[]),l(K,"DOWNSTREAM_PROPERTIES",[...K.MUTABLE_DOWNSTREAM_PROPERTIES,...K.INMUATABLE_DOWNSTREAM_PROPERTIES]),l(K,"PROPERTIES",[...K.META_PROPERTIES,...K.UPSTREAM_PROPERTIES,...K.DOWNSTREAM_PROPERTIES]);let lr=K;function J6(n){const e=MU(),t=n.toJSON();e.safeParse(t).success;const a=[];if(n.entity&&n.andChildrenGroup||n.entity&&n.orChildrenGroup||n.andChildrenGroup&&n.orChildrenGroup){const s=k({id:n.id+"--"+O.InvalidPropertiesCombination,message:`Data type with id "${n.id}" has invalid properties combination. Only one of the following properties can be present at the time: 'entity', 'andChildrenGroup' or 'orChildrenGroup'`,issue:null,severity:f.Error,code:O.InvalidPropertiesCombination,entity:n});a.push(s.error)}return X(n.errors,a)}function W6(n,e){const t=[],i=[r.CustomEntity,r.ActionDescriptor,r.Property,r.ArgumentDeclaration,r.ReturnDeclaration,r.VariableDeclaration,r.ValueDescriptor,r.DataType],a=`'${N(i,"', '","' or '")}'`;if(n.parent)if(n.id===n.parent)t.push(new E({id:`${n.id}--${n.parent}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at 'parent'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}));else{const s=e.get(n.parent);s?i.includes(s.type)||t.push(new E({id:`${n.id}--${n.parent}--${y.InvalidParentReference}`,code:y.InvalidParentReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a parent reference that isn't pointing to an entity of type ${a}.`,issue:null})):t.push(new E({id:`${n.id}--${n.parent}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}else t.push(new E({id:`${n.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}" is missing a 'parent' reference. The 'parent' of a 'data-type' entity must be a reference to an entity of type ${a}.`,issue:null}));if(n.entity){if(n.id===n.entity)return t.push(new E({id:`${n.id}--${n.entity}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at 'entity'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null})),t;const s=e.get(n.entity);s?[r.CustomEntity,r.PrimitiveEntity,r.ActionDescriptor,r.BuiltInBaseEntity].includes(s.type)||t.push(new E({id:`${n.id}--${n.entity}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'entity' reference that isn't pointing to an entity of type 'custom-entity', 'primitive-entity', 'action-descriptor' or 'built-in-base-entity'.`,issue:null})):t.push(new E({id:`${n.id}--${n.entity}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.entity}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}return t}const fe=class fe{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"isNullable");l(this,"isList");l(this,"constant");l(this,"asType");l(this,"type",r.DataType);l(this,"options");l(this,"parentRelationType");l(this,"defaultValue",null);l(this,"entity",null);l(this,"andChildrenGroup");l(this,"orChildrenGroup");l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"inferred",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.isNullable=e.isNullable,this.isList=e.isList,this.constant=e.constant,this.asType=e.asType,this.options=e.options,this.parentRelationType=e.parentRelationType}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;e.entity&&(s=t.get(e.entity));const o={id:e.id,version:1,type:r.DataType,andChildrenGroup:null,orChildrenGroup:null,parentRelationType:e.parentRelationType,isList:e.isList,isNullable:e.isNullable,constant:e.constant,defaultValue:null,entity:s,asType:e.asType,parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){var p;let i=JSON.parse(JSON.stringify(e));const a=[],s=W6(i,t);if(a.push(...s,...Pe(i)),i.entity){const h=t.get(i.entity);if(h.type===r.CustomEntity){const T=Gn(h).filter(b=>!b.interactive);if(T.length){const b=T.length>1?`entities with ids '${N(T.map(I=>I.id),"', '","' and '")}'`:`entity with id '${T[0].id}'`;a.push(new E({id:`${e.id}--${y.NonInteractiveEntityReferenced}`,code:y.NonInteractiveEntityReferenced,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', cannot reference 'custom-entity' with id '${i.entity}' at 'entity'. The entity extends or implements non-interactive built-in-base-entity ${b}.
33
+ ${Vn}`,issue:null}))}}}const o=i.parent&&t.get(i.parent)||t.getBuiltIn(i.parent),u=o?gr(o):null;if(u)a.push(new E({id:`${e.id}--${y.BuiltInEntityParent}`,code:y.BuiltInEntityParent,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', belongs to a built-in system entity "${A(u,t)}" with id '${u.id}', and therefore it cannot be created as it would affect a built in entity, which are inmutable.`,issue:null}));else if(o){const h=o.type,m=[r.Property,r.VariableDeclaration,r.ArgumentDeclaration,r.ReturnDeclaration,r.ValueDescriptor];if(m.includes(h)&&(i.parentRelationType&&a.push(new E({id:`${e.id}--${y.InvalidParentRelationType}`,code:y.InvalidParentRelationType,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', cannot have a 'parentRelationType' property set of type '${h}'.
34
34
  The entitities of type '${N(m,"', '","' and '")}' can only have one 'data-type' child under the 'dataType' property so no 'parentRelationType' is needed.`,issue:null})),o.dataType)){const T=(p=o.dataType)==null?void 0:p.id;a.push(new E({id:`${e.id}--${y.NewEntityWouldOverriteExisting}`,code:y.NewEntityWouldOverriteExisting,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', cannot be added as a child to the entity with id '${i.parent}' and type '${h}', because it already has a 'data-type' child with id '${T}'.
35
35
  The entitities of type '${N(m,"', '","' and '")}' can only have one 'data-type' child under the 'dataType' property. You can inspect the existing data-type entity with the 'describe_entity' action. Like so:
36
36
  ${Qt({describe_entity:T})}
37
- Alternatively you can update the entity with 'update' action. Or replace it by first removing it and then creating a new one.`,issue:null}))}h===r.ActionDescriptor&&(!i.parentRelationType||!(i.parentRelationType===qe.DynamicArgumentTypes||i.parentRelationType===qe.DynamicReturnTypes))&&a.push(new E({id:`${e.id}--${y.InvalidParentRelationType}`,code:y.InvalidParentRelationType,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', must have a 'parentRelationType' property set to either 'dynamic-argument-types' or 'dynamic-return-types' when being added as a child to an entity of type 'action-descriptor'.`,issue:null})),h===r.DataType&&(!i.parentRelationType||!(i.parentRelationType===qe.AndDataTypeGroup||i.parentRelationType===qe.OrDataTypeGroup))&&a.push(new E({id:`${e.id}--${y.InvalidParentRelationType}`,code:y.InvalidParentRelationType,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', must have a 'parentRelationType' property set to either 'or-data-type-group' or 'and-data-type-group' when being added as a child to an entity of type 'data-type'.`,issue:null}))}return{errors:a,modifiedData:i}}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){return this.parent.type===r.DataType?this.parentRelationType===qe.AndDataTypeGroup?this.parent.addToAndGroup(this):this.parentRelationType===qe.OrDataTypeGroup&&this.parent.addToOrGroup(this):this.parent.type===r.ActionDescriptor?this.parentRelationType===qe.DynamicArgumentTypes?this.parent.setDynamicArgumentTypes(this):this.parentRelationType===qe.DynamicReturnTypes&&this.parent.setDynamicReturnTypes(this):this.parent.setDataType(this),this}setParent(e){return this.parent=e,this}removeChildGroup(e){if(this.andChildrenGroup){const t=this.andChildrenGroup.findIndex(i=>i.id===e.id);t!==-1&&this.andChildrenGroup.splice(t,1)}if(this.orChildrenGroup){const t=this.orChildrenGroup.findIndex(i=>i.id===e.id);t!==-1&&this.orChildrenGroup.splice(t,1)}return this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.defaultValue&&(this.defaultValue=R(this.initialData.defaultValue,this.project),this.defaultValue.setParent(this),this.defaultValue.initChildren()),this.initialData.entity)if(this.initialData.entity.type===r.GenericReference){const e=this.project.findSubscribedInstanceFromReference(this.initialData.entity);this.entity=e}else this.entity=R(this.initialData.entity,this.project);return this.initialData.andChildrenGroup&&(this.andChildrenGroup=this.initialData.andChildrenGroup.map(e=>R(e,this.project))),this.initialData.orChildrenGroup&&(this.orChildrenGroup=this.initialData.orChildrenGroup.map(e=>R(e,this.project))),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.isNullable=e.isNullable||this.isNullable,this.isList=e.isList||this.isList,this.constant=e.constant||this.constant,this.asType=e.asType||this.asType,this.options=e.options||this.options,this.parentRelationType=e.parentRelationType||this.parentRelationType,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.defaultValue){const{affected:s,removed:o}=this.defaultValue.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}if(this.entity&&this.entity.type===r.CustomEntity&&this.entity.parent===this){const{affected:s,removed:o}=this.entity.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}if(!e){this.parent.type===r.DataType&&this.parent.removeChildGroup(this);const s=this.parent;if(s.type===r.DataType){if(this.parentRelationType===qe.AndDataTypeGroup){if(Array.isArray(s.andChildrenGroup)){const o=s.andChildrenGroup.findIndex(u=>u.id===this.id);o!==-1&&s.andChildrenGroup.splice(o,1)}}else if(this.parentRelationType===qe.OrDataTypeGroup&&Array.isArray(s.orChildrenGroup)){const o=s.orChildrenGroup.findIndex(u=>u.id===this.id);o!==-1&&s.orChildrenGroup.splice(o,1)}}else if(s.type===r.ActionDescriptor){const o=this.parent;this.parentRelationType===qe.DynamicArgumentTypes?o.removeDynamicArgumentTypes():this.parentRelationType===qe.DynamicReturnTypes&&o.removeDynamicReturnTypes()}else this.parent.removeDataType();i.push(s)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.defaultValue){const{affected:i}=this.defaultValue.restore({seenEntities:e});t.push(...i)}if(this.entity&&this.entity.type===r.CustomEntity&&this.entity.parent===this){const{affected:i}=this.entity.restore({seenEntities:e});t.push(...i)}if(this.parent.type===r.DataType){const i=this.parent;Array.isArray(i.andChildrenGroup)&&i.andChildrenGroup.push(this)}if(this.parent.type===r.DataType){const i=this.parent;this.parentRelationType===qe.AndDataTypeGroup?Array.isArray(i.andChildrenGroup)&&i.andChildrenGroup.push(this):this.parentRelationType===qe.OrDataTypeGroup&&Array.isArray(i.orChildrenGroup)&&i.orChildrenGroup.push(this)}else if(this.parent.type===r.ActionDescriptor){const i=this.parent;this.parentRelationType===qe.DynamicArgumentTypes?i.setDynamicArgumentTypes(this):this.parentRelationType===qe.DynamicReturnTypes&&i.setDynamicReturnTypes(this)}else{const i=this.parent;i.setDataType(this),t.push(i)}return{affected:t,self:this}}toFlat(e=new Set){var i,a,s;return e.has(this.id)?[]:(e.add(this.id),[this,...((i=this.andChildrenGroup)==null?void 0:i.flatMap(o=>o.toFlat(e)))||[],...((a=this.orChildrenGroup)==null?void 0:a.flatMap(o=>o.toFlat(e)))||[],...((s=this.entity)==null?void 0:s.toFlat(e))||[]])}toFlatIds(e=new Set){var i,a,s;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((i=this.andChildrenGroup)==null?void 0:i.flatMap(o=>o.toFlatIds(e)))||[],...((a=this.orChildrenGroup)==null?void 0:a.flatMap(o=>o.toFlatIds(e)))||[],...((s=this.entity)==null?void 0:s.toFlatIds(e))||[]])}toJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,isNullable:this.isNullable,options:this.options,isList:this.isList,constant:this.constant,asType:this.asType,defaultValue:((e=this.defaultValue)==null?void 0:e.toJSON())||null,parentRelationType:this.parentRelationType,andChildrenGroup:((t=this.andChildrenGroup)==null?void 0:t.map(s=>s.toJSON()))||null,orChildrenGroup:((i=this.orChildrenGroup)==null?void 0:i.map(s=>s.toJSON()))||null,entity:((a=this.entity)==null?void 0:a.toReference())||null,parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,isList:this.isList,isNullable:this.isNullable,options:this.options,constant:this.constant,asType:this.asType,parentRelationType:this.parentRelationType,defaultValue:((e=this.defaultValue)==null?void 0:e.toReference())||null,andChildrenGroup:((t=this.andChildrenGroup)==null?void 0:t.map(s=>s.toReference()))||null,orChildrenGroup:((i=this.orChildrenGroup)==null?void 0:i.map(s=>s.toReference()))||null,entity:((a=this.entity)==null?void 0:a.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i,a,s,o;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.defaultValue)==null?void 0:i.toFlatJSON(e))||[],...((a=this.andChildrenGroup)==null?void 0:a.flatMap(u=>u.toFlatJSON(e)))||[],...((s=this.orChildrenGroup)==null?void 0:s.flatMap(u=>u.toFlatJSON(e)))||[],...((o=this.entity)==null?void 0:o.toFlatJSON(e))||[]])}toGenerationTarget(){var e;return{id:this.id,type:this.type,isNullable:this.isNullable,options:this.options,isList:this.isList,constant:this.constant,parentRelationType:this.parentRelationType,asType:this.asType,entity:((e=this.entity)==null?void 0:e.id)||null,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){var i,a,s;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.defaultValue)==null?void 0:i.toFlatGenerationTarget(e))||[],...((a=this.andChildrenGroup)==null?void 0:a.flatMap(o=>o.toFlatGenerationTarget(e)))||[],...((s=this.orChildrenGroup)==null?void 0:s.flatMap(o=>o.toFlatGenerationTarget(e)))||[],...this.entity&&this.entity.type==r.CustomEntity&&this.entity.parent===this&&this.entity.toFlatGenerationTarget(e)||[]])}clearErrors(){var e,t,i,a;return this.errors=[],(e=this.defaultValue)==null||e.clearErrors(),(t=this.andChildrenGroup)==null||t.forEach(s=>s.clearErrors()),(i=this.orChildrenGroup)==null||i.forEach(s=>s.clearErrors()),this.inferred&&((a=this.entity)==null||a.clearErrors()),this}validate(){const e=k6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors]}getShallowErrors(){return this.errors}clone(e=null,t=null,i=!0){var b,I,B;const a=this.toJSON(),s=t||Xt(Yv(this),r.DataType,this.project),o=s.split("-id"),u=o[o.length-1||0]||s;a.id=s;const p=fa(a,this.project);e&&p.setParent(e),i&&p.subscribe(),p.initChildren();const h=(b=this.defaultValue)==null?void 0:b.clone(p,u+"-default-value-id",i);p.defaultValue=h||null;const m=(I=this.andChildrenGroup)==null?void 0:I.map((G,W)=>G.clone(this,u+"-and-group-data-type-"+W+"-id",i)),T=(B=this.orChildrenGroup)==null?void 0:B.map((G,W)=>G.clone(this,u+"-or-group-data-type-"+W+"-id",i));return p.andChildrenGroup=m||null,p.orChildrenGroup=T||null,p}addToAndGroup(e){return this.andChildrenGroup||(this.andChildrenGroup=[]),this.andChildrenGroup.includes(e)||this.andChildrenGroup.push(e),this}addToOrGroup(e){return this.orChildrenGroup||(this.orChildrenGroup=[]),this.orChildrenGroup.includes(e)||this.orChildrenGroup.push(e),this}getDefaultValue(){return this.defaultValue}setDefaultValue(e){return this.defaultValue=e,this}setEntity(e){return this.entity=e,this}};l(fe,"MUTABLE_BASE_PROPERTIES",["isNullable","isList","constant","asType","options","parentRelationType"]),l(fe,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(fe,"BASE_PROPERTIES",[...fe.MUTABLE_BASE_PROPERTIES,...fe.INMUTABLE_BASE_PROPERTIES]),l(fe,"MUTABLE_META_PROPERTIES",[...fe.MUTABLE_BASE_PROPERTIES,"inferred"]),l(fe,"INMUTABLE_META_PROPERTIES",[...fe.INMUTABLE_BASE_PROPERTIES]),l(fe,"META_PROPERTIES",[...fe.MUTABLE_META_PROPERTIES,...fe.INMUTABLE_META_PROPERTIES]),l(fe,"MUTABLE_UPSTREAM_PROPERTIES",["entity","andChildrenGroup","orChildrenGroup","parent"]),l(fe,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(fe,"UPSTREAM_PROPERTIES",[...fe.MUTABLE_UPSTREAM_PROPERTIES,...fe.INMUTABLE_UPSTREAM_PROPERTIES]),l(fe,"MUTABLE_DOWNSTREAM_PROPERTIES",["defaultValue"]),l(fe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(fe,"DOWNSTREAM_PROPERTIES",[...fe.MUTABLE_DOWNSTREAM_PROPERTIES,...fe.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(fe,"PROPERTIES",[...fe.META_PROPERTIES,...fe.UPSTREAM_PROPERTIES,...fe.DOWNSTREAM_PROPERTIES]);let si=fe;function J6(n){var u;const e=pU(),t=n.toJSON();e.safeParse(t).success;const a=W6(n),s=mn(n),o=[...a,...s];if(n.id==="exec-sequentially-operation-call-id"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});o.push(p.error)}return n.outputs.forEach(p=>p.validate()),(u=n.error)==null||u.validate(),X(n.errors,o)}function W6(n){const e=[];return n.inputs.forEach(t=>{t.validate()}),n.dynamicArguments.forEach(t=>{t.validate()}),X(n.errors,e)}const ee=class ee{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.Operation);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"process",null);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"error",null);l(this,"dynamicArguments",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const T=D(e.parent);i=t.get(T)}const a=D(e.declaration),s=t.get(a),o=e.calledByEntry.map(T=>{const b=D(T);return t.get(b)}),u=e.calledBySuccess.map(T=>{const b=D(T);return t.get(b)}),p=e.calledByError.map(T=>{const b=D(T);return t.get(b)}),h={id:e.id,version:1,type:r.Operation,declaration:s,calledByEntry:o,calledBySuccess:u,calledByError:p,errorCalls:[],successCalls:[],dynamicArguments:[],inputs:[],outputs:[],process:null,error:null,x:0,y:0,parent:i},m=R(h,t);return m.setParent(i),m.initChildren(),m}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);i=s.modifiedData,a.push(...s.errors,...Pe(i));const o=D(i.declaration);if(o){const u=pg(o,t);a.push(...u)}else{const u=`
37
+ Alternatively you can update the entity with 'update' action. Or replace it by first removing it and then creating a new one.`,issue:null}))}h===r.ActionDescriptor&&(!i.parentRelationType||!(i.parentRelationType===qe.DynamicArgumentTypes||i.parentRelationType===qe.DynamicReturnTypes))&&a.push(new E({id:`${e.id}--${y.InvalidParentRelationType}`,code:y.InvalidParentRelationType,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', must have a 'parentRelationType' property set to either 'dynamic-argument-types' or 'dynamic-return-types' when being added as a child to an entity of type 'action-descriptor'.`,issue:null})),h===r.DataType&&(!i.parentRelationType||!(i.parentRelationType===qe.AndDataTypeGroup||i.parentRelationType===qe.OrDataTypeGroup))&&a.push(new E({id:`${e.id}--${y.InvalidParentRelationType}`,code:y.InvalidParentRelationType,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', must have a 'parentRelationType' property set to either 'or-data-type-group' or 'and-data-type-group' when being added as a child to an entity of type 'data-type'.`,issue:null}))}return{errors:a,modifiedData:i}}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){return this.parent.type===r.DataType?this.parentRelationType===qe.AndDataTypeGroup?this.parent.addToAndGroup(this):this.parentRelationType===qe.OrDataTypeGroup&&this.parent.addToOrGroup(this):this.parent.type===r.ActionDescriptor?this.parentRelationType===qe.DynamicArgumentTypes?this.parent.setDynamicArgumentTypes(this):this.parentRelationType===qe.DynamicReturnTypes&&this.parent.setDynamicReturnTypes(this):this.parent.setDataType(this),this}setParent(e){return this.parent=e,this}removeChildGroup(e){if(this.andChildrenGroup){const t=this.andChildrenGroup.findIndex(i=>i.id===e.id);t!==-1&&this.andChildrenGroup.splice(t,1)}if(this.orChildrenGroup){const t=this.orChildrenGroup.findIndex(i=>i.id===e.id);t!==-1&&this.orChildrenGroup.splice(t,1)}return this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.defaultValue&&(this.defaultValue=R(this.initialData.defaultValue,this.project),this.defaultValue.setParent(this),this.defaultValue.initChildren()),this.initialData.entity)if(this.initialData.entity.type===r.GenericReference){const e=this.project.findSubscribedInstanceFromReference(this.initialData.entity);this.entity=e}else this.entity=R(this.initialData.entity,this.project);return this.initialData.andChildrenGroup&&(this.andChildrenGroup=this.initialData.andChildrenGroup.map(e=>R(e,this.project))),this.initialData.orChildrenGroup&&(this.orChildrenGroup=this.initialData.orChildrenGroup.map(e=>R(e,this.project))),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.isNullable=e.isNullable||this.isNullable,this.isList=e.isList||this.isList,this.constant=e.constant||this.constant,this.asType=e.asType||this.asType,this.options=e.options||this.options,this.parentRelationType=e.parentRelationType||this.parentRelationType,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.defaultValue){const{affected:s,removed:o}=this.defaultValue.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}if(this.entity&&this.entity.type===r.CustomEntity&&this.entity.parent===this){const{affected:s,removed:o}=this.entity.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}if(!e){this.parent.type===r.DataType&&this.parent.removeChildGroup(this);const s=this.parent;if(s.type===r.DataType){if(this.parentRelationType===qe.AndDataTypeGroup){if(Array.isArray(s.andChildrenGroup)){const o=s.andChildrenGroup.findIndex(u=>u.id===this.id);o!==-1&&s.andChildrenGroup.splice(o,1)}}else if(this.parentRelationType===qe.OrDataTypeGroup&&Array.isArray(s.orChildrenGroup)){const o=s.orChildrenGroup.findIndex(u=>u.id===this.id);o!==-1&&s.orChildrenGroup.splice(o,1)}}else if(s.type===r.ActionDescriptor){const o=this.parent;this.parentRelationType===qe.DynamicArgumentTypes?o.removeDynamicArgumentTypes():this.parentRelationType===qe.DynamicReturnTypes&&o.removeDynamicReturnTypes()}else this.parent.removeDataType();i.push(s)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.defaultValue){const{affected:i}=this.defaultValue.restore({seenEntities:e});t.push(...i)}if(this.entity&&this.entity.type===r.CustomEntity&&this.entity.parent===this){const{affected:i}=this.entity.restore({seenEntities:e});t.push(...i)}if(this.parent.type===r.DataType){const i=this.parent;Array.isArray(i.andChildrenGroup)&&i.andChildrenGroup.push(this)}if(this.parent.type===r.DataType){const i=this.parent;this.parentRelationType===qe.AndDataTypeGroup?Array.isArray(i.andChildrenGroup)&&i.andChildrenGroup.push(this):this.parentRelationType===qe.OrDataTypeGroup&&Array.isArray(i.orChildrenGroup)&&i.orChildrenGroup.push(this)}else if(this.parent.type===r.ActionDescriptor){const i=this.parent;this.parentRelationType===qe.DynamicArgumentTypes?i.setDynamicArgumentTypes(this):this.parentRelationType===qe.DynamicReturnTypes&&i.setDynamicReturnTypes(this)}else{const i=this.parent;i.setDataType(this),t.push(i)}return{affected:t,self:this}}toFlat(e=new Set){var i,a,s;return e.has(this.id)?[]:(e.add(this.id),[this,...((i=this.andChildrenGroup)==null?void 0:i.flatMap(o=>o.toFlat(e)))||[],...((a=this.orChildrenGroup)==null?void 0:a.flatMap(o=>o.toFlat(e)))||[],...((s=this.entity)==null?void 0:s.toFlat(e))||[]])}toFlatIds(e=new Set){var i,a,s;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((i=this.andChildrenGroup)==null?void 0:i.flatMap(o=>o.toFlatIds(e)))||[],...((a=this.orChildrenGroup)==null?void 0:a.flatMap(o=>o.toFlatIds(e)))||[],...((s=this.entity)==null?void 0:s.toFlatIds(e))||[]])}toJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,isNullable:this.isNullable,options:this.options,isList:this.isList,constant:this.constant,asType:this.asType,defaultValue:((e=this.defaultValue)==null?void 0:e.toJSON())||null,parentRelationType:this.parentRelationType,andChildrenGroup:((t=this.andChildrenGroup)==null?void 0:t.map(s=>s.toJSON()))||null,orChildrenGroup:((i=this.orChildrenGroup)==null?void 0:i.map(s=>s.toJSON()))||null,entity:((a=this.entity)==null?void 0:a.toReference())||null,parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,isList:this.isList,isNullable:this.isNullable,options:this.options,constant:this.constant,asType:this.asType,parentRelationType:this.parentRelationType,defaultValue:((e=this.defaultValue)==null?void 0:e.toReference())||null,andChildrenGroup:((t=this.andChildrenGroup)==null?void 0:t.map(s=>s.toReference()))||null,orChildrenGroup:((i=this.orChildrenGroup)==null?void 0:i.map(s=>s.toReference()))||null,entity:((a=this.entity)==null?void 0:a.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i,a,s,o;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.defaultValue)==null?void 0:i.toFlatJSON(e))||[],...((a=this.andChildrenGroup)==null?void 0:a.flatMap(u=>u.toFlatJSON(e)))||[],...((s=this.orChildrenGroup)==null?void 0:s.flatMap(u=>u.toFlatJSON(e)))||[],...((o=this.entity)==null?void 0:o.toFlatJSON(e))||[]])}toGenerationTarget(){var e;return{id:this.id,type:this.type,isNullable:this.isNullable,options:this.options,isList:this.isList,constant:this.constant,parentRelationType:this.parentRelationType,asType:this.asType,entity:((e=this.entity)==null?void 0:e.id)||null,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){var i,a,s;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.defaultValue)==null?void 0:i.toFlatGenerationTarget(e))||[],...((a=this.andChildrenGroup)==null?void 0:a.flatMap(o=>o.toFlatGenerationTarget(e)))||[],...((s=this.orChildrenGroup)==null?void 0:s.flatMap(o=>o.toFlatGenerationTarget(e)))||[],...this.entity&&this.entity.type==r.CustomEntity&&this.entity.parent===this&&this.entity.toFlatGenerationTarget(e)||[]])}clearErrors(){var e,t,i,a;return this.errors=[],(e=this.defaultValue)==null||e.clearErrors(),(t=this.andChildrenGroup)==null||t.forEach(s=>s.clearErrors()),(i=this.orChildrenGroup)==null||i.forEach(s=>s.clearErrors()),this.inferred&&((a=this.entity)==null||a.clearErrors()),this}validate(){const e=J6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors]}getShallowErrors(){return this.errors}clone(e=null,t=null,i=!0){var b,I,B;const a=this.toJSON(),s=t||Xt(zv(this),r.DataType,this.project),o=s.split("-id"),u=o[o.length-1||0]||s;a.id=s;const p=fa(a,this.project);e&&p.setParent(e),i&&p.subscribe(),p.initChildren();const h=(b=this.defaultValue)==null?void 0:b.clone(p,u+"-default-value-id",i);p.defaultValue=h||null;const m=(I=this.andChildrenGroup)==null?void 0:I.map((G,W)=>G.clone(this,u+"-and-group-data-type-"+W+"-id",i)),T=(B=this.orChildrenGroup)==null?void 0:B.map((G,W)=>G.clone(this,u+"-or-group-data-type-"+W+"-id",i));return p.andChildrenGroup=m||null,p.orChildrenGroup=T||null,p}addToAndGroup(e){return this.andChildrenGroup||(this.andChildrenGroup=[]),this.andChildrenGroup.includes(e)||this.andChildrenGroup.push(e),this}addToOrGroup(e){return this.orChildrenGroup||(this.orChildrenGroup=[]),this.orChildrenGroup.includes(e)||this.orChildrenGroup.push(e),this}getDefaultValue(){return this.defaultValue}setDefaultValue(e){return this.defaultValue=e,this}setEntity(e){return this.entity=e,this}};l(fe,"MUTABLE_BASE_PROPERTIES",["isNullable","isList","constant","asType","options","parentRelationType"]),l(fe,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(fe,"BASE_PROPERTIES",[...fe.MUTABLE_BASE_PROPERTIES,...fe.INMUTABLE_BASE_PROPERTIES]),l(fe,"MUTABLE_META_PROPERTIES",[...fe.MUTABLE_BASE_PROPERTIES,"inferred"]),l(fe,"INMUTABLE_META_PROPERTIES",[...fe.INMUTABLE_BASE_PROPERTIES]),l(fe,"META_PROPERTIES",[...fe.MUTABLE_META_PROPERTIES,...fe.INMUTABLE_META_PROPERTIES]),l(fe,"MUTABLE_UPSTREAM_PROPERTIES",["entity","andChildrenGroup","orChildrenGroup","parent"]),l(fe,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(fe,"UPSTREAM_PROPERTIES",[...fe.MUTABLE_UPSTREAM_PROPERTIES,...fe.INMUTABLE_UPSTREAM_PROPERTIES]),l(fe,"MUTABLE_DOWNSTREAM_PROPERTIES",["defaultValue"]),l(fe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(fe,"DOWNSTREAM_PROPERTIES",[...fe.MUTABLE_DOWNSTREAM_PROPERTIES,...fe.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(fe,"PROPERTIES",[...fe.META_PROPERTIES,...fe.UPSTREAM_PROPERTIES,...fe.DOWNSTREAM_PROPERTIES]);let ai=fe;function H6(n){var u;const e=hU(),t=n.toJSON();e.safeParse(t).success;const a=Y6(n),s=mn(n),o=[...a,...s];if(n.id==="exec-sequentially-operation-call-id"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});o.push(p.error)}return n.outputs.forEach(p=>p.validate()),(u=n.error)==null||u.validate(),X(n.errors,o)}function Y6(n){const e=[];return n.inputs.forEach(t=>{t.validate()}),n.dynamicArguments.forEach(t=>{t.validate()}),X(n.errors,e)}const ee=class ee{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.Operation);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"process",null);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"error",null);l(this,"dynamicArguments",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const T=D(e.parent);i=t.get(T)}const a=D(e.declaration),s=t.get(a),o=e.calledByEntry.map(T=>{const b=D(T);return t.get(b)}),u=e.calledBySuccess.map(T=>{const b=D(T);return t.get(b)}),p=e.calledByError.map(T=>{const b=D(T);return t.get(b)}),h={id:e.id,version:1,type:r.Operation,declaration:s,calledByEntry:o,calledBySuccess:u,calledByError:p,errorCalls:[],successCalls:[],dynamicArguments:[],inputs:[],outputs:[],process:null,error:null,x:0,y:0,parent:i},m=R(h,t);return m.setParent(i),m.initChildren(),m}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);i=s.modifiedData,a.push(...s.errors,...Pe(i));const o=D(i.declaration);if(o){const u=yg(o,t);a.push(...u)}else{const u=`
38
38
  All built-in 'action-descriptor' entity ids are:
39
39
  - ${t.operationDeclarations.map(p=>`${p.id} (${A(p,t)})`).join(`
40
40
  - `)}.
41
41
  `;a.push(new E({id:`${i.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${r.Operation}" with id "${i.id}", has an invalid reference at the 'declaration' property. The 'declaration' property must be a valid reference to an 'action-descriptor' entity.
42
42
  References can either be an ID string or an object with exacly four properties: 'id', 'entityId', 'entityType', 'type'.${u}`,issue:null}))}return{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
43
43
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
44
- You shouldn't have to manually update a 'parent' property. The equivalent result is to change its callers, the value writters of its inputs, or the value readers of its outputs.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){var e;return this.parent===this.project&&this.project.addOperation(this),(e=this.process)==null||e.writesValues.forEach(t=>{t.setValueWriter(this.process)}),this.successCalls.forEach(t=>{t.addSuccessCaller(this)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this)}),this.calledByError.forEach(t=>{t.addErrorCall(this)}),this.calledByEntry.forEach(t=>{t.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.declaration=R(this.initialData.declaration,this.project),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?t.setParent(this.parent.parent):t.type!==r.InternalCall&&t.setParent(this.parent),t.initChildren(),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this.initialData.process&&(this.process=R(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this.dynamicArguments=this.initialData.dynamicArguments.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){var s;const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:u}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}if(this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.outputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.error){const{affected:o,removed:u}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}return this.successCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{i.push(o),o.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:i}=this.process.restore({seenEntities:e});t.push(...i)}return this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.dynamicArguments.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.dynamicArguments.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.process?this.process.toFlatIds(e):[],...this.error?this.error.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON(),dynamicArguments:this.dynamicArguments.map(i=>i.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,process:this.process?this.process.toReference():null,inputs:this.inputs.map(e=>e.toReference()),dynamicArguments:this.dynamicArguments.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),declaration:this.declaration.toReference(),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.process?this.process.toFlatJSON(e):[],...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.dynamicArguments.flatMap(i=>i.toFlatJSON(e)),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.calledBy.flatMap(i=>i.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),declaration:this.declaration.id,parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.dynamicArguments.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.process?this.process.toFlatGenerationTarget(e):[],...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(i=>i.clearErrors()),this.outputs.forEach(i=>i.clearErrors()),this.successCalls.forEach(i=>i.clearErrors()),this.errorCalls.forEach(i=>i.clearErrors()),this.dynamicArguments.forEach(i=>i.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=J6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors()),...this.dynamicArguments.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.error?this.error.getErrors():[],...this.process?this.process.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new ee(this.toJSON(),this.project)}};l(ee,"MUTABLE_BASE_PROPERTIES",[]),l(ee,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(ee,"BASE_PROPERTIES",[...ee.MUTABLE_BASE_PROPERTIES,...ee.INMUTABLE_BASE_PROPERTIES]),l(ee,"MUTABLE_META_PROPERTIES",[...ee.MUTABLE_BASE_PROPERTIES,"x","y"]),l(ee,"INMUTABLE_META_PROPERTIES",[...ee.INMUTABLE_BASE_PROPERTIES]),l(ee,"META_PROPERTIES",[...ee.MUTABLE_META_PROPERTIES,...ee.INMUTABLE_META_PROPERTIES]),l(ee,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(ee,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(ee,"UPSTREAM_PROPERTIES",[...ee.MUTABLE_UPSTREAM_PROPERTIES,...ee.INMUTABLE_UPSTREAM_PROPERTIES]),l(ee,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","outputs","writesValues","successCalls","errorCalls","error","dynamicArguments"]),l(ee,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ee,"DOWNSTREAM_PROPERTIES",[...ee.MUTABLE_DOWNSTREAM_PROPERTIES,...ee.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ee,"PROPERTIES",[...ee.META_PROPERTIES,...ee.UPSTREAM_PROPERTIES,...ee.DOWNSTREAM_PROPERTIES]);let dr=ee;function H6(n){const e=XU(),t=n.toJSON();e.safeParse(t).success;const a=vt(n);n.inputs.forEach(o=>o.validate()),a.forEach(o=>o.validate());const s=[];return X(n.errors,s)}const te=class te{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"collapsed");l(this,"type",r.GlobalEvent);l(this,"inputs",[]);l(this,"calls",[]);l(this,"returnStatements",[]);l(this,"parent");l(this,"implements");l(this,"detachedChildren",[]);l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.x=e.x,this.y=e.y,this.collapsed=e.collapsed}static fromGenerationTarget(e,t){let i=t;if(e.parent){const u=D(e.parent);i=t.get(u)}let a;e.implements&&(a=t.getBuiltIn(e.implements));const s={id:e.id,version:1,name:e.name,type:r.GlobalEvent,collapsed:!1,returnStatements:[],calls:[],inputs:[],implements:a,x:0,y:0,parent:i},o=R(s,t);return o.setParent(i),o.initChildren(),o}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{},t);if(i=s.modifiedData,a.push(...s.errors,...Pe(i)),!e.implements)a.push(new E({id:`${e.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' is missing the 'implements' property. This property is required for a '${e.type}' entity and must point to one of the built-in action descriptors reserved for 'global-event' entities.
45
- ${ao(t)}`,issue:null}));else if(!t.get(e.implements))a.push(new E({id:`${e.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'implements' property that isn't found in the project. The 'implements' property must point to one of the built-in action descriptors reserved for 'global-event' entities.
46
- ${ao(t)}`,issue:null}));else if(!t.globalEventActionDescriptors.find(p=>p.id===e.implements))a.push(new E({id:`${e.id}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'implements' property that isn't pointing to an action descriptor reserved for 'global-event' entities.
47
- ${ao(t)}`,issue:null}));else{const p=t.events.find(h=>h.implements.id===e.implements);p&&a.push(new E({id:`${e.id}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'implements' property that points to an action descriptor that is already implemented by another global event with id '${p.id}' in the project. Each global event must implement a unique action descriptor.
48
- You can attach new logic to the existing 'global-event' but creating a new callable entity that gets called by it.`,issue:null}))}return{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on an '${this.type}', must be the root project as it is a globally declared entity.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.project.addGlobalEvent(this),this}replaceDetachedChild(e,t){const i=this.detachedChildren.indexOf(e);return i!==-1&&(this.detachedChildren[i]=t),this}subscribeDetachedChild(e){return this.detachedChildren.includes(e)||this.detachedChildren.push(e),this}setParent(e){return this.parent=e,this}addCall(e){return this.calls.includes(e)||this.calls.push(e),this}removeCall(e){const t=this.calls.indexOf(e);return t!==-1&&this.calls.splice(t,1),this}addInputDeclaration(e){return this.inputs.includes(e)||this.inputs.push(e),this}removeInputDeclaration(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}initChildren(){return this.initialized?this:(this.initialized=!0,this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.calls=this.initialData.calls.map(e=>{const t=R(e,this.project);return t.addEntryCaller(this),t.type!==r.InternalCall&&(t.setParent(this),t.initChildren()),t}),this.returnStatements=this.initialData.returnStatements.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.implements=R(this.initialData.implements,this.project),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.x=e.x||this.x,this.y=e.y||this.y,this.collapsed=e.collapsed!==void 0?e.collapsed:this.collapsed,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),vt(this).forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputs.forEach(a=>{const{affected:s}=a.restore({seenEntities:e});t.push(...s)}),vt(this).forEach(a=>{const{affected:s}=a.restore({seenEntities:e});t.push(...s)}),{affected:S(t),self:this})}toFlat(e=new Set){if(e.has(this.id))return[];e.add(this.id);const t=vt(this);return[this,...this.inputs.flatMap(a=>a.toFlat(e)),...this.calls.flatMap(a=>a.toFlat(e)),...this.returnStatements.flatMap(a=>a.toFlat(e)),...this.implements?this.implements.toFlat(e):[],...t.flatMap(a=>a.toFlat(e))]}toFlatIds(e=new Set){if(e.has(this.id))return[];e.add(this.id);const t=vt(this);return[this.id,...this.inputs.flatMap(a=>a.toFlatIds(e)),...this.calls.flatMap(a=>a.toFlatIds(e)),...this.returnStatements.flatMap(a=>a.toFlatIds(e)),...this.implements?this.implements.toFlatIds(e):[],...t.flatMap(a=>a.toFlatIds(e))]}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,x:this.x,y:this.y,collapsed:this.collapsed,implements:this.implements.toJSON(),returnStatements:this.returnStatements.map(e=>e.toJSON()),inputs:this.inputs.map(e=>e.toJSON()),calls:this.calls.map(e=>e.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,collapsed:this.collapsed,x:this.x,y:this.y,implements:this.implements.toReference(),inputs:this.inputs.map(e=>e.toReference()),calls:this.calls.map(e=>e.toReference()),returnStatements:this.returnStatements.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.calls.flatMap(i=>i.toFlatJSON(e)),...this.returnStatements.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,name:this.name,type:this.type,implements:this.implements.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.calls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.returnStatements.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.inputs.forEach(e=>e.clearErrors()),this.calls.forEach(e=>e.clearErrors()),this.returnStatements.forEach(e=>e.clearErrors()),this}validate(){const e=H6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){const e=vt(this);return[...this.errors,...this.inputs.flatMap(i=>i.getErrors()),...e.flatMap(i=>i.getErrors())]}getShallowErrors(){return this.errors}clone(){return new te(this.toJSON(),this.project)}getVariableInstances(){return Z(this).filter(i=>i.type===r.VariableInstance)}addReturnStatement(e){return this.returnStatements.includes(e)||this.returnStatements.push(e),this}removeReturnStatement(e){const t=this.returnStatements.indexOf(e);return t!==-1&&this.returnStatements.splice(t,1),this}};l(te,"MUTABLE_BASE_PROPERTIES",["description"]),l(te,"INMUTABLE_BASE_PROPERTIES",["id","version","name","type"]),l(te,"BASE_PROPERTIES",[...te.MUTABLE_BASE_PROPERTIES,...te.INMUTABLE_BASE_PROPERTIES]),l(te,"MUTABLE_META_PROPERTIES",[...te.MUTABLE_BASE_PROPERTIES,"x","y","collapsed"]),l(te,"INMUTABLE_META_PROPERTIES",[...te.INMUTABLE_BASE_PROPERTIES]),l(te,"META_PROPERTIES",[...te.MUTABLE_META_PROPERTIES,...te.INMUTABLE_META_PROPERTIES]),l(te,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(te,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","implements"]),l(te,"UPSTREAM_PROPERTIES",[...te.MUTABLE_UPSTREAM_PROPERTIES,...te.INMUTABLE_UPSTREAM_PROPERTIES]),l(te,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","calls","returnStatements"]),l(te,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(te,"DOWNSTREAM_PROPERTIES",[...te.MUTABLE_DOWNSTREAM_PROPERTIES,...te.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(te,"PROPERTIES",[...te.META_PROPERTIES,...te.UPSTREAM_PROPERTIES,...te.DOWNSTREAM_PROPERTIES]);let oi=te;function Y6(n){var o,u;const e=v4(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(p=>p.validate()),n.outputs.forEach(p=>p.validate()),(o=n.error)==null||o.validate(),(u=n.body)==null||u.validate();const s=[...mn(n)];if(n.id==="iterate-over-list-loop-id"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(p.error)}return X(n.errors,s)}const ne=class ne{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.Loop);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"process",null);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"error",null);l(this,"breakStatements",[]);l(this,"continueStatements",[]);l(this,"body");l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"parent");l(this,"detachedChildren",[]);l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const T=D(e.parent);i=t.get(T)}const a=D(e.declaration),s=t.get(a),o=e.calledByEntry.map(T=>{const b=D(T);return t.get(b)}),u=e.calledBySuccess.map(T=>{const b=D(T);return t.get(b)}),p=e.calledByError.map(T=>{const b=D(T);return t.get(b)}),h={id:e.id,version:1,type:r.Loop,declaration:s,calledByEntry:o,calledBySuccess:u,calledByError:p,process:null,errorCalls:[],successCalls:[],inputs:[],outputs:[],body:null,breakStatements:[],continueStatements:[],error:null,x:0,y:0,parent:i},m=R(h,t);return m.setParent(i),m.initChildren(),m}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0},declaration:{list:!1,types:[r.ActionDescriptor]}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),e.declaration?t.get(e.declaration)?t.conditionDeclarations.find(p=>p.id===e.declaration)||a.push(new E({id:`${e.id}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'declaration' property that isn't pointing to an action descriptor reserved for '${r.Condition}' entities.
44
+ You shouldn't have to manually update a 'parent' property. The equivalent result is to change its callers, the value writters of its inputs, or the value readers of its outputs.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){var e;return this.parent===this.project&&this.project.addOperation(this),(e=this.process)==null||e.writesValues.forEach(t=>{t.setValueWriter(this.process)}),this.successCalls.forEach(t=>{t.addSuccessCaller(this)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this)}),this.calledByError.forEach(t=>{t.addErrorCall(this)}),this.calledByEntry.forEach(t=>{t.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.declaration=R(this.initialData.declaration,this.project),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?t.setParent(this.parent.parent):t.type!==r.InternalCall&&t.setParent(this.parent),t.initChildren(),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this.initialData.process&&(this.process=R(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this.dynamicArguments=this.initialData.dynamicArguments.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){var s;const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:u}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}if(this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.outputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.error){const{affected:o,removed:u}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}return this.successCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{i.push(o),o.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:i}=this.process.restore({seenEntities:e});t.push(...i)}return this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.dynamicArguments.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.dynamicArguments.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.process?this.process.toFlatIds(e):[],...this.error?this.error.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON(),dynamicArguments:this.dynamicArguments.map(i=>i.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,process:this.process?this.process.toReference():null,inputs:this.inputs.map(e=>e.toReference()),dynamicArguments:this.dynamicArguments.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),declaration:this.declaration.toReference(),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.process?this.process.toFlatJSON(e):[],...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.dynamicArguments.flatMap(i=>i.toFlatJSON(e)),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.calledBy.flatMap(i=>i.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),declaration:this.declaration.id,parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.dynamicArguments.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.process?this.process.toFlatGenerationTarget(e):[],...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(i=>i.clearErrors()),this.outputs.forEach(i=>i.clearErrors()),this.successCalls.forEach(i=>i.clearErrors()),this.errorCalls.forEach(i=>i.clearErrors()),this.dynamicArguments.forEach(i=>i.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=H6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors()),...this.dynamicArguments.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.error?this.error.getErrors():[],...this.process?this.process.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new ee(this.toJSON(),this.project)}};l(ee,"MUTABLE_BASE_PROPERTIES",[]),l(ee,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(ee,"BASE_PROPERTIES",[...ee.MUTABLE_BASE_PROPERTIES,...ee.INMUTABLE_BASE_PROPERTIES]),l(ee,"MUTABLE_META_PROPERTIES",[...ee.MUTABLE_BASE_PROPERTIES,"x","y"]),l(ee,"INMUTABLE_META_PROPERTIES",[...ee.INMUTABLE_BASE_PROPERTIES]),l(ee,"META_PROPERTIES",[...ee.MUTABLE_META_PROPERTIES,...ee.INMUTABLE_META_PROPERTIES]),l(ee,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(ee,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(ee,"UPSTREAM_PROPERTIES",[...ee.MUTABLE_UPSTREAM_PROPERTIES,...ee.INMUTABLE_UPSTREAM_PROPERTIES]),l(ee,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","outputs","writesValues","successCalls","errorCalls","error","dynamicArguments"]),l(ee,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ee,"DOWNSTREAM_PROPERTIES",[...ee.MUTABLE_DOWNSTREAM_PROPERTIES,...ee.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ee,"PROPERTIES",[...ee.META_PROPERTIES,...ee.UPSTREAM_PROPERTIES,...ee.DOWNSTREAM_PROPERTIES]);let cr=ee;function z6(n){const e=KU(),t=n.toJSON();e.safeParse(t).success;const a=gt(n);n.inputs.forEach(o=>o.validate()),a.forEach(o=>o.validate());const s=[];return X(n.errors,s)}const te=class te{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"collapsed");l(this,"type",r.GlobalEvent);l(this,"inputs",[]);l(this,"calls",[]);l(this,"returnStatements",[]);l(this,"parent");l(this,"implements");l(this,"detachedChildren",[]);l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.x=e.x,this.y=e.y,this.collapsed=e.collapsed}static fromGenerationTarget(e,t){let i=t;if(e.parent){const u=D(e.parent);i=t.get(u)}let a;e.implements&&(a=t.getBuiltIn(e.implements));const s={id:e.id,version:1,name:e.name,type:r.GlobalEvent,collapsed:!1,returnStatements:[],calls:[],inputs:[],implements:a,x:0,y:0,parent:i},o=R(s,t);return o.setParent(i),o.initChildren(),o}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{},t);if(i=s.modifiedData,a.push(...s.errors,...Pe(i)),!e.implements)a.push(new E({id:`${e.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' is missing the 'implements' property. This property is required for a '${e.type}' entity and must point to one of the built-in action descriptors reserved for 'global-event' entities.
45
+ ${io(t)}`,issue:null}));else if(!t.get(e.implements))a.push(new E({id:`${e.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'implements' property that isn't found in the project. The 'implements' property must point to one of the built-in action descriptors reserved for 'global-event' entities.
46
+ ${io(t)}`,issue:null}));else if(!t.globalEventActionDescriptors.find(p=>p.id===e.implements))a.push(new E({id:`${e.id}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'implements' property that isn't pointing to an action descriptor reserved for 'global-event' entities.
47
+ ${io(t)}`,issue:null}));else{const p=t.events.find(h=>h.implements.id===e.implements);p&&a.push(new E({id:`${e.id}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'implements' property that points to an action descriptor that is already implemented by another global event with id '${p.id}' in the project. Each global event must implement a unique action descriptor.
48
+ You can attach new logic to the existing 'global-event' but creating a new callable entity that gets called by it.`,issue:null}))}return{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on an '${this.type}', must be the root project as it is a globally declared entity.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.project.addGlobalEvent(this),this}replaceDetachedChild(e,t){const i=this.detachedChildren.indexOf(e);return i!==-1&&(this.detachedChildren[i]=t),this}subscribeDetachedChild(e){return this.detachedChildren.includes(e)||this.detachedChildren.push(e),this}setParent(e){return this.parent=e,this}addCall(e){return this.calls.includes(e)||this.calls.push(e),this}removeCall(e){const t=this.calls.indexOf(e);return t!==-1&&this.calls.splice(t,1),this}addInputDeclaration(e){return this.inputs.includes(e)||this.inputs.push(e),this}removeInputDeclaration(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}initChildren(){return this.initialized?this:(this.initialized=!0,this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.calls=this.initialData.calls.map(e=>{const t=R(e,this.project);return t.addEntryCaller(this),t.type!==r.InternalCall&&(t.setParent(this),t.initChildren()),t}),this.returnStatements=this.initialData.returnStatements.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.implements=R(this.initialData.implements,this.project),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.x=e.x||this.x,this.y=e.y||this.y,this.collapsed=e.collapsed!==void 0?e.collapsed:this.collapsed,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),gt(this).forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputs.forEach(a=>{const{affected:s}=a.restore({seenEntities:e});t.push(...s)}),gt(this).forEach(a=>{const{affected:s}=a.restore({seenEntities:e});t.push(...s)}),{affected:S(t),self:this})}toFlat(e=new Set){if(e.has(this.id))return[];e.add(this.id);const t=gt(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=gt(this);return[this.id,...this.inputs.flatMap(a=>a.toFlatIds(e)),...this.calls.flatMap(a=>a.toFlatIds(e)),...this.returnStatements.flatMap(a=>a.toFlatIds(e)),...this.implements?this.implements.toFlatIds(e):[],...t.flatMap(a=>a.toFlatIds(e))]}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,x:this.x,y:this.y,collapsed:this.collapsed,implements:this.implements.toJSON(),returnStatements:this.returnStatements.map(e=>e.toJSON()),inputs:this.inputs.map(e=>e.toJSON()),calls:this.calls.map(e=>e.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,collapsed:this.collapsed,x:this.x,y:this.y,implements:this.implements.toReference(),inputs:this.inputs.map(e=>e.toReference()),calls:this.calls.map(e=>e.toReference()),returnStatements:this.returnStatements.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.calls.flatMap(i=>i.toFlatJSON(e)),...this.returnStatements.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,name:this.name,type:this.type,implements:this.implements.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.calls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.returnStatements.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.inputs.forEach(e=>e.clearErrors()),this.calls.forEach(e=>e.clearErrors()),this.returnStatements.forEach(e=>e.clearErrors()),this}validate(){const e=z6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){const e=gt(this);return[...this.errors,...this.inputs.flatMap(i=>i.getErrors()),...e.flatMap(i=>i.getErrors())]}getShallowErrors(){return this.errors}clone(){return new te(this.toJSON(),this.project)}getVariableInstances(){return Z(this).filter(i=>i.type===r.VariableInstance)}addReturnStatement(e){return this.returnStatements.includes(e)||this.returnStatements.push(e),this}removeReturnStatement(e){const t=this.returnStatements.indexOf(e);return t!==-1&&this.returnStatements.splice(t,1),this}};l(te,"MUTABLE_BASE_PROPERTIES",["description"]),l(te,"INMUTABLE_BASE_PROPERTIES",["id","version","name","type"]),l(te,"BASE_PROPERTIES",[...te.MUTABLE_BASE_PROPERTIES,...te.INMUTABLE_BASE_PROPERTIES]),l(te,"MUTABLE_META_PROPERTIES",[...te.MUTABLE_BASE_PROPERTIES,"x","y","collapsed"]),l(te,"INMUTABLE_META_PROPERTIES",[...te.INMUTABLE_BASE_PROPERTIES]),l(te,"META_PROPERTIES",[...te.MUTABLE_META_PROPERTIES,...te.INMUTABLE_META_PROPERTIES]),l(te,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(te,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","implements"]),l(te,"UPSTREAM_PROPERTIES",[...te.MUTABLE_UPSTREAM_PROPERTIES,...te.INMUTABLE_UPSTREAM_PROPERTIES]),l(te,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","calls","returnStatements"]),l(te,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(te,"DOWNSTREAM_PROPERTIES",[...te.MUTABLE_DOWNSTREAM_PROPERTIES,...te.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(te,"PROPERTIES",[...te.META_PROPERTIES,...te.UPSTREAM_PROPERTIES,...te.DOWNSTREAM_PROPERTIES]);let si=te;function Z6(n){var o,u;const e=I4(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(p=>p.validate()),n.outputs.forEach(p=>p.validate()),(o=n.error)==null||o.validate(),(u=n.body)==null||u.validate();const s=[...mn(n)];if(n.id==="iterate-over-list-loop-id"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(p.error)}return X(n.errors,s)}const ne=class ne{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.Loop);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"process",null);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"error",null);l(this,"breakStatements",[]);l(this,"continueStatements",[]);l(this,"body");l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"parent");l(this,"detachedChildren",[]);l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const T=D(e.parent);i=t.get(T)}const a=D(e.declaration),s=t.get(a),o=e.calledByEntry.map(T=>{const b=D(T);return t.get(b)}),u=e.calledBySuccess.map(T=>{const b=D(T);return t.get(b)}),p=e.calledByError.map(T=>{const b=D(T);return t.get(b)}),h={id:e.id,version:1,type:r.Loop,declaration:s,calledByEntry:o,calledBySuccess:u,calledByError:p,process:null,errorCalls:[],successCalls:[],inputs:[],outputs:[],body:null,breakStatements:[],continueStatements:[],error:null,x:0,y:0,parent:i},m=R(h,t);return m.setParent(i),m.initChildren(),m}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0},declaration:{list:!1,types:[r.ActionDescriptor]}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),e.declaration?t.get(e.declaration)?t.conditionDeclarations.find(p=>p.id===e.declaration)||a.push(new E({id:`${e.id}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'declaration' property that isn't pointing to an action descriptor reserved for '${r.Condition}' entities.
49
+ ${ao(t)}`,issue:null})):a.push(new E({id:`${e.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'declaration' property that isn't found in the project. The 'declaration' property must point to one of the built-in action descriptors reserved for '${r.Condition}' entities.
50
+ ${ao(t)}`,issue:null})):a.push(new E({id:`${e.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' is missing the 'declaration' property. This property is required for a '${e.type}' entity and must point to one of the built-in action descriptors reserved for '${r.Condition}' entities.
51
+ ${ao(t)}`,issue:null})),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
52
+ If an entity is called by another, they must be in the same scope, which means they have the same parent.
53
+ You shouldn't have to manually update a 'parent' property. The equivalent result is to change its callers, the value writters of its inputs, or the value readers of its outputs.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent===this.project&&this.project.addLoop(this),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}setBody(e){return this.body=e,this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}replaceDetachedChild(e,t){const i=this.detachedChildren.indexOf(e);return i!==-1&&(this.detachedChildren[i]=t),this}subscribeDetachedChild(e){return this.detachedChildren.includes(e)||this.detachedChildren.push(e),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.declaration=R(this.initialData.declaration,this.project),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.process&&(this.process=R(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this.initialData.body&&(this.body=R(this.initialData.body,this.project),this.body.setParent(this),this.body.initChildren()),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.body.remove({ignoreUpstream:!0,seenEntities:t}),this.error){const{affected:s,removed:o}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.body.restore({seenEntities:e}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.inputs.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.error?this.error.toFlat(e):[],...this.body?this.body.toFlat(e):[],...this.continueStatements.flatMap(i=>i.toFlat(e)),...this.breakStatements.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.process?this.process.toFlatIds(e):[],...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.error?this.error.toFlatIds(e):[],...this.body?this.body.toFlatIds(e):[],...this.continueStatements.flatMap(i=>i.toFlatIds(e)),...this.breakStatements.flatMap(i=>i.toFlatIds(e))])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),process:((e=this.process)==null?void 0:e.toJSON())||null,declaration:this.declaration.toJSON(),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),error:((t=this.error)==null?void 0:t.toJSON())||null,body:this.body.toJSON(),parent:this.parent.toReference(),breakStatements:this.breakStatements.map(i=>i.toJSON()),continueStatements:this.continueStatements.map(i=>i.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,declaration:((e=this.declaration)==null?void 0:e.toReference())||null,body:((t=this.body)==null?void 0:t.toReference())||null,inputs:this.inputs.map(s=>s.toReference()),outputs:this.outputs.map(s=>s.toReference()),successCalls:this.successCalls.map(s=>s.toReference()),errorCalls:this.errorCalls.map(s=>s.toReference()),process:((i=this.process)==null?void 0:i.toReference())||null,calledBySuccess:this.calledBySuccess.map(s=>s.toReference()),calledByError:this.calledByError.map(s=>s.toReference()),calledByEntry:this.calledByEntry.map(s=>s.toReference()),continueStatements:this.continueStatements.map(s=>s.toReference()),breakStatements:this.breakStatements.map(s=>s.toReference()),error:((a=this.error)==null?void 0:a.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.body)==null?void 0:i.toFlatJSON(e))||[],...this.successCalls.flatMap(a=>a.toFlatJSON(e)),...this.errorCalls.flatMap(a=>a.toFlatJSON(e)),...this.inputs.flatMap(a=>a.toFlatJSON(e)),...this.outputs.flatMap(a=>a.toFlatJSON(e)),...this.continueStatements.flatMap(a=>a.toFlatJSON(e)),...this.breakStatements.flatMap(a=>a.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[],...this.process?this.process.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),declaration:this.declaration.id,parent:e}}toFlatGenerationTarget(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.body)==null?void 0:i.toFlatGenerationTarget(e))||[],...this.successCalls.flatMap(a=>a.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(a=>a.toFlatGenerationTarget(e)),...this.inputs.flatMap(a=>a.toFlatGenerationTarget(e)),...this.outputs.flatMap(a=>a.toFlatGenerationTarget(e)),...this.continueStatements.flatMap(a=>a.toFlatGenerationTarget(e)),...this.breakStatements.flatMap(a=>a.toFlatGenerationTarget(e)),...this.error?this.error.toFlatGenerationTarget(e):[],...this.process?this.process.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(i=>i.clearErrors()),this.outputs.forEach(i=>i.clearErrors()),this.successCalls.forEach(i=>i.clearErrors()),this.errorCalls.forEach(i=>i.clearErrors()),this.continueStatements.forEach(i=>i.clearErrors()),this.breakStatements.forEach(i=>i.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=Z6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.body?this.body.getErrors():[],...this.error?this.error.getErrors():[],...this.process?this.process.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new ne(this.toJSON(),this.project)}getVariableInstances(){return this.body?Z(this.body).filter(i=>i.type===r.VariableInstance):[]}addReturnStatement(e){return this.body.addReturnStatement(e),this}removeReturnStatement(e){return this.body.removeReturnStatement(e),this}addBreakStatement(e){return this.breakStatements.includes(e)||this.breakStatements.push(e),this}removeBreakStatement(e){const t=this.breakStatements.indexOf(e);return t!==-1&&this.breakStatements.splice(t,1),this}addContinueStatement(e){return this.continueStatements.includes(e)||this.continueStatements.push(e),this}removeContinueStatement(e){const t=this.continueStatements.indexOf(e);return t!==-1&&this.continueStatements.splice(t,1),this}};l(ne,"MUTABLE_BASE_PROPERTIES",[]),l(ne,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(ne,"BASE_PROPERTIES",[...ne.MUTABLE_BASE_PROPERTIES,...ne.INMUTABLE_BASE_PROPERTIES]),l(ne,"MUTABLE_META_PROPERTIES",[...ne.MUTABLE_BASE_PROPERTIES,"x","y"]),l(ne,"INMUTABLE_META_PROPERTIES",[...ne.INMUTABLE_BASE_PROPERTIES]),l(ne,"META_PROPERTIES",[...ne.MUTABLE_META_PROPERTIES,...ne.INMUTABLE_META_PROPERTIES]),l(ne,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(ne,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(ne,"UPSTREAM_PROPERTIES",[...ne.MUTABLE_UPSTREAM_PROPERTIES,...ne.INMUTABLE_UPSTREAM_PROPERTIES]),l(ne,"MUTABLE_DOWNSTREAM_PROPERTIES",["body","inputs","outputs","successCalls","errorCalls","error","breakStatements","continueStatements"]),l(ne,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ne,"DOWNSTREAM_PROPERTIES",[...ne.MUTABLE_DOWNSTREAM_PROPERTIES,...ne.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ne,"PROPERTIES",[...ne.META_PROPERTIES,...ne.UPSTREAM_PROPERTIES,...ne.DOWNSTREAM_PROPERTIES]);let dr=ne;function X6(n){const e=nU(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(o=>o.validate());const s=[...mn(n)];return X(n.errors,s)}const me=class me{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.Condition);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"declaration");l(this,"inputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const m=D(e.parent);i=t.get(m)}const a=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),s=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),o=e.calledByError.map(m=>{const T=D(m);return t.get(T)});let u;if(e.declaration){const m=D(e.declaration);u=t.get(m)}const p={id:e.id,version:1,type:r.Condition,declaration:u,calledByEntry:a,calledBySuccess:s,calledByError:o,errorCalls:[],successCalls:[],inputs:[],x:0,y:0,parent:i},h=R(p,t);return h.setParent(i),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),e.declaration?t.get(e.declaration)?t.conditionDeclarations.find(p=>p.id===e.declaration)||a.push(new E({id:`${e.id}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'declaration' property that isn't pointing to an action descriptor reserved for '${r.Condition}' entities.
49
54
  ${so(t)}`,issue:null})):a.push(new E({id:`${e.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'declaration' property that isn't found in the project. The 'declaration' property must point to one of the built-in action descriptors reserved for '${r.Condition}' entities.
50
55
  ${so(t)}`,issue:null})):a.push(new E({id:`${e.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' is missing the 'declaration' property. This property is required for a '${e.type}' entity and must point to one of the built-in action descriptors reserved for '${r.Condition}' entities.
51
56
  ${so(t)}`,issue:null})),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
52
- If an entity is called by another, they must be in the same scope, which means they have the same parent.
53
- You shouldn't have to manually update a 'parent' property. The equivalent result is to change its callers, the value writters of its inputs, or the value readers of its outputs.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent===this.project&&this.project.addLoop(this),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}setBody(e){return this.body=e,this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}replaceDetachedChild(e,t){const i=this.detachedChildren.indexOf(e);return i!==-1&&(this.detachedChildren[i]=t),this}subscribeDetachedChild(e){return this.detachedChildren.includes(e)||this.detachedChildren.push(e),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.declaration=R(this.initialData.declaration,this.project),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.process&&(this.process=R(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this.initialData.body&&(this.body=R(this.initialData.body,this.project),this.body.setParent(this),this.body.initChildren()),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.body.remove({ignoreUpstream:!0,seenEntities:t}),this.error){const{affected:s,removed:o}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.body.restore({seenEntities:e}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.inputs.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.error?this.error.toFlat(e):[],...this.body?this.body.toFlat(e):[],...this.continueStatements.flatMap(i=>i.toFlat(e)),...this.breakStatements.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.process?this.process.toFlatIds(e):[],...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.error?this.error.toFlatIds(e):[],...this.body?this.body.toFlatIds(e):[],...this.continueStatements.flatMap(i=>i.toFlatIds(e)),...this.breakStatements.flatMap(i=>i.toFlatIds(e))])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),process:((e=this.process)==null?void 0:e.toJSON())||null,declaration:this.declaration.toJSON(),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),error:((t=this.error)==null?void 0:t.toJSON())||null,body:this.body.toJSON(),parent:this.parent.toReference(),breakStatements:this.breakStatements.map(i=>i.toJSON()),continueStatements:this.continueStatements.map(i=>i.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,declaration:((e=this.declaration)==null?void 0:e.toReference())||null,body:((t=this.body)==null?void 0:t.toReference())||null,inputs:this.inputs.map(s=>s.toReference()),outputs:this.outputs.map(s=>s.toReference()),successCalls:this.successCalls.map(s=>s.toReference()),errorCalls:this.errorCalls.map(s=>s.toReference()),process:((i=this.process)==null?void 0:i.toReference())||null,calledBySuccess:this.calledBySuccess.map(s=>s.toReference()),calledByError:this.calledByError.map(s=>s.toReference()),calledByEntry:this.calledByEntry.map(s=>s.toReference()),continueStatements:this.continueStatements.map(s=>s.toReference()),breakStatements:this.breakStatements.map(s=>s.toReference()),error:((a=this.error)==null?void 0:a.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.body)==null?void 0:i.toFlatJSON(e))||[],...this.successCalls.flatMap(a=>a.toFlatJSON(e)),...this.errorCalls.flatMap(a=>a.toFlatJSON(e)),...this.inputs.flatMap(a=>a.toFlatJSON(e)),...this.outputs.flatMap(a=>a.toFlatJSON(e)),...this.continueStatements.flatMap(a=>a.toFlatJSON(e)),...this.breakStatements.flatMap(a=>a.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[],...this.process?this.process.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),declaration:this.declaration.id,parent:e}}toFlatGenerationTarget(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.body)==null?void 0:i.toFlatGenerationTarget(e))||[],...this.successCalls.flatMap(a=>a.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(a=>a.toFlatGenerationTarget(e)),...this.inputs.flatMap(a=>a.toFlatGenerationTarget(e)),...this.outputs.flatMap(a=>a.toFlatGenerationTarget(e)),...this.continueStatements.flatMap(a=>a.toFlatGenerationTarget(e)),...this.breakStatements.flatMap(a=>a.toFlatGenerationTarget(e)),...this.error?this.error.toFlatGenerationTarget(e):[],...this.process?this.process.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(i=>i.clearErrors()),this.outputs.forEach(i=>i.clearErrors()),this.successCalls.forEach(i=>i.clearErrors()),this.errorCalls.forEach(i=>i.clearErrors()),this.continueStatements.forEach(i=>i.clearErrors()),this.breakStatements.forEach(i=>i.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=Y6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.body?this.body.getErrors():[],...this.error?this.error.getErrors():[],...this.process?this.process.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new ne(this.toJSON(),this.project)}getVariableInstances(){return this.body?Z(this.body).filter(i=>i.type===r.VariableInstance):[]}addReturnStatement(e){return this.body.addReturnStatement(e),this}removeReturnStatement(e){return this.body.removeReturnStatement(e),this}addBreakStatement(e){return this.breakStatements.includes(e)||this.breakStatements.push(e),this}removeBreakStatement(e){const t=this.breakStatements.indexOf(e);return t!==-1&&this.breakStatements.splice(t,1),this}addContinueStatement(e){return this.continueStatements.includes(e)||this.continueStatements.push(e),this}removeContinueStatement(e){const t=this.continueStatements.indexOf(e);return t!==-1&&this.continueStatements.splice(t,1),this}};l(ne,"MUTABLE_BASE_PROPERTIES",[]),l(ne,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(ne,"BASE_PROPERTIES",[...ne.MUTABLE_BASE_PROPERTIES,...ne.INMUTABLE_BASE_PROPERTIES]),l(ne,"MUTABLE_META_PROPERTIES",[...ne.MUTABLE_BASE_PROPERTIES,"x","y"]),l(ne,"INMUTABLE_META_PROPERTIES",[...ne.INMUTABLE_BASE_PROPERTIES]),l(ne,"META_PROPERTIES",[...ne.MUTABLE_META_PROPERTIES,...ne.INMUTABLE_META_PROPERTIES]),l(ne,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(ne,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(ne,"UPSTREAM_PROPERTIES",[...ne.MUTABLE_UPSTREAM_PROPERTIES,...ne.INMUTABLE_UPSTREAM_PROPERTIES]),l(ne,"MUTABLE_DOWNSTREAM_PROPERTIES",["body","inputs","outputs","successCalls","errorCalls","error","breakStatements","continueStatements"]),l(ne,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ne,"DOWNSTREAM_PROPERTIES",[...ne.MUTABLE_DOWNSTREAM_PROPERTIES,...ne.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ne,"PROPERTIES",[...ne.META_PROPERTIES,...ne.UPSTREAM_PROPERTIES,...ne.DOWNSTREAM_PROPERTIES]);let ur=ne;function z6(n){const e=eU(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(o=>o.validate());const s=[...mn(n)];return X(n.errors,s)}const me=class me{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.Condition);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"declaration");l(this,"inputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const m=D(e.parent);i=t.get(m)}const a=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),s=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),o=e.calledByError.map(m=>{const T=D(m);return t.get(T)});let u;if(e.declaration){const m=D(e.declaration);u=t.get(m)}const p={id:e.id,version:1,type:r.Condition,declaration:u,calledByEntry:a,calledBySuccess:s,calledByError:o,errorCalls:[],successCalls:[],inputs:[],x:0,y:0,parent:i},h=R(p,t);return h.setParent(i),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),e.declaration?t.get(e.declaration)?t.conditionDeclarations.find(p=>p.id===e.declaration)||a.push(new E({id:`${e.id}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'declaration' property that isn't pointing to an action descriptor reserved for '${r.Condition}' entities.
54
- ${oo(t)}`,issue:null})):a.push(new E({id:`${e.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' has an 'declaration' property that isn't found in the project. The 'declaration' property must point to one of the built-in action descriptors reserved for '${r.Condition}' entities.
55
- ${oo(t)}`,issue:null})):a.push(new E({id:`${e.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type '${e.type}' with id '${e.id}' is missing the 'declaration' property. This property is required for a '${e.type}' entity and must point to one of the built-in action descriptors reserved for '${r.Condition}' entities.
56
- ${oo(t)}`,issue:null})),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
57
- If an entity is called by another, they must be in the same scope, which means they have the same parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent===this.project&&this.project.addCondition(this),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this}removeOutput(e){return this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.declaration=R(this.initialData.declaration,this.project),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.inputs.flatMap(i=>i.toFlat(e)),...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.calledBy.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.calledBy.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,declaration:this.declaration.toJSON(),successCalls:this.successCalls.map(e=>e.toJSON()),errorCalls:this.errorCalls.map(e=>e.toJSON()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),inputs:this.inputs.map(e=>e.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,declaration:this.declaration.toReference(),inputs:this.inputs.map(e=>e.toReference()),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.calledBy.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,declaration:this.declaration.id,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.inputs.forEach(e=>e.clearErrors()),this.successCalls.forEach(e=>e.clearErrors()),this.errorCalls.forEach(e=>e.clearErrors()),this}validate(){const e=z6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(e){return new me(this.toJSON(),this.project)}};l(me,"MUTABLE_BASE_PROPERTIES",["operator"]),l(me,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(me,"BASE_PROPERTIES",[...me.MUTABLE_BASE_PROPERTIES,...me.INMUTABLE_BASE_PROPERTIES]),l(me,"MUTABLE_META_PROPERTIES",["x","y"]),l(me,"INMUTABLE_META_PROPERTIES",[...me.INMUTABLE_BASE_PROPERTIES]),l(me,"META_PROPERTIES",[...me.MUTABLE_META_PROPERTIES,...me.INMUTABLE_META_PROPERTIES]),l(me,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),l(me,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(me,"UPSTREAM_PROPERTIES",[...me.MUTABLE_UPSTREAM_PROPERTIES,...me.INMUTABLE_UPSTREAM_PROPERTIES]),l(me,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","inputsDeclarations","inputs"]),l(me,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(me,"DOWNSTREAM_PROPERTIES",[...me.MUTABLE_DOWNSTREAM_PROPERTIES,...me.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(me,"PROPERTIES",[...me.META_PROPERTIES,...me.UPSTREAM_PROPERTIES,...me.DOWNSTREAM_PROPERTIES]);let pr=me;class tg{constructor(){l(this,"initialData")}}class Z6{}class X6 extends tg{}class Q6{}class K6{}class e9{}class cd{}class t9 extends cd{}class n9 extends cd{}class r9{}class la{static initReadsValue(e){if(e.initialData.readsValue&&e.initialData.readsValue.type!==r.GenericReference&&(e.readsValue=R(e.initialData.readsValue,e.project),Fe.includes(e.readsValue.type))){let t=e.parent;st.includes(t.type)||(t=t.parent),e.readsValue.setParent(t),e.readsValue.addValueReader(e),e.readsValue.initChildren(),t.detachedChildren.includes(e)?t.replaceDetachedChild(e,e.readsValue):t.subscribeDetachedChild(e.readsValue)}return e.readsValue}}class ca{static initWritesValues(e,t){const i=e.initialData.writesValues.reduce((s,o)=>{if(o.type===r.GenericReference||e.writesValues.some(p=>p.id===o.id))return s;const u=R(o,e.project);return u.setValueWriter(e),Fe.includes(u.type)&&(u.setParent(t),u.initChildren()),[...s,u]},[]),a=[...e.writesValues];return e.writesValues=S([...a,...i]),e.writesValues}}class i9{}function a9(n){var u;const e=VU(),t=n.toJSON();e.safeParse(t).success,(u=n.dataType)==null||u.validate(),n.inputs.forEach(p=>p.validate()),n.outputs.forEach(p=>p.validate()),n.internalCalls.forEach(p=>p.validate());const s=[...mn(n)];if(n.id==="random-company-employee-test-variable-id"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(p.error)}if(n.id==="company-dto-variable-one-id"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(p.error)}const o=Rd(n);return s.push(...o),X(n.errors,s)}const re=class re{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"dataType",null);l(this,"x");l(this,"y");l(this,"type",r.VariableDeclaration);l(this,"writesValues",[]);l(this,"readsValue",null);l(this,"inputs",[]);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"internalCalls",[]);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const m=D(e.parent);i=t.get(m)}const a=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),s=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),o=e.calledByError.map(m=>{const T=D(m);return t.get(T)});let u=null;if(e.readsValue){const m=D(e.readsValue);u=t.get(m)}const p={id:e.id,version:1,type:r.VariableDeclaration,name:e.name,description:e.description,calledByEntry:a,calledBySuccess:s,calledByError:o,dataType:null,errorCalls:[],successCalls:[],internalCalls:[],readsValue:u,inputs:[],outputs:[],writesValues:[],x:0,y:0,parent:i},h=R(p,t);return h.setParent(i),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);i=s.modifiedData;const o=id(i,t);return a.push(...s.errors,...o,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];let i=JSON.parse(JSON.stringify(e));const a=ua(i,this);return i=a.modifiedData,t.push(...a.errors),e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
57
+ If an entity is called by another, they must be in the same scope, which means they have the same parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent===this.project&&this.project.addCondition(this),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this}removeOutput(e){return this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.declaration=R(this.initialData.declaration,this.project),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.inputs.flatMap(i=>i.toFlat(e)),...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.calledBy.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.calledBy.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,declaration:this.declaration.toJSON(),successCalls:this.successCalls.map(e=>e.toJSON()),errorCalls:this.errorCalls.map(e=>e.toJSON()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),inputs:this.inputs.map(e=>e.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,declaration:this.declaration.toReference(),inputs:this.inputs.map(e=>e.toReference()),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.calledBy.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,declaration:this.declaration.id,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.inputs.forEach(e=>e.clearErrors()),this.successCalls.forEach(e=>e.clearErrors()),this.errorCalls.forEach(e=>e.clearErrors()),this}validate(){const e=X6(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(e){return new me(this.toJSON(),this.project)}};l(me,"MUTABLE_BASE_PROPERTIES",["operator"]),l(me,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(me,"BASE_PROPERTIES",[...me.MUTABLE_BASE_PROPERTIES,...me.INMUTABLE_BASE_PROPERTIES]),l(me,"MUTABLE_META_PROPERTIES",["x","y"]),l(me,"INMUTABLE_META_PROPERTIES",[...me.INMUTABLE_BASE_PROPERTIES]),l(me,"META_PROPERTIES",[...me.MUTABLE_META_PROPERTIES,...me.INMUTABLE_META_PROPERTIES]),l(me,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),l(me,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(me,"UPSTREAM_PROPERTIES",[...me.MUTABLE_UPSTREAM_PROPERTIES,...me.INMUTABLE_UPSTREAM_PROPERTIES]),l(me,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","inputsDeclarations","inputs"]),l(me,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(me,"DOWNSTREAM_PROPERTIES",[...me.MUTABLE_DOWNSTREAM_PROPERTIES,...me.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(me,"PROPERTIES",[...me.META_PROPERTIES,...me.UPSTREAM_PROPERTIES,...me.DOWNSTREAM_PROPERTIES]);let ur=me;class ng{constructor(){l(this,"initialData")}}class Q6{}class K6 extends ng{}class e9{}class t9{}class n9{}class cd{}class r9 extends cd{}class i9 extends cd{}class a9{}class la{static initReadsValue(e){if(e.initialData.readsValue&&e.initialData.readsValue.type!==r.GenericReference&&(e.readsValue=R(e.initialData.readsValue,e.project),Fe.includes(e.readsValue.type))){let t=e.parent;st.includes(t.type)||(t=t.parent),e.readsValue.setParent(t),e.readsValue.addValueReader(e),e.readsValue.initChildren(),t.detachedChildren.includes(e)?t.replaceDetachedChild(e,e.readsValue):t.subscribeDetachedChild(e.readsValue)}return e.readsValue}}class ca{static initWritesValues(e,t){const i=e.initialData.writesValues.reduce((s,o)=>{if(o.type===r.GenericReference||e.writesValues.some(p=>p.id===o.id))return s;const u=R(o,e.project);return u.setValueWriter(e),Fe.includes(u.type)&&(u.setParent(t),u.initChildren()),[...s,u]},[]),a=[...e.writesValues];return e.writesValues=S([...a,...i]),e.writesValues}}class s9{}function o9(n){var u;const e=GU(),t=n.toJSON();e.safeParse(t).success,(u=n.dataType)==null||u.validate(),n.inputs.forEach(p=>p.validate()),n.outputs.forEach(p=>p.validate()),n.internalCalls.forEach(p=>p.validate());const s=[...mn(n)];if(n.id==="random-company-employee-test-variable-id"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(p.error)}if(n.id==="company-dto-variable-one-id"){const p=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(p.error)}const o=Rd(n);return s.push(...o),X(n.errors,s)}const re=class re{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"dataType",null);l(this,"x");l(this,"y");l(this,"type",r.VariableDeclaration);l(this,"writesValues",[]);l(this,"readsValue",null);l(this,"inputs",[]);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"internalCalls",[]);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const m=D(e.parent);i=t.get(m)}const a=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),s=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),o=e.calledByError.map(m=>{const T=D(m);return t.get(T)});let u=null;if(e.readsValue){const m=D(e.readsValue);u=t.get(m)}const p={id:e.id,version:1,type:r.VariableDeclaration,name:e.name,description:e.description,calledByEntry:a,calledBySuccess:s,calledByError:o,dataType:null,errorCalls:[],successCalls:[],internalCalls:[],readsValue:u,inputs:[],outputs:[],writesValues:[],x:0,y:0,parent:i},h=R(p,t);return h.setParent(i),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);i=s.modifiedData;const o=id(i,t);return a.push(...s.errors,...o,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];let i=JSON.parse(JSON.stringify(e));const a=ua(i,this);return i=a.modifiedData,t.push(...a.errors),e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
58
58
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
59
59
  Specifically for variables, their scope is also calculated from their value readers and value writters.
60
- You shouldn't have to manually update a 'parent' property. The equivalent result is to change its value readers, value writters, or callers.`,issue:null})),{errors:t,modifiedData:i}}addSelfToProject(){return this.parent===this.project&&this.project.addVariableDeclaration(this),this.readsValue&&this.readsValue.addValueReader(this),this.writesValues.forEach(e=>{e.setValueWriter(this)}),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}get usedInputs(){return this.inputs.filter(e=>e.readsValue||e.dynamicArguments.length||e.defaultValue)}get unusedInputs(){return this.inputs.filter(e=>!e.readsValue&&!e.dynamicArguments.length&&!e.defaultValue)}get usedOutputs(){return this.outputs.filter(e=>e.writesValues.length)}get unusedOutputs(){return this.outputs.filter(e=>!e.writesValues.length)}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addValueReader(e){return this.writesValues.includes(e)?this:(this.writesValues.push(e),this)}removeValueReader(e){return this.writesValues=this.writesValues.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.dataType&&(this.dataType=R(this.initialData.dataType,this.project),this.dataType.setParent(this),this.dataType.initChildren()),ca.initWritesValues(this,this.parent),la.initReadsValue(this),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.internalCalls=this.initialData.internalCalls.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.inputs.push(...this.generateUnusedInputs()),this.outputs.push(...this.generateUnusedOutputs()),this)}setValueWriter(e){return this.readsValue=e,this}removeValueWriter(){return this.readsValue=null,this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this.sync(e),ha(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.readsValue&&(i.push(this.readsValue),this.readsValue.removeValueReader(this)),this.writesValues.forEach(s=>{i.push(s),s.readsValue=null}),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.internalCalls.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.dataType){const{affected:s,removed:o}=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){this.subscribe();const t=[];if(this.readsValue&&(t.push(this.readsValue),this.readsValue.addValueReader(this)),this.writesValues.forEach(i=>{t.push(i),i.setValueWriter(this)}),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.internalCalls.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.dataType){const{affected:i}=this.dataType.restore({seenEntities:e});t.push(...i)}return this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this,...((i=this.dataType)==null?void 0:i.toFlat(e))||[],...this.writesValues.flatMap(a=>a.toFlat(e)),...this.successCalls.flatMap(a=>a.toFlat(e)),...this.errorCalls.flatMap(a=>a.toFlat(e)),...this.inputs.flatMap(a=>a.toFlat(e)),...this.outputs.flatMap(a=>a.toFlat(e)),...this.internalCalls.flatMap(a=>a.toFlat(e))])}toFlatIds(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((i=this.dataType)==null?void 0:i.toFlatIds(e))||[],...this.writesValues.flatMap(a=>a.toFlatIds(e)),...this.successCalls.flatMap(a=>a.toFlatIds(e)),...this.errorCalls.flatMap(a=>a.toFlatIds(e)),...this.inputs.flatMap(a=>a.toFlatIds(e)),...this.outputs.flatMap(a=>a.toFlatIds(e)),...this.internalCalls.flatMap(a=>a.toFlatIds(e))])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,readsValue:((t=this.readsValue)==null?void 0:t.toReference())||null,writesValues:this.writesValues.map(i=>i.toJSON()),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),internalCalls:this.internalCalls.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),parent:this.parent.toReference(),x:this.x,y:this.y}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,x:this.x,y:this.y,dataType:((e=this.dataType)==null?void 0:e.toReference())||null,readsValue:((t=this.readsValue)==null?void 0:t.toReference())||null,writesValues:this.writesValues.map(i=>i.toReference()),inputs:this.inputs.map(i=>i.toReference()),outputs:this.outputs.map(i=>i.toReference()),successCalls:this.successCalls.map(i=>i.toReference()),errorCalls:this.errorCalls.map(i=>i.toReference()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),internalCalls:this.internalCalls.map(i=>i.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.dataType)==null?void 0:i.toFlatJSON(e))||[],...this.writesValues.flatMap(a=>a.toFlatJSON(e)),...this.successCalls.flatMap(a=>a.toFlatJSON(e)),...this.errorCalls.flatMap(a=>a.toFlatJSON(e)),...this.inputs.flatMap(a=>a.toFlatJSON(e)),...this.outputs.flatMap(a=>a.toFlatJSON(e)),...this.internalCalls.flatMap(a=>a.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,name:this.name,description:this.description,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.dataType)==null?void 0:i.toFlatGenerationTarget(e))||[],...this.writesValues.flatMap(a=>a.toFlatGenerationTarget(e)),...this.successCalls.flatMap(a=>a.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(a=>a.toFlatGenerationTarget(e)),...this.inputs.flatMap(a=>a.toFlatGenerationTarget(e)),...this.outputs.flatMap(a=>a.toFlatGenerationTarget(e)),...this.internalCalls.flatMap(a=>a.toFlatGenerationTarget(e))])}clearErrors(){var e;return this.errors=[],this.inputs.forEach(t=>t.clearErrors()),this.outputs.forEach(t=>t.clearErrors()),this.successCalls.forEach(t=>t.clearErrors()),this.errorCalls.forEach(t=>t.clearErrors()),this.internalCalls.forEach(t=>t.clearErrors()),(e=this.dataType)==null||e.clearErrors(),this}validate(){const e=a9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t,i;return[...this.errors,...((t=this.dataType)==null?void 0:t.getErrors())||[],...this.inputs.flatMap(a=>a.getErrors()),...this.internalCalls.flatMap(a=>a.getErrors()),...this.outputs.flatMap(a=>a.getErrors()),...((i=this.readsValue)==null?void 0:i.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e;return((e=this.dataType)==null?void 0:e.defaultValue)||null}clone(e){return new re(this.toJSON(),this.project)}addInternalCall(e){return this.internalCalls.find(t=>t===e)||this.internalCalls.push(e),this}createInstance(e=this.project,t={}){const i={id:t.id||$.UUID.uuid(),version:t.version||1,type:r.VariableInstance,parent:e.toReference(),successCalls:t.successCalls||[],errorCalls:t.errorCalls||[],inputs:t.inputs||[],outputs:t.outputs||[],writesValues:t.writesValues||[],internalCalls:t.internalCalls||[],readsValue:t.readsValue||null,calledByEntry:t.calledByEntry||[],calledBySuccess:t.calledBySuccess||[],calledByError:t.calledByError||[],declaration:this.toJSON(),x:0,y:0},a=R(i,this.project);return a.setParent(e),a.initChildren(),e===this.project&&this.project.addVariableInstance(a),a}generateUnusedInputs(){if(this.dataType)if(this.dataType.entity){if(this.dataType.entity.type===r.CustomEntity)return this.dataType.entity.properties.filter(i=>!this.inputs.find(a=>a.declaration===i)).map(i=>{const a={id:$.UUID.uuid(),version:1,type:r.InputMap,parent:this.toReference(),name:null,description:null,dynamicArguments:[],declaration:i,defaultValue:null,index:i.index,readsValue:null},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,s})}else return[];else return[];return[]}generateUnusedOutputs(){if(this.dataType)if(this.dataType.entity){if(this.dataType.entity.type===r.CustomEntity)return this.dataType.entity.properties.filter(i=>!this.outputs.find(a=>a.declaration===i)).map(i=>{const a={id:$.UUID.uuid(),version:1,type:r.OutputMap,parent:this.toReference(),declaration:i,index:i.index,writesValues:[]},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,s})}else return[];else return[];return[]}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}getDataType(){return this.dataType||null}};l(re,"MUTABLE_BASE_PROPERTIES",["name","description"]),l(re,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(re,"BASE_PROPERTIES",[...re.MUTABLE_BASE_PROPERTIES,...re.INMUTABLE_BASE_PROPERTIES]),l(re,"MUTABLE_META_PROPERTIES",[...re.MUTABLE_BASE_PROPERTIES,"x","y"]),l(re,"INMUTABLE_META_PROPERTIES",[...re.INMUTABLE_BASE_PROPERTIES]),l(re,"META_PROPERTIES",[...re.MUTABLE_META_PROPERTIES,...re.INMUTABLE_META_PROPERTIES]),l(re,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","readsValue"]),l(re,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","dataType"]),l(re,"UPSTREAM_PROPERTIES",[...re.MUTABLE_UPSTREAM_PROPERTIES,...re.INMUTABLE_UPSTREAM_PROPERTIES]),l(re,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues","inputs","outputs","successCalls","errorCalls","internalCalls"]),l(re,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(re,"DOWNSTREAM_PROPERTIES",[...re.MUTABLE_DOWNSTREAM_PROPERTIES,...re.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(re,"PROPERTIES",[...re.META_PROPERTIES,...re.UPSTREAM_PROPERTIES,...re.DOWNSTREAM_PROPERTIES]);let yr=re;function s9(n){const e=xU(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(u=>u.validate()),n.outputs.forEach(u=>u.validate()),n.internalCalls.forEach(u=>u.validate());const s=[...mn(n)];if(n.id==="exec-sequentially-result-variable-id"){const u=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(u.error)}const o=Rd(n);return s.push(...o),X(n.errors,s)}const ie=class ie{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.VariableInstance);l(this,"writesValues",[]);l(this,"readsValue",null);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"internalCalls",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const b=D(e.parent);i=t.get(b)}const a=D(e.declaration),s=t.get(a),o=e.calledByEntry.map(b=>{const I=D(b);return t.get(I)}),u=e.calledBySuccess.map(b=>{const I=D(b);return t.get(I)}),p=e.calledByError.map(b=>{const I=D(b);return t.get(I)});let h=null;if(e.readsValue){const b=D(e.readsValue);h=t.get(b)}const m={id:e.id,version:1,type:r.VariableInstance,declaration:s.toReference(),calledByEntry:o,calledBySuccess:u,calledByError:p,errorCalls:[],successCalls:[],internalCalls:[],readsValue:h,inputs:[],outputs:[],writesValues:[],x:0,y:0,parent:i},T=R(m,t);return T.setParent(i),T.initChildren(),T}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0},declaration:{list:!1,types:[r.VariableDeclaration]}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];let i=JSON.parse(JSON.stringify(e));const a=ua(i,this);return i=a.modifiedData,t.push(...a.errors),e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
60
+ You shouldn't have to manually update a 'parent' property. The equivalent result is to change its value readers, value writters, or callers.`,issue:null})),{errors:t,modifiedData:i}}addSelfToProject(){return this.parent===this.project&&this.project.addVariableDeclaration(this),this.readsValue&&this.readsValue.addValueReader(this),this.writesValues.forEach(e=>{e.setValueWriter(this)}),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}get usedInputs(){return this.inputs.filter(e=>e.readsValue||e.dynamicArguments.length||e.defaultValue)}get unusedInputs(){return this.inputs.filter(e=>!e.readsValue&&!e.dynamicArguments.length&&!e.defaultValue)}get usedOutputs(){return this.outputs.filter(e=>e.writesValues.length)}get unusedOutputs(){return this.outputs.filter(e=>!e.writesValues.length)}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addValueReader(e){return this.writesValues.includes(e)?this:(this.writesValues.push(e),this)}removeValueReader(e){return this.writesValues=this.writesValues.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.dataType&&(this.dataType=R(this.initialData.dataType,this.project),this.dataType.setParent(this),this.dataType.initChildren()),ca.initWritesValues(this,this.parent),la.initReadsValue(this),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.internalCalls=this.initialData.internalCalls.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.inputs.push(...this.generateUnusedInputs()),this.outputs.push(...this.generateUnusedOutputs()),this)}setValueWriter(e){return this.readsValue=e,this}removeValueWriter(){return this.readsValue=null,this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this.sync(e),ha(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.readsValue&&(i.push(this.readsValue),this.readsValue.removeValueReader(this)),this.writesValues.forEach(s=>{i.push(s),s.readsValue=null}),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.internalCalls.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.dataType){const{affected:s,removed:o}=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){this.subscribe();const t=[];if(this.readsValue&&(t.push(this.readsValue),this.readsValue.addValueReader(this)),this.writesValues.forEach(i=>{t.push(i),i.setValueWriter(this)}),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.internalCalls.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.dataType){const{affected:i}=this.dataType.restore({seenEntities:e});t.push(...i)}return this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this,...((i=this.dataType)==null?void 0:i.toFlat(e))||[],...this.writesValues.flatMap(a=>a.toFlat(e)),...this.successCalls.flatMap(a=>a.toFlat(e)),...this.errorCalls.flatMap(a=>a.toFlat(e)),...this.inputs.flatMap(a=>a.toFlat(e)),...this.outputs.flatMap(a=>a.toFlat(e)),...this.internalCalls.flatMap(a=>a.toFlat(e))])}toFlatIds(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((i=this.dataType)==null?void 0:i.toFlatIds(e))||[],...this.writesValues.flatMap(a=>a.toFlatIds(e)),...this.successCalls.flatMap(a=>a.toFlatIds(e)),...this.errorCalls.flatMap(a=>a.toFlatIds(e)),...this.inputs.flatMap(a=>a.toFlatIds(e)),...this.outputs.flatMap(a=>a.toFlatIds(e)),...this.internalCalls.flatMap(a=>a.toFlatIds(e))])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,readsValue:((t=this.readsValue)==null?void 0:t.toReference())||null,writesValues:this.writesValues.map(i=>i.toJSON()),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),internalCalls:this.internalCalls.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),parent:this.parent.toReference(),x:this.x,y:this.y}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,x:this.x,y:this.y,dataType:((e=this.dataType)==null?void 0:e.toReference())||null,readsValue:((t=this.readsValue)==null?void 0:t.toReference())||null,writesValues:this.writesValues.map(i=>i.toReference()),inputs:this.inputs.map(i=>i.toReference()),outputs:this.outputs.map(i=>i.toReference()),successCalls:this.successCalls.map(i=>i.toReference()),errorCalls:this.errorCalls.map(i=>i.toReference()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),internalCalls:this.internalCalls.map(i=>i.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.dataType)==null?void 0:i.toFlatJSON(e))||[],...this.writesValues.flatMap(a=>a.toFlatJSON(e)),...this.successCalls.flatMap(a=>a.toFlatJSON(e)),...this.errorCalls.flatMap(a=>a.toFlatJSON(e)),...this.inputs.flatMap(a=>a.toFlatJSON(e)),...this.outputs.flatMap(a=>a.toFlatJSON(e)),...this.internalCalls.flatMap(a=>a.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,name:this.name,description:this.description,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.dataType)==null?void 0:i.toFlatGenerationTarget(e))||[],...this.writesValues.flatMap(a=>a.toFlatGenerationTarget(e)),...this.successCalls.flatMap(a=>a.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(a=>a.toFlatGenerationTarget(e)),...this.inputs.flatMap(a=>a.toFlatGenerationTarget(e)),...this.outputs.flatMap(a=>a.toFlatGenerationTarget(e)),...this.internalCalls.flatMap(a=>a.toFlatGenerationTarget(e))])}clearErrors(){var e;return this.errors=[],this.inputs.forEach(t=>t.clearErrors()),this.outputs.forEach(t=>t.clearErrors()),this.successCalls.forEach(t=>t.clearErrors()),this.errorCalls.forEach(t=>t.clearErrors()),this.internalCalls.forEach(t=>t.clearErrors()),(e=this.dataType)==null||e.clearErrors(),this}validate(){const e=o9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t,i;return[...this.errors,...((t=this.dataType)==null?void 0:t.getErrors())||[],...this.inputs.flatMap(a=>a.getErrors()),...this.internalCalls.flatMap(a=>a.getErrors()),...this.outputs.flatMap(a=>a.getErrors()),...((i=this.readsValue)==null?void 0:i.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e;return((e=this.dataType)==null?void 0:e.defaultValue)||null}clone(e){return new re(this.toJSON(),this.project)}addInternalCall(e){return this.internalCalls.find(t=>t===e)||this.internalCalls.push(e),this}createInstance(e=this.project,t={}){const i={id:t.id||$.UUID.uuid(),version:t.version||1,type:r.VariableInstance,parent:e.toReference(),successCalls:t.successCalls||[],errorCalls:t.errorCalls||[],inputs:t.inputs||[],outputs:t.outputs||[],writesValues:t.writesValues||[],internalCalls:t.internalCalls||[],readsValue:t.readsValue||null,calledByEntry:t.calledByEntry||[],calledBySuccess:t.calledBySuccess||[],calledByError:t.calledByError||[],declaration:this.toJSON(),x:0,y:0},a=R(i,this.project);return a.setParent(e),a.initChildren(),e===this.project&&this.project.addVariableInstance(a),a}generateUnusedInputs(){if(this.dataType)if(this.dataType.entity){if(this.dataType.entity.type===r.CustomEntity)return this.dataType.entity.properties.filter(i=>!this.inputs.find(a=>a.declaration===i)).map(i=>{const a={id:$.UUID.uuid(),version:1,type:r.InputMap,parent:this.toReference(),name:null,description:null,dynamicArguments:[],declaration:i,defaultValue:null,index:i.index,readsValue:null},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,s})}else return[];else return[];return[]}generateUnusedOutputs(){if(this.dataType)if(this.dataType.entity){if(this.dataType.entity.type===r.CustomEntity)return this.dataType.entity.properties.filter(i=>!this.outputs.find(a=>a.declaration===i)).map(i=>{const a={id:$.UUID.uuid(),version:1,type:r.OutputMap,parent:this.toReference(),declaration:i,index:i.index,writesValues:[]},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,s})}else return[];else return[];return[]}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}getDataType(){return this.dataType||null}};l(re,"MUTABLE_BASE_PROPERTIES",["name","description"]),l(re,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(re,"BASE_PROPERTIES",[...re.MUTABLE_BASE_PROPERTIES,...re.INMUTABLE_BASE_PROPERTIES]),l(re,"MUTABLE_META_PROPERTIES",[...re.MUTABLE_BASE_PROPERTIES,"x","y"]),l(re,"INMUTABLE_META_PROPERTIES",[...re.INMUTABLE_BASE_PROPERTIES]),l(re,"META_PROPERTIES",[...re.MUTABLE_META_PROPERTIES,...re.INMUTABLE_META_PROPERTIES]),l(re,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","readsValue"]),l(re,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","dataType"]),l(re,"UPSTREAM_PROPERTIES",[...re.MUTABLE_UPSTREAM_PROPERTIES,...re.INMUTABLE_UPSTREAM_PROPERTIES]),l(re,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues","inputs","outputs","successCalls","errorCalls","internalCalls"]),l(re,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(re,"DOWNSTREAM_PROPERTIES",[...re.MUTABLE_DOWNSTREAM_PROPERTIES,...re.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(re,"PROPERTIES",[...re.META_PROPERTIES,...re.UPSTREAM_PROPERTIES,...re.DOWNSTREAM_PROPERTIES]);let pr=re;function l9(n){const e=kU(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(u=>u.validate()),n.outputs.forEach(u=>u.validate()),n.internalCalls.forEach(u=>u.validate());const s=[...mn(n)];if(n.id==="exec-sequentially-result-variable-id"){const u=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(u.error)}const o=Rd(n);return s.push(...o),X(n.errors,s)}const ie=class ie{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.VariableInstance);l(this,"writesValues",[]);l(this,"readsValue",null);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"internalCalls",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const b=D(e.parent);i=t.get(b)}const a=D(e.declaration),s=t.get(a),o=e.calledByEntry.map(b=>{const I=D(b);return t.get(I)}),u=e.calledBySuccess.map(b=>{const I=D(b);return t.get(I)}),p=e.calledByError.map(b=>{const I=D(b);return t.get(I)});let h=null;if(e.readsValue){const b=D(e.readsValue);h=t.get(b)}const m={id:e.id,version:1,type:r.VariableInstance,declaration:s.toReference(),calledByEntry:o,calledBySuccess:u,calledByError:p,errorCalls:[],successCalls:[],internalCalls:[],readsValue:h,inputs:[],outputs:[],writesValues:[],x:0,y:0,parent:i},T=R(m,t);return T.setParent(i),T.initChildren(),T}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0},declaration:{list:!1,types:[r.VariableDeclaration]}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];let i=JSON.parse(JSON.stringify(e));const a=ua(i,this);return i=a.modifiedData,t.push(...a.errors),e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
61
61
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
62
62
  Specifically for variables, their scope is also calculated from their value readers and value writters.
63
- You shouldn't have to manually update a 'parent' property. The equivalent result is to change its value readers, value writters, or callers.`,issue:null})),{errors:t,modifiedData:i}}addSelfToProject(){return this.parent===this.project&&this.project.addVariableInstance(this),this.readsValue&&this.readsValue.addValueReader(this),this.writesValues.forEach(e=>{e.setValueWriter(this)}),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}get usedInputs(){return this.inputs.filter(e=>e.readsValue||e.dynamicArguments.length||e.defaultValue)}get unusedInputs(){return this.inputs.filter(e=>!e.readsValue&&!e.dynamicArguments.length&&!e.defaultValue)}get usedOutputs(){return this.outputs.filter(e=>e.writesValues.length)}get unusedOutputs(){return this.outputs.filter(e=>!e.writesValues.length)}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addValueReader(e){return this.writesValues.includes(e)?this:(this.writesValues.push(e),this)}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.declaration.type===r.GenericReference){const e=this.project.findSubscribedInstanceFromReference(this.initialData.declaration);if(!e)return this;this.declaration=e}else this.declaration=R(this.initialData.declaration,this.project),this.declaration.setParent(this.parent),this.declaration.initChildren();return ca.initWritesValues(this,this.parent),la.initReadsValue(this),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.internalCalls=this.initialData.internalCalls.reduce((e,t)=>{if(t.type===r.GenericReference){const i=this.project.findSubscribedInstanceFromReference(t);if(!i)return e;const a=i;return a.setParent(this),[...e,a]}else{const i=R(t,this.project);return i.setParent(this),i.initChildren(),[...e,i]}},[]),this.inputs.push(...this.generateUnusedInputs()),this.outputs.push(...this.generateUnusedOutputs()),this}setValueWriter(e){return this.readsValue=e,this}removeValueWriter(){return this.readsValue=null,this}removeValueReader(e){return this.writesValues=this.writesValues.filter(t=>t.id!==e.id),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this.sync(e),ha(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.readsValue&&(i.push(this.readsValue),this.readsValue.removeValueReader(this)),this.writesValues.forEach(s=>{i.push(s),s.readsValue=null}),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.internalCalls.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){this.subscribe();const t=[];return this.readsValue&&(t.push(this.readsValue),this.readsValue.addValueReader(this)),this.writesValues.forEach(i=>{t.push(i),i.setValueWriter(this)}),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.internalCalls.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.writesValues.flatMap(i=>i.toFlat(e)),...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.internalCalls.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.writesValues.flatMap(i=>i.toFlatIds(e)),...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.internalCalls.flatMap(i=>i.toFlatIds(e))])}toJSON(){var e;return{id:this.id,version:this.version,type:this.type,declaration:this.declaration.toReference(),readsValue:((e=this.readsValue)==null?void 0:e.toReference())||null,writesValues:this.writesValues.map(t=>t.toJSON()),inputs:this.inputs.map(t=>t.toJSON()),outputs:this.outputs.map(t=>t.toJSON()),successCalls:this.successCalls.map(t=>t.toJSON()),errorCalls:this.errorCalls.map(t=>t.toJSON()),internalCalls:this.internalCalls.map(t=>t.toJSON()),calledBySuccess:this.calledBySuccess.map(t=>t.toReference()),calledByError:this.calledByError.map(t=>t.toReference()),calledByEntry:this.calledByEntry.map(t=>t.toReference()),parent:this.parent.toReference(),x:this.x,y:this.y}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,declaration:((e=this.declaration)==null?void 0:e.toReference())||null,readsValue:((t=this.readsValue)==null?void 0:t.toReference())||null,writesValues:this.writesValues.map(i=>i.toReference()),inputs:this.inputs.map(i=>i.toReference()),outputs:this.outputs.map(i=>i.toReference()),successCalls:this.successCalls.map(i=>i.toReference()),errorCalls:this.errorCalls.map(i=>i.toReference()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),internalCalls:this.internalCalls.map(i=>i.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.declaration)==null?void 0:i.toFlatJSON(e))||[],...this.writesValues.flatMap(a=>a.toFlatJSON(e)),...this.successCalls.flatMap(a=>a.toFlatJSON(e)),...this.errorCalls.flatMap(a=>a.toFlatJSON(e)),...this.inputs.flatMap(a=>a.toFlatJSON(e)),...this.outputs.flatMap(a=>a.toFlatJSON(e)),...this.internalCalls.flatMap(a=>a.toFlatJSON(e)),...this.calledBy.flatMap(a=>a.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,declaration:this.declaration.id,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){var i,a;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.declaration)==null?void 0:i.toFlatGenerationTarget(e))||[],...((a=this.readsValue)==null?void 0:a.toFlatGenerationTarget(e))||[],...this.writesValues.flatMap(s=>s.toFlatGenerationTarget(e)),...this.successCalls.flatMap(s=>s.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(s=>s.toFlatGenerationTarget(e)),...this.inputs.flatMap(s=>s.toFlatGenerationTarget(e)),...this.outputs.flatMap(s=>s.toFlatGenerationTarget(e)),...this.internalCalls.flatMap(s=>s.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.inputs.forEach(e=>e.clearErrors()),this.outputs.forEach(e=>e.clearErrors()),this.successCalls.forEach(e=>e.clearErrors()),this.errorCalls.forEach(e=>e.clearErrors()),this.internalCalls.forEach(e=>e.clearErrors()),this}validate(){const e=s9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t;return[...this.errors,...this.inputs.flatMap(i=>i.getErrors()),...this.internalCalls.flatMap(i=>i.getErrors()),...this.outputs.flatMap(i=>i.getErrors()),...((t=this.readsValue)==null?void 0:t.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e,t;return((t=(e=this.declaration)==null?void 0:e.dataType)==null?void 0:t.defaultValue)||null}clone(e){return new ie(this.toJSON(),this.project)}addInternalCall(e){return this.internalCalls.find(t=>t===e)||this.internalCalls.push(e),this}setDeclaration(e){return this.declaration!==e&&(this.declaration=e),this}generateUnusedInputs(){if(this.declaration.dataType)if(this.declaration.dataType.entity){if(this.declaration.dataType.entity.type===r.CustomEntity)return this.declaration.dataType.entity.properties.filter(i=>!this.inputs.find(a=>a.declaration===i)).map(i=>{const a={id:$.UUID.uuid(),version:1,type:r.InputMap,parent:this.toReference(),name:null,description:null,dynamicArguments:[],declaration:i,defaultValue:null,index:i.index,readsValue:null},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,s})}else return[];else return[];return[]}generateUnusedOutputs(){if(this.declaration.dataType)if(this.declaration.dataType.entity){if(this.declaration.dataType.entity.type===r.CustomEntity)return this.declaration.dataType.entity.properties.filter(i=>!this.outputs.find(a=>a.declaration===i)).map(i=>{const a={id:$.UUID.uuid(),version:1,type:r.OutputMap,parent:this.toReference(),declaration:i,index:i.index,writesValues:[]},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,s})}else return[];else return[];return[]}getDataType(){var e;return((e=this.declaration)==null?void 0:e.getDataType())||null}};l(ie,"MUTABLE_BASE_PROPERTIES",[]),l(ie,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(ie,"BASE_PROPERTIES",[...ie.MUTABLE_BASE_PROPERTIES,...ie.INMUTABLE_BASE_PROPERTIES]),l(ie,"MUTABLE_META_PROPERTIES",[...ie.MUTABLE_BASE_PROPERTIES,"x","y"]),l(ie,"INMUTABLE_META_PROPERTIES",[...ie.INMUTABLE_BASE_PROPERTIES]),l(ie,"META_PROPERTIES",[...ie.MUTABLE_META_PROPERTIES,...ie.INMUTABLE_META_PROPERTIES]),l(ie,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","readsValue"]),l(ie,"INMUTABLE_UPSTREAM_PROPERTIES",["declaration","parent"]),l(ie,"UPSTREAM_PROPERTIES",[...ie.MUTABLE_UPSTREAM_PROPERTIES,...ie.INMUTABLE_UPSTREAM_PROPERTIES]),l(ie,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues","inputs","outputs","successCalls","errorCalls","internalCalls"]),l(ie,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ie,"DOWNSTREAM_PROPERTIES",[...ie.MUTABLE_DOWNSTREAM_PROPERTIES,...ie.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ie,"PROPERTIES",[...ie.META_PROPERTIES,...ie.UPSTREAM_PROPERTIES,...ie.DOWNSTREAM_PROPERTIES]);let hr=ie;function o9(n){var s;const e=L4(),t=n.toJSON();e.safeParse(t).success,(s=n.dataType)==null||s.validate();const a=[];if(n.id==="iterate-over-employee-list-continue-statement-employee-dto-output-decl-id"){const o=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(o.error)}return X(n.errors,a)}const ae=class ae{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"index");l(this,"required");l(this,"isError");l(this,"type",r.ReturnDeclaration);l(this,"dataType",null);l(this,"readsValue",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.name=e.name,this.description=e.description,this.required=e.required,this.isError=e.isError}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;if(e.readsValue){const p=D(e.readsValue);s=t.get(p)}const o={id:e.id,version:1,name:e.name,type:r.ReturnDeclaration,index:a.outputs.length,isError:!1,description:e.description,required:e.required,readsValue:s,dataType:null,parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){var u,p;let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.ReturnStatement,r.Search,r.BreakStatement,r.ContinueStatement]}},t),o=od(i,t);if(i=s.modifiedData,i.parent){const h=t.get(D(i.parent));if(h&&[r.BreakStatement,r.ContinueStatement].includes(h.type)){const m=h,T=m.parent,b=[...T.breakStatements.filter(B=>B.id!==h.id),...T.continueStatements.filter(B=>B.id!==h.id)];if(m.outputs.length)a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ReturnDeclaration}' with id '${i.id}' cannot be added to the parent entity of type '${m.type}' with id '${m.id}'. This '${m.type}' already has return declarations.
63
+ You shouldn't have to manually update a 'parent' property. The equivalent result is to change its value readers, value writters, or callers.`,issue:null})),{errors:t,modifiedData:i}}addSelfToProject(){return this.parent===this.project&&this.project.addVariableInstance(this),this.readsValue&&this.readsValue.addValueReader(this),this.writesValues.forEach(e=>{e.setValueWriter(this)}),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}get usedInputs(){return this.inputs.filter(e=>e.readsValue||e.dynamicArguments.length||e.defaultValue)}get unusedInputs(){return this.inputs.filter(e=>!e.readsValue&&!e.dynamicArguments.length&&!e.defaultValue)}get usedOutputs(){return this.outputs.filter(e=>e.writesValues.length)}get unusedOutputs(){return this.outputs.filter(e=>!e.writesValues.length)}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addValueReader(e){return this.writesValues.includes(e)?this:(this.writesValues.push(e),this)}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.declaration.type===r.GenericReference){const e=this.project.findSubscribedInstanceFromReference(this.initialData.declaration);if(!e)return this;this.declaration=e}else this.declaration=R(this.initialData.declaration,this.project),this.declaration.setParent(this.parent),this.declaration.initChildren();return ca.initWritesValues(this,this.parent),la.initReadsValue(this),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.internalCalls=this.initialData.internalCalls.reduce((e,t)=>{if(t.type===r.GenericReference){const i=this.project.findSubscribedInstanceFromReference(t);if(!i)return e;const a=i;return a.setParent(this),[...e,a]}else{const i=R(t,this.project);return i.setParent(this),i.initChildren(),[...e,i]}},[]),this.inputs.push(...this.generateUnusedInputs()),this.outputs.push(...this.generateUnusedOutputs()),this}setValueWriter(e){return this.readsValue=e,this}removeValueWriter(){return this.readsValue=null,this}removeValueReader(e){return this.writesValues=this.writesValues.filter(t=>t.id!==e.id),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this.sync(e),ha(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.readsValue&&(i.push(this.readsValue),this.readsValue.removeValueReader(this)),this.writesValues.forEach(s=>{i.push(s),s.readsValue=null}),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.internalCalls.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){this.subscribe();const t=[];return this.readsValue&&(t.push(this.readsValue),this.readsValue.addValueReader(this)),this.writesValues.forEach(i=>{t.push(i),i.setValueWriter(this)}),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.internalCalls.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.writesValues.flatMap(i=>i.toFlat(e)),...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.internalCalls.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.writesValues.flatMap(i=>i.toFlatIds(e)),...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.internalCalls.flatMap(i=>i.toFlatIds(e))])}toJSON(){var e;return{id:this.id,version:this.version,type:this.type,declaration:this.declaration.toReference(),readsValue:((e=this.readsValue)==null?void 0:e.toReference())||null,writesValues:this.writesValues.map(t=>t.toJSON()),inputs:this.inputs.map(t=>t.toJSON()),outputs:this.outputs.map(t=>t.toJSON()),successCalls:this.successCalls.map(t=>t.toJSON()),errorCalls:this.errorCalls.map(t=>t.toJSON()),internalCalls:this.internalCalls.map(t=>t.toJSON()),calledBySuccess:this.calledBySuccess.map(t=>t.toReference()),calledByError:this.calledByError.map(t=>t.toReference()),calledByEntry:this.calledByEntry.map(t=>t.toReference()),parent:this.parent.toReference(),x:this.x,y:this.y}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,declaration:((e=this.declaration)==null?void 0:e.toReference())||null,readsValue:((t=this.readsValue)==null?void 0:t.toReference())||null,writesValues:this.writesValues.map(i=>i.toReference()),inputs:this.inputs.map(i=>i.toReference()),outputs:this.outputs.map(i=>i.toReference()),successCalls:this.successCalls.map(i=>i.toReference()),errorCalls:this.errorCalls.map(i=>i.toReference()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),internalCalls:this.internalCalls.map(i=>i.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.declaration)==null?void 0:i.toFlatJSON(e))||[],...this.writesValues.flatMap(a=>a.toFlatJSON(e)),...this.successCalls.flatMap(a=>a.toFlatJSON(e)),...this.errorCalls.flatMap(a=>a.toFlatJSON(e)),...this.inputs.flatMap(a=>a.toFlatJSON(e)),...this.outputs.flatMap(a=>a.toFlatJSON(e)),...this.internalCalls.flatMap(a=>a.toFlatJSON(e)),...this.calledBy.flatMap(a=>a.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,type:this.type,declaration:this.declaration.id,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){var i,a;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.declaration)==null?void 0:i.toFlatGenerationTarget(e))||[],...((a=this.readsValue)==null?void 0:a.toFlatGenerationTarget(e))||[],...this.writesValues.flatMap(s=>s.toFlatGenerationTarget(e)),...this.successCalls.flatMap(s=>s.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(s=>s.toFlatGenerationTarget(e)),...this.inputs.flatMap(s=>s.toFlatGenerationTarget(e)),...this.outputs.flatMap(s=>s.toFlatGenerationTarget(e)),...this.internalCalls.flatMap(s=>s.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.inputs.forEach(e=>e.clearErrors()),this.outputs.forEach(e=>e.clearErrors()),this.successCalls.forEach(e=>e.clearErrors()),this.errorCalls.forEach(e=>e.clearErrors()),this.internalCalls.forEach(e=>e.clearErrors()),this}validate(){const e=l9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t;return[...this.errors,...this.inputs.flatMap(i=>i.getErrors()),...this.internalCalls.flatMap(i=>i.getErrors()),...this.outputs.flatMap(i=>i.getErrors()),...((t=this.readsValue)==null?void 0:t.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e,t;return((t=(e=this.declaration)==null?void 0:e.dataType)==null?void 0:t.defaultValue)||null}clone(e){return new ie(this.toJSON(),this.project)}addInternalCall(e){return this.internalCalls.find(t=>t===e)||this.internalCalls.push(e),this}setDeclaration(e){return this.declaration!==e&&(this.declaration=e),this}generateUnusedInputs(){if(this.declaration.dataType)if(this.declaration.dataType.entity){if(this.declaration.dataType.entity.type===r.CustomEntity)return this.declaration.dataType.entity.properties.filter(i=>!this.inputs.find(a=>a.declaration===i)).map(i=>{const a={id:$.UUID.uuid(),version:1,type:r.InputMap,parent:this.toReference(),name:null,description:null,dynamicArguments:[],declaration:i,defaultValue:null,index:i.index,readsValue:null},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,s})}else return[];else return[];return[]}generateUnusedOutputs(){if(this.declaration.dataType)if(this.declaration.dataType.entity){if(this.declaration.dataType.entity.type===r.CustomEntity)return this.declaration.dataType.entity.properties.filter(i=>!this.outputs.find(a=>a.declaration===i)).map(i=>{const a={id:$.UUID.uuid(),version:1,type:r.OutputMap,parent:this.toReference(),declaration:i,index:i.index,writesValues:[]},s=R(a,this.project);return s.setParent(this),s.initChildren(),s.suggestion=!0,s})}else return[];else return[];return[]}getDataType(){var e;return((e=this.declaration)==null?void 0:e.getDataType())||null}};l(ie,"MUTABLE_BASE_PROPERTIES",[]),l(ie,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(ie,"BASE_PROPERTIES",[...ie.MUTABLE_BASE_PROPERTIES,...ie.INMUTABLE_BASE_PROPERTIES]),l(ie,"MUTABLE_META_PROPERTIES",[...ie.MUTABLE_BASE_PROPERTIES,"x","y"]),l(ie,"INMUTABLE_META_PROPERTIES",[...ie.INMUTABLE_BASE_PROPERTIES]),l(ie,"META_PROPERTIES",[...ie.MUTABLE_META_PROPERTIES,...ie.INMUTABLE_META_PROPERTIES]),l(ie,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","readsValue"]),l(ie,"INMUTABLE_UPSTREAM_PROPERTIES",["declaration","parent"]),l(ie,"UPSTREAM_PROPERTIES",[...ie.MUTABLE_UPSTREAM_PROPERTIES,...ie.INMUTABLE_UPSTREAM_PROPERTIES]),l(ie,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues","inputs","outputs","successCalls","errorCalls","internalCalls"]),l(ie,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ie,"DOWNSTREAM_PROPERTIES",[...ie.MUTABLE_DOWNSTREAM_PROPERTIES,...ie.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ie,"PROPERTIES",[...ie.META_PROPERTIES,...ie.UPSTREAM_PROPERTIES,...ie.DOWNSTREAM_PROPERTIES]);let yr=ie;function c9(n){var s;const e=F4(),t=n.toJSON();e.safeParse(t).success,(s=n.dataType)==null||s.validate();const a=[];if(n.id==="iterate-over-employee-list-continue-statement-employee-dto-output-decl-id"){const o=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(o.error)}return X(n.errors,a)}const ae=class ae{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"index");l(this,"required");l(this,"isError");l(this,"type",r.ReturnDeclaration);l(this,"dataType",null);l(this,"readsValue",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.name=e.name,this.description=e.description,this.required=e.required,this.isError=e.isError}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;if(e.readsValue){const p=D(e.readsValue);s=t.get(p)}const o={id:e.id,version:1,name:e.name,type:r.ReturnDeclaration,index:a.outputs.length,isError:!1,description:e.description,required:e.required,readsValue:s,dataType:null,parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){var u,p;let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.ReturnStatement,r.Search,r.BreakStatement,r.ContinueStatement]}},t),o=od(i,t);if(i=s.modifiedData,i.parent){const h=t.get(D(i.parent));if(h&&[r.BreakStatement,r.ContinueStatement].includes(h.type)){const m=h,T=m.parent,b=[...T.breakStatements.filter(B=>B.id!==h.id),...T.continueStatements.filter(B=>B.id!==h.id)];if(m.outputs.length)a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ReturnDeclaration}' with id '${i.id}' cannot be added to the parent entity of type '${m.type}' with id '${m.id}'. This '${m.type}' already has return declarations.
64
64
  ${yd}`,issue:null}));else{const B=(p=(u=b[0])==null?void 0:u.outputs[0])==null?void 0:p.name;B!==i.name&&a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ReturnDeclaration}' with id '${i.id}' cannot be added to the parent entity of type '${m.type}' with id '${m.id}'. This new 'return-declaration' doesn't have the same name "${B}" as the return declarations on the other statements in the same scope.
65
- ${yd}`,issue:null}))}}else if(h&&h.type===r.ReturnStatement){const m=h.parent;if(m&&$e.includes(m.type)){const T=m.implements;if(T)if(T.returnsType===L.Fixed){const b=T.fixedReturns.find(Le=>Le.name===i.name),I=T.fixedReturns.filter(Le=>!h.outputs.find(Hg=>Hg.type===r.ReturnDeclaration&&Hg.name===Le.name)),B=h.outputs.filter(Le=>Le.type===r.ReturnDeclaration),G=B.find(Le=>Le.name===i.name),W=B.length?`The parent entity already implements the following return declarations: ${N(B.map(Le=>`'${Le.id}' (${Le.name})`),", "," and ")}.`:"The parent entity does not yet have any implemented return declarations.",xt=I.length?`The parent entity is still missing the following returns in the implementation: ${N(I.map(Le=>`'${Le.id}' (${Le.name})`),", "," and ")}.`:"The parent entity has all the returns it needs implemented.";b?G&&a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ReturnDeclaration}' with id '${i.id}' should not exist in a parent entity of type '${h.type}' with id '${h.id}' that implements a ${r.ActionDescriptor} with fixed outputs.
65
+ ${yd}`,issue:null}))}}else if(h&&h.type===r.ReturnStatement){const m=h.parent;if(m&&$e.includes(m.type)){const T=m.implements;if(T)if(T.returnsType===L.Fixed){const b=T.fixedReturns.find(Le=>Le.name===i.name),I=T.fixedReturns.filter(Le=>!h.outputs.find(Yg=>Yg.type===r.ReturnDeclaration&&Yg.name===Le.name)),B=h.outputs.filter(Le=>Le.type===r.ReturnDeclaration),G=B.find(Le=>Le.name===i.name),W=B.length?`The parent entity already implements the following return declarations: ${N(B.map(Le=>`'${Le.id}' (${Le.name})`),", "," and ")}.`:"The parent entity does not yet have any implemented return declarations.",xt=I.length?`The parent entity is still missing the following returns in the implementation: ${N(I.map(Le=>`'${Le.id}' (${Le.name})`),", "," and ")}.`:"The parent entity has all the returns it needs implemented.";b?G&&a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ReturnDeclaration}' with id '${i.id}' should not exist in a parent entity of type '${h.type}' with id '${h.id}' that implements a ${r.ActionDescriptor} with fixed outputs.
66
66
  Adding a new return would make the implementation invalid. An return with the same name already exists in the parent entity.
67
67
  ${W}
68
68
  ${xt}`,issue:null})):a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ReturnDeclaration}' with id '${i.id}' should not exist in a parent entity of type '${h.type}' with id '${h.id}' that implements a ${r.ActionDescriptor} with fixed outputs.
@@ -70,9 +70,9 @@ Adding a new return would make the implementation invalid. There are no returns
70
70
  ${W}
71
71
  ${xt}`,issue:null}))}else T.returnsType===L.Dynamic||T.returnsType===L.None&&a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ReturnDeclaration}' with id '${i.id}' should not exist in a parent entity of type '${h.type}' with id '${h.id}' that implements a ${r.ActionDescriptor} with no outputs.
72
72
  Adding a new return would make the implementation invalid.`,issue:null}))}}}return a.push(...s.errors,...o,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];let i=JSON.parse(JSON.stringify(e));const a=ua(i,this);return i=a.modifiedData,t.push(...a.errors),i.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
73
- This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:i}}addSelfToProject(){var e;return this.parent.addOutputDeclaration(this),(e=this.readsValue)==null||e.addValueReader(this),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.dataType&&(this.dataType=R(this.initialData.dataType,this.project),this.dataType.setParent(this),this.dataType.initChildren()),la.initReadsValue(this),this)}setValueWriter(e){return this.readsValue=e,this}removeValueWriter(){return this.readsValue=null,this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this.name=e.name||this.name,this.description=e.description||this.description,this.required=e.required||this.required,this.isError=e.isError||this.isError,this}async load(){return this}async create(){return this}async update(e){return this.sync(e),ha(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.dataType){const s=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.dataType){const i=this.dataType.restore({seenEntities:e});t.push(...i.affected)}return{affected:[],self:this}}toFlat(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this,...((i=this.dataType)==null?void 0:i.toFlat(e))||[]])}toFlatIds(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((i=this.dataType)==null?void 0:i.toFlatIds(e))||[]])}toJSON(){var e,t;return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,index:this.index,required:this.required,isError:this.isError,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,readsValue:((t=this.readsValue)==null?void 0:t.toReference())||null,parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,index:this.index,required:this.required,isError:this.isError,readsValue:((e=this.readsValue)==null?void 0:e.toReference())||null,dataType:((t=this.dataType)==null?void 0:t.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.dataType)==null?void 0:i.toFlatJSON(e))||[]])}toGenerationTarget(){var e;return{id:this.id,name:this.name,description:this.description,type:this.type,isError:this.isError,readsValue:(e=this.readsValue)==null?void 0:e.id,required:this.required,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){var i,a;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.readsValue)==null?void 0:i.toFlatGenerationTarget(e))||[],...((a=this.dataType)==null?void 0:a.toFlatGenerationTarget(e))||[]])}clearErrors(){var e;return this.errors=[],(e=this.dataType)==null||e.clearErrors(),this}validate(){const e=o9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t;return[...this.errors,...((t=this.dataType)==null?void 0:t.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e;return((e=this.dataType)==null?void 0:e.defaultValue)||null}clone(e){return new ae(this.toJSON(),this.project)}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}getDataType(){return this.dataType}};l(ae,"MUTABLE_BASE_PROPERTIES",["name","description","required","isError"]),l(ae,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(ae,"BASE_PROPERTIES",[...ae.MUTABLE_BASE_PROPERTIES,...ae.INMUTABLE_BASE_PROPERTIES]),l(ae,"MUTABLE_META_PROPERTIES",[...ae.MUTABLE_BASE_PROPERTIES,"index"]),l(ae,"INMUTABLE_META_PROPERTIES",[...ae.INMUTABLE_BASE_PROPERTIES]),l(ae,"META_PROPERTIES",[...ae.MUTABLE_META_PROPERTIES,...ae.INMUTABLE_META_PROPERTIES]),l(ae,"MUTABLE_UPSTREAM_PROPERTIES",["readsValue"]),l(ae,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","dataType"]),l(ae,"UPSTREAM_PROPERTIES",[...ae.MUTABLE_UPSTREAM_PROPERTIES,...ae.INMUTABLE_UPSTREAM_PROPERTIES]),l(ae,"MUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ae,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ae,"DOWNSTREAM_PROPERTIES",[...ae.MUTABLE_DOWNSTREAM_PROPERTIES,...ae.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ae,"PROPERTIES",[...ae.META_PROPERTIES,...ae.UPSTREAM_PROPERTIES,...ae.DOWNSTREAM_PROPERTIES]);let Ot=ae;function l9(n){var o;const e=M4(),t=n.toJSON();e.safeParse(t).success,n.inputsDeclarations.forEach(u=>u.validate()),n.inputs.forEach(u=>u.validate()),n.outputsDeclarations.forEach(u=>u.validate()),n.outputs.forEach(u=>u.validate()),(o=n.error)==null||o.validate();const s=[...mn(n)];if(n.id==="search-person-by-id-id"){const u=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(u.error)}return X(n.errors,s)}const De=class De{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"query");l(this,"type",r.Search);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"inputsDeclarations",[]);l(this,"inputs",[]);l(this,"outputsDeclarations",[]);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"error",null);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y,this.name=e.name,this.query=e.query,this.description=e.description}static fromGenerationTarget(e,t){let i=t;if(e.parent){const h=D(e.parent);i=t.get(h)}const a=e.calledByEntry.map(h=>{const m=D(h);return t.get(m)}),s=e.calledBySuccess.map(h=>{const m=D(h);return t.get(m)}),o=e.calledByError.map(h=>{const m=D(h);return t.get(m)}),u={id:e.id,version:1,type:r.Search,name:e.name,description:e.description,query:e.query,calledByEntry:a,calledBySuccess:s,calledByError:o,errorCalls:[],successCalls:[],inputsDeclarations:[],inputs:[],outputsDeclarations:[],outputs:[],error:null,x:0,y:0,parent:i},p=R(u,t);return p.setParent(i),p.initChildren(),p}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
73
+ This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:i}}addSelfToProject(){var e;return this.parent.addOutputDeclaration(this),(e=this.readsValue)==null||e.addValueReader(this),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.dataType&&(this.dataType=R(this.initialData.dataType,this.project),this.dataType.setParent(this),this.dataType.initChildren()),la.initReadsValue(this),this)}setValueWriter(e){return this.readsValue=e,this}removeValueWriter(){return this.readsValue=null,this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this.name=e.name||this.name,this.description=e.description||this.description,this.required=e.required||this.required,this.isError=e.isError||this.isError,this}async load(){return this}async create(){return this}async update(e){return this.sync(e),ha(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.dataType){const s=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.dataType){const i=this.dataType.restore({seenEntities:e});t.push(...i.affected)}return{affected:[],self:this}}toFlat(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this,...((i=this.dataType)==null?void 0:i.toFlat(e))||[]])}toFlatIds(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.id,...((i=this.dataType)==null?void 0:i.toFlatIds(e))||[]])}toJSON(){var e,t;return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,index:this.index,required:this.required,isError:this.isError,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,readsValue:((t=this.readsValue)==null?void 0:t.toReference())||null,parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,index:this.index,required:this.required,isError:this.isError,readsValue:((e=this.readsValue)==null?void 0:e.toReference())||null,dataType:((t=this.dataType)==null?void 0:t.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...((i=this.dataType)==null?void 0:i.toFlatJSON(e))||[]])}toGenerationTarget(){var e;return{id:this.id,name:this.name,description:this.description,type:this.type,isError:this.isError,readsValue:(e=this.readsValue)==null?void 0:e.id,required:this.required,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){var i,a;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...((i=this.readsValue)==null?void 0:i.toFlatGenerationTarget(e))||[],...((a=this.dataType)==null?void 0:a.toFlatGenerationTarget(e))||[]])}clearErrors(){var e;return this.errors=[],(e=this.dataType)==null||e.clearErrors(),this}validate(){const e=c9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t;return[...this.errors,...((t=this.dataType)==null?void 0:t.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e;return((e=this.dataType)==null?void 0:e.defaultValue)||null}clone(e){return new ae(this.toJSON(),this.project)}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}getDataType(){return this.dataType}};l(ae,"MUTABLE_BASE_PROPERTIES",["name","description","required","isError"]),l(ae,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(ae,"BASE_PROPERTIES",[...ae.MUTABLE_BASE_PROPERTIES,...ae.INMUTABLE_BASE_PROPERTIES]),l(ae,"MUTABLE_META_PROPERTIES",[...ae.MUTABLE_BASE_PROPERTIES,"index"]),l(ae,"INMUTABLE_META_PROPERTIES",[...ae.INMUTABLE_BASE_PROPERTIES]),l(ae,"META_PROPERTIES",[...ae.MUTABLE_META_PROPERTIES,...ae.INMUTABLE_META_PROPERTIES]),l(ae,"MUTABLE_UPSTREAM_PROPERTIES",["readsValue"]),l(ae,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","dataType"]),l(ae,"UPSTREAM_PROPERTIES",[...ae.MUTABLE_UPSTREAM_PROPERTIES,...ae.INMUTABLE_UPSTREAM_PROPERTIES]),l(ae,"MUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ae,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ae,"DOWNSTREAM_PROPERTIES",[...ae.MUTABLE_DOWNSTREAM_PROPERTIES,...ae.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ae,"PROPERTIES",[...ae.META_PROPERTIES,...ae.UPSTREAM_PROPERTIES,...ae.DOWNSTREAM_PROPERTIES]);let Ot=ae;function d9(n){var o;const e=$4(),t=n.toJSON();e.safeParse(t).success,n.inputsDeclarations.forEach(u=>u.validate()),n.inputs.forEach(u=>u.validate()),n.outputsDeclarations.forEach(u=>u.validate()),n.outputs.forEach(u=>u.validate()),(o=n.error)==null||o.validate();const s=[...mn(n)];if(n.id==="search-person-by-id-id"){const u=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});s.push(u.error)}return X(n.errors,s)}const De=class De{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"query");l(this,"type",r.Search);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"inputsDeclarations",[]);l(this,"inputs",[]);l(this,"outputsDeclarations",[]);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"error",null);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y,this.name=e.name,this.query=e.query,this.description=e.description}static fromGenerationTarget(e,t){let i=t;if(e.parent){const h=D(e.parent);i=t.get(h)}const a=e.calledByEntry.map(h=>{const m=D(h);return t.get(m)}),s=e.calledBySuccess.map(h=>{const m=D(h);return t.get(m)}),o=e.calledByError.map(h=>{const m=D(h);return t.get(m)}),u={id:e.id,version:1,type:r.Search,name:e.name,description:e.description,query:e.query,calledByEntry:a,calledBySuccess:s,calledByError:o,errorCalls:[],successCalls:[],inputsDeclarations:[],inputs:[],outputsDeclarations:[],outputs:[],error:null,x:0,y:0,parent:i},p=R(u,t);return p.setParent(i),p.initChildren(),p}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
74
74
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
75
- You shouldn't have to manually update a 'parent' property. The equivalent result is to change its callers, the value writters of its inputs, or the value readers of its outputs.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent===this.project&&this.project.addSearch(this),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(a=>a.id===e.id);t>-1&&this.inputs.splice(t,1);const i=this.inputsDeclarations.findIndex(a=>a.id===e.declaration.id);return i>-1&&this.inputsDeclarations.splice(i,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addInputDeclaration(e){return this.inputsDeclarations.includes(e)?this:(this.inputsDeclarations.push(e),this)}removeInputDeclaration(e){const t=this.inputsDeclarations.findIndex(i=>i.id===e.id);return t>-1&&this.inputsDeclarations.splice(t,1),this}addOutputDeclaration(e){return this.outputsDeclarations.includes(e)?this:(this.outputsDeclarations.push(e),this)}removeOutputDeclaration(e){const t=this.outputsDeclarations.findIndex(i=>i.id===e.id);return t>-1&&this.outputsDeclarations.splice(t,1),this}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputsDeclarations=this.initialData.inputsDeclarations.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputsDeclarations=this.initialData.outputsDeclarations.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this.name=e.name||this.name,this.query=e.query||this.query,this.description=e.description||this.description,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.inputsDeclarations.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputsDeclarations.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.error){const{affected:s,removed:o}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputsDeclarations.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputsDeclarations.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.inputsDeclarations.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.outputsDeclarations.flatMap(i=>i.toFlat(e)),...this.calledBy.flatMap(i=>i.toFlat(e)),...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.inputsDeclarations.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.outputsDeclarations.flatMap(i=>i.toFlatIds(e)),...this.calledBy.flatMap(i=>i.toFlatIds(e)),...this.error?this.error.toFlatIds(e):[]])}toJSON(){var e;return{id:this.id,version:this.version,type:this.type,name:this.name,query:this.query,description:this.description,x:this.x,y:this.y,successCalls:this.successCalls.map(t=>t.toJSON()),errorCalls:this.errorCalls.map(t=>t.toJSON()),calledBySuccess:this.calledBySuccess.map(t=>t.toReference()),calledByError:this.calledByError.map(t=>t.toReference()),calledByEntry:this.calledByEntry.map(t=>t.toReference()),inputsDeclarations:this.inputsDeclarations.map(t=>t.toJSON()),inputs:this.inputs.map(t=>t.toJSON()),outputsDeclarations:this.outputsDeclarations.map(t=>t.toJSON()),outputs:this.outputs.map(t=>t.toJSON()),parent:this.parent.toReference(),error:((e=this.error)==null?void 0:e.toJSON())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,query:this.query,x:this.x,y:this.y,inputs:this.inputs.map(e=>e.toReference()),inputsDeclarations:this.inputsDeclarations.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),outputsDeclarations:this.outputsDeclarations.map(e=>e.toReference()),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.inputsDeclarations.flatMap(i=>i.toFlatJSON(e)),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.outputsDeclarations.flatMap(i=>i.toFlatJSON(e)),...this.calledBy.flatMap(i=>i.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,name:this.name,description:this.description,type:this.type,query:this.query,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputsDeclarations.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputsDeclarations.flatMap(i=>i.toFlatGenerationTarget(e)),...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.inputsDeclarations.forEach(t=>t.clearErrors()),this.inputs.forEach(t=>t.clearErrors()),this.outputs.forEach(t=>t.clearErrors()),this.successCalls.forEach(t=>t.clearErrors()),this.errorCalls.forEach(t=>t.clearErrors()),(e=this.error)==null||e.clearErrors(),this}validate(){const e=l9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputsDeclarations.flatMap(t=>t.getErrors()),...this.inputs.flatMap(t=>t.getErrors()),...this.outputsDeclarations.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.error?this.error.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new De(this.toJSON(),this.project)}};l(De,"MUTABLE_BASE_PROPERTIES",["name","description","query"]),l(De,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(De,"BASE_PROPERTIES",[...De.MUTABLE_BASE_PROPERTIES,...De.INMUTABLE_BASE_PROPERTIES]),l(De,"MUTABLE_META_PROPERTIES",[...De.MUTABLE_BASE_PROPERTIES,"x","y"]),l(De,"INMUTABLE_META_PROPERTIES",[...De.INMUTABLE_BASE_PROPERTIES]),l(De,"META_PROPERTIES",[...De.MUTABLE_META_PROPERTIES,...De.INMUTABLE_META_PROPERTIES]),l(De,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(De,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(De,"UPSTREAM_PROPERTIES",[...De.MUTABLE_UPSTREAM_PROPERTIES,...De.INMUTABLE_UPSTREAM_PROPERTIES]),l(De,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","inputsDeclarations","inputs","outputsDeclarations","outputs","error"]),l(De,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(De,"DOWNSTREAM_PROPERTIES",[...De.MUTABLE_DOWNSTREAM_PROPERTIES,...De.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(De,"PROPERTIES",[...Ot.META_PROPERTIES,...Ot.UPSTREAM_PROPERTIES,...Ot.DOWNSTREAM_PROPERTIES]);let fr=De;function c9(n){const e=WU(),t=n.toJSON();e.safeParse(t).success,n.functions.forEach(s=>s.validate()),n.events.forEach(s=>s.validate());const a=[];return X(n.errors,a)}const Te=class Te{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"type",r.InstalledProject);l(this,"implements");l(this,"functions",[]);l(this,"events",[]);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.x=e.x,this.y=e.y,this.implements=e.implements}static fromGenerationTarget(e,t){const i=t,a={id:e.id,version:1,name:e.name,type:r.InstalledProject,description:e.description,functions:[],events:[],implements:{entityId:e.implements,entityType:r.Project,type:r.GenericReference,id:$.UUID.uuid()},x:0,y:0,parent:i},s=R(a,t);return s.setParent(i),s.initChildren(),s}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[];return a.push(...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on an installed project, must be the root project as it is a globally declared entity.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.functions=this.initialData.functions.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.events=this.initialData.events.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.functions.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!1,seenEntities:t});i.push(...o),a.push(...u)}),this.events.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!1,seenEntities:t});i.push(...o),a.push(...u)}),{affected:[],removed:[]})}restore({seenEntities:e}={seenEntities:new Set}){return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.functions.forEach(t=>{t.restore({seenEntities:e})}),this.events.forEach(t=>{t.restore({seenEntities:e})}),{affected:[],self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.functions.flatMap(i=>i.toFlat(e)),...this.events.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.functions.flatMap(i=>i.toFlatIds(e)),...this.events.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,implements:this.implements,functions:this.functions.map(e=>e.toJSON()),events:this.events.map(e=>e.toJSON()),parent:this.parent.toReference(),x:this.x,y:this.y}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,x:this.x,y:this.y,implements:this.implements,functions:this.functions.map(e=>e.toReference()),events:this.events.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.functions.flatMap(i=>i.toFlatJSON(e)),...this.events.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,name:this.name,description:this.description,type:this.type,implements:this.implements.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.functions.flatMap(i=>i.toFlatGenerationTarget(e)),...this.events.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.functions.forEach(e=>e.clearErrors()),this.events.forEach(e=>e.clearErrors()),this}validate(){const e=c9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.functions.flatMap(t=>t.getErrors()),...this.events.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new Te(this.toJSON(),this.project)}};l(Te,"MUTABLE_BASE_PROPERTIES",[]),l(Te,"INMUTABLE_BASE_PROPERTIES",["id","version","name","description","type"]),l(Te,"BASE_PROPERTIES",[...Te.MUTABLE_BASE_PROPERTIES,...Te.INMUTABLE_BASE_PROPERTIES]),l(Te,"MUTABLE_META_PROPERTIES",["x","y"]),l(Te,"INMUTABLE_META_PROPERTIES",[...Te.INMUTABLE_BASE_PROPERTIES]),l(Te,"META_PROPERTIES",[...Te.MUTABLE_META_PROPERTIES,...Te.INMUTABLE_META_PROPERTIES]),l(Te,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(Te,"INMUTABLE_UPSTREAM_PROPERTIES",["implements","parent"]),l(Te,"UPSTREAM_PROPERTIES",[...Te.MUTABLE_UPSTREAM_PROPERTIES,...Te.INMUTABLE_UPSTREAM_PROPERTIES]),l(Te,"MUTABLE_DOWNSTREAM_PROPERTIES",["functions","events"]),l(Te,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(Te,"DOWNSTREAM_PROPERTIES",[...Te.MUTABLE_DOWNSTREAM_PROPERTIES,...Te.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(Te,"PROPERTIES",[...Te.META_PROPERTIES,...Te.UPSTREAM_PROPERTIES,...Te.DOWNSTREAM_PROPERTIES]);let mr=Te;function d9(n){var u;const e=iU(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(p=>p.validate()),n.outputs.forEach(p=>p.validate()),(u=n.error)==null||u.validate();const a=mn(n),s=u9(n),o=[...a,...s];return X(n.errors,o)}function u9(n){const e=[],t=Zs(n.parent),i=t==null?void 0:t.entity;if(!i)e.push(k({id:`${n.id}--${v.InternalCallParentMissingDataType}`,code:v.InternalCallParentMissingDataType,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", belongs to a variable whose data type entity doesn't contain its declaration method (function-declaration) its id "${n.declaration}".`,issue:null,entity:n}).error);else if(![r.CustomEntity,r.BuiltInBaseEntity,r.PrimitiveEntity].includes(i.type))e.push(k({id:`${n.id}--${v.InternalCallParentDeclarationEntityInvalidType}`,code:v.InternalCallParentDeclarationEntityInvalidType,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", belongs to a variable whose data type 'entity' is not a custom entity, built-in base entity or primitive entity.
75
+ You shouldn't have to manually update a 'parent' property. The equivalent result is to change its callers, the value writters of its inputs, or the value readers of its outputs.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent===this.project&&this.project.addSearch(this),this.successCalls.forEach(e=>{e.addSuccessCaller(this)}),this.errorCalls.forEach(e=>{e.addErrorCaller(this)}),this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(a=>a.id===e.id);t>-1&&this.inputs.splice(t,1);const i=this.inputsDeclarations.findIndex(a=>a.id===e.declaration.id);return i>-1&&this.inputsDeclarations.splice(i,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addInputDeclaration(e){return this.inputsDeclarations.includes(e)?this:(this.inputsDeclarations.push(e),this)}removeInputDeclaration(e){const t=this.inputsDeclarations.findIndex(i=>i.id===e.id);return t>-1&&this.inputsDeclarations.splice(t,1),this}addOutputDeclaration(e){return this.outputsDeclarations.includes(e)?this:(this.outputsDeclarations.push(e),this)}removeOutputDeclaration(e){const t=this.outputsDeclarations.findIndex(i=>i.id===e.id);return t>-1&&this.outputsDeclarations.splice(t,1),this}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputsDeclarations=this.initialData.inputsDeclarations.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputsDeclarations=this.initialData.outputsDeclarations.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this.name=e.name||this.name,this.query=e.query||this.query,this.description=e.description||this.description,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.inputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.inputsDeclarations.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.outputsDeclarations.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.error){const{affected:s,removed:o}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.successCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),this.errorCalls.forEach(s=>{i.push(s),s.removeCaller(this)}),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.inputsDeclarations.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputsDeclarations.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.inputsDeclarations.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.outputsDeclarations.flatMap(i=>i.toFlat(e)),...this.calledBy.flatMap(i=>i.toFlat(e)),...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.inputsDeclarations.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.outputsDeclarations.flatMap(i=>i.toFlatIds(e)),...this.calledBy.flatMap(i=>i.toFlatIds(e)),...this.error?this.error.toFlatIds(e):[]])}toJSON(){var e;return{id:this.id,version:this.version,type:this.type,name:this.name,query:this.query,description:this.description,x:this.x,y:this.y,successCalls:this.successCalls.map(t=>t.toJSON()),errorCalls:this.errorCalls.map(t=>t.toJSON()),calledBySuccess:this.calledBySuccess.map(t=>t.toReference()),calledByError:this.calledByError.map(t=>t.toReference()),calledByEntry:this.calledByEntry.map(t=>t.toReference()),inputsDeclarations:this.inputsDeclarations.map(t=>t.toJSON()),inputs:this.inputs.map(t=>t.toJSON()),outputsDeclarations:this.outputsDeclarations.map(t=>t.toJSON()),outputs:this.outputs.map(t=>t.toJSON()),parent:this.parent.toReference(),error:((e=this.error)==null?void 0:e.toJSON())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,query:this.query,x:this.x,y:this.y,inputs:this.inputs.map(e=>e.toReference()),inputsDeclarations:this.inputsDeclarations.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),outputsDeclarations:this.outputsDeclarations.map(e=>e.toReference()),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.inputsDeclarations.flatMap(i=>i.toFlatJSON(e)),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.outputsDeclarations.flatMap(i=>i.toFlatJSON(e)),...this.calledBy.flatMap(i=>i.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,name:this.name,description:this.description,type:this.type,query:this.query,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputsDeclarations.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputsDeclarations.flatMap(i=>i.toFlatGenerationTarget(e)),...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.inputsDeclarations.forEach(t=>t.clearErrors()),this.inputs.forEach(t=>t.clearErrors()),this.outputs.forEach(t=>t.clearErrors()),this.successCalls.forEach(t=>t.clearErrors()),this.errorCalls.forEach(t=>t.clearErrors()),(e=this.error)==null||e.clearErrors(),this}validate(){const e=d9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputsDeclarations.flatMap(t=>t.getErrors()),...this.inputs.flatMap(t=>t.getErrors()),...this.outputsDeclarations.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.error?this.error.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new De(this.toJSON(),this.project)}};l(De,"MUTABLE_BASE_PROPERTIES",["name","description","query"]),l(De,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(De,"BASE_PROPERTIES",[...De.MUTABLE_BASE_PROPERTIES,...De.INMUTABLE_BASE_PROPERTIES]),l(De,"MUTABLE_META_PROPERTIES",[...De.MUTABLE_BASE_PROPERTIES,"x","y"]),l(De,"INMUTABLE_META_PROPERTIES",[...De.INMUTABLE_BASE_PROPERTIES]),l(De,"META_PROPERTIES",[...De.MUTABLE_META_PROPERTIES,...De.INMUTABLE_META_PROPERTIES]),l(De,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(De,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(De,"UPSTREAM_PROPERTIES",[...De.MUTABLE_UPSTREAM_PROPERTIES,...De.INMUTABLE_UPSTREAM_PROPERTIES]),l(De,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","inputsDeclarations","inputs","outputsDeclarations","outputs","error"]),l(De,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(De,"DOWNSTREAM_PROPERTIES",[...De.MUTABLE_DOWNSTREAM_PROPERTIES,...De.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(De,"PROPERTIES",[...Ot.META_PROPERTIES,...Ot.UPSTREAM_PROPERTIES,...Ot.DOWNSTREAM_PROPERTIES]);let hr=De;function u9(n){const e=YU(),t=n.toJSON();e.safeParse(t).success,n.functions.forEach(s=>s.validate()),n.events.forEach(s=>s.validate());const a=[];return X(n.errors,a)}const Te=class Te{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"type",r.InstalledProject);l(this,"implements");l(this,"functions",[]);l(this,"events",[]);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.x=e.x,this.y=e.y,this.implements=e.implements}static fromGenerationTarget(e,t){const i=t,a={id:e.id,version:1,name:e.name,type:r.InstalledProject,description:e.description,functions:[],events:[],implements:{entityId:e.implements,entityType:r.Project,type:r.GenericReference,id:$.UUID.uuid()},x:0,y:0,parent:i},s=R(a,t);return s.setParent(i),s.initChildren(),s}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[];return a.push(...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on an installed project, must be the root project as it is a globally declared entity.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.functions=this.initialData.functions.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.events=this.initialData.events.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.functions.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!1,seenEntities:t});i.push(...o),a.push(...u)}),this.events.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!1,seenEntities:t});i.push(...o),a.push(...u)}),{affected:[],removed:[]})}restore({seenEntities:e}={seenEntities:new Set}){return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.functions.forEach(t=>{t.restore({seenEntities:e})}),this.events.forEach(t=>{t.restore({seenEntities:e})}),{affected:[],self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.functions.flatMap(i=>i.toFlat(e)),...this.events.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.functions.flatMap(i=>i.toFlatIds(e)),...this.events.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,implements:this.implements,functions:this.functions.map(e=>e.toJSON()),events:this.events.map(e=>e.toJSON()),parent:this.parent.toReference(),x:this.x,y:this.y}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,x:this.x,y:this.y,implements:this.implements,functions:this.functions.map(e=>e.toReference()),events:this.events.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.functions.flatMap(i=>i.toFlatJSON(e)),...this.events.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,name:this.name,description:this.description,type:this.type,implements:this.implements.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.functions.flatMap(i=>i.toFlatGenerationTarget(e)),...this.events.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.functions.forEach(e=>e.clearErrors()),this.events.forEach(e=>e.clearErrors()),this}validate(){const e=u9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.functions.flatMap(t=>t.getErrors()),...this.events.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new Te(this.toJSON(),this.project)}};l(Te,"MUTABLE_BASE_PROPERTIES",[]),l(Te,"INMUTABLE_BASE_PROPERTIES",["id","version","name","description","type"]),l(Te,"BASE_PROPERTIES",[...Te.MUTABLE_BASE_PROPERTIES,...Te.INMUTABLE_BASE_PROPERTIES]),l(Te,"MUTABLE_META_PROPERTIES",["x","y"]),l(Te,"INMUTABLE_META_PROPERTIES",[...Te.INMUTABLE_BASE_PROPERTIES]),l(Te,"META_PROPERTIES",[...Te.MUTABLE_META_PROPERTIES,...Te.INMUTABLE_META_PROPERTIES]),l(Te,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(Te,"INMUTABLE_UPSTREAM_PROPERTIES",["implements","parent"]),l(Te,"UPSTREAM_PROPERTIES",[...Te.MUTABLE_UPSTREAM_PROPERTIES,...Te.INMUTABLE_UPSTREAM_PROPERTIES]),l(Te,"MUTABLE_DOWNSTREAM_PROPERTIES",["functions","events"]),l(Te,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(Te,"DOWNSTREAM_PROPERTIES",[...Te.MUTABLE_DOWNSTREAM_PROPERTIES,...Te.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(Te,"PROPERTIES",[...Te.META_PROPERTIES,...Te.UPSTREAM_PROPERTIES,...Te.DOWNSTREAM_PROPERTIES]);let fr=Te;function p9(n){var u;const e=sU(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(p=>p.validate()),n.outputs.forEach(p=>p.validate()),(u=n.error)==null||u.validate();const a=mn(n),s=y9(n),o=[...a,...s];return X(n.errors,o)}function y9(n){const e=[],t=zs(n.parent),i=t==null?void 0:t.entity;if(!i)e.push(k({id:`${n.id}--${v.InternalCallParentMissingDataType}`,code:v.InternalCallParentMissingDataType,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", belongs to a variable whose data type entity doesn't contain its declaration method (function-declaration) its id "${n.declaration}".`,issue:null,entity:n}).error);else if(![r.CustomEntity,r.BuiltInBaseEntity,r.PrimitiveEntity].includes(i.type))e.push(k({id:`${n.id}--${v.InternalCallParentDeclarationEntityInvalidType}`,code:v.InternalCallParentDeclarationEntityInvalidType,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", belongs to a variable whose data type 'entity' is not a custom entity, built-in base entity or primitive entity.
76
76
  This variable's data-type has an 'entity' field that references an entity with id '${i.id}' and of type '${i.type}'.`,issue:null,entity:n}).error);else{const a=Od(i);let s="";a?i.methods.length?s=`
77
77
  All 'function-declaration' entities attached as methods to the parent data-type 'entity' field, available to be called as 'internal-calls' in this variable are:
78
78
  - ${i.methods.map(p=>p.id).join(`
@@ -85,7 +85,7 @@ Built-in entity types can't have methods attached to them by the user. They are
85
85
  This variable's data-type 'entity' is a custom entity which extends or implements a non-interactive 'built-in-base-entity'.s`:i.type===r.BuiltInBaseEntity&&(s=`
86
86
  This variable's data-type 'entity' is a non-interactive 'built-in-base-entity'.s`);const o=(i.methods||[]).find(u=>u.id===n.declaration.id);o?o.type!==r.FunctionDeclaration?e.push(k({id:`${n.id}--${v.InternalCallDeclarationIsNotFunctionDeclaration}`,code:v.InternalCallDeclarationIsNotFunctionDeclaration,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", points to a 'declaration' that isn't a 'function-declaration' entity.
87
87
  The declaration of the internal-call must be a 'function-declaration' entity which exists as a method in the entity of the data-type of the parent variable.${s}`,issue:null,entity:n}).error):n.declaration.parent.id!==i.id&&e.push(k({id:`${n.id}--${v.InternalCallDeclarationNotInParentDatatypeEntity}`,code:v.InternalCallDeclarationNotInParentDatatypeEntity,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a declaration method (function-declaration) that doesn't belong to its parent's data type entity.
88
- The data type on this variable points to a different entity than the declaration of the internal-call.${s}`,issue:null,entity:n}).error):e.push(k({id:`${n.id}--${v.InternalCallDeclarationNotFoundInParentDatatypeEntity}`,code:v.InternalCallDeclarationNotFoundInParentDatatypeEntity,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", belongs to a variable whose data type entity doesn't contain its declaration method (function-declaration) with id "${n.declaration}".${s}`,issue:null,entity:n}).error)}return e}const se=class se{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"index");l(this,"type",r.InternalCall);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"process",null);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"error",null);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"parent");l(this,"project");l(this,"errors",[]);l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s=D(e.declaration),o=t.get(s),u=e.calledByEntry.map(b=>{const I=D(b);return t.get(I)}),p=e.calledBySuccess.map(b=>{const I=D(b);return t.get(I)}),h=e.calledByError.map(b=>{const I=D(b);return t.get(I)}),m={id:e.id,version:1,type:r.InternalCall,index:a.internalCalls.length,declaration:o.toReference(),calledByEntry:u,calledBySuccess:p,calledByError:h,errorCalls:[],successCalls:[],inputs:[],outputs:[],process:null,error:null,parent:a},T=R(m,t);return T.setParent(a),T.initChildren(),T}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:Fe}},t);i=s.modifiedData;const o=D(i.parent),u=t.get(o);if(u){const p=Zs(u),h=p==null?void 0:p.entity;if(!h)a.push(new E({id:`${i.id}--${v.InternalCallParentMissingDataType}`,code:v.InternalCallParentMissingDataType,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", belongs to a variable whose data type entity doesn't contain its declaration method (function-declaration) its id "${i.declaration}".`,issue:null}));else if(![r.CustomEntity,r.BuiltInBaseEntity,r.PrimitiveEntity].includes(h.type))a.push(new E({id:`${i.id}--${v.InternalCallParentDeclarationEntityInvalidType}`,code:v.InternalCallParentDeclarationEntityInvalidType,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", belongs to a variable whose data type 'entity' is not a custom entity, built-in base entity or primitive entity.
88
+ The data type on this variable points to a different entity than the declaration of the internal-call.${s}`,issue:null,entity:n}).error):e.push(k({id:`${n.id}--${v.InternalCallDeclarationNotFoundInParentDatatypeEntity}`,code:v.InternalCallDeclarationNotFoundInParentDatatypeEntity,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", belongs to a variable whose data type entity doesn't contain its declaration method (function-declaration) with id "${n.declaration}".${s}`,issue:null,entity:n}).error)}return e}const se=class se{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"index");l(this,"type",r.InternalCall);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"process",null);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"error",null);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"parent");l(this,"project");l(this,"errors",[]);l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s=D(e.declaration),o=t.get(s),u=e.calledByEntry.map(b=>{const I=D(b);return t.get(I)}),p=e.calledBySuccess.map(b=>{const I=D(b);return t.get(I)}),h=e.calledByError.map(b=>{const I=D(b);return t.get(I)}),m={id:e.id,version:1,type:r.InternalCall,index:a.internalCalls.length,declaration:o.toReference(),calledByEntry:u,calledBySuccess:p,calledByError:h,errorCalls:[],successCalls:[],inputs:[],outputs:[],process:null,error:null,parent:a},T=R(m,t);return T.setParent(a),T.initChildren(),T}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:Fe}},t);i=s.modifiedData;const o=D(i.parent),u=t.get(o);if(u){const p=zs(u),h=p==null?void 0:p.entity;if(!h)a.push(new E({id:`${i.id}--${v.InternalCallParentMissingDataType}`,code:v.InternalCallParentMissingDataType,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", belongs to a variable whose data type entity doesn't contain its declaration method (function-declaration) its id "${i.declaration}".`,issue:null}));else if(![r.CustomEntity,r.BuiltInBaseEntity,r.PrimitiveEntity].includes(h.type))a.push(new E({id:`${i.id}--${v.InternalCallParentDeclarationEntityInvalidType}`,code:v.InternalCallParentDeclarationEntityInvalidType,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", belongs to a variable whose data type 'entity' is not a custom entity, built-in base entity or primitive entity.
89
89
  This variable's data-type has an 'entity' field that references an entity with id '${h.id}' and of type '${h.type}'.`,issue:null}));else{const m=Od(h);let T="";m?h.methods.length?T=`
90
90
  All 'function-declaration' entities attached as methods to the parent data-type 'entity' field, available to be called as 'internal-calls' in this variable are:
91
91
  - ${h.methods.map(G=>G.id).join(`
@@ -96,14 +96,14 @@ You can attach methods to it by creating 'function-declaration' entities which h
96
96
  This variable's data-type 'entity' is a ${h.type} which doesn't have any methods attached to it yet.
97
97
  Built-in entity types can't have methods attached to them by the user. They are predefined entities that can't be modified. You can reference them as the 'declaration' property on a new 'internal-call' entity in a variable`):h.type===r.CustomEntity?T=`
98
98
  This variable's data-type 'entity' is a custom entity which extends or implements a non-interactive 'built-in-base-entity'.
99
- ${Ln}`:h.type===r.BuiltInBaseEntity&&(T=`
99
+ ${Vn}`:h.type===r.BuiltInBaseEntity&&(T=`
100
100
  This variable's data-type 'entity' is a non-interactive 'built-in-base-entity'.
101
- ${Ln}`);const b=i.declaration,I=t.get(b);if(!I)a.push(new E({id:`${i.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", has a declaration method (function-declaration) that doesn't exist in the project.${T}`,issue:null}));else{const B=(h.methods||[]).find(G=>G.id===i.declaration);B?B.type!==r.FunctionDeclaration?a.push(new E({id:`${i.id}--${v.InternalCallDeclarationIsNotFunctionDeclaration}`,code:v.InternalCallDeclarationIsNotFunctionDeclaration,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", points to a 'declaration' that isn't a 'function-declaration' entity.
101
+ ${Vn}`);const b=i.declaration,I=t.get(b);if(!I)a.push(new E({id:`${i.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", has a declaration method (function-declaration) that doesn't exist in the project.${T}`,issue:null}));else{const B=(h.methods||[]).find(G=>G.id===i.declaration);B?B.type!==r.FunctionDeclaration?a.push(new E({id:`${i.id}--${v.InternalCallDeclarationIsNotFunctionDeclaration}`,code:v.InternalCallDeclarationIsNotFunctionDeclaration,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", points to a 'declaration' that isn't a 'function-declaration' entity.
102
102
  The declaration of the internal-call must be a 'function-declaration' entity which exists as a method in the entity of the data-type of the parent variable.${T}`,issue:null})):I.parent.id!==h.id&&a.push(new E({id:`${i.id}--${v.InternalCallDeclarationNotInParentDatatypeEntity}`,code:v.InternalCallDeclarationNotInParentDatatypeEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", has a declaration method (function-declaration) that doesn't belong to its parent's data type entity.
103
103
  The data type on this variable points to a different entity than the declaration of the internal-call.${T}`,issue:null})):a.push(new E({id:`${i.id}--${v.InternalCallDeclarationNotFoundInParentDatatypeEntity}`,code:v.InternalCallDeclarationNotFoundInParentDatatypeEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", belongs to a variable whose data type entity doesn't contain its declaration method (function-declaration) with id "${i.declaration}".${T}`,issue:null}))}}(u.inputs.length||u.outputs.length||u.internalCalls.length)&&a.push(new E({id:`${i.id}--${y.InvalidInternalCallParentRelation}`,code:y.InvalidInternalCallParentRelation,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}", can only be added to a variable declaration or variable instance parent if the parent doesn't already have inputs, outputs or other internal calls.
104
104
  If you need a new variable-instance for this, consider using the 'implement_variable_instance' generation action to create one and give it a caller.
105
105
  The you can attach the new internal-call to it.`,issue:null}))}return a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
106
- This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){var e;return this.parent.addInternalCall(this),(e=this.process)==null||e.writesValues.forEach(t=>{t.setValueWriter(this.process)}),this.successCalls.forEach(t=>{t.addSuccessCaller(this)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this)}),this.calledByError.forEach(t=>{t.addErrorCall(this)}),this.calledByEntry.forEach(t=>{t.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.parent.type!==r.GenericReference){const e=R(this.initialData.parent,this.project);this.setParent(e),this.parent.initChildren(),this.parent.addInternalCall(this);const t=this.calledBy.find(i=>!!i.parent&&st.includes(i.parent.type));if(t){const i=R(t.parent,this.project);this.parent.setParent(i)}else if(!t&&!this.parent.calledBy.length)throw new Error("Parent of internal call parent could not be resolved")}return this.declaration=R(this.initialData.declaration,this.project),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this.initialData.process&&(this.process=R(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){var s;const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:u}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}if(this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.outputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.error){const{affected:o,removed:u}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}return this.successCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{i.push(o),o.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:i}=this.process.restore({seenEntities:e});t.push(...i)}return this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.calledBy.flatMap(i=>i.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.calledBy.flatMap(i=>i.toFlatIds(e)),...this.process?this.process.toFlatIds(e):[],...this.error?this.error.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,index:this.index,successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,index:this.index,process:this.process?this.process.toReference():null,inputs:this.inputs.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),declaration:this.declaration.toReference(),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.process?this.process.toFlatJSON(e):[],...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.calledBy.flatMap(i=>i.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(e=>e.id),calledBySuccess:this.calledBySuccess.map(e=>e.id),calledByError:this.calledByError.map(e=>e.id),declaration:this.declaration.id,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.process?this.process.toFlatGenerationTarget(e):[],...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(i=>i.clearErrors()),this.outputs.forEach(i=>i.clearErrors()),this.successCalls.forEach(i=>i.clearErrors()),this.errorCalls.forEach(i=>i.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=d9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.error?this.error.getErrors():[],...this.process?this.process.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new se(this.toJSON(),this.project)}};l(se,"MUTABLE_BASE_PROPERTIES",[]),l(se,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(se,"BASE_PROPERTIES",[...se.MUTABLE_BASE_PROPERTIES,...se.INMUTABLE_BASE_PROPERTIES]),l(se,"MUTABLE_META_PROPERTIES",[...se.MUTABLE_BASE_PROPERTIES,"index"]),l(se,"INMUTABLE_META_PROPERTIES",[...se.INMUTABLE_BASE_PROPERTIES]),l(se,"META_PROPERTIES",[...se.MUTABLE_META_PROPERTIES,...se.INMUTABLE_META_PROPERTIES]),l(se,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(se,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(se,"UPSTREAM_PROPERTIES",[...se.MUTABLE_UPSTREAM_PROPERTIES,...se.INMUTABLE_UPSTREAM_PROPERTIES]),l(se,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","outputs","writesValues","successCalls","errorCalls","error"]),l(se,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(se,"DOWNSTREAM_PROPERTIES",[...se.MUTABLE_DOWNSTREAM_PROPERTIES,...se.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(se,"PROPERTIES",[...se.META_PROPERTIES,...se.UPSTREAM_PROPERTIES,...se.DOWNSTREAM_PROPERTIES]);let li=se;function p9(n){const e=lU(),t=n.toJSON();e.safeParse(t).success;const a=[];if(n.id==="exec-sequentially-argument-map-id"){const s=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(s.error)}return X(n.errors,a)}const oe=class oe{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"index");l(this,"name",null);l(this,"description",null);l(this,"declaration",null);l(this,"type",r.InputMap);l(this,"defaultValue",null);l(this,"readsValue",null);l(this,"dynamicArguments",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.name=e.name||null,this.description=e.description||null}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;if(e.declaration){const h=D(e.declaration);s=t.get(h)}let o=null;if(e.readsValue){const h=D(e.readsValue);o=t.get(h)}const u={id:e.id,version:1,name:e.name||null,type:r.InputMap,index:(a.inputs||a.dynamicArguments||[]).length,description:e.description||null,declaration:s,readsValue:o,dynamicArguments:[],defaultValue:null,parent:a},p=R(u,t);return p.setParent(a),p.initChildren(),p}static validateGenerationTarget(e,t){var h;let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...Ne,r.InputMap]}},t);i=s.modifiedData;const o=t.get(i.parent),u=i.declaration&&(t.get(i.declaration)||t.getBuiltIn(i.declaration)),p=((o==null?void 0:o.inputs)||[]).find(m=>{var T;return i.declaration&&((T=m.declaration)==null?void 0:T.id)===i.declaration});if(i.declaration?u?[r.Property,r.ArgumentDeclaration,r.ValueDescriptor].includes(u.type)?o&&u.type===r.ArgumentDeclaration&&![r.FunctionCall,r.Search,r.InternalCall].includes(o.type)?a.push(new E({id:`${i.id}--${y.InvalidInputMapDeclaration}`,code:y.InvalidInputMapDeclaration,severity:f.Error,message:`Entity of type '${r.InputMap}' with id '${i.id}' has a 'declaration' property pointing to an entity with type '${r.ArgumentDeclaration}' with id '${i.declaration}'.
106
+ This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){var e;return this.parent.addInternalCall(this),(e=this.process)==null||e.writesValues.forEach(t=>{t.setValueWriter(this.process)}),this.successCalls.forEach(t=>{t.addSuccessCaller(this)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this)}),this.calledByError.forEach(t=>{t.addErrorCall(this)}),this.calledByEntry.forEach(t=>{t.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.parent.type!==r.GenericReference){const e=R(this.initialData.parent,this.project);this.setParent(e),this.parent.initChildren(),this.parent.addInternalCall(this);const t=this.calledBy.find(i=>!!i.parent&&st.includes(i.parent.type));if(t){const i=R(t.parent,this.project);this.parent.setParent(i)}else if(!t&&!this.parent.calledBy.length)throw new Error("Parent of internal call parent could not be resolved")}return this.declaration=R(this.initialData.declaration,this.project),this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this.initialData.process&&(this.process=R(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){var s;const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:u}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}if(this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.outputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.error){const{affected:o,removed:u}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}return this.successCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{i.push(o),o.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:i}=this.process.restore({seenEntities:e});t.push(...i)}return this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.calledBy.flatMap(i=>i.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.calledBy.flatMap(i=>i.toFlatIds(e)),...this.process?this.process.toFlatIds(e):[],...this.error?this.error.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,index:this.index,successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,index:this.index,process:this.process?this.process.toReference():null,inputs:this.inputs.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),declaration:this.declaration.toReference(),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.process?this.process.toFlatJSON(e):[],...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.calledBy.flatMap(i=>i.toFlatJSON(e)),...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(e=>e.id),calledBySuccess:this.calledBySuccess.map(e=>e.id),calledByError:this.calledByError.map(e=>e.id),declaration:this.declaration.id,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.process?this.process.toFlatGenerationTarget(e):[],...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(i=>i.clearErrors()),this.outputs.forEach(i=>i.clearErrors()),this.successCalls.forEach(i=>i.clearErrors()),this.errorCalls.forEach(i=>i.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=p9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.error?this.error.getErrors():[],...this.process?this.process.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new se(this.toJSON(),this.project)}};l(se,"MUTABLE_BASE_PROPERTIES",[]),l(se,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(se,"BASE_PROPERTIES",[...se.MUTABLE_BASE_PROPERTIES,...se.INMUTABLE_BASE_PROPERTIES]),l(se,"MUTABLE_META_PROPERTIES",[...se.MUTABLE_BASE_PROPERTIES,"index"]),l(se,"INMUTABLE_META_PROPERTIES",[...se.INMUTABLE_BASE_PROPERTIES]),l(se,"META_PROPERTIES",[...se.MUTABLE_META_PROPERTIES,...se.INMUTABLE_META_PROPERTIES]),l(se,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(se,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(se,"UPSTREAM_PROPERTIES",[...se.MUTABLE_UPSTREAM_PROPERTIES,...se.INMUTABLE_UPSTREAM_PROPERTIES]),l(se,"MUTABLE_DOWNSTREAM_PROPERTIES",["inputs","outputs","writesValues","successCalls","errorCalls","error"]),l(se,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(se,"DOWNSTREAM_PROPERTIES",[...se.MUTABLE_DOWNSTREAM_PROPERTIES,...se.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(se,"PROPERTIES",[...se.META_PROPERTIES,...se.UPSTREAM_PROPERTIES,...se.DOWNSTREAM_PROPERTIES]);let oi=se;function h9(n){const e=dU(),t=n.toJSON();e.safeParse(t).success;const a=[];if(n.id==="exec-sequentially-argument-map-id"){const s=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(s.error)}return X(n.errors,a)}const oe=class oe{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"index");l(this,"name",null);l(this,"description",null);l(this,"declaration",null);l(this,"type",r.InputMap);l(this,"defaultValue",null);l(this,"readsValue",null);l(this,"dynamicArguments",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.name=e.name||null,this.description=e.description||null}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;if(e.declaration){const h=D(e.declaration);s=t.get(h)}let o=null;if(e.readsValue){const h=D(e.readsValue);o=t.get(h)}const u={id:e.id,version:1,name:e.name||null,type:r.InputMap,index:(a.inputs||a.dynamicArguments||[]).length,description:e.description||null,declaration:s,readsValue:o,dynamicArguments:[],defaultValue:null,parent:a},p=R(u,t);return p.setParent(a),p.initChildren(),p}static validateGenerationTarget(e,t){var h;let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...Ne,r.InputMap]}},t);i=s.modifiedData;const o=t.get(i.parent),u=i.declaration&&(t.get(i.declaration)||t.getBuiltIn(i.declaration)),p=((o==null?void 0:o.inputs)||[]).find(m=>{var T;return i.declaration&&((T=m.declaration)==null?void 0:T.id)===i.declaration});if(i.declaration?u?[r.Property,r.ArgumentDeclaration,r.ValueDescriptor].includes(u.type)?o&&u.type===r.ArgumentDeclaration&&![r.FunctionCall,r.Search,r.InternalCall].includes(o.type)?a.push(new E({id:`${i.id}--${y.InvalidInputMapDeclaration}`,code:y.InvalidInputMapDeclaration,severity:f.Error,message:`Entity of type '${r.InputMap}' with id '${i.id}' has a 'declaration' property pointing to an entity with type '${r.ArgumentDeclaration}' with id '${i.declaration}'.
107
107
  The parent entity of type '${o.type}' with id '${o.id}' is not compatible with this type of declaration.
108
108
  Only 'function-call', 'search' and 'internal-call' entities can have input-maps whose 'declaration' points to 'argument-declaration' entities.`,issue:null})):o&&u.type===r.Property&&!Fe.includes(o.type)?a.push(new E({id:`${i.id}--${y.InvalidInputMapDeclaration}`,code:y.InvalidInputMapDeclaration,severity:f.Error,message:`Entity of type '${r.InputMap}' with id '${i.id}' has a 'declaration' property pointing to an entity with type '${r.Property}' with id '${i.declaration}'.
109
109
  The parent entity of type '${o.type}' with id '${o.id}' is not compatible with this type of declaration.
@@ -121,7 +121,7 @@ Input maps can only be added to variables which hold an entity with properties.`
121
121
  The entity of the data-type has the following properties that can be reads as input maps, ids: '${N(I.properties.map(G=>G.id),"', '","' and '")}'`,issue:null})))}else if(Ne.filter(m=>Fe.includes(m)).includes(o.type)){const T=Id(o),b=T.find(B=>B.id===i.declaration),I=`The parent entity has the following argument declarations that can be referenced by input-maps, ids: '${N(T.map(B=>B.id),"', '","' and '")}'`;b||a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.InputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The parent entity does not have an 'argument-declaration' with id '${i.declaration}'.
122
122
  You can't add an input-map to an entity that doesn't have a matching 'argument-declaration'.
123
123
  ${I}`,issue:null}))}}return a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];let i=JSON.parse(JSON.stringify(e));const a=ua(i,this);return i=a.modifiedData,t.push(...a.errors),i.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
124
- This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:i}}addSelfToProject(){var e;return this.parent.addInput(this),(e=this.readsValue)==null||e.addValueReader(this),this}setParent(e){return this.parent=e,this}removeInput(e){return this.dynamicArguments=this.dynamicArguments.filter(t=>t.id!==e.id),this}addInput(e){return this.dynamicArguments.includes(e)?this:this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.defaultValue&&(this.defaultValue=R(this.initialData.defaultValue,this.project),this.defaultValue.setParent(this),this.defaultValue.initChildren()),this.initialData.declaration&&(this.declaration=R(this.initialData.declaration,this.project)),la.initReadsValue(this),this.dynamicArguments=this.initialData.dynamicArguments.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this)}setValueWriter(e){return this.readsValue=e,this}removeValueWriter(){return this.readsValue=null,this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this.name=e.name||this.name,this.description=e.description||this.description,this}async load(){return this}async create(){return this}async update(e){return this.sync(e),ha(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.readsValue&&(i.push(this.readsValue),this.readsValue.removeValueReader(this)),this.dynamicArguments.forEach(s=>{i.push(s),s.remove({ignoreUpstream:!0,seenEntities:t})}),this.defaultValue&&(i.push(this.defaultValue),this.defaultValue.remove({ignoreUpstream:!0,seenEntities:t})),e||(i.push(this.parent),this.parent.removeInput(this)),{affected:i,removed:a})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.readsValue&&(t.push(this.readsValue),this.readsValue.addValueReader(this)),this.dynamicArguments.forEach(i=>{t.push(i),i.restore({seenEntities:e})}),this.defaultValue&&(t.push(this.defaultValue),this.defaultValue.restore({seenEntities:e})),t.push(this.parent),this.parent.addInput(this),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.dynamicArguments.flatMap(i=>i.toFlat(e)),...this.defaultValue?this.defaultValue.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.dynamicArguments.flatMap(i=>i.toFlatIds(e)),...this.defaultValue?this.defaultValue.toFlatIds(e):[]])}toJSON(){var e,t,i;return{id:this.id,version:this.version,type:this.type,index:this.index,name:this.name,description:this.description,defaultValue:((e=this.defaultValue)==null?void 0:e.toJSON())||null,declaration:((t=this.declaration)==null?void 0:t.toJSON())||null,readsValue:((i=this.readsValue)==null?void 0:i.toReference())||null,parent:this.parent.toReference(),dynamicArguments:this.dynamicArguments.map(a=>a.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,i;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,defaultValue:((e=this.defaultValue)==null?void 0:e.toReference())||null,dynamicArguments:this.dynamicArguments.map(a=>a.toReference()),declaration:((t=this.declaration)==null?void 0:t.toReference())||null,readsValue:((i=this.readsValue)==null?void 0:i.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.dynamicArguments.flatMap(i=>i.toFlatJSON(e)),...this.defaultValue?this.defaultValue.toFlatJSON(e):[]])}toGenerationTarget(){var e;return{id:this.id,name:this.name||void 0,description:this.description||void 0,type:this.type,declaration:((e=this.declaration)==null?void 0:e.id)||null,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.dynamicArguments.flatMap(i=>i.toFlatGenerationTarget(e)),...this.defaultValue?this.defaultValue.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.dynamicArguments.forEach(t=>t.clearErrors()),(e=this.defaultValue)==null||e.clearErrors(),this}validate(){const e=p9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.dynamicArguments.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}getDefaultValue(){var e,t;return this.defaultValue||((t=(e=this.declaration)==null?void 0:e.dataType)==null?void 0:t.defaultValue)||null}setDefaultValue(e){return this.defaultValue=e,this}clone(e){return new oe(this.toJSON(),this.project)}getDataType(){var e;return((e=this.declaration)==null?void 0:e.getDataType())||null}};l(oe,"MUTABLE_BASE_PROPERTIES",["name","description"]),l(oe,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(oe,"BASE_PROPERTIES",[...oe.MUTABLE_BASE_PROPERTIES,...oe.INMUTABLE_BASE_PROPERTIES]),l(oe,"MUTABLE_META_PROPERTIES",[...oe.MUTABLE_BASE_PROPERTIES,"index"]),l(oe,"INMUTABLE_META_PROPERTIES",[...oe.INMUTABLE_BASE_PROPERTIES]),l(oe,"META_PROPERTIES",[...oe.MUTABLE_META_PROPERTIES,...oe.INMUTABLE_META_PROPERTIES]),l(oe,"MUTABLE_UPSTREAM_PROPERTIES",["readsValue"]),l(oe,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(oe,"UPSTREAM_PROPERTIES",[...oe.MUTABLE_UPSTREAM_PROPERTIES,...oe.INMUTABLE_UPSTREAM_PROPERTIES]),l(oe,"MUTABLE_DOWNSTREAM_PROPERTIES",["defaultValue","dynamicArguments"]),l(oe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(oe,"DOWNSTREAM_PROPERTIES",[...oe.MUTABLE_DOWNSTREAM_PROPERTIES,...oe.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(oe,"PROPERTIES",[...oe.META_PROPERTIES,...oe.UPSTREAM_PROPERTIES,...oe.DOWNSTREAM_PROPERTIES]);let hn=oe;class y9 extends hn{constructor(t,i){super(t,i);l(this,"declaration",null);l(this,"parent");l(this,"errors",[])}toJSON(){return super.toJSON()}}class h9 extends hn{constructor(t,i){super(t,i);l(this,"name",null);l(this,"description",null);l(this,"declaration");l(this,"parent");l(this,"errors",[])}toJSON(){return super.toJSON()}}function f9(n){const e=J4(),t=n.toJSON();e.safeParse(t).success;const a=[];if(n.id==="exec-sequentially-return-map-id"){const s=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(s.error)}return X(n.errors,a)}const le=class le{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"index");l(this,"type",r.OutputMap);l(this,"parentRelationType");l(this,"declaration");l(this,"writesValues",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.parentRelationType=e.parentRelationType}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s;if(e.declaration){const p=D(e.declaration);s=t.get(p)}const o={id:e.id,version:1,type:r.OutputMap,index:(a.outputs||[]).length,declaration:s,writesValues:[],parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){var u;let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:Ne.filter(p=>p!==r.Condition)},declaration:{list:!1,types:[r.ReturnDeclaration,r.Property]}},t);i=s.modifiedData;const o=t.get(i.parent);if(o&&Ne.filter(p=>p!==r.Condition).includes(o.type)){const p=o.outputs.find(h=>h.declaration.id===D(i.declaration));if(p)a.push(new E({id:`${i.id}--${y.OutputOverwrite}`,code:y.OutputOverwrite,severity:f.Error,message:`Entity of type '${r.OutputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The parent already has an output-map with id '${p.id}' that points to the same base 'return-declaration'.
124
+ This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:i}}addSelfToProject(){var e;return this.parent.addInput(this),(e=this.readsValue)==null||e.addValueReader(this),this}setParent(e){return this.parent=e,this}removeInput(e){return this.dynamicArguments=this.dynamicArguments.filter(t=>t.id!==e.id),this}addInput(e){return this.dynamicArguments.includes(e)?this:this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.defaultValue&&(this.defaultValue=R(this.initialData.defaultValue,this.project),this.defaultValue.setParent(this),this.defaultValue.initChildren()),this.initialData.declaration&&(this.declaration=R(this.initialData.declaration,this.project)),la.initReadsValue(this),this.dynamicArguments=this.initialData.dynamicArguments.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this)}setValueWriter(e){return this.readsValue=e,this}removeValueWriter(){return this.readsValue=null,this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this.name=e.name||this.name,this.description=e.description||this.description,this}async load(){return this}async create(){return this}async update(e){return this.sync(e),ha(e,this),this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.readsValue&&(i.push(this.readsValue),this.readsValue.removeValueReader(this)),this.dynamicArguments.forEach(s=>{i.push(s),s.remove({ignoreUpstream:!0,seenEntities:t})}),this.defaultValue&&(i.push(this.defaultValue),this.defaultValue.remove({ignoreUpstream:!0,seenEntities:t})),e||(i.push(this.parent),this.parent.removeInput(this)),{affected:i,removed:a})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.readsValue&&(t.push(this.readsValue),this.readsValue.addValueReader(this)),this.dynamicArguments.forEach(i=>{t.push(i),i.restore({seenEntities:e})}),this.defaultValue&&(t.push(this.defaultValue),this.defaultValue.restore({seenEntities:e})),t.push(this.parent),this.parent.addInput(this),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.dynamicArguments.flatMap(i=>i.toFlat(e)),...this.defaultValue?this.defaultValue.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.dynamicArguments.flatMap(i=>i.toFlatIds(e)),...this.defaultValue?this.defaultValue.toFlatIds(e):[]])}toJSON(){var e,t,i;return{id:this.id,version:this.version,type:this.type,index:this.index,name:this.name,description:this.description,defaultValue:((e=this.defaultValue)==null?void 0:e.toJSON())||null,declaration:((t=this.declaration)==null?void 0:t.toJSON())||null,readsValue:((i=this.readsValue)==null?void 0:i.toReference())||null,parent:this.parent.toReference(),dynamicArguments:this.dynamicArguments.map(a=>a.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,i;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,defaultValue:((e=this.defaultValue)==null?void 0:e.toReference())||null,dynamicArguments:this.dynamicArguments.map(a=>a.toReference()),declaration:((t=this.declaration)==null?void 0:t.toReference())||null,readsValue:((i=this.readsValue)==null?void 0:i.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.dynamicArguments.flatMap(i=>i.toFlatJSON(e)),...this.defaultValue?this.defaultValue.toFlatJSON(e):[]])}toGenerationTarget(){var e;return{id:this.id,name:this.name||void 0,description:this.description||void 0,type:this.type,declaration:((e=this.declaration)==null?void 0:e.id)||null,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.dynamicArguments.flatMap(i=>i.toFlatGenerationTarget(e)),...this.defaultValue?this.defaultValue.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.dynamicArguments.forEach(t=>t.clearErrors()),(e=this.defaultValue)==null||e.clearErrors(),this}validate(){const e=h9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.dynamicArguments.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}getDefaultValue(){var e,t;return this.defaultValue||((t=(e=this.declaration)==null?void 0:e.dataType)==null?void 0:t.defaultValue)||null}setDefaultValue(e){return this.defaultValue=e,this}clone(e){return new oe(this.toJSON(),this.project)}getDataType(){var e;return((e=this.declaration)==null?void 0:e.getDataType())||null}};l(oe,"MUTABLE_BASE_PROPERTIES",["name","description"]),l(oe,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(oe,"BASE_PROPERTIES",[...oe.MUTABLE_BASE_PROPERTIES,...oe.INMUTABLE_BASE_PROPERTIES]),l(oe,"MUTABLE_META_PROPERTIES",[...oe.MUTABLE_BASE_PROPERTIES,"index"]),l(oe,"INMUTABLE_META_PROPERTIES",[...oe.INMUTABLE_BASE_PROPERTIES]),l(oe,"META_PROPERTIES",[...oe.MUTABLE_META_PROPERTIES,...oe.INMUTABLE_META_PROPERTIES]),l(oe,"MUTABLE_UPSTREAM_PROPERTIES",["readsValue"]),l(oe,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(oe,"UPSTREAM_PROPERTIES",[...oe.MUTABLE_UPSTREAM_PROPERTIES,...oe.INMUTABLE_UPSTREAM_PROPERTIES]),l(oe,"MUTABLE_DOWNSTREAM_PROPERTIES",["defaultValue","dynamicArguments"]),l(oe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(oe,"DOWNSTREAM_PROPERTIES",[...oe.MUTABLE_DOWNSTREAM_PROPERTIES,...oe.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(oe,"PROPERTIES",[...oe.META_PROPERTIES,...oe.UPSTREAM_PROPERTIES,...oe.DOWNSTREAM_PROPERTIES]);let hn=oe;class f9 extends hn{constructor(t,i){super(t,i);l(this,"declaration",null);l(this,"parent");l(this,"errors",[])}toJSON(){return super.toJSON()}}class m9 extends hn{constructor(t,i){super(t,i);l(this,"name",null);l(this,"description",null);l(this,"declaration");l(this,"parent");l(this,"errors",[])}toJSON(){return super.toJSON()}}function T9(n){const e=H4(),t=n.toJSON();e.safeParse(t).success;const a=[];if(n.id==="exec-sequentially-return-map-id"){const s=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(s.error)}return X(n.errors,a)}const le=class le{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"index");l(this,"type",r.OutputMap);l(this,"parentRelationType");l(this,"declaration");l(this,"writesValues",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.parentRelationType=e.parentRelationType}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s;if(e.declaration){const p=D(e.declaration);s=t.get(p)}const o={id:e.id,version:1,type:r.OutputMap,index:(a.outputs||[]).length,declaration:s,writesValues:[],parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){var u;let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:Ne.filter(p=>p!==r.Condition)},declaration:{list:!1,types:[r.ReturnDeclaration,r.Property]}},t);i=s.modifiedData;const o=t.get(i.parent);if(o&&Ne.filter(p=>p!==r.Condition).includes(o.type)){const p=o.outputs.find(h=>h.declaration.id===D(i.declaration));if(p)a.push(new E({id:`${i.id}--${y.OutputOverwrite}`,code:y.OutputOverwrite,severity:f.Error,message:`Entity of type '${r.OutputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The parent already has an output-map with id '${p.id}' that points to the same base 'return-declaration'.
125
125
  Any value reads can be done with that output-map instead.
126
126
  You can't edit output-map entities as they need to match their return declarations, so you can only choose to read their outputted value if you need it.`,issue:null}));else{const h=t.get(i.declaration);if(h&&Fe.includes(o.type)){const m=Kc(o),T=m.dataType,b=(u=m.dataType)==null?void 0:u.entity;T?b?b.type===r.ActionDescriptor?a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.OutputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The data type of the 'variable-declaration' is a 'action-descriptor' entity.
127
127
  This means it can hold a function-call or operation as its value, to be executed programatically.
@@ -131,7 +131,7 @@ ${hd}`,issue:null})):a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSign
131
131
  ${hd}`,issue:null}))}else if(h){const m=o.outputs.find(T=>T.declaration.id===i.declaration);m&&a.push(new E({id:`${i.id}--${y.OutputOverwrite}`,code:y.OutputOverwrite,severity:f.Error,message:`Entity of type '${r.OutputMap}' with id '${i.id}' cannot be added to the parent entity of type '${o.type}' with id '${o.id}'. The parent already has an output-map with id '${m.id}' that points to the same declaration.
132
132
  Any value reads can be done with that output-map instead.
133
133
  You can't edit output-map entities as they need to match their return declarations, so you can only choose to read their outputted value if you need it.`,issue:null}))}}}return a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
134
- This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent.addOutput(this),this.writesValues.forEach(e=>{e.setValueWriter(this)}),this}addValueReader(e){return this.writesValues.includes(e)?this:(this.writesValues.push(e),this)}removeValueReader(e){return this.writesValues=this.writesValues.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,ca.initWritesValues(this,this.parent.parent),this.initialData.declaration&&(this.declaration=R(this.initialData.declaration,this.project)),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this.parentRelationType=e.parentRelationType||this.parentRelationType,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.writesValues.forEach(s=>{i.push(s),s.readsValue=null}),{affected:i,removed:a})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.writesValues.forEach(i=>{t.push(i),i.setValueWriter(this)}),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.writesValues.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.writesValues.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,index:this.index,parentRelationType:this.parentRelationType,writesValues:this.writesValues.map(e=>e.toJSON()),declaration:this.declaration.toJSON(),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,index:this.index,parentRelationType:this.parentRelationType,declaration:this.declaration.toReference(),writesValues:this.writesValues.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.writesValues.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,declaration:this.declaration.id,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.writesValues.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this}validate(){const e=f9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors]}getShallowErrors(){return this.errors}getDefaultValue(){var e,t;return((t=(e=this.declaration)==null?void 0:e.dataType)==null?void 0:t.defaultValue)||null}clone(e){return new le(this.toJSON(),this.project)}getDataType(){return this.declaration.getDataType()||null}};l(le,"MUTABLE_BASE_PROPERTIES",[]),l(le,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(le,"BASE_PROPERTIES",[...le.MUTABLE_BASE_PROPERTIES,...le.INMUTABLE_BASE_PROPERTIES]),l(le,"MUTABLE_META_PROPERTIES",[...le.MUTABLE_BASE_PROPERTIES,"index"]),l(le,"INMUTABLE_META_PROPERTIES",[...le.INMUTABLE_BASE_PROPERTIES]),l(le,"META_PROPERTIES",[...le.MUTABLE_META_PROPERTIES,...le.INMUTABLE_META_PROPERTIES]),l(le,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(le,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(le,"UPSTREAM_PROPERTIES",[...le.MUTABLE_UPSTREAM_PROPERTIES,...le.INMUTABLE_UPSTREAM_PROPERTIES]),l(le,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues"]),l(le,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(le,"DOWNSTREAM_PROPERTIES",[...le.MUTABLE_DOWNSTREAM_PROPERTIES,...le.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(le,"PROPERTIES",[...le.META_PROPERTIES,...le.UPSTREAM_PROPERTIES,...le.DOWNSTREAM_PROPERTIES]);let fn=le;class m9 extends fn{constructor(t,i){super(t,i);l(this,"declaration");l(this,"parent");l(this,"errors",[])}toJSON(){return super.toJSON()}}class T9 extends fn{constructor(t,i){super(t,i);l(this,"declaration");l(this,"parent");l(this,"errors",[])}toJSON(){return super.toJSON()}}function E9(n){var s;const e=gx(),t=n.toJSON();e.safeParse(t).success,(s=n.dataType)==null||s.validate();const a=[];if(n.id==="company-dto-func-declaration-argument-dcl-id"){const o=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(o.error)}if(n.id==="manual-hello-world-loop-current-iteration-number-output-map-id"){const o=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(o.error)}return X(n.errors,a)}const ce=class ce{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"index");l(this,"required");l(this,"type",r.ArgumentDeclaration);l(this,"dataType",null);l(this,"writesValues",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.name=e.name,this.description=e.description,this.required=e.required}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s={id:e.id,version:1,name:e.name,type:r.ArgumentDeclaration,index:a.inputs.length,description:e.description,required:e.required,dataType:null,writesValues:[],parent:a},o=R(s,t);return o.setParent(a),o.initChildren(),o}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.FunctionDeclaration,r.Search,r.Condition]}},t);i=s.modifiedData;const o=sd(i,t);if(i.parent){const u=t.get(D(i.parent));if(u&&$e.includes(u.type)){const p=u.implements;if(p)if(p.argumentsType===L.Fixed){const h=p.fixedArguments.find(G=>G.name===i.name),m=p.fixedArguments.filter(G=>!u.inputs.find(xt=>xt.type===r.ArgumentDeclaration&&xt.name===G.name)),T=u.inputs.filter(G=>G.type===r.ArgumentDeclaration),b=T.find(G=>G.name===i.name),I=T.length?`The parent entity already implements the following arguments: ${N(T.map(G=>`'${G.id}' (${G.name})`),", "," and ")}.`:"The parent entity does not yet have any implemented arguments.",B=m.length?`The parent entity is still missing the following arguments in the implementation: ${N(m.map(G=>`'${G.id}' (${G.name})`),", "," and ")}.`:"The parent entity has all the arguments it needs implemented.";h?b&&a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ArgumentDeclaration}' with id '${i.id}' should not exist in a parent entity of type '${u.type}' with id '${u.id}' that implements a ${r.ActionDescriptor} with fixed arguments.
134
+ This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent.addOutput(this),this.writesValues.forEach(e=>{e.setValueWriter(this)}),this}addValueReader(e){return this.writesValues.includes(e)?this:(this.writesValues.push(e),this)}removeValueReader(e){return this.writesValues=this.writesValues.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,ca.initWritesValues(this,this.parent.parent),this.initialData.declaration&&(this.declaration=R(this.initialData.declaration,this.project)),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this.parentRelationType=e.parentRelationType||this.parentRelationType,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.writesValues.forEach(s=>{i.push(s),s.readsValue=null}),{affected:i,removed:a})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.writesValues.forEach(i=>{t.push(i),i.setValueWriter(this)}),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.writesValues.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.writesValues.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,index:this.index,parentRelationType:this.parentRelationType,writesValues:this.writesValues.map(e=>e.toJSON()),declaration:this.declaration.toJSON(),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,index:this.index,parentRelationType:this.parentRelationType,declaration:this.declaration.toReference(),writesValues:this.writesValues.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.writesValues.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,declaration:this.declaration.id,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.writesValues.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this}validate(){const e=T9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors]}getShallowErrors(){return this.errors}getDefaultValue(){var e,t;return((t=(e=this.declaration)==null?void 0:e.dataType)==null?void 0:t.defaultValue)||null}clone(e){return new le(this.toJSON(),this.project)}getDataType(){return this.declaration.getDataType()||null}};l(le,"MUTABLE_BASE_PROPERTIES",[]),l(le,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(le,"BASE_PROPERTIES",[...le.MUTABLE_BASE_PROPERTIES,...le.INMUTABLE_BASE_PROPERTIES]),l(le,"MUTABLE_META_PROPERTIES",[...le.MUTABLE_BASE_PROPERTIES,"index"]),l(le,"INMUTABLE_META_PROPERTIES",[...le.INMUTABLE_BASE_PROPERTIES]),l(le,"META_PROPERTIES",[...le.MUTABLE_META_PROPERTIES,...le.INMUTABLE_META_PROPERTIES]),l(le,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(le,"INMUTABLE_UPSTREAM_PROPERTIES",["parent","declaration"]),l(le,"UPSTREAM_PROPERTIES",[...le.MUTABLE_UPSTREAM_PROPERTIES,...le.INMUTABLE_UPSTREAM_PROPERTIES]),l(le,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues"]),l(le,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(le,"DOWNSTREAM_PROPERTIES",[...le.MUTABLE_DOWNSTREAM_PROPERTIES,...le.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(le,"PROPERTIES",[...le.META_PROPERTIES,...le.UPSTREAM_PROPERTIES,...le.DOWNSTREAM_PROPERTIES]);let fn=le;class E9 extends fn{constructor(t,i){super(t,i);l(this,"declaration");l(this,"parent");l(this,"errors",[])}toJSON(){return super.toJSON()}}class R9 extends fn{constructor(t,i){super(t,i);l(this,"declaration");l(this,"parent");l(this,"errors",[])}toJSON(){return super.toJSON()}}function b9(n){var s;const e=Px(),t=n.toJSON();e.safeParse(t).success,(s=n.dataType)==null||s.validate();const a=[];if(n.id==="company-dto-func-declaration-argument-dcl-id"){const o=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(o.error)}if(n.id==="manual-hello-world-loop-current-iteration-number-output-map-id"){const o=k({id:`${n.id}--${O.PropertyImplementsNonAbstact}`,message:`Property "${A(n,n.project)}" with id "${n.id}" implements a non-abstract property "${A(n,n.project)}" with id "${n.id}".`,issue:null,severity:f.Error,code:O.PropertyImplementsNonAbstact,entity:n});a.push(o.error)}return X(n.errors,a)}const ce=class ce{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"index");l(this,"required");l(this,"type",r.ArgumentDeclaration);l(this,"dataType",null);l(this,"writesValues",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.index=e.index,this.name=e.name,this.description=e.description,this.required=e.required}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s={id:e.id,version:1,name:e.name,type:r.ArgumentDeclaration,index:a.inputs.length,description:e.description,required:e.required,dataType:null,writesValues:[],parent:a},o=R(s,t);return o.setParent(a),o.initChildren(),o}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.FunctionDeclaration,r.Search,r.Condition]}},t);i=s.modifiedData;const o=sd(i,t);if(i.parent){const u=t.get(D(i.parent));if(u&&$e.includes(u.type)){const p=u.implements;if(p)if(p.argumentsType===L.Fixed){const h=p.fixedArguments.find(G=>G.name===i.name),m=p.fixedArguments.filter(G=>!u.inputs.find(xt=>xt.type===r.ArgumentDeclaration&&xt.name===G.name)),T=u.inputs.filter(G=>G.type===r.ArgumentDeclaration),b=T.find(G=>G.name===i.name),I=T.length?`The parent entity already implements the following arguments: ${N(T.map(G=>`'${G.id}' (${G.name})`),", "," and ")}.`:"The parent entity does not yet have any implemented arguments.",B=m.length?`The parent entity is still missing the following arguments in the implementation: ${N(m.map(G=>`'${G.id}' (${G.name})`),", "," and ")}.`:"The parent entity has all the arguments it needs implemented.";h?b&&a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ArgumentDeclaration}' with id '${i.id}' should not exist in a parent entity of type '${u.type}' with id '${u.id}' that implements a ${r.ActionDescriptor} with fixed arguments.
135
135
  Adding a new argument would make the implementation invalid. An argument with the same name already exists in the parent entity.
136
136
  ${I}
137
137
  ${B}`,issue:null})):a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ArgumentDeclaration}' with id '${i.id}' should not exist in a parent entity of type '${u.type}' with id '${u.id}' that implements a ${r.ActionDescriptor} with fixed arguments.
@@ -139,7 +139,7 @@ Adding a new argument would make the implementation invalid. There are no argume
139
139
  ${I}
140
140
  ${B}`,issue:null}))}else p.argumentsType===L.Dynamic||p.argumentsType===L.None&&a.push(new E({id:`${i.id}--${v.NoOverlapWithImplementedSignature}`,code:v.NoOverlapWithImplementedSignature,severity:f.Error,message:`Entity of type '${r.ArgumentDeclaration}' with id '${i.id}' should not exist in a parent entity of type '${u.type}' with id '${u.id}' that implements a ${r.ActionDescriptor} with no arguments.
141
141
  Adding a new argument would make the implementation invalid.`,issue:null}))}}return a.push(...s.errors,...o,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
142
- This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent.addInputDeclaration(this),this.writesValues.forEach(e=>{e.setValueWriter(this)}),this}addValueReader(e){return this.writesValues.includes(e)?this:(this.writesValues.push(e),this)}removeValueReader(e){return this.writesValues=this.writesValues.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.dataType&&(this.dataType=R(this.initialData.dataType,this.project),this.dataType.setParent(this),this.dataType.initChildren()),ca.initWritesValues(this,this.parent),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this.name=e.name||this.name,this.description=e.description||this.description,this.required=e.required||this.required,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.writesValues.forEach(s=>{i.push(s),s.readsValue=null}),e||(i.push(this.parent),this.parent.removeInputDeclaration(this)),this.dataType){const s=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.writesValues.forEach(i=>{t.push(i),i.setValueWriter(this)}),t.push(this.parent),this.parent.addInputDeclaration(this),this.dataType){const{affected:i}=this.dataType.restore({seenEntities:e});t.push(...i)}return{affected:S(t),self:this}}toFlat(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this,...this.writesValues.flatMap(a=>a.toFlat(e)),...((i=this.dataType)==null?void 0:i.toFlat(e))||[]])}toFlatIds(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.writesValues.flatMap(a=>a.toFlatIds(e)),...((i=this.dataType)==null?void 0:i.toFlatIds(e))||[]])}toJSON(){var e;return{id:this.id,version:this.version,name:this.name,type:this.type,index:this.index,description:this.description,required:this.required,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,writesValues:this.writesValues.map(t=>t.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e;return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,index:this.index,required:this.required,writesValues:this.writesValues.map(t=>t.toReference()),dataType:((e=this.dataType)==null?void 0:e.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.writesValues.flatMap(a=>a.toFlatJSON(e)),...((i=this.dataType)==null?void 0:i.toFlatJSON(e))||[]])}toGenerationTarget(){return{id:this.id,name:this.name,description:this.description,type:this.type,required:this.required,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.writesValues.flatMap(a=>a.toFlatGenerationTarget(e)),...((i=this.dataType)==null?void 0:i.toFlatGenerationTarget(e))||[]])}clearErrors(){var e;return this.errors=[],(e=this.dataType)==null||e.clearErrors(),this}validate(){const e=E9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t;return[...this.errors,...((t=this.dataType)==null?void 0:t.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e;return((e=this==null?void 0:this.dataType)==null?void 0:e.defaultValue)||null}clone(e){return new ce(this.toJSON(),this.project)}getDataType(){return this.dataType}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}};l(ce,"MUTABLE_BASE_PROPERTIES",["name","description","required"]),l(ce,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(ce,"BASE_PROPERTIES",[...ce.MUTABLE_BASE_PROPERTIES,...ce.INMUTABLE_BASE_PROPERTIES]),l(ce,"MUTABLE_META_PROPERTIES",[...ce.MUTABLE_BASE_PROPERTIES,"index"]),l(ce,"INMUTABLE_META_PROPERTIES",[...ce.INMUTABLE_BASE_PROPERTIES]),l(ce,"META_PROPERTIES",[...ce.MUTABLE_META_PROPERTIES,...ce.INMUTABLE_META_PROPERTIES]),l(ce,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(ce,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(ce,"UPSTREAM_PROPERTIES",[...ce.MUTABLE_UPSTREAM_PROPERTIES,...ce.INMUTABLE_UPSTREAM_PROPERTIES]),l(ce,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues","dataType"]),l(ce,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ce,"DOWNSTREAM_PROPERTIES",[...ce.MUTABLE_DOWNSTREAM_PROPERTIES,...ce.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ce,"PROPERTIES",[...ce.META_PROPERTIES,...ce.UPSTREAM_PROPERTIES,...ce.DOWNSTREAM_PROPERTIES]);let Tr=ce;function R9(n){const e=hc(),t=n.toJSON();e.safeParse(t).success;const a=[];return X(n.errors,a)}function b9(n,e){const t=[];if(n.parent)if(n.parent){const i=e.get(n.parent);i?[r.InputMap,r.DataType].includes(i.type)?i.type===r.DataType&&i.defaultValue&&t.push(new E({id:`${n.id}--${n.parent}--${y.NewEntityWouldOverriteExisting}`,code:y.NewEntityWouldOverriteExisting,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a 'parent' of type 'data-type' which already has an existing default value entity with id "${i.defaultValue.id}".
142
+ This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent.addInputDeclaration(this),this.writesValues.forEach(e=>{e.setValueWriter(this)}),this}addValueReader(e){return this.writesValues.includes(e)?this:(this.writesValues.push(e),this)}removeValueReader(e){return this.writesValues=this.writesValues.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.dataType&&(this.dataType=R(this.initialData.dataType,this.project),this.dataType.setParent(this),this.dataType.initChildren()),ca.initWritesValues(this,this.parent),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.index=e.index||this.index,this.name=e.name||this.name,this.description=e.description||this.description,this.required=e.required||this.required,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.writesValues.forEach(s=>{i.push(s),s.readsValue=null}),e||(i.push(this.parent),this.parent.removeInputDeclaration(this)),this.dataType){const s=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.writesValues.forEach(i=>{t.push(i),i.setValueWriter(this)}),t.push(this.parent),this.parent.addInputDeclaration(this),this.dataType){const{affected:i}=this.dataType.restore({seenEntities:e});t.push(...i)}return{affected:S(t),self:this}}toFlat(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this,...this.writesValues.flatMap(a=>a.toFlat(e)),...((i=this.dataType)==null?void 0:i.toFlat(e))||[]])}toFlatIds(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.writesValues.flatMap(a=>a.toFlatIds(e)),...((i=this.dataType)==null?void 0:i.toFlatIds(e))||[]])}toJSON(){var e;return{id:this.id,version:this.version,name:this.name,type:this.type,index:this.index,description:this.description,required:this.required,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,writesValues:this.writesValues.map(t=>t.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e;return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,index:this.index,required:this.required,writesValues:this.writesValues.map(t=>t.toReference()),dataType:((e=this.dataType)==null?void 0:e.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.writesValues.flatMap(a=>a.toFlatJSON(e)),...((i=this.dataType)==null?void 0:i.toFlatJSON(e))||[]])}toGenerationTarget(){return{id:this.id,name:this.name,description:this.description,type:this.type,required:this.required,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.writesValues.flatMap(a=>a.toFlatGenerationTarget(e)),...((i=this.dataType)==null?void 0:i.toFlatGenerationTarget(e))||[]])}clearErrors(){var e;return this.errors=[],(e=this.dataType)==null||e.clearErrors(),this}validate(){const e=b9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){var t;return[...this.errors,...((t=this.dataType)==null?void 0:t.getErrors())||[]]}getShallowErrors(){return this.errors}getDefaultValue(){var e;return((e=this==null?void 0:this.dataType)==null?void 0:e.defaultValue)||null}clone(e){return new ce(this.toJSON(),this.project)}getDataType(){return this.dataType}setDataType(e){return this.dataType=e,this}removeDataType(){return this.dataType=null,this}};l(ce,"MUTABLE_BASE_PROPERTIES",["name","description","required"]),l(ce,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(ce,"BASE_PROPERTIES",[...ce.MUTABLE_BASE_PROPERTIES,...ce.INMUTABLE_BASE_PROPERTIES]),l(ce,"MUTABLE_META_PROPERTIES",[...ce.MUTABLE_BASE_PROPERTIES,"index"]),l(ce,"INMUTABLE_META_PROPERTIES",[...ce.INMUTABLE_BASE_PROPERTIES]),l(ce,"META_PROPERTIES",[...ce.MUTABLE_META_PROPERTIES,...ce.INMUTABLE_META_PROPERTIES]),l(ce,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(ce,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(ce,"UPSTREAM_PROPERTIES",[...ce.MUTABLE_UPSTREAM_PROPERTIES,...ce.INMUTABLE_UPSTREAM_PROPERTIES]),l(ce,"MUTABLE_DOWNSTREAM_PROPERTIES",["writesValues","dataType"]),l(ce,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ce,"DOWNSTREAM_PROPERTIES",[...ce.MUTABLE_DOWNSTREAM_PROPERTIES,...ce.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ce,"PROPERTIES",[...ce.META_PROPERTIES,...ce.UPSTREAM_PROPERTIES,...ce.DOWNSTREAM_PROPERTIES]);let mr=ce;function v9(n){const e=hc(),t=n.toJSON();e.safeParse(t).success;const a=[];return X(n.errors,a)}function g9(n,e){const t=[];if(n.parent)if(n.parent){const i=e.get(n.parent);i?[r.InputMap,r.DataType].includes(i.type)?i.type===r.DataType&&i.defaultValue&&t.push(new E({id:`${n.id}--${n.parent}--${y.NewEntityWouldOverriteExisting}`,code:y.NewEntityWouldOverriteExisting,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a 'parent' of type 'data-type' which already has an existing default value entity with id "${i.defaultValue.id}".
143
143
  Data types can only have one 'primitive-value' entity as 'defaultValue'.
144
144
  You can update the existing 'primitive-value' with the 'update' action, for example, like so:
145
145
  \`\`\`json
@@ -151,61 +151,61 @@ You can update the existing 'primitive-value' with the 'update' action, for exam
151
151
  }
152
152
  }
153
153
  }\`\`\`
154
- Or 'delete' and then 'post' actions to replace it.`,issue:null})):t.push(new E({id:`${n.id}--${n.parent}--${y.InvalidParentReference}`,code:y.InvalidParentReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a parent reference that isn't pointing to an entity of type 'input-map' or 'data-type'.`,issue:null})):t.push(new E({id:`${n.id}--${n.parent}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}else t.push(new E({id:`${n.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}" is missing a 'parent' reference. The 'parent' of a primitive value entity must be a reference to an entity of type 'input-map' or 'data-type'.`,issue:null}));else return t.push(new E({id:`${n.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}" is missing a 'parent' reference. The 'parent' of a primitive value entity must be a reference to an entity of type 'input-map' or 'data-type'.`,issue:null})),t;if(n.valueAsType){const i=[],a=[],s=n.valueAsType;Array.isArray(s)?s.forEach(o=>{typeof o=="string"?a.push(o):i.push(o)}):typeof s=="string"?a.push(s):i.push(s),i.forEach(o=>{const u=to(o);t.push(...u),u.length===0&&a.push(o.entityId)}),a.forEach(o=>{const u=e.get(o);u?[r.CustomEntity,r.BuiltInBaseEntity].includes(u.type)||t.push(new E({id:`${n.id}--${o}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'valueAsType' reference that isn't pointing to an entity of type 'custom-entity', 'function-declaration' or 'operation'.`,issue:null})):t.push(new E({id:`${n.id}--${o}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${o}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))})}return t}const Ee=class Ee{constructor(e,t){l(this,"initialData");l(this,"type",r.PrimitiveValue);l(this,"id");l(this,"version");l(this,"name");l(this,"autogeneration",null);l(this,"value",null);l(this,"valueAsType",null);l(this,"errors",[]);l(this,"parent");l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.autogeneration=e.autogeneration,this.value=e.value}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;e.valueAsType&&(Array.isArray(e.valueAsType)?s=e.valueAsType.map(p=>t.get(p)||t.getBuiltIn(p)):s=t.get(e.valueAsType)||t.getBuiltIn(e.valueAsType));const o={id:e.id,version:1,type:r.PrimitiveValue,name:e.name,autogeneration:e.autogeneration,valueAsType:s,value:e.value||null,parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=b9(i,t);return a.push(...s,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
155
- This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent.setDefaultValue(this),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.valueAsType&&(Array.isArray(this.initialData.valueAsType)?this.valueAsType=this.initialData.valueAsType.map(e=>R(e,this.project)):this.valueAsType=R(this.initialData.valueAsType,this.project)),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.subscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.autogeneration=e.autogeneration||this.autogeneration,e.value!==void 0&&(this.value=e.value),this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(i=>i.toFlat(e)):this.valueAsType.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(i=>i.toFlatIds(e)):this.valueAsType.toFlatIds(e):[]])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,autogeneration:this.autogeneration,value:this.value,valueAsType:this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.map(e=>e.toReference()):this.valueAsType.toReference():null,parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,valueAsType:this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.map(e=>e.toReference()):this.valueAsType.toReference():null,value:this.value,autogeneration:this.autogeneration,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(i=>i.toFlatJSON(e)):this.valueAsType.toFlatJSON(e):[]])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,valueAsType:this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.map(e=>e.id):this.valueAsType.id:null,value:this.value,autogeneration:this.autogeneration,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(i=>i.toFlatGenerationTarget(e)):this.valueAsType.toFlatGenerationTarget(e):[]])}clearErrors(){return this.errors=[],this}validate(){const e=R9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors]}getShallowErrors(){return this.errors}clone(e=null,t=null,i=!0){const a=this.toJSON(),s=t||Xt(this.name,r.PrimitiveValue,this.project);a.id=s;const o=fa(a,this.project);return e&&o.setParent(e),i&&o.subscribe(),o}};l(Ee,"MUTABLE_BASE_PROPERTIES",["name","autogeneration","value"]),l(Ee,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(Ee,"BASE_PROPERTIES",[...Ee.MUTABLE_BASE_PROPERTIES,...Ee.INMUTABLE_BASE_PROPERTIES]),l(Ee,"MUTABLE_META_PROPERTIES",[...Ee.MUTABLE_BASE_PROPERTIES]),l(Ee,"INMUTABLE_META_PROPERTIES",[...Ee.INMUTABLE_BASE_PROPERTIES]),l(Ee,"META_PROPERTIES",[...Ee.MUTABLE_META_PROPERTIES,...Ee.INMUTABLE_META_PROPERTIES]),l(Ee,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(Ee,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(Ee,"UPSTREAM_PROPERTIES",[...Ee.MUTABLE_UPSTREAM_PROPERTIES,...Ee.INMUTABLE_UPSTREAM_PROPERTIES]),l(Ee,"MUTABLE_DOWNSTREAM_PROPERTIES",["valueAsType"]),l(Ee,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(Ee,"DOWNSTREAM_PROPERTIES",[...Ee.MUTABLE_DOWNSTREAM_PROPERTIES,...Ee.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(Ee,"PROPERTIES",[...Ee.META_PROPERTIES,...Ee.UPSTREAM_PROPERTIES,...Ee.DOWNSTREAM_PROPERTIES]);let ci=Ee;function v9(n){var s;const e=C4(),t=n.toJSON();e.safeParse(t).success,n.outputs.forEach(o=>o.validate()),(s=n.throws)==null||s.validate();const a=[];return X(n.errors,a)}function g9(n){var s;const e=D4(),t=n.toJSON();e.safeParse(t).success,n.outputs.forEach(o=>o.validate()),(s=n.throws)==null||s.validate();const a=[];return X(n.errors,a)}const Re=class Re{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.ContinueStatement);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"throws",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),o=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),u=e.calledByError.map(m=>{const T=D(m);return t.get(T)}),p={id:e.id,version:1,type:r.ContinueStatement,x:0,y:0,outputs:[],calledBySuccess:o,calledByError:u,calledByEntry:s,throws:null,parent:a},h=R(p,t);return h.setParent(a),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.Loop]}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
154
+ Or 'delete' and then 'post' actions to replace it.`,issue:null})):t.push(new E({id:`${n.id}--${n.parent}--${y.InvalidParentReference}`,code:y.InvalidParentReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a parent reference that isn't pointing to an entity of type 'input-map' or 'data-type'.`,issue:null})):t.push(new E({id:`${n.id}--${n.parent}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}else t.push(new E({id:`${n.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}" is missing a 'parent' reference. The 'parent' of a primitive value entity must be a reference to an entity of type 'input-map' or 'data-type'.`,issue:null}));else return t.push(new E({id:`${n.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}" is missing a 'parent' reference. The 'parent' of a primitive value entity must be a reference to an entity of type 'input-map' or 'data-type'.`,issue:null})),t;if(n.valueAsType){const i=[],a=[],s=n.valueAsType;Array.isArray(s)?s.forEach(o=>{typeof o=="string"?a.push(o):i.push(o)}):typeof s=="string"?a.push(s):i.push(s),i.forEach(o=>{const u=eo(o);t.push(...u),u.length===0&&a.push(o.entityId)}),a.forEach(o=>{const u=e.get(o);u?[r.CustomEntity,r.BuiltInBaseEntity].includes(u.type)||t.push(new E({id:`${n.id}--${o}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'valueAsType' reference that isn't pointing to an entity of type 'custom-entity', 'function-declaration' or 'operation'.`,issue:null})):t.push(new E({id:`${n.id}--${o}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${o}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))})}return t}const Ee=class Ee{constructor(e,t){l(this,"initialData");l(this,"type",r.PrimitiveValue);l(this,"id");l(this,"version");l(this,"name");l(this,"autogeneration",null);l(this,"value",null);l(this,"valueAsType",null);l(this,"errors",[]);l(this,"parent");l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.autogeneration=e.autogeneration,this.value=e.value}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i);let s=null;e.valueAsType&&(Array.isArray(e.valueAsType)?s=e.valueAsType.map(p=>t.get(p)||t.getBuiltIn(p)):s=t.get(e.valueAsType)||t.getBuiltIn(e.valueAsType));const o={id:e.id,version:1,type:r.PrimitiveValue,name:e.name,autogeneration:e.autogeneration,valueAsType:s,value:e.value||null,parent:a},u=R(o,t);return u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=g9(i,t);return a.push(...s,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
155
+ This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent.setDefaultValue(this),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.valueAsType&&(Array.isArray(this.initialData.valueAsType)?this.valueAsType=this.initialData.valueAsType.map(e=>R(e,this.project)):this.valueAsType=R(this.initialData.valueAsType,this.project)),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.subscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.autogeneration=e.autogeneration||this.autogeneration,e.value!==void 0&&(this.value=e.value),this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),{affected:t,self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(i=>i.toFlat(e)):this.valueAsType.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(i=>i.toFlatIds(e)):this.valueAsType.toFlatIds(e):[]])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,autogeneration:this.autogeneration,value:this.value,valueAsType:this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.map(e=>e.toReference()):this.valueAsType.toReference():null,parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,valueAsType:this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.map(e=>e.toReference()):this.valueAsType.toReference():null,value:this.value,autogeneration:this.autogeneration,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(i=>i.toFlatJSON(e)):this.valueAsType.toFlatJSON(e):[]])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,valueAsType:this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.map(e=>e.id):this.valueAsType.id:null,value:this.value,autogeneration:this.autogeneration,parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.valueAsType?Array.isArray(this.valueAsType)?this.valueAsType.flatMap(i=>i.toFlatGenerationTarget(e)):this.valueAsType.toFlatGenerationTarget(e):[]])}clearErrors(){return this.errors=[],this}validate(){const e=v9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors]}getShallowErrors(){return this.errors}clone(e=null,t=null,i=!0){const a=this.toJSON(),s=t||Xt(this.name,r.PrimitiveValue,this.project);a.id=s;const o=fa(a,this.project);return e&&o.setParent(e),i&&o.subscribe(),o}};l(Ee,"MUTABLE_BASE_PROPERTIES",["name","autogeneration","value"]),l(Ee,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(Ee,"BASE_PROPERTIES",[...Ee.MUTABLE_BASE_PROPERTIES,...Ee.INMUTABLE_BASE_PROPERTIES]),l(Ee,"MUTABLE_META_PROPERTIES",[...Ee.MUTABLE_BASE_PROPERTIES]),l(Ee,"INMUTABLE_META_PROPERTIES",[...Ee.INMUTABLE_BASE_PROPERTIES]),l(Ee,"META_PROPERTIES",[...Ee.MUTABLE_META_PROPERTIES,...Ee.INMUTABLE_META_PROPERTIES]),l(Ee,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(Ee,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(Ee,"UPSTREAM_PROPERTIES",[...Ee.MUTABLE_UPSTREAM_PROPERTIES,...Ee.INMUTABLE_UPSTREAM_PROPERTIES]),l(Ee,"MUTABLE_DOWNSTREAM_PROPERTIES",["valueAsType"]),l(Ee,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(Ee,"DOWNSTREAM_PROPERTIES",[...Ee.MUTABLE_DOWNSTREAM_PROPERTIES,...Ee.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(Ee,"PROPERTIES",[...Ee.META_PROPERTIES,...Ee.UPSTREAM_PROPERTIES,...Ee.DOWNSTREAM_PROPERTIES]);let li=Ee;function I9(n){var s;const e=w4(),t=n.toJSON();e.safeParse(t).success,n.outputs.forEach(o=>o.validate()),(s=n.throws)==null||s.validate();const a=[];return X(n.errors,a)}function P9(n){var s;const e=S4(),t=n.toJSON();e.safeParse(t).success,n.outputs.forEach(o=>o.validate()),(s=n.throws)==null||s.validate();const a=[];return X(n.errors,a)}const Re=class Re{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.ContinueStatement);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"throws",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),o=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),u=e.calledByError.map(m=>{const T=D(m);return t.get(T)}),p={id:e.id,version:1,type:r.ContinueStatement,x:0,y:0,outputs:[],calledBySuccess:o,calledByError:u,calledByEntry:s,throws:null,parent:a},h=R(p,t);return h.setParent(a),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.Loop]}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
156
156
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
157
157
  You shouldn't have to manually update a 'parent' property.
158
- Specifically for continue statements the parent needs to always be the 'loop' entity that contains it.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.parent.addContinueStatement(this),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addOutputDeclaration(e){return this.outputs.find(t=>t.id===e.id)||this.outputs.push(e),this}removeOutputDeclaration(e){return this.outputs=this.outputs.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.throws&&(this.throws=R(this.initialData.throws,this.project),this.throws.setParent(this),this.throws.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.throws){const{affected:s,removed:o}=this.throws.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.parent.removeContinueStatement(this),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.throws){const{affected:i}=this.throws.restore({seenEntities:e});t.push(...i)}return this.parent.addContinueStatement(this),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.outputs.flatMap(i=>i.toFlat(e)),...this.calledBy.flatMap(i=>i.toFlat(e)),...this.throws?this.throws.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.calledBy.flatMap(i=>i.toFlatIds(e)),...this.throws?this.throws.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),outputs:this.outputs.map(i=>i.toJSON()),throws:((e=this.throws)==null?void 0:e.toJSON())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,outputs:this.outputs.map(t=>t.toReference()),calledBySuccess:this.calledBySuccess.map(t=>t.toReference()),calledByError:this.calledByError.map(t=>t.toReference()),calledByEntry:this.calledByEntry.map(t=>t.toReference()),throws:((e=this.throws)==null?void 0:e.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.outputs.flatMap(a=>a.toFlatJSON(e)),...this.calledBy.flatMap(a=>a.toFlatJSON(e)),...((i=this.throws)==null?void 0:i.toFlatJSON(e))||[]])}toGenerationTarget(){return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(e=>e.id),calledByError:this.calledByError.map(e=>e.id),calledBySuccess:this.calledBySuccess.map(e=>e.id),parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.throws?this.throws.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.outputs.forEach(t=>t.clearErrors()),(e=this.throws)==null||e.clearErrors(),this}validate(){const e=g9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.outputs.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(e){return new Re(this.toJSON(),this.project)}};l(Re,"MUTABLE_BASE_PROPERTIES",[]),l(Re,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(Re,"BASE_PROPERTIES",[...Re.MUTABLE_BASE_PROPERTIES,...Re.INMUTABLE_BASE_PROPERTIES]),l(Re,"MUTABLE_META_PROPERTIES",["x","y"]),l(Re,"INMUTABLE_META_PROPERTIES",[...Re.INMUTABLE_BASE_PROPERTIES]),l(Re,"META_PROPERTIES",[...Re.MUTABLE_META_PROPERTIES,...Re.INMUTABLE_META_PROPERTIES]),l(Re,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),l(Re,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(Re,"UPSTREAM_PROPERTIES",[...Re.MUTABLE_UPSTREAM_PROPERTIES,...Re.INMUTABLE_UPSTREAM_PROPERTIES]),l(Re,"MUTABLE_DOWNSTREAM_PROPERTIES",["outputs","throws"]),l(Re,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(Re,"DOWNSTREAM_PROPERTIES",[...Re.MUTABLE_DOWNSTREAM_PROPERTIES,...Re.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(Re,"PROPERTIES",[...Re.META_PROPERTIES,...Re.UPSTREAM_PROPERTIES,...Re.DOWNSTREAM_PROPERTIES]);let yt=Re;const it=class it{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.ReturnStatement);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"throws",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),o=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),u=e.calledByError.map(m=>{const T=D(m);return t.get(T)}),p={id:e.id,version:1,type:r.ReturnStatement,x:0,y:0,outputs:[],calledBySuccess:o,calledByError:u,calledByEntry:s,throws:null,parent:a},h=R(p,t);return h.setParent(a),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:st}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
158
+ Specifically for continue statements the parent needs to always be the 'loop' entity that contains it.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.parent.addContinueStatement(this),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addOutputDeclaration(e){return this.outputs.find(t=>t.id===e.id)||this.outputs.push(e),this}removeOutputDeclaration(e){return this.outputs=this.outputs.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.throws&&(this.throws=R(this.initialData.throws,this.project),this.throws.setParent(this),this.throws.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.throws){const{affected:s,removed:o}=this.throws.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.parent.removeContinueStatement(this),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.throws){const{affected:i}=this.throws.restore({seenEntities:e});t.push(...i)}return this.parent.addContinueStatement(this),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.outputs.flatMap(i=>i.toFlat(e)),...this.calledBy.flatMap(i=>i.toFlat(e)),...this.throws?this.throws.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.calledBy.flatMap(i=>i.toFlatIds(e)),...this.throws?this.throws.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),outputs:this.outputs.map(i=>i.toJSON()),throws:((e=this.throws)==null?void 0:e.toJSON())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,outputs:this.outputs.map(t=>t.toReference()),calledBySuccess:this.calledBySuccess.map(t=>t.toReference()),calledByError:this.calledByError.map(t=>t.toReference()),calledByEntry:this.calledByEntry.map(t=>t.toReference()),throws:((e=this.throws)==null?void 0:e.toReference())||null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){var i;return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.outputs.flatMap(a=>a.toFlatJSON(e)),...this.calledBy.flatMap(a=>a.toFlatJSON(e)),...((i=this.throws)==null?void 0:i.toFlatJSON(e))||[]])}toGenerationTarget(){return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(e=>e.id),calledByError:this.calledByError.map(e=>e.id),calledBySuccess:this.calledBySuccess.map(e=>e.id),parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.throws?this.throws.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.outputs.forEach(t=>t.clearErrors()),(e=this.throws)==null||e.clearErrors(),this}validate(){const e=P9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.outputs.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(e){return new Re(this.toJSON(),this.project)}};l(Re,"MUTABLE_BASE_PROPERTIES",[]),l(Re,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(Re,"BASE_PROPERTIES",[...Re.MUTABLE_BASE_PROPERTIES,...Re.INMUTABLE_BASE_PROPERTIES]),l(Re,"MUTABLE_META_PROPERTIES",["x","y"]),l(Re,"INMUTABLE_META_PROPERTIES",[...Re.INMUTABLE_BASE_PROPERTIES]),l(Re,"META_PROPERTIES",[...Re.MUTABLE_META_PROPERTIES,...Re.INMUTABLE_META_PROPERTIES]),l(Re,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),l(Re,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(Re,"UPSTREAM_PROPERTIES",[...Re.MUTABLE_UPSTREAM_PROPERTIES,...Re.INMUTABLE_UPSTREAM_PROPERTIES]),l(Re,"MUTABLE_DOWNSTREAM_PROPERTIES",["outputs","throws"]),l(Re,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(Re,"DOWNSTREAM_PROPERTIES",[...Re.MUTABLE_DOWNSTREAM_PROPERTIES,...Re.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(Re,"PROPERTIES",[...Re.META_PROPERTIES,...Re.UPSTREAM_PROPERTIES,...Re.DOWNSTREAM_PROPERTIES]);let yt=Re;const it=class it{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.ReturnStatement);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"throws",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),o=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),u=e.calledByError.map(m=>{const T=D(m);return t.get(T)}),p={id:e.id,version:1,type:r.ReturnStatement,x:0,y:0,outputs:[],calledBySuccess:o,calledByError:u,calledByEntry:s,throws:null,parent:a},h=R(p,t);return h.setParent(a),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:st}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
159
159
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
160
160
  You shouldn't have to manually update a 'parent' property.
161
- Specifically for return statements the parent needs to always be the 'function-declaration' or 'global-event' that contains it.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.parent.addReturnStatement(this),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addOutputDeclaration(e){return this.outputs.find(t=>t.id===e.id)||this.outputs.push(e),this}removeOutputDeclaration(e){return this.outputs=this.outputs.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.throws&&(this.throws=R(this.initialData.throws,this.project),this.throws.setParent(this),this.throws.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.throws){const{affected:s,removed:o}=this.throws.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.parent.removeReturnStatement(this),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.throws){const{affected:i}=this.throws.restore({seenEntities:e});t.push(...i)}return this.parent.addReturnStatement(this),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.outputs.flatMap(i=>i.toFlat(e)),...this.throws?this.throws.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.throws?this.throws.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),outputs:this.outputs.map(i=>i.toJSON()),parent:((e=this.parent)==null?void 0:e.toReference())||null,throws:((t=this.throws)==null?void 0:t.toJSON())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,outputs:this.outputs.map(i=>i.toReference()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),throws:((e=this.throws)==null?void 0:e.toReference())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.throws?this.throws.toFlatJSON(e):[]])}toGenerationTarget(){return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(e=>e.id),calledByError:this.calledByError.map(e=>e.id),calledBySuccess:this.calledBySuccess.map(e=>e.id),parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.throws?this.throws.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.outputs.forEach(t=>t.clearErrors()),(e=this.throws)==null||e.clearErrors(),this}validate(){const e=v9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.outputs.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(e){return new it(this.toJSON(),this.project)}};l(it,"MUTABLE_BASE_PROPERTIES",[]),l(it,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(it,"BASE_PROPERTIES",[...yt.MUTABLE_BASE_PROPERTIES,...yt.INMUTABLE_BASE_PROPERTIES]),l(it,"MUTABLE_META_PROPERTIES",["x","y"]),l(it,"INMUTABLE_META_PROPERTIES",[...yt.INMUTABLE_BASE_PROPERTIES]),l(it,"META_PROPERTIES",[...yt.MUTABLE_META_PROPERTIES,...yt.INMUTABLE_META_PROPERTIES]),l(it,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),l(it,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(it,"UPSTREAM_PROPERTIES",[...yt.MUTABLE_UPSTREAM_PROPERTIES,...yt.INMUTABLE_UPSTREAM_PROPERTIES]),l(it,"MUTABLE_DOWNSTREAM_PROPERTIES",["outputs","throws"]),l(it,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(it,"DOWNSTREAM_PROPERTIES",[...yt.MUTABLE_DOWNSTREAM_PROPERTIES,...yt.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(it,"PROPERTIES",[...Ot.META_PROPERTIES,...Ot.UPSTREAM_PROPERTIES,...Ot.DOWNSTREAM_PROPERTIES]);let Er=it;function I9(n){var s;const e=x4(),t=n.toJSON();e.safeParse(t).success,n.outputs.forEach(o=>o.validate()),(s=n.throws)==null||s.validate();const a=[];return X(n.errors,a)}const be=class be{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.BreakStatement);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"throws",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),o=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),u=e.calledByError.map(m=>{const T=D(m);return t.get(T)}),p={id:e.id,version:1,type:r.BreakStatement,x:0,y:0,outputs:[],calledBySuccess:o,calledByError:u,calledByEntry:s,throws:null,parent:a},h=R(p,t);return h.setParent(a),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.Loop]}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
161
+ Specifically for return statements the parent needs to always be the 'function-declaration' or 'global-event' that contains it.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.parent.addReturnStatement(this),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addOutputDeclaration(e){return this.outputs.find(t=>t.id===e.id)||this.outputs.push(e),this}removeOutputDeclaration(e){return this.outputs=this.outputs.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.throws&&(this.throws=R(this.initialData.throws,this.project),this.throws.setParent(this),this.throws.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.throws){const{affected:s,removed:o}=this.throws.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.parent.removeReturnStatement(this),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.throws){const{affected:i}=this.throws.restore({seenEntities:e});t.push(...i)}return this.parent.addReturnStatement(this),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.outputs.flatMap(i=>i.toFlat(e)),...this.throws?this.throws.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.throws?this.throws.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),outputs:this.outputs.map(i=>i.toJSON()),parent:((e=this.parent)==null?void 0:e.toReference())||null,throws:((t=this.throws)==null?void 0:t.toJSON())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,outputs:this.outputs.map(i=>i.toReference()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),throws:((e=this.throws)==null?void 0:e.toReference())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.throws?this.throws.toFlatJSON(e):[]])}toGenerationTarget(){return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(e=>e.id),calledByError:this.calledByError.map(e=>e.id),calledBySuccess:this.calledBySuccess.map(e=>e.id),parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.throws?this.throws.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.outputs.forEach(t=>t.clearErrors()),(e=this.throws)==null||e.clearErrors(),this}validate(){const e=I9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.outputs.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(e){return new it(this.toJSON(),this.project)}};l(it,"MUTABLE_BASE_PROPERTIES",[]),l(it,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(it,"BASE_PROPERTIES",[...yt.MUTABLE_BASE_PROPERTIES,...yt.INMUTABLE_BASE_PROPERTIES]),l(it,"MUTABLE_META_PROPERTIES",["x","y"]),l(it,"INMUTABLE_META_PROPERTIES",[...yt.INMUTABLE_BASE_PROPERTIES]),l(it,"META_PROPERTIES",[...yt.MUTABLE_META_PROPERTIES,...yt.INMUTABLE_META_PROPERTIES]),l(it,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),l(it,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(it,"UPSTREAM_PROPERTIES",[...yt.MUTABLE_UPSTREAM_PROPERTIES,...yt.INMUTABLE_UPSTREAM_PROPERTIES]),l(it,"MUTABLE_DOWNSTREAM_PROPERTIES",["outputs","throws"]),l(it,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(it,"DOWNSTREAM_PROPERTIES",[...yt.MUTABLE_DOWNSTREAM_PROPERTIES,...yt.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(it,"PROPERTIES",[...Ot.META_PROPERTIES,...Ot.UPSTREAM_PROPERTIES,...Ot.DOWNSTREAM_PROPERTIES]);let Tr=it;function D9(n){var s;const e=k4(),t=n.toJSON();e.safeParse(t).success,n.outputs.forEach(o=>o.validate()),(s=n.throws)==null||s.validate();const a=[];return X(n.errors,a)}const be=class be{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.BreakStatement);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"throws",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestion",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){const i=D(e.parent),a=t.get(i),s=e.calledByEntry.map(m=>{const T=D(m);return t.get(T)}),o=e.calledBySuccess.map(m=>{const T=D(m);return t.get(T)}),u=e.calledByError.map(m=>{const T=D(m);return t.get(T)}),p={id:e.id,version:1,type:r.BreakStatement,x:0,y:0,outputs:[],calledBySuccess:o,calledByError:u,calledByEntry:s,throws:null,parent:a},h=R(p,t);return h.setParent(a),h.initChildren(),h}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.Loop]}},t);return i=s.modifiedData,a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
162
162
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
163
163
  You shouldn't have to manually update a 'parent' property.
164
- Specifically for break statements the parent needs to always be the 'loop' entity that contains it.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.parent.addBreakStatement(this),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addOutputDeclaration(e){return this.outputs.find(t=>t.id===e.id)||this.outputs.push(e),this}removeOutputDeclaration(e){return this.outputs=this.outputs.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.throws&&(this.throws=R(this.initialData.throws,this.project),this.throws.setParent(this),this.throws.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.throws){const{affected:s,removed:o}=this.throws.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.parent.removeBreakStatement(this),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.throws){const{affected:i}=this.throws.restore({seenEntities:e});t.push(...i)}return this.parent.addBreakStatement(this),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.outputs.flatMap(i=>i.toFlat(e)),...this.throws?this.throws.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.throws?this.throws.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,outputs:this.outputs.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),parent:((e=this.parent)==null?void 0:e.toReference())||null,throws:((t=this.throws)==null?void 0:t.toJSON())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,outputs:this.outputs.map(i=>i.toReference()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),throws:((e=this.throws)==null?void 0:e.toReference())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.throws?this.throws.toFlatJSON(e):[]])}toGenerationTarget(){return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(e=>e.id),calledByError:this.calledByError.map(e=>e.id),calledBySuccess:this.calledBySuccess.map(e=>e.id),parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.throws?this.throws.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.outputs.forEach(t=>t.clearErrors()),(e=this.throws)==null||e.clearErrors(),this}validate(){const e=I9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.outputs.flatMap(t=>t.getErrors()),...this.throws?this.throws.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new be(this.toJSON(),this.project)}};l(be,"MUTABLE_BASE_PROPERTIES",[]),l(be,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(be,"BASE_PROPERTIES",[...be.MUTABLE_BASE_PROPERTIES,...be.INMUTABLE_BASE_PROPERTIES]),l(be,"MUTABLE_META_PROPERTIES",["x","y"]),l(be,"INMUTABLE_META_PROPERTIES",[...be.INMUTABLE_BASE_PROPERTIES]),l(be,"META_PROPERTIES",[...be.MUTABLE_META_PROPERTIES,...be.INMUTABLE_META_PROPERTIES]),l(be,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),l(be,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(be,"UPSTREAM_PROPERTIES",[...be.MUTABLE_UPSTREAM_PROPERTIES,...be.INMUTABLE_UPSTREAM_PROPERTIES]),l(be,"MUTABLE_DOWNSTREAM_PROPERTIES",["outputs","throws"]),l(be,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(be,"DOWNSTREAM_PROPERTIES",[...be.MUTABLE_DOWNSTREAM_PROPERTIES,...be.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(be,"PROPERTIES",[...be.META_PROPERTIES,...be.UPSTREAM_PROPERTIES,...be.DOWNSTREAM_PROPERTIES]);let di=be;function P9(n){var s,o;const e=fb(),t=n.toJSON();e.safeParse(t).success,n.fixedArguments.flatMap(u=>u.validate()),n.fixedReturns.flatMap(u=>u.validate()),(s=n.dynamicArgumentTypes)==null||s.validate(),(o=n.dynamicReturnTypes)==null||o.validate();const a=[];return X(n.errors,a)}const de=class de{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"argumentsType");l(this,"returnsType");l(this,"type",r.ActionDescriptor);l(this,"fixedArguments",[]);l(this,"fixedReturns",[]);l(this,"error",null);l(this,"dynamicArgumentTypes",null);l(this,"dynamicReturnTypes",null);l(this,"implementation",null);l(this,"parent",null);l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.argumentsType=e.argumentsType,this.returnsType=e.returnsType}static fromGenerationTarget(e,t){let i=null;if(e.parent){const o=D(e.parent);i=t.get(o)}const a={id:e.id,version:1,name:e.name,type:r.ActionDescriptor,description:e.description,dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:e.argumentsType,returnsType:e.returnsType,fixedArguments:[],fixedReturns:[],error:null,parent:i},s=R(a,t);return i&&s.setParent(i),s.initChildren(),s}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.CustomEntity,r.DataType]}},t);i=s.modifiedData;const o=i.parent?t.get(i.parent):null;if(o&&o.type===r.CustomEntity){const u=o,h=Fn(u).filter(m=>!m.interactive);if(h.length){let m=h.length>1?`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${u.id}' because it extends or implements multiple '${r.BuiltInBaseEntity}' entities that are non-interactive ("${N(h.map(T=>A(T,T.project)),'", "','" and "')}").`:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${u.id}' because it extends or implements a '${r.BuiltInBaseEntity}' entity that is non-interactive ("${A(h[0],h[0].project)}").`;m+=`
165
- ${Ln}`,a.push(new E({id:`${e.id}--${y.NonInteractiveEntityReferenced}`,code:y.NonInteractiveEntityReferenced,severity:f.Error,message:m,issue:null}))}}else if(o&&o.type===r.DataType){const u=o;u.entity&&a.push(new E({id:`${e.id}--${y.NewEntityWouldOverriteExisting}`,code:y.NewEntityWouldOverriteExisting,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${u.id}' because it already has an 'entity' child. Data type entities can only have one 'entity' as children.
164
+ Specifically for break statements the parent needs to always be the 'loop' entity that contains it.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.calledByEntry.forEach(e=>{e.addCall(this)}),this.calledBySuccess.forEach(e=>{e.addSuccessCall(this)}),this.calledByError.forEach(e=>{e.addErrorCall(this)}),this.parent.addBreakStatement(this),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}addOutputDeclaration(e){return this.outputs.find(t=>t.id===e.id)||this.outputs.push(e),this}removeOutputDeclaration(e){return this.outputs=this.outputs.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.outputs=this.initialData.outputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.throws&&(this.throws=R(this.initialData.throws,this.project),this.throws.setParent(this),this.throws.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.outputs.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.throws){const{affected:s,removed:o}=this.throws.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return this.parent.removeBreakStatement(this),e||this.calledBy.forEach(s=>{i.push(s),s.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.throws){const{affected:i}=this.throws.restore({seenEntities:e});t.push(...i)}return this.parent.addBreakStatement(this),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.outputs.flatMap(i=>i.toFlat(e)),...this.throws?this.throws.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.outputs.flatMap(i=>i.toFlatIds(e)),...this.throws?this.throws.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,outputs:this.outputs.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),parent:((e=this.parent)==null?void 0:e.toReference())||null,throws:((t=this.throws)==null?void 0:t.toJSON())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,outputs:this.outputs.map(i=>i.toReference()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),throws:((e=this.throws)==null?void 0:e.toReference())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.throws?this.throws.toFlatJSON(e):[]])}toGenerationTarget(){return{id:this.id,type:this.type,calledByEntry:this.calledByEntry.map(e=>e.id),calledByError:this.calledByError.map(e=>e.id),calledBySuccess:this.calledBySuccess.map(e=>e.id),parent:this.parent.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.throws?this.throws.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],this.outputs.forEach(t=>t.clearErrors()),(e=this.throws)==null||e.clearErrors(),this}validate(){const e=D9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.outputs.flatMap(t=>t.getErrors()),...this.throws?this.throws.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new be(this.toJSON(),this.project)}};l(be,"MUTABLE_BASE_PROPERTIES",[]),l(be,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(be,"BASE_PROPERTIES",[...be.MUTABLE_BASE_PROPERTIES,...be.INMUTABLE_BASE_PROPERTIES]),l(be,"MUTABLE_META_PROPERTIES",["x","y"]),l(be,"INMUTABLE_META_PROPERTIES",[...be.INMUTABLE_BASE_PROPERTIES]),l(be,"META_PROPERTIES",[...be.MUTABLE_META_PROPERTIES,...be.INMUTABLE_META_PROPERTIES]),l(be,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry","parent"]),l(be,"INMUTABLE_UPSTREAM_PROPERTIES",[]),l(be,"UPSTREAM_PROPERTIES",[...be.MUTABLE_UPSTREAM_PROPERTIES,...be.INMUTABLE_UPSTREAM_PROPERTIES]),l(be,"MUTABLE_DOWNSTREAM_PROPERTIES",["outputs","throws"]),l(be,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(be,"DOWNSTREAM_PROPERTIES",[...be.MUTABLE_DOWNSTREAM_PROPERTIES,...be.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(be,"PROPERTIES",[...be.META_PROPERTIES,...be.UPSTREAM_PROPERTIES,...be.DOWNSTREAM_PROPERTIES]);let ci=be;function A9(n){var s,o;const e=mb(),t=n.toJSON();e.safeParse(t).success,n.fixedArguments.flatMap(u=>u.validate()),n.fixedReturns.flatMap(u=>u.validate()),(s=n.dynamicArgumentTypes)==null||s.validate(),(o=n.dynamicReturnTypes)==null||o.validate();const a=[];return X(n.errors,a)}const de=class de{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"argumentsType");l(this,"returnsType");l(this,"type",r.ActionDescriptor);l(this,"fixedArguments",[]);l(this,"fixedReturns",[]);l(this,"error",null);l(this,"dynamicArgumentTypes",null);l(this,"dynamicReturnTypes",null);l(this,"implementation",null);l(this,"parent",null);l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.argumentsType=e.argumentsType,this.returnsType=e.returnsType}static fromGenerationTarget(e,t){let i=null;if(e.parent){const o=D(e.parent);i=t.get(o)}const a={id:e.id,version:1,name:e.name,type:r.ActionDescriptor,description:e.description,dynamicArgumentTypes:null,dynamicReturnTypes:null,argumentsType:e.argumentsType,returnsType:e.returnsType,fixedArguments:[],fixedReturns:[],error:null,parent:i},s=R(a,t);return i&&s.setParent(i),s.initChildren(),s}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.CustomEntity,r.DataType]}},t);i=s.modifiedData;const o=i.parent?t.get(i.parent):null;if(o&&o.type===r.CustomEntity){const u=o,h=Gn(u).filter(m=>!m.interactive);if(h.length){let m=h.length>1?`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${u.id}' because it extends or implements multiple '${r.BuiltInBaseEntity}' entities that are non-interactive ("${N(h.map(T=>A(T,T.project)),'", "','" and "')}").`:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${u.id}' because it extends or implements a '${r.BuiltInBaseEntity}' entity that is non-interactive ("${A(h[0],h[0].project)}").`;m+=`
165
+ ${Vn}`,a.push(new E({id:`${e.id}--${y.NonInteractiveEntityReferenced}`,code:y.NonInteractiveEntityReferenced,severity:f.Error,message:m,issue:null}))}}else if(o&&o.type===r.DataType){const u=o;u.entity&&a.push(new E({id:`${e.id}--${y.NewEntityWouldOverriteExisting}`,code:y.NewEntityWouldOverriteExisting,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${u.id}' because it already has an 'entity' child. Data type entities can only have one 'entity' as children.
166
166
  You can inspect the existing 'entity' field with the 'describe_entity' action. Like so:
167
167
  ${Qt({describe_entity:u.entity.id})}
168
168
  Alternatively you can update the parent data-type entity with 'update' action to remove the existing value of the field.`,issue:null}))}return a.push(...s.errors,...Pe(i)),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated, as it would mean moving the '${this.type}' entity to another parent entity.
169
- This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent?(this.parent.type===r.CustomEntity?this.parent.addAbstractMethod(this):this.parent.type===r.DataType&&this.parent.setEntity(this),this):this}setParent(e){return this.parent=e,this}setDynamicReturnTypes(e){return this.dynamicReturnTypes=e,this}setDynamicArgumentTypes(e){return this.dynamicArgumentTypes=e,this}removeDynamicArgumentTypes(){return this.dynamicArgumentTypes=null,this}removeDynamicReturnTypes(){return this.dynamicReturnTypes=null,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.fixedArguments=this.initialData.fixedArguments.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.fixedReturns=this.initialData.fixedReturns.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.dynamicArgumentTypes&&(this.dynamicArgumentTypes=R(this.initialData.dynamicArgumentTypes,this.project),this.dynamicArgumentTypes.setParent(this),this.dynamicArgumentTypes.initChildren()),this.initialData.dynamicReturnTypes&&(this.dynamicReturnTypes=R(this.initialData.dynamicReturnTypes,this.project),this.dynamicReturnTypes.setParent(this),this.dynamicReturnTypes.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.argumentsType=e.argumentsType||this.argumentsType,this.returnsType=e.returnsType||this.returnsType,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.fixedArguments.forEach(s=>{const o=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o.affected),a.push(...o.removed)}),this.fixedReturns.forEach(s=>{const o=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o.affected),a.push(...o.removed)}),this.dynamicArgumentTypes){const s=this.dynamicArgumentTypes.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}if(this.dynamicReturnTypes){const s=this.dynamicReturnTypes.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}if(this.error){const s=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.fixedArguments.forEach(i=>{const a=i.restore({seenEntities:e});t.push(...a.affected)}),this.fixedReturns.forEach(i=>{const a=i.restore({seenEntities:e});t.push(...a.affected)}),this.dynamicArgumentTypes){const i=this.dynamicArgumentTypes.restore({seenEntities:e});t.push(...i.affected)}if(this.dynamicReturnTypes){const i=this.dynamicReturnTypes.restore({seenEntities:e});t.push(...i.affected)}if(this.error){const i=this.error.restore({seenEntities:e});t.push(...i.affected)}return{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.fixedArguments.flatMap(i=>i.toFlat(e)),...this.fixedReturns.flatMap(i=>i.toFlat(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlat(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.fixedArguments.flatMap(i=>i.toFlatIds(e)),...this.fixedReturns.flatMap(i=>i.toFlatIds(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlatIds(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlatIds(e):[]])}toJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,argumentsType:this.argumentsType,returnsType:this.returnsType,error:((e=this.error)==null?void 0:e.toJSON())||null,fixedArguments:this.fixedArguments.map(s=>s.toJSON()),fixedReturns:this.fixedReturns.map(s=>s.toJSON()),dynamicArgumentTypes:((t=this.dynamicArgumentTypes)==null?void 0:t.toJSON())||null,dynamicReturnTypes:((i=this.dynamicReturnTypes)==null?void 0:i.toJSON())||null,parent:((a=this.parent)==null?void 0:a.toReference())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,argumentsType:this.argumentsType,returnsType:this.returnsType,error:((e=this.error)==null?void 0:e.toReference())||null,fixedArguments:this.fixedArguments.map(s=>s.toReference()),fixedReturns:this.fixedReturns.map(s=>s.toReference()),dynamicArgumentTypes:((t=this.dynamicArgumentTypes)==null?void 0:t.toReference())||null,dynamicReturnTypes:((i=this.dynamicReturnTypes)==null?void 0:i.toReference())||null,parent:((a=this.parent)==null?void 0:a.toReference())||null}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.fixedArguments.flatMap(i=>i.toFlatJSON(e)),...this.fixedReturns.flatMap(i=>i.toFlatJSON(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlatJSON(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlatJSON(e):[]])}toGenerationTarget(){var e;return{id:this.id,name:this.name,description:this.description,type:this.type,argumentsType:this.argumentsType,returnsType:this.returnsType,parent:((e=this.parent)==null?void 0:e.id)||void 0}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.fixedArguments.flatMap(i=>i.toFlatGenerationTarget(e)),...this.fixedReturns.flatMap(i=>i.toFlatGenerationTarget(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlatGenerationTarget(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlatGenerationTarget(e):[]])}implementAsFunctionDeclaration(e){var s;const t=this.fixedArguments.map((o,u)=>{var h;const p={id:e+"--"+o.id+"--parent-ref",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:e};return{id:e+"--"+o.id,version:o.version,type:r.ArgumentDeclaration,name:o.name,required:o.required,writesValues:[],description:o.description,index:u,dataType:((h=o.dataType)==null?void 0:h.toJSON())||null,parent:p}}),i=[],a=[];if(this.fixedReturns.length){const o=this.fixedReturns.map((m,T)=>{var I;const b={id:e+"--return-statement--"+m.id+"--parent-ref",type:r.GenericReference,entityId:e,entityType:r.ReturnStatement};return{id:e+"--"+m.id,version:m.version,type:r.ReturnDeclaration,name:m.name,description:m.description,readsValue:null,required:m.required,isError:!1,index:T,dataType:((I=m.dataType)==null?void 0:I.toJSON())||null,parent:b}}),u={id:e+"--return-statement-parent-ref",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:e},p={id:e+"--return-statement-called-by-ref",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:e},h={id:e+"--return-statement",version:this.version,type:r.ReturnStatement,outputs:o,throws:null,calledBySuccess:[],calledByError:[],calledByEntry:[p],parent:u,x:0,y:0};i.push(h),a.push(h)}return{id:e,version:this.version,type:r.FunctionDeclaration,name:this.name,description:this.description,inputs:t,returnStatements:i,calls:a,collapsed:!1,private:!1,implements:this.toJSON(),index:0,parent:((s=this.parent)==null?void 0:s.toReference())||null,x:0,y:0}}implementAsLoop(e){const t=e||this.project,i=this.id+"--instance-"+$.UUID.fromUUID($.UUID.uuid()),a={id:i,version:this.version,type:r.Loop,declaration:this.toJSON(),inputs:[],outputs:[],error:null,process:null,successCalls:[],errorCalls:[],calledByEntry:[],calledByError:[],calledBySuccess:[],breakStatements:[],continueStatements:[],body:null,x:0,y:0,parent:t.toReference()};this.fixedArguments.forEach((u,p)=>{const m={id:u.toReference().id+"--input-map-id",version:this.version,type:r.InputMap,name:null,description:null,declaration:u,defaultValue:null,readsValue:null,index:p,dynamicArguments:[],parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:i,entityType:r.Loop}};a.inputs.push(m)}),this.fixedReturns.forEach((u,p)=>{const m={id:u.toReference().id+"--output-map-id",version:this.version,type:r.OutputMap,declaration:u,writesValues:[],index:p,parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:i,entityType:r.Loop}};a.outputs.push(m)});const s={id:i+"--body-function-declaration-id",version:this.version,type:r.FunctionDeclaration,name:"body",description:null,inputs:[],returnStatements:[],calls:[],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:i,entityType:r.Loop}};s.inputs=[{id:$.UUID.uuid(),version:this.version,type:r.ArgumentDeclaration,name:"Current iteration number",description:"The number of the current iteration of the loop. Starts at 1.",dataType:null,required:!0,writesValues:[],index:0,parent:{id:s.id,type:r.GenericReference,entityId:s.id,entityType:r.FunctionDeclaration}},{id:$.UUID.uuid(),version:this.version,type:r.ArgumentDeclaration,name:"Previous iterations results",description:"The results of the previous iterations of the loop.",dataType:null,required:!0,writesValues:[],index:1,parent:{id:s.id,type:r.GenericReference,entityId:s.id,entityType:r.FunctionDeclaration}}],a.body=s;const o=R(a,this.project);return o.setParent(t),o.initChildren(),o}implementAsOperation(e,t){const i=e||this.project,a=t||this.id+"--instance-"+$.UUID.fromUUID($.UUID.uuid()),s={id:a,version:this.version,type:r.Operation,declaration:this.toJSON(),inputs:[],outputs:[],error:null,successCalls:[],errorCalls:[],process:null,dynamicArguments:[],calledByEntry:[],calledByError:[],calledBySuccess:[],x:0,y:0,parent:i.toReference()};if(this.fixedArguments.forEach((u,p)=>{const h={id:a+Xt(u.name,r.InputMap,this.project),version:this.version,type:r.InputMap,name:null,description:null,declaration:u,defaultValue:null,readsValue:null,index:p,dynamicArguments:[],parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:a,entityType:r.Operation}};s.inputs.push(h)}),this.fixedReturns.forEach((u,p)=>{const h={id:a+Xt(u.name,r.OutputMap,this.project),version:this.version,type:r.OutputMap,declaration:u,writesValues:[],index:p,parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:a,entityType:r.Operation}};s.outputs.push(h)}),this.error){const p={id:this.error.toReference().id+"--error-map",version:this.version,type:r.OutputMap,declaration:this.error,writesValues:[],index:-1,parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:a,entityType:r.Operation}};s.error=p}const o=R(s,this.project);return o.setParent(i),o.initChildren(),o}implementAsCondition(e){const t=e||this.project,i=this.id+"--instance-"+$.UUID.fromUUID($.UUID.uuid()),a={id:i,version:this.version,type:r.Condition,declaration:this.toJSON(),operator:null,inputs:[],successCalls:[],errorCalls:[],calledByEntry:[],calledByError:[],calledBySuccess:[],x:0,y:0,parent:t.toReference()};this.fixedArguments.forEach((o,u)=>{const p={id:i+Xt(o.name,r.InputMap,this.project),version:this.version,type:r.InputMap,name:null,description:null,declaration:o,defaultValue:null,readsValue:null,index:u,dynamicArguments:[],parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:i,entityType:r.Condition}};a.inputs.push(p)});const s=R(a,this.project);return s.setParent(t),s.initChildren(),s}clearErrors(){var e,t,i;return this.errors=[],this.fixedArguments.forEach(a=>a.clearErrors()),this.fixedReturns.forEach(a=>a.clearErrors()),(e=this.dynamicArgumentTypes)==null||e.clearErrors(),(t=this.dynamicReturnTypes)==null||t.clearErrors(),(i=this.error)==null||i.clearErrors(),this}validate(){const e=P9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.fixedArguments.flatMap(t=>t.getErrors()),...this.fixedReturns.flatMap(t=>t.getErrors()),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.getErrors():[],...this.dynamicReturnTypes?this.dynamicReturnTypes.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new de(this.toJSON(),this.project)}setDynamicArgumentsDataType(e){return this.dynamicArgumentTypes=e,this}setDynamicReturnsDataType(e){return this.dynamicReturnTypes=e,this}addFixedArgument(e){return this.fixedArguments.find(t=>t.id===e.id)||this.fixedArguments.push(e),this}removeFixedArgument(e){return this.fixedArguments=this.fixedArguments.filter(t=>t.id!==e.id),this}addFixedReturn(e){return this.fixedReturns.find(t=>t.id===e.id)||this.fixedReturns.push(e),this}removeFixedReturn(e){return this.fixedReturns=this.fixedReturns.filter(t=>t.id!==e.id),this}};l(de,"MUTABLE_BASE_PROPERTIES",["name","description","argumentsType","returnsType"]),l(de,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(de,"BASE_PROPERTIES",[...de.MUTABLE_BASE_PROPERTIES,...de.INMUTABLE_BASE_PROPERTIES]),l(de,"MUTABLE_META_PROPERTIES",[...de.MUTABLE_BASE_PROPERTIES]),l(de,"INMUTABLE_META_PROPERTIES",[...de.INMUTABLE_BASE_PROPERTIES]),l(de,"META_PROPERTIES",[...de.MUTABLE_META_PROPERTIES,...de.INMUTABLE_META_PROPERTIES]),l(de,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(de,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(de,"UPSTREAM_PROPERTIES",[...de.MUTABLE_UPSTREAM_PROPERTIES,...de.INMUTABLE_UPSTREAM_PROPERTIES]),l(de,"MUTABLE_DOWNSTREAM_PROPERTIES",["dynamicArgumentTypes","dynamicReturnTypes","fixedArguments","fixedReturns"]),l(de,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(de,"DOWNSTREAM_PROPERTIES",[...de.MUTABLE_DOWNSTREAM_PROPERTIES,...de.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(de,"PROPERTIES",[...de.META_PROPERTIES,...de.UPSTREAM_PROPERTIES,...de.DOWNSTREAM_PROPERTIES]);let _e=de;function D9(n){var s;const e=t4(),t=n.toJSON();e.safeParse(t).success,(s=n.dataType)==null||s.validate();const a=[];return X(n.errors,a)}const ue=class ue{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"index");l(this,"required");l(this,"parentRelationType");l(this,"type",r.ValueDescriptor);l(this,"dataType",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.index=e.index,this.required=e.required,this.parentRelationType=e.parentRelationType}static fromGenerationTarget(e,t){const i=e.parent?D(e.parent):null,a=i?t.get(i):null,s=e.parentRelationType===C.FixedArguments?a==null?void 0:a.fixedArguments.length:a==null?void 0:a.fixedReturns.length,o={id:e.id,version:1,name:e.name,type:r.ValueDescriptor,index:s||0,description:e.description,required:e.required,parentRelationType:e.parentRelationType,dataType:null,parent:a},u=R(o,t);return a&&u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.ActionDescriptor]}},t);i=s.modifiedData,a.push(...s.errors,...Pe(i));const o=i.parent&&t.get(i.parent),u=o&&Ir(o);return u&&u.type===r.ActionDescriptor&&a.push(new E({id:`${e.id}--${y.BuiltInEntityParent}`,code:y.BuiltInEntityParent,severity:f.Error,message:`Entity of type "${e.type}" with id "${e.id}", has a parent that is a built-in entity "${u.name}" of type '${u.type}' with id '${u.id}'.
169
+ This is likely an incorrect strategy, either the '${this.type}' entity doesn't need to be updated or it should be deleted and a new one created in the desired parent.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){return this.parent?(this.parent.type===r.CustomEntity?this.parent.addAbstractMethod(this):this.parent.type===r.DataType&&this.parent.setEntity(this),this):this}setParent(e){return this.parent=e,this}setDynamicReturnTypes(e){return this.dynamicReturnTypes=e,this}setDynamicArgumentTypes(e){return this.dynamicArgumentTypes=e,this}removeDynamicArgumentTypes(){return this.dynamicArgumentTypes=null,this}removeDynamicReturnTypes(){return this.dynamicReturnTypes=null,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.fixedArguments=this.initialData.fixedArguments.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.fixedReturns=this.initialData.fixedReturns.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initialData.dynamicArgumentTypes&&(this.dynamicArgumentTypes=R(this.initialData.dynamicArgumentTypes,this.project),this.dynamicArgumentTypes.setParent(this),this.dynamicArgumentTypes.initChildren()),this.initialData.dynamicReturnTypes&&(this.dynamicReturnTypes=R(this.initialData.dynamicReturnTypes,this.project),this.dynamicReturnTypes.setParent(this),this.dynamicReturnTypes.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.argumentsType=e.argumentsType||this.argumentsType,this.returnsType=e.returnsType||this.returnsType,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.fixedArguments.forEach(s=>{const o=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o.affected),a.push(...o.removed)}),this.fixedReturns.forEach(s=>{const o=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o.affected),a.push(...o.removed)}),this.dynamicArgumentTypes){const s=this.dynamicArgumentTypes.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}if(this.dynamicReturnTypes){const s=this.dynamicReturnTypes.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}if(this.error){const s=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s.affected),a.push(...s.removed)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.fixedArguments.forEach(i=>{const a=i.restore({seenEntities:e});t.push(...a.affected)}),this.fixedReturns.forEach(i=>{const a=i.restore({seenEntities:e});t.push(...a.affected)}),this.dynamicArgumentTypes){const i=this.dynamicArgumentTypes.restore({seenEntities:e});t.push(...i.affected)}if(this.dynamicReturnTypes){const i=this.dynamicReturnTypes.restore({seenEntities:e});t.push(...i.affected)}if(this.error){const i=this.error.restore({seenEntities:e});t.push(...i.affected)}return{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.fixedArguments.flatMap(i=>i.toFlat(e)),...this.fixedReturns.flatMap(i=>i.toFlat(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlat(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.fixedArguments.flatMap(i=>i.toFlatIds(e)),...this.fixedReturns.flatMap(i=>i.toFlatIds(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlatIds(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlatIds(e):[]])}toJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,argumentsType:this.argumentsType,returnsType:this.returnsType,error:((e=this.error)==null?void 0:e.toJSON())||null,fixedArguments:this.fixedArguments.map(s=>s.toJSON()),fixedReturns:this.fixedReturns.map(s=>s.toJSON()),dynamicArgumentTypes:((t=this.dynamicArgumentTypes)==null?void 0:t.toJSON())||null,dynamicReturnTypes:((i=this.dynamicReturnTypes)==null?void 0:i.toJSON())||null,parent:((a=this.parent)==null?void 0:a.toReference())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t,i,a;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,argumentsType:this.argumentsType,returnsType:this.returnsType,error:((e=this.error)==null?void 0:e.toReference())||null,fixedArguments:this.fixedArguments.map(s=>s.toReference()),fixedReturns:this.fixedReturns.map(s=>s.toReference()),dynamicArgumentTypes:((t=this.dynamicArgumentTypes)==null?void 0:t.toReference())||null,dynamicReturnTypes:((i=this.dynamicReturnTypes)==null?void 0:i.toReference())||null,parent:((a=this.parent)==null?void 0:a.toReference())||null}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.fixedArguments.flatMap(i=>i.toFlatJSON(e)),...this.fixedReturns.flatMap(i=>i.toFlatJSON(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlatJSON(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlatJSON(e):[]])}toGenerationTarget(){var e;return{id:this.id,name:this.name,description:this.description,type:this.type,argumentsType:this.argumentsType,returnsType:this.returnsType,parent:((e=this.parent)==null?void 0:e.id)||void 0}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.fixedArguments.flatMap(i=>i.toFlatGenerationTarget(e)),...this.fixedReturns.flatMap(i=>i.toFlatGenerationTarget(e)),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.toFlatGenerationTarget(e):[],...this.dynamicReturnTypes?this.dynamicReturnTypes.toFlatGenerationTarget(e):[]])}implementAsFunctionDeclaration(e){var s;const t=this.fixedArguments.map((o,u)=>{var h;const p={id:e+"--"+o.id+"--parent-ref",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:e};return{id:e+"--"+o.id,version:o.version,type:r.ArgumentDeclaration,name:o.name,required:o.required,writesValues:[],description:o.description,index:u,dataType:((h=o.dataType)==null?void 0:h.toJSON())||null,parent:p}}),i=[],a=[];if(this.fixedReturns.length){const o=this.fixedReturns.map((m,T)=>{var I;const b={id:e+"--return-statement--"+m.id+"--parent-ref",type:r.GenericReference,entityId:e,entityType:r.ReturnStatement};return{id:e+"--"+m.id,version:m.version,type:r.ReturnDeclaration,name:m.name,description:m.description,readsValue:null,required:m.required,isError:!1,index:T,dataType:((I=m.dataType)==null?void 0:I.toJSON())||null,parent:b}}),u={id:e+"--return-statement-parent-ref",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:e},p={id:e+"--return-statement-called-by-ref",type:r.GenericReference,entityType:r.FunctionDeclaration,entityId:e},h={id:e+"--return-statement",version:this.version,type:r.ReturnStatement,outputs:o,throws:null,calledBySuccess:[],calledByError:[],calledByEntry:[p],parent:u,x:0,y:0};i.push(h),a.push(h)}return{id:e,version:this.version,type:r.FunctionDeclaration,name:this.name,description:this.description,inputs:t,returnStatements:i,calls:a,collapsed:!1,private:!1,implements:this.toJSON(),index:0,parent:((s=this.parent)==null?void 0:s.toReference())||null,x:0,y:0}}implementAsLoop(e){const t=e||this.project,i=this.id+"--instance-"+$.UUID.fromUUID($.UUID.uuid()),a={id:i,version:this.version,type:r.Loop,declaration:this.toJSON(),inputs:[],outputs:[],error:null,process:null,successCalls:[],errorCalls:[],calledByEntry:[],calledByError:[],calledBySuccess:[],breakStatements:[],continueStatements:[],body:null,x:0,y:0,parent:t.toReference()};this.fixedArguments.forEach((u,p)=>{const m={id:u.toReference().id+"--input-map-id",version:this.version,type:r.InputMap,name:null,description:null,declaration:u,defaultValue:null,readsValue:null,index:p,dynamicArguments:[],parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:i,entityType:r.Loop}};a.inputs.push(m)}),this.fixedReturns.forEach((u,p)=>{const m={id:u.toReference().id+"--output-map-id",version:this.version,type:r.OutputMap,declaration:u,writesValues:[],index:p,parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:i,entityType:r.Loop}};a.outputs.push(m)});const s={id:i+"--body-function-declaration-id",version:this.version,type:r.FunctionDeclaration,name:"body",description:null,inputs:[],returnStatements:[],calls:[],implements:null,index:null,collapsed:!1,private:!1,x:0,y:0,parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:i,entityType:r.Loop}};s.inputs=[{id:$.UUID.uuid(),version:this.version,type:r.ArgumentDeclaration,name:"Current iteration number",description:"The number of the current iteration of the loop. Starts at 1.",dataType:null,required:!0,writesValues:[],index:0,parent:{id:s.id,type:r.GenericReference,entityId:s.id,entityType:r.FunctionDeclaration}},{id:$.UUID.uuid(),version:this.version,type:r.ArgumentDeclaration,name:"Previous iterations results",description:"The results of the previous iterations of the loop.",dataType:null,required:!0,writesValues:[],index:1,parent:{id:s.id,type:r.GenericReference,entityId:s.id,entityType:r.FunctionDeclaration}}],a.body=s;const o=R(a,this.project);return o.setParent(t),o.initChildren(),o}implementAsOperation(e,t){const i=e||this.project,a=t||this.id+"--instance-"+$.UUID.fromUUID($.UUID.uuid()),s={id:a,version:this.version,type:r.Operation,declaration:this.toJSON(),inputs:[],outputs:[],error:null,successCalls:[],errorCalls:[],process:null,dynamicArguments:[],calledByEntry:[],calledByError:[],calledBySuccess:[],x:0,y:0,parent:i.toReference()};if(this.fixedArguments.forEach((u,p)=>{const h={id:a+Xt(u.name,r.InputMap,this.project),version:this.version,type:r.InputMap,name:null,description:null,declaration:u,defaultValue:null,readsValue:null,index:p,dynamicArguments:[],parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:a,entityType:r.Operation}};s.inputs.push(h)}),this.fixedReturns.forEach((u,p)=>{const h={id:a+Xt(u.name,r.OutputMap,this.project),version:this.version,type:r.OutputMap,declaration:u,writesValues:[],index:p,parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:a,entityType:r.Operation}};s.outputs.push(h)}),this.error){const p={id:this.error.toReference().id+"--error-map",version:this.version,type:r.OutputMap,declaration:this.error,writesValues:[],index:-1,parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:a,entityType:r.Operation}};s.error=p}const o=R(s,this.project);return o.setParent(i),o.initChildren(),o}implementAsCondition(e){const t=e||this.project,i=this.id+"--instance-"+$.UUID.fromUUID($.UUID.uuid()),a={id:i,version:this.version,type:r.Condition,declaration:this.toJSON(),operator:null,inputs:[],successCalls:[],errorCalls:[],calledByEntry:[],calledByError:[],calledBySuccess:[],x:0,y:0,parent:t.toReference()};this.fixedArguments.forEach((o,u)=>{const p={id:i+Xt(o.name,r.InputMap,this.project),version:this.version,type:r.InputMap,name:null,description:null,declaration:o,defaultValue:null,readsValue:null,index:u,dynamicArguments:[],parent:{id:$.UUID.uuid(),type:r.GenericReference,entityId:i,entityType:r.Condition}};a.inputs.push(p)});const s=R(a,this.project);return s.setParent(t),s.initChildren(),s}clearErrors(){var e,t,i;return this.errors=[],this.fixedArguments.forEach(a=>a.clearErrors()),this.fixedReturns.forEach(a=>a.clearErrors()),(e=this.dynamicArgumentTypes)==null||e.clearErrors(),(t=this.dynamicReturnTypes)==null||t.clearErrors(),(i=this.error)==null||i.clearErrors(),this}validate(){const e=A9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.fixedArguments.flatMap(t=>t.getErrors()),...this.fixedReturns.flatMap(t=>t.getErrors()),...this.dynamicArgumentTypes?this.dynamicArgumentTypes.getErrors():[],...this.dynamicReturnTypes?this.dynamicReturnTypes.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new de(this.toJSON(),this.project)}setDynamicArgumentsDataType(e){return this.dynamicArgumentTypes=e,this}setDynamicReturnsDataType(e){return this.dynamicReturnTypes=e,this}addFixedArgument(e){return this.fixedArguments.find(t=>t.id===e.id)||this.fixedArguments.push(e),this}removeFixedArgument(e){return this.fixedArguments=this.fixedArguments.filter(t=>t.id!==e.id),this}addFixedReturn(e){return this.fixedReturns.find(t=>t.id===e.id)||this.fixedReturns.push(e),this}removeFixedReturn(e){return this.fixedReturns=this.fixedReturns.filter(t=>t.id!==e.id),this}};l(de,"MUTABLE_BASE_PROPERTIES",["name","description","argumentsType","returnsType"]),l(de,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(de,"BASE_PROPERTIES",[...de.MUTABLE_BASE_PROPERTIES,...de.INMUTABLE_BASE_PROPERTIES]),l(de,"MUTABLE_META_PROPERTIES",[...de.MUTABLE_BASE_PROPERTIES]),l(de,"INMUTABLE_META_PROPERTIES",[...de.INMUTABLE_BASE_PROPERTIES]),l(de,"META_PROPERTIES",[...de.MUTABLE_META_PROPERTIES,...de.INMUTABLE_META_PROPERTIES]),l(de,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(de,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(de,"UPSTREAM_PROPERTIES",[...de.MUTABLE_UPSTREAM_PROPERTIES,...de.INMUTABLE_UPSTREAM_PROPERTIES]),l(de,"MUTABLE_DOWNSTREAM_PROPERTIES",["dynamicArgumentTypes","dynamicReturnTypes","fixedArguments","fixedReturns"]),l(de,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(de,"DOWNSTREAM_PROPERTIES",[...de.MUTABLE_DOWNSTREAM_PROPERTIES,...de.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(de,"PROPERTIES",[...de.META_PROPERTIES,...de.UPSTREAM_PROPERTIES,...de.DOWNSTREAM_PROPERTIES]);let _e=de;function S9(n){var s;const e=r4(),t=n.toJSON();e.safeParse(t).success,(s=n.dataType)==null||s.validate();const a=[];return X(n.errors,a)}const ue=class ue{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"index");l(this,"required");l(this,"parentRelationType");l(this,"type",r.ValueDescriptor);l(this,"dataType",null);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.index=e.index,this.required=e.required,this.parentRelationType=e.parentRelationType}static fromGenerationTarget(e,t){const i=e.parent?D(e.parent):null,a=i?t.get(i):null,s=e.parentRelationType===C.FixedArguments?a==null?void 0:a.fixedArguments.length:a==null?void 0:a.fixedReturns.length,o={id:e.id,version:1,name:e.name,type:r.ValueDescriptor,index:s||0,description:e.description,required:e.required,parentRelationType:e.parentRelationType,dataType:null,parent:a},u=R(o,t);return a&&u.setParent(a),u.initChildren(),u}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[r.ActionDescriptor]}},t);i=s.modifiedData,a.push(...s.errors,...Pe(i));const o=i.parent&&t.get(i.parent),u=o&&gr(o);return u&&u.type===r.ActionDescriptor&&a.push(new E({id:`${e.id}--${y.BuiltInEntityParent}`,code:y.BuiltInEntityParent,severity:f.Error,message:`Entity of type "${e.type}" with id "${e.id}", has a parent that is a built-in entity "${u.name}" of type '${u.type}' with id '${u.id}'.
170
170
  You can't modify system entities that are built-in.`,issue:null})),o&&o.type===r.ActionDescriptor&&(!i.parentRelationType||!(i.parentRelationType===C.FixedArguments||i.parentRelationType===C.FixedReturns||i.parentRelationType===C.ReturnedError)?a.push(new E({id:`${e.id}--${y.InvalidParentRelationType}`,code:y.InvalidParentRelationType,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', must have a 'parentRelationType' property set to either '${C.FixedArguments}', '${C.FixedReturns}', or '${C.ReturnedError}' when being added as a child to an entity of type 'action-descriptor'.`,issue:null})):i.parentRelationType===C.ReturnedError&&o.error&&a.push(new E({id:`${e.id}--${y.NewEntityWouldOverriteExisting}`,code:y.NewEntityWouldOverriteExisting,severity:f.Error,message:`The entity with id '${e.id}' and type '${e.type}', is being added as an error value-descriptor to an entity of type 'action-descriptor' with id '${o.id}', which already has an error value descriptor with id '${o.error.id}'.
171
171
  An action descriptor can only have one error value descriptor child.
172
172
  Either remove the existing error value descriptor or update it with the 'update' action.
173
173
  You can use the 'describe_entity' action to get more information about the existing error value descriptor like so:
174
- ${Qt({describe_entity:o.error.id})}`,issue:null}))),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){var e,t;return this.parentRelationType===C.FixedArguments?(e=this.parent)==null||e.addFixedArgument(this):this.parentRelationType===C.FixedReturns?(t=this.parent)==null||t.addFixedReturn(this):this.parentRelationType===C.ReturnedError&&this.parent&&(this.parent.error=this),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.dataType&&(this.dataType=R(this.initialData.dataType,this.project),this.dataType.setParent(this),this.dataType.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.index=e.index||this.index,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.dataType){const{affected:s,removed:o}=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.dataType){const{affected:i}=this.dataType.restore({seenEntities:e});t.push(...i)}return{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.dataType?this.dataType.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.dataType?this.dataType.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,required:this.required,parentRelationType:this.parentRelationType,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,required:this.required,parentRelationType:this.parentRelationType,dataType:((e=this.dataType)==null?void 0:e.toReference())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.dataType?this.dataType.toFlatJSON(e):[]])}toGenerationTarget(){var e;return{id:this.id,name:this.name,description:this.description,type:this.type,required:this.required,parentRelationType:this.parentRelationType,parent:(e=this.parent)==null?void 0:e.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.dataType?this.dataType.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],(e=this.dataType)==null||e.clearErrors(),this}validate(){const e=D9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.dataType?this.dataType.getErrors():[]]}getShallowErrors(){return this.errors}clone(){return new ue(this.toJSON(),this.project)}getDataType(){return this.dataType||null}setDataType(e){return this.dataType=e,this}};l(ue,"MUTABLE_BASE_PROPERTIES",["name","description","required"]),l(ue,"INMUTABLE_BASE_PROPERTIES",["id","version","type","parentRelationType"]),l(ue,"BASE_PROPERTIES",[...ue.MUTABLE_BASE_PROPERTIES,...ue.INMUTABLE_BASE_PROPERTIES]),l(ue,"MUTABLE_META_PROPERTIES",[...ue.MUTABLE_BASE_PROPERTIES,"index"]),l(ue,"INMUTABLE_META_PROPERTIES",[...ue.INMUTABLE_BASE_PROPERTIES]),l(ue,"META_PROPERTIES",[...ue.MUTABLE_META_PROPERTIES,...ue.INMUTABLE_META_PROPERTIES]),l(ue,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(ue,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(ue,"UPSTREAM_PROPERTIES",[...ue.MUTABLE_UPSTREAM_PROPERTIES,...ue.INMUTABLE_UPSTREAM_PROPERTIES]),l(ue,"MUTABLE_DOWNSTREAM_PROPERTIES",["dataType"]),l(ue,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ue,"DOWNSTREAM_PROPERTIES",[...ue.MUTABLE_DOWNSTREAM_PROPERTIES,...ue.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ue,"PROPERTIES",[...ue.META_PROPERTIES,...ue.UPSTREAM_PROPERTIES,...ue.DOWNSTREAM_PROPERTIES]);let Rr=ue;function A9(n,e){if(!n.type&&!n.id)return{errors:[new E({id:`last-generated-entity-payload--${y.MissingTypeProperty}`,message:"Last generated entity payload is missing a 'type' property.",severity:f.Error,code:y.MissingTypeProperty,issue:null}),new E({id:`last-generated-entity-payload--${y.MissingIdProperty}`,message:"Last generated entity payload is missing an 'id' property.",severity:f.Error,code:y.MissingIdProperty,issue:null})],modifiedData:null};if(n.type){if(!n.id)return{errors:[new E({id:`last-generated-entity-payload--${y.MissingIdProperty}`,message:`Last generated entity, with type "${n.type}" is missing an 'id' property.`,severity:f.Error,code:y.MissingIdProperty,issue:null})],modifiedData:null}}else return{errors:[new E({id:`${n.id}--${y.MissingTypeProperty}`,message:`Entity with id "${n.id}" is missing a 'type' property.`,severity:f.Error,code:y.MissingTypeProperty,issue:null})],modifiedData:null};if(n.type===r.GenericReference)return{errors:[new E({id:`${n.id}--${y.RootReference}`,message:`Generic reference entity with id "${n.id}". A generic reference cannot be generated as a standalone entity. Only in the body of another entity.`,severity:f.Error,code:y.RootReference,issue:null})],modifiedData:null};const t=n,i=e.instances[t.id],a=e.builtInInstances[t.id];if(i&&!a&&t.type!==r.GenericReference){let s=`A previously generated entity with id "${t.id}" already exists in the project state.
174
+ ${Qt({describe_entity:o.error.id})}`,issue:null}))),{errors:a,modifiedData:i}}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){var e,t;return this.parentRelationType===C.FixedArguments?(e=this.parent)==null||e.addFixedArgument(this):this.parentRelationType===C.FixedReturns?(t=this.parent)==null||t.addFixedReturn(this):this.parentRelationType===C.ReturnedError&&this.parent&&(this.parent.error=this),this}setParent(e){return this.parent=e,this}initChildren(){return this.initialized?this:(this.initialized=!0,this.initialData.dataType&&(this.dataType=R(this.initialData.dataType,this.project),this.dataType.setParent(this),this.dataType.initChildren()),this)}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.index=e.index||this.index,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.dataType){const{affected:s,removed:o}=this.dataType.remove({ignoreUpstream:!0,seenEntities:t});i.push(...s),a.push(...o)}return{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.dataType){const{affected:i}=this.dataType.restore({seenEntities:e});t.push(...i)}return{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.dataType?this.dataType.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.dataType?this.dataType.toFlatIds(e):[]])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,required:this.required,parentRelationType:this.parentRelationType,dataType:((e=this.dataType)==null?void 0:e.toJSON())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,index:this.index,required:this.required,parentRelationType:this.parentRelationType,dataType:((e=this.dataType)==null?void 0:e.toReference())||null,parent:((t=this.parent)==null?void 0:t.toReference())||null}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.dataType?this.dataType.toFlatJSON(e):[]])}toGenerationTarget(){var e;return{id:this.id,name:this.name,description:this.description,type:this.type,required:this.required,parentRelationType:this.parentRelationType,parent:(e=this.parent)==null?void 0:e.id}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.dataType?this.dataType.toFlatGenerationTarget(e):[]])}clearErrors(){var e;return this.errors=[],(e=this.dataType)==null||e.clearErrors(),this}validate(){const e=S9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.dataType?this.dataType.getErrors():[]]}getShallowErrors(){return this.errors}clone(){return new ue(this.toJSON(),this.project)}getDataType(){return this.dataType||null}setDataType(e){return this.dataType=e,this}};l(ue,"MUTABLE_BASE_PROPERTIES",["name","description","required"]),l(ue,"INMUTABLE_BASE_PROPERTIES",["id","version","type","parentRelationType"]),l(ue,"BASE_PROPERTIES",[...ue.MUTABLE_BASE_PROPERTIES,...ue.INMUTABLE_BASE_PROPERTIES]),l(ue,"MUTABLE_META_PROPERTIES",[...ue.MUTABLE_BASE_PROPERTIES,"index"]),l(ue,"INMUTABLE_META_PROPERTIES",[...ue.INMUTABLE_BASE_PROPERTIES]),l(ue,"META_PROPERTIES",[...ue.MUTABLE_META_PROPERTIES,...ue.INMUTABLE_META_PROPERTIES]),l(ue,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(ue,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(ue,"UPSTREAM_PROPERTIES",[...ue.MUTABLE_UPSTREAM_PROPERTIES,...ue.INMUTABLE_UPSTREAM_PROPERTIES]),l(ue,"MUTABLE_DOWNSTREAM_PROPERTIES",["dataType"]),l(ue,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ue,"DOWNSTREAM_PROPERTIES",[...ue.MUTABLE_DOWNSTREAM_PROPERTIES,...ue.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ue,"PROPERTIES",[...ue.META_PROPERTIES,...ue.UPSTREAM_PROPERTIES,...ue.DOWNSTREAM_PROPERTIES]);let Er=ue;function O9(n,e){if(!n.type&&!n.id)return{errors:[new E({id:`last-generated-entity-payload--${y.MissingTypeProperty}`,message:"Last generated entity payload is missing a 'type' property.",severity:f.Error,code:y.MissingTypeProperty,issue:null}),new E({id:`last-generated-entity-payload--${y.MissingIdProperty}`,message:"Last generated entity payload is missing an 'id' property.",severity:f.Error,code:y.MissingIdProperty,issue:null})],modifiedData:null};if(n.type){if(!n.id)return{errors:[new E({id:`last-generated-entity-payload--${y.MissingIdProperty}`,message:`Last generated entity, with type "${n.type}" is missing an 'id' property.`,severity:f.Error,code:y.MissingIdProperty,issue:null})],modifiedData:null}}else return{errors:[new E({id:`${n.id}--${y.MissingTypeProperty}`,message:`Entity with id "${n.id}" is missing a 'type' property.`,severity:f.Error,code:y.MissingTypeProperty,issue:null})],modifiedData:null};if(n.type===r.GenericReference)return{errors:[new E({id:`${n.id}--${y.RootReference}`,message:`Generic reference entity with id "${n.id}". A generic reference cannot be generated as a standalone entity. Only in the body of another entity.`,severity:f.Error,code:y.RootReference,issue:null})],modifiedData:null};const t=n,i=e.instances[t.id],a=e.builtInInstances[t.id];if(i&&!a&&t.type!==r.GenericReference){let s=`A previously generated entity with id "${t.id}" already exists in the project state.
175
175
  Are you trying to update that entity?
176
176
  If so, you should use the 'update' action for core mutable metadata properties, or 'delete' and then 'post' again to replace it.
177
- If you are trying to create a new entity, please use a different id, for example: "${ld(t,e)}".`;return{errors:[new E({id:`duplicate--${t.id}--${y.EntityIdNotUnique}`,message:s,severity:f.Error,code:y.EntityIdNotUnique,issue:null})],modifiedData:n}}else if(i&&t.type!==r.GenericReference)return{errors:[new E({id:`${t.id}--${y.EntityIdNotUnique}`,message:`A built in entity with id "${t.id}" already exists. You cannot modify built in entities. If you are trying to create a new entity, please use a different id, for example: "${ld(t,e)}".`,severity:f.Error,code:y.EntityIdNotUnique,issue:null})],modifiedData:n};switch(t.type){case r.Project:return $.validateGenerationTarget(t,e);case r.CustomEntity:return Pr.validateGenerationTarget(t,e);case r.Property:return lr.validateGenerationTarget(t,e);case r.FunctionDeclaration:return cr.validateGenerationTarget(t,e);case r.DataType:return si.validateGenerationTarget(t,e);case r.Operation:return dr.validateGenerationTarget(t,e);case r.FunctionCall:return br.validateGenerationTarget(t,e);case r.VariableDeclaration:return yr.validateGenerationTarget(t,e);case r.VariableInstance:return hr.validateGenerationTarget(t,e);case r.GlobalEvent:return oi.validateGenerationTarget(t,e);case r.InputMap:return hn.validateGenerationTarget(t,e);case r.OutputMap:return fn.validateGenerationTarget(t,e);case r.ArgumentDeclaration:return Tr.validateGenerationTarget(t,e);case r.ReturnDeclaration:return Ot.validateGenerationTarget(t,e);case r.Loop:return ur.validateGenerationTarget(t,e);case r.Condition:return pr.validateGenerationTarget(t,e);case r.Search:return fr.validateGenerationTarget(t,e);case r.InstalledProject:return mr.validateGenerationTarget(t,e);case r.InternalCall:return li.validateGenerationTarget(t,e);case r.PrimitiveValue:return ci.validateGenerationTarget(t,e);case r.ReturnStatement:return Er.validateGenerationTarget(t,e);case r.BreakStatement:return di.validateGenerationTarget(t,e);case r.ContinueStatement:return yt.validateGenerationTarget(t,e);case r.ActionDescriptor:return _e.validateGenerationTarget(t,e);case r.ValueDescriptor:return Rr.validateGenerationTarget(t,e);case r.BuiltInBaseEntity:case r.PrimitiveEntity:{const s="Did you mean to generate a",u={[r.BuiltInBaseEntity]:`${s} '${r.CustomEntity}' instead?`,[r.PrimitiveEntity]:`${s} '${r.CustomEntity}' instead?`}[t.type]||"";return{errors:[new E({id:`${t.id}--${y.BuiltInEntityGenerated}`,message:`Entity with id "${t.id} is of "${t.type}" type and should not be generated. Built in entities can only be referenced by user created entities.
178
- ${u}`,severity:f.Error,code:y.BuiltInEntityGenerated,issue:null})],modifiedData:n}}default:{const s=t;return{errors:[new E({id:`${s.id}--${y.UnknownEntityType}`,message:`Incorrect entity implementation for entity with id "${s.id}". Entity type "${s.type}" is not supported.`,severity:f.Error,code:y.UnknownEntityType,issue:null})],modifiedData:null}}}}function eo(n){const e=ho(n.type),t=e.MUTABLE_BASE_PROPERTIES,i=e.MUTABLE_UPSTREAM_PROPERTIES;let a=`Only mutable core metadata properties can be updated, no nested entities or references. You can alternatively delete the entity and create a new one with the updated values.
177
+ If you are trying to create a new entity, please use a different id, for example: "${ld(t,e)}".`;return{errors:[new E({id:`duplicate--${t.id}--${y.EntityIdNotUnique}`,message:s,severity:f.Error,code:y.EntityIdNotUnique,issue:null})],modifiedData:n}}else if(i&&t.type!==r.GenericReference)return{errors:[new E({id:`${t.id}--${y.EntityIdNotUnique}`,message:`A built in entity with id "${t.id}" already exists. You cannot modify built in entities. If you are trying to create a new entity, please use a different id, for example: "${ld(t,e)}".`,severity:f.Error,code:y.EntityIdNotUnique,issue:null})],modifiedData:n};switch(t.type){case r.Project:return $.validateGenerationTarget(t,e);case r.CustomEntity:return Ir.validateGenerationTarget(t,e);case r.Property:return or.validateGenerationTarget(t,e);case r.FunctionDeclaration:return lr.validateGenerationTarget(t,e);case r.DataType:return ai.validateGenerationTarget(t,e);case r.Operation:return cr.validateGenerationTarget(t,e);case r.FunctionCall:return Rr.validateGenerationTarget(t,e);case r.VariableDeclaration:return pr.validateGenerationTarget(t,e);case r.VariableInstance:return yr.validateGenerationTarget(t,e);case r.GlobalEvent:return si.validateGenerationTarget(t,e);case r.InputMap:return hn.validateGenerationTarget(t,e);case r.OutputMap:return fn.validateGenerationTarget(t,e);case r.ArgumentDeclaration:return mr.validateGenerationTarget(t,e);case r.ReturnDeclaration:return Ot.validateGenerationTarget(t,e);case r.Loop:return dr.validateGenerationTarget(t,e);case r.Condition:return ur.validateGenerationTarget(t,e);case r.Search:return hr.validateGenerationTarget(t,e);case r.InstalledProject:return fr.validateGenerationTarget(t,e);case r.InternalCall:return oi.validateGenerationTarget(t,e);case r.PrimitiveValue:return li.validateGenerationTarget(t,e);case r.ReturnStatement:return Tr.validateGenerationTarget(t,e);case r.BreakStatement:return ci.validateGenerationTarget(t,e);case r.ContinueStatement:return yt.validateGenerationTarget(t,e);case r.ActionDescriptor:return _e.validateGenerationTarget(t,e);case r.ValueDescriptor:return Er.validateGenerationTarget(t,e);case r.BuiltInBaseEntity:case r.PrimitiveEntity:{const s="Did you mean to generate a",u={[r.BuiltInBaseEntity]:`${s} '${r.CustomEntity}' instead?`,[r.PrimitiveEntity]:`${s} '${r.CustomEntity}' instead?`}[t.type]||"";return{errors:[new E({id:`${t.id}--${y.BuiltInEntityGenerated}`,message:`Entity with id "${t.id} is of "${t.type}" type and should not be generated. Built in entities can only be referenced by user created entities.
178
+ ${u}`,severity:f.Error,code:y.BuiltInEntityGenerated,issue:null})],modifiedData:n}}default:{const s=t;return{errors:[new E({id:`${s.id}--${y.UnknownEntityType}`,message:`Incorrect entity implementation for entity with id "${s.id}". Entity type "${s.type}" is not supported.`,severity:f.Error,code:y.UnknownEntityType,issue:null})],modifiedData:null}}}}function Ks(n){const e=yo(n.type),t=e.MUTABLE_BASE_PROPERTIES,i=e.MUTABLE_UPSTREAM_PROPERTIES;let a=`Only mutable core metadata properties can be updated, no nested entities or references. You can alternatively delete the entity and create a new one with the updated values.
179
179
  For entities of type "${n.type}", `;if(t.length>0?a+=`you can update the following metadata properties: '${N(t,"', '","' and '")}'. `:a+="there are no mutable metadata properties.",i.length>0){const s=t.length>0?`
180
180
  You can also update the following upstream references: `:`
181
181
  But can update the following upstream entity references: `;a+=`${s}'${N(i,"', '","' and '")}'.`}else a+=t.length>0?`
182
182
  And there are no upstream references that can be updated.`:`
183
- There are no upstream references that can be updated.`;return a}function S9(n,e){const t=[];let i=!1;if(Sr.includes(e.type)&&t.push(new E({id:`${e.id}--${y.BuiltInEntityGenerated}`,message:`Entity with id "${e.id} is of "${e.type}" type and should not be updated. Built in entities can only be referenced by user created entities.`,severity:f.Error,code:y.BuiltInEntityGenerated,issue:null})),n.id&&(t.push(new E({id:`last-action--${y.InvalidUpdateEntityOperation}`,code:y.InvalidUpdateEntityOperation,severity:f.Error,message:`The 'id' property cannot be updated in the 'update' action payload. The id of the entity is '${n.id}'. Only mutable core metadata properties can be updated, no nested entities or references. You can alternatively delete the entity and create a new one with the updated 'id'.`,issue:null})),i=!0),n.type&&(t.push(new E({id:`last-action--${y.InvalidUpdateEntityOperation}`,code:y.InvalidUpdateEntityOperation,severity:f.Error,message:`The 'type' property cannot be updated in the 'update' action payload. The type of the entity is '${e.type}'. Only mutable core metadata properties can be updated, no nested entities or references. You can alternatively delete the entity and create a new one with the updated 'type'.`,issue:null})),i=!0),t.length)return{errors:t,modifiedData:null,messageAddition:""};if($e.includes(e.type)?n.calls&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calls" updated.
184
- ${Vn}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})):Ne.includes(e.type)&&(n.successCalls&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "successCalls" updated.
185
- ${Vn}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),n.errorCalls&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "errorCalls" updated.
186
- ${Vn}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null}))),En.includes(e.type)&&(n.calledBy&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calledBy" updated.
187
- ${Vn}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),n.calledByEntry&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calledByEntry" updated.
188
- ${Vn}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),n.calledBySuccess&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calledBySuccess" updated.
189
- ${Vn}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),n.calledByError&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calledByError" updated.
190
- ${Vn}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null}))),t.length)return{errors:t,modifiedData:null,messageAddition:""};const a=ho(e.type);if(a){(a.INMUTABLE_META_PROPERTIES||[]).forEach(W=>{["type","id"].includes(W)||n[W]&&!na(n[W])&&(t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "${W}" updated. It is an inmutable property that is set only when the entity is created.
183
+ There are no upstream references that can be updated.`;return a}function C9(n,e){const t=[];let i=!1;if(Ar.includes(e.type)&&t.push(new E({id:`${e.id}--${y.BuiltInEntityGenerated}`,message:`Entity with id "${e.id} is of "${e.type}" type and should not be updated. Built in entities can only be referenced by user created entities.`,severity:f.Error,code:y.BuiltInEntityGenerated,issue:null})),n.id&&(t.push(new E({id:`last-action--${y.InvalidUpdateEntityOperation}`,code:y.InvalidUpdateEntityOperation,severity:f.Error,message:`The 'id' property cannot be updated in the 'update' action payload. The id of the entity is '${n.id}'. Only mutable core metadata properties can be updated, no nested entities or references. You can alternatively delete the entity and create a new one with the updated 'id'.`,issue:null})),i=!0),n.type&&(t.push(new E({id:`last-action--${y.InvalidUpdateEntityOperation}`,code:y.InvalidUpdateEntityOperation,severity:f.Error,message:`The 'type' property cannot be updated in the 'update' action payload. The type of the entity is '${e.type}'. Only mutable core metadata properties can be updated, no nested entities or references. You can alternatively delete the entity and create a new one with the updated 'type'.`,issue:null})),i=!0),t.length)return{errors:t,modifiedData:null,messageAddition:""};if($e.includes(e.type)?n.calls&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calls" updated.
184
+ ${$n}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})):Ne.includes(e.type)&&(n.successCalls&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "successCalls" updated.
185
+ ${$n}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),n.errorCalls&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "errorCalls" updated.
186
+ ${$n}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null}))),En.includes(e.type)&&(n.calledBy&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calledBy" updated.
187
+ ${$n}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),n.calledByEntry&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calledByEntry" updated.
188
+ ${$n}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),n.calledBySuccess&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calledBySuccess" updated.
189
+ ${$n}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),n.calledByError&&t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "calledByError" updated.
190
+ ${$n}`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null}))),t.length)return{errors:t,modifiedData:null,messageAddition:""};const a=yo(e.type);if(a){(a.INMUTABLE_META_PROPERTIES||[]).forEach(W=>{["type","id"].includes(W)||n[W]&&!na(n[W])&&(t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "${W}" updated. It is an inmutable property that is set only when the entity is created.
191
191
  If you need to update this property, you should delete the entity and create a new one with the updated value.`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),i=!0)}),(a.DOWNSTREAM_PROPERTIES||[]).forEach(W=>{n[W]&&!na(n[W])&&(t.push(new E({id:`${e.id}--${y.InvalidDownstreamPropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "${W}" set directly. It is a downstream property that points to a downstream nested entity.
192
192
  All downstream references are managed by the downstream entity. Entities only manage their own upstream references.
193
193
  To modify '${W}', target the entity that it points to and its equivalent property.`,severity:f.Error,code:y.InvalidDownstreamPropertyOverride,issue:null})),i=!0)}),(a.INMUTABLE_UPSTREAM_PROPERTIES||[]).forEach(W=>{n[W]&&!na(n[W])&&(t.push(new E({id:`${e.id}--${y.InvalidInmutablePropertyOverride}`,message:`Entity of type "${e.type}" with id "${e.id}" cannot have the property "${W}" updated. It is an inmutable property that is set only when the entity is created.
194
- If you need to update this property, you should delete the entity and create a new one with the updated value.`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),i=!0)});const G=a.PROPERTIES||[];G.length>0&&Object.keys(n).forEach(W=>{G.includes(W)||t.push(new E({id:`${e.id}--${y.UnrecognizedProperty}`,message:`Entity of type "${e.type}" with id "${e.id}" has an unrecognized property "${W}" that will be ignored.`,severity:f.Warning,code:y.UnrecognizedProperty,issue:null}))})}if(t.length)return{errors:t,modifiedData:null,messageAddition:i?eo(e):""};const s=ng(e),o=s==null?void 0:s.partial(),u=o==null?void 0:o.safeParse(n),p={...n,id:e.id,type:e.type},h=dd(p,u);if(t.push(...h),t.length)return{errors:t,modifiedData:null,messageAddition:i?eo(e):""};const T=e.validateGeneratedUpdate(n);return{errors:[...t,...T.errors],modifiedData:T.modifiedData,messageAddition:i?eo(e):""}}function ng(n){switch(n.type){case r.PrimitiveValue:return As();case r.CustomEntity:return Ac();case r.PrimitiveEntity:return As();case r.FunctionDeclaration:return Pc();case r.GlobalEvent:return Ns();case r.DataType:return mc();case r.Property:return ec();case r.FunctionCall:return cc();case r.Condition:return dc();case r.Operation:return ws();case r.VariableDeclaration:return Ec();case r.VariableInstance:return Rc();case r.OutputMap:return lc();case r.ReturnDeclaration:return ac();case r.ArgumentDeclaration:return Ic();case r.InputMap:return yc();case r.Project:return Dc();case r.InstalledProject:return jU();case r.ActionDescriptor:return Os();case r.ReturnStatement:return rc();case r.Loop:return Os();case r.Search:return ic();case r.ValueDescriptor:return Kl();case r.BuiltInBaseEntity:return tc();case r.InternalCall:return pc();case r.ContinueStatement:return nc();case r.BreakStatement:return sc();default:return null}}function rg(n){switch(n.type){case r.PrimitiveValue:return mU();case r.CustomEntity:return Mx();case r.PrimitiveEntity:return r4();case r.FunctionDeclaration:return Px();case r.GlobalEvent:return zU();case r.DataType:return CU();case r.Property:return o4();case r.FunctionCall:return H4();case r.Condition:return Q4();case r.Operation:return dU();case r.VariableDeclaration:return NU();case r.VariableInstance:return FU();case r.OutputMap:return k4();case r.ReturnDeclaration:return $4();case r.ArgumentDeclaration:return bx();case r.InputMap:return sU();case r.Project:return Cx();case r.InstalledProject:return qU();case r.ActionDescriptor:return m4();case r.ReturnStatement:return S4();case r.Loop:return R4();case r.Search:return w4();case r.ValueDescriptor:return KF();case r.BuiltInBaseEntity:return p4();case r.InternalCall:return nU();case r.ContinueStatement:return I4();case r.BreakStatement:return F4();default:return null}}function to(n){const e=[];Mn(n)||e.push(new E({id:`${n}--${y.InvalidReferenceObjectStructure}`,message:`Reference object with id "${n}" is not an object. References should be objects with exactly 4 properties: 'entityId', 'entityType', 'id', and 'type'.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null}));const t=n.id||"reference-to--"+(n.entityId||"unknown"),i=`Reference object ${n.id?`with id "${n.id}"`:`to entity with id "${n.entityId}" and type "${n.entityType}"`}`;return n.entityId||e.push(new E({id:`${t}--${y.InvalidReferenceObjectStructure}`,message:`${i} is missing an 'entityId' property.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null})),n.entityType||e.push(new E({id:`${t}--${y.InvalidReferenceObjectStructure}`,message:`${i} is missing an 'entityType' property.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null})),n.id||e.push(new E({id:`${t}--${y.MissingIdProperty}`,message:`${i} is missing an 'id' property.`,severity:f.Error,code:y.MissingIdProperty,issue:null})),n.type||e.push(new E({id:`${t}--${y.MissingTypeProperty}`,message:`${i} is missing a 'type' property.`,severity:f.Error,code:y.MissingTypeProperty,issue:null})),e}function dd(n,e){return e.success?[]:e.error.issues.map(t=>new E({id:`${n.id}--${v.InvalidObjectStructure}`,message:`Entity of type "${n.type}" and with id "${n.id}", has an invalid structure: ${t8(t).toString().replace("Validation error: ","")}`,severity:f.Error,code:v.InvalidObjectStructure,issue:t}))}function Pe(n,e){const t=[],i=rg(n);if(i){const s=i.safeParse(n);t.push(...dd(n,s))}const a=ho(n.type);if(a){(a.DOWNSTREAM_PROPERTIES||[]).forEach(u=>{n[u]&&!na(n[u])&&t.push(new E({id:`${n.id}--${y.InvalidDownstreamPropertyOverride}`,message:`Entity of type "${n.type}" with id "${n.id}" cannot have the property "${u}" set directly. It is a downstream property that points to a downstream nested entity.
194
+ If you need to update this property, you should delete the entity and create a new one with the updated value.`,severity:f.Error,code:y.InvalidInmutablePropertyOverride,issue:null})),i=!0)});const G=a.PROPERTIES||[];G.length>0&&Object.keys(n).forEach(W=>{G.includes(W)||t.push(new E({id:`${e.id}--${y.UnrecognizedProperty}`,message:`Entity of type "${e.type}" with id "${e.id}" has an unrecognized property "${W}" that will be ignored.`,severity:f.Warning,code:y.UnrecognizedProperty,issue:null}))})}if(t.length)return{errors:t,modifiedData:null,messageAddition:i?Ks(e):""};const s=rg(e),o=s==null?void 0:s.partial(),u=o==null?void 0:o.safeParse(n),p={...n,id:e.id,type:e.type},h=dd(p,u);if(t.push(...h),t.length)return{errors:t,modifiedData:null,messageAddition:i?Ks(e):""};const T=e.validateGeneratedUpdate(n);return{errors:[...t,...T.errors],modifiedData:T.modifiedData,messageAddition:i?Ks(e):""}}function rg(n){switch(n.type){case r.PrimitiveValue:return Ds();case r.CustomEntity:return Ac();case r.PrimitiveEntity:return Ds();case r.FunctionDeclaration:return Pc();case r.GlobalEvent:return Ms();case r.DataType:return mc();case r.Property:return ec();case r.FunctionCall:return cc();case r.Condition:return dc();case r.Operation:return Bs();case r.VariableDeclaration:return Ec();case r.VariableInstance:return Rc();case r.OutputMap:return lc();case r.ReturnDeclaration:return ac();case r.ArgumentDeclaration:return Ic();case r.InputMap:return yc();case r.Project:return Dc();case r.InstalledProject:return qU();case r.ActionDescriptor:return Ss();case r.ReturnStatement:return rc();case r.Loop:return Ss();case r.Search:return ic();case r.ValueDescriptor:return Kl();case r.BuiltInBaseEntity:return tc();case r.InternalCall:return pc();case r.ContinueStatement:return nc();case r.BreakStatement:return sc();default:return null}}function ig(n){switch(n.type){case r.PrimitiveValue:return EU();case r.CustomEntity:return $x();case r.PrimitiveEntity:return a4();case r.FunctionDeclaration:return Ax();case r.GlobalEvent:return XU();case r.DataType:return wU();case r.Property:return c4();case r.FunctionCall:return z4();case r.Condition:return eU();case r.Operation:return pU();case r.VariableDeclaration:return VU();case r.VariableInstance:return xU();case r.OutputMap:return J4();case r.ReturnDeclaration:return L4();case r.ArgumentDeclaration:return gx();case r.InputMap:return lU();case r.Project:return wx();case r.InstalledProject:return WU();case r.ActionDescriptor:return E4();case r.ReturnStatement:return C4();case r.Loop:return v4();case r.Search:return M4();case r.ValueDescriptor:return t4();case r.BuiltInBaseEntity:return h4();case r.InternalCall:return iU();case r.ContinueStatement:return D4();case r.BreakStatement:return x4();default:return null}}function eo(n){const e=[];_n(n)||e.push(new E({id:`${n}--${y.InvalidReferenceObjectStructure}`,message:`Reference object with id "${n}" is not an object. References should be objects with exactly 4 properties: 'entityId', 'entityType', 'id', and 'type'.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null}));const t=n.id||"reference-to--"+(n.entityId||"unknown"),i=`Reference object ${n.id?`with id "${n.id}"`:`to entity with id "${n.entityId}" and type "${n.entityType}"`}`;return n.entityId||e.push(new E({id:`${t}--${y.InvalidReferenceObjectStructure}`,message:`${i} is missing an 'entityId' property.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null})),n.entityType||e.push(new E({id:`${t}--${y.InvalidReferenceObjectStructure}`,message:`${i} is missing an 'entityType' property.`,severity:f.Error,code:y.InvalidReferenceObjectStructure,issue:null})),n.id||e.push(new E({id:`${t}--${y.MissingIdProperty}`,message:`${i} is missing an 'id' property.`,severity:f.Error,code:y.MissingIdProperty,issue:null})),n.type||e.push(new E({id:`${t}--${y.MissingTypeProperty}`,message:`${i} is missing a 'type' property.`,severity:f.Error,code:y.MissingTypeProperty,issue:null})),e}function dd(n,e){return e.success?[]:e.error.issues.map(t=>new E({id:`${n.id}--${v.InvalidObjectStructure}`,message:`Entity of type "${n.type}" and with id "${n.id}", has an invalid structure: ${r8(t).toString().replace("Validation error: ","")}`,severity:f.Error,code:v.InvalidObjectStructure,issue:t}))}function Pe(n,e){const t=[],i=ig(n);if(i){const s=i.safeParse(n);t.push(...dd(n,s))}const a=yo(n.type);if(a){(a.DOWNSTREAM_PROPERTIES||[]).forEach(u=>{n[u]&&!na(n[u])&&t.push(new E({id:`${n.id}--${y.InvalidDownstreamPropertyOverride}`,message:`Entity of type "${n.type}" with id "${n.id}" cannot have the property "${u}" set directly. It is a downstream property that points to a downstream nested entity.
195
195
  All downstream references are managed by the downstream entity. Entities only manage their own upstream references.
196
- To modify '${u}', target the entity that it points to and its equivalent property.`,severity:f.Error,code:y.InvalidDownstreamPropertyOverride,issue:null}))});const o=a.PROPERTIES||[];o.length>0&&Object.keys(n).forEach(u=>{o.includes(u)||t.push(new E({id:`${n.id}--${y.UnrecognizedProperty}`,message:`Entity of type "${n.type}" with id "${n.id}" has an unrecognized property "${u}" that will be ignored.`,severity:f.Warning,code:y.UnrecognizedProperty,issue:null}))})}return t}function O9(n,e){const t=[];if(!n.parent)return t;const i=e.get(n.parent);return i?(Sr.includes(i==null?void 0:i.type)?t.push(new E({id:`${n.id}--${y.BuiltInEntityParent}`,message:`Entity of type "${n.type}" with id "${n.id}" cannot have the parent with id "${i.id}", because it is a built in entity. Built in entities cannot be modified.`,severity:f.Error,code:y.BuiltInEntityParent,issue:null})):i.type===r.ActionDescriptor&&e.get(n.parent)&&t.push(new E({id:`${n.id}--${y.BuiltInEntityParent}`,message:`Entity of type "${n.type}" with id "${n.id}" cannot have the parent with id "${i.id}", because it is a built in entity. Built in entities cannot be modified. Action descriptors are only sometimes built in, other times they are managed by the user.`,severity:f.Error,code:y.BuiltInEntityParent,issue:null})),t):[]}function ud(n,e,t){const i=[],a=n[e.key];if(!a)return i.push(new E({id:`${n.id}--${e.key}--${v.InvalidObjectStructure}`,message:`Entity of type "${n.type}" with id "${n.id}" is missing a reference to a "${e.key}" entity. The '${e.key}' property of a "${n.type}" entity can be ${N(e.types,", "," or ")}.`,severity:f.Error,code:v.InvalidObjectStructure,issue:null})),{entityState:null,errors:i};let s=null;if(typeof a=="string")s=a;else{const u=to(a);i.push(...u),u.length===0&&(s=a.entityId)}if(!s)return{entityState:null,errors:i};if(n.id===s)return i.push(new E({id:`${n.id}--${s}--${y.SelfReference}`,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at '${e.key}'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,severity:f.Error,code:y.SelfReference,issue:null})),{entityState:null,errors:i};const o=t.get(s)||t.getBuiltIn(s);return o?e.types.includes(o.type)||i.push(new E({id:`${n.id}--${s}--${y.InvalidReference}`,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to "${s}" at '${e.key}' that isn't pointing to an entity of type '${N(e.types,"', '","' or '")}'.`,severity:f.Error,code:y.InvalidReference,issue:null})):i.push(new E({id:`${n.id}--${s}--${y.ReferencedEntityNotFound}`,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${s}" at '${e.key}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null})),{entityState:o,errors:i}}function no(n,e,t){const i=[],a=n[e];return a?Array.isArray(a)?{entities:a.map(o=>{let u=null;if(typeof o=="string")u=o;else{const h=to(o);i.push(...h),h.length===0&&(u=o.entityId)}if(!u)return{entityState:null,errors:[new E({id:`${n.id}--${e}--${y.InvalidReference}`,message:`Entity of type "${n.type}" with id "${n.id}", has a missing reference at '${e}'. A reference needs to be a 'id' string of an existing entity in the project.`,severity:f.Error,code:y.InvalidReference,issue:null})]};const p=t.get(u)||t.getBuiltIn(u);return p?{entityState:p,errors:[]}:(i.push(new E({id:`${n.id}--${u}--${y.ReferencedEntityNotFound}`,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${u}" at '${e}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null})),{entityState:null,errors:i})}),errors:[]}:(i.push(new E({id:`${n.id}--${e}--${v.InvalidObjectStructure}`,message:`Entity of type "${n.type}" with id "${n.id}" has an invalid structure for the "${e}" property. It should be an array of references.`,severity:f.Error,code:v.InvalidObjectStructure,issue:null})),{entities:[],errors:i}):(i.push(new E({id:`${n.id}--${e}--${v.InvalidObjectStructure}`,message:`Entity of type "${n.type}" with id "${n.id}" is missing a list of references to "${e}" entities.`,severity:f.Error,code:v.InvalidObjectStructure,issue:null})),{entities:[],errors:i})}function pd(n,e,t){const i=[],a=ud(n,e,t);if(a.errors.length>0)return a.errors;if(a.entityState){const s=a.entityState;e.types.includes(s.type)||i.push(new E({id:`${n.id}--${s.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to "${e.key}" that isn't pointing to an entity of type '${N(e.types,"', '","' or '")}'.`,issue:null})),n.id===s.id&&i.push(new E({id:`${n.id}--${s.id}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at '${e.key}'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}))}return i}function N(n,e,t){if(n.length===1)return n[0];if(n.length===2)return n.join(t);{const i=n.pop();return`${n.join(e)}${t}${i}`}}const $n=`Pass-through callable entities are entities that need to be called by another caller, then they execute some internal logic and when finished, it can call other callable entities with the "calledBySuccess" property or "calledByError" property based on whether their internal execution was successful or an error ocurred respectively.
197
- All pass-through callable entities are: ${N(Ne,", "," and ")}.`,da=`Entry point entities are the entities which start the execution of a logic chain. They are ${N($e,", "," and ")}.They aren't explicitly called by any entities. Rather, they can be called implicitly by the system, or as a function-call somewhere else in the case of a function-declaration. `,ig=`Caller entities are entities that can call other entities. Regarless of whether they are entry-point entities or pass-through callable entities. All caller entity types are: ${N(en,", "," and ")}.`,C9=`Callable entities are entities that can be called by other entities. They can be called by an entry-point, a success caller, or an error caller.
198
- All callable entity types are: ${N(En,", "," and ")}.`,Vn=`Caller to callee relationships can be updated with the 'add_caller' and 'remove_caller' generation action with the properties: 'callerEntityId', a 'calleeEntityId'. For adding a caller, you can optionally add a boolean property 'fromError' (if the caller calls when an error occured in its execution).
196
+ To modify '${u}', target the entity that it points to and its equivalent property.`,severity:f.Error,code:y.InvalidDownstreamPropertyOverride,issue:null}))});const o=a.PROPERTIES||[];o.length>0&&Object.keys(n).forEach(u=>{o.includes(u)||t.push(new E({id:`${n.id}--${y.UnrecognizedProperty}`,message:`Entity of type "${n.type}" with id "${n.id}" has an unrecognized property "${u}" that will be ignored.`,severity:f.Warning,code:y.UnrecognizedProperty,issue:null}))})}return t}function B9(n,e){const t=[];if(!n.parent)return t;const i=e.get(n.parent);return i?(Ar.includes(i==null?void 0:i.type)?t.push(new E({id:`${n.id}--${y.BuiltInEntityParent}`,message:`Entity of type "${n.type}" with id "${n.id}" cannot have the parent with id "${i.id}", because it is a built in entity. Built in entities cannot be modified.`,severity:f.Error,code:y.BuiltInEntityParent,issue:null})):i.type===r.ActionDescriptor&&e.get(n.parent)&&t.push(new E({id:`${n.id}--${y.BuiltInEntityParent}`,message:`Entity of type "${n.type}" with id "${n.id}" cannot have the parent with id "${i.id}", because it is a built in entity. Built in entities cannot be modified. Action descriptors are only sometimes built in, other times they are managed by the user.`,severity:f.Error,code:y.BuiltInEntityParent,issue:null})),t):[]}function ud(n,e,t){const i=[],a=n[e.key];if(!a)return i.push(new E({id:`${n.id}--${e.key}--${v.InvalidObjectStructure}`,message:`Entity of type "${n.type}" with id "${n.id}" is missing a reference to a "${e.key}" entity. The '${e.key}' property of a "${n.type}" entity can be ${N(e.types,", "," or ")}.`,severity:f.Error,code:v.InvalidObjectStructure,issue:null})),{entityState:null,errors:i};let s=null;if(typeof a=="string")s=a;else{const u=eo(a);i.push(...u),u.length===0&&(s=a.entityId)}if(!s)return{entityState:null,errors:i};if(n.id===s)return i.push(new E({id:`${n.id}--${s}--${y.SelfReference}`,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at '${e.key}'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,severity:f.Error,code:y.SelfReference,issue:null})),{entityState:null,errors:i};const o=t.get(s)||t.getBuiltIn(s);return o?e.types.includes(o.type)||i.push(new E({id:`${n.id}--${s}--${y.InvalidReference}`,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to "${s}" at '${e.key}' that isn't pointing to an entity of type '${N(e.types,"', '","' or '")}'.`,severity:f.Error,code:y.InvalidReference,issue:null})):i.push(new E({id:`${n.id}--${s}--${y.ReferencedEntityNotFound}`,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${s}" at '${e.key}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null})),{entityState:o,errors:i}}function to(n,e,t){const i=[],a=n[e];return a?Array.isArray(a)?{entities:a.map(o=>{let u=null;if(typeof o=="string")u=o;else{const h=eo(o);i.push(...h),h.length===0&&(u=o.entityId)}if(!u)return{entityState:null,errors:[new E({id:`${n.id}--${e}--${y.InvalidReference}`,message:`Entity of type "${n.type}" with id "${n.id}", has a missing reference at '${e}'. A reference needs to be a 'id' string of an existing entity in the project.`,severity:f.Error,code:y.InvalidReference,issue:null})]};const p=t.get(u)||t.getBuiltIn(u);return p?{entityState:p,errors:[]}:(i.push(new E({id:`${n.id}--${u}--${y.ReferencedEntityNotFound}`,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${u}" at '${e}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,severity:f.Error,code:y.ReferencedEntityNotFound,issue:null})),{entityState:null,errors:i})}),errors:[]}:(i.push(new E({id:`${n.id}--${e}--${v.InvalidObjectStructure}`,message:`Entity of type "${n.type}" with id "${n.id}" has an invalid structure for the "${e}" property. It should be an array of references.`,severity:f.Error,code:v.InvalidObjectStructure,issue:null})),{entities:[],errors:i}):(i.push(new E({id:`${n.id}--${e}--${v.InvalidObjectStructure}`,message:`Entity of type "${n.type}" with id "${n.id}" is missing a list of references to "${e}" entities.`,severity:f.Error,code:v.InvalidObjectStructure,issue:null})),{entities:[],errors:i})}function pd(n,e,t){const i=[],a=ud(n,e,t);if(a.errors.length>0)return a.errors;if(a.entityState){const s=a.entityState;e.types.includes(s.type)||i.push(new E({id:`${n.id}--${s.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to "${e.key}" that isn't pointing to an entity of type '${N(e.types,"', '","' or '")}'.`,issue:null})),n.id===s.id&&i.push(new E({id:`${n.id}--${s.id}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at '${e.key}'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}))}return i}function N(n,e,t){if(n.length===1)return n[0];if(n.length===2)return n.join(t);{const i=n.pop();return`${n.join(e)}${t}${i}`}}const Nn=`Pass-through callable entities are entities that need to be called by another caller, then they execute some internal logic and when finished, it can call other callable entities with the "calledBySuccess" property or "calledByError" property based on whether their internal execution was successful or an error ocurred respectively.
197
+ All pass-through callable entities are: ${N(Ne,", "," and ")}.`,da=`Entry point entities are the entities which start the execution of a logic chain. They are ${N($e,", "," and ")}.They aren't explicitly called by any entities. Rather, they can be called implicitly by the system, or as a function-call somewhere else in the case of a function-declaration. `,ag=`Caller entities are entities that can call other entities. Regarless of whether they are entry-point entities or pass-through callable entities. All caller entity types are: ${N(en,", "," and ")}.`,w9=`Callable entities are entities that can be called by other entities. They can be called by an entry-point, a success caller, or an error caller.
198
+ All callable entity types are: ${N(En,", "," and ")}.`,$n=`Caller to callee relationships can be updated with the 'add_caller' and 'remove_caller' generation action with the properties: 'callerEntityId', a 'calleeEntityId'. For adding a caller, you can optionally add a boolean property 'fromError' (if the caller calls when an error occured in its execution).
199
199
  Either of these two actions will only affect the one relationship between the given caller and callee and ignore any others present in either entity.`,yd=`Break and continue statements need to have exactly one 'return-declaration' entity each. It represents the result of the current iteration of the loop. It can have any name and have any 'data-type' but it needs to be identical among all statements in the same loop.
200
- Meaning, if the return declaration in one 'break-statement' is named 'result' and has a 'data-type' of 'number', all other 'break-statements' and 'continue-statements' in the same loop need to have a 'return-declaration' with the same name and 'data-type'.`,B9=`Return statements need to be identical inside the same scope. For example if a 'return-statement' belongs to a function, with multiple branches of logic, leading to multiple 'return-statement' entities, all of them need to have the exact same amount of 'return-declaration' entities, sharing the same name and an equivalent 'data-type' entity.
200
+ Meaning, if the return declaration in one 'break-statement' is named 'result' and has a 'data-type' of 'number', all other 'break-statements' and 'continue-statements' in the same loop need to have a 'return-declaration' with the same name and 'data-type'.`,_9=`Return statements need to be identical inside the same scope. For example if a 'return-statement' belongs to a function, with multiple branches of logic, leading to multiple 'return-statement' entities, all of them need to have the exact same amount of 'return-declaration' entities, sharing the same name and an equivalent 'data-type' entity.
201
201
  Furthermore, some 'function-declarations' and all 'global-events' might be implementing a base 'action-descriptor' entity, which defines exactly the shape and number of the return declarations.`,hd=`A variable without a data type which reads an-untyped object value, or has object properties written into it as input-map writes, will infere its data-type. This means that a 'data-type' will be created, with an implicitly declared 'custom-entity' as its 'entity' property, defining the structure of the object.
202
- This data type entity is what will define which properties are available to be read from the variable or any of its instances as 'output-map' entities.`,Ln=`Entities of type '${r.BuiltInBaseEntity}' that have the 'interactive' property set to false cannot be used programmatically during runtime. They can't be used as data types or instanciated in variables. Their methods can't be called by the code, and are only called by the system in the background. Their properties' values are constant and set only once when declared. They also can't be extended with unrecognized properties or methods that aren't part of the base out-of-the-box entity.`,fd=`Entities that read values from other entities, can be connected with entities that write values to them. Value reading entity types are: '${N(Tn,"', '","' and '")}'.`,ag=`Entities that write values to other entities, can be connected with entities that read values from them. Value writing entity types are: '${N(Se,"', '","' and '")}'.`,md=`A property entity, is neither a value reading, or a value writting entity, but they are often confused with one.
202
+ This data type entity is what will define which properties are available to be read from the variable or any of its instances as 'output-map' entities.`,Vn=`Entities of type '${r.BuiltInBaseEntity}' that have the 'interactive' property set to false cannot be used programmatically during runtime. They can't be used as data types or instanciated in variables. Their methods can't be called by the code, and are only called by the system in the background. Their properties' values are constant and set only once when declared. They also can't be extended with unrecognized properties or methods that aren't part of the base out-of-the-box entity.`,fd=`Entities that read values from other entities, can be connected with entities that write values to them. Value reading entity types are: '${N(Tn,"', '","' and '")}'.`,sg=`Entities that write values to other entities, can be connected with entities that read values from them. Value writing entity types are: '${N(Se,"', '","' and '")}'.`,md=`A property entity, is neither a value reading, or a value writting entity, but they are often confused with one.
203
203
  A 'property' can have a default value through its nested 'data-type' entity.
204
204
  The 'property' entity only represents the data field in the declaration, and it can't write or read values.
205
- When a 'custom-entity' is instantiated as a variable, any writes or reads to its properties are done through 'input-map's and 'output-map's.`,ro=`Some entities can hold values during runtime, they often can be given a hardcoded "default value" either directly or on their declarations, and can be connected to other entities that write or read values to and from them. Entities that can hold values are: '${N(Nd,"', '","' and '")}'.
205
+ When a 'custom-entity' is instantiated as a variable, any writes or reads to its properties are done through 'input-map's and 'output-map's.`,no=`Some entities can hold values during runtime, they often can be given a hardcoded "default value" either directly or on their declarations, and can be connected to other entities that write or read values to and from them. Entities that can hold values are: '${N(Nd,"', '","' and '")}'.
206
206
  Some entities with values can both write and read values, while others can only do one of the two.
207
207
  ${fd}
208
- ${ag}.
208
+ ${sg}.
209
209
  ${md}`,Td=`To establish a connection of a reader and writter value during the generation process you can use the 'connect_values' generation action, like so:
210
210
  \`\`\`json
211
211
  {
@@ -215,17 +215,17 @@ ${md}`,Td=`To establish a connection of a reader and writter value during the ge
215
215
  }
216
216
  }
217
217
  \`\`\`
218
- You can use the 'disconnect_values' generation action to remove the connection between two value holding entities in the same way.`,io=`If an explicit 'parent' isn't given for a callable entity, the scope will be auto-calculated to match the parent scope of the caller entity.
218
+ You can use the 'disconnect_values' generation action to remove the connection between two value holding entities in the same way.`,ro=`If an explicit 'parent' isn't given for a callable entity, the scope will be auto-calculated to match the parent scope of the caller entity.
219
219
  If the entity that should be the parent of a callable entity is unclear, you can always skip the 'parent' property and the system will automatically calculate the parent based on the caller entity.`;function Qt(n){return`\`\`\`json
220
220
  ${typeof n=="string"?n:JSON.stringify(n,null,2)}
221
- \`\`\``}function w9(n,e){let t={};switch(n){case"add_caller":return t.add_caller={callerEntityId:e.callerEntityId,calleeEntityId:e.calleeEntityId},e.fromError&&(t.add_caller.fromError=e.fromError),Qt(t);case"remove_caller":return t.remove_caller={callerEntityId:e.callerEntityId,calleeEntityId:e.calleeEntityId},Qt(t);case"connect_values":return t.connect_values={writerEntityId:e.writerEntityId,readerEntityId:e.readerEntityId},Qt(t);case"disconnect_values":return t.disconnect_values={writerEntityId:e.writerEntityId,readerEntityId:e.readerEntityId},Qt(t);case"update":{const i=`{
221
+ \`\`\``}function M9(n,e){let t={};switch(n){case"add_caller":return t.add_caller={callerEntityId:e.callerEntityId,calleeEntityId:e.calleeEntityId},e.fromError&&(t.add_caller.fromError=e.fromError),Qt(t);case"remove_caller":return t.remove_caller={callerEntityId:e.callerEntityId,calleeEntityId:e.calleeEntityId},Qt(t);case"connect_values":return t.connect_values={writerEntityId:e.writerEntityId,readerEntityId:e.readerEntityId},Qt(t);case"disconnect_values":return t.disconnect_values={writerEntityId:e.writerEntityId,readerEntityId:e.readerEntityId},Qt(t);case"update":{const i=`{
222
222
  "update": {
223
223
  "entityId": "${e.entityId}",
224
224
  "data": {
225
225
  ...All the properties you want to update
226
226
  }
227
227
  }
228
- }`;return Qt(i)}default:return""}}function sg(n,e){const t=JSON.parse(JSON.stringify(n)),i=[];if($e.includes(e.type))i.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Warning,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to an entry-point entity at 'calledBySuccess' with id "${e.id}".
228
+ }`;return Qt(i)}default:return""}}function og(n,e){const t=JSON.parse(JSON.stringify(n)),i=[];if($e.includes(e.type))i.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Warning,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to an entry-point entity at 'calledBySuccess' with id "${e.id}".
229
229
  Entry-point entities can only be referenced as 'calledByEntry'.
230
230
  ${da}
231
231
  We have moved the reference to 'calledByEntry' for you.`,issue:null})),t.calledByEntry.push(e.id),t.calledBySuccess=t.calledBySuccess.filter(a=>a!==e.id);else if(Oe.includes(e.type)){const a=e.calledBy||[],s=a.length?`
@@ -233,42 +233,42 @@ We have moved the reference to 'calledByEntry' for you.`,issue:null})),t.calledB
233
233
  This ${e.type} is called by ${N(a.map(o=>`${o.type} with id "${o.id}"`),", "," and ")} entities. You can reference ${a.length>1?"one of them":"it"} instead to execute this entity before the end of the logic.`:"";i.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a '${e.type}' entity at 'calledBySuccess' with id "${e.id}".
234
234
  ${e.type} entities are the last entity to be executed in a logic chain, and they don't call any other entities.
235
235
  Termination entities are ${N(Oe,", "," and ")}.${s}`,issue:null}))}else if(!Ne.includes(e.type))i.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity at 'calledBySuccess' with id "${e.id}" that isn't a pass-through callable entity.
236
- ${$n}`,issue:null}));else if(!en.includes(e.type))return i.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity at 'calledBySuccess' with id "${e.id}" that isn't a caller entity.
236
+ ${Nn}`,issue:null}));else if(!en.includes(e.type))return i.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity at 'calledBySuccess' with id "${e.id}" that isn't a caller entity.
237
237
  All caller entity types are: ${N(en,", "," and ")}.
238
238
  For the 'calledBySuccess' property, you specifically need to reference a pass-through callable entity.
239
- ${$n}`,issue:null})),{errors:i,modifiedData:t};return{errors:i,modifiedData:t}}function og(n,e){const t=[];if($e.includes(e.type))t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to an entry-point entity at 'calledByError' with id "${e.id}".
239
+ ${Nn}`,issue:null})),{errors:i,modifiedData:t};return{errors:i,modifiedData:t}}function lg(n,e){const t=[];if($e.includes(e.type))t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to an entry-point entity at 'calledByError' with id "${e.id}".
240
240
  Entry-point entities can only be referenced as 'calledByEntry'.
241
241
  ${da}`,issue:null}));else if(Oe.includes(e.type)){const i=e.calledBy||[],a=i.length?`
242
242
 
243
243
  This ${e.type} is called by ${N(i.map(s=>`${s.type} with id "${s.id}"`),", "," and ")} entities. You can reference ${i.length>1?"one of them":"it"} instead to execute this entity before the end of the logic.`:"";t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a '${e.type}' entity at 'calledByError' with id "${e.id}".
244
244
  ${e.type} entities are the last entity to be executed in a logic chain, and they don't call any other entities.
245
245
  Termination entities are ${N(Oe,", "," and ")}.${a}`,issue:null}))}else if(!Ne.includes(e.type))t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity at 'calledByError' with id "${e.id}" that isn't a pass-through callable entity.
246
- ${$n}`,issue:null}));else if(!en.includes(e.type))return t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity at 'calledByError' with id "${e.id}" that isn't a caller entity.
246
+ ${Nn}`,issue:null}));else if(!en.includes(e.type))return t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity at 'calledByError' with id "${e.id}" that isn't a caller entity.
247
247
  All caller entity types are: ${N(en,", "," and ")}.
248
248
  For the 'calledByError' property, you specifically need to reference a pass-through callable entity.
249
- ${$n}`,issue:null})),t;return t}function lg(n,e){const t=[];if(Oe.includes(e.type)){const i=e.calledBy||[],a=i.length?`
249
+ ${Nn}`,issue:null})),t;return t}function cg(n,e){const t=[];if(Oe.includes(e.type)){const i=e.calledBy||[],a=i.length?`
250
250
 
251
251
  This ${e.type} is called by ${N(i.map(s=>`${s.type} with id "${s.id}"`),", "," and ")} entities. You can reference ${i.length>1?"one of them":"it"} instead to execute this entity before the end of the logic.`:"";t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a '${e.type}' entity at 'calledByEntry' with id "${e.id}".
252
252
  ${e.type} entities are the last entity to be executed in a logic chain, and they don't call any other entities.
253
253
  Termination entities are ${N(Oe,", "," and ")}.${a}`,issue:null}))}else if(Ne.includes(e.type))t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Warning,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity at 'calledByEntry' with id "${e.id}" that is a pass-through callable entity, not an entry-point entity.
254
- ${$n}.
254
+ ${Nn}.
255
255
  ${da}.
256
256
 
257
257
  We have moved the reference to 'calledBySuccess' for you.`,issue:null}));else if(!en.includes(e.type))return t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity at 'calledByEntry' with id "${e.id}" that isn't a caller entity.
258
258
  All caller entity types are: ${N(en,", "," and ")}.
259
259
  For the 'calledByEntry' property, you specifically need to reference a pass-through callable entity.
260
- ${$n}`,issue:null})),t;return t}function cg(n,e){const t=[];let i=JSON.parse(JSON.stringify(n));if(En.includes(i.type)){if(i.calledBySuccess){const s=no(i,"calledBySuccess",e);s.errors.length===0?s.entities.forEach(o=>{if(o.errors.length){t.push(...o.errors);return}const u=sg(i,o.entityState);i=u.modifiedData,t.push(...u.errors)}):t.push(...s.errors)}if(i.calledByError){const s=no(i,"calledByError",e);s.errors.length===0?s.entities.forEach(o=>{if(o.errors.length){t.push(...o.errors);return}const u=og(i,o.entityState);t.push(...u)}):t.push(...s.errors)}if(i.calledByEntry){const s=no(i,"calledByEntry",e);s.errors.length===0?(s.entities.forEach(o=>{if(o.errors.length){t.push(...o.errors);return}const u=lg(i,o.entityState);t.push(...u)}),t.push(...t)):t.push(...s.errors)}const a=[...i.calledBySuccess||[],...i.calledByError||[],...i.calledByEntry||[]];if(a.length){const s=[...new Set(a)];a.length!==s.length&&t.push(new E({id:`${i.id}--${y.DuplicateReference}`,code:y.DuplicateReference,severity:f.Warning,message:`Entity of type "${i.type}" with id "${i.id}" has duplicate caller references. Each caller reference should be unique. Duplicate caller reference will be ignored.`,issue:null}));const o=ht(i,e);i.type===r.ReturnStatement&&o&&!$e.includes(o.type)?t.push(new E({id:`${i.id}--${y.IncompatibleScope}`,code:y.IncompatibleScope,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" has an explicitly set parent, but it isn't a '${N($e,"', '","' or '")}' entity. A return statement's parent should always be resolved to a function declaration or global event.${io}`,issue:null})):i.type===r.ContinueStatement&&o&&o.type!==r.Loop?t.push(new E({id:`${i.id}--${y.IncompatibleScope}`,code:y.IncompatibleScope,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" has an explicitly set parent, but it isn't a '${r.Loop}' entity. A continue statement's parent should always be resolved to a loop entity.${io}`,issue:null})):i.type===r.BreakStatement&&o&&o.type!==r.Loop&&t.push(new E({id:`${i.id}--${y.IncompatibleScope}`,code:y.IncompatibleScope,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" has an explicitly set parent, but it isn't a '${r.Loop}' entity. A break statement's parent should always be resolved to a loop entity.${io}`,issue:null}));const u=[],p=[];let h=null;if(s.forEach(m=>{const T=e.get(m);if(!T){t.push(new E({id:`${i.id}--${m}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity with id "${m}" that doesn't exist in the project.`,issue:null}));return}const b=ht(T,e);if(o)ya(o,b,e)?(Oe.includes(i.type)&&((i.calledBySuccess||[]).find(B=>B===T.id)?(T.successCalls||[]).find(W=>Oe.includes(W.type))&&t.push(new E({id:`${i.id}--${T.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" is being called by an entity of type "${T.type}" with id "${T.id}" that already calls a termination statement.
260
+ ${Nn}`,issue:null})),t;return t}function dg(n,e){const t=[];let i=JSON.parse(JSON.stringify(n));if(En.includes(i.type)){if(i.calledBySuccess){const s=to(i,"calledBySuccess",e);s.errors.length===0?s.entities.forEach(o=>{if(o.errors.length){t.push(...o.errors);return}const u=og(i,o.entityState);i=u.modifiedData,t.push(...u.errors)}):t.push(...s.errors)}if(i.calledByError){const s=to(i,"calledByError",e);s.errors.length===0?s.entities.forEach(o=>{if(o.errors.length){t.push(...o.errors);return}const u=lg(i,o.entityState);t.push(...u)}):t.push(...s.errors)}if(i.calledByEntry){const s=to(i,"calledByEntry",e);s.errors.length===0?(s.entities.forEach(o=>{if(o.errors.length){t.push(...o.errors);return}const u=cg(i,o.entityState);t.push(...u)}),t.push(...t)):t.push(...s.errors)}const a=[...i.calledBySuccess||[],...i.calledByError||[],...i.calledByEntry||[]];if(a.length){const s=[...new Set(a)];a.length!==s.length&&t.push(new E({id:`${i.id}--${y.DuplicateReference}`,code:y.DuplicateReference,severity:f.Warning,message:`Entity of type "${i.type}" with id "${i.id}" has duplicate caller references. Each caller reference should be unique. Duplicate caller reference will be ignored.`,issue:null}));const o=ht(i,e);i.type===r.ReturnStatement&&o&&!$e.includes(o.type)?t.push(new E({id:`${i.id}--${y.IncompatibleScope}`,code:y.IncompatibleScope,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" has an explicitly set parent, but it isn't a '${N($e,"', '","' or '")}' entity. A return statement's parent should always be resolved to a function declaration or global event.${ro}`,issue:null})):i.type===r.ContinueStatement&&o&&o.type!==r.Loop?t.push(new E({id:`${i.id}--${y.IncompatibleScope}`,code:y.IncompatibleScope,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" has an explicitly set parent, but it isn't a '${r.Loop}' entity. A continue statement's parent should always be resolved to a loop entity.${ro}`,issue:null})):i.type===r.BreakStatement&&o&&o.type!==r.Loop&&t.push(new E({id:`${i.id}--${y.IncompatibleScope}`,code:y.IncompatibleScope,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" has an explicitly set parent, but it isn't a '${r.Loop}' entity. A break statement's parent should always be resolved to a loop entity.${ro}`,issue:null}));const u=[],p=[];let h=null;if(s.forEach(m=>{const T=e.get(m);if(!T){t.push(new E({id:`${i.id}--${m}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a caller entity with id "${m}" that doesn't exist in the project.`,issue:null}));return}const b=ht(T,e);if(o)ya(o,b,e)?(Oe.includes(i.type)&&((i.calledBySuccess||[]).find(B=>B===T.id)?(T.successCalls||[]).find(W=>Oe.includes(W.type))&&t.push(new E({id:`${i.id}--${T.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" is being called by an entity of type "${T.type}" with id "${T.id}" that already calls a termination statement.
261
261
  The new termination statement is redundant because both entities would be called from the same parent caller branch "successCalls", at the same time.`,issue:null})):(i.calledByError||[]).find(B=>B===T.id)?(T.errorCalls||[]).find(W=>Oe.includes(W.type))&&t.push(new E({id:`${i.id}--${T.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" is being called by an entity of type "${T.type}" with id "${T.id}" that already calls a termination statement.
262
262
  The new termination statement is redundant because both entities would be called from the same parent caller branch "errorCalls", at the same time.`,issue:null})):(i.calledByEntry||[]).find(B=>B===T.id)&&(T.calls||[]).find(W=>Oe.includes(W.type))&&t.push(new E({id:`${i.id}--${T.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" is being called by an entity of type "${T.type}" with id "${T.id}" that already calls a termination statement.
263
263
  The new termination statement is redundant because both entities would be called from the same parent caller branch (entry-point), at the same time.`,issue:null}))),u.push({caller:T,scope:b})):p.push({caller:T,scope:b,errors:[new E({id:`${i.id}--${T.id}--${y.CallerWithIncompatibleScope}`,code:y.CallerWithIncompatibleScope,severity:f.Warning,message:`Entity of type "${i.type}" with id "${i.id}" is being called by an entity of type "${T.type}" with id "${T.id}" that is in a different scope. The caller entity should be in the same scope or a higher valid scope. Or all callers should share the global project scope with the entity they call.`,issue:null})]});else if(!h)h=b;else{const{compatible:I}=ya(h,b,e);I?(Oe.includes(i.type)&&((i.calledBySuccess||[]).find(B=>B===T.id)?(T.successCalls||[]).find(W=>Oe.includes(W.type))&&t.push(new E({id:`${i.id}--${T.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" is being called by an entity of type "${T.type}" with id "${T.id}" that already calls a termination statement.
264
264
  The new termination statement is redundant because both entities would be called from the same parent caller branch "successCalls", at the same time.`,issue:null})):(i.calledByError||[]).find(B=>B===T.id)?(T.errorCalls||[]).find(W=>Oe.includes(W.type))&&t.push(new E({id:`${i.id}--${T.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" is being called by an entity of type "${T.type}" with id "${T.id}" that already calls a termination statement.
265
265
  The new termination statement is redundant because both entities would be called from the same parent caller branch "errorCalls", at the same time.`,issue:null})):(i.calledByEntry||[]).find(B=>B===T.id)&&(T.calls||[]).find(W=>Oe.includes(W.type))&&t.push(new E({id:`${i.id}--${T.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Error,message:`Entity of type "${i.type}" with id "${i.id}" is being called by an entity of type "${T.type}" with id "${T.id}" that already calls a termination statement.
266
- The new termination statement is redundant because both entities would be called from the same parent caller branch (entry-point), at the same time.`,issue:null}))),u.push({caller:T,scope:b})):p.push({caller:T,scope:b,errors:[new E({id:`${i.id}--${T.id}--${y.CallerWithIncompatibleScope}`,code:y.CallerWithIncompatibleScope,severity:f.Warning,message:`Entity of type "${i.type}" with id "${i.id}" has multiple caller, but not all of them have compatible scopes. Caller of type "${T.type}" with id "${T.id}" is in a different scope than caller of type "${h.type}" with id "${h.id}". All callers should be in the same scope or a higher valid scope. Or all callers should share the global project scope.`,issue:null})]})}}),p.length)p.forEach(m=>{t.push(...m.errors)});else if(u.length&&!o&&Ro.includes(i.type)){const m=u.filter(T=>T.scope!==e);if(m.length){const T=xg(m.map(b=>b.scope));i.parent=T.id}else i.parent=e.id}}else{let s=`Entity of type "${i.type}" with id "${i.id}" isn't called by any other entity. Callable entities only get executed if they have a list of references from either 'calledByEntry', 'calledBySuccess' or 'calledByError'.
266
+ The new termination statement is redundant because both entities would be called from the same parent caller branch (entry-point), at the same time.`,issue:null}))),u.push({caller:T,scope:b})):p.push({caller:T,scope:b,errors:[new E({id:`${i.id}--${T.id}--${y.CallerWithIncompatibleScope}`,code:y.CallerWithIncompatibleScope,severity:f.Warning,message:`Entity of type "${i.type}" with id "${i.id}" has multiple caller, but not all of them have compatible scopes. Caller of type "${T.type}" with id "${T.id}" is in a different scope than caller of type "${h.type}" with id "${h.id}". All callers should be in the same scope or a higher valid scope. Or all callers should share the global project scope.`,issue:null})]})}}),p.length)p.forEach(m=>{t.push(...m.errors)});else if(u.length&&!o&&Eo.includes(i.type)){const m=u.filter(T=>T.scope!==e);if(m.length){const T=jg(m.map(b=>b.scope));i.parent=T.id}else i.parent=e.id}}else{let s=`Entity of type "${i.type}" with id "${i.id}" isn't called by any other entity. Callable entities only get executed if they have a list of references from either 'calledByEntry', 'calledBySuccess' or 'calledByError'.
267
267
  To add a caller, use the 'add_caller' action with the properties: 'callerEntityId', a 'calleeEntityId', and optionally a boolean 'fromError' (if the caller calls when an error occured in its execution).`;i.type===r.ReturnStatement?s+=`
268
268
  Return statements need to have a caller when created, since their purpose is to terminate a call chain.`:i.type===r.ContinueStatement?s+=`
269
269
  Continue statements need to have a caller when created, since they are used to skip the rest of the current iteration of a loop and can't be detached from a call chain.`:i.type===r.BreakStatement&&(s+=`
270
270
  Break statements need to have a caller when created, since they are used to exit a loop and can't be detached from a call chain.`),s+=`
271
- ${ig}`,Oe.includes(i.type)||(s+=`
271
+ ${ag}`,Oe.includes(i.type)||(s+=`
272
272
  It is recommended to have a caller reference already at the moment of creation in the payload of the generation action.`),t.push(new E({id:`${i.id}--${v.MissingCaller}`,code:v.MissingCaller,severity:Oe.includes(i.type)?f.Error:f.Warning,message:s,issue:null}))}}return{errors:t,modifiedData:i}}function Ed(n,e){const t=[];if(e.type===r.PrimitiveValue){const o=e.parent;let u=!1;if(o.type===r.InputMap)t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a value writting entity at 'readsValue' with id "${e.id}" that is a primitive value entity. Primitive value entities aren't value writting entities.
273
273
  All value writting entity types are: ${N(Se,", "," and ")}.
274
274
 
@@ -281,29 +281,29 @@ All value writting entity types are: ${N(Se,", "," and ")}.
281
281
 
282
282
  This data type entity belongs to a ${o.type} entity with id "${o.id}". ${o.type} entities are value writting entities. Is that what you meant to reference?`,issue:null})):t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a value writting entity at 'readsValue' with id "${e.id}" that is a primitive value entity. Primitive value entities can't be referenced as value writting entities.
283
283
  All value writting entity types are: ${N(Se,", "," and ")}.`,issue:null}))}else Se.includes(e.type)||t.push(new E({id:`${n.id}--${e.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a value writting entity at 'readsValue' with id "${e.id}" that isn't a value writting entity.
284
- All value writting entity types are: ${N(Se,", "," and ")}.`,issue:null}));const i=ht(n,e.project),a=ht(e,e.project);if(i){const s=ya(i,e,e.project);if(!s.compatible){const{type:o}=s;let u="";const p=`But they are nested under different subscopes. The reader is in the scope of the '${i.type}' (${A(i,e.project)}) with id '${i.id}', and the writter is in the scope of the '${a.type}' (${A(a,e.project)}) with id '${a.id}'.`;o===mo.ParallelInCommonParent?(u=`The reader and the writter entities are both in the scope of the '${s.commonAncestorScope.type}' (${A(s.commonAncestorScope,e.project)}) with id '${s.commonAncestorScope.id}'.`,u+=`
285
- ${p}`):o===mo.ParallelInProject&&(u="The reader and the writter entities are both in separate scopes in the project that have no common ancestor.",u+=`
284
+ All value writting entity types are: ${N(Se,", "," and ")}.`,issue:null}));const i=ht(n,e.project),a=ht(e,e.project);if(i){const s=ya(i,e,e.project);if(!s.compatible){const{type:o}=s;let u="";const p=`But they are nested under different subscopes. The reader is in the scope of the '${i.type}' (${A(i,e.project)}) with id '${i.id}', and the writter is in the scope of the '${a.type}' (${A(a,e.project)}) with id '${a.id}'.`;o===fo.ParallelInCommonParent?(u=`The reader and the writter entities are both in the scope of the '${s.commonAncestorScope.type}' (${A(s.commonAncestorScope,e.project)}) with id '${s.commonAncestorScope.id}'.`,u+=`
285
+ ${p}`):o===fo.ParallelInProject&&(u="The reader and the writter entities are both in separate scopes in the project that have no common ancestor.",u+=`
286
286
  ${p}`),u+=`
287
287
  Two value holding entities need to be in the same scope or in scopes nested inside of eachother to be able to read and write to each other.`,t.push(new E({id:`${n.id}--${e.id}--${y.IncompatibleScope}`,code:y.IncompatibleScope,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to a value writting entity at 'readsValue' with id "${e.id}" with an incompatible scope.
288
288
  ${u}`,issue:null}))}}return t}function Ge(n,e,t,i=!1){const a=[],s={...e};let o=JSON.parse(JSON.stringify(n));if(!i){if(Tn.includes(o.type)){if(o.readsValue){const h=ud(o,{key:"readsValue",types:Se},t);if(h.errors.length===0){const m=Ed(o,h.entityState);a.push(...m)}else a.push(...h.errors);delete s.readsValue}}else o.readsValue&&(Se.includes(o.type)?a.push(new E({id:`${o.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}" has a 'readsValue' property that is only valid for entities of type: ${N(Tn,", "," and ")}.
289
- ${ro}`,issue:null})):r.Property===o.type?a.push(new E({id:`${o.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}" has a 'readsValue' property that is only valid for entities of type: ${N(Tn,", "," and ")}.
289
+ ${no}`,issue:null})):r.Property===o.type?a.push(new E({id:`${o.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}" has a 'readsValue' property that is only valid for entities of type: ${N(Tn,", "," and ")}.
290
290
  ${md}`,issue:null})):a.push(new E({id:`${o.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}" has a 'readsValue' property that is only valid for entities of type: ${N(Tn,", "," and ")}.
291
291
  ${fd}`,issue:null})),delete s.readsValue);o.writesValues&&(Se.includes(o.type)?a.push(new E({id:`${o.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Warning,message:`Entity of type "${o.type}" with id "${o.id}" has a 'writesValues' property. This property is managed by the downstream entity, the value reader, and should not be present in the payload of the generation action.
292
292
  ${Td}`,issue:null})):a.push(new E({id:`${o.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Warning,message:`Entity of type "${o.type}" with id "${o.id}" has a 'writesValues' property. This property is managed by the downstream entity, the value reader, and should not be present in the payload of the generation action.
293
- ${ro}
294
- ${Td}`,issue:null})),delete s.writesValues);const p=cg(o,t);delete s.calledByError,delete s.calledBySuccess,delete s.calledByEntry,a.push(...p.errors),o=p.modifiedData}const u=Object.entries(s);for(const[p,h]of u){const m=h.types,T=h.optional,b=o[p];if(!b){T||a.push(new E({id:`${o.id}--${p}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}" is missing a reference to a "${p}" entity. The '${p}' property of a "${o.type}" entity can be ${N(m,", "," or ")}`,issue:null}));continue}if(h.list)if(Array.isArray(b))for(const I of b){const B=pd(o,{key:p,types:m,optional:T},t);a.push(...B)}else{a.push(new E({id:`${o.id}--${p}--${y.ContainsSingleButShouldBeReferenceList}`,code:y.ContainsSingleButShouldBeReferenceList,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}", should have a property "${p}" which is a list, but it isn't.`,issue:null}));continue}else if(Array.isArray(b)){a.push(new E({id:`${o.id}--${p}--${y.ContainsListButShouldReferenceSingle}`,code:y.ContainsListButShouldReferenceSingle,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}", should have a property "${p}" which holds a single reference, but it is a list.`,issue:null}));continue}else{const I=pd(o,{key:p,types:m,optional:T},t);a.push(...I)}}return{errors:a,modifiedData:o}}function _9(n,e,t="calledBy"){const i=[];if(!n)return[];const a=e.get(n);if(!a)return i.push(new E({id:`${n}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity with id "${n}" referenced in '${t}' property not found in the project. Perhaps it should be created first? Perhaps it is the wrong ID?`,issue:null})),i;if([...Ne,...$e].includes(a.type))return[];if(Oe.includes(a.type)){const s=a.calledBy||[],o=s.length?`
293
+ ${no}
294
+ ${Td}`,issue:null})),delete s.writesValues);const p=dg(o,t);delete s.calledByError,delete s.calledBySuccess,delete s.calledByEntry,a.push(...p.errors),o=p.modifiedData}const u=Object.entries(s);for(const[p,h]of u){const m=h.types,T=h.optional,b=o[p];if(!b){T||a.push(new E({id:`${o.id}--${p}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}" is missing a reference to a "${p}" entity. The '${p}' property of a "${o.type}" entity can be ${N(m,", "," or ")}`,issue:null}));continue}if(h.list)if(Array.isArray(b))for(const I of b){const B=pd(o,{key:p,types:m,optional:T},t);a.push(...B)}else{a.push(new E({id:`${o.id}--${p}--${y.ContainsSingleButShouldBeReferenceList}`,code:y.ContainsSingleButShouldBeReferenceList,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}", should have a property "${p}" which is a list, but it isn't.`,issue:null}));continue}else if(Array.isArray(b)){a.push(new E({id:`${o.id}--${p}--${y.ContainsListButShouldReferenceSingle}`,code:y.ContainsListButShouldReferenceSingle,severity:f.Error,message:`Entity of type "${o.type}" with id "${o.id}", should have a property "${p}" which holds a single reference, but it is a list.`,issue:null}));continue}else{const I=pd(o,{key:p,types:m,optional:T},t);a.push(...I)}}return{errors:a,modifiedData:o}}function N9(n,e,t="calledBy"){const i=[];if(!n)return[];const a=e.get(n);if(!a)return i.push(new E({id:`${n}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity with id "${n}" referenced in '${t}' property not found in the project. Perhaps it should be created first? Perhaps it is the wrong ID?`,issue:null})),i;if([...Ne,...$e].includes(a.type))return[];if(Oe.includes(a.type)){const s=a.calledBy||[],o=s.length?`
295
295
 
296
296
  This ${a.type} is called by ${N(s.map(u=>`${u.type} with id "${u.id}"`),", "," and ")} entities. You can reference ${s.length>1?"one of them":"it"} instead to execute this entity before the end of the logic.`:"";i.push(new E({id:`last-action--${a.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity with id '${a.id}' referenced in '${t}' property is of type '${a.type}'.
297
297
  ${a.type} entities are the last entity to be executed in a logic chain, and they don't call any other entities.
298
298
  Termination entities are ${N(Oe,", "," and ")}.${o}`,issue:null}))}else i.push(new E({id:`last-action--${a.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity with id '${a.id}' referenced in '${t}' property is of type '${a.type}' which is not a valid caller entity type.
299
- All caller entity types are: ${N(en,", "," and ")}.`,issue:null}));return i}function M9(n,e,t="calledByError"){const i=[];if(!n)return[];const a=e.get(n);if(!a)return i.push(new E({id:`${n}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity with id "${n}" referenced in '${t}' property not found in the project. Perhaps it should be created first? Perhaps it is the wrong ID?`,issue:null})),i;if(Ne.includes(a.type))return[];if(Oe.includes(a.type)){const s=a.calledBy||[],o=s.length?`
299
+ All caller entity types are: ${N(en,", "," and ")}.`,issue:null}));return i}function $9(n,e,t="calledByError"){const i=[];if(!n)return[];const a=e.get(n);if(!a)return i.push(new E({id:`${n}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity with id "${n}" referenced in '${t}' property not found in the project. Perhaps it should be created first? Perhaps it is the wrong ID?`,issue:null})),i;if(Ne.includes(a.type))return[];if(Oe.includes(a.type)){const s=a.calledBy||[],o=s.length?`
300
300
 
301
301
  This ${a.type} is called by ${N(s.map(u=>`${u.type} with id "${u.id}"`),", "," and ")} entities. You can reference ${s.length>1?"one of them":"it"} instead to execute this entity before the end of the logic.`:"";i.push(new E({id:`last-action--${a.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity with id '${a.id}' referenced in '${t}' property is of type '${a.type}'.
302
302
  ${a.type} entities are the last entity to be executed in a logic chain, and they don't call any other entities.
303
303
  Termination entities are ${N(Oe,", "," and ")}.${o}`,issue:null}))}else $e.includes(a.type)?i.push(new E({id:`last-action--${a.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity with id '${a.id}' referenced in '${t}' property is of type '${a.type}' which is an entry-point entity and doesn't thrown errors.
304
304
  ${da}`,issue:null})):i.push(new E({id:`last-action--${a.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity with id '${a.id}' referenced in '${t}' property is of type '${a.type}' which is not a valid caller entity type.
305
305
  For any error branch caller, for the 'calledByError' property of an entity, you specifically need to reference a pass-through callable entity.
306
- ${$n}`,issue:null}));return i}function N9(n,e){const t=[],i=e.get(n);if(!i)t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The 'readsValue' property references an entity with id '${n}' that was not found in the project. Perhaps it should be created? Perhaps the ID is incorrect?`,issue:null}));else if(i.type===r.PrimitiveValue){const s=i.parent;let o=!1;if(s.type===r.InputMap)t.push(new E({id:`last-action--${i.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`The 'readsValue' property references an entity with id "${i.id}" that is a primitive value entity. Primitive value entities aren't value writting entities.
306
+ ${Nn}`,issue:null}));return i}function V9(n,e){const t=[],i=e.get(n);if(!i)t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The 'readsValue' property references an entity with id '${n}' that was not found in the project. Perhaps it should be created? Perhaps the ID is incorrect?`,issue:null}));else if(i.type===r.PrimitiveValue){const s=i.parent;let o=!1;if(s.type===r.InputMap)t.push(new E({id:`last-action--${i.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`The 'readsValue' property references an entity with id "${i.id}" that is a primitive value entity. Primitive value entities aren't value writting entities.
307
307
  All value writting entity types are: ${N(Se,", "," and ")}.
308
308
 
309
309
  This primitive-value entity belongs to an input map entity with id "${s.id}". Input map entities are value writting entities. Is that what you meant to reference?`,issue:null}));else if(s.type===r.DataType){const u=s,p=u.parent;Se.includes(p.type)?t.push(new E({id:`last-action--${i.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`The 'readsValue' property references an entity with id "${i.id}" that is a primitive value entity. Primitive value entities can't be referenced as value writting entities.
@@ -315,37 +315,37 @@ All value writting entity types are: ${N(Se,", "," and ")}.
315
315
 
316
316
  This data type entity belongs to a ${s.type} entity with id "${s.id}". ${s.type} entities are value writting entities. Is that what you meant to reference?`,issue:null})):t.push(new E({id:`last-action--${i.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`The 'readsValue' property references an entity with id "${i.id}" that is a primitive value entity. Primitive value entities can't be referenced as value writting entities.
317
317
  All value writting entity types are: ${N(Se,", "," and ")}.`,issue:null}))}else Se.includes(i.type)||t.push(new E({id:`last-action--${i.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`The 'readsValue' property references an entity with id "${i.id}" that isn't a value writting entity.
318
- All value writting entity types are: ${N(Se,", "," and ")}.`,issue:null}));return t}function dg(n){return n.functions.length?`All global 'function-declaration' entity ids are:
318
+ All value writting entity types are: ${N(Se,", "," and ")}.`,issue:null}));return t}function ug(n){return n.functions.length?`All global 'function-declaration' entity ids are:
319
319
  - ${n.functions.map(t=>`${t.id} (${A(t,n)})`).join(`
320
- - `)}.`:"The project currently has no global 'function-declaration' entities that can be called as 'function-call' entities."}function ao(n){return`All reserved action decriptor ids for '${r.GlobalEvent}' entities are:
320
+ - `)}.`:"The project currently has no global 'function-declaration' entities that can be called as 'function-call' entities."}function io(n){return`All reserved action decriptor ids for '${r.GlobalEvent}' entities are:
321
321
  - ${n.globalEventActionDescriptors.map(e=>`${e.id} (${A(e,n)})`).join(`
322
- - `)}`}function so(n){return`All reserved action decriptor ids for '${r.Loop}' entities are:
322
+ - `)}`}function ao(n){return`All reserved action decriptor ids for '${r.Loop}' entities are:
323
323
  - ${n.loopDeclarations.map(e=>`${e.id} (${A(e,n)})`).join(`
324
- - `)}`}function $9(n){return`All reserved action decriptor ids for '${r.Operation}' entities are:
324
+ - `)}`}function L9(n){return`All reserved action decriptor ids for '${r.Operation}' entities are:
325
325
  - ${n.operationDeclarations.map(e=>`${e.id} (${A(e,n)})`).join(`
326
- - `)}`}function oo(n){return`All reserved action decriptor ids for '${r.Condition}' entities are:
326
+ - `)}`}function so(n){return`All reserved action decriptor ids for '${r.Condition}' entities are:
327
327
  - ${n.conditionDeclarations.map(e=>`${e.id} (${A(e,n)})`).join(`
328
- - `)}`}function ug(n,e){const t=[];if(!n)return[];const i=e.get(n),a=dg(e);if(!i)t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity with id '${n}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}));else if(i.type===r.ActionDescriptor)t.push(new E({id:`last-action--${y.InvalidFunctionDeclarationForFunctionCall}`,code:y.InvalidFunctionDeclarationForFunctionCall,severity:f.Error,message:`The 'functionDeclarationId' reference is pointing to entity with id '${n}' which is of type '${i.type}' entity. If you meant to reference an 'action-descriptor', you can use the 'implement_operation' generation action instead.
328
+ - `)}`}function pg(n,e){const t=[];if(!n)return[];const i=e.get(n),a=ug(e);if(!i)t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity with id '${n}' that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}));else if(i.type===r.ActionDescriptor)t.push(new E({id:`last-action--${y.InvalidFunctionDeclarationForFunctionCall}`,code:y.InvalidFunctionDeclarationForFunctionCall,severity:f.Error,message:`The 'functionDeclarationId' reference is pointing to entity with id '${n}' which is of type '${i.type}' entity. If you meant to reference an 'action-descriptor', you can use the 'implement_operation' generation action instead.
329
329
  Otherwise, if you were trying to implement a 'function-call' from a globally declarated 'function-declaration':
330
330
  ${a}`,issue:null}));else if(i.type!==r.FunctionDeclaration)t.push(new E({id:`last-action--${y.InvalidFunctionDeclarationForFunctionCall}`,code:y.InvalidFunctionDeclarationForFunctionCall,severity:f.Error,message:`The 'functionDeclarationId' reference is pointing to entity with id '${n}' which is of type '${i.type}' entity. Only 'function-declaration' entities can be implemented as function calls.
331
- ${a}`,issue:null}));else if(i.parent.type===r.CustomEntity){const o=Fn(i.parent).filter(p=>!p.interactive);let u="";o.length&&(u=`
331
+ ${a}`,issue:null}));else if(i.parent.type===r.CustomEntity){const o=Gn(i.parent).filter(p=>!p.interactive);let u="";o.length&&(u=`
332
332
  Furthermore, the specific 'custom-entity' extends or implements non-interactive built-in-base-entities ${o.length>1?`entities with ids '${N(o.map(h=>h.id),"', '","' and '")}'`:`entity with id '${o[0].id}'`}.
333
- ${Ln}`),t.push(new E({id:`last-action--${y.InvalidFunctionDeclarationForFunctionCall}`,code:y.InvalidFunctionDeclarationForFunctionCall,severity:f.Error,message:`The function declaration entity with id '${n}' is a method of the 'custom-entity' with id '${i.parent.id}'. Only globally declared, standalone functions can be implemented as function calls.
333
+ ${Vn}`),t.push(new E({id:`last-action--${y.InvalidFunctionDeclarationForFunctionCall}`,code:y.InvalidFunctionDeclarationForFunctionCall,severity:f.Error,message:`The function declaration entity with id '${n}' is a method of the 'custom-entity' with id '${i.parent.id}'. Only globally declared, standalone functions can be implemented as function calls.
334
334
  If you want to call a method of a custom entity, use a '${r.InternalCall}' entity on any variable which is an instance of that custom entity.
335
335
  ${a}${u}`,issue:null}))}else i.parent.type===r.Loop?t.push(new E({id:`last-action--${y.InvalidFunctionDeclarationForFunctionCall}`,code:y.InvalidFunctionDeclarationForFunctionCall,severity:f.Error,message:`The function declaration entity with id '${n}' is the body of the 'loop' with id '${i.parent.id}'. Only globally declared, standalone functions can be implemented as function calls.
336
336
  If you want to execute the logic of a loop's body you can call the loop entity itself anf the body will be executed once for each iteration.
337
- ${a}`,issue:null})):i.parent.type!==r.Project&&t.push(new E({id:`last-action--${y.InvalidFunctionDeclarationForFunctionCall}`,code:y.InvalidFunctionDeclarationForFunctionCall,severity:f.Error,message:`The function declaration entity with id '${n}' has a 'parent' entity which isn't the root project. Only globally declared, standalone functions can be implemented as function calls.${a}`,issue:null}));return t}function pg(n,e){const t=[];if(!n)return[];const i=e.getBuiltIn(n),a=`
337
+ ${a}`,issue:null})):i.parent.type!==r.Project&&t.push(new E({id:`last-action--${y.InvalidFunctionDeclarationForFunctionCall}`,code:y.InvalidFunctionDeclarationForFunctionCall,severity:f.Error,message:`The function declaration entity with id '${n}' has a 'parent' entity which isn't the root project. Only globally declared, standalone functions can be implemented as function calls.${a}`,issue:null}));return t}function yg(n,e){const t=[];if(!n)return[];const i=e.getBuiltIn(n),a=`
338
338
  All built-in 'action-descriptor' entities that define 'operation' entity, are (IDs):
339
339
  - ${e.operationDeclarations.map(s=>`${s.id} (${A(s,e)}).`).join(`
340
340
  - `)}
341
- `;return i?i.type===r.FunctionDeclaration?t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as operations instances.${a}`,issue:null})):i.type===r.ActionDescriptor?e.operationDeclarations.find(o=>o.id===n)||t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity but it isn't one of the allowed operation descriptors.${a}`,issue:null})):i.type!==r.ActionDescriptor&&t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as operations instances.${a}`,issue:null})):t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity with id '${n}' that isn't yet found in the project.${a}`,issue:null})),t}function V9(n,e){const t=[];if(!n)return[];const i=e.getBuiltIn(n),a=`
341
+ `;return i?i.type===r.FunctionDeclaration?t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as operations instances.${a}`,issue:null})):i.type===r.ActionDescriptor?e.operationDeclarations.find(o=>o.id===n)||t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity but it isn't one of the allowed operation descriptors.${a}`,issue:null})):i.type!==r.ActionDescriptor&&t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as operations instances.${a}`,issue:null})):t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity with id '${n}' that isn't yet found in the project.${a}`,issue:null})),t}function G9(n,e){const t=[];if(!n)return[];const i=e.getBuiltIn(n),a=`
342
342
  All built-in 'action-descriptor' entities that define 'condition' entity, are (IDs):
343
343
  - ${e.conditionDeclarations.map(s=>`${s.id} (${A(s,e)}).`).join(`
344
344
  - `)}
345
- `;return i?i.type===r.FunctionDeclaration?t.push(new E({id:`last-action--${y.InvalidActionDescriptorForCondition}`,code:y.InvalidActionDescriptorForCondition,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as conditions instances.${a}`,issue:null})):i.type===r.ActionDescriptor?e.conditionDeclarations.find(o=>o.id===n)||t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity but it isn't one of the allowed condition descriptors.${a}`,issue:null})):i.type!==r.ActionDescriptor&&t.push(new E({id:`last-action--${y.InvalidActionDescriptorForCondition}`,code:y.InvalidActionDescriptorForCondition,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as conditions instances.${a}`,issue:null})):t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity with id '${n}' that isn't yet found in the project.${a}`,issue:null})),t}function L9(n,e){const t=[];if(!n)return[];const i=e.getBuiltIn(n),a=`
345
+ `;return i?i.type===r.FunctionDeclaration?t.push(new E({id:`last-action--${y.InvalidActionDescriptorForCondition}`,code:y.InvalidActionDescriptorForCondition,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as conditions instances.${a}`,issue:null})):i.type===r.ActionDescriptor?e.conditionDeclarations.find(o=>o.id===n)||t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity but it isn't one of the allowed condition descriptors.${a}`,issue:null})):i.type!==r.ActionDescriptor&&t.push(new E({id:`last-action--${y.InvalidActionDescriptorForCondition}`,code:y.InvalidActionDescriptorForCondition,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as conditions instances.${a}`,issue:null})):t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity with id '${n}' that isn't yet found in the project.${a}`,issue:null})),t}function F9(n,e){const t=[];if(!n)return[];const i=e.getBuiltIn(n),a=`
346
346
  All built-in 'action-descriptor' entities that define 'loop' entity, are (IDs):
347
347
  - ${e.loopDeclarations.map(s=>`${s.id} (${A(s,e)}).`).join(`
348
- - `)}`;return i?i.type===r.FunctionDeclaration?t.push(new E({id:`last-action--${y.InvalidActionDescriptorForLoop}`,code:y.InvalidActionDescriptorForLoop,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as loops instances.${a}`,issue:null})):i.type===r.ActionDescriptor?e.loopDeclarations.find(o=>o.id===n)||t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity but it isn't one of the allowed loop descriptors.${a}`,issue:null})):i.type!==r.ActionDescriptor&&t.push(new E({id:`last-action--${y.InvalidActionDescriptorForLoop}`,code:y.InvalidActionDescriptorForLoop,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as loops instances.${a}`,issue:null})):t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity with id '${n}' that isn't yet found in the project.${a}`,issue:null})),t}function yg(n,e,t){var p,h,m,T;if(t.compatible)return"";const i=`entity of type "${n.type}" with id "${n.id}"`,a=`entity with id "${n.id}"`,s=`entity of type "${e.type}" with id "${e.id}"`,o=`entity with id "${e.id}"`,u=Hs(`${i} and ${s} have incompatible data types and cannot be connected as value-reader and value-writter.`);return t.type===wt.AIsListBIsNot?`${u}
348
+ - `)}`;return i?i.type===r.FunctionDeclaration?t.push(new E({id:`last-action--${y.InvalidActionDescriptorForLoop}`,code:y.InvalidActionDescriptorForLoop,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as loops instances.${a}`,issue:null})):i.type===r.ActionDescriptor?e.loopDeclarations.find(o=>o.id===n)||t.push(new E({id:`last-action--${y.InvalidActionDescriptorForOperation}`,code:y.InvalidActionDescriptorForOperation,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity but it isn't one of the allowed loop descriptors.${a}`,issue:null})):i.type!==r.ActionDescriptor&&t.push(new E({id:`last-action--${y.InvalidActionDescriptorForLoop}`,code:y.InvalidActionDescriptorForLoop,severity:f.Error,message:`The entity with id '${n}' is of type '${i.type}' entity. Only 'action-descriptor' entities can be implemented as loops instances.${a}`,issue:null})):t.push(new E({id:`last-action--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity with id '${n}' that isn't yet found in the project.${a}`,issue:null})),t}function hg(n,e,t){var p,h,m,T;if(t.compatible)return"";const i=`entity of type "${n.type}" with id "${n.id}"`,a=`entity with id "${n.id}"`,s=`entity of type "${e.type}" with id "${e.id}"`,o=`entity with id "${e.id}"`,u=Ws(`${i} and ${s} have incompatible data types and cannot be connected as value-reader and value-writter.`);return t.type===wt.AIsListBIsNot?`${u}
349
349
  ${a} is a list, but ${o} is not. A list can't be connected to a single value.`:t.type===wt.BIsListAIsNot?`${u}
350
350
  ${a} is not a list, but ${o} is. A single value can't be connected to a list.`:t.type===wt.AIsNullableBIsNot?`${u}
351
351
  ${a} is nullable, but ${o} is not. A nullable value can't be connected to a non-nullable value since an empty value might be incorrectly provided.`:t.type===wt.BIsNullableAIsNot?`${u}
@@ -355,21 +355,21 @@ ${a} is not a template, but ${o} is. A data type that provides an entity as a "t
355
355
  Their 'entity' property is of different types. They must be of the same type to be connected. For example, the 'entity' can be a '${r.CustomEntity}' or a '${r.PrimitiveEntity}'.`:t.type===wt.IncompatibleCustomEntities?`${u}
356
356
  Both point to custom entities, but they are not compatible to be connected. They must be either the same custom entity, or a custom entity that has equivalent shape, which includes the same properties all with compatible data types with the properties in the counterpart entity.`:t.type===wt.IncompatiblePrimitiveEntities?`${u}
357
357
  ${a} is of primitive type '${((p=n.getDataType())==null?void 0:p.entity).name}' and ${o} is of primitive type '${((h=e.getDataType())==null?void 0:h.entity).name}'. They must be of the same primitive type to be connected.`:t.type===wt.IncompatibleBuiltInBaseEntities?`${u}
358
- Both point to a built-in-base-entity. But${a} is of built-in base type '${((m=n.getDataType())==null?void 0:m.entity).name}' and ${o} is of built-in base type '${((T=e.getDataType())==null?void 0:T.entity).name}'. They must be of the same built-in base type to be connected.`:u}function ua(n,e){const t=[];if(n.readsValue){const i=e.project.get(D(n.readsValue));if(e.project.getBuiltIn(D(n.readsValue)))t.push(new E({id:`${e.id}--${y.InvalidBuiltInEntityReference}`,code:y.InvalidBuiltInEntityReference,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' cannot update 'readsValue' to a built-in entity with id '${n.readsValue}'. Only user-created entities can be referenced.`,issue:null}));else if(!i)t.push(new E({id:`${e.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' cannot update 'readsValue' to entity with id '${n.readsValue}' because the entity was not found in the project state.`,issue:null}));else{const s=Ir(i);if(s)t.push(new E({id:`${e.id}--${y.InvalidBuiltInEntityReference}`,code:y.InvalidBuiltInEntityReference,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' cannot update 'readsValue' to entity with id '${n.readsValue}' because the entity belongs to a built-in '${s.type}' entity with id '${s.id}' (${A(s,e.project)}) higher up in the tree.`,issue:null}));else{const o=Ed({...e.toGenerationTarget(),...n},i);t.push(...o);const u=Ys(e.getDataType(),i.getDataType());u.compatible||t.push(new E({id:`${e.id}--${v.ReaderWriterIncompatibleDataType}`,code:v.ReaderWriterIncompatibleDataType,severity:f.Error,message:yg(e,i,u),issue:null}))}}}return{errors:t,modifiedData:n}}function mn(n){const e=[];if(n.parent===n.project)n.calledBy.length||e.push(new Qn({id:`${n.id}--${O.DisconnectedCallableEntity}`,code:O.DisconnectedCallableEntity,severity:f.Warning,message:`This '${n.type}' entity "${A(n,n.project)}" with id "${n.id}" is globally declared and isn't called by any other entity.
358
+ Both point to a built-in-base-entity. But${a} is of built-in base type '${((m=n.getDataType())==null?void 0:m.entity).name}' and ${o} is of built-in base type '${((T=e.getDataType())==null?void 0:T.entity).name}'. They must be of the same built-in base type to be connected.`:u}function ua(n,e){const t=[];if(n.readsValue){const i=e.project.get(D(n.readsValue));if(e.project.getBuiltIn(D(n.readsValue)))t.push(new E({id:`${e.id}--${y.InvalidBuiltInEntityReference}`,code:y.InvalidBuiltInEntityReference,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' cannot update 'readsValue' to a built-in entity with id '${n.readsValue}'. Only user-created entities can be referenced.`,issue:null}));else if(!i)t.push(new E({id:`${e.id}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' cannot update 'readsValue' to entity with id '${n.readsValue}' because the entity was not found in the project state.`,issue:null}));else{const s=gr(i);if(s)t.push(new E({id:`${e.id}--${y.InvalidBuiltInEntityReference}`,code:y.InvalidBuiltInEntityReference,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' cannot update 'readsValue' to entity with id '${n.readsValue}' because the entity belongs to a built-in '${s.type}' entity with id '${s.id}' (${A(s,e.project)}) higher up in the tree.`,issue:null}));else{const o=Ed({...e.toGenerationTarget(),...n},i);t.push(...o);const u=Hs(e.getDataType(),i.getDataType());u.compatible||t.push(new E({id:`${e.id}--${v.ReaderWriterIncompatibleDataType}`,code:v.ReaderWriterIncompatibleDataType,severity:f.Error,message:hg(e,i,u),issue:null}))}}}return{errors:t,modifiedData:n}}function mn(n){const e=[];if(n.parent===n.project)n.calledBy.length||e.push(new Xn({id:`${n.id}--${O.DisconnectedCallableEntity}`,code:O.DisconnectedCallableEntity,severity:f.Warning,message:`This '${n.type}' entity "${A(n,n.project)}" with id "${n.id}" is globally declared and isn't called by any other entity.
359
359
  Globally declared callable entities will not be part of any logic execution when the project is published.
360
360
  To useful to the project when it is published, entities need to be called by a chain of logic that traces itself back to an entry point. Entry points can be either '${r.GlobalEvent}' or '${r.FunctionDeclaration}'.
361
361
  The only use for declaring global callable entities is for a 'variable-declaration' entity to be available globally in the project's scope, since its instances can be used inside lower scopes.
362
362
  Or for a logic that the user is going to manually test themselves by clicking on the user-interface.`,issue:null,entity:n}));else{const t=_d(n);if(!t.reachable){let i=`This '${n.type}' entity "${A(n,n.project)}" with id "${n.id}" is not reachable from the project's closest entry point '${t.entryPoint.type}' "${A(n,n.project)}".`;i+=`
363
363
  This is because there are termination statements in the call chain before reaching this '${n.type}'.
364
364
  If a caller entity calls a termination statement, it will always prevent all other calls from executing.`;let a=`
365
- This '${n.type}' is blocked `;t.blocks.forEach((s,o)=>{const u=s.blockedByCaller,p=s.blockedByCalling;o===0?a+="by ":o===t.blocks.length-1&&(a+="and by "),a+=`its ancestor "${A(u,n.project)}" with id "${u.id}" that calls a '${p.type}' entity with id "${p.id}"`,o<t.blocks.length-1?a+=", ":a+="."}),e.push(new Qn({id:`${n.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Warning,message:`${i}${a}`,issue:null,entity:n}))}}return X(n.errors,e)}function Rd(n){const e=[];if(!n.internalCalls.length)return e;if(n.inputs.length){const t=k({id:`${n.id}--${O.VariableHasInputsAndInternalCall}`,message:`Variable "${A(n,n.project)}" with id "${n.id}" has inputs. A variable with internal calls can't have inputs.`,issue:null,severity:f.Error,code:O.VariableHasInputsAndInternalCall,entity:n});e.push(t.error)}if(n.outputs.length){const t=k({id:`${n.id}--${O.VariableHasOutputsAndInternalCall}`,message:`Variable "${A(n,n.project)}" with id "${n.id}" has outputs. A variable with internal calls can't have outputs.`,issue:null,severity:f.Error,code:O.VariableHasOutputsAndInternalCall,entity:n});e.push(t.error)}if(n.calledBy.length){const t=k({id:`${n.id}--${O.VariableIsCalledAndHasInternalCall}`,message:`Variable "${A(n,n.project)}" with id "${n.id}" is called by other entities. A variable with internal calls can't be called by other entities.`,issue:null,severity:f.Error,code:O.VariableIsCalledAndHasInternalCall,entity:n});e.push(t.error)}if([...n.successCalls,n.errorCalls].length){const t=k({id:`${n.id}--${O.VariableCallsOthersAndHasInternalCall}`,message:`Variable "${A(n,n.project)}" with id "${n.id}" calls other entities. A variable with internal calls can't call other entities.`,issue:null,severity:f.Error,code:O.VariableCallsOthersAndHasInternalCall,entity:n});e.push(t.error)}return e}function G9(n){var o;const e=z4(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(u=>u.validate()),n.outputs.forEach(u=>u.validate()),(o=n.error)==null||o.validate();const s=[...mn(n)];return X(n.errors,s)}const ve=class ve{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.FunctionCall);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"process",null);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"error",null);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const T=D(e.parent);i=t.get(T)}const a=D(e.declaration),s=t.get(a),o=e.calledByEntry.map(T=>{const b=D(T);return t.get(b)}),u=e.calledBySuccess.map(T=>{const b=D(T);return t.get(b)}),p=e.calledByError.map(T=>{const b=D(T);return t.get(b)}),h={id:e.id,version:1,type:r.FunctionCall,declaration:s.toReference(),calledByEntry:o,calledBySuccess:u,calledByError:p,errorCalls:[],successCalls:[],inputs:[],outputs:[],process:null,error:null,x:0,y:0,parent:i},m=R(h,t);return m.setParent(i),m.initChildren(),m}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);i=s.modifiedData,a.push(...s.errors,...Pe(i));const o=D(i.declaration);if(o){const u=ug(o,t);a.push(...u)}else{const u=t.functions.length?`
365
+ This '${n.type}' is blocked `;t.blocks.forEach((s,o)=>{const u=s.blockedByCaller,p=s.blockedByCalling;o===0?a+="by ":o===t.blocks.length-1&&(a+="and by "),a+=`its ancestor "${A(u,n.project)}" with id "${u.id}" that calls a '${p.type}' entity with id "${p.id}"`,o<t.blocks.length-1?a+=", ":a+="."}),e.push(new Xn({id:`${n.id}--${v.UnreachableEntity}`,code:v.UnreachableEntity,severity:f.Warning,message:`${i}${a}`,issue:null,entity:n}))}}return X(n.errors,e)}function Rd(n){const e=[];if(!n.internalCalls.length)return e;if(n.inputs.length){const t=k({id:`${n.id}--${O.VariableHasInputsAndInternalCall}`,message:`Variable "${A(n,n.project)}" with id "${n.id}" has inputs. A variable with internal calls can't have inputs.`,issue:null,severity:f.Error,code:O.VariableHasInputsAndInternalCall,entity:n});e.push(t.error)}if(n.outputs.length){const t=k({id:`${n.id}--${O.VariableHasOutputsAndInternalCall}`,message:`Variable "${A(n,n.project)}" with id "${n.id}" has outputs. A variable with internal calls can't have outputs.`,issue:null,severity:f.Error,code:O.VariableHasOutputsAndInternalCall,entity:n});e.push(t.error)}if(n.calledBy.length){const t=k({id:`${n.id}--${O.VariableIsCalledAndHasInternalCall}`,message:`Variable "${A(n,n.project)}" with id "${n.id}" is called by other entities. A variable with internal calls can't be called by other entities.`,issue:null,severity:f.Error,code:O.VariableIsCalledAndHasInternalCall,entity:n});e.push(t.error)}if([...n.successCalls,n.errorCalls].length){const t=k({id:`${n.id}--${O.VariableCallsOthersAndHasInternalCall}`,message:`Variable "${A(n,n.project)}" with id "${n.id}" calls other entities. A variable with internal calls can't call other entities.`,issue:null,severity:f.Error,code:O.VariableCallsOthersAndHasInternalCall,entity:n});e.push(t.error)}return e}function U9(n){var o;const e=X4(),t=n.toJSON();e.safeParse(t).success,n.inputs.forEach(u=>u.validate()),n.outputs.forEach(u=>u.validate()),(o=n.error)==null||o.validate();const s=[...mn(n)];return X(n.errors,s)}const ve=class ve{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"x");l(this,"y");l(this,"type",r.FunctionCall);l(this,"successCalls",[]);l(this,"errorCalls",[]);l(this,"process",null);l(this,"declaration");l(this,"inputs",[]);l(this,"outputs",[]);l(this,"calledBySuccess",[]);l(this,"calledByError",[]);l(this,"calledByEntry",[]);l(this,"error",null);l(this,"parent");l(this,"errors",[]);l(this,"project");l(this,"initialized",!1);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.x=e.x,this.y=e.y}static fromGenerationTarget(e,t){let i=t;if(e.parent){const T=D(e.parent);i=t.get(T)}const a=D(e.declaration),s=t.get(a),o=e.calledByEntry.map(T=>{const b=D(T);return t.get(b)}),u=e.calledBySuccess.map(T=>{const b=D(T);return t.get(b)}),p=e.calledByError.map(T=>{const b=D(T);return t.get(b)}),h={id:e.id,version:1,type:r.FunctionCall,declaration:s.toReference(),calledByEntry:o,calledBySuccess:u,calledByError:p,errorCalls:[],successCalls:[],inputs:[],outputs:[],process:null,error:null,x:0,y:0,parent:i},m=R(h,t);return m.setParent(i),m.initChildren(),m}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=Ge(i,{parent:{list:!1,types:[...st,r.Project],optional:!0}},t);i=s.modifiedData,a.push(...s.errors,...Pe(i));const o=D(i.declaration);if(o){const u=pg(o,t);a.push(...u)}else{const u=t.functions.length?`
366
366
  All global 'function-declaration' entity ids are:
367
367
  - ${t.functions.map(p=>`${p.id} (${A(p,t)})`).join(`
368
368
  - `)}.`:`
369
369
  The project currently has no global 'function-declaration' entities that can be called as 'function-call' entities.`;a.push(new E({id:`${i.id}--${y.InvalidReference}`,code:y.InvalidReference,severity:f.Error,message:`Entity of type "${r.FunctionCall}" with id "${i.id}", has an invalid reference at the 'declaration' property. The 'declaration' property must be a valid reference to an 'function-declaration' entity.
370
370
  References can either be an ID string or an object with exacly four properties: 'id', 'entityId', 'entityType', 'type'.${u}`,issue:null}))}return{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
371
371
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
372
- You shouldn't have to manually update a 'parent' property. The equivalent result is to change its callers, the value writters of its inputs, or the value readers of its outputs.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){var e;return this.parent===this.project&&this.project.addFunctionCall(this),(e=this.process)==null||e.writesValues.forEach(t=>{t.setValueWriter(this.process)}),this.successCalls.forEach(t=>{t.addSuccessCaller(this)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this)}),this.calledByError.forEach(t=>{t.addErrorCall(this)}),this.calledByEntry.forEach(t=>{t.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.declaration.type===r.FunctionDeclaration){const e=R(this.initialData.declaration,this.project);this.declaration=e}else{const e=D(this.initialData.declaration),t=this.project.get(e);this.declaration=t}return this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initOutputs(),this.initialData.process&&(this.process=R(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this}initOutputs(){const e=[];this.outputs=this.initialData.outputs.map(s=>{const o=R(s,this.project);return e.push(o.index),o.setParent(this),o.initChildren(),o});const i=Pd(this).filter(s=>!this.outputs.find(o=>o.declaration.id===s.id));i.sort((s,o)=>s.index-o.index);const a=i.map((s,o)=>{const u=e.includes(s.index)?this.outputs.length-1+o:s.index,p={id:$.UUID.uuid(),type:r.OutputMap,version:1,declaration:s,index:u,parent:this,writesValues:[]},h=R(p,this.project);return h.setParent(this),h.initChildren(),h});return this.outputs.push(...a),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){var s;const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:u}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}if(this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.outputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.error){const{affected:o,removed:u}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}return this.successCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{i.push(o),o.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:i}=this.process.restore({seenEntities:e});t.push(...i)}return this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e))])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,process:this.process?this.process.toReference():null,inputs:this.inputs.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),declaration:this.declaration.toReference(),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.process?this.process.toFlatJSON(e):[],...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,version:this.version,type:this.type,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),declaration:this.declaration.id,parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.process?this.process.toFlatGenerationTarget(e):[],...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(i=>i.clearErrors()),this.outputs.forEach(i=>i.clearErrors()),this.successCalls.forEach(i=>i.clearErrors()),this.errorCalls.forEach(i=>i.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=G9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.error?this.error.getErrors():[],...this.process?this.process.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new ve(this.toJSON(),this.project)}};l(ve,"MUTABLE_BASE_PROPERTIES",[]),l(ve,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(ve,"BASE_PROPERTIES",[...ve.MUTABLE_BASE_PROPERTIES,...ve.INMUTABLE_BASE_PROPERTIES]),l(ve,"MUTABLE_META_PROPERTIES",["x","y"]),l(ve,"INMUTABLE_META_PROPERTIES",[...ve.INMUTABLE_BASE_PROPERTIES]),l(ve,"META_PROPERTIES",[...ve.MUTABLE_META_PROPERTIES,...ve.INMUTABLE_META_PROPERTIES]),l(ve,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(ve,"INMUTABLE_UPSTREAM_PROPERTIES",["declaration","parent"]),l(ve,"UPSTREAM_PROPERTIES",[...ve.MUTABLE_UPSTREAM_PROPERTIES,...ve.INMUTABLE_UPSTREAM_PROPERTIES]),l(ve,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","writesValues","inputs","outputs","error"]),l(ve,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ve,"DOWNSTREAM_PROPERTIES",[...ve.MUTABLE_DOWNSTREAM_PROPERTIES,...ve.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ve,"PROPERTIES",[...ve.META_PROPERTIES,...ve.UPSTREAM_PROPERTIES,...ve.DOWNSTREAM_PROPERTIES]);let br=ve;function hg(n){var e,t,i;switch(n.id){case Ve["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const a=n.project.entities.filter(m=>!!m.implements.find(T=>T.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id));if(a.find(m=>!!m.properties.find(T=>{var b;return T.implements&&T.implements.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default&&((b=T.getDefaultValue())==null?void 0:b.value)===!0}))){const T=a[0].properties.find(I=>I.implements&&I.implements.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default),b=(e=T==null?void 0:T.dataType)==null?void 0:e.defaultValue;if(b)b.value=!0;else if(T!=null&&T.dataType){const I=(t=T==null?void 0:T.dataType)==null?void 0:t.id.split("-id")[0],B=R({id:I+"-default-value-id",version:1,type:r.PrimitiveValue,name:g.EntityTemplate,autogeneration:null,value:!0,valueAsType:null,parent:T==null?void 0:T.dataType.toReference()},n.project);return B.setParent(T==null?void 0:T.dataType),B.initChildren(),B.addSelfToProject(),{newEntities:[B]}}return{newEntities:[]}}const o=n.project.get(Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id),u=lo(o,"Main database");if(u.errors.length>0)return{newEntities:[]};const p=u.implemented.properties.find(m=>m.implements&&m.implements.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default),h=(i=p==null?void 0:p.dataType)==null?void 0:i.defaultValue;if(h)h.value=!0;else if(p!=null&&p.dataType){const m=p==null?void 0:p.dataType.id.split("-id")[0],T=R({id:m+"-default-value-id",version:1,type:r.PrimitiveValue,name:g.EntityTemplate,autogeneration:null,value:!0,valueAsType:null,parent:p==null?void 0:p.dataType.toReference()},n.project);T.setParent(p==null?void 0:p.dataType),T.initChildren(),T.addSelfToProject()}return{newEntities:[u.implemented]}}}return{newEntities:[]}}function fg(n){return n.implements.filter(t=>t.type===r.BuiltInBaseEntity).map(t=>{var i;switch(t.id){case Ve["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const s=n.project.entities.filter(p=>p.implements.find(h=>h.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id)).find(p=>!!p.properties.find(h=>{var m;return h.implements&&h.implements.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default&&((m=h.getDefaultValue())==null?void 0:m.value)===!0}));if(!s)return{newEntities:[]};const o=n.properties.find(p=>p.implements&&p.implements.id===Ve["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.properties.database),u=(i=o==null?void 0:o.dataType)==null?void 0:i.defaultValue;if(o&&(o!=null&&o.dataType)&&!u){const p=o==null?void 0:o.dataType.id.split("-id")[0],h=R({id:p+"-default-value-id",version:1,type:r.PrimitiveValue,name:g.EntityTemplate,autogeneration:null,value:null,valueAsType:s,parent:o==null?void 0:o.dataType.toReference()},n.project);return h.setParent(o==null?void 0:o.dataType),h.initChildren(),h.addSelfToProject(),{newEntities:[h]}}return{newEntities:[]}}}}),{newEntities:[]}}function lo(n,e,t){const i=t||Xt(e,r.CustomEntity,n.project),a=i.split("-id"),s=a[a.length-1||0]||i,o={id:i,version:1,name:e,type:r.CustomEntity,description:null,static:!1,abstract:!1,properties:[],methods:[],abstractMethods:[],extends:[],implements:[n],x:0,y:0,parent:n.project},u=Ks(o,n.project);if(u.length>0)return{errors:u,implemented:null,entitiesChanges:{new:[],updated:[],deleted:[]}};const p=hg(n),h=R(o,n.project);h.setParent(n.project),h.initChildren();const m=n.properties.map(I=>{const B=s+"-"+Xt(A(I,n.project),r.Property,n.project),G=I.clone(h,B);return G.abstract=!1,G.implements=I,G.setParent(h),h.addProperty(G),G}),T=n.abstractMethods.map(I=>{const B=s+Xt(I.name,r.FunctionDeclaration,n.project),G=I.implementAsFunctionDeclaration(B),W={id:B+"-parent-ref-id",type:r.GenericReference,entityId:i,entityType:r.CustomEntity},xt={...G,implements:I,parent:W},Le=R(xt,n.project);return h.addMethod(Le),Le.setParent(h),Le.initChildren(),Le.implements=I,Le});o.properties=m,o.methods=T;const b=fg(h);return{implemented:h,errors:[],entitiesChanges:{new:[h,...p.newEntities,...b.newEntities],updated:[h],deleted:[]}}}function co(n,e){const t=gr(n);if(t.length===0)return{list:[],last:null};let i=null;return{list:t.flatMap(s=>{if(s===e)return i=s,[s];const o=co(s,e);return o.last&&(i=o.last),[s,...o.list]}),last:i}}function mg(n,e,t=new Set){const i=Gn(n),a=Gn(e),s=i.filter(p=>!a.includes(p)),o=i.filter(p=>a.includes(p)),u=s.reduce((p,h)=>t.has(h.id)?p:(t.add(h.id),S([...p,...mg(h,e,t)])),[]);return S([...o,...u])}function pa(n,e){const t=co(n,e);return t.last===e&&t.list.length>0&&t.list[0]!==e}function F9(n,e){return!!co(n,e).last}function U9(n){if($e.includes(n.type))return n;if([...En,r.VariableDeclaration].includes(n.type)){const e=n.parent;return $e.includes(e.type)?e:null}return null}function bd(n,e){if(!n||!e)throw new Error("Both entities must be defined to find a common ancestor");if(n===e)return n;const t=n.parent;if(t){if(t===e)return e;if(t.type===r.Project)return null}else return null;const i=e.parent;if(i){if(i===n)return n;if(i.type===r.Project)return null}else return null;return bd(t,i)}function He(n){if(bo.includes(n.type)){if(n.type===r.FunctionDeclaration){const e=n.parent;if(e.type===r.CustomEntity)return e}return n}else{const e=n.parent;return e?He(e):null}}function x9(n){return n.type===r.VariableDeclaration?[n]:Ne.includes(n.type)?[...n.inputs,...n.outputs||[]]:n.type===r.ReturnStatement?n.outputs:Ar.includes(n.type)||n.type===r.FunctionDeclaration?n.inputs:[]}function j9(n){const e=Gn(n),t=[],i=[];$d.includes(n.type)&&t.push(...vd(n));const a=e.filter(s=>{const o=t.includes(s);return o?!1:En.includes(s.type)&&!o?(i.push(s),!1):!0});return t.sort((s,o)=>pa(o,s)?-1:0),i.sort((s,o)=>pa(o,s)?-1:0),[...t,...i,...a]}function Tg(n){return[...n].sort((e,t)=>pa(t,e)?-1:0)}function k9(n){const e=Tg(n),t=[];return e.forEach(i=>{const a=t[t.length-1];if(a){const s=a[a.length-1];pa(i,s)?t.push([i]):a.push(i)}else t.push([i])}),t}function _t(n){const e=n.map(t=>He(t));return S(e)}function vd(n){return Ne.includes(n.type)?[..._t(n.successCalls),..._t(n.errorCalls)]:$e.includes(n.type)?_t(n.calls):[]}function q9(n,e){return vd(n).includes(e)}function gd(n){return n.writesValues||[]}function J9(n,e){return gd(n).includes(e)}function Eg(n){var e;return Fe.includes((e=n==null?void 0:n.readsValue)==null?void 0:e.type)?n.readsValue:null}function W9(n){return n.writesValues}function Rg(n=[]){return n.map(Eg).filter(e=>!!e)}function uo(n=[]){return n.map(e=>e.writesValues).flat().filter(e=>Fe.includes(e.type))}function bg(n=[]){return n.map(e=>e.readsValue).filter(e=>!!e&&Fe.includes(e.type))}function vg(n){return Fe.includes(n.type)?n:null}function gg(n){return n.writesValues.map(vg).filter(e=>!!e)}function Ig(n=[]){return n.reduce((e,t)=>t.type===r.OutputMap?[...e,...gg(t)]:e,[])}function Me(n){return Ne.includes(n.type)?[...vr(_t(n.successCalls)),...vr(_t(n.errorCalls))]:$e.includes(n.type)?vr(_t(n.calls)):[]}function Pg(n,e=new Set){return n.writesValues.filter(i=>Fe.includes(i.type)&&!e.has(i.id)).reduce((i,a)=>e.has(a.id)?i:[...i,...Z(a,e)],[])}function Dg(n,e=new Set){var i;return(((i=n.readsValue)==null?void 0:i.writesValues)||[]).filter(a=>Fe.includes(a.type)&&!e.has(a.id)).reduce((a,s)=>e.has(s.id)?a:[...a,...Z(s,e)],[])}function Z(n,e=new Set){if(e.has(n.id))return[];if(n.type===r.ReturnStatement)return bg(n.outputs).reduce((i,a)=>[...i,...Z(a,e)],[]);if(n.type===r.FunctionCall||n.type===r.Operation||n.type===r.Condition)return[...Me(n).reduce((s,o)=>{const u=He(o);return[...s,...Z(u||o,e)]},[]),...Rg(n.inputs),...Ig(n.outputs)].reduce((s,o)=>[...s,...Z(o,e)],[]);if(Ar.includes(n.type)){const t=uo(n.inputs),a=Me(n).reduce((s,o)=>{const u=He(o);return[...s,...Z(u||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...Z(o,e)],[])}if(n.type===r.FunctionDeclaration){const t=[...uo(n.inputs)],a=Me(n).reduce((s,o)=>{const u=He(o);return[...s,...Z(u||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...Z(o)],[])}if(Fe.includes(n.type)){e.add(n.id);const i=Me(n).reduce((a,s)=>{const o=He(s);return[...a,...Z(o||s,e)]},[]);return[n,...i,...Dg(n,e),...Pg(n,e)]}return[]}function vt(n,e=new Set){return e.has(n.id)?[]:(e.add(n.id),[...Gn(n).reduce((a,s)=>[...a,s,...vt(s,e)],[])])}function vr(n){return n.reduce((e,t)=>t.type===r.ReturnStatement||t.type===r.ContinueStatement||t.type===r.BreakStatement?e:[...e,t,...Me(t)],[])}function Ag(n){const e=n.entities||[],t=[...e,...n.functions||[],...n.events||[],...n.projects||[]],i=e.reduce((p,h)=>[...p,...h.properties],[]),a=e.reduce((p,h)=>[...p,...h.methods],[]),s=a.reduce((p,h)=>[...p,...uo(h.inputs),...vr(_t(h.calls)),...h.returnStatements],[]),o=n.functions.reduce((p,h)=>[...p,...vr(_t(h.calls)),...h.returnStatements],[]),u=n.events.reduce((p,h)=>[...p,...vr(_t(h.calls)),...h.returnStatements],[]);return[...t,...i,...a,...s,...o,...u]}function Sg(n,e){return e.filter(i=>{if(!i)return!1;switch(i.type){case r.FunctionCall:return i.inputs.find(a=>a.id===n.id)!==void 0||i.outputs.find(a=>a.id===n.id)!==void 0;case r.Condition:return i.successCalls.find(a=>a.id===n.id)!==void 0||i.errorCalls.find(a=>a.id===n.id)!==void 0||i.inputs.find(a=>a.id===n.id)!==void 0;case r.Operation:return i.outputs.find(a=>a.id===n.id)!==void 0;case r.VariableDeclaration:return Ne.includes(n.type)?Og(n).find(s=>{var o;return((o=s.readsValue)==null?void 0:o.id)===i.id})!==void 0:!1;case r.CustomEntity:return i.properties.find(a=>a.id===n.id)!==void 0||i.methods.find(a=>a.id===n.id)!==void 0;case r.FunctionDeclaration:return i.inputs.find(a=>a.id===n.id)!==void 0||(i.returnStatements.map(a=>a.outputs).flat()||[]).find(a=>a.id===n.id)!==void 0;default:return!1}})}function H9(n){const e=Ag(n.project);return Sg(n,e)}function gr(n){const e=[];if(En.includes(n.type)){n.calledBy.forEach(a=>{const s=He(a);s&&e.push(s)});const i=[...n.inputs||[],...n.outputs||[]].map(a=>Dd(a)).filter(a=>a!==null);e.push(...S(i))}if(Fe.includes(n.type)){const t=Dd(n);t&&e.push(t)}return S(e)}function Id(n){return n.type===r.FunctionCall||n.type===r.InternalCall?n.declaration.inputs:[r.Operation,r.Condition,r.Loop].includes(n.type)?n.declaration.fixedArguments:n.type===r.FunctionDeclaration||Ar.includes(n.type)?n.inputs:n.type===r.Search?n.inputsDeclarations:[]}function Y9(n,e){return e.type===r.Condition?e.inputs.find(t=>t.declaration.id===n.id):e.type===r.FunctionCall||e.type===r.Operation?e.inputs.find(t=>t.declaration.id===n.id):null}function Og(n){return Ne.includes(n.type)?n.inputs:[]}function Pd(n){var e;return n.type===r.FunctionCall?((e=n.declaration.returnStatements[0])==null?void 0:e.outputs)||[]:[r.Operation,r.Condition,r.Loop].includes(n.type)?n.declaration.fixedReturns:n.type===r.Search?n.outputsDeclarations:Oe.includes(n.type)?n.outputs:[]}function z9(n,e){return e.type===r.Condition?null:e.type===r.FunctionCall||e.type===r.Operation?e.outputs.find(t=>t.declaration.id===n.id):null}function Z9(n){return n.type===r.Condition?[]:Ne.includes(n.type)?n.outputs:[]}function Dd(n){const e=n.readsValue;return e?He(e):null}function Cg(n){const e=n.internalCalls||[];return S(_t(S(e.flatMap(t=>[...t.successCalls,...t.errorCalls]))))}function ui(n){const e=gd(n),t=[];return e.forEach(i=>{if(Fe.includes(i.type))t.push(i);else if(i.type===r.InputMap){const a=i.parent;if(a.type===r.InputMap){const s=a.parent;t.push(s)}else t.push(a)}else[r.ActionDescriptor].includes(i.parent.type)||t.push(i.parent)}),t}function S(n){const e=new Set;return n.filter(t=>e.has(t.id)?!1:(e.add(t.id),!0))}function Gn(n,e=!1){const t=[];if(n.type===r.Project&&t.push(...(n==null?void 0:n.entities)||[],...(n==null?void 0:n.functions)||[],...(n==null?void 0:n.variableDeclarations)||[],...(n==null?void 0:n.variableInstances)||[],...(n==null?void 0:n.searches)||[],...(n==null?void 0:n.loops)||[],...(n==null?void 0:n.operations)||[],...(n==null?void 0:n.conditions)||[],...(n==null?void 0:n.functionCalls)||[],...(n==null?void 0:n.events)||[],...(n==null?void 0:n.projects)||[]),st.includes(n.type)&&t.push(...(n==null?void 0:n.detachedChildren)||[]),n.type===r.CustomEntity){const i=[...n.suggestedMethods,...n.methods].flatMap(a=>a.collapsed&&e?[]:Gn(a));t.push(...i)}if(n.type===r.Condition){const i=n.successCalls.map(s=>He(s)),a=n.errorCalls.map(s=>He(s));t.push(...i,...a)}if(Ar.includes(n.type)){if(n.collapsed&&e)return[];const i=n.inputs.map(s=>ui(s)).flat(),a=n.calls.map(s=>He(s));t.push(...S(i),...a)}if(Ne.includes(n.type)&&n.type!==r.Condition){const i=n==null?void 0:n.outputs.map(o=>ui(o)).flat(),a=n.successCalls.map(o=>He(o)),s=n.errorCalls.map(o=>He(o));t.push(...S(i),...a,...s)}if(Fe.includes(n.type)){const i=ui(n),a=Cg(n);t.push(...i,...a)}if(n.type===r.Loop){const i=n.outputs.map(o=>ui(o)).flat();if(n.body){const o=Gn(n.body,e);t.push(...o)}const a=n.errorCalls.map(o=>He(o)),s=n.successCalls.map(o=>He(o));t.push(...S(i),...s,...a)}if(n.type===r.FunctionDeclaration){if(n.collapsed&&e)return[];const i=n.inputs.map(s=>ui(s)).flat(),a=n.calls.map(s=>He(s));t.push(...S(i),...a)}return S(t)}function Bg(n,e=!1){const t=Gn(n,e),i=[...t,...t.reduce((a,s)=>[...a,...Bg(s,e)],[])];return S(i)}function wg(n){const e=gr(n),t=[...e,...e.reduce((i,a)=>[...i,...wg(a)],[])];return S(t)}function po(n){return n.implements.reduce((e,t)=>t.type===r.CustomEntity?[...e,r.CustomEntity,...po(t),...yo(t)]:[...e,t.name],[])}function yo(n){return n.extends.reduce((e,t)=>t.type===r.CustomEntity?[...e,r.CustomEntity,...yo(t),...po(t)]:[...e,t.name],[])}function Ad(n){return n.extends.reduce((e,t)=>t.type===r.CustomEntity?[...e,t,...Ad(t),...Sd(t)]:[...e,t],[])}function Sd(n){return n.implements.reduce((e,t)=>t.type===r.CustomEntity?[...e,t,...Sd(t),...Ad(t)]:[...e,t],[])}function _g(n){return[...yo(n),...po(n)].filter((t,i,a)=>a.indexOf(t)===i)}function Mg(n){return n.implements.length===0&&n.extends.length===0?null:n.implements.find(i=>i.type===r.BuiltInBaseEntity&&i.name===_.PERSISTED_ENTITY)?n:[...n.implements,...n.extends].reduce((i,a)=>{if(a.type===r.CustomEntity){const s=Mg(a);if(s)return s}return i},null)}function X9(n){const e=n.extends.find(t=>t.type===r.BuiltInBaseEntity);return e&&e.type===r.BuiltInBaseEntity?e:null}function Q9(n){const e=n.implements.find(t=>t.type===r.BuiltInBaseEntity);return e&&e.type===r.BuiltInBaseEntity?e:null}function Ng(n){const e=n.extends.find(t=>t.type===r.CustomEntity);return e&&e.type===r.CustomEntity?e:null}function Fn(n){const e=[...n.implements,...n.extends].reduce((t,i)=>i.type===r.BuiltInBaseEntity?[...t,i]:i.type===r.CustomEntity?[...t,...Fn(i)]:t,[]);return S(e)}function Od(n){return n.type===r.PrimitiveEntity?!0:n.type===r.BuiltInBaseEntity?n.interactive:!Fn(n).find(i=>!i.interactive)}function K9(n){return n.parent===n.project&&n.project.variableDeclarations.includes(n)}function Cd(n){return n.parent!==n.project?!1:r.VariableDeclaration===n.type?n.project.variableDeclarations.includes(n):r.VariableInstance===n.type?n.project.variableInstances.includes(n):r.FunctionCall===n.type?n.project.functionCalls.includes(n):r.Condition===n.type?n.project.conditions.includes(n):r.Operation===n.type?n.project.operations.includes(n):r.Loop===n.type?n.project.loops.includes(n):r.Search===n.type?n.project.searches.includes(n):!1}function $g(n){if([...$e,r.CustomEntity,r.InstalledProject,r.Project].includes(n.type)||Cd(n))return!1;const e=gr(n);return e.length===0?!0:e.some(t=>$g(t))}function Bd(n){return[...$e,r.CustomEntity,r.InstalledProject,r.Project].includes(n.type)||Cd(n)?!1:gr(n).length===0}function Vg(n,e=0){if(Bd(n)){const t=gr(n);return t.length===0?n:t.map(a=>Vg(a,e+1)).reduce((a,s)=>a?s&&s.x<a.x?s:a:s,null)}return null}function Lg(n){const e=[];if(Bd(n))e.push(n);else return[];return gr(n).forEach(i=>{e.push(...Lg(i))}),e}function Gg(n){return n.type===r.FunctionDeclaration&&n.parent!==n.project&&!![r.CustomEntity,r.Loop,r.InstalledProject].includes(n.parent.type)}function Fg(n,e){const t=new Map;return n.forEach(i=>{t.set(i.id,i)}),e.forEach(i=>{t.set(i.id,i)}),Array.from(t.values())}function ho(n){switch(n){case r.CustomEntity:return Pr;case r.FunctionDeclaration:return cr;case r.VariableDeclaration:return yr;case r.VariableInstance:return hr;case r.FunctionCall:return br;case r.Operation:return dr;case r.Condition:return pr;case r.ReturnStatement:return Er;case r.Loop:return ur;case r.Search:return fr;case r.InputMap:return hn;case r.OutputMap:return fn;case r.ArgumentDeclaration:return Tr;case r.ReturnDeclaration:return Ot;case r.Property:return lr;case r.InstalledProject:return mr;case r.Project:return $;case r.BuiltInBaseEntity:return Ut;default:return null}}function ht(n,e){if(st.includes(n.type))return n;if(Sr.includes(n.type))return null;const t=n.parent;if(!t)return null;if(t.type===r.GenericReference){const i=D(t);if(!i)return null;const a=e.get(i);return a?ht(a,e):null}else return t===e?e:ht(t,e)}function wd(n,e){if(Sr.includes(n.type)||e.getAllBuiltInIds().includes(n.id))return null;const i=Mt(n.parent,e);return i?i===e?st.includes(n.type)?n:null:i.type===r.CustomEntity?n:wd(i,e):null}function fo(n,e,t){if(n===e||e===t||n===t)return!1;const i=ht(e.parent,t);return i===n?!0:fo(i,e,t)}var mo=(n=>(n.SameBothLocal="same-both-local",n.AInB="a-in-b",n.BInA="b-in-a",n.ParallelInCommonParent="parallel-in-common-parent",n.ParallelInProject="parallel-in-project",n.AIsGlobalBIsNot="a-is-global-b-is-not",n.BIsGlobalAIsNot="b-is-global-a-is-not",n.SameBothGlobal="same-both-global",n))(mo||{});function ya(n,e,t){const i=ht(n,t),a=ht(e,t);if(!i)throw new Error("Could not find scope owner for the entity: "+n.id);if(!a)throw new Error("Could not find scope owner for the entity: "+e.id);if(i===a&&i.type!==r.Project)return{compatible:!0,type:"same-both-local",commonAncestorScope:i};if(i===a&&i.type===r.Project)return{compatible:!0,type:"same-both-global",commonAncestorScope:i};if(i.type===r.Project&&a.type!==r.Project)return{compatible:!1,type:"a-is-global-b-is-not",commonAncestorScope:i};if(i.type!==r.Project&&a.type===r.Project)return{compatible:!1,type:"b-is-global-a-is-not",commonAncestorScope:a};if(fo(i,a,t))return{compatible:!0,type:"b-in-a",commonAncestorScope:i};if(fo(a,i,t))return{compatible:!0,type:"a-in-b",commonAncestorScope:a};const u=bd(i,a);return u===t?{compatible:!1,type:"parallel-in-project",commonAncestorScope:u}:u?{compatible:!1,type:"parallel-in-common-parent",commonAncestorScope:ht(u,t)}:{compatible:!1,type:"parallel-in-project",commonAncestorScope:t}}function Ug(n,e,t){const i=ya(n,e,t);if(!i.compatible||i.type!=="same-both-local")return null;if(n===e)return n;let a=ht(n.parent,t);if(a){if(a===e)return e;if(a.type===r.Project)return n}else return n;for(;a;){if(a){if(a===e)return e;if(a.type===r.Project)return n}else return n;a=ht(a.parent,t)}let s=ht(e.parent,t);if(s){if(s===n)return n;if(s.type===r.Project)return e}else return e;for(;s;){if(s){if(s===n)return n;if(s.type===r.Project)return e}else return e;s=ht(s.parent,t)}return null}function xg(n){return n.length===0?null:n.length===1?n[0]:n.reduce((t,i)=>{const a=Ug(t,i,i.project);return!a||a===i?t:i},n[0])}function Mt(n,e){let t;return typeof n=="string"?t=n:n.type===r.GenericReference?t=D(n):t=n.id,t===e.id?e:e.get(t)}function Ir(n){if(Sr.includes(n.type))return n;if(n.type===r.Project)return null;if(n.project.getAllBuiltInIds().includes(n.id))return n;const t=n.parent;return!t||t.type===r.Project?null:Ir(t)}function ha(n,e){var t;if(n.readsValue){const i=Mt(n.readsValue,e.project);e.setValueWriter(i),i.addValueReader(e)}else n.readsValue===null&&((t=e.readsValue)==null||t.removeValueReader(e),e.readsValue=null);return e}function _d(n){const e=[];function t(o,u){return e.some(p=>p.blockedByCaller===o&&p.blockedByCalling===u)}function i(o,u){t(o,u)||e.push({blockedByCaller:o,blockedByCalling:u})}const a=wd(n,n.project);return n.calledBy.forEach(o=>{if([...o.calls||[],...o.successCalls||[],...o.errorCalls||[]].forEach(h=>{Oe.includes(h.type)&&i(o,h)}),o===a)return;let p;if(Ne.includes(o.type))p=o;else if(o.type===r.FunctionDeclaration){const h=He(o);if(h.type===r.CustomEntity)return;h.type===r.Loop&&(p=h)}if(p){const h=_d(p);h.reachable||(Oe.includes(n.type)?h.blocks.forEach(m=>{i(o,m.blockedByCalling)}):Me(n).find(b=>b===o)||h.blocks.forEach(b=>{i(o,b.blockedByCalling)}))}}),{reachable:e.length===0,entryPoint:a,blocks:e}}function e3(n){return bo.includes(n.type)?n.type===r.FunctionDeclaration?!Gg(n):!0:!1}function t3(n){if(r.ActionDescriptor===n.type){if(n.project.operationDeclarations.find(s=>s.id===n.id))return r.Operation;if(n.project.globalEventActionDescriptors.find(s=>s.id===n.id))return r.GlobalEvent;if(n.project.loopDeclarations.find(s=>s.id===n.id))return r.Loop;if(n.project.conditionDeclarations.find(s=>s.id===n.id))return r.Condition}return n.type}function n3(n,e){const t=[];if(n.parent)if(n.id===n.parent)t.push(new E({id:`${n.id}--${n.parent}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at 'parent'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}));else{const i=e.get(n.parent);i?[r.Project,r.DataType].includes(i.type)||t.push(new E({id:`${n.id}--${n.parent}--${y.InvalidParentReference}`,code:y.InvalidParentReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a parent reference that isn't pointing to an entity of type 'project' or 'data-type'.`,issue:null})):t.push(new E({id:`${n.id}--${n.parent}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}return n.implements&&Array.isArray(n.implements)?n.implements.forEach(i=>{if(n.id===i){t.push(new E({id:`${n.id}--${i}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at one of the 'implements' references. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}));return}const a=e.get(i);a?[r.CustomEntity,r.BuiltInBaseEntity].includes(a.type)?a.abstract||t.push(new E({id:`${n.id}--${i}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' reference that isn't pointing to an abstract entity.`,issue:null})):t.push(new E({id:`${n.id}--${i}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' reference that isn't pointing to an entity of type 'custom-entity' or 'built-in-base-entity'.`,issue:null})):t.push(new E({id:`${n.id}--${i}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${i}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}):t.push(new E({id:`${n.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' property that isn't an array.`,issue:null})),n.extends&&Array.isArray(n.extends)&&n.extends.forEach(i=>{const a=e.get(i);a?[r.CustomEntity,r.BuiltInBaseEntity].includes(a.type)?a.abstract&&t.push(new E({id:`${n.id}--${i}--${y.InvalidExtendsReference}`,code:y.InvalidExtendsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'extends' reference that isn't pointing to a non-abstract entity. Did you want to use the property 'implements', which holds a list of references to absract entities, instead?`,issue:null})):t.push(new E({id:`${n.id}--${i}--${y.InvalidExtendsReference}`,code:y.InvalidExtendsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'extends' reference that isn't pointing to an entity of type 'custom-entity' or 'built-in-base-entity'.`,issue:null})):t.push(new E({id:`${n.id}--${i}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${i}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}),t}const pe=class pe{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"static");l(this,"abstract");l(this,"type",r.CustomEntity);l(this,"properties",[]);l(this,"methods",[]);l(this,"abstractMethods",[]);l(this,"extends",[]);l(this,"implements",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestedProperties",[]);l(this,"suggestedMethods",[]);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.x=e.x,this.y=e.y,this.static=e.static,this.abstract=e.abstract}static fromGenerationTarget(e,t){let i=t;if(e.parent){const p=D(e.parent);i=t.get(p)}const a=[];e.implements&&e.implements.forEach(p=>{a.push(t.get(p)||t.getBuiltIn(p))});const s=[];e.extends&&e.extends.forEach(p=>{s.push(t.get(p)||t.getBuiltIn(p))});const o={id:e.id,version:1,name:e.name,type:r.CustomEntity,description:e.description,static:e.static,abstract:e.abstract,properties:[],methods:[],abstractMethods:[],extends:s,implements:a,x:0,y:0,parent:i},u=R(o,t);return u.setParent(i),u.initChildren(),u}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=n3(i,t),o=Ks(i,t);a.push(...s,...o,...Pe(i));const u=i.parent?t.get(i.parent):null;if(u&&u.type===r.DataType){const p=u;p.entity&&a.push(new E({id:`${e.id}--${y.NewEntityWouldOverriteExisting}`,code:y.NewEntityWouldOverriteExisting,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${p.id}' because it already has an 'entity' child. Data type entities can only have one 'entity' as children.
372
+ You shouldn't have to manually update a 'parent' property. The equivalent result is to change its callers, the value writters of its inputs, or the value readers of its outputs.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){var e;return this.parent===this.project&&this.project.addFunctionCall(this),(e=this.process)==null||e.writesValues.forEach(t=>{t.setValueWriter(this.process)}),this.successCalls.forEach(t=>{t.addSuccessCaller(this)}),this.errorCalls.forEach(t=>{t.addErrorCaller(this)}),this.calledBySuccess.forEach(t=>{t.addSuccessCall(this)}),this.calledByError.forEach(t=>{t.addErrorCall(this)}),this.calledByEntry.forEach(t=>{t.addCall(this)}),this}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.declaration.type===r.FunctionDeclaration){const e=R(this.initialData.declaration,this.project);this.declaration=e}else{const e=D(this.initialData.declaration),t=this.project.get(e);this.declaration=t}return this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[r.BreakStatement,r.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==r.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initOutputs(),this.initialData.process&&(this.process=R(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this}initOutputs(){const e=[];this.outputs=this.initialData.outputs.map(s=>{const o=R(s,this.project);return e.push(o.index),o.setParent(this),o.initChildren(),o});const i=Pd(this).filter(s=>!this.outputs.find(o=>o.declaration.id===s.id));i.sort((s,o)=>s.index-o.index);const a=i.map((s,o)=>{const u=e.includes(s.index)?this.outputs.length-1+o:s.index,p={id:$.UUID.uuid(),type:r.OutputMap,version:1,declaration:s,index:u,parent:this,writesValues:[]},h=R(p,this.project);return h.setParent(this),h.initChildren(),h});return this.outputs.push(...a),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){var s;const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:u}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}if(this.inputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.outputs.forEach(o=>{const{affected:u,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...u),a.push(...p)}),this.error){const{affected:o,removed:u}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}return this.successCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{i.push(o),o.removeCall(this)}),{affected:S(i),removed:S(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:i}=this.process.restore({seenEntities:e});t.push(...i)}return this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:S(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e))])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,process:this.process?this.process.toReference():null,inputs:this.inputs.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),declaration:this.declaration.toReference(),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.process?this.process.toFlatJSON(e):[],...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,version:this.version,type:this.type,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),declaration:this.declaration.id,parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.process?this.process.toFlatGenerationTarget(e):[],...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(i=>i.clearErrors()),this.outputs.forEach(i=>i.clearErrors()),this.successCalls.forEach(i=>i.clearErrors()),this.errorCalls.forEach(i=>i.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=U9(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.error?this.error.getErrors():[],...this.process?this.process.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new ve(this.toJSON(),this.project)}};l(ve,"MUTABLE_BASE_PROPERTIES",[]),l(ve,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(ve,"BASE_PROPERTIES",[...ve.MUTABLE_BASE_PROPERTIES,...ve.INMUTABLE_BASE_PROPERTIES]),l(ve,"MUTABLE_META_PROPERTIES",["x","y"]),l(ve,"INMUTABLE_META_PROPERTIES",[...ve.INMUTABLE_BASE_PROPERTIES]),l(ve,"META_PROPERTIES",[...ve.MUTABLE_META_PROPERTIES,...ve.INMUTABLE_META_PROPERTIES]),l(ve,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),l(ve,"INMUTABLE_UPSTREAM_PROPERTIES",["declaration","parent"]),l(ve,"UPSTREAM_PROPERTIES",[...ve.MUTABLE_UPSTREAM_PROPERTIES,...ve.INMUTABLE_UPSTREAM_PROPERTIES]),l(ve,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","writesValues","inputs","outputs","error"]),l(ve,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(ve,"DOWNSTREAM_PROPERTIES",[...ve.MUTABLE_DOWNSTREAM_PROPERTIES,...ve.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(ve,"PROPERTIES",[...ve.META_PROPERTIES,...ve.UPSTREAM_PROPERTIES,...ve.DOWNSTREAM_PROPERTIES]);let Rr=ve;function fg(n){var e,t,i;switch(n.id){case Ve["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const a=n.project.entities.filter(m=>!!m.implements.find(T=>T.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id));if(a.find(m=>!!m.properties.find(T=>{var b;return T.implements&&T.implements.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default&&((b=T.getDefaultValue())==null?void 0:b.value)===!0}))){const T=a[0].properties.find(I=>I.implements&&I.implements.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default),b=(e=T==null?void 0:T.dataType)==null?void 0:e.defaultValue;if(b)b.value=!0;else if(T!=null&&T.dataType){const I=(t=T==null?void 0:T.dataType)==null?void 0:t.id.split("-id")[0],B=R({id:I+"-default-value-id",version:1,type:r.PrimitiveValue,name:g.EntityTemplate,autogeneration:null,value:!0,valueAsType:null,parent:T==null?void 0:T.dataType.toReference()},n.project);return B.setParent(T==null?void 0:T.dataType),B.initChildren(),B.addSelfToProject(),{newEntities:[B]}}return{newEntities:[]}}const o=n.project.get(Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id),u=oo(o,"Main database");if(u.errors.length>0)return{newEntities:[]};const p=u.implemented.properties.find(m=>m.implements&&m.implements.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default),h=(i=p==null?void 0:p.dataType)==null?void 0:i.defaultValue;if(h)h.value=!0;else if(p!=null&&p.dataType){const m=p==null?void 0:p.dataType.id.split("-id")[0],T=R({id:m+"-default-value-id",version:1,type:r.PrimitiveValue,name:g.EntityTemplate,autogeneration:null,value:!0,valueAsType:null,parent:p==null?void 0:p.dataType.toReference()},n.project);T.setParent(p==null?void 0:p.dataType),T.initChildren(),T.addSelfToProject()}return{newEntities:[u.implemented]}}}return{newEntities:[]}}function mg(n){return n.implements.filter(t=>t.type===r.BuiltInBaseEntity).map(t=>{var i;switch(t.id){case Ve["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const s=n.project.entities.filter(p=>p.implements.find(h=>h.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id)).find(p=>!!p.properties.find(h=>{var m;return h.implements&&h.implements.id===Ve["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default&&((m=h.getDefaultValue())==null?void 0:m.value)===!0}));if(!s)return{newEntities:[]};const o=n.properties.find(p=>p.implements&&p.implements.id===Ve["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.properties.database),u=(i=o==null?void 0:o.dataType)==null?void 0:i.defaultValue;if(o&&(o!=null&&o.dataType)&&!u){const p=o==null?void 0:o.dataType.id.split("-id")[0],h=R({id:p+"-default-value-id",version:1,type:r.PrimitiveValue,name:g.EntityTemplate,autogeneration:null,value:null,valueAsType:s,parent:o==null?void 0:o.dataType.toReference()},n.project);return h.setParent(o==null?void 0:o.dataType),h.initChildren(),h.addSelfToProject(),{newEntities:[h]}}return{newEntities:[]}}}}),{newEntities:[]}}function oo(n,e,t){const i=t||Xt(e,r.CustomEntity,n.project),a=i.split("-id"),s=a[a.length-1||0]||i,o={id:i,version:1,name:e,type:r.CustomEntity,description:null,static:!1,abstract:!1,properties:[],methods:[],abstractMethods:[],extends:[],implements:[n],x:0,y:0,parent:n.project},u=Qs(o,n.project);if(u.length>0)return{errors:u,implemented:null,entitiesChanges:{new:[],updated:[],deleted:[]}};const p=fg(n),h=R(o,n.project);h.setParent(n.project),h.initChildren();const m=n.properties.map(I=>{const B=s+"-"+Xt(A(I,n.project),r.Property,n.project),G=I.clone(h,B);return G.abstract=!1,G.implements=I,G.setParent(h),h.addProperty(G),G}),T=n.abstractMethods.map(I=>{const B=s+Xt(I.name,r.FunctionDeclaration,n.project),G=I.implementAsFunctionDeclaration(B),W={id:B+"-parent-ref-id",type:r.GenericReference,entityId:i,entityType:r.CustomEntity},xt={...G,implements:I,parent:W},Le=R(xt,n.project);return h.addMethod(Le),Le.setParent(h),Le.initChildren(),Le.implements=I,Le});o.properties=m,o.methods=T;const b=mg(h);return{implemented:h,errors:[],entitiesChanges:{new:[h,...p.newEntities,...b.newEntities],updated:[h],deleted:[]}}}function lo(n,e){const t=vr(n);if(t.length===0)return{list:[],last:null};let i=null;return{list:t.flatMap(s=>{if(s===e)return i=s,[s];const o=lo(s,e);return o.last&&(i=o.last),[s,...o.list]}),last:i}}function Tg(n,e,t=new Set){const i=Ln(n),a=Ln(e),s=i.filter(p=>!a.includes(p)),o=i.filter(p=>a.includes(p)),u=s.reduce((p,h)=>t.has(h.id)?p:(t.add(h.id),S([...p,...Tg(h,e,t)])),[]);return S([...o,...u])}function pa(n,e){const t=lo(n,e);return t.last===e&&t.list.length>0&&t.list[0]!==e}function x9(n,e){return!!lo(n,e).last}function j9(n){if($e.includes(n.type))return n;if([...En,r.VariableDeclaration].includes(n.type)){const e=n.parent;return $e.includes(e.type)?e:null}return null}function bd(n,e){if(!n||!e)throw new Error("Both entities must be defined to find a common ancestor");if(n===e)return n;const t=n.parent;if(t){if(t===e)return e;if(t.type===r.Project)return null}else return null;const i=e.parent;if(i){if(i===n)return n;if(i.type===r.Project)return null}else return null;return bd(t,i)}function He(n){if(Ro.includes(n.type)){if(n.type===r.FunctionDeclaration){const e=n.parent;if(e.type===r.CustomEntity)return e}return n}else{const e=n.parent;return e?He(e):null}}function k9(n){return n.type===r.VariableDeclaration?[n]:Ne.includes(n.type)?[...n.inputs,...n.outputs||[]]:n.type===r.ReturnStatement?n.outputs:Dr.includes(n.type)||n.type===r.FunctionDeclaration?n.inputs:[]}function q9(n){const e=Ln(n),t=[],i=[];$d.includes(n.type)&&t.push(...vd(n));const a=e.filter(s=>{const o=t.includes(s);return o?!1:En.includes(s.type)&&!o?(i.push(s),!1):!0});return t.sort((s,o)=>pa(o,s)?-1:0),i.sort((s,o)=>pa(o,s)?-1:0),[...t,...i,...a]}function Eg(n){return[...n].sort((e,t)=>pa(t,e)?-1:0)}function J9(n){const e=Eg(n),t=[];return e.forEach(i=>{const a=t[t.length-1];if(a){const s=a[a.length-1];pa(i,s)?t.push([i]):a.push(i)}else t.push([i])}),t}function _t(n){const e=n.map(t=>He(t));return S(e)}function vd(n){return Ne.includes(n.type)?[..._t(n.successCalls),..._t(n.errorCalls)]:$e.includes(n.type)?_t(n.calls):[]}function W9(n,e){return vd(n).includes(e)}function gd(n){return n.writesValues||[]}function H9(n,e){return gd(n).includes(e)}function Rg(n){var e;return Fe.includes((e=n==null?void 0:n.readsValue)==null?void 0:e.type)?n.readsValue:null}function Y9(n){return n.writesValues}function bg(n=[]){return n.map(Rg).filter(e=>!!e)}function co(n=[]){return n.map(e=>e.writesValues).flat().filter(e=>Fe.includes(e.type))}function vg(n=[]){return n.map(e=>e.readsValue).filter(e=>!!e&&Fe.includes(e.type))}function gg(n){return Fe.includes(n.type)?n:null}function Ig(n){return n.writesValues.map(gg).filter(e=>!!e)}function Pg(n=[]){return n.reduce((e,t)=>t.type===r.OutputMap?[...e,...Ig(t)]:e,[])}function Me(n){return Ne.includes(n.type)?[...br(_t(n.successCalls)),...br(_t(n.errorCalls))]:$e.includes(n.type)?br(_t(n.calls)):[]}function Dg(n,e=new Set){return n.writesValues.filter(i=>Fe.includes(i.type)&&!e.has(i.id)).reduce((i,a)=>e.has(a.id)?i:[...i,...Z(a,e)],[])}function Ag(n,e=new Set){var i;return(((i=n.readsValue)==null?void 0:i.writesValues)||[]).filter(a=>Fe.includes(a.type)&&!e.has(a.id)).reduce((a,s)=>e.has(s.id)?a:[...a,...Z(s,e)],[])}function Z(n,e=new Set){if(e.has(n.id))return[];if(n.type===r.ReturnStatement)return vg(n.outputs).reduce((i,a)=>[...i,...Z(a,e)],[]);if(n.type===r.FunctionCall||n.type===r.Operation||n.type===r.Condition)return[...Me(n).reduce((s,o)=>{const u=He(o);return[...s,...Z(u||o,e)]},[]),...bg(n.inputs),...Pg(n.outputs)].reduce((s,o)=>[...s,...Z(o,e)],[]);if(Dr.includes(n.type)){const t=co(n.inputs),a=Me(n).reduce((s,o)=>{const u=He(o);return[...s,...Z(u||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...Z(o,e)],[])}if(n.type===r.FunctionDeclaration){const t=[...co(n.inputs)],a=Me(n).reduce((s,o)=>{const u=He(o);return[...s,...Z(u||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...Z(o)],[])}if(Fe.includes(n.type)){e.add(n.id);const i=Me(n).reduce((a,s)=>{const o=He(s);return[...a,...Z(o||s,e)]},[]);return[n,...i,...Ag(n,e),...Dg(n,e)]}return[]}function gt(n,e=new Set){return e.has(n.id)?[]:(e.add(n.id),[...Ln(n).reduce((a,s)=>[...a,s,...gt(s,e)],[])])}function br(n){return n.reduce((e,t)=>t.type===r.ReturnStatement||t.type===r.ContinueStatement||t.type===r.BreakStatement?e:[...e,t,...Me(t)],[])}function Sg(n){const e=n.entities||[],t=[...e,...n.functions||[],...n.events||[],...n.projects||[]],i=e.reduce((p,h)=>[...p,...h.properties],[]),a=e.reduce((p,h)=>[...p,...h.methods],[]),s=a.reduce((p,h)=>[...p,...co(h.inputs),...br(_t(h.calls)),...h.returnStatements],[]),o=n.functions.reduce((p,h)=>[...p,...br(_t(h.calls)),...h.returnStatements],[]),u=n.events.reduce((p,h)=>[...p,...br(_t(h.calls)),...h.returnStatements],[]);return[...t,...i,...a,...s,...o,...u]}function Og(n,e){return e.filter(i=>{if(!i)return!1;switch(i.type){case r.FunctionCall:return i.inputs.find(a=>a.id===n.id)!==void 0||i.outputs.find(a=>a.id===n.id)!==void 0;case r.Condition:return i.successCalls.find(a=>a.id===n.id)!==void 0||i.errorCalls.find(a=>a.id===n.id)!==void 0||i.inputs.find(a=>a.id===n.id)!==void 0;case r.Operation:return i.outputs.find(a=>a.id===n.id)!==void 0;case r.VariableDeclaration:return Ne.includes(n.type)?Cg(n).find(s=>{var o;return((o=s.readsValue)==null?void 0:o.id)===i.id})!==void 0:!1;case r.CustomEntity:return i.properties.find(a=>a.id===n.id)!==void 0||i.methods.find(a=>a.id===n.id)!==void 0;case r.FunctionDeclaration:return i.inputs.find(a=>a.id===n.id)!==void 0||(i.returnStatements.map(a=>a.outputs).flat()||[]).find(a=>a.id===n.id)!==void 0;default:return!1}})}function z9(n){const e=Sg(n.project);return Og(n,e)}function vr(n){const e=[];if(En.includes(n.type)){n.calledBy.forEach(a=>{const s=He(a);s&&e.push(s)});const i=[...n.inputs||[],...n.outputs||[]].map(a=>Dd(a)).filter(a=>a!==null);e.push(...S(i))}if(Fe.includes(n.type)){const t=Dd(n);t&&e.push(t)}return S(e)}function Id(n){return n.type===r.FunctionCall||n.type===r.InternalCall?n.declaration.inputs:[r.Operation,r.Condition,r.Loop].includes(n.type)?n.declaration.fixedArguments:n.type===r.FunctionDeclaration||Dr.includes(n.type)?n.inputs:n.type===r.Search?n.inputsDeclarations:[]}function Z9(n,e){return e.type===r.Condition?e.inputs.find(t=>t.declaration.id===n.id):e.type===r.FunctionCall||e.type===r.Operation?e.inputs.find(t=>t.declaration.id===n.id):null}function Cg(n){return Ne.includes(n.type)?n.inputs:[]}function Pd(n){var e;return n.type===r.FunctionCall?((e=n.declaration.returnStatements[0])==null?void 0:e.outputs)||[]:[r.Operation,r.Condition,r.Loop].includes(n.type)?n.declaration.fixedReturns:n.type===r.Search?n.outputsDeclarations:Oe.includes(n.type)?n.outputs:[]}function X9(n,e){return e.type===r.Condition?null:e.type===r.FunctionCall||e.type===r.Operation?e.outputs.find(t=>t.declaration.id===n.id):null}function Q9(n){return n.type===r.Condition?[]:Ne.includes(n.type)?n.outputs:[]}function Dd(n){const e=n.readsValue;return e?He(e):null}function Bg(n){const e=n.internalCalls||[];return S(_t(S(e.flatMap(t=>[...t.successCalls,...t.errorCalls]))))}function di(n){const e=gd(n),t=[];return e.forEach(i=>{if(Fe.includes(i.type))t.push(i);else if(i.type===r.InputMap){const a=i.parent;if(a.type===r.InputMap){const s=a.parent;t.push(s)}else t.push(a)}else[r.ActionDescriptor].includes(i.parent.type)||t.push(i.parent)}),t}function S(n){const e=new Set;return n.filter(t=>!t||e.has(t.id)?!1:(e.add(t.id),!0))}function Ln(n,e=!1){const t=[];if(n.type===r.Project&&t.push(...(n==null?void 0:n.entities)||[],...(n==null?void 0:n.functions)||[],...(n==null?void 0:n.variableDeclarations)||[],...(n==null?void 0:n.variableInstances)||[],...(n==null?void 0:n.searches)||[],...(n==null?void 0:n.loops)||[],...(n==null?void 0:n.operations)||[],...(n==null?void 0:n.conditions)||[],...(n==null?void 0:n.functionCalls)||[],...(n==null?void 0:n.events)||[],...(n==null?void 0:n.projects)||[]),st.includes(n.type)&&t.push(...(n==null?void 0:n.detachedChildren)||[]),n.type===r.CustomEntity){const i=[...n.suggestedMethods,...n.methods].flatMap(a=>a.collapsed&&e?[]:Ln(a));t.push(...i)}if(n.type===r.Condition){const i=n.successCalls.map(s=>He(s)),a=n.errorCalls.map(s=>He(s));t.push(...i,...a)}if(Dr.includes(n.type)){if(n.collapsed&&e)return[];const i=n.inputs.map(s=>di(s)).flat(),a=n.calls.map(s=>He(s));t.push(...S(i),...a)}if(Ne.includes(n.type)&&n.type!==r.Condition){const i=n==null?void 0:n.outputs.map(o=>di(o)).flat(),a=n.successCalls.map(o=>He(o)),s=n.errorCalls.map(o=>He(o));t.push(...S(i),...a,...s)}if(Fe.includes(n.type)){const i=di(n),a=Bg(n);t.push(...i,...a)}if(n.type===r.Loop){const i=n.outputs.map(o=>di(o)).flat();if(n.body){const o=Ln(n.body,e);t.push(...o)}const a=n.errorCalls.map(o=>He(o)),s=n.successCalls.map(o=>He(o));t.push(...S(i),...s,...a)}if(n.type===r.FunctionDeclaration){if(n.collapsed&&e)return[];const i=n.inputs.map(s=>di(s)).flat(),a=n.calls.map(s=>He(s));t.push(...S(i),...a)}return S(t)}function wg(n,e=!1){const t=Ln(n,e),i=[...t,...t.reduce((a,s)=>[...a,...wg(s,e)],[])];return S(i)}function _g(n){const e=vr(n),t=[...e,...e.reduce((i,a)=>[...i,..._g(a)],[])];return S(t)}function uo(n){return n.implements.reduce((e,t)=>t.type===r.CustomEntity?[...e,r.CustomEntity,...uo(t),...po(t)]:[...e,t.name],[])}function po(n){return n.extends.reduce((e,t)=>t.type===r.CustomEntity?[...e,r.CustomEntity,...po(t),...uo(t)]:[...e,t.name],[])}function Ad(n){return n.extends.reduce((e,t)=>t.type===r.CustomEntity?[...e,t,...Ad(t),...Sd(t)]:[...e,t],[])}function Sd(n){return n.implements.reduce((e,t)=>t.type===r.CustomEntity?[...e,t,...Sd(t),...Ad(t)]:[...e,t],[])}function Mg(n){return[...po(n),...uo(n)].filter((t,i,a)=>a.indexOf(t)===i)}function Ng(n){return n.implements.length===0&&n.extends.length===0?null:n.implements.find(i=>i.type===r.BuiltInBaseEntity&&i.name===_.PERSISTED_ENTITY)?n:[...n.implements,...n.extends].reduce((i,a)=>{if(a.type===r.CustomEntity){const s=Ng(a);if(s)return s}return i},null)}function K9(n){const e=n.extends.find(t=>t.type===r.BuiltInBaseEntity);return e&&e.type===r.BuiltInBaseEntity?e:null}function e3(n){const e=n.implements.find(t=>t.type===r.BuiltInBaseEntity);return e&&e.type===r.BuiltInBaseEntity?e:null}function $g(n){const e=n.extends.find(t=>t.type===r.CustomEntity);return e&&e.type===r.CustomEntity?e:null}function Gn(n){const e=[...n.implements,...n.extends].reduce((t,i)=>i.type===r.BuiltInBaseEntity?[...t,i]:i.type===r.CustomEntity?[...t,...Gn(i)]:t,[]);return S(e)}function Od(n){return n.type===r.PrimitiveEntity?!0:n.type===r.BuiltInBaseEntity?n.interactive:!Gn(n).find(i=>!i.interactive)}function t3(n){return n.parent===n.project&&n.project.variableDeclarations.includes(n)}function Cd(n){return n.parent!==n.project?!1:r.VariableDeclaration===n.type?n.project.variableDeclarations.includes(n):r.VariableInstance===n.type?n.project.variableInstances.includes(n):r.FunctionCall===n.type?n.project.functionCalls.includes(n):r.Condition===n.type?n.project.conditions.includes(n):r.Operation===n.type?n.project.operations.includes(n):r.Loop===n.type?n.project.loops.includes(n):r.Search===n.type?n.project.searches.includes(n):!1}function Vg(n){if([...$e,r.CustomEntity,r.InstalledProject,r.Project].includes(n.type)||Cd(n))return!1;const e=vr(n);return e.length===0?!0:e.some(t=>Vg(t))}function Bd(n){return[...$e,r.CustomEntity,r.InstalledProject,r.Project].includes(n.type)||Cd(n)?!1:vr(n).length===0}function Lg(n,e=0){if(Bd(n)){const t=vr(n);return t.length===0?n:t.map(a=>Lg(a,e+1)).reduce((a,s)=>a?s&&s.x<a.x?s:a:s,null)}return null}function Gg(n){const e=[];if(Bd(n))e.push(n);else return[];return vr(n).forEach(i=>{e.push(...Gg(i))}),e}function Fg(n){return n.type===r.FunctionDeclaration&&n.parent!==n.project&&!![r.CustomEntity,r.Loop,r.InstalledProject].includes(n.parent.type)}function Ug(n,e){const t=new Map;return n.forEach(i=>{t.set(i.id,i)}),e.forEach(i=>{t.set(i.id,i)}),Array.from(t.values())}function yo(n){switch(n){case r.CustomEntity:return Ir;case r.FunctionDeclaration:return lr;case r.VariableDeclaration:return pr;case r.VariableInstance:return yr;case r.FunctionCall:return Rr;case r.Operation:return cr;case r.Condition:return ur;case r.ReturnStatement:return Tr;case r.Loop:return dr;case r.Search:return hr;case r.InputMap:return hn;case r.OutputMap:return fn;case r.ArgumentDeclaration:return mr;case r.ReturnDeclaration:return Ot;case r.Property:return or;case r.InstalledProject:return fr;case r.Project:return $;case r.BuiltInBaseEntity:return Ut;default:return null}}function ht(n,e){if(st.includes(n.type))return n;if(Ar.includes(n.type))return null;const t=n.parent;if(!t)return null;if(t.type===r.GenericReference){const i=D(t);if(!i)return null;const a=e.get(i);return a?ht(a,e):null}else return t===e?e:ht(t,e)}function wd(n,e){if(Ar.includes(n.type)||e.getAllBuiltInIds().includes(n.id))return null;const i=Mt(n.parent,e);return i?i===e?st.includes(n.type)?n:null:i.type===r.CustomEntity?n:wd(i,e):null}function ho(n,e,t){if(n===e||e===t||n===t)return!1;const i=ht(e.parent,t);return i===n?!0:ho(i,e,t)}var fo=(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))(fo||{});function ya(n,e,t){const i=ht(n,t),a=ht(e,t);if(!i)throw new Error("Could not find scope owner for the entity: "+n.id);if(!a)throw new Error("Could not find scope owner for the entity: "+e.id);if(i===a&&i.type!==r.Project)return{compatible:!0,type:"same-both-local",commonAncestorScope:i};if(i===a&&i.type===r.Project)return{compatible:!0,type:"same-both-global",commonAncestorScope:i};if(i.type===r.Project&&a.type!==r.Project)return{compatible:!1,type:"a-is-global-b-is-not",commonAncestorScope:i};if(i.type!==r.Project&&a.type===r.Project)return{compatible:!1,type:"b-is-global-a-is-not",commonAncestorScope:a};if(ho(i,a,t))return{compatible:!0,type:"b-in-a",commonAncestorScope:i};if(ho(a,i,t))return{compatible:!0,type:"a-in-b",commonAncestorScope:a};const u=bd(i,a);return u===t?{compatible:!1,type:"parallel-in-project",commonAncestorScope:u}:u?{compatible:!1,type:"parallel-in-common-parent",commonAncestorScope:ht(u,t)}:{compatible:!1,type:"parallel-in-project",commonAncestorScope:t}}function xg(n,e,t){const i=ya(n,e,t);if(!i.compatible||i.type!=="same-both-local")return null;if(n===e)return n;let a=ht(n.parent,t);if(a){if(a===e)return e;if(a.type===r.Project)return n}else return n;for(;a;){if(a){if(a===e)return e;if(a.type===r.Project)return n}else return n;a=ht(a.parent,t)}let s=ht(e.parent,t);if(s){if(s===n)return n;if(s.type===r.Project)return e}else return e;for(;s;){if(s){if(s===n)return n;if(s.type===r.Project)return e}else return e;s=ht(s.parent,t)}return null}function jg(n){return n.length===0?null:n.length===1?n[0]:n.reduce((t,i)=>{const a=xg(t,i,i.project);return!a||a===i?t:i},n[0])}function Mt(n,e){let t;return typeof n=="string"?t=n:n.type===r.GenericReference?t=D(n):t=n.id,t===e.id?e:e.get(t)}function gr(n){if(Ar.includes(n.type))return n;if(n.type===r.Project)return null;if(n.project.getAllBuiltInIds().includes(n.id))return n;const t=n.parent;return!t||t.type===r.Project?null:gr(t)}function ha(n,e){var t;if(n.readsValue){const i=Mt(n.readsValue,e.project);e.setValueWriter(i),i.addValueReader(e)}else n.readsValue===null&&((t=e.readsValue)==null||t.removeValueReader(e),e.readsValue=null);return e}function _d(n){const e=[];function t(o,u){return e.some(p=>p.blockedByCaller===o&&p.blockedByCalling===u)}function i(o,u){t(o,u)||e.push({blockedByCaller:o,blockedByCalling:u})}const a=wd(n,n.project);return n.calledBy.forEach(o=>{if([...o.calls||[],...o.successCalls||[],...o.errorCalls||[]].forEach(h=>{Oe.includes(h.type)&&i(o,h)}),o===a)return;let p;if(Ne.includes(o.type))p=o;else if(o.type===r.FunctionDeclaration){const h=He(o);if(h.type===r.CustomEntity)return;h.type===r.Loop&&(p=h)}if(p){const h=_d(p);h.reachable||(Oe.includes(n.type)?h.blocks.forEach(m=>{i(o,m.blockedByCalling)}):Me(n).find(b=>b===o)||h.blocks.forEach(b=>{i(o,b.blockedByCalling)}))}}),{reachable:e.length===0,entryPoint:a,blocks:e}}function n3(n){return Ro.includes(n.type)?n.type===r.FunctionDeclaration?!Fg(n):!0:!1}function r3(n){if(r.ActionDescriptor===n.type){if(n.project.operationDeclarations.find(s=>s.id===n.id))return r.Operation;if(n.project.globalEventActionDescriptors.find(s=>s.id===n.id))return r.GlobalEvent;if(n.project.loopDeclarations.find(s=>s.id===n.id))return r.Loop;if(n.project.conditionDeclarations.find(s=>s.id===n.id))return r.Condition}return n.type}function i3(n,e){const t=[];if(n.parent)if(n.id===n.parent)t.push(new E({id:`${n.id}--${n.parent}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at 'parent'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}));else{const i=e.get(n.parent);i?[r.Project,r.DataType].includes(i.type)||t.push(new E({id:`${n.id}--${n.parent}--${y.InvalidParentReference}`,code:y.InvalidParentReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a parent reference that isn't pointing to an entity of type 'project' or 'data-type'.`,issue:null})):t.push(new E({id:`${n.id}--${n.parent}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${n.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}return n.implements&&Array.isArray(n.implements)?n.implements.forEach(i=>{if(n.id===i){t.push(new E({id:`${n.id}--${i}--${y.SelfReference}`,code:y.SelfReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has a reference to itself at one of the 'implements' references. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}));return}const a=e.get(i);a?[r.CustomEntity,r.BuiltInBaseEntity].includes(a.type)?a.abstract||t.push(new E({id:`${n.id}--${i}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' reference that isn't pointing to an abstract entity.`,issue:null})):t.push(new E({id:`${n.id}--${i}--${y.InvalidImplementsReference}`,code:y.InvalidImplementsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' reference that isn't pointing to an entity of type 'custom-entity' or 'built-in-base-entity'.`,issue:null})):t.push(new E({id:`${n.id}--${i}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${i}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}):t.push(new E({id:`${n.id}--${v.InvalidObjectStructure}`,code:v.InvalidObjectStructure,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'implements' property that isn't an array.`,issue:null})),n.extends&&Array.isArray(n.extends)&&n.extends.forEach(i=>{const a=e.get(i);a?[r.CustomEntity,r.BuiltInBaseEntity].includes(a.type)?a.abstract&&t.push(new E({id:`${n.id}--${i}--${y.InvalidExtendsReference}`,code:y.InvalidExtendsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'extends' reference that isn't pointing to a non-abstract entity. Did you want to use the property 'implements', which holds a list of references to absract entities, instead?`,issue:null})):t.push(new E({id:`${n.id}--${i}--${y.InvalidExtendsReference}`,code:y.InvalidExtendsReference,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", has an 'extends' reference that isn't pointing to an entity of type 'custom-entity' or 'built-in-base-entity'.`,issue:null})):t.push(new E({id:`${n.id}--${i}--${y.ReferencedEntityNotFound}`,code:y.ReferencedEntityNotFound,severity:f.Error,message:`Entity of type "${n.type}" with id "${n.id}", is referencing an entity with id "${i}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}),t}const pe=class pe{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"x");l(this,"y");l(this,"static");l(this,"abstract");l(this,"type",r.CustomEntity);l(this,"properties",[]);l(this,"methods",[]);l(this,"abstractMethods",[]);l(this,"extends",[]);l(this,"implements",[]);l(this,"project");l(this,"errors",[]);l(this,"parent");l(this,"initialized",!1);l(this,"suggestedProperties",[]);l(this,"suggestedMethods",[]);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.x=e.x,this.y=e.y,this.static=e.static,this.abstract=e.abstract}static fromGenerationTarget(e,t){let i=t;if(e.parent){const p=D(e.parent);i=t.get(p)}const a=[];e.implements&&e.implements.forEach(p=>{a.push(t.get(p)||t.getBuiltIn(p))});const s=[];e.extends&&e.extends.forEach(p=>{s.push(t.get(p)||t.getBuiltIn(p))});const o={id:e.id,version:1,name:e.name,type:r.CustomEntity,description:e.description,static:e.static,abstract:e.abstract,properties:[],methods:[],abstractMethods:[],extends:s,implements:a,x:0,y:0,parent:i},u=R(o,t);return u.setParent(i),u.initChildren(),u}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=i3(i,t),o=Qs(i,t);a.push(...s,...o,...Pe(i));const u=i.parent?t.get(i.parent):null;if(u&&u.type===r.DataType){const p=u;p.entity&&a.push(new E({id:`${e.id}--${y.NewEntityWouldOverriteExisting}`,code:y.NewEntityWouldOverriteExisting,severity:f.Error,message:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${p.id}' because it already has an 'entity' child. Data type entities can only have one 'entity' as children.
373
373
  You can inspect the existing 'entity' field with the 'describe_entity' action. Like so:
374
374
  ${Qt({describe_entity:p.entity.id})}
375
- Alternatively you can update the parent data-type entity with 'update' action to remove the existing value of the field.`,issue:null}))}return{errors:a,modifiedData:i}}get extendedProperties(){return S(this.extends.reduce((e,t)=>[...[...t.properties,...t.extendedProperties].filter(a=>!a.abstract),...e],[]))}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on an '${this.type}', must be the root project as it is a globally declared entity.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){if(this.parent.type===r.DataType){const e=this.parent;e.entity=this}else this.project.addCustomEntity(this);return this}setParent(e){return this.parent=e,this}removeProperty(e){return this.properties=this.properties.filter(t=>t.id!==e.id),this}addMethod(e){return this.methods.includes(e)||(this.methods.push(e),this.suggestedMethods=this.suggestedMethods.filter(t=>t.name!==e.name)),this}removeMethod(e){return this.methods=this.methods.filter(t=>t.id!==e.id),this}addProperty(e){return this.properties.includes(e)||(this.properties.push(e),this.suggestedProperties=this.suggestedProperties.filter(t=>t.name!==e.name)),this}addSuggestedProperty(e){return this.suggestedProperties.includes(e)||this.suggestedProperties.push(e),this}addSuggestedMethod(e){return this.suggestedMethods.includes(e)||this.suggestedMethods.push(e),this}removeSuggestedProperty(e){return this.suggestedProperties=this.suggestedProperties.filter(t=>t.id!==e.id),this}removeSuggestedMethod(e){return this.suggestedMethods=this.suggestedMethods.filter(t=>t.id!==e.id),this}addAbstractMethod(e){return this.abstractMethods.includes(e)||this.abstractMethods.push(e),this}removeAbstractMethod(e){return this.abstractMethods=this.abstractMethods.filter(t=>t.id!==e.id),this}initChildren(){return this.initialized?this:(this.initialized=!0,this.properties=this.initialData.properties.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.methods=this.initialData.methods.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.abstractMethods=this.initialData.abstractMethods.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.extends=this.initialData.extends.map(e=>R(e,this.project)),this.implements=this.initialData.implements.map(e=>R(e,this.project)),this.addSuggestions(),this)}addSuggestions(){return this.implements.forEach(e=>{Gx(this,e).forEach(a=>{const s=a.toJSON();s.id=`_suggestion--parent--${this.id}--${a.id}`;const o=R(s,this.project);o.suggestion=!0,o.setParent(this),o.initChildren(),this.addSuggestedProperty(o)}),Fx(this,e).forEach(a=>{const s=`_suggestion--parent--${this.id}--${a.id}`,o=a.implementAsFunctionDeclaration(s),u=R(o,this.project);if(u.suggestion=!0,u.setParent(this),u.initChildren(),u.inputs.forEach(p=>{p.suggestion=!0}),u.returnStatements.length){const p=u.returnStatements[0];p.suggestion=!0,p.outputs.forEach(h=>{h.suggestion=!0})}this.addSuggestedMethod(u)})}),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.x=e.x||this.x,this.y=e.y||this.y,this.static=e.static||this.static,this.abstract=e.abstract||this.abstract,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.properties.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.methods.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.abstractMethods.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.suggestedProperties.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.suggestedMethods.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.properties.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.methods.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.abstractMethods.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.suggestedProperties.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.suggestedMethods.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),{affected:S(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.extends.flatMap(i=>i.toFlat(e)),...this.implements.flatMap(i=>i.toFlat(e)),...this.properties.flatMap(i=>i.toFlat(e)),...this.methods.flatMap(i=>i.toFlat(e)),...this.abstractMethods.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.extends.flatMap(i=>i.toFlatIds(e)),...this.implements.flatMap(i=>i.toFlatIds(e)),...this.properties.flatMap(i=>i.toFlatIds(e)),...this.methods.flatMap(i=>i.toFlatIds(e)),...this.abstractMethods.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,x:this.x,y:this.y,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),implements:this.implements.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,x:this.x,y:this.y,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),implements:this.implements.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(i=>i.toFlatJSON(e)),...this.methods.flatMap(i=>i.toFlatJSON(e)),...this.abstractMethods.flatMap(i=>i.toFlatJSON(e)),...this.implements.flatMap(i=>i.toFlatJSON(e)),...this.extends.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,name:this.name,description:this.description,type:this.type,static:this.static,abstract:this.abstract,extends:this.extends.map(t=>t.id),implements:this.implements.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(i=>i.toFlatGenerationTarget(e)),...this.methods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.implements.filter(i=>i.type===r.CustomEntity).flatMap(i=>i.toFlatGenerationTarget(e)),...this.implements.filter(i=>i.type===r.CustomEntity).flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){return this.errors=Lx(this),{success:!0,error:null,data:null}}getErrors(){return[...this.errors,...this.properties.flatMap(t=>t.getErrors()),...this.methods.flatMap(t=>t.getErrors()),...this.abstractMethods.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new pe(this.toJSON(),this.project)}getFunctionDeclaration(e){return this.methods.find(t=>t.id===e)}implement(e,t){return lo(this,e,t)}};l(pe,"MUTABLE_BASE_PROPERTIES",["name","description","static","abstract"]),l(pe,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(pe,"BASE_PROPERTIES",[...pe.MUTABLE_BASE_PROPERTIES,...pe.INMUTABLE_BASE_PROPERTIES]),l(pe,"MUTABLE_META_PROPERTIES",[...pe.MUTABLE_BASE_PROPERTIES,"x","y"]),l(pe,"INMUTABLE_META_PROPERTIES",[...pe.INMUTABLE_BASE_PROPERTIES]),l(pe,"META_PROPERTIES",[...pe.MUTABLE_META_PROPERTIES,...pe.INMUTABLE_META_PROPERTIES]),l(pe,"MUTABLE_UPSTREAM_PROPERTIES",["extends","implements"]),l(pe,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(pe,"UPSTREAM_PROPERTIES",[...pe.MUTABLE_UPSTREAM_PROPERTIES,...pe.INMUTABLE_UPSTREAM_PROPERTIES]),l(pe,"MUTABLE_DOWNSTREAM_PROPERTIES",["properties","methods","abstractMethods"]),l(pe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(pe,"DOWNSTREAM_PROPERTIES",[...pe.MUTABLE_DOWNSTREAM_PROPERTIES,...pe.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(pe,"PROPERTIES",[...pe.META_PROPERTIES,...pe.UPSTREAM_PROPERTIES,...pe.DOWNSTREAM_PROPERTIES]);let Pr=pe;function r3(n){const e=a4(),t=n.toJSON();e.safeParse(t).success;const a=[];return X(n.errors,a)}class Nt{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"type",r.PrimitiveEntity);l(this,"static");l(this,"abstract");l(this,"properties",[]);l(this,"methods",[]);l(this,"abstractMethods",[]);l(this,"extends",[]);l(this,"errors",[]);l(this,"project");this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.static=e.static,this.abstract=e.abstract,this.properties=this.initialData.properties.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(i=>{const a=R(i,this.project);return a.parent=this,a}),this.abstractMethods=this.initialData.abstractMethods.map(i=>{const a=R(i,this.project);return a.parent=this,a})}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}async load(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.properties.flatMap(i=>i.toFlat(e)),...this.methods.flatMap(i=>i.toFlat(e)),...this.abstractMethods.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.properties.flatMap(i=>i.toFlatIds(e)),...this.methods.flatMap(i=>i.toFlatIds(e)),...this.abstractMethods.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(i=>i.toFlatJSON(e)),...this.methods.flatMap(i=>i.toFlatJSON(e)),...this.abstractMethods.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,extends:this.extends.map(e=>e.id)}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(i=>i.toFlatGenerationTarget(e)),...this.methods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){const e=r3(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.properties.flatMap(t=>t.getErrors()),...this.methods.flatMap(t=>t.getErrors()),...this.abstractMethods.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new Nt(this.toJSON(),this.project)}}function i3(n){const e=h4(),t=n.toJSON();e.safeParse(t).success;const a=[];return X(n.errors,a)}class Ut{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"type",r.BuiltInBaseEntity);l(this,"abstract",!1);l(this,"static");l(this,"properties",[]);l(this,"methods",[]);l(this,"abstractMethods",[]);l(this,"extends",[]);l(this,"interactive",!1);l(this,"errors",[]);l(this,"project");this.initialData=this.initialData||e,this.project=this.project||t,this.id=this.id||e.id,this.version=this.version||e.version,this.name=this.name||e.name,this.static=this.static||e.static,this.interactive=this.interactive||e.interactive,this.abstract=e.abstract,this.properties=this.initialData.properties.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.abstractMethods=this.initialData.abstractMethods.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.extends=this.initialData.extends.map(i=>R(i,this.project))}get extendedProperties(){return S(this.extends.reduce((e,t)=>{if(t instanceof Ut){const i=[...t.properties,...t.extendedProperties].filter(a=>!a.abstract);e.push(...i)}return e},[]))}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}async load(){return this}remove(e={ignoreUpstream:!1,seenEntities:new Set}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.properties.flatMap(i=>i.toFlat(e)),...this.methods.flatMap(i=>i.toFlat(e)),...this.abstractMethods.flatMap(i=>i.toFlat(e)),...this.extends.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.properties.flatMap(i=>i.toFlatIds(e)),...this.methods.flatMap(i=>i.toFlatIds(e)),...this.abstractMethods.flatMap(i=>i.toFlatIds(e)),...this.extends.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,interactive:this.interactive,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,interactive:this.interactive,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(i=>i.toFlatJSON(e)),...this.methods.flatMap(i=>i.toFlatJSON(e)),...this.abstractMethods.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,interactive:this.interactive,extends:this.extends.map(e=>e.id)}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(i=>i.toFlatGenerationTarget(e)),...this.methods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){const e=i3(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.properties.flatMap(t=>t.getErrors()),...this.methods.flatMap(t=>t.getErrors()),...this.abstractMethods.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new Ut(this.toJSON(),this.project)}implement(e,t){return lo(this,e,t)}}function fa(n,e){if(!n)throw new Error("Entity is null");const t=e.findSubscribedInstance(n);switch(n.type){case r.PrimitiveValue:return t||new ci(n,e);case r.CustomEntity:return t||new Pr(n,e);case r.PrimitiveEntity:return t||new Nt(n,e);case r.FunctionDeclaration:return t||new cr(n,e);case r.GlobalEvent:return t||new oi(n,e);case r.DataType:return t||new si(n,e);case r.Property:return t||new lr(n,e);case r.FunctionCall:return t||new br(n,e);case r.Condition:return t||new pr(n,e);case r.Operation:return t||new dr(n,e);case r.VariableDeclaration:return t||new yr(n,e);case r.VariableInstance:return t||new hr(n,e);case r.OutputMap:return t||new fn(n,e);case r.ReturnDeclaration:return t||new Ot(n,e);case r.ArgumentDeclaration:return t||new Tr(n,e);case r.InputMap:return t||new hn(n,e);case r.Project:return t||new $(n);case r.InstalledProject:return t||new mr(n,e);case r.ActionDescriptor:return t||new _e(n,e);case r.ReturnStatement:return t||new Er(n,e);case r.Loop:return t||new ur(n,e);case r.Search:return t||new fr(n,e);case r.ValueDescriptor:return t||new Rr(n,e);case r.BuiltInBaseEntity:return t||new Ut(n,e);case r.InternalCall:return t||new li(n,e);case r.ContinueStatement:return t||new yt(n,e);case r.BreakStatement:return t||new di(n,e);default:throw new Error("Invalid entity type: "+n.type)}}function R(n,e){if(!n)throw new Error("Entity is null");const t=fa(n,e);return t.subscribe(),t}function a3(n,e){if(!n)throw new Error("Entity is null");switch(n.type){case r.PrimitiveValue:return ci.fromGenerationTarget(n,e);case r.CustomEntity:return Pr.fromGenerationTarget(n,e);case r.FunctionDeclaration:return cr.fromGenerationTarget(n,e);case r.GlobalEvent:return oi.fromGenerationTarget(n,e);case r.DataType:return si.fromGenerationTarget(n,e);case r.Property:return lr.fromGenerationTarget(n,e);case r.FunctionCall:return br.fromGenerationTarget(n,e);case r.Condition:return pr.fromGenerationTarget(n,e);case r.Operation:return dr.fromGenerationTarget(n,e);case r.VariableDeclaration:return yr.fromGenerationTarget(n,e);case r.VariableInstance:return hr.fromGenerationTarget(n,e);case r.OutputMap:return fn.fromGenerationTarget(n,e);case r.ReturnDeclaration:return Ot.fromGenerationTarget(n,e);case r.ArgumentDeclaration:return Tr.fromGenerationTarget(n,e);case r.InputMap:return hn.fromGenerationTarget(n,e);case r.InstalledProject:return mr.fromGenerationTarget(n,e);case r.ReturnStatement:return Er.fromGenerationTarget(n,e);case r.Loop:return ur.fromGenerationTarget(n,e);case r.Search:return fr.fromGenerationTarget(n,e);case r.ActionDescriptor:return _e.fromGenerationTarget(n,e);case r.ValueDescriptor:return Rr.fromGenerationTarget(n,e);case r.InternalCall:return li.fromGenerationTarget(n,e);case r.ContinueStatement:return yt.fromGenerationTarget(n,e);case r.BreakStatement:return di.fromGenerationTarget(n,e);default:throw new Error("Invalid entity type: "+n.type)}}const z=class z{constructor(e){l(this,"initialData");l(this,"id");l(this,"version");l(this,"type",r.Project);l(this,"name",null);l(this,"description",null);l(this,"x");l(this,"y");l(this,"entities",[]);l(this,"projects",[]);l(this,"functions",[]);l(this,"events",[]);l(this,"variableDeclarations",[]);l(this,"variableInstances",[]);l(this,"conditions",[]);l(this,"operations",[]);l(this,"functionCalls",[]);l(this,"loops",[]);l(this,"searches",[]);l(this,"primitives",[]);l(this,"builtInBaseEntities",[]);l(this,"operationDeclarations",[]);l(this,"globalEventActionDescriptors",[]);l(this,"loopDeclarations",[]);l(this,"conditionDeclarations",[]);l(this,"valueDescriptors",[]);l(this,"dataTypes",[]);l(this,"project");l(this,"instances",{});l(this,"builtInInstances",{});l(this,"errors",[]);l(this,"references",[]);this.initialData=e,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.x=0,this.y=0;try{z.UUID=Cn==null?void 0:Cn()}catch(t){console.error("Error initializing UUID module",t),z.UUID={uuid:()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15),fromUUID:i=>i}}}static injectUUIDModule(e){z.UUID=e}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[];return a.push(...Pe(i)),{errors:a,modifiedData:i}}async inject(...e){return await Promise.all(e.map(t=>new Promise(async i=>{await t.init(this),i(null)}))),this}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){return this}get instancesList(){return Object.values(this.instances)}isOperationDeclaration(e){return this.operationDeclarations.includes(e)}isGlobalEventActionDescriptor(e){return this.globalEventActionDescriptors.includes(e)}isLoopDeclaration(e){return this.loopDeclarations.includes(e)}isConditionDeclaration(e){return this.conditionDeclarations.includes(e)}initChildren(){return this.entities=this.initialData.entities.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.projects=this.initialData.projects.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.functions=this.initialData.functions.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.events=this.initialData.events.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.variableDeclarations=this.initialData.variableDeclarations.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.variableInstances=this.initialData.variableInstances.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.conditions=this.initialData.conditions.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.operations=this.initialData.operations.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.functionCalls=this.initialData.functionCalls.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.loops=this.initialData.loops.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.searches=this.initialData.searches.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.attachOrphanReferences(),this.validate(),this}subscribeInstance(e){return(!this.instances[e.id]||this.instances[e.id]!==e)&&(this.instances[e.id]=e),this}subscribeBuiltInInstance(e){return(!this.builtInInstances[e.id]||this.builtInInstances[e.id]!==e)&&(this.builtInInstances[e.id]=e),this}subscribe(){return this}unsubscribe(){return this}unsubscribeInstance(e){return delete this.instances[e.id],this}findSubscribedInstance(e){return this.instances[e.id]||null}findSubscribedBuiltInInstance(e){return this.builtInInstances[e.id]||null}get(e){return this.instances[e]||this.builtInInstances[e]||null}getManaged(e){return this.instances[e]||null}getBuiltIn(e){return this.builtInInstances[e]||null}findSubscribedInstanceFromReference(e){return this.instances[e.entityId]||null}findSubscribedBuiltInInstanceFromReference(e){return this.builtInInstances[e.entityId]||null}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e}={ignoreUpstream:!1}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}getAllBuiltInIds(){const e=new Set;return[...this.primitives.flatMap(t=>t.toFlatIds(e)),...this.builtInBaseEntities.flatMap(t=>t.toFlatIds(e)),...this.operationDeclarations.flatMap(t=>t.toFlatIds(e)),...this.globalEventActionDescriptors.flatMap(t=>t.toFlatIds(e)),...this.loopDeclarations.flatMap(t=>t.toFlatIds(e)),...this.conditionDeclarations.flatMap(t=>t.toFlatIds(e)),...this.valueDescriptors.flatMap(t=>t.toFlatIds(e)),...this.dataTypes.flatMap(t=>t.toFlatIds(e))]}getAllBuiltIn(){const e=new Set;return[...this.primitives.flatMap(t=>t.toFlat(e)),...this.builtInBaseEntities.flatMap(t=>t.toFlat(e)),...this.operationDeclarations.flatMap(t=>t.toFlat(e)),...this.globalEventActionDescriptors.flatMap(t=>t.toFlat(e)),...this.loopDeclarations.flatMap(t=>t.toFlat(e)),...this.conditionDeclarations.flatMap(t=>t.toFlat(e)),...this.valueDescriptors.flatMap(t=>t.toFlat(e)),...this.dataTypes.flatMap(t=>t.toFlat(e))]}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(i=>i.toFlat(e)),...this.functions.flatMap(i=>i.toFlat(e)),...this.events.flatMap(i=>i.toFlat(e)),...this.projects.flatMap(i=>i.toFlat(e)),...this.variableDeclarations.flatMap(i=>i.toFlat(e)),...this.variableInstances.flatMap(i=>i.toFlat(e)),...this.conditions.flatMap(i=>i.toFlat(e)),...this.operations.flatMap(i=>i.toFlat(e)),...this.functionCalls.flatMap(i=>i.toFlat(e)),...this.loops.flatMap(i=>i.toFlat(e)),...this.searches.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),Array.from(e))}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,entities:this.entities.map(e=>e.toJSON()),functions:this.functions.map(e=>e.toJSON()),events:this.events.map(e=>e.toJSON()),projects:this.projects.map(e=>e.toJSON()),variableDeclarations:this.variableDeclarations.map(e=>e.toJSON()),variableInstances:this.variableInstances.map(e=>e.toJSON()),conditions:this.conditions.map(e=>e.toJSON()),operations:this.operations.map(e=>e.toJSON()),functionCalls:this.functionCalls.map(e=>e.toJSON()),loops:this.loops.map(e=>e.toJSON()),searches:this.searches.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+z.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,entities:this.entities.map(e=>e.toReference()),functions:this.functions.map(e=>e.toReference()),events:this.events.map(e=>e.toReference()),projects:this.projects.map(e=>e.toReference()),variableDeclarations:this.variableDeclarations.map(e=>e.toReference()),variableInstances:this.variableInstances.map(e=>e.toReference()),conditions:this.conditions.map(e=>e.toReference()),operations:this.operations.map(e=>e.toReference()),functionCalls:this.functionCalls.map(e=>e.toReference()),loops:this.loops.map(e=>e.toReference()),searches:this.searches.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(i=>i.toFlatJSON(e)),...this.functions.flatMap(i=>i.toFlatJSON(e)),...this.events.flatMap(i=>i.toFlatJSON(e)),...this.projects.flatMap(i=>i.toFlatJSON(e)),...this.variableDeclarations.flatMap(i=>i.toFlatJSON(e)),...this.variableInstances.flatMap(i=>i.toFlatJSON(e)),...this.conditions.flatMap(i=>i.toFlatJSON(e)),...this.operations.flatMap(i=>i.toFlatJSON(e)),...this.functionCalls.flatMap(i=>i.toFlatJSON(e)),...this.loops.flatMap(i=>i.toFlatJSON(e)),...this.searches.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(i=>i.toFlatGenerationTarget(e)),...this.functions.flatMap(i=>i.toFlatGenerationTarget(e)),...this.events.flatMap(i=>i.toFlatGenerationTarget(e)),...this.projects.flatMap(i=>i.toFlatGenerationTarget(e)),...this.variableDeclarations.flatMap(i=>i.toFlatGenerationTarget(e)),...this.variableInstances.flatMap(i=>i.toFlatGenerationTarget(e)),...this.conditions.flatMap(i=>i.toFlatGenerationTarget(e)),...this.operations.flatMap(i=>i.toFlatGenerationTarget(e)),...this.functionCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.loops.flatMap(i=>i.toFlatGenerationTarget(e)),...this.searches.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.entities.forEach(e=>e.clearErrors()),this.projects.forEach(e=>e.clearErrors()),this.functions.forEach(e=>e.clearErrors()),this.events.forEach(e=>e.clearErrors()),this.variableDeclarations.forEach(e=>e.clearErrors()),this.variableInstances.forEach(e=>e.clearErrors()),this.conditions.forEach(e=>e.clearErrors()),this.operations.forEach(e=>e.clearErrors()),this.functionCalls.forEach(e=>e.clearErrors()),this.loops.forEach(e=>e.clearErrors()),this.searches.forEach(e=>e.clearErrors()),this}validate(){const e=wx(),t=this.toJSON();return e.safeParse(t),this.validateChildren(),{success:!0,error:null,data:t}}validateChildren(){this.entities.forEach(e=>e.validate()),this.projects.forEach(e=>e.validate()),this.functions.forEach(e=>e.validate()),this.events.forEach(e=>e.validate()),this.variableDeclarations.forEach(e=>e.validate()),this.variableInstances.forEach(e=>e.validate()),this.conditions.forEach(e=>e.validate()),this.operations.forEach(e=>e.validate()),this.functionCalls.forEach(e=>e.validate()),this.loops.forEach(e=>e.validate()),this.searches.forEach(e=>e.validate())}getErrors(){return[...this.errors,...this.entities.flatMap(t=>t.getErrors()),...this.projects.flatMap(t=>t.getErrors()),...this.functions.flatMap(t=>t.getErrors()),...this.events.flatMap(t=>t.getErrors()),...this.variableDeclarations.flatMap(t=>t.getErrors()),...this.variableInstances.flatMap(t=>t.getErrors()),...this.conditions.flatMap(t=>t.getErrors()),...this.operations.flatMap(t=>t.getErrors()),...this.functionCalls.flatMap(t=>t.getErrors()),...this.loops.flatMap(t=>t.getErrors()),...this.searches.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new z(this.toJSON())}getCustomEntity(e){return this.entities.find(t=>t.id===e)||null}addCustomEntityFromTransfer(e){const t=R(e,this);return this.addCustomEntity(t),t}addCustomEntity(e){return this.entities.includes(e)||this.entities.push(e),e}addFunctionDeclarationFromTransfer(e){const t=R(e,this);return this.addFunctionDeclaration(t),t}addFunctionDeclaration(e){return this.functions.includes(e)||this.functions.push(e),e}addFunctionCallFromTransfer(e){const t=R(e,this);return this.addFunctionCall(t),t}addFunctionCall(e){return this.functionCalls.includes(e)||this.functionCalls.push(e),e}addVariableDeclarationFromTransfer(e){const t=R(e,this);return this.addVariableDeclaration(t),t}addVariableDeclaration(e){return this.variableDeclarations.includes(e)||this.variableDeclarations.push(e),e}addVariableInstanceFromTransfer(e){const t=R(e,this);return this.addVariableInstance(t),t}addVariableInstance(e){return this.variableInstances.includes(e)||this.variableInstances.push(e),e}addInstalledProjectFromTransfer(e){const t=R(e,this);return this.addInstalledProject(t),this}addInstalledProject(e){return this.projects.includes(e)||this.projects.push(e),this}addGlobalEventFromTransfer(e){const t=R(e,this);return this.addGlobalEvent(t),this}addGlobalEvent(e){return this.events.includes(e)||this.events.push(e),this}addConditionFromTransfer(e){const t=R(e,this);return this.addCondition(t),this}addCondition(e){return this.conditions.includes(e)||this.conditions.push(e),this}addOperationFromTransfer(e){const t=R(e,this);return this.addOperation(t),this}addOperation(e){return this.operations.includes(e)||this.operations.push(e),this}addLoopFromTransfer(e){const t=R(e,this);return this.addLoop(t),this}addLoop(e){return this.loops.includes(e)||this.loops.push(e),this}addSearchFromTransfer(e){const t=R(e,this);return this.addSearch(t),this}addSearch(e){return this.searches.includes(e)||this.searches.push(e),this}removeCustomEntity(e){const t=this.entities.findIndex(i=>i.id===e.id);if(t>-1){const i=this.entities[t];return this.entities.splice(t,1),i}return null}removeFunctionDeclaration(e){const t=this.functions.findIndex(i=>i.id===e.id);if(t>-1){const i=this.functions[t];return this.functions.splice(t,1),i}return null}removeExternalProject(e){const t=this.projects.findIndex(i=>i.id===e.id);if(t>-1){const i=this.projects[t];return this.projects.splice(t,1),i}return null}removeGlobalEvent(e){const t=this.events.findIndex(i=>i.id===e.id);if(t>-1){const i=this.events[t];return this.events.splice(t,1),i}return null}removeTopLevelVariableDeclaration(e){if(e.type!==r.VariableDeclaration)return null;const t=this.variableDeclarations.findIndex(i=>i.id===e.id);if(t>-1){const i=this.variableDeclarations[t];return this.variableDeclarations.splice(t,1),i}return null}getEntryPoints(){return[...this.functions,...this.events,...this.entities.flatMap(t=>t.methods)]}getFunctionDeclaration(e){return this.functions.find(t=>t.id===e)||null}getConditions(){return[...this.conditions,...this.getEntryPoints().reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[]),...this.functionCalls.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[]),...this.operations.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[]),...this.loops.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[]),...this.searches.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[])]}getOperations(){return[...this.operations,...this.getEntryPoints().reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[]),...this.functionCalls.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[]),...this.conditions.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[]),...this.loops.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[]),...this.searches.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[])]}getFunctionCalls(){return[...this.functionCalls,...this.getEntryPoints().reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[]),...this.conditions.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[]),...this.operations.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[]),...this.loops.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[]),...this.searches.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[])]}getVariables(){return[...this.variableDeclarations,...this.getEntryPoints().reduce((t,i)=>{const a=Z(i);return[...t,...a]},[]),...this.functionCalls.reduce((t,i)=>{const a=Z(i);return[...t,...a]},[]),...this.conditions.reduce((t,i)=>{const a=Z(i);return[...t,...a]},[]),...this.operations.reduce((t,i)=>{const a=Z(i);return[...t,...a]},[]),...this.loops.reduce((t,i)=>{const a=Z(i);return[...t,...a]},[]),...this.searches.reduce((t,i)=>{const a=Z(i);return[...t,...a]},[])]}getVariableInstances(){return[...this.variableInstances,...this.getEntryPoints().reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.functionCalls.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.conditions.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.operations.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.loops.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.searches.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[])]}getVariableDeclarations(){return S([...this.variableDeclarations,...this.getEntryPoints().reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.functionCalls.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.conditions.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.operations.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.loops.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.searches.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[])])}attachOrphanReferences(){const e=this.getVariableInstances(),t=this.getVariableDeclarations();return e.forEach(i=>{if(!i.declaration){const a=i.initialData,s=a.declaration.entityId||a.declaration.id,o=t.find(u=>u.id===s);o&&i.setDeclaration(o)}}),this}getBuiltInPersistedEntity(){return this.builtInBaseEntities.find(e=>e.name===_.PERSISTED_ENTITY)||null}};l(z,"UUID",Cn==null?void 0:Cn()),l(z,"MUTABLE_BASE_PROPERTIES",["name","description"]),l(z,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(z,"BASE_PROPERTIES",[...z.MUTABLE_BASE_PROPERTIES,...z.INMUTABLE_BASE_PROPERTIES]),l(z,"MUTABLE_META_PROPERTIES",[...z.MUTABLE_BASE_PROPERTIES,"x","y"]),l(z,"INMUTABLE_META_PROPERTIES",[...z.INMUTABLE_BASE_PROPERTIES]),l(z,"META_PROPERTIES",[...z.MUTABLE_META_PROPERTIES,...z.INMUTABLE_META_PROPERTIES]),l(z,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(z,"INMUTABLE_UPSTREAM_PROPERTIES",["primitives","builtInBaseEntities","operationDeclarations","globalEventActionDescriptors","loopDeclarations","builtInInstances"]),l(z,"UPSTREAM_PROPERTIES",[...z.MUTABLE_UPSTREAM_PROPERTIES,...z.INMUTABLE_UPSTREAM_PROPERTIES]),l(z,"MUTABLE_DOWNSTREAM_PROPERTIES",["entities","projects","functions","events","variableDeclarations","variableInstances","conditions","operations","functionCalls","loops","searches"]),l(z,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(z,"DOWNSTREAM_PROPERTIES",[...z.MUTABLE_DOWNSTREAM_PROPERTIES,...z.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(z,"PROPERTIES",[...z.META_PROPERTIES,...z.UPSTREAM_PROPERTIES,...z.DOWNSTREAM_PROPERTIES]);let $=z;class jg extends _e{constructor(t){super($t,t);l(this,"id",Ie.Parallel);l(this,"name",Ie.Parallel);l(this,"description","Execute a list of actions one after the other");l(this,"version",1);l(this,"autoexecutable",!0);l(this,"initialData",$t);l(this,"type",r.ActionDescriptor);l(this,"fixedArguments",[]);l(this,"fixedReturns",[]);l(this,"error",null);l(this,"dynamicArgumentTypes",null);l(this,"dynamicReturnTypes",null);l(this,"project");this.project=t,this.fixedArguments=$t.fixedArguments.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.fixedReturns=$t.fixedReturns.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.error=$t.error?R($t.error,this.project):null}}class kg extends _e{constructor(t){super(ot,t);l(this,"id",ot.id);l(this,"name",ot.name);l(this,"description",ot.description);l(this,"version",ot.version);l(this,"autoexecutable",!1);l(this,"initialData",ot);l(this,"type",r.ActionDescriptor);l(this,"fixedArguments",[]);l(this,"fixedReturns",[]);l(this,"error",null);l(this,"dynamicArgumentTypes",null);l(this,"dynamicReturnTypes",null);l(this,"project");this.project=t,this.fixedArguments=ot.fixedArguments.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.fixedReturns=ot.fixedReturns.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.error=ot.error?R(ot.error,this.project):null}}class qg extends _e{constructor(t){super(tn,t);l(this,"id",Ie.Sequential);l(this,"name",Ie.Sequential);l(this,"description","Execute a list of actions one after the other");l(this,"version",1);l(this,"autoexecutable",!0);l(this,"initialData",tn);l(this,"type",r.ActionDescriptor);l(this,"fixedArguments",[]);l(this,"fixedReturns",[]);l(this,"error",null);l(this,"dynamicArgumentTypes",null);l(this,"dynamicReturnTypes",null);l(this,"project");this.project=t,this.fixedArguments=tn.fixedArguments.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.fixedReturns=tn.fixedReturns.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.error=tn.error?R(tn.error,this.project):null}}function s3(n){const e=[new qg(n),new jg(n),new kg(n),new _e(fi,n),new _e(Cr,n),new _e(jn,n),new _e(ba,n),new _e(Do,n),new _e(Oo,n),new _e(So,n),new _e(Ta,n),new _e(yi,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.operationDeclarations=e,e}class Jg extends Ut{constructor(t){super(Be,t);l(this,"initialData");l(this,"id",_.PERSISTED_ENTITY);l(this,"version",1);l(this,"name",_.PERSISTED_ENTITY);l(this,"description",Be.description);l(this,"type",r.BuiltInBaseEntity);l(this,"abstract",Be.abstract);l(this,"static",Be.static);l(this,"properties",[]);l(this,"methods",[]);l(this,"abstractMethods",[]);l(this,"extends",[]);l(this,"errors",[]);l(this,"project");this.initialData=Be,this.project=t,this.id=Be.id,this.version=Be.version,this.name=Be.name,this.static=Be.static,this.abstract=Be.abstract,this.properties=this.initialData.properties.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(i=>{const a=R(i,this.project);return a.parent=this,a}),this.abstractMethods=this.initialData.abstractMethods.map(i=>{const a=R(i,this.project);return a.parent=this,a}),this.extends=this.initialData.extends.map(i=>R(i,this.project))}}function o3(n){const e=[new Jg(n),new Ut(Oa,n),new Ut(bn,n),new Ut(Jo,n),new Ut(Sa,n)];return e.forEach(t=>{n.subscribeBuiltInInstance(t)}),n.builtInBaseEntities=e,e}function l3(n){const e=[new Nt(F,n),new Nt(Un,n),new Nt(Ce,n),new Nt(Xe,n),new Nt(Rn,n),new Nt(Or,n),new Nt(ma,n),new Nt(vo,n)];return e.forEach(t=>{n.subscribeBuiltInInstance(t)}),n.primitives=e,e}function c3(n){const e=[new _e(Ma,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.globalEventActionDescriptors=e,e}function d3(n){const e=[new _e(kn,n),new _e(Fo,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.loopDeclarations=e,e}function u3(n){const e=[new Rr(zo,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.valueDescriptors=e,e}function p3(n){const e=[new _e(qn,n),new _e(wr,n)];return e.forEach(t=>{t.initChildren()}),n.conditionDeclarations=e,e}const Dr={},To={};async function y3(n,e={}){const t={...eb};return t.id=n.id,e.empty?{data:{id:n.id,type:r.Project,version:1,name:null,description:null,projects:[],entities:[],operations:[],functions:[],variableDeclarations:[],variableInstances:[],functionCalls:[],conditions:[],loops:[],searches:[],events:[]}}:{data:t}}function Wg(n){const e=new $(n);return l3(e),o3(e),s3(e),c3(e),d3(e),u3(e),p3(e),e.initChildren(),e}async function h3(n,e={}){try{if(n.id&&Dr[n.id])return Dr[n.id];if(n.id&&To[n.id])return await To[n.id],Dr[n.id];const t=y3(n,e);n.id&&(To[n.id]=t);const i=await t;if(i.data){const a=Wg(i.data);return Dr[n.id]=a,n.id&&delete To[n.id],a}return null}catch(t){return console.error("Error fetching project: ",t),null}}function f3(n){return Dr[n.id]&&delete Dr[n.id],null}const m3="test_primitive_entities_export";d.AI_VALUE_CONNECTION_GENERATION_ACTION_EXPLANATION=Td,d.ActionDescriptorState=_e,d.ActionDescriptorValuesType=L,d.ActionInputMapState=h9,d.ActionOutputMapState=T9,d.AppendToListOperationInputIds=lp,d.AppendToListOperationOutputIds=cp,d.ArgumentDeclarationState=Tr,d.BREAK_AND_CONTINUE_STATEMENTS_RETURN_DECLARATIONS_EXPLANATION=yd,d.BUILT_IN_BASE_ENTITY_IDS=Ve,d.BUILT_IN_ENTITY_TYPES=Sr,d.BaseCanvasDraggableState=Q6,d.BaseEntityNames=_,d.BaseState=X6,d.BaseValueDescriptorIds=$o,d.BreakStatementState=di,d.BuiltInBaseEntityState=Ut,d.CACHED_PROJECTS_BY_ID=Dr,d.CALLABLE_ENTITIES_EXPLANATION=C9,d.CALLABLE_TYPES=En,d.CALLER_ENTITIES_EXPLANATION=ig,d.CALLER_TYPES=en,d.CALLS_UPDATE_EXPLANATION=Vn,d.COMPARISON_CONDITIONS=am,d.CONDITIONS=gI,d.CUSTOM_ENTITY_OPERATIONS=Iy,d.CallableEntityClass=e9,d.CallerEntityClass=cd,d.ChildEntityState=K6,d.ComparisonOperatorTypes=Ae,d.ConditionState=pr,d.ContinueStatementState=yt,d.CreateNewInputIds=Kp,d.CreateNewOutputIds=ey,d.CustomEntityState=Pr,d.DRAGGABLE_CALLABLE_TYPES=Ro,d.DRAGGABLE_CALLER_TYPES=$d,d.DRAGGABLE_ELEMENT_TYPES=bo,d.DRAGGABLE_EXECUTABLE_TYPES=Xg,d.DRAGGABLE_PASS_THROUGH_CALLABLE_TYPES=Eo,d.DataTypeCompatibilityTypes=wt,d.DataTypeParentChildRelation=qe,d.DataTypeState=si,d.ENTITIES_WITH_VALLUES_EXPLANATION=ro,d.ENTITY_TYPES=Qg,d.ENTITY_WITH_LOGIC_SCOPE_TYPES=st,d.ENTITY_WITH_NAMES_TYPES=Vd,d.ENTITY_WITH_VALUE_TYPES=Nd,d.ENTRY_POINT_ENTITIES_EXPLANATION=da,d.ENTRY_POINT_TYPES=$e,d.EVENT_TYPES=Ar,d.EXECUTABLE_TYPES=Zg,d.EXECUTION_OPERATIONS=Qp,d.EntityError=Qn,d.EntityErrorSeverity=f,d.EntityGenerationError=E,d.EntityGenerationErrorCode=y,d.EntityInstanceErrorCode=O,d.EntityOperations=Ze,d.EntityType=r,d.EntityWithLogicScopeClass=i9,d.EntityWithValueClass=r9,d.EntryPointEntityClass=t9,d.ExecutionOperations=Ie,d.FunctionCallState=br,d.FunctionDeclarationState=cr,d.GLOBAL_EVENT_DECLARATIONS=II,d.GetLastInListOperationInputIds=Zu,d.GetLastInListOperationOutputIds=Xu,d.GlobalEventNames=Kt,d.GlobalEventState=oi,d.HTTPOperations=Ye,d.HTTP_OPERATIONS=rh,d.InputMapState=hn,d.InstalledProjectState=mr,d.InternalCallState=li,d.JoinListOperationInputIds=mu,d.JoinListOperationOutputIds=Tu,d.JoinStringOperationInputIds=nu,d.JoinStringOperationOutputIds=ru,d.LIST_OPERATIONS=gp,d.ListOperations=j,d.LoopState=ur,d.LoopTypes=je,d.NON_INTERACTIVE_BASE_ENTITIES_EXPLANATION=Ln,d.NUMBER_OPERATIONS=tu,d.NumberAdditionOperationInputIds=jd,d.NumberAdditionOperationOutputIds=kd,d.NumberOperations=at,d.OPERATION_DECLARATIONS=eI,d.OperationState=dr,d.OutputMapParentChildRelation=Md,d.OutputMapState=fn,d.PARENT_AUTO_CALCULATION_FROM_CALLER_EXPLANATION=io,d.PASS_THROUGH_CALLABLE_ENTITIES_EXPLANATION=$n,d.PASS_THROUGH_CALLABLE_TYPES=Ne,d.PROPERTY_NOT_VALUE_READER_WRITTER_EXPLANATION=md,d.ParallelExecutionOperation=jg,d.ParallelExecutionOperationInputIds=Ip,d.ParallelExecutionOperationOutputIds=Pp,d.PassThroughCallableEntityClass=n9,d.PersistedEntity=Jg,d.PersistedEntityMethods=gt,d.PrimitiveEntityState=Nt,d.PrimitiveTypes=g,d.PrimitiveValueState=ci,d.ProjectState=$,d.PropertyState=lr,d.RETURN_STATEMENT_RETURN_DECLARATIONS_EXPLANATION=B9,d.ReturnDeclarationState=Ot,d.ReturnStatementState=Er,d.STANDALONE_CONDITIONS=Kf,d.STRING_OPERATIONS=fu,d.ScopeCompatibilityType=mo,d.SearchState=fr,d.SequentialExecutionOperation=qg,d.SequentialExecutionOperationInputIds=xp,d.SequentialExecutionOperationOutputIds=jp,d.SharedEntityErrorCode=v,d.SharedStateFunctionality=tg,d.SplitListOperationInputIds=_u,d.SplitListOperationOutputIds=Mu,d.StandaloneOperatorTypes=Ct,d.StringOperations=ge,d.TERMINATION_TYPES=Oe,d.USER_MANAGED_ENTITY_TYPES=Kg,d.UserManagedEntityStateFunctionality=Z6,d.VALUE_READING_ENTITIES_EXPLANATION=fd,d.VALUE_READING_TYPES=Tn,d.VALUE_WRITING_ENTITIES_EXPLANATION=ag,d.VALUE_WRITING_TYPES=Se,d.VARIABLE_DATA_TYPE_INFERRANCE_EXPLANATION=hd,d.VARIABLE_TYPES=Fe,d.ValidationInputIds=cy,d.ValidationOutputIds=dy,d.ValueAutogenerationType=xe,d.ValueDescriptorParentChildRelation=C,d.ValueDescriptorState=Rr,d.ValueReadingEntityClass=la,d.ValueWritingEntityClass=ca,d.VariableDeclarationState=yr,d.VariableInputMapState=y9,d.VariableInstanceState=hr,d.VariableOutputMapState=m9,d.WaitOperation=kg,d.WaitOperationInputIds=Np,d.WaitOperationOutputIds=$p,d._VALUE_READING_TYPES=Yg,d._VALUE_WRITING_TYPES=zg,d.appendToListOperation=ba,d.appendToListOperationElementToAppendArgument=Bo,d.appendToListOperationElementToAppendArgumentParentRef=Tp,d.appendToListOperationElementToAppendArgumentRef=pp,d.appendToListOperationError=vp,d.appendToListOperationErrorParentRef=bp,d.appendToListOperationListArgument=Co,d.appendToListOperationListArgumentParentRef=mp,d.appendToListOperationListArgumentRef=dp,d.appendToListOperationListDataType=up,d.appendToListOperationResultListDataType=fp,d.appendToListOperationResultListReturn=Rp,d.appendToListOperationResultListReturnParentRef=Ep,d.appendToListOperationResultListReturnRef=hp,d.appendToListOperationSecondListDataType=yp,d.asGenerationActionExample=Qt,d.baseHttpRequestFunctionDeclaration=fi,d.baseHttpRequestFunctionDeclarationErrorValueDescriptor=Go,d.baseHttpRequestFunctionDeclarationErrorValueDescriptorDatatype=nh,d.baseHttpRequestFunctionDeclarationErrorValueDescriptorRef=th,d.baseHttpRequestFunctionDeclarationRef=Xy,d.baseHttpRequestFunctionDeclarationRefEight=Ky,d.baseHttpRequestFunctionDeclarationRefFive=zy,d.baseHttpRequestFunctionDeclarationRefFour=Yy,d.baseHttpRequestFunctionDeclarationRefNine=eh,d.baseHttpRequestFunctionDeclarationRefSeven=Qy,d.baseHttpRequestFunctionDeclarationRefSix=Zy,d.baseHttpRequestFunctionDeclarationRefThree=Hy,d.baseHttpRequestFunctionDeclarationRefTwo=Wy,d.booleanPrototype=Un,d.capitalizeFirstLetter=Hs,d.checkAreCustomEntitiesCompatibleAsDataType=Fv,d.checkAreDataTypesCompatible=Ys,d.checkArePropertiesCompatibleAsDataType=Gv,d.checkIsBranchDependentButNotDirectlyOnBranch=pa,d.checkIsBranchDependentOnBranch=F9,d.checkIsCallableEntityReachable=_d,d.checkIsCanvasEntity=e3,d.checkIsDetachedBranch=$g,d.checkIsDetachedBranchShallow=Bd,d.checkIsGlobalVariable=K9,d.checkIsGloballyDeclared=Cd,d.checkIsMethod=Gg,d.checkIsNestedScope=fo,d.checkScopeCompatibility=ya,d.createEntityError=k,d.createNewInstanceOperation=Cr,d.createNewInstanceOperationEntityToInstanciateArgument=iy,d.createNewInstanceOperationEntityToInstanciateArgumentRef=ty,d.createNewInstanceOperationEntityToInstanciateDataType=ny,d.createNewInstanceOperationError=ly,d.createNewInstanceOperationErrorParentRef=oy,d.createNewInstanceOperationOutputEntityDeclaration=sy,d.createNewInstanceOperationOutputEntityDeclarationParentRef=ay,d.createNewInstanceOperationRef=ry,d.createSemanticId=Xt,d.createStateFromGenerationTargetType=a3,d.createStateFromType=fa,d.createStateFromTypeAndSubscribe=R,d.cronJobBuiltInBaseEntity=Jo,d.cronJobBuiltInBaseEntityExpressionProperty=zf,d.cronJobBuiltInBaseEntityExpressionPropertyDataTypeRef=RI,d.cronJobBuiltInBaseEntityExpressionPropertyRef=Hf,d.cronJobBuiltInBaseEntityRef=Yf,d.cronJobTriggeredFunctionDeclarationBlueprint=qo,d.cronJobTriggeredFunctionDeclarationBlueprintParentRef=Jf,d.customEntityToZodSchema=Im,d.dataTypeCompatibilityToErrorExplanation=yg,d.datePrototype=Or,d.dateValueAutogenerationSchema=Zl,d.deletePersistedEntityMethod=ko,d.deletePersistedEntityMethodParentRef=If,d.deleteRootProject=f3,d.endpointBuiltInBaseEntity=Oa,d.endpointBuiltInBaseEntityRef=Ph,d.endpointBuiltInBaseEntityRefFour=yf,d.endpointBuiltInBaseEntityRefThree=Mh,d.endpointBuiltInBaseEntityRefTwo=Ch,d.endpointBuiltInCorsProperty=Dh,d.endpointBuiltInCorsPropertyDataType=Ih,d.endpointBuiltInCorsPropertyDataTypeRef=vh,d.endpointBuiltInCorsPropertyRef=gh,d.endpointBuiltInMethodProperty=xo,d.endpointBuiltInMethodPropertyDataType=_h,d.endpointBuiltInMethodPropertyDataTypeRef=Bh,d.endpointBuiltInMethodPropertyRef=wh,d.endpointBuiltInPathProperty=Uo,d.endpointBuiltInPathPropertyDataType=Oh,d.endpointBuiltInPathPropertyDataTypeRef=Ah,d.endpointBuiltInPathPropertyRef=Sh,d.endpointPathParamsArgumentDeclaration=Yh,d.endpointPathParamsArgumentDeclarationRef=kh,d.endpointPathParamsVariableDataType=qh,d.endpointPathParamsVariableDataTypeRef=jh,d.endpointReachedTriggerActionDescriptor=jo,d.endpointReachedTriggerActionDescriptorRef=Jh,d.endpointReachedTriggerActionDescriptorRefFour=Xh,d.endpointReachedTriggerActionDescriptorRefThree=zh,d.endpointReachedTriggerActionDescriptorRefTwo=Hh,d.endpointRequestBodyArgumentDeclaration=Qh,d.endpointRequestBodyArgumentDeclarationRef=Lh,d.endpointRequestBodyVariableDataType=Gh,d.endpointRequestHeadersArgumentDeclaration=Wh,d.endpointRequestHeadersArgumentDeclarationRef=$h,d.endpointRequestHeadersVariableDataType=Vh,d.endpointRequestHeadersVariableDataTypeRef=Nh,d.endpointRequestQueryParamsArgumentDeclaration=Zh,d.endpointRequestQueryParamsArgumentDeclarationRef=Uh,d.endpointRequestQueryParamsVariableDataType=xh,d.endpointRequestQueryParamsVariableDataTypeRef=Fh,d.endpointResponseBodyDataType=df,d.endpointResponseBodyReturnDeclaration=pf,d.endpointResponseBodyReturnDeclarationRef=cf,d.endpointResponseCodeDataType=ef,d.endpointResponseCodeReturnDeclaration=nf,d.endpointResponseCodeReturnDeclarationRef=Kh,d.endpointResponseHeadersDataType=sf,d.endpointResponseHeadersDataTypeRef=rf,d.endpointResponseHeadersReturnDeclaration=lf,d.endpointResponseHeadersReturnDeclarationRef=af,d.endpointReturnStatementRef=tf,d.endpointReturnStatementRefThree=uf,d.endpointReturnStatementRefTwo=of,d.enumOptionsProperty=xd,d.enumOptionsPropertyDataType=Fd,d.enumOptionsPropertyDataTypeRef=Ld,d.enumOptionsPropertyRef=Gd,d.enumPrototype=Rn,d.enumPrototypeRef=Ud,d.executionBuiltInEntity=Ho,d.executionBuiltInEntityAbortMethod=Wo,d.executionBuiltInEntityAbortMethodParentRef=Zf,d.filterOutDuplicateEntities=S,d.filterOutDuplicateErrors=ZF,d.findReferenceToSelfInList=Sg,d.findReferencesToSelfInProject=H9,d.flattenCalls=vr,d.flattenCanvasAncestorsUntil=co,d.flattenCustomEntityExtensionAndImplementationTypes=_g,d.flattenCustomEntityExtensionTypes=yo,d.flattenCustomEntityExtensions=Ad,d.flattenCustomEntityImplementations=Sd,d.flattenCustomEntityImplementionTypes=po,d.flattenDerivedCanvasEntities=vt,d.flattenDetachedBranch=Lg,d.flattenElementCalls=Me,d.flattenProjectElements=Ag,d.flattenRelatedCanvasElementsOnTheLeft=wg,d.flattenRelatedCanvasElementsOnTheRight=Bg,d.flattenVariableReads=Dg,d.flattenVariableWrites=Pg,d.flattenVariables=Z,d.fromZodParseToEntityGenerationErrors=dd,d.generate=RD,d.generateActionExample=w9,d.generateExecutionDataType=Uv,d.generateMutablePropertiesExplanation=eo,d.generateRandomBoolean=zm,d.generateRandomDate=Sm,d.generateRandomDateAfter=Pm,d.generateRandomDateBefore=Dm,d.generateRandomDateBetweenRange=Am,d.generateRandomNumber=qm,d.generateRandomNumberAfter=xm,d.generateRandomNumberBefore=jm,d.generateRandomNumberBetweenRange=km,d.generateRandomText=Ym,d.generateRandomTextAfter=Jm,d.generateRandomTextBefore=Wm,d.generateRandomTextBetweenRange=Hm,d.generateUniqueUUID=Um,d.getAllActionDescriptorsForConditions=oo,d.getAllActionDescriptorsForGlobalEvents=ao,d.getAllActionDescriptorsForLoops=so,d.getAllActionDescriptorsForOperations=$9,d.getAllGloballyDeclaredFunctionDeclarationsExplanation=dg,d.getBaseBuiltInEntities=Fn,d.getBaseSchemaBasedOnType=ng,d.getBuiltInEntityOwner=Ir,d.getCallableEntityReferenceSchema=ke,d.getCallableEntityTypeSchema=Db,d.getCallerEntityReferenceSchema=tx,d.getCallerEntityTypeSchema=ex,d.getCalls=vd,d.getCanvasEntitiesDerivedFromInternalCalls=Cg,d.getCanvasEntitiesDerivedFromWrites=ui,d.getCanvasEntityDerivedFromValueReadingEntity=Dd,d.getCanvasEntityReferenceSchema=Ex,d.getCanvasEntityTypeSchema=Tx,d.getChildrenEntityWithValues=x9,d.getCommonAncestor=bd,d.getCommonChildren=mg,d.getDeclaration=Kc,d.getDeepestScope=xg,d.getDraggableCallableEntityReferenceSchema=Sb,d.getDraggableCallableEntityTypeSchema=Ab,d.getDraggableCallerEntityReferenceSchema=rx,d.getDraggableCallerEntityTypeSchema=nx,d.getDraggableExecutableEntityReferenceSchema=ox,d.getDraggableExecutableEntityTypeSchema=sx,d.getDraggablePassThroughCallableEntityReferenceSchema=Fs,d.getDraggablePassThroughCallableEntityTypeSchema=Gs,d.getDraggablePlayableEntityReferenceSchema=px,d.getDraggablePlayableEntityTypeSchema=ux,d.getEntityArgumentDeclarations=Id,d.getEntityInputMaps=Og,d.getEntityOutputMaps=Z9,d.getEntityReferenceSchema=mx,d.getEntityReturnDeclarations=Pd,d.getEntityTypeSchema=fx,d.getEntityWithLogicScopeReferenceSchema=un,d.getEntityWithLogicScopeTypeSchema=lx,d.getEntityWithValueReferenceSchema=Pb,d.getEntityWithValueTypeSchema=KU,d.getEntryPointEntityReferenceSchema=Ue,d.getEntryPointEntityTypeSchema=_n,d.getEventEntityReferenceSchema=Vs,d.getEventEntityTypeSchema=$s,d.getExecutableEntityReferenceSchema=ax,d.getExecutableEntityTypeSchema=ix,d.getExtendedBuiltInEntity=X9,d.getExtendedCustomEntity=Ng,d.getGenerationTargetSchemaBasedOnType=rg,d.getHeadIfPartOfDetachedBranch=Vg,d.getHighestScope=Ug,d.getImplementedBuiltInEntity=Q9,d.getIsInteractive=Od,d.getLastInListOperation=Oo,d.getLastInListOperationError=op,d.getLastInListOperationErrorParentRef=sp,d.getLastInListOperationInputListArgument=rp,d.getLastInListOperationInputListArgumentParentRef=np,d.getLastInListOperationInputListArgumentRef=Qu,d.getLastInListOperationInputListDataType=Ku,d.getLastInListOperationOutputElementDataType=tp,d.getLastInListOperationOutputElementReturn=ap,d.getLastInListOperationOutputElementReturnParentRef=ip,d.getLastInListOperationOutputElementReturnRef=ep,d.getLinkedEntitiesFromArgumentDeclaration=W9,d.getLowestPersistedEntityImplementation=Mg,d.getParentCanvasEntities=_t,d.getParentCanvasEntity=He,d.getParentEntryPoint=U9,d.getPassThroughCallableEntityReferenceSchema=ye,d.getPassThroughCallableEntityTypeSchema=Ls,d.getPlayableEntityReferenceSchema=dx,d.getPlayableEntityTypeSchema=cx,d.getProject=h3,d.getPrototypeByType=ho,d.getReferenceEntityId=D,d.getReferencedEntitiesStateOrErrors=no,d.getReferencedEntityStateOrErrors=ud,d.getRelatedCanvasElementsOnTheLeft=gr,d.getRelatedCanvasElementsOnTheRight=Gn,d.getRootEntryPointScopeOwner=wd,d.getScopeOwner=ht,d.getTerminationReferenceSchema=hx,d.getTerminationTypeSchema=yx,d.getUsedArgFromDeclaration=Y9,d.getUsedReturnFromDeclaration=z9,d.getValueReadingEntityReferenceSchema=Ib,d.getValueReadingEntityTypeSchema=dn,d.getValueWritingEntityReferenceSchema=QU,d.getValueWritingEntityTypeSchema=Qi,d.getVariableFromInputMapping=Eg,d.getVariableFromReturnVariablePointer=vg,d.getVariableReferenceSchema=wn,d.getVariableTypeSchema=tr,d.getVariablesFromArgumentDeclarations=uo,d.getVariablesFromInputMaps=Rg,d.getVariablesFromOutputMapping=gg,d.getVariablesFromOutputMaps=Ig,d.getVariablesFromReturnDeclarations=bg,d.getVariablesInSameOrHigherScope=ed,d.getWrites=gd,d.groupCallsBasedOnParallelizableExecution=k9,d.handleAfterEntityImplementationSideEffects=fg,d.handleBeforeEntityImplementationSideEffects=hg,d.httpRequestBodyArgument=Pa,d.httpRequestBodyArgumentRef=Vy,d.httpRequestBodyDataType=Ly,d.httpRequestHeadersArgument=Ia,d.httpRequestHeadersArgumentRef=Ny,d.httpRequestHeadersDataType=$y,d.httpRequestMethodArgument=va,d.httpRequestMethodArgumentRef=_y,d.httpRequestMethodDataType=My,d.httpRequestMethodDataTypeRef=By,d.httpRequestQueryParamsArgument=Vo,d.httpRequestQueryParamsArgumentRef=Oy,d.httpRequestQueryParamsDataType=Cy,d.httpRequestVariableURLArgument=ga,d.httpRequestVariableURLArgumentRef=Ay,d.httpRequestVariableURLDataType=Sy,d.httpRequestVariableURLDataTypeRef=Py,d.httpResponseBodyReturnDataType=Jy,d.httpResponseBodyReturnDataTypeRef=ky,d.httpResponseBodyReturnReturn=hi,d.httpResponseBodyReturnReturnRef=qy,d.httpResponseCodeDataType=Fy,d.httpResponseCodeReturn=Lo,d.httpResponseCodeReturnRef=Gy,d.httpResponseHeadersDataType=jy,d.httpResponseHeadersDataTypeRef=Uy,d.httpResponseHeadersReturn=Da,d.httpResponseHeadersReturnRef=xy,d.implement=lo,d.inferArgumentDeclarationDataType=xv,d.inferDataType=zs,d.inferInputMapDataType=jv,d.inferOutputMapDataType=Jv,d.inferVariableDeclarationDataType=qv,d.inferVariableInstanceDataType=kv,d.initProject=Wg,d.iterateOverListActionDescriptor=kn,d.iterateOverListActionDescriptorListArgumentDeclaration=dh,d.iterateOverListActionDescriptorListArgumentDeclarationDataType=lh,d.iterateOverListActionDescriptorListArgumentDeclarationDataTypeParentRef=oh,d.iterateOverListActionDescriptorListArgumentDeclarationParentRef=ch,d.iterateOverListActionDescriptorReturnDeclaration=sh,d.iterateOverListActionDescriptorReturnDeclarationParentRef=ah,d.joinListOperation=Do,d.joinListOperationError=wu,d.joinListOperationErrorParentRef=Bu,d.joinListOperationFirstListArgument=Du,d.joinListOperationFirstListArgumentParentRef=Pu,d.joinListOperationFirstListArgumentRef=Eu,d.joinListOperationFirstListDataType=Ru,d.joinListOperationResultListDataType=Iu,d.joinListOperationResultListReturn=Cu,d.joinListOperationResultListReturnParentRef=Ou,d.joinListOperationResultListReturnRef=gu,d.joinListOperationSecondListArgument=Su,d.joinListOperationSecondListArgumentParentRef=Au,d.joinListOperationSecondListArgumentRef=bu,d.joinListOperationSecondListDataType=vu,d.joinListWithLastSeparator=N,d.joinStringOperation=yi,d.joinStringOperationError=hu,d.joinStringOperationErrorParentRef=yu,d.joinStringOperationFirstStringArgument=Ea,d.joinStringOperationFirstStringArgumentParentRef=du,d.joinStringOperationFirstStringArgumentRef=iu,d.joinStringOperationFirstStringDataType=au,d.joinStringOperationResultStringDataType=cu,d.joinStringOperationResultStringReturn=pi,d.joinStringOperationResultStringReturnParentRef=pu,d.joinStringOperationResultStringReturnRef=lu,d.joinStringOperationSecondStringArgument=Ra,d.joinStringOperationSecondStringArgumentParentRef=uu,d.joinStringOperationSecondStringArgumentRef=su,d.joinStringOperationSecondStringDataType=ou,d.jsonPrototype=vo,d.keyValueParamBuiltInBaseEntity=Sa,d.keyValueParamBuiltInBaseEntityNameProperty=Th,d.keyValueParamBuiltInBaseEntityNamePropertyDataTypeRef=nI,d.keyValueParamBuiltInBaseEntityNamePropertyParentRef=mh,d.keyValueParamBuiltInBaseEntityNamePropertyRef=fh,d.keyValueParamBuiltInBaseEntityValueProperty=bh,d.keyValueParamBuiltInBaseEntityValuePropertyDataTypeRef=iI,d.keyValueParamBuiltInBaseEntityValuePropertyParentRef=Rh,d.keyValueParamBuiltInBaseEntityValuePropertyRef=Eh,d.lowercaseFirstLetter=Lv,d.manualFlowActionDescriptor=Fo,d.manualFlowActionDescriptorDeclarationReturnDeclaration=hh,d.manualFlowActionDescriptorDeclarationReturnDeclarationDataType=ph,d.manualFlowActionDescriptorDeclarationReturnDeclarationDataTypeParentRef=uh,d.manualFlowActionDescriptorDeclarationReturnDeclarationParentRef=yh,d.mapActionDescriptorToTypeItRepresents=t3,d.mergeEntityErrorsList=XF,d.mergeListOfEntities=Fg,d.methodDefaultValue=wy,d.mockClientProject=eb,d.moreThanOrEqualCondition=wr,d.moreThanOrEqualConditionLeftHandArgument=nm,d.moreThanOrEqualConditionLeftHandArgumentParentRef=tm,d.moreThanOrEqualConditionRightHandArgument=im,d.moreThanOrEqualConditionRightHandArgumentParentRef=rm,d.notEmptyCondition=qn,d.notEmptyConditionArgument=Qf,d.notEmptyConditionRef=Xf,d.numberAdditionOperation=Ta,d.numberAdditionOperationError=eu,d.numberAdditionOperationErrorParentRef=Kd,d.numberAdditionOperationFirstNumberArgument=go,d.numberAdditionOperationFirstNumberArgumentRef=qd,d.numberAdditionOperationFirstNumberDataType=Jd,d.numberAdditionOperationRef=Zd,d.numberAdditionOperationRefThree=Qd,d.numberAdditionOperationRefTwo=Xd,d.numberAdditionOperationResultNumberDataType=zd,d.numberAdditionOperationResultNumberReturn=Po,d.numberAdditionOperationResultNumberReturnRef=Yd,d.numberAdditionOperationSecondNumberArgument=Io,d.numberAdditionOperationSecondNumberArgumentRef=Wd,d.numberAdditionOperationSecondNumberDataType=Hd,d.numberPrototype=Ce,d.numberValueAutogenerationSchema=zl,d.parallelExecutionOperation=$t,d.parallelExecutionOperationError=Mp,d.parallelExecutionOperationErrorParentRef=_p,d.parallelExecutionOperationListOfExecutionResultsDataType=Cp,d.parallelExecutionOperationListOfExecutionResultsReturn=_o,d.parallelExecutionOperationListOfExecutionResultsReturnRef=Op,d.parallelExecutionOperationListOfFunctionsArgument=wo,d.parallelExecutionOperationListOfFunctionsArgumentDatatype=Sp,d.parallelExecutionOperationListOfFunctionsArgumentRef=Ap,d.parallelExecutionOperationListOfFunctionsBlueprint=Dp,d.parallelExecutionOperationRef=Bp,d.parallelExecutionOperationRefThree=wp,d.persistedBuiltInBaseEntity=Be,d.persistedBuiltInBaseEntityCreatedAtProperty=Uf,d.persistedBuiltInBaseEntityCreatedAtPropertyDataType=Gf,d.persistedBuiltInBaseEntityCreatedAtPropertyDataTypeRef=TI,d.persistedBuiltInBaseEntityCreatedAtPropertyParentRef=Ff,d.persistedBuiltInBaseEntityCreatedAtPropertyRef=Lf,d.persistedBuiltInBaseEntityDatabaseProperty=Ti,d.persistedBuiltInBaseEntityDatabasePropertyDataTypeRef=yI,d.persistedBuiltInBaseEntityDatabasePropertyParentRef=Of,d.persistedBuiltInBaseEntityDatabasePropertyRef=Sf,d.persistedBuiltInBaseEntityDeletedAtProperty=Vf,d.persistedBuiltInBaseEntityDeletedAtPropertyDataType=Nf,d.persistedBuiltInBaseEntityDeletedAtPropertyDataTypeRef=mI,d.persistedBuiltInBaseEntityDeletedAtPropertyParentRef=$f,d.persistedBuiltInBaseEntityDeletedAtPropertyRef=Mf,d.persistedBuiltInBaseEntityIdentifierProperty=_f,d.persistedBuiltInBaseEntityIdentifierPropertyDataTypeRef=Cf,d.persistedBuiltInBaseEntityIdentifierPropertyParentRef=wf,d.persistedBuiltInBaseEntityIdentifierPropertyRef=Bf,d.persistedBuiltInBaseEntityUpdatedAtProperty=qf,d.persistedBuiltInBaseEntityUpdatedAtPropertyDataType=jf,d.persistedBuiltInBaseEntityUpdatedAtPropertyDataTypeRef=EI,d.persistedBuiltInBaseEntityUpdatedAtPropertyParentRef=kf,d.persistedBuiltInBaseEntityUpdatedAtPropertyRef=xf,d.processOutputGlobalValueDescriptorDataType=om,d.processOutputGlobalValueDescriptorReturn=zo,d.processOutputGlobalValueDescriptorReturnRef=sm,d.projectPublicationCompletedGlobalEvent=Ma,d.propertyToZodSchema=gm,d.relationalDatabaseBuiltInBaseEntity=bn,d.relationalDatabaseBuiltInBaseEntityDefaultProperty=gf,d.relationalDatabaseBuiltInBaseEntityDefaultPropertyDataTypeRef=bf,d.relationalDatabaseBuiltInBaseEntityDefaultPropertyRef=vf,d.relationalDatabaseBuiltInBaseEntityIdentifierProperty=Ca,d.relationalDatabaseBuiltInBaseEntityIdentifierPropertyDataTypeRef=hf,d.relationalDatabaseBuiltInBaseEntityIdentifierPropertyRef=ff,d.relationalDatabaseBuiltInBaseEntityMinSizeProperty=_a,d.relationalDatabaseBuiltInBaseEntityMinSizePropertyDataTypeRef=Ef,d.relationalDatabaseBuiltInBaseEntityMinSizePropertyRef=Rf,d.relationalDatabaseBuiltInBaseEntityPasswordProperty=wa,d.relationalDatabaseBuiltInBaseEntityPasswordPropertyDataTypeRef=cI,d.relationalDatabaseBuiltInBaseEntityPasswordPropertyRef=Tf,d.relationalDatabaseBuiltInBaseEntityRef=Br,d.relationalDatabaseBuiltInBaseEntityUsernameProperty=Ba,d.relationalDatabaseBuiltInBaseEntityUsernamePropertyDataTypeRef=oI,d.relationalDatabaseBuiltInBaseEntityUsernamePropertyRef=mf,d.resolveActionDescriptorName=eg,d.resolveBaseEntityName=Xv,d.resolveBuiltInBaseEntityDataTypeLabel=td,d.resolveConditionOperatorLabel=Qs,d.resolveCustomEntityDataTypeLabel=nd,d.resolveDataType=Zs,d.resolveDataTypeLabel=Yv,d.resolveEntityDataTypeLabel=Zv,d.resolveEntityName=A,d.resolveFirstCallsSecond=q9,d.resolveFirstWritesSecond=J9,d.resolvePrimitiveEntityName=Kv,d.resolvePropertyDataTypeLabel=zv,d.resolveSearchName=Qv,d.resolveVariableDataTypeLabel=$6,d.resolveVariableDeclarationDataTypeLabel=or,d.resolveVariableInstanceDataTypeLabel=Hv,d.resolveVariableScope=_6,d.sequentialExecutionOperation=tn,d.sequentialExecutionOperationError=Xp,d.sequentialExecutionOperationErrorParentRef=Zp,d.sequentialExecutionOperationListOfExecutionResultsDataType=Hp,d.sequentialExecutionOperationListOfExecutionResultsReturn=No,d.sequentialExecutionOperationListOfExecutionResultsReturnParentRef=zp,d.sequentialExecutionOperationListOfExecutionResultsReturnRef=Wp,d.sequentialExecutionOperationListOfFunctionsArgument=Mo,d.sequentialExecutionOperationListOfFunctionsArgumentDatatype=Jp,d.sequentialExecutionOperationListOfFunctionsArgumentParentRef=Yp,d.sequentialExecutionOperationListOfFunctionsArgumentRef=qp,d.sequentialExecutionOperationListOfFunctionsBlueprint=kp,d.softDeletePersistedEntityMethod=Df,d.softDeletePersistedEntityMethodParentRef=Pf,d.sortCallsBasedOnExecutionDependencies=Tg,d.sortChildrenEntitiesBasedOnExecutionDependencies=j9,d.splitListOperation=So,d.splitListOperationError=zu,d.splitListOperationErrorParentRef=Yu,d.splitListOperationFirstOutputListDataType=Gu,d.splitListOperationFirstOutputListReturn=qu,d.splitListOperationFirstOutputListReturnParentRef=ku,d.splitListOperationFirstOutputListReturnRef=Ao,d.splitListOperationInputListArgument=Uu,d.splitListOperationInputListArgumentParentRef=Fu,d.splitListOperationInputListArgumentRef=Nu,d.splitListOperationInputListDataType=$u,d.splitListOperationSecondOutputListDataType=Ju,d.splitListOperationSecondOutputListReturn=Hu,d.splitListOperationSecondOutputListReturnParentRef=Wu,d.splitListOperationSplitIndexArgument=ju,d.splitListOperationSplitIndexArgumentParentRef=xu,d.splitListOperationSplitIndexArgumentRef=Vu,d.splitListOperationSplitIndexDataType=Lu,d.stringPrototype=F,d.stringValueAutogenerationSchema=Yl,d.suggestNewIdForEntity=ld,d.test_primitive_entities_export=m3,d.toCamelCase=M6,d.toEntityState=Mt,d.toKebabCase=Wv,d.toLowerCaseKebabCase=Xs,d.toPascalCase=N6,d.untypedObjectPrototype=Xe,d.updateErrorsList=X,d.updateValueReader=ha,d.urlDefaultValue=Dy,d.uuidPrototype=ma,d.validateArgumentDeclarationName=sd,d.validateCalledByErrorIdInAction=M9,d.validateCalledByIdInAction=_9,d.validateCallers=cg,d.validateConditionEntityDeclaration=V9,d.validateCustomEntityName=Ks,d.validateDataOperation=jn,d.validateDataOperationDataToValidateArgument=hy,d.validateDataOperationDataToValidateArgumentParentRef=yy,d.validateDataOperationDataToValidateArgumentRef=uy,d.validateDataOperationDataToValidateDataType=py,d.validateDataOperationEntityToMatchTypeArgument=Ey,d.validateDataOperationEntityToMatchTypeArgumentParentRef=Ty,d.validateDataOperationEntityToMatchTypeArgumentRef=fy,d.validateDataOperationEntityToMatchTypeDataType=my,d.validateDataOperationError=gy,d.validateDataOperationErrorParentRef=vy,d.validateDataOperationOutputEntityDeclaration=by,d.validateDataOperationOutputEntityDeclarationParentRef=Ry,d.validateEntryCaller=lg,d.validateErrorCaller=og,d.validateFunctionCallDeclaration=ug,d.validateFunctionDeclarationName=rd,d.validateGeneratedEntityParentIsNotBuiltInEntity=O9,d.validateGeneration=A9,d.validateGenerationTarget=Pe,d.validateGenerationUpdate=S9,d.validateLoopEntityDeclaration=L9,d.validateName=V6,d.validateOperationEntityDeclaration=pg,d.validatePropertyName=ad,d.validateReachability=mn,d.validateReadsValueInActionPayload=N9,d.validateReferenceObject=to,d.validateReferenceToOne=pd,d.validateReferences=Ge,d.validateReturnDeclarationName=od,d.validateSuccessCaller=sg,d.validateValueReaderGenerationUpdate=ua,d.validateValueWritter=Ed,d.validateVariableDeclarationName=id,d.validateVariableInternalCallUse=Rd,d.valueAutogenerationCurrentDateAndTimeSchema=nb,d.valueAutogenerationGenericSchema=bs,d.valueAutogenerationOptions=Xl,d.valueAutogenerationOptionsSchema=tb,d.valueAutogenerationRandomBooleanSchema=Hl,d.valueAutogenerationRandomDateBetweenSchema=ub,d.valueAutogenerationRandomDateFromSchema=cb,d.valueAutogenerationRandomDateSchema=Is,d.valueAutogenerationRandomDateUntilSchema=db,d.valueAutogenerationRandomNumberBetweenSchema=ab,d.valueAutogenerationRandomNumberFromSchema=rb,d.valueAutogenerationRandomNumberSchema=vs,d.valueAutogenerationRandomNumberUntilSchema=ib,d.valueAutogenerationRandomSchema=Hi,d.valueAutogenerationRandomTextBetweenSchema=lb,d.valueAutogenerationRandomTextFromSchema=sb,d.valueAutogenerationRandomTextSchema=gs,d.valueAutogenerationRandomTextUntilSchema=ob,d.valueAutogenerationRangeValueTypesSchema=Wi,d.valueAutogenerationUniqueSchema=Wl,d.waitOperation=ot,d.waitOperationMillisecondsNumberArgument=xn,d.waitOperationMillisecondsNumberArgumentRef=Vp,d.waitOperationMillisecondsNumberDataType=Lp,d.waitOperationOperationError=Up,d.waitOperationOperationErrorParentRef=Fp,d.waitOperationRef=Gp,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});
375
+ Alternatively you can update the parent data-type entity with 'update' action to remove the existing value of the field.`,issue:null}))}return{errors:a,modifiedData:i}}get extendedProperties(){return S(this.extends.reduce((e,t)=>[...[...t.properties,...t.extendedProperties].filter(a=>!a.abstract),...e],[]))}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${y.InvalidParentUpdate}`,code:y.InvalidParentUpdate,severity:f.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on an '${this.type}', must be the root project as it is a globally declared entity.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){if(this.parent.type===r.DataType){const e=this.parent;e.entity=this}else this.project.addCustomEntity(this);return this}setParent(e){return this.parent=e,this}removeProperty(e){return this.properties=this.properties.filter(t=>t.id!==e.id),this}addMethod(e){return this.methods.includes(e)||(this.methods.push(e),this.suggestedMethods=this.suggestedMethods.filter(t=>t.name!==e.name)),this}removeMethod(e){return this.methods=this.methods.filter(t=>t.id!==e.id),this}addProperty(e){return this.properties.includes(e)||(this.properties.push(e),this.suggestedProperties=this.suggestedProperties.filter(t=>t.name!==e.name)),this}addSuggestedProperty(e){return this.suggestedProperties.includes(e)||this.suggestedProperties.push(e),this}addSuggestedMethod(e){return this.suggestedMethods.includes(e)||this.suggestedMethods.push(e),this}removeSuggestedProperty(e){return this.suggestedProperties=this.suggestedProperties.filter(t=>t.id!==e.id),this}removeSuggestedMethod(e){return this.suggestedMethods=this.suggestedMethods.filter(t=>t.id!==e.id),this}addAbstractMethod(e){return this.abstractMethods.includes(e)||this.abstractMethods.push(e),this}removeAbstractMethod(e){return this.abstractMethods=this.abstractMethods.filter(t=>t.id!==e.id),this}initChildren(){return this.initialized?this:(this.initialized=!0,this.properties=this.initialData.properties.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.methods=this.initialData.methods.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.abstractMethods=this.initialData.abstractMethods.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.extends=this.initialData.extends.map(e=>R(e,this.project)),this.implements=this.initialData.implements.map(e=>R(e,this.project)),this.addSuggestions(),this)}addSuggestions(){return this.implements.forEach(e=>{Ux(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)}),xx(this,e).forEach(a=>{const s=`_suggestion--parent--${this.id}--${a.id}`,o=a.implementAsFunctionDeclaration(s),u=R(o,this.project);if(u.suggestion=!0,u.setParent(this),u.initChildren(),u.inputs.forEach(p=>{p.suggestion=!0}),u.returnStatements.length){const p=u.returnStatements[0];p.suggestion=!0,p.outputs.forEach(h=>{h.suggestion=!0})}this.addSuggestedMethod(u)})}),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.x=e.x||this.x,this.y=e.y||this.y,this.static=e.static||this.static,this.abstract=e.abstract||this.abstract,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.properties.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.methods.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.abstractMethods.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.suggestedProperties.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),this.suggestedMethods.forEach(s=>{const{affected:o,removed:u}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...u)}),{affected:S(i),removed:S(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.properties.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.methods.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.abstractMethods.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.suggestedProperties.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.suggestedMethods.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),{affected:S(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.extends.flatMap(i=>i.toFlat(e)),...this.implements.flatMap(i=>i.toFlat(e)),...this.properties.flatMap(i=>i.toFlat(e)),...this.methods.flatMap(i=>i.toFlat(e)),...this.abstractMethods.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.extends.flatMap(i=>i.toFlatIds(e)),...this.implements.flatMap(i=>i.toFlatIds(e)),...this.properties.flatMap(i=>i.toFlatIds(e)),...this.methods.flatMap(i=>i.toFlatIds(e)),...this.abstractMethods.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,x:this.x,y:this.y,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),implements:this.implements.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,x:this.x,y:this.y,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),implements:this.implements.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(i=>i.toFlatJSON(e)),...this.methods.flatMap(i=>i.toFlatJSON(e)),...this.abstractMethods.flatMap(i=>i.toFlatJSON(e)),...this.implements.flatMap(i=>i.toFlatJSON(e)),...this.extends.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===r.Project?void 0:this.parent.id;return{id:this.id,name:this.name,description:this.description,type:this.type,static:this.static,abstract:this.abstract,extends:this.extends.map(t=>t.id),implements:this.implements.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(i=>i.toFlatGenerationTarget(e)),...this.methods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.implements.filter(i=>i.type===r.CustomEntity).flatMap(i=>i.toFlatGenerationTarget(e)),...this.implements.filter(i=>i.type===r.CustomEntity).flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){return this.errors=Fx(this),{success:!0,error:null,data:null}}getErrors(){return[...this.errors,...this.properties.flatMap(t=>t.getErrors()),...this.methods.flatMap(t=>t.getErrors()),...this.abstractMethods.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new pe(this.toJSON(),this.project)}getFunctionDeclaration(e){return this.methods.find(t=>t.id===e)}implement(e,t){return oo(this,e,t)}};l(pe,"MUTABLE_BASE_PROPERTIES",["name","description","static","abstract"]),l(pe,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),l(pe,"BASE_PROPERTIES",[...pe.MUTABLE_BASE_PROPERTIES,...pe.INMUTABLE_BASE_PROPERTIES]),l(pe,"MUTABLE_META_PROPERTIES",[...pe.MUTABLE_BASE_PROPERTIES,"x","y"]),l(pe,"INMUTABLE_META_PROPERTIES",[...pe.INMUTABLE_BASE_PROPERTIES]),l(pe,"META_PROPERTIES",[...pe.MUTABLE_META_PROPERTIES,...pe.INMUTABLE_META_PROPERTIES]),l(pe,"MUTABLE_UPSTREAM_PROPERTIES",["extends","implements"]),l(pe,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),l(pe,"UPSTREAM_PROPERTIES",[...pe.MUTABLE_UPSTREAM_PROPERTIES,...pe.INMUTABLE_UPSTREAM_PROPERTIES]),l(pe,"MUTABLE_DOWNSTREAM_PROPERTIES",["properties","methods","abstractMethods"]),l(pe,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(pe,"DOWNSTREAM_PROPERTIES",[...pe.MUTABLE_DOWNSTREAM_PROPERTIES,...pe.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(pe,"PROPERTIES",[...pe.META_PROPERTIES,...pe.UPSTREAM_PROPERTIES,...pe.DOWNSTREAM_PROPERTIES]);let Ir=pe;function a3(n){const e=o4(),t=n.toJSON();e.safeParse(t).success;const a=[];return X(n.errors,a)}class Nt{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"type",r.PrimitiveEntity);l(this,"static");l(this,"abstract");l(this,"properties",[]);l(this,"methods",[]);l(this,"abstractMethods",[]);l(this,"extends",[]);l(this,"errors",[]);l(this,"project");this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.static=e.static,this.abstract=e.abstract,this.properties=this.initialData.properties.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(i=>{const a=R(i,this.project);return a.parent=this,a}),this.abstractMethods=this.initialData.abstractMethods.map(i=>{const a=R(i,this.project);return a.parent=this,a})}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}async load(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.properties.flatMap(i=>i.toFlat(e)),...this.methods.flatMap(i=>i.toFlat(e)),...this.abstractMethods.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.properties.flatMap(i=>i.toFlatIds(e)),...this.methods.flatMap(i=>i.toFlatIds(e)),...this.abstractMethods.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(i=>i.toFlatJSON(e)),...this.methods.flatMap(i=>i.toFlatJSON(e)),...this.abstractMethods.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,extends:this.extends.map(e=>e.id)}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(i=>i.toFlatGenerationTarget(e)),...this.methods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){const e=a3(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.properties.flatMap(t=>t.getErrors()),...this.methods.flatMap(t=>t.getErrors()),...this.abstractMethods.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new Nt(this.toJSON(),this.project)}}function s3(n){const e=m4(),t=n.toJSON();e.safeParse(t).success;const a=[];return X(n.errors,a)}class Ut{constructor(e,t){l(this,"initialData");l(this,"id");l(this,"version");l(this,"name");l(this,"description",null);l(this,"type",r.BuiltInBaseEntity);l(this,"abstract",!1);l(this,"static");l(this,"properties",[]);l(this,"methods",[]);l(this,"abstractMethods",[]);l(this,"extends",[]);l(this,"interactive",!1);l(this,"errors",[]);l(this,"project");this.initialData=this.initialData||e,this.project=this.project||t,this.id=this.id||e.id,this.version=this.version||e.version,this.name=this.name||e.name,this.static=this.static||e.static,this.interactive=this.interactive||e.interactive,this.abstract=e.abstract,this.properties=this.initialData.properties.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.abstractMethods=this.initialData.abstractMethods.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.extends=this.initialData.extends.map(i=>R(i,this.project))}get extendedProperties(){return S(this.extends.reduce((e,t)=>{if(t instanceof Ut){const i=[...t.properties,...t.extendedProperties].filter(a=>!a.abstract);e.push(...i)}return e},[]))}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}async load(){return this}remove(e={ignoreUpstream:!1,seenEntities:new Set}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.properties.flatMap(i=>i.toFlat(e)),...this.methods.flatMap(i=>i.toFlat(e)),...this.abstractMethods.flatMap(i=>i.toFlat(e)),...this.extends.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.properties.flatMap(i=>i.toFlatIds(e)),...this.methods.flatMap(i=>i.toFlatIds(e)),...this.abstractMethods.flatMap(i=>i.toFlatIds(e)),...this.extends.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,interactive:this.interactive,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+$.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,interactive:this.interactive,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(i=>i.toFlatJSON(e)),...this.methods.flatMap(i=>i.toFlatJSON(e)),...this.abstractMethods.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,interactive:this.interactive,extends:this.extends.map(e=>e.id)}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(i=>i.toFlatGenerationTarget(e)),...this.methods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){const e=s3(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 oo(this,e,t)}}function fa(n,e){if(!n)throw new Error("Entity is null");const t=e.findSubscribedInstance(n);switch(n.type){case r.PrimitiveValue:return t||new li(n,e);case r.CustomEntity:return t||new Ir(n,e);case r.PrimitiveEntity:return t||new Nt(n,e);case r.FunctionDeclaration:return t||new lr(n,e);case r.GlobalEvent:return t||new si(n,e);case r.DataType:return t||new ai(n,e);case r.Property:return t||new or(n,e);case r.FunctionCall:return t||new Rr(n,e);case r.Condition:return t||new ur(n,e);case r.Operation:return t||new cr(n,e);case r.VariableDeclaration:return t||new pr(n,e);case r.VariableInstance:return t||new yr(n,e);case r.OutputMap:return t||new fn(n,e);case r.ReturnDeclaration:return t||new Ot(n,e);case r.ArgumentDeclaration:return t||new mr(n,e);case r.InputMap:return t||new hn(n,e);case r.Project:return t||new $(n);case r.InstalledProject:return t||new fr(n,e);case r.ActionDescriptor:return t||new _e(n,e);case r.ReturnStatement:return t||new Tr(n,e);case r.Loop:return t||new dr(n,e);case r.Search:return t||new hr(n,e);case r.ValueDescriptor:return t||new Er(n,e);case r.BuiltInBaseEntity:return t||new Ut(n,e);case r.InternalCall:return t||new oi(n,e);case r.ContinueStatement:return t||new yt(n,e);case r.BreakStatement:return t||new ci(n,e);default:throw new Error("Invalid entity type: "+n.type)}}function R(n,e){if(!n)throw new Error("Entity is null");const t=fa(n,e);return t.subscribe(),t}function o3(n,e){if(!n)throw new Error("Entity is null");switch(n.type){case r.PrimitiveValue:return li.fromGenerationTarget(n,e);case r.CustomEntity:return Ir.fromGenerationTarget(n,e);case r.FunctionDeclaration:return lr.fromGenerationTarget(n,e);case r.GlobalEvent:return si.fromGenerationTarget(n,e);case r.DataType:return ai.fromGenerationTarget(n,e);case r.Property:return or.fromGenerationTarget(n,e);case r.FunctionCall:return Rr.fromGenerationTarget(n,e);case r.Condition:return ur.fromGenerationTarget(n,e);case r.Operation:return cr.fromGenerationTarget(n,e);case r.VariableDeclaration:return pr.fromGenerationTarget(n,e);case r.VariableInstance:return yr.fromGenerationTarget(n,e);case r.OutputMap:return fn.fromGenerationTarget(n,e);case r.ReturnDeclaration:return Ot.fromGenerationTarget(n,e);case r.ArgumentDeclaration:return mr.fromGenerationTarget(n,e);case r.InputMap:return hn.fromGenerationTarget(n,e);case r.InstalledProject:return fr.fromGenerationTarget(n,e);case r.ReturnStatement:return Tr.fromGenerationTarget(n,e);case r.Loop:return dr.fromGenerationTarget(n,e);case r.Search:return hr.fromGenerationTarget(n,e);case r.ActionDescriptor:return _e.fromGenerationTarget(n,e);case r.ValueDescriptor:return Er.fromGenerationTarget(n,e);case r.InternalCall:return oi.fromGenerationTarget(n,e);case r.ContinueStatement:return yt.fromGenerationTarget(n,e);case r.BreakStatement:return ci.fromGenerationTarget(n,e);default:throw new Error("Invalid entity type: "+n.type)}}const Y=class Y{constructor(e){l(this,"initialData");l(this,"id");l(this,"version");l(this,"type",r.Project);l(this,"name",null);l(this,"description",null);l(this,"x");l(this,"y");l(this,"entities",[]);l(this,"projects",[]);l(this,"functions",[]);l(this,"events",[]);l(this,"variableDeclarations",[]);l(this,"variableInstances",[]);l(this,"conditions",[]);l(this,"operations",[]);l(this,"functionCalls",[]);l(this,"loops",[]);l(this,"searches",[]);l(this,"primitives",[]);l(this,"builtInBaseEntities",[]);l(this,"operationDeclarations",[]);l(this,"globalEventActionDescriptors",[]);l(this,"loopDeclarations",[]);l(this,"conditionDeclarations",[]);l(this,"valueDescriptors",[]);l(this,"dataTypes",[]);l(this,"project");l(this,"instances",{});l(this,"builtInInstances",{});l(this,"errors",[]);l(this,"references",[]);this.initialData=e,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.x=0,this.y=0;try{Y.UUID||(Y.UUID=Vi==null?void 0:Vi())}catch(t){console.error("Error initializing UUID module",t),Y.UUID={uuid:()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15),fromUUID:i=>i}}}static injectUUIDModule(e){Y.UUID=e}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[];return a.push(...Pe(i)),{errors:a,modifiedData:i}}async inject(...e){return await Promise.all(e.map(t=>new Promise(async i=>{await t.init(this),i(null)}))),this}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){return this}get instancesList(){return Object.values(this.instances)}isOperationDeclaration(e){return this.operationDeclarations.includes(e)}isGlobalEventActionDescriptor(e){return this.globalEventActionDescriptors.includes(e)}isLoopDeclaration(e){return this.loopDeclarations.includes(e)}isConditionDeclaration(e){return this.conditionDeclarations.includes(e)}initChildren(){return this.entities=this.initialData.entities.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.projects=this.initialData.projects.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.functions=this.initialData.functions.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.events=this.initialData.events.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.variableDeclarations=this.initialData.variableDeclarations.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.variableInstances=this.initialData.variableInstances.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.conditions=this.initialData.conditions.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.operations=this.initialData.operations.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.functionCalls=this.initialData.functionCalls.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.loops=this.initialData.loops.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.searches=this.initialData.searches.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.attachOrphanReferences(),this.validate(),this}subscribeInstance(e){return(!this.instances[e.id]||this.instances[e.id]!==e)&&(this.instances[e.id]=e),this}subscribeBuiltInInstance(e){return(!this.builtInInstances[e.id]||this.builtInInstances[e.id]!==e)&&(this.builtInInstances[e.id]=e),this}subscribe(){return this}unsubscribe(){return this}unsubscribeInstance(e){return delete this.instances[e.id],this}findSubscribedInstance(e){return this.instances[e.id]||null}findSubscribedBuiltInInstance(e){return this.builtInInstances[e.id]||null}get(e){return this.instances[e]||this.builtInInstances[e]||null}getManaged(e){return this.instances[e]||null}getBuiltIn(e){return this.builtInInstances[e]||null}findSubscribedInstanceFromReference(e){return this.instances[e.entityId]||null}findSubscribedBuiltInInstanceFromReference(e){return this.builtInInstances[e.entityId]||null}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e}={ignoreUpstream:!1}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}getAllBuiltInIds(){const e=new Set;return[...this.primitives.flatMap(t=>t.toFlatIds(e)),...this.builtInBaseEntities.flatMap(t=>t.toFlatIds(e)),...this.operationDeclarations.flatMap(t=>t.toFlatIds(e)),...this.globalEventActionDescriptors.flatMap(t=>t.toFlatIds(e)),...this.loopDeclarations.flatMap(t=>t.toFlatIds(e)),...this.conditionDeclarations.flatMap(t=>t.toFlatIds(e)),...this.valueDescriptors.flatMap(t=>t.toFlatIds(e)),...this.dataTypes.flatMap(t=>t.toFlatIds(e))]}getAllBuiltIn(){const e=new Set;return[...this.primitives.flatMap(t=>t.toFlat(e)),...this.builtInBaseEntities.flatMap(t=>t.toFlat(e)),...this.operationDeclarations.flatMap(t=>t.toFlat(e)),...this.globalEventActionDescriptors.flatMap(t=>t.toFlat(e)),...this.loopDeclarations.flatMap(t=>t.toFlat(e)),...this.conditionDeclarations.flatMap(t=>t.toFlat(e)),...this.valueDescriptors.flatMap(t=>t.toFlat(e)),...this.dataTypes.flatMap(t=>t.toFlat(e))]}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(i=>i.toFlat(e)),...this.functions.flatMap(i=>i.toFlat(e)),...this.events.flatMap(i=>i.toFlat(e)),...this.projects.flatMap(i=>i.toFlat(e)),...this.variableDeclarations.flatMap(i=>i.toFlat(e)),...this.variableInstances.flatMap(i=>i.toFlat(e)),...this.conditions.flatMap(i=>i.toFlat(e)),...this.operations.flatMap(i=>i.toFlat(e)),...this.functionCalls.flatMap(i=>i.toFlat(e)),...this.loops.flatMap(i=>i.toFlat(e)),...this.searches.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),Array.from(e))}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,entities:this.entities.map(e=>e.toJSON()),functions:this.functions.map(e=>e.toJSON()),events:this.events.map(e=>e.toJSON()),projects:this.projects.map(e=>e.toJSON()),variableDeclarations:this.variableDeclarations.map(e=>e.toJSON()),variableInstances:this.variableInstances.map(e=>e.toJSON()),conditions:this.conditions.map(e=>e.toJSON()),operations:this.operations.map(e=>e.toJSON()),functionCalls:this.functionCalls.map(e=>e.toJSON()),loops:this.loops.map(e=>e.toJSON()),searches:this.searches.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+Y.UUID.uuid()+"--ref",type:r.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,entities:this.entities.map(e=>e.toReference()),functions:this.functions.map(e=>e.toReference()),events:this.events.map(e=>e.toReference()),projects:this.projects.map(e=>e.toReference()),variableDeclarations:this.variableDeclarations.map(e=>e.toReference()),variableInstances:this.variableInstances.map(e=>e.toReference()),conditions:this.conditions.map(e=>e.toReference()),operations:this.operations.map(e=>e.toReference()),functionCalls:this.functionCalls.map(e=>e.toReference()),loops:this.loops.map(e=>e.toReference()),searches:this.searches.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(i=>i.toFlatJSON(e)),...this.functions.flatMap(i=>i.toFlatJSON(e)),...this.events.flatMap(i=>i.toFlatJSON(e)),...this.projects.flatMap(i=>i.toFlatJSON(e)),...this.variableDeclarations.flatMap(i=>i.toFlatJSON(e)),...this.variableInstances.flatMap(i=>i.toFlatJSON(e)),...this.conditions.flatMap(i=>i.toFlatJSON(e)),...this.operations.flatMap(i=>i.toFlatJSON(e)),...this.functionCalls.flatMap(i=>i.toFlatJSON(e)),...this.loops.flatMap(i=>i.toFlatJSON(e)),...this.searches.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(i=>i.toFlatGenerationTarget(e)),...this.functions.flatMap(i=>i.toFlatGenerationTarget(e)),...this.events.flatMap(i=>i.toFlatGenerationTarget(e)),...this.projects.flatMap(i=>i.toFlatGenerationTarget(e)),...this.variableDeclarations.flatMap(i=>i.toFlatGenerationTarget(e)),...this.variableInstances.flatMap(i=>i.toFlatGenerationTarget(e)),...this.conditions.flatMap(i=>i.toFlatGenerationTarget(e)),...this.operations.flatMap(i=>i.toFlatGenerationTarget(e)),...this.functionCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.loops.flatMap(i=>i.toFlatGenerationTarget(e)),...this.searches.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.entities.forEach(e=>e.clearErrors()),this.projects.forEach(e=>e.clearErrors()),this.functions.forEach(e=>e.clearErrors()),this.events.forEach(e=>e.clearErrors()),this.variableDeclarations.forEach(e=>e.clearErrors()),this.variableInstances.forEach(e=>e.clearErrors()),this.conditions.forEach(e=>e.clearErrors()),this.operations.forEach(e=>e.clearErrors()),this.functionCalls.forEach(e=>e.clearErrors()),this.loops.forEach(e=>e.clearErrors()),this.searches.forEach(e=>e.clearErrors()),this}validate(){const e=Mx(),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 Y(this.toJSON())}getCustomEntity(e){return this.entities.find(t=>t.id===e)||null}addCustomEntityFromTransfer(e){const t=R(e,this);return this.addCustomEntity(t),t}addCustomEntity(e){return this.entities.includes(e)||this.entities.push(e),e}addFunctionDeclarationFromTransfer(e){const t=R(e,this);return this.addFunctionDeclaration(t),t}addFunctionDeclaration(e){return this.functions.includes(e)||this.functions.push(e),e}addFunctionCallFromTransfer(e){const t=R(e,this);return this.addFunctionCall(t),t}addFunctionCall(e){return this.functionCalls.includes(e)||this.functionCalls.push(e),e}addVariableDeclarationFromTransfer(e){const t=R(e,this);return this.addVariableDeclaration(t),t}addVariableDeclaration(e){return this.variableDeclarations.includes(e)||this.variableDeclarations.push(e),e}addVariableInstanceFromTransfer(e){const t=R(e,this);return this.addVariableInstance(t),t}addVariableInstance(e){return this.variableInstances.includes(e)||this.variableInstances.push(e),e}addInstalledProjectFromTransfer(e){const t=R(e,this);return this.addInstalledProject(t),this}addInstalledProject(e){return this.projects.includes(e)||this.projects.push(e),this}addGlobalEventFromTransfer(e){const t=R(e,this);return this.addGlobalEvent(t),this}addGlobalEvent(e){return this.events.includes(e)||this.events.push(e),this}addConditionFromTransfer(e){const t=R(e,this);return this.addCondition(t),this}addCondition(e){return this.conditions.includes(e)||this.conditions.push(e),this}addOperationFromTransfer(e){const t=R(e,this);return this.addOperation(t),this}addOperation(e){return this.operations.includes(e)||this.operations.push(e),this}addLoopFromTransfer(e){const t=R(e,this);return this.addLoop(t),this}addLoop(e){return this.loops.includes(e)||this.loops.push(e),this}addSearchFromTransfer(e){const t=R(e,this);return this.addSearch(t),this}addSearch(e){return this.searches.includes(e)||this.searches.push(e),this}removeCustomEntity(e){const t=this.entities.findIndex(i=>i.id===e.id);if(t>-1){const i=this.entities[t];return this.entities.splice(t,1),i}return null}removeFunctionDeclaration(e){const t=this.functions.findIndex(i=>i.id===e.id);if(t>-1){const i=this.functions[t];return this.functions.splice(t,1),i}return null}removeExternalProject(e){const t=this.projects.findIndex(i=>i.id===e.id);if(t>-1){const i=this.projects[t];return this.projects.splice(t,1),i}return null}removeGlobalEvent(e){const t=this.events.findIndex(i=>i.id===e.id);if(t>-1){const i=this.events[t];return this.events.splice(t,1),i}return null}removeTopLevelVariableDeclaration(e){if(e.type!==r.VariableDeclaration)return null;const t=this.variableDeclarations.findIndex(i=>i.id===e.id);if(t>-1){const i=this.variableDeclarations[t];return this.variableDeclarations.splice(t,1),i}return null}getEntryPoints(){return[...this.functions,...this.events,...this.entities.flatMap(t=>t.methods)]}getFunctionDeclaration(e){return this.functions.find(t=>t.id===e)||null}getConditions(){return[...this.conditions,...this.getEntryPoints().reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[]),...this.functionCalls.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[]),...this.operations.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[]),...this.loops.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[]),...this.searches.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Condition)]},[])]}getOperations(){return[...this.operations,...this.getEntryPoints().reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[]),...this.functionCalls.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[]),...this.conditions.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[]),...this.loops.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[]),...this.searches.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.Operation)]},[])]}getFunctionCalls(){return[...this.functionCalls,...this.getEntryPoints().reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[]),...this.conditions.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[]),...this.operations.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[]),...this.loops.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[]),...this.searches.reduce((t,i)=>{const a=Me(i);return[...t,...a.filter(s=>s.type===r.FunctionCall)]},[])]}getVariables(){return[...this.variableDeclarations,...this.getEntryPoints().reduce((t,i)=>{const a=Z(i);return[...t,...a]},[]),...this.functionCalls.reduce((t,i)=>{const a=Z(i);return[...t,...a]},[]),...this.conditions.reduce((t,i)=>{const a=Z(i);return[...t,...a]},[]),...this.operations.reduce((t,i)=>{const a=Z(i);return[...t,...a]},[]),...this.loops.reduce((t,i)=>{const a=Z(i);return[...t,...a]},[]),...this.searches.reduce((t,i)=>{const a=Z(i);return[...t,...a]},[])]}getVariableInstances(){return[...this.variableInstances,...this.getEntryPoints().reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.functionCalls.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.conditions.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.operations.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.loops.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[]),...this.searches.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableInstance);return[...t,...s]},[])]}getVariableDeclarations(){return S([...this.variableDeclarations,...this.getEntryPoints().reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.functionCalls.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.conditions.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.operations.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.loops.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[]),...this.searches.reduce((t,i)=>{const s=Z(i).filter(o=>o.type===r.VariableDeclaration);return[...t,...s]},[])])}attachOrphanReferences(){const e=this.getVariableInstances(),t=this.getVariableDeclarations();return e.forEach(i=>{if(!i.declaration){const a=i.initialData,s=a.declaration.entityId||a.declaration.id,o=t.find(u=>u.id===s);o&&i.setDeclaration(o)}}),this}getBuiltInPersistedEntity(){return this.builtInBaseEntities.find(e=>e.name===_.PERSISTED_ENTITY)||null}};l(Y,"UUID",{uuid:()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15),fromUUID:e=>e}),l(Y,"MUTABLE_BASE_PROPERTIES",["name","description"]),l(Y,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),l(Y,"BASE_PROPERTIES",[...Y.MUTABLE_BASE_PROPERTIES,...Y.INMUTABLE_BASE_PROPERTIES]),l(Y,"MUTABLE_META_PROPERTIES",[...Y.MUTABLE_BASE_PROPERTIES,"x","y"]),l(Y,"INMUTABLE_META_PROPERTIES",[...Y.INMUTABLE_BASE_PROPERTIES]),l(Y,"META_PROPERTIES",[...Y.MUTABLE_META_PROPERTIES,...Y.INMUTABLE_META_PROPERTIES]),l(Y,"MUTABLE_UPSTREAM_PROPERTIES",[]),l(Y,"INMUTABLE_UPSTREAM_PROPERTIES",["primitives","builtInBaseEntities","operationDeclarations","globalEventActionDescriptors","loopDeclarations","builtInInstances"]),l(Y,"UPSTREAM_PROPERTIES",[...Y.MUTABLE_UPSTREAM_PROPERTIES,...Y.INMUTABLE_UPSTREAM_PROPERTIES]),l(Y,"MUTABLE_DOWNSTREAM_PROPERTIES",["entities","projects","functions","events","variableDeclarations","variableInstances","conditions","operations","functionCalls","loops","searches"]),l(Y,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),l(Y,"DOWNSTREAM_PROPERTIES",[...Y.MUTABLE_DOWNSTREAM_PROPERTIES,...Y.INMUTABLE_DOWNSTREAM_PROPERTIES]),l(Y,"PROPERTIES",[...Y.META_PROPERTIES,...Y.UPSTREAM_PROPERTIES,...Y.DOWNSTREAM_PROPERTIES]);let $=Y;class kg extends _e{constructor(t){super($t,t);l(this,"id",Ie.Parallel);l(this,"name",Ie.Parallel);l(this,"description","Execute a list of actions one after the other");l(this,"version",1);l(this,"autoexecutable",!0);l(this,"initialData",$t);l(this,"type",r.ActionDescriptor);l(this,"fixedArguments",[]);l(this,"fixedReturns",[]);l(this,"error",null);l(this,"dynamicArgumentTypes",null);l(this,"dynamicReturnTypes",null);l(this,"project");this.project=t,this.fixedArguments=$t.fixedArguments.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.fixedReturns=$t.fixedReturns.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.error=$t.error?R($t.error,this.project):null}}class qg extends _e{constructor(t){super(ot,t);l(this,"id",ot.id);l(this,"name",ot.name);l(this,"description",ot.description);l(this,"version",ot.version);l(this,"autoexecutable",!1);l(this,"initialData",ot);l(this,"type",r.ActionDescriptor);l(this,"fixedArguments",[]);l(this,"fixedReturns",[]);l(this,"error",null);l(this,"dynamicArgumentTypes",null);l(this,"dynamicReturnTypes",null);l(this,"project");this.project=t,this.fixedArguments=ot.fixedArguments.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.fixedReturns=ot.fixedReturns.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.error=ot.error?R(ot.error,this.project):null}}class Jg extends _e{constructor(t){super(tn,t);l(this,"id",Ie.Sequential);l(this,"name",Ie.Sequential);l(this,"description","Execute a list of actions one after the other");l(this,"version",1);l(this,"autoexecutable",!0);l(this,"initialData",tn);l(this,"type",r.ActionDescriptor);l(this,"fixedArguments",[]);l(this,"fixedReturns",[]);l(this,"error",null);l(this,"dynamicArgumentTypes",null);l(this,"dynamicReturnTypes",null);l(this,"project");this.project=t,this.fixedArguments=tn.fixedArguments.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.fixedReturns=tn.fixedReturns.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.error=tn.error?R(tn.error,this.project):null}}function l3(n){const e=[new Jg(n),new kg(n),new qg(n),new _e(hi,n),new _e(Or,n),new _e(xn,n),new _e(ba,n),new _e(Po,n),new _e(So,n),new _e(Ao,n),new _e(Ta,n),new _e(pi,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.operationDeclarations=e,e}class Wg extends Ut{constructor(t){super(Be,t);l(this,"initialData");l(this,"id",_.PERSISTED_ENTITY);l(this,"version",1);l(this,"name",_.PERSISTED_ENTITY);l(this,"description",Be.description);l(this,"type",r.BuiltInBaseEntity);l(this,"abstract",Be.abstract);l(this,"static",Be.static);l(this,"properties",[]);l(this,"methods",[]);l(this,"abstractMethods",[]);l(this,"extends",[]);l(this,"errors",[]);l(this,"project");this.initialData=Be,this.project=t,this.id=Be.id,this.version=Be.version,this.name=Be.name,this.static=Be.static,this.abstract=Be.abstract,this.properties=this.initialData.properties.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(i=>{const a=R(i,this.project);return a.parent=this,a}),this.abstractMethods=this.initialData.abstractMethods.map(i=>{const a=R(i,this.project);return a.parent=this,a}),this.extends=this.initialData.extends.map(i=>R(i,this.project))}}function c3(n){const e=[new Wg(n),new Ut(Oa,n),new Ut(bn,n),new Ut(qo,n),new Ut(Sa,n)];return e.forEach(t=>{n.subscribeBuiltInInstance(t)}),n.builtInBaseEntities=e,e}function d3(n){const e=[new Nt(F,n),new Nt(Fn,n),new Nt(Ce,n),new Nt(Xe,n),new Nt(Rn,n),new Nt(Sr,n),new Nt(ma,n),new Nt(bo,n)];return e.forEach(t=>{n.subscribeBuiltInInstance(t)}),n.primitives=e,e}function u3(n){const e=[new _e(Ma,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.globalEventActionDescriptors=e,e}function p3(n){const e=[new _e(jn,n),new _e(Go,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.loopDeclarations=e,e}function y3(n){const e=[new Er(Yo,n)];return e.forEach(t=>{t.initChildren(),n.subscribeBuiltInInstance(t)}),n.valueDescriptors=e,e}function h3(n){const e=[new _e(kn,n),new _e(Br,n)];return e.forEach(t=>{t.initChildren()}),n.conditionDeclarations=e,e}const Pr={},mo={};async function f3(n,e={}){const t={...tb};return t.id=n.id,e.empty?{data:{id:n.id,type:r.Project,version:1,name:null,description:null,projects:[],entities:[],operations:[],functions:[],variableDeclarations:[],variableInstances:[],functionCalls:[],conditions:[],loops:[],searches:[],events:[]}}:{data:t}}function Hg(n){const e=new $(n);return d3(e),c3(e),l3(e),u3(e),p3(e),y3(e),h3(e),e.initChildren(),e}async function m3(n,e={}){try{if(n.id&&Pr[n.id])return Pr[n.id];if(n.id&&mo[n.id])return await mo[n.id],Pr[n.id];const t=f3(n,e);n.id&&(mo[n.id]=t);const i=await t;if(i.data){const a=Hg(i.data);return Pr[n.id]=a,n.id&&delete mo[n.id],a}return null}catch(t){return console.error("Error fetching project: ",t),null}}function T3(n){return Pr[n.id]&&delete Pr[n.id],null}const E3="test_primitive_entities_export";d.AI_VALUE_CONNECTION_GENERATION_ACTION_EXPLANATION=Td,d.ActionDescriptorState=_e,d.ActionDescriptorValuesType=L,d.ActionInputMapState=m9,d.ActionOutputMapState=R9,d.AppendToListOperationInputIds=lp,d.AppendToListOperationOutputIds=cp,d.ArgumentDeclarationState=mr,d.BREAK_AND_CONTINUE_STATEMENTS_RETURN_DECLARATIONS_EXPLANATION=yd,d.BUILT_IN_BASE_ENTITY_IDS=Ve,d.BUILT_IN_ENTITY_TYPES=Ar,d.BaseCanvasDraggableState=e9,d.BaseEntityNames=_,d.BaseState=K6,d.BaseValueDescriptorIds=No,d.BreakStatementState=ci,d.BuiltInBaseEntityState=Ut,d.CACHED_PROJECTS_BY_ID=Pr,d.CALLABLE_ENTITIES_EXPLANATION=w9,d.CALLABLE_TYPES=En,d.CALLER_ENTITIES_EXPLANATION=ag,d.CALLER_TYPES=en,d.CALLS_UPDATE_EXPLANATION=$n,d.COMPARISON_CONDITIONS=am,d.CONDITIONS=II,d.CUSTOM_ENTITY_OPERATIONS=Iy,d.CallableEntityClass=n9,d.CallerEntityClass=cd,d.ChildEntityState=t9,d.ComparisonOperatorTypes=Ae,d.ConditionState=ur,d.ContinueStatementState=yt,d.CreateNewInputIds=Kp,d.CreateNewOutputIds=ey,d.CustomEntityState=Ir,d.DRAGGABLE_CALLABLE_TYPES=Eo,d.DRAGGABLE_CALLER_TYPES=$d,d.DRAGGABLE_ELEMENT_TYPES=Ro,d.DRAGGABLE_EXECUTABLE_TYPES=Qg,d.DRAGGABLE_PASS_THROUGH_CALLABLE_TYPES=To,d.DataTypeCompatibilityTypes=wt,d.DataTypeParentChildRelation=qe,d.DataTypeState=ai,d.ENTITIES_WITH_VALLUES_EXPLANATION=no,d.ENTITY_TYPES=Kg,d.ENTITY_WITH_LOGIC_SCOPE_TYPES=st,d.ENTITY_WITH_NAMES_TYPES=Vd,d.ENTITY_WITH_VALUE_TYPES=Nd,d.ENTRY_POINT_ENTITIES_EXPLANATION=da,d.ENTRY_POINT_TYPES=$e,d.EVENT_TYPES=Dr,d.EXECUTABLE_TYPES=Xg,d.EXECUTION_OPERATIONS=Qp,d.EntityError=Xn,d.EntityErrorSeverity=f,d.EntityGenerationError=E,d.EntityGenerationErrorCode=y,d.EntityInstanceErrorCode=O,d.EntityOperations=Ze,d.EntityType=r,d.EntityWithLogicScopeClass=s9,d.EntityWithValueClass=a9,d.EntryPointEntityClass=r9,d.ExecutionOperations=Ie,d.FunctionCallState=Rr,d.FunctionDeclarationState=lr,d.GLOBAL_EVENT_DECLARATIONS=PI,d.GetLastInListOperationInputIds=Zu,d.GetLastInListOperationOutputIds=Xu,d.GlobalEventNames=Kt,d.GlobalEventState=si,d.HTTPOperations=Ye,d.HTTP_OPERATIONS=rh,d.InputMapState=hn,d.InstalledProjectState=fr,d.InternalCallState=oi,d.JoinListOperationInputIds=mu,d.JoinListOperationOutputIds=Tu,d.JoinStringOperationInputIds=nu,d.JoinStringOperationOutputIds=ru,d.LIST_OPERATIONS=gp,d.ListOperations=j,d.LoopState=dr,d.LoopTypes=je,d.NON_INTERACTIVE_BASE_ENTITIES_EXPLANATION=Vn,d.NUMBER_OPERATIONS=tu,d.NumberAdditionOperationInputIds=jd,d.NumberAdditionOperationOutputIds=kd,d.NumberOperations=at,d.OPERATION_DECLARATIONS=tI,d.OperationState=cr,d.OutputMapParentChildRelation=Md,d.OutputMapState=fn,d.PARENT_AUTO_CALCULATION_FROM_CALLER_EXPLANATION=ro,d.PASS_THROUGH_CALLABLE_ENTITIES_EXPLANATION=Nn,d.PASS_THROUGH_CALLABLE_TYPES=Ne,d.PROPERTY_NOT_VALUE_READER_WRITTER_EXPLANATION=md,d.ParallelExecutionOperation=kg,d.ParallelExecutionOperationInputIds=Ip,d.ParallelExecutionOperationOutputIds=Pp,d.PassThroughCallableEntityClass=i9,d.PersistedEntity=Wg,d.PersistedEntityMethods=It,d.PrimitiveEntityState=Nt,d.PrimitiveTypes=g,d.PrimitiveValueState=li,d.ProjectState=$,d.PropertyState=or,d.RETURN_STATEMENT_RETURN_DECLARATIONS_EXPLANATION=_9,d.ReturnDeclarationState=Ot,d.ReturnStatementState=Tr,d.STANDALONE_CONDITIONS=Kf,d.STRING_OPERATIONS=fu,d.ScopeCompatibilityType=fo,d.SearchState=hr,d.SequentialExecutionOperation=Jg,d.SequentialExecutionOperationInputIds=xp,d.SequentialExecutionOperationOutputIds=jp,d.SharedEntityErrorCode=v,d.SharedStateFunctionality=ng,d.SplitListOperationInputIds=_u,d.SplitListOperationOutputIds=Mu,d.StandaloneOperatorTypes=Ct,d.StringOperations=ge,d.TERMINATION_TYPES=Oe,d.USER_MANAGED_ENTITY_TYPES=eI,d.UserManagedEntityStateFunctionality=Q6,d.VALUE_READING_ENTITIES_EXPLANATION=fd,d.VALUE_READING_TYPES=Tn,d.VALUE_WRITING_ENTITIES_EXPLANATION=sg,d.VALUE_WRITING_TYPES=Se,d.VARIABLE_DATA_TYPE_INFERRANCE_EXPLANATION=hd,d.VARIABLE_TYPES=Fe,d.ValidationInputIds=cy,d.ValidationOutputIds=dy,d.ValueAutogenerationType=xe,d.ValueDescriptorParentChildRelation=C,d.ValueDescriptorState=Er,d.ValueReadingEntityClass=la,d.ValueWritingEntityClass=ca,d.VariableDeclarationState=pr,d.VariableInputMapState=f9,d.VariableInstanceState=yr,d.VariableOutputMapState=E9,d.WaitOperation=qg,d.WaitOperationInputIds=Np,d.WaitOperationOutputIds=$p,d._VALUE_READING_TYPES=zg,d._VALUE_WRITING_TYPES=Zg,d.appendToListOperation=ba,d.appendToListOperationElementToAppendArgument=Co,d.appendToListOperationElementToAppendArgumentParentRef=Tp,d.appendToListOperationElementToAppendArgumentRef=pp,d.appendToListOperationError=vp,d.appendToListOperationErrorParentRef=bp,d.appendToListOperationListArgument=Oo,d.appendToListOperationListArgumentParentRef=mp,d.appendToListOperationListArgumentRef=dp,d.appendToListOperationListDataType=up,d.appendToListOperationResultListDataType=fp,d.appendToListOperationResultListReturn=Rp,d.appendToListOperationResultListReturnParentRef=Ep,d.appendToListOperationResultListReturnRef=hp,d.appendToListOperationSecondListDataType=yp,d.asGenerationActionExample=Qt,d.baseHttpRequestFunctionDeclaration=hi,d.baseHttpRequestFunctionDeclarationErrorValueDescriptor=Lo,d.baseHttpRequestFunctionDeclarationErrorValueDescriptorDatatype=nh,d.baseHttpRequestFunctionDeclarationErrorValueDescriptorRef=th,d.baseHttpRequestFunctionDeclarationRef=Xy,d.baseHttpRequestFunctionDeclarationRefEight=Ky,d.baseHttpRequestFunctionDeclarationRefFive=zy,d.baseHttpRequestFunctionDeclarationRefFour=Yy,d.baseHttpRequestFunctionDeclarationRefNine=eh,d.baseHttpRequestFunctionDeclarationRefSeven=Qy,d.baseHttpRequestFunctionDeclarationRefSix=Zy,d.baseHttpRequestFunctionDeclarationRefThree=Hy,d.baseHttpRequestFunctionDeclarationRefTwo=Wy,d.booleanPrototype=Fn,d.capitalizeFirstLetter=Ws,d.checkAreCustomEntitiesCompatibleAsDataType=Uv,d.checkAreDataTypesCompatible=Hs,d.checkArePropertiesCompatibleAsDataType=Fv,d.checkIsBranchDependentButNotDirectlyOnBranch=pa,d.checkIsBranchDependentOnBranch=x9,d.checkIsCallableEntityReachable=_d,d.checkIsCanvasEntity=n3,d.checkIsDetachedBranch=Vg,d.checkIsDetachedBranchShallow=Bd,d.checkIsGlobalVariable=t3,d.checkIsGloballyDeclared=Cd,d.checkIsMethod=Fg,d.checkIsNestedScope=ho,d.checkScopeCompatibility=ya,d.createEntityError=k,d.createNewInstanceOperation=Or,d.createNewInstanceOperationEntityToInstanciateArgument=iy,d.createNewInstanceOperationEntityToInstanciateArgumentRef=ty,d.createNewInstanceOperationEntityToInstanciateDataType=ny,d.createNewInstanceOperationError=ly,d.createNewInstanceOperationErrorParentRef=oy,d.createNewInstanceOperationOutputEntityDeclaration=sy,d.createNewInstanceOperationOutputEntityDeclarationParentRef=ay,d.createNewInstanceOperationRef=ry,d.createSemanticId=Xt,d.createStateFromGenerationTargetType=o3,d.createStateFromType=fa,d.createStateFromTypeAndSubscribe=R,d.cronJobBuiltInBaseEntity=qo,d.cronJobBuiltInBaseEntityExpressionProperty=zf,d.cronJobBuiltInBaseEntityExpressionPropertyDataTypeRef=bI,d.cronJobBuiltInBaseEntityExpressionPropertyRef=Hf,d.cronJobBuiltInBaseEntityRef=Yf,d.cronJobTriggeredFunctionDeclarationBlueprint=ko,d.cronJobTriggeredFunctionDeclarationBlueprintParentRef=Jf,d.customEntityToZodSchema=Im,d.dataTypeCompatibilityToErrorExplanation=hg,d.datePrototype=Sr,d.dateValueAutogenerationSchema=Zl,d.deletePersistedEntityMethod=jo,d.deletePersistedEntityMethodParentRef=If,d.deleteRootProject=T3,d.endpointBuiltInBaseEntity=Oa,d.endpointBuiltInBaseEntityRef=Ph,d.endpointBuiltInBaseEntityRefFour=yf,d.endpointBuiltInBaseEntityRefThree=Mh,d.endpointBuiltInBaseEntityRefTwo=Ch,d.endpointBuiltInCorsProperty=Dh,d.endpointBuiltInCorsPropertyDataType=Ih,d.endpointBuiltInCorsPropertyDataTypeRef=vh,d.endpointBuiltInCorsPropertyRef=gh,d.endpointBuiltInMethodProperty=Uo,d.endpointBuiltInMethodPropertyDataType=_h,d.endpointBuiltInMethodPropertyDataTypeRef=Bh,d.endpointBuiltInMethodPropertyRef=wh,d.endpointBuiltInPathProperty=Fo,d.endpointBuiltInPathPropertyDataType=Oh,d.endpointBuiltInPathPropertyDataTypeRef=Ah,d.endpointBuiltInPathPropertyRef=Sh,d.endpointPathParamsArgumentDeclaration=Yh,d.endpointPathParamsArgumentDeclarationRef=kh,d.endpointPathParamsVariableDataType=qh,d.endpointPathParamsVariableDataTypeRef=jh,d.endpointReachedTriggerActionDescriptor=xo,d.endpointReachedTriggerActionDescriptorRef=Jh,d.endpointReachedTriggerActionDescriptorRefFour=Xh,d.endpointReachedTriggerActionDescriptorRefThree=zh,d.endpointReachedTriggerActionDescriptorRefTwo=Hh,d.endpointRequestBodyArgumentDeclaration=Qh,d.endpointRequestBodyArgumentDeclarationRef=Lh,d.endpointRequestBodyVariableDataType=Gh,d.endpointRequestHeadersArgumentDeclaration=Wh,d.endpointRequestHeadersArgumentDeclarationRef=$h,d.endpointRequestHeadersVariableDataType=Vh,d.endpointRequestHeadersVariableDataTypeRef=Nh,d.endpointRequestQueryParamsArgumentDeclaration=Zh,d.endpointRequestQueryParamsArgumentDeclarationRef=Uh,d.endpointRequestQueryParamsVariableDataType=xh,d.endpointRequestQueryParamsVariableDataTypeRef=Fh,d.endpointResponseBodyDataType=df,d.endpointResponseBodyReturnDeclaration=pf,d.endpointResponseBodyReturnDeclarationRef=cf,d.endpointResponseCodeDataType=ef,d.endpointResponseCodeReturnDeclaration=nf,d.endpointResponseCodeReturnDeclarationRef=Kh,d.endpointResponseHeadersDataType=sf,d.endpointResponseHeadersDataTypeRef=rf,d.endpointResponseHeadersReturnDeclaration=lf,d.endpointResponseHeadersReturnDeclarationRef=af,d.endpointReturnStatementRef=tf,d.endpointReturnStatementRefThree=uf,d.endpointReturnStatementRefTwo=of,d.enumOptionsProperty=xd,d.enumOptionsPropertyDataType=Fd,d.enumOptionsPropertyDataTypeRef=Ld,d.enumOptionsPropertyRef=Gd,d.enumPrototype=Rn,d.enumPrototypeRef=Ud,d.executionBuiltInEntity=Wo,d.executionBuiltInEntityAbortMethod=Jo,d.executionBuiltInEntityAbortMethodParentRef=Zf,d.filterOutDuplicateEntities=S,d.filterOutDuplicateErrors=QF,d.findReferenceToSelfInList=Og,d.findReferencesToSelfInProject=z9,d.flattenCalls=br,d.flattenCanvasAncestorsUntil=lo,d.flattenCustomEntityExtensionAndImplementationTypes=Mg,d.flattenCustomEntityExtensionTypes=po,d.flattenCustomEntityExtensions=Ad,d.flattenCustomEntityImplementations=Sd,d.flattenCustomEntityImplementionTypes=uo,d.flattenDerivedCanvasEntities=gt,d.flattenDetachedBranch=Gg,d.flattenElementCalls=Me,d.flattenProjectElements=Sg,d.flattenRelatedCanvasElementsOnTheLeft=_g,d.flattenRelatedCanvasElementsOnTheRight=wg,d.flattenVariableReads=Ag,d.flattenVariableWrites=Dg,d.flattenVariables=Z,d.fromZodParseToEntityGenerationErrors=dd,d.generate=bD,d.generateActionExample=M9,d.generateExecutionDataType=xv,d.generateMutablePropertiesExplanation=Ks,d.generateRandomBoolean=zm,d.generateRandomDate=Sm,d.generateRandomDateAfter=Pm,d.generateRandomDateBefore=Dm,d.generateRandomDateBetweenRange=Am,d.generateRandomNumber=qm,d.generateRandomNumberAfter=xm,d.generateRandomNumberBefore=jm,d.generateRandomNumberBetweenRange=km,d.generateRandomText=Ym,d.generateRandomTextAfter=Jm,d.generateRandomTextBefore=Wm,d.generateRandomTextBetweenRange=Hm,d.generateUniqueUUID=Um,d.getAllActionDescriptorsForConditions=so,d.getAllActionDescriptorsForGlobalEvents=io,d.getAllActionDescriptorsForLoops=ao,d.getAllActionDescriptorsForOperations=L9,d.getAllGloballyDeclaredFunctionDeclarationsExplanation=ug,d.getBaseBuiltInEntities=Gn,d.getBaseSchemaBasedOnType=rg,d.getBuiltInEntityOwner=gr,d.getCallableEntityReferenceSchema=ke,d.getCallableEntityTypeSchema=Ab,d.getCallerEntityReferenceSchema=rx,d.getCallerEntityTypeSchema=nx,d.getCalls=vd,d.getCanvasEntitiesDerivedFromInternalCalls=Bg,d.getCanvasEntitiesDerivedFromWrites=di,d.getCanvasEntityDerivedFromValueReadingEntity=Dd,d.getCanvasEntityReferenceSchema=bx,d.getCanvasEntityTypeSchema=Rx,d.getChildrenEntityWithValues=k9,d.getCommonAncestor=bd,d.getCommonChildren=Tg,d.getDeclaration=Kc,d.getDeepestScope=jg,d.getDraggableCallableEntityReferenceSchema=Ob,d.getDraggableCallableEntityTypeSchema=Sb,d.getDraggableCallerEntityReferenceSchema=ax,d.getDraggableCallerEntityTypeSchema=ix,d.getDraggableExecutableEntityReferenceSchema=cx,d.getDraggableExecutableEntityTypeSchema=lx,d.getDraggablePassThroughCallableEntityReferenceSchema=Gs,d.getDraggablePassThroughCallableEntityTypeSchema=Ls,d.getDraggablePlayableEntityReferenceSchema=hx,d.getDraggablePlayableEntityTypeSchema=yx,d.getEntityArgumentDeclarations=Id,d.getEntityInputMaps=Cg,d.getEntityOutputMaps=Q9,d.getEntityReferenceSchema=Ex,d.getEntityReturnDeclarations=Pd,d.getEntityTypeSchema=Tx,d.getEntityWithLogicScopeReferenceSchema=un,d.getEntityWithLogicScopeTypeSchema=dx,d.getEntityWithValueReferenceSchema=Db,d.getEntityWithValueTypeSchema=tx,d.getEntryPointEntityReferenceSchema=Ue,d.getEntryPointEntityTypeSchema=wn,d.getEventEntityReferenceSchema=$s,d.getEventEntityTypeSchema=Ns,d.getExecutableEntityReferenceSchema=ox,d.getExecutableEntityTypeSchema=sx,d.getExtendedBuiltInEntity=K9,d.getExtendedCustomEntity=$g,d.getGenerationTargetSchemaBasedOnType=ig,d.getHeadIfPartOfDetachedBranch=Lg,d.getHighestScope=xg,d.getImplementedBuiltInEntity=e3,d.getIsInteractive=Od,d.getLastInListOperation=So,d.getLastInListOperationError=op,d.getLastInListOperationErrorParentRef=sp,d.getLastInListOperationInputListArgument=rp,d.getLastInListOperationInputListArgumentParentRef=np,d.getLastInListOperationInputListArgumentRef=Qu,d.getLastInListOperationInputListDataType=Ku,d.getLastInListOperationOutputElementDataType=tp,d.getLastInListOperationOutputElementReturn=ap,d.getLastInListOperationOutputElementReturnParentRef=ip,d.getLastInListOperationOutputElementReturnRef=ep,d.getLinkedEntitiesFromArgumentDeclaration=Y9,d.getLowestPersistedEntityImplementation=Ng,d.getParentCanvasEntities=_t,d.getParentCanvasEntity=He,d.getParentEntryPoint=j9,d.getPassThroughCallableEntityReferenceSchema=ye,d.getPassThroughCallableEntityTypeSchema=Vs,d.getPlayableEntityReferenceSchema=px,d.getPlayableEntityTypeSchema=ux,d.getProject=m3,d.getPrototypeByType=yo,d.getReferenceEntityId=D,d.getReferencedEntitiesStateOrErrors=to,d.getReferencedEntityStateOrErrors=ud,d.getRelatedCanvasElementsOnTheLeft=vr,d.getRelatedCanvasElementsOnTheRight=Ln,d.getRootEntryPointScopeOwner=wd,d.getScopeOwner=ht,d.getTerminationReferenceSchema=mx,d.getTerminationTypeSchema=fx,d.getUsedArgFromDeclaration=Z9,d.getUsedReturnFromDeclaration=X9,d.getValueReadingEntityReferenceSchema=Pb,d.getValueReadingEntityTypeSchema=dn,d.getValueWritingEntityReferenceSchema=ex,d.getValueWritingEntityTypeSchema=Qi,d.getVariableFromInputMapping=Rg,d.getVariableFromReturnVariablePointer=gg,d.getVariableReferenceSchema=Bn,d.getVariableTypeSchema=er,d.getVariablesFromArgumentDeclarations=co,d.getVariablesFromInputMaps=bg,d.getVariablesFromOutputMapping=Ig,d.getVariablesFromOutputMaps=Pg,d.getVariablesFromReturnDeclarations=vg,d.getVariablesInSameOrHigherScope=ed,d.getWrites=gd,d.groupCallsBasedOnParallelizableExecution=J9,d.handleAfterEntityImplementationSideEffects=mg,d.handleBeforeEntityImplementationSideEffects=fg,d.httpRequestBodyArgument=Pa,d.httpRequestBodyArgumentRef=Vy,d.httpRequestBodyDataType=Ly,d.httpRequestHeadersArgument=Ia,d.httpRequestHeadersArgumentRef=Ny,d.httpRequestHeadersDataType=$y,d.httpRequestMethodArgument=va,d.httpRequestMethodArgumentRef=_y,d.httpRequestMethodDataType=My,d.httpRequestMethodDataTypeRef=By,d.httpRequestQueryParamsArgument=$o,d.httpRequestQueryParamsArgumentRef=Oy,d.httpRequestQueryParamsDataType=Cy,d.httpRequestVariableURLArgument=ga,d.httpRequestVariableURLArgumentRef=Ay,d.httpRequestVariableURLDataType=Sy,d.httpRequestVariableURLDataTypeRef=Py,d.httpResponseBodyReturnDataType=Jy,d.httpResponseBodyReturnDataTypeRef=ky,d.httpResponseBodyReturnReturn=yi,d.httpResponseBodyReturnReturnRef=qy,d.httpResponseCodeDataType=Fy,d.httpResponseCodeReturn=Vo,d.httpResponseCodeReturnRef=Gy,d.httpResponseHeadersDataType=jy,d.httpResponseHeadersDataTypeRef=Uy,d.httpResponseHeadersReturn=Da,d.httpResponseHeadersReturnRef=xy,d.implement=oo,d.inferArgumentDeclarationDataType=jv,d.inferDataType=Ys,d.inferInputMapDataType=kv,d.inferOutputMapDataType=Wv,d.inferVariableDeclarationDataType=Jv,d.inferVariableInstanceDataType=qv,d.initProject=Hg,d.iterateOverListActionDescriptor=jn,d.iterateOverListActionDescriptorListArgumentDeclaration=dh,d.iterateOverListActionDescriptorListArgumentDeclarationDataType=lh,d.iterateOverListActionDescriptorListArgumentDeclarationDataTypeParentRef=oh,d.iterateOverListActionDescriptorListArgumentDeclarationParentRef=ch,d.iterateOverListActionDescriptorReturnDeclaration=sh,d.iterateOverListActionDescriptorReturnDeclarationParentRef=ah,d.joinListOperation=Po,d.joinListOperationError=wu,d.joinListOperationErrorParentRef=Bu,d.joinListOperationFirstListArgument=Du,d.joinListOperationFirstListArgumentParentRef=Pu,d.joinListOperationFirstListArgumentRef=Eu,d.joinListOperationFirstListDataType=Ru,d.joinListOperationResultListDataType=Iu,d.joinListOperationResultListReturn=Cu,d.joinListOperationResultListReturnParentRef=Ou,d.joinListOperationResultListReturnRef=gu,d.joinListOperationSecondListArgument=Su,d.joinListOperationSecondListArgumentParentRef=Au,d.joinListOperationSecondListArgumentRef=bu,d.joinListOperationSecondListDataType=vu,d.joinListWithLastSeparator=N,d.joinStringOperation=pi,d.joinStringOperationError=hu,d.joinStringOperationErrorParentRef=yu,d.joinStringOperationFirstStringArgument=Ea,d.joinStringOperationFirstStringArgumentParentRef=du,d.joinStringOperationFirstStringArgumentRef=iu,d.joinStringOperationFirstStringDataType=au,d.joinStringOperationResultStringDataType=cu,d.joinStringOperationResultStringReturn=ui,d.joinStringOperationResultStringReturnParentRef=pu,d.joinStringOperationResultStringReturnRef=lu,d.joinStringOperationSecondStringArgument=Ra,d.joinStringOperationSecondStringArgumentParentRef=uu,d.joinStringOperationSecondStringArgumentRef=su,d.joinStringOperationSecondStringDataType=ou,d.jsonPrototype=bo,d.keyValueParamBuiltInBaseEntity=Sa,d.keyValueParamBuiltInBaseEntityNameProperty=Th,d.keyValueParamBuiltInBaseEntityNamePropertyDataTypeRef=rI,d.keyValueParamBuiltInBaseEntityNamePropertyParentRef=mh,d.keyValueParamBuiltInBaseEntityNamePropertyRef=fh,d.keyValueParamBuiltInBaseEntityValueProperty=bh,d.keyValueParamBuiltInBaseEntityValuePropertyDataTypeRef=aI,d.keyValueParamBuiltInBaseEntityValuePropertyParentRef=Rh,d.keyValueParamBuiltInBaseEntityValuePropertyRef=Eh,d.lowercaseFirstLetter=Gv,d.manualFlowActionDescriptor=Go,d.manualFlowActionDescriptorDeclarationReturnDeclaration=hh,d.manualFlowActionDescriptorDeclarationReturnDeclarationDataType=ph,d.manualFlowActionDescriptorDeclarationReturnDeclarationDataTypeParentRef=uh,d.manualFlowActionDescriptorDeclarationReturnDeclarationParentRef=yh,d.mapActionDescriptorToTypeItRepresents=r3,d.mergeEntityErrorsList=KF,d.mergeListOfEntities=Ug,d.methodDefaultValue=wy,d.mockClientProject=tb,d.moreThanOrEqualCondition=Br,d.moreThanOrEqualConditionLeftHandArgument=nm,d.moreThanOrEqualConditionLeftHandArgumentParentRef=tm,d.moreThanOrEqualConditionRightHandArgument=im,d.moreThanOrEqualConditionRightHandArgumentParentRef=rm,d.notEmptyCondition=kn,d.notEmptyConditionArgument=Qf,d.notEmptyConditionRef=Xf,d.numberAdditionOperation=Ta,d.numberAdditionOperationError=eu,d.numberAdditionOperationErrorParentRef=Kd,d.numberAdditionOperationFirstNumberArgument=vo,d.numberAdditionOperationFirstNumberArgumentRef=qd,d.numberAdditionOperationFirstNumberDataType=Jd,d.numberAdditionOperationRef=Zd,d.numberAdditionOperationRefThree=Qd,d.numberAdditionOperationRefTwo=Xd,d.numberAdditionOperationResultNumberDataType=zd,d.numberAdditionOperationResultNumberReturn=Io,d.numberAdditionOperationResultNumberReturnRef=Yd,d.numberAdditionOperationSecondNumberArgument=go,d.numberAdditionOperationSecondNumberArgumentRef=Wd,d.numberAdditionOperationSecondNumberDataType=Hd,d.numberPrototype=Ce,d.numberValueAutogenerationSchema=zl,d.parallelExecutionOperation=$t,d.parallelExecutionOperationError=Mp,d.parallelExecutionOperationErrorParentRef=_p,d.parallelExecutionOperationListOfExecutionResultsDataType=Cp,d.parallelExecutionOperationListOfExecutionResultsReturn=wo,d.parallelExecutionOperationListOfExecutionResultsReturnRef=Op,d.parallelExecutionOperationListOfFunctionsArgument=Bo,d.parallelExecutionOperationListOfFunctionsArgumentDatatype=Sp,d.parallelExecutionOperationListOfFunctionsArgumentRef=Ap,d.parallelExecutionOperationListOfFunctionsBlueprint=Dp,d.parallelExecutionOperationRef=Bp,d.parallelExecutionOperationRefThree=wp,d.persistedBuiltInBaseEntity=Be,d.persistedBuiltInBaseEntityCreatedAtProperty=Uf,d.persistedBuiltInBaseEntityCreatedAtPropertyDataType=Gf,d.persistedBuiltInBaseEntityCreatedAtPropertyDataTypeRef=EI,d.persistedBuiltInBaseEntityCreatedAtPropertyParentRef=Ff,d.persistedBuiltInBaseEntityCreatedAtPropertyRef=Lf,d.persistedBuiltInBaseEntityDatabaseProperty=mi,d.persistedBuiltInBaseEntityDatabasePropertyDataTypeRef=hI,d.persistedBuiltInBaseEntityDatabasePropertyParentRef=Of,d.persistedBuiltInBaseEntityDatabasePropertyRef=Sf,d.persistedBuiltInBaseEntityDeletedAtProperty=Vf,d.persistedBuiltInBaseEntityDeletedAtPropertyDataType=Nf,d.persistedBuiltInBaseEntityDeletedAtPropertyDataTypeRef=TI,d.persistedBuiltInBaseEntityDeletedAtPropertyParentRef=$f,d.persistedBuiltInBaseEntityDeletedAtPropertyRef=Mf,d.persistedBuiltInBaseEntityIdentifierProperty=_f,d.persistedBuiltInBaseEntityIdentifierPropertyDataTypeRef=Cf,d.persistedBuiltInBaseEntityIdentifierPropertyParentRef=wf,d.persistedBuiltInBaseEntityIdentifierPropertyRef=Bf,d.persistedBuiltInBaseEntityUpdatedAtProperty=qf,d.persistedBuiltInBaseEntityUpdatedAtPropertyDataType=jf,d.persistedBuiltInBaseEntityUpdatedAtPropertyDataTypeRef=RI,d.persistedBuiltInBaseEntityUpdatedAtPropertyParentRef=kf,d.persistedBuiltInBaseEntityUpdatedAtPropertyRef=xf,d.processOutputGlobalValueDescriptorDataType=om,d.processOutputGlobalValueDescriptorReturn=Yo,d.processOutputGlobalValueDescriptorReturnRef=sm,d.projectPublicationCompletedGlobalEvent=Ma,d.propertyToZodSchema=gm,d.relationalDatabaseBuiltInBaseEntity=bn,d.relationalDatabaseBuiltInBaseEntityDefaultProperty=gf,d.relationalDatabaseBuiltInBaseEntityDefaultPropertyDataTypeRef=bf,d.relationalDatabaseBuiltInBaseEntityDefaultPropertyRef=vf,d.relationalDatabaseBuiltInBaseEntityIdentifierProperty=Ca,d.relationalDatabaseBuiltInBaseEntityIdentifierPropertyDataTypeRef=hf,d.relationalDatabaseBuiltInBaseEntityIdentifierPropertyRef=ff,d.relationalDatabaseBuiltInBaseEntityMinSizeProperty=_a,d.relationalDatabaseBuiltInBaseEntityMinSizePropertyDataTypeRef=Ef,d.relationalDatabaseBuiltInBaseEntityMinSizePropertyRef=Rf,d.relationalDatabaseBuiltInBaseEntityPasswordProperty=wa,d.relationalDatabaseBuiltInBaseEntityPasswordPropertyDataTypeRef=dI,d.relationalDatabaseBuiltInBaseEntityPasswordPropertyRef=Tf,d.relationalDatabaseBuiltInBaseEntityRef=Cr,d.relationalDatabaseBuiltInBaseEntityUsernameProperty=Ba,d.relationalDatabaseBuiltInBaseEntityUsernamePropertyDataTypeRef=lI,d.relationalDatabaseBuiltInBaseEntityUsernamePropertyRef=mf,d.resolveActionDescriptorName=tg,d.resolveBaseEntityName=Qv,d.resolveBuiltInBaseEntityDataTypeLabel=td,d.resolveConditionOperatorLabel=Xs,d.resolveCustomEntityDataTypeLabel=nd,d.resolveDataType=zs,d.resolveDataTypeLabel=zv,d.resolveEntityDataTypeLabel=Xv,d.resolveEntityName=A,d.resolveFirstCallsSecond=W9,d.resolveFirstWritesSecond=H9,d.resolvePrimitiveEntityName=eg,d.resolvePropertyDataTypeLabel=Zv,d.resolveSearchName=Kv,d.resolveVariableDataTypeLabel=L6,d.resolveVariableDeclarationDataTypeLabel=sr,d.resolveVariableInstanceDataTypeLabel=Yv,d.resolveVariableScope=N6,d.sequentialExecutionOperation=tn,d.sequentialExecutionOperationError=Xp,d.sequentialExecutionOperationErrorParentRef=Zp,d.sequentialExecutionOperationListOfExecutionResultsDataType=Hp,d.sequentialExecutionOperationListOfExecutionResultsReturn=Mo,d.sequentialExecutionOperationListOfExecutionResultsReturnParentRef=zp,d.sequentialExecutionOperationListOfExecutionResultsReturnRef=Wp,d.sequentialExecutionOperationListOfFunctionsArgument=_o,d.sequentialExecutionOperationListOfFunctionsArgumentDatatype=Jp,d.sequentialExecutionOperationListOfFunctionsArgumentParentRef=Yp,d.sequentialExecutionOperationListOfFunctionsArgumentRef=qp,d.sequentialExecutionOperationListOfFunctionsBlueprint=kp,d.softDeletePersistedEntityMethod=Df,d.softDeletePersistedEntityMethodParentRef=Pf,d.sortCallsBasedOnExecutionDependencies=Eg,d.sortChildrenEntitiesBasedOnExecutionDependencies=q9,d.splitListOperation=Ao,d.splitListOperationError=zu,d.splitListOperationErrorParentRef=Yu,d.splitListOperationFirstOutputListDataType=Gu,d.splitListOperationFirstOutputListReturn=qu,d.splitListOperationFirstOutputListReturnParentRef=ku,d.splitListOperationFirstOutputListReturnRef=Do,d.splitListOperationInputListArgument=Uu,d.splitListOperationInputListArgumentParentRef=Fu,d.splitListOperationInputListArgumentRef=Nu,d.splitListOperationInputListDataType=$u,d.splitListOperationSecondOutputListDataType=Ju,d.splitListOperationSecondOutputListReturn=Hu,d.splitListOperationSecondOutputListReturnParentRef=Wu,d.splitListOperationSplitIndexArgument=ju,d.splitListOperationSplitIndexArgumentParentRef=xu,d.splitListOperationSplitIndexArgumentRef=Vu,d.splitListOperationSplitIndexDataType=Lu,d.stringPrototype=F,d.stringValueAutogenerationSchema=Yl,d.suggestNewIdForEntity=ld,d.test_primitive_entities_export=E3,d.toCamelCase=$6,d.toEntityState=Mt,d.toKebabCase=Hv,d.toLowerCaseKebabCase=Zs,d.toPascalCase=V6,d.untypedObjectPrototype=Xe,d.updateErrorsList=X,d.updateValueReader=ha,d.urlDefaultValue=Dy,d.uuidPrototype=ma,d.validateArgumentDeclarationName=sd,d.validateCalledByErrorIdInAction=$9,d.validateCalledByIdInAction=N9,d.validateCallers=dg,d.validateConditionEntityDeclaration=G9,d.validateCustomEntityName=Qs,d.validateDataOperation=xn,d.validateDataOperationDataToValidateArgument=hy,d.validateDataOperationDataToValidateArgumentParentRef=yy,d.validateDataOperationDataToValidateArgumentRef=uy,d.validateDataOperationDataToValidateDataType=py,d.validateDataOperationEntityToMatchTypeArgument=Ey,d.validateDataOperationEntityToMatchTypeArgumentParentRef=Ty,d.validateDataOperationEntityToMatchTypeArgumentRef=fy,d.validateDataOperationEntityToMatchTypeDataType=my,d.validateDataOperationError=gy,d.validateDataOperationErrorParentRef=vy,d.validateDataOperationOutputEntityDeclaration=by,d.validateDataOperationOutputEntityDeclarationParentRef=Ry,d.validateEntryCaller=cg,d.validateErrorCaller=lg,d.validateFunctionCallDeclaration=pg,d.validateFunctionDeclarationName=rd,d.validateGeneratedEntityParentIsNotBuiltInEntity=B9,d.validateGeneration=O9,d.validateGenerationTarget=Pe,d.validateGenerationUpdate=C9,d.validateLoopEntityDeclaration=F9,d.validateName=G6,d.validateOperationEntityDeclaration=yg,d.validatePropertyName=ad,d.validateReachability=mn,d.validateReadsValueInActionPayload=V9,d.validateReferenceObject=eo,d.validateReferenceToOne=pd,d.validateReferences=Ge,d.validateReturnDeclarationName=od,d.validateSuccessCaller=og,d.validateValueReaderGenerationUpdate=ua,d.validateValueWritter=Ed,d.validateVariableDeclarationName=id,d.validateVariableInternalCallUse=Rd,d.valueAutogenerationCurrentDateAndTimeSchema=rb,d.valueAutogenerationGenericSchema=Rs,d.valueAutogenerationOptions=Xl,d.valueAutogenerationOptionsSchema=nb,d.valueAutogenerationRandomBooleanSchema=Hl,d.valueAutogenerationRandomDateBetweenSchema=pb,d.valueAutogenerationRandomDateFromSchema=db,d.valueAutogenerationRandomDateSchema=gs,d.valueAutogenerationRandomDateUntilSchema=ub,d.valueAutogenerationRandomNumberBetweenSchema=sb,d.valueAutogenerationRandomNumberFromSchema=ib,d.valueAutogenerationRandomNumberSchema=bs,d.valueAutogenerationRandomNumberUntilSchema=ab,d.valueAutogenerationRandomSchema=Hi,d.valueAutogenerationRandomTextBetweenSchema=cb,d.valueAutogenerationRandomTextFromSchema=ob,d.valueAutogenerationRandomTextSchema=vs,d.valueAutogenerationRandomTextUntilSchema=lb,d.valueAutogenerationRangeValueTypesSchema=Wi,d.valueAutogenerationUniqueSchema=Wl,d.waitOperation=ot,d.waitOperationMillisecondsNumberArgument=Un,d.waitOperationMillisecondsNumberArgumentRef=Vp,d.waitOperationMillisecondsNumberDataType=Lp,d.waitOperationOperationError=Up,d.waitOperationOperationErrorParentRef=Fp,d.waitOperationRef=Gp,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});