@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,483 @@
|
|
|
1
|
+
import type { Knex } from 'knex';
|
|
2
|
+
import { DbRow, DbWriteData, DomFormRenderSpec, FieldError, type FieldClass, type FieldDbValue, type FieldDefinition, type FieldDisplayValue, type FieldMap, type FieldInputMap, type FieldInputValue, FieldType, type FieldValue, FrontendComponentSpec, type DbWriteOptions } from './FieldType.js';
|
|
3
|
+
import { ActiveQueryBuilder } from './ActiveQueryBuilder.js';
|
|
4
|
+
import { type ActiveRecordSoftDeleteConfig } from './SoftDeletes.js';
|
|
5
|
+
import type { FieldBuilder } from './fields/field.js';
|
|
6
|
+
import { type ActiveRecordLookup } from './errors.js';
|
|
7
|
+
import type { ValidationRules } from '../validation/index.js';
|
|
8
|
+
import type * as db from './contracts/index.js';
|
|
9
|
+
export type { FieldBuilder } from './fields/field.js';
|
|
10
|
+
export { RecordNotFoundError } from './errors.js';
|
|
11
|
+
export type { ActiveRecordLookup } from './errors.js';
|
|
12
|
+
export interface ModelFormOptions {
|
|
13
|
+
name?: string;
|
|
14
|
+
mode?: 'create' | 'edit' | 'search';
|
|
15
|
+
includeGenerated?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Options accepted by the ActiveRecord constructor.
|
|
19
|
+
*/
|
|
20
|
+
export interface ActiveRecordOptions {
|
|
21
|
+
/** Optional database connection/session for this record instance. */
|
|
22
|
+
db?: Knex;
|
|
23
|
+
/** True when the provided input is a raw database row. */
|
|
24
|
+
fromDb?: boolean;
|
|
25
|
+
/** Whether the record already exists in the database. */
|
|
26
|
+
persisted?: boolean;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Options for assigning untrusted request/form values to a record.
|
|
30
|
+
*/
|
|
31
|
+
export interface ActiveRecordRequestOptions {
|
|
32
|
+
/** Whether primary-key fields may be set from request data. Defaults to false. */
|
|
33
|
+
includePrimary?: boolean;
|
|
34
|
+
/** Whether generated fields may be set from request data. Defaults to false. */
|
|
35
|
+
includeGenerated?: boolean;
|
|
36
|
+
/** Explicit fillable fields for this request. Defaults to the model config. */
|
|
37
|
+
fillable?: readonly string[];
|
|
38
|
+
/** Explicit guarded fields for this request. Defaults to the model config. */
|
|
39
|
+
guarded?: readonly string[];
|
|
40
|
+
}
|
|
41
|
+
export interface ActiveRecordValidationRulesOptions extends ActiveRecordRequestOptions {
|
|
42
|
+
/** Whether hidden fields should be included. Defaults to false. */
|
|
43
|
+
includeHidden?: boolean;
|
|
44
|
+
}
|
|
45
|
+
export type ActiveRecordRequestMap = Record<string, string>;
|
|
46
|
+
export type ActiveRecordConstructor<TRecord extends ActiveRecord = ActiveRecord> = {
|
|
47
|
+
new (input?: Record<string, unknown>, options?: ActiveRecordOptions): TRecord;
|
|
48
|
+
};
|
|
49
|
+
export type ActiveRecordInstance<TModel extends ActiveRecordConstructor> = InstanceType<TModel>;
|
|
50
|
+
/**
|
|
51
|
+
* Static side of an ActiveRecord model class.
|
|
52
|
+
*
|
|
53
|
+
* Each subclass acts as its own schema by defining static `table`, `primaryKey`,
|
|
54
|
+
* and a `fields(field)` method.
|
|
55
|
+
*/
|
|
56
|
+
export type ActiveRecordClass<TRecord extends ActiveRecord = ActiveRecord> = ActiveRecordConstructor<TRecord> & {
|
|
57
|
+
/** Runtime JavaScript class name. */
|
|
58
|
+
readonly name: string;
|
|
59
|
+
/** Database table name. */
|
|
60
|
+
table: string;
|
|
61
|
+
/** Developer-facing model note for generated schemas and tooling. */
|
|
62
|
+
comment?: string;
|
|
63
|
+
/** Logical primary-key field name. */
|
|
64
|
+
primaryKey: string;
|
|
65
|
+
/** Fields used to render row labels when this model is linked from another model. */
|
|
66
|
+
labelFields?: string[];
|
|
67
|
+
/** Logical fields that request filling may assign. Undefined means all non-guarded fields. */
|
|
68
|
+
requestFillable?: readonly string[];
|
|
69
|
+
/** Logical fields that request filling may not assign. */
|
|
70
|
+
requestGuarded?: readonly string[];
|
|
71
|
+
/** Static field definitions for the model. */
|
|
72
|
+
fields(field: FieldBuilder): FieldInputMap;
|
|
73
|
+
/** Creates an inferred subclass with inherited and additional field definitions. */
|
|
74
|
+
define: typeof ActiveRecord.define;
|
|
75
|
+
/** Resolved static field definitions for the model. */
|
|
76
|
+
getFields(): FieldMap;
|
|
77
|
+
/** Returns a DomForm render spec composed from the model's FieldTypes. */
|
|
78
|
+
getForm(options?: ModelFormOptions): DomFormRenderSpec;
|
|
79
|
+
/** Returns search filter render specs composed from the model's FieldTypes. */
|
|
80
|
+
getSearchFilters(options?: ModelFormOptions): Record<string, FrontendComponentSpec>;
|
|
81
|
+
/** Looks up one resolved static field definition. */
|
|
82
|
+
getField(fieldName: string): FieldType<any, any, any, any, any>;
|
|
83
|
+
/** Optional default database connection for this model. Falls back to the shared app connection. */
|
|
84
|
+
db?: Knex;
|
|
85
|
+
/** Whether inserts/updates should call `.returning('*')`. */
|
|
86
|
+
returning?: boolean;
|
|
87
|
+
/** Soft-delete setting. True uses the conventional `deletedAt` logical field. */
|
|
88
|
+
softDeletes: ActiveRecordSoftDeleteConfig;
|
|
89
|
+
/** Returns the database connection for this model in the current app/scope. */
|
|
90
|
+
getDb(): Knex;
|
|
91
|
+
/** Runs work with a temporary database connection for all ActiveRecord statics. */
|
|
92
|
+
withDb<TResult>(db: Knex, callback: () => TResult): TResult;
|
|
93
|
+
/** Binds a default database connection to the model class. */
|
|
94
|
+
useDb<TModel extends ActiveRecordConstructor>(this: TModel, db: Knex): TModel;
|
|
95
|
+
/** Creates a new unsaved record bound to the model's current database. */
|
|
96
|
+
create<TModel extends ActiveRecordConstructor>(this: TModel, input?: NoInfer<ConstructorParameters<TModel>[0]>, options?: Omit<ActiveRecordOptions, 'db'>): ActiveRecordInstance<TModel>;
|
|
97
|
+
/** Starts a field-aware query for the model. */
|
|
98
|
+
query<TModel extends ActiveRecordConstructor>(this: TModel, db?: Knex): ActiveQueryBuilder<ActiveRecordInstance<TModel>>;
|
|
99
|
+
/** Starts a query that includes soft-deleted rows. */
|
|
100
|
+
withTrashed<TModel extends ActiveRecordConstructor>(this: TModel, db?: Knex): ActiveQueryBuilder<ActiveRecordInstance<TModel>>;
|
|
101
|
+
/** Starts a query that only includes soft-deleted rows. */
|
|
102
|
+
onlyTrashed<TModel extends ActiveRecordConstructor>(this: TModel, db?: Knex): ActiveQueryBuilder<ActiveRecordInstance<TModel>>;
|
|
103
|
+
/** Starts a query that excludes soft-deleted rows. */
|
|
104
|
+
withoutTrashed<TModel extends ActiveRecordConstructor>(this: TModel, db?: Knex): ActiveQueryBuilder<ActiveRecordInstance<TModel>>;
|
|
105
|
+
/** Convenience helper for `query().where(...)`. */
|
|
106
|
+
where<TModel extends ActiveRecordConstructor>(this: TModel, criteria: Record<string, unknown>): ActiveQueryBuilder<ActiveRecordInstance<TModel>>;
|
|
107
|
+
where<TModel extends ActiveRecordConstructor>(this: TModel, fieldName: string, value: unknown): ActiveQueryBuilder<ActiveRecordInstance<TModel>>;
|
|
108
|
+
where<TModel extends ActiveRecordConstructor>(this: TModel, fieldName: string, operator: string, value: unknown): ActiveQueryBuilder<ActiveRecordInstance<TModel>>;
|
|
109
|
+
/** Finds one record by the configured primary key. */
|
|
110
|
+
findByPk<TModel extends ActiveRecordConstructor>(this: TModel, id: unknown, db?: Knex): Promise<ActiveRecordInstance<TModel> | null>;
|
|
111
|
+
/** Finds one record by the configured primary key. */
|
|
112
|
+
find<TModel extends ActiveRecordConstructor>(this: TModel, lookup: ActiveRecordLookup, db?: Knex): Promise<ActiveRecordInstance<TModel> | null>;
|
|
113
|
+
/** Finds one record by the configured primary key or throws an error if not found. */
|
|
114
|
+
findOrFail<TModel extends ActiveRecordConstructor>(this: TModel, lookup: ActiveRecordLookup, db?: Knex): Promise<ActiveRecordInstance<TModel>>;
|
|
115
|
+
/** Hydrates a model instance from a raw database row. */
|
|
116
|
+
fromDb<TModel extends ActiveRecordConstructor>(this: TModel, row: DbRow, db?: Knex): ActiveRecordInstance<TModel>;
|
|
117
|
+
/** Returns validation rules generated from model fields. */
|
|
118
|
+
validationRules(options?: ActiveRecordValidationRulesOptions): ValidationRules;
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* Minimal ActiveRecord base class.
|
|
122
|
+
*
|
|
123
|
+
* Subclasses define their table and fields statically. Each instance creates
|
|
124
|
+
* private live field objects, and public model properties proxy through to those
|
|
125
|
+
* fields.
|
|
126
|
+
*
|
|
127
|
+
* Example:
|
|
128
|
+
*
|
|
129
|
+
* ```ts
|
|
130
|
+
* class User extends ActiveRecord {
|
|
131
|
+
* static table = 'users';
|
|
132
|
+
* static fields(field: FieldBuilder) {
|
|
133
|
+
* return {
|
|
134
|
+
* email: field.email({ required: true }),
|
|
135
|
+
* };
|
|
136
|
+
* }
|
|
137
|
+
* }
|
|
138
|
+
*
|
|
139
|
+
* const user = new User();
|
|
140
|
+
* user.email = 'STEVE@EXAMPLE.COM';
|
|
141
|
+
* console.log(user.email); // 'steve@example.com'
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
export declare abstract class ActiveRecord {
|
|
145
|
+
/** Database table name. Override in subclasses. */
|
|
146
|
+
static table: string;
|
|
147
|
+
/** Developer-facing model note for generated schemas and tooling. */
|
|
148
|
+
static comment: string;
|
|
149
|
+
/** Logical primary-key field name. Override if not `id`. */
|
|
150
|
+
static primaryKey: string;
|
|
151
|
+
/** Fields used to render row labels when this model is linked from another model. */
|
|
152
|
+
static labelFields: string[];
|
|
153
|
+
/** Logical fields that request filling may assign. Undefined means all non-guarded fields. */
|
|
154
|
+
static requestFillable?: readonly string[];
|
|
155
|
+
/** Logical fields that request filling may not assign. */
|
|
156
|
+
static requestGuarded: readonly string[];
|
|
157
|
+
/** Static field factory. Override in subclasses. */
|
|
158
|
+
static fields(_field: FieldBuilder): FieldInputMap;
|
|
159
|
+
/**
|
|
160
|
+
* Defines an inferred model subclass using the existing field lifecycle.
|
|
161
|
+
*
|
|
162
|
+
* Inherited fields are included automatically. A matching name replaces the
|
|
163
|
+
* complete definition while retaining its application and input value types.
|
|
164
|
+
* Ordinary static field factories continue to control their own inheritance.
|
|
165
|
+
*
|
|
166
|
+
* @param definition - This layer's fields and optional model settings.
|
|
167
|
+
* @returns A subclass that can be extended with application methods.
|
|
168
|
+
* @example
|
|
169
|
+
* class User extends ActiveRecord.define({
|
|
170
|
+
* table: 'users',
|
|
171
|
+
* fields: field => ({ id: field.ulid(), email: field.email({ required: true }) }),
|
|
172
|
+
* }) {}
|
|
173
|
+
*/
|
|
174
|
+
static define<TBase extends db.ActiveRecordDefinitionBase, TFields extends FieldInputMap>(this: TBase, definition: db.ActiveRecordDefinition<TFields> & {
|
|
175
|
+
fields(field: FieldBuilder): db.ActiveRecordFieldOverrides<TBase, TFields>;
|
|
176
|
+
}): db.DefinedActiveRecord<TBase, TFields>;
|
|
177
|
+
/** Optional model-level database connection. Falls back to the shared app connection. */
|
|
178
|
+
static db?: Knex;
|
|
179
|
+
/**
|
|
180
|
+
* Whether to call `.returning('*')` after inserts/updates.
|
|
181
|
+
*
|
|
182
|
+
* This is usually desirable for PostgreSQL. Set to `false` for dialects where
|
|
183
|
+
* returning is unsupported or unwanted.
|
|
184
|
+
*/
|
|
185
|
+
static returning: boolean;
|
|
186
|
+
/** Soft-delete setting. True uses the conventional `deletedAt` logical field. */
|
|
187
|
+
static softDeletes: ActiveRecordSoftDeleteConfig;
|
|
188
|
+
/** Per-record live fields, keyed by logical field name. */
|
|
189
|
+
private readonly $fields;
|
|
190
|
+
/** Whether the record currently represents an existing database row. */
|
|
191
|
+
protected $persisted: boolean;
|
|
192
|
+
/** Optional instance-level database connection/session. */
|
|
193
|
+
protected $db?: Knex;
|
|
194
|
+
constructor(input?: Record<string, unknown>, options?: ActiveRecordOptions);
|
|
195
|
+
/**
|
|
196
|
+
* Binds a custom default database connection to the model class.
|
|
197
|
+
*
|
|
198
|
+
* Most models can use the active app connection automatically. For tests,
|
|
199
|
+
* prefer creating an app with the test database. For scoped work such as
|
|
200
|
+
* transactions, use `withDb()`.
|
|
201
|
+
*/
|
|
202
|
+
static useDb<TModel extends ActiveRecordConstructor>(this: TModel, db: Knex): TModel;
|
|
203
|
+
/**
|
|
204
|
+
* Returns the database connection for the current ActiveRecord operation.
|
|
205
|
+
*/
|
|
206
|
+
static getDb(): Knex;
|
|
207
|
+
/**
|
|
208
|
+
* Runs work with a temporary database connection for all ActiveRecord statics.
|
|
209
|
+
*/
|
|
210
|
+
static withDb<TResult>(db: Knex, callback: () => TResult): TResult;
|
|
211
|
+
/**
|
|
212
|
+
* Creates a new unsaved record bound to this model's current database.
|
|
213
|
+
*
|
|
214
|
+
* @param input - Constructor input, inferred from fields for defined models.
|
|
215
|
+
* @param options - Record hydration/persistence flags; the database is resolved here.
|
|
216
|
+
* @returns The actual subclass instance, synchronously. Call `save()` to write it.
|
|
217
|
+
*/
|
|
218
|
+
static create<TModel extends ActiveRecordConstructor>(this: TModel, input?: NoInfer<NonNullable<ConstructorParameters<TModel>[0]>>, options?: Omit<ActiveRecordOptions, 'db'>): ActiveRecordInstance<TModel>;
|
|
219
|
+
/**
|
|
220
|
+
* Resolves the model's static field factory with the framework field helper.
|
|
221
|
+
*/
|
|
222
|
+
static getFields<TRecord extends ActiveRecord>(this: ActiveRecordClass<TRecord>): FieldMap;
|
|
223
|
+
/**
|
|
224
|
+
* Returns a DomForm render spec composed from this model's FieldTypes.
|
|
225
|
+
*/
|
|
226
|
+
static getForm<TRecord extends ActiveRecord>(this: ActiveRecordClass<TRecord>, options?: ModelFormOptions): DomFormRenderSpec;
|
|
227
|
+
/**
|
|
228
|
+
* Returns search filter render specs composed from this model's FieldTypes.
|
|
229
|
+
*/
|
|
230
|
+
static getSearchFilters<TRecord extends ActiveRecord>(this: ActiveRecordClass<TRecord>, options?: ModelFormOptions): Record<string, FrontendComponentSpec>;
|
|
231
|
+
/**
|
|
232
|
+
* Looks up one resolved field definition by logical field name.
|
|
233
|
+
*/
|
|
234
|
+
static getField<TRecord extends ActiveRecord>(this: ActiveRecordClass<TRecord>, fieldName: string): FieldType<any, any, any, any, any>;
|
|
235
|
+
/**
|
|
236
|
+
* Starts a field-aware query for this model.
|
|
237
|
+
*/
|
|
238
|
+
static query<TModel extends ActiveRecordConstructor>(this: TModel, db?: Knex): ActiveQueryBuilder<ActiveRecordInstance<TModel>>;
|
|
239
|
+
/**
|
|
240
|
+
* Starts a query that includes soft-deleted rows.
|
|
241
|
+
*/
|
|
242
|
+
static withTrashed<TModel extends ActiveRecordConstructor>(this: TModel, db?: Knex): ActiveQueryBuilder<ActiveRecordInstance<TModel>>;
|
|
243
|
+
/**
|
|
244
|
+
* Starts a query that only includes soft-deleted rows.
|
|
245
|
+
*/
|
|
246
|
+
static onlyTrashed<TModel extends ActiveRecordConstructor>(this: TModel, db?: Knex): ActiveQueryBuilder<ActiveRecordInstance<TModel>>;
|
|
247
|
+
/**
|
|
248
|
+
* Starts a query that excludes soft-deleted rows.
|
|
249
|
+
*/
|
|
250
|
+
static withoutTrashed<TModel extends ActiveRecordConstructor>(this: TModel, db?: Knex): ActiveQueryBuilder<ActiveRecordInstance<TModel>>;
|
|
251
|
+
/**
|
|
252
|
+
* Convenience helper for `Model.query().where(...)`.
|
|
253
|
+
*/
|
|
254
|
+
static where<TModel extends ActiveRecordConstructor>(this: TModel, criteria: Record<string, unknown>): ActiveQueryBuilder<ActiveRecordInstance<TModel>>;
|
|
255
|
+
static where<TModel extends ActiveRecordConstructor>(this: TModel, fieldName: string, value: unknown): ActiveQueryBuilder<ActiveRecordInstance<TModel>>;
|
|
256
|
+
static where<TModel extends ActiveRecordConstructor>(this: TModel, fieldName: string, operator: string, value: unknown): ActiveQueryBuilder<ActiveRecordInstance<TModel>>;
|
|
257
|
+
/**
|
|
258
|
+
* Finds one record by the configured primary key.
|
|
259
|
+
*/
|
|
260
|
+
static findByPk<TModel extends ActiveRecordConstructor>(this: TModel, id: unknown, db?: Knex): Promise<ActiveRecordInstance<TModel> | null>;
|
|
261
|
+
/**
|
|
262
|
+
* Finds one record by the configured primary key or field criteria.
|
|
263
|
+
*/
|
|
264
|
+
static find<TModel extends ActiveRecordConstructor>(this: TModel, lookup: ActiveRecordLookup, db?: Knex): Promise<ActiveRecordInstance<TModel> | null>;
|
|
265
|
+
/**
|
|
266
|
+
* Finds one record by the configured primary key or field criteria.
|
|
267
|
+
*
|
|
268
|
+
* Throws a `RecordNotFoundError` if no matching row exists.
|
|
269
|
+
*/
|
|
270
|
+
static findOrFail<TModel extends ActiveRecordConstructor>(this: TModel, lookup: ActiveRecordLookup, db?: Knex): Promise<ActiveRecordInstance<TModel>>;
|
|
271
|
+
private static queryForLookup;
|
|
272
|
+
/**
|
|
273
|
+
* Hydrates a model instance from a raw database row.
|
|
274
|
+
*/
|
|
275
|
+
static fromDb<TModel extends ActiveRecordConstructor>(this: TModel, row: DbRow, db?: Knex): ActiveRecordInstance<TModel>;
|
|
276
|
+
/**
|
|
277
|
+
* Returns Laravel-style validation rules generated from this model's fields.
|
|
278
|
+
*/
|
|
279
|
+
static validationRules<TRecord extends ActiveRecord>(this: ActiveRecordClass<TRecord>, options?: ActiveRecordValidationRulesOptions): ValidationRules;
|
|
280
|
+
/**
|
|
281
|
+
* Assigns app/input values by logical field name.
|
|
282
|
+
*
|
|
283
|
+
* Unknown keys are ignored. Use `set(fieldName, value)` if you want an error
|
|
284
|
+
* for unknown fields.
|
|
285
|
+
*/
|
|
286
|
+
assign(input: Record<string, unknown>): this;
|
|
287
|
+
/**
|
|
288
|
+
* Assigns request/form values using logical model field names.
|
|
289
|
+
*/
|
|
290
|
+
assignFromRequest(input: unknown, options?: ActiveRecordRequestOptions): this;
|
|
291
|
+
/**
|
|
292
|
+
* Fills this record from request/form values using logical model field names.
|
|
293
|
+
*
|
|
294
|
+
* Unknown keys are ignored. Primary/generated/guarded fields are skipped by
|
|
295
|
+
* default, and model/request fillable config controls what may be assigned.
|
|
296
|
+
*/
|
|
297
|
+
setFromRequest(input: unknown, options?: ActiveRecordRequestOptions): this;
|
|
298
|
+
/**
|
|
299
|
+
* Fills this record from request/form values using a request-key to model-field map.
|
|
300
|
+
*/
|
|
301
|
+
setFromRequestWithMap(input: unknown, dataToFieldMap: ActiveRecordRequestMap, options?: ActiveRecordRequestOptions): this;
|
|
302
|
+
/**
|
|
303
|
+
* Dynamically sets a field by logical name.
|
|
304
|
+
*
|
|
305
|
+
* Useful for runtime/database-stored schemas where TypeScript cannot know the
|
|
306
|
+
* field names at compile time.
|
|
307
|
+
*/
|
|
308
|
+
set(fieldName: string, value: unknown): this;
|
|
309
|
+
/**
|
|
310
|
+
* Dynamically gets a field by logical name.
|
|
311
|
+
*/
|
|
312
|
+
get(fieldName: string): unknown;
|
|
313
|
+
/**
|
|
314
|
+
* Dynamically binds this record instance to a database connection/session.
|
|
315
|
+
*/
|
|
316
|
+
setDb(db: Knex): this;
|
|
317
|
+
/**
|
|
318
|
+
* Returns true if the model has the given logical field.
|
|
319
|
+
*/
|
|
320
|
+
hasField(fieldName: string): boolean;
|
|
321
|
+
/**
|
|
322
|
+
* Returns the bound runtime field for framework-level hydration helpers.
|
|
323
|
+
*/
|
|
324
|
+
getBoundField(fieldName: string): FieldType<any, any, any, any, any>;
|
|
325
|
+
/**
|
|
326
|
+
* Validates fields and stores field errors on each field state.
|
|
327
|
+
*/
|
|
328
|
+
validate(options?: {
|
|
329
|
+
onlyDirty?: boolean;
|
|
330
|
+
}): Promise<boolean>;
|
|
331
|
+
/**
|
|
332
|
+
* Clears all current validation errors.
|
|
333
|
+
*/
|
|
334
|
+
clearErrors(): void;
|
|
335
|
+
/**
|
|
336
|
+
* Returns true if any field currently has validation errors.
|
|
337
|
+
*/
|
|
338
|
+
hasErrors(): boolean;
|
|
339
|
+
/**
|
|
340
|
+
* Returns all field errors on this record.
|
|
341
|
+
*/
|
|
342
|
+
getErrors(): FieldError[];
|
|
343
|
+
/**
|
|
344
|
+
* Returns current validation errors for one field.
|
|
345
|
+
*/
|
|
346
|
+
getFieldErrors(fieldName: string): FieldError[];
|
|
347
|
+
/**
|
|
348
|
+
* Returns database insert/update data for the record.
|
|
349
|
+
*
|
|
350
|
+
* This calls every field's `getDataForDb()` method. This is where passwords
|
|
351
|
+
* are hashed, JSON fields are stringified, link fields produce foreign keys,
|
|
352
|
+
* and compound fields can return multiple columns.
|
|
353
|
+
*/
|
|
354
|
+
getDataForDb(options?: Partial<DbWriteOptions>): Promise<DbWriteData>;
|
|
355
|
+
/**
|
|
356
|
+
* Inserts or updates this record.
|
|
357
|
+
*
|
|
358
|
+
* Validation runs before any SQL is executed. On validation failure this throws
|
|
359
|
+
* `RecordValidationError` containing all field errors.
|
|
360
|
+
*/
|
|
361
|
+
save(): Promise<this>;
|
|
362
|
+
/**
|
|
363
|
+
* Deletes the current database row.
|
|
364
|
+
*
|
|
365
|
+
* Models with `softDeletes` enabled update their delete timestamp instead of
|
|
366
|
+
* physically removing the row.
|
|
367
|
+
*/
|
|
368
|
+
delete(db?: Knex): Promise<number>;
|
|
369
|
+
/**
|
|
370
|
+
* Physically deletes the current database row.
|
|
371
|
+
*/
|
|
372
|
+
forceDelete(db?: Knex): Promise<number>;
|
|
373
|
+
/**
|
|
374
|
+
* Restores the current soft-deleted database row.
|
|
375
|
+
*/
|
|
376
|
+
restore(db?: Knex): Promise<number>;
|
|
377
|
+
/**
|
|
378
|
+
* Returns true when this soft-deletable record has been trashed.
|
|
379
|
+
*/
|
|
380
|
+
trashed(): boolean;
|
|
381
|
+
/**
|
|
382
|
+
* Returns hydrated backend values keyed by logical field name.
|
|
383
|
+
*/
|
|
384
|
+
toAppData(): Record<string, unknown>;
|
|
385
|
+
/**
|
|
386
|
+
* Serialises this record using each field's display value.
|
|
387
|
+
*/
|
|
388
|
+
toDisplayData(): Record<string, unknown>;
|
|
389
|
+
/**
|
|
390
|
+
* JSON transport alias for display data.
|
|
391
|
+
*/
|
|
392
|
+
toJSON(): Record<string, unknown>;
|
|
393
|
+
/**
|
|
394
|
+
* Returns true if this record was loaded from or saved to the database.
|
|
395
|
+
*/
|
|
396
|
+
isPersisted(): boolean;
|
|
397
|
+
/**
|
|
398
|
+
* Returns whether one field or any field has unsaved in-memory changes.
|
|
399
|
+
*
|
|
400
|
+
* @param fieldName - Optional logical field name to inspect.
|
|
401
|
+
* @returns True when the selected field scope contains unsaved changes.
|
|
402
|
+
*/
|
|
403
|
+
isDirty(fieldName?: string): boolean;
|
|
404
|
+
/**
|
|
405
|
+
* Protected field getter used by generated accessors and `get()`.
|
|
406
|
+
*/
|
|
407
|
+
protected $get(fieldName: string): unknown;
|
|
408
|
+
/**
|
|
409
|
+
* Protected field setter used by generated accessors and `set()`.
|
|
410
|
+
*/
|
|
411
|
+
protected $set(fieldName: string, value: unknown): void;
|
|
412
|
+
/**
|
|
413
|
+
* Hydrates all fields from a raw database row.
|
|
414
|
+
*/
|
|
415
|
+
protected $hydrateFromDb(row: DbRow): void;
|
|
416
|
+
/**
|
|
417
|
+
* Marks all fields as clean after a successful save/hydration.
|
|
418
|
+
*/
|
|
419
|
+
protected $markClean(): void;
|
|
420
|
+
/**
|
|
421
|
+
* Returns a database where-clause object for the primary key.
|
|
422
|
+
*/
|
|
423
|
+
protected $primaryKeyWhere(): Record<string, unknown>;
|
|
424
|
+
/**
|
|
425
|
+
* Returns one of this record's live field objects.
|
|
426
|
+
*/
|
|
427
|
+
protected $field(fieldName: string): FieldType<any, any, any, any, any>;
|
|
428
|
+
/**
|
|
429
|
+
* Soft deletes the current database row.
|
|
430
|
+
*/
|
|
431
|
+
private softDelete;
|
|
432
|
+
/**
|
|
433
|
+
* Mirrors soft-delete timestamp writes into this record's live field state.
|
|
434
|
+
*/
|
|
435
|
+
private $setSoftDeleteFieldValues;
|
|
436
|
+
/**
|
|
437
|
+
* Returns the static model class for this instance.
|
|
438
|
+
*/
|
|
439
|
+
private $model;
|
|
440
|
+
private $canFillFromRequest;
|
|
441
|
+
/**
|
|
442
|
+
* Defines an instance getter/setter for a configured field.
|
|
443
|
+
*/
|
|
444
|
+
private $installAccessor;
|
|
445
|
+
/**
|
|
446
|
+
* Checks whether a model class owns a custom accessor for a field.
|
|
447
|
+
*
|
|
448
|
+
* Explicit model accessors may wrap the underlying field through `$get`
|
|
449
|
+
* and `$set` when a domain value needs a stable model-owned interface.
|
|
450
|
+
*
|
|
451
|
+
* @param fieldName - Logical field name being installed.
|
|
452
|
+
* @returns True when a subclass prototype defines a getter or setter.
|
|
453
|
+
*/
|
|
454
|
+
private $hasModelAccessor;
|
|
455
|
+
}
|
|
456
|
+
type ResolvedFieldInput<TInput> = TInput extends FieldType<any, any, any, any, any> ? TInput : TInput extends FieldClass<infer TField> ? TField : TInput extends FieldDefinition<infer TField> ? TField : never;
|
|
457
|
+
type ModelFieldInputs<TModel extends {
|
|
458
|
+
fields(field: FieldBuilder): FieldInputMap;
|
|
459
|
+
}> = ReturnType<TModel['fields']>;
|
|
460
|
+
export declare namespace ActiveRecord {
|
|
461
|
+
/** Concrete field represented by an instance, constructor or configured definition. */
|
|
462
|
+
type ResolvedField<TInput> = ResolvedFieldInput<TInput>;
|
|
463
|
+
type InferInput<TModel extends {
|
|
464
|
+
fields(field: FieldBuilder): FieldInputMap;
|
|
465
|
+
}> = {
|
|
466
|
+
[fieldName in keyof ModelFieldInputs<TModel>]: FieldInputValue<ResolvedFieldInput<ModelFieldInputs<TModel>[fieldName]>>;
|
|
467
|
+
};
|
|
468
|
+
type InferValue<TModel extends {
|
|
469
|
+
fields(field: FieldBuilder): FieldInputMap;
|
|
470
|
+
}> = {
|
|
471
|
+
[fieldName in keyof ModelFieldInputs<TModel>]: FieldValue<ResolvedFieldInput<ModelFieldInputs<TModel>[fieldName]>>;
|
|
472
|
+
};
|
|
473
|
+
type InferDbRow<TModel extends {
|
|
474
|
+
fields(field: FieldBuilder): FieldInputMap;
|
|
475
|
+
}> = {
|
|
476
|
+
[fieldName in keyof ModelFieldInputs<TModel>]: FieldDbValue<ResolvedFieldInput<ModelFieldInputs<TModel>[fieldName]>>;
|
|
477
|
+
};
|
|
478
|
+
type InferDisplay<TModel extends {
|
|
479
|
+
fields(field: FieldBuilder): FieldInputMap;
|
|
480
|
+
}> = {
|
|
481
|
+
[fieldName in keyof ModelFieldInputs<TModel>]: FieldDisplayValue<ResolvedFieldInput<ModelFieldInputs<TModel>[fieldName]>>;
|
|
482
|
+
};
|
|
483
|
+
}
|