@db3.ai/app 0.1.0-beta.1
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/LICENSE +31 -0
- package/README.md +241 -0
- package/agent-instructions.md +69 -0
- package/bin/db3-agents.mjs +140 -0
- package/bin/db3.mjs +11 -0
- package/dist/ai/AIErrors.d.ts +33 -0
- package/dist/ai/AIErrors.js +43 -0
- package/dist/ai/AIFailover.d.ts +25 -0
- package/dist/ai/AIFailover.js +96 -0
- package/dist/ai/AIProviders.d.ts +35 -0
- package/dist/ai/AIProviders.js +197 -0
- package/dist/ai/AIQuotaDeferredError.d.ts +19 -0
- package/dist/ai/AIQuotaDeferredError.js +25 -0
- package/dist/ai/AIRateLimiter.d.ts +103 -0
- package/dist/ai/AIRateLimiter.js +690 -0
- package/dist/ai/Agent.d.ts +633 -0
- package/dist/ai/Agent.js +2976 -0
- package/dist/ai/AgentHistory.d.ts +11 -0
- package/dist/ai/AgentHistory.js +495 -0
- package/dist/ai/AgentRunJob.d.ts +21 -0
- package/dist/ai/AgentRunJob.js +53 -0
- package/dist/ai/Ai.d.ts +375 -0
- package/dist/ai/Ai.js +1771 -0
- package/dist/ai/AiConversation.d.ts +17 -0
- package/dist/ai/AiConversation.js +38 -0
- package/dist/ai/AiExecutionContext.d.ts +7 -0
- package/dist/ai/AiExecutionContext.js +16 -0
- package/dist/ai/AiMessage.d.ts +43 -0
- package/dist/ai/AiMessage.js +105 -0
- package/dist/ai/AiRateLimitBucket.d.ts +69 -0
- package/dist/ai/AiRateLimitBucket.js +138 -0
- package/dist/ai/AiRateLimitReservation.d.ts +56 -0
- package/dist/ai/AiRateLimitReservation.js +101 -0
- package/dist/ai/AiRequest.d.ts +78 -0
- package/dist/ai/AiRequest.js +384 -0
- package/dist/ai/Estimates.d.ts +26 -0
- package/dist/ai/Estimates.js +34 -0
- package/dist/ai/Models.d.ts +88 -0
- package/dist/ai/Models.js +328 -0
- package/dist/ai/OpenAIProviderError.d.ts +30 -0
- package/dist/ai/OpenAIProviderError.js +77 -0
- package/dist/ai/OpenAIQuotaRetry.d.ts +27 -0
- package/dist/ai/OpenAIQuotaRetry.js +144 -0
- package/dist/ai/ProviderCosts.d.ts +55 -0
- package/dist/ai/ProviderCosts.js +108 -0
- package/dist/ai/ResponsesProviderCall.d.ts +13 -0
- package/dist/ai/ResponsesProviderCall.js +29 -0
- package/dist/ai/agentCitations.d.ts +27 -0
- package/dist/ai/agentCitations.js +153 -0
- package/dist/ai/contracts/AI.d.ts +347 -0
- package/dist/ai/contracts/AI.js +13 -0
- package/dist/ai/contracts/Agent.d.ts +476 -0
- package/dist/ai/contracts/Agent.js +1 -0
- package/dist/ai/contracts/AiRequestRunCostSummary.d.ts +31 -0
- package/dist/ai/contracts/AiRequestRunCostSummary.js +1 -0
- package/dist/ai/contracts/Pricing.d.ts +88 -0
- package/dist/ai/contracts/Pricing.js +1 -0
- package/dist/ai/contracts/Providers.d.ts +68 -0
- package/dist/ai/contracts/Providers.js +1 -0
- package/dist/ai/contracts/QuotaRetry.d.ts +38 -0
- package/dist/ai/contracts/QuotaRetry.js +1 -0
- package/dist/ai/contracts/RateLimits.d.ts +45 -0
- package/dist/ai/contracts/RateLimits.js +1 -0
- package/dist/ai/contracts/ResponsesProviderCall.d.ts +28 -0
- package/dist/ai/contracts/ResponsesProviderCall.js +1 -0
- package/dist/ai/contracts/index.d.ts +8 -0
- package/dist/ai/contracts/index.js +8 -0
- package/dist/ai/index.d.ts +27 -0
- package/dist/ai/index.js +27 -0
- package/dist/ai/registry.d.ts +28 -0
- package/dist/ai/registry.js +49 -0
- package/dist/ai/sdkNodeCompatibility.d.ts +76 -0
- package/dist/ai/toolCallRecovery.d.ts +16 -0
- package/dist/ai/toolCallRecovery.js +71 -0
- package/dist/ai/toolHelpers.d.ts +65 -0
- package/dist/ai/toolHelpers.js +106 -0
- package/dist/auth/Auth.d.ts +641 -0
- package/dist/auth/Auth.js +927 -0
- package/dist/auth/AuthProvider.d.ts +104 -0
- package/dist/auth/AuthProvider.js +185 -0
- package/dist/auth/AuthToken.d.ts +123 -0
- package/dist/auth/AuthToken.js +156 -0
- package/dist/auth/PasswordResetToken.d.ts +33 -0
- package/dist/auth/PasswordResetToken.js +64 -0
- package/dist/auth/UserIdentity.d.ts +46 -0
- package/dist/auth/UserIdentity.js +72 -0
- package/dist/auth/contracts/AuthProviderDriver.d.ts +94 -0
- package/dist/auth/contracts/AuthProviderDriver.js +1 -0
- package/dist/auth/contracts/index.d.ts +1 -0
- package/dist/auth/contracts/index.js +1 -0
- package/dist/auth/index.d.ts +8 -0
- package/dist/auth/index.js +8 -0
- package/dist/auth/passwordHash.d.ts +26 -0
- package/dist/auth/passwordHash.js +96 -0
- package/dist/auth/providers/GoogleAuthProvider.d.ts +135 -0
- package/dist/auth/providers/GoogleAuthProvider.js +305 -0
- package/dist/auth/providers/PasswordAuthProvider.d.ts +115 -0
- package/dist/auth/providers/PasswordAuthProvider.js +195 -0
- package/dist/auth/providers/index.d.ts +3 -0
- package/dist/auth/providers/index.js +3 -0
- package/dist/auth/providers/resolveAuthProviders.d.ts +29 -0
- package/dist/auth/providers/resolveAuthProviders.js +111 -0
- package/dist/cache/Cache.d.ts +67 -0
- package/dist/cache/Cache.js +115 -0
- package/dist/cache/contracts/CacheDriver.d.ts +10 -0
- package/dist/cache/contracts/CacheDriver.js +1 -0
- package/dist/cache/contracts/CacheOperations.d.ts +26 -0
- package/dist/cache/contracts/CacheOperations.js +1 -0
- package/dist/cache/contracts/CacheOptions.d.ts +51 -0
- package/dist/cache/contracts/CacheOptions.js +1 -0
- package/dist/cache/contracts/CacheRepository.d.ts +45 -0
- package/dist/cache/contracts/CacheRepository.js +1 -0
- package/dist/cache/contracts/index.d.ts +4 -0
- package/dist/cache/contracts/index.js +4 -0
- package/dist/cache/drivers/CacheManagerDriver.d.ts +55 -0
- package/dist/cache/drivers/CacheManagerDriver.js +68 -0
- package/dist/cache/drivers/createCacheDriver.d.ts +8 -0
- package/dist/cache/drivers/createCacheDriver.js +147 -0
- package/dist/cache/index.d.ts +2 -0
- package/dist/cache/index.js +2 -0
- package/dist/cli/Cli.d.ts +17 -0
- package/dist/cli/Cli.js +120 -0
- package/dist/cli/commands/repl.d.ts +9 -0
- package/dist/cli/commands/repl.js +27 -0
- package/dist/cli/contracts/CliCommand.d.ts +30 -0
- package/dist/cli/contracts/CliCommand.js +1 -0
- package/dist/cli/contracts/CliConfig.d.ts +9 -0
- package/dist/cli/contracts/CliConfig.js +1 -0
- package/dist/cli/contracts/CliOptions.d.ts +13 -0
- package/dist/cli/contracts/CliOptions.js +1 -0
- package/dist/cli/contracts/CommandDefinition.d.ts +18 -0
- package/dist/cli/contracts/CommandDefinition.js +1 -0
- package/dist/cli/contracts/ReplOptions.d.ts +11 -0
- package/dist/cli/contracts/ReplOptions.js +1 -0
- package/dist/cli/contracts/index.d.ts +5 -0
- package/dist/cli/contracts/index.js +1 -0
- package/dist/cli/defineCommand.d.ts +10 -0
- package/dist/cli/defineCommand.js +25 -0
- package/dist/cli/index.d.ts +5 -0
- package/dist/cli/index.js +5 -0
- package/dist/cli/runDb3.d.ts +11 -0
- package/dist/cli/runDb3.js +70 -0
- package/dist/cli/runRepl.d.ts +12 -0
- package/dist/cli/runRepl.js +54 -0
- package/dist/config/Config.d.ts +48 -0
- package/dist/config/Config.js +80 -0
- package/dist/config/env.d.ts +26 -0
- package/dist/config/env.js +117 -0
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.js +2 -0
- package/dist/db/ActiveProjection.d.ts +90 -0
- package/dist/db/ActiveProjection.js +134 -0
- package/dist/db/ActiveQueryBuilder.d.ts +268 -0
- package/dist/db/ActiveQueryBuilder.js +621 -0
- package/dist/db/ActiveRecord.d.ts +483 -0
- package/dist/db/ActiveRecord.js +765 -0
- package/dist/db/Database.d.ts +277 -0
- package/dist/db/Database.js +827 -0
- package/dist/db/FieldType.d.ts +540 -0
- package/dist/db/FieldType.js +706 -0
- package/dist/db/SoftDeletes.d.ts +30 -0
- package/dist/db/SoftDeletes.js +93 -0
- package/dist/db/commands/check.d.ts +6 -0
- package/dist/db/commands/check.js +8 -0
- package/dist/db/commands/index.d.ts +6 -0
- package/dist/db/commands/index.js +17 -0
- package/dist/db/commands/makeMigration.d.ts +7 -0
- package/dist/db/commands/makeMigration.js +9 -0
- package/dist/db/commands/migrate.d.ts +6 -0
- package/dist/db/commands/migrate.js +8 -0
- package/dist/db/connection.d.ts +10 -0
- package/dist/db/connection.js +55 -0
- package/dist/db/contracts/ActiveRecordDefinition.d.ts +64 -0
- package/dist/db/contracts/ActiveRecordDefinition.js +1 -0
- package/dist/db/contracts/DatabaseBackup.d.ts +7 -0
- package/dist/db/contracts/DatabaseBackup.js +1 -0
- package/dist/db/contracts/DatabaseMigrationsConfig.d.ts +9 -0
- package/dist/db/contracts/DatabaseMigrationsConfig.js +1 -0
- package/dist/db/contracts/index.d.ts +3 -0
- package/dist/db/contracts/index.js +3 -0
- package/dist/db/dialects/columnTypes.d.ts +20 -0
- package/dist/db/dialects/columnTypes.js +67 -0
- package/dist/db/dialects/index.d.ts +6 -0
- package/dist/db/dialects/index.js +6 -0
- package/dist/db/dialects/mariadb.d.ts +7 -0
- package/dist/db/dialects/mariadb.js +35 -0
- package/dist/db/dialects/mysql.d.ts +14 -0
- package/dist/db/dialects/mysql.js +203 -0
- package/dist/db/dialects/postgres.d.ts +5 -0
- package/dist/db/dialects/postgres.js +106 -0
- package/dist/db/dialects/resolveDialect.d.ts +14 -0
- package/dist/db/dialects/resolveDialect.js +57 -0
- package/dist/db/dialects/types.d.ts +44 -0
- package/dist/db/dialects/types.js +1 -0
- package/dist/db/errors.d.ts +15 -0
- package/dist/db/errors.js +20 -0
- package/dist/db/fields/BooleanField.d.ts +29 -0
- package/dist/db/fields/BooleanField.js +89 -0
- package/dist/db/fields/CharUuidField.d.ts +29 -0
- package/dist/db/fields/CharUuidField.js +63 -0
- package/dist/db/fields/ChoiceStringField.d.ts +25 -0
- package/dist/db/fields/ChoiceStringField.js +58 -0
- package/dist/db/fields/DecimalField.d.ts +20 -0
- package/dist/db/fields/DecimalField.js +105 -0
- package/dist/db/fields/EmailField.d.ts +31 -0
- package/dist/db/fields/EmailField.js +52 -0
- package/dist/db/fields/EncryptedJsonField.d.ts +82 -0
- package/dist/db/fields/EncryptedJsonField.js +169 -0
- package/dist/db/fields/IntegerField.d.ts +35 -0
- package/dist/db/fields/IntegerField.js +139 -0
- package/dist/db/fields/JsonField.d.ts +40 -0
- package/dist/db/fields/JsonField.js +79 -0
- package/dist/db/fields/JsonStringField.d.ts +21 -0
- package/dist/db/fields/JsonStringField.js +41 -0
- package/dist/db/fields/LinkField.d.ts +180 -0
- package/dist/db/fields/LinkField.js +359 -0
- package/dist/db/fields/PasswordField.d.ts +93 -0
- package/dist/db/fields/PasswordField.js +180 -0
- package/dist/db/fields/StringField.d.ts +43 -0
- package/dist/db/fields/StringField.js +102 -0
- package/dist/db/fields/StringListField.d.ts +54 -0
- package/dist/db/fields/StringListField.js +124 -0
- package/dist/db/fields/TextField.d.ts +25 -0
- package/dist/db/fields/TextField.js +44 -0
- package/dist/db/fields/TimestampField.d.ts +47 -0
- package/dist/db/fields/TimestampField.js +97 -0
- package/dist/db/fields/UlidField.d.ts +69 -0
- package/dist/db/fields/UlidField.js +114 -0
- package/dist/db/fields/UrlField.d.ts +30 -0
- package/dist/db/fields/UrlField.js +61 -0
- package/dist/db/fields/VectorField.d.ts +64 -0
- package/dist/db/fields/VectorField.js +180 -0
- package/dist/db/fields/createField.d.ts +2 -0
- package/dist/db/fields/createField.js +13 -0
- package/dist/db/fields/field.d.ts +36 -0
- package/dist/db/fields/field.js +101 -0
- package/dist/db/fields/index.d.ts +18 -0
- package/dist/db/fields/index.js +18 -0
- package/dist/db/fields/resolveFields.d.ts +17 -0
- package/dist/db/fields/resolveFields.js +38 -0
- package/dist/db/index.d.ts +13 -0
- package/dist/db/index.js +13 -0
- package/dist/db/migrations/DatabaseMigrationManager.d.ts +57 -0
- package/dist/db/migrations/DatabaseMigrationManager.js +589 -0
- package/dist/db/migrations/DatabaseSchemaInspector.d.ts +19 -0
- package/dist/db/migrations/DatabaseSchemaInspector.js +384 -0
- package/dist/db/migrations/KnexMigrationRenderer.d.ts +11 -0
- package/dist/db/migrations/KnexMigrationRenderer.js +390 -0
- package/dist/db/migrations/ModelSchemaCollector.d.ts +29 -0
- package/dist/db/migrations/ModelSchemaCollector.js +183 -0
- package/dist/db/migrations/SchemaDiffer.d.ts +13 -0
- package/dist/db/migrations/SchemaDiffer.js +427 -0
- package/dist/db/migrations/SchemaNames.d.ts +27 -0
- package/dist/db/migrations/SchemaNames.js +46 -0
- package/dist/db/migrations/SchemaSnapshotSerializer.d.ts +30 -0
- package/dist/db/migrations/SchemaSnapshotSerializer.js +49 -0
- package/dist/db/migrations/contracts/DatabaseMigration.d.ts +118 -0
- package/dist/db/migrations/contracts/DatabaseMigration.js +1 -0
- package/dist/db/migrations/contracts/SchemaChange.d.ts +83 -0
- package/dist/db/migrations/contracts/SchemaChange.js +1 -0
- package/dist/db/migrations/contracts/SchemaSnapshot.d.ts +94 -0
- package/dist/db/migrations/contracts/SchemaSnapshot.js +1 -0
- package/dist/db/migrations/contracts/index.d.ts +3 -0
- package/dist/db/migrations/contracts/index.js +3 -0
- package/dist/db/migrations/errors.d.ts +35 -0
- package/dist/db/migrations/errors.js +45 -0
- package/dist/db/migrations/index.d.ts +10 -0
- package/dist/db/migrations/index.js +10 -0
- package/dist/db/migrations/promoteDestructiveSchemaChanges.d.ts +19 -0
- package/dist/db/migrations/promoteDestructiveSchemaChanges.js +102 -0
- package/dist/db/queryMonitor.d.ts +142 -0
- package/dist/db/queryMonitor.js +357 -0
- package/dist/db/sqlErrors.d.ts +11 -0
- package/dist/db/sqlErrors.js +17 -0
- package/dist/db/test/db.d.ts +11 -0
- package/dist/db/test/db.js +109 -0
- package/dist/devtools/HttpEventDispatcher.d.ts +19 -0
- package/dist/devtools/HttpEventDispatcher.js +180 -0
- package/dist/devtools/contracts/DevtoolsEventDispatcher.d.ts +53 -0
- package/dist/devtools/contracts/DevtoolsEventDispatcher.js +1 -0
- package/dist/devtools/contracts/index.d.ts +1 -0
- package/dist/devtools/contracts/index.js +1 -0
- package/dist/devtools/environment.d.ts +10 -0
- package/dist/devtools/environment.js +14 -0
- package/dist/devtools/index.d.ts +3 -0
- package/dist/devtools/index.js +3 -0
- package/dist/events/Events.d.ts +70 -0
- package/dist/events/Events.js +126 -0
- package/dist/events/contracts/EventConstructor.d.ts +12 -0
- package/dist/events/contracts/EventConstructor.js +1 -0
- package/dist/events/contracts/EventListener.d.ts +6 -0
- package/dist/events/contracts/EventListener.js +1 -0
- package/dist/events/contracts/EventUnsubscribe.d.ts +4 -0
- package/dist/events/contracts/EventUnsubscribe.js +1 -0
- package/dist/events/contracts/index.d.ts +3 -0
- package/dist/events/contracts/index.js +3 -0
- package/dist/events/index.d.ts +2 -0
- package/dist/events/index.js +2 -0
- package/dist/flows/FlowBlockRegistry.d.ts +39 -0
- package/dist/flows/FlowBlockRegistry.js +66 -0
- package/dist/flows/FlowCompiler.d.ts +26 -0
- package/dist/flows/FlowCompiler.js +488 -0
- package/dist/flows/FlowDefinitionError.d.ts +21 -0
- package/dist/flows/FlowDefinitionError.js +16 -0
- package/dist/flows/FlowStepJob.d.ts +28 -0
- package/dist/flows/FlowStepJob.js +31 -0
- package/dist/flows/FlowValueValidator.d.ts +32 -0
- package/dist/flows/FlowValueValidator.js +105 -0
- package/dist/flows/Flows.d.ts +102 -0
- package/dist/flows/Flows.js +871 -0
- package/dist/flows/blocks/FlowInput.d.ts +10 -0
- package/dist/flows/blocks/FlowInput.js +29 -0
- package/dist/flows/blocks/FlowOutput.d.ts +10 -0
- package/dist/flows/blocks/FlowOutput.js +29 -0
- package/dist/flows/blocks/Subflow.d.ts +10 -0
- package/dist/flows/blocks/Subflow.js +21 -0
- package/dist/flows/blocks/index.d.ts +6 -0
- package/dist/flows/blocks/index.js +8 -0
- package/dist/flows/constants.d.ts +55 -0
- package/dist/flows/constants.js +47 -0
- package/dist/flows/contracts/FlowBlock.d.ts +64 -0
- package/dist/flows/contracts/FlowBlock.js +1 -0
- package/dist/flows/contracts/FlowCompiler.d.ts +30 -0
- package/dist/flows/contracts/FlowCompiler.js +1 -0
- package/dist/flows/contracts/FlowDefinition.d.ts +118 -0
- package/dist/flows/contracts/FlowDefinition.js +1 -0
- package/dist/flows/contracts/FlowDefinitionStore.d.ts +47 -0
- package/dist/flows/contracts/FlowDefinitionStore.js +1 -0
- package/dist/flows/contracts/FlowRun.d.ts +40 -0
- package/dist/flows/contracts/FlowRun.js +1 -0
- package/dist/flows/contracts/FlowValue.d.ts +49 -0
- package/dist/flows/contracts/FlowValue.js +1 -0
- package/dist/flows/contracts/FlowsService.d.ts +37 -0
- package/dist/flows/contracts/FlowsService.js +1 -0
- package/dist/flows/contracts/index.d.ts +7 -0
- package/dist/flows/contracts/index.js +7 -0
- package/dist/flows/defineBlock.d.ts +18 -0
- package/dist/flows/defineBlock.js +19 -0
- package/dist/flows/drivers/FileFlowDefinitionStore.d.ts +53 -0
- package/dist/flows/drivers/FileFlowDefinitionStore.js +313 -0
- package/dist/flows/drivers/index.d.ts +1 -0
- package/dist/flows/drivers/index.js +1 -0
- package/dist/flows/errors.d.ts +8 -0
- package/dist/flows/errors.js +19 -0
- package/dist/flows/index.d.ts +13 -0
- package/dist/flows/index.js +13 -0
- package/dist/flows/models/FlowRun.d.ts +55 -0
- package/dist/flows/models/FlowRun.js +126 -0
- package/dist/flows/models/FlowRunEvent.d.ts +41 -0
- package/dist/flows/models/FlowRunEvent.js +85 -0
- package/dist/flows/models/FlowStepRun.d.ts +56 -0
- package/dist/flows/models/FlowStepRun.js +137 -0
- package/dist/flows/models/index.d.ts +10 -0
- package/dist/flows/models/index.js +14 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.js +16 -0
- package/dist/logging/Log.d.ts +66 -0
- package/dist/logging/Log.js +79 -0
- package/dist/logging/contracts/HttpExchange.d.ts +50 -0
- package/dist/logging/contracts/HttpExchange.js +1 -0
- package/dist/logging/contracts/Logger.d.ts +41 -0
- package/dist/logging/contracts/Logger.js +1 -0
- package/dist/logging/contracts/LoggerDriver.d.ts +16 -0
- package/dist/logging/contracts/LoggerDriver.js +1 -0
- package/dist/logging/contracts/LoggingOptions.d.ts +49 -0
- package/dist/logging/contracts/LoggingOptions.js +1 -0
- package/dist/logging/contracts/index.d.ts +4 -0
- package/dist/logging/contracts/index.js +4 -0
- package/dist/logging/drivers/PinoLoggerDriver.d.ts +24 -0
- package/dist/logging/drivers/PinoLoggerDriver.js +291 -0
- package/dist/logging/drivers/index.d.ts +1 -0
- package/dist/logging/drivers/index.js +1 -0
- package/dist/logging/index.d.ts +3 -0
- package/dist/logging/index.js +3 -0
- package/dist/logging/transports/DevtoolsLogTransport.d.ts +35 -0
- package/dist/logging/transports/DevtoolsLogTransport.js +96 -0
- package/dist/mail/Mail.d.ts +62 -0
- package/dist/mail/Mail.js +98 -0
- package/dist/mail/index.d.ts +4 -0
- package/dist/mail/index.js +4 -0
- package/dist/mail/transports/FileMailTransport.d.ts +12 -0
- package/dist/mail/transports/FileMailTransport.js +41 -0
- package/dist/mail/transports/MailgunTransport.d.ts +22 -0
- package/dist/mail/transports/MailgunTransport.js +57 -0
- package/dist/mail/transports/ResendTransport.d.ts +14 -0
- package/dist/mail/transports/ResendTransport.js +55 -0
- package/dist/media/MediaFile.d.ts +48 -0
- package/dist/media/MediaFile.js +104 -0
- package/dist/media/MediaItem.d.ts +47 -0
- package/dist/media/MediaItem.js +106 -0
- package/dist/media/MediaLibrary.d.ts +42 -0
- package/dist/media/MediaLibrary.js +94 -0
- package/dist/media/MediaManager.d.ts +159 -0
- package/dist/media/MediaManager.js +754 -0
- package/dist/media/constants.d.ts +27 -0
- package/dist/media/constants.js +19 -0
- package/dist/media/contracts/MediaOptions.d.ts +8 -0
- package/dist/media/contracts/MediaOptions.js +1 -0
- package/dist/media/contracts/index.d.ts +1 -0
- package/dist/media/contracts/index.js +1 -0
- package/dist/media/image/ImageReconstructionError.d.ts +15 -0
- package/dist/media/image/ImageReconstructionError.js +18 -0
- package/dist/media/image/ImageVariantRenderer.d.ts +44 -0
- package/dist/media/image/ImageVariantRenderer.js +337 -0
- package/dist/media/image/ImageVariantRequest.d.ts +28 -0
- package/dist/media/image/ImageVariantRequest.js +55 -0
- package/dist/media/image/contracts/ImageProcessor.d.ts +46 -0
- package/dist/media/image/contracts/ImageProcessor.js +1 -0
- package/dist/media/image/contracts/ImageVariant.d.ts +31 -0
- package/dist/media/image/contracts/ImageVariant.js +7 -0
- package/dist/media/image/contracts/ImageVariantCacheOptions.d.ts +20 -0
- package/dist/media/image/contracts/ImageVariantCacheOptions.js +1 -0
- package/dist/media/image/contracts/index.d.ts +3 -0
- package/dist/media/image/contracts/index.js +3 -0
- package/dist/media/image/index.d.ts +5 -0
- package/dist/media/image/index.js +5 -0
- package/dist/media/image/processors/SharpImageProcessor.d.ts +25 -0
- package/dist/media/image/processors/SharpImageProcessor.js +112 -0
- package/dist/media/image/processors/index.d.ts +1 -0
- package/dist/media/image/processors/index.js +1 -0
- package/dist/media/index.d.ts +8 -0
- package/dist/media/index.js +8 -0
- package/dist/media/types.d.ts +129 -0
- package/dist/media/types.js +1 -0
- package/dist/queue/FailedJob.d.ts +31 -0
- package/dist/queue/FailedJob.js +41 -0
- package/dist/queue/Queue.d.ts +208 -0
- package/dist/queue/Queue.js +685 -0
- package/dist/queue/QueueEvents.d.ts +31 -0
- package/dist/queue/QueueEvents.js +49 -0
- package/dist/queue/QueueRetryLaterError.d.ts +23 -0
- package/dist/queue/QueueRetryLaterError.js +34 -0
- package/dist/queue/QueueWorker.d.ts +72 -0
- package/dist/queue/QueueWorker.js +236 -0
- package/dist/queue/QueueableJob.d.ts +109 -0
- package/dist/queue/QueueableJob.js +137 -0
- package/dist/queue/QueuedJob.d.ts +31 -0
- package/dist/queue/QueuedJob.js +52 -0
- package/dist/queue/RetryPolicy.d.ts +51 -0
- package/dist/queue/RetryPolicy.js +84 -0
- package/dist/queue/commands/index.d.ts +4 -0
- package/dist/queue/commands/index.js +11 -0
- package/dist/queue/commands/makeJob.d.ts +7 -0
- package/dist/queue/commands/makeJob.js +9 -0
- package/dist/queue/console.d.ts +60 -0
- package/dist/queue/console.js +348 -0
- package/dist/queue/contracts/CreateJob.d.ts +12 -0
- package/dist/queue/contracts/CreateJob.js +1 -0
- package/dist/queue/contracts/QueueDriver.d.ts +122 -0
- package/dist/queue/contracts/QueueDriver.js +1 -0
- package/dist/queue/contracts/QueueEvents.d.ts +61 -0
- package/dist/queue/contracts/QueueEvents.js +1 -0
- package/dist/queue/contracts/QueuePayload.d.ts +136 -0
- package/dist/queue/contracts/QueuePayload.js +1 -0
- package/dist/queue/contracts/QueueRetry.d.ts +43 -0
- package/dist/queue/contracts/QueueRetry.js +1 -0
- package/dist/queue/contracts/QueueService.d.ts +199 -0
- package/dist/queue/contracts/QueueService.js +1 -0
- package/dist/queue/contracts/QueueWorkerLifecycle.d.ts +65 -0
- package/dist/queue/contracts/QueueWorkerLifecycle.js +1 -0
- package/dist/queue/contracts/QueueableJob.d.ts +50 -0
- package/dist/queue/contracts/QueueableJob.js +1 -0
- package/dist/queue/contracts/RedisQueueDriver.d.ts +37 -0
- package/dist/queue/contracts/RedisQueueDriver.js +1 -0
- package/dist/queue/contracts/index.d.ts +9 -0
- package/dist/queue/contracts/index.js +9 -0
- package/dist/queue/createJob.d.ts +18 -0
- package/dist/queue/createJob.js +52 -0
- package/dist/queue/drivers/DatabaseQueueDriver.d.ts +83 -0
- package/dist/queue/drivers/DatabaseQueueDriver.js +393 -0
- package/dist/queue/drivers/RedisQueueDriver.d.ts +102 -0
- package/dist/queue/drivers/RedisQueueDriver.js +641 -0
- package/dist/queue/index.d.ts +13 -0
- package/dist/queue/index.js +13 -0
- package/dist/queue/queueMonitor.d.ts +133 -0
- package/dist/queue/queueMonitor.js +238 -0
- package/dist/scheduler/ScheduledCall.d.ts +25 -0
- package/dist/scheduler/ScheduledCall.js +31 -0
- package/dist/scheduler/ScheduledEvent.d.ts +74 -0
- package/dist/scheduler/ScheduledEvent.js +115 -0
- package/dist/scheduler/ScheduledJob.d.ts +34 -0
- package/dist/scheduler/ScheduledJob.js +50 -0
- package/dist/scheduler/ScheduledOccurrence.d.ts +74 -0
- package/dist/scheduler/ScheduledOccurrence.js +194 -0
- package/dist/scheduler/ScheduledOccurrenceRecorder.d.ts +34 -0
- package/dist/scheduler/ScheduledOccurrenceRecorder.js +106 -0
- package/dist/scheduler/Scheduler.d.ts +76 -0
- package/dist/scheduler/Scheduler.js +186 -0
- package/dist/scheduler/SchedulerWorker.d.ts +37 -0
- package/dist/scheduler/SchedulerWorker.js +119 -0
- package/dist/scheduler/console.d.ts +18 -0
- package/dist/scheduler/console.js +288 -0
- package/dist/scheduler/constants.d.ts +13 -0
- package/dist/scheduler/constants.js +23 -0
- package/dist/scheduler/contracts/Scheduler.d.ts +104 -0
- package/dist/scheduler/contracts/Scheduler.js +1 -0
- package/dist/scheduler/contracts/SchedulerConsole.d.ts +37 -0
- package/dist/scheduler/contracts/SchedulerConsole.js +1 -0
- package/dist/scheduler/contracts/SchedulerWorker.d.ts +18 -0
- package/dist/scheduler/contracts/SchedulerWorker.js +1 -0
- package/dist/scheduler/contracts/index.d.ts +3 -0
- package/dist/scheduler/contracts/index.js +3 -0
- package/dist/scheduler/index.d.ts +9 -0
- package/dist/scheduler/index.js +9 -0
- package/dist/scheduler/scheduleTime.d.ts +30 -0
- package/dist/scheduler/scheduleTime.js +64 -0
- package/dist/security/Security.d.ts +60 -0
- package/dist/security/Security.js +252 -0
- package/dist/security/SecurityError.d.ts +13 -0
- package/dist/security/SecurityError.js +16 -0
- package/dist/security/contracts/SecurityOptions.d.ts +17 -0
- package/dist/security/contracts/SecurityOptions.js +1 -0
- package/dist/security/contracts/SecurityPayload.d.ts +13 -0
- package/dist/security/contracts/SecurityPayload.js +1 -0
- package/dist/security/contracts/index.d.ts +2 -0
- package/dist/security/contracts/index.js +2 -0
- package/dist/security/ensureAppKey.d.ts +16 -0
- package/dist/security/ensureAppKey.js +69 -0
- package/dist/security/index.d.ts +4 -0
- package/dist/security/index.js +4 -0
- package/dist/serialization/Serializable.d.ts +17 -0
- package/dist/serialization/Serializable.js +1 -0
- package/dist/serialization/SerializationError.d.ts +40 -0
- package/dist/serialization/SerializationError.js +42 -0
- package/dist/serialization/SerializationRegistry.d.ts +76 -0
- package/dist/serialization/SerializationRegistry.js +153 -0
- package/dist/serialization/SerializationRegistryError.d.ts +18 -0
- package/dist/serialization/SerializationRegistryError.js +18 -0
- package/dist/serialization/Serializer.d.ts +37 -0
- package/dist/serialization/Serializer.js +477 -0
- package/dist/serialization/contracts/SerializableClass.d.ts +20 -0
- package/dist/serialization/contracts/SerializableClass.js +1 -0
- package/dist/serialization/contracts/SerializedValue.d.ts +59 -0
- package/dist/serialization/contracts/SerializedValue.js +19 -0
- package/dist/serialization/contracts/SerializerOptions.d.ts +17 -0
- package/dist/serialization/contracts/SerializerOptions.js +1 -0
- package/dist/serialization/contracts/SerializerService.d.ts +26 -0
- package/dist/serialization/contracts/SerializerService.js +1 -0
- package/dist/serialization/contracts/index.d.ts +4 -0
- package/dist/serialization/contracts/index.js +4 -0
- package/dist/serialization/index.d.ts +6 -0
- package/dist/serialization/index.js +6 -0
- package/dist/server/App.d.ts +141 -0
- package/dist/server/App.js +225 -0
- package/dist/server/RequestContext.d.ts +42 -0
- package/dist/server/RequestContext.js +95 -0
- package/dist/server/appContext.d.ts +34 -0
- package/dist/server/appContext.js +42 -0
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.js +3 -0
- package/dist/ssr/constants.d.ts +6 -0
- package/dist/ssr/constants.js +6 -0
- package/dist/ssr/contracts/DocumentHead.d.ts +32 -0
- package/dist/ssr/contracts/DocumentHead.js +1 -0
- package/dist/ssr/contracts/SsrRenderContext.d.ts +23 -0
- package/dist/ssr/contracts/SsrRenderContext.js +1 -0
- package/dist/ssr/contracts/SsrRenderResult.d.ts +21 -0
- package/dist/ssr/contracts/SsrRenderResult.js +1 -0
- package/dist/ssr/contracts/SsrRenderer.d.ts +9 -0
- package/dist/ssr/contracts/SsrRenderer.js +1 -0
- package/dist/ssr/contracts/SsrRequest.d.ts +16 -0
- package/dist/ssr/contracts/SsrRequest.js +1 -0
- package/dist/ssr/contracts/index.d.ts +5 -0
- package/dist/ssr/contracts/index.js +1 -0
- package/dist/ssr/createSsrRenderContext.d.ts +9 -0
- package/dist/ssr/createSsrRenderContext.js +20 -0
- package/dist/ssr/fastify/contracts/FastifySsrOptions.d.ts +21 -0
- package/dist/ssr/fastify/contracts/FastifySsrOptions.js +1 -0
- package/dist/ssr/fastify/contracts/index.d.ts +1 -0
- package/dist/ssr/fastify/contracts/index.js +1 -0
- package/dist/ssr/fastify/fastifySsr.d.ts +25 -0
- package/dist/ssr/fastify/fastifySsr.js +89 -0
- package/dist/ssr/fastify/index.d.ts +2 -0
- package/dist/ssr/fastify/index.js +1 -0
- package/dist/ssr/index.d.ts +6 -0
- package/dist/ssr/index.js +5 -0
- package/dist/ssr/renderDocumentHead.d.ts +8 -0
- package/dist/ssr/renderDocumentHead.js +62 -0
- package/dist/ssr/renderSsrDocument.d.ts +14 -0
- package/dist/ssr/renderSsrDocument.js +28 -0
- package/dist/ssr/serializeSsrState.d.ts +10 -0
- package/dist/ssr/serializeSsrState.js +18 -0
- package/dist/ssr/vite/contracts/ViteSsrOptions.d.ts +45 -0
- package/dist/ssr/vite/contracts/ViteSsrOptions.js +1 -0
- package/dist/ssr/vite/contracts/index.d.ts +1 -0
- package/dist/ssr/vite/contracts/index.js +1 -0
- package/dist/ssr/vite/fastifyViteSsr.d.ts +24 -0
- package/dist/ssr/vite/fastifyViteSsr.js +213 -0
- package/dist/ssr/vite/index.d.ts +4 -0
- package/dist/ssr/vite/index.js +2 -0
- package/dist/ssr/vite/viteSsrManifest.d.ts +16 -0
- package/dist/ssr/vite/viteSsrManifest.js +63 -0
- package/dist/storage/Storage.d.ts +244 -0
- package/dist/storage/Storage.js +348 -0
- package/dist/storage/contents.d.ts +8 -0
- package/dist/storage/contents.js +18 -0
- package/dist/storage/contracts/StorageListing.d.ts +50 -0
- package/dist/storage/contracts/StorageListing.js +1 -0
- package/dist/storage/contracts/index.d.ts +1 -0
- package/dist/storage/contracts/index.js +1 -0
- package/dist/storage/drivers/FlystorageDisk.d.ts +185 -0
- package/dist/storage/drivers/FlystorageDisk.js +250 -0
- package/dist/storage/drivers/FlystorageListing.d.ts +27 -0
- package/dist/storage/drivers/FlystorageListing.js +69 -0
- package/dist/storage/drivers/LocalStorageDisk.d.ts +25 -0
- package/dist/storage/drivers/LocalStorageDisk.js +38 -0
- package/dist/storage/drivers/S3StorageDisk.d.ts +17 -0
- package/dist/storage/drivers/S3StorageDisk.js +102 -0
- package/dist/storage/drivers/index.d.ts +3 -0
- package/dist/storage/drivers/index.js +3 -0
- package/dist/storage/index.d.ts +7 -0
- package/dist/storage/index.js +7 -0
- package/dist/storage/mime.d.ts +7 -0
- package/dist/storage/mime.js +28 -0
- package/dist/storage/path.d.ts +22 -0
- package/dist/storage/path.js +61 -0
- package/dist/storage/types.d.ts +218 -0
- package/dist/storage/types.js +1 -0
- package/dist/url/UrlGenerator.d.ts +32 -0
- package/dist/url/UrlGenerator.js +61 -0
- package/dist/url/contracts/UrlGeneratorOptions.d.ts +13 -0
- package/dist/url/contracts/UrlGeneratorOptions.js +1 -0
- package/dist/url/contracts/index.d.ts +1 -0
- package/dist/url/contracts/index.js +1 -0
- package/dist/url/index.d.ts +2 -0
- package/dist/url/index.js +2 -0
- package/dist/validation/index.d.ts +28 -0
- package/dist/validation/index.js +260 -0
- package/package.json +290 -0
- package/src/ai/AIErrors.ts +46 -0
- package/src/ai/AIFailover.ts +101 -0
- package/src/ai/AIProviders.ts +228 -0
- package/src/ai/AIQuotaDeferredError.ts +26 -0
- package/src/ai/AIRateLimiter.ts +880 -0
- package/src/ai/Agent.ts +3630 -0
- package/src/ai/AgentHistory.ts +576 -0
- package/src/ai/AgentRunJob.ts +65 -0
- package/src/ai/Ai.ts +2176 -0
- package/src/ai/AiConversation.ts +49 -0
- package/src/ai/AiExecutionContext.ts +19 -0
- package/src/ai/AiMessage.ts +131 -0
- package/src/ai/AiRateLimitBucket.ts +163 -0
- package/src/ai/AiRateLimitReservation.ts +117 -0
- package/src/ai/AiRequest.ts +466 -0
- package/src/ai/Estimates.ts +36 -0
- package/src/ai/Models.ts +373 -0
- package/src/ai/OpenAIProviderError.ts +98 -0
- package/src/ai/OpenAIQuotaRetry.ts +183 -0
- package/src/ai/ProviderCosts.ts +156 -0
- package/src/ai/README.md +187 -0
- package/src/ai/ResponsesProviderCall.ts +34 -0
- package/src/ai/agentCitations.ts +186 -0
- package/src/ai/contracts/AI.ts +380 -0
- package/src/ai/contracts/Agent.ts +539 -0
- package/src/ai/contracts/AiRequestRunCostSummary.ts +31 -0
- package/src/ai/contracts/Pricing.ts +95 -0
- package/src/ai/contracts/Providers.ts +73 -0
- package/src/ai/contracts/QuotaRetry.ts +39 -0
- package/src/ai/contracts/RateLimits.ts +49 -0
- package/src/ai/contracts/ResponsesProviderCall.ts +30 -0
- package/src/ai/contracts/index.ts +8 -0
- package/src/ai/examples/Conversation.ts +12 -0
- package/src/ai/examples/HelpAgent.ts +27 -0
- package/src/ai/examples/createHelpImage.ts +13 -0
- package/src/ai/index.ts +27 -0
- package/src/ai/registry.ts +70 -0
- package/src/ai/sdkNodeCompatibility.d.ts +76 -0
- package/src/ai/toolCallRecovery.ts +82 -0
- package/src/ai/toolHelpers.ts +145 -0
- package/src/auth/Auth.ts +1422 -0
- package/src/auth/AuthProvider.ts +251 -0
- package/src/auth/AuthToken.ts +239 -0
- package/src/auth/PasswordResetToken.ts +93 -0
- package/src/auth/README.md +396 -0
- package/src/auth/UserIdentity.ts +112 -0
- package/src/auth/contracts/AuthProviderDriver.ts +114 -0
- package/src/auth/contracts/index.ts +1 -0
- package/src/auth/examples/runPasswordAuth.ts +45 -0
- package/src/auth/index.ts +8 -0
- package/src/auth/passwordHash.ts +160 -0
- package/src/auth/providers/GoogleAuthProvider.ts +470 -0
- package/src/auth/providers/PasswordAuthProvider.ts +256 -0
- package/src/auth/providers/index.ts +3 -0
- package/src/auth/providers/resolveAuthProviders.ts +166 -0
- package/src/cache/Cache.ts +151 -0
- package/src/cache/README.md +137 -0
- package/src/cache/contracts/CacheDriver.ts +11 -0
- package/src/cache/contracts/CacheOperations.ts +28 -0
- package/src/cache/contracts/CacheOptions.ts +56 -0
- package/src/cache/contracts/CacheRepository.ts +62 -0
- package/src/cache/contracts/index.ts +4 -0
- package/src/cache/drivers/CacheManagerDriver.ts +84 -0
- package/src/cache/drivers/createCacheDriver.ts +191 -0
- package/src/cache/examples/runNoteCache.ts +37 -0
- package/src/cache/index.ts +2 -0
- package/src/cli/Cli.ts +110 -0
- package/src/cli/README.md +164 -0
- package/src/cli/commands/repl.ts +29 -0
- package/src/cli/contracts/CliCommand.ts +33 -0
- package/src/cli/contracts/CliConfig.ts +10 -0
- package/src/cli/contracts/CliOptions.ts +13 -0
- package/src/cli/contracts/CommandDefinition.ts +19 -0
- package/src/cli/contracts/ReplOptions.ts +11 -0
- package/src/cli/contracts/index.ts +5 -0
- package/src/cli/defineCommand.ts +25 -0
- package/src/cli/index.ts +5 -0
- package/src/cli/runDb3.ts +63 -0
- package/src/cli/runRepl.ts +55 -0
- package/src/config/Config.ts +110 -0
- package/src/config/README.md +142 -0
- package/src/config/env.ts +164 -0
- package/src/config/examples/loadNotesConfig.ts +29 -0
- package/src/config/examples/runConfig.ts +40 -0
- package/src/config/index.ts +2 -0
- package/src/db/ActiveProjection.ts +311 -0
- package/src/db/ActiveQueryBuilder.ts +831 -0
- package/src/db/ActiveRecord.ts +1317 -0
- package/src/db/Database.ts +1283 -0
- package/src/db/FieldType.ts +1243 -0
- package/src/db/README.md +508 -0
- package/src/db/SoftDeletes.ts +158 -0
- package/src/db/commands/check.ts +10 -0
- package/src/db/commands/index.ts +19 -0
- package/src/db/commands/makeMigration.ts +11 -0
- package/src/db/commands/migrate.ts +10 -0
- package/src/db/connection.ts +68 -0
- package/src/db/contracts/ActiveRecordDefinition.ts +69 -0
- package/src/db/contracts/DatabaseBackup.ts +7 -0
- package/src/db/contracts/DatabaseMigrationsConfig.ts +10 -0
- package/src/db/contracts/index.ts +3 -0
- package/src/db/dialects/columnTypes.ts +103 -0
- package/src/db/dialects/index.ts +6 -0
- package/src/db/dialects/mariadb.ts +51 -0
- package/src/db/dialects/mysql.ts +277 -0
- package/src/db/dialects/postgres.ts +143 -0
- package/src/db/dialects/resolveDialect.ts +88 -0
- package/src/db/dialects/types.ts +59 -0
- package/src/db/errors.ts +22 -0
- package/src/db/examples/DefinedUser.ts +20 -0
- package/src/db/examples/FieldNote.ts +27 -0
- package/src/db/examples/KnowledgeNote.ts +29 -0
- package/src/db/examples/NoteCodeField.ts +9 -0
- package/src/db/examples/createNotesTogether.ts +24 -0
- package/src/db/examples/outputs/workspace-notes.json +9 -0
- package/src/db/examples/runFieldNotes.ts +51 -0
- package/src/db/examples/runNoteMigrations.ts +64 -0
- package/src/db/examples/runWorkspaceNotes.ts +86 -0
- package/src/db/examples/workspaceNotes.ts +57 -0
- package/src/db/fields/BooleanField.ts +128 -0
- package/src/db/fields/CharUuidField.ts +91 -0
- package/src/db/fields/ChoiceStringField.ts +97 -0
- package/src/db/fields/DecimalField.ts +157 -0
- package/src/db/fields/EmailField.ts +79 -0
- package/src/db/fields/EncryptedJsonField.ts +211 -0
- package/src/db/fields/IntegerField.ts +200 -0
- package/src/db/fields/JsonField.ts +108 -0
- package/src/db/fields/JsonStringField.ts +63 -0
- package/src/db/fields/LinkField.ts +502 -0
- package/src/db/fields/PasswordField.ts +294 -0
- package/src/db/fields/StringField.ts +154 -0
- package/src/db/fields/StringListField.ts +179 -0
- package/src/db/fields/TextField.ts +71 -0
- package/src/db/fields/TimestampField.ts +164 -0
- package/src/db/fields/UlidField.ts +189 -0
- package/src/db/fields/UrlField.ts +97 -0
- package/src/db/fields/VectorField.ts +266 -0
- package/src/db/fields/createField.ts +22 -0
- package/src/db/fields/field.ts +209 -0
- package/src/db/fields/index.ts +76 -0
- package/src/db/fields/resolveFields.ts +69 -0
- package/src/db/index.ts +13 -0
- package/src/db/migrations/DatabaseMigrationManager.ts +756 -0
- package/src/db/migrations/DatabaseSchemaInspector.ts +541 -0
- package/src/db/migrations/KnexMigrationRenderer.ts +490 -0
- package/src/db/migrations/ModelSchemaCollector.ts +240 -0
- package/src/db/migrations/SchemaDiffer.ts +541 -0
- package/src/db/migrations/SchemaNames.ts +62 -0
- package/src/db/migrations/SchemaSnapshotSerializer.ts +59 -0
- package/src/db/migrations/contracts/DatabaseMigration.ts +143 -0
- package/src/db/migrations/contracts/SchemaChange.ts +113 -0
- package/src/db/migrations/contracts/SchemaSnapshot.ts +122 -0
- package/src/db/migrations/contracts/index.ts +3 -0
- package/src/db/migrations/errors.ts +45 -0
- package/src/db/migrations/index.ts +10 -0
- package/src/db/migrations/promoteDestructiveSchemaChanges.ts +120 -0
- package/src/db/queryMonitor.ts +549 -0
- package/src/db/sqlErrors.ts +36 -0
- package/src/db/test/db.ts +159 -0
- package/src/devtools/HttpEventDispatcher.ts +214 -0
- package/src/devtools/contracts/DevtoolsEventDispatcher.ts +57 -0
- package/src/devtools/contracts/index.ts +1 -0
- package/src/devtools/environment.ts +18 -0
- package/src/devtools/index.ts +3 -0
- package/src/events/Events.ts +165 -0
- package/src/events/README.md +106 -0
- package/src/events/contracts/EventConstructor.ts +12 -0
- package/src/events/contracts/EventListener.ts +8 -0
- package/src/events/contracts/EventUnsubscribe.ts +4 -0
- package/src/events/contracts/index.ts +3 -0
- package/src/events/examples/NoteSaved.ts +9 -0
- package/src/events/examples/runNoteEvents.ts +31 -0
- package/src/events/index.ts +2 -0
- package/src/flows/FlowBlockRegistry.ts +79 -0
- package/src/flows/FlowCompiler.ts +624 -0
- package/src/flows/FlowDefinitionError.ts +24 -0
- package/src/flows/FlowStepJob.ts +54 -0
- package/src/flows/FlowValueValidator.ts +120 -0
- package/src/flows/Flows.ts +1118 -0
- package/src/flows/README.md +144 -0
- package/src/flows/blocks/FlowInput.ts +32 -0
- package/src/flows/blocks/FlowOutput.ts +32 -0
- package/src/flows/blocks/Subflow.ts +24 -0
- package/src/flows/blocks/index.ts +11 -0
- package/src/flows/constants.ts +62 -0
- package/src/flows/contracts/FlowBlock.ts +73 -0
- package/src/flows/contracts/FlowCompiler.ts +32 -0
- package/src/flows/contracts/FlowDefinition.ts +126 -0
- package/src/flows/contracts/FlowDefinitionStore.ts +52 -0
- package/src/flows/contracts/FlowRun.ts +44 -0
- package/src/flows/contracts/FlowValue.ts +54 -0
- package/src/flows/contracts/FlowsService.ts +39 -0
- package/src/flows/contracts/index.ts +7 -0
- package/src/flows/defineBlock.ts +25 -0
- package/src/flows/drivers/FileFlowDefinitionStore.ts +372 -0
- package/src/flows/drivers/index.ts +1 -0
- package/src/flows/errors.ts +22 -0
- package/src/flows/examples/FlowExampleApp.ts +15 -0
- package/src/flows/examples/createTextFlow.ts +14 -0
- package/src/flows/examples/normalizeTextBlock.ts +15 -0
- package/src/flows/examples/runTextFlow.ts +46 -0
- package/src/flows/examples/uppercaseTextBlock.ts +11 -0
- package/src/flows/index.ts +13 -0
- package/src/flows/models/FlowRun.ts +164 -0
- package/src/flows/models/FlowRunEvent.ts +108 -0
- package/src/flows/models/FlowStepRun.ts +176 -0
- package/src/flows/models/index.ts +16 -0
- package/src/index.ts +40 -0
- package/src/logging/Log.ts +100 -0
- package/src/logging/README.md +139 -0
- package/src/logging/contracts/HttpExchange.ts +53 -0
- package/src/logging/contracts/Logger.ts +45 -0
- package/src/logging/contracts/LoggerDriver.ts +19 -0
- package/src/logging/contracts/LoggingOptions.ts +51 -0
- package/src/logging/contracts/index.ts +4 -0
- package/src/logging/drivers/PinoLoggerDriver.ts +376 -0
- package/src/logging/drivers/index.ts +1 -0
- package/src/logging/examples/runNoteLogs.ts +38 -0
- package/src/logging/index.ts +3 -0
- package/src/logging/transports/DevtoolsLogTransport.ts +142 -0
- package/src/mail/Mail.ts +188 -0
- package/src/mail/README.md +206 -0
- package/src/mail/examples/runMailPreview.ts +44 -0
- package/src/mail/examples/welcomeMessage.ts +26 -0
- package/src/mail/index.ts +4 -0
- package/src/mail/transports/FileMailTransport.ts +58 -0
- package/src/mail/transports/MailgunTransport.ts +85 -0
- package/src/mail/transports/ResendTransport.ts +80 -0
- package/src/media/MediaFile.ts +132 -0
- package/src/media/MediaItem.ts +132 -0
- package/src/media/MediaLibrary.ts +117 -0
- package/src/media/MediaManager.ts +874 -0
- package/src/media/README.md +358 -0
- package/src/media/constants.ts +31 -0
- package/src/media/contracts/MediaOptions.ts +9 -0
- package/src/media/contracts/index.ts +1 -0
- package/src/media/examples/createPrivateFileServer.ts +55 -0
- package/src/media/examples/runPrivateFiles.ts +45 -0
- package/src/media/examples/runProjectMedia.ts +46 -0
- package/src/media/image/ImageReconstructionError.ts +18 -0
- package/src/media/image/ImageVariantRenderer.ts +386 -0
- package/src/media/image/ImageVariantRequest.ts +65 -0
- package/src/media/image/contracts/ImageProcessor.ts +53 -0
- package/src/media/image/contracts/ImageVariant.ts +37 -0
- package/src/media/image/contracts/ImageVariantCacheOptions.ts +21 -0
- package/src/media/image/contracts/index.ts +3 -0
- package/src/media/image/index.ts +5 -0
- package/src/media/image/processors/SharpImageProcessor.ts +121 -0
- package/src/media/image/processors/index.ts +1 -0
- package/src/media/index.ts +8 -0
- package/src/media/types.ts +168 -0
- package/src/queue/FailedJob.ts +58 -0
- package/src/queue/Queue.ts +938 -0
- package/src/queue/QueueEvents.ts +57 -0
- package/src/queue/QueueRetryLaterError.ts +40 -0
- package/src/queue/QueueWorker.ts +296 -0
- package/src/queue/QueueableJob.ts +167 -0
- package/src/queue/QueuedJob.ts +69 -0
- package/src/queue/README.md +368 -0
- package/src/queue/RetryPolicy.ts +129 -0
- package/src/queue/commands/index.ts +13 -0
- package/src/queue/commands/makeJob.ts +11 -0
- package/src/queue/console.ts +518 -0
- package/src/queue/contracts/CreateJob.ts +13 -0
- package/src/queue/contracts/QueueDriver.ts +135 -0
- package/src/queue/contracts/QueueEvents.ts +77 -0
- package/src/queue/contracts/QueuePayload.ts +150 -0
- package/src/queue/contracts/QueueRetry.ts +47 -0
- package/src/queue/contracts/QueueService.ts +219 -0
- package/src/queue/contracts/QueueWorkerLifecycle.ts +71 -0
- package/src/queue/contracts/QueueableJob.ts +56 -0
- package/src/queue/contracts/RedisQueueDriver.ts +37 -0
- package/src/queue/contracts/index.ts +9 -0
- package/src/queue/createJob.ts +54 -0
- package/src/queue/drivers/DatabaseQueueDriver.ts +449 -0
- package/src/queue/drivers/RedisQueueDriver.ts +733 -0
- package/src/queue/examples/DeferredReportJob.ts +25 -0
- package/src/queue/examples/GenerateReportJob.ts +37 -0
- package/src/queue/examples/WriteReportJob.ts +37 -0
- package/src/queue/examples/createAndProcessReportJob.ts +29 -0
- package/src/queue/examples/dispatchReportWorkflows.ts +40 -0
- package/src/queue/examples/manageReportRetries.ts +47 -0
- package/src/queue/examples/outputs/create-and-process-report-job.json +6 -0
- package/src/queue/examples/outputs/dispatch-report-workflows.json +14 -0
- package/src/queue/examples/outputs/manage-report-retries.json +24 -0
- package/src/queue/examples/outputs/queue-reports.json +11 -0
- package/src/queue/examples/reportConsole.ts +47 -0
- package/src/queue/examples/runBackpressure.ts +27 -0
- package/src/queue/examples/runQueueReports.ts +80 -0
- package/src/queue/examples/runQueueWorkflows.ts +43 -0
- package/src/queue/index.ts +13 -0
- package/src/queue/queueMonitor.ts +368 -0
- package/src/scheduler/README.md +139 -0
- package/src/scheduler/ScheduledCall.ts +36 -0
- package/src/scheduler/ScheduledEvent.ts +149 -0
- package/src/scheduler/ScheduledJob.ts +58 -0
- package/src/scheduler/ScheduledOccurrence.ts +250 -0
- package/src/scheduler/ScheduledOccurrenceRecorder.ts +125 -0
- package/src/scheduler/Scheduler.ts +225 -0
- package/src/scheduler/SchedulerWorker.ts +151 -0
- package/src/scheduler/console.ts +368 -0
- package/src/scheduler/constants.ts +27 -0
- package/src/scheduler/contracts/Scheduler.ts +123 -0
- package/src/scheduler/contracts/SchedulerConsole.ts +40 -0
- package/src/scheduler/contracts/SchedulerWorker.ts +23 -0
- package/src/scheduler/contracts/index.ts +3 -0
- package/src/scheduler/examples/RecoverableSummaryJob.ts +18 -0
- package/src/scheduler/examples/WriteDailySummaryJob.ts +17 -0
- package/src/scheduler/examples/registerDailySummary.ts +13 -0
- package/src/scheduler/examples/runDailySummary.ts +46 -0
- package/src/scheduler/examples/runScheduledReplay.ts +60 -0
- package/src/scheduler/index.ts +9 -0
- package/src/scheduler/scheduleTime.ts +78 -0
- package/src/security/README.md +130 -0
- package/src/security/Security.ts +346 -0
- package/src/security/SecurityError.ts +16 -0
- package/src/security/contracts/SecurityOptions.ts +20 -0
- package/src/security/contracts/SecurityPayload.ts +14 -0
- package/src/security/contracts/index.ts +2 -0
- package/src/security/ensureAppKey.ts +82 -0
- package/src/security/examples/runSecretRoundTrip.ts +42 -0
- package/src/security/index.ts +4 -0
- package/src/serialization/README.md +169 -0
- package/src/serialization/Serializable.ts +17 -0
- package/src/serialization/SerializationError.ts +91 -0
- package/src/serialization/SerializationRegistry.ts +208 -0
- package/src/serialization/SerializationRegistryError.ts +24 -0
- package/src/serialization/Serializer.ts +793 -0
- package/src/serialization/contracts/SerializableClass.ts +26 -0
- package/src/serialization/contracts/SerializedValue.ts +71 -0
- package/src/serialization/contracts/SerializerOptions.ts +19 -0
- package/src/serialization/contracts/SerializerService.ts +29 -0
- package/src/serialization/contracts/index.ts +4 -0
- package/src/serialization/examples/ExportRequest.ts +25 -0
- package/src/serialization/examples/runExportSerialization.ts +24 -0
- package/src/serialization/index.ts +6 -0
- package/src/server/App.ts +326 -0
- package/src/server/README.md +219 -0
- package/src/server/RequestContext.ts +122 -0
- package/src/server/appContext.ts +59 -0
- package/src/server/examples/createFirstServer.ts +25 -0
- package/src/server/examples/startFirstServer.ts +19 -0
- package/src/server/index.ts +16 -0
- package/src/ssr/README.md +158 -0
- package/src/ssr/constants.ts +8 -0
- package/src/ssr/contracts/DocumentHead.ts +35 -0
- package/src/ssr/contracts/SsrRenderContext.ts +25 -0
- package/src/ssr/contracts/SsrRenderResult.ts +23 -0
- package/src/ssr/contracts/SsrRenderer.ts +12 -0
- package/src/ssr/contracts/SsrRequest.ts +17 -0
- package/src/ssr/contracts/index.ts +19 -0
- package/src/ssr/createSsrRenderContext.ts +25 -0
- package/src/ssr/examples/createPublicPageServer.ts +32 -0
- package/src/ssr/examples/runPublicPages.ts +25 -0
- package/src/ssr/fastify/contracts/FastifySsrOptions.ts +24 -0
- package/src/ssr/fastify/contracts/index.ts +5 -0
- package/src/ssr/fastify/fastifySsr.ts +110 -0
- package/src/ssr/fastify/index.ts +2 -0
- package/src/ssr/index.ts +10 -0
- package/src/ssr/renderDocumentHead.ts +72 -0
- package/src/ssr/renderSsrDocument.ts +35 -0
- package/src/ssr/serializeSsrState.ts +19 -0
- package/src/ssr/vite/contracts/ViteSsrOptions.ts +52 -0
- package/src/ssr/vite/contracts/index.ts +6 -0
- package/src/ssr/vite/fastifyViteSsr.ts +279 -0
- package/src/ssr/vite/index.ts +4 -0
- package/src/ssr/vite/viteSsrManifest.ts +92 -0
- package/src/storage/README.md +310 -0
- package/src/storage/Storage.ts +392 -0
- package/src/storage/contents.ts +23 -0
- package/src/storage/contracts/StorageListing.ts +55 -0
- package/src/storage/contracts/index.ts +1 -0
- package/src/storage/drivers/FlystorageDisk.ts +295 -0
- package/src/storage/drivers/FlystorageListing.ts +78 -0
- package/src/storage/drivers/LocalStorageDisk.ts +45 -0
- package/src/storage/drivers/S3StorageDisk.ts +114 -0
- package/src/storage/drivers/index.ts +3 -0
- package/src/storage/examples/runStorage.ts +37 -0
- package/src/storage/examples/runStreamExport.ts +41 -0
- package/src/storage/examples/writeCsvExport.ts +45 -0
- package/src/storage/index.ts +7 -0
- package/src/storage/mime.ts +30 -0
- package/src/storage/path.ts +76 -0
- package/src/storage/types.ts +251 -0
- package/src/url/README.md +41 -0
- package/src/url/UrlGenerator.ts +72 -0
- package/src/url/contracts/UrlGeneratorOptions.ts +14 -0
- package/src/url/contracts/index.ts +1 -0
- package/src/url/examples/runApplicationLinks.ts +33 -0
- package/src/url/index.ts +2 -0
- package/src/validation/README.md +433 -0
- package/src/validation/examples/runNoteValidation.ts +18 -0
- package/src/validation/examples/validateNoteInput.ts +31 -0
- package/src/validation/index.ts +398 -0
- package/templates/AGENTS.md +15 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FlowValues } from '../contracts/index.js';
|
|
2
|
+
/** Stable framework type for the visible public-input boundary node. */
|
|
3
|
+
export declare const FLOW_INPUT_BLOCK_TYPE = "flow.input";
|
|
4
|
+
/**
|
|
5
|
+
* Framework-owned input boundary whose effective ports come from its flow.
|
|
6
|
+
*
|
|
7
|
+
* The fallback `value` port keeps an unspecialized designer node connectable.
|
|
8
|
+
* The compiler replaces it with the source definition's complete input contract.
|
|
9
|
+
*/
|
|
10
|
+
export declare const FlowInput: import("../index.js").FlowBlockDefinition<FlowValues, FlowValues, FlowValues>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { defineBlock } from '../defineBlock.js';
|
|
2
|
+
/** Stable framework type for the visible public-input boundary node. */
|
|
3
|
+
export const FLOW_INPUT_BLOCK_TYPE = 'flow.input';
|
|
4
|
+
/**
|
|
5
|
+
* Framework-owned input boundary whose effective ports come from its flow.
|
|
6
|
+
*
|
|
7
|
+
* The fallback `value` port keeps an unspecialized designer node connectable.
|
|
8
|
+
* The compiler replaces it with the source definition's complete input contract.
|
|
9
|
+
*/
|
|
10
|
+
export const FlowInput = defineBlock({
|
|
11
|
+
type: FLOW_INPUT_BLOCK_TYPE,
|
|
12
|
+
name: 'Flow Input',
|
|
13
|
+
description: 'Exposes the public flow inputs to blocks inside this definition.',
|
|
14
|
+
inputs: {
|
|
15
|
+
value: { type: 'json', required: true },
|
|
16
|
+
},
|
|
17
|
+
outputs: {
|
|
18
|
+
value: { type: 'json', required: true },
|
|
19
|
+
},
|
|
20
|
+
/**
|
|
21
|
+
* Passes validated public flow input through its visible output handles.
|
|
22
|
+
*
|
|
23
|
+
* @param input - Public flow input validated against the resolved contract.
|
|
24
|
+
* @returns Unchanged input values.
|
|
25
|
+
*/
|
|
26
|
+
run(input) {
|
|
27
|
+
return input;
|
|
28
|
+
},
|
|
29
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FlowValues } from '../contracts/index.js';
|
|
2
|
+
/** Stable framework type for the visible public-output boundary node. */
|
|
3
|
+
export declare const FLOW_OUTPUT_BLOCK_TYPE = "flow.output";
|
|
4
|
+
/**
|
|
5
|
+
* Framework-owned output boundary whose effective ports come from its flow.
|
|
6
|
+
*
|
|
7
|
+
* Reaching this node terminates the current sequential run and exposes its
|
|
8
|
+
* values through the public contract of the containing flow.
|
|
9
|
+
*/
|
|
10
|
+
export declare const FlowOutput: import("../index.js").FlowBlockDefinition<FlowValues, FlowValues, FlowValues>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { defineBlock } from '../defineBlock.js';
|
|
2
|
+
/** Stable framework type for the visible public-output boundary node. */
|
|
3
|
+
export const FLOW_OUTPUT_BLOCK_TYPE = 'flow.output';
|
|
4
|
+
/**
|
|
5
|
+
* Framework-owned output boundary whose effective ports come from its flow.
|
|
6
|
+
*
|
|
7
|
+
* Reaching this node terminates the current sequential run and exposes its
|
|
8
|
+
* values through the public contract of the containing flow.
|
|
9
|
+
*/
|
|
10
|
+
export const FlowOutput = defineBlock({
|
|
11
|
+
type: FLOW_OUTPUT_BLOCK_TYPE,
|
|
12
|
+
name: 'Flow Output',
|
|
13
|
+
description: 'Terminates the graph and exposes named values to parent flows and callers.',
|
|
14
|
+
inputs: {
|
|
15
|
+
value: { type: 'json', required: true },
|
|
16
|
+
},
|
|
17
|
+
outputs: {
|
|
18
|
+
value: { type: 'json', required: true },
|
|
19
|
+
},
|
|
20
|
+
/**
|
|
21
|
+
* Passes terminal values through to the public flow result.
|
|
22
|
+
*
|
|
23
|
+
* @param input - Values delivered to the output boundary.
|
|
24
|
+
* @returns Unchanged public output values.
|
|
25
|
+
*/
|
|
26
|
+
run(input) {
|
|
27
|
+
return input;
|
|
28
|
+
},
|
|
29
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FlowValues } from '../contracts/index.js';
|
|
2
|
+
/** Stable framework type for a definition-backed nested flow block. */
|
|
3
|
+
export declare const SUBFLOW_BLOCK_TYPE = "flow.subflow";
|
|
4
|
+
/**
|
|
5
|
+
* Generic nested-flow placeholder resolved from its referenced definition.
|
|
6
|
+
*
|
|
7
|
+
* The fallback port allows a newly dropped placeholder to be connected before
|
|
8
|
+
* its child definition is created. Once linked, the child contract replaces it.
|
|
9
|
+
*/
|
|
10
|
+
export declare const Subflow: import("../index.js").FlowBlockDefinition<FlowValues, FlowValues, FlowValues>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { defineBlock } from '../defineBlock.js';
|
|
2
|
+
/** Stable framework type for a definition-backed nested flow block. */
|
|
3
|
+
export const SUBFLOW_BLOCK_TYPE = 'flow.subflow';
|
|
4
|
+
/**
|
|
5
|
+
* Generic nested-flow placeholder resolved from its referenced definition.
|
|
6
|
+
*
|
|
7
|
+
* The fallback port allows a newly dropped placeholder to be connected before
|
|
8
|
+
* its child definition is created. Once linked, the child contract replaces it.
|
|
9
|
+
*/
|
|
10
|
+
export const Subflow = defineBlock({
|
|
11
|
+
type: SUBFLOW_BLOCK_TYPE,
|
|
12
|
+
kind: 'flow',
|
|
13
|
+
name: 'Subflow',
|
|
14
|
+
description: 'Groups a nested flow behind the inputs and outputs declared by its definition.',
|
|
15
|
+
inputs: {
|
|
16
|
+
value: { type: 'json', required: true },
|
|
17
|
+
},
|
|
18
|
+
outputs: {
|
|
19
|
+
value: { type: 'json', required: true },
|
|
20
|
+
},
|
|
21
|
+
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './FlowInput.js';
|
|
2
|
+
export * from './FlowOutput.js';
|
|
3
|
+
export * from './Subflow.js';
|
|
4
|
+
import type { FlowBlockDefinition } from '../contracts/index.js';
|
|
5
|
+
/** Framework-owned structural blocks registered for every flow service. */
|
|
6
|
+
export declare const FLOW_SYSTEM_BLOCKS: FlowBlockDefinition[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './FlowInput.js';
|
|
2
|
+
export * from './FlowOutput.js';
|
|
3
|
+
export * from './Subflow.js';
|
|
4
|
+
import { FlowInput } from './FlowInput.js';
|
|
5
|
+
import { FlowOutput } from './FlowOutput.js';
|
|
6
|
+
import { Subflow } from './Subflow.js';
|
|
7
|
+
/** Framework-owned structural blocks registered for every flow service. */
|
|
8
|
+
export const FLOW_SYSTEM_BLOCKS = [FlowInput, FlowOutput, Subflow];
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Durable lifecycle states for a complete flow invocation.
|
|
3
|
+
*/
|
|
4
|
+
export declare const FLOW_RUN_STATUS: {
|
|
5
|
+
readonly queued: "queued";
|
|
6
|
+
readonly running: "running";
|
|
7
|
+
readonly completed: "completed";
|
|
8
|
+
readonly failed: "failed";
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Durable lifecycle states for one block occurrence in a run.
|
|
12
|
+
*/
|
|
13
|
+
export declare const FLOW_STEP_STATUS: {
|
|
14
|
+
readonly pending: "pending";
|
|
15
|
+
readonly queued: "queued";
|
|
16
|
+
readonly running: "running";
|
|
17
|
+
readonly waiting: "waiting";
|
|
18
|
+
readonly completed: "completed";
|
|
19
|
+
readonly failed: "failed";
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Ordered event types emitted while flow runs progress.
|
|
23
|
+
*/
|
|
24
|
+
export declare const FLOW_RUN_EVENT_TYPE: {
|
|
25
|
+
readonly runCreated: "run.created";
|
|
26
|
+
readonly runStarted: "run.started";
|
|
27
|
+
readonly runCompleted: "run.completed";
|
|
28
|
+
readonly runFailed: "run.failed";
|
|
29
|
+
readonly runReplayed: "run.replayed";
|
|
30
|
+
readonly stepQueued: "step.queued";
|
|
31
|
+
readonly stepStarted: "step.started";
|
|
32
|
+
readonly stepWaiting: "step.waiting";
|
|
33
|
+
readonly stepLog: "step.log";
|
|
34
|
+
readonly stepCompleted: "step.completed";
|
|
35
|
+
readonly stepRetrying: "step.retrying";
|
|
36
|
+
readonly stepFailed: "step.failed";
|
|
37
|
+
readonly nestedStarted: "nested.started";
|
|
38
|
+
readonly nestedCompleted: "nested.completed";
|
|
39
|
+
readonly nestedFailed: "nested.failed";
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Supported replay sources for a new run.
|
|
43
|
+
*/
|
|
44
|
+
export declare const FLOW_REPLAY_DEFINITION: {
|
|
45
|
+
readonly original: "original";
|
|
46
|
+
readonly latest: "latest";
|
|
47
|
+
};
|
|
48
|
+
/** Durable flow-run status value. */
|
|
49
|
+
export type FlowRunStatus = typeof FLOW_RUN_STATUS[keyof typeof FLOW_RUN_STATUS];
|
|
50
|
+
/** Durable flow-step status value. */
|
|
51
|
+
export type FlowStepStatus = typeof FLOW_STEP_STATUS[keyof typeof FLOW_STEP_STATUS];
|
|
52
|
+
/** Ordered flow-run event type. */
|
|
53
|
+
export type FlowRunEventType = typeof FLOW_RUN_EVENT_TYPE[keyof typeof FLOW_RUN_EVENT_TYPE];
|
|
54
|
+
/** Definition source used to create a replayed run. */
|
|
55
|
+
export type FlowReplayDefinition = typeof FLOW_REPLAY_DEFINITION[keyof typeof FLOW_REPLAY_DEFINITION];
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Durable lifecycle states for a complete flow invocation.
|
|
3
|
+
*/
|
|
4
|
+
export const FLOW_RUN_STATUS = {
|
|
5
|
+
queued: 'queued',
|
|
6
|
+
running: 'running',
|
|
7
|
+
completed: 'completed',
|
|
8
|
+
failed: 'failed',
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Durable lifecycle states for one block occurrence in a run.
|
|
12
|
+
*/
|
|
13
|
+
export const FLOW_STEP_STATUS = {
|
|
14
|
+
pending: 'pending',
|
|
15
|
+
queued: 'queued',
|
|
16
|
+
running: 'running',
|
|
17
|
+
waiting: 'waiting',
|
|
18
|
+
completed: 'completed',
|
|
19
|
+
failed: 'failed',
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Ordered event types emitted while flow runs progress.
|
|
23
|
+
*/
|
|
24
|
+
export const FLOW_RUN_EVENT_TYPE = {
|
|
25
|
+
runCreated: 'run.created',
|
|
26
|
+
runStarted: 'run.started',
|
|
27
|
+
runCompleted: 'run.completed',
|
|
28
|
+
runFailed: 'run.failed',
|
|
29
|
+
runReplayed: 'run.replayed',
|
|
30
|
+
stepQueued: 'step.queued',
|
|
31
|
+
stepStarted: 'step.started',
|
|
32
|
+
stepWaiting: 'step.waiting',
|
|
33
|
+
stepLog: 'step.log',
|
|
34
|
+
stepCompleted: 'step.completed',
|
|
35
|
+
stepRetrying: 'step.retrying',
|
|
36
|
+
stepFailed: 'step.failed',
|
|
37
|
+
nestedStarted: 'nested.started',
|
|
38
|
+
nestedCompleted: 'nested.completed',
|
|
39
|
+
nestedFailed: 'nested.failed',
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Supported replay sources for a new run.
|
|
43
|
+
*/
|
|
44
|
+
export const FLOW_REPLAY_DEFINITION = {
|
|
45
|
+
original: 'original',
|
|
46
|
+
latest: 'latest',
|
|
47
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { FlowBlockInstance } from './FlowDefinition.js';
|
|
2
|
+
import type { FlowValue, FlowValueDefinitions, FlowValues } from './FlowValue.js';
|
|
3
|
+
/**
|
|
4
|
+
* Severity attached to one durable block log entry.
|
|
5
|
+
*/
|
|
6
|
+
export type FlowLogLevel = 'debug' | 'info' | 'warning' | 'error';
|
|
7
|
+
/** Execution strategy owned by a registered block type. */
|
|
8
|
+
export type FlowBlockKind = 'function' | 'flow';
|
|
9
|
+
/**
|
|
10
|
+
* Runtime information and services exposed to an executing block function.
|
|
11
|
+
*/
|
|
12
|
+
export interface FlowBlockContext<TConfig extends FlowValues = FlowValues> {
|
|
13
|
+
/** Flow definition currently being executed. */
|
|
14
|
+
flowId: string;
|
|
15
|
+
/** Durable run ULID. */
|
|
16
|
+
runId: string;
|
|
17
|
+
/** Durable step-run ULID. */
|
|
18
|
+
stepRunId: string;
|
|
19
|
+
/** Configured block occurrence being executed. */
|
|
20
|
+
block: FlowBlockInstance;
|
|
21
|
+
/** Validated block configuration with defaults applied. */
|
|
22
|
+
config: TConfig;
|
|
23
|
+
/**
|
|
24
|
+
* Records an ordered durable log entry for this block.
|
|
25
|
+
*
|
|
26
|
+
* @param level - Log severity.
|
|
27
|
+
* @param message - Human-readable log message.
|
|
28
|
+
* @param data - Optional structured diagnostic data.
|
|
29
|
+
*/
|
|
30
|
+
log(level: FlowLogLevel, message: string, data?: FlowValue): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Executable block type registered with a Flows service.
|
|
34
|
+
*/
|
|
35
|
+
export interface FlowBlockDefinition<TInput extends FlowValues = FlowValues, TOutput extends FlowValues = FlowValues, TConfig extends FlowValues = FlowValues> {
|
|
36
|
+
/** Stable namespaced type used by serialized flow definitions. */
|
|
37
|
+
type: string;
|
|
38
|
+
/** Whether this block executes a function or delegates to a nested flow. */
|
|
39
|
+
kind?: FlowBlockKind;
|
|
40
|
+
/** Human-readable block type name. */
|
|
41
|
+
name: string;
|
|
42
|
+
/** Optional explanation shown in block palettes and inspectors. */
|
|
43
|
+
description?: string;
|
|
44
|
+
/** Whether this block safely preserves a value when automatically inserted on a compatible connection. */
|
|
45
|
+
insertable?: boolean;
|
|
46
|
+
/** Named values accepted by the block function. */
|
|
47
|
+
inputs: FlowValueDefinitions;
|
|
48
|
+
/** Named values returned by the block function. */
|
|
49
|
+
outputs: FlowValueDefinitions;
|
|
50
|
+
/** Serializable configuration fields shown in the block inspector. */
|
|
51
|
+
config?: FlowValueDefinitions;
|
|
52
|
+
/**
|
|
53
|
+
* Executes the block with validated input and runtime context.
|
|
54
|
+
*
|
|
55
|
+
* @param input - Values assembled from the flow input or incoming connections.
|
|
56
|
+
* @param context - Durable run context, configuration, and logging API.
|
|
57
|
+
* @returns Values emitted through the block output ports.
|
|
58
|
+
*/
|
|
59
|
+
run?(input: TInput, context: FlowBlockContext<TConfig>): TOutput | Promise<TOutput>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Designer-safe metadata for one registered executable block type.
|
|
63
|
+
*/
|
|
64
|
+
export type FlowBlockMetadata = Omit<FlowBlockDefinition, 'run'>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { FlowBlockDefinition } from './FlowBlock.js';
|
|
2
|
+
import type { FlowBlockInstance, FlowConnection, FlowExecutionDefinition } from './FlowDefinition.js';
|
|
3
|
+
/**
|
|
4
|
+
* Executable block occurrence with its resolved type and graph connections.
|
|
5
|
+
*/
|
|
6
|
+
export interface CompiledFlowBlock {
|
|
7
|
+
/** Zero-based execution position in the sequential graph. */
|
|
8
|
+
sequence: number;
|
|
9
|
+
/** Configured block occurrence from the source definition. */
|
|
10
|
+
instance: FlowBlockInstance;
|
|
11
|
+
/** Registered executable block type. */
|
|
12
|
+
block: FlowBlockDefinition;
|
|
13
|
+
/** Connections supplying this block's input values. */
|
|
14
|
+
incoming: FlowConnection[];
|
|
15
|
+
/** Connections carrying this block's output values forward. */
|
|
16
|
+
outgoing: FlowConnection[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Validated sequential execution plan derived from a flow definition snapshot.
|
|
20
|
+
*/
|
|
21
|
+
export interface CompiledFlowDefinition {
|
|
22
|
+
/** Definition snapshot used to produce this plan. */
|
|
23
|
+
definition: FlowExecutionDefinition;
|
|
24
|
+
/** Blocks in deterministic execution order. */
|
|
25
|
+
blocks: CompiledFlowBlock[];
|
|
26
|
+
/** Root block receiving the public flow input. */
|
|
27
|
+
root: CompiledFlowBlock;
|
|
28
|
+
/** Terminal block producing the public flow output. */
|
|
29
|
+
terminal: CompiledFlowBlock;
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { FlowValueDefinitions, FlowValues } from './FlowValue.js';
|
|
2
|
+
/**
|
|
3
|
+
* Position persisted for a block in compatible graph designers.
|
|
4
|
+
*/
|
|
5
|
+
export interface FlowBlockPosition {
|
|
6
|
+
/** Horizontal canvas coordinate. */
|
|
7
|
+
x: number;
|
|
8
|
+
/** Vertical canvas coordinate. */
|
|
9
|
+
y: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* One configured occurrence of a registered block type inside a flow.
|
|
13
|
+
*/
|
|
14
|
+
export interface FlowBlockInstance {
|
|
15
|
+
/** Stable ULID for this block occurrence. */
|
|
16
|
+
id: string;
|
|
17
|
+
/** Registered executable block type. */
|
|
18
|
+
type: string;
|
|
19
|
+
/** Optional instance label overriding the block type name in the designer. */
|
|
20
|
+
name?: string;
|
|
21
|
+
/** JSON-safe configuration supplied to the block when it runs. */
|
|
22
|
+
config?: FlowValues;
|
|
23
|
+
/** Designer position stored with the source-of-truth definition. */
|
|
24
|
+
position: FlowBlockPosition;
|
|
25
|
+
/** Optional nested flow id when this instance executes another flow. */
|
|
26
|
+
flowId?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Serializable input/output contract captured for one resolved block occurrence.
|
|
30
|
+
*
|
|
31
|
+
* Generic subflow and flow-boundary blocks derive their ports from a referenced
|
|
32
|
+
* definition rather than from a statically registered block file. Runs retain
|
|
33
|
+
* this resolved contract so queued steps and replay do not depend on later edits.
|
|
34
|
+
*/
|
|
35
|
+
export interface FlowResolvedBlockContract {
|
|
36
|
+
/** Named values accepted by the resolved block occurrence. */
|
|
37
|
+
inputs: FlowValueDefinitions;
|
|
38
|
+
/** Named values emitted by the resolved block occurrence. */
|
|
39
|
+
outputs: FlowValueDefinitions;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* One directed value connection between named block ports.
|
|
43
|
+
*/
|
|
44
|
+
export interface FlowConnection {
|
|
45
|
+
/** Stable ULID for this graph connection. */
|
|
46
|
+
id: string;
|
|
47
|
+
/** Source block occurrence ULID. */
|
|
48
|
+
sourceBlockId: string;
|
|
49
|
+
/** Named output port on the source block. */
|
|
50
|
+
sourcePort: string;
|
|
51
|
+
/** Target block occurrence ULID. */
|
|
52
|
+
targetBlockId: string;
|
|
53
|
+
/** Named input port on the target block. */
|
|
54
|
+
targetPort: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Serializable source-of-truth graph executed by the flow runtime.
|
|
58
|
+
*/
|
|
59
|
+
export interface FlowDefinition {
|
|
60
|
+
/** Definition schema version used for future compatible migrations. */
|
|
61
|
+
schemaVersion: 1;
|
|
62
|
+
/** Stable ULID used to invoke and reference this flow. */
|
|
63
|
+
id: string;
|
|
64
|
+
/** Human-readable flow name. */
|
|
65
|
+
name: string;
|
|
66
|
+
/** Optional longer explanation for developers and AI tooling. */
|
|
67
|
+
description?: string;
|
|
68
|
+
/** Public input contract accepted when the flow is invoked. */
|
|
69
|
+
inputs: FlowValueDefinitions;
|
|
70
|
+
/** Public output contract returned by the terminal block. */
|
|
71
|
+
outputs: FlowValueDefinitions;
|
|
72
|
+
/** Configured block occurrences in the graph. */
|
|
73
|
+
blocks: FlowBlockInstance[];
|
|
74
|
+
/** Directed connections between block ports. */
|
|
75
|
+
connections: FlowConnection[];
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Immutable execution snapshot produced from one source flow definition.
|
|
79
|
+
*
|
|
80
|
+
* Resolution data is stored only on durable runs. Definition providers continue
|
|
81
|
+
* to read and write the smaller `FlowDefinition` source shape.
|
|
82
|
+
*/
|
|
83
|
+
export interface FlowExecutionDefinition extends FlowDefinition {
|
|
84
|
+
/** Effective dynamic contracts keyed by block occurrence ULID. */
|
|
85
|
+
resolvedBlocks: Record<string, FlowResolvedBlockContract>;
|
|
86
|
+
/** Immediate child snapshots keyed by flow-backed block occurrence ULID. */
|
|
87
|
+
nestedDefinitions: Record<string, StoredNestedFlowDefinition>;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Stored child definition captured as part of a parent execution snapshot.
|
|
91
|
+
*/
|
|
92
|
+
export interface StoredNestedFlowDefinition {
|
|
93
|
+
/** Fully resolved child definition used when the nested block is reached. */
|
|
94
|
+
definition: FlowExecutionDefinition;
|
|
95
|
+
/** Definition-provider revision captured with the child source. */
|
|
96
|
+
revision: string;
|
|
97
|
+
/** Optional provider-relative source path. */
|
|
98
|
+
path?: string;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Lightweight definition metadata used by flow lists and selectors.
|
|
102
|
+
*/
|
|
103
|
+
export interface FlowDefinitionSummary {
|
|
104
|
+
/** Stable flow ULID. */
|
|
105
|
+
id: string;
|
|
106
|
+
/** Human-readable flow name. */
|
|
107
|
+
name: string;
|
|
108
|
+
/** Optional developer-facing description. */
|
|
109
|
+
description?: string;
|
|
110
|
+
/** Public input contract exposed when this flow is used as a subflow block. */
|
|
111
|
+
inputs: FlowValueDefinitions;
|
|
112
|
+
/** Public output contract exposed when this flow is used as a subflow block. */
|
|
113
|
+
outputs: FlowValueDefinitions;
|
|
114
|
+
/** Current content revision returned by the definition provider. */
|
|
115
|
+
revision: string;
|
|
116
|
+
/** Provider-relative source path, when one exists. */
|
|
117
|
+
path?: string;
|
|
118
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { FlowDefinition, FlowDefinitionSummary } from './FlowDefinition.js';
|
|
2
|
+
/**
|
|
3
|
+
* Definition plus provider metadata required for conflict-safe editing.
|
|
4
|
+
*/
|
|
5
|
+
export interface StoredFlowDefinition {
|
|
6
|
+
/** Parsed and validated source-of-truth definition. */
|
|
7
|
+
definition: FlowDefinition;
|
|
8
|
+
/** Content revision used for optimistic concurrency. */
|
|
9
|
+
revision: string;
|
|
10
|
+
/** Provider-relative source path, when one exists. */
|
|
11
|
+
path?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Options used when saving one flow definition.
|
|
15
|
+
*/
|
|
16
|
+
export interface FlowDefinitionWriteOptions {
|
|
17
|
+
/** Previously-read revision that must still match before replacement. */
|
|
18
|
+
expectedRevision?: string;
|
|
19
|
+
/** Optional provider-relative path used when creating a new definition. */
|
|
20
|
+
path?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Storage boundary shared by local file definitions and future hosted drivers.
|
|
24
|
+
*/
|
|
25
|
+
export interface FlowDefinitionStore {
|
|
26
|
+
/**
|
|
27
|
+
* Lists available definitions without requiring callers to know provider paths.
|
|
28
|
+
*
|
|
29
|
+
* @returns Available flow summaries.
|
|
30
|
+
*/
|
|
31
|
+
list(): Promise<FlowDefinitionSummary[]>;
|
|
32
|
+
/**
|
|
33
|
+
* Loads one definition by stable flow ULID.
|
|
34
|
+
*
|
|
35
|
+
* @param id - Flow ULID.
|
|
36
|
+
* @returns Stored definition or null when absent.
|
|
37
|
+
*/
|
|
38
|
+
read(id: string): Promise<StoredFlowDefinition | null>;
|
|
39
|
+
/**
|
|
40
|
+
* Creates or replaces one definition.
|
|
41
|
+
*
|
|
42
|
+
* @param definition - Valid flow definition to persist.
|
|
43
|
+
* @param options - Revision and optional creation path.
|
|
44
|
+
* @returns Newly stored definition metadata.
|
|
45
|
+
*/
|
|
46
|
+
write(definition: FlowDefinition, options?: FlowDefinitionWriteOptions): Promise<StoredFlowDefinition>;
|
|
47
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { FlowReplayDefinition } from '../constants.js';
|
|
2
|
+
import type { FlowValue, FlowValues } from './FlowValue.js';
|
|
3
|
+
/**
|
|
4
|
+
* Structured error snapshot stored on failed runs and block steps.
|
|
5
|
+
*/
|
|
6
|
+
export interface FlowErrorSnapshot {
|
|
7
|
+
/** Error class or provider name. */
|
|
8
|
+
name: string;
|
|
9
|
+
/** Human-readable failure message. */
|
|
10
|
+
message: string;
|
|
11
|
+
/** Optional stack trace captured in development/runtime logs. */
|
|
12
|
+
stack?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Options controlling creation of a new flow run.
|
|
16
|
+
*/
|
|
17
|
+
export interface FlowRunOptions {
|
|
18
|
+
/** Optional run ULID that this invocation replays. */
|
|
19
|
+
replayOfRunId?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Options controlling which definition snapshot a replay executes.
|
|
23
|
+
*/
|
|
24
|
+
export interface FlowReplayOptions {
|
|
25
|
+
/** Whether to execute the original snapshot or the latest stored definition. */
|
|
26
|
+
definition?: FlowReplayDefinition;
|
|
27
|
+
/** Optional replacement public input for the replay. */
|
|
28
|
+
input?: FlowValues;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Durable log entry requested by an executing block.
|
|
32
|
+
*/
|
|
33
|
+
export interface FlowBlockLogInput {
|
|
34
|
+
/** Log severity. */
|
|
35
|
+
level: 'debug' | 'info' | 'warning' | 'error';
|
|
36
|
+
/** Human-readable log message. */
|
|
37
|
+
message: string;
|
|
38
|
+
/** Optional structured diagnostic value. */
|
|
39
|
+
data?: FlowValue;
|
|
40
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON-safe value that can cross a flow block boundary or be persisted in a run.
|
|
3
|
+
*/
|
|
4
|
+
export type FlowValue = string | number | boolean | null | FlowValue[] | {
|
|
5
|
+
[key: string]: FlowValue;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Named JSON-safe values received or returned by a flow block.
|
|
9
|
+
*/
|
|
10
|
+
export type FlowValues = Record<string, FlowValue>;
|
|
11
|
+
/**
|
|
12
|
+
* Value kinds understood by the initial flow validator and designer inspector.
|
|
13
|
+
*/
|
|
14
|
+
export type FlowValueType = 'string' | 'number' | 'boolean' | 'object' | 'array' | 'json';
|
|
15
|
+
/**
|
|
16
|
+
* Optional presentation hints for definition-driven input and configuration forms.
|
|
17
|
+
*
|
|
18
|
+
* Runtime validation does not depend on these values. Hosts may map `component`
|
|
19
|
+
* names such as `DomTextInput` or `DomJsonInput` to their own component registry.
|
|
20
|
+
*/
|
|
21
|
+
export interface FlowValueEditorDefinition {
|
|
22
|
+
/** Host component name preferred for this value. */
|
|
23
|
+
component?: string;
|
|
24
|
+
/** Human-readable field label overriding the serialized value name. */
|
|
25
|
+
label?: string;
|
|
26
|
+
/** Optional empty-value guidance rendered by compatible editors. */
|
|
27
|
+
placeholder?: string;
|
|
28
|
+
/** Preferred textarea row count for multiline or JSON values. */
|
|
29
|
+
rows?: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Serializable schema for one block port or configuration value.
|
|
33
|
+
*/
|
|
34
|
+
export interface FlowValueDefinition {
|
|
35
|
+
/** Value kind used for validation and editor controls. */
|
|
36
|
+
type: FlowValueType;
|
|
37
|
+
/** Whether the value must be present and non-null. */
|
|
38
|
+
required?: boolean;
|
|
39
|
+
/** Human-readable explanation shown by development tools. */
|
|
40
|
+
description?: string;
|
|
41
|
+
/** Default value applied when block configuration omits the field. */
|
|
42
|
+
default?: FlowValue;
|
|
43
|
+
/** Optional host-agnostic form renderer hints. */
|
|
44
|
+
editor?: FlowValueEditorDefinition;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Named schemas for block ports or configuration values.
|
|
48
|
+
*/
|
|
49
|
+
export type FlowValueDefinitions = Record<string, FlowValueDefinition>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Queue } from '../../queue/index.js';
|
|
2
|
+
import type { AppDatabaseProvider } from '../../server/index.js';
|
|
3
|
+
import type { FlowBlockDefinition } from './FlowBlock.js';
|
|
4
|
+
import type { FlowDefinitionStore } from './FlowDefinitionStore.js';
|
|
5
|
+
/**
|
|
6
|
+
* Dependencies and limits used by one application-scoped Flows service.
|
|
7
|
+
*/
|
|
8
|
+
export interface FlowsOptions {
|
|
9
|
+
/** Existing application queue used to execute durable block jobs. */
|
|
10
|
+
queue: Queue;
|
|
11
|
+
/** Definition provider used to load and save source-of-truth graphs. */
|
|
12
|
+
definitions: FlowDefinitionStore;
|
|
13
|
+
/** Executable block types available to this application. */
|
|
14
|
+
blocks: FlowBlockDefinition[];
|
|
15
|
+
/** Queue/channel used for flow step jobs. Defaults to `flows`. */
|
|
16
|
+
queueName?: string;
|
|
17
|
+
/** Maximum queue attempts for each block step. Defaults to 3. */
|
|
18
|
+
maxTries?: number;
|
|
19
|
+
/** Maximum serialized input or output size retained per boundary. */
|
|
20
|
+
maxPayloadBytes?: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Minimal application shape required by queue-rehydrated flow step jobs.
|
|
24
|
+
*/
|
|
25
|
+
export interface FlowStepJobApp extends AppDatabaseProvider {
|
|
26
|
+
/** Application-scoped flow service. */
|
|
27
|
+
flows: {
|
|
28
|
+
/**
|
|
29
|
+
* Executes one durable step claimed by the queue.
|
|
30
|
+
*
|
|
31
|
+
* @param runId - Flow run ULID.
|
|
32
|
+
* @param blockId - Block occurrence ULID.
|
|
33
|
+
* @param job - Claimed queue job metadata.
|
|
34
|
+
*/
|
|
35
|
+
processStep(runId: string, blockId: string, job: import('../../queue/index.js').QueueJob): Promise<void>;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|