@voltagent/core 1.2.5 → 1.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1618,20 +1618,39 @@ type RetrieverOptions = {
1618
1618
  [key: string]: any;
1619
1619
  };
1620
1620
  /**
1621
- * Options passed to retrieve method
1621
+ * Options passed to retrieve method.
1622
+ * Includes all operation context fields for user-specific and context-aware retrieval.
1622
1623
  */
1623
- interface RetrieveOptions {
1624
+ interface RetrieveOptions extends Partial<OperationContext> {
1624
1625
  /**
1625
1626
  * User-managed context map for this specific retrieval operation
1626
1627
  * Can be used to store metadata, results, or any custom data
1628
+ *
1629
+ * Inherited from OperationContext but explicitly documented here for clarity
1627
1630
  */
1628
1631
  context?: Map<string | symbol, unknown>;
1629
1632
  /**
1630
1633
  * Optional logger instance for this retrieval operation.
1631
1634
  * Provides execution-scoped logging with full context.
1632
1635
  * Available when retriever is called from an agent or workflow context.
1636
+ *
1637
+ * Inherited from OperationContext but explicitly documented here for clarity
1633
1638
  */
1634
1639
  logger?: Logger;
1640
+ /**
1641
+ * Optional user identifier for user-specific retrieval.
1642
+ * Can be used to filter results by user or implement multi-tenant retrieval.
1643
+ *
1644
+ * Inherited from OperationContext
1645
+ */
1646
+ userId?: string;
1647
+ /**
1648
+ * Optional conversation identifier for conversation-aware retrieval.
1649
+ * Can be used to retrieve conversation-specific context or history.
1650
+ *
1651
+ * Inherited from OperationContext
1652
+ */
1653
+ conversationId?: string;
1635
1654
  }
1636
1655
  /**
1637
1656
  * Retriever interface for retrieving relevant information
@@ -1928,8 +1947,26 @@ interface VoltOpsActionExecutionResult {
1928
1947
  responsePayload: unknown;
1929
1948
  metadata?: Record<string, unknown> | null;
1930
1949
  }
1931
- interface VoltOpsAirtableCreateRecordParams {
1950
+ type VoltOpsCredentialMetadata = {
1951
+ metadata?: Record<string, unknown>;
1952
+ };
1953
+ type VoltOpsStoredCredentialRef = {
1932
1954
  credentialId: string;
1955
+ } & VoltOpsCredentialMetadata;
1956
+ type WithCredentialMetadata<T> = T & VoltOpsCredentialMetadata;
1957
+ type VoltOpsAirtableCredential = VoltOpsStoredCredentialRef | WithCredentialMetadata<{
1958
+ apiKey: string;
1959
+ }>;
1960
+ type VoltOpsSlackCredential = VoltOpsStoredCredentialRef | WithCredentialMetadata<{
1961
+ botToken: string;
1962
+ }>;
1963
+ type VoltOpsDiscordCredential = VoltOpsStoredCredentialRef | WithCredentialMetadata<{
1964
+ botToken: string;
1965
+ }> | WithCredentialMetadata<{
1966
+ webhookUrl: string;
1967
+ }>;
1968
+ interface VoltOpsAirtableCreateRecordParams {
1969
+ credential: VoltOpsAirtableCredential;
1933
1970
  baseId: string;
1934
1971
  tableId: string;
1935
1972
  fields: Record<string, unknown>;
@@ -1940,7 +1977,7 @@ interface VoltOpsAirtableCreateRecordParams {
1940
1977
  projectId?: string | null;
1941
1978
  }
1942
1979
  interface VoltOpsAirtableUpdateRecordParams {
1943
- credentialId: string;
1980
+ credential: VoltOpsAirtableCredential;
1944
1981
  baseId: string;
1945
1982
  tableId: string;
1946
1983
  recordId: string;
@@ -1952,7 +1989,7 @@ interface VoltOpsAirtableUpdateRecordParams {
1952
1989
  projectId?: string | null;
1953
1990
  }
1954
1991
  interface VoltOpsAirtableDeleteRecordParams {
1955
- credentialId: string;
1992
+ credential: VoltOpsAirtableCredential;
1956
1993
  baseId: string;
1957
1994
  tableId: string;
1958
1995
  recordId: string;
@@ -1961,7 +1998,7 @@ interface VoltOpsAirtableDeleteRecordParams {
1961
1998
  projectId?: string | null;
1962
1999
  }
1963
2000
  interface VoltOpsAirtableGetRecordParams {
1964
- credentialId: string;
2001
+ credential: VoltOpsAirtableCredential;
1965
2002
  baseId: string;
1966
2003
  tableId: string;
1967
2004
  recordId: string;
@@ -1971,7 +2008,7 @@ interface VoltOpsAirtableGetRecordParams {
1971
2008
  projectId?: string | null;
1972
2009
  }
1973
2010
  interface VoltOpsAirtableListRecordsParams {
1974
- credentialId: string;
2011
+ credential: VoltOpsAirtableCredential;
1975
2012
  baseId: string;
1976
2013
  tableId: string;
1977
2014
  view?: string;
@@ -1990,7 +2027,7 @@ interface VoltOpsAirtableListRecordsParams {
1990
2027
  projectId?: string | null;
1991
2028
  }
1992
2029
  interface VoltOpsSlackBaseParams {
1993
- credentialId: string;
2030
+ credential: VoltOpsSlackCredential;
1994
2031
  actionId?: string;
1995
2032
  catalogId?: string;
1996
2033
  projectId?: string | null;
@@ -2024,6 +2061,83 @@ interface VoltOpsSlackSearchMessagesParams extends VoltOpsSlackBaseParams {
2024
2061
  channelIds?: string[];
2025
2062
  limit?: number;
2026
2063
  }
2064
+ type VoltOpsDiscordChannelType = "text" | "voice" | "announcement" | "category" | "forum";
2065
+ interface VoltOpsDiscordConfig {
2066
+ guildId?: string;
2067
+ channelId?: string;
2068
+ threadId?: string;
2069
+ userId?: string;
2070
+ roleId?: string;
2071
+ }
2072
+ interface VoltOpsDiscordBaseParams {
2073
+ credential: VoltOpsDiscordCredential;
2074
+ catalogId?: string;
2075
+ projectId?: string | null;
2076
+ actionId?: string;
2077
+ config?: VoltOpsDiscordConfig | null;
2078
+ }
2079
+ interface VoltOpsDiscordSendMessageParams extends VoltOpsDiscordBaseParams {
2080
+ guildId?: string;
2081
+ channelId?: string;
2082
+ threadId?: string;
2083
+ content?: string;
2084
+ embeds?: unknown[];
2085
+ components?: unknown[];
2086
+ tts?: boolean;
2087
+ allowedMentions?: Record<string, unknown>;
2088
+ replyToMessageId?: string;
2089
+ }
2090
+ interface VoltOpsDiscordSendWebhookMessageParams extends VoltOpsDiscordSendMessageParams {
2091
+ username?: string;
2092
+ avatarUrl?: string;
2093
+ }
2094
+ interface VoltOpsDiscordChannelMessageParams extends VoltOpsDiscordBaseParams {
2095
+ channelId: string;
2096
+ messageId: string;
2097
+ }
2098
+ interface VoltOpsDiscordListMessagesParams extends VoltOpsDiscordBaseParams {
2099
+ channelId: string;
2100
+ limit?: number;
2101
+ before?: string;
2102
+ after?: string;
2103
+ }
2104
+ interface VoltOpsDiscordReactionParams extends VoltOpsDiscordBaseParams {
2105
+ channelId: string;
2106
+ messageId: string;
2107
+ emoji: string;
2108
+ }
2109
+ interface VoltOpsDiscordCreateChannelParams extends VoltOpsDiscordBaseParams {
2110
+ guildId: string;
2111
+ name: string;
2112
+ type?: VoltOpsDiscordChannelType;
2113
+ topic?: string;
2114
+ }
2115
+ interface VoltOpsDiscordUpdateChannelParams extends VoltOpsDiscordBaseParams {
2116
+ channelId: string;
2117
+ name?: string;
2118
+ topic?: string;
2119
+ archived?: boolean;
2120
+ locked?: boolean;
2121
+ }
2122
+ interface VoltOpsDiscordDeleteChannelParams extends VoltOpsDiscordBaseParams {
2123
+ channelId: string;
2124
+ }
2125
+ interface VoltOpsDiscordGetChannelParams extends VoltOpsDiscordBaseParams {
2126
+ channelId: string;
2127
+ }
2128
+ interface VoltOpsDiscordListChannelsParams extends VoltOpsDiscordBaseParams {
2129
+ guildId: string;
2130
+ }
2131
+ interface VoltOpsDiscordListMembersParams extends VoltOpsDiscordBaseParams {
2132
+ guildId: string;
2133
+ limit?: number;
2134
+ after?: string;
2135
+ }
2136
+ interface VoltOpsDiscordMemberRoleParams extends VoltOpsDiscordBaseParams {
2137
+ guildId: string;
2138
+ userId: string;
2139
+ roleId: string;
2140
+ }
2027
2141
  type VoltOpsActionsApi = {
2028
2142
  airtable: {
2029
2143
  createRecord: (params: VoltOpsAirtableCreateRecordParams) => Promise<VoltOpsActionExecutionResult>;
@@ -2037,6 +2151,23 @@ type VoltOpsActionsApi = {
2037
2151
  deleteMessage: (params: VoltOpsSlackDeleteMessageParams) => Promise<VoltOpsActionExecutionResult>;
2038
2152
  searchMessages: (params: VoltOpsSlackSearchMessagesParams) => Promise<VoltOpsActionExecutionResult>;
2039
2153
  };
2154
+ discord: {
2155
+ sendMessage: (params: VoltOpsDiscordSendMessageParams) => Promise<VoltOpsActionExecutionResult>;
2156
+ sendWebhookMessage: (params: VoltOpsDiscordSendWebhookMessageParams) => Promise<VoltOpsActionExecutionResult>;
2157
+ deleteMessage: (params: VoltOpsDiscordChannelMessageParams) => Promise<VoltOpsActionExecutionResult>;
2158
+ getMessage: (params: VoltOpsDiscordChannelMessageParams) => Promise<VoltOpsActionExecutionResult>;
2159
+ listMessages: (params: VoltOpsDiscordListMessagesParams) => Promise<VoltOpsActionExecutionResult>;
2160
+ addReaction: (params: VoltOpsDiscordReactionParams) => Promise<VoltOpsActionExecutionResult>;
2161
+ removeReaction: (params: VoltOpsDiscordReactionParams) => Promise<VoltOpsActionExecutionResult>;
2162
+ createChannel: (params: VoltOpsDiscordCreateChannelParams) => Promise<VoltOpsActionExecutionResult>;
2163
+ updateChannel: (params: VoltOpsDiscordUpdateChannelParams) => Promise<VoltOpsActionExecutionResult>;
2164
+ deleteChannel: (params: VoltOpsDiscordDeleteChannelParams) => Promise<VoltOpsActionExecutionResult>;
2165
+ getChannel: (params: VoltOpsDiscordGetChannelParams) => Promise<VoltOpsActionExecutionResult>;
2166
+ listChannels: (params: VoltOpsDiscordListChannelsParams) => Promise<VoltOpsActionExecutionResult>;
2167
+ listMembers: (params: VoltOpsDiscordListMembersParams) => Promise<VoltOpsActionExecutionResult>;
2168
+ addMemberRole: (params: VoltOpsDiscordMemberRoleParams) => Promise<VoltOpsActionExecutionResult>;
2169
+ removeMemberRole: (params: VoltOpsDiscordMemberRoleParams) => Promise<VoltOpsActionExecutionResult>;
2170
+ };
2040
2171
  };
2041
2172
  interface VoltOpsEvalsApi {
2042
2173
  runs: {
@@ -2447,6 +2578,23 @@ declare class VoltOpsActionsClient {
2447
2578
  deleteMessage: (params: VoltOpsSlackDeleteMessageParams) => Promise<VoltOpsActionExecutionResult>;
2448
2579
  searchMessages: (params: VoltOpsSlackSearchMessagesParams) => Promise<VoltOpsActionExecutionResult>;
2449
2580
  };
2581
+ readonly discord: {
2582
+ sendMessage: (params: VoltOpsDiscordSendMessageParams) => Promise<VoltOpsActionExecutionResult>;
2583
+ sendWebhookMessage: (params: VoltOpsDiscordSendWebhookMessageParams) => Promise<VoltOpsActionExecutionResult>;
2584
+ deleteMessage: (params: VoltOpsDiscordChannelMessageParams) => Promise<VoltOpsActionExecutionResult>;
2585
+ getMessage: (params: VoltOpsDiscordChannelMessageParams) => Promise<VoltOpsActionExecutionResult>;
2586
+ listMessages: (params: VoltOpsDiscordListMessagesParams) => Promise<VoltOpsActionExecutionResult>;
2587
+ addReaction: (params: VoltOpsDiscordReactionParams) => Promise<VoltOpsActionExecutionResult>;
2588
+ removeReaction: (params: VoltOpsDiscordReactionParams) => Promise<VoltOpsActionExecutionResult>;
2589
+ createChannel: (params: VoltOpsDiscordCreateChannelParams) => Promise<VoltOpsActionExecutionResult>;
2590
+ updateChannel: (params: VoltOpsDiscordUpdateChannelParams) => Promise<VoltOpsActionExecutionResult>;
2591
+ deleteChannel: (params: VoltOpsDiscordDeleteChannelParams) => Promise<VoltOpsActionExecutionResult>;
2592
+ getChannel: (params: VoltOpsDiscordGetChannelParams) => Promise<VoltOpsActionExecutionResult>;
2593
+ listChannels: (params: VoltOpsDiscordListChannelsParams) => Promise<VoltOpsActionExecutionResult>;
2594
+ listMembers: (params: VoltOpsDiscordListMembersParams) => Promise<VoltOpsActionExecutionResult>;
2595
+ addMemberRole: (params: VoltOpsDiscordMemberRoleParams) => Promise<VoltOpsActionExecutionResult>;
2596
+ removeMemberRole: (params: VoltOpsDiscordMemberRoleParams) => Promise<VoltOpsActionExecutionResult>;
2597
+ };
2450
2598
  constructor(transport: VoltOpsActionsTransport, options?: {
2451
2599
  useProjectEndpoint?: boolean;
2452
2600
  });
@@ -2462,6 +2610,33 @@ declare class VoltOpsActionsClient {
2462
2610
  private deleteSlackMessage;
2463
2611
  private searchSlackMessages;
2464
2612
  private executeSlackAction;
2613
+ private sendDiscordMessage;
2614
+ private sendDiscordWebhookMessage;
2615
+ private deleteDiscordMessage;
2616
+ private getDiscordMessage;
2617
+ private listDiscordMessages;
2618
+ private addDiscordReaction;
2619
+ private removeDiscordReaction;
2620
+ private handleDiscordReaction;
2621
+ private createDiscordChannel;
2622
+ private updateDiscordChannel;
2623
+ private deleteDiscordChannel;
2624
+ private getDiscordChannel;
2625
+ private listDiscordChannels;
2626
+ private listDiscordMembers;
2627
+ private addDiscordMemberRole;
2628
+ private removeDiscordMemberRole;
2629
+ private handleDiscordMemberRole;
2630
+ private executeDiscordAction;
2631
+ private buildDiscordMessageInput;
2632
+ private mergeDiscordConfig;
2633
+ private optionalIdentifier;
2634
+ private ensureArray;
2635
+ private normalizeDiscordChannelType;
2636
+ private ensureAirtableCredential;
2637
+ private ensureSlackCredential;
2638
+ private ensureDiscordCredential;
2639
+ private normalizeCredentialMetadata;
2465
2640
  private normalizeIdentifier;
2466
2641
  private ensureRecord;
2467
2642
  private sanitizeStringArray;
@@ -7196,504 +7371,699 @@ type CreateOutputGuardrailOptions<TOutput = unknown> = CreateGuardrailDefinition
7196
7371
  declare function createInputGuardrail(options: CreateInputGuardrailOptions): InputGuardrail;
7197
7372
  declare function createOutputGuardrail<TOutput = unknown>(options: CreateOutputGuardrailOptions<TOutput>): OutputGuardrail<TOutput>;
7198
7373
 
7199
- /**
7200
- * In-Memory Storage Adapter for Memory V2
7201
- * Stores conversations and messages in memory
7202
- */
7374
+ declare const TRIGGER_CONTEXT_KEY: unique symbol;
7375
+
7376
+ interface DefaultTriggerCatalogEntry {
7377
+ triggerId: string;
7378
+ dslTriggerId?: string;
7379
+ displayName: string;
7380
+ service: string;
7381
+ category?: string | null;
7382
+ authType?: string | null;
7383
+ deliveryModes: string[];
7384
+ beta?: boolean;
7385
+ defaultVersion?: string | null;
7386
+ metadata?: Record<string, unknown> | null;
7387
+ version?: string;
7388
+ sourceHash?: string | null;
7389
+ payloadSchema?: Record<string, unknown> | null;
7390
+ configSchema?: Record<string, unknown> | null;
7391
+ versionMetadata?: Record<string, unknown> | null;
7392
+ events: ReadonlyArray<DefaultTriggerCatalogEvent>;
7393
+ }
7394
+ interface DefaultTriggerCatalogEvent extends Record<string, unknown> {
7395
+ key: string;
7396
+ displayName: string;
7397
+ description: string;
7398
+ deliveryMode: string;
7399
+ defaultConfig?: Record<string, unknown> | null;
7400
+ [key: string]: unknown;
7401
+ }
7402
+ declare const DEFAULT_TRIGGER_CATALOG: readonly [{
7403
+ readonly triggerId: "cron";
7404
+ readonly displayName: "Cron Trigger";
7405
+ readonly service: "Scheduler";
7406
+ readonly category: "Platform & General";
7407
+ readonly authType: null;
7408
+ readonly deliveryModes: ["schedule"];
7409
+ readonly metadata: {
7410
+ readonly description: "Run an agent or workflow on a recurring schedule using cron expressions.";
7411
+ };
7412
+ readonly version: "1.0.0";
7413
+ readonly events: readonly [{
7414
+ readonly key: "cron.schedule";
7415
+ readonly displayName: "Scheduled run";
7416
+ readonly description: "Execute on the provided cron expression schedule (e.g., every minute, hourly).";
7417
+ readonly deliveryMode: "schedule";
7418
+ readonly defaultConfig: {
7419
+ readonly schedule: {
7420
+ readonly type: "cron";
7421
+ readonly expression: "*/5 * * * *";
7422
+ readonly timezone: "UTC";
7423
+ };
7424
+ };
7425
+ }];
7426
+ }, {
7427
+ readonly triggerId: "gmail-new-email";
7428
+ readonly dslTriggerId: "gmail";
7429
+ readonly displayName: "Gmail";
7430
+ readonly service: "Gmail";
7431
+ readonly category: "Email & Messaging";
7432
+ readonly authType: "oauth2";
7433
+ readonly deliveryModes: ["polling"];
7434
+ readonly metadata: {
7435
+ readonly description: "Trigger when a new email appears in a selected Gmail inbox or label.";
7436
+ };
7437
+ readonly version: "1.0.0";
7438
+ readonly events: readonly [{
7439
+ readonly key: "gmail.newEmail";
7440
+ readonly displayName: "New email";
7441
+ readonly description: "Detect new emails in the configured Gmail account and optional label or search filter.";
7442
+ readonly deliveryMode: "polling";
7443
+ }];
7444
+ }, {
7445
+ readonly triggerId: "github";
7446
+ readonly displayName: "GitHub";
7447
+ readonly service: "GitHub";
7448
+ readonly category: "Developer Tools";
7449
+ readonly authType: "token";
7450
+ readonly deliveryModes: ["webhook"];
7451
+ readonly metadata: {
7452
+ readonly description: "Trigger workflows from GitHub repository activity such as pushes, pull requests, or issue updates.";
7453
+ readonly docsUrl: "https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads";
7454
+ };
7455
+ readonly version: "1.0.0";
7456
+ readonly events: readonly [{
7457
+ readonly key: "github.*";
7458
+ readonly displayName: "Any event";
7459
+ readonly description: "Emit whenever GitHub delivers any webhook event (wildcard).";
7460
+ readonly deliveryMode: "webhook";
7461
+ }, {
7462
+ readonly key: "github.check_run";
7463
+ readonly displayName: "Check run";
7464
+ readonly description: "Triggered when a check run is created, rerequested, completed, or has a requested action.";
7465
+ readonly deliveryMode: "webhook";
7466
+ }, {
7467
+ readonly key: "github.check_suite";
7468
+ readonly displayName: "Check suite";
7469
+ readonly description: "Triggered when a check suite is completed, requested, or rerequested.";
7470
+ readonly deliveryMode: "webhook";
7471
+ }, {
7472
+ readonly key: "github.commit_comment";
7473
+ readonly displayName: "Commit comment";
7474
+ readonly description: "Triggered when a commit comment is created.";
7475
+ readonly deliveryMode: "webhook";
7476
+ }, {
7477
+ readonly key: "github.create";
7478
+ readonly displayName: "Create";
7479
+ readonly description: "Triggered when a repository, branch, or tag is created.";
7480
+ readonly deliveryMode: "webhook";
7481
+ }, {
7482
+ readonly key: "github.delete";
7483
+ readonly displayName: "Delete";
7484
+ readonly description: "Triggered when a repository branch or tag is deleted.";
7485
+ readonly deliveryMode: "webhook";
7486
+ }, {
7487
+ readonly key: "github.deploy_key";
7488
+ readonly displayName: "Deploy key";
7489
+ readonly description: "Triggered when a deploy key is added or removed from a repository.";
7490
+ readonly deliveryMode: "webhook";
7491
+ }, {
7492
+ readonly key: "github.deployment";
7493
+ readonly displayName: "Deployment";
7494
+ readonly description: "Triggered when a deployment is created.";
7495
+ readonly deliveryMode: "webhook";
7496
+ }, {
7497
+ readonly key: "github.deployment_status";
7498
+ readonly displayName: "Deployment status";
7499
+ readonly description: "Triggered when the status of a deployment changes.";
7500
+ readonly deliveryMode: "webhook";
7501
+ }, {
7502
+ readonly key: "github.fork";
7503
+ readonly displayName: "Fork";
7504
+ readonly description: "Triggered when a user forks a repository.";
7505
+ readonly deliveryMode: "webhook";
7506
+ }, {
7507
+ readonly key: "github.github_app_authorization";
7508
+ readonly displayName: "GitHub App authorization";
7509
+ readonly description: "Triggered when someone revokes their authorization of a GitHub App.";
7510
+ readonly deliveryMode: "webhook";
7511
+ }, {
7512
+ readonly key: "github.gollum";
7513
+ readonly displayName: "Gollum";
7514
+ readonly description: "Triggered when a Wiki page is created or updated.";
7515
+ readonly deliveryMode: "webhook";
7516
+ }, {
7517
+ readonly key: "github.installation";
7518
+ readonly displayName: "Installation";
7519
+ readonly description: "Triggered when someone installs, uninstalls, or accepts new permissions for a GitHub App.";
7520
+ readonly deliveryMode: "webhook";
7521
+ }, {
7522
+ readonly key: "github.installation_repositories";
7523
+ readonly displayName: "Installation repositories";
7524
+ readonly description: "Triggered when a repository is added or removed from a GitHub App installation.";
7525
+ readonly deliveryMode: "webhook";
7526
+ }, {
7527
+ readonly key: "github.issue_comment";
7528
+ readonly displayName: "Issue comment";
7529
+ readonly description: "Triggered when an issue comment is created, edited, or deleted.";
7530
+ readonly deliveryMode: "webhook";
7531
+ }, {
7532
+ readonly key: "github.issues";
7533
+ readonly displayName: "Issues";
7534
+ readonly description: "Triggered when an issue is created, edited, deleted, transferred, pinned, closed, reopened, or changed.";
7535
+ readonly deliveryMode: "webhook";
7536
+ }, {
7537
+ readonly key: "github.label";
7538
+ readonly displayName: "Label";
7539
+ readonly description: "Triggered when a repository's label is created, edited, or deleted.";
7540
+ readonly deliveryMode: "webhook";
7541
+ }, {
7542
+ readonly key: "github.marketplace_purchase";
7543
+ readonly displayName: "Marketplace purchase";
7544
+ readonly description: "Triggered when a GitHub Marketplace plan is purchased, upgraded, downgraded, or cancelled.";
7545
+ readonly deliveryMode: "webhook";
7546
+ }, {
7547
+ readonly key: "github.member";
7548
+ readonly displayName: "Member";
7549
+ readonly description: "Triggered when a user accepts an invitation, is removed, or has permissions changed as a collaborator.";
7550
+ readonly deliveryMode: "webhook";
7551
+ }, {
7552
+ readonly key: "github.membership";
7553
+ readonly displayName: "Membership";
7554
+ readonly description: "Triggered when a user is added or removed from a team (organization hooks only).";
7555
+ readonly deliveryMode: "webhook";
7556
+ }, {
7557
+ readonly key: "github.meta";
7558
+ readonly displayName: "Meta";
7559
+ readonly description: "Triggered when the webhook configuration itself is deleted.";
7560
+ readonly deliveryMode: "webhook";
7561
+ }, {
7562
+ readonly key: "github.milestone";
7563
+ readonly displayName: "Milestone";
7564
+ readonly description: "Triggered when a milestone is created, closed, opened, edited, or deleted.";
7565
+ readonly deliveryMode: "webhook";
7566
+ }, {
7567
+ readonly key: "github.org_block";
7568
+ readonly displayName: "Org block";
7569
+ readonly description: "Triggered when an organization blocks or unblocks a user (organization hooks only).";
7570
+ readonly deliveryMode: "webhook";
7571
+ }, {
7572
+ readonly key: "github.organization";
7573
+ readonly displayName: "Organization";
7574
+ readonly description: "Triggered when an organization is renamed, deleted, or membership changes (organization hooks only).";
7575
+ readonly deliveryMode: "webhook";
7576
+ }, {
7577
+ readonly key: "github.page_build";
7578
+ readonly displayName: "Page build";
7579
+ readonly description: "Triggered on pushes to a GitHub Pages enabled branch that results in a page build.";
7580
+ readonly deliveryMode: "webhook";
7581
+ }, {
7582
+ readonly key: "github.project";
7583
+ readonly displayName: "Project";
7584
+ readonly description: "Triggered when a project is created, updated, closed, reopened, or deleted.";
7585
+ readonly deliveryMode: "webhook";
7586
+ }, {
7587
+ readonly key: "github.project_card";
7588
+ readonly displayName: "Project card";
7589
+ readonly description: "Triggered when a project card is created, edited, moved, converted to an issue, or deleted.";
7590
+ readonly deliveryMode: "webhook";
7591
+ }, {
7592
+ readonly key: "github.project_column";
7593
+ readonly displayName: "Project column";
7594
+ readonly description: "Triggered when a project column is created, updated, moved, or deleted.";
7595
+ readonly deliveryMode: "webhook";
7596
+ }, {
7597
+ readonly key: "github.public";
7598
+ readonly displayName: "Public";
7599
+ readonly description: "Triggered when a private repository is open sourced.";
7600
+ readonly deliveryMode: "webhook";
7601
+ }, {
7602
+ readonly key: "github.pull_request";
7603
+ readonly displayName: "Pull request";
7604
+ readonly description: "Triggered when a pull request is opened, edited, closed, reopened, labeled, assigned, or synchronized.";
7605
+ readonly deliveryMode: "webhook";
7606
+ }, {
7607
+ readonly key: "github.pull_request_review";
7608
+ readonly displayName: "Pull request review";
7609
+ readonly description: "Triggered when a pull request review is submitted, edited, or dismissed.";
7610
+ readonly deliveryMode: "webhook";
7611
+ }, {
7612
+ readonly key: "github.pull_request_review_comment";
7613
+ readonly displayName: "Pull request review comment";
7614
+ readonly description: "Triggered when a comment on a pull request diff is created, edited, or deleted.";
7615
+ readonly deliveryMode: "webhook";
7616
+ }, {
7617
+ readonly key: "github.push";
7618
+ readonly displayName: "Push";
7619
+ readonly description: "Triggered on a push to a branch or tag. This is the default event for repository webhooks.";
7620
+ readonly deliveryMode: "webhook";
7621
+ }, {
7622
+ readonly key: "github.release";
7623
+ readonly displayName: "Release";
7624
+ readonly description: "Triggered when a release is published, edited, deleted, or prereleased.";
7625
+ readonly deliveryMode: "webhook";
7626
+ }, {
7627
+ readonly key: "github.repository";
7628
+ readonly displayName: "Repository";
7629
+ readonly description: "Triggered when a repository is created, archived, unarchived, renamed, transferred, or deleted.";
7630
+ readonly deliveryMode: "webhook";
7631
+ }, {
7632
+ readonly key: "github.repository_import";
7633
+ readonly displayName: "Repository import";
7634
+ readonly description: "Triggered when a repository import succeeds, fails, or is cancelled.";
7635
+ readonly deliveryMode: "webhook";
7636
+ }, {
7637
+ readonly key: "github.repository_vulnerability_alert";
7638
+ readonly displayName: "Repository vulnerability alert";
7639
+ readonly description: "Triggered when a Dependabot security alert is created, dismissed, or resolved.";
7640
+ readonly deliveryMode: "webhook";
7641
+ }, {
7642
+ readonly key: "github.security_advisory";
7643
+ readonly displayName: "Security advisory";
7644
+ readonly description: "Triggered when a security advisory is published, updated, or withdrawn for an organization.";
7645
+ readonly deliveryMode: "webhook";
7646
+ }, {
7647
+ readonly key: "github.star";
7648
+ readonly displayName: "Star";
7649
+ readonly description: "Triggered when a star is added to or removed from a repository.";
7650
+ readonly deliveryMode: "webhook";
7651
+ }, {
7652
+ readonly key: "github.status";
7653
+ readonly displayName: "Status";
7654
+ readonly description: "Triggered when the status of a Git commit changes.";
7655
+ readonly deliveryMode: "webhook";
7656
+ }, {
7657
+ readonly key: "github.team";
7658
+ readonly displayName: "Team";
7659
+ readonly description: "Triggered when an organization's team is created, deleted, edited, or repository access changes (organization hooks only).";
7660
+ readonly deliveryMode: "webhook";
7661
+ }, {
7662
+ readonly key: "github.team_add";
7663
+ readonly displayName: "Team add";
7664
+ readonly description: "Triggered when a repository is added to a team.";
7665
+ readonly deliveryMode: "webhook";
7666
+ }, {
7667
+ readonly key: "github.watch";
7668
+ readonly displayName: "Watch";
7669
+ readonly description: "Triggered when someone stars a repository.";
7670
+ readonly deliveryMode: "webhook";
7671
+ }];
7672
+ }, {
7673
+ readonly triggerId: "slack";
7674
+ readonly displayName: "Slack";
7675
+ readonly service: "Slack";
7676
+ readonly category: "Email & Messaging";
7677
+ readonly authType: "token";
7678
+ readonly deliveryModes: ["webhook"];
7679
+ readonly metadata: {
7680
+ readonly description: "Trigger workflows from events happening inside your Slack workspace such as messages, reactions, and channel activity.";
7681
+ readonly docsUrl: "https://api.slack.com/events";
7682
+ };
7683
+ readonly version: "1.0.0";
7684
+ readonly events: readonly [{
7685
+ readonly key: "slack.anyEvent";
7686
+ readonly displayName: "Any Slack event";
7687
+ readonly description: "Receive every event delivered to your Slack app via the Events API. Use with caution in busy workspaces.";
7688
+ readonly deliveryMode: "webhook";
7689
+ readonly defaultConfig: {
7690
+ readonly provider: {
7691
+ readonly type: "slack";
7692
+ readonly watchWorkspace: true;
7693
+ readonly channelId: null;
7694
+ readonly includeBotMessages: true;
7695
+ };
7696
+ };
7697
+ }, {
7698
+ readonly key: "slack.appMention";
7699
+ readonly displayName: "Bot or app mention";
7700
+ readonly description: "Trigger when your bot or app is mentioned in a channel where it is present.";
7701
+ readonly deliveryMode: "webhook";
7702
+ readonly defaultConfig: {
7703
+ readonly provider: {
7704
+ readonly type: "slack";
7705
+ readonly watchWorkspace: false;
7706
+ readonly channelId: null;
7707
+ readonly includeBotMessages: false;
7708
+ };
7709
+ };
7710
+ }, {
7711
+ readonly key: "slack.messagePosted";
7712
+ readonly displayName: "Message posted to channel";
7713
+ readonly description: "Trigger when a new message is posted to a channel that the app is added to.";
7714
+ readonly deliveryMode: "webhook";
7715
+ readonly defaultConfig: {
7716
+ readonly provider: {
7717
+ readonly type: "slack";
7718
+ readonly watchWorkspace: false;
7719
+ readonly channelId: null;
7720
+ readonly includeBotMessages: false;
7721
+ };
7722
+ };
7723
+ }, {
7724
+ readonly key: "slack.reactionAdded";
7725
+ readonly displayName: "Reaction added";
7726
+ readonly description: "Trigger when a reaction is added to a message in a channel your app has joined.";
7727
+ readonly deliveryMode: "webhook";
7728
+ readonly defaultConfig: {
7729
+ readonly provider: {
7730
+ readonly type: "slack";
7731
+ readonly watchWorkspace: false;
7732
+ readonly channelId: null;
7733
+ readonly includeBotMessages: true;
7734
+ };
7735
+ };
7736
+ }, {
7737
+ readonly key: "slack.fileShare";
7738
+ readonly displayName: "File shared";
7739
+ readonly description: "Trigger when a file is shared in a channel that the app is added to.";
7740
+ readonly deliveryMode: "webhook";
7741
+ readonly defaultConfig: {
7742
+ readonly provider: {
7743
+ readonly type: "slack";
7744
+ readonly watchWorkspace: false;
7745
+ readonly channelId: null;
7746
+ readonly includeBotMessages: true;
7747
+ };
7748
+ };
7749
+ }, {
7750
+ readonly key: "slack.filePublic";
7751
+ readonly displayName: "File made public";
7752
+ readonly description: "Trigger when a file is made public in the workspace.";
7753
+ readonly deliveryMode: "webhook";
7754
+ readonly defaultConfig: {
7755
+ readonly provider: {
7756
+ readonly type: "slack";
7757
+ readonly watchWorkspace: true;
7758
+ readonly channelId: null;
7759
+ readonly includeBotMessages: true;
7760
+ };
7761
+ };
7762
+ }, {
7763
+ readonly key: "slack.channelCreated";
7764
+ readonly displayName: "Channel created";
7765
+ readonly description: "Trigger when a new public channel is created in the workspace.";
7766
+ readonly deliveryMode: "webhook";
7767
+ readonly defaultConfig: {
7768
+ readonly provider: {
7769
+ readonly type: "slack";
7770
+ readonly watchWorkspace: true;
7771
+ readonly channelId: null;
7772
+ readonly includeBotMessages: true;
7773
+ };
7774
+ };
7775
+ }, {
7776
+ readonly key: "slack.teamJoin";
7777
+ readonly displayName: "User joined workspace";
7778
+ readonly description: "Trigger when a new user joins the Slack workspace.";
7779
+ readonly deliveryMode: "webhook";
7780
+ readonly defaultConfig: {
7781
+ readonly provider: {
7782
+ readonly type: "slack";
7783
+ readonly watchWorkspace: true;
7784
+ readonly channelId: null;
7785
+ readonly includeBotMessages: true;
7786
+ };
7787
+ };
7788
+ }];
7789
+ }, {
7790
+ readonly triggerId: "discord";
7791
+ readonly displayName: "Discord (Actions)";
7792
+ readonly service: "Discord";
7793
+ readonly category: "Email & Messaging";
7794
+ readonly authType: "bot-token";
7795
+ readonly deliveryModes: [];
7796
+ readonly metadata: {
7797
+ readonly description: "Use Discord bot tokens or webhooks with VoltAgent actions. This integration only powers outgoing actions (no event triggers).";
7798
+ readonly actionOnly: true;
7799
+ };
7800
+ readonly version: "1.0.0";
7801
+ readonly events: readonly [];
7802
+ }, {
7803
+ readonly triggerId: "airtable-record";
7804
+ readonly dslTriggerId: "airtable";
7805
+ readonly displayName: "Airtable";
7806
+ readonly service: "Airtable";
7807
+ readonly category: "Productivity";
7808
+ readonly authType: "token";
7809
+ readonly deliveryModes: ["polling"];
7810
+ readonly metadata: {
7811
+ readonly description: "Trigger when new rows are added to an Airtable base or view.";
7812
+ };
7813
+ readonly version: "1.0.0";
7814
+ readonly events: readonly [{
7815
+ readonly key: "airtable.recordCreated";
7816
+ readonly displayName: "Record created";
7817
+ readonly description: "Poll the configured Base/Table/View and emit when a new record is created.";
7818
+ readonly deliveryMode: "polling";
7819
+ }];
7820
+ }];
7821
+
7822
+ declare class A2AServerRegistry<TServer extends A2AServerLike = A2AServerLike> {
7823
+ private readonly servers;
7824
+ private readonly idByServer;
7825
+ private readonly serverById;
7826
+ private readonly metadataById;
7827
+ private anonymousCounter;
7828
+ register(server: TServer, deps: A2AServerDeps): void;
7829
+ unregister(server: TServer): void;
7830
+ getServer(id: string): TServer | undefined;
7831
+ getMetadata(id: string): A2AServerMetadata | undefined;
7832
+ list(): TServer[];
7833
+ listMetadata(): A2AServerMetadata[];
7834
+ private resolveMetadata;
7835
+ private normalizeIdentifier;
7836
+ private ensureUniqueId;
7837
+ private createAnonymousSlug;
7838
+ private createAnonymousName;
7839
+ }
7840
+
7841
+ interface RegisterOptions {
7842
+ startTransports?: boolean;
7843
+ transportOptions?: Record<string, unknown>;
7844
+ }
7845
+ declare class MCPServerRegistry<TServer extends MCPServerLike = MCPServerLike> {
7846
+ private readonly servers;
7847
+ private readonly idByServer;
7848
+ private readonly serverById;
7849
+ private readonly metadataById;
7850
+ private anonymousCounter;
7851
+ register(server: TServer, deps: MCPServerDeps, options?: RegisterOptions): void;
7852
+ unregister(server: TServer): void;
7853
+ getServer(id: string): TServer | undefined;
7854
+ getServerMetadata(id: string): MCPServerMetadata | undefined;
7855
+ list(): TServer[];
7856
+ listMetadata(): MCPServerMetadata[];
7857
+ startAll(options?: Record<string, unknown>): Promise<void>;
7858
+ stopAll(): Promise<void>;
7859
+ private startConfigured;
7860
+ private resolveMetadata;
7861
+ private normalizeIdentifier;
7862
+ private ensureUniqueId;
7863
+ private createAnonymousSlug;
7864
+ }
7203
7865
 
7204
7866
  /**
7205
- * In-Memory Storage Adapter
7206
- * Simple implementation for testing and development
7867
+ * Client information for MCP
7207
7868
  */
7208
- declare class InMemoryStorageAdapter implements StorageAdapter {
7209
- private storage;
7210
- private conversations;
7211
- private users;
7212
- private workflowStates;
7213
- private workflowStatesByWorkflow;
7214
- private conversationSteps;
7869
+ interface ClientInfo {
7215
7870
  /**
7216
- * Add a single message
7871
+ * Client name
7217
7872
  */
7218
- addMessage(message: UIMessage, userId: string, conversationId: string, _context?: OperationContext): Promise<void>;
7873
+ name: string;
7219
7874
  /**
7220
- * Add multiple messages
7875
+ * Client version
7221
7876
  */
7222
- addMessages(messages: UIMessage[], userId: string, conversationId: string, context?: OperationContext): Promise<void>;
7877
+ version: string;
7223
7878
  /**
7224
- * Get messages with optional filtering
7879
+ * Allow additional properties for SDK compatibility
7225
7880
  */
7226
- getMessages(userId: string, conversationId: string, options?: GetMessagesOptions, _context?: OperationContext): Promise<UIMessage[]>;
7227
- saveConversationSteps(steps: ConversationStepRecord[]): Promise<void>;
7228
- getConversationSteps(userId: string, conversationId: string, options?: GetConversationStepsOptions): Promise<ConversationStepRecord[]>;
7881
+ [key: string]: unknown;
7882
+ }
7883
+ /**
7884
+ * Transport error from MCP
7885
+ */
7886
+ interface TransportError extends Error {
7229
7887
  /**
7230
- * Clear messages for a user
7888
+ * Error code
7231
7889
  */
7232
- clearMessages(userId: string, conversationId?: string, _context?: OperationContext): Promise<void>;
7890
+ code?: string;
7233
7891
  /**
7234
- * Create a new conversation
7892
+ * Error details
7235
7893
  */
7236
- createConversation(input: CreateConversationInput): Promise<Conversation>;
7894
+ details?: unknown;
7895
+ }
7896
+ /**
7897
+ * Configuration for MCP client
7898
+ */
7899
+ type MCPClientConfig = {
7237
7900
  /**
7238
- * Get a conversation by ID
7901
+ * Client information
7239
7902
  */
7240
- getConversation(id: string): Promise<Conversation | null>;
7903
+ clientInfo: ClientInfo;
7241
7904
  /**
7242
- * Get conversations for a resource
7905
+ * MCP server configuration
7243
7906
  */
7244
- getConversations(resourceId: string): Promise<Conversation[]>;
7907
+ server: MCPServerConfig;
7245
7908
  /**
7246
- * Get conversations by user ID with query options
7909
+ * MCP capabilities
7247
7910
  */
7248
- getConversationsByUserId(userId: string, options?: Omit<ConversationQueryOptions, "userId">): Promise<Conversation[]>;
7911
+ capabilities?: ClientCapabilities;
7249
7912
  /**
7250
- * Query conversations with advanced options
7913
+ * Timeout in milliseconds for MCP requests
7914
+ * @default 30000
7251
7915
  */
7252
- queryConversations(options: ConversationQueryOptions): Promise<Conversation[]>;
7916
+ timeout?: number;
7917
+ };
7918
+ /**
7919
+ * MCP server configuration options
7920
+ */
7921
+ type MCPServerConfig = HTTPServerConfig | SSEServerConfig | StreamableHTTPServerConfig | StdioServerConfig;
7922
+ /**
7923
+ * HTTP-based MCP server configuration with automatic fallback
7924
+ * Tries streamable HTTP first, falls back to SSE if not supported
7925
+ */
7926
+ type HTTPServerConfig = {
7253
7927
  /**
7254
- * Update a conversation
7928
+ * Type of server connection
7255
7929
  */
7256
- updateConversation(id: string, updates: Partial<Omit<Conversation, "id" | "createdAt" | "updatedAt">>): Promise<Conversation>;
7930
+ type: "http";
7257
7931
  /**
7258
- * Delete a conversation
7932
+ * URL of the MCP server
7259
7933
  */
7260
- deleteConversation(id: string): Promise<void>;
7934
+ url: string;
7261
7935
  /**
7262
- * Get working memory content from metadata
7936
+ * Request initialization options
7263
7937
  */
7264
- getWorkingMemory(params: {
7265
- conversationId?: string;
7266
- userId?: string;
7267
- scope: WorkingMemoryScope;
7268
- }): Promise<string | null>;
7938
+ requestInit?: RequestInit;
7269
7939
  /**
7270
- * Set working memory content in metadata
7940
+ * Event source initialization options (used for SSE fallback)
7271
7941
  */
7272
- setWorkingMemory(params: {
7273
- conversationId?: string;
7274
- userId?: string;
7275
- content: string;
7276
- scope: WorkingMemoryScope;
7277
- }): Promise<void>;
7942
+ eventSourceInit?: EventSourceInit;
7278
7943
  /**
7279
- * Delete working memory from metadata
7944
+ * Optional maximum request timeout in milliseconds.
7945
+ * If provided, passed to MCPClient as the per-request timeout.
7280
7946
  */
7281
- deleteWorkingMemory(params: {
7282
- conversationId?: string;
7283
- userId?: string;
7284
- scope: WorkingMemoryScope;
7285
- }): Promise<void>;
7947
+ timeout?: number;
7948
+ };
7949
+ /**
7950
+ * SSE-based MCP server configuration (explicit SSE transport)
7951
+ */
7952
+ type SSEServerConfig = {
7286
7953
  /**
7287
- * Get workflow state by execution ID
7954
+ * Type of server connection
7288
7955
  */
7289
- getWorkflowState(executionId: string): Promise<WorkflowStateEntry | null>;
7956
+ type: "sse";
7290
7957
  /**
7291
- * Set workflow state
7958
+ * URL of the MCP server
7292
7959
  */
7293
- setWorkflowState(executionId: string, state: WorkflowStateEntry): Promise<void>;
7960
+ url: string;
7294
7961
  /**
7295
- * Update workflow state
7962
+ * Request initialization options
7296
7963
  */
7297
- updateWorkflowState(executionId: string, updates: Partial<WorkflowStateEntry>): Promise<void>;
7964
+ requestInit?: RequestInit;
7298
7965
  /**
7299
- * Get suspended workflow states for a workflow
7966
+ * Event source initialization options
7300
7967
  */
7301
- getSuspendedWorkflowStates(workflowId: string): Promise<WorkflowStateEntry[]>;
7968
+ eventSourceInit?: EventSourceInit;
7302
7969
  /**
7303
- * Get storage statistics
7304
- */
7305
- getStats(): {
7306
- totalConversations: number;
7307
- totalUsers: number;
7308
- totalMessages: number;
7309
- };
7310
- private getOrCreateUserSteps;
7311
- private getOrCreateConversationSteps;
7312
- /**
7313
- * Clear all data
7970
+ * Optional maximum request timeout in milliseconds.
7971
+ * If provided, passed to MCPClient as the per-request timeout.
7314
7972
  */
7315
- clear(): void;
7316
- }
7317
-
7973
+ timeout?: number;
7974
+ };
7318
7975
  /**
7319
- * Lightweight in-memory vector database adapter
7320
- * Suitable for development, testing, and small datasets (< 10k vectors)
7976
+ * Streamable HTTP-based MCP server configuration (no fallback)
7321
7977
  */
7322
- declare class InMemoryVectorAdapter implements VectorAdapter {
7323
- private vectors;
7324
- private dimensions;
7325
- constructor();
7326
- store(id: string, vector: number[], metadata?: Record<string, unknown>): Promise<void>;
7327
- storeBatch(items: VectorItem[]): Promise<void>;
7328
- search(queryVector: number[], options?: {
7329
- limit?: number;
7330
- filter?: Record<string, unknown>;
7331
- threshold?: number;
7332
- }): Promise<SearchResult[]>;
7333
- delete(id: string): Promise<void>;
7334
- deleteBatch(ids: string[]): Promise<void>;
7335
- clear(): Promise<void>;
7336
- count(): Promise<number>;
7337
- get(id: string): Promise<VectorItem | null>;
7338
- /**
7339
- * Check if metadata matches the filter criteria
7340
- */
7341
- private matchesFilter;
7978
+ type StreamableHTTPServerConfig = {
7342
7979
  /**
7343
- * Get statistics about the vector store
7980
+ * Type of server connection
7344
7981
  */
7345
- getStats(): Promise<{
7346
- count: number;
7347
- dimensions: number | null;
7348
- memoryUsage: number;
7349
- }>;
7350
- }
7351
-
7352
- /**
7353
- * Embedding adapter interface for converting text to vectors
7354
- */
7355
- interface EmbeddingAdapter {
7982
+ type: "streamable-http";
7356
7983
  /**
7357
- * Embed a single text string into a vector
7984
+ * URL of the MCP server
7358
7985
  */
7359
- embed(text: string): Promise<number[]>;
7986
+ url: string;
7360
7987
  /**
7361
- * Embed multiple texts in a batch for efficiency
7988
+ * Request initialization options
7362
7989
  */
7363
- embedBatch(texts: string[]): Promise<number[][]>;
7990
+ requestInit?: RequestInit;
7364
7991
  /**
7365
- * Get the dimensionality of the embeddings
7366
- * Returns undefined if dimensions are not yet known
7992
+ * Session ID for the connection
7367
7993
  */
7368
- getDimensions(): number | undefined;
7994
+ sessionId?: string;
7369
7995
  /**
7370
- * Get the model name for debugging/logging
7996
+ * Optional maximum request timeout in milliseconds.
7997
+ * If provided, passed to MCPClient as the per-request timeout.
7371
7998
  */
7372
- getModelName(): string;
7373
- }
7999
+ timeout?: number;
8000
+ };
7374
8001
  /**
7375
- * Options for embedding adapter initialization
8002
+ * Stdio-based MCP server configuration
7376
8003
  */
7377
- interface EmbeddingOptions {
7378
- /**
7379
- * Maximum number of texts to process in a single batch
7380
- */
7381
- maxBatchSize?: number;
8004
+ type StdioServerConfig = {
7382
8005
  /**
7383
- * Timeout for embedding operations in milliseconds
8006
+ * Type of server connection
7384
8007
  */
7385
- timeout?: number;
8008
+ type: "stdio";
7386
8009
  /**
7387
- * Whether to normalize embeddings to unit vectors
8010
+ * Command to run the MCP server
7388
8011
  */
7389
- normalize?: boolean;
7390
- }
7391
-
7392
- /**
7393
- * AI SDK Embedding Adapter
7394
- * Wraps Vercel AI SDK embedding models for use with Memory V2
7395
- */
7396
- declare class AiSdkEmbeddingAdapter implements EmbeddingAdapter {
7397
- private model;
7398
- private dimensions;
7399
- private modelName;
7400
- private options;
7401
- constructor(model: EmbeddingModel<string>, options?: EmbeddingOptions);
7402
- embed(text: string): Promise<number[]>;
7403
- embedBatch(texts: string[]): Promise<number[][]>;
7404
- getDimensions(): number;
7405
- getModelName(): string;
8012
+ command: string;
7406
8013
  /**
7407
- * Normalize a vector to unit length
8014
+ * Arguments to pass to the command
7408
8015
  */
7409
- private normalizeVector;
7410
- }
7411
-
7412
- /**
7413
- * Defines the main category of a TimelineEvent.
7414
- */
7415
- type TimelineEventCoreType = "agent" | "tool" | "memory" | "retriever" | "workflow" | "workflow-step";
7416
- /**
7417
- * Defines the operational status of a TimelineEvent.
7418
- * 'idle' is added for consistency with frontend initial states.
7419
- * 'suspended' is added for workflow suspension state.
7420
- */
7421
- type TimelineEventCoreStatus = "idle" | "running" | "completed" | "error" | "suspended";
7422
- /**
7423
- * Defines the severity level of a TimelineEvent.
7424
- */
7425
- type TimelineEventCoreLevel = "DEBUG" | "INFO" | "WARNING" | "ERROR" | "CRITICAL";
7426
- /**
7427
- * Usage information for tracking resource consumption
7428
- */
7429
- interface Usage {
7430
- promptTokens?: number;
7431
- completionTokens?: number;
7432
- totalTokens?: number;
7433
- input?: number;
7434
- output?: number;
7435
- total?: number;
7436
- unit?: "TOKENS" | "CHARACTERS" | "MILLISECONDS" | "SECONDS" | "IMAGES";
7437
- inputCost?: number;
7438
- outputCost?: number;
7439
- totalCost?: number;
7440
- [key: string]: unknown;
7441
- }
7442
- /**
7443
- * Base metadata interface with common fields for all timeline events
7444
- */
7445
- interface BaseEventMetadata {
7446
- displayName?: string;
7447
- id: string;
7448
- agentId?: string;
7449
- context?: Record<string, unknown>;
7450
- }
7451
-
7452
- declare class A2AServerRegistry<TServer extends A2AServerLike = A2AServerLike> {
7453
- private readonly servers;
7454
- private readonly idByServer;
7455
- private readonly serverById;
7456
- private readonly metadataById;
7457
- private anonymousCounter;
7458
- register(server: TServer, deps: A2AServerDeps): void;
7459
- unregister(server: TServer): void;
7460
- getServer(id: string): TServer | undefined;
7461
- getMetadata(id: string): A2AServerMetadata | undefined;
7462
- list(): TServer[];
7463
- listMetadata(): A2AServerMetadata[];
7464
- private resolveMetadata;
7465
- private normalizeIdentifier;
7466
- private ensureUniqueId;
7467
- private createAnonymousSlug;
7468
- private createAnonymousName;
7469
- }
7470
-
7471
- interface RegisterOptions {
7472
- startTransports?: boolean;
7473
- transportOptions?: Record<string, unknown>;
7474
- }
7475
- declare class MCPServerRegistry<TServer extends MCPServerLike = MCPServerLike> {
7476
- private readonly servers;
7477
- private readonly idByServer;
7478
- private readonly serverById;
7479
- private readonly metadataById;
7480
- private anonymousCounter;
7481
- register(server: TServer, deps: MCPServerDeps, options?: RegisterOptions): void;
7482
- unregister(server: TServer): void;
7483
- getServer(id: string): TServer | undefined;
7484
- getServerMetadata(id: string): MCPServerMetadata | undefined;
7485
- list(): TServer[];
7486
- listMetadata(): MCPServerMetadata[];
7487
- startAll(options?: Record<string, unknown>): Promise<void>;
7488
- stopAll(): Promise<void>;
7489
- private startConfigured;
7490
- private resolveMetadata;
7491
- private normalizeIdentifier;
7492
- private ensureUniqueId;
7493
- private createAnonymousSlug;
7494
- }
7495
-
7496
- /**
7497
- * Client information for MCP
7498
- */
7499
- interface ClientInfo {
8016
+ args?: string[];
7500
8017
  /**
7501
- * Client name
8018
+ * Environment variables for the MCP server process
7502
8019
  */
7503
- name: string;
8020
+ env?: Record<string, string>;
7504
8021
  /**
7505
- * Client version
8022
+ * Working directory for the MCP server process
7506
8023
  */
7507
- version: string;
8024
+ cwd?: string;
7508
8025
  /**
7509
- * Allow additional properties for SDK compatibility
8026
+ * Optional maximum request timeout in milliseconds.
8027
+ * If provided, passed to MCPClient as the per-request timeout.
7510
8028
  */
7511
- [key: string]: unknown;
7512
- }
8029
+ timeout?: number;
8030
+ };
7513
8031
  /**
7514
- * Transport error from MCP
8032
+ * Tool call request
7515
8033
  */
7516
- interface TransportError extends Error {
8034
+ type MCPToolCall = {
7517
8035
  /**
7518
- * Error code
8036
+ * Name of the tool to call
7519
8037
  */
7520
- code?: string;
8038
+ name: string;
7521
8039
  /**
7522
- * Error details
8040
+ * Arguments to pass to the tool
7523
8041
  */
7524
- details?: unknown;
7525
- }
8042
+ arguments: Record<string, unknown>;
8043
+ };
7526
8044
  /**
7527
- * Configuration for MCP client
8045
+ * Tool call result
7528
8046
  */
7529
- type MCPClientConfig = {
8047
+ type MCPToolResult = {
7530
8048
  /**
7531
- * Client information
8049
+ * Result content from the tool
7532
8050
  */
7533
- clientInfo: ClientInfo;
8051
+ content: unknown;
8052
+ };
8053
+ /**
8054
+ * MCP client events
8055
+ */
8056
+ interface MCPClientEvents {
7534
8057
  /**
7535
- * MCP server configuration
8058
+ * Emitted when the client connects to the server
7536
8059
  */
7537
- server: MCPServerConfig;
8060
+ connect: () => void;
7538
8061
  /**
7539
- * MCP capabilities
8062
+ * Emitted when the client disconnects from the server
7540
8063
  */
7541
- capabilities?: ClientCapabilities;
8064
+ disconnect: () => void;
7542
8065
  /**
7543
- * Timeout in milliseconds for MCP requests
7544
- * @default 30000
7545
- */
7546
- timeout?: number;
7547
- };
7548
- /**
7549
- * MCP server configuration options
7550
- */
7551
- type MCPServerConfig = HTTPServerConfig | SSEServerConfig | StreamableHTTPServerConfig | StdioServerConfig;
7552
- /**
7553
- * HTTP-based MCP server configuration with automatic fallback
7554
- * Tries streamable HTTP first, falls back to SSE if not supported
7555
- */
7556
- type HTTPServerConfig = {
7557
- /**
7558
- * Type of server connection
7559
- */
7560
- type: "http";
7561
- /**
7562
- * URL of the MCP server
7563
- */
7564
- url: string;
7565
- /**
7566
- * Request initialization options
7567
- */
7568
- requestInit?: RequestInit;
7569
- /**
7570
- * Event source initialization options (used for SSE fallback)
7571
- */
7572
- eventSourceInit?: EventSourceInit;
7573
- /**
7574
- * Optional maximum request timeout in milliseconds.
7575
- * If provided, passed to MCPClient as the per-request timeout.
7576
- */
7577
- timeout?: number;
7578
- };
7579
- /**
7580
- * SSE-based MCP server configuration (explicit SSE transport)
7581
- */
7582
- type SSEServerConfig = {
7583
- /**
7584
- * Type of server connection
7585
- */
7586
- type: "sse";
7587
- /**
7588
- * URL of the MCP server
7589
- */
7590
- url: string;
7591
- /**
7592
- * Request initialization options
7593
- */
7594
- requestInit?: RequestInit;
7595
- /**
7596
- * Event source initialization options
7597
- */
7598
- eventSourceInit?: EventSourceInit;
7599
- /**
7600
- * Optional maximum request timeout in milliseconds.
7601
- * If provided, passed to MCPClient as the per-request timeout.
7602
- */
7603
- timeout?: number;
7604
- };
7605
- /**
7606
- * Streamable HTTP-based MCP server configuration (no fallback)
7607
- */
7608
- type StreamableHTTPServerConfig = {
7609
- /**
7610
- * Type of server connection
7611
- */
7612
- type: "streamable-http";
7613
- /**
7614
- * URL of the MCP server
7615
- */
7616
- url: string;
7617
- /**
7618
- * Request initialization options
7619
- */
7620
- requestInit?: RequestInit;
7621
- /**
7622
- * Session ID for the connection
7623
- */
7624
- sessionId?: string;
7625
- /**
7626
- * Optional maximum request timeout in milliseconds.
7627
- * If provided, passed to MCPClient as the per-request timeout.
7628
- */
7629
- timeout?: number;
7630
- };
7631
- /**
7632
- * Stdio-based MCP server configuration
7633
- */
7634
- type StdioServerConfig = {
7635
- /**
7636
- * Type of server connection
7637
- */
7638
- type: "stdio";
7639
- /**
7640
- * Command to run the MCP server
7641
- */
7642
- command: string;
7643
- /**
7644
- * Arguments to pass to the command
7645
- */
7646
- args?: string[];
7647
- /**
7648
- * Environment variables for the MCP server process
7649
- */
7650
- env?: Record<string, string>;
7651
- /**
7652
- * Working directory for the MCP server process
7653
- */
7654
- cwd?: string;
7655
- /**
7656
- * Optional maximum request timeout in milliseconds.
7657
- * If provided, passed to MCPClient as the per-request timeout.
7658
- */
7659
- timeout?: number;
7660
- };
7661
- /**
7662
- * Tool call request
7663
- */
7664
- type MCPToolCall = {
7665
- /**
7666
- * Name of the tool to call
7667
- */
7668
- name: string;
7669
- /**
7670
- * Arguments to pass to the tool
7671
- */
7672
- arguments: Record<string, unknown>;
7673
- };
7674
- /**
7675
- * Tool call result
7676
- */
7677
- type MCPToolResult = {
7678
- /**
7679
- * Result content from the tool
7680
- */
7681
- content: unknown;
7682
- };
7683
- /**
7684
- * MCP client events
7685
- */
7686
- interface MCPClientEvents {
7687
- /**
7688
- * Emitted when the client connects to the server
7689
- */
7690
- connect: () => void;
7691
- /**
7692
- * Emitted when the client disconnects from the server
7693
- */
7694
- disconnect: () => void;
7695
- /**
7696
- * Emitted when an error occurs
8066
+ * Emitted when an error occurs
7697
8067
  */
7698
8068
  error: (error: Error | TransportError) => void;
7699
8069
  /**
@@ -7918,6 +8288,23 @@ declare class MCPConfiguration<TServerKeys extends string = string> {
7918
8288
  private getConnectedClient;
7919
8289
  }
7920
8290
 
8291
+ declare global {
8292
+ var ___voltagent_trigger_registry: TriggerRegistry | undefined;
8293
+ }
8294
+ declare class TriggerRegistry {
8295
+ private readonly logger;
8296
+ private readonly triggers;
8297
+ private readonly pathIndex;
8298
+ static getInstance(): TriggerRegistry;
8299
+ register(name: string, config: VoltAgentTriggerConfig): RegisteredTrigger;
8300
+ registerMany(triggers?: Record<string, VoltAgentTriggerConfig>): void;
8301
+ unregister(name: string): boolean;
8302
+ get(name: string): RegisteredTrigger | undefined;
8303
+ getByPath(path: string): RegisteredTrigger | undefined;
8304
+ list(): RegisteredTrigger[];
8305
+ clear(): void;
8306
+ }
8307
+
7921
8308
  /**
7922
8309
  * Basic type definitions for VoltAgent Core
7923
8310
  */
@@ -7997,6 +8384,7 @@ interface ServerProviderDeps {
7997
8384
  a2a?: {
7998
8385
  registry: A2AServerRegistry;
7999
8386
  };
8387
+ triggerRegistry: TriggerRegistry;
8000
8388
  ensureEnvironment?: (env?: Record<string, unknown>) => void;
8001
8389
  }
8002
8390
  /**
@@ -8050,6 +8438,8 @@ type VoltAgentOptions = {
8050
8438
  * Can be either Workflow instances or WorkflowChain instances
8051
8439
  */
8052
8440
  workflows?: Record<string, Workflow<DangerouslyAllowAny, DangerouslyAllowAny, DangerouslyAllowAny, DangerouslyAllowAny> | WorkflowChain<DangerouslyAllowAny, DangerouslyAllowAny, DangerouslyAllowAny, DangerouslyAllowAny, DangerouslyAllowAny>>;
8441
+ /** Optional VoltOps trigger handlers */
8442
+ triggers?: VoltAgentTriggersConfig;
8053
8443
  /**
8054
8444
  * Server provider factory function
8055
8445
  * Example: honoServer({ port: 3141, enableSwaggerUI: true })
@@ -8104,6 +8494,795 @@ type VoltAgentOptions = {
8104
8494
  enableSwaggerUI?: boolean;
8105
8495
  };
8106
8496
 
8497
+ type TriggerHttpMethod = "get" | "post" | "put" | "patch" | "delete";
8498
+ interface VoltOpsTriggerEnvelope<TPayload = unknown> {
8499
+ provider?: string;
8500
+ trigger?: string;
8501
+ event?: string;
8502
+ payload?: TPayload;
8503
+ deliveryId?: string;
8504
+ bindingId?: string;
8505
+ targetId?: string;
8506
+ catalogId?: string;
8507
+ metadata?: Record<string, unknown> | null;
8508
+ [key: string]: unknown;
8509
+ }
8510
+ interface VoltOpsTriggerDefinition<TPayload = unknown> {
8511
+ /** Unique trigger key, e.g. `github.star` */
8512
+ name: string;
8513
+ /** Provider identifier such as `github`, `airtable`, or `gmail-new-email` */
8514
+ provider: string;
8515
+ /** Short label for display purposes */
8516
+ summary?: string;
8517
+ /** Longer description of the trigger */
8518
+ description?: string;
8519
+ /** Suggested HTTP path (used when building default routes) */
8520
+ defaultPath?: string;
8521
+ /** Optional delivery method metadata (webhook, polling, schedule, etc.) */
8522
+ deliveryMode?: string;
8523
+ /** Optional category metadata */
8524
+ category?: string;
8525
+ /** Optional payload description */
8526
+ payloadType?: TPayload;
8527
+ }
8528
+ interface RegisteredTrigger<TPayload = unknown> {
8529
+ name: string;
8530
+ path: string;
8531
+ method: TriggerHttpMethod;
8532
+ handler: TriggerHandler<TPayload>;
8533
+ definition?: VoltOpsTriggerDefinition<TPayload>;
8534
+ summary?: string;
8535
+ description?: string;
8536
+ metadata?: Record<string, unknown>;
8537
+ }
8538
+ interface TriggerHandlerContext<TPayload = unknown> {
8539
+ payload: TPayload;
8540
+ event: VoltOpsTriggerEnvelope<TPayload>;
8541
+ trigger: RegisteredTrigger<TPayload>;
8542
+ logger: Logger;
8543
+ headers: Record<string, string>;
8544
+ agentRegistry: ServerProviderDeps["agentRegistry"];
8545
+ workflowRegistry: ServerProviderDeps["workflowRegistry"];
8546
+ voltOpsClient?: VoltOpsClient;
8547
+ agents: Record<string, Agent>;
8548
+ rawRequest?: unknown;
8549
+ triggerContext: Map<string | symbol, unknown>;
8550
+ }
8551
+ type TriggerHandlerBody = string | number | boolean | null | Record<string, unknown> | unknown[];
8552
+ interface TriggerHandlerResponse {
8553
+ status?: number;
8554
+ body?: TriggerHandlerBody;
8555
+ headers?: Record<string, string>;
8556
+ }
8557
+ type TriggerHandlerResult = void | TriggerHandlerBody | TriggerHandlerResponse;
8558
+ /**
8559
+ * @deprecated Use {@link TriggerHandlerResult}. This alias remains for backwards compatibility.
8560
+ */
8561
+ type TriggerHandlerReturn = TriggerHandlerResult | Promise<TriggerHandlerResult> | Promise<void>;
8562
+ type TriggerHandler<TPayload = unknown> = (context: TriggerHandlerContext<TPayload>) => TriggerHandlerReturn;
8563
+ type VoltAgentTriggerConfig<TPayload = unknown> = TriggerHandler<TPayload> | {
8564
+ handler: TriggerHandler<TPayload>;
8565
+ path?: string;
8566
+ method?: TriggerHttpMethod;
8567
+ definition?: VoltOpsTriggerDefinition<TPayload>;
8568
+ summary?: string;
8569
+ description?: string;
8570
+ metadata?: Record<string, unknown>;
8571
+ };
8572
+ type VoltAgentTriggersConfig = Record<string, VoltAgentTriggerConfig>;
8573
+ declare function defineVoltOpsTrigger<TPayload = unknown>(definition: VoltOpsTriggerDefinition<TPayload>): VoltOpsTriggerDefinition<TPayload>;
8574
+
8575
+ type VoltOpsTriggerCatalog = typeof DEFAULT_TRIGGER_CATALOG;
8576
+ type VoltOpsTriggerName = VoltOpsTriggerCatalog[number]["events"][number]["key"];
8577
+ type LowerFirst<S extends string> = S extends `${infer F}${infer R}` ? `${Lowercase<F>}${R}` : S;
8578
+ type NormalizeSegment<S extends string> = S extends `${infer Head}-${infer Tail}` ? `${Lowercase<Head>}${Capitalize<NormalizeSegment<Tail>>}` : S extends `${infer Head}_${infer Tail}` ? `${Lowercase<Head>}${Capitalize<NormalizeSegment<Tail>>}` : LowerFirst<S>;
8579
+ type ProviderIdentifier<Entry extends DefaultTriggerCatalogEntry> = NormalizeSegment<Entry["dslTriggerId"] extends string ? Entry["dslTriggerId"] : Entry["triggerId"]>;
8580
+ type EventPropertyName<K extends string> = K extends `${string}.${infer Rest}` ? Rest extends "*" ? "any" : NormalizeSegment<Rest> : NormalizeSegment<K>;
8581
+ type BuildTriggerGroups<TCatalog extends readonly DefaultTriggerCatalogEntry[]> = {
8582
+ [Entry in TCatalog[number] as ProviderIdentifier<Entry>]: Entry["events"] extends readonly any[] ? {
8583
+ [Event in Entry["events"][number] as EventPropertyName<Event["key"]>]: Event["key"];
8584
+ } : never;
8585
+ };
8586
+ declare const VoltOpsTriggerGroups: BuildTriggerGroups<readonly [{
8587
+ readonly triggerId: "cron";
8588
+ readonly displayName: "Cron Trigger";
8589
+ readonly service: "Scheduler";
8590
+ readonly category: "Platform & General";
8591
+ readonly authType: null;
8592
+ readonly deliveryModes: ["schedule"];
8593
+ readonly metadata: {
8594
+ readonly description: "Run an agent or workflow on a recurring schedule using cron expressions.";
8595
+ };
8596
+ readonly version: "1.0.0";
8597
+ readonly events: readonly [{
8598
+ readonly key: "cron.schedule";
8599
+ readonly displayName: "Scheduled run";
8600
+ readonly description: "Execute on the provided cron expression schedule (e.g., every minute, hourly).";
8601
+ readonly deliveryMode: "schedule";
8602
+ readonly defaultConfig: {
8603
+ readonly schedule: {
8604
+ readonly type: "cron";
8605
+ readonly expression: "*/5 * * * *";
8606
+ readonly timezone: "UTC";
8607
+ };
8608
+ };
8609
+ }];
8610
+ }, {
8611
+ readonly triggerId: "gmail-new-email";
8612
+ readonly dslTriggerId: "gmail";
8613
+ readonly displayName: "Gmail";
8614
+ readonly service: "Gmail";
8615
+ readonly category: "Email & Messaging";
8616
+ readonly authType: "oauth2";
8617
+ readonly deliveryModes: ["polling"];
8618
+ readonly metadata: {
8619
+ readonly description: "Trigger when a new email appears in a selected Gmail inbox or label.";
8620
+ };
8621
+ readonly version: "1.0.0";
8622
+ readonly events: readonly [{
8623
+ readonly key: "gmail.newEmail";
8624
+ readonly displayName: "New email";
8625
+ readonly description: "Detect new emails in the configured Gmail account and optional label or search filter.";
8626
+ readonly deliveryMode: "polling";
8627
+ }];
8628
+ }, {
8629
+ readonly triggerId: "github";
8630
+ readonly displayName: "GitHub";
8631
+ readonly service: "GitHub";
8632
+ readonly category: "Developer Tools";
8633
+ readonly authType: "token";
8634
+ readonly deliveryModes: ["webhook"];
8635
+ readonly metadata: {
8636
+ readonly description: "Trigger workflows from GitHub repository activity such as pushes, pull requests, or issue updates.";
8637
+ readonly docsUrl: "https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads";
8638
+ };
8639
+ readonly version: "1.0.0";
8640
+ readonly events: readonly [{
8641
+ readonly key: "github.*";
8642
+ readonly displayName: "Any event";
8643
+ readonly description: "Emit whenever GitHub delivers any webhook event (wildcard).";
8644
+ readonly deliveryMode: "webhook";
8645
+ }, {
8646
+ readonly key: "github.check_run";
8647
+ readonly displayName: "Check run";
8648
+ readonly description: "Triggered when a check run is created, rerequested, completed, or has a requested action.";
8649
+ readonly deliveryMode: "webhook";
8650
+ }, {
8651
+ readonly key: "github.check_suite";
8652
+ readonly displayName: "Check suite";
8653
+ readonly description: "Triggered when a check suite is completed, requested, or rerequested.";
8654
+ readonly deliveryMode: "webhook";
8655
+ }, {
8656
+ readonly key: "github.commit_comment";
8657
+ readonly displayName: "Commit comment";
8658
+ readonly description: "Triggered when a commit comment is created.";
8659
+ readonly deliveryMode: "webhook";
8660
+ }, {
8661
+ readonly key: "github.create";
8662
+ readonly displayName: "Create";
8663
+ readonly description: "Triggered when a repository, branch, or tag is created.";
8664
+ readonly deliveryMode: "webhook";
8665
+ }, {
8666
+ readonly key: "github.delete";
8667
+ readonly displayName: "Delete";
8668
+ readonly description: "Triggered when a repository branch or tag is deleted.";
8669
+ readonly deliveryMode: "webhook";
8670
+ }, {
8671
+ readonly key: "github.deploy_key";
8672
+ readonly displayName: "Deploy key";
8673
+ readonly description: "Triggered when a deploy key is added or removed from a repository.";
8674
+ readonly deliveryMode: "webhook";
8675
+ }, {
8676
+ readonly key: "github.deployment";
8677
+ readonly displayName: "Deployment";
8678
+ readonly description: "Triggered when a deployment is created.";
8679
+ readonly deliveryMode: "webhook";
8680
+ }, {
8681
+ readonly key: "github.deployment_status";
8682
+ readonly displayName: "Deployment status";
8683
+ readonly description: "Triggered when the status of a deployment changes.";
8684
+ readonly deliveryMode: "webhook";
8685
+ }, {
8686
+ readonly key: "github.fork";
8687
+ readonly displayName: "Fork";
8688
+ readonly description: "Triggered when a user forks a repository.";
8689
+ readonly deliveryMode: "webhook";
8690
+ }, {
8691
+ readonly key: "github.github_app_authorization";
8692
+ readonly displayName: "GitHub App authorization";
8693
+ readonly description: "Triggered when someone revokes their authorization of a GitHub App.";
8694
+ readonly deliveryMode: "webhook";
8695
+ }, {
8696
+ readonly key: "github.gollum";
8697
+ readonly displayName: "Gollum";
8698
+ readonly description: "Triggered when a Wiki page is created or updated.";
8699
+ readonly deliveryMode: "webhook";
8700
+ }, {
8701
+ readonly key: "github.installation";
8702
+ readonly displayName: "Installation";
8703
+ readonly description: "Triggered when someone installs, uninstalls, or accepts new permissions for a GitHub App.";
8704
+ readonly deliveryMode: "webhook";
8705
+ }, {
8706
+ readonly key: "github.installation_repositories";
8707
+ readonly displayName: "Installation repositories";
8708
+ readonly description: "Triggered when a repository is added or removed from a GitHub App installation.";
8709
+ readonly deliveryMode: "webhook";
8710
+ }, {
8711
+ readonly key: "github.issue_comment";
8712
+ readonly displayName: "Issue comment";
8713
+ readonly description: "Triggered when an issue comment is created, edited, or deleted.";
8714
+ readonly deliveryMode: "webhook";
8715
+ }, {
8716
+ readonly key: "github.issues";
8717
+ readonly displayName: "Issues";
8718
+ readonly description: "Triggered when an issue is created, edited, deleted, transferred, pinned, closed, reopened, or changed.";
8719
+ readonly deliveryMode: "webhook";
8720
+ }, {
8721
+ readonly key: "github.label";
8722
+ readonly displayName: "Label";
8723
+ readonly description: "Triggered when a repository's label is created, edited, or deleted.";
8724
+ readonly deliveryMode: "webhook";
8725
+ }, {
8726
+ readonly key: "github.marketplace_purchase";
8727
+ readonly displayName: "Marketplace purchase";
8728
+ readonly description: "Triggered when a GitHub Marketplace plan is purchased, upgraded, downgraded, or cancelled.";
8729
+ readonly deliveryMode: "webhook";
8730
+ }, {
8731
+ readonly key: "github.member";
8732
+ readonly displayName: "Member";
8733
+ readonly description: "Triggered when a user accepts an invitation, is removed, or has permissions changed as a collaborator.";
8734
+ readonly deliveryMode: "webhook";
8735
+ }, {
8736
+ readonly key: "github.membership";
8737
+ readonly displayName: "Membership";
8738
+ readonly description: "Triggered when a user is added or removed from a team (organization hooks only).";
8739
+ readonly deliveryMode: "webhook";
8740
+ }, {
8741
+ readonly key: "github.meta";
8742
+ readonly displayName: "Meta";
8743
+ readonly description: "Triggered when the webhook configuration itself is deleted.";
8744
+ readonly deliveryMode: "webhook";
8745
+ }, {
8746
+ readonly key: "github.milestone";
8747
+ readonly displayName: "Milestone";
8748
+ readonly description: "Triggered when a milestone is created, closed, opened, edited, or deleted.";
8749
+ readonly deliveryMode: "webhook";
8750
+ }, {
8751
+ readonly key: "github.org_block";
8752
+ readonly displayName: "Org block";
8753
+ readonly description: "Triggered when an organization blocks or unblocks a user (organization hooks only).";
8754
+ readonly deliveryMode: "webhook";
8755
+ }, {
8756
+ readonly key: "github.organization";
8757
+ readonly displayName: "Organization";
8758
+ readonly description: "Triggered when an organization is renamed, deleted, or membership changes (organization hooks only).";
8759
+ readonly deliveryMode: "webhook";
8760
+ }, {
8761
+ readonly key: "github.page_build";
8762
+ readonly displayName: "Page build";
8763
+ readonly description: "Triggered on pushes to a GitHub Pages enabled branch that results in a page build.";
8764
+ readonly deliveryMode: "webhook";
8765
+ }, {
8766
+ readonly key: "github.project";
8767
+ readonly displayName: "Project";
8768
+ readonly description: "Triggered when a project is created, updated, closed, reopened, or deleted.";
8769
+ readonly deliveryMode: "webhook";
8770
+ }, {
8771
+ readonly key: "github.project_card";
8772
+ readonly displayName: "Project card";
8773
+ readonly description: "Triggered when a project card is created, edited, moved, converted to an issue, or deleted.";
8774
+ readonly deliveryMode: "webhook";
8775
+ }, {
8776
+ readonly key: "github.project_column";
8777
+ readonly displayName: "Project column";
8778
+ readonly description: "Triggered when a project column is created, updated, moved, or deleted.";
8779
+ readonly deliveryMode: "webhook";
8780
+ }, {
8781
+ readonly key: "github.public";
8782
+ readonly displayName: "Public";
8783
+ readonly description: "Triggered when a private repository is open sourced.";
8784
+ readonly deliveryMode: "webhook";
8785
+ }, {
8786
+ readonly key: "github.pull_request";
8787
+ readonly displayName: "Pull request";
8788
+ readonly description: "Triggered when a pull request is opened, edited, closed, reopened, labeled, assigned, or synchronized.";
8789
+ readonly deliveryMode: "webhook";
8790
+ }, {
8791
+ readonly key: "github.pull_request_review";
8792
+ readonly displayName: "Pull request review";
8793
+ readonly description: "Triggered when a pull request review is submitted, edited, or dismissed.";
8794
+ readonly deliveryMode: "webhook";
8795
+ }, {
8796
+ readonly key: "github.pull_request_review_comment";
8797
+ readonly displayName: "Pull request review comment";
8798
+ readonly description: "Triggered when a comment on a pull request diff is created, edited, or deleted.";
8799
+ readonly deliveryMode: "webhook";
8800
+ }, {
8801
+ readonly key: "github.push";
8802
+ readonly displayName: "Push";
8803
+ readonly description: "Triggered on a push to a branch or tag. This is the default event for repository webhooks.";
8804
+ readonly deliveryMode: "webhook";
8805
+ }, {
8806
+ readonly key: "github.release";
8807
+ readonly displayName: "Release";
8808
+ readonly description: "Triggered when a release is published, edited, deleted, or prereleased.";
8809
+ readonly deliveryMode: "webhook";
8810
+ }, {
8811
+ readonly key: "github.repository";
8812
+ readonly displayName: "Repository";
8813
+ readonly description: "Triggered when a repository is created, archived, unarchived, renamed, transferred, or deleted.";
8814
+ readonly deliveryMode: "webhook";
8815
+ }, {
8816
+ readonly key: "github.repository_import";
8817
+ readonly displayName: "Repository import";
8818
+ readonly description: "Triggered when a repository import succeeds, fails, or is cancelled.";
8819
+ readonly deliveryMode: "webhook";
8820
+ }, {
8821
+ readonly key: "github.repository_vulnerability_alert";
8822
+ readonly displayName: "Repository vulnerability alert";
8823
+ readonly description: "Triggered when a Dependabot security alert is created, dismissed, or resolved.";
8824
+ readonly deliveryMode: "webhook";
8825
+ }, {
8826
+ readonly key: "github.security_advisory";
8827
+ readonly displayName: "Security advisory";
8828
+ readonly description: "Triggered when a security advisory is published, updated, or withdrawn for an organization.";
8829
+ readonly deliveryMode: "webhook";
8830
+ }, {
8831
+ readonly key: "github.star";
8832
+ readonly displayName: "Star";
8833
+ readonly description: "Triggered when a star is added to or removed from a repository.";
8834
+ readonly deliveryMode: "webhook";
8835
+ }, {
8836
+ readonly key: "github.status";
8837
+ readonly displayName: "Status";
8838
+ readonly description: "Triggered when the status of a Git commit changes.";
8839
+ readonly deliveryMode: "webhook";
8840
+ }, {
8841
+ readonly key: "github.team";
8842
+ readonly displayName: "Team";
8843
+ readonly description: "Triggered when an organization's team is created, deleted, edited, or repository access changes (organization hooks only).";
8844
+ readonly deliveryMode: "webhook";
8845
+ }, {
8846
+ readonly key: "github.team_add";
8847
+ readonly displayName: "Team add";
8848
+ readonly description: "Triggered when a repository is added to a team.";
8849
+ readonly deliveryMode: "webhook";
8850
+ }, {
8851
+ readonly key: "github.watch";
8852
+ readonly displayName: "Watch";
8853
+ readonly description: "Triggered when someone stars a repository.";
8854
+ readonly deliveryMode: "webhook";
8855
+ }];
8856
+ }, {
8857
+ readonly triggerId: "slack";
8858
+ readonly displayName: "Slack";
8859
+ readonly service: "Slack";
8860
+ readonly category: "Email & Messaging";
8861
+ readonly authType: "token";
8862
+ readonly deliveryModes: ["webhook"];
8863
+ readonly metadata: {
8864
+ readonly description: "Trigger workflows from events happening inside your Slack workspace such as messages, reactions, and channel activity.";
8865
+ readonly docsUrl: "https://api.slack.com/events";
8866
+ };
8867
+ readonly version: "1.0.0";
8868
+ readonly events: readonly [{
8869
+ readonly key: "slack.anyEvent";
8870
+ readonly displayName: "Any Slack event";
8871
+ readonly description: "Receive every event delivered to your Slack app via the Events API. Use with caution in busy workspaces.";
8872
+ readonly deliveryMode: "webhook";
8873
+ readonly defaultConfig: {
8874
+ readonly provider: {
8875
+ readonly type: "slack";
8876
+ readonly watchWorkspace: true;
8877
+ readonly channelId: null;
8878
+ readonly includeBotMessages: true;
8879
+ };
8880
+ };
8881
+ }, {
8882
+ readonly key: "slack.appMention";
8883
+ readonly displayName: "Bot or app mention";
8884
+ readonly description: "Trigger when your bot or app is mentioned in a channel where it is present.";
8885
+ readonly deliveryMode: "webhook";
8886
+ readonly defaultConfig: {
8887
+ readonly provider: {
8888
+ readonly type: "slack";
8889
+ readonly watchWorkspace: false;
8890
+ readonly channelId: null;
8891
+ readonly includeBotMessages: false;
8892
+ };
8893
+ };
8894
+ }, {
8895
+ readonly key: "slack.messagePosted";
8896
+ readonly displayName: "Message posted to channel";
8897
+ readonly description: "Trigger when a new message is posted to a channel that the app is added to.";
8898
+ readonly deliveryMode: "webhook";
8899
+ readonly defaultConfig: {
8900
+ readonly provider: {
8901
+ readonly type: "slack";
8902
+ readonly watchWorkspace: false;
8903
+ readonly channelId: null;
8904
+ readonly includeBotMessages: false;
8905
+ };
8906
+ };
8907
+ }, {
8908
+ readonly key: "slack.reactionAdded";
8909
+ readonly displayName: "Reaction added";
8910
+ readonly description: "Trigger when a reaction is added to a message in a channel your app has joined.";
8911
+ readonly deliveryMode: "webhook";
8912
+ readonly defaultConfig: {
8913
+ readonly provider: {
8914
+ readonly type: "slack";
8915
+ readonly watchWorkspace: false;
8916
+ readonly channelId: null;
8917
+ readonly includeBotMessages: true;
8918
+ };
8919
+ };
8920
+ }, {
8921
+ readonly key: "slack.fileShare";
8922
+ readonly displayName: "File shared";
8923
+ readonly description: "Trigger when a file is shared in a channel that the app is added to.";
8924
+ readonly deliveryMode: "webhook";
8925
+ readonly defaultConfig: {
8926
+ readonly provider: {
8927
+ readonly type: "slack";
8928
+ readonly watchWorkspace: false;
8929
+ readonly channelId: null;
8930
+ readonly includeBotMessages: true;
8931
+ };
8932
+ };
8933
+ }, {
8934
+ readonly key: "slack.filePublic";
8935
+ readonly displayName: "File made public";
8936
+ readonly description: "Trigger when a file is made public in the workspace.";
8937
+ readonly deliveryMode: "webhook";
8938
+ readonly defaultConfig: {
8939
+ readonly provider: {
8940
+ readonly type: "slack";
8941
+ readonly watchWorkspace: true;
8942
+ readonly channelId: null;
8943
+ readonly includeBotMessages: true;
8944
+ };
8945
+ };
8946
+ }, {
8947
+ readonly key: "slack.channelCreated";
8948
+ readonly displayName: "Channel created";
8949
+ readonly description: "Trigger when a new public channel is created in the workspace.";
8950
+ readonly deliveryMode: "webhook";
8951
+ readonly defaultConfig: {
8952
+ readonly provider: {
8953
+ readonly type: "slack";
8954
+ readonly watchWorkspace: true;
8955
+ readonly channelId: null;
8956
+ readonly includeBotMessages: true;
8957
+ };
8958
+ };
8959
+ }, {
8960
+ readonly key: "slack.teamJoin";
8961
+ readonly displayName: "User joined workspace";
8962
+ readonly description: "Trigger when a new user joins the Slack workspace.";
8963
+ readonly deliveryMode: "webhook";
8964
+ readonly defaultConfig: {
8965
+ readonly provider: {
8966
+ readonly type: "slack";
8967
+ readonly watchWorkspace: true;
8968
+ readonly channelId: null;
8969
+ readonly includeBotMessages: true;
8970
+ };
8971
+ };
8972
+ }];
8973
+ }, {
8974
+ readonly triggerId: "discord";
8975
+ readonly displayName: "Discord (Actions)";
8976
+ readonly service: "Discord";
8977
+ readonly category: "Email & Messaging";
8978
+ readonly authType: "bot-token";
8979
+ readonly deliveryModes: [];
8980
+ readonly metadata: {
8981
+ readonly description: "Use Discord bot tokens or webhooks with VoltAgent actions. This integration only powers outgoing actions (no event triggers).";
8982
+ readonly actionOnly: true;
8983
+ };
8984
+ readonly version: "1.0.0";
8985
+ readonly events: readonly [];
8986
+ }, {
8987
+ readonly triggerId: "airtable-record";
8988
+ readonly dslTriggerId: "airtable";
8989
+ readonly displayName: "Airtable";
8990
+ readonly service: "Airtable";
8991
+ readonly category: "Productivity";
8992
+ readonly authType: "token";
8993
+ readonly deliveryModes: ["polling"];
8994
+ readonly metadata: {
8995
+ readonly description: "Trigger when new rows are added to an Airtable base or view.";
8996
+ };
8997
+ readonly version: "1.0.0";
8998
+ readonly events: readonly [{
8999
+ readonly key: "airtable.recordCreated";
9000
+ readonly displayName: "Record created";
9001
+ readonly description: "Poll the configured Base/Table/View and emit when a new record is created.";
9002
+ readonly deliveryMode: "polling";
9003
+ }];
9004
+ }]>;
9005
+ type VoltOpsTriggerGroupMap = typeof VoltOpsTriggerGroups;
9006
+ declare const VoltOpsTriggerDefinitions: Record<"github.*" | "github.check_run" | "github.check_suite" | "github.commit_comment" | "github.create" | "github.delete" | "github.deploy_key" | "github.deployment" | "github.deployment_status" | "github.fork" | "github.github_app_authorization" | "github.gollum" | "github.installation" | "github.installation_repositories" | "github.issue_comment" | "github.issues" | "github.label" | "github.marketplace_purchase" | "github.member" | "github.membership" | "github.meta" | "github.milestone" | "github.org_block" | "github.organization" | "github.page_build" | "github.project" | "github.project_card" | "github.project_column" | "github.public" | "github.pull_request" | "github.pull_request_review" | "github.pull_request_review_comment" | "github.push" | "github.release" | "github.repository" | "github.repository_import" | "github.repository_vulnerability_alert" | "github.security_advisory" | "github.star" | "github.status" | "github.team" | "github.team_add" | "github.watch" | "slack.anyEvent" | "slack.appMention" | "slack.messagePosted" | "slack.reactionAdded" | "slack.fileShare" | "slack.filePublic" | "slack.channelCreated" | "slack.teamJoin" | "cron.schedule" | "gmail.newEmail" | "airtable.recordCreated", VoltOpsTriggerDefinition<unknown>>;
9007
+ declare const VoltOpsTriggerNames: VoltOpsTriggerName[];
9008
+ declare function getVoltOpsTriggerDefinition(name: VoltOpsTriggerName): VoltOpsTriggerDefinition;
9009
+
9010
+ type TriggerRegistrar = (config: VoltAgentTriggerConfig) => void;
9011
+ type TriggerProviderDsl<TEvents extends Record<string, string>> = {
9012
+ [Event in keyof TEvents]: TriggerRegistrar;
9013
+ };
9014
+ type TriggerDsl = {
9015
+ [Provider in keyof VoltOpsTriggerGroupMap]: TriggerProviderDsl<VoltOpsTriggerGroupMap[Provider]>;
9016
+ };
9017
+ /**
9018
+ * DSL helper that allows registering triggers with dot-access syntax.
9019
+ *
9020
+ * Example:
9021
+ * ```ts
9022
+ * const volt = new VoltAgent({
9023
+ * triggers: createTriggers((on) => {
9024
+ * on.github.star(async ({ payload }) => {
9025
+ * // ...
9026
+ * });
9027
+ * }),
9028
+ * });
9029
+ * ```
9030
+ */
9031
+ declare function createTriggers(builder: (on: TriggerDsl) => void): VoltAgentTriggersConfig;
9032
+
9033
+ /**
9034
+ * In-Memory Storage Adapter for Memory V2
9035
+ * Stores conversations and messages in memory
9036
+ */
9037
+
9038
+ /**
9039
+ * In-Memory Storage Adapter
9040
+ * Simple implementation for testing and development
9041
+ */
9042
+ declare class InMemoryStorageAdapter implements StorageAdapter {
9043
+ private storage;
9044
+ private conversations;
9045
+ private users;
9046
+ private workflowStates;
9047
+ private workflowStatesByWorkflow;
9048
+ private conversationSteps;
9049
+ /**
9050
+ * Add a single message
9051
+ */
9052
+ addMessage(message: UIMessage, userId: string, conversationId: string, _context?: OperationContext): Promise<void>;
9053
+ /**
9054
+ * Add multiple messages
9055
+ */
9056
+ addMessages(messages: UIMessage[], userId: string, conversationId: string, context?: OperationContext): Promise<void>;
9057
+ /**
9058
+ * Get messages with optional filtering
9059
+ */
9060
+ getMessages(userId: string, conversationId: string, options?: GetMessagesOptions, _context?: OperationContext): Promise<UIMessage[]>;
9061
+ saveConversationSteps(steps: ConversationStepRecord[]): Promise<void>;
9062
+ getConversationSteps(userId: string, conversationId: string, options?: GetConversationStepsOptions): Promise<ConversationStepRecord[]>;
9063
+ /**
9064
+ * Clear messages for a user
9065
+ */
9066
+ clearMessages(userId: string, conversationId?: string, _context?: OperationContext): Promise<void>;
9067
+ /**
9068
+ * Create a new conversation
9069
+ */
9070
+ createConversation(input: CreateConversationInput): Promise<Conversation>;
9071
+ /**
9072
+ * Get a conversation by ID
9073
+ */
9074
+ getConversation(id: string): Promise<Conversation | null>;
9075
+ /**
9076
+ * Get conversations for a resource
9077
+ */
9078
+ getConversations(resourceId: string): Promise<Conversation[]>;
9079
+ /**
9080
+ * Get conversations by user ID with query options
9081
+ */
9082
+ getConversationsByUserId(userId: string, options?: Omit<ConversationQueryOptions, "userId">): Promise<Conversation[]>;
9083
+ /**
9084
+ * Query conversations with advanced options
9085
+ */
9086
+ queryConversations(options: ConversationQueryOptions): Promise<Conversation[]>;
9087
+ /**
9088
+ * Update a conversation
9089
+ */
9090
+ updateConversation(id: string, updates: Partial<Omit<Conversation, "id" | "createdAt" | "updatedAt">>): Promise<Conversation>;
9091
+ /**
9092
+ * Delete a conversation
9093
+ */
9094
+ deleteConversation(id: string): Promise<void>;
9095
+ /**
9096
+ * Get working memory content from metadata
9097
+ */
9098
+ getWorkingMemory(params: {
9099
+ conversationId?: string;
9100
+ userId?: string;
9101
+ scope: WorkingMemoryScope;
9102
+ }): Promise<string | null>;
9103
+ /**
9104
+ * Set working memory content in metadata
9105
+ */
9106
+ setWorkingMemory(params: {
9107
+ conversationId?: string;
9108
+ userId?: string;
9109
+ content: string;
9110
+ scope: WorkingMemoryScope;
9111
+ }): Promise<void>;
9112
+ /**
9113
+ * Delete working memory from metadata
9114
+ */
9115
+ deleteWorkingMemory(params: {
9116
+ conversationId?: string;
9117
+ userId?: string;
9118
+ scope: WorkingMemoryScope;
9119
+ }): Promise<void>;
9120
+ /**
9121
+ * Get workflow state by execution ID
9122
+ */
9123
+ getWorkflowState(executionId: string): Promise<WorkflowStateEntry | null>;
9124
+ /**
9125
+ * Set workflow state
9126
+ */
9127
+ setWorkflowState(executionId: string, state: WorkflowStateEntry): Promise<void>;
9128
+ /**
9129
+ * Update workflow state
9130
+ */
9131
+ updateWorkflowState(executionId: string, updates: Partial<WorkflowStateEntry>): Promise<void>;
9132
+ /**
9133
+ * Get suspended workflow states for a workflow
9134
+ */
9135
+ getSuspendedWorkflowStates(workflowId: string): Promise<WorkflowStateEntry[]>;
9136
+ /**
9137
+ * Get storage statistics
9138
+ */
9139
+ getStats(): {
9140
+ totalConversations: number;
9141
+ totalUsers: number;
9142
+ totalMessages: number;
9143
+ };
9144
+ private getOrCreateUserSteps;
9145
+ private getOrCreateConversationSteps;
9146
+ /**
9147
+ * Clear all data
9148
+ */
9149
+ clear(): void;
9150
+ }
9151
+
9152
+ /**
9153
+ * Lightweight in-memory vector database adapter
9154
+ * Suitable for development, testing, and small datasets (< 10k vectors)
9155
+ */
9156
+ declare class InMemoryVectorAdapter implements VectorAdapter {
9157
+ private vectors;
9158
+ private dimensions;
9159
+ constructor();
9160
+ store(id: string, vector: number[], metadata?: Record<string, unknown>): Promise<void>;
9161
+ storeBatch(items: VectorItem[]): Promise<void>;
9162
+ search(queryVector: number[], options?: {
9163
+ limit?: number;
9164
+ filter?: Record<string, unknown>;
9165
+ threshold?: number;
9166
+ }): Promise<SearchResult[]>;
9167
+ delete(id: string): Promise<void>;
9168
+ deleteBatch(ids: string[]): Promise<void>;
9169
+ clear(): Promise<void>;
9170
+ count(): Promise<number>;
9171
+ get(id: string): Promise<VectorItem | null>;
9172
+ /**
9173
+ * Check if metadata matches the filter criteria
9174
+ */
9175
+ private matchesFilter;
9176
+ /**
9177
+ * Get statistics about the vector store
9178
+ */
9179
+ getStats(): Promise<{
9180
+ count: number;
9181
+ dimensions: number | null;
9182
+ memoryUsage: number;
9183
+ }>;
9184
+ }
9185
+
9186
+ /**
9187
+ * Embedding adapter interface for converting text to vectors
9188
+ */
9189
+ interface EmbeddingAdapter {
9190
+ /**
9191
+ * Embed a single text string into a vector
9192
+ */
9193
+ embed(text: string): Promise<number[]>;
9194
+ /**
9195
+ * Embed multiple texts in a batch for efficiency
9196
+ */
9197
+ embedBatch(texts: string[]): Promise<number[][]>;
9198
+ /**
9199
+ * Get the dimensionality of the embeddings
9200
+ * Returns undefined if dimensions are not yet known
9201
+ */
9202
+ getDimensions(): number | undefined;
9203
+ /**
9204
+ * Get the model name for debugging/logging
9205
+ */
9206
+ getModelName(): string;
9207
+ }
9208
+ /**
9209
+ * Options for embedding adapter initialization
9210
+ */
9211
+ interface EmbeddingOptions {
9212
+ /**
9213
+ * Maximum number of texts to process in a single batch
9214
+ */
9215
+ maxBatchSize?: number;
9216
+ /**
9217
+ * Timeout for embedding operations in milliseconds
9218
+ */
9219
+ timeout?: number;
9220
+ /**
9221
+ * Whether to normalize embeddings to unit vectors
9222
+ */
9223
+ normalize?: boolean;
9224
+ }
9225
+
9226
+ /**
9227
+ * AI SDK Embedding Adapter
9228
+ * Wraps Vercel AI SDK embedding models for use with Memory V2
9229
+ */
9230
+ declare class AiSdkEmbeddingAdapter implements EmbeddingAdapter {
9231
+ private model;
9232
+ private dimensions;
9233
+ private modelName;
9234
+ private options;
9235
+ constructor(model: EmbeddingModel<string>, options?: EmbeddingOptions);
9236
+ embed(text: string): Promise<number[]>;
9237
+ embedBatch(texts: string[]): Promise<number[][]>;
9238
+ getDimensions(): number;
9239
+ getModelName(): string;
9240
+ /**
9241
+ * Normalize a vector to unit length
9242
+ */
9243
+ private normalizeVector;
9244
+ }
9245
+
9246
+ /**
9247
+ * Defines the main category of a TimelineEvent.
9248
+ */
9249
+ type TimelineEventCoreType = "agent" | "tool" | "memory" | "retriever" | "workflow" | "workflow-step";
9250
+ /**
9251
+ * Defines the operational status of a TimelineEvent.
9252
+ * 'idle' is added for consistency with frontend initial states.
9253
+ * 'suspended' is added for workflow suspension state.
9254
+ */
9255
+ type TimelineEventCoreStatus = "idle" | "running" | "completed" | "error" | "suspended";
9256
+ /**
9257
+ * Defines the severity level of a TimelineEvent.
9258
+ */
9259
+ type TimelineEventCoreLevel = "DEBUG" | "INFO" | "WARNING" | "ERROR" | "CRITICAL";
9260
+ /**
9261
+ * Usage information for tracking resource consumption
9262
+ */
9263
+ interface Usage {
9264
+ promptTokens?: number;
9265
+ completionTokens?: number;
9266
+ totalTokens?: number;
9267
+ input?: number;
9268
+ output?: number;
9269
+ total?: number;
9270
+ unit?: "TOKENS" | "CHARACTERS" | "MILLISECONDS" | "SECONDS" | "IMAGES";
9271
+ inputCost?: number;
9272
+ outputCost?: number;
9273
+ totalCost?: number;
9274
+ [key: string]: unknown;
9275
+ }
9276
+ /**
9277
+ * Base metadata interface with common fields for all timeline events
9278
+ */
9279
+ interface BaseEventMetadata {
9280
+ displayName?: string;
9281
+ id: string;
9282
+ agentId?: string;
9283
+ context?: Record<string, unknown>;
9284
+ }
9285
+
8107
9286
  /**
8108
9287
  * Prompt management utilities for agent prompt tuning
8109
9288
  */
@@ -8711,6 +9890,8 @@ declare class VoltAgent {
8711
9890
  private readonly a2aServers;
8712
9891
  private readonly a2aServerRegistry;
8713
9892
  private readonly ensureEnvironmentBinding;
9893
+ private readonly triggerRegistry;
9894
+ private readonly agentRefs;
8714
9895
  constructor(options: VoltAgentOptions);
8715
9896
  serverless(): IServerlessProvider;
8716
9897
  private ensureEnvironment;
@@ -8728,6 +9909,8 @@ declare class VoltAgent {
8728
9909
  /**
8729
9910
  * Register an agent
8730
9911
  */
9912
+ registerTrigger(name: string, config: VoltAgentTriggerConfig): void;
9913
+ registerTriggers(triggers?: VoltAgentTriggersConfig): void;
8731
9914
  registerAgent(agent: Agent): void;
8732
9915
  /**
8733
9916
  * Register multiple agents
@@ -8808,4 +9991,4 @@ declare class VoltAgent {
8808
9991
  */
8809
9992
  declare function convertUsage(usage: LanguageModelUsage | undefined): UsageInfo | undefined;
8810
9993
 
8811
- export { A2AServerRegistry, AbortError, Agent, type AgentEvalConfig, type AgentEvalContext, type AgentEvalOperationType, type AgentEvalPayload, type AgentEvalResult, type AgentEvalSamplingPolicy, type AgentEvalScorerConfig, type AgentEvalScorerFactory, type AgentEvalScorerReference, type AgentFullState, type AgentHookOnEnd, type AgentHookOnError, type AgentHookOnHandoff, type AgentHookOnHandoffComplete, type AgentHookOnPrepareMessages, type AgentHookOnPrepareModelMessages, type AgentHookOnStart, type AgentHookOnStepFinish, type AgentHookOnToolEnd, type AgentHookOnToolStart, type AgentHooks, type AgentOptions, AgentRegistry, type AgentResponse, type AgentScorerState, type AgentStatus, type AgentTool, AiSdkEmbeddingAdapter, type AllowedVariableValue, type ApiToolInfo, type BaseEventMetadata, type BaseGenerationOptions, type BaseLLMOptions, type BaseMessage, BaseRetriever, type BaseTool, type BaseToolCall, type BuildScorerOptions, type BuildScorerRunArgs, type BuildScorerRunResult, type BuilderAnalyzeContext, type BuilderPrepareContext, type BuilderReasonContext, type BuilderScoreContext, type CachedPrompt, type ChatMessage, ClientHTTPError, type ClientSideToolResult, type CloudflareFetchHandler, type Conversation, ConversationAlreadyExistsError, ConversationNotFoundError, type ConversationQueryOptions, type ConversationQueryOptions as ConversationQueryOptionsV2, type ConversationStepRecord, type ConversationStepType, type Conversation as ConversationV2, type CreateConversationInput, type CreateConversationInput as CreateConversationInputV2, type CreateInputGuardrailOptions, type CreateOutputGuardrailOptions, type CreateReasoningToolsOptions, type CreateScorerOptions, DEFAULT_INSTRUCTIONS, type DataContent, type Document, type DynamicValue, type DynamicValueOptions, type EmbeddingAdapter$1 as EmbeddingAdapter, EmbeddingAdapterNotConfiguredError, EmbeddingError, type ExtractVariableNames, FEW_SHOT_EXAMPLES, type GenerateObjectOptions, type GenerateObjectSubAgentConfig, type GenerateReasonResult, type GenerateScoreResult, type GenerateScoreStep, type GenerateTextOptions, type GenerateTextSubAgentConfig, type GetConversationStepsOptions, type GetMessagesOptions, type GuardrailAction, type GuardrailContext, type GuardrailDefinition, type GuardrailFunction, type GuardrailSeverity, type IServerProvider, type IServerlessProvider, type VoltOpsClient$1 as IVoltOpsClient, InMemoryStorageAdapter$1 as InMemoryObservabilityAdapter, InMemoryStorageAdapter, InMemoryVectorAdapter, type InferGenerateObjectResponse, type InferGenerateTextResponse, type InferMessage, type InferModel, type InferProviderParams, type InferStreamResponse, type InferTool, type InputGuardrail, type InputGuardrailArgs, type InputGuardrailResult, type LLMProvider, LazyRemoteExportProcessor, type LocalScorerDefinition, type LocalScorerExecutionResult, LocalStorageSpanProcessor, type LogFilter, LoggerProxy, MCPConfiguration, type MCPElicitationAdapter, type MCPLoggingAdapter, type MCPPromptsAdapter, type MCPResourcesAdapter, MCPServerRegistry, type ManagedMemoryAddMessageInput, type ManagedMemoryAddMessagesInput, type ManagedMemoryClearMessagesInput, type ManagedMemoryConnectionInfo, type ManagedMemoryConversationsClient, type ManagedMemoryCredentialCreateResult, type ManagedMemoryCredentialListResult, type ManagedMemoryCredentialSummary, type ManagedMemoryDatabaseSummary, type ManagedMemoryGetMessagesInput, type ManagedMemoryMessagesClient, type ManagedMemorySetWorkingMemoryInput, type ManagedMemoryStatus, type ManagedMemoryUpdateConversationInput, type ManagedMemoryVoltOpsClient, type ManagedMemoryWorkflowStateUpdateInput, type ManagedMemoryWorkflowStatesClient, type ManagedMemoryWorkingMemoryClient, type ManagedMemoryWorkingMemoryInput, Memory, type MemoryConfig, type MemoryOptions, type MemoryStorageMetadata, type MemoryUpdateMode, Memory as MemoryV2, MemoryV2Error, type MessageContent, MessageContentBuilder, type MessageRole, type ModelToolCall, NextAction, NodeType, VoltAgentObservability$1 as NodeVoltAgentObservability, type ObservabilityConfig, type ObservabilityLogRecord, type ObservabilitySpan, type ObservabilityStorageAdapter, type ObservabilityWebSocketEvent, type OnEndHookArgs, type OnErrorHookArgs, type OnHandoffCompleteHookArgs, type OnHandoffHookArgs, type OnPrepareMessagesHookArgs, type OnPrepareMessagesHookResult, type OnPrepareModelMessagesHookArgs, type OnPrepareModelMessagesHookResult, type OnStartHookArgs, type OnStepFinishHookArgs, type OnToolEndHookArgs, type OnToolStartHookArgs, type OperationContext, type OutputGuardrail, type OutputGuardrailArgs, type OutputGuardrailResult, type PackageUpdateInfo, type PromptApiClient, type PromptApiResponse, type PromptContent, type PromptCreator, type PromptHelper, type PromptReference, type PromptTemplate, type ProviderObjectResponse, type ProviderObjectStreamResponse, type ProviderParams, type ProviderResponse, type ProviderTextResponse, type ProviderTextStreamResponse, type ProviderTool, type ReadableStreamType, type ReasoningStep, ReasoningStepSchema, type RegisterOptions, type RegisteredWorkflow, type RemoteLogExportConfig, RemoteLogProcessor, type RetrieveOptions, type Retriever, type RetrieverOptions, type RunLocalScorersArgs, type RunLocalScorersResult, type SamplingMetadata, type SamplingPolicy, type ScorerBuilder, type ScorerContext, type ScorerLifecycleScope, type ScorerPipelineContext, type ScorerReasonContext, type ScorerResult, type SearchOptions, type SearchResult, type ServerAgentResponse, type ServerApiResponse, type ServerProviderDeps, type ServerProviderFactory, type ServerWorkflowResponse, type ServerlessProviderFactory, type ServerlessRemoteEndpointConfig, type ServerlessRemoteExportConfig, type ServerlessRequestHandler, ServerlessVoltAgentObservability, type SpanAttributes, type SpanEvent, type SpanFilterConfig, SpanFilterProcessor, SpanKind, type SpanLink, type SpanStatus, SpanStatusCode, type SpanTreeNode, type StepChunkCallback, type StepFinishCallback, type StepWithContent, type StopWhen, type StorageAdapter, StorageError, StorageLogProcessor, type StoredUIMessage, type StreamObjectFinishResult, type StreamObjectOnFinishCallback, type StreamObjectOptions, type StreamObjectSubAgentConfig, type StreamPart, type StreamTextFinishResult, type StreamTextOnFinishCallback, type StreamTextOptions, type StreamTextSubAgentConfig, type SubAgentConfig, type SubAgentMethod, type SubAgentStateData, type SupervisorConfig, type TemplateVariables, type TimelineEventCoreLevel, type TimelineEventCoreStatus, type TimelineEventCoreType, Tool, type ToolCall, type ToolContext, ToolDeniedError, type ToolErrorInfo, type ToolExecuteOptions, ToolManager, type ToolOptions, type ToolResultOutput, type ToolSchema, type ToolStatus, type ToolStatusInfo, type ToolWithNodeId, type Toolkit, type Usage, type UsageInfo, type VectorAdapter, VectorAdapterNotConfiguredError, VectorError, type VectorItem, type VectorSearchOptions, type Voice, type VoiceEventData, type VoiceEventType, type VoiceMetadata, type VoiceOptions, VoltAgent, VoltAgentError, VoltAgentObservability, type VoltAgentOptions, type VoltAgentStreamTextResult, type VoltAgentTextStreamPart, type VoltOpsActionExecutionResult, type VoltOpsActionsApi, VoltOpsActionsClient, type VoltOpsActionsTransport, type VoltOpsAirtableCreateRecordParams, type VoltOpsAirtableDeleteRecordParams, type VoltOpsAirtableGetRecordParams, type VoltOpsAirtableListRecordsParams, type VoltOpsAirtableUpdateRecordParams, type VoltOpsAppendEvalRunResultPayload, type VoltOpsAppendEvalRunResultsRequest, VoltOpsClient, type VoltOpsClientOptions, type VoltOpsCompleteEvalRunRequest, type VoltOpsCreateEvalRunRequest, type VoltOpsCreateScorerRequest, type VoltOpsEvalResultStatus, type VoltOpsEvalRunCompletionSummaryPayload, type VoltOpsEvalRunErrorPayload, type VoltOpsEvalRunResultLiveMetadata, type VoltOpsEvalRunResultScorePayload, type VoltOpsEvalRunStatus, type VoltOpsEvalRunSummary, VoltOpsPromptApiClient, type VoltOpsPromptManager, VoltOpsPromptManagerImpl, type VoltOpsScorerSummary, type VoltOpsSlackDeleteMessageParams, type VoltOpsSlackPostMessageParams, type VoltOpsSlackSearchMessagesParams, type VoltOpsTerminalEvalRunStatus, WebSocketEventEmitter, WebSocketLogProcessor, WebSocketSpanProcessor, type WeightedBlendComponent, type WeightedBlendOptions, type Workflow, type WorkflowConfig, type WorkflowExecutionContext, WorkflowRegistry, type WorkflowStateEntry, type WorkflowStats, type WorkflowStepContext, type WorkflowStepType, type WorkflowTimelineEvent, type WorkingMemoryConfig, type WorkingMemoryScope, type WorkingMemorySummary, type WorkingMemoryUpdateOptions, addTimestampToMessage, andAgent, andAll, andRace, andTap, andThen, andWhen, andWorkflow, appendToMessage, buildRetrieverLogMessage, buildSamplingMetadata, buildScorer, buildSpanTree, checkForUpdates, convertUsage, cosineSimilarity, createDefaultInputSafetyGuardrails, createDefaultPIIGuardrails, createDefaultSafetyGuardrails, createEmailRedactorGuardrail, createHTMLSanitizerInputGuardrail, createHooks, createInputGuardrail, createInputLengthGuardrail, createMaxLengthGuardrail, createNodeId, createOutputGuardrail, createPIIInputGuardrail, createPhoneNumberGuardrail, createProfanityGuardrail, createProfanityInputGuardrail, createPrompt, createPromptInjectionGuardrail, createReasoningTools, createRetrieverTool, createScorer, createSensitiveNumberGuardrail, createSimpleTemplateEngine, createSubagent, createSuspendController, createTool, createToolkit, createVoltAgentObservability, createVoltOpsClient, createWorkflow, createWorkflowChain, createWorkflowStepNodeId, VoltAgent as default, extractFileParts, extractImageParts, extractText, extractTextParts, extractWorkflowStepInfo, filterContentParts, getContentLength, getEnvVar, getGlobalLogBuffer, getGlobalLogger, getNodeTypeFromNodeId, getWorkflowStepNodeType, hasContent, hasFilePart, hasImagePart, hasTextPart, isAbortError, isNodeRuntime, isServerlessRuntime, isStructuredContent, isTextContent, isVoltAgentError, mapMessageContent, messageHelpers, normalizeContent, normalizeScorerResult, normalizeToArray, prependToMessage, readableLogRecordToObservabilityLog, readableSpanToObservabilitySpan, runLocalScorers, safeJsonParse, serializeValueForDebug, shouldSample, tool, transformTextContent, updateAllPackages, updateSinglePackage, weightedBlend, zodSchemaToJsonUI };
9994
+ export { A2AServerRegistry, AbortError, Agent, type AgentEvalConfig, type AgentEvalContext, type AgentEvalOperationType, type AgentEvalPayload, type AgentEvalResult, type AgentEvalSamplingPolicy, type AgentEvalScorerConfig, type AgentEvalScorerFactory, type AgentEvalScorerReference, type AgentFullState, type AgentHookOnEnd, type AgentHookOnError, type AgentHookOnHandoff, type AgentHookOnHandoffComplete, type AgentHookOnPrepareMessages, type AgentHookOnPrepareModelMessages, type AgentHookOnStart, type AgentHookOnStepFinish, type AgentHookOnToolEnd, type AgentHookOnToolStart, type AgentHooks, type AgentOptions, AgentRegistry, type AgentResponse, type AgentScorerState, type AgentStatus, type AgentTool, AiSdkEmbeddingAdapter, type AllowedVariableValue, type ApiToolInfo, type BaseEventMetadata, type BaseGenerationOptions, type BaseLLMOptions, type BaseMessage, BaseRetriever, type BaseTool, type BaseToolCall, type BuildScorerOptions, type BuildScorerRunArgs, type BuildScorerRunResult, type BuilderAnalyzeContext, type BuilderPrepareContext, type BuilderReasonContext, type BuilderScoreContext, type CachedPrompt, type ChatMessage, ClientHTTPError, type ClientSideToolResult, type CloudflareFetchHandler, type Conversation, ConversationAlreadyExistsError, ConversationNotFoundError, type ConversationQueryOptions, type ConversationQueryOptions as ConversationQueryOptionsV2, type ConversationStepRecord, type ConversationStepType, type Conversation as ConversationV2, type CreateConversationInput, type CreateConversationInput as CreateConversationInputV2, type CreateInputGuardrailOptions, type CreateOutputGuardrailOptions, type CreateReasoningToolsOptions, type CreateScorerOptions, DEFAULT_INSTRUCTIONS, type DataContent, type Document, type DynamicValue, type DynamicValueOptions, type EmbeddingAdapter$1 as EmbeddingAdapter, EmbeddingAdapterNotConfiguredError, EmbeddingError, type ExtractVariableNames, FEW_SHOT_EXAMPLES, type GenerateObjectOptions, type GenerateObjectSubAgentConfig, type GenerateReasonResult, type GenerateScoreResult, type GenerateScoreStep, type GenerateTextOptions, type GenerateTextSubAgentConfig, type GetConversationStepsOptions, type GetMessagesOptions, type GuardrailAction, type GuardrailContext, type GuardrailDefinition, type GuardrailFunction, type GuardrailSeverity, type IServerProvider, type IServerlessProvider, type VoltOpsClient$1 as IVoltOpsClient, InMemoryStorageAdapter$1 as InMemoryObservabilityAdapter, InMemoryStorageAdapter, InMemoryVectorAdapter, type InferGenerateObjectResponse, type InferGenerateTextResponse, type InferMessage, type InferModel, type InferProviderParams, type InferStreamResponse, type InferTool, type InputGuardrail, type InputGuardrailArgs, type InputGuardrailResult, type LLMProvider, LazyRemoteExportProcessor, type LocalScorerDefinition, type LocalScorerExecutionResult, LocalStorageSpanProcessor, type LogFilter, LoggerProxy, MCPConfiguration, type MCPElicitationAdapter, type MCPLoggingAdapter, type MCPPromptsAdapter, type MCPResourcesAdapter, MCPServerRegistry, type ManagedMemoryAddMessageInput, type ManagedMemoryAddMessagesInput, type ManagedMemoryClearMessagesInput, type ManagedMemoryConnectionInfo, type ManagedMemoryConversationsClient, type ManagedMemoryCredentialCreateResult, type ManagedMemoryCredentialListResult, type ManagedMemoryCredentialSummary, type ManagedMemoryDatabaseSummary, type ManagedMemoryGetMessagesInput, type ManagedMemoryMessagesClient, type ManagedMemorySetWorkingMemoryInput, type ManagedMemoryStatus, type ManagedMemoryUpdateConversationInput, type ManagedMemoryVoltOpsClient, type ManagedMemoryWorkflowStateUpdateInput, type ManagedMemoryWorkflowStatesClient, type ManagedMemoryWorkingMemoryClient, type ManagedMemoryWorkingMemoryInput, Memory, type MemoryConfig, type MemoryOptions, type MemoryStorageMetadata, type MemoryUpdateMode, Memory as MemoryV2, MemoryV2Error, type MessageContent, MessageContentBuilder, type MessageRole, type ModelToolCall, NextAction, NodeType, VoltAgentObservability$1 as NodeVoltAgentObservability, type ObservabilityConfig, type ObservabilityLogRecord, type ObservabilitySpan, type ObservabilityStorageAdapter, type ObservabilityWebSocketEvent, type OnEndHookArgs, type OnErrorHookArgs, type OnHandoffCompleteHookArgs, type OnHandoffHookArgs, type OnPrepareMessagesHookArgs, type OnPrepareMessagesHookResult, type OnPrepareModelMessagesHookArgs, type OnPrepareModelMessagesHookResult, type OnStartHookArgs, type OnStepFinishHookArgs, type OnToolEndHookArgs, type OnToolStartHookArgs, type OperationContext, type OutputGuardrail, type OutputGuardrailArgs, type OutputGuardrailResult, type PackageUpdateInfo, type PromptApiClient, type PromptApiResponse, type PromptContent, type PromptCreator, type PromptHelper, type PromptReference, type PromptTemplate, type ProviderObjectResponse, type ProviderObjectStreamResponse, type ProviderParams, type ProviderResponse, type ProviderTextResponse, type ProviderTextStreamResponse, type ProviderTool, type ReadableStreamType, type ReasoningStep, ReasoningStepSchema, type RegisterOptions, type RegisteredTrigger, type RegisteredWorkflow, type RemoteLogExportConfig, RemoteLogProcessor, type RetrieveOptions, type Retriever, type RetrieverOptions, type RunLocalScorersArgs, type RunLocalScorersResult, type SamplingMetadata, type SamplingPolicy, type ScorerBuilder, type ScorerContext, type ScorerLifecycleScope, type ScorerPipelineContext, type ScorerReasonContext, type ScorerResult, type SearchOptions, type SearchResult, type ServerAgentResponse, type ServerApiResponse, type ServerProviderDeps, type ServerProviderFactory, type ServerWorkflowResponse, type ServerlessProviderFactory, type ServerlessRemoteEndpointConfig, type ServerlessRemoteExportConfig, type ServerlessRequestHandler, ServerlessVoltAgentObservability, type SpanAttributes, type SpanEvent, type SpanFilterConfig, SpanFilterProcessor, SpanKind, type SpanLink, type SpanStatus, SpanStatusCode, type SpanTreeNode, type StepChunkCallback, type StepFinishCallback, type StepWithContent, type StopWhen, type StorageAdapter, StorageError, StorageLogProcessor, type StoredUIMessage, type StreamObjectFinishResult, type StreamObjectOnFinishCallback, type StreamObjectOptions, type StreamObjectSubAgentConfig, type StreamPart, type StreamTextFinishResult, type StreamTextOnFinishCallback, type StreamTextOptions, type StreamTextSubAgentConfig, type SubAgentConfig, type SubAgentMethod, type SubAgentStateData, type SupervisorConfig, TRIGGER_CONTEXT_KEY, type TemplateVariables, type TimelineEventCoreLevel, type TimelineEventCoreStatus, type TimelineEventCoreType, Tool, type ToolCall, type ToolContext, ToolDeniedError, type ToolErrorInfo, type ToolExecuteOptions, ToolManager, type ToolOptions, type ToolResultOutput, type ToolSchema, type ToolStatus, type ToolStatusInfo, type ToolWithNodeId, type Toolkit, type TriggerHandler, type TriggerHandlerBody, type TriggerHandlerContext, type TriggerHandlerResponse, type TriggerHandlerResult, type TriggerHandlerReturn, type TriggerHttpMethod, TriggerRegistry, type Usage, type UsageInfo, type VectorAdapter, VectorAdapterNotConfiguredError, VectorError, type VectorItem, type VectorSearchOptions, type Voice, type VoiceEventData, type VoiceEventType, type VoiceMetadata, type VoiceOptions, VoltAgent, VoltAgentError, VoltAgentObservability, type VoltAgentOptions, type VoltAgentStreamTextResult, type VoltAgentTextStreamPart, type VoltAgentTriggerConfig, type VoltAgentTriggersConfig, type VoltOpsActionExecutionResult, type VoltOpsActionsApi, VoltOpsActionsClient, type VoltOpsActionsTransport, type VoltOpsAirtableCreateRecordParams, type VoltOpsAirtableCredential, type VoltOpsAirtableDeleteRecordParams, type VoltOpsAirtableGetRecordParams, type VoltOpsAirtableListRecordsParams, type VoltOpsAirtableUpdateRecordParams, type VoltOpsAppendEvalRunResultPayload, type VoltOpsAppendEvalRunResultsRequest, VoltOpsClient, type VoltOpsClientOptions, type VoltOpsCompleteEvalRunRequest, type VoltOpsCreateEvalRunRequest, type VoltOpsCreateScorerRequest, type VoltOpsDiscordChannelMessageParams, type VoltOpsDiscordChannelType, type VoltOpsDiscordConfig, type VoltOpsDiscordCreateChannelParams, type VoltOpsDiscordCredential, type VoltOpsDiscordDeleteChannelParams, type VoltOpsDiscordGetChannelParams, type VoltOpsDiscordListChannelsParams, type VoltOpsDiscordListMembersParams, type VoltOpsDiscordListMessagesParams, type VoltOpsDiscordMemberRoleParams, type VoltOpsDiscordReactionParams, type VoltOpsDiscordSendMessageParams, type VoltOpsDiscordSendWebhookMessageParams, type VoltOpsDiscordUpdateChannelParams, type VoltOpsEvalResultStatus, type VoltOpsEvalRunCompletionSummaryPayload, type VoltOpsEvalRunErrorPayload, type VoltOpsEvalRunResultLiveMetadata, type VoltOpsEvalRunResultScorePayload, type VoltOpsEvalRunStatus, type VoltOpsEvalRunSummary, VoltOpsPromptApiClient, type VoltOpsPromptManager, VoltOpsPromptManagerImpl, type VoltOpsScorerSummary, type VoltOpsSlackCredential, type VoltOpsSlackDeleteMessageParams, type VoltOpsSlackPostMessageParams, type VoltOpsSlackSearchMessagesParams, type VoltOpsTerminalEvalRunStatus, type VoltOpsTriggerDefinition, VoltOpsTriggerDefinitions, type VoltOpsTriggerEnvelope, type VoltOpsTriggerGroupMap, type VoltOpsTriggerName, VoltOpsTriggerNames, WebSocketEventEmitter, WebSocketLogProcessor, WebSocketSpanProcessor, type WeightedBlendComponent, type WeightedBlendOptions, type Workflow, type WorkflowConfig, type WorkflowExecutionContext, WorkflowRegistry, type WorkflowStateEntry, type WorkflowStats, type WorkflowStepContext, type WorkflowStepType, type WorkflowTimelineEvent, type WorkingMemoryConfig, type WorkingMemoryScope, type WorkingMemorySummary, type WorkingMemoryUpdateOptions, addTimestampToMessage, andAgent, andAll, andRace, andTap, andThen, andWhen, andWorkflow, appendToMessage, buildRetrieverLogMessage, buildSamplingMetadata, buildScorer, buildSpanTree, checkForUpdates, convertUsage, cosineSimilarity, createDefaultInputSafetyGuardrails, createDefaultPIIGuardrails, createDefaultSafetyGuardrails, createEmailRedactorGuardrail, createHTMLSanitizerInputGuardrail, createHooks, createInputGuardrail, createInputLengthGuardrail, createMaxLengthGuardrail, createNodeId, createOutputGuardrail, createPIIInputGuardrail, createPhoneNumberGuardrail, createProfanityGuardrail, createProfanityInputGuardrail, createPrompt, createPromptInjectionGuardrail, createReasoningTools, createRetrieverTool, createScorer, createSensitiveNumberGuardrail, createSimpleTemplateEngine, createSubagent, createSuspendController, createTool, createToolkit, createTriggers, createVoltAgentObservability, createVoltOpsClient, createWorkflow, createWorkflowChain, createWorkflowStepNodeId, VoltAgent as default, defineVoltOpsTrigger, extractFileParts, extractImageParts, extractText, extractTextParts, extractWorkflowStepInfo, filterContentParts, getContentLength, getEnvVar, getGlobalLogBuffer, getGlobalLogger, getNodeTypeFromNodeId, getVoltOpsTriggerDefinition, getWorkflowStepNodeType, hasContent, hasFilePart, hasImagePart, hasTextPart, isAbortError, isNodeRuntime, isServerlessRuntime, isStructuredContent, isTextContent, isVoltAgentError, mapMessageContent, messageHelpers, normalizeContent, normalizeScorerResult, normalizeToArray, prependToMessage, readableLogRecordToObservabilityLog, readableSpanToObservabilitySpan, runLocalScorers, safeJsonParse, serializeValueForDebug, shouldSample, tool, transformTextContent, updateAllPackages, updateSinglePackage, weightedBlend, zodSchemaToJsonUI };