@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,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persisted quota retry metadata stored on the tracked AI request.
|
|
3
|
+
*/
|
|
4
|
+
export interface OpenAIQuotaRetryMetadata extends Record<string, unknown> {
|
|
5
|
+
/** Provider error code that triggered the deferral. */
|
|
6
|
+
code: string;
|
|
7
|
+
/** Number of quota deferrals recorded for this request. */
|
|
8
|
+
deferralCount: number;
|
|
9
|
+
/** First time quota exhaustion deferred this request. */
|
|
10
|
+
firstDeferredAt: string;
|
|
11
|
+
/** Most recent quota deferral time. */
|
|
12
|
+
lastDeferredAt: string;
|
|
13
|
+
/** Next scheduled provider attempt. */
|
|
14
|
+
retryAt: string;
|
|
15
|
+
/** Absolute time after which another quota failure becomes terminal. */
|
|
16
|
+
retryUntil: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Bounded exponential retry decision for one OpenAI quota failure.
|
|
20
|
+
*/
|
|
21
|
+
export interface OpenAIQuotaRetryDecision {
|
|
22
|
+
/** Provider error code that triggered quota handling. */
|
|
23
|
+
code: string;
|
|
24
|
+
/** Human-readable provider failure message. */
|
|
25
|
+
message: string;
|
|
26
|
+
/** Number of quota deferrals including the current failure. */
|
|
27
|
+
deferralCount: number;
|
|
28
|
+
/** Seconds before the next provider attempt. */
|
|
29
|
+
delaySeconds: number;
|
|
30
|
+
/** Absolute time of the next provider attempt. */
|
|
31
|
+
retryAt: Date;
|
|
32
|
+
/** Absolute time after which another quota failure becomes terminal. */
|
|
33
|
+
retryUntil: Date;
|
|
34
|
+
/** Whether the request has exhausted its quota-retry window. */
|
|
35
|
+
expired: boolean;
|
|
36
|
+
/** Metadata to persist on the tracked AI request. */
|
|
37
|
+
metadata: OpenAIQuotaRetryMetadata;
|
|
38
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { AiRequest } from '../AiRequest.js';
|
|
2
|
+
import type { AiRateLimitBucket, AiRateLimitEndpoint } from '../AiRateLimitBucket.js';
|
|
3
|
+
import type { AiRateLimitReservation } from '../AiRateLimitReservation.js';
|
|
4
|
+
import type { AIProvider } from './AI.js';
|
|
5
|
+
/** Provider operation and estimated capacity to reserve before external work begins. */
|
|
6
|
+
export interface AIRateLimitAcquireInput {
|
|
7
|
+
provider?: AIProvider;
|
|
8
|
+
endpoint: AiRateLimitEndpoint;
|
|
9
|
+
model: string;
|
|
10
|
+
operation: string;
|
|
11
|
+
estimatedTokens?: number | null;
|
|
12
|
+
aiRequest?: AiRequest | null;
|
|
13
|
+
}
|
|
14
|
+
/** Reservation that must be settled or released after one provider operation. */
|
|
15
|
+
export interface AIRateLimitLease {
|
|
16
|
+
bucketKey: string;
|
|
17
|
+
bucket: AiRateLimitBucket | null;
|
|
18
|
+
reservation: AiRateLimitReservation | null;
|
|
19
|
+
endpoint: AiRateLimitEndpoint;
|
|
20
|
+
model: string;
|
|
21
|
+
operation: string;
|
|
22
|
+
}
|
|
23
|
+
/** Provider-reported capacity and reset times observed from response headers. */
|
|
24
|
+
export interface AIRateLimitSnapshot {
|
|
25
|
+
observedAt: string;
|
|
26
|
+
headers: Record<string, string>;
|
|
27
|
+
limitRequests: number | null;
|
|
28
|
+
remainingRequests: number | null;
|
|
29
|
+
requestsResetAfterMs: number | null;
|
|
30
|
+
requestsResetAt: string | null;
|
|
31
|
+
limitTokens: number | null;
|
|
32
|
+
remainingTokens: number | null;
|
|
33
|
+
tokensResetAfterMs: number | null;
|
|
34
|
+
tokensResetAt: string | null;
|
|
35
|
+
limitProjectTokens: number | null;
|
|
36
|
+
remainingProjectTokens: number | null;
|
|
37
|
+
projectTokensResetAfterMs: number | null;
|
|
38
|
+
projectTokensResetAt: string | null;
|
|
39
|
+
}
|
|
40
|
+
/** Provider request identity, processing time and observed rate-limit capacity. */
|
|
41
|
+
export interface AIProviderResponseMetadata {
|
|
42
|
+
providerRequestId: string | null;
|
|
43
|
+
providerProcessingMs: number | null;
|
|
44
|
+
rateLimitSnapshot: AIRateLimitSnapshot | null;
|
|
45
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AIProviderResponseMetadata } from './RateLimits.js';
|
|
2
|
+
import type { TextResponsePayloadWithUsage } from './AI.js';
|
|
3
|
+
/**
|
|
4
|
+
* One OpenAI-compatible Responses API request against a specific provider.
|
|
5
|
+
*/
|
|
6
|
+
export interface ResponsesProviderCallInput {
|
|
7
|
+
/** Provider base URL without the /responses suffix. */
|
|
8
|
+
baseUrl: string;
|
|
9
|
+
/** Provider API key sent as a bearer token. */
|
|
10
|
+
apiKey: string;
|
|
11
|
+
/** Serialized Responses API request payload. */
|
|
12
|
+
request: Record<string, unknown>;
|
|
13
|
+
/** Fetch implementation used to send the request. */
|
|
14
|
+
fetcher: typeof fetch;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Raw transport result for one provider attempt, before tracking or error policy.
|
|
18
|
+
*/
|
|
19
|
+
export interface ResponsesProviderCallResult {
|
|
20
|
+
/** Whether the provider returned a 2xx response. */
|
|
21
|
+
ok: boolean;
|
|
22
|
+
/** HTTP status returned by the provider. */
|
|
23
|
+
status: number;
|
|
24
|
+
/** Parsed JSON payload, or null when the body was not JSON. */
|
|
25
|
+
payload: TextResponsePayloadWithUsage | null;
|
|
26
|
+
/** Parsed provider rate-limit and request-id headers. */
|
|
27
|
+
metadata: AIProviderResponseMetadata;
|
|
28
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './AI.js';
|
|
2
|
+
export * from './Agent.js';
|
|
3
|
+
export * from './AiRequestRunCostSummary.js';
|
|
4
|
+
export * from './Pricing.js';
|
|
5
|
+
export * from './Providers.js';
|
|
6
|
+
export * from './RateLimits.js';
|
|
7
|
+
export * from './ResponsesProviderCall.js';
|
|
8
|
+
export * from './QuotaRetry.js';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './AI.js';
|
|
2
|
+
export * from './Agent.js';
|
|
3
|
+
export * from './AiRequestRunCostSummary.js';
|
|
4
|
+
export * from './Pricing.js';
|
|
5
|
+
export * from './Providers.js';
|
|
6
|
+
export * from './RateLimits.js';
|
|
7
|
+
export * from './ResponsesProviderCall.js';
|
|
8
|
+
export * from './QuotaRetry.js';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export * from './Ai.js';
|
|
2
|
+
export * from './AIErrors.js';
|
|
3
|
+
export * from './contracts/AI.js';
|
|
4
|
+
export * from './AiConversation.js';
|
|
5
|
+
export * from './AiMessage.js';
|
|
6
|
+
export * from './AiRequest.js';
|
|
7
|
+
export * from './AiRateLimitBucket.js';
|
|
8
|
+
export * from './AiRateLimitReservation.js';
|
|
9
|
+
export * from './AIFailover.js';
|
|
10
|
+
export * from './AIProviders.js';
|
|
11
|
+
export * from './AIQuotaDeferredError.js';
|
|
12
|
+
export * from './AIRateLimiter.js';
|
|
13
|
+
export * from './Estimates.js';
|
|
14
|
+
export * from './Models.js';
|
|
15
|
+
export * from './OpenAIProviderError.js';
|
|
16
|
+
export * from './ProviderCosts.js';
|
|
17
|
+
export * from './Agent.js';
|
|
18
|
+
export * from './contracts/Agent.js';
|
|
19
|
+
export * from './AgentRunJob.js';
|
|
20
|
+
export * from './registry.js';
|
|
21
|
+
export * from './toolHelpers.js';
|
|
22
|
+
export * from './agentCitations.js';
|
|
23
|
+
export * from './OpenAIQuotaRetry.js';
|
|
24
|
+
export * from './ResponsesProviderCall.js';
|
|
25
|
+
export { agentConversationTimeline } from './AgentHistory.js';
|
|
26
|
+
export { tool, webSearchTool, fileSearchTool, imageGenerationTool } from '@openai/agents';
|
|
27
|
+
export { INTERRUPTED_TOOL_CALL_MESSAGE, unresolvedToolCallIds } from './toolCallRecovery.js';
|
package/dist/ai/index.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export * from './Ai.js';
|
|
2
|
+
export * from './AIErrors.js';
|
|
3
|
+
export * from './contracts/AI.js';
|
|
4
|
+
export * from './AiConversation.js';
|
|
5
|
+
export * from './AiMessage.js';
|
|
6
|
+
export * from './AiRequest.js';
|
|
7
|
+
export * from './AiRateLimitBucket.js';
|
|
8
|
+
export * from './AiRateLimitReservation.js';
|
|
9
|
+
export * from './AIFailover.js';
|
|
10
|
+
export * from './AIProviders.js';
|
|
11
|
+
export * from './AIQuotaDeferredError.js';
|
|
12
|
+
export * from './AIRateLimiter.js';
|
|
13
|
+
export * from './Estimates.js';
|
|
14
|
+
export * from './Models.js';
|
|
15
|
+
export * from './OpenAIProviderError.js';
|
|
16
|
+
export * from './ProviderCosts.js';
|
|
17
|
+
export * from './Agent.js';
|
|
18
|
+
export * from './contracts/Agent.js';
|
|
19
|
+
export * from './AgentRunJob.js';
|
|
20
|
+
export * from './registry.js';
|
|
21
|
+
export * from './toolHelpers.js';
|
|
22
|
+
export * from './agentCitations.js';
|
|
23
|
+
export * from './OpenAIQuotaRetry.js';
|
|
24
|
+
export * from './ResponsesProviderCall.js';
|
|
25
|
+
export { agentConversationTimeline } from './AgentHistory.js';
|
|
26
|
+
export { tool, webSearchTool, fileSearchTool, imageGenerationTool } from '@openai/agents';
|
|
27
|
+
export { INTERRUPTED_TOOL_CALL_MESSAGE, unresolvedToolCallIds } from './toolCallRecovery.js';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { SerializableClass, SerializedValueEnvelope } from '@db3.ai/app/serialization';
|
|
2
|
+
import type { Agent } from './Agent.js';
|
|
3
|
+
import type { QueuedAgentRunPayload } from './contracts/Agent.js';
|
|
4
|
+
/**
|
|
5
|
+
* Registers one concrete agent class for durable reconstruction.
|
|
6
|
+
*
|
|
7
|
+
* Call this during application boot in both HTTP and worker processes.
|
|
8
|
+
*
|
|
9
|
+
* @param agentName - Stable persisted agent name.
|
|
10
|
+
* @param AgentClass - Constructor accepting the state returned by `toJSON()`.
|
|
11
|
+
* @returns Nothing.
|
|
12
|
+
*/
|
|
13
|
+
export declare function registerQueuedAgent(agentName: string, AgentClass: SerializableClass<any, Agent>): void;
|
|
14
|
+
/**
|
|
15
|
+
* Serializes one agent before its queued run creates persistence side effects.
|
|
16
|
+
*
|
|
17
|
+
* @param agentName - Stable persisted agent name.
|
|
18
|
+
* @param agent - Concrete agent instance to serialize.
|
|
19
|
+
* @returns Versioned agent constructor-state envelope.
|
|
20
|
+
*/
|
|
21
|
+
export declare function serializeQueuedAgent(agentName: string, agent: Agent): Promise<SerializedValueEnvelope>;
|
|
22
|
+
/**
|
|
23
|
+
* Rebuilds an agent instance from one queued run payload.
|
|
24
|
+
*
|
|
25
|
+
* @param payload - Queued run payload containing a serialized agent envelope.
|
|
26
|
+
* @returns Agent instance ready to resume the prepared run.
|
|
27
|
+
*/
|
|
28
|
+
export declare function queuedAgentFromPayload(payload: QueuedAgentRunPayload): Promise<Agent>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { app } from '../server/appContext.js';
|
|
2
|
+
/**
|
|
3
|
+
* Registers one concrete agent class for durable reconstruction.
|
|
4
|
+
*
|
|
5
|
+
* Call this during application boot in both HTTP and worker processes.
|
|
6
|
+
*
|
|
7
|
+
* @param agentName - Stable persisted agent name.
|
|
8
|
+
* @param AgentClass - Constructor accepting the state returned by `toJSON()`.
|
|
9
|
+
* @returns Nothing.
|
|
10
|
+
*/
|
|
11
|
+
export function registerQueuedAgent(agentName, AgentClass) {
|
|
12
|
+
app().serializer.registry.registerClass(agentName, AgentClass);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Serializes one agent before its queued run creates persistence side effects.
|
|
16
|
+
*
|
|
17
|
+
* @param agentName - Stable persisted agent name.
|
|
18
|
+
* @param agent - Concrete agent instance to serialize.
|
|
19
|
+
* @returns Versioned agent constructor-state envelope.
|
|
20
|
+
*/
|
|
21
|
+
export async function serializeQueuedAgent(agentName, agent) {
|
|
22
|
+
if (!app().serializer.registry.classForName(agentName)) {
|
|
23
|
+
throw new Error(`No queued agent registered for "${agentName}".`);
|
|
24
|
+
}
|
|
25
|
+
const envelope = app().serializer.serialize(agent);
|
|
26
|
+
if (envelope.name !== agentName) {
|
|
27
|
+
throw new Error(`Serialized agent envelope "${envelope.name}" does not match "${agentName}".`);
|
|
28
|
+
}
|
|
29
|
+
return envelope;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Rebuilds an agent instance from one queued run payload.
|
|
33
|
+
*
|
|
34
|
+
* @param payload - Queued run payload containing a serialized agent envelope.
|
|
35
|
+
* @returns Agent instance ready to resume the prepared run.
|
|
36
|
+
*/
|
|
37
|
+
export async function queuedAgentFromPayload(payload) {
|
|
38
|
+
if (payload.agent.name !== payload.agentName) {
|
|
39
|
+
throw new Error(`Queued agent envelope "${payload.agent.name}" does not match "${payload.agentName}".`);
|
|
40
|
+
}
|
|
41
|
+
if (!app().serializer.registry.classForName(payload.agentName)) {
|
|
42
|
+
throw new Error(`No queued agent registered for "${payload.agentName}".`);
|
|
43
|
+
}
|
|
44
|
+
const restored = await app().serializer.deserialize(payload.agent);
|
|
45
|
+
if (!restored || typeof restored.runQueued !== 'function') {
|
|
46
|
+
throw new Error(`Registered queued agent "${payload.agentName}" did not restore an agent runtime.`);
|
|
47
|
+
}
|
|
48
|
+
return restored;
|
|
49
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type-only compatibility for the Agents SDK 0.12 Node shim.
|
|
3
|
+
*
|
|
4
|
+
* Its lifecycle classes promise the SDK's event-map interface but declare their
|
|
5
|
+
* implementation as Node's EventEmitter, whose conditional overloads are not
|
|
6
|
+
* assignable under strict TypeScript checking. Keep Node's other members and
|
|
7
|
+
* static helpers, while describing these four methods with the SDK contract.
|
|
8
|
+
* Runtime imports continue to resolve to the unmodified SDK and Node emitter.
|
|
9
|
+
*
|
|
10
|
+
* This file must remain an ambient script, not a module augmentation. Keep the
|
|
11
|
+
* declarations aligned with the pinned SDK and remove them when an unmodified
|
|
12
|
+
* SDK passes the packed consumer with skipLibCheck disabled.
|
|
13
|
+
*/
|
|
14
|
+
declare module '@openai/agents-core/_shims' {
|
|
15
|
+
import type { EventEmitter as NodeEventEmitter } from 'node:events';
|
|
16
|
+
|
|
17
|
+
/** Event names and their listener argument tuples, as defined by the SDK. */
|
|
18
|
+
export type EventEmitterEvents = Record<string, any[]>;
|
|
19
|
+
|
|
20
|
+
/** Common emitter interface used by SDK lifecycle and transport classes. */
|
|
21
|
+
export interface EventEmitter<Events extends EventEmitterEvents = Record<string, any[]>> {
|
|
22
|
+
/** Registers a listener for an event and returns the emitter. */
|
|
23
|
+
on<K extends keyof Events>(type: K, listener: (...args: Events[K]) => void): EventEmitter<Events>;
|
|
24
|
+
/** Removes a previously registered listener and returns the emitter. */
|
|
25
|
+
off<K extends keyof Events>(type: K, listener: (...args: Events[K]) => void): EventEmitter<Events>;
|
|
26
|
+
/** Invokes listeners with the event's argument tuple. */
|
|
27
|
+
emit<K extends keyof Events>(type: K, ...args: Events[K]): boolean;
|
|
28
|
+
/** Registers a listener that is removed after its first invocation. */
|
|
29
|
+
once<K extends keyof Events>(type: K, listener: (...args: Events[K]) => void): EventEmitter<Events>;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** Node emitter instance with the event-map contract promised by the SDK. */
|
|
33
|
+
export interface RuntimeEventEmitter<Events extends EventEmitterEvents = Record<string, any[]>> extends Omit<NodeEventEmitter<Events>, keyof EventEmitter<Events>> {
|
|
34
|
+
/** Registers a typed listener while retaining Node's fluent instance API. */
|
|
35
|
+
on<K extends keyof Events>(type: K, listener: (...args: Events[K]) => void): this;
|
|
36
|
+
/** Removes a typed listener and returns the original Node instance. */
|
|
37
|
+
off<K extends keyof Events>(type: K, listener: (...args: Events[K]) => void): this;
|
|
38
|
+
/** Emits the argument tuple for a known SDK event. */
|
|
39
|
+
emit<K extends keyof Events>(type: K, ...args: Events[K]): boolean;
|
|
40
|
+
/** Registers a typed single-use listener and returns the Node instance. */
|
|
41
|
+
once<K extends keyof Events>(type: K, listener: (...args: Events[K]) => void): this;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** Unmodified Node constructor and static helpers exported by the SDK. */
|
|
45
|
+
export const RuntimeEventEmitter: Pick<typeof NodeEventEmitter, Exclude<keyof typeof NodeEventEmitter, 'prototype'>> & {
|
|
46
|
+
/** Creates an emitter with the SDK's listener argument tuples. */
|
|
47
|
+
new <Events extends EventEmitterEvents = Record<string, any[]>>(options?: ConstructorParameters<typeof NodeEventEmitter>[0]): RuntimeEventEmitter<Events>;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
export { Readable } from 'node:stream';
|
|
51
|
+
export { ReadableStream, ReadableStreamController, TransformStream } from 'node:stream/web';
|
|
52
|
+
export { AsyncLocalStorage } from 'node:async_hooks';
|
|
53
|
+
export { randomUUID } from 'node:crypto';
|
|
54
|
+
export { clearTimeout } from 'node:timers';
|
|
55
|
+
export { MCPServerStdio, MCPServerStreamableHttp, MCPServerSSE } from '@openai/agents-core';
|
|
56
|
+
|
|
57
|
+
/** Node timer handle returned by the SDK's timer adapter. */
|
|
58
|
+
export type Timeout = NodeJS.Timeout;
|
|
59
|
+
|
|
60
|
+
/** Timer contract shared by the SDK runtime environments. */
|
|
61
|
+
export interface Timer {
|
|
62
|
+
/** Schedules the callback and returns its Node timer handle. */
|
|
63
|
+
setTimeout(callback: (...args: any[]) => any, ms: number): Timeout;
|
|
64
|
+
/** Cancels a timer previously created by the adapter. */
|
|
65
|
+
clearTimeout(timeoutId: Timeout | string | number | undefined): void;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/** Timer adapter used by the SDK's Node runtime. */
|
|
69
|
+
export const timer: Timer;
|
|
70
|
+
/** Returns the Node environment without changing it. */
|
|
71
|
+
export function loadEnv(): Record<string, string | undefined>;
|
|
72
|
+
/** Reports whether the Node tracing loop starts by default. */
|
|
73
|
+
export function isTracingLoopRunningByDefault(): boolean;
|
|
74
|
+
/** Reports whether the current SDK adapter is a browser runtime. */
|
|
75
|
+
export function isBrowserEnvironment(): boolean;
|
|
76
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type AiMessage } from './AiMessage.js';
|
|
2
|
+
/**
|
|
3
|
+
* User- and model-facing explanation for a persisted call with no saved result.
|
|
4
|
+
*/
|
|
5
|
+
export declare const INTERRUPTED_TOOL_CALL_MESSAGE = "This tool call was interrupted before a result was recorded. Ask the agent to try again if it is still needed.";
|
|
6
|
+
/**
|
|
7
|
+
* Finds persisted function calls that have no matching success or error row.
|
|
8
|
+
*
|
|
9
|
+
* A server restart can leave the initial `calling` row durable while preventing
|
|
10
|
+
* the terminal row from being saved. Replaying that call without an output is
|
|
11
|
+
* invalid provider input, so restore boundaries treat it as interrupted.
|
|
12
|
+
*
|
|
13
|
+
* @param messages - Persisted conversation messages in any order.
|
|
14
|
+
* @returns Tool call ids that have a call row but no terminal result row.
|
|
15
|
+
*/
|
|
16
|
+
export declare function unresolvedToolCallIds(messages: readonly AiMessage[]): Set<string>;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { AI_MESSAGE_ROLE, AI_MESSAGE_TOOL_STATE } from './AiMessage.js';
|
|
2
|
+
/**
|
|
3
|
+
* User- and model-facing explanation for a persisted call with no saved result.
|
|
4
|
+
*/
|
|
5
|
+
export const INTERRUPTED_TOOL_CALL_MESSAGE = 'This tool call was interrupted before a result was recorded. Ask the agent to try again if it is still needed.';
|
|
6
|
+
/**
|
|
7
|
+
* Finds persisted function calls that have no matching success or error row.
|
|
8
|
+
*
|
|
9
|
+
* A server restart can leave the initial `calling` row durable while preventing
|
|
10
|
+
* the terminal row from being saved. Replaying that call without an output is
|
|
11
|
+
* invalid provider input, so restore boundaries treat it as interrupted.
|
|
12
|
+
*
|
|
13
|
+
* @param messages - Persisted conversation messages in any order.
|
|
14
|
+
* @returns Tool call ids that have a call row but no terminal result row.
|
|
15
|
+
*/
|
|
16
|
+
export function unresolvedToolCallIds(messages) {
|
|
17
|
+
const calledIds = new Set();
|
|
18
|
+
const completedIds = new Set();
|
|
19
|
+
for (const message of messages) {
|
|
20
|
+
if (message.role !== AI_MESSAGE_ROLE.tool)
|
|
21
|
+
continue;
|
|
22
|
+
const content = recordValue(message.contentJson);
|
|
23
|
+
const callId = message.toolCallId || stringValue(content?.callId) || stringValue(content?.call_id);
|
|
24
|
+
const state = persistedToolState(message, content);
|
|
25
|
+
if (!callId || !state)
|
|
26
|
+
continue;
|
|
27
|
+
if (state === AI_MESSAGE_TOOL_STATE.calling) {
|
|
28
|
+
calledIds.add(callId);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
completedIds.add(callId);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return new Set([...calledIds].filter(callId => !completedIds.has(callId)));
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Reads a supported tool lifecycle state from columns or legacy JSON content.
|
|
38
|
+
*
|
|
39
|
+
* @param message - Persisted tool message.
|
|
40
|
+
* @param content - Parsed structured message content.
|
|
41
|
+
* @returns Normalized tool state, or null when the row is unsupported.
|
|
42
|
+
*/
|
|
43
|
+
function persistedToolState(message, content) {
|
|
44
|
+
const state = message.toolState ?? stringValue(content?.state);
|
|
45
|
+
if (state === AI_MESSAGE_TOOL_STATE.calling
|
|
46
|
+
|| state === AI_MESSAGE_TOOL_STATE.success
|
|
47
|
+
|| state === AI_MESSAGE_TOOL_STATE.error) {
|
|
48
|
+
return state;
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Narrows an unknown JSON value to a plain record.
|
|
54
|
+
*
|
|
55
|
+
* @param value - Candidate JSON value.
|
|
56
|
+
* @returns Record value, or null for arrays and primitives.
|
|
57
|
+
*/
|
|
58
|
+
function recordValue(value) {
|
|
59
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value)
|
|
60
|
+
? value
|
|
61
|
+
: null;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Normalizes a non-empty string value.
|
|
65
|
+
*
|
|
66
|
+
* @param value - Candidate string value.
|
|
67
|
+
* @returns Trimmed string, or null when unavailable.
|
|
68
|
+
*/
|
|
69
|
+
function stringValue(value) {
|
|
70
|
+
return typeof value === 'string' && value.trim() ? value.trim() : null;
|
|
71
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { RunContext, ToolCallOutputContent } from '@openai/agents';
|
|
2
|
+
import type { AgentRunContext, ToolResultBase } from './contracts/Agent.js';
|
|
3
|
+
type AgentToolDetails = {
|
|
4
|
+
toolCall?: {
|
|
5
|
+
callId?: string;
|
|
6
|
+
id?: string;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Structured tool output that keeps the UI result as JSON text while attaching
|
|
11
|
+
* additional model-visible content such as screenshots.
|
|
12
|
+
*/
|
|
13
|
+
export type AgentToolModelOutput<TResult extends ToolResultBase> = ToolCallOutputContent[] & {
|
|
14
|
+
readonly __agentToolResult?: TResult;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Returns the application context passed to an Agents SDK tool invocation.
|
|
18
|
+
*
|
|
19
|
+
* @param runContext - SDK invocation carrying the application's trusted context.
|
|
20
|
+
* @returns The original context with its application type preserved, or null.
|
|
21
|
+
*/
|
|
22
|
+
export declare function agentToolContext<TContext = AgentRunContext>(runContext: RunContext<TContext> | undefined): TContext | null;
|
|
23
|
+
/**
|
|
24
|
+
* Returns the stable tool-call id used by stream events and persisted messages.
|
|
25
|
+
*/
|
|
26
|
+
export declare function agentToolCallId(details: AgentToolDetails | undefined, fallback: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Emits a progress update for the active tool call when the run context is available.
|
|
29
|
+
*
|
|
30
|
+
* @param input - Tool identity, progress values and a context with a progress sink.
|
|
31
|
+
* @returns Promise that resolves after the application has received the update.
|
|
32
|
+
*/
|
|
33
|
+
export declare function emitAgentToolProgress<TContext extends Pick<AgentRunContext, 'emitToolProgress'>>(input: {
|
|
34
|
+
runContext: RunContext<TContext> | undefined;
|
|
35
|
+
details: AgentToolDetails | undefined;
|
|
36
|
+
toolName: string;
|
|
37
|
+
message: string;
|
|
38
|
+
current?: number;
|
|
39
|
+
total?: number;
|
|
40
|
+
data?: Record<string, unknown>;
|
|
41
|
+
}): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Converts an unknown thrown value into a model-visible tool result.
|
|
44
|
+
*/
|
|
45
|
+
export declare function agentToolErrorResult(error: unknown, fallback: string): ToolResultBase;
|
|
46
|
+
/**
|
|
47
|
+
* Builds a structured tool output with a JSON result and model-visible attachments.
|
|
48
|
+
*
|
|
49
|
+
* The first text item is intentionally kept JSON-compatible so application can
|
|
50
|
+
* persist and render the usual tool result without storing large attachment
|
|
51
|
+
* payloads in conversation history.
|
|
52
|
+
*
|
|
53
|
+
* @param result - UI and history result returned by the tool.
|
|
54
|
+
* @param attachments - Model-visible content attached to the tool output.
|
|
55
|
+
* @returns Structured Agents SDK tool output.
|
|
56
|
+
*/
|
|
57
|
+
export declare function agentToolOutputWithModelAttachments<TResult extends ToolResultBase>(result: TResult, attachments: ToolCallOutputContent[]): AgentToolModelOutput<TResult>;
|
|
58
|
+
/**
|
|
59
|
+
* Extracts a JSON tool result from structured model-visible tool output.
|
|
60
|
+
*
|
|
61
|
+
* @param value - Tool output returned by the Agents SDK.
|
|
62
|
+
* @returns Parsed JSON result, or null when the output is not a JSON text attachment.
|
|
63
|
+
*/
|
|
64
|
+
export declare function agentToolResultFromStructuredOutput(value: unknown): unknown | null;
|
|
65
|
+
export {};
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the application context passed to an Agents SDK tool invocation.
|
|
3
|
+
*
|
|
4
|
+
* @param runContext - SDK invocation carrying the application's trusted context.
|
|
5
|
+
* @returns The original context with its application type preserved, or null.
|
|
6
|
+
*/
|
|
7
|
+
export function agentToolContext(runContext) {
|
|
8
|
+
return runContext?.context ?? null;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Returns the stable tool-call id used by stream events and persisted messages.
|
|
12
|
+
*/
|
|
13
|
+
export function agentToolCallId(details, fallback) {
|
|
14
|
+
return details?.toolCall?.callId || details?.toolCall?.id || fallback;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Emits a progress update for the active tool call when the run context is available.
|
|
18
|
+
*
|
|
19
|
+
* @param input - Tool identity, progress values and a context with a progress sink.
|
|
20
|
+
* @returns Promise that resolves after the application has received the update.
|
|
21
|
+
*/
|
|
22
|
+
export async function emitAgentToolProgress(input) {
|
|
23
|
+
const context = agentToolContext(input.runContext);
|
|
24
|
+
if (!context)
|
|
25
|
+
return;
|
|
26
|
+
await context.emitToolProgress({
|
|
27
|
+
toolCallId: agentToolCallId(input.details, input.toolName),
|
|
28
|
+
toolName: input.toolName,
|
|
29
|
+
message: input.message,
|
|
30
|
+
current: input.current,
|
|
31
|
+
total: input.total,
|
|
32
|
+
data: input.data,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Converts an unknown thrown value into a model-visible tool result.
|
|
37
|
+
*/
|
|
38
|
+
export function agentToolErrorResult(error, fallback) {
|
|
39
|
+
return {
|
|
40
|
+
status: 'error',
|
|
41
|
+
message: error instanceof Error && error.message ? error.message : fallback,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Builds a structured tool output with a JSON result and model-visible attachments.
|
|
46
|
+
*
|
|
47
|
+
* The first text item is intentionally kept JSON-compatible so application can
|
|
48
|
+
* persist and render the usual tool result without storing large attachment
|
|
49
|
+
* payloads in conversation history.
|
|
50
|
+
*
|
|
51
|
+
* @param result - UI and history result returned by the tool.
|
|
52
|
+
* @param attachments - Model-visible content attached to the tool output.
|
|
53
|
+
* @returns Structured Agents SDK tool output.
|
|
54
|
+
*/
|
|
55
|
+
export function agentToolOutputWithModelAttachments(result, attachments) {
|
|
56
|
+
return [
|
|
57
|
+
{
|
|
58
|
+
type: 'text',
|
|
59
|
+
text: JSON.stringify(result),
|
|
60
|
+
},
|
|
61
|
+
...attachments,
|
|
62
|
+
];
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Extracts a JSON tool result from structured model-visible tool output.
|
|
66
|
+
*
|
|
67
|
+
* @param value - Tool output returned by the Agents SDK.
|
|
68
|
+
* @returns Parsed JSON result, or null when the output is not a JSON text attachment.
|
|
69
|
+
*/
|
|
70
|
+
export function agentToolResultFromStructuredOutput(value) {
|
|
71
|
+
const text = structuredToolOutputText(value);
|
|
72
|
+
return text ? parseJson(text) : null;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Reads the first text item from structured tool output arrays.
|
|
76
|
+
*
|
|
77
|
+
* @param value - Tool output returned by the Agents SDK.
|
|
78
|
+
* @returns Text payload or null.
|
|
79
|
+
*/
|
|
80
|
+
function structuredToolOutputText(value) {
|
|
81
|
+
if (!Array.isArray(value))
|
|
82
|
+
return null;
|
|
83
|
+
for (const item of value) {
|
|
84
|
+
if (!item || typeof item !== 'object')
|
|
85
|
+
continue;
|
|
86
|
+
const record = item;
|
|
87
|
+
if ((record.type === 'text' || record.type === 'input_text') && typeof record.text === 'string') {
|
|
88
|
+
return record.text;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Parses JSON and returns null when the input is not valid JSON.
|
|
95
|
+
*
|
|
96
|
+
* @param value - JSON string to parse.
|
|
97
|
+
* @returns Parsed JSON value, or null.
|
|
98
|
+
*/
|
|
99
|
+
function parseJson(value) {
|
|
100
|
+
try {
|
|
101
|
+
return JSON.parse(value);
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
}
|