@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,25 @@
|
|
|
1
|
+
import { type Sharp } from 'sharp';
|
|
2
|
+
import type { ImageProcessor, ImageProcessorCommand, ImageProcessorReconstructionCommand } from '../contracts/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Sharp/libvips image processor used by the framework's default media service.
|
|
5
|
+
*/
|
|
6
|
+
export declare class SharpImageProcessor implements ImageProcessor {
|
|
7
|
+
#private;
|
|
8
|
+
/**
|
|
9
|
+
* Creates a bounded Sharp transform for one validated framework command.
|
|
10
|
+
*
|
|
11
|
+
* @param command - Trusted image transformation command.
|
|
12
|
+
* @returns Sharp duplex stream for encoded source and output bytes.
|
|
13
|
+
*/
|
|
14
|
+
transform(command: ImageProcessorCommand): Sharp;
|
|
15
|
+
/**
|
|
16
|
+
* Creates a bounded full-resolution reconstruction of untrusted image bytes.
|
|
17
|
+
*
|
|
18
|
+
* Reconstruction preserves animated GIF and WebP frames, applies source
|
|
19
|
+
* orientation, and relies on Sharp's default metadata removal.
|
|
20
|
+
*
|
|
21
|
+
* @param command - Validated canonical reconstruction command.
|
|
22
|
+
* @returns Sharp duplex stream for complete decoding and canonical encoding.
|
|
23
|
+
*/
|
|
24
|
+
reconstruct(command: ImageProcessorReconstructionCommand): Sharp;
|
|
25
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import sharp from 'sharp';
|
|
2
|
+
const IMAGE_VARIANT_INPUT_PIXEL_LIMIT = 40_000_000;
|
|
3
|
+
const IMAGE_VARIANT_PROCESSING_TIMEOUT_SECONDS = 20;
|
|
4
|
+
const CANONICAL_JPEG_QUALITY = 90;
|
|
5
|
+
const CANONICAL_WEBP_QUALITY = 90;
|
|
6
|
+
/**
|
|
7
|
+
* Sharp/libvips image processor used by the framework's default media service.
|
|
8
|
+
*/
|
|
9
|
+
export class SharpImageProcessor {
|
|
10
|
+
/**
|
|
11
|
+
* Creates a bounded Sharp transform for one validated framework command.
|
|
12
|
+
*
|
|
13
|
+
* @param command - Trusted image transformation command.
|
|
14
|
+
* @returns Sharp duplex stream for encoded source and output bytes.
|
|
15
|
+
*/
|
|
16
|
+
transform(command) {
|
|
17
|
+
let image = this.#source(false);
|
|
18
|
+
if (command.width !== null) {
|
|
19
|
+
image = image.resize({
|
|
20
|
+
width: command.width,
|
|
21
|
+
withoutEnlargement: true,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
switch (command.outputMimeType) {
|
|
25
|
+
case 'image/avif':
|
|
26
|
+
return image.avif({
|
|
27
|
+
quality: 50,
|
|
28
|
+
});
|
|
29
|
+
case 'image/jpeg':
|
|
30
|
+
return image.jpeg({
|
|
31
|
+
progressive: true,
|
|
32
|
+
quality: 82,
|
|
33
|
+
});
|
|
34
|
+
case 'image/png':
|
|
35
|
+
return image.png({
|
|
36
|
+
compressionLevel: 9,
|
|
37
|
+
});
|
|
38
|
+
case 'image/webp':
|
|
39
|
+
return image.webp({
|
|
40
|
+
quality: 82,
|
|
41
|
+
});
|
|
42
|
+
default:
|
|
43
|
+
throw new Error(`Sharp cannot encode responsive image MIME type "${command.outputMimeType}".`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Creates a bounded full-resolution reconstruction of untrusted image bytes.
|
|
48
|
+
*
|
|
49
|
+
* Reconstruction preserves animated GIF and WebP frames, applies source
|
|
50
|
+
* orientation, and relies on Sharp's default metadata removal.
|
|
51
|
+
*
|
|
52
|
+
* @param command - Validated canonical reconstruction command.
|
|
53
|
+
* @returns Sharp duplex stream for complete decoding and canonical encoding.
|
|
54
|
+
*/
|
|
55
|
+
reconstruct(command) {
|
|
56
|
+
const image = this.#source(isAnimatedImageMimeType(command.sourceMimeType));
|
|
57
|
+
switch (command.outputMimeType) {
|
|
58
|
+
case 'image/avif':
|
|
59
|
+
return image.avif({
|
|
60
|
+
quality: 65,
|
|
61
|
+
});
|
|
62
|
+
case 'image/gif':
|
|
63
|
+
return image.gif({
|
|
64
|
+
effort: 7,
|
|
65
|
+
interFrameMaxError: 0,
|
|
66
|
+
});
|
|
67
|
+
case 'image/jpeg':
|
|
68
|
+
return image.jpeg({
|
|
69
|
+
progressive: true,
|
|
70
|
+
quality: CANONICAL_JPEG_QUALITY,
|
|
71
|
+
});
|
|
72
|
+
case 'image/png':
|
|
73
|
+
return image.png({
|
|
74
|
+
compressionLevel: 9,
|
|
75
|
+
});
|
|
76
|
+
case 'image/webp':
|
|
77
|
+
return image.webp({
|
|
78
|
+
effort: 5,
|
|
79
|
+
quality: CANONICAL_WEBP_QUALITY,
|
|
80
|
+
});
|
|
81
|
+
default:
|
|
82
|
+
throw new Error(`Sharp cannot reconstruct image MIME type "${command.outputMimeType}".`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Creates one security-bounded Sharp input pipeline.
|
|
87
|
+
*
|
|
88
|
+
* @param animated - Whether all frames from a supported animated source are decoded.
|
|
89
|
+
* @returns Sharp input stream with decode limits, orientation, and timeout configured.
|
|
90
|
+
*/
|
|
91
|
+
#source(animated) {
|
|
92
|
+
return sharp({
|
|
93
|
+
animated,
|
|
94
|
+
failOn: 'warning',
|
|
95
|
+
limitInputPixels: IMAGE_VARIANT_INPUT_PIXEL_LIMIT,
|
|
96
|
+
sequentialRead: true,
|
|
97
|
+
})
|
|
98
|
+
.autoOrient()
|
|
99
|
+
.timeout({
|
|
100
|
+
seconds: IMAGE_VARIANT_PROCESSING_TIMEOUT_SECONDS,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Returns whether reconstruction must decode every source animation frame.
|
|
106
|
+
*
|
|
107
|
+
* @param mimeType - Normalized source image MIME type.
|
|
108
|
+
* @returns True for supported animated container formats.
|
|
109
|
+
*/
|
|
110
|
+
function isAnimatedImageMimeType(mimeType) {
|
|
111
|
+
return mimeType === 'image/gif' || mimeType === 'image/webp';
|
|
112
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SharpImageProcessor.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SharpImageProcessor.js';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './constants.js';
|
|
2
|
+
export * from './contracts/index.js';
|
|
3
|
+
export * from './image/index.js';
|
|
4
|
+
export * from './MediaFile.js';
|
|
5
|
+
export * from './MediaItem.js';
|
|
6
|
+
export * from './MediaLibrary.js';
|
|
7
|
+
export * from './MediaManager.js';
|
|
8
|
+
export * from './types.js';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './constants.js';
|
|
2
|
+
export * from './contracts/index.js';
|
|
3
|
+
export * from './image/index.js';
|
|
4
|
+
export * from './MediaFile.js';
|
|
5
|
+
export * from './MediaItem.js';
|
|
6
|
+
export * from './MediaLibrary.js';
|
|
7
|
+
export * from './MediaManager.js';
|
|
8
|
+
export * from './types.js';
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import type { Readable } from 'node:stream';
|
|
2
|
+
import type { StorageContents } from '../storage/index.js';
|
|
3
|
+
import type { MediaFileVisibility } from './constants.js';
|
|
4
|
+
import type { MediaFile } from './MediaFile.js';
|
|
5
|
+
import type { MediaItem } from './MediaItem.js';
|
|
6
|
+
import type { MediaLibrary } from './MediaLibrary.js';
|
|
7
|
+
/**
|
|
8
|
+
* App-owned scope used to find or create a media library.
|
|
9
|
+
*/
|
|
10
|
+
export interface MediaLibraryScope {
|
|
11
|
+
/** Opaque scope type such as `app.website` or `app.organization`. */
|
|
12
|
+
scopeType: string;
|
|
13
|
+
/** Opaque app-owned scope id. */
|
|
14
|
+
scopeId: string;
|
|
15
|
+
/** Scope-local library key. Defaults to `default`. */
|
|
16
|
+
key?: string;
|
|
17
|
+
/** Human-readable library name used when a new library is created. */
|
|
18
|
+
name?: string;
|
|
19
|
+
/** Optional default storage disk for files written into this library. */
|
|
20
|
+
defaultDisk?: string | null;
|
|
21
|
+
/** Optional storage path prefix for files written into this library. */
|
|
22
|
+
pathPrefix?: string | null;
|
|
23
|
+
/** Optional app-owned library metadata. */
|
|
24
|
+
meta?: Record<string, unknown> | null;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Library input accepted by media manager methods.
|
|
28
|
+
*/
|
|
29
|
+
export type MediaLibraryInput = MediaLibrary | string;
|
|
30
|
+
/**
|
|
31
|
+
* Input for writing a managed file without making it visible in the browser.
|
|
32
|
+
*/
|
|
33
|
+
export interface MediaStoreFileInput {
|
|
34
|
+
/** Existing media library or library id that will own the file. */
|
|
35
|
+
library: MediaLibraryInput;
|
|
36
|
+
/** File bytes or text accepted by the storage layer. */
|
|
37
|
+
contents: StorageContents;
|
|
38
|
+
/** Optional display filename. Defaults to the file id plus MIME extension. */
|
|
39
|
+
name?: string | null;
|
|
40
|
+
/** MIME type recorded on the file and passed to storage writes. */
|
|
41
|
+
mimeType?: string | null;
|
|
42
|
+
/** Optional storage disk override. Defaults to the library disk or app default. */
|
|
43
|
+
disk?: string | null;
|
|
44
|
+
/** Optional storage path override. Defaults to a library-scoped generated path. */
|
|
45
|
+
path?: string | null;
|
|
46
|
+
/** Optional app-owned source label such as generated-image or upload. */
|
|
47
|
+
source?: string | null;
|
|
48
|
+
/** Storage visibility used for the write. Defaults to private. */
|
|
49
|
+
visibility?: MediaFileVisibility | null;
|
|
50
|
+
/** Optional known byte size. Defaults to the byte length of the supplied contents. */
|
|
51
|
+
size?: number | null;
|
|
52
|
+
/** Optional app-owned file metadata. */
|
|
53
|
+
meta?: Record<string, unknown> | null;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Input for streaming a managed file without buffering it in application memory.
|
|
57
|
+
*/
|
|
58
|
+
export interface MediaStoreFileStreamInput extends Omit<MediaStoreFileInput, 'contents'> {
|
|
59
|
+
/** Readable stream containing the file bytes. */
|
|
60
|
+
stream: Readable;
|
|
61
|
+
/** Known byte size, or null when storage should measure the completed stream. */
|
|
62
|
+
size?: number | null;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Input for showing an existing managed file in the browser tree.
|
|
66
|
+
*/
|
|
67
|
+
export interface MediaAttachFileInput {
|
|
68
|
+
/** Existing media library or library id that owns the browser tree. */
|
|
69
|
+
library: MediaLibraryInput;
|
|
70
|
+
/** Managed file or file id to place in the browser. */
|
|
71
|
+
file: MediaFile | string;
|
|
72
|
+
/** Slash-prefixed folder path. Defaults to the library root. */
|
|
73
|
+
folderPath?: string | null;
|
|
74
|
+
/** Optional browser row name. Defaults to the file name. */
|
|
75
|
+
name?: string | null;
|
|
76
|
+
/** Optional app-owned item metadata. */
|
|
77
|
+
meta?: Record<string, unknown> | null;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Input for writing a file and immediately placing it in the browser tree.
|
|
81
|
+
*/
|
|
82
|
+
export interface MediaStoreVisibleFileInput extends MediaStoreFileInput {
|
|
83
|
+
/** Slash-prefixed folder path for the browser item. Defaults to the library root. */
|
|
84
|
+
folderPath?: string | null;
|
|
85
|
+
/** Optional browser row name. Defaults to the stored filename. */
|
|
86
|
+
itemName?: string | null;
|
|
87
|
+
/** Optional browser item metadata. */
|
|
88
|
+
itemMeta?: Record<string, unknown> | null;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Input for streaming a file and immediately placing it in the browser tree.
|
|
92
|
+
*/
|
|
93
|
+
export interface MediaStoreVisibleFileStreamInput extends MediaStoreFileStreamInput {
|
|
94
|
+
/** Slash-prefixed folder path for the browser item. Defaults to the library root. */
|
|
95
|
+
folderPath?: string | null;
|
|
96
|
+
/** Optional browser row name. Defaults to the stored filename. */
|
|
97
|
+
itemName?: string | null;
|
|
98
|
+
/** Optional browser item metadata. */
|
|
99
|
+
itemMeta?: Record<string, unknown> | null;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Input for reconstructing an image stream before durable browser placement.
|
|
103
|
+
*/
|
|
104
|
+
export interface MediaStoreReconstructedVisibleImageStreamInput extends Omit<MediaStoreVisibleFileStreamInput, 'mimeType' | 'size'> {
|
|
105
|
+
/** Allowlisted source MIME type used for decoding and canonical output. */
|
|
106
|
+
mimeType: string;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Result returned after a file is written and placed in the browser tree.
|
|
110
|
+
*/
|
|
111
|
+
export interface MediaStoredVisibleFile {
|
|
112
|
+
/** Library that owns the file and item. */
|
|
113
|
+
library: MediaLibrary;
|
|
114
|
+
/** Managed file row for loading bytes by ULID. */
|
|
115
|
+
file: MediaFile;
|
|
116
|
+
/** Browser-visible item row that points at the managed file. */
|
|
117
|
+
item: MediaItem;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Input for creating or finding a browser folder.
|
|
121
|
+
*/
|
|
122
|
+
export interface MediaFolderInput {
|
|
123
|
+
/** Existing media library or library id that owns the browser tree. */
|
|
124
|
+
library: MediaLibraryInput;
|
|
125
|
+
/** Slash-prefixed folder path to ensure. */
|
|
126
|
+
path: string;
|
|
127
|
+
/** Optional folder metadata applied only when a folder is created. */
|
|
128
|
+
meta?: Record<string, unknown> | null;
|
|
129
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ActiveRecord, type FieldBuilder } from '../db/index.js';
|
|
2
|
+
import type * as queue from './contracts/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Queue record for jobs that exhausted their configured attempts.
|
|
5
|
+
*/
|
|
6
|
+
export declare class FailedJob extends ActiveRecord {
|
|
7
|
+
static table: string;
|
|
8
|
+
static primaryKey: string;
|
|
9
|
+
/**
|
|
10
|
+
* Defines the database schema for jobs that have exhausted their retries.
|
|
11
|
+
*
|
|
12
|
+
* @param field - Field builder used by ActiveRecord schema installation.
|
|
13
|
+
* @returns Failed queue job field definitions.
|
|
14
|
+
*/
|
|
15
|
+
static fields(field: FieldBuilder): {
|
|
16
|
+
id: import("../db/index.js").BigIncrementsField;
|
|
17
|
+
uuid: import("../db/index.js").StringField;
|
|
18
|
+
connection: import("../db/index.js").TextField;
|
|
19
|
+
queue: import("../db/index.js").TextField;
|
|
20
|
+
payload: import("../db/index.js").JsonStringField<queue.JobEnvelope<Record<string, unknown>>>;
|
|
21
|
+
exception: import("../db/index.js").TextField;
|
|
22
|
+
failedAt: import("../db/index.js").TimestampField;
|
|
23
|
+
};
|
|
24
|
+
id: number | null;
|
|
25
|
+
uuid: string | null;
|
|
26
|
+
connection: string | null;
|
|
27
|
+
queue: string | null;
|
|
28
|
+
payload: queue.JobEnvelope<Record<string, unknown>> | null;
|
|
29
|
+
exception: string | null;
|
|
30
|
+
failedAt: Date | null;
|
|
31
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ActiveRecord } from '../db/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Queue record for jobs that exhausted their configured attempts.
|
|
4
|
+
*/
|
|
5
|
+
export class FailedJob extends ActiveRecord {
|
|
6
|
+
static table = 'jobs_failed';
|
|
7
|
+
static primaryKey = 'id';
|
|
8
|
+
/**
|
|
9
|
+
* Defines the database schema for jobs that have exhausted their retries.
|
|
10
|
+
*
|
|
11
|
+
* @param field - Field builder used by ActiveRecord schema installation.
|
|
12
|
+
* @returns Failed queue job field definitions.
|
|
13
|
+
*/
|
|
14
|
+
static fields(field) {
|
|
15
|
+
return {
|
|
16
|
+
id: field.bigIncrements(),
|
|
17
|
+
uuid: field.string({
|
|
18
|
+
required: true,
|
|
19
|
+
unique: true,
|
|
20
|
+
length: 255,
|
|
21
|
+
}),
|
|
22
|
+
connection: field.text({
|
|
23
|
+
required: true,
|
|
24
|
+
}),
|
|
25
|
+
queue: field.text({
|
|
26
|
+
required: true,
|
|
27
|
+
}),
|
|
28
|
+
payload: field.jsonLongText({
|
|
29
|
+
required: true,
|
|
30
|
+
}),
|
|
31
|
+
exception: field.longText({
|
|
32
|
+
required: true,
|
|
33
|
+
}),
|
|
34
|
+
failedAt: field.timestamp({
|
|
35
|
+
column: 'failed_at',
|
|
36
|
+
required: true,
|
|
37
|
+
auto: 'create',
|
|
38
|
+
}),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import type { Database } from '../db/index.js';
|
|
2
|
+
import { type QueueMonitor } from './queueMonitor.js';
|
|
3
|
+
import { QueueEvents } from './QueueEvents.js';
|
|
4
|
+
import { QueueWorker } from './QueueWorker.js';
|
|
5
|
+
import { type QueueableJob } from './QueueableJob.js';
|
|
6
|
+
import type * as queue from './contracts/index.js';
|
|
7
|
+
export type { QueueOptions, QueueService, QueueWorkOptions } from './contracts/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Coordinates queue drivers, job handlers, dispatching, retries, and one-off processing.
|
|
10
|
+
*
|
|
11
|
+
* The Queue owns the durable job semantics. Long-running polling lives in QueueWorker so
|
|
12
|
+
* callers can either process one job at a time or start a worker loop over the same API.
|
|
13
|
+
*/
|
|
14
|
+
export declare class Queue implements queue.QueueService {
|
|
15
|
+
private readonly db;
|
|
16
|
+
private readonly options;
|
|
17
|
+
private readonly handlers;
|
|
18
|
+
private readonly driver;
|
|
19
|
+
private readonly monitor;
|
|
20
|
+
readonly events: QueueEvents;
|
|
21
|
+
constructor(db: Database, options?: queue.QueueOptions);
|
|
22
|
+
/**
|
|
23
|
+
* Returns the queue lifecycle monitor attached to this queue, when enabled.
|
|
24
|
+
*/
|
|
25
|
+
get queueMonitor(): QueueMonitor | null;
|
|
26
|
+
/**
|
|
27
|
+
* Returns recent terminal failures from the configured queue driver.
|
|
28
|
+
*
|
|
29
|
+
* Drivers without persisted failure inspection return an empty collection so
|
|
30
|
+
* development tooling can use one queue-level API without knowing the driver.
|
|
31
|
+
*
|
|
32
|
+
* @param limit - Maximum number of recent failed jobs to return.
|
|
33
|
+
* @returns Recent failed jobs ordered from newest to oldest.
|
|
34
|
+
*/
|
|
35
|
+
failedJobs(limit?: number): Promise<queue.QueueFailedJob[]>;
|
|
36
|
+
/**
|
|
37
|
+
* Replays one terminal failure as a new active queue job.
|
|
38
|
+
*
|
|
39
|
+
* The failed record remains untouched for audit. The replacement receives a
|
|
40
|
+
* new UUID and a retry reference to the original failure.
|
|
41
|
+
*
|
|
42
|
+
* @param id - Driver-owned failed-job record id.
|
|
43
|
+
* @param options - Optional dispatch overrides for the replacement job.
|
|
44
|
+
* @returns Queue driver id for the replacement job.
|
|
45
|
+
*/
|
|
46
|
+
retryFailed(id: queue.QueueJobId, options?: queue.DispatchOptions): Promise<queue.QueueJobId>;
|
|
47
|
+
/**
|
|
48
|
+
* Registers an async handler for a named job payload.
|
|
49
|
+
*/
|
|
50
|
+
registerHandler<TData = Record<string, unknown>>(name: string, handler: queue.JobHandler<TData>): void;
|
|
51
|
+
/**
|
|
52
|
+
* Registers a queueable job class by rehydrating it for each queued payload.
|
|
53
|
+
*
|
|
54
|
+
* @param Job - Queueable job class to register.
|
|
55
|
+
*/
|
|
56
|
+
registerJob<TJob extends queue.QueueableJobClass>(Job: TJob): void;
|
|
57
|
+
/**
|
|
58
|
+
* Pushes a job payload to the configured driver.
|
|
59
|
+
*
|
|
60
|
+
* Queueable job instances are auto-registered on first dispatch in the current process.
|
|
61
|
+
*/
|
|
62
|
+
dispatch<TData extends Record<string, unknown>>(job: string, data: TData, options?: queue.DispatchOptions): Promise<queue.QueueJobId>;
|
|
63
|
+
dispatch<TJob extends QueueableJob>(job: TJob, options?: queue.DispatchOptions): Promise<queue.QueueJobId>;
|
|
64
|
+
/**
|
|
65
|
+
* Dispatches the first job in a serialized chain.
|
|
66
|
+
*
|
|
67
|
+
* @param jobs - Serializable jobs to run in order.
|
|
68
|
+
* @param options - Dispatch options for the first job.
|
|
69
|
+
* @returns Queue id for the first queued job.
|
|
70
|
+
*/
|
|
71
|
+
chain(jobs: QueueableJob[], options?: queue.DispatchOptions): Promise<queue.QueueJobId>;
|
|
72
|
+
/**
|
|
73
|
+
* Dispatches several queueable jobs independently.
|
|
74
|
+
*
|
|
75
|
+
* @param jobs - Serializable jobs to dispatch.
|
|
76
|
+
* @param options - Dispatch options applied to each job.
|
|
77
|
+
* @returns Queue ids for the dispatched jobs.
|
|
78
|
+
*/
|
|
79
|
+
batch(jobs: QueueableJob[], options?: queue.DispatchOptions): Promise<queue.QueueJobId[]>;
|
|
80
|
+
/**
|
|
81
|
+
* Processes at most one available job and returns whether any work was handled.
|
|
82
|
+
*/
|
|
83
|
+
processNextJob(queue?: string): Promise<boolean>;
|
|
84
|
+
/**
|
|
85
|
+
* Claims one job, runs its handler, and records the resulting success, retry, or failure.
|
|
86
|
+
*/
|
|
87
|
+
workNextJob(queue?: string, options?: queue.QueueWorkOptions): Promise<queue.QueueProcessResult | null>;
|
|
88
|
+
/**
|
|
89
|
+
* Periodically renews a claimed job while its handler is still running.
|
|
90
|
+
*
|
|
91
|
+
* @param job - Claimed queue job.
|
|
92
|
+
* @param retryAfterSeconds - Driver lease duration in seconds.
|
|
93
|
+
* @returns Async stop function that also waits for an in-flight renewal.
|
|
94
|
+
*/
|
|
95
|
+
private startLeaseHeartbeat;
|
|
96
|
+
/**
|
|
97
|
+
* Renews a lease immediately before committing an attempt outcome.
|
|
98
|
+
*
|
|
99
|
+
* A final renewal is both an ownership check and a fresh fencing window for
|
|
100
|
+
* the short transition that follows. Renewal errors are treated as unknown
|
|
101
|
+
* ownership so the worker leaves the durable record for safe recovery.
|
|
102
|
+
*
|
|
103
|
+
* @param job - Claimed queue job.
|
|
104
|
+
* @param retryAfterSeconds - Driver lease duration in seconds.
|
|
105
|
+
* @param operation - Outcome the worker intends to commit.
|
|
106
|
+
* @returns Null when ownership is confirmed, otherwise a lease error.
|
|
107
|
+
*/
|
|
108
|
+
private confirmLease;
|
|
109
|
+
/**
|
|
110
|
+
* Records that a stale attempt stopped before changing newer queue state.
|
|
111
|
+
*
|
|
112
|
+
* @param job - Claimed job whose lease could not be confirmed.
|
|
113
|
+
* @param startedAt - Monotonic handler start time.
|
|
114
|
+
* @param error - Error describing the rejected transition.
|
|
115
|
+
* @returns Lease-lost queue result for worker logging.
|
|
116
|
+
*/
|
|
117
|
+
private recordLostLease;
|
|
118
|
+
/**
|
|
119
|
+
* Creates a consistent error for one rejected attempt transition.
|
|
120
|
+
*
|
|
121
|
+
* @param job - Claimed queue job.
|
|
122
|
+
* @param operation - Transition rejected by lease fencing.
|
|
123
|
+
* @param detail - Optional driver error explaining unknown ownership.
|
|
124
|
+
* @returns Lease ownership error suitable for monitoring and logs.
|
|
125
|
+
*/
|
|
126
|
+
private lostLeaseError;
|
|
127
|
+
/**
|
|
128
|
+
* Starts a polling worker for a queue unless workers are disabled by configuration.
|
|
129
|
+
*/
|
|
130
|
+
startWorker(queue?: string, options?: queue.QueueWorkerOptions): QueueWorker | null;
|
|
131
|
+
private resolveDriver;
|
|
132
|
+
/**
|
|
133
|
+
* Returns a positive reservation timeout for queue claims and heartbeats.
|
|
134
|
+
*
|
|
135
|
+
* @returns Queue lease duration in whole seconds.
|
|
136
|
+
*/
|
|
137
|
+
private retryAfterSeconds;
|
|
138
|
+
/**
|
|
139
|
+
* Resolves the durable backoff stored on a newly dispatched job.
|
|
140
|
+
*
|
|
141
|
+
* @param options - Optional per-dispatch backoff overrides.
|
|
142
|
+
* @returns Complete validated retry backoff.
|
|
143
|
+
*/
|
|
144
|
+
private resolveRetryBackoff;
|
|
145
|
+
private workerIntervalMs;
|
|
146
|
+
private maxJobsPerTick;
|
|
147
|
+
private workerDisabled;
|
|
148
|
+
/**
|
|
149
|
+
* Builds the runtime context passed to a rehydrated queueable job.
|
|
150
|
+
*/
|
|
151
|
+
private createQueueableJobContext;
|
|
152
|
+
/**
|
|
153
|
+
* Returns a registered handler, resolving a conventional job class when possible.
|
|
154
|
+
*/
|
|
155
|
+
private handlerForJob;
|
|
156
|
+
/**
|
|
157
|
+
* Pushes a serialized queueable job to the driver.
|
|
158
|
+
*
|
|
159
|
+
* @param serialized - Serialized queueable job payload.
|
|
160
|
+
* @param options - Dispatch options for this queued job.
|
|
161
|
+
* @param chained - Optional chain tail to attach to this queued job.
|
|
162
|
+
* @returns Queue id for the pushed job.
|
|
163
|
+
*/
|
|
164
|
+
private dispatchSerializedJob;
|
|
165
|
+
/**
|
|
166
|
+
* Dispatches the next job from a completed job chain.
|
|
167
|
+
*
|
|
168
|
+
* @param job - Successfully handled queue job.
|
|
169
|
+
*/
|
|
170
|
+
private dispatchNextChainedJob;
|
|
171
|
+
/**
|
|
172
|
+
* Creates and pushes the durable queue envelope.
|
|
173
|
+
*
|
|
174
|
+
* @param name - Queue job name.
|
|
175
|
+
* @param data - JSON-safe job payload data.
|
|
176
|
+
* @param options - Dispatch options.
|
|
177
|
+
* @param displayName - Optional human-readable display name.
|
|
178
|
+
* @param chained - Serialized jobs to run after this job succeeds.
|
|
179
|
+
* @param retryOf - Optional terminal failure replayed to create this job.
|
|
180
|
+
* @returns Queue id returned by the driver.
|
|
181
|
+
*/
|
|
182
|
+
private pushJob;
|
|
183
|
+
/**
|
|
184
|
+
* Publishes one lifecycle transition for a claimed queue job.
|
|
185
|
+
*
|
|
186
|
+
* @param action - Queue transition that has already occurred.
|
|
187
|
+
* @param job - Claimed job associated with the transition.
|
|
188
|
+
* @param details - Optional timing, delay, and error values.
|
|
189
|
+
* @returns Published immutable lifecycle event.
|
|
190
|
+
*/
|
|
191
|
+
private publishJobEvent;
|
|
192
|
+
/**
|
|
193
|
+
* Runs one optional QueueableJob hook without changing the queue outcome.
|
|
194
|
+
*
|
|
195
|
+
* @param execution - Prepared job execution containing optional hooks.
|
|
196
|
+
* @param hook - Hook selected by the committed queue transition.
|
|
197
|
+
* @param event - Lifecycle event already published for the transition.
|
|
198
|
+
* @param error - Handler error that caused the transition.
|
|
199
|
+
* @param delaySeconds - Retry delay supplied to onRetry.
|
|
200
|
+
*/
|
|
201
|
+
private runJobHook;
|
|
202
|
+
/**
|
|
203
|
+
* Reports an isolated lifecycle failure without throwing into queue work.
|
|
204
|
+
*
|
|
205
|
+
* @param failure - Listener or job-hook failure to report.
|
|
206
|
+
*/
|
|
207
|
+
private reportLifecycleFailure;
|
|
208
|
+
}
|