UNPKG

agentlang

Version:

The easiest way to build the most reliable AI agents - enterprise-grade teams of AI agents that collaborate with each other and humans

1,367 lines 46.9 kB
/****************************************************************************** * This file was generated by langium-cli 3.5.2. * DO NOT EDIT MANUALLY! ******************************************************************************/ /* eslint-disable */ import * as langium from 'langium'; export const AgentlangTerminals = { ID: /(([_a-zA-Z][\w_]*)(\/([_a-zA-Z][\w_]*))?)/, STRING: /("(((\\([\s\S]))|((?!(((\\|")|\r)|\n))[\s\S]*?))|(\r?\n))*")/, INT: /-?[0-9]+/, WS: /\s+/, ML_COMMENT: /\/\*[\s\S]*?\*\//, SL_COMMENT: /\/\/[^\n\r]*/, }; export const AttributeValueExpression = 'AttributeValueExpression'; export function isAttributeValueExpression(item) { return reflection.isInstance(item, AttributeValueExpression); } export function isBoolean(item) { return item === 'true' || item === 'false'; } export function isDecimal(item) { return typeof item === 'number'; } export const Definition = 'Definition'; export function isDefinition(item) { return reflection.isInstance(item, Definition); } export const Expr = 'Expr'; export function isExpr(item) { return reflection.isInstance(item, Expr); } export const FlowStepSpec = 'FlowStepSpec'; export function isFlowStepSpec(item) { return reflection.isInstance(item, FlowStepSpec); } export function isGenericName(item) { return (typeof item === 'string' && (/(([_a-zA-Z][\w_]*)(\/([_a-zA-Z][\w_]*))?)/.test(item) || /("(((\\([\s\S]))|((?!(((\\|")|\r)|\n))[\s\S]*?))|(\r?\n))*")/.test(item))); } export function isJoinType(item) { return item === '@join' || item === '@inner_join' || item === '@left_join' || item === '@right_join' || item === '@full_join'; } export const PrimExpr = 'PrimExpr'; export function isPrimExpr(item) { return reflection.isInstance(item, PrimExpr); } export function isQualifiedName(item) { return isRef(item) || (typeof item === 'string' && (/(([_a-zA-Z][\w_]*)(\/([_a-zA-Z][\w_]*))?)/.test(item))); } export function isQueryId(item) { return typeof item === 'string'; } export function isRef(item) { return typeof item === 'string'; } export const SchemaDefinition = 'SchemaDefinition'; export function isSchemaDefinition(item) { return reflection.isInstance(item, SchemaDefinition); } export function isSqlComparisonOpr(item) { return item === '=' || item === '<>' || item === '!=' || item === '<' || item === '<=' || item === '>' || item === '>=' || item === 'in' || item === 'like' || item === 'between'; } export function isTaggedId(item) { return typeof item === 'string'; } export function isWorkflowHeaderPrefix(item) { return item === 'create' || item === 'update' || item === 'delete'; } export function isWorkflowHeaderTag(item) { return item === '@after' || item === '@before'; } export const ActionEntry = 'ActionEntry'; export function isActionEntry(item) { return reflection.isInstance(item, ActionEntry); } export const AfterTriggerDefinition = 'AfterTriggerDefinition'; export function isAfterTriggerDefinition(item) { return reflection.isInstance(item, AfterTriggerDefinition); } export const AgentDefinition = 'AgentDefinition'; export function isAgentDefinition(item) { return reflection.isInstance(item, AgentDefinition); } export const AgentXtraAttribute = 'AgentXtraAttribute'; export function isAgentXtraAttribute(item) { return reflection.isInstance(item, AgentXtraAttribute); } export const AgentXtraSpec = 'AgentXtraSpec'; export function isAgentXtraSpec(item) { return reflection.isInstance(item, AgentXtraSpec); } export const AliasSpec = 'AliasSpec'; export function isAliasSpec(item) { return reflection.isInstance(item, AliasSpec); } export const ArrayLiteral = 'ArrayLiteral'; export function isArrayLiteral(item) { return reflection.isInstance(item, ArrayLiteral); } export const AsyncFnCall = 'AsyncFnCall'; export function isAsyncFnCall(item) { return reflection.isInstance(item, AsyncFnCall); } export const AttributeDefinition = 'AttributeDefinition'; export function isAttributeDefinition(item) { return reflection.isInstance(item, AttributeDefinition); } export const BackoffSpec = 'BackoffSpec'; export function isBackoffSpec(item) { return reflection.isInstance(item, BackoffSpec); } export const BeforeTriggerDefinition = 'BeforeTriggerDefinition'; export function isBeforeTriggerDefinition(item) { return reflection.isInstance(item, BeforeTriggerDefinition); } export const BinExpr = 'BinExpr'; export function isBinExpr(item) { return reflection.isInstance(item, BinExpr); } export const CaseEntry = 'CaseEntry'; export function isCaseEntry(item) { return reflection.isInstance(item, CaseEntry); } export const CatchSpec = 'CatchSpec'; export function isCatchSpec(item) { return reflection.isInstance(item, CatchSpec); } export const CompositeUniqueDefinition = 'CompositeUniqueDefinition'; export function isCompositeUniqueDefinition(item) { return reflection.isInstance(item, CompositeUniqueDefinition); } export const ConditionalFlowStep = 'ConditionalFlowStep'; export function isConditionalFlowStep(item) { return reflection.isInstance(item, ConditionalFlowStep); } export const CrudMap = 'CrudMap'; export function isCrudMap(item) { return reflection.isInstance(item, CrudMap); } export const CrudMapBody = 'CrudMapBody'; export function isCrudMapBody(item) { return reflection.isInstance(item, CrudMapBody); } export const DecisionDefBody = 'DecisionDefBody'; export function isDecisionDefBody(item) { return reflection.isInstance(item, DecisionDefBody); } export const DecisionDefinition = 'DecisionDefinition'; export function isDecisionDefinition(item) { return reflection.isInstance(item, DecisionDefinition); } export const Delete = 'Delete'; export function isDelete(item) { return reflection.isInstance(item, Delete); } export const DirectiveDefinition = 'DirectiveDefinition'; export function isDirectiveDefinition(item) { return reflection.isInstance(item, DirectiveDefinition); } export const Else = 'Else'; export function isElse(item) { return reflection.isInstance(item, Else); } export const EntityActionsDefinitions = 'EntityActionsDefinitions'; export function isEntityActionsDefinitions(item) { return reflection.isInstance(item, EntityActionsDefinitions); } export const EntityDefinition = 'EntityDefinition'; export function isEntityDefinition(item) { return reflection.isInstance(item, EntityDefinition); } export const EnumSpec = 'EnumSpec'; export function isEnumSpec(item) { return reflection.isInstance(item, EnumSpec); } export const EventDefinition = 'EventDefinition'; export function isEventDefinition(item) { return reflection.isInstance(item, EventDefinition); } export const ExtendsClause = 'ExtendsClause'; export function isExtendsClause(item) { return reflection.isInstance(item, ExtendsClause); } export const FlowDefBody = 'FlowDefBody'; export function isFlowDefBody(item) { return reflection.isInstance(item, FlowDefBody); } export const FlowDefinition = 'FlowDefinition'; export function isFlowDefinition(item) { return reflection.isInstance(item, FlowDefinition); } export const FlowEntry = 'FlowEntry'; export function isFlowEntry(item) { return reflection.isInstance(item, FlowEntry); } export const FnCall = 'FnCall'; export function isFnCall(item) { return reflection.isInstance(item, FnCall); } export const ForEach = 'ForEach'; export function isForEach(item) { return reflection.isInstance(item, ForEach); } export const FullTextSearch = 'FullTextSearch'; export function isFullTextSearch(item) { return reflection.isInstance(item, FullTextSearch); } export const GenericDefBody = 'GenericDefBody'; export function isGenericDefBody(item) { return reflection.isInstance(item, GenericDefBody); } export const GenericPropertyDef = 'GenericPropertyDef'; export function isGenericPropertyDef(item) { return reflection.isInstance(item, GenericPropertyDef); } export const GlossaryEntryDefinition = 'GlossaryEntryDefinition'; export function isGlossaryEntryDefinition(item) { return reflection.isInstance(item, GlossaryEntryDefinition); } export const Group = 'Group'; export function isGroup(item) { return reflection.isInstance(item, Group); } export const Handler = 'Handler'; export function isHandler(item) { return reflection.isInstance(item, Handler); } export const If = 'If'; export function isIf(item) { return reflection.isInstance(item, If); } export const Import = 'Import'; export function isImport(item) { return reflection.isInstance(item, Import); } export const JoinSpec = 'JoinSpec'; export function isJoinSpec(item) { return reflection.isInstance(item, JoinSpec); } export const KvPair = 'KvPair'; export function isKvPair(item) { return reflection.isInstance(item, KvPair); } export const KvPairs = 'KvPairs'; export function isKvPairs(item) { return reflection.isInstance(item, KvPairs); } export const Literal = 'Literal'; export function isLiteral(item) { return reflection.isInstance(item, Literal); } export const MapEntry = 'MapEntry'; export function isMapEntry(item) { return reflection.isInstance(item, MapEntry); } export const MapKey = 'MapKey'; export function isMapKey(item) { return reflection.isInstance(item, MapKey); } export const MapLiteral = 'MapLiteral'; export function isMapLiteral(item) { return reflection.isInstance(item, MapLiteral); } export const MetaDefinition = 'MetaDefinition'; export function isMetaDefinition(item) { return reflection.isInstance(item, MetaDefinition); } export const ModuleDefinition = 'ModuleDefinition'; export function isModuleDefinition(item) { return reflection.isInstance(item, ModuleDefinition); } export const NegExpr = 'NegExpr'; export function isNegExpr(item) { return reflection.isInstance(item, NegExpr); } export const NodeDefinition = 'NodeDefinition'; export function isNodeDefinition(item) { return reflection.isInstance(item, NodeDefinition); } export const NotExpr = 'NotExpr'; export function isNotExpr(item) { return reflection.isInstance(item, NotExpr); } export const OneOfSpec = 'OneOfSpec'; export function isOneOfSpec(item) { return reflection.isInstance(item, OneOfSpec); } export const Pattern = 'Pattern'; export function isPattern(item) { return reflection.isInstance(item, Pattern); } export const PrePostTriggerDefinition = 'PrePostTriggerDefinition'; export function isPrePostTriggerDefinition(item) { return reflection.isInstance(item, PrePostTriggerDefinition); } export const PropertyDefinition = 'PropertyDefinition'; export function isPropertyDefinition(item) { return reflection.isInstance(item, PropertyDefinition); } export const PublicAgentDefinition = 'PublicAgentDefinition'; export function isPublicAgentDefinition(item) { return reflection.isInstance(item, PublicAgentDefinition); } export const PublicEventDefinition = 'PublicEventDefinition'; export function isPublicEventDefinition(item) { return reflection.isInstance(item, PublicEventDefinition); } export const PublicWorkflowDefinition = 'PublicWorkflowDefinition'; export function isPublicWorkflowDefinition(item) { return reflection.isInstance(item, PublicWorkflowDefinition); } export const Purge = 'Purge'; export function isPurge(item) { return reflection.isInstance(item, Purge); } export const RbacAllowSpec = 'RbacAllowSpec'; export function isRbacAllowSpec(item) { return reflection.isInstance(item, RbacAllowSpec); } export const RbacExpressionSpec = 'RbacExpressionSpec'; export function isRbacExpressionSpec(item) { return reflection.isInstance(item, RbacExpressionSpec); } export const RbacOpr = 'RbacOpr'; export function isRbacOpr(item) { return reflection.isInstance(item, RbacOpr); } export const RbacRolesSpec = 'RbacRolesSpec'; export function isRbacRolesSpec(item) { return reflection.isInstance(item, RbacRolesSpec); } export const RbacSpecDefinition = 'RbacSpecDefinition'; export function isRbacSpecDefinition(item) { return reflection.isInstance(item, RbacSpecDefinition); } export const RbacSpecEntries = 'RbacSpecEntries'; export function isRbacSpecEntries(item) { return reflection.isInstance(item, RbacSpecEntries); } export const RbacSpecEntry = 'RbacSpecEntry'; export function isRbacSpecEntry(item) { return reflection.isInstance(item, RbacSpecEntry); } export const RecordDefinition = 'RecordDefinition'; export function isRecordDefinition(item) { return reflection.isInstance(item, RecordDefinition); } export const RecordExtraDefinition = 'RecordExtraDefinition'; export function isRecordExtraDefinition(item) { return reflection.isInstance(item, RecordExtraDefinition); } export const RecordSchemaDefinition = 'RecordSchemaDefinition'; export function isRecordSchemaDefinition(item) { return reflection.isInstance(item, RecordSchemaDefinition); } export const RefSpec = 'RefSpec'; export function isRefSpec(item) { return reflection.isInstance(item, RefSpec); } export const RelationshipDefinition = 'RelationshipDefinition'; export function isRelationshipDefinition(item) { return reflection.isInstance(item, RelationshipDefinition); } export const RelationshipPattern = 'RelationshipPattern'; export function isRelationshipPattern(item) { return reflection.isInstance(item, RelationshipPattern); } export const RelNodes = 'RelNodes'; export function isRelNodes(item) { return reflection.isInstance(item, RelNodes); } export const ResolverDefinition = 'ResolverDefinition'; export function isResolverDefinition(item) { return reflection.isInstance(item, ResolverDefinition); } export const ResolverFnName = 'ResolverFnName'; export function isResolverFnName(item) { return reflection.isInstance(item, ResolverFnName); } export const ResolverMethodName = 'ResolverMethodName'; export function isResolverMethodName(item) { return reflection.isInstance(item, ResolverMethodName); } export const ResolverMethodSpec = 'ResolverMethodSpec'; export function isResolverMethodSpec(item) { return reflection.isInstance(item, ResolverMethodSpec); } export const RetryDefinition = 'RetryDefinition'; export function isRetryDefinition(item) { return reflection.isInstance(item, RetryDefinition); } export const Return = 'Return'; export function isReturn(item) { return reflection.isInstance(item, Return); } export const RuntimeHint = 'RuntimeHint'; export function isRuntimeHint(item) { return reflection.isInstance(item, RuntimeHint); } export const ScenarioDefinition = 'ScenarioDefinition'; export function isScenarioDefinition(item) { return reflection.isInstance(item, ScenarioDefinition); } export const SelectIntoEntry = 'SelectIntoEntry'; export function isSelectIntoEntry(item) { return reflection.isInstance(item, SelectIntoEntry); } export const SelectIntoSpec = 'SelectIntoSpec'; export function isSelectIntoSpec(item) { return reflection.isInstance(item, SelectIntoSpec); } export const SetAttribute = 'SetAttribute'; export function isSetAttribute(item) { return reflection.isInstance(item, SetAttribute); } export const StandaloneStatement = 'StandaloneStatement'; export function isStandaloneStatement(item) { return reflection.isInstance(item, StandaloneStatement); } export const Statement = 'Statement'; export function isStatement(item) { return reflection.isInstance(item, Statement); } export const ThenSpec = 'ThenSpec'; export function isThenSpec(item) { return reflection.isInstance(item, ThenSpec); } export const TriggerDefinition = 'TriggerDefinition'; export function isTriggerDefinition(item) { return reflection.isInstance(item, TriggerDefinition); } export const TriggerEntry = 'TriggerEntry'; export function isTriggerEntry(item) { return reflection.isInstance(item, TriggerEntry); } export const WorkflowDefinition = 'WorkflowDefinition'; export function isWorkflowDefinition(item) { return reflection.isInstance(item, WorkflowDefinition); } export const WorkflowHeader = 'WorkflowHeader'; export function isWorkflowHeader(item) { return reflection.isInstance(item, WorkflowHeader); } export class AgentlangAstReflection extends langium.AbstractAstReflection { getAllTypes() { return [ActionEntry, AfterTriggerDefinition, AgentDefinition, AgentXtraAttribute, AgentXtraSpec, AliasSpec, ArrayLiteral, AsyncFnCall, AttributeDefinition, AttributeValueExpression, BackoffSpec, BeforeTriggerDefinition, BinExpr, CaseEntry, CatchSpec, CompositeUniqueDefinition, ConditionalFlowStep, CrudMap, CrudMapBody, DecisionDefBody, DecisionDefinition, Definition, Delete, DirectiveDefinition, Else, EntityActionsDefinitions, EntityDefinition, EnumSpec, EventDefinition, Expr, ExtendsClause, FlowDefBody, FlowDefinition, FlowEntry, FlowStepSpec, FnCall, ForEach, FullTextSearch, GenericDefBody, GenericPropertyDef, GlossaryEntryDefinition, Group, Handler, If, Import, JoinSpec, KvPair, KvPairs, Literal, MapEntry, MapKey, MapLiteral, MetaDefinition, ModuleDefinition, NegExpr, NodeDefinition, NotExpr, OneOfSpec, Pattern, PrePostTriggerDefinition, PrimExpr, PropertyDefinition, PublicAgentDefinition, PublicEventDefinition, PublicWorkflowDefinition, Purge, RbacAllowSpec, RbacExpressionSpec, RbacOpr, RbacRolesSpec, RbacSpecDefinition, RbacSpecEntries, RbacSpecEntry, RecordDefinition, RecordExtraDefinition, RecordSchemaDefinition, RefSpec, RelNodes, RelationshipDefinition, RelationshipPattern, ResolverDefinition, ResolverFnName, ResolverMethodName, ResolverMethodSpec, RetryDefinition, Return, RuntimeHint, ScenarioDefinition, SchemaDefinition, SelectIntoEntry, SelectIntoSpec, SetAttribute, StandaloneStatement, Statement, ThenSpec, TriggerDefinition, TriggerEntry, WorkflowDefinition, WorkflowHeader]; } computeIsSubtype(subtype, supertype) { switch (subtype) { case AgentDefinition: case DecisionDefinition: case DirectiveDefinition: case FlowDefinition: case GlossaryEntryDefinition: case PublicAgentDefinition: case PublicWorkflowDefinition: case RelationshipDefinition: case ResolverDefinition: case RetryDefinition: case ScenarioDefinition: case SchemaDefinition: case StandaloneStatement: case WorkflowDefinition: { return this.isSubtype(Definition, supertype); } case BinExpr: case PrimExpr: { return this.isSubtype(Expr, supertype); } case CrudMap: { return this.isSubtype(FlowStepSpec, supertype); } case EntityDefinition: case EventDefinition: case PublicEventDefinition: case RecordDefinition: { return this.isSubtype(SchemaDefinition, supertype); } case Expr: { return this.isSubtype(AttributeValueExpression, supertype); } case Group: case Literal: case NegExpr: case NotExpr: { return this.isSubtype(PrimExpr, supertype); } default: { return false; } } } getReferenceType(refInfo) { const referenceId = `${refInfo.container.$type}:${refInfo.property}`; switch (referenceId) { default: { throw new Error(`${referenceId} is not a valid reference id.`); } } } getTypeMetaData(type) { switch (type) { case ActionEntry: { return { name: ActionEntry, properties: [ { name: 'event' }, { name: 'name' } ] }; } case AfterTriggerDefinition: { return { name: AfterTriggerDefinition, properties: [ { name: 'triggers' } ] }; } case AgentDefinition: { return { name: AgentDefinition, properties: [ { name: 'body' }, { name: 'name' } ] }; } case AgentXtraAttribute: { return { name: AgentXtraAttribute, properties: [ { name: 'name' }, { name: 'value' } ] }; } case AgentXtraSpec: { return { name: AgentXtraSpec, properties: [ { name: 'attributes', defaultValue: [] } ] }; } case AliasSpec: { return { name: AliasSpec, properties: [ { name: 'alias' }, { name: 'aliases', defaultValue: [] } ] }; } case ArrayLiteral: { return { name: ArrayLiteral, properties: [ { name: 'vals', defaultValue: [] } ] }; } case AsyncFnCall: { return { name: AsyncFnCall, properties: [ { name: 'fnCall' } ] }; } case AttributeDefinition: { return { name: AttributeDefinition, properties: [ { name: 'arrayType' }, { name: 'enumSpec' }, { name: 'expr' }, { name: 'name' }, { name: 'oneOfSpec' }, { name: 'properties', defaultValue: [] }, { name: 'refSpec' }, { name: 'type' } ] }; } case BackoffSpec: { return { name: BackoffSpec, properties: [ { name: 'attributes', defaultValue: [] } ] }; } case BeforeTriggerDefinition: { return { name: BeforeTriggerDefinition, properties: [ { name: 'triggers' } ] }; } case BinExpr: { return { name: BinExpr, properties: [ { name: 'e1' }, { name: 'e2' }, { name: 'op' } ] }; } case CaseEntry: { return { name: CaseEntry, properties: [ { name: 'cond' }, { name: 'statements', defaultValue: [] } ] }; } case CatchSpec: { return { name: CatchSpec, properties: [ { name: 'handlers', defaultValue: [] } ] }; } case CompositeUniqueDefinition: { return { name: CompositeUniqueDefinition, properties: [ { name: 'attrs', defaultValue: [] } ] }; } case ConditionalFlowStep: { return { name: ConditionalFlowStep, properties: [ { name: 'expr' }, { name: 'next' } ] }; } case CrudMap: { return { name: CrudMap, properties: [ { name: 'body' }, { name: 'distinct', defaultValue: [] }, { name: 'into' }, { name: 'join' }, { name: 'name' }, { name: 'relationships', defaultValue: [] }, { name: 'source' }, { name: 'upsert', defaultValue: [] } ] }; } case CrudMapBody: { return { name: CrudMapBody, properties: [ { name: 'attributes', defaultValue: [] }, { name: 'properties', defaultValue: [] } ] }; } case DecisionDefBody: { return { name: DecisionDefBody, properties: [ { name: 'cases', defaultValue: [] } ] }; } case DecisionDefinition: { return { name: DecisionDefinition, properties: [ { name: 'body' }, { name: 'name' } ] }; } case Delete: { return { name: Delete, properties: [ { name: 'pattern' } ] }; } case DirectiveDefinition: { return { name: DirectiveDefinition, properties: [ { name: 'body' }, { name: 'dir' }, { name: 'name' } ] }; } case Else: { return { name: Else, properties: [ { name: 'statements', defaultValue: [] } ] }; } case EntityActionsDefinitions: { return { name: EntityActionsDefinitions, properties: [ { name: 'entries', defaultValue: [] } ] }; } case EntityDefinition: { return { name: EntityDefinition, properties: [ { name: 'extends' }, { name: 'name' }, { name: 'schema' } ] }; } case EnumSpec: { return { name: EnumSpec, properties: [ { name: 'type' }, { name: 'values', defaultValue: [] } ] }; } case EventDefinition: { return { name: EventDefinition, properties: [ { name: 'extends' }, { name: 'name' }, { name: 'schema' } ] }; } case ExtendsClause: { return { name: ExtendsClause, properties: [ { name: 'parentName' } ] }; } case FlowDefBody: { return { name: FlowDefBody, properties: [ { name: 'entries', defaultValue: [] } ] }; } case FlowDefinition: { return { name: FlowDefinition, properties: [ { name: 'body' }, { name: 'name' } ] }; } case FlowEntry: { return { name: FlowEntry, properties: [ { name: 'cond' }, { name: 'next' }, { name: 'root' } ] }; } case FnCall: { return { name: FnCall, properties: [ { name: 'args', defaultValue: [] }, { name: 'name' } ] }; } case ForEach: { return { name: ForEach, properties: [ { name: 'src' }, { name: 'statements', defaultValue: [] }, { name: 'var' } ] }; } case FullTextSearch: { return { name: FullTextSearch, properties: [ { name: 'name' }, { name: 'options' }, { name: 'query' } ] }; } case GenericDefBody: { return { name: GenericDefBody, properties: [ { name: 'attributes', defaultValue: [] } ] }; } case GenericPropertyDef: { return { name: GenericPropertyDef, properties: [ { name: 'name' }, { name: 'value' } ] }; } case GlossaryEntryDefinition: { return { name: GlossaryEntryDefinition, properties: [ { name: 'body' }, { name: 'glos' }, { name: 'name' } ] }; } case Group: { return { name: Group, properties: [ { name: 'ge' } ] }; } case Handler: { return { name: Handler, properties: [ { name: 'except' }, { name: 'stmt' } ] }; } case If: { return { name: If, properties: [ { name: 'cond' }, { name: 'else' }, { name: 'statements', defaultValue: [] } ] }; } case Import: { return { name: Import, properties: [ { name: 'name' }, { name: 'path' } ] }; } case JoinSpec: { return { name: JoinSpec, properties: [ { name: 'lhs' }, { name: 'name' }, { name: 'op' }, { name: 'rhs' }, { name: 'type' } ] }; } case KvPair: { return { name: KvPair, properties: [ { name: 'key' }, { name: 'value' } ] }; } case KvPairs: { return { name: KvPairs, properties: [ { name: 'pairs', defaultValue: [] } ] }; } case Literal: { return { name: Literal, properties: [ { name: 'array' }, { name: 'asyncFnCall' }, { name: 'bool' }, { name: 'fnCall' }, { name: 'id' }, { name: 'map' }, { name: 'num' }, { name: 'ref' }, { name: 'str' } ] }; } case MapEntry: { return { name: MapEntry, properties: [ { name: 'key' }, { name: 'value' } ] }; } case MapKey: { return { name: MapKey, properties: [ { name: 'bool' }, { name: 'num' }, { name: 'str' } ] }; } case MapLiteral: { return { name: MapLiteral, properties: [ { name: 'entries', defaultValue: [] } ] }; } case MetaDefinition: { return { name: MetaDefinition, properties: [ { name: 'spec' } ] }; } case ModuleDefinition: { return { name: ModuleDefinition, properties: [ { name: 'defs', defaultValue: [] }, { name: 'imports', defaultValue: [] }, { name: 'name' } ] }; } case NegExpr: { return { name: NegExpr, properties: [ { name: 'ne' } ] }; } case NodeDefinition: { return { name: NodeDefinition, properties: [ { name: 'alias' }, { name: 'name' } ] }; } case NotExpr: { return { name: NotExpr, properties: [ { name: 'ne' } ] }; } case OneOfSpec: { return { name: OneOfSpec, properties: [ { name: 'ref' } ] }; } case Pattern: { return { name: Pattern, properties: [ { name: 'crudMap' }, { name: 'delete' }, { name: 'expr' }, { name: 'forEach' }, { name: 'fullTextSearch' }, { name: 'if' }, { name: 'purge' }, { name: 'return' } ] }; } case PrePostTriggerDefinition: { return { name: PrePostTriggerDefinition, properties: [ { name: 'after' }, { name: 'before' } ] }; } case PropertyDefinition: { return { name: PropertyDefinition, properties: [ { name: 'name' }, { name: 'value' } ] }; } case PublicAgentDefinition: { return { name: PublicAgentDefinition, properties: [ { name: 'def' } ] }; } case PublicEventDefinition: { return { name: PublicEventDefinition, properties: [ { name: 'def' } ] }; } case PublicWorkflowDefinition: { return { name: PublicWorkflowDefinition, properties: [ { name: 'def' } ] }; } case Purge: { return { name: Purge, properties: [ { name: 'pattern' } ] }; } case RbacAllowSpec: { return { name: RbacAllowSpec, properties: [ { name: 'oprs', defaultValue: [] } ] }; } case RbacExpressionSpec: { return { name: RbacExpressionSpec, properties: [ { name: 'lhs' }, { name: 'rhs' } ] }; } case RbacOpr: { return { name: RbacOpr, properties: [ { name: 'value' } ] }; } case RbacRolesSpec: { return { name: RbacRolesSpec, properties: [ { name: 'roles', defaultValue: [] } ] }; } case RbacSpecDefinition: { return { name: RbacSpecDefinition, properties: [ { name: 'specEntries', defaultValue: [] } ] }; } case RbacSpecEntries: { return { name: RbacSpecEntries, properties: [ { name: 'entries', defaultValue: [] } ] }; } case RbacSpecEntry: { return { name: RbacSpecEntry, properties: [ { name: 'allow' }, { name: 'expr' }, { name: 'role' } ] }; } case RecordDefinition: { return { name: RecordDefinition, properties: [ { name: 'extends' }, { name: 'name' }, { name: 'schema' } ] }; } case RecordExtraDefinition: { return { name: RecordExtraDefinition, properties: [ { name: 'actions' }, { name: 'meta' }, { name: 'prePost' }, { name: 'rbacSpec' }, { name: 'uq' } ] }; } case RecordSchemaDefinition: { return { name: RecordSchemaDefinition, properties: [ { name: 'attributes', defaultValue: [] }, { name: 'extras', defaultValue: [] } ] }; } case RefSpec: { return { name: RefSpec, properties: [ { name: 'ref' }, { name: 'type' } ] }; } case RelationshipDefinition: { return { name: RelationshipDefinition, properties: [ { name: 'name' }, { name: 'nodes' }, { name: 'properties', defaultValue: [] }, { name: 'schema' }, { name: 'type' } ] }; } case RelationshipPattern: { return { name: RelationshipPattern, properties: [ { name: 'name' }, { name: 'pattern' } ] }; } case RelNodes: { return { name: RelNodes, properties: [ { name: 'node1' }, { name: 'node2' } ] }; } case ResolverDefinition: { return { name: ResolverDefinition, properties: [ { name: 'methods', defaultValue: [] }, { name: 'name' }, { name: 'paths', defaultValue: [] } ] }; } case ResolverFnName: { return { name: ResolverFnName, properties: [ { name: 'name' } ] }; } case ResolverMethodName: { return { name: ResolverMethodName, properties: [ { name: 'name' } ] }; } case ResolverMethodSpec: { return { name: ResolverMethodSpec, properties: [ { name: 'fn' }, { name: 'key' } ] }; } case RetryDefinition: { return { name: RetryDefinition, properties: [ { name: 'attempts' }, { name: 'backoff' }, { name: 'name' } ] }; } case Return: { return { name: Return, properties: [ { name: 'pattern' } ] }; } case RuntimeHint: { return { name: RuntimeHint, properties: [ { name: 'aliasSpec' }, { name: 'catchSpec' }, { name: 'thenSpec' } ] }; } case ScenarioDefinition: { return { name: ScenarioDefinition, properties: [ { name: 'body' }, { name: 'name' }, { name: 'scn' } ] }; } case SelectIntoEntry: { return { name: SelectIntoEntry, properties: [ { name: 'alias' }, { name: 'attribute' } ] }; } case SelectIntoSpec: { return { name: SelectIntoSpec, properties: [ { name: 'entries', defaultValue: [] } ] }; } case SetAttribute: { return { name: SetAttribute, properties: [ { name: 'name' }, { name: 'op' }, { name: 'value' } ] }; } case StandaloneStatement: { return { name: StandaloneStatement, properties: [ { name: 'stmt' } ] }; } case Statement: { return { name: Statement, properties: [ { name: 'hints', defaultValue: [] }, { name: 'pattern' } ] }; } case ThenSpec: { return { name: ThenSpec, properties: [ { name: 'statements', defaultValue: [] } ] }; } case TriggerDefinition: { return { name: TriggerDefinition, properties: [ { name: 'entries', defaultValue: [] } ] }; } case TriggerEntry: { return { name: TriggerEntry, properties: [ { name: 'async' }, { name: 'event' }, { name: 'on' } ] }; } case WorkflowDefinition: { return { name: WorkflowDefinition, properties: [ { name: 'header' }, { name: 'name' }, { name: 'statements', defaultValue: [] } ] }; } case WorkflowHeader: { return { name: WorkflowHeader, properties: [ { name: 'name' }, { name: 'prefix' }, { name: 'tag' } ] }; } default: { return { name: type, properties: [] }; } } } } export const reflection = new AgentlangAstReflection(); //# sourceMappingURL=ast.js.map