@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,348 @@
|
|
|
1
|
+
import { LocalStorageDisk } from './drivers/LocalStorageDisk.js';
|
|
2
|
+
import { S3StorageDisk } from './drivers/S3StorageDisk.js';
|
|
3
|
+
/**
|
|
4
|
+
* Storage manager for configured application disks.
|
|
5
|
+
*
|
|
6
|
+
* This service owns disk discovery and caching. App code should usually use the
|
|
7
|
+
* default disk or a named disk instead of constructing driver classes directly.
|
|
8
|
+
*/
|
|
9
|
+
export class Storage {
|
|
10
|
+
options;
|
|
11
|
+
disks = new Map();
|
|
12
|
+
drivers = new Map();
|
|
13
|
+
/**
|
|
14
|
+
* Creates a storage manager with built-in local disk support.
|
|
15
|
+
*
|
|
16
|
+
* @param options - Storage defaults, disk definitions, and custom drivers.
|
|
17
|
+
*/
|
|
18
|
+
constructor(options = {}) {
|
|
19
|
+
this.options = options;
|
|
20
|
+
this.drivers.set('local', (name, config) => {
|
|
21
|
+
return new LocalStorageDisk(name, config);
|
|
22
|
+
});
|
|
23
|
+
this.drivers.set('s3', (name, config) => {
|
|
24
|
+
return new S3StorageDisk(name, config);
|
|
25
|
+
});
|
|
26
|
+
for (const [driver, factory] of Object.entries(options.drivers ?? {})) {
|
|
27
|
+
this.drivers.set(driver, factory);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Returns the default disk name for this storage manager.
|
|
32
|
+
*
|
|
33
|
+
* @returns Configured default disk name.
|
|
34
|
+
*/
|
|
35
|
+
get defaultDiskName() {
|
|
36
|
+
return this.options.default ?? 'local';
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Returns a configured storage disk by name.
|
|
40
|
+
*
|
|
41
|
+
* @param name - Optional disk name; defaults to the configured default disk.
|
|
42
|
+
* @returns Cached storage disk instance.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* await app.storage.disk('agent').put('images/header.png', bytes);
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
disk(name = this.defaultDiskName) {
|
|
50
|
+
if (this.disks.has(name)) {
|
|
51
|
+
return this.disks.get(name);
|
|
52
|
+
}
|
|
53
|
+
const configured = this.resolveDiskConfig(name);
|
|
54
|
+
const disk = isStorageDisk(configured)
|
|
55
|
+
? configured
|
|
56
|
+
: this.createDisk(name, configured);
|
|
57
|
+
this.disks.set(name, disk);
|
|
58
|
+
return disk;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Alias for disk(), matching Laravel's drive naming.
|
|
62
|
+
*
|
|
63
|
+
* @param name - Optional disk name; defaults to the configured default disk.
|
|
64
|
+
* @returns Cached storage disk instance.
|
|
65
|
+
*/
|
|
66
|
+
drive(name = this.defaultDiskName) {
|
|
67
|
+
return this.disk(name);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Registers a storage disk instance for tests or providers.
|
|
71
|
+
*
|
|
72
|
+
* @param name - Disk name to register.
|
|
73
|
+
* @param disk - Concrete disk instance.
|
|
74
|
+
* @returns This storage manager.
|
|
75
|
+
*/
|
|
76
|
+
setDisk(name, disk) {
|
|
77
|
+
this.disks.set(name, disk);
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Registers a named storage driver factory.
|
|
82
|
+
*
|
|
83
|
+
* @param name - Driver name used in disk config.
|
|
84
|
+
* @param factory - Factory that creates a disk from config.
|
|
85
|
+
* @returns This storage manager.
|
|
86
|
+
*/
|
|
87
|
+
registerDriver(name, factory) {
|
|
88
|
+
this.drivers.set(name, factory);
|
|
89
|
+
return this;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Writes file contents to the default disk.
|
|
93
|
+
*
|
|
94
|
+
* Alias for put(), useful when working from a shell or REPL.
|
|
95
|
+
*
|
|
96
|
+
* @param path - Relative storage path to write.
|
|
97
|
+
* @param contents - Bytes or text content to persist.
|
|
98
|
+
* @param options - Optional write metadata.
|
|
99
|
+
* @returns Promise that resolves once the file is written.
|
|
100
|
+
*/
|
|
101
|
+
write(path, contents, options) {
|
|
102
|
+
return this.disk().write(path, contents, options);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Writes file contents to the default disk.
|
|
106
|
+
*
|
|
107
|
+
* @param path - Relative storage path to write.
|
|
108
|
+
* @param contents - Bytes or text content to persist.
|
|
109
|
+
* @param options - Optional write metadata.
|
|
110
|
+
* @returns Promise that resolves once the file is written.
|
|
111
|
+
*/
|
|
112
|
+
put(path, contents, options) {
|
|
113
|
+
return this.disk().put(path, contents, options);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Writes streamed file contents to the default disk.
|
|
117
|
+
*
|
|
118
|
+
* @param path - Relative storage path to write.
|
|
119
|
+
* @param stream - Readable stream containing file bytes.
|
|
120
|
+
* @param options - Optional write metadata.
|
|
121
|
+
* @returns Promise that resolves once the stream is written.
|
|
122
|
+
*/
|
|
123
|
+
writeStream(path, stream, options) {
|
|
124
|
+
return this.disk().writeStream(path, stream, options);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Lists files and directories beneath a path on the default disk.
|
|
128
|
+
*
|
|
129
|
+
* @param path - Relative directory path, or an empty string for the disk root.
|
|
130
|
+
* @param options - Directory traversal options.
|
|
131
|
+
* @returns Lazy provider-neutral directory listing.
|
|
132
|
+
*/
|
|
133
|
+
list(path = '', options = {}) {
|
|
134
|
+
return this.disk().list(path, options);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Reads file contents from the default disk.
|
|
138
|
+
*
|
|
139
|
+
* @param path - Relative storage path to read.
|
|
140
|
+
* @returns Stored file bytes.
|
|
141
|
+
*/
|
|
142
|
+
get(path) {
|
|
143
|
+
return this.disk().get(path);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Reads file contents as text from the default disk.
|
|
147
|
+
*
|
|
148
|
+
* Matches Flystorage's readToString() API.
|
|
149
|
+
*
|
|
150
|
+
* @param path - Relative storage path to read.
|
|
151
|
+
* @returns Stored text content.
|
|
152
|
+
*/
|
|
153
|
+
readToString(path) {
|
|
154
|
+
return this.disk().readToString(path);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Reads file contents into a Buffer from the default disk.
|
|
158
|
+
*
|
|
159
|
+
* Matches Flystorage's readToBuffer() API.
|
|
160
|
+
*
|
|
161
|
+
* @param path - Relative storage path to read.
|
|
162
|
+
* @returns Stored file bytes.
|
|
163
|
+
*/
|
|
164
|
+
readToBuffer(path) {
|
|
165
|
+
return this.disk().readToBuffer(path);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Reads file contents into a Uint8Array from the default disk.
|
|
169
|
+
*
|
|
170
|
+
* Matches Flystorage's readToUint8Array() API.
|
|
171
|
+
*
|
|
172
|
+
* @param path - Relative storage path to read.
|
|
173
|
+
* @returns Stored file bytes.
|
|
174
|
+
*/
|
|
175
|
+
readToUint8Array(path) {
|
|
176
|
+
return this.disk().readToUint8Array(path);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Reads file contents as a stream from the default disk.
|
|
180
|
+
*
|
|
181
|
+
* Matches Flystorage's read() API. Use get() or getText() when the caller
|
|
182
|
+
* intentionally wants buffered contents instead.
|
|
183
|
+
*
|
|
184
|
+
* @param path - Relative storage path to read.
|
|
185
|
+
* @returns Readable stream for the stored file.
|
|
186
|
+
*/
|
|
187
|
+
read(path) {
|
|
188
|
+
return this.disk().read(path);
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Reads file contents as a stream from the default disk.
|
|
192
|
+
*
|
|
193
|
+
* @param path - Relative storage path to read.
|
|
194
|
+
* @returns Readable stream for the stored file.
|
|
195
|
+
*/
|
|
196
|
+
readStream(path) {
|
|
197
|
+
return this.disk().readStream(path);
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Reads file contents as text from the default disk.
|
|
201
|
+
*
|
|
202
|
+
* @param path - Relative storage path to read.
|
|
203
|
+
* @param encoding - Text encoding used to decode the bytes.
|
|
204
|
+
* @returns Stored text content.
|
|
205
|
+
*/
|
|
206
|
+
getText(path, encoding) {
|
|
207
|
+
return this.disk().getText(path, encoding);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Checks whether a file exists on the default disk.
|
|
211
|
+
*
|
|
212
|
+
* @param path - Relative storage path to inspect.
|
|
213
|
+
* @returns True when the file exists.
|
|
214
|
+
*/
|
|
215
|
+
exists(path) {
|
|
216
|
+
return this.disk().exists(path);
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Checks whether a file is missing from the default disk.
|
|
220
|
+
*
|
|
221
|
+
* @param path - Relative storage path to inspect.
|
|
222
|
+
* @returns True when the file does not exist.
|
|
223
|
+
*/
|
|
224
|
+
missing(path) {
|
|
225
|
+
return this.disk().missing(path);
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Deletes a file from the default disk.
|
|
229
|
+
*
|
|
230
|
+
* @param path - Relative storage path to delete.
|
|
231
|
+
* @returns True when a file was removed.
|
|
232
|
+
*/
|
|
233
|
+
delete(path) {
|
|
234
|
+
return this.disk().delete(path);
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Copies a file on the default disk.
|
|
238
|
+
*
|
|
239
|
+
* @param from - Existing relative storage path.
|
|
240
|
+
* @param to - New relative storage path.
|
|
241
|
+
* @returns Promise that resolves once the file is copied.
|
|
242
|
+
*/
|
|
243
|
+
copy(from, to) {
|
|
244
|
+
return this.disk().copy(from, to);
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Moves a file on the default disk.
|
|
248
|
+
*
|
|
249
|
+
* @param from - Existing relative storage path.
|
|
250
|
+
* @param to - New relative storage path.
|
|
251
|
+
* @returns Promise that resolves once the file is moved.
|
|
252
|
+
*/
|
|
253
|
+
move(from, to) {
|
|
254
|
+
return this.disk().move(from, to);
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Returns file size from the default disk.
|
|
258
|
+
*
|
|
259
|
+
* @param path - Relative storage path to inspect.
|
|
260
|
+
* @returns File size in bytes.
|
|
261
|
+
*/
|
|
262
|
+
size(path) {
|
|
263
|
+
return this.disk().size(path);
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Returns the last modification time from the default disk.
|
|
267
|
+
*
|
|
268
|
+
* @param path - Relative storage path to inspect.
|
|
269
|
+
* @returns Last modified date.
|
|
270
|
+
*/
|
|
271
|
+
lastModified(path) {
|
|
272
|
+
return this.disk().lastModified(path);
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Returns a MIME type for a path on the default disk.
|
|
276
|
+
*
|
|
277
|
+
* @param path - Relative storage path to inspect.
|
|
278
|
+
* @returns MIME type inferred by the disk.
|
|
279
|
+
*/
|
|
280
|
+
mimeType(path) {
|
|
281
|
+
return this.disk().mimeType(path);
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Returns a public URL for a path on the default disk.
|
|
285
|
+
*
|
|
286
|
+
* @param path - Relative storage path to expose.
|
|
287
|
+
* @returns Public URL.
|
|
288
|
+
*/
|
|
289
|
+
url(path) {
|
|
290
|
+
return this.disk().url(path);
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Returns an absolute filesystem path for a path on the default disk.
|
|
294
|
+
*
|
|
295
|
+
* @param path - Relative storage path to resolve.
|
|
296
|
+
* @returns Absolute filesystem path.
|
|
297
|
+
*/
|
|
298
|
+
path(path) {
|
|
299
|
+
return this.disk().path(path);
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Resolves configured disk options or the built-in local default.
|
|
303
|
+
*
|
|
304
|
+
* @param name - Disk name to resolve.
|
|
305
|
+
* @returns Disk config or concrete disk instance.
|
|
306
|
+
*/
|
|
307
|
+
resolveDiskConfig(name) {
|
|
308
|
+
const configured = this.options.disks?.[name];
|
|
309
|
+
if (configured) {
|
|
310
|
+
return configured;
|
|
311
|
+
}
|
|
312
|
+
if (name === 'local') {
|
|
313
|
+
return {
|
|
314
|
+
driver: 'local',
|
|
315
|
+
root: 'storage/app',
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
throw new Error(`Storage disk "${name}" is not configured.`);
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Creates a disk through the configured driver factory.
|
|
322
|
+
*
|
|
323
|
+
* @param name - Disk name being created.
|
|
324
|
+
* @param config - Disk configuration.
|
|
325
|
+
* @returns Storage disk instance.
|
|
326
|
+
*/
|
|
327
|
+
createDisk(name, config) {
|
|
328
|
+
const factory = this.drivers.get(config.driver);
|
|
329
|
+
if (!factory) {
|
|
330
|
+
throw new Error(`Storage driver "${config.driver}" is not registered.`);
|
|
331
|
+
}
|
|
332
|
+
return factory(name, config);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Checks whether a configured disk value already implements the disk contract.
|
|
337
|
+
*
|
|
338
|
+
* @param value - Configured disk value.
|
|
339
|
+
* @returns True when value is a storage disk instance.
|
|
340
|
+
*/
|
|
341
|
+
function isStorageDisk(value) {
|
|
342
|
+
return typeof value === 'object'
|
|
343
|
+
&& value !== null
|
|
344
|
+
&& 'put' in value
|
|
345
|
+
&& 'get' in value
|
|
346
|
+
&& typeof value.put === 'function'
|
|
347
|
+
&& typeof value.get === 'function';
|
|
348
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { StorageContents } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Converts supported storage input values into a Buffer for driver writes.
|
|
4
|
+
*
|
|
5
|
+
* @param contents - Text, Buffer, ArrayBuffer, or typed-array contents.
|
|
6
|
+
* @returns Buffer containing the file bytes.
|
|
7
|
+
*/
|
|
8
|
+
export declare function storageContentsToBuffer(contents: StorageContents): Buffer;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts supported storage input values into a Buffer for driver writes.
|
|
3
|
+
*
|
|
4
|
+
* @param contents - Text, Buffer, ArrayBuffer, or typed-array contents.
|
|
5
|
+
* @returns Buffer containing the file bytes.
|
|
6
|
+
*/
|
|
7
|
+
export function storageContentsToBuffer(contents) {
|
|
8
|
+
if (typeof contents === 'string') {
|
|
9
|
+
return Buffer.from(contents);
|
|
10
|
+
}
|
|
11
|
+
if (Buffer.isBuffer(contents)) {
|
|
12
|
+
return contents;
|
|
13
|
+
}
|
|
14
|
+
if (contents instanceof ArrayBuffer) {
|
|
15
|
+
return Buffer.from(contents);
|
|
16
|
+
}
|
|
17
|
+
return Buffer.from(contents.buffer, contents.byteOffset, contents.byteLength);
|
|
18
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Controls how a storage directory is enumerated.
|
|
3
|
+
*/
|
|
4
|
+
export interface StorageListOptions {
|
|
5
|
+
/** Whether descendants below the immediate directory should be included. */
|
|
6
|
+
deep?: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Metadata shared by files and directories returned from storage listings.
|
|
10
|
+
*/
|
|
11
|
+
export interface StorageEntryBase {
|
|
12
|
+
/** Relative path within the selected storage disk. */
|
|
13
|
+
path: string;
|
|
14
|
+
/** Last modification time when the storage provider exposes it. */
|
|
15
|
+
lastModified?: Date;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* File metadata returned from a storage directory listing.
|
|
19
|
+
*/
|
|
20
|
+
export interface StorageFileEntry extends StorageEntryBase {
|
|
21
|
+
type: 'file';
|
|
22
|
+
isFile: true;
|
|
23
|
+
isDirectory: false;
|
|
24
|
+
/** File size in bytes when the storage provider exposes it. */
|
|
25
|
+
size?: number;
|
|
26
|
+
/** Stored MIME type when the storage provider exposes it. */
|
|
27
|
+
mimeType?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Directory metadata returned from a storage directory listing.
|
|
31
|
+
*/
|
|
32
|
+
export interface StorageDirectoryEntry extends StorageEntryBase {
|
|
33
|
+
type: 'directory';
|
|
34
|
+
isFile: false;
|
|
35
|
+
isDirectory: true;
|
|
36
|
+
}
|
|
37
|
+
/** One normalized file or directory returned from a storage listing. */
|
|
38
|
+
export type StorageEntry = StorageFileEntry | StorageDirectoryEntry;
|
|
39
|
+
/**
|
|
40
|
+
* Lazy directory listing that can be streamed or collected into an array.
|
|
41
|
+
*/
|
|
42
|
+
export interface StorageListing extends AsyncIterable<StorageEntry> {
|
|
43
|
+
/**
|
|
44
|
+
* Collects all remaining entries in this listing.
|
|
45
|
+
*
|
|
46
|
+
* @param sorted - Whether entries should be sorted by path.
|
|
47
|
+
* @returns Storage entries from this listing.
|
|
48
|
+
*/
|
|
49
|
+
toArray(sorted?: boolean): Promise<StorageEntry[]>;
|
|
50
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './StorageListing.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './StorageListing.js';
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import type { FileStorage } from '@flystorage/file-storage';
|
|
2
|
+
import type { Readable } from 'node:stream';
|
|
3
|
+
import type { StorageListing, StorageListOptions } from '../contracts/index.js';
|
|
4
|
+
import type { StorageContents, StorageDisk, StoragePutOptions } from '../types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Base storage disk for drivers backed by Flystorage.
|
|
7
|
+
*/
|
|
8
|
+
export declare class FlystorageDisk implements StorageDisk {
|
|
9
|
+
readonly name: string;
|
|
10
|
+
protected readonly storage: FileStorage;
|
|
11
|
+
/**
|
|
12
|
+
* Creates a Flystorage-backed disk wrapper.
|
|
13
|
+
*
|
|
14
|
+
* @param name - Configured disk name.
|
|
15
|
+
* @param storage - Flystorage instance used for disk operations.
|
|
16
|
+
*/
|
|
17
|
+
constructor(name: string, storage: FileStorage);
|
|
18
|
+
/**
|
|
19
|
+
* Writes file contents to this disk.
|
|
20
|
+
*
|
|
21
|
+
* Alias for put(), useful when testing storage from a shell or REPL.
|
|
22
|
+
*
|
|
23
|
+
* @param path - Relative storage path to write.
|
|
24
|
+
* @param contents - Bytes or text content to persist.
|
|
25
|
+
* @param options - Optional write metadata reserved for compatible drivers.
|
|
26
|
+
* @returns Promise that resolves once the file is written.
|
|
27
|
+
*/
|
|
28
|
+
write(path: string, contents: StorageContents, options?: StoragePutOptions): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Writes file contents to this disk.
|
|
31
|
+
*
|
|
32
|
+
* @param path - Relative storage path to write.
|
|
33
|
+
* @param contents - Bytes or text content to persist.
|
|
34
|
+
* @param options - Optional write metadata reserved for compatible drivers.
|
|
35
|
+
* @returns Promise that resolves once the file is written.
|
|
36
|
+
*/
|
|
37
|
+
put(path: string, contents: StorageContents, options?: StoragePutOptions): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Writes streamed file contents to this disk.
|
|
40
|
+
*
|
|
41
|
+
* @param path - Relative storage path to write.
|
|
42
|
+
* @param stream - Readable stream containing file bytes.
|
|
43
|
+
* @param options - Optional write metadata reserved for compatible drivers.
|
|
44
|
+
* @returns Promise that resolves once the stream is written.
|
|
45
|
+
*/
|
|
46
|
+
writeStream(path: string, stream: Readable, options?: StoragePutOptions): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Lists files and directories beneath a path on this disk.
|
|
49
|
+
*
|
|
50
|
+
* @param path - Relative directory path, or an empty string for the disk root.
|
|
51
|
+
* @param options - Directory traversal options.
|
|
52
|
+
* @returns Lazy provider-neutral directory listing.
|
|
53
|
+
*/
|
|
54
|
+
list(path?: string, options?: StorageListOptions): StorageListing;
|
|
55
|
+
/**
|
|
56
|
+
* Reads a file from this disk as bytes.
|
|
57
|
+
*
|
|
58
|
+
* @param path - Relative storage path to read.
|
|
59
|
+
* @returns Stored file bytes.
|
|
60
|
+
*/
|
|
61
|
+
get(path: string): Promise<Buffer>;
|
|
62
|
+
/**
|
|
63
|
+
* Reads a file from this disk as text.
|
|
64
|
+
*
|
|
65
|
+
* Matches Flystorage's readToString() API.
|
|
66
|
+
*
|
|
67
|
+
* @param path - Relative storage path to read.
|
|
68
|
+
* @returns Stored text content.
|
|
69
|
+
*/
|
|
70
|
+
readToString(path: string): Promise<string>;
|
|
71
|
+
/**
|
|
72
|
+
* Reads a file from this disk as a Buffer.
|
|
73
|
+
*
|
|
74
|
+
* Matches Flystorage's readToBuffer() API.
|
|
75
|
+
*
|
|
76
|
+
* @param path - Relative storage path to read.
|
|
77
|
+
* @returns Stored file bytes.
|
|
78
|
+
*/
|
|
79
|
+
readToBuffer(path: string): Promise<Buffer>;
|
|
80
|
+
/**
|
|
81
|
+
* Reads a file from this disk as a Uint8Array.
|
|
82
|
+
*
|
|
83
|
+
* Matches Flystorage's readToUint8Array() API.
|
|
84
|
+
*
|
|
85
|
+
* @param path - Relative storage path to read.
|
|
86
|
+
* @returns Stored file bytes.
|
|
87
|
+
*/
|
|
88
|
+
readToUint8Array(path: string): Promise<Uint8Array>;
|
|
89
|
+
/**
|
|
90
|
+
* Reads a file from this disk as a stream.
|
|
91
|
+
*
|
|
92
|
+
* Matches Flystorage's read() API.
|
|
93
|
+
*
|
|
94
|
+
* @param path - Relative storage path to read.
|
|
95
|
+
* @returns Readable stream for the stored file.
|
|
96
|
+
*/
|
|
97
|
+
read(path: string): Promise<Readable>;
|
|
98
|
+
/**
|
|
99
|
+
* Reads a file from this disk as a stream.
|
|
100
|
+
*
|
|
101
|
+
* @param path - Relative storage path to read.
|
|
102
|
+
* @returns Readable stream for the stored file.
|
|
103
|
+
*/
|
|
104
|
+
readStream(path: string): Promise<Readable>;
|
|
105
|
+
/**
|
|
106
|
+
* Reads a file from this disk as text.
|
|
107
|
+
*
|
|
108
|
+
* @param path - Relative storage path to read.
|
|
109
|
+
* @param encoding - Text encoding used to decode the bytes.
|
|
110
|
+
* @returns Stored text content.
|
|
111
|
+
*/
|
|
112
|
+
getText(path: string, encoding?: BufferEncoding): Promise<string>;
|
|
113
|
+
/**
|
|
114
|
+
* Checks whether a file exists on this disk.
|
|
115
|
+
*
|
|
116
|
+
* @param path - Relative storage path to inspect.
|
|
117
|
+
* @returns True when the file exists.
|
|
118
|
+
*/
|
|
119
|
+
exists(path: string): Promise<boolean>;
|
|
120
|
+
/**
|
|
121
|
+
* Checks whether a file is missing from this disk.
|
|
122
|
+
*
|
|
123
|
+
* @param path - Relative storage path to inspect.
|
|
124
|
+
* @returns True when the file does not exist.
|
|
125
|
+
*/
|
|
126
|
+
missing(path: string): Promise<boolean>;
|
|
127
|
+
/**
|
|
128
|
+
* Deletes a file from this disk.
|
|
129
|
+
*
|
|
130
|
+
* @param path - Relative storage path to delete.
|
|
131
|
+
* @returns True when a file was removed.
|
|
132
|
+
*/
|
|
133
|
+
delete(path: string): Promise<boolean>;
|
|
134
|
+
/**
|
|
135
|
+
* Copies a file to another path on this disk.
|
|
136
|
+
*
|
|
137
|
+
* @param from - Existing relative storage path.
|
|
138
|
+
* @param to - New relative storage path.
|
|
139
|
+
* @returns Promise that resolves once the file is copied.
|
|
140
|
+
*/
|
|
141
|
+
copy(from: string, to: string): Promise<void>;
|
|
142
|
+
/**
|
|
143
|
+
* Moves a file to another path on this disk.
|
|
144
|
+
*
|
|
145
|
+
* @param from - Existing relative storage path.
|
|
146
|
+
* @param to - New relative storage path.
|
|
147
|
+
* @returns Promise that resolves once the file is moved.
|
|
148
|
+
*/
|
|
149
|
+
move(from: string, to: string): Promise<void>;
|
|
150
|
+
/**
|
|
151
|
+
* Returns file size in bytes.
|
|
152
|
+
*
|
|
153
|
+
* @param path - Relative storage path to inspect.
|
|
154
|
+
* @returns File size in bytes.
|
|
155
|
+
*/
|
|
156
|
+
size(path: string): Promise<number>;
|
|
157
|
+
/**
|
|
158
|
+
* Returns the last modification date for a file.
|
|
159
|
+
*
|
|
160
|
+
* @param path - Relative storage path to inspect.
|
|
161
|
+
* @returns Last modified date.
|
|
162
|
+
*/
|
|
163
|
+
lastModified(path: string): Promise<Date>;
|
|
164
|
+
/**
|
|
165
|
+
* Returns a MIME type for a storage path.
|
|
166
|
+
*
|
|
167
|
+
* @param path - Relative storage path to inspect.
|
|
168
|
+
* @returns MIME type inferred from the file extension or storage metadata.
|
|
169
|
+
*/
|
|
170
|
+
mimeType(path: string): Promise<string>;
|
|
171
|
+
/**
|
|
172
|
+
* Builds a public URL for this disk when supported by the driver.
|
|
173
|
+
*
|
|
174
|
+
* @param path - Relative storage path to expose.
|
|
175
|
+
* @returns Public URL for the storage path.
|
|
176
|
+
*/
|
|
177
|
+
url(path: string): Promise<string>;
|
|
178
|
+
/**
|
|
179
|
+
* Reports that this disk is not backed by a local filesystem path.
|
|
180
|
+
*
|
|
181
|
+
* @param path - Relative storage path requested by the caller.
|
|
182
|
+
* @returns This method never returns for non-local disks.
|
|
183
|
+
*/
|
|
184
|
+
path(path: string): string;
|
|
185
|
+
}
|