@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,41 @@
|
|
|
1
|
+
import { ActiveRecord, type FieldBuilder } from '../../db/index.js';
|
|
2
|
+
import type { EntityRef } from '../../db/fields/LinkField.js';
|
|
3
|
+
import { type FlowRunEventType } from '../constants.js';
|
|
4
|
+
import type { FlowLogLevel, FlowValue } from '../contracts/index.js';
|
|
5
|
+
import { FlowRun } from './FlowRun.js';
|
|
6
|
+
import { FlowStepRun } from './FlowStepRun.js';
|
|
7
|
+
/**
|
|
8
|
+
* Ordered durable lifecycle or log event emitted during a flow run.
|
|
9
|
+
*/
|
|
10
|
+
export declare class FlowRunEvent extends ActiveRecord {
|
|
11
|
+
static table: string;
|
|
12
|
+
static primaryKey: string;
|
|
13
|
+
static labelFields: string[];
|
|
14
|
+
static comment: string;
|
|
15
|
+
/**
|
|
16
|
+
* Defines ordered flow event fields and run-local sequence constraints.
|
|
17
|
+
*
|
|
18
|
+
* @param field - ActiveRecord field builder.
|
|
19
|
+
* @returns Flow run event field definitions.
|
|
20
|
+
*/
|
|
21
|
+
static fields(field: FieldBuilder): {
|
|
22
|
+
id: import("../../db/index.js").UlidField;
|
|
23
|
+
run: import("../../db/index.js").LinkField<FlowRun>;
|
|
24
|
+
stepRun: import("../../db/index.js").LinkField<FlowStepRun>;
|
|
25
|
+
sequence: import("../../db/index.js").IntegerField;
|
|
26
|
+
type: import("../../db/index.js").ChoiceStringField;
|
|
27
|
+
level: import("../../db/index.js").ChoiceStringField;
|
|
28
|
+
message: import("../../db/index.js").StringField;
|
|
29
|
+
data: import("../../db/index.js").JsonStringField<FlowValue>;
|
|
30
|
+
createdAt: import("../../db/index.js").TimestampField;
|
|
31
|
+
};
|
|
32
|
+
id: string | null;
|
|
33
|
+
run: EntityRef<FlowRun>;
|
|
34
|
+
stepRun: EntityRef<FlowStepRun> | null;
|
|
35
|
+
sequence: number | null;
|
|
36
|
+
type: FlowRunEventType | null;
|
|
37
|
+
level: FlowLogLevel | null;
|
|
38
|
+
message: string | null;
|
|
39
|
+
data: FlowValue | null;
|
|
40
|
+
createdAt: Date | null;
|
|
41
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { ActiveRecord } from '../../db/index.js';
|
|
2
|
+
import { FLOW_RUN_EVENT_TYPE } from '../constants.js';
|
|
3
|
+
import { FlowRun } from './FlowRun.js';
|
|
4
|
+
import { FlowStepRun } from './FlowStepRun.js';
|
|
5
|
+
const FLOW_RUN_EVENTS_SEQUENCE_UNIQUE = 'flow_run_events_run_sequence_unique';
|
|
6
|
+
/**
|
|
7
|
+
* Ordered durable lifecycle or log event emitted during a flow run.
|
|
8
|
+
*/
|
|
9
|
+
export class FlowRunEvent extends ActiveRecord {
|
|
10
|
+
static table = 'flow_run_events';
|
|
11
|
+
static primaryKey = 'id';
|
|
12
|
+
static labelFields = ['type', 'message'];
|
|
13
|
+
static comment = 'Ordered flow lifecycle and block log entries used by run timelines.';
|
|
14
|
+
/**
|
|
15
|
+
* Defines ordered flow event fields and run-local sequence constraints.
|
|
16
|
+
*
|
|
17
|
+
* @param field - ActiveRecord field builder.
|
|
18
|
+
* @returns Flow run event field definitions.
|
|
19
|
+
*/
|
|
20
|
+
static fields(field) {
|
|
21
|
+
return {
|
|
22
|
+
id: field.ulid({
|
|
23
|
+
comment: 'Stable flow run event ULID.',
|
|
24
|
+
}),
|
|
25
|
+
run: field.link(() => FlowRun, {
|
|
26
|
+
column: 'run_id',
|
|
27
|
+
required: true,
|
|
28
|
+
onDelete: 'CASCADE',
|
|
29
|
+
index: true,
|
|
30
|
+
indexes: [
|
|
31
|
+
{
|
|
32
|
+
name: FLOW_RUN_EVENTS_SEQUENCE_UNIQUE,
|
|
33
|
+
columns: ['run_id', 'sequence'],
|
|
34
|
+
unique: true,
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
comment: 'Flow run that owns this event.',
|
|
38
|
+
}),
|
|
39
|
+
stepRun: field.link(() => FlowStepRun, {
|
|
40
|
+
column: 'step_run_id',
|
|
41
|
+
required: false,
|
|
42
|
+
onDelete: 'CASCADE',
|
|
43
|
+
index: true,
|
|
44
|
+
comment: 'Block step associated with this event, when applicable.',
|
|
45
|
+
}),
|
|
46
|
+
sequence: field.integer({
|
|
47
|
+
required: true,
|
|
48
|
+
unsigned: true,
|
|
49
|
+
min: 0,
|
|
50
|
+
comment: 'Monotonic zero-based ordering within the flow run.',
|
|
51
|
+
}),
|
|
52
|
+
type: field.choice({
|
|
53
|
+
required: true,
|
|
54
|
+
choices: Object.values(FLOW_RUN_EVENT_TYPE),
|
|
55
|
+
length: 40,
|
|
56
|
+
maxLength: 40,
|
|
57
|
+
index: true,
|
|
58
|
+
comment: 'Lifecycle or log event type.',
|
|
59
|
+
}),
|
|
60
|
+
level: field.choice({
|
|
61
|
+
required: false,
|
|
62
|
+
choices: ['debug', 'info', 'warning', 'error'],
|
|
63
|
+
length: 20,
|
|
64
|
+
maxLength: 20,
|
|
65
|
+
comment: 'Optional block log severity.',
|
|
66
|
+
}),
|
|
67
|
+
message: field.string({
|
|
68
|
+
required: true,
|
|
69
|
+
length: 1024,
|
|
70
|
+
maxLength: 1024,
|
|
71
|
+
comment: 'Human-readable timeline or diagnostic message.',
|
|
72
|
+
}),
|
|
73
|
+
data: field.jsonLongText({
|
|
74
|
+
required: false,
|
|
75
|
+
comment: 'Optional structured event or diagnostic data.',
|
|
76
|
+
}),
|
|
77
|
+
createdAt: field.timestamp({
|
|
78
|
+
column: 'created_at',
|
|
79
|
+
precision: 3,
|
|
80
|
+
auto: 'create',
|
|
81
|
+
index: true,
|
|
82
|
+
}),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ActiveRecord, type FieldBuilder } from '../../db/index.js';
|
|
2
|
+
import type { EntityRef } from '../../db/fields/LinkField.js';
|
|
3
|
+
import { type FlowStepStatus } from '../constants.js';
|
|
4
|
+
import type { FlowErrorSnapshot, FlowValues } from '../contracts/index.js';
|
|
5
|
+
import { FlowRun } from './FlowRun.js';
|
|
6
|
+
/**
|
|
7
|
+
* Durable execution state for one block occurrence within a flow run.
|
|
8
|
+
*/
|
|
9
|
+
export declare class FlowStepRun extends ActiveRecord {
|
|
10
|
+
static table: string;
|
|
11
|
+
static primaryKey: string;
|
|
12
|
+
static labelFields: string[];
|
|
13
|
+
static comment: string;
|
|
14
|
+
/**
|
|
15
|
+
* Defines the durable per-block execution schema.
|
|
16
|
+
*
|
|
17
|
+
* @param field - ActiveRecord field builder.
|
|
18
|
+
* @returns Flow step-run field definitions.
|
|
19
|
+
*/
|
|
20
|
+
static fields(field: FieldBuilder): {
|
|
21
|
+
id: import("../../db/index.js").UlidField;
|
|
22
|
+
run: import("../../db/index.js").LinkField<FlowRun>;
|
|
23
|
+
blockId: import("../../db/index.js").StringField;
|
|
24
|
+
blockType: import("../../db/index.js").StringField;
|
|
25
|
+
blockName: import("../../db/index.js").StringField;
|
|
26
|
+
sequence: import("../../db/index.js").IntegerField;
|
|
27
|
+
status: import("../../db/index.js").ChoiceStringField;
|
|
28
|
+
attempt: import("../../db/index.js").IntegerField;
|
|
29
|
+
queueJobId: import("../../db/index.js").StringField;
|
|
30
|
+
nestedRun: import("../../db/index.js").LinkField<FlowRun>;
|
|
31
|
+
input: import("../../db/index.js").JsonStringField<FlowValues>;
|
|
32
|
+
output: import("../../db/index.js").JsonStringField<FlowValues>;
|
|
33
|
+
error: import("../../db/index.js").JsonStringField<FlowErrorSnapshot>;
|
|
34
|
+
startedAt: import("../../db/index.js").TimestampField;
|
|
35
|
+
completedAt: import("../../db/index.js").TimestampField;
|
|
36
|
+
createdAt: import("../../db/index.js").TimestampField;
|
|
37
|
+
updatedAt: import("../../db/index.js").TimestampField;
|
|
38
|
+
};
|
|
39
|
+
id: string | null;
|
|
40
|
+
run: EntityRef<FlowRun>;
|
|
41
|
+
blockId: string | null;
|
|
42
|
+
blockType: string | null;
|
|
43
|
+
blockName: string | null;
|
|
44
|
+
sequence: number | null;
|
|
45
|
+
status: FlowStepStatus | null;
|
|
46
|
+
attempt: number | null;
|
|
47
|
+
queueJobId: string | null;
|
|
48
|
+
nestedRun: EntityRef<FlowRun> | null;
|
|
49
|
+
input: FlowValues | null;
|
|
50
|
+
output: FlowValues | null;
|
|
51
|
+
error: FlowErrorSnapshot | null;
|
|
52
|
+
startedAt: Date | null;
|
|
53
|
+
completedAt: Date | null;
|
|
54
|
+
createdAt: Date | null;
|
|
55
|
+
updatedAt: Date | null;
|
|
56
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { ActiveRecord } from '../../db/index.js';
|
|
2
|
+
import { FLOW_STEP_STATUS } from '../constants.js';
|
|
3
|
+
import { FlowRun } from './FlowRun.js';
|
|
4
|
+
const FLOW_STEP_RUN_SEQUENCE_UNIQUE = 'flow_step_runs_run_sequence_unique';
|
|
5
|
+
const FLOW_STEP_RUN_BLOCK_UNIQUE = 'flow_step_runs_run_block_unique';
|
|
6
|
+
/**
|
|
7
|
+
* Durable execution state for one block occurrence within a flow run.
|
|
8
|
+
*/
|
|
9
|
+
export class FlowStepRun extends ActiveRecord {
|
|
10
|
+
static table = 'flow_step_runs';
|
|
11
|
+
static primaryKey = 'id';
|
|
12
|
+
static labelFields = ['blockName', 'status'];
|
|
13
|
+
static comment = 'Per-block flow execution input, output, error, queue identity, and timing.';
|
|
14
|
+
/**
|
|
15
|
+
* Defines the durable per-block execution schema.
|
|
16
|
+
*
|
|
17
|
+
* @param field - ActiveRecord field builder.
|
|
18
|
+
* @returns Flow step-run field definitions.
|
|
19
|
+
*/
|
|
20
|
+
static fields(field) {
|
|
21
|
+
return {
|
|
22
|
+
id: field.ulid({
|
|
23
|
+
comment: 'Stable flow step-run ULID.',
|
|
24
|
+
}),
|
|
25
|
+
run: field.link(() => FlowRun, {
|
|
26
|
+
column: 'run_id',
|
|
27
|
+
required: true,
|
|
28
|
+
onDelete: 'CASCADE',
|
|
29
|
+
index: true,
|
|
30
|
+
indexes: [
|
|
31
|
+
{
|
|
32
|
+
name: FLOW_STEP_RUN_SEQUENCE_UNIQUE,
|
|
33
|
+
columns: ['run_id', 'sequence'],
|
|
34
|
+
unique: true,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: FLOW_STEP_RUN_BLOCK_UNIQUE,
|
|
38
|
+
columns: ['run_id', 'block_id'],
|
|
39
|
+
unique: true,
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
comment: 'Flow run that owns this block execution.',
|
|
43
|
+
}),
|
|
44
|
+
blockId: field.string({
|
|
45
|
+
column: 'block_id',
|
|
46
|
+
required: true,
|
|
47
|
+
length: 26,
|
|
48
|
+
maxLength: 26,
|
|
49
|
+
comment: 'Stable block occurrence ULID from the definition snapshot.',
|
|
50
|
+
}),
|
|
51
|
+
blockType: field.string({
|
|
52
|
+
column: 'block_type',
|
|
53
|
+
required: true,
|
|
54
|
+
length: 160,
|
|
55
|
+
maxLength: 160,
|
|
56
|
+
index: true,
|
|
57
|
+
comment: 'Registered executable block type used for this step.',
|
|
58
|
+
}),
|
|
59
|
+
blockName: field.string({
|
|
60
|
+
column: 'block_name',
|
|
61
|
+
required: true,
|
|
62
|
+
length: 255,
|
|
63
|
+
maxLength: 255,
|
|
64
|
+
comment: 'Block instance or type name captured for run history.',
|
|
65
|
+
}),
|
|
66
|
+
sequence: field.integer({
|
|
67
|
+
required: true,
|
|
68
|
+
unsigned: true,
|
|
69
|
+
min: 0,
|
|
70
|
+
comment: 'Zero-based position in the compiled sequential plan.',
|
|
71
|
+
}),
|
|
72
|
+
status: field.choice({
|
|
73
|
+
required: true,
|
|
74
|
+
choices: Object.values(FLOW_STEP_STATUS),
|
|
75
|
+
default: FLOW_STEP_STATUS.pending,
|
|
76
|
+
length: 20,
|
|
77
|
+
maxLength: 20,
|
|
78
|
+
index: true,
|
|
79
|
+
comment: 'Current durable lifecycle state for this block execution.',
|
|
80
|
+
}),
|
|
81
|
+
attempt: field.integer({
|
|
82
|
+
required: true,
|
|
83
|
+
unsigned: true,
|
|
84
|
+
min: 0,
|
|
85
|
+
default: 0,
|
|
86
|
+
comment: 'Most recent queue attempt observed for this step.',
|
|
87
|
+
}),
|
|
88
|
+
queueJobId: field.string({
|
|
89
|
+
column: 'queue_job_id',
|
|
90
|
+
required: false,
|
|
91
|
+
length: 255,
|
|
92
|
+
maxLength: 255,
|
|
93
|
+
index: true,
|
|
94
|
+
comment: 'Driver-owned queue job id for the current step dispatch.',
|
|
95
|
+
}),
|
|
96
|
+
nestedRun: field.link(() => FlowRun, {
|
|
97
|
+
column: 'nested_run_id',
|
|
98
|
+
required: false,
|
|
99
|
+
onDelete: 'SET NULL',
|
|
100
|
+
index: true,
|
|
101
|
+
comment: 'Child flow run delegated to by this flow-backed block.',
|
|
102
|
+
}),
|
|
103
|
+
input: field.jsonLongText({
|
|
104
|
+
required: false,
|
|
105
|
+
comment: 'Validated values supplied to the block function.',
|
|
106
|
+
}),
|
|
107
|
+
output: field.jsonLongText({
|
|
108
|
+
required: false,
|
|
109
|
+
comment: 'Validated values returned by the block function.',
|
|
110
|
+
}),
|
|
111
|
+
error: field.jsonLongText({
|
|
112
|
+
required: false,
|
|
113
|
+
comment: 'Structured error from the most recent failed attempt.',
|
|
114
|
+
}),
|
|
115
|
+
startedAt: field.timestamp({
|
|
116
|
+
column: 'started_at',
|
|
117
|
+
precision: 3,
|
|
118
|
+
comment: 'Time the current or successful attempt began.',
|
|
119
|
+
}),
|
|
120
|
+
completedAt: field.timestamp({
|
|
121
|
+
column: 'completed_at',
|
|
122
|
+
precision: 3,
|
|
123
|
+
comment: 'Time the step completed or terminally failed.',
|
|
124
|
+
}),
|
|
125
|
+
createdAt: field.timestamp({
|
|
126
|
+
column: 'created_at',
|
|
127
|
+
precision: 3,
|
|
128
|
+
auto: 'create',
|
|
129
|
+
}),
|
|
130
|
+
updatedAt: field.timestamp({
|
|
131
|
+
column: 'updated_at',
|
|
132
|
+
precision: 3,
|
|
133
|
+
auto: 'update',
|
|
134
|
+
}),
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './FlowRun.js';
|
|
2
|
+
export * from './FlowRunEvent.js';
|
|
3
|
+
export * from './FlowStepRun.js';
|
|
4
|
+
import { FlowRun } from './FlowRun.js';
|
|
5
|
+
import { FlowRunEvent } from './FlowRunEvent.js';
|
|
6
|
+
import { FlowStepRun } from './FlowStepRun.js';
|
|
7
|
+
/**
|
|
8
|
+
* Framework models an application installs when enabling durable flow runs.
|
|
9
|
+
*/
|
|
10
|
+
export declare const FLOW_MODELS: readonly [typeof FlowRun, typeof FlowStepRun, typeof FlowRunEvent];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from './FlowRun.js';
|
|
2
|
+
export * from './FlowRunEvent.js';
|
|
3
|
+
export * from './FlowStepRun.js';
|
|
4
|
+
import { FlowRun } from './FlowRun.js';
|
|
5
|
+
import { FlowRunEvent } from './FlowRunEvent.js';
|
|
6
|
+
import { FlowStepRun } from './FlowStepRun.js';
|
|
7
|
+
/**
|
|
8
|
+
* Framework models an application installs when enabling durable flow runs.
|
|
9
|
+
*/
|
|
10
|
+
export const FLOW_MODELS = [
|
|
11
|
+
FlowRun,
|
|
12
|
+
FlowStepRun,
|
|
13
|
+
FlowRunEvent,
|
|
14
|
+
];
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export { App, type AppOptions, } from './server/index.js';
|
|
2
|
+
export { RequestContext, type RequestContextValues, } from './server/index.js';
|
|
3
|
+
export * from './cache/index.js';
|
|
4
|
+
export * from './config/index.js';
|
|
5
|
+
export * from './events/index.js';
|
|
6
|
+
export * from './logging/index.js';
|
|
7
|
+
export * from './media/index.js';
|
|
8
|
+
export * from './security/index.js';
|
|
9
|
+
export * from './serialization/index.js';
|
|
10
|
+
export * from './url/index.js';
|
|
11
|
+
export * from './validation/index.js';
|
|
12
|
+
export interface AppManifest {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
version: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
icon?: string;
|
|
18
|
+
entry?: string;
|
|
19
|
+
adminPath?: string;
|
|
20
|
+
capabilities?: string[];
|
|
21
|
+
}
|
|
22
|
+
export interface AppDefinition<TManifest extends AppManifest = AppManifest> {
|
|
23
|
+
manifest: TManifest;
|
|
24
|
+
}
|
|
25
|
+
export declare function defineApp<TManifest extends AppManifest>(manifest: TManifest): AppDefinition<TManifest>;
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { App, } from './server/index.js';
|
|
2
|
+
export { RequestContext, } from './server/index.js';
|
|
3
|
+
export * from './cache/index.js';
|
|
4
|
+
export * from './config/index.js';
|
|
5
|
+
export * from './events/index.js';
|
|
6
|
+
export * from './logging/index.js';
|
|
7
|
+
export * from './media/index.js';
|
|
8
|
+
export * from './security/index.js';
|
|
9
|
+
export * from './serialization/index.js';
|
|
10
|
+
export * from './url/index.js';
|
|
11
|
+
export * from './validation/index.js';
|
|
12
|
+
export function defineApp(manifest) {
|
|
13
|
+
return {
|
|
14
|
+
manifest,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { ChildLoggerOptions } from 'pino';
|
|
2
|
+
import type * as logging from './contracts/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Application logging service exposed as `app().log`.
|
|
5
|
+
*
|
|
6
|
+
* Pino supplies the default driver while this service owns framework discovery
|
|
7
|
+
* and lifecycle. Applications may inject a compatible driver in tests.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* app().log.info({ websiteId }, 'Website crawl started');
|
|
11
|
+
*/
|
|
12
|
+
export declare class Log implements logging.Logger {
|
|
13
|
+
#private;
|
|
14
|
+
/**
|
|
15
|
+
* Creates the application logger from explicit options or the Pino driver.
|
|
16
|
+
*
|
|
17
|
+
* @param options - Logging level, destinations, context, and driver overrides.
|
|
18
|
+
*/
|
|
19
|
+
constructor(options?: logging.LoggingOptions);
|
|
20
|
+
/** Returns the current trace function, respecting runtime level changes. */
|
|
21
|
+
get trace(): logging.Logger['trace'];
|
|
22
|
+
/** Returns the current debug function, respecting runtime level changes. */
|
|
23
|
+
get debug(): logging.Logger['debug'];
|
|
24
|
+
/** Returns the current info function, respecting runtime level changes. */
|
|
25
|
+
get info(): logging.Logger['info'];
|
|
26
|
+
/** Returns the current warning function, respecting runtime level changes. */
|
|
27
|
+
get warn(): logging.Logger['warn'];
|
|
28
|
+
/** Returns the current error function, respecting runtime level changes. */
|
|
29
|
+
get error(): logging.Logger['error'];
|
|
30
|
+
/** Returns the current fatal function, respecting runtime level changes. */
|
|
31
|
+
get fatal(): logging.Logger['fatal'];
|
|
32
|
+
/** Returns the driver's non-emitting log function. */
|
|
33
|
+
get silent(): logging.Logger['silent'];
|
|
34
|
+
/**
|
|
35
|
+
* Returns the minimum severity currently emitted by the driver.
|
|
36
|
+
*/
|
|
37
|
+
get level(): string;
|
|
38
|
+
/**
|
|
39
|
+
* Changes the minimum emitted severity at runtime.
|
|
40
|
+
*
|
|
41
|
+
* @param level - Pino-compatible log level.
|
|
42
|
+
*/
|
|
43
|
+
set level(level: string);
|
|
44
|
+
/**
|
|
45
|
+
* Returns the underlying compatible logger for framework integrations.
|
|
46
|
+
*
|
|
47
|
+
* @returns Driver logger accepted by Fastify and worker adapters.
|
|
48
|
+
*/
|
|
49
|
+
get logger(): logging.Logger;
|
|
50
|
+
/**
|
|
51
|
+
* Creates a context-bearing child logger.
|
|
52
|
+
*
|
|
53
|
+
* @param bindings - Stable structured fields for subsequent records.
|
|
54
|
+
* @param options - Optional Pino child logger overrides.
|
|
55
|
+
* @returns Child logger sharing the configured destinations.
|
|
56
|
+
*/
|
|
57
|
+
child(bindings: logging.LogBindings, options?: ChildLoggerOptions): logging.Logger;
|
|
58
|
+
/**
|
|
59
|
+
* Waits for accepted records to reach their configured destination.
|
|
60
|
+
*/
|
|
61
|
+
flush(): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Flushes records and releases transport resources.
|
|
64
|
+
*/
|
|
65
|
+
close(): Promise<void>;
|
|
66
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { PinoLoggerDriver } from './drivers/PinoLoggerDriver.js';
|
|
2
|
+
/**
|
|
3
|
+
* Application logging service exposed as `app().log`.
|
|
4
|
+
*
|
|
5
|
+
* Pino supplies the default driver while this service owns framework discovery
|
|
6
|
+
* and lifecycle. Applications may inject a compatible driver in tests.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* app().log.info({ websiteId }, 'Website crawl started');
|
|
10
|
+
*/
|
|
11
|
+
export class Log {
|
|
12
|
+
#driver;
|
|
13
|
+
/**
|
|
14
|
+
* Creates the application logger from explicit options or the Pino driver.
|
|
15
|
+
*
|
|
16
|
+
* @param options - Logging level, destinations, context, and driver overrides.
|
|
17
|
+
*/
|
|
18
|
+
constructor(options = {}) {
|
|
19
|
+
this.#driver = options.driver ?? new PinoLoggerDriver(options);
|
|
20
|
+
}
|
|
21
|
+
/** Returns the current trace function, respecting runtime level changes. */
|
|
22
|
+
get trace() { return this.#driver.logger.trace.bind(this.#driver.logger); }
|
|
23
|
+
/** Returns the current debug function, respecting runtime level changes. */
|
|
24
|
+
get debug() { return this.#driver.logger.debug.bind(this.#driver.logger); }
|
|
25
|
+
/** Returns the current info function, respecting runtime level changes. */
|
|
26
|
+
get info() { return this.#driver.logger.info.bind(this.#driver.logger); }
|
|
27
|
+
/** Returns the current warning function, respecting runtime level changes. */
|
|
28
|
+
get warn() { return this.#driver.logger.warn.bind(this.#driver.logger); }
|
|
29
|
+
/** Returns the current error function, respecting runtime level changes. */
|
|
30
|
+
get error() { return this.#driver.logger.error.bind(this.#driver.logger); }
|
|
31
|
+
/** Returns the current fatal function, respecting runtime level changes. */
|
|
32
|
+
get fatal() { return this.#driver.logger.fatal.bind(this.#driver.logger); }
|
|
33
|
+
/** Returns the driver's non-emitting log function. */
|
|
34
|
+
get silent() { return this.#driver.logger.silent.bind(this.#driver.logger); }
|
|
35
|
+
/**
|
|
36
|
+
* Returns the minimum severity currently emitted by the driver.
|
|
37
|
+
*/
|
|
38
|
+
get level() {
|
|
39
|
+
return this.#driver.logger.level;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Changes the minimum emitted severity at runtime.
|
|
43
|
+
*
|
|
44
|
+
* @param level - Pino-compatible log level.
|
|
45
|
+
*/
|
|
46
|
+
set level(level) {
|
|
47
|
+
this.#driver.logger.level = level;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Returns the underlying compatible logger for framework integrations.
|
|
51
|
+
*
|
|
52
|
+
* @returns Driver logger accepted by Fastify and worker adapters.
|
|
53
|
+
*/
|
|
54
|
+
get logger() {
|
|
55
|
+
return this.#driver.logger;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Creates a context-bearing child logger.
|
|
59
|
+
*
|
|
60
|
+
* @param bindings - Stable structured fields for subsequent records.
|
|
61
|
+
* @param options - Optional Pino child logger overrides.
|
|
62
|
+
* @returns Child logger sharing the configured destinations.
|
|
63
|
+
*/
|
|
64
|
+
child(bindings, options) {
|
|
65
|
+
return this.#driver.logger.child(bindings, options);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Waits for accepted records to reach their configured destination.
|
|
69
|
+
*/
|
|
70
|
+
async flush() {
|
|
71
|
+
await this.#driver.flush();
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Flushes records and releases transport resources.
|
|
75
|
+
*/
|
|
76
|
+
async close() {
|
|
77
|
+
await this.#driver.close();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Body representation retained by development HTTP exchange logging.
|
|
3
|
+
*/
|
|
4
|
+
export interface HttpBodyLog {
|
|
5
|
+
/** How the original payload was represented or why it was omitted. */
|
|
6
|
+
kind: 'empty' | 'json' | 'text' | 'binary' | 'stream';
|
|
7
|
+
/** Media type reported by the request or response. */
|
|
8
|
+
contentType?: string;
|
|
9
|
+
/** Redacted serialized payload size before the development capture limit. */
|
|
10
|
+
sizeBytes?: number;
|
|
11
|
+
/** Whether the displayed value was shortened to the configured byte limit. */
|
|
12
|
+
truncated?: boolean;
|
|
13
|
+
/** Redacted JSON value or captured text when the body is inspectable. */
|
|
14
|
+
value?: unknown;
|
|
15
|
+
/** Human-readable explanation for an omitted payload. */
|
|
16
|
+
note?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Request fields retained by a development HTTP exchange record.
|
|
20
|
+
*/
|
|
21
|
+
export interface HttpRequestLog {
|
|
22
|
+
/** HTTP method used by the client. */
|
|
23
|
+
method: string;
|
|
24
|
+
/** Path and query string requested by the client. */
|
|
25
|
+
url: string;
|
|
26
|
+
/** Redacted request headers. */
|
|
27
|
+
headers: Record<string, unknown>;
|
|
28
|
+
/** Bounded and redacted request payload. */
|
|
29
|
+
body: HttpBodyLog;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Response fields retained by a development HTTP exchange record.
|
|
33
|
+
*/
|
|
34
|
+
export interface HttpResponseLog {
|
|
35
|
+
/** HTTP status selected before the response is sent. */
|
|
36
|
+
statusCode: number;
|
|
37
|
+
/** Redacted response headers. */
|
|
38
|
+
headers: Record<string, unknown>;
|
|
39
|
+
/** Bounded and redacted response payload. */
|
|
40
|
+
body: HttpBodyLog;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Development-only request and response data attached to a Pino log record.
|
|
44
|
+
*/
|
|
45
|
+
export interface HttpExchangeLog {
|
|
46
|
+
/** Incoming request details visible to the Fastify handler. */
|
|
47
|
+
request: HttpRequestLog;
|
|
48
|
+
/** Outgoing response details visible to Fastify's send lifecycle. */
|
|
49
|
+
response: HttpResponseLog;
|
|
50
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ChildLoggerOptions, LogFn } from 'pino';
|
|
2
|
+
/**
|
|
3
|
+
* Standard severity levels supported by the framework logger.
|
|
4
|
+
*/
|
|
5
|
+
export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal' | 'silent';
|
|
6
|
+
/**
|
|
7
|
+
* Structured fields attached to one log record or child logger.
|
|
8
|
+
*/
|
|
9
|
+
export type LogBindings = Record<string, unknown>;
|
|
10
|
+
/**
|
|
11
|
+
* Application logger contract shared by framework services and app code.
|
|
12
|
+
*
|
|
13
|
+
* The call signatures intentionally match Pino so structured records can be
|
|
14
|
+
* passed directly to Fastify and Pino-compatible transports.
|
|
15
|
+
*/
|
|
16
|
+
export interface Logger {
|
|
17
|
+
/** Minimum severity currently emitted by the logger. */
|
|
18
|
+
level: string;
|
|
19
|
+
/** Writes a highly detailed diagnostic record. */
|
|
20
|
+
trace: LogFn;
|
|
21
|
+
/** Writes a development diagnostic record. */
|
|
22
|
+
debug: LogFn;
|
|
23
|
+
/** Writes a normal operational record. */
|
|
24
|
+
info: LogFn;
|
|
25
|
+
/** Writes a recoverable problem record. */
|
|
26
|
+
warn: LogFn;
|
|
27
|
+
/** Writes a failed operation record. */
|
|
28
|
+
error: LogFn;
|
|
29
|
+
/** Writes a process-ending failure record. */
|
|
30
|
+
fatal: LogFn;
|
|
31
|
+
/** Accepts a record without emitting output. */
|
|
32
|
+
silent: LogFn;
|
|
33
|
+
/**
|
|
34
|
+
* Creates a logger that includes stable fields on every record.
|
|
35
|
+
*
|
|
36
|
+
* @param bindings - Structured context inherited by child records.
|
|
37
|
+
* @param options - Optional Pino child logger behavior.
|
|
38
|
+
* @returns Child logger sharing the same destinations.
|
|
39
|
+
*/
|
|
40
|
+
child(bindings: LogBindings, options?: ChildLoggerOptions): Logger;
|
|
41
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Logger } from './Logger.js';
|
|
2
|
+
/**
|
|
3
|
+
* Driver boundary used by the framework logging service.
|
|
4
|
+
*/
|
|
5
|
+
export interface LoggerDriver {
|
|
6
|
+
/** Logger implementation used for record creation. */
|
|
7
|
+
readonly logger: Logger;
|
|
8
|
+
/**
|
|
9
|
+
* Waits until records already accepted by the driver reach its destination.
|
|
10
|
+
*/
|
|
11
|
+
flush(): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Flushes records and releases transport resources.
|
|
14
|
+
*/
|
|
15
|
+
close(): Promise<void>;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|