Full Code of Effect-TS/effect for AI

main 6e3782af7ad0 cached
2189 files
25.5 MB
4.1M tokens
8849 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (16,174K chars total). Download the full file to get everything.
Repository: Effect-TS/effect
Branch: main
Commit: 6e3782af7ad0
Files: 2189
Total size: 25.5 MB

Directory structure:
gitextract_fwoe07vv/

├── .changeset/
│   └── config.json
├── .github/
│   ├── CODEOWNERS
│   ├── actions/
│   │   └── setup/
│   │       └── action.yml
│   └── workflows/
│       ├── check.yml
│       ├── pages.yml
│       ├── release-queue.yml
│       ├── release.yml
│       ├── snapshot.yml
│       └── ts-nightly.yml
├── .gitignore
├── .madgerc
├── .prettierignore
├── .prettierrc.json
├── .vscode/
│   ├── settings.json
│   └── tasks.json
├── AGENTS.md
├── LICENSE
├── README.md
├── docker-compose.yaml
├── eslint.config.mjs
├── flake.nix
├── package.json
├── packages/
│   ├── ai/
│   │   ├── ai/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── LICENSE
│   │   │   ├── README.md
│   │   │   ├── docgen.json
│   │   │   ├── package.json
│   │   │   ├── src/
│   │   │   │   ├── AiError.ts
│   │   │   │   ├── Chat.ts
│   │   │   │   ├── EmbeddingModel.ts
│   │   │   │   ├── IdGenerator.ts
│   │   │   │   ├── LanguageModel.ts
│   │   │   │   ├── McpSchema.ts
│   │   │   │   ├── McpServer.ts
│   │   │   │   ├── Model.ts
│   │   │   │   ├── Prompt.ts
│   │   │   │   ├── Response.ts
│   │   │   │   ├── Telemetry.ts
│   │   │   │   ├── Tokenizer.ts
│   │   │   │   ├── Tool.ts
│   │   │   │   ├── Toolkit.ts
│   │   │   │   └── index.ts
│   │   │   ├── test/
│   │   │   │   ├── Chat.test.ts
│   │   │   │   ├── LanguageModel.test.ts
│   │   │   │   ├── Prompt.test.ts
│   │   │   │   ├── Tool.test.ts
│   │   │   │   └── utilities.ts
│   │   │   ├── tsconfig.build.json
│   │   │   ├── tsconfig.json
│   │   │   ├── tsconfig.src.json
│   │   │   ├── tsconfig.test.json
│   │   │   └── vitest.config.ts
│   │   ├── amazon-bedrock/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── LICENSE
│   │   │   ├── README.md
│   │   │   ├── docgen.json
│   │   │   ├── package.json
│   │   │   ├── src/
│   │   │   │   ├── AmazonBedrockClient.ts
│   │   │   │   ├── AmazonBedrockConfig.ts
│   │   │   │   ├── AmazonBedrockLanguageModel.ts
│   │   │   │   ├── AmazonBedrockSchema.ts
│   │   │   │   ├── AmazonBedrockTool.ts
│   │   │   │   ├── EventStreamEncoding.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── internal/
│   │   │   │       └── utilities.ts
│   │   │   ├── tsconfig.build.json
│   │   │   ├── tsconfig.json
│   │   │   ├── tsconfig.src.json
│   │   │   ├── tsconfig.test.json
│   │   │   └── vitest.config.ts
│   │   ├── anthropic/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── LICENSE
│   │   │   ├── README.md
│   │   │   ├── docgen.json
│   │   │   ├── package.json
│   │   │   ├── scripts/
│   │   │   │   ├── generate.sh
│   │   │   │   └── generated.patch
│   │   │   ├── src/
│   │   │   │   ├── AnthropicClient.ts
│   │   │   │   ├── AnthropicConfig.ts
│   │   │   │   ├── AnthropicLanguageModel.ts
│   │   │   │   ├── AnthropicTokenizer.ts
│   │   │   │   ├── AnthropicTool.ts
│   │   │   │   ├── Generated.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── internal/
│   │   │   │       └── utilities.ts
│   │   │   ├── tsconfig.build.json
│   │   │   ├── tsconfig.json
│   │   │   ├── tsconfig.src.json
│   │   │   ├── tsconfig.test.json
│   │   │   └── vitest.config.ts
│   │   ├── google/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── LICENSE
│   │   │   ├── README.md
│   │   │   ├── docgen.json
│   │   │   ├── package.json
│   │   │   ├── scripts/
│   │   │   │   ├── generate.sh
│   │   │   │   └── generated.patch
│   │   │   ├── src/
│   │   │   │   ├── Generated.ts
│   │   │   │   ├── GoogleClient.ts
│   │   │   │   ├── GoogleConfig.ts
│   │   │   │   ├── GoogleLanguageModel.ts
│   │   │   │   ├── GoogleTool.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── internal/
│   │   │   │       └── utilities.ts
│   │   │   ├── tsconfig.build.json
│   │   │   ├── tsconfig.json
│   │   │   ├── tsconfig.src.json
│   │   │   ├── tsconfig.test.json
│   │   │   └── vitest.config.ts
│   │   ├── openai/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── LICENSE
│   │   │   ├── README.md
│   │   │   ├── docgen.json
│   │   │   ├── package.json
│   │   │   ├── scripts/
│   │   │   │   ├── generate.sh
│   │   │   │   └── generated.patch
│   │   │   ├── src/
│   │   │   │   ├── Generated.ts
│   │   │   │   ├── OpenAiClient.ts
│   │   │   │   ├── OpenAiConfig.ts
│   │   │   │   ├── OpenAiEmbeddingModel.ts
│   │   │   │   ├── OpenAiLanguageModel.ts
│   │   │   │   ├── OpenAiTelemetry.ts
│   │   │   │   ├── OpenAiTokenizer.ts
│   │   │   │   ├── OpenAiTool.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── internal/
│   │   │   │       └── utilities.ts
│   │   │   ├── tsconfig.build.json
│   │   │   ├── tsconfig.json
│   │   │   ├── tsconfig.src.json
│   │   │   ├── tsconfig.test.json
│   │   │   └── vitest.config.ts
│   │   └── openrouter/
│   │       ├── CHANGELOG.md
│   │       ├── LICENSE
│   │       ├── README.md
│   │       ├── docgen.json
│   │       ├── package.json
│   │       ├── scripts/
│   │       │   ├── generate.sh
│   │       │   └── generated.patch
│   │       ├── src/
│   │       │   ├── Generated.ts
│   │       │   ├── OpenRouterClient.ts
│   │       │   ├── OpenRouterConfig.ts
│   │       │   ├── OpenRouterLanguageModel.ts
│   │       │   ├── index.ts
│   │       │   └── internal/
│   │       │       └── utilities.ts
│   │       ├── tsconfig.build.json
│   │       ├── tsconfig.json
│   │       ├── tsconfig.src.json
│   │       ├── tsconfig.test.json
│   │       └── vitest.config.ts
│   ├── cli/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   ├── minigit.ts
│   │   │   ├── naval-fate/
│   │   │   │   ├── domain.ts
│   │   │   │   └── store.ts
│   │   │   ├── naval-fate.ts
│   │   │   └── prompt.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Args.ts
│   │   │   ├── AutoCorrect.ts
│   │   │   ├── BuiltInOptions.ts
│   │   │   ├── CliApp.ts
│   │   │   ├── CliConfig.ts
│   │   │   ├── Command.ts
│   │   │   ├── CommandDescriptor.ts
│   │   │   ├── CommandDirective.ts
│   │   │   ├── ConfigFile.ts
│   │   │   ├── HelpDoc/
│   │   │   │   └── Span.ts
│   │   │   ├── HelpDoc.ts
│   │   │   ├── Options.ts
│   │   │   ├── Primitive.ts
│   │   │   ├── Prompt.ts
│   │   │   ├── Usage.ts
│   │   │   ├── ValidationError.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── args.ts
│   │   │       ├── autoCorrect.ts
│   │   │       ├── builtInOptions.ts
│   │   │       ├── cliApp.ts
│   │   │       ├── cliConfig.ts
│   │   │       ├── command.ts
│   │   │       ├── commandDescriptor.ts
│   │   │       ├── commandDirective.ts
│   │   │       ├── configFile.ts
│   │   │       ├── files.ts
│   │   │       ├── helpDoc/
│   │   │       │   └── span.ts
│   │   │       ├── helpDoc.ts
│   │   │       ├── options.ts
│   │   │       ├── primitive.ts
│   │   │       ├── prompt/
│   │   │       │   ├── action.ts
│   │   │       │   ├── ansi-utils.ts
│   │   │       │   ├── confirm.ts
│   │   │       │   ├── date.ts
│   │   │       │   ├── file.ts
│   │   │       │   ├── list.ts
│   │   │       │   ├── multi-select.ts
│   │   │       │   ├── number.ts
│   │   │       │   ├── select.ts
│   │   │       │   ├── text.ts
│   │   │       │   ├── toggle.ts
│   │   │       │   └── utils.ts
│   │   │       ├── prompt.ts
│   │   │       ├── usage.ts
│   │   │       └── validationError.ts
│   │   ├── test/
│   │   │   ├── Args.test.ts
│   │   │   ├── AutoCorrect.test.ts
│   │   │   ├── CliApp.test.ts
│   │   │   ├── Command.test.ts
│   │   │   ├── CommandDescriptor.test.ts
│   │   │   ├── ConfigFile.test.ts
│   │   │   ├── Options.test.ts
│   │   │   ├── Primitive.test.ts
│   │   │   ├── Prompt.test.ts
│   │   │   ├── Wizard.test.ts
│   │   │   ├── fixtures/
│   │   │   │   ├── config-file.toml
│   │   │   │   ├── config.ini
│   │   │   │   ├── config.json
│   │   │   │   ├── config.toml
│   │   │   │   └── config.yaml
│   │   │   ├── services/
│   │   │   │   ├── MockConsole.ts
│   │   │   │   └── MockTerminal.ts
│   │   │   ├── snapshots/
│   │   │   │   ├── bash-completions
│   │   │   │   ├── fish-completions
│   │   │   │   ├── help-output/
│   │   │   │   │   ├── args-default-object
│   │   │   │   │   ├── args-default-primitive
│   │   │   │   │   ├── args-no-default
│   │   │   │   │   ├── options-default-object
│   │   │   │   │   ├── options-default-primitive
│   │   │   │   │   └── options-no-default
│   │   │   │   └── zsh-completions
│   │   │   └── utils/
│   │   │       ├── grep.ts
│   │   │       ├── tail.ts
│   │   │       └── wc.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── cluster/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── ClusterCron.ts
│   │   │   ├── ClusterError.ts
│   │   │   ├── ClusterMetrics.ts
│   │   │   ├── ClusterSchema.ts
│   │   │   ├── ClusterWorkflowEngine.ts
│   │   │   ├── DeliverAt.ts
│   │   │   ├── Entity.ts
│   │   │   ├── EntityAddress.ts
│   │   │   ├── EntityId.ts
│   │   │   ├── EntityProxy.ts
│   │   │   ├── EntityProxyServer.ts
│   │   │   ├── EntityResource.ts
│   │   │   ├── EntityType.ts
│   │   │   ├── Envelope.ts
│   │   │   ├── HttpRunner.ts
│   │   │   ├── K8sHttpClient.ts
│   │   │   ├── MachineId.ts
│   │   │   ├── Message.ts
│   │   │   ├── MessageStorage.ts
│   │   │   ├── Reply.ts
│   │   │   ├── Runner.ts
│   │   │   ├── RunnerAddress.ts
│   │   │   ├── RunnerHealth.ts
│   │   │   ├── RunnerServer.ts
│   │   │   ├── RunnerStorage.ts
│   │   │   ├── Runners.ts
│   │   │   ├── ShardId.ts
│   │   │   ├── Sharding.ts
│   │   │   ├── ShardingConfig.ts
│   │   │   ├── ShardingRegistrationEvent.ts
│   │   │   ├── SingleRunner.ts
│   │   │   ├── Singleton.ts
│   │   │   ├── SingletonAddress.ts
│   │   │   ├── Snowflake.ts
│   │   │   ├── SocketRunner.ts
│   │   │   ├── SqlMessageStorage.ts
│   │   │   ├── SqlRunnerStorage.ts
│   │   │   ├── TestRunner.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── entityManager.ts
│   │   │       ├── entityReaper.ts
│   │   │       ├── fiber.ts
│   │   │       ├── hash.ts
│   │   │       ├── interruptors.ts
│   │   │       ├── resourceMap.ts
│   │   │       └── resourceRef.ts
│   │   ├── test/
│   │   │   ├── ClusterWorkflowEngine.test.ts
│   │   │   ├── Entity.test.ts
│   │   │   ├── HttpRunner.test.ts
│   │   │   ├── MessageStorage.test.ts
│   │   │   ├── Sharding.test.ts
│   │   │   ├── SqlMessageStorage.test.ts
│   │   │   ├── SqlRunnerStorage.test.ts
│   │   │   └── TestEntity.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── effect/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── benchmark/
│   │   │   ├── SchemaArray.ts
│   │   │   ├── SchemaFilters.ts
│   │   │   ├── SchemaIndex.ts
│   │   │   ├── SchemaPropertyOrder.ts
│   │   │   ├── SchemaStruct.ts
│   │   │   ├── SchemaToString.ts
│   │   │   ├── SchemaTreeFormatter.ts
│   │   │   ├── SchemaTuple.ts
│   │   │   ├── SchemaUnion.ts
│   │   │   └── tsconfig.json
│   │   ├── docgen.json
│   │   ├── dtslint/
│   │   │   ├── Array.tst.ts
│   │   │   ├── Cause.tst.ts
│   │   │   ├── Chunk.tst.ts
│   │   │   ├── Config.tst.ts
│   │   │   ├── ConfigProvider.tst.ts
│   │   │   ├── Context.tst.ts
│   │   │   ├── Data.tst.ts
│   │   │   ├── DateTime.tst.ts
│   │   │   ├── Duration.tst.ts
│   │   │   ├── Effect.tst.ts
│   │   │   ├── Either.tst.ts
│   │   │   ├── Equal.tst.ts
│   │   │   ├── Exit.tst.ts
│   │   │   ├── Fiber.tst.ts
│   │   │   ├── Function.tst.ts
│   │   │   ├── HKT.tst.ts
│   │   │   ├── HashMap.tst.ts
│   │   │   ├── HashSet.tst.ts
│   │   │   ├── Layer.tst.ts
│   │   │   ├── List.tst.ts
│   │   │   ├── ManagedRuntime.tst.ts
│   │   │   ├── Match.tst.ts
│   │   │   ├── Micro.tst.ts
│   │   │   ├── Number.tst.ts
│   │   │   ├── Option.tst.ts
│   │   │   ├── ParseResult.tst.ts
│   │   │   ├── Predicate.tst.ts
│   │   │   ├── Random.tst.ts
│   │   │   ├── Record.tst.ts
│   │   │   ├── RedBlackTree.tst.ts
│   │   │   ├── Runtime.tst.ts
│   │   │   ├── Schedule.tst.ts
│   │   │   ├── Schema/
│   │   │   │   ├── Brand.tst.ts
│   │   │   │   ├── Context.tst.ts
│   │   │   │   ├── Generic.tst.ts
│   │   │   │   ├── PropertySignature.tst.ts
│   │   │   │   ├── Schema.tst.ts
│   │   │   │   ├── SchemaClass.tst.ts
│   │   │   │   ├── Serializable.tst.ts
│   │   │   │   ├── TaggedClass.tst.ts
│   │   │   │   ├── TaggedError.tst.ts
│   │   │   │   ├── TaggedRequest.tst.ts
│   │   │   │   └── Userland.tst.ts
│   │   │   ├── SchemaAST.tst.ts
│   │   │   ├── Sink.tst.ts
│   │   │   ├── SortedMap.tst.ts
│   │   │   ├── SortedSet.tst.ts
│   │   │   ├── Stream.tst.ts
│   │   │   ├── String.tst.ts
│   │   │   ├── Struct.tst.ts
│   │   │   ├── TMap.tst.ts
│   │   │   ├── TSet.tst.ts
│   │   │   ├── Tuple.tst.ts
│   │   │   ├── Types.tst.ts
│   │   │   ├── Unify.tst.ts
│   │   │   └── tsconfig.json
│   │   ├── package.json
│   │   ├── schema-vs-zod.md
│   │   ├── src/
│   │   │   ├── .index.ts
│   │   │   ├── Arbitrary.ts
│   │   │   ├── Array.ts
│   │   │   ├── BigDecimal.ts
│   │   │   ├── BigInt.ts
│   │   │   ├── Boolean.ts
│   │   │   ├── Brand.ts
│   │   │   ├── Cache.ts
│   │   │   ├── Cause.ts
│   │   │   ├── Channel.ts
│   │   │   ├── ChildExecutorDecision.ts
│   │   │   ├── Chunk.ts
│   │   │   ├── Clock.ts
│   │   │   ├── Config.ts
│   │   │   ├── ConfigError.ts
│   │   │   ├── ConfigProvider.ts
│   │   │   ├── ConfigProviderPathPatch.ts
│   │   │   ├── Console.ts
│   │   │   ├── Context.ts
│   │   │   ├── Cron.ts
│   │   │   ├── Data.ts
│   │   │   ├── DateTime.ts
│   │   │   ├── DefaultServices.ts
│   │   │   ├── Deferred.ts
│   │   │   ├── Differ.ts
│   │   │   ├── Duration.ts
│   │   │   ├── Effect.ts
│   │   │   ├── Effectable.ts
│   │   │   ├── Either.ts
│   │   │   ├── Encoding.ts
│   │   │   ├── Equal.ts
│   │   │   ├── Equivalence.ts
│   │   │   ├── ExecutionPlan.ts
│   │   │   ├── ExecutionStrategy.ts
│   │   │   ├── Exit.ts
│   │   │   ├── FastCheck.ts
│   │   │   ├── Fiber.ts
│   │   │   ├── FiberHandle.ts
│   │   │   ├── FiberId.ts
│   │   │   ├── FiberMap.ts
│   │   │   ├── FiberRef.ts
│   │   │   ├── FiberRefs.ts
│   │   │   ├── FiberRefsPatch.ts
│   │   │   ├── FiberSet.ts
│   │   │   ├── FiberStatus.ts
│   │   │   ├── Function.ts
│   │   │   ├── GlobalValue.ts
│   │   │   ├── Graph.ts
│   │   │   ├── GroupBy.ts
│   │   │   ├── HKT.ts
│   │   │   ├── Hash.ts
│   │   │   ├── HashMap.ts
│   │   │   ├── HashRing.ts
│   │   │   ├── HashSet.ts
│   │   │   ├── Inspectable.ts
│   │   │   ├── Iterable.ts
│   │   │   ├── JSONSchema.ts
│   │   │   ├── KeyedPool.ts
│   │   │   ├── Layer.ts
│   │   │   ├── LayerMap.ts
│   │   │   ├── List.ts
│   │   │   ├── LogLevel.ts
│   │   │   ├── LogSpan.ts
│   │   │   ├── Logger.ts
│   │   │   ├── Mailbox.ts
│   │   │   ├── ManagedRuntime.ts
│   │   │   ├── Match.ts
│   │   │   ├── MergeDecision.ts
│   │   │   ├── MergeState.ts
│   │   │   ├── MergeStrategy.ts
│   │   │   ├── Metric.ts
│   │   │   ├── MetricBoundaries.ts
│   │   │   ├── MetricHook.ts
│   │   │   ├── MetricKey.ts
│   │   │   ├── MetricKeyType.ts
│   │   │   ├── MetricLabel.ts
│   │   │   ├── MetricPair.ts
│   │   │   ├── MetricPolling.ts
│   │   │   ├── MetricRegistry.ts
│   │   │   ├── MetricState.ts
│   │   │   ├── Micro.ts
│   │   │   ├── ModuleVersion.ts
│   │   │   ├── MutableHashMap.ts
│   │   │   ├── MutableHashSet.ts
│   │   │   ├── MutableList.ts
│   │   │   ├── MutableQueue.ts
│   │   │   ├── MutableRef.ts
│   │   │   ├── NonEmptyIterable.ts
│   │   │   ├── Number.ts
│   │   │   ├── Option.ts
│   │   │   ├── Order.ts
│   │   │   ├── Ordering.ts
│   │   │   ├── ParseResult.ts
│   │   │   ├── PartitionedSemaphore.ts
│   │   │   ├── Pipeable.ts
│   │   │   ├── Pool.ts
│   │   │   ├── Predicate.ts
│   │   │   ├── Pretty.ts
│   │   │   ├── PrimaryKey.ts
│   │   │   ├── PubSub.ts
│   │   │   ├── Queue.ts
│   │   │   ├── Random.ts
│   │   │   ├── RateLimiter.ts
│   │   │   ├── RcMap.ts
│   │   │   ├── RcRef.ts
│   │   │   ├── Readable.ts
│   │   │   ├── Record.ts
│   │   │   ├── RedBlackTree.ts
│   │   │   ├── Redacted.ts
│   │   │   ├── Ref.ts
│   │   │   ├── RegExp.ts
│   │   │   ├── Reloadable.ts
│   │   │   ├── Request.ts
│   │   │   ├── RequestBlock.ts
│   │   │   ├── RequestResolver.ts
│   │   │   ├── Resource.ts
│   │   │   ├── Runtime.ts
│   │   │   ├── RuntimeFlags.ts
│   │   │   ├── RuntimeFlagsPatch.ts
│   │   │   ├── STM.ts
│   │   │   ├── Schedule.ts
│   │   │   ├── ScheduleDecision.ts
│   │   │   ├── ScheduleInterval.ts
│   │   │   ├── ScheduleIntervals.ts
│   │   │   ├── Scheduler.ts
│   │   │   ├── Schema.ts
│   │   │   ├── SchemaAST.ts
│   │   │   ├── Scope.ts
│   │   │   ├── ScopedCache.ts
│   │   │   ├── ScopedRef.ts
│   │   │   ├── Secret.ts
│   │   │   ├── SingleProducerAsyncInput.ts
│   │   │   ├── Sink.ts
│   │   │   ├── SortedMap.ts
│   │   │   ├── SortedSet.ts
│   │   │   ├── Stream.ts
│   │   │   ├── StreamEmit.ts
│   │   │   ├── StreamHaltStrategy.ts
│   │   │   ├── Streamable.ts
│   │   │   ├── String.ts
│   │   │   ├── Struct.ts
│   │   │   ├── Subscribable.ts
│   │   │   ├── SubscriptionRef.ts
│   │   │   ├── Supervisor.ts
│   │   │   ├── Symbol.ts
│   │   │   ├── SynchronizedRef.ts
│   │   │   ├── TArray.ts
│   │   │   ├── TDeferred.ts
│   │   │   ├── TMap.ts
│   │   │   ├── TPriorityQueue.ts
│   │   │   ├── TPubSub.ts
│   │   │   ├── TQueue.ts
│   │   │   ├── TRandom.ts
│   │   │   ├── TReentrantLock.ts
│   │   │   ├── TRef.ts
│   │   │   ├── TSemaphore.ts
│   │   │   ├── TSet.ts
│   │   │   ├── TSubscriptionRef.ts
│   │   │   ├── Take.ts
│   │   │   ├── TestAnnotation.ts
│   │   │   ├── TestAnnotationMap.ts
│   │   │   ├── TestAnnotations.ts
│   │   │   ├── TestClock.ts
│   │   │   ├── TestConfig.ts
│   │   │   ├── TestContext.ts
│   │   │   ├── TestLive.ts
│   │   │   ├── TestServices.ts
│   │   │   ├── TestSized.ts
│   │   │   ├── Tracer.ts
│   │   │   ├── Trie.ts
│   │   │   ├── Tuple.ts
│   │   │   ├── Types.ts
│   │   │   ├── Unify.ts
│   │   │   ├── UpstreamPullRequest.ts
│   │   │   ├── UpstreamPullStrategy.ts
│   │   │   ├── Utils.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── array.ts
│   │   │       ├── blockedRequests.ts
│   │   │       ├── cache.ts
│   │   │       ├── cause.ts
│   │   │       ├── channel/
│   │   │       │   ├── channelExecutor.ts
│   │   │       │   ├── channelState.ts
│   │   │       │   ├── childExecutorDecision.ts
│   │   │       │   ├── continuation.ts
│   │   │       │   ├── mergeDecision.ts
│   │   │       │   ├── mergeState.ts
│   │   │       │   ├── mergeStrategy.ts
│   │   │       │   ├── singleProducerAsyncInput.ts
│   │   │       │   ├── subexecutor.ts
│   │   │       │   ├── upstreamPullRequest.ts
│   │   │       │   └── upstreamPullStrategy.ts
│   │   │       ├── channel.ts
│   │   │       ├── clock.ts
│   │   │       ├── completedRequestMap.ts
│   │   │       ├── concurrency.ts
│   │   │       ├── config.ts
│   │   │       ├── configError.ts
│   │   │       ├── configProvider/
│   │   │       │   └── pathPatch.ts
│   │   │       ├── configProvider.ts
│   │   │       ├── console.ts
│   │   │       ├── context.ts
│   │   │       ├── core-effect.ts
│   │   │       ├── core-stream.ts
│   │   │       ├── core.ts
│   │   │       ├── data.ts
│   │   │       ├── dataSource.ts
│   │   │       ├── dateTime.ts
│   │   │       ├── defaultServices/
│   │   │       │   └── console.ts
│   │   │       ├── defaultServices.ts
│   │   │       ├── deferred.ts
│   │   │       ├── differ/
│   │   │       │   ├── chunkPatch.ts
│   │   │       │   ├── contextPatch.ts
│   │   │       │   ├── hashMapPatch.ts
│   │   │       │   ├── hashSetPatch.ts
│   │   │       │   ├── orPatch.ts
│   │   │       │   └── readonlyArrayPatch.ts
│   │   │       ├── differ.ts
│   │   │       ├── doNotation.ts
│   │   │       ├── effect/
│   │   │       │   └── circular.ts
│   │   │       ├── effectable.ts
│   │   │       ├── either.ts
│   │   │       ├── encoding/
│   │   │       │   ├── base64.ts
│   │   │       │   ├── base64Url.ts
│   │   │       │   ├── common.ts
│   │   │       │   └── hex.ts
│   │   │       ├── errors.ts
│   │   │       ├── executionPlan.ts
│   │   │       ├── executionStrategy.ts
│   │   │       ├── fiber.ts
│   │   │       ├── fiberId.ts
│   │   │       ├── fiberMessage.ts
│   │   │       ├── fiberRefs/
│   │   │       │   └── patch.ts
│   │   │       ├── fiberRefs.ts
│   │   │       ├── fiberRuntime.ts
│   │   │       ├── fiberScope.ts
│   │   │       ├── fiberStatus.ts
│   │   │       ├── groupBy.ts
│   │   │       ├── hashMap/
│   │   │       │   ├── array.ts
│   │   │       │   ├── bitwise.ts
│   │   │       │   ├── config.ts
│   │   │       │   ├── keySet.ts
│   │   │       │   └── node.ts
│   │   │       ├── hashMap.ts
│   │   │       ├── hashSet.ts
│   │   │       ├── keyedPool.ts
│   │   │       ├── layer/
│   │   │       │   └── circular.ts
│   │   │       ├── layer.ts
│   │   │       ├── logSpan.ts
│   │   │       ├── logger-circular.ts
│   │   │       ├── logger.ts
│   │   │       ├── mailbox.ts
│   │   │       ├── managedRuntime/
│   │   │       │   └── circular.ts
│   │   │       ├── managedRuntime.ts
│   │   │       ├── matcher.ts
│   │   │       ├── metric/
│   │   │       │   ├── boundaries.ts
│   │   │       │   ├── hook.ts
│   │   │       │   ├── key.ts
│   │   │       │   ├── keyType.ts
│   │   │       │   ├── label.ts
│   │   │       │   ├── pair.ts
│   │   │       │   ├── polling.ts
│   │   │       │   ├── registry.ts
│   │   │       │   └── state.ts
│   │   │       ├── metric.ts
│   │   │       ├── opCodes/
│   │   │       │   ├── cause.ts
│   │   │       │   ├── channel.ts
│   │   │       │   ├── channelChildExecutorDecision.ts
│   │   │       │   ├── channelMergeDecision.ts
│   │   │       │   ├── channelMergeState.ts
│   │   │       │   ├── channelMergeStrategy.ts
│   │   │       │   ├── channelState.ts
│   │   │       │   ├── channelUpstreamPullRequest.ts
│   │   │       │   ├── channelUpstreamPullStrategy.ts
│   │   │       │   ├── config.ts
│   │   │       │   ├── configError.ts
│   │   │       │   ├── continuation.ts
│   │   │       │   ├── deferred.ts
│   │   │       │   ├── effect.ts
│   │   │       │   ├── layer.ts
│   │   │       │   └── streamHaltStrategy.ts
│   │   │       ├── option.ts
│   │   │       ├── pool.ts
│   │   │       ├── pubsub.ts
│   │   │       ├── query.ts
│   │   │       ├── queue.ts
│   │   │       ├── random.ts
│   │   │       ├── rateLimiter.ts
│   │   │       ├── rcMap.ts
│   │   │       ├── rcRef.ts
│   │   │       ├── redBlackTree/
│   │   │       │   ├── iterator.ts
│   │   │       │   └── node.ts
│   │   │       ├── redBlackTree.ts
│   │   │       ├── redacted.ts
│   │   │       ├── ref.ts
│   │   │       ├── reloadable.ts
│   │   │       ├── request.ts
│   │   │       ├── resource.ts
│   │   │       ├── ringBuffer.ts
│   │   │       ├── runtime.ts
│   │   │       ├── runtimeFlags.ts
│   │   │       ├── runtimeFlagsPatch.ts
│   │   │       ├── schedule/
│   │   │       │   ├── decision.ts
│   │   │       │   ├── interval.ts
│   │   │       │   └── intervals.ts
│   │   │       ├── schedule.ts
│   │   │       ├── schema/
│   │   │       │   ├── errors.ts
│   │   │       │   ├── schemaId.ts
│   │   │       │   └── util.ts
│   │   │       ├── scopedCache.ts
│   │   │       ├── scopedRef.ts
│   │   │       ├── secret.ts
│   │   │       ├── singleShotGen.ts
│   │   │       ├── sink.ts
│   │   │       ├── stack.ts
│   │   │       ├── stm/
│   │   │       │   ├── core.ts
│   │   │       │   ├── entry.ts
│   │   │       │   ├── journal.ts
│   │   │       │   ├── opCodes/
│   │   │       │   │   ├── stm.ts
│   │   │       │   │   ├── stmState.ts
│   │   │       │   │   ├── strategy.ts
│   │   │       │   │   ├── tExit.ts
│   │   │       │   │   └── tryCommit.ts
│   │   │       │   ├── stm.ts
│   │   │       │   ├── stmState.ts
│   │   │       │   ├── tArray.ts
│   │   │       │   ├── tDeferred.ts
│   │   │       │   ├── tExit.ts
│   │   │       │   ├── tMap.ts
│   │   │       │   ├── tPriorityQueue.ts
│   │   │       │   ├── tPubSub.ts
│   │   │       │   ├── tQueue.ts
│   │   │       │   ├── tRandom.ts
│   │   │       │   ├── tReentrantLock.ts
│   │   │       │   ├── tRef.ts
│   │   │       │   ├── tSemaphore.ts
│   │   │       │   ├── tSet.ts
│   │   │       │   ├── tSubscriptionRef.ts
│   │   │       │   ├── tryCommit.ts
│   │   │       │   ├── txnId.ts
│   │   │       │   └── versioned.ts
│   │   │       ├── stream/
│   │   │       │   ├── debounceState.ts
│   │   │       │   ├── emit.ts
│   │   │       │   ├── haltStrategy.ts
│   │   │       │   ├── handoff.ts
│   │   │       │   ├── handoffSignal.ts
│   │   │       │   ├── pull.ts
│   │   │       │   ├── sinkEndReason.ts
│   │   │       │   ├── zipAllState.ts
│   │   │       │   └── zipChunksState.ts
│   │   │       ├── stream.ts
│   │   │       ├── string-utils.ts
│   │   │       ├── subscriptionRef.ts
│   │   │       ├── supervisor/
│   │   │       │   └── patch.ts
│   │   │       ├── supervisor.ts
│   │   │       ├── synchronizedRef.ts
│   │   │       ├── take.ts
│   │   │       ├── testing/
│   │   │       │   ├── sleep.ts
│   │   │       │   ├── suspendedWarningData.ts
│   │   │       │   └── warningData.ts
│   │   │       ├── tracer.ts
│   │   │       ├── trie.ts
│   │   │       └── version.ts
│   │   ├── test/
│   │   │   ├── Array.test.ts
│   │   │   ├── BigDecimal.test.ts
│   │   │   ├── BigInt.test.ts
│   │   │   ├── Boolean.test.ts
│   │   │   ├── Brand.test.ts
│   │   │   ├── Cache.test.ts
│   │   │   ├── Cause.test.ts
│   │   │   ├── Channel/
│   │   │   │   ├── constructors.test.ts
│   │   │   │   ├── environment.test.ts
│   │   │   │   ├── error-handling.test.ts
│   │   │   │   ├── finalization.test.ts
│   │   │   │   ├── foreign.test.ts
│   │   │   │   ├── interruption.test.ts
│   │   │   │   ├── mapping.test.ts
│   │   │   │   ├── merging.test.ts
│   │   │   │   ├── reading.test.ts
│   │   │   │   ├── scoping.test.ts
│   │   │   │   ├── sequencing.test.ts
│   │   │   │   └── stack-safety.test.ts
│   │   │   ├── Chunk.test.ts
│   │   │   ├── Config.test.ts
│   │   │   ├── ConfigProvider.test.ts
│   │   │   ├── Context.test.ts
│   │   │   ├── Cron.test.ts
│   │   │   ├── Data.test.ts
│   │   │   ├── DateTime.test.ts
│   │   │   ├── Deferred.test.ts
│   │   │   ├── Differ.test.ts
│   │   │   ├── Duration.test.ts
│   │   │   ├── Effect/
│   │   │   │   ├── acquire-release.test.ts
│   │   │   │   ├── applicative.test.ts
│   │   │   │   ├── async.test.ts
│   │   │   │   ├── caching.test.ts
│   │   │   │   ├── cause-rendering.test.ts
│   │   │   │   ├── collecting.test.ts
│   │   │   │   ├── concurrency.test.ts
│   │   │   │   ├── constructors.test.ts
│   │   │   │   ├── destructors.test.ts
│   │   │   │   ├── do-notation.test.ts
│   │   │   │   ├── environment.test.ts
│   │   │   │   ├── error-handling.test.ts
│   │   │   │   ├── error.test.ts
│   │   │   │   ├── filtering.test.ts
│   │   │   │   ├── finalization.test.ts
│   │   │   │   ├── fn.test.ts
│   │   │   │   ├── foreign.test.ts
│   │   │   │   ├── forking.test.ts
│   │   │   │   ├── interruption.test.ts
│   │   │   │   ├── join-order.test.ts
│   │   │   │   ├── latch.test.ts
│   │   │   │   ├── lifting.test.ts
│   │   │   │   ├── mapping.test.ts
│   │   │   │   ├── memoization.test.ts
│   │   │   │   ├── optional-wrapping-unwrapping.test.ts
│   │   │   │   ├── promise.test.ts
│   │   │   │   ├── provide-runtime.test.ts
│   │   │   │   ├── query-deadlock.test.ts
│   │   │   │   ├── query-nested.test.ts
│   │   │   │   ├── query-repro.test.ts
│   │   │   │   ├── query.test.ts
│   │   │   │   ├── racing.test.ts
│   │   │   │   ├── rendezvous.test.ts
│   │   │   │   ├── repeating.test.ts
│   │   │   │   ├── retrying.test.ts
│   │   │   │   ├── runtimeFlags.test.ts
│   │   │   │   ├── scheduler.test.ts
│   │   │   │   ├── scheduling.test.ts
│   │   │   │   ├── scope-ref.test.ts
│   │   │   │   ├── semaphore.test.ts
│   │   │   │   ├── sequencing.test.ts
│   │   │   │   ├── service.test.ts
│   │   │   │   ├── stack-safety.test.ts
│   │   │   │   ├── structural.test.ts
│   │   │   │   ├── sync.test.ts
│   │   │   │   ├── tapping.test.ts
│   │   │   │   ├── timeout.test.ts
│   │   │   │   ├── traversing.test.ts
│   │   │   │   ├── tryPromise.test.ts
│   │   │   │   └── validation.test.ts
│   │   │   ├── Either.test.ts
│   │   │   ├── Encoding.test.ts
│   │   │   ├── Equal.test.ts
│   │   │   ├── Equivalence.test.ts
│   │   │   ├── ExecutionPlan.test.ts
│   │   │   ├── Exit.test.ts
│   │   │   ├── Fiber.test.ts
│   │   │   ├── FiberHandle.test.ts
│   │   │   ├── FiberMap.test.ts
│   │   │   ├── FiberRef.test.ts
│   │   │   ├── FiberRefs.test.ts
│   │   │   ├── FiberSet.test.ts
│   │   │   ├── Function.test.ts
│   │   │   ├── GlobalValue.test.ts
│   │   │   ├── Graph.test.ts
│   │   │   ├── Hash.test.ts
│   │   │   ├── HashMap.test.ts
│   │   │   ├── HashSet.test.ts
│   │   │   ├── Inspectable.test.ts
│   │   │   ├── Iterable.test.ts
│   │   │   ├── KeyedPool.test.ts
│   │   │   ├── Layer.test.ts
│   │   │   ├── List.test.ts
│   │   │   ├── LogLevel.test.ts
│   │   │   ├── Logger.test.ts
│   │   │   ├── Mailbox.test.ts
│   │   │   ├── ManagedRuntime.test.ts
│   │   │   ├── Match.test.ts
│   │   │   ├── Metric.test.ts
│   │   │   ├── Micro.test.ts
│   │   │   ├── MutableHashMap.test.ts
│   │   │   ├── MutableHashSet.test.ts
│   │   │   ├── MutableList.test.ts
│   │   │   ├── MutableQueue.test.ts
│   │   │   ├── MutableRef.test.ts
│   │   │   ├── NonEmptyIterable.test.ts
│   │   │   ├── Number.test.ts
│   │   │   ├── Option.test.ts
│   │   │   ├── Order.test.ts
│   │   │   ├── Ordering.test.ts
│   │   │   ├── PartitionedSemaphore.test.ts
│   │   │   ├── Pipeable.test.ts
│   │   │   ├── Pool.test.ts
│   │   │   ├── Predicate.test.ts
│   │   │   ├── PubSub.test.ts
│   │   │   ├── Queue.test.ts
│   │   │   ├── Random.test.ts
│   │   │   ├── RateLimiter.test.ts
│   │   │   ├── RcMap.test.ts
│   │   │   ├── RcRef.test.ts
│   │   │   ├── Record.test.ts
│   │   │   ├── RedBlackTree.test.ts
│   │   │   ├── Redacted.test.ts
│   │   │   ├── Ref.test.ts
│   │   │   ├── RegExp.test.ts
│   │   │   ├── Reloadable.test.ts
│   │   │   ├── Resource.test.ts
│   │   │   ├── Runtime.test.ts
│   │   │   ├── RuntimeFlags.test.ts
│   │   │   ├── STM.test.ts
│   │   │   ├── Schedule.test.ts
│   │   │   ├── Schema/
│   │   │   │   ├── Arbitrary/
│   │   │   │   │   ├── Arbitrary.test.ts
│   │   │   │   │   └── Class.test.ts
│   │   │   │   ├── JSONSchema.new.test.ts
│   │   │   │   ├── JSONSchema.test.ts
│   │   │   │   ├── ParseResult.test.ts
│   │   │   │   ├── ParseResultEffectful.test.ts
│   │   │   │   ├── ParseResultFormatter.test.ts
│   │   │   │   ├── Pretty.test.ts
│   │   │   │   ├── Schema/
│   │   │   │   │   ├── Any/
│   │   │   │   │   │   └── Any.test.ts
│   │   │   │   │   ├── Array/
│   │   │   │   │   │   ├── Array.test.ts
│   │   │   │   │   │   ├── head.test.ts
│   │   │   │   │   │   ├── headNonEmpty.test.ts
│   │   │   │   │   │   ├── headOrElse.test.ts
│   │   │   │   │   │   ├── itemsCount.test.ts
│   │   │   │   │   │   ├── maxItems.test.ts
│   │   │   │   │   │   └── minItems.test.ts
│   │   │   │   │   ├── ArrayEnsure.test.ts
│   │   │   │   │   ├── ArrayFormatterIssue/
│   │   │   │   │   │   └── ArrayFormatterIssue.test.ts
│   │   │   │   │   ├── BigDecimal/
│   │   │   │   │   │   ├── BigDecimal.test.ts
│   │   │   │   │   │   ├── BigDecimalFromNumber.test.ts
│   │   │   │   │   │   ├── BigDecimalFromSelf.test.ts
│   │   │   │   │   │   ├── NegativeBigDecimalFromSelf.test.ts
│   │   │   │   │   │   ├── NonNegativeBigDecimalFromSelf.test.ts
│   │   │   │   │   │   ├── NonPositiveBigDecimalFromSelf.test.ts
│   │   │   │   │   │   ├── PositiveBigDecimalFromSelf.test.ts
│   │   │   │   │   │   ├── betweenBigDecimal.test.ts
│   │   │   │   │   │   ├── clampBigDecimal.test.ts
│   │   │   │   │   │   ├── greaterThanBigDecimal.test.ts
│   │   │   │   │   │   ├── greaterThanOrEqualToBigDecimal.test.ts
│   │   │   │   │   │   ├── lessThanBigDecimal.test.ts
│   │   │   │   │   │   └── lessThanOrEqualToBigDecimal.test.ts
│   │   │   │   │   ├── BigInt/
│   │   │   │   │   │   ├── BigInt.test.ts
│   │   │   │   │   │   ├── BigIntFromNumber.test.ts
│   │   │   │   │   │   ├── BigIntFromSelf.test.ts
│   │   │   │   │   │   ├── NegativeBigIntFromSelf.test.ts
│   │   │   │   │   │   ├── NonNegativeBigIntFromSelf.test.ts
│   │   │   │   │   │   ├── NonPositiveBigIntFromSelf.test.ts
│   │   │   │   │   │   ├── PositiveBigIntFromSelf.test.ts
│   │   │   │   │   │   ├── betweenBigInt.test.ts
│   │   │   │   │   │   ├── clampBigInt.test.ts
│   │   │   │   │   │   ├── greaterThanBigInt.test.ts
│   │   │   │   │   │   ├── greaterThanOrEqualToBigInt.test.ts
│   │   │   │   │   │   ├── lessThanBigInt.test.ts
│   │   │   │   │   │   └── lessThanOrEqualToBigInt.test.ts
│   │   │   │   │   ├── Boolean/
│   │   │   │   │   │   ├── Boolean.test.ts
│   │   │   │   │   │   ├── BooleanFromString.test.ts
│   │   │   │   │   │   ├── BooleanFromUnknown.test.ts
│   │   │   │   │   │   └── Not.test.ts
│   │   │   │   │   ├── Cause/
│   │   │   │   │   │   ├── Cause.test.ts
│   │   │   │   │   │   └── CauseFromSelf.test.ts
│   │   │   │   │   ├── Chunk/
│   │   │   │   │   │   ├── Chunk.test.ts
│   │   │   │   │   │   ├── ChunkFromSelf.test.ts
│   │   │   │   │   │   ├── NonEmptyChunk.test.ts
│   │   │   │   │   │   └── NonEmptyChunkFromSelf.test.ts
│   │   │   │   │   ├── Class/
│   │   │   │   │   │   ├── Class.test.ts
│   │   │   │   │   │   ├── TaggedClass.test.ts
│   │   │   │   │   │   ├── TaggedError.test.ts
│   │   │   │   │   │   ├── TaggedRequest.test.ts
│   │   │   │   │   │   ├── extend.test.ts
│   │   │   │   │   │   ├── transformOrFail.test.ts
│   │   │   │   │   │   └── transformOrFailFrom.test.ts
│   │   │   │   │   ├── Config/
│   │   │   │   │   │   └── Config.test.ts
│   │   │   │   │   ├── Data/
│   │   │   │   │   │   ├── Data.test.ts
│   │   │   │   │   │   └── DataFromSelf.test.ts
│   │   │   │   │   ├── Date/
│   │   │   │   │   │   ├── Date.test.ts
│   │   │   │   │   │   ├── DateFromNumber.test.ts
│   │   │   │   │   │   ├── DateFromSelf.test.ts
│   │   │   │   │   │   ├── betweenDate.test.ts
│   │   │   │   │   │   ├── greaterThanDate.test.ts
│   │   │   │   │   │   ├── greaterThanOrEqualToDate.test.ts
│   │   │   │   │   │   ├── lessThanDate.test.ts
│   │   │   │   │   │   └── lessThanOrEqualToDate.test.ts
│   │   │   │   │   ├── DateTime/
│   │   │   │   │   │   ├── DateTimeUtc.test.ts
│   │   │   │   │   │   ├── DateTimeUtcFromDate.test.ts
│   │   │   │   │   │   ├── DateTimeUtcFromNumber.test.ts
│   │   │   │   │   │   ├── DateTimeUtcFromSelf.test.ts
│   │   │   │   │   │   ├── DateTimeZoned.test.ts
│   │   │   │   │   │   ├── DateTimeZonedFromSelf.test.ts
│   │   │   │   │   │   ├── TimeZone.test.ts
│   │   │   │   │   │   ├── TimeZoneFromSelf.test.ts
│   │   │   │   │   │   ├── TimeZoneNamed.test.ts
│   │   │   │   │   │   ├── TimeZoneNamedFromSelf.test.ts
│   │   │   │   │   │   ├── TimeZoneOffset.test.ts
│   │   │   │   │   │   └── TimeZoneOffsetFromSelf.test.ts
│   │   │   │   │   ├── DecodingFallbackAnnotation.test.ts
│   │   │   │   │   ├── Defect/
│   │   │   │   │   │   └── Defect.test.ts
│   │   │   │   │   ├── Duration/
│   │   │   │   │   │   ├── Duration.test.ts
│   │   │   │   │   │   ├── DurationFromMillis.test.ts
│   │   │   │   │   │   ├── DurationFromNanos.test.ts
│   │   │   │   │   │   ├── DurationFromSelf.test.ts
│   │   │   │   │   │   ├── betweenDuration.test.ts
│   │   │   │   │   │   ├── clampDuration.test.ts
│   │   │   │   │   │   ├── greaterThanDuration.test.ts
│   │   │   │   │   │   ├── greaterThanOrEqualToDuration.test.ts
│   │   │   │   │   │   ├── lessThanDuration.test.ts
│   │   │   │   │   │   └── lessThanOrEqualToDuration.test.ts
│   │   │   │   │   ├── Either/
│   │   │   │   │   │   ├── Either.test.ts
│   │   │   │   │   │   ├── EitherFromSelf.test.ts
│   │   │   │   │   │   └── EitherFromUnion.test.ts
│   │   │   │   │   ├── Enums/
│   │   │   │   │   │   └── Enums.test.ts
│   │   │   │   │   ├── Exit/
│   │   │   │   │   │   ├── Exit.test.ts
│   │   │   │   │   │   └── ExitFromSelf.test.ts
│   │   │   │   │   ├── FiberId/
│   │   │   │   │   │   ├── FiberId.test.ts
│   │   │   │   │   │   └── FiberIdFromSelf.test.ts
│   │   │   │   │   ├── HashMap/
│   │   │   │   │   │   ├── HashMap.test.ts
│   │   │   │   │   │   └── HashMapFromSelf.test.ts
│   │   │   │   │   ├── HashSet/
│   │   │   │   │   │   ├── HashSet.test.ts
│   │   │   │   │   │   └── HashSetFromSelf.test.ts
│   │   │   │   │   ├── List/
│   │   │   │   │   │   ├── List.test.ts
│   │   │   │   │   │   └── ListFromSelf.test.ts
│   │   │   │   │   ├── Literal/
│   │   │   │   │   │   └── Literal.test.ts
│   │   │   │   │   ├── Map/
│   │   │   │   │   │   ├── Map.test.ts
│   │   │   │   │   │   ├── MapFromRecord.test.ts
│   │   │   │   │   │   └── MapFromSelf.test.ts
│   │   │   │   │   ├── Never/
│   │   │   │   │   │   └── Never.test.ts
│   │   │   │   │   ├── NonEmptyArrayEnsure.test.ts
│   │   │   │   │   ├── Number/
│   │   │   │   │   │   ├── JsonNumber.test.ts
│   │   │   │   │   │   ├── Number.test.ts
│   │   │   │   │   │   ├── between.test.ts
│   │   │   │   │   │   ├── clamp.test.ts
│   │   │   │   │   │   ├── finite.test.ts
│   │   │   │   │   │   ├── greaterThan.test.ts
│   │   │   │   │   │   ├── greaterThanOrEqualTo.test.ts
│   │   │   │   │   │   ├── int.test.ts
│   │   │   │   │   │   ├── lessThan.test.ts
│   │   │   │   │   │   ├── lessThanOrEqualTo.test.ts
│   │   │   │   │   │   ├── multipleOf.test.ts
│   │   │   │   │   │   ├── negative.test.ts
│   │   │   │   │   │   ├── nonNaN.test.ts
│   │   │   │   │   │   ├── nonNegative.test.ts
│   │   │   │   │   │   ├── nonPositive.test.ts
│   │   │   │   │   │   ├── numberFromString.test.ts
│   │   │   │   │   │   └── positive.test.ts
│   │   │   │   │   ├── Object/
│   │   │   │   │   │   └── Object.test.ts
│   │   │   │   │   ├── Option/
│   │   │   │   │   │   ├── Option.test.ts
│   │   │   │   │   │   ├── OptionFromNonEmptyTrimmedString.test.ts
│   │   │   │   │   │   ├── OptionFromNullOr.test.ts
│   │   │   │   │   │   ├── OptionFromNullishOr.test.ts
│   │   │   │   │   │   ├── OptionFromSelf.test.ts
│   │   │   │   │   │   └── OptionFromUndefinedOr.test.ts
│   │   │   │   │   ├── ParseOptions-errors.test.ts
│   │   │   │   │   ├── ParseOptions-exact.test.ts
│   │   │   │   │   ├── ParseOptions-onExcessProperty.test.ts
│   │   │   │   │   ├── ParseOptions-preserveKeyOrder.test.ts
│   │   │   │   │   ├── ParseOptionsAnnotation.test.ts
│   │   │   │   │   ├── PropertyKey/
│   │   │   │   │   │   └── PropertyKey.test.ts
│   │   │   │   │   ├── PropertySignature.test.ts
│   │   │   │   │   ├── ReadonlyMap/
│   │   │   │   │   │   ├── ReadonlyMap.test.ts
│   │   │   │   │   │   ├── ReadonlyMapFromRecord.test.ts
│   │   │   │   │   │   └── ReadonlyMapFromSelf.test.ts
│   │   │   │   │   ├── ReadonlySet/
│   │   │   │   │   │   ├── ReadonlySet.test.ts
│   │   │   │   │   │   └── ReadonlySetFromSelf.test.ts
│   │   │   │   │   ├── Record/
│   │   │   │   │   │   └── Record.test.ts
│   │   │   │   │   ├── Redacted/
│   │   │   │   │   │   ├── Redacted.test.ts
│   │   │   │   │   │   └── RedactedFromSelf.test.ts
│   │   │   │   │   ├── Set/
│   │   │   │   │   │   ├── Set.test.ts
│   │   │   │   │   │   └── SetFromSelf.test.ts
│   │   │   │   │   ├── SortedSet/
│   │   │   │   │   │   ├── SortedSet.test.ts
│   │   │   │   │   │   └── SortedSetFromSelf.test.ts
│   │   │   │   │   ├── String/
│   │   │   │   │   │   ├── NonEmptyTrimmedString.test.ts
│   │   │   │   │   │   ├── String.test.ts
│   │   │   │   │   │   ├── StringFromBase64.test.ts
│   │   │   │   │   │   ├── StringFromBase64Url.test.ts
│   │   │   │   │   │   ├── StringFromHex.test.ts
│   │   │   │   │   │   ├── StringFromUriComponent.test.ts
│   │   │   │   │   │   ├── capitalize.test.ts
│   │   │   │   │   │   ├── endsWith.test.ts
│   │   │   │   │   │   ├── includes.test.ts
│   │   │   │   │   │   ├── length.test.ts
│   │   │   │   │   │   ├── lowercase.test.ts
│   │   │   │   │   │   ├── maxLength.test.ts
│   │   │   │   │   │   ├── minLength.test.ts
│   │   │   │   │   │   ├── nonEmptyString.test.ts
│   │   │   │   │   │   ├── pattern.test.ts
│   │   │   │   │   │   ├── split.test.ts
│   │   │   │   │   │   ├── startsWith.test.ts
│   │   │   │   │   │   ├── trim.test.ts
│   │   │   │   │   │   ├── uncapitalize.test.ts
│   │   │   │   │   │   └── uppercase.test.ts
│   │   │   │   │   ├── Struct/
│   │   │   │   │   │   ├── Struct.test.ts
│   │   │   │   │   │   ├── make.test.ts
│   │   │   │   │   │   ├── omit.test.ts
│   │   │   │   │   │   └── pick.test.ts
│   │   │   │   │   ├── Symbol/
│   │   │   │   │   │   ├── Symbol.test.ts
│   │   │   │   │   │   └── SymbolFromSelf.test.ts
│   │   │   │   │   ├── TaggedStruct/
│   │   │   │   │   │   └── make.test.ts
│   │   │   │   │   ├── TemplateLiteral/
│   │   │   │   │   │   └── TemplateLiteral.test.ts
│   │   │   │   │   ├── TemplateLiteralParser.test.ts
│   │   │   │   │   ├── Trimmed/
│   │   │   │   │   │   └── Trimmed.test.ts
│   │   │   │   │   ├── Tuple/
│   │   │   │   │   │   └── Tuple.test.ts
│   │   │   │   │   ├── ULID.test.ts
│   │   │   │   │   ├── URL/
│   │   │   │   │   │   ├── URL.test.ts
│   │   │   │   │   │   └── URLFromSelf.test.ts
│   │   │   │   │   ├── UUID.test.ts
│   │   │   │   │   ├── Uint8Array/
│   │   │   │   │   │   ├── Uint8Array.test.ts
│   │   │   │   │   │   ├── Uint8ArrayFromBase64.test.ts
│   │   │   │   │   │   ├── Uint8ArrayFromBase64Url.test.ts
│   │   │   │   │   │   ├── Uint8ArrayFromHex.test.ts
│   │   │   │   │   │   └── Uint8ArrayFromSelf.test.ts
│   │   │   │   │   ├── Union/
│   │   │   │   │   │   └── Union.test.ts
│   │   │   │   │   ├── UniqueSymbol/
│   │   │   │   │   │   └── UniqueSymbolFromSelf.test.ts
│   │   │   │   │   ├── Unknown/
│   │   │   │   │   │   └── Unknown.test.ts
│   │   │   │   │   ├── Void/
│   │   │   │   │   │   └── Void.test.ts
│   │   │   │   │   ├── annotations.test.ts
│   │   │   │   │   ├── asserts.test.ts
│   │   │   │   │   ├── attachPropertySignature.test.ts
│   │   │   │   │   ├── brand.test.ts
│   │   │   │   │   ├── compose.test.ts
│   │   │   │   │   ├── decode.test.ts
│   │   │   │   │   ├── decodeEither.test.ts
│   │   │   │   │   ├── decodeOption.test.ts
│   │   │   │   │   ├── decodePromise.test.ts
│   │   │   │   │   ├── decodeSync.test.ts
│   │   │   │   │   ├── decodeUnknownEither.test.ts
│   │   │   │   │   ├── decodeUnknownOption.test.ts
│   │   │   │   │   ├── decodeUnknownPromise.test.ts
│   │   │   │   │   ├── decodeUnknownSync.test.ts
│   │   │   │   │   ├── encode.test.ts
│   │   │   │   │   ├── encodeEither.test.ts
│   │   │   │   │   ├── encodeOption.test.ts
│   │   │   │   │   ├── encodePromise.test.ts
│   │   │   │   │   ├── encodeSync.test.ts
│   │   │   │   │   ├── encodeUnknownEither.test.ts
│   │   │   │   │   ├── encodeUnknownOption.test.ts
│   │   │   │   │   ├── encodeUnknownPromise.test.ts
│   │   │   │   │   ├── encodeUnknownSync.test.ts
│   │   │   │   │   ├── encodedBoundSchema.test.ts
│   │   │   │   │   ├── encodedSchema.test.ts
│   │   │   │   │   ├── equivalence.test.ts
│   │   │   │   │   ├── extend.test.ts
│   │   │   │   │   ├── filter.test.ts
│   │   │   │   │   ├── filterEffect.test.ts
│   │   │   │   │   ├── fromBrand.test.ts
│   │   │   │   │   ├── getNumberIndexedAccess.test.ts
│   │   │   │   │   ├── instanceOf.test.ts
│   │   │   │   │   ├── is.test.ts
│   │   │   │   │   ├── isSchema.test.ts
│   │   │   │   │   ├── keyof.test.ts
│   │   │   │   │   ├── mutable.test.ts
│   │   │   │   │   ├── nonEmptyArray.test.ts
│   │   │   │   │   ├── omit.test.ts
│   │   │   │   │   ├── optional.test.ts
│   │   │   │   │   ├── optionalElement.test.ts
│   │   │   │   │   ├── optionalToRequired.test.ts
│   │   │   │   │   ├── optionalWith.test.ts
│   │   │   │   │   ├── parseJson.test.ts
│   │   │   │   │   ├── partial.test.ts
│   │   │   │   │   ├── partialWith.test.ts
│   │   │   │   │   ├── pick.test.ts
│   │   │   │   │   ├── pickLiteral.test.ts
│   │   │   │   │   ├── pipe.test.ts
│   │   │   │   │   ├── pluck.test.ts
│   │   │   │   │   ├── rename.test.ts
│   │   │   │   │   ├── required.test.ts
│   │   │   │   │   ├── requiredToOptional.test.ts
│   │   │   │   │   ├── standardSchemaV1.test.ts
│   │   │   │   │   ├── suspend.test.ts
│   │   │   │   │   ├── transform.test.ts
│   │   │   │   │   ├── transformLiterals.test.ts
│   │   │   │   │   ├── transformOrFail.test.ts
│   │   │   │   │   ├── typeSchema.test.ts
│   │   │   │   │   ├── validate.test.ts
│   │   │   │   │   ├── validateEither.test.ts
│   │   │   │   │   ├── validateOption.test.ts
│   │   │   │   │   ├── validatePromise.test.ts
│   │   │   │   │   ├── validateSync.test.ts
│   │   │   │   │   ├── withConstructorDefault.test.ts
│   │   │   │   │   └── withDecodingDefault.test.ts
│   │   │   │   ├── SchemaAST/
│   │   │   │   │   ├── IndexSignature.test.ts
│   │   │   │   │   ├── Refinement.test.ts
│   │   │   │   │   ├── Tuple.test.ts
│   │   │   │   │   ├── TypeLiteral.test.ts
│   │   │   │   │   ├── TypeLiteralTransformation.test.ts
│   │   │   │   │   ├── Union.test.ts
│   │   │   │   │   ├── annotations.test.ts
│   │   │   │   │   ├── encodedAST.test.ts
│   │   │   │   │   ├── encodedBoundAST.test.ts
│   │   │   │   │   ├── equals.test.ts
│   │   │   │   │   ├── getPropertySignatures.test.ts
│   │   │   │   │   ├── guards.test.ts
│   │   │   │   │   ├── mutable.test.ts
│   │   │   │   │   ├── partial.test.ts
│   │   │   │   │   ├── record.test.ts
│   │   │   │   │   ├── suspend.test.ts
│   │   │   │   │   ├── typeAST.test.ts
│   │   │   │   │   └── unify.test.ts
│   │   │   │   ├── SchemaTest.ts
│   │   │   │   ├── SchemaUserland.test.ts
│   │   │   │   ├── Serializable.test.ts
│   │   │   │   └── TestUtils.ts
│   │   │   ├── Scope.test.ts
│   │   │   ├── ScopedCache.test.ts
│   │   │   ├── ScopedRef.test.ts
│   │   │   ├── Sink/
│   │   │   │   ├── collecting.test.ts
│   │   │   │   ├── constructors.test.ts
│   │   │   │   ├── dropping.test.ts
│   │   │   │   ├── elements.test.ts
│   │   │   │   ├── environment.test.ts
│   │   │   │   ├── error-handling.test.ts
│   │   │   │   ├── filtering.test.ts
│   │   │   │   ├── finalization.test.ts
│   │   │   │   ├── folding.test.ts
│   │   │   │   ├── foreign.test.ts
│   │   │   │   ├── mapping.test.ts
│   │   │   │   ├── racing.test.ts
│   │   │   │   ├── refining.test.ts
│   │   │   │   ├── scoping.test.ts
│   │   │   │   ├── sequencing.test.ts
│   │   │   │   ├── traversing.test.ts
│   │   │   │   └── zipping.test.ts
│   │   │   ├── SortedMap.test.ts
│   │   │   ├── SortedSet.test.ts
│   │   │   ├── Stream/
│   │   │   │   ├── aggregation.test.ts
│   │   │   │   ├── async.test.ts
│   │   │   │   ├── broadcasting.test.ts
│   │   │   │   ├── buffering.test.ts
│   │   │   │   ├── changing.test.ts
│   │   │   │   ├── collecting.test.ts
│   │   │   │   ├── concatenation.test.ts
│   │   │   │   ├── conditionals.test.ts
│   │   │   │   ├── constructors.test.ts
│   │   │   │   ├── conversions.test.ts
│   │   │   │   ├── distributing.test.ts
│   │   │   │   ├── do-notation.test.ts
│   │   │   │   ├── draining.test.ts
│   │   │   │   ├── dropping.test.ts
│   │   │   │   ├── encoding.test.ts
│   │   │   │   ├── environment.test.ts
│   │   │   │   ├── error-handling.test.ts
│   │   │   │   ├── filtering.test.ts
│   │   │   │   ├── finding.test.ts
│   │   │   │   ├── foreign.test.ts
│   │   │   │   ├── fromEventListener.test.ts
│   │   │   │   ├── getters.test.ts
│   │   │   │   ├── grouping.test.ts
│   │   │   │   ├── halting.test.ts
│   │   │   │   ├── interleaving.test.ts
│   │   │   │   ├── interrupting.test.ts
│   │   │   │   ├── interspersing.test.ts
│   │   │   │   ├── lifecycle.test.ts
│   │   │   │   ├── mapping.test.ts
│   │   │   │   ├── merging.test.ts
│   │   │   │   ├── pagination.test.ts
│   │   │   │   ├── partitioning.test.ts
│   │   │   │   ├── peeling.test.ts
│   │   │   │   ├── racing.test.ts
│   │   │   │   ├── repeating.test.ts
│   │   │   │   ├── retrying.test.ts
│   │   │   │   ├── running.test.ts
│   │   │   │   ├── scanning.test.ts
│   │   │   │   ├── scheduling.test.ts
│   │   │   │   ├── scoping.test.ts
│   │   │   │   ├── sequencing.test.ts
│   │   │   │   ├── sliding.test.ts
│   │   │   │   ├── splitting.test.ts
│   │   │   │   ├── streamable.test.ts
│   │   │   │   ├── taking.test.ts
│   │   │   │   ├── tapping.test.ts
│   │   │   │   ├── throttling.test.ts
│   │   │   │   ├── timeouts.test.ts
│   │   │   │   ├── transducing.test.ts
│   │   │   │   └── zipping.test.ts
│   │   │   ├── String.test.ts
│   │   │   ├── Struct.test.ts
│   │   │   ├── SubscriptionRef.test.ts
│   │   │   ├── Symbol.test.ts
│   │   │   ├── SynchronizedRef.test.ts
│   │   │   ├── TArray.test.ts
│   │   │   ├── TMap.test.ts
│   │   │   ├── TPriorityQueue.test.ts
│   │   │   ├── TPubSub.test.ts
│   │   │   ├── TQueue.test.ts
│   │   │   ├── TRandom.test.ts
│   │   │   ├── TReentrantLock.test.ts
│   │   │   ├── TSet.test.ts
│   │   │   ├── TSubscriptionRef.test.ts
│   │   │   ├── TestClock.test.ts
│   │   │   ├── Tracer.test.ts
│   │   │   ├── Trie.test.ts
│   │   │   ├── Tuple.test.ts
│   │   │   ├── assertions.test.ts
│   │   │   ├── util.ts
│   │   │   └── utils/
│   │   │       ├── cache/
│   │   │       │   ├── ObservableResource.ts
│   │   │       │   └── WatchableLookup.ts
│   │   │       ├── cause.ts
│   │   │       ├── coordination.ts
│   │   │       ├── counter.ts
│   │   │       ├── equals.ts
│   │   │       ├── latch.ts
│   │   │       └── unfoldEffect.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── experimental/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   ├── dev-tools.ts
│   │   │   ├── machine.ts
│   │   │   ├── rate-limiter.ts
│   │   │   ├── redis/
│   │   │   │   ├── docker-compose.yaml
│   │   │   │   └── resolver.ts
│   │   │   └── serializable-machine.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── DevTools/
│   │   │   │   ├── Client.ts
│   │   │   │   ├── Domain.ts
│   │   │   │   └── Server.ts
│   │   │   ├── DevTools.ts
│   │   │   ├── Event.ts
│   │   │   ├── EventGroup.ts
│   │   │   ├── EventJournal.ts
│   │   │   ├── EventLog.ts
│   │   │   ├── EventLogEncryption.ts
│   │   │   ├── EventLogRemote.ts
│   │   │   ├── EventLogServer/
│   │   │   │   └── Cloudflare.ts
│   │   │   ├── EventLogServer.ts
│   │   │   ├── Machine/
│   │   │   │   ├── Procedure.ts
│   │   │   │   ├── ProcedureList.ts
│   │   │   │   └── SerializableProcedureList.ts
│   │   │   ├── Machine.ts
│   │   │   ├── PersistedCache.ts
│   │   │   ├── PersistedQueue/
│   │   │   │   └── Redis.ts
│   │   │   ├── PersistedQueue.ts
│   │   │   ├── Persistence/
│   │   │   │   ├── Lmdb.ts
│   │   │   │   └── Redis.ts
│   │   │   ├── Persistence.ts
│   │   │   ├── RateLimiter/
│   │   │   │   └── Redis.ts
│   │   │   ├── RateLimiter.ts
│   │   │   ├── Reactivity.ts
│   │   │   ├── RequestResolver.ts
│   │   │   ├── Sse.ts
│   │   │   ├── VariantSchema.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Machine.test.ts
│   │   │   ├── PersistedCache.test.ts
│   │   │   ├── PersistedQueue.test.ts
│   │   │   ├── RateLimiter.test.ts
│   │   │   ├── RequestResolver.test.ts
│   │   │   └── utils/
│   │   │       ├── extend.ts
│   │   │       └── redis.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── opentelemetry/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   ├── index.ts
│   │   │   ├── metrics.ts
│   │   │   ├── native-exporter.ts
│   │   │   └── otlp-exporter.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Logger.ts
│   │   │   ├── Metrics.ts
│   │   │   ├── NodeSdk.ts
│   │   │   ├── Otlp.ts
│   │   │   ├── OtlpLogger.ts
│   │   │   ├── OtlpMetrics.ts
│   │   │   ├── OtlpResource.ts
│   │   │   ├── OtlpSerialization.ts
│   │   │   ├── OtlpTracer.ts
│   │   │   ├── Resource.ts
│   │   │   ├── Tracer.ts
│   │   │   ├── WebSdk.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── metrics.ts
│   │   │       ├── otlpExporter.ts
│   │   │       ├── otlpProtobuf.ts
│   │   │       ├── protobuf.ts
│   │   │       ├── tracer.ts
│   │   │       └── utils.ts
│   │   ├── test/
│   │   │   ├── Logger.test.ts
│   │   │   ├── Metrics.test.ts
│   │   │   ├── OtlpSerialization.test.ts
│   │   │   ├── Protobuf.test.ts
│   │   │   └── Tracer.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── platform/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── dtslint/
│   │   │   ├── HttpApiClient.tst.ts
│   │   │   ├── HttpApiEndpoint.tst.ts
│   │   │   ├── HttpApiError.tst.ts
│   │   │   ├── HttpRouter.tst.ts
│   │   │   └── tsconfig.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── ChannelSchema.ts
│   │   │   ├── Command.ts
│   │   │   ├── CommandExecutor.ts
│   │   │   ├── Cookies.ts
│   │   │   ├── Effectify.ts
│   │   │   ├── Error.ts
│   │   │   ├── Etag.ts
│   │   │   ├── FetchHttpClient.ts
│   │   │   ├── FileSystem.ts
│   │   │   ├── Headers.ts
│   │   │   ├── HttpApi.ts
│   │   │   ├── HttpApiBuilder.ts
│   │   │   ├── HttpApiClient.ts
│   │   │   ├── HttpApiEndpoint.ts
│   │   │   ├── HttpApiError.ts
│   │   │   ├── HttpApiGroup.ts
│   │   │   ├── HttpApiMiddleware.ts
│   │   │   ├── HttpApiScalar.ts
│   │   │   ├── HttpApiSchema.ts
│   │   │   ├── HttpApiSecurity.ts
│   │   │   ├── HttpApiSwagger.ts
│   │   │   ├── HttpApp.ts
│   │   │   ├── HttpBody.ts
│   │   │   ├── HttpClient.ts
│   │   │   ├── HttpClientError.ts
│   │   │   ├── HttpClientRequest.ts
│   │   │   ├── HttpClientResponse.ts
│   │   │   ├── HttpIncomingMessage.ts
│   │   │   ├── HttpLayerRouter.ts
│   │   │   ├── HttpMethod.ts
│   │   │   ├── HttpMiddleware.ts
│   │   │   ├── HttpMultiplex.ts
│   │   │   ├── HttpPlatform.ts
│   │   │   ├── HttpRouter.ts
│   │   │   ├── HttpServer.ts
│   │   │   ├── HttpServerError.ts
│   │   │   ├── HttpServerRequest.ts
│   │   │   ├── HttpServerRespondable.ts
│   │   │   ├── HttpServerResponse.ts
│   │   │   ├── HttpTraceContext.ts
│   │   │   ├── KeyValueStore.ts
│   │   │   ├── MsgPack.ts
│   │   │   ├── Multipart.ts
│   │   │   ├── Ndjson.ts
│   │   │   ├── OpenApi.ts
│   │   │   ├── OpenApiJsonSchema.ts
│   │   │   ├── Path.ts
│   │   │   ├── PlatformConfigProvider.ts
│   │   │   ├── PlatformLogger.ts
│   │   │   ├── Runtime.ts
│   │   │   ├── Socket.ts
│   │   │   ├── SocketServer.ts
│   │   │   ├── Template.ts
│   │   │   ├── Terminal.ts
│   │   │   ├── Transferable.ts
│   │   │   ├── Url.ts
│   │   │   ├── UrlParams.ts
│   │   │   ├── Worker.ts
│   │   │   ├── WorkerError.ts
│   │   │   ├── WorkerRunner.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── command.ts
│   │   │       ├── commandExecutor.ts
│   │   │       ├── effectify.ts
│   │   │       ├── etag.ts
│   │   │       ├── fetchHttpClient.ts
│   │   │       ├── fileSystem.ts
│   │   │       ├── html.ts
│   │   │       ├── httpApiScalar.ts
│   │   │       ├── httpApiSwagger.ts
│   │   │       ├── httpApp.ts
│   │   │       ├── httpBody.ts
│   │   │       ├── httpClient.ts
│   │   │       ├── httpClientError.ts
│   │   │       ├── httpClientRequest.ts
│   │   │       ├── httpClientResponse.ts
│   │   │       ├── httpMiddleware.ts
│   │   │       ├── httpMultiplex.ts
│   │   │       ├── httpPlatform.ts
│   │   │       ├── httpRouter.ts
│   │   │       ├── httpServer.ts
│   │   │       ├── httpServerError.ts
│   │   │       ├── httpServerRequest.ts
│   │   │       ├── httpServerResponse.ts
│   │   │       ├── keyValueStore.ts
│   │   │       ├── path.ts
│   │   │       ├── platformConfigProvider.ts
│   │   │       ├── platformLogger.ts
│   │   │       ├── terminal.ts
│   │   │       ├── worker.ts
│   │   │       ├── workerError.ts
│   │   │       └── workerRunner.ts
│   │   ├── test/
│   │   │   ├── ConfigProvider.test.ts
│   │   │   ├── Cookies.test.ts
│   │   │   ├── FileSystem.test.ts
│   │   │   ├── Headers.test.ts
│   │   │   ├── HttpApiBuilder.test.ts
│   │   │   ├── HttpApiError.test.ts
│   │   │   ├── HttpApp.test.ts
│   │   │   ├── HttpBody.test.ts
│   │   │   ├── HttpClient.test.ts
│   │   │   ├── HttpTraceContext.test.ts
│   │   │   ├── KeyValueStore.test.ts
│   │   │   ├── Multipart.test.ts
│   │   │   ├── OpenApi.test.ts
│   │   │   ├── OpenApiJsonSchema.test.ts
│   │   │   ├── Path.test.ts
│   │   │   ├── PlatformLogger.test.ts
│   │   │   ├── Template.test.ts
│   │   │   ├── Transferable.test.ts
│   │   │   ├── Url.test.ts
│   │   │   └── UrlParams.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── platform-browser/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   └── keyValueStore.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── BrowserHttpClient.ts
│   │   │   ├── BrowserKeyValueStore.ts
│   │   │   ├── BrowserRuntime.ts
│   │   │   ├── BrowserSocket.ts
│   │   │   ├── BrowserStream.ts
│   │   │   ├── BrowserWorker.ts
│   │   │   ├── BrowserWorkerRunner.ts
│   │   │   ├── Clipboard.ts
│   │   │   ├── Geolocation.ts
│   │   │   ├── Permissions.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── httpClient.ts
│   │   │       ├── keyValueStore.ts
│   │   │       ├── runtime.ts
│   │   │       ├── stream.ts
│   │   │       ├── worker.ts
│   │   │       └── workerRunner.ts
│   │   ├── test/
│   │   │   ├── BrowserHttpClient.test.ts
│   │   │   ├── KeyValueStore.test.ts
│   │   │   ├── Permissions.test.ts
│   │   │   ├── RpcWorker.test.ts
│   │   │   ├── Worker.test.ts
│   │   │   └── fixtures/
│   │   │       ├── rpc-worker.ts
│   │   │       ├── schema.ts
│   │   │       ├── serializedWorker.ts
│   │   │       └── worker.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── platform-bun/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   ├── http-client.ts
│   │   │   ├── http-router.ts
│   │   │   ├── http-server.ts
│   │   │   ├── http-tag-router.ts
│   │   │   ├── worker/
│   │   │   │   └── range.ts
│   │   │   └── worker.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── BunClusterHttp.ts
│   │   │   ├── BunClusterSocket.ts
│   │   │   ├── BunCommandExecutor.ts
│   │   │   ├── BunContext.ts
│   │   │   ├── BunFileSystem/
│   │   │   │   └── ParcelWatcher.ts
│   │   │   ├── BunFileSystem.ts
│   │   │   ├── BunHttpPlatform.ts
│   │   │   ├── BunHttpServer.ts
│   │   │   ├── BunHttpServerRequest.ts
│   │   │   ├── BunKeyValueStore.ts
│   │   │   ├── BunMultipart.ts
│   │   │   ├── BunPath.ts
│   │   │   ├── BunRuntime.ts
│   │   │   ├── BunSink.ts
│   │   │   ├── BunSocket.ts
│   │   │   ├── BunSocketServer.ts
│   │   │   ├── BunStream.ts
│   │   │   ├── BunTerminal.ts
│   │   │   ├── BunWorker.ts
│   │   │   ├── BunWorkerRunner.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── httpPlatform.ts
│   │   │       ├── httpServer.ts
│   │   │       ├── multipart.ts
│   │   │       ├── worker.ts
│   │   │       └── workerRunner.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── platform-node/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   ├── api.ts
│   │   │   ├── cluster.ts
│   │   │   ├── fs-watch.ts
│   │   │   ├── http-client.ts
│   │   │   ├── http-router.ts
│   │   │   ├── http-server.ts
│   │   │   ├── http-tag-router.ts
│   │   │   ├── terminal.ts
│   │   │   ├── worker/
│   │   │   │   └── range.ts
│   │   │   └── worker.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── NodeClusterHttp.ts
│   │   │   ├── NodeClusterSocket.ts
│   │   │   ├── NodeCommandExecutor.ts
│   │   │   ├── NodeContext.ts
│   │   │   ├── NodeFileSystem/
│   │   │   │   └── ParcelWatcher.ts
│   │   │   ├── NodeFileSystem.ts
│   │   │   ├── NodeHttpClient.ts
│   │   │   ├── NodeHttpPlatform.ts
│   │   │   ├── NodeHttpServer.ts
│   │   │   ├── NodeHttpServerRequest.ts
│   │   │   ├── NodeKeyValueStore.ts
│   │   │   ├── NodeMultipart.ts
│   │   │   ├── NodePath.ts
│   │   │   ├── NodeRuntime.ts
│   │   │   ├── NodeSink.ts
│   │   │   ├── NodeSocket.ts
│   │   │   ├── NodeSocketServer.ts
│   │   │   ├── NodeStream.ts
│   │   │   ├── NodeTerminal.ts
│   │   │   ├── NodeWorker.ts
│   │   │   ├── NodeWorkerRunner.ts
│   │   │   ├── Undici.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── httpClient.ts
│   │   │       ├── httpClientUndici.ts
│   │   │       ├── httpIncomingMessage.ts
│   │   │       ├── httpPlatform.ts
│   │   │       ├── httpServer.ts
│   │   │       ├── worker.ts
│   │   │       └── workerRunner.ts
│   │   ├── test/
│   │   │   ├── HttpApi.test.ts
│   │   │   ├── HttpClient.test.ts
│   │   │   ├── HttpServer.test.ts
│   │   │   ├── MsgPack.test.ts
│   │   │   ├── Ndjson.test.ts
│   │   │   ├── PlatformConfigProvider.test.ts
│   │   │   ├── RpcServer.test.ts
│   │   │   ├── Socket.test.ts
│   │   │   ├── fixtures/
│   │   │   │   ├── config/
│   │   │   │   │   ├── SHOUTING
│   │   │   │   │   ├── integer
│   │   │   │   │   └── secret
│   │   │   │   ├── openapi.json
│   │   │   │   ├── rpc-schemas.ts
│   │   │   │   ├── rpc-worker.ts
│   │   │   │   └── text.txt
│   │   │   └── rpc-e2e.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── platform-node-shared/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── NodeClusterSocket.ts
│   │   │   ├── NodeCommandExecutor.ts
│   │   │   ├── NodeFileSystem/
│   │   │   │   └── ParcelWatcher.ts
│   │   │   ├── NodeFileSystem.ts
│   │   │   ├── NodeKeyValueStore.ts
│   │   │   ├── NodeMultipart.ts
│   │   │   ├── NodePath.ts
│   │   │   ├── NodeRuntime.ts
│   │   │   ├── NodeSink.ts
│   │   │   ├── NodeSocket.ts
│   │   │   ├── NodeSocketServer.ts
│   │   │   ├── NodeStream.ts
│   │   │   ├── NodeTerminal.ts
│   │   │   └── internal/
│   │   │       ├── commandExecutor.ts
│   │   │       ├── error.ts
│   │   │       ├── fileSystem/
│   │   │       │   └── parcelWatcher.ts
│   │   │       ├── fileSystem.ts
│   │   │       ├── multipart.ts
│   │   │       ├── path.ts
│   │   │       ├── runtime.ts
│   │   │       ├── sink.ts
│   │   │       ├── stream.ts
│   │   │       └── terminal.ts
│   │   ├── test/
│   │   │   ├── CommandExecutor.test.ts
│   │   │   ├── FileSystem.test.ts
│   │   │   ├── KeyValueStore.test.ts
│   │   │   ├── PlatformConfigProvider.test.ts
│   │   │   ├── Sink.test.ts
│   │   │   ├── Stream.test.ts
│   │   │   ├── Terminal.test.ts
│   │   │   └── fixtures/
│   │   │       ├── bash/
│   │   │       │   ├── duplex.sh
│   │   │       │   ├── no-permissions.sh
│   │   │       │   ├── non-zero-exit.sh
│   │   │       │   ├── parent-exits-early.sh
│   │   │       │   ├── repeat.sh
│   │   │       │   └── spawn-children.sh
│   │   │       ├── config/
│   │   │       │   ├── SHOUTING
│   │   │       │   ├── integer
│   │   │       │   ├── nested/
│   │   │       │   │   └── config
│   │   │       │   └── secret
│   │   │       └── text.txt
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── printer/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   └── main.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Doc.ts
│   │   │   ├── DocStream.ts
│   │   │   ├── DocTree.ts
│   │   │   ├── Flatten.ts
│   │   │   ├── Layout.ts
│   │   │   ├── Optimize.ts
│   │   │   ├── PageWidth.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── doc.ts
│   │   │       ├── docStream.ts
│   │   │       ├── docTree.ts
│   │   │       ├── docTreeToken.ts
│   │   │       ├── flatten.ts
│   │   │       ├── layout.ts
│   │   │       ├── layoutPipeline.ts
│   │   │       ├── optimize.ts
│   │   │       ├── pageWidth.ts
│   │   │       └── render.ts
│   │   ├── test/
│   │   │   ├── doc.test.ts
│   │   │   ├── docStream.test.ts
│   │   │   ├── docTree.test.ts
│   │   │   ├── flatten.test.ts
│   │   │   ├── layout.test.ts
│   │   │   ├── optimize.test.ts
│   │   │   ├── pageWidth.test.ts
│   │   │   ├── render.test.ts
│   │   │   └── utils/
│   │   │       └── DocArbitrary.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── printer-ansi/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   └── main.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Ansi.ts
│   │   │   ├── AnsiDoc.ts
│   │   │   ├── Color.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── ansi.ts
│   │   │       ├── ansiDoc.ts
│   │   │       ├── ansiRender.ts
│   │   │       ├── color.ts
│   │   │       └── sgr.ts
│   │   ├── test/
│   │   │   └── terminal.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── rpc/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Rpc.ts
│   │   │   ├── RpcClient.ts
│   │   │   ├── RpcClientError.ts
│   │   │   ├── RpcGroup.ts
│   │   │   ├── RpcMessage.ts
│   │   │   ├── RpcMiddleware.ts
│   │   │   ├── RpcSchema.ts
│   │   │   ├── RpcSerialization.ts
│   │   │   ├── RpcServer.ts
│   │   │   ├── RpcTest.ts
│   │   │   ├── RpcWorker.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       └── utils.ts
│   │   ├── test/
│   │   │   └── Rpc.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Migrator/
│   │   │   │   └── FileSystem.ts
│   │   │   ├── Migrator.ts
│   │   │   ├── Model.ts
│   │   │   ├── SqlClient.ts
│   │   │   ├── SqlConnection.ts
│   │   │   ├── SqlError.ts
│   │   │   ├── SqlEventJournal.ts
│   │   │   ├── SqlEventLogServer.ts
│   │   │   ├── SqlPersistedQueue.ts
│   │   │   ├── SqlResolver.ts
│   │   │   ├── SqlSchema.ts
│   │   │   ├── SqlStream.ts
│   │   │   ├── Statement.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── client.ts
│   │   │       └── statement.ts
│   │   ├── test/
│   │   │   ├── SqlPersistedQueueTest.ts
│   │   │   └── index.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-clickhouse/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   └── basic.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── ClickhouseClient.ts
│   │   │   ├── ClickhouseMigrator.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   └── Client.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-d1/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── D1Client.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Client.test.ts
│   │   │   ├── Resolver.test.ts
│   │   │   └── utils.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-drizzle/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   └── sqlite.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Mysql.ts
│   │   │   ├── Pg.ts
│   │   │   ├── Sqlite.ts
│   │   │   └── internal/
│   │   │       └── patch.ts
│   │   ├── test/
│   │   │   ├── Mysql.test.ts
│   │   │   ├── Pg.test.ts
│   │   │   ├── Sqlite.test.ts
│   │   │   └── utils.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-kysely/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   └── sqlite.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Kysely.ts
│   │   │   ├── Mssql.ts
│   │   │   ├── Mysql.ts
│   │   │   ├── Pg.ts
│   │   │   ├── Sqlite.ts
│   │   │   ├── internal/
│   │   │   │   ├── kysely.ts
│   │   │   │   └── patch.ts
│   │   │   └── patch.types.ts
│   │   ├── test/
│   │   │   ├── Kysely.test.ts
│   │   │   ├── Mssql.test.ts
│   │   │   ├── Mysql.test.ts
│   │   │   ├── Pg.test.ts
│   │   │   ├── Sqlite.test.ts
│   │   │   └── utils.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-libsql/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── LibsqlClient.ts
│   │   │   ├── LibsqlMigrator.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Client.test.ts
│   │   │   ├── Resolver.test.ts
│   │   │   └── util.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-mssql/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   ├── docker-compose.yaml
│   │   │   ├── migrations/
│   │   │   │   └── 0001_create_people.ts
│   │   │   └── migrations.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── .index.ts
│   │   │   ├── MssqlClient.ts
│   │   │   ├── MssqlMigrator.ts
│   │   │   ├── Parameter.ts
│   │   │   ├── Procedure.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   └── Client.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-mysql2/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   └── statement-transform.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── MysqlClient.ts
│   │   │   ├── MysqlMigrator.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Client.test.ts
│   │   │   ├── Model.test.ts
│   │   │   ├── SqlPersistedQueue.test.ts
│   │   │   └── utils.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-pg/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   ├── listen-notify.ts
│   │   │   └── resolver.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── PgClient.ts
│   │   │   ├── PgMigrator.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Client.test.ts
│   │   │   ├── SqlPersistedQueue.test.ts
│   │   │   └── utils.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-sqlite-bun/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   └── Client.test.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── SqliteClient.ts
│   │   │   ├── SqliteMigrator.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   └── Client.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-sqlite-do/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── SqliteClient.ts
│   │   │   ├── SqliteMigrator.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   └── Client.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-sqlite-node/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── SqliteClient.ts
│   │   │   ├── SqliteMigrator.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Client.test.ts
│   │   │   ├── Resolver.test.ts
│   │   │   └── SqlPersistedQueue.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-sqlite-react-native/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── SqliteClient.ts
│   │   │   ├── SqliteMigrator.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   └── Client.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-sqlite-wasm/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── OpfsWorker.ts
│   │   │   ├── SqliteClient.ts
│   │   │   ├── SqliteMigrator.ts
│   │   │   ├── index.ts
│   │   │   ├── internal/
│   │   │   │   └── opfsWorker.ts
│   │   │   └── sqlite-wasm.d.ts
│   │   ├── test/
│   │   │   └── Client.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── typeclass/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── dtslint/
│   │   │   ├── FlatMap.tst.ts
│   │   │   ├── Monoid.tst.ts
│   │   │   ├── Product.tst.ts
│   │   │   ├── SemiAlternative.tst.ts
│   │   │   ├── SemiProduct.tst.ts
│   │   │   ├── Semigroup.tst.ts
│   │   │   └── tsconfig.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Alternative.ts
│   │   │   ├── Applicative.ts
│   │   │   ├── Bicovariant.ts
│   │   │   ├── Bounded.ts
│   │   │   ├── Chainable.ts
│   │   │   ├── Contravariant.ts
│   │   │   ├── Coproduct.ts
│   │   │   ├── Covariant.ts
│   │   │   ├── Filterable.ts
│   │   │   ├── FlatMap.ts
│   │   │   ├── Foldable.ts
│   │   │   ├── Invariant.ts
│   │   │   ├── Monad.ts
│   │   │   ├── Monoid.ts
│   │   │   ├── Of.ts
│   │   │   ├── Pointed.ts
│   │   │   ├── Product.ts
│   │   │   ├── SemiAlternative.ts
│   │   │   ├── SemiApplicative.ts
│   │   │   ├── SemiCoproduct.ts
│   │   │   ├── SemiProduct.ts
│   │   │   ├── Semigroup.ts
│   │   │   ├── Traversable.ts
│   │   │   ├── TraversableFilterable.ts
│   │   │   ├── data/
│   │   │   │   ├── Array.ts
│   │   │   │   ├── BigInt.ts
│   │   │   │   ├── Boolean.ts
│   │   │   │   ├── Duration.ts
│   │   │   │   ├── Effect.ts
│   │   │   │   ├── Either.ts
│   │   │   │   ├── Identity.ts
│   │   │   │   ├── Micro.ts
│   │   │   │   ├── Number.ts
│   │   │   │   ├── Option.ts
│   │   │   │   ├── Ordering.ts
│   │   │   │   ├── Predicate.ts
│   │   │   │   ├── Record.ts
│   │   │   │   ├── String.ts
│   │   │   │   └── Tuple.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       └── Iterable.ts
│   │   ├── test/
│   │   │   ├── Applicative.test.ts
│   │   │   ├── Bicovariant.test.ts
│   │   │   ├── Bounded.test.ts
│   │   │   ├── Chainable.test.ts
│   │   │   ├── Contravariant.test.ts
│   │   │   ├── Coproduct.test.ts
│   │   │   ├── Covariant.test.ts
│   │   │   ├── Filterable.test.ts
│   │   │   ├── FlatMap.test.ts
│   │   │   ├── Foldable.test.ts
│   │   │   ├── Invariant.test.ts
│   │   │   ├── Monoid.test.ts
│   │   │   ├── Of.test.ts
│   │   │   ├── Product.test.ts
│   │   │   ├── SemiApplicative.test.ts
│   │   │   ├── SemiProduct.test.ts
│   │   │   ├── Semigroup.test.ts
│   │   │   ├── Traversable.test.ts
│   │   │   ├── TraversableFilterable.test.ts
│   │   │   ├── data/
│   │   │   │   ├── Array.test.ts
│   │   │   │   ├── BigInt.test.ts
│   │   │   │   ├── Boolean.test.ts
│   │   │   │   ├── Effect.test.ts
│   │   │   │   ├── Either.test.ts
│   │   │   │   ├── Micro.test.ts
│   │   │   │   ├── Number.test.ts
│   │   │   │   ├── Option.test.ts
│   │   │   │   ├── Predicate.test.ts
│   │   │   │   └── Record.test.ts
│   │   │   └── util.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── vitest/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── index.ts
│   │   │   ├── internal/
│   │   │   │   └── internal.ts
│   │   │   └── utils.ts
│   │   ├── test/
│   │   │   ├── advent-of-pbt-2024/
│   │   │   │   └── day-1.test.ts
│   │   │   ├── equality-tester.test.ts
│   │   │   └── index.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   └── workflow/
│       ├── CHANGELOG.md
│       ├── LICENSE
│       ├── README.md
│       ├── docgen.json
│       ├── package.json
│       ├── src/
│       │   ├── Activity.ts
│       │   ├── DurableClock.ts
│       │   ├── DurableDeferred.ts
│       │   ├── DurableQueue.ts
│       │   ├── DurableRateLimiter.ts
│       │   ├── Workflow.ts
│       │   ├── WorkflowEngine.ts
│       │   ├── WorkflowProxy.ts
│       │   ├── WorkflowProxyServer.ts
│       │   ├── index.ts
│       │   └── internal/
│       │       └── crypto.ts
│       ├── test/
│       │   └── WorkflowEngine.test.ts
│       ├── tsconfig.build.json
│       ├── tsconfig.json
│       ├── tsconfig.src.json
│       ├── tsconfig.test.json
│       └── vitest.config.ts
├── patches/
│   ├── @changesets__assemble-release-plan.patch
│   └── @changesets__get-github-info@0.6.0.patch
├── pnpm-workspace.yaml
├── scripts/
│   ├── circular.mjs
│   ├── clean.mjs
│   ├── codemod-ts-fence.mjs
│   ├── codemod.mjs
│   ├── codemods/
│   │   ├── jsdoc.ts
│   │   ├── ts-fence.test.ts
│   │   ├── ts-fence.ts
│   │   └── vitest.config.ts
│   ├── docs.mjs
│   ├── jsdocs/
│   │   └── code2jsdoc-example.html
│   ├── package-scalar.mjs
│   ├── package-swagger.mjs
│   ├── version.mjs
│   ├── version.template.txt
│   └── worktree-setup.sh
├── tsconfig.base.json
├── tsconfig.build.json
├── tsconfig.json
├── tstyche.config.json
├── vitest.setup.ts
├── vitest.shared.ts
└── vitest.workspace.ts

================================================
FILE CONTENTS
================================================

================================================
FILE: .changeset/config.json
================================================
{
  "$schema": "https://unpkg.com/@changesets/config@1.6.4/schema.json",
  "changelog": ["@changesets/changelog-github", { "repo": "Effect-TS/effect" }],
  "commit": false,
  "linked": [],
  "access": "restricted",
  "baseBranch": "main",
  "updateInternalDependencies": "patch",
  "ignore": ["scratchpad"],
  "snapshot": {
    "useCalculatedVersion": false,
    "prereleaseTemplate": "{tag}-{commit}"
  }
}


================================================
FILE: .github/CODEOWNERS
================================================
/packages/effect/ @mikearnaldi

/packages/effect/src/Arbitrary.ts @gcanti
/packages/effect/src/JSONSchema.ts @gcanti
/packages/effect/src/ParseResult.ts @gcanti
/packages/effect/src/Pretty.ts @gcanti
/packages/effect/src/Schema.ts @gcanti
/packages/effect/src/SchemaAST.ts @gcanti
/packages/effect/src/internal/schema/ @gcanti
/packages/effect/test/Schema/ @gcanti

/packages/ai/ @IMax153

/packages/cli/ @IMax153

/packages/cluster/ @tim-smart

/packages/experimental/ @tim-smart

/packages/opentelemetry/ @tim-smart

/packages/platform/ @tim-smart
/packages/platform-browser/ @tim-smart
/packages/platform-bun/ @tim-smart
/packages/platform-node/ @tim-smart
/packages/platform-node-shared/ @tim-smart

/packages/printer/ @IMax153
/packages/printer-ansi/ @IMax153

/packages/rpc/ @tim-smart

/packages/sql/ @tim-smart
/packages/sql-clickhouse/ @tim-smart
/packages/sql-d1/ @tim-smart
/packages/sql-drizzle/ @tim-smart
/packages/sql-kysely/ @tim-smart
/packages/sql-libsql/ @tim-smart
/packages/sql-mssql/ @tim-smart
/packages/sql-mysql2/ @tim-smart
/packages/sql-pg/ @tim-smart
/packages/sql-sqlite-bun/ @tim-smart
/packages/sql-sqlite-do/ @tim-smart
/packages/sql-sqlite-node/ @tim-smart
/packages/sql-sqlite-react-native/ @tim-smart
/packages/sql-sqlite-wasm/ @tim-smart

/packages/typeclass/ @gcanti

/packages/vitest/ @mikearnaldi


================================================
FILE: .github/actions/setup/action.yml
================================================
name: Setup
description: Perform standard setup and install dependencies using pnpm.
inputs:
  node-version:
    description: The version of Node.js to install
    required: true
    default: 23.7.0
  registry-url:
    description: Optional registry to set up for auth.

runs:
  using: composite
  steps:
    - name: Install pnpm
      uses: pnpm/action-setup@v3
    - name: Install node
      uses: actions/setup-node@v4
      with:
        cache: pnpm
        node-version: ${{ inputs.node-version }}
        registry-url: ${{ inputs.registry-url }}
    - name: Install dependencies
      shell: bash
      run: pnpm install


================================================
FILE: .github/workflows/check.yml
================================================
name: Check
on:
  workflow_dispatch:
  pull_request:
    branches: [main, next-minor, next-major]
  push:
    branches: [main, next-minor, next-major]

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

permissions: {}

jobs:
  types:
    name: Types
    runs-on: ubuntu-latest
    timeout-minutes: 10
    steps:
      - uses: actions/checkout@v4
      - name: Install dependencies
        uses: ./.github/actions/setup
      - run: pnpm check
      - run: pnpm test-types --target '>=5.4'

  lint:
    name: Lint
    runs-on: ubuntu-latest
    timeout-minutes: 10
    steps:
      - uses: actions/checkout@v4
      - name: Install dependencies
        uses: ./.github/actions/setup
      - run: pnpm circular
      - run: pnpm lint
      - run: pnpm codegen
      - name: Check for codegen changes
        run: git diff --exit-code

  test:
    name: Test (${{ matrix.runtime }} ${{ matrix.shard }})
    runs-on: ubuntu-latest
    timeout-minutes: 10
    strategy:
      fail-fast: false
      matrix:
        shard: [1/4, 2/4, 3/4, 4/4]
        # runtime: [Node, Bun] # TODO: Re-enable bun test suite after https://github.com/oven-sh/bun/issues/4145 is resolved
        runtime: [Node]
    steps:
      - uses: actions/checkout@v4
      - name: Install dependencies
        uses: ./.github/actions/setup
      - uses: oven-sh/setup-bun@v1
        if: matrix.runtime == 'Bun'
        with:
          bun-version: 1.0.25
      - name: Test
        run: pnpm vitest --shard ${{ matrix.shard }}
        if: matrix.runtime == 'Node'
      - name: Test
        run: bun vitest --shard ${{ matrix.shard }}
        if: matrix.runtime == 'Bun'


================================================
FILE: .github/workflows/pages.yml
================================================
name: Pages
on:
  workflow_dispatch:
  pull_request:
    branches: [main, next-minor, next-major]
  push:
    branches: [main, next-minor, next-major]

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

permissions: {}

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    timeout-minutes: 30
    steps:
      - uses: actions/checkout@v4
      - name: Install dependencies
        uses: ./.github/actions/setup
      - run: pnpm docgen
      - name: Build pages Jekyll
        if: github.repository_owner == 'Effect-Ts' && github.event_name == 'push' && github.ref == 'refs/heads/main'
        uses: actions/jekyll-build-pages@v1
        with:
          source: ./docs
          destination: ./_site
      - name: Upload pages artifact
        if: github.repository_owner == 'Effect-Ts' && github.event_name == 'push' && github.ref == 'refs/heads/main'
        uses: actions/upload-pages-artifact@v3

  deploy:
    if: github.repository_owner == 'Effect-Ts' && github.event_name == 'push' && github.ref == 'refs/heads/main'
    name: Deploy
    runs-on: ubuntu-latest
    timeout-minutes: 10
    needs: build
    permissions:
      pages: write # To deploy to GitHub Pages
      id-token: write # To verify the deployment originates from an appropriate source
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4


================================================
FILE: .github/workflows/release-queue.yml
================================================
name: Release queue
on:
  issue_comment:
    types: [created]
  pull_request_target:
    branches: [main, next-minor, next-major]
  push:
    branches: [main, next-minor, next-major]

permissions: {}

jobs:
  update:
    if: github.repository_owner == 'Effect-Ts'
    name: Update
    runs-on: ubuntu-latest
    timeout-minutes: 10
    permissions:
      contents: write
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
          token: ${{ secrets.EFFECT_BOT_GH }}
      - run: gh pr checkout ${{ github.event.pull_request.number }}
        if: github.event.pull_request
        env:
          GITHUB_TOKEN: ${{ secrets.EFFECT_BOT_GH }}
      - uses: tim-smart/next-release-action@main
        with:
          github_token: ${{ secrets.EFFECT_BOT_GH }}
          packages: effect,@effect/platform
          git_user: effect-bot
          git_email: tech-ops@effectful.co


================================================
FILE: .github/workflows/release.yml
================================================
name: Release
on:
  push:
    branches: [main]

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}

permissions: {}

jobs:
  release:
    if: github.repository_owner == 'Effect-Ts'
    name: Release
    runs-on: ubuntu-latest
    timeout-minutes: 30
    permissions:
      contents: write
      id-token: write
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
      - name: Install dependencies
        uses: ./.github/actions/setup
        with:
          registry-url: "https://registry.npmjs.org"
      - name: Upgrade npm for OIDC support
        run: npm install -g npm@latest
      - name: Create Release Pull Request or Publish
        uses: changesets/action@v1
        with:
          version: pnpm changeset-version
          publish: pnpm changeset-publish
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}


================================================
FILE: .github/workflows/snapshot.yml
================================================
name: Snapshot
on:
  pull_request:
    branches: [main, next-minor, next-major]
  workflow_dispatch:

permissions: {}

jobs:
  snapshot:
    name: Snapshot
    if: github.repository_owner == 'Effect-Ts'
    runs-on: ubuntu-latest
    timeout-minutes: 10
    steps:
      - uses: actions/checkout@v4
      - name: Install dependencies
        uses: ./.github/actions/setup
      - name: Run codemods
        run: pnpm codemod
      - name: Build package
        run: pnpm build
      - name: Create snapshot
        id: snapshot
        run: pnpx pkg-pr-new@0.0.28 publish --pnpm --comment=off ./packages/* ./packages/ai/*


================================================
FILE: .github/workflows/ts-nightly.yml
================================================
name: TypeScript's nightly
on:
  workflow_dispatch:
  schedule:
    - cron: "0 12 * * *"

permissions: {}

jobs:
  types:
    name: Types
    runs-on: ubuntu-latest
    timeout-minutes: 10
    permissions:
      issues: write
    steps:
      - uses: actions/checkout@v4
      - name: Install dependencies
        uses: ./.github/actions/setup
      - name: Run type tests
        run: pnpm test-types --target next
      - name: Notify on failed run
        uses: actions/github-script@v7
        if: failure()
        with:
          script: |
            github.rest.issues.create({
              owner: context.repo.owner,
              repo: context.repo.repo,
              title: "Failed TypeScript's nightly type test run",
              body: `The following type test run against TypeScript's nightly build failed: [#${context.runNumber}](https://github.com/Effect-TS/effect/actions/runs/${context.runId}).`
            })


================================================
FILE: .gitignore
================================================
coverage/
*.tsbuildinfo
node_modules/
.DS_Store
tmp/
dist/
build/
docs/
scratchpad/
.direnv/
.idea/
.env*
.lalph/
.repos/


================================================
FILE: .madgerc
================================================
{
  "detectiveOptions": {
    "ts": {
      "skipTypeImports": true
    }
  }
}


================================================
FILE: .prettierignore
================================================
*.js
*.ts
*.cjs


================================================
FILE: .prettierrc.json
================================================
{
  "semi": false,
  "trailingComma": "none"
}


================================================
FILE: .vscode/settings.json
================================================
{
  "typescript.tsdk": "node_modules/typescript/lib",
  "typescript.preferences.importModuleSpecifier": "relative",
  "typescript.enablePromptUseWorkspaceTsdk": true,
  "deno.enable": false,
  "biome.enabled": false,
  "editor.formatOnSave": true,
  "eslint.format.enable": true,
  "[json]": {
    "editor.defaultFormatter": "vscode.json-language-features"
  },
  "[markdown]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode",
    "prettier.semi": false,
    "prettier.trailingComma": "none"
  },
  "[javascript]": {
    "editor.defaultFormatter": "dbaeumer.vscode-eslint"
  },
  "[javascriptreact]": {
    "editor.defaultFormatter": "dbaeumer.vscode-eslint"
  },
  "[typescript]": {
    "editor.defaultFormatter": "dbaeumer.vscode-eslint"
  },
  "[typescriptreact]": {
    "editor.defaultFormatter": "dbaeumer.vscode-eslint"
  },
  "eslint.validate": ["markdown", "javascript", "typescript"],
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit"
  },
  "editor.quickSuggestions": {
    "other": true,
    "comments": false,
    "strings": false
  },
  "editor.acceptSuggestionOnCommitCharacter": true,
  "editor.acceptSuggestionOnEnter": "on",
  "editor.quickSuggestionsDelay": 10,
  "editor.suggestOnTriggerCharacters": true,
  "editor.tabCompletion": "off",
  "editor.suggest.localityBonus": true,
  "editor.suggestSelection": "recentlyUsed",
  "editor.wordBasedSuggestions": "matchingDocuments",
  "editor.parameterHints.enabled": true,
  "files.insertFinalNewline": true
}


================================================
FILE: .vscode/tasks.json
================================================
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Watch",
      "type": "shell",
      "command": "pnpm check -w",
      "options": {
        "cwd": "${workspaceRoot}"
      },
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "isBackground": true,
      "presentation": {
        "group": "watch-build"
      },
      "problemMatcher": [
        {
          "base": "$tsc-watch",
          "fileLocation": [
            "relative",
            "${workspaceRoot}",
          ],
        }
      ]
    }
  ]
}


================================================
FILE: AGENTS.md
================================================
# Agent Instructions

This is the Effect library repository, focusing on functional programming patterns and effect systems in TypeScript.

## Development Workflow

- The git base branch is `main`
- Use `pnpm` as the package manager

### Core Principles

- **Zero Tolerance for Errors**: All automated checks must pass
- **Clarity over Cleverness**: Choose clear, maintainable solutions
- **Conciseness**: Keep code and any wording concise and to the point. Sacrifice grammar for the sake of concision.
- **Reduce comments**: Avoid comments unless absolutely required to explain unusual or complex logic. Comments in jsdocs are acceptable.

### Mandatory Validation Steps

- Run `pnpm lint-fix` after editing files
- Always run tests after making changes: `pnpm test run <test_file.ts>`
- Run type checking: `pnpm check`
  - If type checking continues to fail, run `pnpm clean` to clear caches, then re-run `pnpm check`
- Build the project: `pnpm build`
- Check JSDoc examples compile: `pnpm docgen`

## Code Style Guidelines

**Always** look at existing code in the repository to learn and follow
established patterns before writing new code.

Do not worry about getting code formatting perfect while writing. Use `pnpm lint-fix`
to automatically format code according to the project's style guidelines.

### Barrel files

The `index.ts` files are automatically generated. Do not manually edit them. Use
`pnpm codegen` to regenerate barrel files after adding or removing modules.

## Changesets

All pull requests must include a changeset in the `.changeset/` directory.
This is important for maintaining a clear changelog and ensuring proper versioning of packages.

## Running test code

If you need to run some code for testing or debugging purposes, create a new
file in the `scratchpad/` directory at the root of the repository. You can then
run the file with `tsx scratchpad/your-file.ts`.

Make sure to delete the file after you are done testing.

## Testing

Before writing tests, look at existing tests in the codebase for similar
functionality to follow established patterns.

- Test files are located in `packages/*/test/` directories for each package
- Main Effect library tests: `packages/effect/test/`
- Always verify implementations with tests
- Run specific tests with: `pnpm test <filename>`

### it.effect Testing Pattern

- Use `it.effect` for all Effect-based tests, not `Effect.runSync` with regular `it`
- Import `{ assert, describe, it }` from `@effect/vitest`
- Never use `expect` from vitest in Effect tests - use `assert` methods instead
- All tests should use `it.effect("description", () => Effect.gen(function*() { ... }))`

Before writing tests, look at existing tests in the codebase for similar
functionality to follow established patterns.

## Learning about "effect" v4

If you need to learn more about the new version of effect (version 4), you can
access the repository here:

\`.repos/effect-v4\`


================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) 2023 Effectful Technologies Inc

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: README.md
================================================
![npm version](https://img.shields.io/npm/v/effect)

# Effect Monorepo

> An ecosystem of tools to build robust applications in TypeScript

## Introduction

Welcome to Effect, a powerful TypeScript framework that provides a fully-fledged functional effect system with a rich standard library.

Effect consists of several packages that work together to help build robust TypeScript applications. The core package, `effect`, serves as the foundation of the framework, offering primitives for managing side effects, ensuring type safety, and supporting concurrency.

## Monorepo Structure

The Effect monorepo is organized into multiple packages, each extending the core functionality. Below is an overview of the packages included:

| Package                           | Description                                                                                 |                                                                                                    |
| --------------------------------- | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `effect`                          | Core package                                                                                | [README](https://github.com/Effect-TS/effect/blob/main/packages/effect/README.md)                  |
| `@effect/ai`                      | AI utilities                                                                                | [README](https://github.com/Effect-TS/effect/blob/main/packages/ai/ai/README.md)                   |
| `@effect/ai-openai`               | OpenAI utilities                                                                            | [README](https://github.com/Effect-TS/effect/blob/main/packages/ai/openai/README.md)               |
| `@effect/ai-anthropic`            | Anthropic utilities                                                                         | [README](https://github.com/Effect-TS/effect/blob/main/packages/ai/anthropic/README.md)            |
| `@effect/ai-amazon-bedrock`       | Effect modules for working with Amazon Bedrock AI apis                                      | [README](https://github.com/Effect-TS/effect/blob/main/packages/ai/amazon-bedrock/README.md)       |
| `@effect/ai-google`               | Effect modules for working with Google AI apis                                              | [README](https://github.com/Effect-TS/effect/blob/main/packages/ai/google/README.md)               |
| `@effect/cli`                     | CLI utilities                                                                               | [README](https://github.com/Effect-TS/effect/blob/main/packages/cli/README.md)                     |
| `@effect/cluster`                 | Distributed computing tools                                                                 | [README](https://github.com/Effect-TS/effect/blob/main/packages/cluster/README.md)                 |
| `@effect/experimental`            | Experimental features and APIs                                                              | [README](https://github.com/Effect-TS/effect/blob/main/packages/experimental/README.md)            |
| `@effect/opentelemetry`           | [OpenTelemetry](https://opentelemetry.io/) integration                                      | [README](https://github.com/Effect-TS/effect/blob/main/packages/opentelemetry/README.md)           |
| `@effect/platform`                | Cross-platform runtime utilities                                                            | [README](https://github.com/Effect-TS/effect/blob/main/packages/platform/README.md)                |
| `@effect/platform-browser`        | Platform utilities for the browser                                                          | [README](https://github.com/Effect-TS/effect/blob/main/packages/platform-browser/README.md)        |
| `@effect/platform-bun`            | Platform utilities for [Bun](https://bun.sh/)                                               | [README](https://github.com/Effect-TS/effect/blob/main/packages/platform-bun/README.md)            |
| `@effect/platform-node`           | Platform utilities for [Node.js](https://nodejs.org)                                        | [README](https://github.com/Effect-TS/effect/blob/main/packages/platform-node/README.md)           |
| `@effect/platform-node-shared`    | Shared utilities for [Node.js](https://nodejs.org)                                          | [README](https://github.com/Effect-TS/effect/blob/main/packages/platform-node-shared/README.md)    |
| `@effect/printer`                 | General-purpose printing utilities                                                          | [README](https://github.com/Effect-TS/effect/blob/main/packages/printer/README.md)                 |
| `@effect/printer-ansi`            | ANSI-compatible printing utilities                                                          | [README](https://github.com/Effect-TS/effect/blob/main/packages/printer-ansi/README.md)            |
| `@effect/rpc`                     | Remote procedure call (RPC) utilities                                                       | [README](https://github.com/Effect-TS/effect/blob/main/packages/rpc/README.md)                     |
| `@effect/sql`                     | SQL database utilities                                                                      | [README](https://github.com/Effect-TS/effect/blob/main/packages/sql/README.md)                     |
| `@effect/sql-clickhouse`          | An `@effect/sql` implementation for [ClickHouse](https://clickhouse.com/).                  | [README](https://github.com/Effect-TS/effect/blob/main/packages/sql-clickhouse/README.md)          |
| `@effect/sql-d1`                  | An `@effect/sql` implementation for [Cloudflare D1](https://developers.cloudflare.com/d1/). | [README](https://github.com/Effect-TS/effect/blob/main/packages/sql-d1/README.md)                  |
| `@effect/sql-drizzle`             | An `@effect/sql` implementation for [Drizzle](https://orm.drizzle.team/).                   | [README](https://github.com/Effect-TS/effect/blob/main/packages/sql-drizzle/README.md)             |
| `@effect/sql-kysely`              | An `@effect/sql` implementation for [Kysely](https://kysely.dev/).                          | [README](https://github.com/Effect-TS/effect/blob/main/packages/sql-kysely/README.md)              |
| `@effect/sql-libsql`              | An `@effect/sql` implementation using the `@libsql/client` library.                         | [README](https://github.com/Effect-TS/effect/blob/main/packages/sql-libsql/README.md)              |
| `@effect/sql-mssql`               | An `@effect/sql` implementation using the mssql `tedious` library.                          | [README](https://github.com/Effect-TS/effect/blob/main/packages/sql-mssql/README.md)               |
| `@effect/sql-mysql2`              | An `@effect/sql` implementation using the `mysql2` library.                                 | [README](https://github.com/Effect-TS/effect/blob/main/packages/sql-mysql2/README.md)              |
| `@effect/sql-pg`                  | An `@effect/sql` implementation using the `postgres.js` library.                            | [README](https://github.com/Effect-TS/effect/blob/main/packages/sql-pg/README.md)                  |
| `@effect/sql-sqlite-bun`          | An `@effect/sql` implementation using the `bun:sqlite` library.                             | [README](https://github.com/Effect-TS/effect/blob/main/packages/sql-sqlite-bun/README.md)          |
| `@effect/sql-sqlite-do`           | An `@effect/sql` implementation for Cloudflare Durable Objects sqlite storage.              | [README](https://github.com/Effect-TS/effect/blob/main/packages/sql-sqlite-do/README.md)           |
| `@effect/sql-sqlite-node`         | An `@effect/sql` implementation using the `better-sqlite3` library.                         | [README](https://github.com/Effect-TS/effect/blob/main/packages/sql-sqlite-node/README.md)         |
| `@effect/sql-sqlite-react-native` | An `@effect/sql` implementation using the `react-native-quick-sqlite` library.              | [README](https://github.com/Effect-TS/effect/blob/main/packages/sql-sqlite-react-native/README.md) |
| `@effect/sql-sqlite-wasm`         | An `@effect/sql` implementation using the `@sqlite.org/sqlite-wasm` library.                | [README](https://github.com/Effect-TS/effect/blob/main/packages/sql-sqlite-wasm/README.md)         |
| `@effect/typeclass`               | Functional programming type classes                                                         | [README](https://github.com/Effect-TS/effect/blob/main/packages/typeclass/README.md)               |
| `@effect/vitest`                  | Testing utilities for [Vitest](https://vitest.dev/)                                         | [README](https://github.com/Effect-TS/effect/blob/main/packages/vitest/README.md)                  |
| `@effect/workflow`                | Durable workflows for Effect                                                                | [README](https://github.com/Effect-TS/effect/blob/main/packages/workflow/README.md)                |

# Documentation

## Website

For detailed information and usage examples, visit the [Effect website](https://www.effect.website/).

## API Reference

For a complete API reference of the core package `effect`, see the [Effect API documentation](https://effect-ts.github.io/effect/).

## Introduction to Effect

Get started with Effect by watching our introductory video on YouTube. This video provides an overview of Effect and its key features:

[![Introduction to Effect](https://img.youtube.com/vi/ViSiXfBKElQ/maxresdefault.jpg)](https://youtu.be/ViSiXfBKElQ)

# Connect with Our Community

Join the Effect community on Discord to connect with other developers, ask questions, and share insights: [Join Effect's Discord Community](https://discord.gg/hdt7t7jpvn).

# Contributing via Pull Requests

We welcome contributions via pull requests! Here are some guidelines to help you get started:

## Setting Up Your Environment

Begin by forking the repository and clone it to your local machine.

Navigate into the cloned repository and create a new branch for your changes:

```bash
git checkout -b my-branch
```

Ensure all required dependencies are installed by running:

```bash
pnpm install  # Requires pnpm version 10.4.0
```

## Making Changes

### Implement Your Changes

Make the changes you propose to the codebase. If your changes impact functionality, please **add corresponding tests** to validate your updates.

### Validate Your Changes

Run the following commands to ensure your changes do not introduce any issues:

- `pnpm codegen` (optional): Re-generate the package entrypoints in case you have changed the structure of a package or introduced a new module.
- `pnpm check`: Confirm that the code compiles without errors.
- `pnpm test`: Execute all unit tests to ensure your changes haven't broken existing functionality.
- `pnpm circular`: Check for any circular dependencies in imports.
- `pnpm lint`: Ensure the code adheres to our coding standards.
  - If you encounter style issues, use `pnpm lint-fix` to automatically correct some of these.
- `pnpm test-types`: Run type-level tests. Tests are written using [tstyche](https://tstyche.org/).
- `pnpm docgen`: Ensure the documentation generates correctly and reflects any changes made.

### Document Your Changes

#### JSDoc Comments

When adding a new feature, it's important to document your code using JSDoc comments. This helps other developers understand the purpose and usage of your changes. Include at least the following in your JSDoc comments:

- **A Short Description**: Summarize the purpose and functionality of the feature.
- **Example**: Provide a usage example under the `@example` tag to demonstrate how to use the feature.
- **Since Version**: Use the `@since` tag to indicate the version in which the feature was introduced. If you're unsure about the version, please consult with a project maintainer.
- **Category (Optional)**: You can categorize the feature with the `@category` tag to help organize the documentation. If you're unsure about what category to assign, ask a project maintainer.

**Note**: A HTML utility file, [`code2jsdoc-example.html`](/scripts/jsdocs/code2jsdoc-example.html), has been added to assist with creating JSDoc `@example` comments. This web-based interface includes two text areas:

1. An input textarea for pasting example code.
2. An output textarea that dynamically generates formatted JSDoc `@example` comments.

This utility helps ensure consistent formatting and streamlines the process of documenting examples. See the following example of its usage:

Example Input:

```ts
import { Effect } from "effect"

console.log(Effect.runSyncExit(Effect.succeed(1)))
/*
Output:
{
  _id: "Exit",
  _tag: "Success",
  value: 1
}
*/
```

Output:

````
*
* @example
* ```ts
* import { Effect } from "effect"
*
* console.log(Effect.runSyncExit(Effect.succeed(1)))
* // Output:
* // {
* //   _id: "Exit",
* //   _tag: "Success",
* //   value: 1
* // }
* ```
*
````

By using this utility, you can save time and maintain consistency in your JSDoc comments, especially for complex examples.

#### Changeset Documentation

Before committing your changes, document them with a changeset. This process helps in tracking modifications and effectively communicating them to the project team and users:

```bash
pnpm changeset
```

During the changeset creation process, you will be prompted to select the appropriate level for your changes:

- **patch**: Opt for this if you are making small fixes or minor changes that do not affect the library's overall functionality.
- **minor**: Choose this for new features that enhance functionality but do not disrupt existing features.
- **major**: Select this for any changes that result in backward-incompatible modifications to the library.

## Finalizing Your Contribution

### Commit Your Changes

Once you have documented your changes with a changeset, it’s time to commit them to the repository. Use a clear and descriptive commit message, which could be the same message you used in your changeset:

```bash
git commit -am 'Add some feature'
```

#### Linking to Issues

If your commit addresses an open issue, reference the issue number directly in your commit message. This helps to link your contribution clearly to specific tasks or bug reports. Additionally, if your commit resolves the issue, you can indicate this by adding a phrase like `", closes #<issue-number>"`. For example:

```bash
git commit -am 'Add some feature, closes #123'
```

This practice not only helps in tracking the progress of issues but also automatically closes the issue when the commit is merged, streamlining project management.

### Push to Your Fork

Push the changes up to your GitHub fork:

```bash
git push origin my-branch
```

### Create a Pull Request

Open a pull request against the appropriate branch on the original repository:

- `main` branch: For minor patches or bug fixes.
- `next-minor` branch: For new features that are non-breaking.
- `next-major` branch: For changes that introduce breaking modifications.

Please be patient! We will do our best to review your pull request as soon as possible.


================================================
FILE: docker-compose.yaml
================================================
services:
  pg:
    image: postgres:alpine # Using a lightweight Postgres image
    environment:
      POSTGRES_DB: effect_cluster
      POSTGRES_USER: cluster
      POSTGRES_PASSWORD: cluster
    ports:
      - "5432:5432" # Map host port 5432 to container port 5432
    volumes:
      - db_data:/var/lib/postgresql/data # Persist data in a named volume
  redis:
    image: redis:alpine
    ports:
      - "6379:6379"

volumes:
  db_data: # Define the named volume


================================================
FILE: eslint.config.mjs
================================================
import * as effectEslint from "@effect/eslint-plugin"
import { fixupPluginRules } from "@eslint/compat"
import { FlatCompat } from "@eslint/eslintrc"
import js from "@eslint/js"
import tsParser from "@typescript-eslint/parser"
import codegen from "eslint-plugin-codegen"
import _import from "eslint-plugin-import"
import simpleImportSort from "eslint-plugin-simple-import-sort"
import sortDestructureKeys from "eslint-plugin-sort-destructure-keys"
import path from "node:path"
import { fileURLToPath } from "node:url"

const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
const compat = new FlatCompat({
  baseDirectory: __dirname,
  recommendedConfig: js.configs.recommended,
  allConfig: js.configs.all
})

export default [
  {
    ignores: [
      "**/dist",
      "**/build",
      "**/docs",
      "**/.repos/**",
      "**/.lalph/**",
      "**/*.md"
    ]
  },
  ...compat.extends(
    "eslint:recommended",
    "plugin:@typescript-eslint/eslint-recommended",
    "plugin:@typescript-eslint/recommended"
  ),
  ...effectEslint.configs.dprint,
  {
    plugins: {
      import: fixupPluginRules(_import),
      "sort-destructure-keys": sortDestructureKeys,
      "simple-import-sort": simpleImportSort,
      codegen
    },

    languageOptions: {
      parser: tsParser,
      ecmaVersion: 2018,
      sourceType: "module"
    },

    settings: {
      "import/parsers": {
        "@typescript-eslint/parser": [".ts", ".tsx"]
      },

      "import/resolver": {
        typescript: {
          alwaysTryTypes: true
        }
      }
    },

    rules: {
      "codegen/codegen": "error",
      "no-fallthrough": "off",
      "no-irregular-whitespace": "off",
      "object-shorthand": "error",
      "prefer-destructuring": "off",
      "sort-imports": "off",

      "no-restricted-syntax": [
        "error",
        {
          selector:
            "CallExpression[callee.property.name='push'] > SpreadElement.arguments",
          message: "Do not use spread arguments in Array.push"
        }
      ],

      "no-unused-vars": "off",
      "require-yield": "off",
      "prefer-rest-params": "off",
      "prefer-spread": "off",
      "import/first": "error",
      "import/newline-after-import": "error",
      "import/no-duplicates": "error",
      "import/no-unresolved": "off",
      "import/order": "off",
      "simple-import-sort/imports": "off",
      "sort-destructure-keys/sort-destructure-keys": "error",
      "deprecation/deprecation": "off",

      "@typescript-eslint/array-type": [
        "warn",
        {
          default: "generic",
          readonly: "generic"
        }
      ],

      "@typescript-eslint/member-delimiter-style": 0,
      "@typescript-eslint/no-non-null-assertion": "off",
      "@typescript-eslint/ban-types": "off",
      "@typescript-eslint/no-explicit-any": "off",
      "@typescript-eslint/no-empty-object-type": "off",
      "@typescript-eslint/no-unsafe-function-type": "off",
      "@typescript-eslint/no-wrapper-object-types": "off",
      "@typescript-eslint/consistent-type-imports": "warn",

      "@typescript-eslint/no-unused-vars": [
        "error",
        {
          argsIgnorePattern: "^_",
          varsIgnorePattern: "^_"
        }
      ],

      "@typescript-eslint/ban-ts-comment": "off",
      "@typescript-eslint/camelcase": "off",
      "@typescript-eslint/explicit-function-return-type": "off",
      "@typescript-eslint/explicit-module-boundary-types": "off",
      "@typescript-eslint/interface-name-prefix": "off",
      "@typescript-eslint/no-array-constructor": "off",
      "@typescript-eslint/no-use-before-define": "off",
      "@typescript-eslint/no-namespace": "off",

      "@effect/dprint": [
        "error",
        {
          config: {
            indentWidth: 2,
            lineWidth: 120,
            semiColons: "asi",
            quoteStyle: "alwaysDouble",
            trailingCommas: "never",
            operatorPosition: "maintain",
            "arrowFunction.useParentheses": "force"
          }
        }
      ]
    }
  },
  {
    files: ["packages/*/src/**/*", "packages/*/test/**/*"],
    rules: {
      "no-console": "error"
    }
  },
  {
    files: ["packages/*/src/**/*"],
    rules: {
      "@effect/no-import-from-barrel-package": [
        "error",
        {
          packageNames: ["effect", "@effect/platform", "@effect/sql"]
        }
      ]
    }
  }
]


================================================
FILE: flake.nix
================================================
{
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
  };
  outputs =
    { nixpkgs, ... }:
    let
      forAllSystems =
        function:
        nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed (
          system: function nixpkgs.legacyPackages.${system}
        );
    in
    {
      formatter = forAllSystems (pkgs: pkgs.alejandra);
      devShells = forAllSystems (pkgs: {
        default = pkgs.mkShell {
          packages = with pkgs; [
            bun
            corepack
            deno
            nodejs_24
            python3
            yq-go
          ];
        };
      });
    };
}


================================================
FILE: package.json
================================================
{
  "private": true,
  "type": "module",
  "packageManager": "pnpm@10.17.1+sha512.17c560fca4867ae9473a3899ad84a88334914f379be46d455cbf92e5cf4b39d34985d452d2583baf19967fa76cb5c17bc9e245529d0b98745721aa7200ecaf7a",
  "scripts": {
    "clean": "node scripts/clean.mjs",
    "codegen": "pnpm --recursive --parallel --filter \"./packages/**/*\" run codegen",
    "codemod": "node scripts/codemod.mjs",
    "build": "tsc -b tsconfig.build.json && pnpm --recursive --parallel --filter \"./packages/**/*\" run build",
    "circular": "node scripts/circular.mjs",
    "test": "vitest",
    "coverage": "vitest --coverage",
    "check": "tsc -b tsconfig.json",
    "check-recursive": "pnpm --recursive --filter \"./packages/**/*\" exec tsc -b tsconfig.json",
    "lint": "eslint \"**/{src,test,examples,scripts,dtslint}/**/*.{ts,mjs}\"",
    "lint-fix": "pnpm lint --fix",
    "docgen": "pnpm --recursive --filter \"./packages/**/*\" exec docgen && node scripts/docs.mjs",
    "test-types": "tstyche",
    "changeset-version": "changeset version && node scripts/version.mjs",
    "changeset-publish": "pnpm codemod && pnpm build && TEST_DIST= pnpm vitest && changeset publish"
  },
  "resolutions": {
    "dependency-tree": "^10.0.9",
    "detective-amd": "^5.0.2",
    "detective-cjs": "^5.0.1",
    "detective-es6": "^4.0.1",
    "detective-less": "^1.0.2",
    "detective-postcss": "^6.1.3",
    "detective-sass": "^5.0.3",
    "detective-scss": "^4.0.3",
    "detective-stylus": "^4.0.0",
    "detective-typescript": "^11.1.0"
  },
  "devDependencies": {
    "@babel/cli": "^7.27.2",
    "@babel/core": "^7.27.1",
    "@babel/plugin-transform-export-namespace-from": "^7.27.1",
    "@babel/plugin-transform-modules-commonjs": "^7.27.1",
    "@changesets/changelog-github": "^0.5.1",
    "@changesets/cli": "^2.29.4",
    "@edge-runtime/vm": "^5.0.0",
    "@effect/build-utils": "^0.8.3",
    "@effect/docgen": "https://pkg.pr.new/Effect-TS/docgen/@effect/docgen@e7fe055",
    "@effect/eslint-plugin": "^0.3.2",
    "@effect/language-service": "^0.23.3",
    "@effect/vitest": "workspace:^",
    "@eslint/compat": "^1.2.9",
    "@eslint/eslintrc": "^3.3.1",
    "@eslint/js": "^9.26.0",
    "@types/jscodeshift": "^17.3.0",
    "@types/node": "^22.15.18",
    "@typescript-eslint/eslint-plugin": "^8.32.1",
    "@typescript-eslint/parser": "^8.32.1",
    "@vitest/browser": "^3.2.4",
    "@vitest/coverage-v8": "^3.2.4",
    "@vitest/expect": "^3.2.4",
    "@vitest/web-worker": "^3.2.4",
    "ast-types": "^0.14.2",
    "babel-plugin-annotate-pure-calls": "^0.5.0",
    "eslint": "^9.26.0",
    "eslint-import-resolver-typescript": "^4.3.4",
    "eslint-plugin-codegen": "^0.30.0",
    "eslint-plugin-import": "^2.31.0",
    "eslint-plugin-simple-import-sort": "^12.1.1",
    "eslint-plugin-sort-destructure-keys": "^2.0.0",
    "glob": "^11.0.2",
    "jscodeshift": "^17.3.0",
    "madge": "^8.0.0",
    "playwright": "^1.52.0",
    "prettier": "^3.5.3",
    "rimraf": "^6.0.1",
    "tstyche": "^6.0.0-beta.5",
    "tsx": "^4.19.4",
    "typescript": "^5.8.3",
    "vite": "^6.1.1",
    "vitest": "^3.2.4"
  },
  "pnpm": {
    "patchedDependencies": {
      "@changesets/assemble-release-plan": "patches/@changesets__assemble-release-plan.patch",
      "@changesets/get-github-info@0.6.0": "patches/@changesets__get-github-info@0.6.0.patch"
    },
    "ignoredBuiltDependencies": [
      "cpu-features",
      "esbuild",
      "lmdb",
      "msgpackr-extract",
      "msw",
      "protobufjs",
      "ssh2",
      "workerd"
    ],
    "onlyBuiltDependencies": [
      "@parcel/watcher",
      "better-sqlite3",
      "sharp",
      "unrs-resolver"
    ]
  }
}


================================================
FILE: packages/ai/ai/CHANGELOG.md
================================================
# @effect/ai

## 0.35.0

### Patch Changes

- Updated dependencies [[`f7bb09b`](https://github.com/Effect-TS/effect/commit/f7bb09b022f195d1f2b3c23d49e74b011ec5d109), [`bd7552a`](https://github.com/Effect-TS/effect/commit/bd7552a19cc0ed575507ac6cc0879a57e24ebd31), [`ad1a7eb`](https://github.com/Effect-TS/effect/commit/ad1a7eb7f6bebaf91c80be2443ac0439226d0098), [`0d32048`](https://github.com/Effect-TS/effect/commit/0d32048f9836e2b23a6ba3ec5f43f0a000bb92fb), [`0d32048`](https://github.com/Effect-TS/effect/commit/0d32048f9836e2b23a6ba3ec5f43f0a000bb92fb)]:
  - effect@3.21.0
  - @effect/experimental@0.60.0
  - @effect/platform@0.96.0
  - @effect/rpc@0.75.0

## 0.34.0

### Patch Changes

- [#6094](https://github.com/Effect-TS/effect/pull/6094) [`88a5260`](https://github.com/Effect-TS/effect/commit/88a5260788d57bb0c31a645fa44b5a68f5c73c38) Thanks @IMax153! - Remove superfluous / defensive check from tool call json schema generation

- [#6101](https://github.com/Effect-TS/effect/pull/6101) [`cf74940`](https://github.com/Effect-TS/effect/commit/cf749405214282edc916a783b3417c766d2bbfe3) Thanks @IMax153! - Prevent schema validation when directly constructing an `AiError.HttpRequestError` / `AiError.HttpResponseError`

- Updated dependencies [[`fc82e81`](https://github.com/Effect-TS/effect/commit/fc82e81448bd9136a37580139ce46a2c61b11b54), [`82996bc`](https://github.com/Effect-TS/effect/commit/82996bce8debffcb44feb98bb862cf2662bd56b7), [`4d97a61`](https://github.com/Effect-TS/effect/commit/4d97a61a15b9dd6a0eece65b8f0c035e16d42ada), [`f6b0960`](https://github.com/Effect-TS/effect/commit/f6b0960bf3184109920dfed16ee7dfd7d67bc0f2), [`8798a84`](https://github.com/Effect-TS/effect/commit/8798a843218e6c0c0d3a8eee83360880e370b4da)]:
  - effect@3.20.0
  - @effect/experimental@0.59.0
  - @effect/platform@0.95.0
  - @effect/rpc@0.74.0

## 0.33.2

### Patch Changes

- [#5944](https://github.com/Effect-TS/effect/pull/5944) [`f21f034`](https://github.com/Effect-TS/effect/commit/f21f03477ea9b6fd4662a93097290cb940ce9c2b) Thanks @IMax153! - Fix Prompt.fromResponseParts when input contains a provider executed tool

## 0.33.1

### Patch Changes

- [#5931](https://github.com/Effect-TS/effect/pull/5931) [`ba9e790`](https://github.com/Effect-TS/effect/commit/ba9e7908a80a55f24217c88af4f7d89a4f7bc0e4) Thanks @IMax153! - Fix the accumulation logic for response parts in the AI `Chat` module

- Updated dependencies [[`65e9e35`](https://github.com/Effect-TS/effect/commit/65e9e35157cbdfb40826ddad34555c4ebcf7c0b0), [`ee69cd7`](https://github.com/Effect-TS/effect/commit/ee69cd796feb3d8d1046f52edd8950404cd4ed0e), [`488d6e8`](https://github.com/Effect-TS/effect/commit/488d6e870eda3dfc137f4940bb69416f61ed8fe3)]:
  - @effect/platform@0.94.1
  - effect@3.19.14

## 0.33.0

### Patch Changes

- Updated dependencies [[`77eeb86`](https://github.com/Effect-TS/effect/commit/77eeb86ddf208e51ec25932af83d52d3b4700371), [`ff7053f`](https://github.com/Effect-TS/effect/commit/ff7053f6d8508567b6145239f97aacc5773b0c53), [`287c32c`](https://github.com/Effect-TS/effect/commit/287c32c9f10da8e96f2b9ef8424316189d9ad4b3)]:
  - effect@3.19.13
  - @effect/platform@0.94.0
  - @effect/experimental@0.58.0
  - @effect/rpc@0.73.0

## 0.32.1

### Patch Changes

- [#5685](https://github.com/Effect-TS/effect/pull/5685) [`fb53370`](https://github.com/Effect-TS/effect/commit/fb533705e058500a7192810f5373f663c33f0ca4) Thanks @janglad! - Fix Response.Part, AllParts, StreamPart not inferring Schema properly if toolkit is WithHandler

- Updated dependencies [[`7d28a90`](https://github.com/Effect-TS/effect/commit/7d28a908f965854cff386a19515141aea5b39eb7)]:
  - effect@3.19.3

## 0.32.0

### Patch Changes

- Updated dependencies [[`3c15d5f`](https://github.com/Effect-TS/effect/commit/3c15d5f99fb8d8470a00c5a33d9ba3cac89dfe4c), [`3863fa8`](https://github.com/Effect-TS/effect/commit/3863fa89f61e63e5529fd961e37333bddf7db64a), [`2a03c76`](https://github.com/Effect-TS/effect/commit/2a03c76c2781ca7e9e228e838eab2eb0d0795b1d), [`24a1685`](https://github.com/Effect-TS/effect/commit/24a1685c70a9ed157468650f95a5c3da3f2c2433)]:
  - effect@3.19.0
  - @effect/rpc@0.72.0
  - @effect/platform@0.93.0
  - @effect/experimental@0.57.0

## 0.31.1

### Patch Changes

- [#5634](https://github.com/Effect-TS/effect/pull/5634) [`a5d0f2b`](https://github.com/Effect-TS/effect/commit/a5d0f2bd54ec4a791a2ea5b31493bd55882066e0) Thanks @IMax153! - Ensure that tool calls are emitted as soon as possible when streaming

## 0.31.0

### Minor Changes

- [#5621](https://github.com/Effect-TS/effect/pull/5621) [`4c3bdfb`](https://github.com/Effect-TS/effect/commit/4c3bdfbcbc2dcd7ecd6321df3e4a504af19de825) Thanks @IMax153! - Remove `Either` / `EitherEncoded` from tool call results.

  Specifically, the encoding of tool call results as an `Either` / `EitherEncoded` has been removed and is replaced by encoding the tool call success / failure directly into the `result` property.

  To allow type-safe discrimination between a tool call result which was a success vs. one that was a failure, an `isFailure` property has also been added to the `"tool-result"` part. If `isFailure` is `true`, then the tool call handler result was an error.

  ```ts
  import * as AnthropicClient from "@effect/ai-anthropic/AnthropicClient"
  import * as AnthropicLanguageModel from "@effect/ai-anthropic/AnthropicLanguageModel"
  import * as LanguageModel from "@effect/ai/LanguageModel"
  import * as Tool from "@effect/ai/Tool"
  import * as Toolkit from "@effect/ai/Toolkit"
  import * as NodeHttpClient from "@effect/platform-node/NodeHttpClient"
  import { Config, Effect, Layer, Schema, Stream } from "effect"

  const Claude = AnthropicLanguageModel.model("claude-4-sonnet-20250514")

  const MyTool = Tool.make("MyTool", {
    description: "An example of a tool with success and failure types",
    failureMode: "return", // Return errors in the response
    parameters: { bar: Schema.Number },
    success: Schema.Number,
    failure: Schema.Struct({ reason: Schema.Literal("reason-1", "reason-2") })
  })

  const MyToolkit = Toolkit.make(MyTool)

  const MyToolkitLayer = MyToolkit.toLayer({
    MyTool: () => Effect.succeed(42)
  })

  const program = LanguageModel.streamText({
    prompt: "Tell me about the meaning of life",
    toolkit: MyToolkit
  }).pipe(
    Stream.runForEach((part) => {
      if (part.type === "tool-result" && part.name === "MyTool") {
        // The `isFailure` property can be used to discriminate whether the result
        // of a tool call is a success or a failure
        if (part.isFailure) {
          part.result
          //   ^? { readonly reason: "reason-1" | "reason-2"; }
        } else {
          part.result
          //   ^? number
        }
      }
      return Effect.void
    }),
    Effect.provide(Claude)
  )

  const Anthropic = AnthropicClient.layerConfig({
    apiKey: Config.redacted("ANTHROPIC_API_KEY")
  }).pipe(Layer.provide(NodeHttpClient.layerUndici))

  program.pipe(Effect.provide([Anthropic, MyToolkitLayer]), Effect.runPromise)
  ```

## 0.30.0

### Minor Changes

- [#5614](https://github.com/Effect-TS/effect/pull/5614) [`c63e658`](https://github.com/Effect-TS/effect/commit/c63e6582244fbb50d31650c4b4ea0660fe194652) Thanks @IMax153! - Previously, tool call handler errors were _always_ raised as an expected error in the Effect `E` channel at the point of execution of the tool call handler (i.e. when a `generate*` method is invoked on a `LanguageModel`).

  With this PR, the end user now has control over whether tool call handler errors should be raised as an Effect error, or returned by the SDK to allow, for example, sending that error information to another application.

  ### Tool Call Specification

  The `Tool.make` and `Tool.providerDefined` constructors now take an extra optional parameter called `failureMode`, which can be set to either `"error"` or `"return"`.

  ```ts
  import { Tool } from "@effect/ai"
  import { Schema } from "effect"

  const MyTool = Tool.make("MyTool", {
    description: "My special tool",
    failureMode: "return" // "error" (default) or "return"
    parameters: {
      myParam: Schema.String
    },
    success: Schema.Struct({
      mySuccess: Schema.String
    }),
    failure: Schema.Struct({
      myFailure: Schema.String
    })
  })

  ```

  The semantics of `failureMode` are as follows:
  - If set to `"error"` (the default), errors that occur during tool call handler execution will be returned in the error channel of the calling effect
  - If set to `"return"`, errors that occur during tool call handler execution will be captured and returned as part of the tool call result

  ### Response - Tool Result Parts

  The `result` field of a `"tool-result"` part of a large language model provider response is now represented as an `Either`.
  - If the `result` is a `Left`, the `result` will be the `failure` specified in the tool call specification
  - If the `result` is a `Right`, the `result` will be the `success` specified in the tool call specification

  This is only relevant if the end user sets `failureMode` to `"return"`. If set to `"error"` (the default), then the `result` property will always be a `Right` with the successful result of the tool call handler.

  Similarly the `encodedResult` field of a `"tool-result"` part will be represented as an `EitherEncoded`, where:
  - `{ _tag: "Left", left: <failure> }` represents a tool call handler failure
  - `{ _tag: "Right", right: <success> }` represents a tool call handler success

  ### Prompt - Tool Result Parts

  The `result` field of a `"tool-result"` part of a prompt will now only accept an `EitherEncoded` as specified above.

### Patch Changes

- Updated dependencies [[`6ae2f5d`](https://github.com/Effect-TS/effect/commit/6ae2f5da45a9ed9832605eca12b3e2bf2e2a1a67)]:
  - effect@3.18.4

## 0.29.1

### Patch Changes

- [#5587](https://github.com/Effect-TS/effect/pull/5587) [`d628c15`](https://github.com/Effect-TS/effect/commit/d628c1527898dc13176185d52e5ea9ee68fd3934) Thanks @IMax153! - Ensure response schema includes toolkit tools even when tool call resolution is disabled

## 0.29.0

### Minor Changes

- [#5302](https://github.com/Effect-TS/effect/pull/5302) [`f8b93ac`](https://github.com/Effect-TS/effect/commit/f8b93ac6446efd3dd790778b0fc71d299a38f272) Thanks @timurrakhimzhan! - Added "oneOf" property for generateText and streamText "toolChoice" to be able to pick a subset of tools, which are going to be passed to LLM

### Patch Changes

- Updated dependencies [[`1c6ab74`](https://github.com/Effect-TS/effect/commit/1c6ab74b314b2b6df8bb1b1a0cb9527ceda0e3fa), [`70fe803`](https://github.com/Effect-TS/effect/commit/70fe803469db3355ffbf8359b52c351f1c2dc137), [`c296e32`](https://github.com/Effect-TS/effect/commit/c296e32554143b84ae8987046984e1cf1852417c), [`a098ddf`](https://github.com/Effect-TS/effect/commit/a098ddfc551f5aa0a7c36f9b4928372a64d4d9f2)]:
  - effect@3.18.0
  - @effect/platform@0.92.0
  - @effect/experimental@0.56.0
  - @effect/rpc@0.71.0

## 0.28.4

### Patch Changes

- [#5570](https://github.com/Effect-TS/effect/pull/5570) [`bc83015`](https://github.com/Effect-TS/effect/commit/bc83015e2546957520a91ff6f5728e40c75605b7) Thanks @IMax153! - Redact headers where possible in AiError

- [#5570](https://github.com/Effect-TS/effect/pull/5570) [`bc83015`](https://github.com/Effect-TS/effect/commit/bc83015e2546957520a91ff6f5728e40c75605b7) Thanks @IMax153! - Fix return type of `Response.AllParts`

- [#5568](https://github.com/Effect-TS/effect/pull/5568) [`6c2d586`](https://github.com/Effect-TS/effect/commit/6c2d586ae4dab17d9622424f0e95808131888a1a) Thanks @IMax153! - Support expiration of persisted chats via time to live

## 0.28.3

### Patch Changes

- [#5566](https://github.com/Effect-TS/effect/pull/5566) [`ab57b7a`](https://github.com/Effect-TS/effect/commit/ab57b7af5349fcf22e6c702b793d01079dba69a6) Thanks @IMax153! - Support generation of persistence identifiers for ai chat

- [#5540](https://github.com/Effect-TS/effect/pull/5540) [`5b13482`](https://github.com/Effect-TS/effect/commit/5b134824c1ce7d754deba0a76ac9e2a37d156ef1) Thanks @IMax153! - ensure decoded response metadata is always set

- [#5566](https://github.com/Effect-TS/effect/pull/5566) [`ab57b7a`](https://github.com/Effect-TS/effect/commit/ab57b7af5349fcf22e6c702b793d01079dba69a6) Thanks @IMax153! - fix prompt construction from response parts

## 0.28.2

### Patch Changes

- [#5554](https://github.com/Effect-TS/effect/pull/5554) [`800ab2e`](https://github.com/Effect-TS/effect/commit/800ab2e6d983ed424deb10aebee720cfc666df7a) Thanks @IMax153! - Accept `Prompt.RawInput` in `Prompt.merge`

- [#5554](https://github.com/Effect-TS/effect/pull/5554) [`800ab2e`](https://github.com/Effect-TS/effect/commit/800ab2e6d983ed424deb10aebee720cfc666df7a) Thanks @IMax153! - Add `Prompt.setSystem`, `Prompt.prependSystem`, and `Prompt.appendSystem` methods

- [#5554](https://github.com/Effect-TS/effect/pull/5554) [`800ab2e`](https://github.com/Effect-TS/effect/commit/800ab2e6d983ed424deb10aebee720cfc666df7a) Thanks @IMax153! - Improve the information available to the user following a model response error

- [#5554](https://github.com/Effect-TS/effect/pull/5554) [`800ab2e`](https://github.com/Effect-TS/effect/commit/800ab2e6d983ed424deb10aebee720cfc666df7a) Thanks @IMax153! - Allow raw user and assistant prompt messages to accept plain strings

- [#5554](https://github.com/Effect-TS/effect/pull/5554) [`800ab2e`](https://github.com/Effect-TS/effect/commit/800ab2e6d983ed424deb10aebee720cfc666df7a) Thanks @IMax153! - Make `Prompt` pipeable

- [#5554](https://github.com/Effect-TS/effect/pull/5554) [`800ab2e`](https://github.com/Effect-TS/effect/commit/800ab2e6d983ed424deb10aebee720cfc666df7a) Thanks @IMax153! - Fix leakage of provider-defined tool handler requirements

## 0.28.1

### Patch Changes

- [#5555](https://github.com/Effect-TS/effect/pull/5555) [`aacd472`](https://github.com/Effect-TS/effect/commit/aacd472a9bab389269f74d923ac20cc895c638ee) Thanks @IMax153! - Add support for persisting a `Chat` via `Persistence`

## 0.28.0

### Patch Changes

- Updated dependencies [[`d4d86a8`](https://github.com/Effect-TS/effect/commit/d4d86a81f02b94e09fce8004ce2c5369c505ca5a)]:
  - @effect/platform@0.91.0
  - @effect/rpc@0.70.0
  - @effect/experimental@0.55.0

## 0.27.1

### Patch Changes

- [#5521](https://github.com/Effect-TS/effect/pull/5521) [`fa49bc8`](https://github.com/Effect-TS/effect/commit/fa49bc86b14599300d106f306ceaf82a79121b80) Thanks @IMax153! - Fix provider metadata and parse tool call parameters safely

## 0.27.0

### Minor Changes

- [#5469](https://github.com/Effect-TS/effect/pull/5469) [`42b914a`](https://github.com/Effect-TS/effect/commit/42b914a0e8750350ce17d434afaec7d655ddf4b7) Thanks @IMax153! - Refactor the Effect AI SDK and associated provider packages

  This pull request contains a complete refactor of the base Effect AI SDK package
  as well as the associated provider integration packages to improve flexibility
  and enhance ergonomics. Major changes are outlined below.

  ## Modules

  All modules in the base Effect AI SDK have had the leading `Ai` prefix dropped
  from their name (except for the `AiError` module).

  For example, the `AiLanguageModel` module is now the `LanguageModel` module.

  In addition, the `AiInput` module has been renamed to the `Prompt` module.

  ## Prompts

  The `Prompt` module has been completely redesigned with flexibility in mind.

  The `Prompt` module now supports building a prompt using either the constructors
  exposed from the `Prompt` module, or using raw prompt content parts / messages,
  which should be familiar to those coming from other AI SDKs.

  In addition, the `system` option has been removed from all `LanguageModel` methods
  and must now be provided as part of the prompt.

  **Prompt Constructors**

  ```ts
  import { LanguageModel, Prompt } from "@effect/ai"

  const textPart = Prompt.makePart("text", {
    text: "What is machine learning?"
  })

  const userMessage = Prompt.makeMessage("user", {
    content: [textPart]
  })

  const systemMessage = Prompt.makeMessage("system", {
    content: "You are an expert in machine learning"
  })

  const program = LanguageModel.generateText({
    prompt: Prompt.fromMessages([systemMessage, userMessage])
  })
  ```

  **Raw Prompt Input**

  ```ts
  import { LanguageModel } from "@effect/ai"

  const program = LanguageModel.generateText({
    prompt: [
      { role: "system", content: "You are an expert in machine learning" },
      {
        role: "user",
        content: [{ type: "text", text: "What is machine learning?" }]
      }
    ]
  })
  ```

  **NOTE**: Providing a plain string as a prompt is still supported, and will be converted
  internally into a user message with a single text content part.

  ### Provider-Specific Options

  To support specification of provider-specific options when interacting with large
  language model providers, support has been added for adding provider-specific
  options to the parts of a `Prompt`.

  ```ts
  import { LanguageModel } from "@effect/ai"
  import { AnthropicLanguageModel } from "@effect/ai-anthropic"

  const Claude = AnthropicLanguageModel.model("claude-sonnet-4-20250514")

  const program = LanguageModel.generateText({
    prompt: [
      {
        role: "user",
        content: [{ type: "text", text: "What is machine learning?" }],
        options: {
          anthropic: { cacheControl: { type: "ephemeral", ttl: "1h" } }
        }
      }
    ]
  }).pipe(Effect.provide(Claude))
  ```

  ## Responses

  The `Response` module has also been completely redesigned to support a wider
  variety of response parts, particularly when streaming.

  ### Streaming Responses

  When streaming text via the `LanguageModel.streamText` method, you will now
  receive a stream of content parts instead of a stream of responses, which should
  make it much simpler to filter down the stream to the parts you are interested in.

  In addition, additional content parts will be present in the stream to allow you to track,
  for example, when a text content part starts / ends.

  ### Tool Calls / Tool Call Results

  The decoded parts of a `Response` (as returned by the methods of `LanguageModel`)
  are now fully type-safe on tool calls / tool call results. Filtering the content parts of a
  response to tool calls will narrow the type of the tool call `params` based on the tool
  `name`. Similarly, filtering the response to tool call results will narrow the type of the
  tool call `result` based on the tool `name`.

  ```ts
  import { LanguageModel, Tool, Toolkit } from "@effect/ai"
  import { Effect, Schema } from "effect"

  const DadJokeTool = Tool.make("DadJokeTool", {
    parameters: { topic: Schema.String },
    success: Schema.Struct({ joke: Schema.String })
  })

  const FooTool = Tool.make("FooTool", {
    parameters: { foo: Schema.Number },
    success: Schema.Struct({ bar: Schema.Boolean })
  })

  const MyToolkit = Toolkit.make(DadJokeTool, FooTool)

  const program = Effect.gen(function* () {
    const response = yield* LanguageModel.generateText({
      prompt: "Tell me a dad joke",
      toolkit: MyToolkit
    })

    for (const toolCall of response.toolCalls) {
      if (toolCall.name === "DadJokeTool") {
        //         ^? "DadJokeTool" | "FooTool"
        toolCall.params
        //       ^? { readonly topic: string }
      }
    }

    for (const toolResult of response.toolResults) {
      if (toolResult.name === "DadJokeTool") {
        //           ^? "DadJokeTool" | "FooTool"
        toolResult.result
        //         ^? { readonly joke: string }
      }
    }
  })
  ```

  ### Provider Metadata

  As with provider-specific options, provider-specific metadata is now returned as
  part of the response from the large language model provider.

  ```ts
  import { LanguageModel } from "@effect/ai"
  import { AnthropicLanguageModel } from "@effect/ai-anthropic"
  import { Effect } from "effect"

  const Claude = AnthropicLanguageModel.model("claude-4-sonnet-20250514")

  const program = Effect.gen(function* () {
    const response = yield* LanguageModel.generateText({
      prompt: "What is the meaning of life?"
    })

    for (const part of response.content) {
      // When metadata **is not** defined for a content part, accessing the
      // provider's key on the part's metadata will return an untyped record
      if (part.type === "text") {
        const metadata = part.metadata.anthropic
        //    ^? { readonly [x: string]: unknown } | undefined
      }
      // When metadata **is** defined for a content part, accessing the
      // provider's key on the part's metadata will return typed metadata
      if (part.type === "reasoning") {
        const metadata = part.metadata.anthropic
        //    ^? AnthropicReasoningInfo | undefined
      }
    }
  }).pipe(Effect.provide(Claude))
  ```

  ## Tool Calls

  The `Tool` module has been enhanced to support provider-defined tools (e.g.
  web search, computer use, etc.). Large language model providers which support
  calling their own tools now have a separate module present in their provider
  integration packages which contain definitions for their tools.

  These provider-defined tools can be included alongside user-defined tools in
  existing `Toolkit`s. Provider-defined tools that require a user-space handler
  will be raise a type error in the associated `Toolkit` layer if no such handler
  is defined.

  ```ts
  import { LanguageModel, Tool, Toolkit } from "@effect/ai"
  import { AnthropicTool } from "@effect/ai-anthropic"
  import { Schema } from "effect"

  const DadJokeTool = Tool.make("DadJokeTool", {
    parameters: { topic: Schema.String },
    success: Schema.Struct({ joke: Schema.String })
  })

  const MyToolkit = Toolkit.make(
    DadJokeTool,
    AnthropicTool.WebSearch_20250305({ max_uses: 1 })
  )

  const program = LanguageModel.generateText({
    prompt: "Search the web for a dad joke",
    toolkit: MyToolkit
  })
  ```

  ## AiError

  The `AiError` type has been refactored into a union of different error types
  which can be raised by the Effect AI SDK. The goal of defining separate error
  types is to allow providing the end-user with more granular information about
  the error that occurred.

  For now, the following errors have been defined. More error types may be added
  over time based upon necessity / use case.

  ```ts
  type AiError =
    | HttpRequestError,
    | HttpResponseError,
    | MalformedInput,
    | MalformedOutput,
    | UnknownError
  ```

## 0.26.1

### Patch Changes

- [#5453](https://github.com/Effect-TS/effect/pull/5453) [`d6887d5`](https://github.com/Effect-TS/effect/commit/d6887d54a6ec57778cf536b69c2cf96123cb38a6) Thanks @tim-smart! - wait for client to initialize before sending notifications

- Updated dependencies [[`d6887d5`](https://github.com/Effect-TS/effect/commit/d6887d54a6ec57778cf536b69c2cf96123cb38a6)]:
  - @effect/rpc@0.69.2

## 0.26.0

### Patch Changes

- Updated dependencies [[`3e163b2`](https://github.com/Effect-TS/effect/commit/3e163b24cc2b647e25566ba29ef25c3f57609042)]:
  - @effect/rpc@0.69.0
  - @effect/experimental@0.54.6

## 0.25.2

### Patch Changes

- [#5361](https://github.com/Effect-TS/effect/pull/5361) [`292a7c5`](https://github.com/Effect-TS/effect/commit/292a7c54050e3d06a203130f3545207ec5ac633d) Thanks @IMax153! - Add `AiEmbeddingModel.embedMany`

## 0.25.1

### Patch Changes

- [#5351](https://github.com/Effect-TS/effect/pull/5351) [`fd86f93`](https://github.com/Effect-TS/effect/commit/fd86f93217751363c60f3916d391f71c08ec4a72) Thanks @richburdon! - fixes bug where stream currently ignores disableToolCallResolution flag

- Updated dependencies [[`a949539`](https://github.com/Effect-TS/effect/commit/a94953971c2e908890dfda00f8560d317306c328)]:
  - effect@3.17.7
  - @effect/experimental@0.54.4

## 0.25.0

### Patch Changes

- Updated dependencies [[`5a0f4f1`](https://github.com/Effect-TS/effect/commit/5a0f4f176687a39d9fa46bb894bb7ac3175b0e87), [`e9cbd26`](https://github.com/Effect-TS/effect/commit/e9cbd2673401723aa811b0535202e4f57baf6d2c)]:
  - effect@3.17.1
  - @effect/rpc@0.68.0
  - @effect/experimental@0.54.0

## 0.24.0

### Patch Changes

- Updated dependencies [[`7813640`](https://github.com/Effect-TS/effect/commit/7813640279d9e3a3e7fc0a29bfb5c6d5fb3c270f)]:
  - @effect/platform@0.90.0
  - @effect/experimental@0.54.0
  - @effect/rpc@0.67.0

## 0.23.0

### Patch Changes

- Updated dependencies [[`40c3c87`](https://github.com/Effect-TS/effect/commit/40c3c875f724264312b43002859c82bed9ad0df9), [`ed2c74a`](https://github.com/Effect-TS/effect/commit/ed2c74ae8fa4ea0dd06ea84a3e58cd32e6916104), [`073a1b8`](https://github.com/Effect-TS/effect/commit/073a1b8be5dbfa87454393ee7346f5bc36a4fd63), [`f382e99`](https://github.com/Effect-TS/effect/commit/f382e99e409838a879246250fc3994b9bf5b3c2c), [`e8c7ba5`](https://github.com/Effect-TS/effect/commit/e8c7ba5fd3eb0c3ae3039fc24c09d69391987989), [`7e10415`](https://github.com/Effect-TS/effect/commit/7e1041599ade25103428703f5d2dfd7378a09636), [`e9bdece`](https://github.com/Effect-TS/effect/commit/e9bdececdc24f60a246be5055eca71a0d49ea7f2), [`8d95eb0`](https://github.com/Effect-TS/effect/commit/8d95eb0356b1d1736204836c275d201a547d208d)]:
  - effect@3.17.0
  - @effect/experimental@0.53.0
  - @effect/platform@0.89.0
  - @effect/rpc@0.66.0

## 0.22.2

### Patch Changes

- [#5240](https://github.com/Effect-TS/effect/pull/5240) [`e43b1fd`](https://github.com/Effect-TS/effect/commit/e43b1fd9c4e0897bbf97037fe7cce90448340c29) Thanks @tim-smart! - expose the AiChat history Ref

## 0.22.1

### Patch Changes

- Updated dependencies [[`f5dfabf`](https://github.com/Effect-TS/effect/commit/f5dfabf51ba481a4468c1509c537314978ef6cec), [`17a5ea8`](https://github.com/Effect-TS/effect/commit/17a5ea8fa29785fe6e4c9480f2a2e9c8c59f3f38), [`d25f22b`](https://github.com/Effect-TS/effect/commit/d25f22be7598abe977caf6cdac3b0dd78b438c48)]:
  - effect@3.16.14
  - @effect/platform@0.88.1
  - @effect/experimental@0.52.1
  - @effect/rpc@0.65.1

## 0.22.0

### Patch Changes

- Updated dependencies [[`27206d7`](https://github.com/Effect-TS/effect/commit/27206d7f0558d7fe28de57bf54f1d0cc83acc92e), [`dbabf5e`](https://github.com/Effect-TS/effect/commit/dbabf5e76fa63b050d2b6c466713c7dc59f07d3c)]:
  - @effect/platform@0.88.0
  - @effect/experimental@0.52.0
  - @effect/rpc@0.65.0

## 0.21.17

### Patch Changes

- Updated dependencies [[`c1c05a8`](https://github.com/Effect-TS/effect/commit/c1c05a8242fb5df7445b4a12387a60eac7726eb7), [`5b7cd92`](https://github.com/Effect-TS/effect/commit/5b7cd923e786c38a0802faf0fe75498ab3cccf28), [`81fe4a2`](https://github.com/Effect-TS/effect/commit/81fe4a2c81d5e30e180a60e68c52016a27b350db)]:
  - effect@3.16.13
  - @effect/rpc@0.64.14
  - @effect/experimental@0.51.14
  - @effect/platform@0.87.13

## 0.21.16

### Patch Changes

- Updated dependencies [[`32ba77a`](https://github.com/Effect-TS/effect/commit/32ba77ae304d2161362a73e8b61965332626cf2d), [`d5e25b2`](https://github.com/Effect-TS/effect/commit/d5e25b237f05670ee42b386cb40b2cb448fc11d7)]:
  - @effect/platform@0.87.12
  - @effect/experimental@0.51.13
  - @effect/rpc@0.64.13

## 0.21.15

### Patch Changes

- Updated dependencies [[`79a1947`](https://github.com/Effect-TS/effect/commit/79a1947359cbd89a47ea315cdd86a3d250f28f43), [`001392b`](https://github.com/Effect-TS/effect/commit/001392ba8bfcad101bb034348a7415012fb12f72), [`7bfb099`](https://github.com/Effect-TS/effect/commit/7bfb099cb5528511b8d63045c4fbb4dc9cb18528)]:
  - @effect/rpc@0.64.12
  - @effect/platform@0.87.11
  - @effect/experimental@0.51.12

## 0.21.14

### Patch Changes

- Updated dependencies [[`678318d`](https://github.com/Effect-TS/effect/commit/678318d2e88233156b006acda56c2d138ee3ffa0), [`678318d`](https://github.com/Effect-TS/effect/commit/678318d2e88233156b006acda56c2d138ee3ffa0)]:
  - @effect/platform@0.87.10
  - @effect/experimental@0.51.11
  - @effect/rpc@0.64.11

## 0.21.13

### Patch Changes

- Updated dependencies [[`54514a2`](https://github.com/Effect-TS/effect/commit/54514a2f53166de27ad7e756dbf12194691fd4af)]:
  - @effect/platform@0.87.9
  - @effect/experimental@0.51.10
  - @effect/rpc@0.64.10

## 0.21.12

### Patch Changes

- Updated dependencies [[`4ce4f82`](https://github.com/Effect-TS/effect/commit/4ce4f824f6fdef492be1d35c05a490ffce518c89)]:
  - @effect/platform@0.87.8
  - @effect/experimental@0.51.9
  - @effect/rpc@0.64.9

## 0.21.11

### Patch Changes

- [#5029](https://github.com/Effect-TS/effect/pull/5029) [`d92d12a`](https://github.com/Effect-TS/effect/commit/d92d12acb6097a4fa6c9c918faa3cd5c3fb6c778) Thanks @IMax153! - Add support for generating tool call identifiers when none are returned by the LLM provider

- [#5165](https://github.com/Effect-TS/effect/pull/5165) [`25ca0cf`](https://github.com/Effect-TS/effect/commit/25ca0cf141139cd44ff53081b1c877f8f3ab5e41) Thanks @IMax153! - Ensure that tool call parts are properly merged when combining `AiResponse`s

- [#5029](https://github.com/Effect-TS/effect/pull/5029) [`d92d12a`](https://github.com/Effect-TS/effect/commit/d92d12acb6097a4fa6c9c918faa3cd5c3fb6c778) Thanks @IMax153! - Cleanup AiLanguageModel construction and finish basic support for gemini

## 0.21.10

### Patch Changes

- Updated dependencies [[`a9b617f`](https://github.com/Effect-TS/effect/commit/a9b617f125171ed76cd79ab46d7a924daf3b0e70), [`7e26e86`](https://github.com/Effect-TS/effect/commit/7e26e86524abcc93713d6ad7eee486638c98f7c2)]:
  - @effect/platform@0.87.7
  - @effect/experimental@0.51.8
  - @effect/rpc@0.64.8

## 0.21.9

### Patch Changes

- [#5154](https://github.com/Effect-TS/effect/pull/5154) [`030ac21`](https://github.com/Effect-TS/effect/commit/030ac217eac167d345a095bff26d9c95827fa64c) Thanks @IMax153! - Support disabling tool call resolution to give users more control over resolver execution

- [#5133](https://github.com/Effect-TS/effect/pull/5133) [`aaae9b1`](https://github.com/Effect-TS/effect/commit/aaae9b10345ab5f867b08e1c6eb21685cfc2b078) Thanks @IMax153! - Support extracting tool call results from `AiResponse.WithToolCallResults`

- Updated dependencies [[`905da99`](https://github.com/Effect-TS/effect/commit/905da996aad665057b4ca6dba1a4af44fb8835bd)]:
  - effect@3.16.12
  - @effect/experimental@0.51.7
  - @effect/platform@0.87.6
  - @effect/rpc@0.64.7

## 0.21.8

### Patch Changes

- Updated dependencies [[`96c1292`](https://github.com/Effect-TS/effect/commit/96c129262835410b311a51d0bf7f58b8f6fc9a12)]:
  - @effect/experimental@0.51.6

## 0.21.7

### Patch Changes

- Updated dependencies [[`2fd8676`](https://github.com/Effect-TS/effect/commit/2fd8676c803cd40000dfc3231f5daecaa0e0ebd2)]:
  - @effect/platform@0.87.5
  - @effect/experimental@0.51.5
  - @effect/rpc@0.64.6

## 0.21.6

### Patch Changes

- Updated dependencies [[`e82a4fd`](https://github.com/Effect-TS/effect/commit/e82a4fd60f6528d08cef1a4aba0abe0d3ba741ad)]:
  - @effect/platform@0.87.4
  - @effect/experimental@0.51.4
  - @effect/rpc@0.64.5

## 0.21.5

### Patch Changes

- Updated dependencies [[`1b6e396`](https://github.com/Effect-TS/effect/commit/1b6e396d699f3cbbc56b68f99055cf746529bb9e)]:
  - @effect/platform@0.87.3
  - @effect/experimental@0.51.3
  - @effect/rpc@0.64.4

## 0.21.4

### Patch Changes

- Updated dependencies [[`4fea68c`](https://github.com/Effect-TS/effect/commit/4fea68ca7a25a3c39a1ab68b3885534513ab0c81), [`b927954`](https://github.com/Effect-TS/effect/commit/b9279543cf5688dd8a577af80456959c615217d0), [`99590a6`](https://github.com/Effect-TS/effect/commit/99590a6ca9128eb1ede265b6670b655311995614), [`6c3e24c`](https://github.com/Effect-TS/effect/commit/6c3e24c2308f7d4a29b8f4270ab81bca22ac6bb4)]:
  - @effect/platform@0.87.2
  - effect@3.16.11
  - @effect/experimental@0.51.2
  - @effect/rpc@0.64.3

## 0.21.3

### Patch Changes

- Updated dependencies [[`faad30e`](https://github.com/Effect-TS/effect/commit/faad30ec8742916be59f9db642d0fc98225b636c)]:
  - effect@3.16.10
  - @effect/experimental@0.51.1
  - @effect/platform@0.87.1
  - @effect/rpc@0.64.2

## 0.21.2

### Patch Changes

- Updated dependencies [[`112a93a`](https://github.com/Effect-TS/effect/commit/112a93a9bab73e95e79f7b3502d1a7b1acd668fc)]:
  - @effect/rpc@0.64.1
  - @effect/experimental@0.51.0

## 0.21.1

### Patch Changes

- [#5088](https://github.com/Effect-TS/effect/pull/5088) [`f667373`](https://github.com/Effect-TS/effect/commit/f667373da3471f1e907366780f8c3ea7f52cc5c8) Thanks @tim-smart! - expose system option in AiChat constructors

- Updated dependencies []:
  - @effect/experimental@0.51.0

## 0.21.0

### Patch Changes

- Updated dependencies [[`b5bac9a`](https://github.com/Effect-TS/effect/commit/b5bac9ac2913fcd11b02322624f03b544eef53ba)]:
  - @effect/rpc@0.64.0
  - @effect/platform@0.87.0
  - @effect/experimental@0.51.0

## 0.20.0

### Patch Changes

- Updated dependencies [[`5137c70`](https://github.com/Effect-TS/effect/commit/5137c703461d8d3b363c112140a6e7f798241d07), [`c23d25c`](https://github.com/Effect-TS/effect/commit/c23d25c3e7c541f1f63b28484d8c461d86c67e99), [`5137c70`](https://github.com/Effect-TS/effect/commit/5137c703461d8d3b363c112140a6e7f798241d07), [`5137c70`](https://github.com/Effect-TS/effect/commit/5137c703461d8d3b363c112140a6e7f798241d07)]:
  - effect@3.16.9
  - @effect/platform@0.86.0
  - @effect/experimental@0.50.0
  - @effect/rpc@0.63.0

## 0.19.4

### Patch Changes

- [#5056](https://github.com/Effect-TS/effect/pull/5056) [`a8d99b2`](https://github.com/Effect-TS/effect/commit/a8d99b2ec2f55d9aa6e7d00a5138e80380716877) Thanks @tim-smart! - add support for mcp 2025-06-18

- Updated dependencies [[`a8d99b2`](https://github.com/Effect-TS/effect/commit/a8d99b2ec2f55d9aa6e7d00a5138e80380716877)]:
  - @effect/rpc@0.62.4
  - @effect/experimental@0.49.2

## 0.19.3

### Patch Changes

- Updated dependencies [[`914a191`](https://github.com/Effect-TS/effect/commit/914a191e7cb6341a3d0e965bccd27c336cf22e44)]:
  - @effect/platform@0.85.2
  - @effect/experimental@0.49.2
  - @effect/rpc@0.62.3

## 0.19.2

### Patch Changes

- Updated dependencies [[`ddfd1e4`](https://github.com/Effect-TS/effect/commit/ddfd1e43db60e3b779d18a221344423c5f3c7416)]:
  - @effect/rpc@0.62.2
  - @effect/experimental@0.49.1

## 0.19.1

### Patch Changes

- Updated dependencies [[`8cb98d5`](https://github.com/Effect-TS/effect/commit/8cb98d53e68330228287ce2a2e0d8a4c86bcab3b), [`db2dd3c`](https://github.com/Effect-TS/effect/commit/db2dd3c3a8a77d791eae19e66153527e1cde4e6e)]:
  - effect@3.16.8
  - @effect/experimental@0.49.1
  - @effect/platform@0.85.1
  - @effect/rpc@0.62.1

## 0.19.0

### Patch Changes

- Updated dependencies [[`93687dd`](https://github.com/Effect-TS/effect/commit/93687ddbb25ce3b324cd2b83d2ccff225e97307e), [`93687dd`](https://github.com/Effect-TS/effect/commit/93687ddbb25ce3b324cd2b83d2ccff225e97307e), [`93687dd`](https://github.com/Effect-TS/effect/commit/93687ddbb25ce3b324cd2b83d2ccff225e97307e)]:
  - @effect/platform@0.85.0
  - @effect/experimental@0.49.0
  - @effect/rpc@0.62.0

## 0.18.16

### Patch Changes

- [#5040](https://github.com/Effect-TS/effect/pull/5040) [`daed158`](https://github.com/Effect-TS/effect/commit/daed158f2cf00175633284f075cf611c52aa2a1c) Thanks @tim-smart! - allow undefined mcp payloads

## 0.18.15

### Patch Changes

- [#5038](https://github.com/Effect-TS/effect/pull/5038) [`c315989`](https://github.com/Effect-TS/effect/commit/c315989cade6c2a5c9cb157ad85f56b492675add) Thanks @tim-smart! - remove McpServer requirement from McpServer.resource

## 0.18.14

### Patch Changes

- [#5036](https://github.com/Effect-TS/effect/pull/5036) [`cbac1ac`](https://github.com/Effect-TS/effect/commit/cbac1ac61a4e15ad15828563b39eef412bcee66e) Thanks @tim-smart! - add .of helpers to RpcGroup, Entity and AiToolkit

- [#5037](https://github.com/Effect-TS/effect/pull/5037) [`dd4d380`](https://github.com/Effect-TS/effect/commit/dd4d3802f714d59171b1e9226a7babf9723ea952) Thanks @tim-smart! - eliminate McpServer requirement from resource layers

- Updated dependencies [[`1bb0d8a`](https://github.com/Effect-TS/effect/commit/1bb0d8ab96782e99434356266b38251554ea0294), [`cbac1ac`](https://github.com/Effect-TS/effect/commit/cbac1ac61a4e15ad15828563b39eef412bcee66e)]:
  - effect@3.16.7
  - @effect/rpc@0.61.15
  - @effect/experimental@0.48.12
  - @effect/platform@0.84.11

## 0.18.13

### Patch Changes

- [#4961](https://github.com/Effect-TS/effect/pull/4961) [`aa3a819`](https://github.com/Effect-TS/effect/commit/aa3a819707c15dd39b6d9ae4b4293bd87b74e175) Thanks @IMax153! - add McpServer module

  The McpServer module provides a way to implement a MCP server using Effect.

  Here's an example of how to use the McpServer module to create a simple MCP
  server with a resource template and a test prompt:

  ```ts
  import { McpSchema, McpServer } from "@effect/ai"
  import { NodeRuntime, NodeSink, NodeStream } from "@effect/platform-node"
  import { Effect, Layer, Logger, Schema } from "effect"

  const idParam = McpSchema.param("id", Schema.NumberFromString)

  // Define a resource template for a README file
  const ReadmeTemplate = McpServer.resource`file://readme/${idParam}`({
    name: "README Template",
    // You can add auto-completion for the ID parameter
    completion: {
      id: (_) => Effect.succeed([1, 2, 3, 4, 5])
    },
    content: Effect.fn(function* (_uri, id) {
      return `# MCP Server Demo - ID: ${id}`
    })
  })

  // Define a test prompt with parameters
  const TestPrompt = McpServer.prompt({
    name: "Test Prompt",
    description: "A test prompt to demonstrate MCP server capabilities",
    parameters: Schema.Struct({
      flightNumber: Schema.String
    }),
    completion: {
      flightNumber: () => Effect.succeed(["FL123", "FL456", "FL789"])
    },
    content: ({ flightNumber }) =>
      Effect.succeed(
        `Get the booking details for flight number: ${flightNumber}`
      )
  })

  // Merge all the resources and prompts into a single server layer
  const ServerLayer = Layer.mergeAll(ReadmeTemplate, TestPrompt).pipe(
    // Provide the MCP server implementation
    Layer.provide(
      McpServer.layerStdio({
        name: "Demo Server",
        version: "1.0.0",
        stdin: NodeStream.stdin,
        stdout: NodeSink.stdout
      })
    ),
    // add a stderr logger
    Layer.provide(Logger.add(Logger.prettyLogger({ stderr: true })))
  )

  Layer.launch(ServerLayer).pipe(NodeRuntime.runMain)
  ```

- Updated dependencies [[`a5f7595`](https://github.com/Effect-TS/effect/commit/a5f75956ef9a15a83c416517ef493f0ee2f5ee8a), [`a02470c`](https://github.com/Effect-TS/effect/commit/a02470c75579e91525a25adb3f21b3650d042fdd), [`bf369b2`](https://github.com/Effect-TS/effect/commit/bf369b2902a0e0b195d957c18b9efd180942cf8b), [`f891d45`](https://github.com/Effect-TS/effect/commit/f891d45adffdafd3f94a2eca23faa354e3a409a8)]:
  - effect@3.16.6
  - @effect/platform@0.84.10
  - @effect/experimental@0.48.11
  - @effect/rpc@0.61.14

## 0.18.12

### Patch Changes

- Updated dependencies [[`bf418ef`](https://github.com/Effect-TS/effect/commit/bf418ef14a0f2ec965535793d5cea8fa8ba177ac)]:
  - effect@3.16.5
  - @effect/experimental@0.48.10
  - @effect/platform@0.84.9

## 0.18.11

### Patch Changes

- [#5011](https://github.com/Effect-TS/effect/pull/5011) [`2dc5f93`](https://github.com/Effect-TS/effect/commit/2dc5f932f89d260e2f6139c9b89e0548d11d94c2) Thanks @IMax153! - disallow excess options in `AiLanguageModel.generateText` / `AiLanguageModel.streamText`

- Updated dependencies []:
  - @effect/experimental@0.48.9

## 0.18.10

### Patch Changes

- Updated dependencies [[`8b9db77`](https://github.com/Effect-TS/effect/commit/8b9db7742846af0f58fd8e8b7acb7f4f5ff487ec)]:
  - @effect/platform@0.84.8
  - @effect/experimental@0.48.9

## 0.18.9

### Patch Changes

- Updated dependencies [[`74ab9a0`](https://github.com/Effect-TS/effect/commit/74ab9a0a9e16d6e019369d256e1e24175c8bc3f3), [`770008e`](https://github.com/Effect-TS/effect/commit/770008eca3aad2899a2ed951236e575793294b28)]:
  - effect@3.16.4
  - @effect/experimental@0.48.8
  - @effect/platform@0.84.7

## 0.18.8

### Patch Changes

- Updated dependencies [[`a2d57c9`](https://github.com/Effect-TS/effect/commit/a2d57c9ac596445009ca12859b78e00e5d89b936)]:
  - @effect/experimental@0.48.7

## 0.18.7

### Patch Changes

- Updated dependencies [[`ceea77a`](https://github.com/Effect-TS/effect/commit/ceea77a13055f145520f763e3fce5b8ff15d728f)]:
  - @effect/platform@0.84.6
  - @effect/experimental@0.48.6

## 0.18.6

### Patch Changes

- [#4968](https://github.com/Effect-TS/effect/pull/4968) [`85f54ed`](https://github.com/Effect-TS/effect/commit/85f54ed1ecf2f191de8c907247066e3631b5d7e1) Thanks @IMax153! - fix the type of `AiToolkit.Any`

- Updated dependencies [[`ec52c6a`](https://github.com/Effect-TS/effect/commit/ec52c6a2211e76972462b15b9d5a9d6d56761b7a)]:
  - @effect/platform@0.84.5
  - @effect/experimental@0.48.5

## 0.18.5

### Patch Changes

- [#4959](https://github.com/Effect-TS/effect/pull/4959) [`4ddb28d`](https://github.com/Effect-TS/effect/commit/4ddb28d230d572735fe34539c1c59005d4932d8a) Thanks @tim-smart! - improve @effect/ai llm schema compatibility

## 0.18.4

### Patch Changes

- Updated dependencies [[`87722fc`](https://github.com/Effect-TS/effect/commit/87722fce693a9b49284bbddbf82d30714c688261), [`36217ee`](https://github.com/Effect-TS/effect/commit/36217eeb1337edd9ac3f9a635b80a6385d22ae8f)]:
  - effect@3.16.3
  - @effect/experimental@0.48.4
  - @effect/platform@0.84.4

## 0.18.3

### Patch Changes

- [#4947](https://github.com/Effect-TS/effect/pull/4947) [`52c88c4`](https://github.com/Effect-TS/effect/commit/52c88c4b7d20ea819b9f2efaf112d03de0a4627b) Thanks @tim-smart! - fix AiToolkit handlers type extraction

- Updated dependencies [[`ab7684f`](https://github.com/Effect-TS/effect/commit/ab7684f1c2a0671bf091f255d220e3a4cc7f528e)]:
  - @effect/platform@0.84.3
  - @effect/experimental@0.48.3

## 0.18.2

### Patch Changes

- Updated dependencies [[`0ddf148`](https://github.com/Effect-TS/effect/commit/0ddf148a247aa87af043d276b8453a714a400897)]:
  - effect@3.16.2
  - @effect/experimental@0.48.2
  - @effect/platform@0.84.2

## 0.18.1

### Patch Changes

- Updated dependencies [[`71174d0`](https://github.com/Effect-TS/effect/commit/71174d09691314a9b6b66189e456fd21e3eb6543), [`d615e6e`](https://github.com/Effect-TS/effect/commit/d615e6e5b944f6fd5e627e31752c7ca7e4e1c17d)]:
  - @effect/platform@0.84.1
  - effect@3.16.1
  - @effect/experimental@0.48.1

## 0.18.0

### Minor Changes

- [#4891](https://github.com/Effect-TS/effect/pull/4891) [`0552674`](https://github.com/Effect-TS/effect/commit/055267461a3076b06dea896258f4bb2154211fcb) Thanks @IMax153! - Make `AiModel` a plain `Layer` and remove `AiPlan` in favor of `ExecutionPlan`

  This release substantially simplifies and improves the ergonomics of using `AiModel` for various providers. With these changes, an `AiModel` now returns a plain `Layer` which can be used to provide services to a program that interacts with large language models.

  **Before**

  ```ts
  import { AiLanguageModel } from "@effect/ai"
  import { OpenAiClient, OpenAiLanguageModel } from "@effect/ai-openai"
  import { NodeHttpClient } from "@effect/platform-node"
  import { Config, Console, Effect, Layer } from "effect"

  // Produces an `AiModel<AiLanguageModel, OpenAiClient>`
  const Gpt4o = OpenAiLanguageModel.model("gpt-4o")

  // Generate a dad joke
  const getDadJoke = AiLanguageModel.generateText({
    prompt: "Tell me a dad joke"
  })

  const program = Effect.gen(function* () {
    // Build the `AiModel` into a `Provider`
    const gpt4o = yield* Gpt4o
    // Use the built `AiModel` to run the program
    const response = yield* gpt4o.use(getDadJoke)
    // Log the response
    yield* Console.log(response.text)
  })

  const OpenAi = OpenAiClient.layerConfig({
    apiKey: Config.redacted("OPENAI_API_KEY")
  }).pipe(Layer.provide(NodeHttpClient.layerUndici))

  program.pipe(Effect.provide(OpenAi), Effect.runPromise)
  ```

  **After**

  ```ts
  import { AiLanguageModel } from "@effect/ai"
  import { OpenAiClient, OpenAiLanguageModel } from "@effect/ai-openai"
  import { NodeHttpClient } from "@effect/platform-node"
  import { Config, Console, Effect, Layer } from "effect"

  // Produces a `Layer<AiLanguageModel, never, OpenAiClient>`
  const Gpt4o = OpenAiLanguageModel.model("gpt-4o")

  const program = Effect.gen(function*() {
    // Generate a dad joke
    const response = yield* AiLanguageModel.generateText({
      prompt: "Tell me a dad joke"
    })
    // Log the response
    yield* Console.log(response.text)
  ).pipe(Effect.provide(Gpt4o))

  const OpenAi = OpenAiClient.layerConfig({
    apiKey: Config.redacted("OPENAI_API_KEY")
  }).pipe(Layer.provide(NodeHttpClient.layerUndici))

  program.pipe(
    Effect.provide(OpenAi),
    Effect.runPromise
  )
  ```

  In addition, `AiModel` can be `yield*`'ed to produce a layer with no requirements.

  This shifts the requirements of building the layer into the calling effect, which is particularly useful for creating AI-powered services.

  ```ts
  import { AiLanguageModel } from "@effect/ai"
  import { OpenAiLanguageModel } from "@effect/ai-openai"
  import { Effect } from "effect"

  class DadJokes extends Effect.Service<DadJokes>()("DadJokes", {
    effect: Effect.gen(function* () {
      // Yielding the model will return a layer with no requirements
      //
      //      ┌─── Layer<AiLanguageModel>
      //      ▼
      const model = yield* OpenAiLanguageModel.model("gpt-4o")

      const getDadJoke = AiLanguageModel.generateText({
        prompt: "Generate a dad joke"
      }).pipe(Effect.provide(model))

      return { getDadJoke } as const
    })
  }) {}

  // The requirements are lifted into the service constructor
  //
  //          ┌─── Layer<DadJokes, never, OpenAiClient>
  //          ▼
  DadJokes.Default
  ```

### Patch Changes

- Updated dependencies [[`ee0bd5d`](https://github.com/Effect-TS/effect/commit/ee0bd5d24864752c54cb359f67a67dd903971ec4), [`5189800`](https://github.com/Effect-TS/effect/commit/51898004e11766b8cf6d95e960b636f6d5db79ec), [`58bfeaa`](https://github.com/Effect-TS/effect/commit/58bfeaa64ded8c88f772b184311c0c0dbac10960), [`194d748`](https://github.com/Effect-TS/effect/commit/194d7486943f56f3267ef415395ac220a4b3e634), [`918c9ea`](https://github.com/Effect-TS/effect/commit/918c9ea1a57facb154f0fb26792021f337054dee), [`9198e6f`](https://github.com/Effect-TS/effect/commit/9198e6fcc1a3ff4fefb3363004de558d8de01f40), [`2a370bf`](https://github.com/Effect-TS/effect/commit/2a370bf625fdeede5659721468eb0d527e403279), [`58ccb91`](https://github.com/Effect-TS/effect/commit/58ccb91328c8df5d49808b673738bc09df355201), [`fd47834`](https://github.com/Effect-TS/effect/commit/fd478348203fa89462b0a1d067ce4de034353df4)]:
  - effect@3.16.0
  - @effect/experimental@0.48.0
  - @effect/platform@0.84.0

## 0.17.0

### Patch Changes

- Updated dependencies [[`5522520`](https://github.com/Effect-TS/effect/commit/55225206ab9af0ad60b1c0654690a8a096d625cd), [`cc5bb2b`](https://github.com/Effect-TS/effect/commit/cc5bb2b918a9450a975f702dabcea891bda382cb)]:
  - @effect/platform@0.83.0
  - effect@3.15.5
  - @effect/experimental@0.47.0

## 0.16.9

### Patch Changes

- Updated dependencies [[`0617b9d`](https://github.com/Effect-TS/effect/commit/0617b9dc365f1963b36949ad7f9023ab6eb94524)]:
  - @effect/platform@0.82.8
  - @effect/experimental@0.46.8

## 0.16.8

### Patch Changes

- Updated dependencies [[`f570554`](https://github.com/Effect-TS/effect/commit/f57055459524587b041340577dad85476bb35f81), [`78047e8`](https://github.com/Effect-TS/effect/commit/78047e8dfc8005b66f87afe50bb95981fea51561), [`c20b95a`](https://github.com/Effect-TS/effect/commit/c20b95a99ffe452b4774c844d397a905f713b6d6), [`94ada43`](https://github.com/Effect-TS/effect/commit/94ada430928d5685bdbef513e87562c20774a3a2)]:
  - effect@3.15.4
  - @effect/platform@0.82.7
  - @effect/experimental@0.46.7

## 0.16.7

### Patch Changes

- Updated dependencies [[`618903b`](https://github.com/Effect-TS/effect/commit/618903ba9ae96e2bfe6ee31f61c4359b915f2a36)]:
  - @effect/platform@0.82.6
  - @effect/experimental@0.46.6

## 0.16.6

### Patch Changes

- Updated dependencies [[`7764a07`](https://github.com/Effect-TS/effect/commit/7764a07d960c60df81f14e1dc949518f4bbe494a), [`4577f54`](https://github.com/Effect-TS/effect/commit/4577f548d67273e576cdde423bdd34a4b910766a), [`30a0d9c`](https://github.com/Effect-TS/effect/commit/30a0d9cb51c84290d51b1361d72ff5cee33c13c7)]:
  - @effect/platform@0.82.5
  - effect@3.15.3
  - @effect/experimental@0.46.5

## 0.16.5

### Patch Changes

- Updated dependencies [[`d45e8a8`](https://github.com/Effect-TS/effect/commit/d45e8a8ac8227192f504e39e6d04fdcf4fb1d225), [`d13b68e`](https://github.com/Effect-TS/effect/commit/d13b68e3a9456d0bfee9bca8273a7b44a9c69087)]:
  - @effect/platform@0.82.4
  - @effect/experimental@0.46.4

## 0.16.4

### Patch Changes

- Updated dependencies [[`b8722b8`](https://github.com/Effect-TS/effect/commit/b8722b817e2306fe8c8245f3f9e32d85b824b961), [`a328f4b`](https://github.com/Effect-TS/effect/commit/a328f4b4fe717dd53e5b04a30f387433c32f7328)]:
  - effect@3.15.2
  - @effect/platform@0.82.3
  - @effect/experimental@0.46.3

## 0.16.3

### Patch Changes

- Updated dependencies [[`739a3d4`](https://github.com/Effect-TS/effect/commit/739a3d4a4565915fe2e690003f4f9085cb4422fc)]:
  - @effect/platform@0.82.2
  - @effect/experimental@0.46.2

## 0.16.2

### Patch Changes

- Updated dependencies [[`787ce70`](https://github.com/Effect-TS/effect/commit/787ce7042e35b657963473c6efe47752868cd811), [`1269641`](https://github.com/Effect-TS/effect/commit/1269641a99ae43069f7648ff79ffe8729b54b348), [`1269641`](https://github.com/Effect-TS/effect/commit/1269641a99ae43069f7648ff79ffe8729b54b348)]:
  - effect@3.15.1
  - @effect/experimental@0.46.1
  - @effect/platform@0.82.1

## 0.16.1

### Patch Changes

- [#4866](https://github.com/Effect-TS/effect/pull/4866) [`cb3c30f`](https://github.com/Effect-TS/effect/commit/cb3c30f540a83dafcd6d841375073b5e069fa417) Thanks @tim-smart! - preserve tool call results in AiResponse.merge

- Updated dependencies []:
  - @effect/experimental@0.46.0

## 0.16.0

### Patch Changes

- Updated dependencies [[`c654595`](https://github.com/Effect-TS/effect/commit/c65459587b51da140b78098e81fdbfece65d53e2), [`d9f5dea`](https://github.com/Effect-TS/effect/commit/d9f5deae0f02f5de2b9fcb1cca8b142ba4bc2bba), [`49aa723`](https://github.com/Effect-TS/effect/commit/49aa7236a15e13f818c86edbca08c4af67c8dfaf), [`74c14d0`](https://github.com/Effect-TS/effect/commit/74c14d01d0cb48cf517a1b6e29a373a96ed0ff5b), [`e4f49b6`](https://github.com/Effect-TS/effect/commit/e4f49b66857e01b74ab6a9a0bc7132f44cd04cbb), [`6f02224`](https://github.com/Effect-TS/effect/commit/6f02224b3fc46a682ad2defb1a260841956c6780), [`1dcfd41`](https://github.com/Effect-TS/effect/commit/1dcfd41ff96abd706901293a00c1893cb29dd8fd), [`b21ab16`](https://github.com/Effect-TS/effect/commit/b21ab16b6f773e7ec4369db4e752c35e719f7870), [`fcf1822`](https://github.com/Effect-TS/effect/commit/fcf1822f98fcda60351d64e9d2c2c13563d7e6db), [`0061dd1`](https://github.com/Effect-TS/effect/commit/0061dd140740165e91569a684cce27a77b23229e), [`8421e6e`](https://github.com/Effect-TS/effect/commit/8421e6e49332bca8f96f482dfd48680e238b3a89), [`a9b3fb7`](https://github.com/Effect-TS/effect/commit/a9b3fb78abcfdb525318a956fd02fcadeb56143e), [`fa10f56`](https://github.com/Effect-TS/effect/commit/fa10f56b96bd9af070ba99ebc3279aa93954261e)]:
  - effect@3.15.0
  - @effect/platform@0.82.0
  - @effect/experimental@0.46.0

## 0.15.0

### Minor Changes

- [#4766](https://github.com/Effect-TS/effect/pull/4766) [`a4d42c5`](https://github.com/Effect-TS/effect/commit/a4d42c55669eff56963d06323d155a5bf3082a70) Thanks @IMax153! - This release includes a complete refactor of the internals of the base `@effect/ai` library, with a focus on flexibility for the end user and incorporation of more information from model providers.

  ## Notable Changes

  ### `AiLanguageModel` and `AiEmbeddingModel`

  The `Completions` service from `@effect/ai` has been renamed to `AiLanguageModel`, and the `Embeddings` service has similarly been renamed to `AiEmbeddingModel`. In addition, `Completions.create` and `Completions.toolkit` have been unified into `AiLanguageModel.generateText`. Similarly, `Completions.stream` and `Completions.toolkitStream` have been unified into `AiLanguageModel.streamText`.

  ### Structured Outputs

  `Completions.structured` has been renamed to `AiLanguageModel.generateObject`, and this method now returns a specialized `AiResponse.WithStructuredOutput` type, which contains a `value` property with the result of the structured output call. This enhancement prevents the end user from having to unnecessarily unwrap an `Option`.

  ### `AiModel` and `AiPlan`

  The `.provide` method on a built `AiModel` / `AiPlan` has been renamed to `.use` to improve clarity given that a user is _using_ the services provided by the model / plan to run a particular piece of code.

  In addition, the `AiPlan.fromModel` constructor has been simplified into `AiPlan.make`, which allows you to create an initial `AiPlan` with multiple steps incorporated.

  For example:

  ```ts
  import { AiPlan } from "@effect/ai"
  import { OpenAiLanguageModel } from "@effect/ai-openai"
  import { AnthropicLanguageModel } from "@effect/ai-anthropic"
  import { Effect } from "effect"

  const main = Effect.gen(function* () {
    const plan = yield* AiPlan.make(
      {
        model: OpenAiLanguageModel.model("gpt-4"),
        attempts: 1
      },
      {
        model: AnthropicLanguageModel.model("claude-3-7-sonnet-latest"),
        attempts: 1
      },
      {
        model: AnthropicLanguageModel.model("claude-3-5-sonnet-latest"),
        attempts: 1
      }
    )

    yield* plan.use(program)
  })
  ```

  ### `AiInput` and `AiResponse`

  The `AiInput` and `AiResponse` types have been refactored to allow inclusion of more information and metadata from model providers where possible, such as reasoning output and prompt cache token utilization.

  In addition, for an `AiResponse` you can now access metadata that is specific to a given provider. For example, when using OpenAi to generate audio, you can check the input and output audio tokens used:

  ```ts
  import { OpenAiLanguageModel } from "@effect/ai-openai"
  import { Effect, Option } from "effect"

  const getDadJoke = OpenAiLanguageModel.generateText({
    prompt: "Generate a hilarious dad joke"
  })

  Effect.gen(function* () {
    const model = yield* OpenAiLanguageModel.model("gpt-4o")
    const response = yield* model.use(getDadJoke)
    const metadata = response.getProviderMetadata(
      OpenAiLanguageModel.ProviderMetadata
    )
    if (Option.isSome(metadata)) {
      console.log(metadata.value)
    }
  })
  ```

  ### `AiTool` and `AiToolkit`

  The `AiToolkit` has been completely refactored to simplify creating a collection of tools and using those tools in requests to model providers. A new `AiTool` data type has also been introduced to simplify defining tools for a toolkit. `AiToolkit.implement` has been renamed to `AiToolkit.toLayer` for clarity, and defining handlers is now very similar to the way handlers are defined in the `@effect/rpc` library.

  A complete example of an `AiToolkit` implementation and usage can be found below:

  ```ts
  import { AiLanguageModel, AiTool, AiToolkit } from "@effect/ai"
  import { OpenAiClient, OpenAiLanguageModel } from "@effect/ai-openai"
  import {
    FetchHttpClient,
    HttpClient,
    HttpClientRequest,
    HttpClientResponse
  } from "@effect/platform"
  import { NodeHttpClient, NodeRuntime } from "@effect/platform-node"
  import { Array, Config, Console, Effect, Layer, Schema } from "effect"

  // =============================================================================
  // Domain Models
  // =============================================================================

  const DadJoke = Schema.Struct({
    id: Schema.String,
    joke: Schema.String
  })

  const SearchResponse = Schema.Struct({
    current_page: Schema.Int,
    limit: Schema.Int,
    next_page: Schema.Int,
    previous_page: Schema.Int,
    search_term: Schema.String,
    results: Schema.Array(DadJoke),
    status: Schema.Int,
    total_jokes: Schema.Int,
    total_pages: Schema.Int
  })

  // =============================================================================
  // Service Definitions
  // =============================================================================

  export class ICanHazDadJoke extends Effect.Service<ICanHazDadJoke>()(
    "ICanHazDadJoke",
    {
      dependencies: [FetchHttpClient.layer],
      effect: Effect.gen(function* () {
        const httpClient = (yield* HttpClient.HttpClient).pipe(
          HttpClient.mapRequest(
            HttpClientRequest.prependUrl("https://icanhazdadjoke.com")
          )
        )
        const httpClientOk = HttpClient.filterStatusOk(httpClient)

        const search = Effect.fn("ICanHazDadJoke.search")(function (
          term: string
        ) {
          return httpClientOk
            .get("/search", {
              acceptJson: true,
              urlParams: { term }
            })
            .pipe(
              Effect.flatMap(HttpClientResponse.schemaBodyJson(SearchResponse)),
              Effect.orDie
            )
        })

        return {
          search
        } as const
      })
    }
  ) {}

  // =============================================================================
  // Toolkit Definition
  // =============================================================================

  export class DadJokeTools extends AiToolkit.make(
    AiTool.make("GetDadJoke", {
      description:
        "Fetch a dad joke based on a search term from the ICanHazDadJoke API",
      success: DadJoke,
      parameters: Schema.Struct({
        searchTerm: Schema.String
      })
    })
  ) {}

  // =============================================================================
  // Toolkit Handlers
  // =============================================================================

  export const DadJokeToolHandlers = DadJokeTools.toLayer(
    Effect.gen(function* () {
      const icanhazdadjoke = yield* ICanHazDadJoke
      return {
        GetDadJoke: (params) =>
          icanhazdadjoke.search(params.searchTerm).pipe(
            Effect.flatMap((response) => Array.head(response.results)),
            Effect.orDie
          )
      }
    })
  ).pipe(Layer.provide(ICanHazDadJoke.Default))

  // =============================================================================
  // Toolkit Usage
  // =============================================================================

  const makeDadJoke = Effect.gen(function* () {
    const languageModel = yield* AiLanguageModel.AiLanguageModel
    const toolkit = yield* DadJokeTools

    const response = yield* languageModel.generateText({
      prompt: "Come up with a dad joke about pirates",
      toolkit
    })

    return yield* languageModel.generateText({
      prompt: response
    })
  })

  const program = Effect.gen(function* () {
    const model = yield* OpenAiLanguageModel.model("gpt-4o")
    const result = yield* model.provide(makeDadJoke)
    yield* Console.log(result.text)
  })

  const OpenAi = OpenAiClient.layerConfig({
    apiKey: Config.redacted("OPENAI_API_KEY")
  }).pipe(Layer.provide(NodeHttpClient.layerUndici))

  program.pipe(
    Effect.provide([OpenAi, DadJokeToolHandlers]),
    Effect.tapErrorCause(Effect.logError),
    NodeRuntime.runMain
  )
  ```

### Patch Changes

- Updated dependencies []:
  - @effect/experimental@0.45.1

## 0.14.1

### Patch Changes

- Updated dependencies [[`24a9ebb`](https://github.com/Effect-TS/effect/commit/24a9ebbb5af598f0bfd6ecc45307e528043fe011)]:
  - effect@3.14.22
  - @effect/experimental@0.45.1
  - @effect/platform@0.81.1

## 0.14.0

### Patch Changes

- Updated dependencies [[`672920f`](https://github.com/Effect-TS/effect/commit/672920f85da8abd5f9d4ad85e29248a2aca57ed8)]:
  - @effect/platform@0.81.0
  - @effect/experimental@0.45.0

## 0.13.21

### Patch Changes

- Updated dependencies [[`2f3b7d4`](https://github.com/Effect-TS/effect/commit/2f3b7d4e1fa1ef8790b0ca4da22eb88872ee31df)]:
  - effect@3.14.21
  - @effect/experimental@0.44.21
  - @effect/platform@0.80.21

## 0.13.20

### Patch Changes

- Updated dependencies [[`17e2f30`](https://github.com/Effect-TS/effect/commit/17e2f3091408cf0fca9414d4af3bdf7b2765b378)]:
  - effect@3.14.20
  - @effect/experimental@0.44.20
  - @effect/platform@0.80.20

## 0.13.19

### Patch Changes

- Updated dependencies [[`056a910`](https://github.com/Effect-TS/effect/commit/056a910d0a0b8b00b0dc9df4a070466b2b5c2f6c), [`e25e7bb`](https://github.com/Effect-TS/effect/commit/e25e7bbc1797733916f48f501425d9f2ef310d9f), [`3273d57`](https://github.com/Effect-TS/effect/commit/3273d572c2b3175a842677f19efeea4cd65ab016)]:
  - effect@3.14.19
  - @effect/platform@0.80.19
  - @effect/experimental@0.44.19

## 0.13.18

### Patch Changes

- Updated dependencies [[`b1164d4`](https://github.com/Effect-TS/effect/commit/b1164d49a1dfdf299e9971367b6fc6be4df0ddff)]:
  - effect@3.14.18
  - @effect/experimental@0.44.18
  - @effect/platform@0.80.18

## 0.13.17

### Patch Changes

- Updated dependencies [[`0b54681`](https://github.com/Effect-TS/effect/commit/0b54681cd89245e211d8f49272be0f1bf2f81813), [`41a59d5`](https://github.com/Effect-TS/effect/commit/41a59d5916a296b12b0d5ead9e859e05f40b4cce)]:
  - effect@3.14.17
  - @effect/experimental@0.44.17
  - @effect/platform@0.80.17

## 0.13.16

### Patch Changes

- Updated dependencies [[`ee14444`](https://github.com/Effect-TS/effect/commit/ee144441021ec77039e43396eaf90714687bb495), [`f1c8583`](https://github.com/Effect-TS/effect/commit/f1c8583f8c3ea9415f813795ca2940a897c9ba9a)]:
  - effect@3.14.16
  - @effect/platform@0.80.16
  - @effect/experimental@0.44.16

## 0.13.15

### Patch Changes

- Updated dependencies [[`239cc99`](https://github.com/Effect-TS/effect/commit/239cc995ce645946210a3c3d2cb52bd3547c0687), [`8b6c947`](https://github.com/Effect-TS/effect/commit/8b6c947eaa8e45a67ecb3c37d45cd27f3e41d165), [`c50a63b`](https://github.com/Effect-TS/effect/commit/c50a63bbecb9f560b9cae349c447eed877d1b9b6)]:
  - effect@3.14.15
  - @effect/experimental@0.44.15
  - @effect/platform@0.80.15

## 0.13.14

### Patch Changes

- Updated dependencies [[`6ed8d15`](https://github.com/Effect-TS/effect/commit/6ed8d1589beb181d30abc79afebdaabc1d101538)]:
  - effect@3.14.14
  - @effect/experimental@0.44.14
  - @effect/platform@0.80.14

## 0.13.13

### Patch Changes

- Updated dependencies [[`ee77788`](https://github.com/Effect-TS/effect/commit/ee77788747e7ebbde6bfa88256cde49dbbad3608), [`5fce6ba`](https://github.com/Effect-TS/effect/commit/5fce6ba19c3cc63cc0104e737e581ad989dedbf0), [`570e45f`](https://github.com/Effect-TS/effect/commit/570e45f8cb936e42ec48f67f21bb2b7252f36c0c)]:
  - effect@3.14.13
  - @effect/experimental@0.44.13
  - @effect/platform@0.80.13

## 0.13.12

### Patch Changes

- Updated dependencies [[`c2ad9ee`](https://github.com/Effect-TS/effect/commit/c2ad9ee9f3c4c743390edf35ed9e85a20be33811), [`9c68654`](https://github.com/Effect-TS/effect/commit/9c686542b6eb3ea188cb70673ef2e41223633e89)]:
  - effect@3.14.12
  - @effect/experimental@0.44.12
  - @effect/platform@0.80.12

## 0.13.11

### Patch Changes

- Updated dependencies [[`e536127`](https://github.com/Effect-TS/effect/commit/e536127c1e6f2fb3a542c73ae919435a629a346b)]:
  - effect@3.14.11
  - @effect/experimental@0.44.11
  - @effect/platform@0.80.11

## 0.13.10

### Patch Changes

- Updated dependencies [[`bc7efa3`](https://github.com/Effect-TS/effect/commit/bc7efa3b031bb25e1ed3c8f2d3fb5e8da166cadc)]:
  - effect@3.14.10
  - @effect/experimental@0.44.10
  - @effect/platform@0.80.10

## 0.13.9

### Patch Changes

- Updated dependencies [[`d78249f`](https://github.com/Effect-TS/effect/commit/d78249f0b67f63cf4baf806ff090cba33293daf0)]:
  - effect@3.14.9
  - @effect/experimental@0.44.9
  - @effect/platform@0.80.9

## 0.13.8

### Patch Changes

- Updated dependencies [[`b3a2d32`](https://github.com/Effect-TS/effect/commit/b3a2d32772e6f7f20eacf2e18128e99324c4d378)]:
  - effect@3.14.8
  - @effect/experimental@0.44.8
  - @effect/platform@0.80.8

## 0.13.7

### Patch Changes

- Updated dependencies [[`b542a4b`](https://github.com/Effect-TS/effect/commit/b542a4bf195be0c9af1523e1ba96c953decc4d25)]:
  - effect@3.14.7
  - @effect/experimental@0.44.7
  - @effect/platform@0.80.7

## 0.13.6

### Patch Changes

- Updated dependencies [[`47618c1`](https://github.com/Effect-TS/effect/commit/47618c1ad84ebcc5a51133a3fff5aa5012d49d45), [`6077882`](https://github.com/Effect-TS/effect/commit/60778824a4794336c33807801f813f8751d1c7e4)]:
  - effect@3.14.6
  - @effect/experimental@0.44.6
  - @effect/platform@0.80.6

## 0.13.5

### Patch Changes

- Updated dependencies [[`40dbfef`](https://github.com/Effect-TS/effect/commit/40dbfeff239b6e567706752114f31b2fce7de4e3), [`85fba81`](https://github.com/Effect-TS/effect/commit/85fba815ac07eb13d4227a69ac76a18e4b94df18), [`5a5ebdd`](https://github.com/Effect-TS/effect/commit/5a5ebdddfaddd259538b4599a6676281faca778e)]:
  - effect@3.14.5
  - @effect/platform@0.80.5
  - @effect/experimental@0.44.5

## 0.13.4

### Patch Changes

- Updated dependencies [[`e4ba2c6`](https://github.com/Effect-TS/effect/commit/e4ba2c66a878e81b5e295d6d49aaf724b80a28ef)]:
  - effect@3.14.4
  - @effect/experimental@0.44.4
  - @effect/platform@0.80.4

## 0.13.3

### Patch Changes

- Updated dependencies [[`37aa8e1`](https://github.com/Effect-TS/effect/commit/37aa8e137725a902e70cd1e468ea98b873aa5056), [`34f03d6`](https://github.com/Effect-TS/effect/commit/34f03d66875f21f266f102223a03cd14c2ed6ea6)]:
  - effect@3.14.3
  - @effect/experimental@0.44.3
  - @effect/platform@0.80.3

## 0.13.2

### Patch Changes

- Updated dependencies [[`f87991b`](https://github.com/Effect-TS/effect/commit/f87991b6d8a2edfaf90b01cebda4b466992ae865), [`f87991b`](https://github.com/Effect-TS/effect/commit/f87991b6d8a2edfaf90b01cebda4b466992ae865), [`0a3e3e1`](https://github.com/Effect-TS/effect/commit/0a3e3e18eea5e0d1882f1a6c906198e6ef226a41)]:
  - effect@3.14.2
  - @effect/experimental@0.44.2
  - @effect/platform@0.80.2

## 0.13.1

### Patch Changes

- Updated dependencies [[`4a274fe`](https://github.com/Effect-TS/effect/commit/4a274fe9f623182b6b902827e0e83bd89ca3b05c)]:
  - effect@3.14.1
  - @effect/experimental@0.44.1
  - @effect/platform@0.80.1

## 0.13.0

### Patch Changes

- Updated dependencies [[`1f47e4e`](https://github.com/Effect-TS/effect/commit/1f47e4e12546ab691b29bfb7b5128bb17b93baa5), [`26dd75f`](https://github.com/Effect-TS/effect/commit/26dd75f276a0d8a63eab313bd5a167d5072c9780), [`aba2d1d`](https://github.com/Effect-TS/effect/commit/aba2d1d831ea149481bd4dd755528c0afa8239ce), [`3131f8f`](https://github.com/Effect-TS/effect/commit/3131f8fd12ba9eb31b90fa2f42bf88b12309133c), [`aba2d1d`](https://github.com/Effect-TS/effect/commit/aba2d1d831ea149481bd4dd755528c0afa8239ce), [`04dff2d`](https://github.com/Effect-TS/effect/commit/04dff2d01ac68c260f29a6d4743381825c353c86), [`aba2d1d`](https://github.com/Effect-TS/effect/commit/aba2d1d831ea149481bd4dd755528c0afa8239ce), [`c7fac0c`](https://github.com/Effect-TS/effect/commit/c7fac0cd7eadcd5cc0c3a987051c5b57ad271638), [`aba2d1d`](https://github.com/Effect-TS/effect/commit/aba2d1d831ea149481bd4dd755528c0afa8239ce), [`ffaa3f3`](https://github.com/Effect-TS/effect/commit/ffaa3f3969df26610fcc02ad537340641d44e803), [`ab957c1`](https://github.com/Effect-TS/effect/commit/ab957c1fee714868f56c7ab4e802b9d449e9b666), [`35db9ce`](https://github.com/Effect-TS/effect/commit/35db9ce228f1416c8abacc6dc9c36fbd0f33ef0f), [`aba2d1d`](https://github.com/Effect-TS/effect/commit/aba2d1d831ea149481bd4dd755528c0afa8239ce), [`cf77ea9`](https://github.com/Effect-TS/effect/commit/cf77ea9ab4fc89e66a43f682a9926ccdee6c57ed), [`26dd75f`](https://github.com/Effect-TS/effect/commit/26dd75f276a0d8a63eab313bd5a167d5072c9780), [`baaab60`](https://github.com/Effect-TS/effect/commit/baaab60b737f35dfab8e4a21bce28a195d19e899)]:
  - effect@3.14.0
  - @effect/experimental@0.44.0
  - @effect/platform@0.80.0

## 0.12.4

### Patch Changes

- Updated dependencies [[`5662363`](https://github.com/Effect-TS/effect/commit/566236361e270e575ef1cbf308ad1967c82a362c), [`5f1fd15`](https://github.com/Effect-TS/effect/commit/5f1fd15308ab154791580059b89877d19a2055c2), [`8bb1460`](https://github.com/Effect-TS/effect/commit/8bb1460c824f66f0f25ebd899c5e74e388089c37)]:
  - @effect/platform@0.79.4
  - @effect/experimental@0.43.4

## 0.12.3

### Patch Changes

- Updated dependencies [[`0c4803f`](https://github.com/Effect-TS/effect/commit/0c4803fcc69262d11a97ce49d0e9b4288df0651f), [`6f65ac4`](https://github.com/Effect-TS/effect/commit/6f65ac4eac1489cd6ea390e18b0908670722adad)]:
  - effect@3.13.12
  - @effect/experimental@0.43.3
  - @effect/platform@0.79.3

## 0.12.2

### Patch Changes

- Updated dependencies [[`fad8cca`](https://github.com/Effect-TS/effect/commit/fad8cca9bbfcc2eaeb44b97c15dbe0a1eda75315), [`4296293`](https://github.com/Effect-TS/effect/commit/4296293049414d0cf2d915a26c552b09f946b9a0), [`9c241ab`](https://github.com/Effect-TS/effect/commit/9c241abe47ccf7a5257b98a4a64a63054a12741d), [`082b0c1`](https://github.com/Effect-TS/effect/commit/082b0c1b9f4252bcdd69608f2e4a9226f953ac3f), [`be12983`](https://github.com/Effect-TS/effect/commit/be12983bc7e7537b41cd8910fc4eb7d1da56ab07), [`de88127`](https://github.com/Effect-TS/effect/commit/de88127a5a5906ccece98af74787b5ae0e65e431)]:
  - effect@3.13.11
  - @effect/experimental@0.43.2
  - @effect/platform@0.79.2

## 0.12.1

### Patch Changes

- Updated dependencies [[`527c964`](https://github.com/Effect-TS/effect/commit/527c9645229f5be9714a7e60a38a9e753c4bbfb1)]:
  - effect@3.13.10
  - @effect/experimental@0.43.1
  - @effect/platform@0.79.1

## 0.12.0

### Patch Changes

- Updated dependencies [[`88fe129`](https://github.com/Effect-TS/effect/commit/88fe12923740765c0335a6e6203fdcc6a463edca), [`d630249`](https://github.com/Effect-TS/effect/commit/d630249426113088abe8b382db4f14d80f2160c2), [`2976e52`](https://github.com/Effect-TS/effect/commit/2976e52538d9dc9ffdcbc84d4ac748cff9305971)]:
  - @effect/platform@0.79.0
  - effect@3.13.9
  - @effect/experimental@0.43.0

## 0.11.1

### Patch Changes

- Updated dependencies [[`c65d336`](https://github.com/Effect-TS/effect/commit/c65d3362d07ec815ff3b46278314e8a31706ddc2), [`22d2ebb`](https://github.com/Effect-TS/effect/commit/22d2ebb4b11f5a44351a4736e65da391a3b647d0)]:
  - effect@3.13.8
  - @effect/experimental@0.42.1
  - @effect/platform@0.78.1

## 0.11.0

### Patch Changes

- Updated dependencies [[`c5bcf53`](https://github.com/Effect-TS/effect/commit/c5bcf53b7cb49dacffdd2a6cd8eb48cc452b417e)]:
  - @effect/platform@0.78.0
  - @effect/experimental@0.42.0

## 0.10.7

### Patch Changes

- [#4545](https://github.com/Effect-TS/effect/pull/4545) [`a95108a`](https://github.com/Effect-TS/effect/commit/a95108acac7f25fc5e1c0dcdf16bcc638dca5c00) Thanks @IMax153! - Avoid inclusion of `_tag` in tool call JSONSchema

- Updated dependencies [[`840cc73`](https://github.com/Effect-TS/effect/commit/840cc7329908db7ca693ef47b07d4f845c29cadd), [`9bf8a74`](https://github.com/Effect-TS/effect/commit/9bf8a74b967f18d931743dd5196af326c9118e9c), [`87ba23c`](https://github.com/Effect-TS/effect/commit/87ba23c41c193503ed0c612b0d32d0b253794c64), [`f910880`](https://github.com/Effect-TS/effect/commit/f91088069057f3b4529753f5bc5532b028d726df), [`0d01480`](https://github.com/Effect-TS/effect/commit/0d014803e4f688f74386a80abd65485e1a319244)]:
  - @effect/platform@0.77.7
  - effect@3.13.7
  - @effect/experimental@0.41.7

## 0.10.6

### Patch Changes

- Updated dependencies [[`3154ce4`](https://github.com/Effect-TS/effect/commit/3154ce4692fa18b804982158d3c4c8a8a5fae386)]:
  - effect@3.13.6
  - @effect/experimental@0.41.6
  - @effect/platform@0.77.6

## 0.10.5

### Patch Changes

- [#4549](https://github.com/Effect-TS/effect/pull/4549) [`3d6d323`](https://github.com/Effect-TS/effect/commit/3d6d323c2a1028f3caba45453187b9374bac2c36) Thanks @IMax153! - Fix `AiPlan` builder to return correct shape

- [#4537](https://github.com/Effect-TS/effect/pull/4537) [`975c20e`](https://github.com/Effect-TS/effect/commit/975c20e446186e9bb975f77e7c6ac7b248f7b5f6) Thanks @IMax153! - Allow defects to pass through predicates in `AiPlan`

- Updated dependencies [[`367bb35`](https://github.com/Effect-TS/effect/commit/367bb35f4c2a254e1fb211d96db2474a7aed9020), [`6cf11c3`](https://github.com/Effect-TS/effect/commit/6cf11c3a75773ceec2877c85ddc760f381f0866d), [`a0acec8`](https://github.com/Effect-TS/effect/commit/a0acec851f72e19466363d24b9cc218acd00006a)]:
  - effect@3.13.5
  - @effect/experimental@0.41.5
  - @effect/platform@0.77.5

## 0.10.4

### Patch Changes

- Updated dependencies [[`e0746f9`](https://github.com/Effect-TS/effect/commit/e0746f9aa398b69c6542e375910683bf17f49f46), [`17d9e89`](https://github.com/Effect-TS/effect/commit/17d9e89f9851663bdbb6c1e685601d97806114a4)]:
  - @effect/platform@0.77.4
  - effect@3.13.4
  - @effect/experimental@0.41.4

## 0.10.3

### Patch Changes

- [#4504](https://github.com/Effect-TS/effect/pull/4504) [`a67a8a1`](https://github.com/Effect-TS/effect/commit/a67a8a1a4979fb7a039a060d067d805879da4d4b) Thanks @IMax153! - Introduce `AiModel` and `AiPlan` for describing retry / fallback logic between
  models and providers

  For example, the following program builds an `AiPlan` which will attempt to use
  OpenAi's chat completions API, and if after three attempts the operation
  is still failing, the plan will fallback to utilizing Anthropic's messages API
  to resolve the request.

  ```ts
  import { AiPlan, Completions } from "@effect/ai"
  import { AnthropicClient, AnthropicCompletions } from "@effect/ai-anthropic"
  import { OpenAiClient, OpenAiCompletions } from "@effect/ai-openai"
  import { NodeHttpClient, NodeRuntime } from "@effect/platform-node"
  import { Config, Console, Effect, Layer } from "effect"

  // Create Anthropic client
  const Anthropic = AnthropicClient.layerConfig({
    apiKey: Config.redacted("ANTHROPIC_API_KEY")
  }).pipe(Layer.provide(NodeHttpClient.layerUndici))

  // Create OpenAi client
  const OpenAi = OpenAiClient.layerConfig({
    apiKey: Config.redacted("OPENAI_API_KEY")
  }).pipe(Layer.provide(NodeHttpClient.layerUndici))

  // Create a plan of request execution
  const Plan = AiPlan.fromModel(OpenAiCompletions.model("gpt-4o-mini"), {
    attempts: 3
  }).pipe(
    AiPlan.withFallback({
      model: AnthropicCompletions.model("claude-3-5-haiku-latest")
    })
  )

  const program = Effect.gen(function* () {
    // Build the plan of execution
    const plan = yield* Plan

    // Create a program which uses the services provided by the plan
    const getDadJoke = Effect.gen(function* () {
      const completions = yield* Completions.Completions
      const response = yield* completions.create("Tell me a dad joke")
      yield* Console.log(response.text)
    })

    // Provide the plan to whichever programs need it
    yield* plan.provide(getDadJoke)
  })

  program.pipe(Effect.provide([Anthropic, OpenAi]), NodeRuntime.runMain)
  ```

- Updated dependencies [[`cc5588d`](https://github.com/Effect-TS/effect/commit/cc5588df07f9103513547cb429ce041b9436a8bd), [`623c8cd`](https://github.com/Effect-TS/effect/commit/623c8cd053ed6ee3d353aaa8778d484670fca2bb), [`00b4eb1`](https://github.com/Effect-TS/effect/commit/00b4eb1ece12a16e222e6220965bb4024d6752ac), [`f2aee98`](https://github.com/Effect-TS/effect/commit/f2aee989b0a600900ce83e7f460d02908620c80f), [`fb798eb`](https://github.com/Effect-TS/effect/commit/fb798eb9061f1191badc017d1aa649360254da20), [`2251b15`](https://github.com/Effect-TS/effect/commit/2251b1528810bb695b37ce388b653cec0c5bf80c), [`2e15c1e`](https://github.com/Effect-TS/effect/commit/2e15c1e33648add0b29fe274fbcb7294b7515085), [`a4979db`](https://github.com/Effect-TS/effect/commit/a4979db021aef16e731be64df196b72088fc4376), [`b74255a`](https://github.com/Effect-TS/effect/commit/b74255a304ad49d60bedb1a260fd697f370af27a), [`d7f6a5c`](https://github.com/Effect-TS/effect/commit/d7f6a5c7d26c1963dcd864ca62360d20d08c7b49), [`9dd8979`](https://github.com/Effect-TS/effect/commit/9dd8979e940915b1cc1b1f264f3d019c77a65a02), [`477b488`](https://github.com/Effect-TS/effect/commit/477b488284f47c5469d7fba3e4065fb7e3b6556e), [`10932cb`](https://github.com/Effect-TS/effect/commit/10932cbf58fc721ada631cebec42f773ce96d3cc), [`9f6c784`](https://github.com/Effect-TS/effect/commit/9f6c78468b3b5e9ebfc38ffdfb70702901ee977b), [`2c639ec`](https://github.com/Effect-TS/effect/commit/2c639ecee332de4266e36022c989c35ae4e02105), [`886aaa8`](https://github.com/Effect-TS/effect/commit/886aaa81e06dfd3cd9391e8ea987d8cd5ada1124)]:
  - effect@3.13.3
  - @effect/experimental@0.41.3
  - @effect/platform@0.77.3

## 0.10.2

### Patch Changes

- Updated dependencies [[`31be72a`](https://github.com/Effect-TS/effect/commit/31be72ada118cb84a942e67b1663263f8db74a9f), [`3e7ce97`](https://github.com/Effect-TS/effect/commit/3e7ce97f8a41756a039cf635d0b3d9a75d781097), [`31be72a`](https://github.com/Effect-TS/effect/commit/31be72ada118cb84a942e67b1663263f8db74a9f)]:
  - effect@3.13.2
  - @effect/platform@0.77.2
  - @effect/experimental@0.41.2

## 0.10.1

### Patch Changes

- [#4446](https://github.com/Effect-TS/effect/pull/4446) [`9375c28`](https://github.com/Effect-TS/effect/commit/9375c28ca808325577da6c67cc92af25931027c8) Thanks @IMax153! - Add Anthropic AI provider integration

- Updated dependencies [[`b56a211`](https://github.com/Effect-TS/effect/commit/b56a2110569fd0ec0b57ac137743e926d49f51cc)]:
  - effect@3.13.1
  - @effect/experimental@0.41.1
  - @effect/platform@0.77.1

## 0.10.0

### Patch Changes

- Updated dependencies [[`8baef83`](https://github.com/Effect-TS/effect/commit/8baef83e7ff0b7bc0738b680e1ef013065386cff), [`655bfe2`](https://github.com/Effect-TS/effect/commit/655bfe29e44cc3f0fb9b4e53038f50b891c188df), [`d90cbc2`](https://github.com/Effect-TS/effect/commit/d90cbc274e2742d18671fe65aa4764c057eb6cba), [`75632bd`](https://github.com/Effect-TS/effect/commit/75632bd44b8025101d652ccbaeef898c7086c91c), [`c874a2e`](https://github.com/Effect-TS/effect/commit/c874a2e4b17e9d71904ca8375bb77b020975cb1d), [`bf865e5`](https://github.com/Effect-TS/effect/commit/bf865e5833f77fd8f6c06944ca9d507b54488301), [`f98b2b7`](https://github.com/Effect-TS/effect/commit/f98b2b7592cf20f9d85313e7f1e964cb65878138), [`de8ce92`](https://github.com/Effect-TS/effect/commit/de8ce924923eaa4e1b761a97eb45ec967389f3d5), [`cf8b2dd`](https://github.com/Effect-TS/effect/commit/cf8b2dd112f8e092ed99d78fd728db0f91c29050), [`db426a5`](https://github.com/Effect-TS/effect/commit/db426a5fb41ab84d18e3c8753a7329b4de544245), [`6862444`](https://github.com/Effect-TS/effect/commit/6862444094906ad4f2cb077ff3b9cc0b73880c8c), [`5fc8a90`](https://github.com/Effect-TS/effect/commit/5fc8a90ba46a5fd9f3b643f0b5aeadc69d717339), [`546a492`](https://github.com/Effect-TS/effect/commit/546a492e60eb2b8b048a489a474b934ea0877005), [`65c4796`](https://github.com/Effect-TS/effect/commit/65c47966ce39055f02cf5c808daabb3ea6442b0b), [`9760fdc`](https://github.com/Effect-TS/effect/commit/9760fdc37bdaef9da8b150e46b86ddfbe2ad9221), [`5b471e7`](https://github.com/Effect-TS/effect/commit/5b471e7d4317e8ee5d72bbbd3e0c9775160949ab), [`4f810cc`](https://github.com/Effect-TS/effect/commit/4f810cc2770e9f1f266851d2cb6257112c12af49)]:
  - effect@3.13.0
  - @effect/experimental@0.41.0
  - @effect/platform@0.77.0

## 0.9.1

### Patch Changes

- Updated dependencies [[`4018eae`](https://github.com/Effect-TS/effect/commit/4018eaed2733241676ddb8c52416f463a8c32e35), [`543d36d`](https://github.com/Effect-TS/effect/commit/543d36d1a11452560b01ab966a82529ad5fee8c9), [`c407726`](https://github.com/Effect-TS/effect/commit/c407726f79df4a567a9631cddd8effaa16b3535d), [`f70a65a`](https://github.com/Effect-TS/effect/commit/f70a65ac80c6635d80b12beaf4d32a9cc59fa143), [`ba409f6`](https://github.com/Effect-TS/effect/commit/ba409f69c41aeaa29e475c0630735726eaf4dbac), [`3d2e356`](https://github.com/Effect-TS/effect/commit/3d2e3565e8a43d1bdb5daee8db3b90f56d71d859)]:
  - effect@3.12.12
  - @effect/platform@0.76.1
  - @effect/experimental@0.40.1

## 0.9.0

### Patch Changes

- Updated dependencies [[`b6a032f`](https://github.com/Effect-TS/effect/commit/b6a032f07bffa020a848c813881879395134fa20), [`42ddd5f`](https://github.com/Effect-TS/effect/commit/42ddd5f144ce9f9d94a036679ebbd626446d37f5), [`2fe447c`](https://github.com/Effect-TS/effect/commit/2fe447c6354d334f9c591b8a8481818f5f0e797e), [`2473ad5`](https://github.com/Effect-TS/effect/commit/2473ad5cf23582e3a41338091fa526ffe611288d)]:
  - effect@3.12.11
  - @effect/platform@0.76.0
  - @effect/experimental@0.40.0

## 0.8.4

### Patch Changes

- Updated dependencies [[`e30f132`](https://github.com/Effect-TS/effect/commit/e30f132c336c9d0760bad39f82a55c7ce5159eb7), [`33fa667`](https://github.com/Effect-TS/effect/commit/33fa667c2623be1026e1ccee91bd44f73b09020a), [`87f5f28`](https://github.com/Effect-TS/effect/commit/87f5f2842e4196cb88d13f10f443ff0567e82832), [`7d57ecd`](https://github.com/Effect-TS/effect/commit/7d57ecdaf5da2345ebbf9c22df50317578bde0f5), [`4dbd170`](https://github.com/Effect-TS/effect/commit/4dbd170538e8fb7a36aa7c469c6f93b6c7000091)]:
  - effect@3.12.10
  - @effect/platform@0.75.4
  - @effect/experimental@0.39.4

## 0.8.3

### Patch Changes

- Updated dependencies [[`1b4a4e9`](https://github.com/Effect-TS/effect/commit/1b4a4e904ef5227ec7d9114d4e417eca19eed940)]:
  - effect@3.12.9
  - @effect/experimental@0.39.3
  - @effect/platform@0.75.3

## 0.8.2

### Patch Changes

- [#4378](https://github.com/Effect-TS/effect/pull/4378) [`f5e3b1b`](https://github.com/Effect-TS/effect/commit/f5e3b1bcdf24b440251ce8425d750353cf022e96) Thanks @IMax153! - Support non-identified schemas in `AiChat.structured` and `Completions.structured`.

  Instead of requiring a `Schema` with either an `identifier` or `_tag` property
  for AI APIs that allow for returning structured outputs, you can now optionally
  pass a `correlationId` to `AiChat.structured` and `Completions.structured` when
  you want to either use a simple schema or inline the schema.

  Example:

  ```ts
  import { Completions } from "@effect/ai"
  import { OpenAiClient, OpenAiCompletions } from "@effect/ai-openai"
  import { NodeHttpClient } from "@effect/platform-node"
  import { Config, Effect, Layer, Schema, String } from "effect"

  const OpenAi = OpenAiClient.layerConfig({
    apiKey: Config.redacted("OPENAI_API_KEY")
  }).pipe(Layer.provide(NodeHttpClient.layerUndici))

  const Gpt4oCompletions = OpenAiCompletions.layer({
    model: "gpt-4o"
  }).pipe(Layer.provide(OpenAi))

  const program = Effect.gen(function* () {
    const completions = yield* Completions.Completions

    const CalendarEvent = Schema.Struct({
      name: Schema.String,
      date: Schema.DateFromString,
      participants: Schema.Array(Schema.String)
    })

    yield* completions.structured({
      correlationId: "CalendarEvent",
      schema: CalendarEvent,
      input: String.stripMargin(`
        |Extract event information from the following prose:
        |
        |Alice and Bob are going to a science fair on Friday.
      `)
    })
  })

  program.pipe(Effect.provide(Gpt4oCompletions), Effect.runPromise)
  ```

- [#4388](https://github.com/Effect-TS/effect/pull/4388) [`fcf3b7c`](https://github.com/Effect-TS/effect/commit/fcf3b7cc07a28635a5b53243b01cdeb6592dab3c) Thanks @IMax153! - Rename correlationId to toolCallId

- [#4389](https://github.com/Effect-TS/effect/pull/4389) [`f089470`](https://github.com/Effect-TS/effect/commit/f0894708e9d591b70eccf3a50ae91ac6e0f6d6e3) Thanks @IMax153! - Add support for [GenAI telemetry annotations](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/).

- [#4368](https://github.com/Effect-TS/effect/pull/4368) [`a0c85e6`](https://github.com/Effect-TS/effect/commit/a0c85e6601fd3e10d08085969f7453b7b517347b) Thanks @IMax153! - Support creation of embeddings from the AI integration packages.

  For example, the following program will create an OpenAI `Embeddings` service
  that will aggregate all embedding requests received within a `500` millisecond
  window into a single batch.

  ```ts
  import { Embeddings } from "@effect/ai"
  import { OpenAiClient, OpenAiEmbeddings } from "@effect/ai-openai"
  import { NodeHttpClient } from "@effect/platform-node"
  import { Config, Effect, Layer } from "effect"

  // Create the OpenAI client
  const OpenAi = OpenAiClient.layerConfig({
    apiKey: Config.redacted("OPENAI_API_KEY")
  }).pipe(Layer.provide(NodeHttpClient.layerUndici))

  // Create an embeddings service for the `text-embedding-3-large` model
  const TextEmbeddingsLarge = OpenAiEmbeddings.layerDataLoader({
    model: "text-embedding-3-large",
    window: "500 millis",
    maxBatchSize: 2048
  }).pipe(Layer.provide(OpenAi))

  // Use the generic `Embeddings` service interface in your program
  const program = Effect.gen(function* () {
    const embeddings = yield* Embeddings.Embeddings
    const result = yield* embeddings.embed("The input to embed")
  })

  // Provide the specific implementation to use
  program.pipe(Effect.provide(TextEmbeddingsLarge), Effect.runPromise)
  ```

- Updated dependencies [[`59b3cfb`](https://github.com/Effect-TS/effect/commit/59b3cfbbd5713dd9475998e95fad5534c0b21466), [`766113c`](https://github.com/Effect-TS/effect/commit/766113c0ea3512cdb887650ead8ba314236e22ee), [`bb05fb8`](https://github.com/Effect-TS/effect/commit/bb05fb83457355b1ca567228a9e041edfb6fd85d), [`712277f`](https://github.com/Effect-TS/effect/commit/712277f949052a24b46e4aa234063a6abf395c90), [`f269122`](https://github.com/Effect-TS/effect/commit/f269122508693b111142994dd48698ddc75f3d69), [`8f6006a`](https://github.com/Effect-TS/effect/commit/8f6006a610fb6d6c7b8d14209a7323338a8964ff), [`c45b559`](https://github.com/Effect-TS/effect/commit/c45b5592b5fd1189a5c932cfe05bd7d5f6d68508), [`430c846`](https://github.com/Effect-TS/effect/commit/430c846cbac05b187e3d24ac8dfee0cf22506f7c), [`7b03057`](https://github.com/Effect-TS/effect/commit/7b03057507d2dab5e6793beb9c578dedaaeb15fe), [`a9c94c8`](https://github.com/Effect-TS/effect/commit/a9c94c807755610831211a686d2fad849ab38eb4), [`107e6f0`](https://github.com/Effect-TS/effect/commit/107e6f0557a1e2d3b0dce25d62fa1e2601521752), [`c9175ae`](https://github.com/Effect-TS/effect/commit/c9175aef41cb1e3b689d0ac0a4f53d8107376b58), [`65c11b9`](https://github.com/Effect-TS/effect/commit/65c11b9266ec9447c31c26fe3ed35c73bd3b81fd), [`e386d2f`](https://github.com/Effect-TS/effect/commit/e386d2f1b3ab3ac2c14ee76de11f5963d32a3df4), [`9172efb`](https://github.com/Effect-TS/effect/commit/9172efba98bc6a82353e6ec2af61ac08f038ba64)]:
  - @effect/platform@0.75.2
  - effect@3.12.8
  - @effect/experimental@0.39.2

## 0.8.1

### Patch Changes

- Updated dependencies [[`8dff1d1`](https://github.com/Effect-TS/effect/commit/8dff1d1bff76cdba643cad7f0bf864300f08bc61)]:
  - effect@3.12.7
  - @effect/platform@0.75.1

## 0.8.0

### Minor Changes

- [#4306](https://github.com/Effect-TS/effect/pull/4306) [`5e43ce5`](https://github.com/Effect-TS/effect/commit/5e43ce50bae116865906112e7f88d390739d778b) Thanks @tim-smart! - eliminate Scope by default in some layer apis

### Patch Changes

- Updated dependencies [[`5e43ce5`](https://github.com/Effect-TS/effect/commit/5e43ce50bae116865906112e7f88d390739d778b), [`289c13b`](https://github.com/Effect-TS/effect/commit/289c13b38e8e35b214d46d385d05dead176c87cd), [`76eb7d0`](https://github.com/Effect-TS/effect/commit/76eb7d0fbce3c009c8f77e84c178cb15bbed9709), [`8b4e75d`](https://github.com/Effect-TS/effect/commit/8b4e75d35daea807c447ca760948a717aa66bb52), [`fc5e0f0`](https://github.com/Effect-TS/effect/commit/fc5e0f0d357a0051cfa01c1ede83ffdd3cb41ab1), [`004fd2b`](https://github.com/Effect-TS/effect/commit/004fd2bbd1459e64fb1b57f02eeb791ca5ea1ea5), [`b2a31be`](https://github.com/Effect-TS/effect/commit/b2a31be85c35d891351ce4f9a2cc93ece0c257f6), [`5514d05`](https://github.com/Effect-TS/effect/commit/5514d05b5cd586ff5868b8bd41c959e95e6c33cd), [`bf5f0ae`](https://github.com/Effect-TS/effect/commit/bf5f0ae9daa0170471678e22585e8ec14ce667bb), [`3b19bcf`](https://github.com/Effect-TS/effect/commit/3b19bcfd3aaadb6c9253428622df524537c8e626), [`b064b3b`](https://github.com/Effect-TS/effect/commit/b064b3b293615fd268cc5a5647d0981eb67750b8), [`eb264ed`](https://github.com/Effect-TS/effect/commit/eb264ed8a6e8c92a9dc7006f766c6ca2e5d29e03), [`289c13b`](https://github.com/Effect-TS/effect/commit/289c13b38e8e35b214d46d385d05dead176c87cd), [`f474678`](https://github.com/Effect-TS/effect/commit/f474678bf10b8f1c80e3dc096ddc7ecf20b2b23e), [`ee187d0`](https://github.com/Effect-TS/effect/commit/ee187d098007a402844c94d04f0cd8f07695377a)]:
  - @effect/platform@0.75.0
  - effect@3.12.6

## 0.7.0

### Patch Changes

- Updated dependencies [[`a8b0ddb`](https://github.com/Effect-TS/effect/commit/a8b0ddb84710054799fc8f57485b95d00093ada1), [`8653072`](https://github.com/Effect-TS/effect/commit/86530720d7a03e118d2c5a8bf5a997cee7e7f3d6), [`507d546`](https://github.com/Effect-TS/effect/commit/507d546bd49db31000425fb5da88c434e4291bea), [`a8b0ddb`](https://github.com/Effect-TS/effect/commit/a8b0ddb84710054799fc8f57485b95d00093ada1), [`8db239b`](https://github.com/Effect-TS/effect/commit/8db239b9c869a3707f6566b9d9dbdf53c4df03fc), [`84a0911`](https://github.com/Effect-TS/effect/commit/84a091181634c3a022c94234cec7764a3aeef1be), [`84a0911`](https://github.com/Effect-TS/effect/commit/84a091181634c3a022c94234cec7764a3aeef1be), [`3179a9f`](https://github.com/Effect-TS/effect/commit/3179a9f65d23369a6a9a1f80f7750566dd28df22), [`6cb9b76`](https://github.com/Effect-TS/effect/commit/6cb9b766396d0b2ed995cf26957359713efd202e), [`1fcbe55`](https://github.com/Effect-TS/effect/commit/1fcbe55345042d8468f6a98c84081bd00b6bcf5a), [`d9a63d9`](https://github.com/Effect-TS/effect/commit/d9a63d9d385653865954cac895065360d54cc56b), [`6cb9b76`](https://github.com/Effect-TS/effect/commit/6cb9b766396d0b2ed995cf26957359713efd202e)]:
  - effect@3.12.5
  - @effect/platform@0.74.0

## 0.6.1

### Patch Changes

- Updated dependencies [[`5b50ea4`](https://github.com/Effect-TS/effect/commit/5b50ea4a10cf9acd51f9624b2474d9d5ded74019), [`c170a68`](https://github.com/Effect-TS/effect/commit/c170a68b6266100774461fcd6c0e0fabb60112f2), [`a66c2eb`](https://github.com/Effect-TS/effect/commit/a66c2eb473245092cd41f04c2eb2b7b02cf53718), [`c9e5e1b`](https://github.com/Effect-TS/effect/commit/c9e5e1be17c0c84d3d4e2abc3c60215cdb56bbbe), [`7b3d58d`](https://github.com/Effect-TS/effect/commit/7b3d58d7aec2152ec282460871d3e9de45ed254d)]:
  - effect@3.12.4
  - @effect/platform@0.73.1

## 0.6.0

### Patch Changes

- Updated dependencies [[`d7dac48`](https://github.com/Effect-TS/effect/commit/d7dac48a477cdfeec509dbe9f33fce6a1b02b63d), [`c110032`](https://github.com/Effect-TS/effect/commit/c110032322450a8824ba38ae24335a538cd2ce9a), [`1d7fd2b`](https://github.com/Effect-TS/effect/commit/1d7fd2b7ee8eeecc912d27adf76ed897db236dc5), [`1d7fd2b`](https://github.com/Effect-TS/effect/commit/1d7fd2b7ee8eeecc912d27adf76ed897db236dc5), [`23ac740`](https://github.com/Effect-TS/effect/commit/23ac740c7dd4610b7d265c2071b88b0968419e9a), [`8cd7319`](https://github.com/Effect-TS/effect/commit/8cd7319b6568bfc7a30ca16c104d189e37eac3a0)]:
  - effect@3.12.3
  - @effect/platform@0.73.0

## 0.5.2

### Patch Changes

- Updated dependencies [[`734af82`](https://github.com/Effect-TS/effect/commit/734af82138e78b9c57a8355b1c6b80e80d38b222), [`b63c780`](https://github.com/Effect-TS/effect/commit/b63c78010893101520448ddda7019c487cf7eedd), [`212e784`](https://github.com/Effect-TS/effect/commit/212e78475f527147ec27c090bd13f789f55add7a), [`f852cb0`](https://github.com/Effect-TS/effect/commit/f852cb02040ea2f165e9b449615b8b1366add5d5), [`7276ae2`](https://github.com/Effect-TS/effect/commit/7276ae21062896adbb7508ac5b2dece95316322f), [`212e784`](https://github.com/Effect-TS/effect/commit/212e78475f527147ec27c090bd13f789f55add7a), [`212e784`](https://github.com/Effect-TS/effect/commit/212e78475f527147ec27c090bd13f789f55add7a), [`212e784`](https://github.com/Effect-TS/effect/commit/212e78475f527147ec27c090bd13f789f55add7a), [`c640d77`](https://github.com/Effect-TS/effect/commit/c640d77b33ad417876f4e8ffe8574ee6cbe5607f), [`0def088`](https://github.com/Effect-TS/effect/commit/0def0887cfdb6755729a64dfd52b3b9f46b0576c)]:
  - effect@3.12.2
  - @effect/platform@0.72.2

## 0.5.1

### Patch Changes

- Updated dependencies [[`302b57d`](https://github.com/Effect-TS/effect/commit/302b57d2cbf9b9ccc17450945aeebfb33cfe8d43), [`0988083`](https://github.com/Effect-TS/effect/commit/0988083d4594938590df5a287e5b27d38526dd07), [`8b46be6`](https://github.com/Effect-TS/effect/commit/8b46be6a3b8160362ab5ea9171c5e6932505125c), [`bfe8027`](https://github.com/Effect-TS/effect/commit/bfe802734b450a4b4ee069d1125dd37995db2bff), [`16dd657`](https://github.com/Effect-TS/effect/commit/16dd657033d8afac2ffea567b3c8bb27c9b249b6), [`39db211`](https://github.com/Effect-TS/effect/commit/39db211414e90c8db8fdad7dc8ce5b4661bcfaef)]:
  - effect@3.12.1
  - @effect/platform@0.72.1

## 0.5.0

### Patch Changes

- Updated dependencies [[`abb22a4`](https://github.com/Effect-TS/effect/commit/abb22a429b9c52c31e84856294f175d2064a9b4d), [`f369a89`](https://github.com/Effect-TS/effect/commit/f369a89e98bc682969803b9304adaf4557bb36c2), [`642376c`](https://github.com/Effect-TS/effect/commit/642376c63fd7d78754db991631a4d50a5dc79aa3), [`3d2b7a7`](https://github.com/Effect-TS/effect/commit/3d2b7a7e942a7157afae5b1cdbc6f3fef116428e), [`ef64c6f`](https://github.com/Effect-TS/effect/commit/ef64c6fec0d47da573c04230dde9ea729366d871), [`73f9c6f`](https://github.com/Effect-TS/effect/commit/73f9c6f2ff091512cf904cc54ab59965b86e87c8), [`17cb451`](https://github.com/Effect-TS/effect/commit/17cb4514590e8a86263f7aed009f24da8a237342), [`d801820`](https://github.com/Effect-TS/effect/commit/d80182060c2ee945d7e0e4728812abf9465a0d6a), [`e1eeb2d`](https://github.com/Effect-TS/effect/commit/e1eeb2d7064b3870041dab142f3057970699bbf1), [`c11f3a6`](https://github.com/Effect-TS/effect/commit/c11f3a60a05c3b5fc8e7ce90136728154dc505b0), [`618f7e0`](https://github.com/Effect-TS/effect/commit/618f7e092a1011e5090dca1e69b5e9285689654b), [`c0ba834`](https://github.com/Effect-TS/effect/commit/c0ba834d1995cf5a8b250e4780fd43f3e3881151), [`e1eeb2d`](https://github.com/Effect-TS/effect/commit/e1eeb2d7064b3870041dab142f3057970699bbf1)]:
  - effect@3.12.0
  - @effect/platform@0.72.0

## 0.4.8

### Patch Changes

- Updated dependencies [[`39457d4`](https://github.com/Effect-TS/effect/commit/39457d4897d9bc7df8af5c05d352866bbeae82eb), [`a475cc2`](https://github.com/Effect-TS/effect/commit/a475cc25fd7c9f26b27a8e98f8fbe43cc9e6ee3e), [`199214e`](https://github.com/Effect-TS/effect/commit/199214e21c616d8a0ccd7ed5f92e944e6c580193), [`b3c160d`](https://github.com/Effect-TS/effect/commit/b3c160d7a1fdfc2d3fb2440530f1ab80efc65133)]:
  - effect@3.11.10
  - @effect/platform@0.71.7

## 0.4.7

### Patch Changes

- Updated dependencies [[`1c08a0b`](https://github.com/Effect-TS/effect/commit/1c08a0b8505badcffb4d9cade5a746ea90c9557e), [`1ce703b`](https://github.com/Effect-TS/effect/commit/1ce703b041bbd7560c5c437c9b9be48f027937fd), [`1ce703b`](https://github.com/Effect-TS/effect/commit/1ce703b041bbd7560c5c437c9b9be48f027937fd)]:
  - effect@3.11.9
  - @effect/platform@0.71.6

## 0.4.6

### Patch Changes

- Updated dependencies [[`05d71f8`](https://github.com/Effect-TS/effect/commit/05d71f85622305705d8316817694a09762e60865), [`e66b920`](https://github.com/Effect-TS/effect/commit/e66b9205f25ab425d30640886eb3fb2c4715bc26)]:
  - @effect/platform@0.71.5

## 0.4.5

### Patch Changes

- Updated dependencies [[`909181a`](https://github.com/Effect-TS/effect/commit/909181a9ce9052a80432ccf52187e0723004bf7f), [`909181a`](https://github.com/Effect-TS/effect/commit/909181a9ce9052a80432ccf52187e0723004bf7f), [`1a6b52d`](https://github.com/Effect-TS/effect/commit/1a6b52dcf020d36e38a7bc90b648152cf5a8ccba)]:
  - @effect/platform@0.71.4
  - effect@3.11.8

## 0.4.4

### Patch Changes

- Updated dependencies [[`6984508`](https://github.com/Effect-TS/effect/commit/6984508c87f1bd91213b44c19b25ab5e2dcc1ce0), [`883639c`](https://github.com/Effect-TS/effect/commit/883639cc8ce47757f1cd39439391a8028c0812fe)]:
  - @effect/platform@0.71.3

## 0.4.3

### Patch Changes

- [#4139](https://github.com/Effect-TS/effect/pull/4139) [`1237ae8`](https://github.com/Effect-TS/effect/commit/1237ae847f6f0ff57eb7dcb4723ae6f5073fb925) Thanks @tim-smart! - fix json schema output for Ai completions

## 0.4.2

### Patch Changes

- Updated dependencies [[`2408616`](https://github.com/Effect-TS/effect/commit/24086163b60b09cc6d0885bd565ef080dcbe866b), [`cec0b4d`](https://github.com/Effect-TS/effect/commit/cec0b4d152ef660be2ccdb0927255f2471436e6e), [`cec0b4d`](https://github.com/Effect-TS/effect/commit/cec0b4d152ef660be2ccdb0927255f2471436e6e), [`8d978c5`](https://github.com/Effect-TS/effect/commit/8d978c53f6fcc98d9d645ecba3e4b55d4297dd36), [`cec0b4d`](https://github.com/Effect-TS/effect/commit/cec0b4d152ef660be2ccdb0927255f2471436e6e), [`cec0b4d`](https://github.com/Effect-TS/effect/commit/cec0b4d152ef660be2ccdb0927255f2471436e6e)]:
  - effect@3.11.7
  - @effect/platform@0.71.2

## 0.4.1

### Patch Changes

- Updated dependencies [[`1d3df5b`](https://github.com/Effect-TS/effect/commit/1d3df5bc4324e88a392c348db35fd9d029c7b25e)]:
  - @effect/platform@0.71.1

## 0.4.0

### Patch Changes

- Updated dependencies [[`662d1ce`](https://github.com/Effect-TS/effect/commit/662d1ce6fb7da384a95888d5b2bb5605bdf3208d), [`c99a0f3`](https://github.com/Effect-TS/effect/commit/c99a0f376d049d3793ed33e146d9873b8a5e5b78), [`11fc401`](https://github.com/Effect-TS/effect/commit/11fc401f436f99bf4be95f56d50b0e4bdfe5edea), [`c99a0f3`](https://github.com/Effect-TS/effect/commit/c99a0f376d049d3793ed33e146d9873b8a5e5b78), [`31c62d8`](https://github.com/Effect-TS/effect/commit/31c62d83cbdcf9850a8b5331faa239601c60f78a)]:
  - effect@3.11.6
  - @effect/platform@0.71.0

## 0.3.7

### Patch Changes

- Updated dependencies [[`9f5a6f7`](https://github.com/Effect-TS/effect/commit/9f5a6f701bf7ba31adccd1f1bcfa8ab5614c9be8), [`22905cf`](https://github.com/Effect-TS/effect/commit/22905cf5addfb1ff3d2a6135c52036be958ae911), [`9f5a6f7`](https://github.com/Effect-TS/effect/commit/9f5a6f701bf7ba31adccd1f1bcfa8ab5614c9be8), [`1e59e4f`](https://github.com/Effect-TS/effect/commit/1e59e4fd778da18296812a2a32f36ca8ae50f60d), [`9f5a6f7`](https://github.com/Effect-TS/effect/commit/9f5a6f701bf7ba31adccd1f1bcfa8ab5614c9be8), [`8d914e5`](https://github.com/Effect-TS/effect/commit/8d914e504e7a22d0ea628e8af265ee450ff9530f), [`03bb00f`](https://github.com/Effect-TS/effect/commit/03bb00faa74f9e168a54a8cc0828a664fbb1ab05), [`9f5a6f7`](https://github.com/Effect-TS/effect/commit/9f5a6f701bf7ba31adccd1f1bcfa8ab5614c9be8), [`14e1149`](https://github.com/Effect-TS/effect/commit/14e1149f1af5a022f06eb8c2e4ba9fec17fe7426), [`9f5a6f7`](https://github.com/Effect-TS/effect/commit/9f5a6f701bf7ba31adccd1f1bcfa8ab5614c9be8), [`9f5a6f7`](https://github.com/Effect-TS/effect/commit/9f5a6f701bf7ba31adccd1f1bcfa8ab5614c9be8)]:
  - effect@3.11.5
  - @effect/platform@0.70.7

## 0.3.6

### Patch Changes

- Updated dependencies [[`9a5b8e3`](https://github.com/Effect-TS/effect/commit/9a5b8e36d184bd4967a88752cb6e755e1be263af)]:
  - @effect/platform@0.70.6

## 0.3.5

### Patch Changes

- Updated dependencies [[`415f4c9`](https://github.com/Effect-TS/effect/commit/415f4c98321868531727a83cbaad70164f5e4c40), [`518b258`](https://github.com/Effect-TS/effect/commit/518b258a8a67ecd332a9252c35cc060f8368dee2), [`6e323a3`](https://github.com/Effect-TS/effect/commit/6e323a36faaee46b328c8e3cf60a76b3aff9907f), [`518b258`](https://github.com/Effect-TS/effect/commit/518b258a8a67ecd332a9252c35cc060f8368dee2), [`6e323a3`](https://github.com/Effect-TS/effect/commit/6e323a36faaee46b328c8e3cf60a76b3aff9907f)]:
  - @effect/platform@0.70.5
  - effect@3.11.4

## 0.3.4

### Patch Changes

- Updated dependencies [[`90906f7`](https://github.com/Effect-TS/effect/commit/90906f7f154b12c7182e8f39e3c55ef3937db857), [`3862cd3`](https://github.com/Effect-TS/effect/commit/3862cd3c7f6a542ed65fb81255b3bd696ce2f567), [`3862cd3`](https://github.com/Effect-TS/effect/commit/3862cd3c7f6a542ed65fb81255b3bd696ce2f567), [`343b6aa`](https://github.com/Effect-TS/effect/commit/343b6aa6ac4a74276bfc7c63ccbf4a1d72bc1bed), [`afba339`](https://github.com/Effect-TS/effect/commit/afba339adc11dad56b5a3b7ca94487e58f34d613)]:
  - effect@3.11.3
  - @effect/platform@0.70.4

## 0.3.3

### Patch Changes

- [#4071](https://github.com/Effect-TS/effect/pull/4071) [`da3a607`](https://github.com/Effect-TS/effect/commit/da3a607bea16d4f08c5937cadfde0447c4123f40) Thanks @tim-smart! - use openai response_format for structured completions

- Updated dependencies [[`7044730`](https://github.com/Effect-TS/effect/commit/70447306be1aeeb7d87c230b2a96ec87b993ede9)]:
  - @effect/platform@0.70.3

## 0.3.2

### Patch Changes

- Updated dependencies [[`01cee56`](https://github.com/Effect-TS/effect/commit/01cee560b58d94b24cc20e98083251b73e658b41), [`c2249ea`](https://github.com/Effect-TS/effect/commit/c2249ea13fd98ab7d9aa628787931356d8ec2860), [`1358aa5`](https://github.com/Effect-TS/effect/commit/1358aa5326eaa85ef13ee8d1fed0b4a4288ed3eb), [`1de3fe7`](https://github.com/Effect-TS/effect/commit/1de3fe7d1cbafd6391eaa38c2300b99e332cc2aa)]:
  - effect@3.11.2
  - @effect/platform@0.70.2

## 0.3.1

### Patch Changes

- Updated dependencies [[`dd8a2d8`](https://github.com/Effect-TS/effect/commit/dd8a2d8e80d33b16719fc69361eaedf0b59d4620), [`a71bfef`](https://github.com/Effect-TS/effect/commit/a71bfef46f5061bb2502a61a333638a987b62273)]:
  - effect@3.11.1
  - @effect/platform@0.70.1

## 0.3.0

### Patch Changes

- Updated dependencies [[`147434b`](https://github.com/Effect-TS/effect/commit/147434b03d5e1fd692dd9f126e5ab0910f3b76d3), [`6e69493`](https://github.com/Effect-TS/effect/commit/6e694930048bbaf98110f35f41566aeb9752d471), [`147434b`](https://github.com/Effect-TS/effect/commit/147434b03d5e1fd692dd9f126e5ab0910f3b76d3), [`5eff3f6`](https://github.com/Effect-TS/effect/commit/5eff3f6fa3aae7e86948a62cbfd63b8d6c3bdf92), [`d9fe79b`](https://github.com/Effect-TS/effect/commit/d9fe79bb5a3fe105d8e7a3bc2922a8ad936a5d10), [`251d189`](https://github.com/Effect-TS/effect/commit/251d189420bbba71990574e91098c499065f9a9b), [`5a259f3`](https://github.com/Effect-TS/effect/commit/5a259f3711b4369f55d885b568bdb21136155261), [`b4ce4ea`](https://github.com/Effect-TS/effect/commit/b4ce4ea7fd514a7e572f2dcd879c98f334981b0e), [`15fcc5a`](https://github.com/Effect-TS/effect/commit/15fcc5a0ea4bbf40ab48fa6a04fdda74f76f4c07), [`9bc9a47`](https://github.com/Effect-TS/effect/commit/9bc9a476800dc645903c888a68bb1d3baa3383c6), [`aadb8a4`](https://github.com/Effect-TS/effect/commit/aadb8a48d2cba197c06ec9996505510e48e4e5cb), [`1e2747c`](https://github.com/Effect-TS/effect/commit/1e2747c63a4820d1459cbbc88c71212983bd68bd), [`9264162`](https://github.com/Effect-TS/effect/commit/9264162a82783a651776fb7b87604564a63e7070), [`e0b9b09`](https://github.com/Effect-TS/effect/commit/e0b9b09e70c386b2da17d1f0a15b0511861c89e8), [`c36f3b9`](https://github.com/Effect-TS/effect/commit/c36f3b95df5ce9d71b66f22f26ce12eda8d3e848), [`672bde5`](https://github.com/Effect-TS/effect/commit/672bde5bec51c7d6f9862828e6a654cb2cb6f93d), [`aadb8a4`](https://github.com/Effect-TS/effect/commit/aadb8a48d2cba197c06ec9996505510e48e4e5cb)]:
  - effect@3.11.0
  - @effect/platform@0.70.0

## 0.2.32

### Patch Changes

- Updated dependencies [[`3069614`](https://github.com/Effect-TS/effect/commit/30696149271129fc618f6f2ccd1d8f2f6c0f9cd7), [`09a5e52`](https://github.com/Effect-TS/effect/commit/09a5e522fd9b221f05d85b1d1c8a740d4973c302)]:
  - effect@3.10.20
  - @effect/platform@0.69.32

## 0.2.31

### Patch Changes

- Updated dependencies [[`e6d4a37`](https://github.com/Effect-TS/effect/commit/e6d4a37c1d7e657b5ea44063a1cf586808228fe5)]:
  - @effect/platform@0.69.31

## 0.2.30

### Patch Changes

- Updated dependencies [[`270f199`](https://github.com/Effect-TS/effect/commit/270f199b31810fd643e4c22818698adcbdb5d396)]:
  - @effect/platform@0.69.30

## 0.2.29

### Patch Changes

- Updated dependencies [[`24cc35e`](https://github.com/Effect-TS/effect/commit/24cc35e26d6ed4a076470bc687ffd99cc50991b3)]:
  - @effect/platform@0.69.29

## 0.2.28

### Patch Changes

- Updated dependencies [[`edd72be`](https://github.com/Effect-TS/effect/commit/edd72be57b904d60c9cbffc2537901821a9da537), [`a3e2771`](https://github.com/Effect-TS/effect/commit/a3e277170a1f7cf61fd629acb60304c7e81d9498), [`944025b`](https://github.com/Effect-TS/effect/commit/944025bc5ce139f4a85846aa689bf30ec06a8ec1), [`54addee`](https://github.com/Effect-TS/effect/commit/54addee438a644bf010646c52042c7b89c5fc0a7), [`a9e00e4`](https://github.com/Effect-TS/effect/commit/a9e00e43f0b5dd22c1f9d5b78be6383daea09c20)]:
  - @effect/platform@0.69.28
  - effect@3.10.19

## 0.2.27

### Patch Changes

- Updated dependencies [[`af409cf`](https://github.com/Effect-TS/effect/commit/af409cf1d2ff973be11cc079ea373eaeedca25de), [`beaccae`](https://github.com/Effect-TS/effect/commit/beaccae2d15931e9fe475fb50a0b3638243fe3f7)]:
  - effect@3.10.18
  - @effect/platform@0.69.27

## 0.2.26

### Patch Changes

- Updated dependencies [[`c963886`](https://github.com/Effect-TS/effect/commit/c963886d5817986fcbd6bfa4ddf50aca8b6c8184), [`42c4ce6`](https://github.com/Effect-TS/effect/commit/42c4ce6f8d8c7d847e97757650a8ad9419a829d7)]:
  - @effect/platform@0.69.26
  - effect@3.10.17

## 0.2.25

### Patch Changes

- Updated dependencies [[`320557a`](https://github.com/Effect-TS/effect/commit/320557ab18d13c5e22fc7dc0d2a157eae461012f), [`4dca30c`](https://github.com/Effect-TS/effect/commit/4dca30cfcdafe4542e236489f71d6f171a5b4e38), [`1d99867`](https://github.com/Effect-TS/effect/commit/1d998671be3cd11043f232822e91dd8c98fccfa9), [`6dae414`](https://github.com/Effect-TS/effect/commit/6dae4147991a97ec14a99289bd25fadae7541e8d), [`6b0d737`](https://github.com/Effect-TS/effect/commit/6b0d737078bf63b97891e6bc47affc04b28f9cf7), [`d8356aa`](https://github.com/Effect-TS/effect/commit/d8356aad428a0c2290db52380220f81d9ec94232), [`7b93dd6`](https://github.com/Effect-TS/effect/commit/7b93dd622e2ab79c7072d79d0d9611e446202201)]:
  - @effect/platform@0.69.25
  - effect@3.10.16

## 0.2.24

### Patch Changes

- Updated dependencies [[`3cc6514`](https://github.com/Effect-TS/effect/commit/3cc6514d2dd64e010cb760cc29bfce98c349bb10)]:
  - @effect/platform@0.69.24

## 0.2.23

### Patch Changes

- Updated dependencies [[`3aff4d3`](https://github.com/Effect-TS/effect/commit/3aff4d38837c213bb2987973dc4b98febb9f92d2)]:
  - @effect/platform@0.69.23

## 0.2.22

### Patch Changes

- Updated dependencies [[`8398b32`](https://github.com/Effect-TS/effect/commit/8398b3208242a88239d4449910b7baf923cfe3b6), [`72e55b7`](https://github.com/Effect-TS/effect/commit/72e55b7c610784fcebdbadc592c876e23e76a986)]:
  - effect@3.10.15
  - @effect/platform@0.69.22

## 0.2.21

### Patch Changes

- Updated dependencies [[`f983946`](https://github.com/Effect-TS/effect/commit/f9839467b4cad6e788297764ef9f9f0b9fd203f9), [`2d8a750`](https://github.com/Effect-TS/effect/commit/2d8a75081eb83a0a81f817fdf6f428369c5064ab)]:
  - effect@3.10.14
  - @effect/platform@0.69.21

## 0.2.20

### Patch Changes

- [#3916](https://github.com/Effect-TS/effect/pull/3916) [`72b0272`](https://github.com/Effect-TS/effect/commit/72b02726d62000756577464273c0dd0876cbe0b5) Thanks @tim-smart! - use effect/JSONSchema for effect/ai & allow http client transforms

- Updated dependencies [[`995bbdf`](https://github.com/Effect-TS/effect/commit/995bbdffea2e332f203cd5b474cd6a1c77dfa6ae)]:
  - effect@3.10.13
  - @effect/platform@0.69.20

## 0.2.19

### Patch Changes

- Updated dependencies [[`eb8c52d`](https://github.com/Effect-TS/effect/commit/eb8c52d8b4c5e067ebf0a81eb742f5822e6439b5)]:
  - @effect/platform@0.69.19

## 0.2.18

### Patch Changes

- Updated dependencies [[`a0584ec`](https://github.com/Effect-TS/effect/commit/a0584ece92ed784bfb139e9c5a699f02d1e71c2d), [`dd14efe`](https://github.com/Effect-TS/effect/commit/dd14efe0ace255f571273aae876adea96267d7e6), [`dd14efe`](https://github.com/Effect-TS/effect/commit/dd14efe0ace255f571273aae876adea96267d7e6)]:
  - @effect/platform@0.69.18
  - effect@3.10.12

## 0.2.17

### Patch Changes

- Updated dependencies [[`5eef499`](https://github.com/Effect-TS/effect/commit/5eef4998b6ccb7a5404d9e4fef85e57fa35fbb8a), [`8240b1c`](https://github.com/Effect-TS/effect/commit/8240b1c10d45312fc863cb679b1a1e8441af0c1a), [`5eef499`](https://github.com/Effect-TS/effect/commit/5eef4998b6ccb7a5404d9e4fef85e57fa35fbb8a)]:
  - effect@3.10.11
  - @effect/platform@0.69.17

## 0.2.16

### Patch Changes

- Updated dependencies [[`cd720ae`](https://github.com/Effect-TS/effect/commit/cd720aedf7f2571edec0843d6a633e84e4832b28), [`cd720ae`](https://github.com/Effect-TS/effect/commit/cd720aedf7f2571edec0843d6a633e84e4832b28), [`cd720ae`](https://github.com/Effect-TS/effect/commit/cd720aedf7f2571edec0843d6a633e84e4832b28), [`b631f40`](https://github.com/Effect-TS/effect/commit/b631f40abbe649b2a089764585b5c39f6a695ac6), [`7d89650`](https://github.com/Effect-TS/effect/commit/7d8965036cd2ea435c8441ffec3345488baebf85)]:
  - effect@3.10.10
  - @effect/platform@0.69.16

## 0.2.15

### Patch Changes

- Updated dependencies [[`8a30e1d`](https://github.com/Effect-TS/effect/commit/8a30e1dfa3a7103bf5414fc6a7fca3088d8c8c00)]:
  - @effect/platform@0.69.15

## 0.2.14

### Patch Changes

- Updated dependencies [[`a123e80`](https://github.com/Effect-TS/effect/commit/a123e80f111a625428a5b5622b7f55ee1073566b), [`bd5fcd3`](https://github.com/Effect-TS/effect/commit/bd5fcd3e6b603b1e505af90d6a00627c8eca6d41), [`0289d3b`](https://github.com/Effect-TS/effect/commit/0289d3b6391031d00329365bab9791b355031fe3), [`7386b71`](https://github.com/Effect-TS/effect/commit/7386b710e5be570e17f468928a6ed19d549a3e12), [`07c493a`](https://github.com/Effect-TS/effect/commit/07c493a598e096c7810cd06def8cfa43493c46b1), [`257ab1b`](https://github.com/Effect-TS/effect/commit/257ab1b539fa6e930b7ae2583a188376372200d7), [`4211a23`](https://github.com/Effect-TS/effect/commit/4211a2355bb3af3f0e756e2aae9d293379f25662)]:
  - effect@3.10.9
  - @effect/platform@0.69.14

## 0.2.13

### Patch Changes

- Updated dependencies [[`68b5c9e`](https://github.com/Effect-TS/effect/commit/68b5c9e44f34192cef26e1cadda5e661a027df41), [`9c9928d`](https://github.com/Effect-TS/effect/commit/9c9928dfeacd9ac33dc37eb0ca3d7d8c39175ada), [`6306e66`](https://github.com/Effect-TS/effect/commit/6306e6656092b350d4ede5746da6f245ec9f7e07), [`361c7f3`](https://github.com/Effect-TS/effect/commit/361c7f39a2c10ede9324847c3d3ba192a6f9b20a)]:
  - effect@3.10.8
  - @effect/platform@0.69.13

## 0.2.12

### Patch Changes

- Updated dependencies [[`33f5b9f`](https://github.com/Effect-TS/effect/commit/33f5b9ffaebea4f1bd0e391b44c41fb6230e743a), [`50f0281`](https://github.com/Effect-TS/effect/commit/50f0281b0d2116726b8927a6217622d5f394f3e4)]:
  - effect@3.10.7
  - @effect/platform@0.69.12

## 0.2.11

### Patch Changes

- Updated dependencies [[`ce1c21f`](https://github.com/Effect-TS/effect/commit/ce1c21ffc11902ac9ab453a51904207859d38552), [`81ddd45`](https://github.com/Effect-TS/effect/commit/81ddd45fc074b98206fafab416d9a5a28b31e07a)]:
  - effect@3.10.6
  - @effect/platform@0.69.11

## 0.2.10

### Patch Changes

- Updated dependencies [[`3a6d757`](https://github.com/Effect-TS/effect/commit/3a6d757badeebe00d8ef4d67530d073c8264dcfa), [`59d813a`](https://github.com/Effect-TS/effect/commit/59d813aa4973d1115cfc70cc3667508335f49693)]:
  - effect@3.10.5
  - @effect/platform@0.69.10

## 0.2.9

### Patch Changes

- Updated dependencies [[`2367708`](https://github.com/Effect-TS/effect/commit/2367708be449f9526a2047e321302d7bfb16f18e)]:
  - @effect/platform@0.69.9
  - effect@3.10.4

## 0.2.8

### Patch Changes

- Updated dependencies [[`522f7c5`](https://github.com/Effect-TS/effect/commit/522f7c518a5acfb55ef96d6796869f002cc3eaf8)]:
  - @effect/platform@0.69.8

## 0.2.7

### Patch Changes

- Updated dependencies [[`690d6c5`](https://github.com/Effect-TS/effect/commit/690d6c54d2145adb0af545c447db7d4755bf3c6b), [`b9423d8`](https://github.com/Effect-TS/effect/commit/b9423d8bf8181a2389fdbce1e3c14ac6fe8d54f5), [`279fe3a`](https://github.com/Effect-TS/effect/commit/279fe3a7168fe84e520c2cc88ba189a15f03a2bc)]:
  - @effect/platform@0.69.7
  - effect@3.10.3

## 0.2.6

### Patch Changes

- Updated dependencies [[`714e119`](https://github.com/Effect-TS/effect/commit/714e11945e45e5a2554ee058e6c43f82a8e309cf), [`c1afd55`](https://github.com/Effect-TS/effect/commit/c1afd55c54e61f9c432823d21b3d016f79160a37), [`42cd72a`](https://github.com/Effect-TS/effect/commit/42cd72a44ca9593e4d81fbb50e8111625fd0fb81)]:
  - effect@3.10.2
  - @effect/platform@0.69.6

## 0.2.5

### Patch Changes

- Updated dependencies [[`9604d6b`](https://github.com/Effect-TS/effect/commit/9604d6b616435103dafea8b53637a9d1450b4750)]:
  - effect@3.10.1
  - @effect/platform@0.69.5

## 0.2.4

### Patch Changes

- Updated dependencies [[`c86b1d7`](https://github.com/Effect-TS/effect/commit/c86b1d7cd47b66df190ef9775a475467c1abdbd6)]:
  - @effect/platform@0.69.4

## 0.2.3

### Patch Changes

- Updated dependencies [[`d5fba63`](https://github.com/Effect-TS/effect/commit/d5fba6391e1005e374aa0238f13edfbd65848313), [`1eb2c30`](https://github.com/Effect-TS/effect/commit/1eb2c30ba064398db5790e376dedcfad55b7b005), [`02d413e`](https://github.com/Effect-TS/effect/commit/02d413e7b6bc1c64885969c37cc3e4e690c94d7d)]:
  - @effect/platform@0.69.3

## 0.2.2

### Patch Changes

- Updated dependencies [[`e7afc47`](https://github.com/Effect-TS/effect/commit/e7afc47ce83e381c3f4aed2b2974e3b3d86a2340)]:
  - @effect/platform@0.69.2

## 0.2.1

### Patch Changes

- Updated dependencies [[`7564f56`](https://github.com/Effect-TS/effect/commit/7564f56bb2844cf39d2b0d2d9e93cf9b2205e9a8), [`7564f56`](https://github.com/Effect-TS/effect/commit/7564f56bb2844cf39d2b0d2d9e93cf9b2205e9a8)]:
  - @effect/platform@0.69.1

## 0.2.0

### Patch Changes

- Updated dependencies [[`4a01828`](https://github.com/Effect-TS/effect/commit/4a01828b66d6213e9bbe18979c893b13f7bb29bf), [`6d9de6b`](https://github.com/Effect-TS/effect/commit/6d9de6b871c5c08e6509a4e830c3d74758faa198), [`4a01828`](https://github.com/Effect-TS/effect/commit/4a01828b66d6213e9bbe18979c893b13f7bb29bf), [`c79c4c1`](https://github.com/Effect-TS/effect/commit/c79c4c178390fe61ff6dda88c9e058862349343a), [`38d30f0`](https://github.com/Effect-TS/effect/commit/38d30f08b8da62f9c3e308b9250738cb8d17bdb5), [`5821ce3`](https://github.com/Effect-TS/effect/commit/5821ce3455b47d25e0a40cae6ce22af9db5fa556)]:
  - effect@3.10.0
  - @effect/platform@0.69.0

## 0.1.4

### Patch Changes

- Updated dependencies [[`382556f`](https://github.com/Effect-TS/effect/commit/382556f8930780c0634de681077706113a8c8239), [`97cb014`](https://github.com/Effect-TS/effect/commit/97cb0145114b2cd2f378e98f6c4ff5bf2c1865f5)]:
  - @effect/schema@0.75.5
  - @effect/platform@0.68.6

## 0.1.3

### Patch Changes

- Updated dependencies [[`2036402`](https://github.com/Effect-TS/effect/commit/20364020b8b75a684791aa93d90626758023e9e9)]:
  - @effect/platform@0.68.5

## 0.1.2

### Patch Changes

- Updated dependencies [[`1b1ef29`](https://github.com/Effect-TS/effect/commit/1b1ef29ae302322f69dc938f9337aa97b4c63266)]:
  - @effect/platform@0.68.4

## 0.1.1

### Patch Changes

- Updated dependencies [[`61a99b2`](https://github.com/Effect-TS/effect/commit/61a99b2bf9d757870ef0c2ec9d4c877cdd364a3d), [`8c33087`](https://github.com/Effect-TS/effect/commit/8c330879425e80bed2f65e407cd59e991f0d7bec)]:
  - effect@3.9.2
  - @effect/platform@0.68.3
  - @effect/schema@0.75.4

## 0.1.0

### Minor Changes

- [#3631](https://github.com/Effect-TS/effect/pull/3631) [`bd160a4`](https://github.com/Effect-TS/effect/commit/bd160a4f714b0f1cb5867e458fd70f9131b060d6) Thanks @tim-smart! - add @effect/ai packages

  Experimental modules for working with LLMs, currently only from OpenAI.

### Patch Changes

- Updated dependencies [[`360ec14`](https://github.com/Effect-TS/effect/commit/360ec14dd4102c526aef7433a8881ad4d9beab75)]:
  - @effect/schema@0.75.3
  - @effect/platform@0.68.2


================================================
FILE: packages/ai/ai/LICENSE
================================================
MIT License

Copyright (c) 2023 Effectful Technologies Inc

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: packages/ai/ai/README.md
================================================
# `@effect/ai`

## Documentation

- **Introduction**: [Read the introduction and usage guide on our website](https://effect.website/docs/ai/introduction)
- **API Reference**: [View the full documentation](https://effect-ts.github.io/effect/docs/ai/ai).


================================================
FILE: packages/ai/ai/docgen.json
================================================
{
  "$schema": "../../../node_modules/@effect/docgen/schema.json",
  "exclude": ["src/internal/**/*.ts"],
  "srcLink": "https://github.com/Effect-TS/effect/tree/main/packages/ai/ai/src/",
  "examplesCompilerOptions": {
    "noEmit": true,
    "strict": true,
    "skipLibCheck": true,
    "moduleResolution": "Bundler",
    "module": "ES2022",
    "target": "ES2022",
    "lib": ["ES2022", "DOM", "DOM.Iterable"],
    "paths": {
      "effect": ["../../../../effect/src/index.js"],
      "effect/*": ["../../../../effect/src/*.js"],
      "@effect/platform": ["../../../../platform/src/index.js"],
      "@effect/platform/*": ["../../../../platform/src/*.js"],
      "@effect/platform-node": ["../../../../platform-node/src/index.js"],
      "@effect/platform-node/*": ["../../../../platform-node/src/*.js"],
      "@effect/ai": ["../../../ai/src/index.js"],
      "@effect/ai/*": ["../../../ai/src/*.js"]
    }
  }
}


================================================
FILE: packages/ai/ai/package.json
================================================
{
  "name": "@effect/ai",
  "type": "module",
  "version": "0.35.0",
  "license": "MIT",
  "description": "Effect modules for working with AI apis",
  "homepage": "https://effect.website",
  "repository": {
    "type": "git",
    "url": "https://github.com/Effect-TS/effect.git",
    "directory": "packages/ai/ai"
  },
  "bugs": {
    "url": "https://github.com/Effect-TS/effect/issues"
  },
  "tags": [
    "typescript",
    "algebraic-data-types",
    "functional-programming"
  ],
  "keywords": [
    "typescript",
    "algebraic-data-types",
    "functional-programming"
  ],
  "publishConfig": {
    "access": "public",
    "provenance": true,
    "directory": "dist",
    "linkDirectory": false
  },
  "exports": {
    "./package.json": "./package.json",
    ".": "./src/index.ts",
    "./*": "./src/*.ts",
    "./internal/*": null
  },
  "scripts": {
    "codegen": "build-utils prepare-v3",
    "build": "pnpm build-esm && pnpm build-annotate && pnpm build-cjs && build-utils pack-v3",
    "build-esm": "tsc -b tsconfig.build.json",
    "build-cjs": "babel build/esm --plugins @babel/transform-export-namespace-from --plugins @babel/transform-modules-commonjs --out-dir build/cjs --source-maps",
    "build-annotate": "babel build/esm --plugins annotate-pure-calls --out-dir build/esm --source-maps",
    "check": "tsc -b tsconfig.json",
    "test": "vitest",
    "coverage": "vitest --coverage"
  },
  "peerDependencies": {
    "@effect/experimental": "workspace:^",
    "@effect/platform": "workspace:^",
    "@effect/rpc": "workspace:^",
    "effect": "workspace:^"
  },
  "devDependencies": {
    "@effect/experimental": "workspace:^",
    "@effect/platform": "workspace:^",
    "@effect/rpc": "workspace:^",
    "effect": "workspace:^"
  },
  "dependencies": {
    "find-my-way-ts": "^0.1.6"
  }
}


================================================
FILE: packages/ai/ai/src/AiError.ts
================================================
/**
 * The `AiError` module provides comprehensive error handling for AI operations.
 *
 * This module defines a hierarchy of error types that can occur when working
 * with AI services, including HTTP request/response errors, input/output
 * validation errors, and general runtime errors. All errors follow Effect's
 * structured error patterns and provide detailed context for debugging.
 *
 * ## Error Types
 *
 * - **HttpRequestError**: Errors occurring during HTTP request processing
 * - **HttpResponseError**: Errors occurring during HTTP response processing
 * - **MalformedInput**: Errors when input data doesn't match expected format
 * - **MalformedOutput**: Errors when output data can't be parsed or validated
 * - **UnknownError**: Catch-all for unexpected runtime errors
 *
 * @example
 * ```ts
 * import { AiError } from "@effect/ai"
 * import { Effect, Match } from "effect"
 *
 * const handleAiError = Match.type<AiError.AiError>().pipe(
 *   Match.tag("HttpRequestError", (err) =>
 *     Effect.logError(`Request failed: ${err.message}`)
 *   ),
 *   Match.tag("HttpResponseError", (err) =>
 *     Effect.logError(`Response error (${err.response.status}): ${err.message}`)
 *   ),
 *   Match.tag("MalformedInput", (err) =>
 *     Effect.logError(`Invalid input: ${err.message}`)
 *   ),
 *   Match.tag("MalformedOutput", (err) =>
 *     Effect.logError(`Invalid output: ${err.message}`)
 *   ),
 *   Match.orElse((err) =>
 *     Effect.logError(`Unknown error: ${err.message}`)
 *   )
 * )
 * ```
 *
 * @example
 * ```ts
 * import { AiError } from "@effect/ai"
 * import { Effect, Option } from "effect"
 *
 * const aiOperation = Effect.gen(function* () {
 *   // Some AI operation that might fail
 *   return yield* new AiError.HttpRequestError({
 *     module: "OpenAI",
 *     method: "completion",
 *     reason: "Transport",
 *     request: {
 *       method: "POST",
 *       url: "https://api.openai.com/v1/completions",
 *       urlParams: [],
 *       hash: Option.none(),
 *       headers: { "Content-Type": "application/json" }
 *     }
 *   })
 * })
 *
 * const program = aiOperation.pipe(
 *   Effect.catchTag("HttpRequestError", (error) => {
 *     console.log("Request failed:", error.message)
 *     return Effect.succeed("fallback response")
 *   })
 * )
 * ```
 *
 * @since 1.0.0
 */
import type * as HttpClientError from "@effect/platform/HttpClientError"
import * as Effect from "effect/Effect"
import * as Inspectable from "effect/Inspectable"
import type { ParseError } from "effect/ParseResult"
import * as Predicate from "effect/Predicate"
import * as Schema from "effect/Schema"

/**
 * Unique identifier for AI errors.
 *
 * @since 1.0.0
 * @category Type Ids
 */
export const TypeId = "~@effect/ai/AiError"

/**
 * Type-level representation of the AI error identifier.
 *
 * @since 1.0.0
 * @category Type Ids
 */
export type TypeId = typeof TypeId

/**
 * Type guard to check if a value is an AI error.
 *
 * @param u - The value to check
 * @returns `true` if the value is an `AiError`, `false` otherwise
 *
 * @example
 * ```ts
 * import { AiError } from "@effect/ai"
 *
 * const someError = new Error("generic error")
 * const aiError = new AiError.UnknownError({
 *   module: "Test",
 *   method: "example"
 * })
 *
 * console.log(AiError.isAiError(someError)) // false
 * console.log(AiError.isAiError(aiError))   // true
 * ```
 *
 * @since 1.0.0
 * @category Guards
 */
export const isAiError = (u: unknown): u is AiError => Predicate.hasProperty(u, TypeId)

// =============================================================================
// Http Request Error
// =============================================================================

/**
 * Schema for HTTP request details used in error reporting.
 *
 * Captures comprehensive information about HTTP requests that failed,
 * enabling detailed error analysis and debugging.
 *
 * @example
 * ```ts
 * import { AiError } from "@effect/ai"
 * import { Option } from "effect"
 *
 * const requestDetails: typeof AiError.HttpRequestDetails.Type = {
 *   method: "POST",
 *   url: "https://api.openai.com/v1/completions",
 *   urlParams: [["model", "gpt-4"], ["stream", "false"]],
 *   hash: Option.some("#section1"),
 *   headers: { "Content-Type": "application/json" }
 * }
 * ```
 *
 * @since 1.0.0
 * @category Schemas
 */
export const HttpRequestDetails = Schema.Struct({
  method: Schema.Literal("GET", "POST", "PATCH", "PUT", "DELETE", "HEAD", "OPTIONS"),
  url: Schema.String,
  urlParams: Schema.Array(Schema.Tuple(Schema.String, Schema.String)),
  hash: Schema.Option(Schema.String),
  headers: Schema.Record({ key: Schema.String, value: Schema.String })
}).annotations({ identifier: "HttpRequestDetails" })

/**
 * Error that occurs during HTTP request processing.
 *
 * This error is raised when issues arise before receiving an HTTP response,
 * such as network connectivity problems, request encoding issues, or invalid
 * URLs.
 *
 * @example
 * ```ts
 * import { AiError } from "@effect/ai"
 * import * as Effect from "effect/Effect"
 * import * as Option from "effect/Option"
 *
 * const handleNetworkError = Effect.gen(function* () {
 *   const error = new AiError.HttpRequestError({
 *     module: "OpenAI",
 *     method: "createCompletion",
 *     reason: "Transport",
 *     request: {
 *       method: "POST",
 *       url: "https://api.openai.com/v1/completions",
 *       urlParams: [],
 *       hash: Option.none(),
 *       headers: { "Content-Type": "application/json" }
 *     },
 *     description: "Connection timeout after 30 seconds"
 *   })
 *
 *   console.log(error.message)
 *   // "Transport: Connection timeout after 30 seconds (POST https://api.openai.com/v1/completions)"
 * })
 * ```
 *
 * @since 1.0.0
 * @category Errors
 */
export class HttpRequestError extends Schema.TaggedError<HttpRequestError>(
  "@effect/ai/AiError/HttpRequestError"
)("HttpRequestError", {
  module: Schema.String,
  method: Schema.String,
  reason: Schema.Literal("Transport", "Encode", "InvalidUrl"),
  request: HttpRequestDetails,
  description: Schema.optional(Schema.String),
  cause: Schema.optional(Schema.Defect)
}) {
  /**
   * @since 1.0.0
   */
  readonly [TypeId]: TypeId = TypeId

  /**
   * Creates an HttpRequestError from a platform HttpClientError.RequestError.
   *
   * @example
   * ```ts
   * import { AiError } from "@effect/ai"
   * import { HttpClientError } from "@effect/platform"
   * import { Option } from "effect"
   *
   * declare const platformError: HttpClientError.RequestError
   *
   * const aiError = AiError.HttpRequestError.fromRequestError({
   *   module: "ChatGPT",
   *   method: "sendMessage",
   *   error: platformError
   * })
   * ```
   *
   * @since 1.0.0
   * @category Constructors
   */
  static fromRequestError({ error, ...params }: {
    readonly module: string
    readonly method: string
    readonly error: HttpClientError.RequestError
  }): HttpRequestError {
    return new HttpRequestError({
      ...params,
      cause: error,
      description: error.description,
      reason: error.reason,
      request: {
        hash: error.request.hash,
        headers: Inspectable.redact(error.request.headers) as any,
        method: error.request.method,
        url: error.request.url,
        urlParams: error.request.urlParams
      }
    }, { disableValidation: true })
  }

  get message(): string {
    const methodAndUrl = `${this.request.method} ${this.request.url}`

    let baseMessage = this.description
      ? `${this.reason}: ${this.description}`
      : `${this.reason}: An HTTP request error occurred.`

    baseMessage += ` (${methodAndUrl})`

    let suggestion = ""
    switch (this.reason) {
      case "Encode": {
        suggestion += "Check that the request body data is properly formatted and matches the expected content type."
        break
      }

      case "InvalidUrl": {
        suggestion += "Verify that the URL format is correct and that all required parameters have been provided."
        suggestion += " Check for any special characters that may need encoding."
        break
      }

      case "Transport": {
        suggestion += "Check your network connection and verify that the requested URL is accessible."
        break
      }
    }

    baseMessage += `\n\nSuggestion: ${suggestion}`

    return baseMessage
  }
}

// =============================================================================
// Http Response Error
// =============================================================================

/**
 * Schema for HTTP response details used in error reporting.
 *
 * Captures essential information about HTTP responses that caused errors,
 * including status codes and headers for debugging purposes.
 *
 * @example
 * ```ts
 * import { AiError } from "@effect/ai"
 *
 * const responseDetails: typeof AiError.HttpResponseDetails.Type = {
 *   status: 429,
 *   headers: {
 *     "Content-Type": "application/json",
 *     "X-RateLimit-Remaining": "0",
 *     "Retry-After": "60"
 *   }
 * }
 * ```
 *
 * @since 1.0.0
 * @category Schemas
 */
export const HttpResponseDetails = Schema.Struct({
  status: Schema.Number,
  headers: Schema.Record({ key: Schema.String, value: Schema.String })
}).annotations({ identifier: "HttpResponseDetails" })

/**
 * Error that occurs during HTTP response processing.
 *
 * This error is thrown when issues arise after receiving an HTTP response,
 * such as unexpected status codes, response decoding failures, or empty
 * response bodies.
 *
 * @example
 * ```ts
 * import { AiError } from "@effect/ai"
 * import { Option } from "effect"
 *
 * const responseError = new AiError.HttpResponseError({
 *   module: "OpenAI",
 *   method: "createCompletion",
 *   reason: "StatusCode",
 *   request: {
 *     method: "POST",
 *     url: "https://api.openai.com/v1/completions",
 *     urlParams: [],
 *     hash: Option.none(),
 *     headers: { "Content-Type": "application/json" }
 *   },
 *   response: {
 *     status: 429,
 *     headers: { "X-RateLimit-Remaining": "0" }
 *   },
 *   description: "Rate limit exceeded"
 * })
 *
 * console.log(responseError.message)
 * // "StatusCode: Rate limit exceeded (429 POST https://api.openai.com/v1/completions)"
 * ```
 *
 * @since 1.0.0
 * @category Errors
 */
export class HttpResponseError extends Schema.TaggedError<HttpResponseError>(
  "@effect/ai/AiError/HttpResponseError"
)("HttpResponseError", {
  module: Schema.String,
  method: Schema.String,
  request: HttpRequestDetails,
  response: HttpResponseDetails,
  body: Schema.optional(Schema.String),
  reason: Schema.Literal("StatusCode", "Decode", "EmptyBody"),
  description: Schema.optional(Schema.String)
}) {
  /**
   * @since 1.0.0
   */
  readonly [TypeId]: TypeId = TypeId

  /**
   * Creates an HttpResponseError from a platform HttpClientError.ResponseError.
   *
   * @example
   * ```ts
   * import { AiError } from "@effect/ai"
   * import { Headers, HttpClientError } from "@effect/platform"
   * import { Option } from "effect"
   *
   * declare const platformError: HttpClientError.ResponseError
   *
   * const aiError = AiError.HttpResponseError.fromResponseError({
   *   module: "OpenAI",
   *   method: "completion",
   *   error: platformError
   * })
   * ```
   *
   * @since 1.0.0
   * @category Constructors
   */
  static fromResponseError({ error, ...params }: {
    readonly module: string
    readonly method: string
    readonly error: HttpClientError.ResponseError
  }): Effect.Effect<never, HttpResponseError> {
    let body: Effect.Effect<unknown, HttpClientError.ResponseError> = Effect.void
    const contentType = error.response.headers["content-type"] ?? ""
    if (contentType.includes("application/json")) {
      body = error.response.json
    } else if (contentType.includes("text/") || contentType.includes("urlencoded")) {
      body = error.response.text
    }
    return Effect.flatMap(Effect.merge(body), (body) =>
      new HttpResponseError({
        ...params,
        description: error.description,
        reason: error.reason,
        request: {
          hash: error.request.hash,
          headers: Inspectable.redact(error.request.headers) as any,
          method: error.request.method,
          url: error.request.url,
          urlParams: error.request.urlParams
        },
        response: {
          headers: Inspectable.redact(error.response.headers) as any,
          status: error.response.status
        },
        body: Inspectable.format(body)
      }, { disableValidation: true }))
  }

  get message(): string {
    const methodUrlStatus = `${this.response.status} ${this.request.method} ${this.request.url}`

    let baseMessage = this.description
      ? `${this.reason}: ${this.description}`
      : `${this.reason}: An HTTP response error occurred.`

    baseMessage += ` (${methodUrlStatus})`

    let suggestion = ""
    switch (this.reason) {
      case "Decode": {
        suggestion += "The response format does not match what is expected. " +
          "Verify API version compatibility, check response content-type, " +
          "and/or examine if the endpoint schema has changed."
        break
      }
      case "EmptyBody": {
        suggestion += "The response body was empty. This may indicate a server " +
          "issue, API version mismatch, or the endpoint may have changed its response format."
        break
      }
      case "StatusCode": {
        suggestion += getStatusCodeSuggestion(this.response.status)
        break
      }
    }

    baseMessage += `\n\n${suggestion}`

    if (Predicate.isNotUndefined(this.body)) {
      baseMessage += `\n\nResponse Body: ${this.body}`
    }

    return baseMessage
  }
}

// =============================================================================
// Malformed Input Error
// =============================================================================

/**
 * Error thrown when input data doesn't match the expected format or schema.
 *
 * This error occurs when the data provided to an AI operation fails validation,
 * is missing required fields, or doesn't conform to the expected structure.
 *
 * @example
 * ```ts
 * import { AiError } from "@effect/ai"
 * import * as Effect from "effect/Effect"
 *
 * const validateInput = (data: unknown): Effect.Effect<string, AiError.MalformedInput> =>
 *   typeof data === "string" && data.length > 0
 *     ? Effect.succeed(data)
 *     : Effect.fail(new AiError.MalformedInput({
 *         module: "ChatBot",
 *         method: "processMessage",
 *         description: "Input must be a non-empty string"
 *       }))
 *
 * const program = validateInput("").pipe(
 *   Effect.catchTag("MalformedInput", (error) => {
 *     console.log(`Input validation failed: ${error.description}`)
 *     return Effect.succeed("Please provide a valid message")
 *   })
 * )
 * ```
 *
 * @since 1.0.0
 * @category Errors
 */
export class MalformedInput extends Schema.TaggedError<MalformedInput>(
  "@effect/ai/AiError/MalformedInput"
)("MalformedInput", {
  module: Schema.String,
  method: Schema.String,
  description: Schema.optional(Schema.String),
  cause: Schema.optional(Schema.Defect)
}) {
  /**
   * @since 1.0.0
   */
  readonly [TypeId]: TypeId = TypeId
}

// =============================================================================
// Malformed Output Error
// =============================================================================

/**
 * Error thrown when output data can't be parsed or validated.
 *
 * This error occurs when AI service responses don't match the expected format,
 * contain invalid data structures, or fail schema validation during parsing.
 *
 * @example
 * ```ts
 * import { AiError } from "@effect/ai"
 * import { Effect, Schema } from "effect"
 *
 * const ResponseSchema = Schema.Struct({
 *   message: Schema.String,
 *   tokens: Schema.Number
 * })
 *
 * const parseResponse = (data: unknown) =>
 *   Schema.decodeUnknown(ResponseSchema)(data).pipe(
 *     Effect.mapError(parseError =>
 *       new AiError.MalformedOutput({
 *         module: "OpenAI",
 *         method: "completion",
 *         description: "Response doesn't match expected schema",
 *         cause: parseError
 *       })
 *     )
 *   )
 *
 * const program = parseResponse({ invalid: "data" }).pipe(
 *   Effect.catchTag("MalformedOutput", (error) => {
 *     console.log(`Parsing failed: ${error.description}`)
 *     return Effect.succeed({ message: "Error", tokens: 0 })
 *   })
 * )
 * ```
 *
 * @since 1.0.0
 * @category Errors
 */
export class MalformedOutput extends Schema.TaggedError<MalformedOutput>(
  "@effect/ai/AiError/MalformedOutput"
)("MalformedOutput", {
  module: Schema.String,
  method: Schema.String,
  description: Schema.optional(Schema.String),
  cause: Schema.optional(Schema.Defect)
}) {
  /**
   * @since 1.0.0
   */
  readonly [TypeId]: TypeId = TypeId

  /**
   * Creates a MalformedOutput error from a Schema ParseError.
   *
   * @example
   * ```ts
   * import { AiError } from "@effect/ai"
   * import { Effect, Schema } from "effect"
   *
   * const UserSchema = Schema.Struct({
   *   name: Schema.String,
   *   age: Schema.Number
   * })
   *
   * const parseUser = (data: unknown) =>
   *   Schema.decodeUnknown(UserSchema)(data).pipe(
   *     Effect.mapError((parseError) =>
   *       AiError.MalformedOutput.fromParseError({
   *         module: "UserService",
   *         method: "parseUserData",
   *         error: parseError
   *       })
   *     )
   *   )
   * ```
   *
   * @since 1.0.0
   * @category Constructors
   */
  static fromParseError({ error, ...params }: {
    readonly module: string
    readonly method: string
    readonly description?: string
    readonly error: ParseError
  }): MalformedOutput {
    // TODO(Max): enhance
    return new MalformedOutput({
      ...params,
      cause: error
    })
  }
}

// =============================================================================
// Unknown Error
// =============================================================================

/**
 * Catch-all error for unexpected runtime errors in AI operations.
 *
 * This error is used when an unexpected exception occurs that doesn't fit
 * into the other specific error categories. It provides context about where
 * the error occurred and preserves the original cause for debugging.
 *
 * @example
 * ```ts
 * import { AiError } from "@effect/ai"
 * import { Effect } from "effect"
 *
 * const riskyOperation = () => {
 *   try {
 *     // Some operation that might throw
 *     throw new Error("Unexpected network issue")
 *   } catch (cause) {
 *     return Effect.fail(new AiError.UnknownError({
 *       module: "ChatService",
 *       method: "sendMessage",
 *       description: "An unexpected error occurred during message processing",
 *       cause
 *     }))
 *   }
 * }
 *
 * const program = riskyOperation().pipe(
 *   Effect.catchTag("UnknownError", (error) => {
 *     console.log(error.message)
 *     // "ChatService.sendMessage: An unexpected error occurred during message processing"
 *     return Effect.succeed("Service temporarily unavailable")
 *   })
 * )
 * ```
 *
 * @since 1.0.0
 * @category Errors
 */
export class UnknownError extends Schema.TaggedError<UnknownError>(
  "@effect/ai/UnknownError"
)("UnknownError", {
  module: Schema.String,
  method: Schema.String,
  description: Schema.optional(Schema.String),
  cause: Schema.optional(Schema.Defect)
}) {
  /**
   * @since 1.0.0
   */
  readonly [TypeId]: TypeId = TypeId

  /**
   * @since 1.0.0
   */
  get message(): string {
    const moduleMethod = `${this.module}.${this.method}`
    return Predicate.isUndefined(this.description)
      ? `${moduleMethod}: An error occurred`
      : `${moduleMethod}: ${this.description}`
  }
}

// =============================================================================
// AiError
// =============================================================================

/**
 * Union type representing all possible AI operation errors.
 *
 * This type encompasses all error cases that can occur during AI operations,
 * providing a comprehensive error handling surface for applications.
 *
 * @example
 * ```ts
 * import { AiError } from "@effect/ai"
 * import { Effect, Match } from "effect"
 *
 * const handleAnyAiError = Match.type<AiError.AiError>().pipe(
 *   Match.tag("HttpRequestError", (err) =>
 *     `Network error: ${err.reason}`
 *   ),
 *   Match.tag("HttpResponseError", (err) =>
 *     `Server error: HTTP ${err.response.status}`
 *   ),
 *   Match.tag("MalformedInput", (err) =>
 *     `Invalid input: ${err.description || "Data validation failed"}`
 *   ),
 *   Match.tag("MalformedOutput", (err) =>
 *     `Invalid response: ${err.description || "Response parsing failed"}`
 *   ),
 *   Match.orElse((err) =>
 *     `Unknown error: ${err.message}`
 *   )
 * )
 * ```
 *
 * @since 1.0.0
 * @category Models
 */
export type AiError =
  | HttpRequestError
  | HttpResponseError
  | MalformedInput
  | MalformedOutput
  | UnknownError

/**
 * Schema for validating and parsing AI errors.
 *
 * This schema can be used to decode unknown values into properly typed AI
 * errors, ensuring type safety when handling errors from external sources or
 * serialized data.
 *
 * @example
 * ```ts
 * import { AiError } from "@effect/ai"
 * import { Schema, Effect } from "effect"
 *
 * const parseAiError = (data: unknown) =>
 *   Schema.decodeUnknown(AiError.AiError)(data).pipe(
 *     Effect.map(error => {
 *       console.log(`Parsed AI error: ${error._tag}`)
 *       return error
 *     }),
 *     Effect.catchAll(() =>
 *       Effect.succeed(new AiError.UnknownError({
 *         module: "Parser",
 *         method: "parseAiError",
 *         description: "Failed to parse error data"
 *       }))
 *     )
 *   )
 * ```
 *
 * @since 1.0.0
 * @category Schemas
 */
export const AiError: Schema.Union<[
  typeof HttpRequestError,
  typeof HttpResponseError,
  typeof MalformedInput,
  typeof MalformedOutput,
  typeof UnknownError
]> = Schema.Union(
  HttpRequestError,
  HttpResponseError,
  MalformedInput,
  MalformedOutput,
  UnknownError
)

// =============================================================================
// Utilities
// =============================================================================

const getStatusCodeSuggestion = (statusCode: number): string => {
  if (statusCode >= 400 && statusCode < 500) {
    switch (statusCode) {
      case 400:
        return "Bad Request - Check request parameters, headers, and body format against API documentation."
      case 401:
        return "Unauthorized - Verify API key, authentication credentials, or token expiration."
      case 403:
        return "Forbidden - Check API permissions, usage limits, or resource access rights."
      case 404:
        return "Not Found - Verify the endpoint URL, API version, and resource identifiers."
      case 408:
        return "Request Timeout - Consider increasing timeout duration or implementing retry logic."
      case 422:
        return "Unprocessable Entity - Check request data validation, required fields, and data formats."
      case 429:
        return "Rate Limited - Implement exponential backoff or reduce request frequency."
      default:
        return "Client error - Review request format, parameters, and API documentation."
    }
  } else if (statusCode >= 500) {
    return "Server error - This is likely temporary. Implement retry logic with exponential backoff."
  } else {
    return "Check API documentation for this status code."
  }
}


================================================
FILE: packages/ai/ai/src/Chat.ts
================================================
/**
 * The `Chat` module provides a stateful conversation interface for AI language
 * models.
 *
 * This module enables persistent chat sessions that maintain conversation
 * history, support tool calling, and offer both streaming and non-streaming
 * text generation. It integrates seamlessly with the Effect AI ecosystem,
 * providing type-safe conversational AI capabilities.
 *
 * @example
 * ```ts
 * import { Chat, LanguageModel } from "@effect/ai"
 * import { Effect, Layer } from "effect"
 *
 * // Create a new chat session
 * const program = Effect.gen(function* () {
 *   const chat = yield* Chat.empty
 *
 *   // Send a message and get response
 *   const response = yield* chat.generateText({
 *     prompt: "Hello! What can you help me with?"
 *   })
 *
 *   console.log(response.content)
 *
 *   return response
 * })
 * ```
 *
 * @example
 * ```ts
 * import { Chat, LanguageModel } from "@effect/ai"
 * import { Effect, Stream } from "effect"
 *
 * // Streaming chat with tool support
 * const streamingChat = Effect.gen(function* () {
 *   const chat = yield* Chat.empty
 *
 *   yield* chat.streamText({
 *     prompt: "Generate a creative story"
 *   }).pipe(Stream.runForEach((part) =>
 *     Effect.sync(() => console.log(part))
 *   ))
 * })
 * ```
 *
 * @since 1.0.0
 */
import type { PersistenceBackingError } from "@effect/experimental/Persistence"
import { BackingPersistence } from "@effect/experimental/Persistence"
import * as Channel from "effect/Channel"
import * as Chunk from "effect/Chunk"
import * as Context from "effect/Context"
import * as Duration from "effect/Duration"
import * as Effect from "effect/Effect"
import * as Layer from "effect/Layer"
import * as Option from "effect/Option"
import type { ParseError } from "effect/ParseResult"
import * as Predicate from "effect/Predicate"
import * as Ref from "effect/Ref"
import * as Schema from "effect/Schema"
import * as Stream from "effect/Stream"
import type { NoExcessProperties } from "effect/Types"
import * as AiError from "./AiError.js"
import * as IdGenerator from "./IdGenerator.js"
import * as LanguageModel from "./LanguageModel.js"
import * as Prompt from "./Prompt.js"
import type * as Response from "./Response.js"
import type * as Tool from "./Tool.js"

/**
 * The `Chat` service tag for dependency injection.
 *
 * This tag provides access to chat functionality throughout your application,
 * enabling persistent conversational AI interactions with full context
 * management.
 *
 * @example
 * ```ts
 * import { Chat } from "@effect/ai"
 * import * as Effect from "effect/Effect"
 *
 * const useChat = Effect.gen(function* () {
 *   const chat = yield* Chat.Chat
 *   const response = yield* chat.generateText({
 *     prompt: "Explain quantum computing in simple terms"
 *   })
 *   return response.content
 * })
 * ```
 *
 * @since 1.0.0
 * @category Context
 */
export class Chat extends Context.Tag("@effect/ai/Chat")<
  Chat,
  Service
>() {}

/**
 * Represents the interface that the `Chat` service provides.
 *
 * @since 1.0.0
 * @category Models
 */
export interface Service {
  /**
   * Reference to the chat history.
   *
   * Provides direct access to the conversation history for advanced use cases
   * like custom history manipulation or inspection.
   *
   * @example
   * ```ts
   * import { Chat } from "@effect/ai"
   * import { Effect, Ref } from "effect"
   *
   * const inspectHistory = Effect.gen(function* () {
   *   const chat = yield* Chat.empty
   *   const currentHistory = yield* Ref.get(chat.history)
   *   console.log("Current conversation:", currentHistory)
   *   return currentHistory
   * })
   * ```
   */
  readonly history: Ref.Ref<Prompt.Prompt>

  /**
   * Exports the chat history into a structured format.
   *
   * Returns the complete conversation history as a structured object
   * that can be stored, transmitted, or processed by other systems.
   *
   * @example
   * ```ts
   * import { Chat } from "@effect/ai"
   * import { Effect } from "effect"
   *
   * const saveChat = Effect.gen(function* () {
   *   const chat = yield* Chat.empty
   *   yield* chat.generateText({ prompt: "Hello!" })
   *
   *   const exportedData = yield* chat.export
   *
   *   // Save to database or file system
   *   return exportedData
   * })
   * ```
   */
  readonly export: Effect.Effect<unknown, AiError.AiError>

  /**
   * Exports the chat history as a JSON string.
   *
   * Provides a convenient way to serialize the entire conversation
   * for storage or transmission in JSON format.
   *
   * @example
   * ```ts
   * import { Chat } from "@effect/ai"
   * import { Effect } from "effect"
   *
   * const backupChat = Effect.gen(function* () {
   *   const chat = yield* Chat.empty
   *   yield* chat.generateText({ prompt: "Explain photosynthesis" })
   *
   *   const jsonBackup = yield* chat.exportJson
   *
   *   yield* Effect.sync(() =>
   *     localStorage.setItem("chat-backup", jsonBackup)
   *   )
   *
   *   return jsonBackup
   * })
   * ```
   */
  readonly exportJson: Effect.Effect<string, AiError.MalformedOutput>

  /**
   * Generate text using a language model for the specified prompt.
   *
   * If a toolkit is specified, the language model will have access to tools
   * for function calling and enhanced capabilities. Both input and output
   * messages are automatically added to the chat history.
   *
   * @example
   * ```ts
   * import { Chat } from "@effect/ai"
   * import { Effect } from "effect"
   *
   * const chatWithAI = Effect.gen(function* () {
   *   const chat = yield* Chat.empty
   *
   *   const response1 = yield* chat.generateText({
   *     prompt: "What is the capital of France?"
   *   })
   *
   *   const response2 = yield* chat.generateText({
   *     prompt: "What's the population of that city?",
   *   })
   *
   *   return [response1.content, response2.content]
   * })
   * ```
   */
  readonly generateText: <
    Options extends NoExcessProperties<LanguageModel.GenerateTextOptions<any>, Options>,
    Tools extends Record<string, Tool.Any> = {}
  >(options: Options & LanguageModel.GenerateTextOptions<Tools>) => Effect.Effect<
    LanguageModel.GenerateTextResponse<Tools>,
    LanguageModel.ExtractError<Options>,
    LanguageModel.LanguageModel | LanguageModel.ExtractContext<Options>
  >

  /**
   * Generate text using a language model with streaming output.
   *
   * Returns a stream of response parts that are emitted as soon as they're
   * available from the model. Supports tool calling and maintains chat history.
   *
   * @example
   * ```ts
   * import { Chat } from "@effect/ai"
   * import { Effect, Stream, Console } from "effect"
   *
   * const streamingChat = Effect.gen(function* () {
   *   const chat = yield* Chat.empty
   *
   *   const stream = yield* chat.streamText({
   *     prompt: "Write a short story about space exploration"
   *   })
   *
   *   yield* Stream.runForEach(stream, (part) =>
   *     part.type === "text-delta"
   *       ? Effect.sync(() => process.stdout.write(part.delta))
   *       : Effect.void
   *   )
   * })
   * ```
   */
  readonly streamText: <
    Options extends NoExcessProperties<LanguageModel.GenerateTextOptions<any>, Options>,
    Tools extends Record<string, Tool.Any> = {}
  >(options: Options & LanguageModel.GenerateTextOptions<Tools>) => Stream.Stream<
    Response.StreamPart<Tools>,
    LanguageModel.ExtractError<Options>,
    LanguageModel.LanguageModel | LanguageModel.ExtractContext<Options>
  >

  /**
   * Generate a structured object using a language model and schema.
   *
   * Forces the model to return data that conforms to the specified schema,
   * enabling structured data extraction and type-safe responses. The
   * conversation history is maintained across calls.
   *
   * @example
   * ```ts
   * import { Chat } from "@effect/ai"
   * import { Effect, Schema } from "effect"
   *
   * const ContactSchema = Schema.Struct({
   *   name: Schema.String,
   *   email: Schema.String,
   *   phone: Schema.optional(Schema.String)
   * })
   *
   * const extractContact = Effect.gen(function* () {
   *   const chat = yield* Chat.empty
   *
   *   const contact = yield* chat.generateObject({
   *     prompt: "Extract contact info: John Doe, john@example.com, 555-1234",
   *     schema: ContactSchema
   *   })
   *
   *   console.log(contact.object)
   *   // { name: "John Doe", email: "john@example.com", phone: "555-1234" }
   *
   *   return contact.object
   * })
   * ```
   */
  readonly generateObject: <
    A,
    I extends Record<string, unknown>,
    R,
    Options extends NoExcessProperties<LanguageModel.GenerateObjectOptions<any, A, I, R>, Options>,
    Tools extends Record<string, Tool.Any> = {}
  >(options: Options & LanguageModel.GenerateObjectOptions<Tools, A, I, R>) => Effect.Effect<
    LanguageModel.GenerateObjectResponse<Tools, A>,
    LanguageModel.ExtractError<Options>,
    LanguageModel.LanguageModel | R | LanguageModel.ExtractContext<Options>
  >
}

// =============================================================================
// Constructors
// =============================================================================

/**
 * Creates a new Chat service with empty conversation history.
 *
 * This is the most common way to start a fresh chat session without
 * any initial context or system prompts.
 *
 * @example
 * ```ts
 * import { Chat } from "@effect/ai"
 * import { Effect } from "effect"
 *
 * const freshChat = Effect.gen(function* () {
 *   const chat = yield* Chat.empty
 *
 *   const response = yield* chat.generateText({
 *     prompt: "Hello! Can you introduce yourself?"
 *   })
 *
 *   console.log(response.content)
 *
 *   return chat
 * })
 * ```
 *
 * @since 1.0.0
 * @category Constructors
 */
export const empty: Effect.Effect<Service> = Effect.gen(function*() {
  const history = yield* Ref.make(Prompt.empty)
  const context = yield* Effect.context<never>()
  const semaphore = yield* Effect.makeSemaphore(1)

  const provideContext = <A, E, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R> =>
    Effect.mapInputContext(effect, (input) => Context.merge(context, input))
  const provideContextStream = <A, E, R>(stream: Stream.Stream<A, E, R>): Stream.Stream<A, E, R> =>
    Stream.mapInputContext(stream, (input) => Context.merge(context, input))

  const encodeHistory = Schema.encode(Prompt.Prompt)
  const encodeHistoryJson = Schema.encode(Prompt.FromJson)

  return Chat.of({
    history,
    export: Ref.get(history).pipe(
      Effect.flatMap(encodeHistory),
      Effect.catchTag("ParseError", (error) =>
        AiError.MalformedOutput.fromParseError({
          module: "Chat",
          method: "exportJson",
          description: "Failed to encode chat history",
          error
        })),
      Effect.withSpan("Chat.export")
    ),
    exportJson: Ref.get(history).pipe(
      Effect.flatMap(encodeHistoryJson),
      Effect.catchTag("ParseError", (error) =>
        AiError.MalformedOutput.fromParseError({
          module: "Chat",
          method: "exportJson",
          description: "Failed to encode chat history into JSON",
          error
        })),
      Effect.withSpan("Chat.exportJson")
    ),
    generateText: Effect.fnUntraced(
      function*(options) {
        const newPrompt = Prompt.make(options.prompt)
        const oldPrompt = yield* Ref.get(history)
        const prompt = Prompt.merge(oldPrompt, newPrompt)

        const response = yield* LanguageModel.generateText({ ...options, prompt })

        const newHistory = Prompt.merge(prompt, Prompt.fromResponseParts(response.content))
        yield* Ref.set(history, newHistory)

        return response
      },
      provideContext,
      semaphore.withPermits(1),
      Effect.withSpan("Chat.generateText", { captureStackTrace: false })
    ),
    streamText: Effect.fnUntraced(
      function*(options) {
        let parts = Chunk.empty<Response.AnyPart>()
        return Stream.fromChannel(Channel.acquireUseRelease(
          semaphore.take(1).pipe(
            Effect.zipRight(Ref.get(history)),
         
Download .txt
gitextract_fwoe07vv/

├── .changeset/
│   └── config.json
├── .github/
│   ├── CODEOWNERS
│   ├── actions/
│   │   └── setup/
│   │       └── action.yml
│   └── workflows/
│       ├── check.yml
│       ├── pages.yml
│       ├── release-queue.yml
│       ├── release.yml
│       ├── snapshot.yml
│       └── ts-nightly.yml
├── .gitignore
├── .madgerc
├── .prettierignore
├── .prettierrc.json
├── .vscode/
│   ├── settings.json
│   └── tasks.json
├── AGENTS.md
├── LICENSE
├── README.md
├── docker-compose.yaml
├── eslint.config.mjs
├── flake.nix
├── package.json
├── packages/
│   ├── ai/
│   │   ├── ai/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── LICENSE
│   │   │   ├── README.md
│   │   │   ├── docgen.json
│   │   │   ├── package.json
│   │   │   ├── src/
│   │   │   │   ├── AiError.ts
│   │   │   │   ├── Chat.ts
│   │   │   │   ├── EmbeddingModel.ts
│   │   │   │   ├── IdGenerator.ts
│   │   │   │   ├── LanguageModel.ts
│   │   │   │   ├── McpSchema.ts
│   │   │   │   ├── McpServer.ts
│   │   │   │   ├── Model.ts
│   │   │   │   ├── Prompt.ts
│   │   │   │   ├── Response.ts
│   │   │   │   ├── Telemetry.ts
│   │   │   │   ├── Tokenizer.ts
│   │   │   │   ├── Tool.ts
│   │   │   │   ├── Toolkit.ts
│   │   │   │   └── index.ts
│   │   │   ├── test/
│   │   │   │   ├── Chat.test.ts
│   │   │   │   ├── LanguageModel.test.ts
│   │   │   │   ├── Prompt.test.ts
│   │   │   │   ├── Tool.test.ts
│   │   │   │   └── utilities.ts
│   │   │   ├── tsconfig.build.json
│   │   │   ├── tsconfig.json
│   │   │   ├── tsconfig.src.json
│   │   │   ├── tsconfig.test.json
│   │   │   └── vitest.config.ts
│   │   ├── amazon-bedrock/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── LICENSE
│   │   │   ├── README.md
│   │   │   ├── docgen.json
│   │   │   ├── package.json
│   │   │   ├── src/
│   │   │   │   ├── AmazonBedrockClient.ts
│   │   │   │   ├── AmazonBedrockConfig.ts
│   │   │   │   ├── AmazonBedrockLanguageModel.ts
│   │   │   │   ├── AmazonBedrockSchema.ts
│   │   │   │   ├── AmazonBedrockTool.ts
│   │   │   │   ├── EventStreamEncoding.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── internal/
│   │   │   │       └── utilities.ts
│   │   │   ├── tsconfig.build.json
│   │   │   ├── tsconfig.json
│   │   │   ├── tsconfig.src.json
│   │   │   ├── tsconfig.test.json
│   │   │   └── vitest.config.ts
│   │   ├── anthropic/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── LICENSE
│   │   │   ├── README.md
│   │   │   ├── docgen.json
│   │   │   ├── package.json
│   │   │   ├── scripts/
│   │   │   │   ├── generate.sh
│   │   │   │   └── generated.patch
│   │   │   ├── src/
│   │   │   │   ├── AnthropicClient.ts
│   │   │   │   ├── AnthropicConfig.ts
│   │   │   │   ├── AnthropicLanguageModel.ts
│   │   │   │   ├── AnthropicTokenizer.ts
│   │   │   │   ├── AnthropicTool.ts
│   │   │   │   ├── Generated.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── internal/
│   │   │   │       └── utilities.ts
│   │   │   ├── tsconfig.build.json
│   │   │   ├── tsconfig.json
│   │   │   ├── tsconfig.src.json
│   │   │   ├── tsconfig.test.json
│   │   │   └── vitest.config.ts
│   │   ├── google/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── LICENSE
│   │   │   ├── README.md
│   │   │   ├── docgen.json
│   │   │   ├── package.json
│   │   │   ├── scripts/
│   │   │   │   ├── generate.sh
│   │   │   │   └── generated.patch
│   │   │   ├── src/
│   │   │   │   ├── Generated.ts
│   │   │   │   ├── GoogleClient.ts
│   │   │   │   ├── GoogleConfig.ts
│   │   │   │   ├── GoogleLanguageModel.ts
│   │   │   │   ├── GoogleTool.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── internal/
│   │   │   │       └── utilities.ts
│   │   │   ├── tsconfig.build.json
│   │   │   ├── tsconfig.json
│   │   │   ├── tsconfig.src.json
│   │   │   ├── tsconfig.test.json
│   │   │   └── vitest.config.ts
│   │   ├── openai/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── LICENSE
│   │   │   ├── README.md
│   │   │   ├── docgen.json
│   │   │   ├── package.json
│   │   │   ├── scripts/
│   │   │   │   ├── generate.sh
│   │   │   │   └── generated.patch
│   │   │   ├── src/
│   │   │   │   ├── Generated.ts
│   │   │   │   ├── OpenAiClient.ts
│   │   │   │   ├── OpenAiConfig.ts
│   │   │   │   ├── OpenAiEmbeddingModel.ts
│   │   │   │   ├── OpenAiLanguageModel.ts
│   │   │   │   ├── OpenAiTelemetry.ts
│   │   │   │   ├── OpenAiTokenizer.ts
│   │   │   │   ├── OpenAiTool.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── internal/
│   │   │   │       └── utilities.ts
│   │   │   ├── tsconfig.build.json
│   │   │   ├── tsconfig.json
│   │   │   ├── tsconfig.src.json
│   │   │   ├── tsconfig.test.json
│   │   │   └── vitest.config.ts
│   │   └── openrouter/
│   │       ├── CHANGELOG.md
│   │       ├── LICENSE
│   │       ├── README.md
│   │       ├── docgen.json
│   │       ├── package.json
│   │       ├── scripts/
│   │       │   ├── generate.sh
│   │       │   └── generated.patch
│   │       ├── src/
│   │       │   ├── Generated.ts
│   │       │   ├── OpenRouterClient.ts
│   │       │   ├── OpenRouterConfig.ts
│   │       │   ├── OpenRouterLanguageModel.ts
│   │       │   ├── index.ts
│   │       │   └── internal/
│   │       │       └── utilities.ts
│   │       ├── tsconfig.build.json
│   │       ├── tsconfig.json
│   │       ├── tsconfig.src.json
│   │       ├── tsconfig.test.json
│   │       └── vitest.config.ts
│   ├── cli/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   ├── minigit.ts
│   │   │   ├── naval-fate/
│   │   │   │   ├── domain.ts
│   │   │   │   └── store.ts
│   │   │   ├── naval-fate.ts
│   │   │   └── prompt.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Args.ts
│   │   │   ├── AutoCorrect.ts
│   │   │   ├── BuiltInOptions.ts
│   │   │   ├── CliApp.ts
│   │   │   ├── CliConfig.ts
│   │   │   ├── Command.ts
│   │   │   ├── CommandDescriptor.ts
│   │   │   ├── CommandDirective.ts
│   │   │   ├── ConfigFile.ts
│   │   │   ├── HelpDoc/
│   │   │   │   └── Span.ts
│   │   │   ├── HelpDoc.ts
│   │   │   ├── Options.ts
│   │   │   ├── Primitive.ts
│   │   │   ├── Prompt.ts
│   │   │   ├── Usage.ts
│   │   │   ├── ValidationError.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── args.ts
│   │   │       ├── autoCorrect.ts
│   │   │       ├── builtInOptions.ts
│   │   │       ├── cliApp.ts
│   │   │       ├── cliConfig.ts
│   │   │       ├── command.ts
│   │   │       ├── commandDescriptor.ts
│   │   │       ├── commandDirective.ts
│   │   │       ├── configFile.ts
│   │   │       ├── files.ts
│   │   │       ├── helpDoc/
│   │   │       │   └── span.ts
│   │   │       ├── helpDoc.ts
│   │   │       ├── options.ts
│   │   │       ├── primitive.ts
│   │   │       ├── prompt/
│   │   │       │   ├── action.ts
│   │   │       │   ├── ansi-utils.ts
│   │   │       │   ├── confirm.ts
│   │   │       │   ├── date.ts
│   │   │       │   ├── file.ts
│   │   │       │   ├── list.ts
│   │   │       │   ├── multi-select.ts
│   │   │       │   ├── number.ts
│   │   │       │   ├── select.ts
│   │   │       │   ├── text.ts
│   │   │       │   ├── toggle.ts
│   │   │       │   └── utils.ts
│   │   │       ├── prompt.ts
│   │   │       ├── usage.ts
│   │   │       └── validationError.ts
│   │   ├── test/
│   │   │   ├── Args.test.ts
│   │   │   ├── AutoCorrect.test.ts
│   │   │   ├── CliApp.test.ts
│   │   │   ├── Command.test.ts
│   │   │   ├── CommandDescriptor.test.ts
│   │   │   ├── ConfigFile.test.ts
│   │   │   ├── Options.test.ts
│   │   │   ├── Primitive.test.ts
│   │   │   ├── Prompt.test.ts
│   │   │   ├── Wizard.test.ts
│   │   │   ├── fixtures/
│   │   │   │   ├── config-file.toml
│   │   │   │   ├── config.ini
│   │   │   │   ├── config.json
│   │   │   │   ├── config.toml
│   │   │   │   └── config.yaml
│   │   │   ├── services/
│   │   │   │   ├── MockConsole.ts
│   │   │   │   └── MockTerminal.ts
│   │   │   ├── snapshots/
│   │   │   │   ├── bash-completions
│   │   │   │   ├── fish-completions
│   │   │   │   ├── help-output/
│   │   │   │   │   ├── args-default-object
│   │   │   │   │   ├── args-default-primitive
│   │   │   │   │   ├── args-no-default
│   │   │   │   │   ├── options-default-object
│   │   │   │   │   ├── options-default-primitive
│   │   │   │   │   └── options-no-default
│   │   │   │   └── zsh-completions
│   │   │   └── utils/
│   │   │       ├── grep.ts
│   │   │       ├── tail.ts
│   │   │       └── wc.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── cluster/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── ClusterCron.ts
│   │   │   ├── ClusterError.ts
│   │   │   ├── ClusterMetrics.ts
│   │   │   ├── ClusterSchema.ts
│   │   │   ├── ClusterWorkflowEngine.ts
│   │   │   ├── DeliverAt.ts
│   │   │   ├── Entity.ts
│   │   │   ├── EntityAddress.ts
│   │   │   ├── EntityId.ts
│   │   │   ├── EntityProxy.ts
│   │   │   ├── EntityProxyServer.ts
│   │   │   ├── EntityResource.ts
│   │   │   ├── EntityType.ts
│   │   │   ├── Envelope.ts
│   │   │   ├── HttpRunner.ts
│   │   │   ├── K8sHttpClient.ts
│   │   │   ├── MachineId.ts
│   │   │   ├── Message.ts
│   │   │   ├── MessageStorage.ts
│   │   │   ├── Reply.ts
│   │   │   ├── Runner.ts
│   │   │   ├── RunnerAddress.ts
│   │   │   ├── RunnerHealth.ts
│   │   │   ├── RunnerServer.ts
│   │   │   ├── RunnerStorage.ts
│   │   │   ├── Runners.ts
│   │   │   ├── ShardId.ts
│   │   │   ├── Sharding.ts
│   │   │   ├── ShardingConfig.ts
│   │   │   ├── ShardingRegistrationEvent.ts
│   │   │   ├── SingleRunner.ts
│   │   │   ├── Singleton.ts
│   │   │   ├── SingletonAddress.ts
│   │   │   ├── Snowflake.ts
│   │   │   ├── SocketRunner.ts
│   │   │   ├── SqlMessageStorage.ts
│   │   │   ├── SqlRunnerStorage.ts
│   │   │   ├── TestRunner.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── entityManager.ts
│   │   │       ├── entityReaper.ts
│   │   │       ├── fiber.ts
│   │   │       ├── hash.ts
│   │   │       ├── interruptors.ts
│   │   │       ├── resourceMap.ts
│   │   │       └── resourceRef.ts
│   │   ├── test/
│   │   │   ├── ClusterWorkflowEngine.test.ts
│   │   │   ├── Entity.test.ts
│   │   │   ├── HttpRunner.test.ts
│   │   │   ├── MessageStorage.test.ts
│   │   │   ├── Sharding.test.ts
│   │   │   ├── SqlMessageStorage.test.ts
│   │   │   ├── SqlRunnerStorage.test.ts
│   │   │   └── TestEntity.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── effect/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── benchmark/
│   │   │   ├── SchemaArray.ts
│   │   │   ├── SchemaFilters.ts
│   │   │   ├── SchemaIndex.ts
│   │   │   ├── SchemaPropertyOrder.ts
│   │   │   ├── SchemaStruct.ts
│   │   │   ├── SchemaToString.ts
│   │   │   ├── SchemaTreeFormatter.ts
│   │   │   ├── SchemaTuple.ts
│   │   │   ├── SchemaUnion.ts
│   │   │   └── tsconfig.json
│   │   ├── docgen.json
│   │   ├── dtslint/
│   │   │   ├── Array.tst.ts
│   │   │   ├── Cause.tst.ts
│   │   │   ├── Chunk.tst.ts
│   │   │   ├── Config.tst.ts
│   │   │   ├── ConfigProvider.tst.ts
│   │   │   ├── Context.tst.ts
│   │   │   ├── Data.tst.ts
│   │   │   ├── DateTime.tst.ts
│   │   │   ├── Duration.tst.ts
│   │   │   ├── Effect.tst.ts
│   │   │   ├── Either.tst.ts
│   │   │   ├── Equal.tst.ts
│   │   │   ├── Exit.tst.ts
│   │   │   ├── Fiber.tst.ts
│   │   │   ├── Function.tst.ts
│   │   │   ├── HKT.tst.ts
│   │   │   ├── HashMap.tst.ts
│   │   │   ├── HashSet.tst.ts
│   │   │   ├── Layer.tst.ts
│   │   │   ├── List.tst.ts
│   │   │   ├── ManagedRuntime.tst.ts
│   │   │   ├── Match.tst.ts
│   │   │   ├── Micro.tst.ts
│   │   │   ├── Number.tst.ts
│   │   │   ├── Option.tst.ts
│   │   │   ├── ParseResult.tst.ts
│   │   │   ├── Predicate.tst.ts
│   │   │   ├── Random.tst.ts
│   │   │   ├── Record.tst.ts
│   │   │   ├── RedBlackTree.tst.ts
│   │   │   ├── Runtime.tst.ts
│   │   │   ├── Schedule.tst.ts
│   │   │   ├── Schema/
│   │   │   │   ├── Brand.tst.ts
│   │   │   │   ├── Context.tst.ts
│   │   │   │   ├── Generic.tst.ts
│   │   │   │   ├── PropertySignature.tst.ts
│   │   │   │   ├── Schema.tst.ts
│   │   │   │   ├── SchemaClass.tst.ts
│   │   │   │   ├── Serializable.tst.ts
│   │   │   │   ├── TaggedClass.tst.ts
│   │   │   │   ├── TaggedError.tst.ts
│   │   │   │   ├── TaggedRequest.tst.ts
│   │   │   │   └── Userland.tst.ts
│   │   │   ├── SchemaAST.tst.ts
│   │   │   ├── Sink.tst.ts
│   │   │   ├── SortedMap.tst.ts
│   │   │   ├── SortedSet.tst.ts
│   │   │   ├── Stream.tst.ts
│   │   │   ├── String.tst.ts
│   │   │   ├── Struct.tst.ts
│   │   │   ├── TMap.tst.ts
│   │   │   ├── TSet.tst.ts
│   │   │   ├── Tuple.tst.ts
│   │   │   ├── Types.tst.ts
│   │   │   ├── Unify.tst.ts
│   │   │   └── tsconfig.json
│   │   ├── package.json
│   │   ├── schema-vs-zod.md
│   │   ├── src/
│   │   │   ├── .index.ts
│   │   │   ├── Arbitrary.ts
│   │   │   ├── Array.ts
│   │   │   ├── BigDecimal.ts
│   │   │   ├── BigInt.ts
│   │   │   ├── Boolean.ts
│   │   │   ├── Brand.ts
│   │   │   ├── Cache.ts
│   │   │   ├── Cause.ts
│   │   │   ├── Channel.ts
│   │   │   ├── ChildExecutorDecision.ts
│   │   │   ├── Chunk.ts
│   │   │   ├── Clock.ts
│   │   │   ├── Config.ts
│   │   │   ├── ConfigError.ts
│   │   │   ├── ConfigProvider.ts
│   │   │   ├── ConfigProviderPathPatch.ts
│   │   │   ├── Console.ts
│   │   │   ├── Context.ts
│   │   │   ├── Cron.ts
│   │   │   ├── Data.ts
│   │   │   ├── DateTime.ts
│   │   │   ├── DefaultServices.ts
│   │   │   ├── Deferred.ts
│   │   │   ├── Differ.ts
│   │   │   ├── Duration.ts
│   │   │   ├── Effect.ts
│   │   │   ├── Effectable.ts
│   │   │   ├── Either.ts
│   │   │   ├── Encoding.ts
│   │   │   ├── Equal.ts
│   │   │   ├── Equivalence.ts
│   │   │   ├── ExecutionPlan.ts
│   │   │   ├── ExecutionStrategy.ts
│   │   │   ├── Exit.ts
│   │   │   ├── FastCheck.ts
│   │   │   ├── Fiber.ts
│   │   │   ├── FiberHandle.ts
│   │   │   ├── FiberId.ts
│   │   │   ├── FiberMap.ts
│   │   │   ├── FiberRef.ts
│   │   │   ├── FiberRefs.ts
│   │   │   ├── FiberRefsPatch.ts
│   │   │   ├── FiberSet.ts
│   │   │   ├── FiberStatus.ts
│   │   │   ├── Function.ts
│   │   │   ├── GlobalValue.ts
│   │   │   ├── Graph.ts
│   │   │   ├── GroupBy.ts
│   │   │   ├── HKT.ts
│   │   │   ├── Hash.ts
│   │   │   ├── HashMap.ts
│   │   │   ├── HashRing.ts
│   │   │   ├── HashSet.ts
│   │   │   ├── Inspectable.ts
│   │   │   ├── Iterable.ts
│   │   │   ├── JSONSchema.ts
│   │   │   ├── KeyedPool.ts
│   │   │   ├── Layer.ts
│   │   │   ├── LayerMap.ts
│   │   │   ├── List.ts
│   │   │   ├── LogLevel.ts
│   │   │   ├── LogSpan.ts
│   │   │   ├── Logger.ts
│   │   │   ├── Mailbox.ts
│   │   │   ├── ManagedRuntime.ts
│   │   │   ├── Match.ts
│   │   │   ├── MergeDecision.ts
│   │   │   ├── MergeState.ts
│   │   │   ├── MergeStrategy.ts
│   │   │   ├── Metric.ts
│   │   │   ├── MetricBoundaries.ts
│   │   │   ├── MetricHook.ts
│   │   │   ├── MetricKey.ts
│   │   │   ├── MetricKeyType.ts
│   │   │   ├── MetricLabel.ts
│   │   │   ├── MetricPair.ts
│   │   │   ├── MetricPolling.ts
│   │   │   ├── MetricRegistry.ts
│   │   │   ├── MetricState.ts
│   │   │   ├── Micro.ts
│   │   │   ├── ModuleVersion.ts
│   │   │   ├── MutableHashMap.ts
│   │   │   ├── MutableHashSet.ts
│   │   │   ├── MutableList.ts
│   │   │   ├── MutableQueue.ts
│   │   │   ├── MutableRef.ts
│   │   │   ├── NonEmptyIterable.ts
│   │   │   ├── Number.ts
│   │   │   ├── Option.ts
│   │   │   ├── Order.ts
│   │   │   ├── Ordering.ts
│   │   │   ├── ParseResult.ts
│   │   │   ├── PartitionedSemaphore.ts
│   │   │   ├── Pipeable.ts
│   │   │   ├── Pool.ts
│   │   │   ├── Predicate.ts
│   │   │   ├── Pretty.ts
│   │   │   ├── PrimaryKey.ts
│   │   │   ├── PubSub.ts
│   │   │   ├── Queue.ts
│   │   │   ├── Random.ts
│   │   │   ├── RateLimiter.ts
│   │   │   ├── RcMap.ts
│   │   │   ├── RcRef.ts
│   │   │   ├── Readable.ts
│   │   │   ├── Record.ts
│   │   │   ├── RedBlackTree.ts
│   │   │   ├── Redacted.ts
│   │   │   ├── Ref.ts
│   │   │   ├── RegExp.ts
│   │   │   ├── Reloadable.ts
│   │   │   ├── Request.ts
│   │   │   ├── RequestBlock.ts
│   │   │   ├── RequestResolver.ts
│   │   │   ├── Resource.ts
│   │   │   ├── Runtime.ts
│   │   │   ├── RuntimeFlags.ts
│   │   │   ├── RuntimeFlagsPatch.ts
│   │   │   ├── STM.ts
│   │   │   ├── Schedule.ts
│   │   │   ├── ScheduleDecision.ts
│   │   │   ├── ScheduleInterval.ts
│   │   │   ├── ScheduleIntervals.ts
│   │   │   ├── Scheduler.ts
│   │   │   ├── Schema.ts
│   │   │   ├── SchemaAST.ts
│   │   │   ├── Scope.ts
│   │   │   ├── ScopedCache.ts
│   │   │   ├── ScopedRef.ts
│   │   │   ├── Secret.ts
│   │   │   ├── SingleProducerAsyncInput.ts
│   │   │   ├── Sink.ts
│   │   │   ├── SortedMap.ts
│   │   │   ├── SortedSet.ts
│   │   │   ├── Stream.ts
│   │   │   ├── StreamEmit.ts
│   │   │   ├── StreamHaltStrategy.ts
│   │   │   ├── Streamable.ts
│   │   │   ├── String.ts
│   │   │   ├── Struct.ts
│   │   │   ├── Subscribable.ts
│   │   │   ├── SubscriptionRef.ts
│   │   │   ├── Supervisor.ts
│   │   │   ├── Symbol.ts
│   │   │   ├── SynchronizedRef.ts
│   │   │   ├── TArray.ts
│   │   │   ├── TDeferred.ts
│   │   │   ├── TMap.ts
│   │   │   ├── TPriorityQueue.ts
│   │   │   ├── TPubSub.ts
│   │   │   ├── TQueue.ts
│   │   │   ├── TRandom.ts
│   │   │   ├── TReentrantLock.ts
│   │   │   ├── TRef.ts
│   │   │   ├── TSemaphore.ts
│   │   │   ├── TSet.ts
│   │   │   ├── TSubscriptionRef.ts
│   │   │   ├── Take.ts
│   │   │   ├── TestAnnotation.ts
│   │   │   ├── TestAnnotationMap.ts
│   │   │   ├── TestAnnotations.ts
│   │   │   ├── TestClock.ts
│   │   │   ├── TestConfig.ts
│   │   │   ├── TestContext.ts
│   │   │   ├── TestLive.ts
│   │   │   ├── TestServices.ts
│   │   │   ├── TestSized.ts
│   │   │   ├── Tracer.ts
│   │   │   ├── Trie.ts
│   │   │   ├── Tuple.ts
│   │   │   ├── Types.ts
│   │   │   ├── Unify.ts
│   │   │   ├── UpstreamPullRequest.ts
│   │   │   ├── UpstreamPullStrategy.ts
│   │   │   ├── Utils.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── array.ts
│   │   │       ├── blockedRequests.ts
│   │   │       ├── cache.ts
│   │   │       ├── cause.ts
│   │   │       ├── channel/
│   │   │       │   ├── channelExecutor.ts
│   │   │       │   ├── channelState.ts
│   │   │       │   ├── childExecutorDecision.ts
│   │   │       │   ├── continuation.ts
│   │   │       │   ├── mergeDecision.ts
│   │   │       │   ├── mergeState.ts
│   │   │       │   ├── mergeStrategy.ts
│   │   │       │   ├── singleProducerAsyncInput.ts
│   │   │       │   ├── subexecutor.ts
│   │   │       │   ├── upstreamPullRequest.ts
│   │   │       │   └── upstreamPullStrategy.ts
│   │   │       ├── channel.ts
│   │   │       ├── clock.ts
│   │   │       ├── completedRequestMap.ts
│   │   │       ├── concurrency.ts
│   │   │       ├── config.ts
│   │   │       ├── configError.ts
│   │   │       ├── configProvider/
│   │   │       │   └── pathPatch.ts
│   │   │       ├── configProvider.ts
│   │   │       ├── console.ts
│   │   │       ├── context.ts
│   │   │       ├── core-effect.ts
│   │   │       ├── core-stream.ts
│   │   │       ├── core.ts
│   │   │       ├── data.ts
│   │   │       ├── dataSource.ts
│   │   │       ├── dateTime.ts
│   │   │       ├── defaultServices/
│   │   │       │   └── console.ts
│   │   │       ├── defaultServices.ts
│   │   │       ├── deferred.ts
│   │   │       ├── differ/
│   │   │       │   ├── chunkPatch.ts
│   │   │       │   ├── contextPatch.ts
│   │   │       │   ├── hashMapPatch.ts
│   │   │       │   ├── hashSetPatch.ts
│   │   │       │   ├── orPatch.ts
│   │   │       │   └── readonlyArrayPatch.ts
│   │   │       ├── differ.ts
│   │   │       ├── doNotation.ts
│   │   │       ├── effect/
│   │   │       │   └── circular.ts
│   │   │       ├── effectable.ts
│   │   │       ├── either.ts
│   │   │       ├── encoding/
│   │   │       │   ├── base64.ts
│   │   │       │   ├── base64Url.ts
│   │   │       │   ├── common.ts
│   │   │       │   └── hex.ts
│   │   │       ├── errors.ts
│   │   │       ├── executionPlan.ts
│   │   │       ├── executionStrategy.ts
│   │   │       ├── fiber.ts
│   │   │       ├── fiberId.ts
│   │   │       ├── fiberMessage.ts
│   │   │       ├── fiberRefs/
│   │   │       │   └── patch.ts
│   │   │       ├── fiberRefs.ts
│   │   │       ├── fiberRuntime.ts
│   │   │       ├── fiberScope.ts
│   │   │       ├── fiberStatus.ts
│   │   │       ├── groupBy.ts
│   │   │       ├── hashMap/
│   │   │       │   ├── array.ts
│   │   │       │   ├── bitwise.ts
│   │   │       │   ├── config.ts
│   │   │       │   ├── keySet.ts
│   │   │       │   └── node.ts
│   │   │       ├── hashMap.ts
│   │   │       ├── hashSet.ts
│   │   │       ├── keyedPool.ts
│   │   │       ├── layer/
│   │   │       │   └── circular.ts
│   │   │       ├── layer.ts
│   │   │       ├── logSpan.ts
│   │   │       ├── logger-circular.ts
│   │   │       ├── logger.ts
│   │   │       ├── mailbox.ts
│   │   │       ├── managedRuntime/
│   │   │       │   └── circular.ts
│   │   │       ├── managedRuntime.ts
│   │   │       ├── matcher.ts
│   │   │       ├── metric/
│   │   │       │   ├── boundaries.ts
│   │   │       │   ├── hook.ts
│   │   │       │   ├── key.ts
│   │   │       │   ├── keyType.ts
│   │   │       │   ├── label.ts
│   │   │       │   ├── pair.ts
│   │   │       │   ├── polling.ts
│   │   │       │   ├── registry.ts
│   │   │       │   └── state.ts
│   │   │       ├── metric.ts
│   │   │       ├── opCodes/
│   │   │       │   ├── cause.ts
│   │   │       │   ├── channel.ts
│   │   │       │   ├── channelChildExecutorDecision.ts
│   │   │       │   ├── channelMergeDecision.ts
│   │   │       │   ├── channelMergeState.ts
│   │   │       │   ├── channelMergeStrategy.ts
│   │   │       │   ├── channelState.ts
│   │   │       │   ├── channelUpstreamPullRequest.ts
│   │   │       │   ├── channelUpstreamPullStrategy.ts
│   │   │       │   ├── config.ts
│   │   │       │   ├── configError.ts
│   │   │       │   ├── continuation.ts
│   │   │       │   ├── deferred.ts
│   │   │       │   ├── effect.ts
│   │   │       │   ├── layer.ts
│   │   │       │   └── streamHaltStrategy.ts
│   │   │       ├── option.ts
│   │   │       ├── pool.ts
│   │   │       ├── pubsub.ts
│   │   │       ├── query.ts
│   │   │       ├── queue.ts
│   │   │       ├── random.ts
│   │   │       ├── rateLimiter.ts
│   │   │       ├── rcMap.ts
│   │   │       ├── rcRef.ts
│   │   │       ├── redBlackTree/
│   │   │       │   ├── iterator.ts
│   │   │       │   └── node.ts
│   │   │       ├── redBlackTree.ts
│   │   │       ├── redacted.ts
│   │   │       ├── ref.ts
│   │   │       ├── reloadable.ts
│   │   │       ├── request.ts
│   │   │       ├── resource.ts
│   │   │       ├── ringBuffer.ts
│   │   │       ├── runtime.ts
│   │   │       ├── runtimeFlags.ts
│   │   │       ├── runtimeFlagsPatch.ts
│   │   │       ├── schedule/
│   │   │       │   ├── decision.ts
│   │   │       │   ├── interval.ts
│   │   │       │   └── intervals.ts
│   │   │       ├── schedule.ts
│   │   │       ├── schema/
│   │   │       │   ├── errors.ts
│   │   │       │   ├── schemaId.ts
│   │   │       │   └── util.ts
│   │   │       ├── scopedCache.ts
│   │   │       ├── scopedRef.ts
│   │   │       ├── secret.ts
│   │   │       ├── singleShotGen.ts
│   │   │       ├── sink.ts
│   │   │       ├── stack.ts
│   │   │       ├── stm/
│   │   │       │   ├── core.ts
│   │   │       │   ├── entry.ts
│   │   │       │   ├── journal.ts
│   │   │       │   ├── opCodes/
│   │   │       │   │   ├── stm.ts
│   │   │       │   │   ├── stmState.ts
│   │   │       │   │   ├── strategy.ts
│   │   │       │   │   ├── tExit.ts
│   │   │       │   │   └── tryCommit.ts
│   │   │       │   ├── stm.ts
│   │   │       │   ├── stmState.ts
│   │   │       │   ├── tArray.ts
│   │   │       │   ├── tDeferred.ts
│   │   │       │   ├── tExit.ts
│   │   │       │   ├── tMap.ts
│   │   │       │   ├── tPriorityQueue.ts
│   │   │       │   ├── tPubSub.ts
│   │   │       │   ├── tQueue.ts
│   │   │       │   ├── tRandom.ts
│   │   │       │   ├── tReentrantLock.ts
│   │   │       │   ├── tRef.ts
│   │   │       │   ├── tSemaphore.ts
│   │   │       │   ├── tSet.ts
│   │   │       │   ├── tSubscriptionRef.ts
│   │   │       │   ├── tryCommit.ts
│   │   │       │   ├── txnId.ts
│   │   │       │   └── versioned.ts
│   │   │       ├── stream/
│   │   │       │   ├── debounceState.ts
│   │   │       │   ├── emit.ts
│   │   │       │   ├── haltStrategy.ts
│   │   │       │   ├── handoff.ts
│   │   │       │   ├── handoffSignal.ts
│   │   │       │   ├── pull.ts
│   │   │       │   ├── sinkEndReason.ts
│   │   │       │   ├── zipAllState.ts
│   │   │       │   └── zipChunksState.ts
│   │   │       ├── stream.ts
│   │   │       ├── string-utils.ts
│   │   │       ├── subscriptionRef.ts
│   │   │       ├── supervisor/
│   │   │       │   └── patch.ts
│   │   │       ├── supervisor.ts
│   │   │       ├── synchronizedRef.ts
│   │   │       ├── take.ts
│   │   │       ├── testing/
│   │   │       │   ├── sleep.ts
│   │   │       │   ├── suspendedWarningData.ts
│   │   │       │   └── warningData.ts
│   │   │       ├── tracer.ts
│   │   │       ├── trie.ts
│   │   │       └── version.ts
│   │   ├── test/
│   │   │   ├── Array.test.ts
│   │   │   ├── BigDecimal.test.ts
│   │   │   ├── BigInt.test.ts
│   │   │   ├── Boolean.test.ts
│   │   │   ├── Brand.test.ts
│   │   │   ├── Cache.test.ts
│   │   │   ├── Cause.test.ts
│   │   │   ├── Channel/
│   │   │   │   ├── constructors.test.ts
│   │   │   │   ├── environment.test.ts
│   │   │   │   ├── error-handling.test.ts
│   │   │   │   ├── finalization.test.ts
│   │   │   │   ├── foreign.test.ts
│   │   │   │   ├── interruption.test.ts
│   │   │   │   ├── mapping.test.ts
│   │   │   │   ├── merging.test.ts
│   │   │   │   ├── reading.test.ts
│   │   │   │   ├── scoping.test.ts
│   │   │   │   ├── sequencing.test.ts
│   │   │   │   └── stack-safety.test.ts
│   │   │   ├── Chunk.test.ts
│   │   │   ├── Config.test.ts
│   │   │   ├── ConfigProvider.test.ts
│   │   │   ├── Context.test.ts
│   │   │   ├── Cron.test.ts
│   │   │   ├── Data.test.ts
│   │   │   ├── DateTime.test.ts
│   │   │   ├── Deferred.test.ts
│   │   │   ├── Differ.test.ts
│   │   │   ├── Duration.test.ts
│   │   │   ├── Effect/
│   │   │   │   ├── acquire-release.test.ts
│   │   │   │   ├── applicative.test.ts
│   │   │   │   ├── async.test.ts
│   │   │   │   ├── caching.test.ts
│   │   │   │   ├── cause-rendering.test.ts
│   │   │   │   ├── collecting.test.ts
│   │   │   │   ├── concurrency.test.ts
│   │   │   │   ├── constructors.test.ts
│   │   │   │   ├── destructors.test.ts
│   │   │   │   ├── do-notation.test.ts
│   │   │   │   ├── environment.test.ts
│   │   │   │   ├── error-handling.test.ts
│   │   │   │   ├── error.test.ts
│   │   │   │   ├── filtering.test.ts
│   │   │   │   ├── finalization.test.ts
│   │   │   │   ├── fn.test.ts
│   │   │   │   ├── foreign.test.ts
│   │   │   │   ├── forking.test.ts
│   │   │   │   ├── interruption.test.ts
│   │   │   │   ├── join-order.test.ts
│   │   │   │   ├── latch.test.ts
│   │   │   │   ├── lifting.test.ts
│   │   │   │   ├── mapping.test.ts
│   │   │   │   ├── memoization.test.ts
│   │   │   │   ├── optional-wrapping-unwrapping.test.ts
│   │   │   │   ├── promise.test.ts
│   │   │   │   ├── provide-runtime.test.ts
│   │   │   │   ├── query-deadlock.test.ts
│   │   │   │   ├── query-nested.test.ts
│   │   │   │   ├── query-repro.test.ts
│   │   │   │   ├── query.test.ts
│   │   │   │   ├── racing.test.ts
│   │   │   │   ├── rendezvous.test.ts
│   │   │   │   ├── repeating.test.ts
│   │   │   │   ├── retrying.test.ts
│   │   │   │   ├── runtimeFlags.test.ts
│   │   │   │   ├── scheduler.test.ts
│   │   │   │   ├── scheduling.test.ts
│   │   │   │   ├── scope-ref.test.ts
│   │   │   │   ├── semaphore.test.ts
│   │   │   │   ├── sequencing.test.ts
│   │   │   │   ├── service.test.ts
│   │   │   │   ├── stack-safety.test.ts
│   │   │   │   ├── structural.test.ts
│   │   │   │   ├── sync.test.ts
│   │   │   │   ├── tapping.test.ts
│   │   │   │   ├── timeout.test.ts
│   │   │   │   ├── traversing.test.ts
│   │   │   │   ├── tryPromise.test.ts
│   │   │   │   └── validation.test.ts
│   │   │   ├── Either.test.ts
│   │   │   ├── Encoding.test.ts
│   │   │   ├── Equal.test.ts
│   │   │   ├── Equivalence.test.ts
│   │   │   ├── ExecutionPlan.test.ts
│   │   │   ├── Exit.test.ts
│   │   │   ├── Fiber.test.ts
│   │   │   ├── FiberHandle.test.ts
│   │   │   ├── FiberMap.test.ts
│   │   │   ├── FiberRef.test.ts
│   │   │   ├── FiberRefs.test.ts
│   │   │   ├── FiberSet.test.ts
│   │   │   ├── Function.test.ts
│   │   │   ├── GlobalValue.test.ts
│   │   │   ├── Graph.test.ts
│   │   │   ├── Hash.test.ts
│   │   │   ├── HashMap.test.ts
│   │   │   ├── HashSet.test.ts
│   │   │   ├── Inspectable.test.ts
│   │   │   ├── Iterable.test.ts
│   │   │   ├── KeyedPool.test.ts
│   │   │   ├── Layer.test.ts
│   │   │   ├── List.test.ts
│   │   │   ├── LogLevel.test.ts
│   │   │   ├── Logger.test.ts
│   │   │   ├── Mailbox.test.ts
│   │   │   ├── ManagedRuntime.test.ts
│   │   │   ├── Match.test.ts
│   │   │   ├── Metric.test.ts
│   │   │   ├── Micro.test.ts
│   │   │   ├── MutableHashMap.test.ts
│   │   │   ├── MutableHashSet.test.ts
│   │   │   ├── MutableList.test.ts
│   │   │   ├── MutableQueue.test.ts
│   │   │   ├── MutableRef.test.ts
│   │   │   ├── NonEmptyIterable.test.ts
│   │   │   ├── Number.test.ts
│   │   │   ├── Option.test.ts
│   │   │   ├── Order.test.ts
│   │   │   ├── Ordering.test.ts
│   │   │   ├── PartitionedSemaphore.test.ts
│   │   │   ├── Pipeable.test.ts
│   │   │   ├── Pool.test.ts
│   │   │   ├── Predicate.test.ts
│   │   │   ├── PubSub.test.ts
│   │   │   ├── Queue.test.ts
│   │   │   ├── Random.test.ts
│   │   │   ├── RateLimiter.test.ts
│   │   │   ├── RcMap.test.ts
│   │   │   ├── RcRef.test.ts
│   │   │   ├── Record.test.ts
│   │   │   ├── RedBlackTree.test.ts
│   │   │   ├── Redacted.test.ts
│   │   │   ├── Ref.test.ts
│   │   │   ├── RegExp.test.ts
│   │   │   ├── Reloadable.test.ts
│   │   │   ├── Resource.test.ts
│   │   │   ├── Runtime.test.ts
│   │   │   ├── RuntimeFlags.test.ts
│   │   │   ├── STM.test.ts
│   │   │   ├── Schedule.test.ts
│   │   │   ├── Schema/
│   │   │   │   ├── Arbitrary/
│   │   │   │   │   ├── Arbitrary.test.ts
│   │   │   │   │   └── Class.test.ts
│   │   │   │   ├── JSONSchema.new.test.ts
│   │   │   │   ├── JSONSchema.test.ts
│   │   │   │   ├── ParseResult.test.ts
│   │   │   │   ├── ParseResultEffectful.test.ts
│   │   │   │   ├── ParseResultFormatter.test.ts
│   │   │   │   ├── Pretty.test.ts
│   │   │   │   ├── Schema/
│   │   │   │   │   ├── Any/
│   │   │   │   │   │   └── Any.test.ts
│   │   │   │   │   ├── Array/
│   │   │   │   │   │   ├── Array.test.ts
│   │   │   │   │   │   ├── head.test.ts
│   │   │   │   │   │   ├── headNonEmpty.test.ts
│   │   │   │   │   │   ├── headOrElse.test.ts
│   │   │   │   │   │   ├── itemsCount.test.ts
│   │   │   │   │   │   ├── maxItems.test.ts
│   │   │   │   │   │   └── minItems.test.ts
│   │   │   │   │   ├── ArrayEnsure.test.ts
│   │   │   │   │   ├── ArrayFormatterIssue/
│   │   │   │   │   │   └── ArrayFormatterIssue.test.ts
│   │   │   │   │   ├── BigDecimal/
│   │   │   │   │   │   ├── BigDecimal.test.ts
│   │   │   │   │   │   ├── BigDecimalFromNumber.test.ts
│   │   │   │   │   │   ├── BigDecimalFromSelf.test.ts
│   │   │   │   │   │   ├── NegativeBigDecimalFromSelf.test.ts
│   │   │   │   │   │   ├── NonNegativeBigDecimalFromSelf.test.ts
│   │   │   │   │   │   ├── NonPositiveBigDecimalFromSelf.test.ts
│   │   │   │   │   │   ├── PositiveBigDecimalFromSelf.test.ts
│   │   │   │   │   │   ├── betweenBigDecimal.test.ts
│   │   │   │   │   │   ├── clampBigDecimal.test.ts
│   │   │   │   │   │   ├── greaterThanBigDecimal.test.ts
│   │   │   │   │   │   ├── greaterThanOrEqualToBigDecimal.test.ts
│   │   │   │   │   │   ├── lessThanBigDecimal.test.ts
│   │   │   │   │   │   └── lessThanOrEqualToBigDecimal.test.ts
│   │   │   │   │   ├── BigInt/
│   │   │   │   │   │   ├── BigInt.test.ts
│   │   │   │   │   │   ├── BigIntFromNumber.test.ts
│   │   │   │   │   │   ├── BigIntFromSelf.test.ts
│   │   │   │   │   │   ├── NegativeBigIntFromSelf.test.ts
│   │   │   │   │   │   ├── NonNegativeBigIntFromSelf.test.ts
│   │   │   │   │   │   ├── NonPositiveBigIntFromSelf.test.ts
│   │   │   │   │   │   ├── PositiveBigIntFromSelf.test.ts
│   │   │   │   │   │   ├── betweenBigInt.test.ts
│   │   │   │   │   │   ├── clampBigInt.test.ts
│   │   │   │   │   │   ├── greaterThanBigInt.test.ts
│   │   │   │   │   │   ├── greaterThanOrEqualToBigInt.test.ts
│   │   │   │   │   │   ├── lessThanBigInt.test.ts
│   │   │   │   │   │   └── lessThanOrEqualToBigInt.test.ts
│   │   │   │   │   ├── Boolean/
│   │   │   │   │   │   ├── Boolean.test.ts
│   │   │   │   │   │   ├── BooleanFromString.test.ts
│   │   │   │   │   │   ├── BooleanFromUnknown.test.ts
│   │   │   │   │   │   └── Not.test.ts
│   │   │   │   │   ├── Cause/
│   │   │   │   │   │   ├── Cause.test.ts
│   │   │   │   │   │   └── CauseFromSelf.test.ts
│   │   │   │   │   ├── Chunk/
│   │   │   │   │   │   ├── Chunk.test.ts
│   │   │   │   │   │   ├── ChunkFromSelf.test.ts
│   │   │   │   │   │   ├── NonEmptyChunk.test.ts
│   │   │   │   │   │   └── NonEmptyChunkFromSelf.test.ts
│   │   │   │   │   ├── Class/
│   │   │   │   │   │   ├── Class.test.ts
│   │   │   │   │   │   ├── TaggedClass.test.ts
│   │   │   │   │   │   ├── TaggedError.test.ts
│   │   │   │   │   │   ├── TaggedRequest.test.ts
│   │   │   │   │   │   ├── extend.test.ts
│   │   │   │   │   │   ├── transformOrFail.test.ts
│   │   │   │   │   │   └── transformOrFailFrom.test.ts
│   │   │   │   │   ├── Config/
│   │   │   │   │   │   └── Config.test.ts
│   │   │   │   │   ├── Data/
│   │   │   │   │   │   ├── Data.test.ts
│   │   │   │   │   │   └── DataFromSelf.test.ts
│   │   │   │   │   ├── Date/
│   │   │   │   │   │   ├── Date.test.ts
│   │   │   │   │   │   ├── DateFromNumber.test.ts
│   │   │   │   │   │   ├── DateFromSelf.test.ts
│   │   │   │   │   │   ├── betweenDate.test.ts
│   │   │   │   │   │   ├── greaterThanDate.test.ts
│   │   │   │   │   │   ├── greaterThanOrEqualToDate.test.ts
│   │   │   │   │   │   ├── lessThanDate.test.ts
│   │   │   │   │   │   └── lessThanOrEqualToDate.test.ts
│   │   │   │   │   ├── DateTime/
│   │   │   │   │   │   ├── DateTimeUtc.test.ts
│   │   │   │   │   │   ├── DateTimeUtcFromDate.test.ts
│   │   │   │   │   │   ├── DateTimeUtcFromNumber.test.ts
│   │   │   │   │   │   ├── DateTimeUtcFromSelf.test.ts
│   │   │   │   │   │   ├── DateTimeZoned.test.ts
│   │   │   │   │   │   ├── DateTimeZonedFromSelf.test.ts
│   │   │   │   │   │   ├── TimeZone.test.ts
│   │   │   │   │   │   ├── TimeZoneFromSelf.test.ts
│   │   │   │   │   │   ├── TimeZoneNamed.test.ts
│   │   │   │   │   │   ├── TimeZoneNamedFromSelf.test.ts
│   │   │   │   │   │   ├── TimeZoneOffset.test.ts
│   │   │   │   │   │   └── TimeZoneOffsetFromSelf.test.ts
│   │   │   │   │   ├── DecodingFallbackAnnotation.test.ts
│   │   │   │   │   ├── Defect/
│   │   │   │   │   │   └── Defect.test.ts
│   │   │   │   │   ├── Duration/
│   │   │   │   │   │   ├── Duration.test.ts
│   │   │   │   │   │   ├── DurationFromMillis.test.ts
│   │   │   │   │   │   ├── DurationFromNanos.test.ts
│   │   │   │   │   │   ├── DurationFromSelf.test.ts
│   │   │   │   │   │   ├── betweenDuration.test.ts
│   │   │   │   │   │   ├── clampDuration.test.ts
│   │   │   │   │   │   ├── greaterThanDuration.test.ts
│   │   │   │   │   │   ├── greaterThanOrEqualToDuration.test.ts
│   │   │   │   │   │   ├── lessThanDuration.test.ts
│   │   │   │   │   │   └── lessThanOrEqualToDuration.test.ts
│   │   │   │   │   ├── Either/
│   │   │   │   │   │   ├── Either.test.ts
│   │   │   │   │   │   ├── EitherFromSelf.test.ts
│   │   │   │   │   │   └── EitherFromUnion.test.ts
│   │   │   │   │   ├── Enums/
│   │   │   │   │   │   └── Enums.test.ts
│   │   │   │   │   ├── Exit/
│   │   │   │   │   │   ├── Exit.test.ts
│   │   │   │   │   │   └── ExitFromSelf.test.ts
│   │   │   │   │   ├── FiberId/
│   │   │   │   │   │   ├── FiberId.test.ts
│   │   │   │   │   │   └── FiberIdFromSelf.test.ts
│   │   │   │   │   ├── HashMap/
│   │   │   │   │   │   ├── HashMap.test.ts
│   │   │   │   │   │   └── HashMapFromSelf.test.ts
│   │   │   │   │   ├── HashSet/
│   │   │   │   │   │   ├── HashSet.test.ts
│   │   │   │   │   │   └── HashSetFromSelf.test.ts
│   │   │   │   │   ├── List/
│   │   │   │   │   │   ├── List.test.ts
│   │   │   │   │   │   └── ListFromSelf.test.ts
│   │   │   │   │   ├── Literal/
│   │   │   │   │   │   └── Literal.test.ts
│   │   │   │   │   ├── Map/
│   │   │   │   │   │   ├── Map.test.ts
│   │   │   │   │   │   ├── MapFromRecord.test.ts
│   │   │   │   │   │   └── MapFromSelf.test.ts
│   │   │   │   │   ├── Never/
│   │   │   │   │   │   └── Never.test.ts
│   │   │   │   │   ├── NonEmptyArrayEnsure.test.ts
│   │   │   │   │   ├── Number/
│   │   │   │   │   │   ├── JsonNumber.test.ts
│   │   │   │   │   │   ├── Number.test.ts
│   │   │   │   │   │   ├── between.test.ts
│   │   │   │   │   │   ├── clamp.test.ts
│   │   │   │   │   │   ├── finite.test.ts
│   │   │   │   │   │   ├── greaterThan.test.ts
│   │   │   │   │   │   ├── greaterThanOrEqualTo.test.ts
│   │   │   │   │   │   ├── int.test.ts
│   │   │   │   │   │   ├── lessThan.test.ts
│   │   │   │   │   │   ├── lessThanOrEqualTo.test.ts
│   │   │   │   │   │   ├── multipleOf.test.ts
│   │   │   │   │   │   ├── negative.test.ts
│   │   │   │   │   │   ├── nonNaN.test.ts
│   │   │   │   │   │   ├── nonNegative.test.ts
│   │   │   │   │   │   ├── nonPositive.test.ts
│   │   │   │   │   │   ├── numberFromString.test.ts
│   │   │   │   │   │   └── positive.test.ts
│   │   │   │   │   ├── Object/
│   │   │   │   │   │   └── Object.test.ts
│   │   │   │   │   ├── Option/
│   │   │   │   │   │   ├── Option.test.ts
│   │   │   │   │   │   ├── OptionFromNonEmptyTrimmedString.test.ts
│   │   │   │   │   │   ├── OptionFromNullOr.test.ts
│   │   │   │   │   │   ├── OptionFromNullishOr.test.ts
│   │   │   │   │   │   ├── OptionFromSelf.test.ts
│   │   │   │   │   │   └── OptionFromUndefinedOr.test.ts
│   │   │   │   │   ├── ParseOptions-errors.test.ts
│   │   │   │   │   ├── ParseOptions-exact.test.ts
│   │   │   │   │   ├── ParseOptions-onExcessProperty.test.ts
│   │   │   │   │   ├── ParseOptions-preserveKeyOrder.test.ts
│   │   │   │   │   ├── ParseOptionsAnnotation.test.ts
│   │   │   │   │   ├── PropertyKey/
│   │   │   │   │   │   └── PropertyKey.test.ts
│   │   │   │   │   ├── PropertySignature.test.ts
│   │   │   │   │   ├── ReadonlyMap/
│   │   │   │   │   │   ├── ReadonlyMap.test.ts
│   │   │   │   │   │   ├── ReadonlyMapFromRecord.test.ts
│   │   │   │   │   │   └── ReadonlyMapFromSelf.test.ts
│   │   │   │   │   ├── ReadonlySet/
│   │   │   │   │   │   ├── ReadonlySet.test.ts
│   │   │   │   │   │   └── ReadonlySetFromSelf.test.ts
│   │   │   │   │   ├── Record/
│   │   │   │   │   │   └── Record.test.ts
│   │   │   │   │   ├── Redacted/
│   │   │   │   │   │   ├── Redacted.test.ts
│   │   │   │   │   │   └── RedactedFromSelf.test.ts
│   │   │   │   │   ├── Set/
│   │   │   │   │   │   ├── Set.test.ts
│   │   │   │   │   │   └── SetFromSelf.test.ts
│   │   │   │   │   ├── SortedSet/
│   │   │   │   │   │   ├── SortedSet.test.ts
│   │   │   │   │   │   └── SortedSetFromSelf.test.ts
│   │   │   │   │   ├── String/
│   │   │   │   │   │   ├── NonEmptyTrimmedString.test.ts
│   │   │   │   │   │   ├── String.test.ts
│   │   │   │   │   │   ├── StringFromBase64.test.ts
│   │   │   │   │   │   ├── StringFromBase64Url.test.ts
│   │   │   │   │   │   ├── StringFromHex.test.ts
│   │   │   │   │   │   ├── StringFromUriComponent.test.ts
│   │   │   │   │   │   ├── capitalize.test.ts
│   │   │   │   │   │   ├── endsWith.test.ts
│   │   │   │   │   │   ├── includes.test.ts
│   │   │   │   │   │   ├── length.test.ts
│   │   │   │   │   │   ├── lowercase.test.ts
│   │   │   │   │   │   ├── maxLength.test.ts
│   │   │   │   │   │   ├── minLength.test.ts
│   │   │   │   │   │   ├── nonEmptyString.test.ts
│   │   │   │   │   │   ├── pattern.test.ts
│   │   │   │   │   │   ├── split.test.ts
│   │   │   │   │   │   ├── startsWith.test.ts
│   │   │   │   │   │   ├── trim.test.ts
│   │   │   │   │   │   ├── uncapitalize.test.ts
│   │   │   │   │   │   └── uppercase.test.ts
│   │   │   │   │   ├── Struct/
│   │   │   │   │   │   ├── Struct.test.ts
│   │   │   │   │   │   ├── make.test.ts
│   │   │   │   │   │   ├── omit.test.ts
│   │   │   │   │   │   └── pick.test.ts
│   │   │   │   │   ├── Symbol/
│   │   │   │   │   │   ├── Symbol.test.ts
│   │   │   │   │   │   └── SymbolFromSelf.test.ts
│   │   │   │   │   ├── TaggedStruct/
│   │   │   │   │   │   └── make.test.ts
│   │   │   │   │   ├── TemplateLiteral/
│   │   │   │   │   │   └── TemplateLiteral.test.ts
│   │   │   │   │   ├── TemplateLiteralParser.test.ts
│   │   │   │   │   ├── Trimmed/
│   │   │   │   │   │   └── Trimmed.test.ts
│   │   │   │   │   ├── Tuple/
│   │   │   │   │   │   └── Tuple.test.ts
│   │   │   │   │   ├── ULID.test.ts
│   │   │   │   │   ├── URL/
│   │   │   │   │   │   ├── URL.test.ts
│   │   │   │   │   │   └── URLFromSelf.test.ts
│   │   │   │   │   ├── UUID.test.ts
│   │   │   │   │   ├── Uint8Array/
│   │   │   │   │   │   ├── Uint8Array.test.ts
│   │   │   │   │   │   ├── Uint8ArrayFromBase64.test.ts
│   │   │   │   │   │   ├── Uint8ArrayFromBase64Url.test.ts
│   │   │   │   │   │   ├── Uint8ArrayFromHex.test.ts
│   │   │   │   │   │   └── Uint8ArrayFromSelf.test.ts
│   │   │   │   │   ├── Union/
│   │   │   │   │   │   └── Union.test.ts
│   │   │   │   │   ├── UniqueSymbol/
│   │   │   │   │   │   └── UniqueSymbolFromSelf.test.ts
│   │   │   │   │   ├── Unknown/
│   │   │   │   │   │   └── Unknown.test.ts
│   │   │   │   │   ├── Void/
│   │   │   │   │   │   └── Void.test.ts
│   │   │   │   │   ├── annotations.test.ts
│   │   │   │   │   ├── asserts.test.ts
│   │   │   │   │   ├── attachPropertySignature.test.ts
│   │   │   │   │   ├── brand.test.ts
│   │   │   │   │   ├── compose.test.ts
│   │   │   │   │   ├── decode.test.ts
│   │   │   │   │   ├── decodeEither.test.ts
│   │   │   │   │   ├── decodeOption.test.ts
│   │   │   │   │   ├── decodePromise.test.ts
│   │   │   │   │   ├── decodeSync.test.ts
│   │   │   │   │   ├── decodeUnknownEither.test.ts
│   │   │   │   │   ├── decodeUnknownOption.test.ts
│   │   │   │   │   ├── decodeUnknownPromise.test.ts
│   │   │   │   │   ├── decodeUnknownSync.test.ts
│   │   │   │   │   ├── encode.test.ts
│   │   │   │   │   ├── encodeEither.test.ts
│   │   │   │   │   ├── encodeOption.test.ts
│   │   │   │   │   ├── encodePromise.test.ts
│   │   │   │   │   ├── encodeSync.test.ts
│   │   │   │   │   ├── encodeUnknownEither.test.ts
│   │   │   │   │   ├── encodeUnknownOption.test.ts
│   │   │   │   │   ├── encodeUnknownPromise.test.ts
│   │   │   │   │   ├── encodeUnknownSync.test.ts
│   │   │   │   │   ├── encodedBoundSchema.test.ts
│   │   │   │   │   ├── encodedSchema.test.ts
│   │   │   │   │   ├── equivalence.test.ts
│   │   │   │   │   ├── extend.test.ts
│   │   │   │   │   ├── filter.test.ts
│   │   │   │   │   ├── filterEffect.test.ts
│   │   │   │   │   ├── fromBrand.test.ts
│   │   │   │   │   ├── getNumberIndexedAccess.test.ts
│   │   │   │   │   ├── instanceOf.test.ts
│   │   │   │   │   ├── is.test.ts
│   │   │   │   │   ├── isSchema.test.ts
│   │   │   │   │   ├── keyof.test.ts
│   │   │   │   │   ├── mutable.test.ts
│   │   │   │   │   ├── nonEmptyArray.test.ts
│   │   │   │   │   ├── omit.test.ts
│   │   │   │   │   ├── optional.test.ts
│   │   │   │   │   ├── optionalElement.test.ts
│   │   │   │   │   ├── optionalToRequired.test.ts
│   │   │   │   │   ├── optionalWith.test.ts
│   │   │   │   │   ├── parseJson.test.ts
│   │   │   │   │   ├── partial.test.ts
│   │   │   │   │   ├── partialWith.test.ts
│   │   │   │   │   ├── pick.test.ts
│   │   │   │   │   ├── pickLiteral.test.ts
│   │   │   │   │   ├── pipe.test.ts
│   │   │   │   │   ├── pluck.test.ts
│   │   │   │   │   ├── rename.test.ts
│   │   │   │   │   ├── required.test.ts
│   │   │   │   │   ├── requiredToOptional.test.ts
│   │   │   │   │   ├── standardSchemaV1.test.ts
│   │   │   │   │   ├── suspend.test.ts
│   │   │   │   │   ├── transform.test.ts
│   │   │   │   │   ├── transformLiterals.test.ts
│   │   │   │   │   ├── transformOrFail.test.ts
│   │   │   │   │   ├── typeSchema.test.ts
│   │   │   │   │   ├── validate.test.ts
│   │   │   │   │   ├── validateEither.test.ts
│   │   │   │   │   ├── validateOption.test.ts
│   │   │   │   │   ├── validatePromise.test.ts
│   │   │   │   │   ├── validateSync.test.ts
│   │   │   │   │   ├── withConstructorDefault.test.ts
│   │   │   │   │   └── withDecodingDefault.test.ts
│   │   │   │   ├── SchemaAST/
│   │   │   │   │   ├── IndexSignature.test.ts
│   │   │   │   │   ├── Refinement.test.ts
│   │   │   │   │   ├── Tuple.test.ts
│   │   │   │   │   ├── TypeLiteral.test.ts
│   │   │   │   │   ├── TypeLiteralTransformation.test.ts
│   │   │   │   │   ├── Union.test.ts
│   │   │   │   │   ├── annotations.test.ts
│   │   │   │   │   ├── encodedAST.test.ts
│   │   │   │   │   ├── encodedBoundAST.test.ts
│   │   │   │   │   ├── equals.test.ts
│   │   │   │   │   ├── getPropertySignatures.test.ts
│   │   │   │   │   ├── guards.test.ts
│   │   │   │   │   ├── mutable.test.ts
│   │   │   │   │   ├── partial.test.ts
│   │   │   │   │   ├── record.test.ts
│   │   │   │   │   ├── suspend.test.ts
│   │   │   │   │   ├── typeAST.test.ts
│   │   │   │   │   └── unify.test.ts
│   │   │   │   ├── SchemaTest.ts
│   │   │   │   ├── SchemaUserland.test.ts
│   │   │   │   ├── Serializable.test.ts
│   │   │   │   └── TestUtils.ts
│   │   │   ├── Scope.test.ts
│   │   │   ├── ScopedCache.test.ts
│   │   │   ├── ScopedRef.test.ts
│   │   │   ├── Sink/
│   │   │   │   ├── collecting.test.ts
│   │   │   │   ├── constructors.test.ts
│   │   │   │   ├── dropping.test.ts
│   │   │   │   ├── elements.test.ts
│   │   │   │   ├── environment.test.ts
│   │   │   │   ├── error-handling.test.ts
│   │   │   │   ├── filtering.test.ts
│   │   │   │   ├── finalization.test.ts
│   │   │   │   ├── folding.test.ts
│   │   │   │   ├── foreign.test.ts
│   │   │   │   ├── mapping.test.ts
│   │   │   │   ├── racing.test.ts
│   │   │   │   ├── refining.test.ts
│   │   │   │   ├── scoping.test.ts
│   │   │   │   ├── sequencing.test.ts
│   │   │   │   ├── traversing.test.ts
│   │   │   │   └── zipping.test.ts
│   │   │   ├── SortedMap.test.ts
│   │   │   ├── SortedSet.test.ts
│   │   │   ├── Stream/
│   │   │   │   ├── aggregation.test.ts
│   │   │   │   ├── async.test.ts
│   │   │   │   ├── broadcasting.test.ts
│   │   │   │   ├── buffering.test.ts
│   │   │   │   ├── changing.test.ts
│   │   │   │   ├── collecting.test.ts
│   │   │   │   ├── concatenation.test.ts
│   │   │   │   ├── conditionals.test.ts
│   │   │   │   ├── constructors.test.ts
│   │   │   │   ├── conversions.test.ts
│   │   │   │   ├── distributing.test.ts
│   │   │   │   ├── do-notation.test.ts
│   │   │   │   ├── draining.test.ts
│   │   │   │   ├── dropping.test.ts
│   │   │   │   ├── encoding.test.ts
│   │   │   │   ├── environment.test.ts
│   │   │   │   ├── error-handling.test.ts
│   │   │   │   ├── filtering.test.ts
│   │   │   │   ├── finding.test.ts
│   │   │   │   ├── foreign.test.ts
│   │   │   │   ├── fromEventListener.test.ts
│   │   │   │   ├── getters.test.ts
│   │   │   │   ├── grouping.test.ts
│   │   │   │   ├── halting.test.ts
│   │   │   │   ├── interleaving.test.ts
│   │   │   │   ├── interrupting.test.ts
│   │   │   │   ├── interspersing.test.ts
│   │   │   │   ├── lifecycle.test.ts
│   │   │   │   ├── mapping.test.ts
│   │   │   │   ├── merging.test.ts
│   │   │   │   ├── pagination.test.ts
│   │   │   │   ├── partitioning.test.ts
│   │   │   │   ├── peeling.test.ts
│   │   │   │   ├── racing.test.ts
│   │   │   │   ├── repeating.test.ts
│   │   │   │   ├── retrying.test.ts
│   │   │   │   ├── running.test.ts
│   │   │   │   ├── scanning.test.ts
│   │   │   │   ├── scheduling.test.ts
│   │   │   │   ├── scoping.test.ts
│   │   │   │   ├── sequencing.test.ts
│   │   │   │   ├── sliding.test.ts
│   │   │   │   ├── splitting.test.ts
│   │   │   │   ├── streamable.test.ts
│   │   │   │   ├── taking.test.ts
│   │   │   │   ├── tapping.test.ts
│   │   │   │   ├── throttling.test.ts
│   │   │   │   ├── timeouts.test.ts
│   │   │   │   ├── transducing.test.ts
│   │   │   │   └── zipping.test.ts
│   │   │   ├── String.test.ts
│   │   │   ├── Struct.test.ts
│   │   │   ├── SubscriptionRef.test.ts
│   │   │   ├── Symbol.test.ts
│   │   │   ├── SynchronizedRef.test.ts
│   │   │   ├── TArray.test.ts
│   │   │   ├── TMap.test.ts
│   │   │   ├── TPriorityQueue.test.ts
│   │   │   ├── TPubSub.test.ts
│   │   │   ├── TQueue.test.ts
│   │   │   ├── TRandom.test.ts
│   │   │   ├── TReentrantLock.test.ts
│   │   │   ├── TSet.test.ts
│   │   │   ├── TSubscriptionRef.test.ts
│   │   │   ├── TestClock.test.ts
│   │   │   ├── Tracer.test.ts
│   │   │   ├── Trie.test.ts
│   │   │   ├── Tuple.test.ts
│   │   │   ├── assertions.test.ts
│   │   │   ├── util.ts
│   │   │   └── utils/
│   │   │       ├── cache/
│   │   │       │   ├── ObservableResource.ts
│   │   │       │   └── WatchableLookup.ts
│   │   │       ├── cause.ts
│   │   │       ├── coordination.ts
│   │   │       ├── counter.ts
│   │   │       ├── equals.ts
│   │   │       ├── latch.ts
│   │   │       └── unfoldEffect.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── experimental/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   ├── dev-tools.ts
│   │   │   ├── machine.ts
│   │   │   ├── rate-limiter.ts
│   │   │   ├── redis/
│   │   │   │   ├── docker-compose.yaml
│   │   │   │   └── resolver.ts
│   │   │   └── serializable-machine.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── DevTools/
│   │   │   │   ├── Client.ts
│   │   │   │   ├── Domain.ts
│   │   │   │   └── Server.ts
│   │   │   ├── DevTools.ts
│   │   │   ├── Event.ts
│   │   │   ├── EventGroup.ts
│   │   │   ├── EventJournal.ts
│   │   │   ├── EventLog.ts
│   │   │   ├── EventLogEncryption.ts
│   │   │   ├── EventLogRemote.ts
│   │   │   ├── EventLogServer/
│   │   │   │   └── Cloudflare.ts
│   │   │   ├── EventLogServer.ts
│   │   │   ├── Machine/
│   │   │   │   ├── Procedure.ts
│   │   │   │   ├── ProcedureList.ts
│   │   │   │   └── SerializableProcedureList.ts
│   │   │   ├── Machine.ts
│   │   │   ├── PersistedCache.ts
│   │   │   ├── PersistedQueue/
│   │   │   │   └── Redis.ts
│   │   │   ├── PersistedQueue.ts
│   │   │   ├── Persistence/
│   │   │   │   ├── Lmdb.ts
│   │   │   │   └── Redis.ts
│   │   │   ├── Persistence.ts
│   │   │   ├── RateLimiter/
│   │   │   │   └── Redis.ts
│   │   │   ├── RateLimiter.ts
│   │   │   ├── Reactivity.ts
│   │   │   ├── RequestResolver.ts
│   │   │   ├── Sse.ts
│   │   │   ├── VariantSchema.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Machine.test.ts
│   │   │   ├── PersistedCache.test.ts
│   │   │   ├── PersistedQueue.test.ts
│   │   │   ├── RateLimiter.test.ts
│   │   │   ├── RequestResolver.test.ts
│   │   │   └── utils/
│   │   │       ├── extend.ts
│   │   │       └── redis.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── opentelemetry/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   ├── index.ts
│   │   │   ├── metrics.ts
│   │   │   ├── native-exporter.ts
│   │   │   └── otlp-exporter.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Logger.ts
│   │   │   ├── Metrics.ts
│   │   │   ├── NodeSdk.ts
│   │   │   ├── Otlp.ts
│   │   │   ├── OtlpLogger.ts
│   │   │   ├── OtlpMetrics.ts
│   │   │   ├── OtlpResource.ts
│   │   │   ├── OtlpSerialization.ts
│   │   │   ├── OtlpTracer.ts
│   │   │   ├── Resource.ts
│   │   │   ├── Tracer.ts
│   │   │   ├── WebSdk.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── metrics.ts
│   │   │       ├── otlpExporter.ts
│   │   │       ├── otlpProtobuf.ts
│   │   │       ├── protobuf.ts
│   │   │       ├── tracer.ts
│   │   │       └── utils.ts
│   │   ├── test/
│   │   │   ├── Logger.test.ts
│   │   │   ├── Metrics.test.ts
│   │   │   ├── OtlpSerialization.test.ts
│   │   │   ├── Protobuf.test.ts
│   │   │   └── Tracer.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── platform/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── dtslint/
│   │   │   ├── HttpApiClient.tst.ts
│   │   │   ├── HttpApiEndpoint.tst.ts
│   │   │   ├── HttpApiError.tst.ts
│   │   │   ├── HttpRouter.tst.ts
│   │   │   └── tsconfig.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── ChannelSchema.ts
│   │   │   ├── Command.ts
│   │   │   ├── CommandExecutor.ts
│   │   │   ├── Cookies.ts
│   │   │   ├── Effectify.ts
│   │   │   ├── Error.ts
│   │   │   ├── Etag.ts
│   │   │   ├── FetchHttpClient.ts
│   │   │   ├── FileSystem.ts
│   │   │   ├── Headers.ts
│   │   │   ├── HttpApi.ts
│   │   │   ├── HttpApiBuilder.ts
│   │   │   ├── HttpApiClient.ts
│   │   │   ├── HttpApiEndpoint.ts
│   │   │   ├── HttpApiError.ts
│   │   │   ├── HttpApiGroup.ts
│   │   │   ├── HttpApiMiddleware.ts
│   │   │   ├── HttpApiScalar.ts
│   │   │   ├── HttpApiSchema.ts
│   │   │   ├── HttpApiSecurity.ts
│   │   │   ├── HttpApiSwagger.ts
│   │   │   ├── HttpApp.ts
│   │   │   ├── HttpBody.ts
│   │   │   ├── HttpClient.ts
│   │   │   ├── HttpClientError.ts
│   │   │   ├── HttpClientRequest.ts
│   │   │   ├── HttpClientResponse.ts
│   │   │   ├── HttpIncomingMessage.ts
│   │   │   ├── HttpLayerRouter.ts
│   │   │   ├── HttpMethod.ts
│   │   │   ├── HttpMiddleware.ts
│   │   │   ├── HttpMultiplex.ts
│   │   │   ├── HttpPlatform.ts
│   │   │   ├── HttpRouter.ts
│   │   │   ├── HttpServer.ts
│   │   │   ├── HttpServerError.ts
│   │   │   ├── HttpServerRequest.ts
│   │   │   ├── HttpServerRespondable.ts
│   │   │   ├── HttpServerResponse.ts
│   │   │   ├── HttpTraceContext.ts
│   │   │   ├── KeyValueStore.ts
│   │   │   ├── MsgPack.ts
│   │   │   ├── Multipart.ts
│   │   │   ├── Ndjson.ts
│   │   │   ├── OpenApi.ts
│   │   │   ├── OpenApiJsonSchema.ts
│   │   │   ├── Path.ts
│   │   │   ├── PlatformConfigProvider.ts
│   │   │   ├── PlatformLogger.ts
│   │   │   ├── Runtime.ts
│   │   │   ├── Socket.ts
│   │   │   ├── SocketServer.ts
│   │   │   ├── Template.ts
│   │   │   ├── Terminal.ts
│   │   │   ├── Transferable.ts
│   │   │   ├── Url.ts
│   │   │   ├── UrlParams.ts
│   │   │   ├── Worker.ts
│   │   │   ├── WorkerError.ts
│   │   │   ├── WorkerRunner.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── command.ts
│   │   │       ├── commandExecutor.ts
│   │   │       ├── effectify.ts
│   │   │       ├── etag.ts
│   │   │       ├── fetchHttpClient.ts
│   │   │       ├── fileSystem.ts
│   │   │       ├── html.ts
│   │   │       ├── httpApiScalar.ts
│   │   │       ├── httpApiSwagger.ts
│   │   │       ├── httpApp.ts
│   │   │       ├── httpBody.ts
│   │   │       ├── httpClient.ts
│   │   │       ├── httpClientError.ts
│   │   │       ├── httpClientRequest.ts
│   │   │       ├── httpClientResponse.ts
│   │   │       ├── httpMiddleware.ts
│   │   │       ├── httpMultiplex.ts
│   │   │       ├── httpPlatform.ts
│   │   │       ├── httpRouter.ts
│   │   │       ├── httpServer.ts
│   │   │       ├── httpServerError.ts
│   │   │       ├── httpServerRequest.ts
│   │   │       ├── httpServerResponse.ts
│   │   │       ├── keyValueStore.ts
│   │   │       ├── path.ts
│   │   │       ├── platformConfigProvider.ts
│   │   │       ├── platformLogger.ts
│   │   │       ├── terminal.ts
│   │   │       ├── worker.ts
│   │   │       ├── workerError.ts
│   │   │       └── workerRunner.ts
│   │   ├── test/
│   │   │   ├── ConfigProvider.test.ts
│   │   │   ├── Cookies.test.ts
│   │   │   ├── FileSystem.test.ts
│   │   │   ├── Headers.test.ts
│   │   │   ├── HttpApiBuilder.test.ts
│   │   │   ├── HttpApiError.test.ts
│   │   │   ├── HttpApp.test.ts
│   │   │   ├── HttpBody.test.ts
│   │   │   ├── HttpClient.test.ts
│   │   │   ├── HttpTraceContext.test.ts
│   │   │   ├── KeyValueStore.test.ts
│   │   │   ├── Multipart.test.ts
│   │   │   ├── OpenApi.test.ts
│   │   │   ├── OpenApiJsonSchema.test.ts
│   │   │   ├── Path.test.ts
│   │   │   ├── PlatformLogger.test.ts
│   │   │   ├── Template.test.ts
│   │   │   ├── Transferable.test.ts
│   │   │   ├── Url.test.ts
│   │   │   └── UrlParams.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── platform-browser/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   └── keyValueStore.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── BrowserHttpClient.ts
│   │   │   ├── BrowserKeyValueStore.ts
│   │   │   ├── BrowserRuntime.ts
│   │   │   ├── BrowserSocket.ts
│   │   │   ├── BrowserStream.ts
│   │   │   ├── BrowserWorker.ts
│   │   │   ├── BrowserWorkerRunner.ts
│   │   │   ├── Clipboard.ts
│   │   │   ├── Geolocation.ts
│   │   │   ├── Permissions.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── httpClient.ts
│   │   │       ├── keyValueStore.ts
│   │   │       ├── runtime.ts
│   │   │       ├── stream.ts
│   │   │       ├── worker.ts
│   │   │       └── workerRunner.ts
│   │   ├── test/
│   │   │   ├── BrowserHttpClient.test.ts
│   │   │   ├── KeyValueStore.test.ts
│   │   │   ├── Permissions.test.ts
│   │   │   ├── RpcWorker.test.ts
│   │   │   ├── Worker.test.ts
│   │   │   └── fixtures/
│   │   │       ├── rpc-worker.ts
│   │   │       ├── schema.ts
│   │   │       ├── serializedWorker.ts
│   │   │       └── worker.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── platform-bun/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   ├── http-client.ts
│   │   │   ├── http-router.ts
│   │   │   ├── http-server.ts
│   │   │   ├── http-tag-router.ts
│   │   │   ├── worker/
│   │   │   │   └── range.ts
│   │   │   └── worker.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── BunClusterHttp.ts
│   │   │   ├── BunClusterSocket.ts
│   │   │   ├── BunCommandExecutor.ts
│   │   │   ├── BunContext.ts
│   │   │   ├── BunFileSystem/
│   │   │   │   └── ParcelWatcher.ts
│   │   │   ├── BunFileSystem.ts
│   │   │   ├── BunHttpPlatform.ts
│   │   │   ├── BunHttpServer.ts
│   │   │   ├── BunHttpServerRequest.ts
│   │   │   ├── BunKeyValueStore.ts
│   │   │   ├── BunMultipart.ts
│   │   │   ├── BunPath.ts
│   │   │   ├── BunRuntime.ts
│   │   │   ├── BunSink.ts
│   │   │   ├── BunSocket.ts
│   │   │   ├── BunSocketServer.ts
│   │   │   ├── BunStream.ts
│   │   │   ├── BunTerminal.ts
│   │   │   ├── BunWorker.ts
│   │   │   ├── BunWorkerRunner.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── httpPlatform.ts
│   │   │       ├── httpServer.ts
│   │   │       ├── multipart.ts
│   │   │       ├── worker.ts
│   │   │       └── workerRunner.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── platform-node/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   ├── api.ts
│   │   │   ├── cluster.ts
│   │   │   ├── fs-watch.ts
│   │   │   ├── http-client.ts
│   │   │   ├── http-router.ts
│   │   │   ├── http-server.ts
│   │   │   ├── http-tag-router.ts
│   │   │   ├── terminal.ts
│   │   │   ├── worker/
│   │   │   │   └── range.ts
│   │   │   └── worker.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── NodeClusterHttp.ts
│   │   │   ├── NodeClusterSocket.ts
│   │   │   ├── NodeCommandExecutor.ts
│   │   │   ├── NodeContext.ts
│   │   │   ├── NodeFileSystem/
│   │   │   │   └── ParcelWatcher.ts
│   │   │   ├── NodeFileSystem.ts
│   │   │   ├── NodeHttpClient.ts
│   │   │   ├── NodeHttpPlatform.ts
│   │   │   ├── NodeHttpServer.ts
│   │   │   ├── NodeHttpServerRequest.ts
│   │   │   ├── NodeKeyValueStore.ts
│   │   │   ├── NodeMultipart.ts
│   │   │   ├── NodePath.ts
│   │   │   ├── NodeRuntime.ts
│   │   │   ├── NodeSink.ts
│   │   │   ├── NodeSocket.ts
│   │   │   ├── NodeSocketServer.ts
│   │   │   ├── NodeStream.ts
│   │   │   ├── NodeTerminal.ts
│   │   │   ├── NodeWorker.ts
│   │   │   ├── NodeWorkerRunner.ts
│   │   │   ├── Undici.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── httpClient.ts
│   │   │       ├── httpClientUndici.ts
│   │   │       ├── httpIncomingMessage.ts
│   │   │       ├── httpPlatform.ts
│   │   │       ├── httpServer.ts
│   │   │       ├── worker.ts
│   │   │       └── workerRunner.ts
│   │   ├── test/
│   │   │   ├── HttpApi.test.ts
│   │   │   ├── HttpClient.test.ts
│   │   │   ├── HttpServer.test.ts
│   │   │   ├── MsgPack.test.ts
│   │   │   ├── Ndjson.test.ts
│   │   │   ├── PlatformConfigProvider.test.ts
│   │   │   ├── RpcServer.test.ts
│   │   │   ├── Socket.test.ts
│   │   │   ├── fixtures/
│   │   │   │   ├── config/
│   │   │   │   │   ├── SHOUTING
│   │   │   │   │   ├── integer
│   │   │   │   │   └── secret
│   │   │   │   ├── openapi.json
│   │   │   │   ├── rpc-schemas.ts
│   │   │   │   ├── rpc-worker.ts
│   │   │   │   └── text.txt
│   │   │   └── rpc-e2e.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── platform-node-shared/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── NodeClusterSocket.ts
│   │   │   ├── NodeCommandExecutor.ts
│   │   │   ├── NodeFileSystem/
│   │   │   │   └── ParcelWatcher.ts
│   │   │   ├── NodeFileSystem.ts
│   │   │   ├── NodeKeyValueStore.ts
│   │   │   ├── NodeMultipart.ts
│   │   │   ├── NodePath.ts
│   │   │   ├── NodeRuntime.ts
│   │   │   ├── NodeSink.ts
│   │   │   ├── NodeSocket.ts
│   │   │   ├── NodeSocketServer.ts
│   │   │   ├── NodeStream.ts
│   │   │   ├── NodeTerminal.ts
│   │   │   └── internal/
│   │   │       ├── commandExecutor.ts
│   │   │       ├── error.ts
│   │   │       ├── fileSystem/
│   │   │       │   └── parcelWatcher.ts
│   │   │       ├── fileSystem.ts
│   │   │       ├── multipart.ts
│   │   │       ├── path.ts
│   │   │       ├── runtime.ts
│   │   │       ├── sink.ts
│   │   │       ├── stream.ts
│   │   │       └── terminal.ts
│   │   ├── test/
│   │   │   ├── CommandExecutor.test.ts
│   │   │   ├── FileSystem.test.ts
│   │   │   ├── KeyValueStore.test.ts
│   │   │   ├── PlatformConfigProvider.test.ts
│   │   │   ├── Sink.test.ts
│   │   │   ├── Stream.test.ts
│   │   │   ├── Terminal.test.ts
│   │   │   └── fixtures/
│   │   │       ├── bash/
│   │   │       │   ├── duplex.sh
│   │   │       │   ├── no-permissions.sh
│   │   │       │   ├── non-zero-exit.sh
│   │   │       │   ├── parent-exits-early.sh
│   │   │       │   ├── repeat.sh
│   │   │       │   └── spawn-children.sh
│   │   │       ├── config/
│   │   │       │   ├── SHOUTING
│   │   │       │   ├── integer
│   │   │       │   ├── nested/
│   │   │       │   │   └── config
│   │   │       │   └── secret
│   │   │       └── text.txt
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── printer/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   └── main.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Doc.ts
│   │   │   ├── DocStream.ts
│   │   │   ├── DocTree.ts
│   │   │   ├── Flatten.ts
│   │   │   ├── Layout.ts
│   │   │   ├── Optimize.ts
│   │   │   ├── PageWidth.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── doc.ts
│   │   │       ├── docStream.ts
│   │   │       ├── docTree.ts
│   │   │       ├── docTreeToken.ts
│   │   │       ├── flatten.ts
│   │   │       ├── layout.ts
│   │   │       ├── layoutPipeline.ts
│   │   │       ├── optimize.ts
│   │   │       ├── pageWidth.ts
│   │   │       └── render.ts
│   │   ├── test/
│   │   │   ├── doc.test.ts
│   │   │   ├── docStream.test.ts
│   │   │   ├── docTree.test.ts
│   │   │   ├── flatten.test.ts
│   │   │   ├── layout.test.ts
│   │   │   ├── optimize.test.ts
│   │   │   ├── pageWidth.test.ts
│   │   │   ├── render.test.ts
│   │   │   └── utils/
│   │   │       └── DocArbitrary.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── printer-ansi/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   └── main.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Ansi.ts
│   │   │   ├── AnsiDoc.ts
│   │   │   ├── Color.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── ansi.ts
│   │   │       ├── ansiDoc.ts
│   │   │       ├── ansiRender.ts
│   │   │       ├── color.ts
│   │   │       └── sgr.ts
│   │   ├── test/
│   │   │   └── terminal.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── rpc/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Rpc.ts
│   │   │   ├── RpcClient.ts
│   │   │   ├── RpcClientError.ts
│   │   │   ├── RpcGroup.ts
│   │   │   ├── RpcMessage.ts
│   │   │   ├── RpcMiddleware.ts
│   │   │   ├── RpcSchema.ts
│   │   │   ├── RpcSerialization.ts
│   │   │   ├── RpcServer.ts
│   │   │   ├── RpcTest.ts
│   │   │   ├── RpcWorker.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       └── utils.ts
│   │   ├── test/
│   │   │   └── Rpc.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Migrator/
│   │   │   │   └── FileSystem.ts
│   │   │   ├── Migrator.ts
│   │   │   ├── Model.ts
│   │   │   ├── SqlClient.ts
│   │   │   ├── SqlConnection.ts
│   │   │   ├── SqlError.ts
│   │   │   ├── SqlEventJournal.ts
│   │   │   ├── SqlEventLogServer.ts
│   │   │   ├── SqlPersistedQueue.ts
│   │   │   ├── SqlResolver.ts
│   │   │   ├── SqlSchema.ts
│   │   │   ├── SqlStream.ts
│   │   │   ├── Statement.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       ├── client.ts
│   │   │       └── statement.ts
│   │   ├── test/
│   │   │   ├── SqlPersistedQueueTest.ts
│   │   │   └── index.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-clickhouse/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   └── basic.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── ClickhouseClient.ts
│   │   │   ├── ClickhouseMigrator.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   └── Client.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-d1/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── D1Client.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Client.test.ts
│   │   │   ├── Resolver.test.ts
│   │   │   └── utils.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-drizzle/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   └── sqlite.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Mysql.ts
│   │   │   ├── Pg.ts
│   │   │   ├── Sqlite.ts
│   │   │   └── internal/
│   │   │       └── patch.ts
│   │   ├── test/
│   │   │   ├── Mysql.test.ts
│   │   │   ├── Pg.test.ts
│   │   │   ├── Sqlite.test.ts
│   │   │   └── utils.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-kysely/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   └── sqlite.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Kysely.ts
│   │   │   ├── Mssql.ts
│   │   │   ├── Mysql.ts
│   │   │   ├── Pg.ts
│   │   │   ├── Sqlite.ts
│   │   │   ├── internal/
│   │   │   │   ├── kysely.ts
│   │   │   │   └── patch.ts
│   │   │   └── patch.types.ts
│   │   ├── test/
│   │   │   ├── Kysely.test.ts
│   │   │   ├── Mssql.test.ts
│   │   │   ├── Mysql.test.ts
│   │   │   ├── Pg.test.ts
│   │   │   ├── Sqlite.test.ts
│   │   │   └── utils.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-libsql/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── LibsqlClient.ts
│   │   │   ├── LibsqlMigrator.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Client.test.ts
│   │   │   ├── Resolver.test.ts
│   │   │   └── util.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-mssql/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   ├── docker-compose.yaml
│   │   │   ├── migrations/
│   │   │   │   └── 0001_create_people.ts
│   │   │   └── migrations.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── .index.ts
│   │   │   ├── MssqlClient.ts
│   │   │   ├── MssqlMigrator.ts
│   │   │   ├── Parameter.ts
│   │   │   ├── Procedure.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   └── Client.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-mysql2/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   └── statement-transform.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── MysqlClient.ts
│   │   │   ├── MysqlMigrator.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Client.test.ts
│   │   │   ├── Model.test.ts
│   │   │   ├── SqlPersistedQueue.test.ts
│   │   │   └── utils.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-pg/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   ├── listen-notify.ts
│   │   │   └── resolver.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── PgClient.ts
│   │   │   ├── PgMigrator.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Client.test.ts
│   │   │   ├── SqlPersistedQueue.test.ts
│   │   │   └── utils.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-sqlite-bun/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── examples/
│   │   │   └── Client.test.ts
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── SqliteClient.ts
│   │   │   ├── SqliteMigrator.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   └── Client.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.examples.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-sqlite-do/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── SqliteClient.ts
│   │   │   ├── SqliteMigrator.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   └── Client.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-sqlite-node/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── SqliteClient.ts
│   │   │   ├── SqliteMigrator.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Client.test.ts
│   │   │   ├── Resolver.test.ts
│   │   │   └── SqlPersistedQueue.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-sqlite-react-native/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── SqliteClient.ts
│   │   │   ├── SqliteMigrator.ts
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   └── Client.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── sql-sqlite-wasm/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── OpfsWorker.ts
│   │   │   ├── SqliteClient.ts
│   │   │   ├── SqliteMigrator.ts
│   │   │   ├── index.ts
│   │   │   ├── internal/
│   │   │   │   └── opfsWorker.ts
│   │   │   └── sqlite-wasm.d.ts
│   │   ├── test/
│   │   │   └── Client.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── typeclass/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── dtslint/
│   │   │   ├── FlatMap.tst.ts
│   │   │   ├── Monoid.tst.ts
│   │   │   ├── Product.tst.ts
│   │   │   ├── SemiAlternative.tst.ts
│   │   │   ├── SemiProduct.tst.ts
│   │   │   ├── Semigroup.tst.ts
│   │   │   └── tsconfig.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Alternative.ts
│   │   │   ├── Applicative.ts
│   │   │   ├── Bicovariant.ts
│   │   │   ├── Bounded.ts
│   │   │   ├── Chainable.ts
│   │   │   ├── Contravariant.ts
│   │   │   ├── Coproduct.ts
│   │   │   ├── Covariant.ts
│   │   │   ├── Filterable.ts
│   │   │   ├── FlatMap.ts
│   │   │   ├── Foldable.ts
│   │   │   ├── Invariant.ts
│   │   │   ├── Monad.ts
│   │   │   ├── Monoid.ts
│   │   │   ├── Of.ts
│   │   │   ├── Pointed.ts
│   │   │   ├── Product.ts
│   │   │   ├── SemiAlternative.ts
│   │   │   ├── SemiApplicative.ts
│   │   │   ├── SemiCoproduct.ts
│   │   │   ├── SemiProduct.ts
│   │   │   ├── Semigroup.ts
│   │   │   ├── Traversable.ts
│   │   │   ├── TraversableFilterable.ts
│   │   │   ├── data/
│   │   │   │   ├── Array.ts
│   │   │   │   ├── BigInt.ts
│   │   │   │   ├── Boolean.ts
│   │   │   │   ├── Duration.ts
│   │   │   │   ├── Effect.ts
│   │   │   │   ├── Either.ts
│   │   │   │   ├── Identity.ts
│   │   │   │   ├── Micro.ts
│   │   │   │   ├── Number.ts
│   │   │   │   ├── Option.ts
│   │   │   │   ├── Ordering.ts
│   │   │   │   ├── Predicate.ts
│   │   │   │   ├── Record.ts
│   │   │   │   ├── String.ts
│   │   │   │   └── Tuple.ts
│   │   │   ├── index.ts
│   │   │   └── internal/
│   │   │       └── Iterable.ts
│   │   ├── test/
│   │   │   ├── Applicative.test.ts
│   │   │   ├── Bicovariant.test.ts
│   │   │   ├── Bounded.test.ts
│   │   │   ├── Chainable.test.ts
│   │   │   ├── Contravariant.test.ts
│   │   │   ├── Coproduct.test.ts
│   │   │   ├── Covariant.test.ts
│   │   │   ├── Filterable.test.ts
│   │   │   ├── FlatMap.test.ts
│   │   │   ├── Foldable.test.ts
│   │   │   ├── Invariant.test.ts
│   │   │   ├── Monoid.test.ts
│   │   │   ├── Of.test.ts
│   │   │   ├── Product.test.ts
│   │   │   ├── SemiApplicative.test.ts
│   │   │   ├── SemiProduct.test.ts
│   │   │   ├── Semigroup.test.ts
│   │   │   ├── Traversable.test.ts
│   │   │   ├── TraversableFilterable.test.ts
│   │   │   ├── data/
│   │   │   │   ├── Array.test.ts
│   │   │   │   ├── BigInt.test.ts
│   │   │   │   ├── Boolean.test.ts
│   │   │   │   ├── Effect.test.ts
│   │   │   │   ├── Either.test.ts
│   │   │   │   ├── Micro.test.ts
│   │   │   │   ├── Number.test.ts
│   │   │   │   ├── Option.test.ts
│   │   │   │   ├── Predicate.test.ts
│   │   │   │   └── Record.test.ts
│   │   │   └── util.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   ├── vitest/
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── docgen.json
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── index.ts
│   │   │   ├── internal/
│   │   │   │   └── internal.ts
│   │   │   └── utils.ts
│   │   ├── test/
│   │   │   ├── advent-of-pbt-2024/
│   │   │   │   └── day-1.test.ts
│   │   │   ├── equality-tester.test.ts
│   │   │   └── index.test.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.src.json
│   │   ├── tsconfig.test.json
│   │   └── vitest.config.ts
│   └── workflow/
│       ├── CHANGELOG.md
│       ├── LICENSE
│       ├── README.md
│       ├── docgen.json
│       ├── package.json
│       ├── src/
│       │   ├── Activity.ts
│       │   ├── DurableClock.ts
│       │   ├── DurableDeferred.ts
│       │   ├── DurableQueue.ts
│       │   ├── DurableRateLimiter.ts
│       │   ├── Workflow.ts
│       │   ├── WorkflowEngine.ts
│       │   ├── WorkflowProxy.ts
│       │   ├── WorkflowProxyServer.ts
│       │   ├── index.ts
│       │   └── internal/
│       │       └── crypto.ts
│       ├── test/
│       │   └── WorkflowEngine.test.ts
│       ├── tsconfig.build.json
│       ├── tsconfig.json
│       ├── tsconfig.src.json
│       ├── tsconfig.test.json
│       └── vitest.config.ts
├── patches/
│   ├── @changesets__assemble-release-plan.patch
│   └── @changesets__get-github-info@0.6.0.patch
├── pnpm-workspace.yaml
├── scripts/
│   ├── circular.mjs
│   ├── clean.mjs
│   ├── codemod-ts-fence.mjs
│   ├── codemod.mjs
│   ├── codemods/
│   │   ├── jsdoc.ts
│   │   ├── ts-fence.test.ts
│   │   ├── ts-fence.ts
│   │   └── vitest.config.ts
│   ├── docs.mjs
│   ├── jsdocs/
│   │   └── code2jsdoc-example.html
│   ├── package-scalar.mjs
│   ├── package-swagger.mjs
│   ├── version.mjs
│   ├── version.template.txt
│   └── worktree-setup.sh
├── tsconfig.base.json
├── tsconfig.build.json
├── tsconfig.json
├── tstyche.config.json
├── vitest.setup.ts
├── vitest.shared.ts
└── vitest.workspace.ts
Download .txt
Showing preview only (792K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (8849 symbols across 646 files)

FILE: packages/ai/ai/src/AiError.ts
  type TypeId (line 93) | type TypeId = typeof TypeId
  class HttpRequestError (line 191) | class HttpRequestError extends Schema.TaggedError<HttpRequestError>(
    method fromRequestError (line 227) | static fromRequestError({ error, ...params }: {
    method message (line 247) | get message(): string {
  class HttpResponseError (line 350) | class HttpResponseError extends Schema.TaggedError<HttpResponseError>(
    method fromResponseError (line 387) | static fromResponseError({ error, ...params }: {
    method message (line 419) | get message(): string {
  class MalformedInput (line 492) | class MalformedInput extends Schema.TaggedError<MalformedInput>(
  class MalformedOutput (line 549) | class MalformedOutput extends Schema.TaggedError<MalformedOutput>(
    method fromParseError (line 590) | static fromParseError({ error, ...params }: {
  class UnknownError (line 646) | class UnknownError extends Schema.TaggedError<UnknownError>(
    method message (line 662) | get message(): string {
  type AiError (line 707) | type AiError =

FILE: packages/ai/ai/src/Chat.ts
  class Chat (line 95) | class Chat extends Context.Tag("@effect/ai/Chat")<
  type Service (line 106) | interface Service {
  class ChatNotFoundError (line 593) | class ChatNotFoundError extends Schema.TaggedError<ChatNotFoundError>(
  class Persistence (line 604) | class Persistence extends Context.Tag("@effect/ai/Chat/Persisted")<
  type Service (line 621) | interface Service {
  type Persisted (line 659) | interface Persisted extends Service {

FILE: packages/ai/ai/src/EmbeddingModel.ts
  class EmbeddingModel (line 95) | class EmbeddingModel extends Context.Tag("@effect/ai/EmbeddingModel")<
  type Service (line 109) | interface Service {
  type Result (line 147) | interface Result {
  class EmbeddingRequest (line 159) | class EmbeddingRequest extends Schema.TaggedRequest<EmbeddingRequest>(
  function embed (line 300) | function embed(input: string) {
  function embedMany (line 306) | function embedMany(inputs: ReadonlyArray<string>, options?: {

FILE: packages/ai/ai/src/IdGenerator.ts
  class IdGenerator (line 81) | class IdGenerator extends Context.Tag("@effect/ai/IdGenerator")<
  type Service (line 113) | interface Service {
  type MakeOptions (line 138) | interface MakeOptions {
  constant DEFAULT_ALPHABET (line 157) | const DEFAULT_ALPHABET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghij...
  constant DEFAULT_SEPARATOR (line 158) | const DEFAULT_SEPARATOR = "_"
  constant DEFAULT_SIZE (line 159) | const DEFAULT_SIZE = 16

FILE: packages/ai/ai/src/LanguageModel.ts
  class LanguageModel (line 100) | class LanguageModel extends Context.Tag("@effect/ai/LanguageModel")<
  type Service (line 114) | interface Service {
  type GenerateTextOptions (line 161) | interface GenerateTextOptions<Tools extends Record<string, Tool.Any>> {
  type GenerateObjectOptions (line 217) | interface GenerateObjectOptions<Tools extends Record<string, Tool.Any>, ...
  type ToolChoice (line 250) | type ToolChoice<Tools extends string> = "auto" | "none" | "required" | {
  class GenerateTextResponse (line 285) | class GenerateTextResponse<Tools extends Record<string, Tool.Any>> {
    method constructor (line 288) | constructor(content: Array<Response.Part<Tools>>) {
    method text (line 295) | get text(): string {
    method reasoning (line 308) | get reasoning(): Array<Response.ReasoningPart> {
    method reasoningText (line 315) | get reasoningText(): string | undefined {
    method toolCalls (line 328) | get toolCalls(): Array<Response.ToolCallParts<Tools>> {
    method toolResults (line 335) | get toolResults(): Array<Response.ToolResultParts<Tools>> {
    method finishReason (line 342) | get finishReason(): Response.FinishReason {
    method usage (line 350) | get usage(): Response.Usage {
  class GenerateObjectResponse (line 394) | class GenerateObjectResponse<Tools extends Record<string, Tool.Any>, A> ...
    method constructor (line 400) | constructor(value: A, content: Array<Response.Part<Tools>>) {
  type ExtractError (line 419) | type ExtractError<Options> = Options extends {
  type ExtractContext (line 443) | type ExtractContext<Options> = Options extends {
  type ProviderOptions (line 466) | interface ProviderOptions {
  type ConstructorParams (line 528) | interface ConstructorParams {

FILE: packages/ai/ai/src/McpSchema.ts
  type RequestId (line 35) | type RequestId = typeof RequestId.Type
  type ProgressToken (line 56) | type ProgressToken = typeof ProgressToken.Type
  class RequestMeta (line 62) | class RequestMeta extends Schema.Struct({
  class ResultMeta (line 79) | class ResultMeta extends Schema.Struct({
  class NotificationMeta (line 91) | class NotificationMeta extends Schema.Struct({
  type Cursor (line 111) | type Cursor = typeof Cursor.Type
  class PaginatedRequestMeta (line 117) | class PaginatedRequestMeta extends Schema.Struct({
  class PaginatedResultMeta (line 130) | class PaginatedResultMeta extends Schema.Struct({
  type Role (line 150) | type Role = typeof Role.Type
  class Annotations (line 159) | class Annotations extends Schema.Struct({
  class Implementation (line 183) | class Implementation extends Schema.Struct({
  class ClientCapabilities (line 197) | class ClientCapabilities extends Schema.Class<ClientCapabilities>(
  class ServerCapabilities (line 234) | class ServerCapabilities extends Schema.Struct({
  class McpError (line 291) | class McpError extends Schema.Class<McpError>(
  constant INVALID_REQUEST_ERROR_CODE (line 314) | const INVALID_REQUEST_ERROR_CODE = -32600 as const
  constant METHOD_NOT_FOUND_ERROR_CODE (line 319) | const METHOD_NOT_FOUND_ERROR_CODE = -32601 as const
  constant INVALID_PARAMS_ERROR_CODE (line 324) | const INVALID_PARAMS_ERROR_CODE = -32602 as const
  constant INTERNAL_ERROR_CODE (line 329) | const INTERNAL_ERROR_CODE = -32603 as const
  constant PARSE_ERROR_CODE (line 334) | const PARSE_ERROR_CODE = -32700 as const
  class ParseError (line 340) | class ParseError extends Schema.TaggedError<ParseError>()("ParseError", {
  class InvalidRequest (line 349) | class InvalidRequest extends Schema.TaggedError<InvalidRequest>()("Inval...
  class MethodNotFound (line 358) | class MethodNotFound extends Schema.TaggedError<MethodNotFound>()("Metho...
  class InvalidParams (line 367) | class InvalidParams extends Schema.TaggedError<InvalidParams>()("Invalid...
  class InternalError (line 376) | class InternalError extends Schema.TaggedError<InternalError>()("Interna...
  class Ping (line 395) | class Ping extends Rpc.make("ping", {
  class InitializeResult (line 412) | class InitializeResult extends Schema.Class<InitializeResult>(
  class Initialize (line 441) | class Initialize extends Rpc.make("initialize", {
  class InitializedNotification (line 471) | class InitializedNotification extends Rpc.make("notifications/initialize...
  class CancelledNotification (line 483) | class CancelledNotification extends Rpc.make("notifications/cancelled", {
  class ProgressNotification (line 512) | class ProgressNotification extends Rpc.make("notifications/progress", {
  class Resource (line 546) | class Resource extends Schema.Class<Resource>(
  class ResourceTemplate (line 591) | class ResourceTemplate extends Schema.Class<ResourceTemplate>(
  class ResourceContents (line 632) | class ResourceContents extends Schema.Struct({
  class TextResourceContents (line 649) | class TextResourceContents extends Schema.Struct({
  class BlobResourceContents (line 664) | class BlobResourceContents extends Schema.Struct({
  class ListResourcesResult (line 678) | class ListResourcesResult extends Schema.Class<ListResourcesResult>(
  class ListResources (line 691) | class ListResources extends Rpc.make("resources/list", {
  class ListResourceTemplatesResult (line 703) | class ListResourceTemplatesResult extends Schema.Class<ListResourceTempl...
  class ListResourceTemplates (line 716) | class ListResourceTemplates extends Rpc.make("resources/templates/list", {
  class ReadResourceResult (line 728) | class ReadResourceResult extends Schema.Struct({
  class ReadResource (line 742) | class ReadResource extends Rpc.make("resources/read", {
  class ResourceListChangedNotification (line 763) | class ResourceListChangedNotification extends Rpc.make("notifications/re...
  class Subscribe (line 774) | class Subscribe extends Rpc.make("resources/subscribe", {
  class Unsubscribe (line 794) | class Unsubscribe extends Rpc.make("resources/unsubscribe", {
  class ResourceUpdatedNotification (line 810) | class ResourceUpdatedNotification extends Rpc.make("notifications/resour...
  class PromptArgument (line 830) | class PromptArgument extends Schema.Struct({
  class Prompt (line 852) | class Prompt extends Schema.Class<Prompt>(
  class TextContent (line 876) | class TextContent extends Schema.Struct({
  class ImageContent (line 894) | class ImageContent extends Schema.Struct({
  class AudioContent (line 917) | class AudioContent extends Schema.Struct({
  class EmbeddedResource (line 943) | class EmbeddedResource extends Schema.Struct({
  class ResourceLink (line 960) | class ResourceLink extends Schema.Struct({
  class ContentBlock (line 969) | class ContentBlock extends Schema.Union(
  class PromptMessage (line 986) | class PromptMessage extends Schema.Struct({
  class ListPromptsResult (line 997) | class ListPromptsResult extends Schema.Class<ListPromptsResult>(
  class ListPrompts (line 1011) | class ListPrompts extends Rpc.make("prompts/list", {
  class GetPromptResult (line 1023) | class GetPromptResult extends Schema.Class<GetPromptResult>(
  class GetPrompt (line 1040) | class GetPrompt extends Rpc.make("prompts/get", {
  class PromptListChangedNotification (line 1068) | class PromptListChangedNotification extends Rpc.make("notifications/prom...
  class ToolAnnotations (line 1089) | class ToolAnnotations extends Schema.Class<ToolAnnotations>(
  class Tool (line 1137) | class Tool extends Schema.Class<Tool>(
  class ListToolsResult (line 1167) | class ListToolsResult extends Schema.Class<ListToolsResult>(
  class ListTools (line 1180) | class ListTools extends Rpc.make("tools/list", {
  class CallToolResult (line 1201) | class CallToolResult extends Schema.Class<CallToolResult>("@effect/ai/Mc...
  class CallTool (line 1219) | class CallTool extends Rpc.make("tools/call", {
  class ToolListChangedNotification (line 1240) | class ToolListChangedNotification extends Rpc.make("notifications/tools/...
  type LoggingLevel (line 1286) | type LoggingLevel = typeof LoggingLevel.Type
  class SetLevel (line 1294) | class SetLevel extends Rpc.make("logging/setLevel", {
  class LoggingMessageNotification (line 1311) | class LoggingMessageNotification extends Rpc.make("notifications/message...
  class SamplingMessage (line 1340) | class SamplingMessage extends Schema.Struct({
  class ModelHint (line 1354) | class ModelHint extends Schema.Struct({
  class ModelPreferences (line 1386) | class ModelPreferences extends Schema.Class<ModelPreferences>(
  class CreateMessageResult (line 1428) | class CreateMessageResult extends Schema.Class<CreateMessageResult>(
  class CreateMessage (line 1450) | class CreateMessage extends Rpc.make("sampling/createMessage", {
  class ResourceReference (line 1495) | class ResourceReference extends Schema.Struct({
  class PromptReference (line 1509) | class PromptReference extends Schema.Struct({
  class CompleteResult (line 1524) | class CompleteResult extends Schema.Class<CompleteResult>("@effect/ai/Mc...
  class Complete (line 1560) | class Complete extends Rpc.make("completion/complete", {
  class Root (line 1609) | class Root extends Schema.Class<Root>(
  class ListRootsResult (line 1634) | class ListRootsResult extends Schema.Class<ListRootsResult>(
  class ListRoots (line 1654) | class ListRoots extends Rpc.make("roots/list", {
  class RootsListChangedNotification (line 1669) | class RootsListChangedNotification extends Rpc.make("notifications/roots...
  class ElicitAcceptResult (line 1683) | class ElicitAcceptResult extends Schema.Class<ElicitAcceptResult>(
  class ElicitDeclineResult (line 1707) | class ElicitDeclineResult extends Schema.Class<ElicitDeclineResult>(
  class Elicit (line 1735) | class Elicit extends Rpc.make("elicitation/create", {
  class ElicitationDeclined (line 1756) | class ElicitationDeclined
  class McpServerClient (line 1771) | class McpServerClient extends Context.Tag("@effect/ai/McpSchema/McpServe...
  class McpServerClientMiddleware (line 1787) | class McpServerClientMiddleware
  type RequestEncoded (line 1801) | type RequestEncoded<Group extends RpcGroup.Any> = RpcGroup.Rpcs<
  type NotificationEncoded (line 1822) | type NotificationEncoded<Group extends RpcGroup.Any> = RpcGroup.Rpcs<
  type SuccessEncoded (line 1842) | type SuccessEncoded<Group extends RpcGroup.Any> = RpcGroup.Rpcs<
  type FailureEncoded (line 1862) | type FailureEncoded<Group extends RpcGroup.Any> = RpcGroup.Rpcs<
  class ClientRequestRpcs (line 1882) | class ClientRequestRpcs extends RpcGroup.make(
  type ClientRequestEncoded (line 1902) | type ClientRequestEncoded = RequestEncoded<typeof ClientRequestRpcs>
  class ClientNotificationRpcs (line 1908) | class ClientNotificationRpcs extends RpcGroup.make(
  type ClientNotificationEncoded (line 1919) | type ClientNotificationEncoded = NotificationEncoded<typeof ClientNotifi...
  class ClientRpcs (line 1925) | class ClientRpcs extends ClientRequestRpcs.merge(ClientNotificationRpcs) {}
  type ClientSuccessEncoded (line 1931) | type ClientSuccessEncoded = SuccessEncoded<typeof ServerRequestRpcs>
  type ClientFailureEncoded (line 1937) | type ClientFailureEncoded = FailureEncoded<typeof ServerRequestRpcs>
  class ServerRequestRpcs (line 1943) | class ServerRequestRpcs extends RpcGroup.make(
  type ServerRequestEncoded (line 1954) | type ServerRequestEncoded = RequestEncoded<typeof ServerRequestRpcs>
  class ServerNotificationRpcs (line 1960) | class ServerNotificationRpcs extends RpcGroup.make(
  type ServerNotificationEncoded (line 1974) | type ServerNotificationEncoded = NotificationEncoded<typeof ServerNotifi...
  type ServerSuccessEncoded (line 1980) | type ServerSuccessEncoded = SuccessEncoded<typeof ClientRequestRpcs>
  type ServerFailureEncoded (line 1986) | type ServerFailureEncoded = FailureEncoded<typeof ClientRequestRpcs>
  type ServerResultEncoded (line 1992) | type ServerResultEncoded = ServerSuccessEncoded | ServerFailureEncoded
  type FromClientEncoded (line 1998) | type FromClientEncoded = ClientRequestEncoded | ClientNotificationEncoded
  type FromServerEncoded (line 2003) | type FromServerEncoded = ServerResultEncoded | ServerNotificationEncoded
  type Param (line 2015) | interface Param<Id extends string, S extends Schema.Schema.Any>

FILE: packages/ai/ai/src/McpServer.ts
  class McpServer (line 74) | class McpServer extends Context.Tag("@effect/ai/McpServer")<
    method onFromClient (line 171) | onFromClient(options): Effect.Effect<void> {
    method tools (line 202) | get tools() {
    method resources (line 223) | get resources() {
    method resourceTemplates (line 226) | get resourceTemplates() {
    method prompts (line 265) | get prompts() {
  constant LATEST_PROTOCOL_VERSION (line 308) | const LATEST_PROTOCOL_VERSION = "2025-06-18"
  constant SUPPORTED_PROTOCOL_VERSIONS (line 309) | const SUPPORTED_PROTOCOL_VERSIONS = [
  method send (line 345) | send(request, _transferables) {
  method handle (line 685) | handle(payload) {
  type ValidateCompletions (line 741) | type ValidateCompletions<
  type ResourceCompletions (line 754) | type ResourceCompletions<
  method initialize (line 1263) | initialize(params, { clientId }) {

FILE: packages/ai/ai/src/Model.ts
  type TypeId (line 50) | type TypeId = typeof TypeId
  type Model (line 69) | interface Model<in out Provider, in out Provides, in out Requires>
  class ProviderName (line 91) | class ProviderName extends Context.Tag("@effect/ai/Model/ProviderName")<
  method commit (line 104) | commit(this: Model<any, any, any>) {

FILE: packages/ai/ai/src/Prompt.ts
  type ProviderOptions (line 101) | type ProviderOptions = typeof ProviderOptions.Type
  type PartTypeId (line 121) | type PartTypeId = typeof PartTypeId
  type Part (line 140) | type Part = TextPart | ReasoningPart | FilePart | ToolCallPart | ToolRes...
  type PartEncoded (line 148) | type PartEncoded =
  type BasePart (line 163) | interface BasePart<Type extends string, Options extends ProviderOptions> {
  type BasePartEncoded (line 181) | interface BasePartEncoded<Type extends string, Options extends ProviderO...
  type PartConstructorParams (line 242) | type PartConstructorParams<P extends Part> = Omit<P, PartTypeId | "type"...
  type TextPart (line 270) | interface TextPart extends BasePart<"text", TextPartOptions> {
  type TextPartEncoded (line 283) | interface TextPartEncoded extends BasePartEncoded<"text", TextPartOption...
  type TextPartOptions (line 297) | interface TextPartOptions extends ProviderOptions {}
  type ReasoningPart (line 341) | interface ReasoningPart extends BasePart<"reasoning", ReasoningPartOptio...
  type ReasoningPartEncoded (line 354) | interface ReasoningPartEncoded extends BasePartEncoded<"reasoning", Reas...
  type ReasoningPartOptions (line 368) | interface ReasoningPartOptions extends ProviderOptions {}
  type FilePart (line 424) | interface FilePart extends BasePart<"file", FilePartOptions> {
  type FilePartEncoded (line 445) | interface FilePartEncoded extends BasePartEncoded<"file", FilePartOption...
  type FilePartOptions (line 467) | interface FilePartOptions extends ProviderOptions {}
  type ToolCallPart (line 516) | interface ToolCallPart extends BasePart<"tool-call", ToolCallPartOptions> {
  type ToolCallPartEncoded (line 541) | interface ToolCallPartEncoded extends BasePartEncoded<"tool-call", ToolC...
  type ToolCallPartOptions (line 567) | interface ToolCallPartOptions extends ProviderOptions {}
  type ToolResultPart (line 622) | interface ToolResultPart extends BasePart<"tool-result", ToolResultPartO...
  type ToolResultPartEncoded (line 651) | interface ToolResultPartEncoded extends BasePartEncoded<"tool-result", T...
  type ToolResultPartOptions (line 681) | interface ToolResultPartOptions extends ProviderOptions {}
  type MessageTypeId (line 729) | type MessageTypeId = typeof MessageTypeId
  type BaseMessage (line 747) | interface BaseMessage<Role extends string, Options extends ProviderOptio...
  type BaseMessageEncoded (line 767) | interface BaseMessageEncoded<Role extends string, Options extends Provid...
  type MessageConstructorParams (line 817) | type MessageConstructorParams<M extends Message> = Omit<M, MessageTypeId...
  type SystemMessage (line 860) | interface SystemMessage extends BaseMessage<"system", SystemMessageOptio...
  type SystemMessageEncoded (line 873) | interface SystemMessageEncoded extends BaseMessageEncoded<"system", Syst...
  type SystemMessageOptions (line 887) | interface SystemMessageOptions extends ProviderOptions {}
  type UserMessage (line 949) | interface UserMessage extends BaseMessage<"user", UserMessageOptions> {
  type UserMessagePart (line 962) | type UserMessagePart = TextPart | FilePart
  type UserMessageEncoded (line 970) | interface UserMessageEncoded extends BaseMessageEncoded<"user", UserMess...
  type UserMessagePartEncoded (line 983) | type UserMessagePartEncoded = TextPartEncoded | FilePartEncoded
  type UserMessageOptions (line 992) | interface UserMessageOptions extends ProviderOptions {}
  type AssistantMessage (line 1062) | interface AssistantMessage extends BaseMessage<"assistant", AssistantMes...
  type AssistantMessagePart (line 1075) | type AssistantMessagePart =
  type AssistantMessageEncoded (line 1088) | interface AssistantMessageEncoded extends BaseMessageEncoded<"assistant"...
  type AssistantMessagePartEncoded (line 1098) | type AssistantMessagePartEncoded =
  type AssistantMessageOptions (line 1112) | interface AssistantMessageOptions extends ProviderOptions {}
  type ToolMessage (line 1174) | interface ToolMessage extends BaseMessage<"tool", ToolMessageOptions> {
  type ToolMessagePart (line 1187) | type ToolMessagePart = ToolResultPart
  type ToolMessageEncoded (line 1195) | interface ToolMessageEncoded extends BaseMessageEncoded<"tool", ToolMess...
  type ToolMessagePartEncoded (line 1208) | type ToolMessagePartEncoded = ToolResultPartEncoded
  type ToolMessageOptions (line 1217) | interface ToolMessageOptions extends ProviderOptions {}
  type Message (line 1252) | type Message =
  type MessageEncoded (line 1264) | type MessageEncoded =
  type TypeId (line 1301) | type TypeId = typeof TypeId
  type Prompt (line 1318) | interface Prompt extends Pipeable {
  type PromptEncoded (line 1332) | interface PromptEncoded {
  class PromptFromSelf (line 1345) | class PromptFromSelf extends Schema.declare(
  type RawInput (line 1424) | type RawInput =
  method pipe (line 1431) | pipe() {

FILE: packages/ai/ai/src/Response.ts
  type PartTypeId (line 59) | type PartTypeId = typeof PartTypeId
  type AnyPart (line 75) | type AnyPart =
  type AnyPartEncoded (line 102) | type AnyPartEncoded =
  type AllParts (line 129) | type AllParts<Tools extends Record<string, Tool.Any>> =
  type AllPartsEncoded (line 156) | type AllPartsEncoded =
  type Part (line 246) | type Part<Tools extends Record<string, Tool.Any>> =
  type PartEncoded (line 263) | type PartEncoded =
  type StreamPart (line 316) | type StreamPart<Tools extends Record<string, Tool.Any>> =
  type StreamPartEncoded (line 341) | type StreamPartEncoded =
  type ToolCallParts (line 413) | type ToolCallParts<Tools extends Record<string, Tool.Any>> = {
  type ToolResultParts (line 427) | type ToolResultParts<Tools extends Record<string, Tool.Any>> = {
  type ProviderMetadata (line 468) | type ProviderMetadata = typeof ProviderMetadata.Type
  type BasePart (line 480) | interface BasePart<Type extends string, Metadata extends ProviderMetadat...
  type BasePartEncoded (line 500) | interface BasePartEncoded<Type extends string, Metadata extends Provider...
  type ConstructorParams (line 562) | type ConstructorParams<Part extends AnyPart> = Omit<Part, PartTypeId | "...
  type TextPart (line 588) | interface TextPart extends BasePart<"text", TextPartMetadata> {
  type TextPartEncoded (line 601) | interface TextPartEncoded extends BasePartEncoded<"text", TextPartMetada...
  type TextPartMetadata (line 615) | interface TextPartMetadata extends ProviderMetadata {}
  type TextStartPart (line 652) | interface TextStartPart extends BasePart<"text-start", TextStartPartMeta...
  type TextStartPartEncoded (line 665) | interface TextStartPartEncoded extends BasePartEncoded<"text-start", Tex...
  type TextStartPartMetadata (line 679) | interface TextStartPartMetadata extends ProviderMetadata {}
  type TextDeltaPart (line 715) | interface TextDeltaPart extends BasePart<"text-delta", TextDeltaPartMeta...
  type TextDeltaPartEncoded (line 732) | interface TextDeltaPartEncoded extends BasePartEncoded<"text-delta", Tex...
  type TextDeltaPartMetadata (line 750) | interface TextDeltaPartMetadata extends ProviderMetadata {}
  type TextEndPart (line 788) | interface TextEndPart extends BasePart<"text-end", TextEndPartMetadata> {
  type TextEndPartEncoded (line 801) | interface TextEndPartEncoded extends BasePartEncoded<"text-end", TextEnd...
  type TextEndPartMetadata (line 815) | interface TextEndPartMetadata extends ProviderMetadata {}
  type ReasoningPart (line 862) | interface ReasoningPart extends BasePart<"reasoning", ReasoningPartMetad...
  type ReasoningPartEncoded (line 875) | interface ReasoningPartEncoded extends BasePartEncoded<"reasoning", Reas...
  type ReasoningPartMetadata (line 889) | interface ReasoningPartMetadata extends ProviderMetadata {}
  type ReasoningStartPart (line 926) | interface ReasoningStartPart extends BasePart<"reasoning-start", Reasoni...
  type ReasoningStartPartEncoded (line 939) | interface ReasoningStartPartEncoded extends BasePartEncoded<"reasoning-s...
  type ReasoningStartPartMetadata (line 953) | interface ReasoningStartPartMetadata extends ProviderMetadata {}
  type ReasoningDeltaPart (line 990) | interface ReasoningDeltaPart extends BasePart<"reasoning-delta", Reasoni...
  type ReasoningDeltaPartEncoded (line 1007) | interface ReasoningDeltaPartEncoded extends BasePartEncoded<"reasoning-d...
  type ReasoningDeltaPartMetadata (line 1025) | interface ReasoningDeltaPartMetadata extends ProviderMetadata {}
  type ReasoningEndPart (line 1064) | interface ReasoningEndPart extends BasePart<"reasoning-end", ReasoningEn...
  type ReasoningEndPartEncoded (line 1077) | interface ReasoningEndPartEncoded extends BasePartEncoded<"reasoning-end...
  type ReasoningEndPartMetadata (line 1091) | interface ReasoningEndPartMetadata extends ProviderMetadata {}
  type ToolParamsStartPart (line 1130) | interface ToolParamsStartPart extends BasePart<"tool-params-start", Tool...
  type ToolParamsStartPartEncoded (line 1161) | interface ToolParamsStartPartEncoded extends BasePartEncoded<"tool-param...
  type ToolParamsStartPartMetadata (line 1193) | interface ToolParamsStartPartMetadata extends ProviderMetadata {}
  type ToolParamsDeltaPart (line 1235) | interface ToolParamsDeltaPart extends BasePart<"tool-params-delta", Tool...
  type ToolParamsDeltaPartEncoded (line 1252) | interface ToolParamsDeltaPartEncoded extends BasePartEncoded<"tool-param...
  type ToolParamsDeltaPartMetadata (line 1270) | interface ToolParamsDeltaPartMetadata extends ProviderMetadata {}
  type ToolParamsEndPart (line 1310) | interface ToolParamsEndPart extends BasePart<"tool-params-end", ToolPara...
  type ToolParamsEndPartEncoded (line 1323) | interface ToolParamsEndPartEncoded extends BasePartEncoded<"tool-params-...
  type ToolParamsEndPartMetadata (line 1337) | interface ToolParamsEndPartMetadata extends ProviderMetadata {}
  type ToolCallPart (line 1397) | interface ToolCallPart<Name extends string, Params> extends BasePart<"to...
  type ToolCallPartEncoded (line 1432) | interface ToolCallPartEncoded extends BasePartEncoded<"tool-call", ToolC...
  type ToolCallPartMetadata (line 1468) | interface ToolCallPartMetadata extends ProviderMetadata {}
  type BaseToolResult (line 1519) | interface BaseToolResult<Name extends string> extends BasePart<"tool-res...
  type ToolResultSuccess (line 1554) | interface ToolResultSuccess<Name extends string, Success> extends BaseTo...
  type ToolResultFailure (line 1571) | interface ToolResultFailure<Name extends string, Failure> extends BaseTo...
  type ToolResultPart (line 1621) | type ToolResultPart<Name extends string, Success, Failure> =
  type ToolResultPartEncoded (line 1631) | interface ToolResultPartEncoded extends BasePartEncoded<"tool-result", T...
  type ToolResultPartMetadata (line 1671) | interface ToolResultPartMetadata extends ProviderMetadata {}
  type FilePart (line 1792) | interface FilePart extends BasePart<"file", FilePartMetadata> {
  type FilePartEncoded (line 1809) | interface FilePartEncoded extends BasePartEncoded<"file", FilePartMetada...
  type FilePartMetadata (line 1827) | interface FilePartMetadata extends ProviderMetadata {}
  type DocumentSourcePart (line 1865) | interface DocumentSourcePart extends BasePart<"source", DocumentSourcePa...
  type DocumentSourcePartEncoded (line 1894) | interface DocumentSourcePartEncoded extends BasePartEncoded<"source", Do...
  type DocumentSourcePartMetadata (line 1924) | interface DocumentSourcePartMetadata extends ProviderMetadata {}
  type UrlSourcePart (line 1966) | interface UrlSourcePart extends BasePart<"source", UrlSourcePartMetadata> {
  type UrlSourcePartEncoded (line 1991) | interface UrlSourcePartEncoded extends BasePartEncoded<"source", UrlSour...
  type UrlSourcePartMetadata (line 2017) | interface UrlSourcePartMetadata extends ProviderMetadata {}
  type ResponseMetadataPart (line 2068) | interface ResponseMetadataPart extends BasePart<"response-metadata", Res...
  type ResponseMetadataPartEncoded (line 2089) | interface ResponseMetadataPartEncoded
  type ResponseMetadataPartMetadata (line 2113) | interface ResponseMetadataPartMetadata extends ProviderMetadata {}
  type FinishReason (line 2185) | type FinishReason = typeof FinishReason.Type
  class Usage (line 2197) | class Usage extends Schema.Class<Usage>("@effect/ai/AiResponse/Usage")({
  type FinishPart (line 2246) | interface FinishPart extends BasePart<"finish", FinishPartMetadata> {
  type FinishPartEncoded (line 2263) | interface FinishPartEncoded extends BasePartEncoded<"finish", FinishPart...
  type FinishPartMetadata (line 2281) | interface FinishPartMetadata extends ProviderMetadata {}
  type ErrorPart (line 2326) | interface ErrorPart extends BasePart<"error", ErrorPartMetadata> {
  type ErrorPartEncoded (line 2336) | interface ErrorPartEncoded extends BasePartEncoded<"error", ErrorPartMet...
  type ErrorPartMetadata (line 2347) | interface ErrorPartMetadata extends ProviderMetadata {}

FILE: packages/ai/ai/src/Telemetry.ts
  type GenAITelemetryAttributes (line 52) | type GenAITelemetryAttributes = Simplify<
  type AllAttributes (line 67) | type AllAttributes =
  type BaseAttributes (line 82) | interface BaseAttributes {
  type OperationAttributes (line 97) | interface OperationAttributes {
  type TokenAttributes (line 108) | interface TokenAttributes {
  type UsageAttributes (line 119) | interface UsageAttributes {
  type RequestAttributes (line 131) | interface RequestAttributes {
  type ResponseAttributes (line 183) | interface ResponseAttributes {
  type WellKnownOperationName (line 209) | type WellKnownOperationName = "chat" | "embeddings" | "text_completion"
  type WellKnownSystem (line 220) | type WellKnownSystem =
  type AttributesWithPrefix (line 264) | type AttributesWithPrefix<Attributes extends Record<string, any>, Prefix...
  type FormatAttributeName (line 288) | type FormatAttributeName<T extends string | number | symbol> = T extends...
  type GenAITelemetryAttributeOptions (line 391) | type GenAITelemetryAttributeOptions = BaseAttributes & {
  type SpanTransformer (line 500) | interface SpanTransformer {
  class CurrentSpanTransformer (line 546) | class CurrentSpanTransformer extends Context.Tag("@effect/ai/Telemetry/C...

FILE: packages/ai/ai/src/Tokenizer.ts
  class Tokenizer (line 65) | class Tokenizer extends Context.Tag("@effect/ai/Tokenizer")<
  type Service (line 93) | interface Service {
  method tokenize (line 162) | tokenize(input) {
  method truncate (line 165) | truncate(input, tokens) {

FILE: packages/ai/ai/src/Tool.ts
  type TypeId (line 60) | type TypeId = typeof TypeId
  type ProviderDefinedTypeId (line 76) | type ProviderDefinedTypeId = typeof ProviderDefinedTypeId
  type Tool (line 112) | interface Tool<
  type ProviderDefined (line 287) | interface ProviderDefined<
  type FailureMode (line 352) | type FailureMode = "error" | "return"
  type Variance (line 362) | interface Variance<out Requirements> extends Pipeable {
  type VarianceStruct (line 370) | interface VarianceStruct<out Requirements> {
  type ProviderDefinedProto (line 378) | interface ProviderDefinedProto {
  type Any (line 489) | interface Any extends Pipeable {
  type AnyProviderDefined (line 509) | interface AnyProviderDefined extends Any {
  type AnyStructSchema (line 523) | interface AnyStructSchema extends Pipeable {
  type AnyTaggedRequestSchema (line 538) | interface AnyTaggedRequestSchema extends AnyStructSchema {
  type FromTaggedRequest (line 550) | interface FromTaggedRequest<S extends AnyTaggedRequestSchema> extends
  type Name (line 568) | type Name<T> = T extends Tool<
  type Parameters (line 581) | type Parameters<T> = T extends Tool<
  type ParametersEncoded (line 594) | type ParametersEncoded<T> = T extends Tool<
  type ParametersSchema (line 608) | type ParametersSchema<T> = T extends Tool<
  type Success (line 621) | type Success<T> = T extends Tool<
  type SuccessEncoded (line 635) | type SuccessEncoded<T> = T extends Tool<
  type SuccessSchema (line 649) | type SuccessSchema<T> = T extends Tool<
  type Failure (line 662) | type Failure<T> = T extends Tool<
  type FailureEncoded (line 676) | type FailureEncoded<T> = T extends Tool<
  type Result (line 690) | type Result<T> = T extends Tool<
  type ResultEncoded (line 704) | type ResultEncoded<T> = T extends Tool<
  type Requirements (line 717) | type Requirements<T> = T extends Tool<
  type Handler (line 734) | interface Handler<Name extends string> {
  type HandlerResult (line 747) | interface HandlerResult<Tool extends Any> {
  type HandlerError (line 771) | type HandlerError<T> = T extends Tool<
  type HandlersFor (line 786) | type HandlersFor<Tools extends Record<string, Any>> = {
  type RequiresHandler (line 798) | type RequiresHandler<Tool extends Any> = Tool extends ProviderDefined<
  method pipe (line 811) | pipe() {
  method addDependency (line 814) | addDependency(this: Any) {
  method setParameters (line 817) | setParameters(
  method setSuccess (line 828) | setSuccess(this: Any, successSchema: Schema.Schema.Any) {
  method setFailure (line 834) | setFailure(this: Any, failureSchema: Schema.Schema.All) {
  method annotate (line 840) | annotate<I, S>(this: Any, tag: Context.Tag<I, S>, value: S) {
  method annotateContext (line 846) | annotateContext<I>(this: Any, context: Context.Context<I>) {
  class Title (line 1328) | class Title extends Context.Tag("@effect/ai/Tool/Title")<
  class Readonly (line 1347) | class Readonly extends Context.Reference<Readonly>()(
  class Destructive (line 1368) | class Destructive extends Context.Reference<Destructive>()(
  class Idempotent (line 1389) | class Idempotent extends Context.Reference<Idempotent>()(
  class OpenWorld (line 1410) | class OpenWorld extends Context.Reference<OpenWorld>()(
  function _parse (line 1443) | function _parse(text: string) {
  function filter (line 1463) | function filter(obj: any) {

FILE: packages/ai/ai/src/Toolkit.ts
  type TypeId (line 70) | type TypeId = typeof TypeId
  type Toolkit (line 111) | interface Toolkit<in out Tools extends Record<string, Tool.Any>> extends
  type Any (line 160) | interface Any {
  type Tools (line 172) | type Tools<T> = T extends Toolkit<infer Tools> ? Tools : never
  type ToolsByName (line 181) | type ToolsByName<Tools> = Tools extends Record<string, Tool.Any> ?
  type HandlersFrom (line 192) | type HandlersFrom<Tools extends Record<string, Tool.Any>> = {
  type WithHandlerTools (line 209) | type WithHandlerTools<T> = T extends WithHandler<infer Tools> ? Tools : ...
  type WithHandler (line 217) | interface WithHandler<in out Tools extends Record<string, Tool.Any>> {
  method toContext (line 249) | toContext(
  method toLayer (line 264) | toLayer(
  method commit (line 270) | commit(this: Toolkit<Record<string, Tool.Any>>) {
  method toJSON (line 370) | toJSON(this: Toolkit<any>): unknown {
  method pipe (line 376) | pipe() {
  type SimplifyRecord (line 448) | type SimplifyRecord<T> = { [K in keyof T]: T[K] } & {}
  type MergeRecords (line 456) | type MergeRecords<U> = {
  type MergedTools (line 470) | type MergedTools<Toolkits extends ReadonlyArray<Any>> = SimplifyRecord<

FILE: packages/ai/amazon-bedrock/src/AmazonBedrockClient.ts
  class AmazonBedrockClient (line 32) | class AmazonBedrockClient extends Context.Tag(
  type Service (line 40) | interface Service {
  type Client (line 244) | interface Client {

FILE: packages/ai/amazon-bedrock/src/AmazonBedrockConfig.ts
  class AmazonBedrockConfig (line 13) | class AmazonBedrockConfig extends Context.Tag("@effect/ai-google/AmazonB...
  type Service (line 34) | interface Service {

FILE: packages/ai/amazon-bedrock/src/AmazonBedrockLanguageModel.ts
  constant BEDROCK_CACHE_POINT (line 43) | const BEDROCK_CACHE_POINT: {
  type Model (line 51) | type Model = typeof BedrockFoundationModelId.Encoded
  class Config (line 61) | class Config extends Context.Tag(
  type Service (line 81) | interface Service extends
  type AmazonBedrockReasoningInfo (line 101) | type AmazonBedrockReasoningInfo = {
  type SystemMessageOptions (line 118) | interface SystemMessageOptions extends ProviderOptions {
  type UserMessageOptions (line 128) | interface UserMessageOptions extends ProviderOptions {
  type AssistantMessageOptions (line 138) | interface AssistantMessageOptions extends ProviderOptions {
  type ToolMessageOptions (line 148) | interface ToolMessageOptions extends ProviderOptions {
  type ReasoningPartOptions (line 158) | interface ReasoningPartOptions extends ProviderOptions {
  type ReasoningPartMetadata (line 164) | interface ReasoningPartMetadata extends ProviderMetadata {
  type FinishPartMetadata (line 168) | interface FinishPartMetadata extends ProviderMetadata {
  type ContentGroup (line 1097) | type ContentGroup = SystemMessageGroup | AssistantMessageGroup | UserMes...
  type SystemMessageGroup (line 1099) | interface SystemMessageGroup {
  type AssistantMessageGroup (line 1104) | interface AssistantMessageGroup {
  type UserMessageGroup (line 1109) | interface UserMessageGroup {
  constant DOCUMENT_MIME_TYPES (line 1172) | const DOCUMENT_MIME_TYPES: Record<string, typeof DocumentFormat.Encoded>...

FILE: packages/ai/amazon-bedrock/src/AmazonBedrockSchema.ts
  class BedrockFoundationModelId (line 22) | class BedrockFoundationModelId extends Schema.Literal(
  class CachePointBlock (line 119) | class CachePointBlock extends Schema.Class<CachePointBlock>(makeIdentifi...
  type DocumentFormat (line 142) | type DocumentFormat = typeof DocumentFormat.Type
  class DocumentBlock (line 148) | class DocumentBlock extends Schema.Class<DocumentBlock>(makeIdentifier("...
  class GuardrailConverseImageBlock (line 164) | class GuardrailConverseImageBlock extends Schema.Class<GuardrailConverse...
  class GuardrailConverseTextBlock (line 177) | class GuardrailConverseTextBlock extends Schema.Class<GuardrailConverseT...
  class GuardrailConverseContentBlock (line 188) | class GuardrailConverseContentBlock extends Schema.Union(
  type ImageFormat (line 202) | type ImageFormat = typeof ImageFormat.Type
  class ImageBlock (line 208) | class ImageBlock extends Schema.Class<ImageBlock>(makeIdentifier("ImageB...
  class JsonBlock (line 219) | class JsonBlock extends Schema.Class<JsonBlock>(makeIdentifier("JsonBloc...
  class ReasoningContentBlock (line 227) | class ReasoningContentBlock extends Schema.Union(
  class VideoBlock (line 249) | class VideoBlock extends Schema.Class<VideoBlock>(makeIdentifier("VideoB...
  class ToolResultBlock (line 275) | class ToolResultBlock extends Schema.Class<ToolResultBlock>(makeIdentifi...
  class ToolUseBlock (line 295) | class ToolUseBlock extends Schema.Class<ToolUseBlock>(makeIdentifier("To...
  class ContentBlock (line 313) | class ContentBlock extends Schema.Union(
  class Message (line 356) | class Message extends Schema.Class<Message>(makeIdentifier("Message"))({
  class ConverseOutput (line 365) | class ConverseOutput extends Schema.Class<ConverseOutput>(makeIdentifier...
  class ConverseMetrics (line 373) | class ConverseMetrics extends Schema.Class<ConverseMetrics>(makeIdentifi...
  class GuardrailContentFilter (line 381) | class GuardrailContentFilter extends Schema.Class<GuardrailContentFilter>(
  class GuardrailContentPolicyAssessment (line 395) | class GuardrailContentPolicyAssessment extends Schema.Class<GuardrailCon...
  class GuardrailContextualGroundingFilter (line 405) | class GuardrailContextualGroundingFilter extends Schema.Class<GuardrailC...
  class GuardrailContextualGroundingPolicyAssessment (line 419) | class GuardrailContextualGroundingPolicyAssessment
  class GuardrailImageCoverage (line 431) | class GuardrailImageCoverage extends Schema.Class<GuardrailImageCoverage>(
  class GuardrailTextCharactersCoverage (line 442) | class GuardrailTextCharactersCoverage extends Schema.Class<GuardrailText...
  class GuardrailCoverage (line 453) | class GuardrailCoverage extends Schema.Class<GuardrailCoverage>(makeIden...
  class GuardrailUsage (line 462) | class GuardrailUsage extends Schema.Class<GuardrailUsage>(makeIdentifier...
  class GuardrailInvocationMetrics (line 476) | class GuardrailInvocationMetrics extends Schema.Class<GuardrailInvocatio...
  class GuardrailPiiEntityFilter (line 488) | class GuardrailPiiEntityFilter extends Schema.Class<GuardrailPiiEntityFi...
  class GuardrailRegexFilter (line 533) | class GuardrailRegexFilter extends Schema.Class<GuardrailRegexFilter>(
  class GuardrailSensitiveInformationPolicyAssessment (line 547) | class GuardrailSensitiveInformationPolicyAssessment
  class GuardrailTopic (line 560) | class GuardrailTopic extends Schema.Class<GuardrailTopic>(makeIdentifier...
  class GuardrailTopicPolicyAssessment (line 571) | class GuardrailTopicPolicyAssessment extends Schema.Class<GuardrailTopic...
  class GuardrailCustomWord (line 581) | class GuardrailCustomWord extends Schema.Class<GuardrailCustomWord>(
  class GuardrailManagedWord (line 593) | class GuardrailManagedWord extends Schema.Class<GuardrailManagedWord>(
  class GuardrailWordPolicyAssessment (line 606) | class GuardrailWordPolicyAssessment extends Schema.Class<GuardrailWordPo...
  class GuardrailAssessment (line 617) | class GuardrailAssessment extends Schema.Class<GuardrailAssessment>(make...
  class GuardrailTraceAssessment (line 630) | class GuardrailTraceAssessment extends Schema.Class<GuardrailTraceAssess...
  class PromptRouterTrace (line 649) | class PromptRouterTrace extends Schema.Class<PromptRouterTrace>(makeIden...
  class ConverseTrace (line 662) | class ConverseTrace extends Schema.Class<ConverseTrace>(makeIdentifier("...
  class TokenUsage (line 677) | class TokenUsage extends Schema.Class<TokenUsage>(makeIdentifier("TokenU...
  class SystemContentBlock (line 689) | class SystemContentBlock extends Schema.Union(
  class GuardrailConfiguration (line 699) | class GuardrailConfiguration extends Schema.Class<GuardrailConfiguration>(
  class InferenceConfiguration (line 717) | class InferenceConfiguration extends Schema.Class<InferenceConfiguration>(
  class PerformanceConfiguration (line 736) | class PerformanceConfiguration extends Schema.Class<PerformanceConfigura...
  class ToolSpecification (line 746) | class ToolSpecification extends Schema.Class<ToolSpecification>(
  class Tool (line 769) | class Tool extends Schema.Class<Tool>(
  class ToolChoice (line 780) | class ToolChoice extends Schema.Union(
  class ToolConfiguration (line 798) | class ToolConfiguration extends Schema.Class<ToolConfiguration>(
  class ConverseRequest (line 809) | class ConverseRequest extends Schema.Class<ConverseRequest>(makeIdentifi...
  class ConverseResponse (line 851) | class ConverseResponse extends Schema.Class<ConverseResponse>(makeIdenti...
  class ReasoningContentBlockDelta (line 877) | class ReasoningContentBlockDelta extends Schema.Union(
  class ToolUseBlockStart (line 887) | class ToolUseBlockStart extends Schema.Class<ToolUseBlockStart>(
  class ContentBlockStart (line 906) | class ContentBlockStart extends Schema.Class<ContentBlockStart>(
  class ContentBlockStartEvent (line 916) | class ContentBlockStartEvent extends Schema.Class<ContentBlockStartEvent>(
  class ContentBlockStopEvent (line 927) | class ContentBlockStopEvent extends Schema.Class<ContentBlockStopEvent>(
  class ToolUseBlockDelta (line 937) | class ToolUseBlockDelta extends Schema.Class<ToolUseBlockDelta>(
  class ContentBlockDelta (line 947) | class ContentBlockDelta extends Schema.Union(
  class ContentBlockDeltaEvent (line 963) | class ContentBlockDeltaEvent extends Schema.Class<ContentBlockDeltaEvent>(
  class MessageStartEvent (line 974) | class MessageStartEvent extends Schema.Class<MessageStartEvent>(
  type StopReason (line 996) | type StopReason = typeof StopReason.Type
  class MessageStopEvent (line 1002) | class MessageStopEvent extends Schema.Class<MessageStopEvent>(
  class ConverseStreamMetrics (line 1016) | class ConverseStreamMetrics extends Schema.Class<ConverseStreamMetrics>(
  class ConverseStreamTrace (line 1026) | class ConverseStreamTrace extends Schema.Class<ConverseStreamTrace>(
  class ConverseStreamMetadataEvent (line 1037) | class ConverseStreamMetadataEvent extends Schema.Class<ConverseStreamMet...
  type ConverseResponseStreamEvent (line 1126) | type ConverseResponseStreamEvent = typeof ConverseResponseStreamEvent.Type

FILE: packages/ai/amazon-bedrock/src/EventStreamEncoding.ts
  method awaitRead (line 54) | awaitRead() {
  method emit (line 57) | emit(chunks) {
  method error (line 107) | error(cause) {
  method done (line 110) | done() {

FILE: packages/ai/anthropic/src/AnthropicClient.ts
  class AnthropicClient (line 30) | class AnthropicClient extends Context.Tag(
  type Service (line 44) | interface Service {
  class PingEvent (line 332) | class PingEvent extends Schema.Class<PingEvent>(
  class ErrorEvent (line 342) | class ErrorEvent extends Schema.Class<ErrorEvent>(
  class MessageStartEvent (line 365) | class MessageStartEvent extends Schema.Class<MessageStartEvent>(
  class ServerToolUsage (line 376) | class ServerToolUsage extends Schema.Class<ServerToolUsage>(
  class MessageDelta (line 392) | class MessageDelta extends Schema.Class<MessageDelta>(
  class MessageDeltaUsage (line 418) | class MessageDeltaUsage extends Schema.Class<MessageDeltaUsage>(
  class MessageDeltaEvent (line 462) | class MessageDeltaEvent extends Schema.Class<MessageDeltaEvent>(
  class MessageStopEvent (line 489) | class MessageStopEvent extends Schema.Class<MessageStopEvent>(
  class ContentBlockStartEvent (line 499) | class ContentBlockStartEvent extends Schema.Class<ContentBlockStartEvent>(
  class CitationsDelta (line 511) | class CitationsDelta extends Schema.Class<CitationsDelta>(
  class InputJsonContentBlockDelta (line 528) | class InputJsonContentBlockDelta extends Schema.Class<InputJsonContentBl...
  class SignatureContentBlockDelta (line 539) | class SignatureContentBlockDelta extends Schema.Class<SignatureContentBl...
  class TextContentBlockDelta (line 550) | class TextContentBlockDelta extends Schema.Class<TextContentBlockDelta>(
  class ThinkingContentBlockDelta (line 561) | class ThinkingContentBlockDelta extends Schema.Class<ThinkingContentBloc...
  class ContentBlockDeltaEvent (line 572) | class ContentBlockDeltaEvent extends Schema.Class<ContentBlockDeltaEvent>(
  class ContentBlockStopEvent (line 590) | class ContentBlockStopEvent extends Schema.Class<ContentBlockStopEvent>(
  type MessageStreamEvent (line 616) | type MessageStreamEvent = typeof MessageStreamEvent.Type

FILE: packages/ai/anthropic/src/AnthropicConfig.ts
  class AnthropicConfig (line 13) | class AnthropicConfig extends Context.Tag("@effect/ai-anthropic/Anthropi...
  type Service (line 34) | interface Service {

FILE: packages/ai/anthropic/src/AnthropicLanguageModel.ts
  type Model (line 34) | type Model = typeof Generated.Model.Encoded
  class Config (line 44) | class Config extends Context.Tag("@effect/ai-anthropic/AnthropicLanguage...
  type Service (line 65) | interface Service extends
  type AnthropicReasoningInfo (line 87) | type AnthropicReasoningInfo = {
  type SystemMessageOptions (line 108) | interface SystemMessageOptions extends ProviderOptions {
  type UserMessageOptions (line 117) | interface UserMessageOptions extends ProviderOptions {
  type AssistantMessageOptions (line 126) | interface AssistantMessageOptions extends ProviderOptions {
  type ToolMessageOptions (line 135) | interface ToolMessageOptions extends ProviderOptions {
  type TextPartOptions (line 144) | interface TextPartOptions extends ProviderOptions {
  type ReasoningPartOptions (line 153) | interface ReasoningPartOptions extends ProviderOptions {
  type FilePartOptions (line 166) | interface FilePartOptions extends ProviderOptions {
  type ToolCallPartOptions (line 191) | interface ToolCallPartOptions extends ProviderOptions {
  type ToolResultPartOptions (line 200) | interface ToolResultPartOptions extends ProviderOptions {
  type ReasoningPartMetadata (line 211) | interface ReasoningPartMetadata extends ProviderMetadata {
  type ReasoningStartPartMetadata (line 215) | interface ReasoningStartPartMetadata extends ProviderMetadata {
  type ReasoningDeltaPartMetadata (line 219) | interface ReasoningDeltaPartMetadata extends ProviderMetadata {
  type FinishPartMetadata (line 223) | interface FinishPartMetadata extends ProviderMetadata {
  type DocumentSourcePartMetadata (line 239) | interface DocumentSourcePartMetadata extends ProviderMetadata {
  type UrlSourcePartMetadata (line 273) | interface UrlSourcePartMetadata extends ProviderMetadata {
  type AnthropicTools (line 1398) | type AnthropicTools =
  type ContentGroup (line 1583) | type ContentGroup = SystemMessageGroup | AssistantMessageGroup | UserMes...
  type SystemMessageGroup (line 1585) | interface SystemMessageGroup {
  type AssistantMessageGroup (line 1590) | interface AssistantMessageGroup {
  type UserMessageGroup (line 1595) | interface UserMessageGroup {
  type CitableDocument (line 1642) | interface CitableDocument {

FILE: packages/ai/anthropic/src/AnthropicTokenizer.ts
  method tokenize (line 18) | tokenize(prompt) {

FILE: packages/ai/anthropic/src/AnthropicTool.ts
  type ProviderDefinedTools (line 41) | type ProviderDefinedTools = typeof ProviderDefinedTools.Type

FILE: packages/ai/anthropic/src/Generated.ts
  class MessagesPostParams (line 13) | class MessagesPostParams extends S.Struct({
  class Model (line 25) | class Model extends S.Union(
  class CacheControlEphemeralTtl (line 118) | class CacheControlEphemeralTtl extends S.Literal("5m", "1h") {}
  class CacheControlEphemeral (line 120) | class CacheControlEphemeral extends S.Class<CacheControlEphemeral>("Cach...
  class RequestCharLocationCitation (line 134) | class RequestCharLocationCitation extends S.Class<RequestCharLocationCit...
  class RequestPageLocationCitation (line 143) | class RequestPageLocationCitation extends S.Class<RequestPageLocationCit...
  class RequestContentBlockLocationCitation (line 152) | class RequestContentBlockLocationCitation
  class RequestWebSearchResultLocationCitation (line 163) | class RequestWebSearchResultLocationCitation
  class RequestSearchResultLocationCitation (line 173) | class RequestSearchResultLocationCitation
  class RequestTextBlock (line 185) | class RequestTextBlock extends S.Class<RequestTextBlock>("RequestTextBlo...
  class Base64ImageSourceMediaType (line 206) | class Base64ImageSourceMediaType extends S.Literal("image/jpeg", "image/...
  class Base64ImageSource (line 208) | class Base64ImageSource extends S.Class<Base64ImageSource>("Base64ImageS...
  class URLImageSource (line 214) | class URLImageSource extends S.Class<URLImageSource>("URLImageSource")({
  class RequestImageBlock (line 219) | class RequestImageBlock extends S.Class<RequestImageBlock>("RequestImage...
  class RequestCitationsConfig (line 228) | class RequestCitationsConfig extends S.Class<RequestCitationsConfig>("Re...
  class Base64PDFSource (line 232) | class Base64PDFSource extends S.Class<Base64PDFSource>("Base64PDFSource")({
  class PlainTextSource (line 238) | class PlainTextSource extends S.Class<PlainTextSource>("PlainTextSource")({
  class ContentBlockSource (line 244) | class ContentBlockSource extends S.Class<ContentBlockSource>("ContentBlo...
  class URLPDFSource (line 249) | class URLPDFSource extends S.Class<URLPDFSource>("URLPDFSource")({
  class RequestDocumentBlock (line 254) | class RequestDocumentBlock extends S.Class<RequestDocumentBlock>("Reques...
  class RequestSearchResultBlock (line 266) | class RequestSearchResultBlock extends S.Class<RequestSearchResultBlock>...
  class RequestThinkingBlock (line 278) | class RequestThinkingBlock extends S.Class<RequestThinkingBlock>("Reques...
  class RequestRedactedThinkingBlock (line 284) | class RequestRedactedThinkingBlock
  class RequestToolUseBlock (line 291) | class RequestToolUseBlock extends S.Class<RequestToolUseBlock>("RequestT...
  class RequestToolResultBlock (line 302) | class RequestToolResultBlock extends S.Class<RequestToolResultBlock>("Re...
  class RequestServerToolUseBlock (line 319) | class RequestServerToolUseBlock extends S.Class<RequestServerToolUseBloc...
  class RequestWebSearchResultBlock (line 330) | class RequestWebSearchResultBlock extends S.Class<RequestWebSearchResult...
  class WebSearchToolResultErrorCode (line 338) | class WebSearchToolResultErrorCode
  class RequestWebSearchToolResultError (line 342) | class RequestWebSearchToolResultError
  class RequestWebSearchToolResultBlock (line 349) | class RequestWebSearchToolResultBlock
  class InputContentBlock (line 361) | class InputContentBlock extends S.Union(
  class InputMessageRole (line 398) | class InputMessageRole extends S.Literal("user", "assistant") {}
  class InputMessage (line 400) | class InputMessage extends S.Class<InputMessage>("InputMessage")({
  class Metadata (line 405) | class Metadata extends S.Class<Metadata>("Metadata")({
  class CreateMessageParamsServiceTier (line 419) | class CreateMessageParamsServiceTier extends S.Literal("auto", "standard...
  class ThinkingConfigEnabled (line 421) | class ThinkingConfigEnabled extends S.Class<ThinkingConfigEnabled>("Thin...
  class ThinkingConfigDisabled (line 433) | class ThinkingConfigDisabled extends S.Class<ThinkingConfigDisabled>("Th...
  class ThinkingConfigParam (line 444) | class ThinkingConfigParam extends S.Union(ThinkingConfigEnabled, Thinkin...
  class ToolChoiceAuto (line 449) | class ToolChoiceAuto extends S.Class<ToolChoiceAuto>("ToolChoiceAuto")({
  class ToolChoiceAny (line 462) | class ToolChoiceAny extends S.Class<ToolChoiceAny>("ToolChoiceAny")({
  class ToolChoiceTool (line 475) | class ToolChoiceTool extends S.Class<ToolChoiceTool>("ToolChoiceTool")({
  class ToolChoiceNone (line 492) | class ToolChoiceNone extends S.Class<ToolChoiceNone>("ToolChoiceNone")({
  class ToolChoice (line 499) | class ToolChoice extends S.Union(ToolChoiceAuto, ToolChoiceAny, ToolChoi...
  class InputSchema (line 501) | class InputSchema extends S.Class<InputSchema>("InputSchema")({
  class Tool (line 507) | class Tool extends S.Class<Tool>("Tool")({
  class BashTool20250124 (line 533) | class BashTool20250124 extends S.Class<BashTool20250124>("BashTool202501...
  class TextEditor20250124 (line 547) | class TextEditor20250124 extends S.Class<TextEditor20250124>("TextEditor...
  class TextEditor20250429 (line 561) | class TextEditor20250429 extends S.Class<TextEditor20250429>("TextEditor...
  class TextEditor20250728 (line 575) | class TextEditor20250728 extends S.Class<TextEditor20250728>("TextEditor...
  class UserLocation (line 593) | class UserLocation extends S.Class<UserLocation>("UserLocation")({
  class WebSearchTool20250305 (line 613) | class WebSearchTool20250305 extends S.Class<WebSearchTool20250305>("WebS...
  class CreateMessageParams (line 643) | class CreateMessageParams extends S.Class<CreateMessageParams>("CreateMe...
  class ResponseCharLocationCitation (line 831) | class ResponseCharLocationCitation
  class ResponsePageLocationCitation (line 846) | class ResponsePageLocationCitation
  class ResponseContentBlockLocationCitation (line 861) | class ResponseContentBlockLocationCitation
  class ResponseWebSearchResultLocationCitation (line 876) | class ResponseWebSearchResultLocationCitation
  class ResponseSearchResultLocationCitation (line 889) | class ResponseSearchResultLocationCitation
  class ResponseTextBlock (line 904) | class ResponseTextBlock extends S.Class<ResponseTextBlock>("ResponseText...
  class ResponseThinkingBlock (line 928) | class ResponseThinkingBlock extends S.Class<ResponseThinkingBlock>("Resp...
  class ResponseRedactedThinkingBlock (line 934) | class ResponseRedactedThinkingBlock
  class ResponseToolUseBlock (line 944) | class ResponseToolUseBlock extends S.Class<ResponseToolUseBlock>("Respon...
  class ResponseServerToolUseBlock (line 951) | class ResponseServerToolUseBlock extends S.Class<ResponseServerToolUseBl...
  class ResponseWebSearchToolResultError (line 961) | class ResponseWebSearchToolResultError
  class ResponseWebSearchResultBlock (line 971) | class ResponseWebSearchResultBlock
  class ResponseWebSearchToolResultBlock (line 984) | class ResponseWebSearchToolResultBlock
  class ContentBlock (line 995) | class ContentBlock extends S.Union(
  class StopReason (line 1004) | class StopReason
  class CacheCreation (line 1008) | class CacheCreation extends S.Class<CacheCreation>("CacheCreation")({
  class ServerToolUsage (line 1025) | class ServerToolUsage extends S.Class<ServerToolUsage>("ServerToolUsage")({
  class UsageServiceTierEnum (line 1035) | class UsageServiceTierEnum extends S.Literal("standard", "priority", "ba...
  class Usage (line 1037) | class Usage extends S.Class<Usage>("Usage")({
  class Message (line 1070) | class Message extends S.Class<Message>("Message")({
  class InvalidRequestError (line 1152) | class InvalidRequestError extends S.Class<InvalidRequestError>("InvalidR...
  class AuthenticationError (line 1160) | class AuthenticationError extends S.Class<AuthenticationError>("Authenti...
  class BillingError (line 1168) | class BillingError extends S.Class<BillingError>("BillingError")({
  class PermissionError (line 1173) | class PermissionError extends S.Class<PermissionError>("PermissionError")({
  class NotFoundError (line 1181) | class NotFoundError extends S.Class<NotFoundError>("NotFoundError")({
  class RateLimitError (line 1189) | class RateLimitError extends S.Class<RateLimitError>("RateLimitError")({
  class GatewayTimeoutError (line 1197) | class GatewayTimeoutError extends S.Class<GatewayTimeoutError>("GatewayT...
  class APIError (line 1202) | class APIError extends S.Class<APIError>("APIError")({
  class OverloadedError (line 1207) | class OverloadedError extends S.Class<OverloadedError>("OverloadedError")({
  class ErrorResponse (line 1215) | class ErrorResponse extends S.Class<ErrorResponse>("ErrorResponse")({
  class CompletePostParams (line 1231) | class CompletePostParams extends S.Struct({
  class CompletionRequest (line 1246) | class CompletionRequest extends S.Class<CompletionRequest>("CompletionRe...
  class CompletionResponse (line 1308) | class CompletionResponse extends S.Class<CompletionResponse>("Completion...
  class ModelsListParams (line 1336) | class ModelsListParams extends S.Struct({
  class ModelInfo (line 1374) | class ModelInfo extends S.Class<ModelInfo>("ModelInfo")({
  class ListResponseModelInfo (line 1395) | class ListResponseModelInfo extends S.Class<ListResponseModelInfo>("List...
  class ModelsGetParams (line 1411) | class ModelsGetParams extends S.Struct({
  class MessageBatchesListParams (line 1432) | class MessageBatchesListParams extends S.Struct({
  class MessageBatchProcessingStatus (line 1467) | class MessageBatchProcessingStatus extends S.Literal("in_progress", "can...
  class RequestCounts (line 1469) | class RequestCounts extends S.Class<RequestCounts>("RequestCounts")({
  class MessageBatch (line 1500) | class MessageBatch extends S.Class<MessageBatch>("MessageBatch")({
  class ListResponseMessageBatch (line 1553) | class ListResponseMessageBatch extends S.Class<ListResponseMessageBatch>...
  class MessageBatchesPostParams (line 1569) | class MessageBatchesPostParams extends S.Struct({
  class MessageBatchIndividualRequestParams (line 1578) | class MessageBatchIndividualRequestParams
  class CreateMessageBatchParams (line 1595) | class CreateMessageBatchParams extends S.Class<CreateMessageBatchParams>...
  class MessageBatchesRetrieveParams (line 1602) | class MessageBatchesRetrieveParams extends S.Struct({
  class MessageBatchesDeleteParams (line 1617) | class MessageBatchesDeleteParams extends S.Struct({
  class DeleteMessageBatchResponse (line 1632) | class DeleteMessageBatchResponse extends S.Class<DeleteMessageBatchRespo...
  class MessageBatchesCancelParams (line 1648) | class MessageBatchesCancelParams extends S.Struct({
  class MessageBatchesResultsParams (line 1657) | class MessageBatchesResultsParams extends S.Struct({
  class MessagesCountTokensPostParams (line 1672) | class MessagesCountTokensPostParams extends S.Struct({
  class CountMessageTokensParams (line 1681) | class CountMessageTokensParams extends S.Class<CountMessageTokensParams>...
  class CountMessageTokensResponse (line 1813) | class CountMessageTokensResponse extends S.Class<CountMessageTokensRespo...
  class ListFilesV1FilesGetParams (line 1820) | class ListFilesV1FilesGetParams extends S.Struct({
  class FileMetadataSchema (line 1858) | class FileMetadataSchema extends S.Class<FileMetadataSchema>("FileMetada...
  class FileListResponse (line 1893) | class FileListResponse extends S.Class<FileListResponse>("FileListRespon...
  class UploadFileV1FilesPostParams (line 1912) | class UploadFileV1FilesPostParams extends S.Struct({
  class UploadFileV1FilesPostRequest (line 1927) | class UploadFileV1FilesPostRequest
  class GetFileMetadataV1FilesFileIdGetParams (line 1936) | class GetFileMetadataV1FilesFileIdGetParams extends S.Struct({
  class DeleteFileV1FilesFileIdDeleteParams (line 1957) | class DeleteFileV1FilesFileIdDeleteParams extends S.Struct({
  class FileDeleteResponse (line 1978) | class FileDeleteResponse extends S.Class<FileDeleteResponse>("FileDelete...
  class DownloadFileV1FilesFileIdContentGetParams (line 1991) | class DownloadFileV1FilesFileIdContentGetParams extends S.Struct({
  class ListSkillsV1SkillsGetParams (line 2012) | class ListSkillsV1SkillsGetParams extends S.Struct({
  class Skill (line 2053) | class Skill extends S.Class<Skill>("Skill")({
  class ListSkillsResponse (line 2096) | class ListSkillsResponse extends S.Class<ListSkillsResponse>("ListSkills...
  class CreateSkillV1SkillsPostParams (line 2115) | class CreateSkillV1SkillsPostParams extends S.Struct({
  class BodyCreateSkillV1SkillsPost (line 2130) | class BodyCreateSkillV1SkillsPost extends S.Class<BodyCreateSkillV1Skill...
  class CreateSkillResponse (line 2145) | class CreateSkillResponse extends S.Class<CreateSkillResponse>("CreateSk...
  class GetSkillV1SkillsSkillIdGetParams (line 2188) | class GetSkillV1SkillsSkillIdGetParams extends S.Struct({
  class GetSkillResponse (line 2209) | class GetSkillResponse extends S.Class<GetSkillResponse>("GetSkillRespon...
  class DeleteSkillV1SkillsSkillIdDeleteParams (line 2252) | class DeleteSkillV1SkillsSkillIdDeleteParams extends S.Struct({
  class DeleteSkillResponse (line 2273) | class DeleteSkillResponse extends S.Class<DeleteSkillResponse>("DeleteSk...
  class ListSkillVersionsV1SkillsSkillIdVersionsGetParams (line 2288) | class ListSkillVersionsV1SkillsSkillIdVersionsGetParams extends S.Struct({
  class SkillVersion (line 2319) | class SkillVersion extends S.Class<SkillVersion>("SkillVersion")({
  class ListSkillVersionsResponse (line 2366) | class ListSkillVersionsResponse extends S.Class<ListSkillVersionsRespons...
  class CreateSkillVersionV1SkillsSkillIdVersionsPostParams (line 2381) | class CreateSkillVersionV1SkillsSkillIdVersionsPostParams extends S.Stru...
  class BodyCreateSkillVersionV1SkillsSkillIdVersionsPost (line 2396) | class BodyCreateSkillVersionV1SkillsSkillIdVersionsPost
  class CreateSkillVersionResponse (line 2409) | class CreateSkillVersionResponse extends S.Class<CreateSkillVersionRespo...
  class GetSkillVersionV1SkillsSkillIdVersionsVersionGetParams (line 2456) | class GetSkillVersionV1SkillsSkillIdVersionsVersionGetParams extends S.S...
  class GetSkillVersionResponse (line 2477) | class GetSkillVersionResponse extends S.Class<GetSkillVersionResponse>("...
  class DeleteSkillVersionV1SkillsSkillIdVersionsVersionDeleteParams (line 2524) | class DeleteSkillVersionV1SkillsSkillIdVersionsVersionDeleteParams exten...
  class DeleteSkillVersionResponse (line 2545) | class DeleteSkillVersionResponse extends S.Class<DeleteSkillVersionRespo...
  class BetaMessagesPostParams (line 2560) | class BetaMessagesPostParams extends S.Struct({
  class BetaCacheControlEphemeralTtl (line 2584) | class BetaCacheControlEphemeralTtl extends S.Literal("5m", "1h") {}
  class BetaCacheControlEphemeral (line 2586) | class BetaCacheControlEphemeral extends S.Class<BetaCacheControlEphemera...
  class BetaRequestCharLocationCitation (line 2600) | class BetaRequestCharLocationCitation
  class BetaRequestPageLocationCitation (line 2611) | class BetaRequestPageLocationCitation
  class BetaRequestContentBlockLocationCitation (line 2622) | class BetaRequestContentBlockLocationCitation
  class BetaRequestWebSearchResultLocationCitation (line 2633) | class BetaRequestWebSearchResultLocationCitation
  class BetaRequestSearchResultLocationCitation (line 2643) | class BetaRequestSearchResultLocationCitation
  class BetaRequestTextBlock (line 2655) | class BetaRequestTextBlock extends S.Class<BetaRequestTextBlock>("BetaRe...
  class BetaBase64ImageSourceMediaType (line 2676) | class BetaBase64ImageSourceMediaType extends S.Literal("image/jpeg", "im...
  class BetaBase64ImageSource (line 2678) | class BetaBase64ImageSource extends S.Class<BetaBase64ImageSource>("Beta...
  class BetaURLImageSource (line 2684) | class BetaURLImageSource extends S.Class<BetaURLImageSource>("BetaURLIma...
  class BetaFileImageSource (line 2689) | class BetaFileImageSource extends S.Class<BetaFileImageSource>("BetaFile...
  class BetaRequestImageBlock (line 2694) | class BetaRequestImageBlock extends S.Class<BetaRequestImageBlock>("Beta...
  class BetaRequestCitationsConfig (line 2703) | class BetaRequestCitationsConfig extends S.Class<BetaRequestCitationsCon...
  class BetaBase64PDFSource (line 2707) | class BetaBase64PDFSource extends S.Class<BetaBase64PDFSource>("BetaBase...
  class BetaPlainTextSource (line 2713) | class BetaPlainTextSource extends S.Class<BetaPlainTextSource>("BetaPlai...
  class BetaContentBlockSource (line 2719) | class BetaContentBlockSource extends S.Class<BetaContentBlockSource>("Be...
  class BetaURLPDFSource (line 2724) | class BetaURLPDFSource extends S.Class<BetaURLPDFSource>("BetaURLPDFSour...
  class BetaFileDocumentSource (line 2729) | class BetaFileDocumentSource extends S.Class<BetaFileDocumentSource>("Be...
  class BetaRequestDocumentBlock (line 2734) | class BetaRequestDocumentBlock extends S.Class<BetaRequestDocumentBlock>...
  class BetaRequestSearchResultBlock (line 2752) | class BetaRequestSearchResultBlock
  class BetaRequestThinkingBlock (line 2766) | class BetaRequestThinkingBlock extends S.Class<BetaRequestThinkingBlock>...
  class BetaRequestRedactedThinkingBlock (line 2772) | class BetaRequestRedactedThinkingBlock
  class BetaRequestToolUseBlock (line 2779) | class BetaRequestToolUseBlock extends S.Class<BetaRequestToolUseBlock>("...
  class BetaRequestToolResultBlock (line 2790) | class BetaRequestToolResultBlock extends S.Class<BetaRequestToolResultBl...
  class BetaRequestServerToolUseBlockName (line 2809) | class BetaRequestServerToolUseBlockName
  class BetaRequestServerToolUseBlock (line 2813) | class BetaRequestServerToolUseBlock
  class BetaRequestWebSearchResultBlock (line 2826) | class BetaRequestWebSearchResultBlock
  class BetaWebSearchToolResultErrorCode (line 2836) | class BetaWebSearchToolResultErrorCode
  class BetaRequestWebSearchToolResultError (line 2840) | class BetaRequestWebSearchToolResultError
  class BetaRequestWebSearchToolResultBlock (line 2847) | class BetaRequestWebSearchToolResultBlock
  class BetaWebFetchToolResultErrorCode (line 2859) | class BetaWebFetchToolResultErrorCode extends S.Literal(
  class BetaRequestWebFetchToolResultError (line 2870) | class BetaRequestWebFetchToolResultError
  class BetaRequestWebFetchResultBlock (line 2877) | class BetaRequestWebFetchResultBlock
  class BetaRequestWebFetchToolResultBlock (line 2892) | class BetaRequestWebFetchToolResultBlock
  class BetaCodeExecutionToolResultErrorCode (line 2904) | class BetaCodeExecutionToolResultErrorCode
  class BetaRequestCodeExecutionToolResultError (line 2908) | class BetaRequestCodeExecutionToolResultError
  class BetaRequestCodeExecutionOutputBlock (line 2915) | class BetaRequestCodeExecutionOutputBlock
  class BetaRequestCodeExecutionResultBlock (line 2922) | class BetaRequestCodeExecutionResultBlock
  class BetaRequestCodeExecutionToolResultBlock (line 2932) | class BetaRequestCodeExecutionToolResultBlock
  class BetaBashCodeExecutionToolResultErrorCode (line 2944) | class BetaBashCodeExecutionToolResultErrorCode extends S.Literal(
  class BetaRequestBashCodeExecutionToolResultError (line 2952) | class BetaRequestBashCodeExecutionToolResultError
  class BetaRequestBashCodeExecutionOutputBlock (line 2959) | class BetaRequestBashCodeExecutionOutputBlock
  class BetaRequestBashCodeExecutionResultBlock (line 2966) | class BetaRequestBashCodeExecutionResultBlock
  class BetaRequestBashCodeExecutionToolResultBlock (line 2976) | class BetaRequestBashCodeExecutionToolResultBlock
  class BetaTextEditorCodeExecutionToolResultErrorCode (line 2988) | class BetaTextEditorCodeExecutionToolResultErrorCode extends S.Literal(
  class BetaRequestTextEditorCodeExecutionToolResultError (line 2996) | class BetaRequestTextEditorCodeExecutionToolResultError
  class BetaRequestTextEditorCodeExecutionViewResultBlockFileType (line 3006) | class BetaRequestTextEditorCodeExecutionViewResultBlockFileType extends ...
  class BetaRequestTextEditorCodeExecutionViewResultBlock (line 3008) | class BetaRequestTextEditorCodeExecutionViewResultBlock
  class BetaRequestTextEditorCodeExecutionCreateResultBlock (line 3021) | class BetaRequestTextEditorCodeExecutionCreateResultBlock
  class BetaRequestTextEditorCodeExecutionStrReplaceResultBlock (line 3030) | class BetaRequestTextEditorCodeExecutionStrReplaceResultBlock
  class BetaRequestTextEditorCodeExecutionToolResultBlock (line 3043) | class BetaRequestTextEditorCodeExecutionToolResultBlock
  class BetaRequestMCPToolUseBlock (line 3062) | class BetaRequestMCPToolUseBlock extends S.Class<BetaRequestMCPToolUseBl...
  class BetaRequestMCPToolResultBlock (line 3077) | class BetaRequestMCPToolResultBlock
  class BetaRequestContainerUploadBlock (line 3094) | class BetaRequestContainerUploadBlock
  class BetaInputContentBlock (line 3105) | class BetaInputContentBlock extends S.Union(
  class BetaInputMessageRole (line 3149) | class BetaInputMessageRole extends S.Literal("user", "assistant") {}
  class BetaInputMessage (line 3151) | class BetaInputMessage extends S.Class<BetaInputMessage>("BetaInputMessa...
  class BetaSkillParamsType (line 3159) | class BetaSkillParamsType extends S.Literal("anthropic", "custom") {}
  class BetaSkillParams (line 3164) | class BetaSkillParams extends S.Class<BetaSkillParams>("BetaSkillParams")({
  class BetaContainerParams (line 3182) | class BetaContainerParams extends S.Class<BetaContainerParams>("BetaCont...
  class BetaInputTokensClearAtLeast (line 3193) | class BetaInputTokensClearAtLeast extends S.Class<BetaInputTokensClearAt...
  class BetaToolUsesKeep (line 3198) | class BetaToolUsesKeep extends S.Class<BetaToolUsesKeep>("BetaToolUsesKe...
  class BetaInputTokensTrigger (line 3203) | class BetaInputTokensTrigger extends S.Class<BetaInputTokensTrigger>("Be...
  class BetaToolUsesTrigger (line 3208) | class BetaToolUsesTrigger extends S.Class<BetaToolUsesTrigger>("BetaTool...
  class BetaClearToolUses20250919 (line 3213) | class BetaClearToolUses20250919 extends S.Class<BetaClearToolUses2025091...
  class BetaContextManagementConfig (line 3237) | class BetaContextManagementConfig extends S.Class<BetaContextManagementC...
  class BetaRequestMCPServerToolConfiguration (line 3244) | class BetaRequestMCPServerToolConfiguration
  class BetaRequestMCPServerURLDefinition (line 3251) | class BetaRequestMCPServerURLDefinition
  class BetaMetadata (line 3261) | class BetaMetadata extends S.Class<BetaMetadata>("BetaMetadata")({
  class BetaCreateMessageParamsServiceTier (line 3275) | class BetaCreateMessageParamsServiceTier extends S.Literal("auto", "stan...
  class BetaThinkingConfigEnabled (line 3277) | class BetaThinkingConfigEnabled extends S.Class<BetaThinkingConfigEnable...
  class BetaThinkingConfigDisabled (line 3289) | class BetaThinkingConfigDisabled extends S.Class<BetaThinkingConfigDisab...
  class BetaThinkingConfigParam (line 3300) | class BetaThinkingConfigParam extends S.Union(BetaThinkingConfigEnabled,...
  class BetaToolChoiceAuto (line 3305) | class BetaToolChoiceAuto extends S.Class<BetaToolChoiceAuto>("BetaToolCh...
  class BetaToolChoiceAny (line 3318) | class BetaToolChoiceAny extends S.Class<BetaToolChoiceAny>("BetaToolChoi...
  class BetaToolChoiceTool (line 3331) | class BetaToolChoiceTool extends S.Class<BetaToolChoiceTool>("BetaToolCh...
  class BetaToolChoiceNone (line 3348) | class BetaToolChoiceNone extends S.Class<BetaToolChoiceNone>("BetaToolCh...
  class BetaToolChoice (line 3355) | class BetaToolChoice
  class BetaInputSchema (line 3359) | class BetaInputSchema extends S.Class<BetaInputSchema>("BetaInputSchema")({
  class BetaTool (line 3365) | class BetaTool extends S.Class<BetaTool>("BetaTool")({
  class BetaBashTool20241022 (line 3391) | class BetaBashTool20241022 extends S.Class<BetaBashTool20241022>("BetaBa...
  class BetaBashTool20250124 (line 3405) | class BetaBashTool20250124 extends S.Class<BetaBashTool20250124>("BetaBa...
  class BetaCodeExecutionTool20250522 (line 3419) | class BetaCodeExecutionTool20250522
  class BetaCodeExecutionTool20250825 (line 3435) | class BetaCodeExecutionTool20250825
  class BetaComputerUseTool20241022 (line 3451) | class BetaComputerUseTool20241022 extends S.Class<BetaComputerUseTool202...
  class BetaMemoryTool20250818 (line 3477) | class BetaMemoryTool20250818 extends S.Class<BetaMemoryTool20250818>("Be...
  class BetaComputerUseTool20250124 (line 3491) | class BetaComputerUseTool20250124 extends S.Class<BetaComputerUseTool202...
  class BetaTextEditor20241022 (line 3517) | class BetaTextEditor20241022 extends S.Class<BetaTextEditor20241022>("Be...
  class BetaTextEditor20250124 (line 3531) | class BetaTextEditor20250124 extends S.Class<BetaTextEditor20250124>("Be...
  class BetaTextEditor20250429 (line 3545) | class BetaTextEditor20250429 extends S.Class<BetaTextEditor20250429>("Be...
  class BetaTextEditor20250728 (line 3559) | class BetaTextEditor20250728 extends S.Class<BetaTextEditor20250728>("Be...
  class BetaUserLocation (line 3577) | class BetaUserLocation extends S.Class<BetaUserLocation>("BetaUserLocati...
  class BetaWebSearchTool20250305 (line 3597) | class BetaWebSearchTool20250305 extends S.Class<BetaWebSearchTool2025030...
  class BetaWebFetchTool20250910 (line 3627) | class BetaWebFetchTool20250910 extends S.Class<BetaWebFetchTool20250910>...
  class BetaCreateMessageParams (line 3661) | class BetaCreateMessageParams extends S.Class<BetaCreateMessageParams>("...
  class BetaResponseCharLocationCitation (line 3878) | class BetaResponseCharLocationCitation
  class BetaResponsePageLocationCitation (line 3893) | class BetaResponsePageLocationCitation
  class BetaResponseContentBlockLocationCitation (line 3908) | class BetaResponseContentBlockLocationCitation
  class BetaResponseWebSearchResultLocationCitation (line 3923) | class BetaResponseWebSearchResultLocationCitation
  class BetaResponseSearchResultLocationCitation (line 3936) | class BetaResponseSearchResultLocationCitation
  class BetaResponseTextBlock (line 3951) | class BetaResponseTextBlock extends S.Class<BetaResponseTextBlock>("Beta...
  class BetaResponseThinkingBlock (line 3975) | class BetaResponseThinkingBlock extends S.Class<BetaResponseThinkingBloc...
  class BetaResponseRedactedThinkingBlock (line 3981) | class BetaResponseRedactedThinkingBlock
  class BetaResponseToolUseBlock (line 3991) | class BetaResponseToolUseBlock extends S.Class<BetaResponseToolUseBlock>...
  class BetaResponseServerToolUseBlockName (line 3998) | class BetaResponseServerToolUseBlockName
  class BetaResponseServerToolUseBlock (line 4002) | class BetaResponseServerToolUseBlock
  class BetaResponseWebSearchToolResultError (line 4014) | class BetaResponseWebSearchToolResultError
  class BetaResponseWebSearchResultBlock (line 4024) | class BetaResponseWebSearchResultBlock
  class BetaResponseWebSearchToolResultBlock (line 4037) | class BetaResponseWebSearchToolResultBlock
  class BetaResponseWebFetchToolResultError (line 4048) | class BetaResponseWebFetchToolResultError
  class BetaResponseCitationsConfig (line 4058) | class BetaResponseCitationsConfig extends S.Class<BetaResponseCitationsC...
  class BetaResponseDocumentBlock (line 4062) | class BetaResponseDocumentBlock extends S.Class<BetaResponseDocumentBloc...
  class BetaResponseWebFetchResultBlock (line 4075) | class BetaResponseWebFetchResultBlock
  class BetaResponseWebFetchToolResultBlock (line 4093) | class BetaResponseWebFetchToolResultBlock
  class BetaResponseCodeExecutionToolResultError (line 4104) | class BetaResponseCodeExecutionToolResultError
  class BetaResponseCodeExecutionOutputBlock (line 4114) | class BetaResponseCodeExecutionOutputBlock
  class BetaResponseCodeExecutionResultBlock (line 4124) | class BetaResponseCodeExecutionResultBlock
  class BetaResponseCodeExecutionToolResultBlock (line 4137) | class BetaResponseCodeExecutionToolResultBlock
  class BetaResponseBashCodeExecutionToolResultError (line 4148) | class BetaResponseBashCodeExecutionToolResultError
  class BetaResponseBashCodeExecutionOutputBlock (line 4158) | class BetaResponseBashCodeExecutionOutputBlock
  class BetaResponseBashCodeExecutionResultBlock (line 4168) | class BetaResponseBashCodeExecutionResultBlock
  class BetaResponseBashCodeExecutionToolResultBlock (line 4181) | class BetaResponseBashCodeExecutionToolResultBlock
  class BetaResponseTextEditorCodeExecutionToolResultError (line 4192) | class BetaResponseTextEditorCodeExecutionToolResultError
  class BetaResponseTextEditorCodeExecutionViewResultBlockFileType (line 4205) | class BetaResponseTextEditorCodeExecutionViewResultBlockFileType extends...
  class BetaResponseTextEditorCodeExecutionViewResultBlock (line 4207) | class BetaResponseTextEditorCodeExecutionViewResultBlock
  class BetaResponseTextEditorCodeExecutionCreateResultBlock (line 4223) | class BetaResponseTextEditorCodeExecutionCreateResultBlock
  class BetaResponseTextEditorCodeExecutionStrReplaceResultBlock (line 4235) | class BetaResponseTextEditorCodeExecutionStrReplaceResultBlock
  class BetaResponseTextEditorCodeExecutionToolResultBlock (line 4251) | class BetaResponseTextEditorCodeExecutionToolResultBlock
  class BetaResponseMCPToolUseBlock (line 4269) | class BetaResponseMCPToolUseBlock extends S.Class<BetaResponseMCPToolUse...
  class BetaResponseMCPToolResultBlock (line 4283) | class BetaResponseMCPToolResultBlock
  class BetaResponseContainerUploadBlock (line 4298) | class BetaResponseContainerUploadBlock
  class BetaContentBlock (line 4308) | class BetaContentBlock extends S.Union(
  class BetaStopReason (line 4324) | class BetaStopReason extends S.Literal(
  class BetaCacheCreation (line 4334) | class BetaCacheCreation extends S.Class<BetaCacheCreation>("BetaCacheCre...
  class BetaServerToolUsage (line 4351) | class BetaServerToolUsage extends S.Class<BetaServerToolUsage>("BetaServ...
  class BetaUsageServiceTierEnum (line 4368) | class BetaUsageServiceTierEnum extends S.Literal("standard", "priority",...
  class BetaUsage (line 4370) | class BetaUsage extends S.Class<BetaUsage>("BetaUsage")({
  class BetaResponseClearToolUses20250919Edit (line 4403) | class BetaResponseClearToolUses20250919Edit
  class BetaResponseContextManagement (line 4423) | class BetaResponseContextManagement
  class BetaSkillType (line 4435) | class BetaSkillType extends S.Literal("anthropic", "custom") {}
  class BetaSkill (line 4440) | class BetaSkill extends S.Class<BetaSkill>("BetaSkill")({
  class BetaContainer (line 4458) | class BetaContainer extends S.Class<BetaContainer>("BetaContainer")({
  class BetaMessage (line 4473) | class BetaMessage extends S.Class<BetaMessage>("BetaMessage")({
  class BetaInvalidRequestError (line 4567) | class BetaInvalidRequestError extends S.Class<BetaInvalidRequestError>("...
  class BetaAuthenticationError (line 4575) | class BetaAuthenticationError extends S.Class<BetaAuthenticationError>("...
  class BetaBillingError (line 4583) | class BetaBillingError extends S.Class<BetaBillingError>("BetaBillingErr...
  class BetaPermissionError (line 4588) | class BetaPermissionError extends S.Class<BetaPermissionError>("BetaPerm...
  class BetaNotFoundError (line 4596) | class BetaNotFoundError extends S.Class<BetaNotFoundError>("BetaNotFound...
  class BetaRateLimitError (line 4604) | class BetaRateLimitError extends S.Class<BetaRateLimitError>("BetaRateLi...
  class BetaGatewayTimeoutError (line 4612) | class BetaGatewayTimeoutError extends S.Class<BetaGatewayTimeoutError>("...
  class BetaAPIError (line 4617) | class BetaAPIError extends S.Class<BetaAPIError>("BetaAPIError")({
  class BetaOverloadedError (line 4622) | class BetaOverloadedError extends S.Class<BetaOverloadedError>("BetaOver...
  class BetaErrorResponse (line 4630) | class BetaErrorResponse extends S.Class<BetaErrorResponse>("BetaErrorRes...
  class BetaModelsListParams (line 4646) | class BetaModelsListParams extends S.Struct({
  class BetaModelInfo (line 4684) | class BetaModelInfo extends S.Class<BetaModelInfo>("BetaModelInfo")({
  class BetaListResponseModelInfo (line 4705) | class BetaListResponseModelInfo extends S.Class<BetaListResponseModelInf...
  class BetaModelsGetParams (line 4721) | class BetaModelsGetParams extends S.Struct({
  class BetaMessageBatchesListParams (line 4742) | class BetaMessageBatchesListParams extends S.Struct({
  class BetaMessageBatchProcessingStatus (line 4783) | class BetaMessageBatchProcessingStatus extends S.Literal("in_progress", ...
  class BetaRequestCounts (line 4785) | class BetaRequestCounts extends S.Class<BetaRequestCounts>("BetaRequestC...
  class BetaMessageBatch (line 4816) | class BetaMessageBatch extends S.Class<BetaMessageBatch>("BetaMessageBat...
  class BetaListResponseMessageBatch (line 4869) | class BetaListResponseMessageBatch
  class BetaMessageBatchesPostParams (line 4887) | class BetaMessageBatchesPostParams extends S.Struct({
  class BetaMessageBatchIndividualRequestParams (line 4902) | class BetaMessageBatchIndividualRequestParams
  class BetaCreateMessageBatchParams (line 4919) | class BetaCreateMessageBatchParams
  class BetaMessageBatchesRetrieveParams (line 4928) | class BetaMessageBatchesRetrieveParams extends S.Struct({
  class BetaMessageBatchesDeleteParams (line 4949) | class BetaMessageBatchesDeleteParams extends S.Struct({
  class BetaDeleteMessageBatchResponse (line 4970) | class BetaDeleteMessageBatchResponse
  class BetaMessageBatchesCancelParams (line 4988) | class BetaMessageBatchesCancelParams extends S.Struct({
  class BetaMessageBatchesResultsParams (line 5003) | class BetaMessageBatchesResultsParams extends S.Struct({
  class BetaMessagesCountTokensPostParams (line 5024) | class BetaMessagesCountTokensPostParams extends S.Struct({
  class BetaCountMessageTokensParams (line 5039) | class BetaCountMessageTokensParams
  class BetaContextManagementResponse (line 5198) | class BetaContextManagementResponse
  class BetaCountMessageTokensResponse (line 5207) | class BetaCountMessageTokensResponse
  class BetaListFilesV1FilesGetParams (line 5220) | class BetaListFilesV1FilesGetParams extends S.Struct({
  class BetaFileMetadataSchema (line 5258) | class BetaFileMetadataSchema extends S.Class<BetaFileMetadataSchema>("Be...
  class BetaFileListResponse (line 5293) | class BetaFileListResponse extends S.Class<BetaFileListResponse>("BetaFi...
  class BetaUploadFileV1FilesPostParams (line 5312) | class BetaUploadFileV1FilesPostParams extends S.Struct({
  class BetaUploadFileV1FilesPostRequest (line 5327) | class BetaUploadFileV1FilesPostRequest
  class BetaGetFileMetadataV1FilesFileIdGetParams (line 5336) | class BetaGetFileMetadataV1FilesFileIdGetParams extends S.Struct({
  class BetaDeleteFileV1FilesFileIdDeleteParams (line 5357) | class BetaDeleteFileV1FilesFileIdDeleteParams extends S.Struct({
  class BetaFileDeleteResponse (line 5378) | class BetaFileDeleteResponse extends S.Class<BetaFileDeleteResponse>("Be...
  class BetaDownloadFileV1FilesFileIdContentGetParams (line 5391) | class BetaDownloadFileV1FilesFileIdContentGetParams extends S.Struct({
  class BetaListSkillsV1SkillsGetParams (line 5412) | class BetaListSkillsV1SkillsGetParams extends S.Struct({
  class BetaapiSchemasSkillsSkill (line 5453) | class BetaapiSchemasSkillsSkill extends S.Class<BetaapiSchemasSkillsSkil...
  class BetaListSkillsResponse (line 5496) | class BetaListSkillsResponse extends S.Class<BetaListSkillsResponse>("Be...
  class BetaCreateSkillV1SkillsPostParams (line 5515) | class BetaCreateSkillV1SkillsPostParams extends S.Struct({
  class BetaBodyCreateSkillV1SkillsPost (line 5530) | class BetaBodyCreateSkillV1SkillsPost
  class BetaCreateSkillResponse (line 5547) | class BetaCreateSkillResponse extends S.Class<BetaCreateSkillResponse>("...
  class BetaGetSkillV1SkillsSkillIdGetParams (line 5590) | class BetaGetSkillV1SkillsSkillIdGetParams extends S.Struct({
  class BetaGetSkillResponse (line 5611) | class BetaGetSkillResponse extends S.Class<BetaGetSkillResponse>("BetaGe...
  class BetaDeleteSkillV1SkillsSkillIdDeleteParams (line 5654) | class BetaDeleteSkillV1SkillsSkillIdDeleteParams extends S.Struct({
  class BetaDeleteSkillResponse (line 5675) | class BetaDeleteSkillResponse extends S.Class<BetaDeleteSkillResponse>("...
  class BetaListSkillVersionsV1SkillsSkillIdVersionsGetParams (line 5690) | class BetaListSkillVersionsV1SkillsSkillIdVersionsGetParams extends S.St...
  class BetaSkillVersion (line 5721) | class BetaSkillVersion extends S.Class<BetaSkillVersion>("BetaSkillVersi...
  class BetaListSkillVersionsResponse (line 5768) | class BetaListSkillVersionsResponse
  class BetaCreateSkillVersionV1SkillsSkillIdVersionsPostParams (line 5785) | class BetaCreateSkillVersionV1SkillsSkillIdVersionsPostParams extends S....
  class BetaBodyCreateSkillVersionV1SkillsSkillIdVersionsPost (line 5800) | class BetaBodyCreateSkillVersionV1SkillsSkillIdVersionsPost
  class BetaCreateSkillVersionResponse (line 5813) | class BetaCreateSkillVersionResponse
  class BetaGetSkillVersionV1SkillsSkillIdVersionsVersionGetParams (line 5862) | class BetaGetSkillVersionV1SkillsSkillIdVersionsVersionGetParams extends...
  class BetaGetSkillVersionResponse (line 5883) | class BetaGetSkillVersionResponse extends S.Class<BetaGetSkillVersionRes...
  class BetaDeleteSkillVersionV1SkillsSkillIdVersionsVersionDeleteParams (line 5930) | class BetaDeleteSkillVersionV1SkillsSkillIdVersionsVersionDeleteParams e...
  class BetaDeleteSkillVersionResponse (line 5951) | class BetaDeleteSkillVersionResponse
  type Client (line 6641) | interface Client {
  type ClientError (line 7201) | interface ClientError<Tag extends string, E> {
  class ClientErrorImpl (line 7208) | class ClientErrorImpl extends Data.Error<{

FILE: packages/ai/google/src/Generated.ts
  class ListOperationsParams (line 13) | class ListOperationsParams extends S.Struct({
  class Status (line 29) | class Status extends S.Class<Status>("Status")({
  class Operation (line 51) | class Operation extends S.Class<Operation>("Operation")({
  class ListOperationsResponse (line 91) | class ListOperationsResponse extends S.Class<ListOperationsResponse>("Li...
  class ListOperationsByParams (line 109) | class ListOperationsByParams extends S.Struct({
  class ListOperationsByModelParams (line 116) | class ListOperationsByModelParams extends S.Struct({
  class Empty (line 132) | class Empty extends S.Record({ key: S.String, value: S.Unknown }) {}
  class Blob (line 139) | class Blob extends S.Class<Blob>("Blob")({
  class FunctionCall (line 161) | class FunctionCall extends S.Class<FunctionCall>("FunctionCall")({
  class FunctionResponseBlob (line 185) | class FunctionResponseBlob extends S.Class<FunctionResponseBlob>("Functi...
  class FunctionResponsePart (line 213) | class FunctionResponsePart extends S.Class<FunctionResponsePart>("Functi...
  class FunctionResponseScheduling (line 225) | class FunctionResponseScheduling
  class FunctionResponse (line 236) | class FunctionResponse extends S.Class<FunctionResponse>("FunctionRespon...
  class FileData (line 283) | class FileData extends S.Class<FileData>("FileData")({
  class ExecutableCodeLanguage (line 297) | class ExecutableCodeLanguage extends S.Literal("LANGUAGE_UNSPECIFIED", "...
  class ExecutableCode (line 307) | class ExecutableCode extends S.Class<ExecutableCode>("ExecutableCode")({
  class CodeExecutionResultOutcome (line 321) | class CodeExecutionResultOutcome
  class CodeExecutionResult (line 331) | class CodeExecutionResult extends S.Class<CodeExecutionResult>("CodeExec...
  class VideoMetadata (line 346) | class VideoMetadata extends S.Class<VideoMetadata>("VideoMetadata")({
  class MediaResolutionLevel (line 363) | class MediaResolutionLevel extends S.Literal(
  class MediaResolution (line 374) | class MediaResolution extends S.Class<MediaResolution>("MediaResolution")({
  class Part (line 387) | class Part extends S.Class<Part>("Part")({
  class Content (line 455) | class Content extends S.Class<Content>("Content")({
  class Type (line 470) | class Type
  type SchemaEncoded (line 566) | interface SchemaEncoded extends S.Struct.Encoded<typeof schemaFields> {
  class Schema (line 584) | class Schema extends S.Class<Schema>("Schema")({
  class FunctionDeclarationBehavior (line 597) | class FunctionDeclarationBehavior extends S.Literal("UNSPECIFIED", "BLOC...
  class FunctionDeclaration (line 606) | class FunctionDeclaration extends S.Class<FunctionDeclaration>("Function...
  class DynamicRetrievalConfigMode (line 640) | class DynamicRetrievalConfigMode extends S.Literal("MODE_UNSPECIFIED", "...
  class DynamicRetrievalConfig (line 645) | class DynamicRetrievalConfig extends S.Class<DynamicRetrievalConfig>("Dy...
  class GoogleSearchRetrieval (line 660) | class GoogleSearchRetrieval extends S.Class<GoogleSearchRetrieval>("Goog...
  class CodeExecution (line 674) | class CodeExecution extends S.Record({ key: S.String, value: S.Unknown }...
  class Interval (line 684) | class Interval extends S.Class<Interval>("Interval")({
  class GoogleSearch (line 705) | class GoogleSearch extends S.Class<GoogleSearch>("GoogleSearch")({
  class ComputerUseEnvironment (line 717) | class ComputerUseEnvironment extends S.Literal("ENVIRONMENT_UNSPECIFIED"...
  class ComputerUse (line 722) | class ComputerUse extends S.Class<ComputerUse>("ComputerUse")({
  class UrlContext (line 741) | class UrlContext extends S.Record({ key: S.String, value: S.Unknown }) {}
  class FileSearch (line 747) | class FileSearch extends S.Class<FileSearch>("FileSearch")({
  class StreamableHttpTransport (line 767) | class StreamableHttpTransport extends S.Class<StreamableHttpTransport>("...
  class McpServer (line 796) | class McpServer extends S.Class<McpServer>("McpServer")({
  class GoogleMaps (line 810) | class GoogleMaps extends S.Class<GoogleMaps>("GoogleMaps")({
  class Tool (line 829) | class Tool extends S.Class<Tool>("Tool")({
  class FunctionCallingConfigMode (line 888) | class FunctionCallingConfigMode extends S.Literal("MODE_UNSPECIFIED", "A...
  class FunctionCallingConfig (line 893) | class FunctionCallingConfig extends S.Class<FunctionCallingConfig>("Func...
  class LatLng (line 916) | class LatLng extends S.Class<LatLng>("LatLng")({
  class RetrievalConfig (line 930) | class RetrievalConfig extends S.Class<RetrievalConfig>("RetrievalConfig")({
  class ToolConfig (line 947) | class ToolConfig extends S.Class<ToolConfig>("ToolConfig")({
  class HarmCategory (line 958) | class HarmCategory extends S.Literal(
  class SafetySettingThreshold (line 976) | class SafetySettingThreshold extends S.Literal(
  class SafetySetting (line 991) | class SafetySetting extends S.Class<SafetySetting>("SafetySetting")({
  class PrebuiltVoiceConfig (line 1005) | class PrebuiltVoiceConfig extends S.Class<PrebuiltVoiceConfig>("Prebuilt...
  class VoiceConfig (line 1015) | class VoiceConfig extends S.Class<VoiceConfig>("VoiceConfig")({
  class SpeakerVoiceConfig (line 1025) | class SpeakerVoiceConfig extends S.Class<SpeakerVoiceConfig>("SpeakerVoi...
  class MultiSpeakerVoiceConfig (line 1039) | class MultiSpeakerVoiceConfig extends S.Class<MultiSpeakerVoiceConfig>("...
  class SpeechConfig (line 1049) | class SpeechConfig extends S.Class<SpeechConfig>("SpeechConfig")({
  class ThinkingConfigThinkingLevel (line 1075) | class ThinkingConfigThinkingLevel
  class ThinkingConfig (line 1082) | class ThinkingConfig extends S.Class<ThinkingConfig>("ThinkingConfig")({
  class ImageConfig (line 1103) | class ImageConfig extends S.Class<ImageConfig>("ImageConfig")({
  class GenerationConfigMediaResolution (line 1122) | class GenerationConfigMediaResolution extends S.Literal(
  class GenerationConfig (line 1133) | class GenerationConfig extends S.Class<GenerationConfig>("GenerationConf...
  class GenerateContentRequest (line 1306) | class GenerateContentRequest extends S.Class<GenerateContentRequest>("Ge...
  class CandidateFinishReason (line 1383) | class CandidateFinishReason extends S.Literal(
  class SafetyRatingProbability (line 1408) | class SafetyRatingProbability
  class SafetyRating (line 1421) | class SafetyRating extends S.Class<SafetyRating>("SafetyRating")({
  class CitationSource (line 1439) | class CitationSource extends S.Class<CitationSource>("CitationSource")({
  class CitationMetadata (line 1465) | class CitationMetadata extends S.Class<CitationMetadata>("CitationMetada...
  class GroundingPassageId (line 1475) | class GroundingPassageId extends S.Class<GroundingPassageId>("GroundingP...
  class SemanticRetrieverChunk (line 1492) | class SemanticRetrieverChunk extends S.Class<SemanticRetrieverChunk>("Se...
  class AttributionSourceId (line 1509) | class AttributionSourceId extends S.Class<AttributionSourceId>("Attribut...
  class GroundingAttribution (line 1523) | class GroundingAttribution extends S.Class<GroundingAttribution>("Ground...
  class SearchEntryPoint (line 1537) | class SearchEntryPoint extends S.Class<SearchEntryPoint>("SearchEntryPoi...
  class Web (line 1551) | class Web extends S.Class<Web>("Web")({
  class RetrievedContext (line 1565) | class RetrievedContext extends S.Class<RetrievedContext>("RetrievedConte...
  class ReviewSnippet (line 1589) | class ReviewSnippet extends S.Class<ReviewSnippet>("ReviewSnippet")({
  class PlaceAnswerSources (line 1612) | class PlaceAnswerSources extends S.Class<PlaceAnswerSources>("PlaceAnswe...
  class Maps (line 1624) | class Maps extends S.Class<Maps>("Maps")({
  class GroundingChunk (line 1652) | class GroundingChunk extends S.Class<GroundingChunk>("GroundingChunk")({
  class GoogleAiGenerativelanguageV1BetaSegment (line 1670) | class GoogleAiGenerativelanguageV1BetaSegment
  class GoogleAiGenerativelanguageV1BetaGroundingSupport (line 1696) | class GoogleAiGenerativelanguageV1BetaGroundingSupport
  class RetrievalMetadata (line 1723) | class RetrievalMetadata extends S.Class<RetrievalMetadata>("RetrievalMet...
  class GroundingMetadata (line 1737) | class GroundingMetadata extends S.Class<GroundingMetadata>("GroundingMet...
  class LogprobsResultCandidate (line 1769) | class LogprobsResultCandidate extends S.Class<LogprobsResultCandidate>("...
  class TopCandidates (line 1787) | class TopCandidates extends S.Class<TopCandidates>("TopCandidates")({
  class LogprobsResult (line 1797) | class LogprobsResult extends S.Class<LogprobsResult>("LogprobsResult")({
  class UrlMetadataUrlRetrievalStatus (line 1816) | class UrlMetadataUrlRetrievalStatus extends S.Literal(
  class UrlMetadata (line 1827) | class UrlMetadata extends S.Class<UrlMetadata>("UrlMetadata")({
  class UrlContextMetadata (line 1841) | class UrlContextMetadata extends S.Class<UrlContextMetadata>("UrlContext...
  class Candidate (line 1851) | class Candidate extends S.Class<Candidate>("Candidate")({
  class PromptFeedbackBlockReason (line 1919) | class PromptFeedbackBlockReason
  class PromptFeedback (line 1927) | class PromptFeedback extends S.Class<PromptFeedback>("PromptFeedback")({
  class GenerativeLanguageModality (line 1940) | class GenerativeLanguageModality
  class ModalityTokenCount (line 1947) | class ModalityTokenCount extends S.Class<ModalityTokenCount>("ModalityTo...
  class UsageMetadata (line 1961) | class UsageMetadata extends S.Class<UsageMetadata>("UsageMetadata")({
  class GenerateContentResponse (line 2019) | class GenerateContentResponse extends S.Class<GenerateContentResponse>("...
  class GroundingPassage (line 2045) | class GroundingPassage extends S.Class<GroundingPassage>("GroundingPassa...
  class GroundingPassages (line 2060) | class GroundingPassages extends S.Class<GroundingPassages>("GroundingPas...
  class ConditionOperation (line 2070) | class ConditionOperation extends S.Literal(
  class Condition (line 2085) | class Condition extends S.Class<Condition>("Condition")({
  class MetadataFilter (line 2108) | class MetadataFilter extends S.Class<MetadataFilter>("MetadataFilter")({
  class SemanticRetrieverConfig (line 2124) | class SemanticRetrieverConfig extends S.Class<SemanticRetrieverConfig>("...
  class GenerateAnswerRequestAnswerStyle (line 2151) | class GenerateAnswerRequestAnswerStyle
  class GenerateAnswerRequest (line 2158) | class GenerateAnswerRequest extends S.Class<GenerateAnswerRequest>("Gene...
  class InputFeedbackBlockReason (line 2217) | class InputFeedbackBlockReason extends S.Literal("BLOCK_REASON_UNSPECIFI...
  class InputFeedback (line 2223) | class InputFeedback extends S.Class<InputFeedback>("InputFeedback")({
  class GenerateAnswerResponse (line 2239) | class GenerateAnswerResponse extends S.Class<GenerateAnswerResponse>("Ge...
  class TaskType (line 2280) | class TaskType extends S.Literal(
  class EmbedContentRequest (line 2295) | class EmbedContentRequest extends S.Class<EmbedContentRequest>("EmbedCon...
  class ContentEmbedding (line 2333) | class ContentEmbedding extends S.Class<ContentEmbedding>("ContentEmbeddi...
  class EmbedContentResponse (line 2349) | class EmbedContentResponse extends S.Class<EmbedContentResponse>("EmbedC...
  class BatchEmbedContentsRequest (line 2359) | class BatchEmbedContentsRequest extends S.Class<BatchEmbedContentsReques...
  class BatchEmbedContentsResponse (line 2370) | class BatchEmbedContentsResponse extends S.Class<BatchEmbedContentsRespo...
  class CountTokensRequest (line 2384) | class CountTokensRequest extends S.Class<CountTokensRequest>("CountToken...
  class CountTokensResponse (line 2408) | class CountTokensResponse extends S.Class<CountTokensResponse>("CountTok...
  class InlinedRequest (line 2431) | class InlinedRequest extends S.Class<InlinedRequest>("InlinedRequest")({
  class InlinedRequests (line 2446) | class InlinedRequests extends S.Class<InlinedRequests>("InlinedRequests")({
  class InputConfig (line 2456) | class InputConfig extends S.Class<InputConfig>("InputConfig")({
  class InlinedResponse (line 2470) | class InlinedResponse extends S.Class<InlinedResponse>("InlinedResponse")({
  class InlinedResponses (line 2488) | class InlinedResponses extends S.Class<InlinedResponses>("InlinedRespons...
  class GenerateContentBatchOutput (line 2499) | class GenerateContentBatchOutput extends S.Class<GenerateContentBatchOut...
  class BatchStats (line 2519) | class BatchStats extends S.Class<BatchStats>("BatchStats")({
  class BatchState (line 2538) | class BatchState extends S.Literal(
  class GenerateContentBatch (line 2551) | class GenerateContentBatch extends S.Class<GenerateContentBatch>("Genera...
  class BatchGenerateContentRequest (line 2608) | class BatchGenerateContentRequest extends S.Class<BatchGenerateContentRe...
  class BatchGenerateContentResponse (line 2618) | class BatchGenerateContentResponse
  class BatchGenerateContentOperation (line 2631) | class BatchGenerateContentOperation
  class InlinedEmbedContentRequest (line 2657) | class InlinedEmbedContentRequest extends S.Class<InlinedEmbedContentRequ...
  class InlinedEmbedContentRequests (line 2672) | class InlinedEmbedContentRequests extends S.Class<InlinedEmbedContentReq...
  class InputEmbedContentConfig (line 2682) | class InputEmbedContentConfig extends S.Class<InputEmbedContentConfig>("...
  class InlinedEmbedContentResponse (line 2696) | class InlinedEmbedContentResponse extends S.Class<InlinedEmbedContentRes...
  class InlinedEmbedContentResponses (line 2714) | class InlinedEmbedContentResponses
  class EmbedContentBatchOutput (line 2727) | class EmbedContentBatchOutput extends S.Class<EmbedContentBatchOutput>("...
  class EmbedContentBatchStats (line 2746) | class EmbedContentBatchStats extends S.Class<EmbedContentBatchStats>("Em...
  class EmbedContentBatch (line 2768) | class EmbedContentBatch extends S.Class<EmbedContentBatch>("EmbedContent...
  class AsyncBatchEmbedContentRequest (line 2825) | class AsyncBatchEmbedContentRequest
  class AsyncBatchEmbedContentResponse (line 2837) | class AsyncBatchEmbedContentResponse
  class AsyncBatchEmbedContentOperation (line 2850) | class AsyncBatchEmbedContentOperation
  class UpdateGenerateContentBatchParams (line 2873) | class UpdateGenerateContentBatchParams extends S.Struct({
  class UpdateEmbedContentBatchParams (line 2879) | class UpdateEmbedContentBatchParams extends S.Struct({
  class ListCachedContentsParams (line 2885) | class ListCachedContentsParams extends S.Struct({
  class CachedContentUsageMetadata (line 2893) | class CachedContentUsageMetadata extends S.Class<CachedContentUsageMetad...
  class CachedContent (line 2906) | class CachedContent extends S.Class<CachedContent>("CachedContent")({
  class ListCachedContentsResponse (line 2965) | class ListCachedContentsResponse extends S.Class<ListCachedContentsRespo...
  class UpdateCachedContentParams (line 2977) | class UpdateCachedContentParams extends S.Struct({
  class Message (line 2992) | class Message extends S.Class<Message>("Message")({
  class Example (line 3021) | class Example extends S.Class<Example>("Example")({
  class MessagePrompt (line 3041) | class MessagePrompt extends S.Class<MessagePrompt>("MessagePrompt")({
  class GenerateMessageRequest (line 3085) | class GenerateMessageRequest extends S.Class<GenerateMessageRequest>("Ge...
  class ContentFilterReason (line 3132) | class ContentFilterReason extends S.Literal("BLOCKED_REASON_UNSPECIFIED"...
  class ContentFilter (line 3140) | class ContentFilter extends S.Class<ContentFilter>("ContentFilter")({
  class GenerateMessageResponse (line 3157) | class GenerateMessageResponse extends S.Class<GenerateMessageResponse>("...
  class CountMessageTokensRequest (line 3183) | class CountMessageTokensRequest extends S.Class<CountMessageTokensReques...
  class CountMessageTokensResponse (line 3195) | class CountMessageTokensResponse extends S.Class<CountMessageTokensRespo...
  class ListFilesParams (line 3204) | class ListFilesParams extends S.Struct({
  class VideoFileMetadata (line 3212) | class VideoFileMetadata extends S.Class<VideoFileMetadata>("VideoFileMet...
  class FileState (line 3222) | class FileState extends S.Literal("STATE_UNSPECIFIED", "PROCESSING", "AC...
  class FileSource (line 3227) | class FileSource extends S.Literal("SOURCE_UNSPECIFIED", "UPLOADED", "GE...
  class File (line 3233) | class File extends S.Class<File>("File")({
  class ListFilesResponse (line 3302) | class ListFilesResponse extends S.Class<ListFilesResponse>("ListFilesRes...
  class CreateFileRequest (line 3317) | class CreateFileRequest extends S.Class<CreateFileRequest>("CreateFileRe...
  class CreateFileResponse (line 3327) | class CreateFileResponse extends S.Class<CreateFileResponse>("CreateFile...
  class DownloadFileResponse (line 3337) | class DownloadFileResponse extends S.Record({ key: S.String, value: S.Un...
  class GeneratedFileState (line 3342) | class GeneratedFileState extends S.Literal("STATE_UNSPECIFIED", "GENERAT...
  class GeneratedFile (line 3347) | class GeneratedFile extends S.Class<GeneratedFile>("GeneratedFile")({
  class ListGeneratedFilesParams (line 3367) | class ListGeneratedFilesParams extends S.Struct({
  class ListGeneratedFilesResponse (line 3375) | class ListGeneratedFilesResponse extends S.Class<ListGeneratedFilesRespo...
  class Model (line 3390) | class Model extends S.Class<Model>("Model")({
  class ListModelsParams (line 3485) | class ListModelsParams extends S.Struct({
  class ListModelsResponse (line 3493) | class ListModelsResponse extends S.Class<ListModelsResponse>("ListModels...
  class TunedModelSource (line 3509) | class TunedModelSource extends S.Class<TunedModelSource>("TunedModelSour...
  class TunedModelState (line 3526) | class TunedModelState extends S.Literal("STATE_UNSPECIFIED", "CREATING",...
  class TuningSnapshot (line 3531) | class TuningSnapshot extends S.Class<TuningSnapshot>("TuningSnapshot")({
  class TuningExample (line 3553) | class TuningExample extends S.Class<TuningExample>("TuningExample")({
  class TuningExamples (line 3567) | class TuningExamples extends S.Class<TuningExamples>("TuningExamples")({
  class Dataset (line 3578) | class Dataset extends S.Class<Dataset>("Dataset")({
  class Hyperparameters (line 3589) | class Hyperparameters extends S.Class<Hyperparameters>("Hyperparameters")({
  class TuningTask (line 3621) | class TuningTask extends S.Class<TuningTask>("TuningTask")({
  class TunedModel (line 3648) | class TunedModel extends S.Class<TunedModel>("TunedModel")({
  class UpdateTunedModelParams (line 3734) | class UpdateTunedModelParams extends S.Struct({
  class ListTunedModelsParams (line 3740) | class ListTunedModelsParams extends S.Struct({
  class ListTunedModelsResponse (line 3749) | class ListTunedModelsResponse extends S.Class<ListTunedModelsResponse>("...
  class CreateTunedModelParams (line 3762) | class CreateTunedModelParams extends S.Struct({
  class CreateTunedModelMetadata (line 3770) | class CreateTunedModelMetadata extends S.Class<CreateTunedModelMetadata>...
  class CreateTunedModelOperation (line 3797) | class CreateTunedModelOperation extends S.Class<CreateTunedModelOperatio...
  class ListPermissionsParams (line 3818) | class ListPermissionsParams extends S.Struct({
  class PermissionGranteeType (line 3826) | class PermissionGranteeType extends S.Literal("GRANTEE_TYPE_UNSPECIFIED"...
  class PermissionRole (line 3831) | class PermissionRole extends S.Literal("ROLE_UNSPECIFIED", "OWNER", "WRI...
  class Permission (line 3849) | class Permission extends S.Class<Permission>("Permission")({
  class ListPermissionsResponse (line 3877) | class ListPermissionsResponse extends S.Class<ListPermissionsResponse>("...
  class ListPermissionsByCorpusParams (line 3890) | class ListPermissionsByCorpusParams extends S.Struct({
  class UpdatePermissionParams (line 3895) | class UpdatePermissionParams extends S.Struct({
  class UpdatePermissionByCorpusAndPermissionParams (line 3899) | class UpdatePermissionByCorpusAndPermissionParams extends S.Struct({
  class TransferOwnershipRequest (line 3906) | class TransferOwnershipRequest extends S.Class<TransferOwnershipRequest>...
  class TransferOwnershipResponse (line 3917) | class TransferOwnershipResponse extends S.Record({ key: S.String, value:...
  class PredictRequest (line 3922) | class PredictRequest extends S.Class<PredictRequest>("PredictRequest")({...
  class PredictResponse (line 3927) | class PredictResponse extends S.Class<PredictResponse>("PredictResponse"...
  class PredictLongRunningRequest (line 3932) | class PredictLongRunningRequest extends S.Class<PredictLongRunningReques...
  class PredictLongRunningMetadata (line 3937) | class PredictLongRunningMetadata extends S.Record({ key: S.String, value...
  class Video (line 3942) | class Video extends S.Class<Video>("Video")({
  class Media (line 3956) | class Media extends S.Class<Media>("Media")({
  class PredictLongRunningGeneratedVideoResponse (line 3966) | class PredictLongRunningGeneratedVideoResponse
  class PredictLongRunningResponse (line 3986) | class PredictLongRunningResponse extends S.Class<PredictLongRunningRespo...
  class PredictLongRunningOperation (line 3997) | class PredictLongRunningOperation extends S.Class<PredictLongRunningOper...
  class ListFileSearchStoresParams (line 4018) | class ListFileSearchStoresParams extends S.Struct({
  class FileSearchStore (line 4026) | class FileSearchStore extends S.Class<FileSearchStore>("FileSearchStore")({
  class ListFileSearchStoresResponse (line 4077) | class ListFileSearchStoresResponse
  class ListCorporaParams (line 4091) | class ListCorporaParams extends S.Struct({
  class Corpus (line 4100) | class Corpus extends S.Class<Corpus>("Corpus")({
  class ListCorporaResponse (line 4130) | class ListCorporaResponse extends S.Class<ListCorporaResponse>("ListCorp...
  class DeleteFileSearchStoreParams (line 4142) | class DeleteFileSearchStoreParams extends S.Struct({
  class DeleteCorpusParams (line 4146) | class DeleteCorpusParams extends S.Struct({
  class StringList (line 4153) | class StringList extends S.Class<StringList>("StringList")({
  class CustomMetadata (line 4163) | class CustomMetadata extends S.Class<CustomMetadata>("CustomMetadata")({
  class DocumentState (line 4185) | class DocumentState extends S.Literal("STATE_UNSPECIFIED", "STATE_PENDIN...
  class Document (line 4190) | class Document extends S.Class<Document>("Document")({
  class DeleteDocumentParams (line 4233) | class DeleteDocumentParams extends S.Struct({
  class ListDocumentsParams (line 4237) | class ListDocumentsParams extends S.Struct({
  class ListDocumentsResponse (line 4246) | class ListDocumentsResponse extends S.Class<ListDocumentsResponse>("List...
  class WhiteSpaceConfig (line 4261) | class WhiteSpaceConfig extends S.Class<WhiteSpaceConfig>("WhiteSpaceConf...
  class ChunkingConfig (line 4285) | class ChunkingConfig extends S.Class<ChunkingConfig>("ChunkingConfig")({
  class ImportFileRequest (line 4296) | class ImportFileRequest extends S.Class<ImportFileRequest>("ImportFileRe...
  class ImportFileMetadata (line 4316) | class ImportFileMetadata extends S.Record({ key: S.String, value: S.Unkn...
  class ImportFileResponse (line 4321) | class ImportFileResponse extends S.Class<ImportFileResponse>("ImportFile...
  class ImportFileOperation (line 4339) | class ImportFileOperation extends S.Class<ImportFileOperation>("ImportFi...
  class UploadToFileSearchStoreRequest (line 4363) | class UploadToFileSearchStoreRequest
  class UploadToFileSearchStoreMetadata (line 4389) | class UploadToFileSearchStoreMetadata extends S.Record({ key: S.String, ...
  class UploadToFileSearchStoreResponse (line 4394) | class UploadToFileSearchStoreResponse
  class UploadToFileSearchStoreOperation (line 4421) | class UploadToFileSearchStoreOperation
  class TextPrompt (line 4449) | class TextPrompt extends S.Class<TextPrompt>("TextPrompt")({
  class GenerateTextRequest (line 4459) | class GenerateTextRequest extends S.Class<GenerateTextRequest>("Generate...
  class TextCompletion (line 4545) | class TextCompletion extends S.Class<TextCompletion>("TextCompletion")({
  class SafetyFeedback (line 4575) | class SafetyFeedback extends S.Class<SafetyFeedback>("SafetyFeedback")({
  class GenerateTextResponse (line 4589) | class GenerateTextResponse extends S.Class<GenerateTextResponse>("Genera...
  class EmbedTextRequest (line 4617) | class EmbedTextRequest extends S.Class<EmbedTextRequest>("EmbedTextReque...
  class Embedding (line 4631) | class Embedding extends S.Class<Embedding>("Embedding")({
  class EmbedTextResponse (line 4641) | class EmbedTextResponse extends S.Class<EmbedTextResponse>("EmbedTextRes...
  class BatchEmbedTextRequest (line 4651) | class BatchEmbedTextRequest extends S.Class<BatchEmbedTextRequest>("Batc...
  class BatchEmbedTextResponse (line 4666) | class BatchEmbedTextResponse extends S.Class<BatchEmbedTextResponse>("Ba...
  class CountTextTokensRequest (line 4679) | class CountTextTokensRequest extends S.Class<CountTextTokensRequest>("Co...
  class CountTextTokensResponse (line 4691) | class CountTextTokensResponse extends S.Class<CountTextTokensResponse>("...
  type Client (line 5414) | interface Client {
  type ClientError (line 6050) | interface ClientError<Tag extends string, E> {
  class ClientErrorImpl (line 6057) | class ClientErrorImpl extends Data.Error<{

FILE: packages/ai/google/src/GoogleClient.ts
  class GoogleClient (line 31) | class GoogleClient extends Context.Tag(
  type Service (line 39) | interface Service {

FILE: packages/ai/google/src/GoogleConfig.ts
  class GoogleConfig (line 13) | class GoogleConfig extends Context.Tag("@effect/ai-google/GoogleConfig")<
  type Service (line 34) | interface Service {

FILE: packages/ai/google/src/GoogleLanguageModel.ts
  type Model (line 28) | type Model = string
  class Config (line 38) | class Config extends Context.Tag("@effect/ai-google/GoogleLanguageModel/...
  type Service (line 59) | interface Service extends
  type ReasoningPartOptions (line 83) | interface ReasoningPartOptions extends ProviderOptions {
  type TextPartOptions (line 89) | interface TextPartOptions extends ProviderOptions {
  type ToolCallPartOptions (line 95) | interface ToolCallPartOptions extends ProviderOptions {
  type TextStartPartMetadata (line 103) | interface TextStartPartMetadata extends ProviderMetadata {
  type TextDeltaPartMetadata (line 109) | interface TextDeltaPartMetadata extends ProviderMetadata {
  type ReasoningPartMetadata (line 115) | interface ReasoningPartMetadata extends ProviderMetadata {
  type ReasoningStartPartMetadata (line 121) | interface ReasoningStartPartMetadata extends ProviderMetadata {
  type ReasoningDeltaPartMetadata (line 127) | interface ReasoningDeltaPartMetadata extends ProviderMetadata {
  type ToolParamsStartPartMetadata (line 133) | interface ToolParamsStartPartMetadata extends ProviderMetadata {
  type ToolParamsDeltaPartMetadata (line 139) | interface ToolParamsDeltaPartMetadata extends ProviderMetadata {
  type ToolCallPartMetadata (line 145) | interface ToolCallPartMetadata extends ProviderMetadata {
  type FinishPartMetadata (line 151) | interface FinishPartMetadata extends ProviderMetadata {

FILE: packages/ai/openai/src/Generated.ts
  class ListAssistantsParamsOrder (line 13) | class ListAssistantsParamsOrder extends S.Literal("asc", "desc") {}
  class ListAssistantsParams (line 15) | class ListAssistantsParams extends S.Struct({
  class AssistantObjectObject (line 25) | class AssistantObjectObject extends S.Literal("assistant") {}
  class AssistantToolsCodeType (line 30) | class AssistantToolsCodeType extends S.Literal("code_interpreter") {}
  class AssistantToolsCode (line 32) | class AssistantToolsCode extends S.Class<AssistantToolsCode>("AssistantT...
  class AssistantToolsFileSearchType (line 42) | class AssistantToolsFileSearchType extends S.Literal("file_search") {}
  class FileSearchRanker (line 47) | class FileSearchRanker extends S.Literal("auto", "default_2024_08_21") {}
  class FileSearchRankingOptions (line 54) | class FileSearchRankingOptions extends S.Class<FileSearchRankingOptions>...
  class AssistantToolsFileSearch (line 62) | class AssistantToolsFileSearch extends S.Class<AssistantToolsFileSearch>...
  class AssistantToolsFunctionType (line 89) | class AssistantToolsFunctionType extends S.Literal("function") {}
  class FunctionParameters (line 96) | class FunctionParameters extends S.Record({ key: S.String, value: S.Unkn...
  class FunctionObject (line 98) | class FunctionObject extends S.Class<FunctionObject>("FunctionObject")({
  class AssistantToolsFunction (line 111) | class AssistantToolsFunction extends S.Class<AssistantToolsFunction>("As...
  class AssistantTool (line 119) | class AssistantTool extends S.Union(AssistantToolsCode, AssistantToolsFi...
  class Metadata (line 121) | class Metadata extends S.Union(
  class AssistantsApiResponseFormatOptionEnum (line 137) | class AssistantsApiResponseFormatOptionEnum extends S.Literal("auto") {}
  class ResponseFormatTextType (line 142) | class ResponseFormatTextType extends S.Literal("text") {}
  class ResponseFormatText (line 147) | class ResponseFormatText extends S.Class<ResponseFormatText>("ResponseFo...
  class ResponseFormatJsonObjectType (line 157) | class ResponseFormatJsonObjectType extends S.Literal("json_object") {}
  class ResponseFormatJsonObject (line 165) | class ResponseFormatJsonObject extends S.Class<ResponseFormatJsonObject>...
  class ResponseFormatJsonSchemaType (line 175) | class ResponseFormatJsonSchemaType extends S.Literal("json_schema") {}
  class ResponseFormatJsonSchemaSchema (line 181) | class ResponseFormatJsonSchemaSchema extends S.Record({ key: S.String, v...
  class ResponseFormatJsonSchema (line 187) | class ResponseFormatJsonSchema extends S.Class<ResponseFormatJsonSchema>...
  class AssistantsApiResponseFormatOption (line 220) | class AssistantsApiResponseFormatOption extends S.Union(
  class AssistantObject (line 233) | class AssistantObject extends S.Class<AssistantObject>("AssistantObject")({
  class ListAssistantsResponse (line 292) | class ListAssistantsResponse extends S.Class<ListAssistantsResponse>("Li...
  class AssistantSupportedModels (line 300) | class AssistantSupportedModels extends S.Literal(
  class ReasoningEffortEnum (line 356) | class ReasoningEffortEnum extends S.Literal("none", "minimal", "low", "m...
  class ReasoningEffort (line 358) | class ReasoningEffort extends S.Union(
  class CreateAssistantRequest (line 374) | class CreateAssistantRequest extends S.Class<CreateAssistantRequest>("Cr...
  class ModifyAssistantRequest (line 436) | class ModifyAssistantRequest extends S.Class<ModifyAssistantRequest>("Mo...
  class DeleteAssistantResponseObject (line 481) | class DeleteAssistantResponseObject extends S.Literal("assistant.deleted...
  class DeleteAssistantResponse (line 483) | class DeleteAssistantResponse extends S.Class<DeleteAssistantResponse>("...
  class CreateSpeechRequestModelEnum (line 489) | class CreateSpeechRequestModelEnum extends S.Literal("tts-1", "tts-1-hd"...
  class VoiceIdsSharedEnum (line 491) | class VoiceIdsSharedEnum
  class VoiceIdsShared (line 495) | class VoiceIdsShared extends S.Union(S.String, VoiceIdsSharedEnum) {}
  class CreateSpeechRequestResponseFormat (line 500) | class CreateSpeechRequestResponseFormat extends S.Literal("mp3", "opus",...
  class CreateSpeechRequestStreamFormat (line 505) | class CreateSpeechRequestStreamFormat extends S.Literal("sse", "audio") {}
  class CreateSpeechRequest (line 507) | class CreateSpeechRequest extends S.Class<CreateSpeechRequest>("CreateSp...
  class CreateTranscriptionRequestModelEnum (line 544) | class CreateTranscriptionRequestModelEnum
  class AudioResponseFormat (line 551) | class AudioResponseFormat extends S.Literal("json", "text", "srt", "verb...
  class TranscriptionInclude (line 553) | class TranscriptionInclude extends S.Literal("logprobs") {}
  class TranscriptionChunkingStrategyEnum (line 558) | class TranscriptionChunkingStrategyEnum extends S.Literal("auto") {}
  class VadConfigType (line 563) | class VadConfigType extends S.Literal("server_vad") {}
  class VadConfig (line 565) | class VadConfig extends S.Class<VadConfig>("VadConfig")({
  class TranscriptionChunkingStrategy (line 589) | class TranscriptionChunkingStrategy extends S.Union(
  class CreateTranscriptionRequest (line 603) | class CreateTranscriptionRequest extends S.Class<CreateTranscriptionRequ...
  class TranscriptTextUsageTokensType (line 665) | class TranscriptTextUsageTokensType extends S.Literal("tokens") {}
  class TranscriptTextUsageTokens (line 670) | class TranscriptTextUsageTokens extends S.Class<TranscriptTextUsageToken...
  class TranscriptTextUsageDurationType (line 708) | class TranscriptTextUsageDurationType extends S.Literal("duration") {}
  class TranscriptTextUsageDuration (line 713) | class TranscriptTextUsageDuration extends S.Class<TranscriptTextUsageDur...
  class CreateTranscriptionResponseJson (line 727) | class CreateTranscriptionResponseJson
  class CreateTranscriptionResponseDiarizedJsonTask (line 763) | class CreateTranscriptionResponseDiarizedJsonTask extends S.Literal("tra...
  class TranscriptionDiarizedSegmentType (line 768) | class TranscriptionDiarizedSegmentType extends S.Literal("transcript.tex...
  class TranscriptionDiarizedSegment (line 773) | class TranscriptionDiarizedSegment
  class CreateTranscriptionResponseDiarizedJson (line 805) | class CreateTranscriptionResponseDiarizedJson
  class TranscriptionWord (line 830) | class TranscriptionWord extends S.Class<TranscriptionWord>("Transcriptio...
  class TranscriptionSegment (line 845) | class TranscriptionSegment extends S.Class<TranscriptionSegment>("Transc...
  class CreateTranscriptionResponseVerboseJson (line 891) | class CreateTranscriptionResponseVerboseJson
  class CreateTranscription200 (line 917) | class CreateTranscription200 extends S.Union(
  class CreateTranslationRequestModelEnum (line 923) | class CreateTranslationRequestModelEnum extends S.Literal("whisper-1") {}
  class CreateTranslationRequestResponseFormat (line 928) | class CreateTranslationRequestResponseFormat extends S.Literal("json", "...
  class CreateTranslationRequest (line 930) | class CreateTranslationRequest extends S.Class<CreateTranslationRequest>...
  class CreateTranslationResponseJson (line 956) | class CreateTranslationResponseJson
  class CreateTranslationResponseVerboseJson (line 962) | class CreateTranslationResponseVerboseJson
  class CreateTranslation200 (line 983) | class CreateTranslation200
  class ListBatchesParams (line 987) | class ListBatchesParams extends S.Struct({
  class BatchObject (line 995) | class BatchObject extends S.Literal("batch") {}
  class BatchError (line 997) | class BatchError extends S.Class<BatchError>("BatchError")({
  class BatchStatus (line 1013) | class BatchStatus extends S.Literal(
  class BatchRequestCounts (line 1027) | class BatchRequestCounts extends S.Class<BatchRequestCounts>("BatchReque...
  class Batch (line 1042) | class Batch extends S.Class<Batch>("Batch")({
  class ListBatchesResponseObject (line 1170) | class ListBatchesResponseObject extends S.Literal("list") {}
  class ListBatchesResponse (line 1172) | class ListBatchesResponse extends S.Class<ListBatchesResponse>("ListBatc...
  class CreateBatchRequestEndpoint (line 1183) | class CreateBatchRequestEndpoint
  class CreateBatchRequestCompletionWindow (line 1190) | class CreateBatchRequestCompletionWindow extends S.Literal("24h") {}
  class BatchFileExpirationAfterAnchor (line 1195) | class BatchFileExpirationAfterAnchor extends S.Literal("created_at") {}
  class BatchFileExpirationAfter (line 1200) | class BatchFileExpirationAfter extends S.Class<BatchFileExpirationAfter>...
  class CreateBatchRequest (line 1211) | class CreateBatchRequest extends S.Class<CreateBatchRequest>("CreateBatc...
  class ListChatCompletionsParamsOrder (line 1232) | class ListChatCompletionsParamsOrder extends S.Literal("asc", "desc") {}
  class ListChatCompletionsParams (line 1234) | class ListChatCompletionsParams extends S.Struct({
  class ChatCompletionListObject (line 1245) | class ChatCompletionListObject extends S.Literal("list") {}
  class ChatCompletionMessageToolCallType (line 1250) | class ChatCompletionMessageToolCallType extends S.Literal("function") {}
  class ChatCompletionMessageToolCall (line 1255) | class ChatCompletionMessageToolCall
  class ChatCompletionMessageCustomToolCallType (line 1284) | class ChatCompletionMessageCustomToolCallType extends S.Literal("custom"...
  class ChatCompletionMessageCustomToolCall (line 1289) | class ChatCompletionMessageCustomToolCall
  class ChatCompletionMessageToolCalls (line 1318) | class ChatCompletionMessageToolCalls
  class ChatCompletionResponseMessageRole (line 1325) | class ChatCompletionResponseMessageRole extends S.Literal("assistant") {}
  class ChatCompletionResponseMessage (line 1330) | class ChatCompletionResponseMessage
  class ChatCompletionTokenLogprob (line 1416) | class ChatCompletionTokenLogprob extends S.Class<ChatCompletionTokenLogp...
  class ServiceTierEnum (line 1451) | class ServiceTierEnum extends S.Literal("auto", "default", "flex", "scal...
  class ServiceTier (line 1453) | class ServiceTier extends S.Union(
  class CreateChatCompletionResponseObject (line 1470) | class CreateChatCompletionResponseObject extends S.Literal("chat.complet...
  class CompletionUsage (line 1475) | class CompletionUsage extends S.Class<CompletionUsage>("CompletionUsage")({
  class CreateChatCompletionResponse (line 1538) | class CreateChatCompletionResponse
  class ChatCompletionList (line 1591) | class ChatCompletionList extends S.Class<ChatCompletionList>("ChatComple...
  class ChatCompletionRequestMessageContentPartTextType (line 1617) | class ChatCompletionRequestMessageContentPartTextType extends S.Literal(...
  class ChatCompletionRequestMessageContentPartText (line 1622) | class ChatCompletionRequestMessageContentPartText
  class ChatCompletionRequestDeveloperMessageRole (line 1638) | class ChatCompletionRequestDeveloperMessageRole extends S.Literal("devel...
  class ChatCompletionRequestDeveloperMessage (line 1645) | class ChatCompletionRequestDeveloperMessage
  class ChatCompletionRequestSystemMessageContentPart (line 1671) | class ChatCompletionRequestSystemMessageContentPart extends ChatCompleti...
  class ChatCompletionRequestSystemMessageRole (line 1676) | class ChatCompletionRequestSystemMessageRole extends S.Literal("system") {}
  class ChatCompletionRequestSystemMessage (line 1683) | class ChatCompletionRequestSystemMessage
  class ChatCompletionRequestMessageContentPartImageType (line 1712) | class ChatCompletionRequestMessageContentPartImageType extends S.Literal...
  class ChatCompletionRequestMessageContentPartImageImageUrlDetail (line 1717) | class ChatCompletionRequestMessageContentPartImageImageUrlDetail extends...
  class ChatCompletionRequestMessageContentPartImage (line 1722) | class ChatCompletionRequestMessageContentPartImage
  class ChatCompletionRequestMessageContentPartAudioType (line 1747) | class ChatCompletionRequestMessageContentPartAudioType extends S.Literal...
  class ChatCompletionRequestMessageContentPartAudioInputAudioFormat (line 1752) | class ChatCompletionRequestMessageContentPartAudioInputAudioFormat exten...
  class ChatCompletionRequestMessageContentPartAudio (line 1757) | class ChatCompletionRequestMessageContentPartAudio
  class ChatCompletionRequestMessageContentPartFileType (line 1779) | class ChatCompletionRequestMessageContentPartFileType extends S.Literal(...
  class ChatCompletionRequestMessageContentPartFile (line 1784) | class ChatCompletionRequestMessageContentPartFile
  class ChatCompletionRequestUserMessageContentPart (line 1809) | class ChatCompletionRequestUserMessageContentPart extends S.Union(
  class ChatCompletionRequestUserMessageRole (line 1819) | class ChatCompletionRequestUserMessageRole extends S.Literal("user") {}
  class ChatCompletionRequestUserMessage (line 1825) | class ChatCompletionRequestUserMessage
  class ChatCompletionRequestMessageContentPartRefusalType (line 1854) | class ChatCompletionRequestMessageContentPartRefusalType extends S.Liter...
  class ChatCompletionRequestMessageContentPartRefusal (line 1856) | class ChatCompletionRequestMessageContentPartRefusal
  class ChatCompletionRequestAssistantMessageContentPart (line 1869) | class ChatCompletionRequestAssistantMessageContentPart
  class ChatCompletionRequestAssistantMessageRole (line 1876) | class ChatCompletionRequestAssistantMessageRole extends S.Literal("assis...
  class ChatCompletionRequestAssistantMessage (line 1881) | class ChatCompletionRequestAssistantMessage
  class ChatCompletionRequestToolMessageRole (line 1934) | class ChatCompletionRequestToolMessageRole extends S.Literal("tool") {}
  class ChatCompletionRequestToolMessageContentPart (line 1936) | class ChatCompletionRequestToolMessageContentPart extends ChatCompletion...
  class ChatCompletionRequestToolMessage (line 1938) | class ChatCompletionRequestToolMessage
  class ChatCompletionRequestFunctionMessageRole (line 1967) | class ChatCompletionRequestFunctionMessageRole extends S.Literal("functi...
  class ChatCompletionRequestFunctionMessage (line 1969) | class ChatCompletionRequestFunctionMessage
  class ChatCompletionRequestMessage (line 1983) | class ChatCompletionRequestMessage extends S.Union(
  class ChatModel (line 1992) | class ChatModel extends S.Literal(
  class ModelIdsShared (line 2062) | class ModelIdsShared extends S.Union(S.String, ChatModel) {}
  class ResponseModalities (line 2064) | class ResponseModalities extends S.Union(
  class VerbosityEnum (line 2086) | class VerbosityEnum extends S.Literal("low", "medium", "high") {}
  class Verbosity (line 2088) | class Verbosity extends S.Union(
  class CreateChatCompletionRequestWebSearchOptionsUserLocationType (line 2101) | class CreateChatCompletionRequestWebSearchOptionsUserLocationType extend...
  class WebSearchLocation (line 2106) | class WebSearchLocation extends S.Class<WebSearchLocation>("WebSearchLoc...
  class WebSearchContextSize (line 2132) | class WebSearchContextSize extends S.Literal("low", "medium", "high") {}
  class CreateChatCompletionRequestAudioFormat (line 2138) | class CreateChatCompletionRequestAudioFormat extends S.Literal("wav", "a...
  class StopConfiguration (line 2146) | class StopConfiguration
  class PredictionContentType (line 2154) | class PredictionContentType extends S.Literal("content") {}
  class PredictionContent (line 2160) | class PredictionContent extends S.Class<PredictionContent>("PredictionCo...
  class ChatCompletionStreamOptions (line 2184) | class ChatCompletionStreamOptions extends S.Union(
  class ChatCompletionToolType (line 2217) | class ChatCompletionToolType extends S.Literal("function") {}
  class ChatCompletionTool (line 2222) | class ChatCompletionTool extends S.Class<ChatCompletionTool>("ChatComple...
  class CustomToolChatCompletionsType (line 2233) | class CustomToolChatCompletionsType extends S.Literal("custom") {}
  class CustomToolChatCompletionsCustomFormatEnumType (line 2238) | class CustomToolChatCompletionsCustomFormatEnumType extends S.Literal("g...
  class CustomToolChatCompletionsCustomFormatEnumGrammarSyntax (line 2243) | class CustomToolChatCompletionsCustomFormatEnumGrammarSyntax extends S.L...
  class CustomToolChatCompletions (line 2248) | class CustomToolChatCompletions extends S.Class<CustomToolChatCompletion...
  class ChatCompletionToolChoiceOptionEnum (line 2310) | class ChatCompletionToolChoiceOptionEnum extends S.Literal("none", "auto...
  class ChatCompletionAllowedToolsChoiceType (line 2315) | class ChatCompletionAllowedToolsChoiceType extends S.Literal("allowed_to...
  class ChatCompletionAllowedToolsMode (line 2325) | class ChatCompletionAllowedToolsMode extends S.Literal("auto", "required...
  class ChatCompletionAllowedTools (line 2330) | class ChatCompletionAllowedTools extends S.Class<ChatCompletionAllowedTo...
  class ChatCompletionAllowedToolsChoice (line 2357) | class ChatCompletionAllowedToolsChoice
  class ChatCompletionNamedToolChoiceType (line 2370) | class ChatCompletionNamedToolChoiceType extends S.Literal("function") {}
  class ChatCompletionNamedToolChoice (line 2375) | class ChatCompletionNamedToolChoice
  class ChatCompletionNamedToolChoiceCustomType (line 2393) | class ChatCompletionNamedToolChoiceCustomType extends S.Literal("custom"...
  class ChatCompletionNamedToolChoiceCustom (line 2398) | class ChatCompletionNamedToolChoiceCustom
  class ChatCompletionToolChoiceOption (line 2422) | class ChatCompletionToolChoiceOption extends S.Union(
  class ParallelToolCalls (line 2435) | class ParallelToolCalls extends S.Boolean {}
  class CreateChatCompletionRequestFunctionCallEnum (line 2440) | class CreateChatCompletionRequestFunctionCallEnum extends S.Literal("non...
  class ChatCompletionFunctionCallOption (line 2445) | class ChatCompletionFunctionCallOption
  class ChatCompletionFunctions (line 2454) | class ChatCompletionFunctions extends S.Class<ChatCompletionFunctions>("...
  class CreateChatCompletionRequestPromptCacheRetentionEnum (line 2469) | class CreateChatCompletionRequestPromptCacheRetentionEnum extends S.Lite...
  class CreateChatCompletionRequest (line 2471) | class CreateChatCompletionRequest extends S.Class<CreateChatCompletionRe...
  class UpdateChatCompletionRequest (line 2726) | class UpdateChatCompletionRequest extends S.Class<UpdateChatCompletionRe...
  class ChatCompletionDeletedObject (line 2733) | class ChatCompletionDeletedObject extends S.Literal("chat.completion.del...
  class ChatCompletionDeleted (line 2735) | class ChatCompletionDeleted extends S.Class<ChatCompletionDeleted>("Chat...
  class GetChatCompletionMessagesParamsOrder (line 2750) | class GetChatCompletionMessagesParamsOrder extends S.Literal("asc", "des...
  class GetChatCompletionMessagesParams (line 2752) | class GetChatCompletionMessagesParams extends S.Struct({
  class ChatCompletionMessageListObject (line 2761) | class ChatCompletionMessageListObject extends S.Literal("list") {}
  class ChatCompletionMessageList (line 2766) | class ChatCompletionMessageList extends S.Class<ChatCompletionMessageLis...
  class CreateCompletionRequestModelEnum (line 2879) | class CreateCompletionRequestModelEnum
  class CreateCompletionRequest (line 2883) | class CreateCompletionRequest extends S.Class<CreateCompletionRequest>("...
  class CreateCompletionResponseObject (line 3035) | class CreateCompletionResponseObject extends S.Literal("text_completion"...
  class CreateCompletionResponse (line 3040) | class CreateCompletionResponse extends S.Class<CreateCompletionResponse>...
  class ListContainersParamsOrder (line 3085) | class ListContainersParamsOrder extends S.Literal("asc", "desc") {}
  class ListContainersParams (line 3087) | class ListContainersParams extends S.Struct({
  class ContainerResourceExpiresAfterAnchor (line 3096) | class ContainerResourceExpiresAfterAnchor extends S.Literal("last_active...
  class ContainerResource (line 3098) | class ContainerResource extends S.Class<ContainerResource>("ContainerRes...
  class ContainerListResource (line 3139) | class ContainerListResource extends S.Class<ContainerListResource>("Cont...
  class CreateContainerBodyExpiresAfterAnchor (line 3165) | class CreateContainerBodyExpiresAfterAnchor extends S.Literal("last_acti...
  class CreateContainerBody (line 3167) | class CreateContainerBody extends S.Class<CreateContainerBody>("CreateCo...
  class ListContainerFilesParamsOrder (line 3191) | class ListContainerFilesParamsOrder extends S.Literal("asc", "desc") {}
  class ListContainerFilesParams (line 3193) | class ListContainerFilesParams extends S.Struct({
  class ContainerFileResource (line 3199) | class ContainerFileResource extends S.Class<ContainerFileResource>("Cont...
  class ContainerFileListResource (line 3230) | class ContainerFileListResource extends S.Class<ContainerFileListResourc...
  class CreateContainerFileBody (line 3253) | class CreateContainerFileBody extends S.Class<CreateContainerFileBody>("...
  class ListConversationItemsParamsOrder (line 3264) | class ListConversationItemsParamsOrder extends S.Literal("asc", "desc") {}
  class IncludeEnum (line 3276) | class IncludeEnum extends S.Literal(
  class ListConversationItemsParams (line 3287) | class ListConversationItemsParams extends S.Struct({
  class MessageType (line 3297) | class MessageType extends S.Literal("message") {}
  class MessageStatus (line 3299) | class MessageStatus extends S.Literal("in_progress", "completed", "incom...
  class MessageRole (line 3301) | class MessageRole
  class InputTextContentType (line 3308) | class InputTextContentType extends S.Literal("input_text") {}
  class InputTextContent (line 3313) | class InputTextContent extends S.Class<InputTextContent>("InputTextConte...
  class OutputTextContentType (line 3327) | class OutputTextContentType extends S.Literal("output_text") {}
  class FileCitationBodyType (line 3332) | class FileCitationBodyType extends S.Literal("file_citation") {}
  class FileCitationBody (line 3337) | class FileCitationBody extends S.Class<FileCitationBody>("FileCitationBo...
  class UrlCitationBodyType (line 3359) | class UrlCitationBodyType extends S.Literal("url_citation") {}
  class UrlCitationBody (line 3364) | class UrlCitationBody extends S.Class<UrlCitationBody>("UrlCitationBody")({
  class ContainerFileCitationBodyType (line 3390) | class ContainerFileCitationBodyType extends S.Literal("container_file_ci...
  class ContainerFileCitationBody (line 3395) | class ContainerFileCitationBody extends S.Class<ContainerFileCitationBod...
  class FilePathType (line 3428) | class FilePathType extends S.Literal("file_path") {}
  class FilePath (line 3433) | class FilePath extends S.Class<FilePath>("FilePath")({
  class Annotation (line 3448) | class Annotation extends S.Union(FileCitationBody, UrlCitationBody, Cont...
  class TopLogProb (line 3453) | class TopLogProb extends S.Class<TopLogProb>("TopLogProb")({
  class LogProb (line 3462) | class LogProb extends S.Class<LogProb>("LogProb")({
  class OutputTextContent (line 3472) | class OutputTextContent extends S.Class<OutputTextContent>("OutputTextCo...
  class TextContentType (line 3488) | class TextContentType extends S.Literal("text") {}
  class TextContent (line 3493) | class TextContent extends S.Class<TextContent>("TextContent")({
  class SummaryTextContentType (line 3501) | class SummaryTextContentType extends S.Literal("summary_text") {}
  class SummaryTextContent (line 3506) | class SummaryTextContent extends S.Class<SummaryTextContent>("SummaryTex...
  class ReasoningTextContentType (line 3520) | class ReasoningTextContentType extends S.Literal("reasoning_text") {}
  class ReasoningTextContent (line 3525) | class ReasoningTextContent extends S.Class<ReasoningTextContent>("Reason...
  class RefusalContentType (line 3539) | class RefusalContentType extends S.Literal("refusal") {}
  class RefusalContent (line 3544) | class RefusalContent extends S.Class<RefusalContent>("RefusalContent")({
  class InputImageContentType (line 3558) | class InputImageContentType extends S.Literal("input_image") {}
  class ImageDetail (line 3560) | class ImageDetail extends S.Literal("low", "high", "auto") {}
  class InputImageContent (line 3565) | class InputImageContent extends S.Class<InputImageContent>("InputImageCo...
  class ComputerScreenshotContentType (line 3581) | class ComputerScreenshotContentType extends S.Literal("computer_screensh...
  class ComputerScreenshotContent (line 3586) | class ComputerScreenshotContent extends S.Class<ComputerScreenshotConten...
  class InputFileContentType (line 3601) | class InputFileContentType extends S.Literal("input_file") {}
  class InputFileContent (line 3606) | class InputFileContent extends S.Class<InputFileContent>("InputFileConte...
  class Message (line 3629) | class Message extends S.Class<Message>("Message")({
  class FunctionToolCallResourceType (line 3667) | class FunctionToolCallResourceType extends S.Literal("function_call") {}
  class FunctionToolCallResourceStatus (line 3673) | class FunctionToolCallResourceStatus extends S.Literal("in_progress", "c...
  class FunctionToolCallResource (line 3679) | class FunctionToolCallResource extends S.Class<FunctionToolCallResource>...
  class FunctionToolCallOutputResourceType (line 3710) | class FunctionToolCallOutputResourceType extends S.Literal("function_cal...
  class FunctionAndCustomToolCallOutput (line 3712) | class FunctionAndCustomToolCallOutput extends S.Union(InputTextContent, ...
  class FunctionToolCallOutputResourceStatus (line 3718) | class FunctionToolCallOutputResourceStatus extends S.Literal("in_progres...
  class FunctionToolCallOutputResource (line 3723) | class FunctionToolCallOutputResource
  class FileSearchToolCallType (line 3763) | class FileSearchToolCallType extends S.Literal("file_search_call") {}
  class FileSearchToolCallStatus (line 3769) | class FileSearchToolCallStatus
  class VectorStoreFileAttributes (line 3773) | class VectorStoreFileAttributes extends S.Union(
  class FileSearchToolCall (line 3789) | class FileSearchToolCall extends S.Class<FileSearchToolCall>("FileSearch...
  class WebSearchToolCallType (line 3834) | class WebSearchToolCallType extends S.Literal("web_search_call") {}
  class WebSearchToolCallStatus (line 3839) | class WebSearchToolCallStatus extends S.Literal("in_progress", "searchin...
  class WebSearchActionSearchType (line 3844) | class WebSearchActionSearchType extends S.Literal("search") {}
  class WebSearchActionSearch (line 3849) | class WebSearchActionSearch extends S.Class<WebSearchActionSearch>("WebS...
  class WebSearchActionOpenPageType (line 3879) | class WebSearchActionOpenPageType extends S.Literal("open_page") {}
  class WebSearchActionOpenPage (line 3884) | class WebSearchActionOpenPage extends S.Class<WebSearchActionOpenPage>("...
  class WebSearchActionFindType (line 3898) | class WebSearchActionFindType extends S.Literal("find") {}
  class WebSearchActionFind (line 3903) | class WebSearchActionFind extends S.Class<WebSearchActionFind>("WebSearc...
  class WebSearchToolCall (line 3922) | class WebSearchToolCall extends S.Class<WebSearchToolCall>("WebSearchToo...
  class ImageGenToolCallType (line 3945) | class ImageGenToolCallType extends S.Literal("image_generation_call") {}
  class ImageGenToolCallStatus (line 3950) | class ImageGenToolCallStatus extends S.Literal("in_progress", "completed...
  class ImageGenToolCall (line 3955) | class ImageGenToolCall extends S.Class<ImageGenToolCall>("ImageGenToolCa...
  class ComputerToolCallType (line 3974) | class ComputerToolCallType extends S.Literal("computer_call") {}
  class ClickParamType (line 3979) | class ClickParamType extends S.Literal("click") {}
  class ClickButtonType (line 3981) | class ClickButtonType extends S.Literal("left", "right", "wheel", "back"...
  class ClickParam (line 3986) | class ClickParam extends S.Class<ClickParam>("ClickParam")({
  class DoubleClickActionType (line 4008) | class DoubleClickActionType extends S.Literal("double_click") {}
  class DoubleClickAction (line 4013) | class DoubleClickAction extends S.Class<DoubleClickAction>("DoubleClickA...
  class DragType (line 4032) | class DragType extends S.Literal("drag") {}
  class DragPoint (line 4037) | class DragPoint extends S.Class<DragPoint>("DragPoint")({
  class Drag (line 4051) | class Drag extends S.Class<Drag>("Drag")({
  class KeyPressActionType (line 4073) | class KeyPressActionType extends S.Literal("keypress") {}
  class KeyPressAction (line 4078) | class KeyPressAction extends S.Class<KeyPressAction>("KeyPressAction")({
  class MoveType (line 4093) | class MoveType extends S.Literal("move") {}
  class Move (line 4098) | class Move extends S.Class<Move>("Move")({
  class ScreenshotType (line 4118) | class ScreenshotType extends S.Literal("screenshot") {}
  class Screenshot (line 4123) | class Screenshot extends S.Class<Screenshot>("Screenshot")({
  class ScrollType (line 4135) | class ScrollType extends S.Literal("scroll") {}
  class Scroll (line 4140) | class Scroll extends S.Class<Scroll>("Scroll")({
  class TypeType (line 4168) | class TypeType extends S.Literal("type") {}
  class Type (line 4173) | class Type extends S.Class<Type>("Type")({
  class WaitType (line 4189) | class WaitType extends S.Literal("wait") {}
  class Wait (line 4194) | class Wait extends S.Class<Wait>("Wait")({
  class ComputerAction (line 4202) | class ComputerAction
  class ComputerCallSafetyCheckParam (line 4209) | class ComputerCallSafetyCheckParam
  class ComputerToolCallStatus (line 4224) | class ComputerToolCallStatus extends S.Literal("in_progress", "completed...
  class ComputerToolCall (line 4230) | class ComputerToolCall extends S.Class<ComputerToolCall>("ComputerToolCa...
  class ComputerToolCallOutputResourceType (line 4258) | class ComputerToolCallOutputResourceType extends S.Literal("computer_cal...
  class ComputerScreenshotImageType (line 4264) | class ComputerScreenshotImageType extends S.Literal("computer_screenshot...
  class ComputerScreenshotImage (line 4269) | class ComputerScreenshotImage extends S.Class<ComputerScreenshotImage>("...
  class ComputerToolCallOutputResourceStatus (line 4292) | class ComputerToolCallOutputResourceStatus extends S.Literal("in_progres...
  class ComputerToolCallOutputResource (line 4297) | class ComputerToolCallOutputResource
  class ReasoningItemType (line 4331) | class ReasoningItemType extends S.Literal("reasoning") {}
  class SummaryType (line 4336) | class SummaryType extends S.Literal("summary_text") {}
  class Summary (line 4341) | class Summary extends S.Class<Summary>("Summary")({
  class ReasoningItemStatus (line 4356) | class ReasoningItemStatus extends S.Literal("in_progress", "completed", ...
  class ReasoningItem (line 4364) | class ReasoningItem extends S.Class<ReasoningItem>("ReasoningItem")({
  class CodeInterpreterToolCallType (line 4392) | class CodeInterpreterToolCallType extends S.Literal("code_interpreter_ca...
  class CodeInterpreterToolCallStatus (line 4397) | class CodeInterpreterToolCallStatus
  class CodeInterpreterOutputLogsType (line 4404) | class CodeInterpreterOutputLogsType extends S.Literal("logs") {}
  class CodeInterpreterOutputLogs (line 4409) | class CodeInterpreterOutputLogs extends S.Class<CodeInterpreterOutputLog...
  class CodeInterpreterOutputImageType (line 4423) | class CodeInterpreterOutputImageType extends S.Literal("image") {}
  class CodeInterpreterOutputImage (line 4428) | class CodeInterpreterOutputImage extends S.Class<CodeInterpreterOutputIm...
  class CodeInterpreterToolCall (line 4442) | class CodeInterpreterToolCall extends S.Class<CodeInterpreterToolCall>("...
  class LocalShellToolCallType (line 4469) | class LocalShellToolCallType extends S.Literal("local_shell_call") {}
  class LocalShellExecActionType (line 4474) | class LocalShellExecActionType extends S.Literal("exec") {}
  class LocalShellExecAction (line 4479) | class LocalShellExecAction extends S.Class<LocalShellExecAction>("LocalS...
  class LocalShellToolCallStatus (line 4500) | class LocalShellToolCallStatus extends S.Literal("in_progress", "complet...
  class LocalShellToolCall (line 4505) | class LocalShellToolCall extends S.Class<LocalShellToolCall>("LocalShell...
  class LocalShellToolCallOutputType (line 4528) | class LocalShellToolCallOutputType extends S.Literal("local_shell_call_o...
  class LocalShellToolCallOutputStatusEnum (line 4533) | class LocalShellToolCallOutputStatusEnum extends S.Literal("in_progress"...
  class LocalShellToolCallOutput (line 4538) | class LocalShellToolCallOutput extends S.Class<LocalShellToolCallOutput>...
  class FunctionShellCallType (line 4557) | class FunctionShellCallType extends S.Literal("shell_call") {}
  class FunctionShellAction (line 4562) | class FunctionShellAction extends S.Class<FunctionShellAction>("Function...
  class LocalShellCallStatus (line 4568) | class LocalShellCallStatus extends S.Literal("in_progress", "completed",...
  class FunctionShellCall (line 4573) | class FunctionShellCall extends S.Class<FunctionShellCall>("FunctionShel...
  class FunctionShellCallOutputType (line 4603) | class FunctionShellCallOutputType extends S.Literal("shell_call_output") {}
  class FunctionShellCallOutputTimeoutOutcomeType (line 4608) | class FunctionShellCallOutputTimeoutOutcomeType extends S.Literal("timeo...
  class FunctionShellCallOutputTimeoutOutcome (line 4613) | class FunctionShellCallOutputTimeoutOutcome
  class FunctionShellCallOutputExitOutcomeType (line 4628) | class FunctionShellCallOutputExitOutcomeType extends S.Literal("exit") {}
  class FunctionShellCallOutputExitOutcome (line 4633) | class FunctionShellCallOutputExitOutcome
  class FunctionShellCallOutputContent (line 4652) | class FunctionShellCallOutputContent
  class FunctionShellCallOutput (line 4667) | class FunctionShellCallOutput extends S.Class<FunctionShellCallOutput>("...
  class ApplyPatchToolCallType (line 4694) | class ApplyPatchToolCallType extends S.Literal("apply_patch_call") {}
  class ApplyPatchCallStatus (line 4696) | class ApplyPatchCallStatus extends S.Literal("in_progress", "completed") {}
  class ApplyPatchCreateFileOperationType (line 4701) | class ApplyPatchCreateFileOperationType extends S.Literal("create_file") {}
  class ApplyPatchCreateFileOperation (line 4706) | class ApplyPatchCreateFileOperation
  class ApplyPatchDeleteFileOperationType (line 4729) | class ApplyPatchDeleteFileOperationType extends S.Literal("delete_file") {}
  class ApplyPatchDeleteFileOperation (line 4734) | class ApplyPatchDeleteFileOperation
  class ApplyPatchUpdateFileOperationType (line 4753) | class ApplyPatchUpdateFileOperationType extends S.Literal("update_file") {}
  class ApplyPatchUpdateFileOperation (line 4758) | class ApplyPatchUpdateFileOperation
  class ApplyPatchToolCall (line 4781) | class ApplyPatchToolCall extends S.Class<ApplyPatchToolCall>("ApplyPatch...
  class ApplyPatchToolCallOutputType (line 4811) | class ApplyPatchToolCallOutputType extends S.Literal("apply_patch_call_o...
  class ApplyPatchCallOutputStatus (line 4813) | class ApplyPatchCallOutputStatus extends S.Literal("completed", "failed"...
  class ApplyPatchToolCallOutput (line 4818) | class ApplyPatchToolCallOutput extends S.Class<ApplyPatchToolCallOutput>...
  class MCPListToolsType (line 4848) | class MCPListToolsType extends S.Literal("mcp_list_tools") {}
  class MCPListToolsTool (line 4853) | class MCPListToolsTool extends S.Class<MCPListToolsTool>("MCPListToolsTo...
  class MCPListTools (line 4869) | class MCPListTools extends S.Class<MCPListTools>("MCPListTools")({
  class MCPApprovalRequestType (line 4892) | class MCPApprovalRequestType extends S.Literal("mcp_approval_request") {}
  class MCPApprovalRequest (line 4897) | class MCPApprovalRequest extends S.Class<MCPApprovalRequest>("MCPApprova...
  class MCPApprovalResponseResourceType (line 4923) | class MCPApprovalResponseResourceType extends S.Literal("mcp_approval_re...
  class MCPApprovalResponseResource (line 4928) | class MCPApprovalResponseResource extends S.Class<MCPApprovalResponseRes...
  class MCPToolCallType (line 4951) | class MCPToolCallType extends S.Literal("mcp_call") {}
  class MCPToolCallStatus (line 4953) | class MCPToolCallStatus extends S.Literal("in_progress", "completed", "i...
  class MCPToolCall (line 4958) | class MCPToolCall extends S.Class<MCPToolCall>("MCPToolCall")({
  class CustomToolCallType (line 4991) | class CustomToolCallType extends S.Literal("custom_tool_call") {}
  class CustomToolCall (line 4996) | class CustomToolCall extends S.Class<CustomToolCall>("CustomToolCall")({
  class CustomToolCallOutputType (line 5022) | class CustomToolCallOutputType extends S.Literal("custom_tool_call_outpu...
  class CustomToolCallOutput (line 5027) | class CustomToolCallOutput extends S.Class<CustomToolCallOutput>("Custom...
  class ConversationItem (line 5059) | class ConversationItem extends S.Union(
  class ConversationItemList (line 5087) | class ConversationItemList extends S.Class<ConversationItemList>("Conver...
  class CreateConversationItemsParams (line 5110) | class CreateConversationItemsParams extends S.Struct({
  class EasyInputMessageRole (line 5118) | class EasyInputMessageRole extends S.Literal("user", "assistant", "syste...
  class InputContent (line 5120) | class InputContent extends S.Union(InputTextContent, InputImageContent, ...
  class InputMessageContentList (line 5126) | class InputMessageContentList extends S.Array(InputContent) {}
  class EasyInputMessageType (line 5131) | class EasyInputMessageType extends S.Literal("message") {}
  class EasyInputMessage (line 5140) | class EasyInputMessage extends S.Class<EasyInputMessage>("EasyInputMessa...
  class InputMessageType (line 5166) | class InputMessageType extends S.Literal("message") {}
  class InputMessageRole (line 5171) | class InputMessageRole extends S.Literal("user", "system", "developer") {}
  class InputMessageStatus (line 5177) | class InputMessageStatus extends S.Literal("in_progress", "completed", "...
  class InputMessage (line 5184) | class InputMessage extends S.Class<InputMessage>("InputMessage")({
  class OutputMessageType (line 5204) | class OutputMessageType extends S.Literal("message") {}
  class OutputMessageRole (line 5209) | class OutputMessageRole extends S.Literal("assistant") {}
  class OutputMessageContent (line 5211) | class OutputMessageContent extends S.Union(OutputTextContent, RefusalCon...
  class OutputMessageStatus (line 5217) | class OutputMessageStatus extends S.Literal("in_progress", "completed", ...
  class OutputMessage (line 5222) | class OutputMessage extends S.Class<OutputMessage>("OutputMessage")({
  class ComputerCallOutputItemParamType (line 5249) | class ComputerCallOutputItemParamType extends S.Literal("computer_call_o...
  class FunctionCallItemStatus (line 5251) | class FunctionCallItemStatus extends S.Literal("in_progress", "completed...
  class ComputerCallOutputItemParam (line 5256) | class ComputerCallOutputItemParam extends S.Class<ComputerCallOutputItem...
  class FunctionToolCallType (line 5277) | class FunctionToolCallType extends S.Literal("function_call") {}
  class FunctionToolCallStatus (line 5283) | class FunctionToolCallStatus extends S.Literal("in_progress", "completed...
  class FunctionToolCall (line 5289) | class FunctionToolCall extends S.Class<FunctionToolCall>("FunctionToolCa...
  class FunctionCallOutputItemParamType (line 5320) | class FunctionCallOutputItemParamType extends S.Literal("function_call_o...
  class InputTextContentParamType (line 5325) | class InputTextContentParamType extends S.Literal("input_text") {}
  class InputTextContentParam (line 5330) | class InputTextContentParam extends S.Class<InputTextContentParam>("Inpu...
  class InputImageContentParamAutoParamType (line 5344) | class InputImageContentParamAutoParamType extends S.Literal("input_image...
  class DetailEnum (line 5346) | class DetailEnum extends S.Literal("low", "high", "auto") {}
  class InputImageContentParamAutoParam (line 5351) | class InputImageContentParamAutoParam
  class InputFileContentParamType (line 5369) | class InputFileContentParamType extends S.Literal("input_file") {}
  class InputFileContentParam (line 5374) | class InputFileContentParam extends S.Class<InputFileContentParam>("Inpu...
  class FunctionCallOutputItemParam (line 5388) | class FunctionCallOutputItemParam extends S.Class<FunctionCallOutputItem...
  class FunctionShellCallItemParamType (line 5417) | class FunctionShellCallItemParamType extends S.Literal("shell_call") {}
  class FunctionShellActionParam (line 5422) | class FunctionShellActionParam extends S.Class<FunctionShellActionParam>...
  class FunctionShellCallItemStatus (line 5434) | class FunctionShellCallItemStatus extends S.Literal("in_progress", "comp...
  class FunctionShellCallItemParam (line 5439) | class FunctionShellCallItemParam extends S.Class<FunctionShellCallItemPa...
  class FunctionShellCallOutputItemParamType (line 5462) | class FunctionShellCallOutputItemParamType extends S.Literal("shell_call...
  class FunctionShellCallOutputTimeoutOutcomeParamType (line 5467) | class FunctionShellCallOutputTimeoutOutcomeParamType extends S.Literal("...
  class FunctionShellCallOutputTimeoutOutcomeParam (line 5472) | class FunctionShellCallOutputTimeoutOutcomeParam
  class FunctionShellCallOutputExitOutcomeParamType (line 5487) | class FunctionShellCallOutputExitOutcomeParamType extends S.Literal("exi...
  class FunctionShellCallOutputExitOutcomeParam (line 5492) | class FunctionShellCallOutputExitOutcomeParam
  class FunctionShellCallOutputOutcomeParam (line 5511) | class FunctionShellCallOutputOutcomeParam
  class FunctionShellCallOutputContentParam (line 5518) | class FunctionShellCallOutputContentParam
  class FunctionShellCallOutputItemParam (line 5538) | class FunctionShellCallOutputItemParam
  class ApplyPatchToolCallItemParamType (line 5563) | class ApplyPatchToolCallItemParamType extends S.Literal("apply_patch_cal...
  class ApplyPatchCallStatusParam (line 5568) | class ApplyPatchCallStatusParam extends S.Literal("in_progress", "comple...
  class ApplyPatchCreateFileOperationParamType (line 5573) | class ApplyPatchCreateFileOperationParamType extends S.Literal("create_f...
  class ApplyPatchCreateFileOperationParam (line 5578) | class ApplyPatchCreateFileOperationParam
  class ApplyPatchDeleteFileOperationParamType (line 5601) | class ApplyPatchDeleteFileOperationParamType extends S.Literal("delete_f...
  class ApplyPatchDeleteFileOperationParam (line 5606) | class ApplyPatchDeleteFileOperationParam
  class ApplyPatchUpdateFileOperationParamType (line 5625) | class ApplyPatchUpdateFileOperationParamType extends S.Literal("update_f...
  class ApplyPatchUpdateFileOperationParam (line 5630) | class ApplyPatchUpdateFileOperationParam
  class ApplyPatchOperationParam (line 5653) | class ApplyPatchOperationParam extends S.Union(
  class ApplyPatchToolCallItemParam (line 5662) | class ApplyPatchToolCallItemParam extends S.Class<ApplyPatchToolCallItem...
  class ApplyPatchToolCallOutputItemParamType (line 5688) | class ApplyPatchToolCallOutputItemParamType extends S.Literal("apply_pat...
  class ApplyPatchCallOutputStatusParam (line 5693) | class ApplyPatchCallOutputStatusParam extends S.Literal("completed", "fa...
  class ApplyPatchToolCallOutputItemParam (line 5698) | class ApplyPatchToolCallOutputItemParam
  class MCPApprovalResponseType (line 5723) | class MCPApprovalResponseType extends S.Literal("mcp_approval_response") {}
  class MCPApprovalResponse (line 5728) | class MCPApprovalResponse extends S.Class<MCPApprovalResponse>("MCPAppro...
  class Item (line 5748) | class Item extends S.Record({ key: S.String, value: S.Unknown }) {}
  class ItemReferenceParamTypeEnum (line 5753) | class ItemReferenceParamTypeEnum extends S.Literal("item_reference") {}
  class ItemReferenceParam (line 5758) | class ItemReferenceParam extends S.Class<ItemReferenceParam>("ItemRefere...
  class InputItem (line 5766) | class InputItem extends S.Union(
  class CreateConversationItemsRequest (line 5777) | class CreateConversationItemsRequest
  class GetConversationItemParams (line 5786) | class GetConversationItemParams extends S.Struct({
  class ConversationResourceObject (line 5793) | class ConversationResourceObject extends S.Literal("conversation") {}
  class ConversationResource (line 5795) | class ConversationResource extends S.Class<ConversationResource>("Conver...
  class CreateEmbeddingRequestModelEnum (line 5813) | class CreateEmbeddingRequestModelEnum
  class CreateEmbeddingRequestEncodingFormat (line 5820) | class CreateEmbeddingRequestEncodingFormat extends S.Literal("float", "b...
  class CreateEmbeddingRequest (line 5822) | class CreateEmbeddingRequest extends S.Class<CreateEmbeddingRequest>("Cr...
  class EmbeddingObject (line 5868) | class EmbeddingObject extends S.Literal("embedding") {}
  class Embedding (line 5873) | class Embedding extends S.Class<Embedding>("Embedding")({
  class CreateEmbeddingResponseObject (line 5891) | class CreateEmbeddingResponseObject extends S.Literal("list") {}
  class CreateEmbeddingResponse (line 5893) | class CreateEmbeddingResponse extends S.Class<CreateEmbeddingResponse>("...
  class ListEvalsParamsOrder (line 5921) | class ListEvalsParamsOrder extends S.Literal("asc", "desc") {}
  class ListEvalsParamsOrderBy (line 5923) | class ListEvalsParamsOrderBy extends S.Literal("created_at", "updated_at...
  class ListEvalsParams (line 5925) | class ListEvalsParams extends S.Struct({
  class EvalListObject (line 5935) | class EvalListObject extends S.Literal("list") {}
  class EvalObject (line 5940) | class EvalObject extends S.Literal("eval") {}
  class EvalCustomDataSourceConfigType (line 5945) | class EvalCustomDataSourceConfigType extends S.Literal("custom") {}
  class EvalCustomDataSourceConfig (line 5953) | class EvalCustomDataSourceConfig extends S.Class<EvalCustomDataSourceCon...
  class EvalLogsDataSourceConfigType (line 5968) | class EvalLogsDataSourceConfigType extends S.Literal("logs") {}
  class EvalLogsDataSourceConfig (line 5976) | class EvalLogsDataSourceConfig extends S.Class<EvalLogsDataSourceConfig>...
  class EvalStoredCompletionsDataSourceConfigType (line 5992) | class EvalStoredCompletionsDataSourceConfigType extends S.Literal("store...
  class EvalStoredCompletionsDataSourceConfig (line 5997) | class EvalStoredCompletionsDataSourceConfig
  class EvalGraderLabelModelType (line 6018) | class EvalGraderLabelModelType extends S.Literal("label_model") {}
  class EvalItemRole (line 6024) | class EvalItemRole extends S.Literal("user", "assistant", "system", "dev...
  class EvalItemContentEnumType (line 6029) | class EvalItemContentEnumType extends S.Literal("input_image") {}
  class InputAudioType (line 6034) | class InputAudioType extends S.Literal("input_audio") {}
  class InputAudioInputAudioFormat (line 6040) | class InputAudioInputAudioFormat extends S.Literal("mp3", "wav") {}
  class InputAudio (line 6045) | class InputAudio extends S.Class<InputAudio>("InputAudio")({
  class EvalItemType (line 6066) | class EvalItemType extends S.Literal("message") {}
  class EvalItem (line 6075) | class EvalItem extends S.Class<EvalItem>("EvalItem")({
  class EvalGraderLabelModel (line 6132) | class EvalGraderLabelModel extends S.Class<EvalGraderLabelModel>("EvalGr...
  class EvalGraderStringCheckType (line 6159) | class EvalGraderStringCheckType extends S.Literal("string_check") {}
  class EvalGraderStringCheckOperation (line 6164) | class EvalGraderStringCheckOperation extends S.Literal("eq", "ne", "like...
  class EvalGraderStringCheck (line 6169) | class EvalGraderStringCheck extends S.Class<EvalGraderStringCheck>("Eval...
  class EvalGraderTextSimilarityType (line 6195) | class EvalGraderTextSimilarityType extends S.Literal("text_similarity") {}
  class EvalGraderTextSimilarityEvaluationMetric (line 6202) | class EvalGraderTextSimilarityEvaluationMetric extends S.Literal(
  class EvalGraderTextSimilarity (line 6219) | class EvalGraderTextSimilarity extends S.Class<EvalGraderTextSimilarity>...
  class EvalGraderPythonType (line 6254) | class EvalGraderPythonType extends S.Literal("python") {}
  class EvalGraderPython (line 6259) | class EvalGraderPython extends S.Class<EvalGraderPython>("EvalGraderPyth...
  class EvalGraderScoreModelType (line 6285) | class EvalGraderScoreModelType extends S.Literal("score_model") {}
  class EvalGraderScoreModel (line 6290) | class EvalGraderScoreModel extends S.Class<EvalGraderScoreModel>("EvalGr...
  class Eval (line 6338) | class Eval extends S.Class<Eval>("Eval")({
  class EvalList (line 6377) | class EvalList extends S.Class<EvalList>("EvalList")({
  class CreateEvalCustomDataSourceConfigType (line 6403) | class CreateEvalCustomDataSourceConfigType extends S.Literal("custom") {}
  class CreateEvalCustomDataSourceConfig (line 6411) | class CreateEvalCustomDataSourceConfig
  class CreateEvalLogsDataSourceConfigType (line 6434) | class CreateEvalLogsDataSourceConfigType extends S.Literal("logs") {}
  class CreateEvalLogsDataSourceConfig (line 6440) | class CreateEvalLogsDataSourceConfig
  class CreateEvalStoredCompletionsDataSourceConfigType (line 6459) | class CreateEvalStoredCompletionsDataSourceConfigType extends S.Literal(...
  class CreateEvalStoredCompletionsDataSourceConfig (line 6464) | class CreateEvalStoredCompletionsDataSourceConfig
  class CreateEvalLabelModelGraderType (line 6483) | class CreateEvalLabelModelGraderType extends S.Literal("label_model") {}
  class CreateEvalItem (line 6488) | class CreateEvalItem extends S.Record({ key: S.String, value: S.Unknown ...
  class CreateEvalLabelModelGrader (line 6494) | class CreateEvalLabelModelGrader extends S.Class<CreateEvalLabelModelGra...
  class CreateEvalRequest (line 6521) | class CreateEvalRequest extends S.Class<CreateEvalRequest>("CreateEvalRe...
  class UpdateEvalRequest (line 6545) | class UpdateEvalRequest extends S.Class<UpdateEvalRequest>("UpdateEvalRe...
  class DeleteEval200 (line 6553) | class DeleteEval200 extends S.Struct({
  class Error (line 6559) | class Error extends S.Class<Error>("Error")({
  class GetEvalRunsParamsOrder (line 6566) | class GetEvalRunsParamsOrder extends S.Literal("asc", "desc") {}
  class GetEvalRunsParamsStatus (line 6568) | class GetEvalRunsParamsStatus extends S.Literal("queued", "in_progress",...
  class GetEvalRunsParams (line 6570) | class GetEvalRunsParams extends S.Struct({
  class EvalRunListObject (line 6580) | class EvalRunListObject extends S.Literal("list") {}
  class EvalRunObject (line 6585) | class EvalRunObject extends S.Literal("eval.run") {}
  class CreateEvalJsonlRunDataSourceType (line 6590) | class CreateEvalJsonlRunDataSourceType extends S.Literal("jsonl") {}
  class EvalJsonlFileContentSourceType (line 6595) | class EvalJsonlFileContentSourceType extends S.Literal("file_content") {}
  class EvalJsonlFileContentSource (line 6597) | class EvalJsonlFileContentSource extends S.Class<EvalJsonlFileContentSou...
  class EvalJsonlFileIdSourceType (line 6617) | class EvalJsonlFileIdSourceType extends S.Literal("file_id") {}
  class EvalJsonlFileIdSource (line 6619) | class EvalJsonlFileIdSource extends S.Class<EvalJsonlFileIdSource>("Eval...
  class CreateEvalJsonlRunDataSource (line 6633) | class CreateEvalJsonlRunDataSource
  class CreateEvalCompletionsRunDataSourceType (line 6652) | class CreateEvalCompletionsRunDataSourceType extends S.Literal("completi...
  class CreateEvalCompletionsRunDataSourceInputMessagesEnumType (line 6657) | class CreateEvalCompletionsRunDataSourceInputMessagesEnumType extends S....
  class EvalStoredCompletionsSourceType (line 6662) | class EvalStoredCompletionsSourceType extends S.Literal("stored_completi...
  class EvalStoredCompletionsSource (line 6667) | class EvalStoredCompletionsSource extends S.Class<EvalStoredCompletionsS...
  class CreateEvalCompletionsRunDataSource (line 6685) | class CreateEvalCompletionsRunDataSource
  class CreateEvalResponsesRunDataSourceType (line 6778) | class CreateEvalResponsesRunDataSourceType extends S.Literal("responses"...
  class CreateEvalResponsesRunDataSourceInputMessagesEnumType (line 6783) | class CreateEvalResponsesRunDataSourceInputMessagesEnumType extends S.Li...
  class FunctionToolType (line 6788) | class FunctionToolType extends S.Literal("function") {}
  class FunctionTool (line 6793) | class FunctionTool extends S.Class<FunctionTool>("FunctionTool")({
  class FileSearchToolType (line 6810) | class FileSearchToolType extends S.Literal("file_search") {}
  class RankerVersionType (line 6812) | class RankerVersionType extends S.Literal("auto", "default-2024-11-15") {}
  class HybridSearchOptions (line 6814) | class HybridSearchOptions extends S.Class<HybridSearchOptions>("HybridSe...
  class RankingOptions (line 6825) | class RankingOptions extends S.Class<RankingOptions>("RankingOptions")({
  class ComparisonFilterType (line 6851) | class ComparisonFilterType extends S.Literal("eq", "ne", "gt", "gte", "l...
  class ComparisonFilterValueItems (line 6853) | class ComparisonFilterValueItems extends S.Union(S.String, S.Number) {}
  class ComparisonFilter (line 6858) | class ComparisonFilter extends S.Class<ComparisonFilter>("ComparisonFilt...
  class CompoundFilterType (line 6884) | class CompoundFilterType extends S.Literal("and", "or") {}
  class CompoundFilter (line 6889) | class CompoundFilter extends S.Class<CompoundFilter>("CompoundFilter")({
  class Filters (line 6900) | class Filters extends S.Union(ComparisonFilter, CompoundFilter) {}
  class FileSearchTool (line 6905) | class FileSearchTool extends S.Class<FileSearchTool>("FileSearchTool")({
  class ComputerUsePreviewToolType (line 6928) | class ComputerUsePreviewToolType extends S.Literal("computer_use_preview...
  class ComputerEnvironment (line 6930) | class ComputerEnvironment extends S.Literal("windows", "mac", "linux", "...
  class ComputerUsePreviewTool (line 6935) | class ComputerUsePreviewTool extends S.Class<ComputerUsePreviewTool>("Co...
  class WebSearchToolType (line 6960) | class WebSearchToolType extends S.Literal("web_search", "web_search_2025...
  class WebSearchApproximateLocationEnumType (line 6965) | class WebSearchApproximateLocationEnumType extends S.Literal("approximat...
  class WebSearchApproximateLocation (line 6967) | class WebSearchApproximateLocation extends S.Union(
  class WebSearchToolSearchContextSize (line 6990) | class WebSearchToolSearchContextSize extends S.Literal("low", "medium", ...
  class WebSearchTool (line 6996) | class WebSearchTool extends S.Class<WebSearchTool>("WebSearchTool")({
  class MCPToolType (line 7032) | class MCPToolType extends S.Literal("mcp") {}
  class MCPToolConnectorId (line 7050) | class MCPToolConnectorId extends S.Literal(
  class MCPToolFilter (line 7064) | class MCPToolFilter extends S.Class<MCPToolFilter>("MCPToolFilter")({
  class MCPToolRequireApprovalEnum (line 7082) | class MCPToolRequireApprovalEnum extends S.Literal("always", "never") {}
  class MCPTool (line 7088) | class MCPTool extends S.Class<MCPTool>("MCPTool")({
  class CodeInterpreterToolType (line 7165) | class CodeInterpreterToolType extends S.Literal("code_interpreter") {}
  class CodeInterpreterContainerAutoType (line 7170) | class CodeInterpreterContainerAutoType extends S.Literal("auto") {}
  class ContainerMemoryLimit (line 7172) | class ContainerMemoryLimit extends S.Literal("1g", "4g", "16g", "64g") {}
  class CodeInterpreterContainerAuto (line 7177) | class CodeInterpreterContainerAuto
  class CodeInterpreterTool (line 7194) | class CodeInterpreterTool extends S.Class<CodeInterpreterTool>("CodeInte...
  class ImageGenToolType (line 7215) | class ImageGenToolType extends S.Literal("image_generation") {}
  class ImageGenToolModel (line 7220) | class ImageGenToolModel extends S.Literal("gpt-image-1", "gpt-image-1-mi...
  class ImageGenToolQuality (line 7226) | class ImageGenToolQuality extends S.Literal("low", "medium", "high", "au...
  class ImageGenToolSize (line 7232) | class ImageGenToolSize extends S.Literal("1024x1024", "1024x1536", "1536...
  class ImageGenToolOutputFormat (line 7238) | class ImageGenToolOutputFormat extends S.Literal("png", "webp", "jpeg") {}
  class ImageGenToolModeration (line 7243) | class ImageGenToolModeration extends S.Literal("auto", "low") {}
  class ImageGenToolBackground (line 7249) | class ImageGenToolBackground extends S.Literal("transparent", "opaque", ...
  class InputFidelity (line 7254) | class InputFidelity extends S.Literal("high", "low") {}
  class ImageGenTool (line 7259) | class ImageGenTool extends S.Class<ImageGenTool>("ImageGenTool")({
  class LocalShellToolParamType (line 7329) | class LocalShellToolParamType extends S.Literal("local_shell") {}
  class LocalShellToolParam (line 7334) | class LocalShellToolParam extends S.Class<LocalShellToolParam>("LocalShe...
  class FunctionShellToolParamType (line 7344) | class FunctionShellToolParamType extends S.Literal("shell") {}
  class FunctionShellToolParam (line 7349) | class FunctionShellToolParam extends S.Class<FunctionShellToolParam>("Fu...
  class CustomToolParamType (line 7359) | class CustomToolParamType extends S.Literal("custom") {}
  class CustomTextFormatParamType (line 7364) | class CustomTextFormatParamType extends S.Literal("text") {}
  class CustomTextFormatParam (line 7369) | class CustomTextFormatParam extends S.Class<CustomTextFormatParam>("Cust...
  class CustomGrammarFormatParamType (line 7379) | class CustomGrammarFormatParamType extends S.Literal("grammar") {}
  class GrammarSyntax1 (line 7381) | class GrammarSyntax1 extends S.Literal("lark", "regex") {}
  class CustomGrammarFormatParam (line 7386) | class CustomGrammarFormatParam extends S.Class<CustomGrammarFormatParam>...
  class CustomToolParam (line 7404) | class CustomToolParam extends S.Class<CustomToolParam>("CustomToolParam")({
  class WebSearchPreviewToolType (line 7426) | class WebSearchPreviewToolType extends S.Literal("web_search_preview", "...
  class ApproximateLocationType (line 7431) | class ApproximateLocationType extends S.Literal("approximate") {}
  class ApproximateLocation (line 7433) | class ApproximateLocation extends S.Class<ApproximateLocation>("Approxim...
  class SearchContextSize (line 7444) | class SearchContextSize extends S.Literal("low", "medium", "high") {}
  class WebSearchPreviewTool (line 7449) | class WebSearchPreviewTool extends S.Class<WebSearchPreviewTool>("WebSea...
  class ApplyPatchToolParamType (line 7467) | class ApplyPatchToolParamType extends S.Literal("apply_patch") {}
  class ApplyPatchToolParam (line 7472) | class ApplyPatchToolParam extends S.Class<ApplyPatchToolParam>("ApplyPat...
  class Tool (line 7482) | class Tool extends S.Union(
  class TextResponseFormatJsonSchemaType (line 7500) | class TextResponseFormatJsonSchemaType extends S.Literal("json_schema") {}
  class TextResponseFormatJsonSchema (line 7506) | class TextResponseFormatJsonSchema
  class TextResponseFormatConfiguration (line 7542) | class TextResponseFormatConfiguration
  class EvalResponsesSourceType (line 7549) | class EvalResponsesSourceType extends S.Literal("responses") {}
  class EvalResponsesSource (line 7554) | class EvalResponsesSource extends S.Class<EvalResponsesSource>("EvalResp...
  class CreateEvalResponsesRunDataSource (line 7574) | class CreateEvalResponsesRunDataSource
  class EvalApiError (line 7686) | class EvalApiError extends S.Class<EvalApiError>("EvalApiError")({
  class EvalRun (line 7700) | class EvalRun extends S.Class<EvalRun>("EvalRun")({
  class EvalRunList (line 7811) | class EvalRunList extends S.Class<EvalRunList>("EvalRunList")({
  class CreateEvalRunRequest (line 7834) | class CreateEvalRunRequest extends S.Class<CreateEvalRunRequest>("Create...
  class DeleteEvalRun200 (line 7846) | class DeleteEvalRun200 extends S.Struct({
  class GetEvalRunOutputItemsParamsStatus (line 7852) | class GetEvalRunOutputItemsParamsStatus extends S.Literal("fail", "pass"...
  class GetEvalRunOutputItemsParamsOrder (line 7854) | class GetEvalRunOutputItemsParamsOrder extends S.Literal("asc", "desc") {}
  class GetEvalRunOutputItemsParams (line 7856) | class GetEvalRunOutputItemsParams extends S.Struct({
  class EvalRunOutputItemListObject (line 7866) | class EvalRunOutputItemListObject extends S.Literal("list") {}
  class EvalRunOutputItemObject (line 7871) | class EvalRunOutputItemObject extends S.Literal("eval.run.output_item") {}
  class EvalRunOutputItemResult (line 7876) | class EvalRunOutputItemResult extends S.Class<EvalRunOutputItemResult>("...
  class EvalRunOutputItem (line 7902) | class EvalRunOutputItem extends S.Class<EvalRunOutputItem>("EvalRunOutpu...
  class EvalRunOutputItemList (line 8024) | class EvalRunOutputItemList extends S.Class<EvalRunOutputItemList>("Eval...
  class ListFilesParamsOrder (line 8047) | class ListFilesParamsOrder extends S.Literal("asc", "desc") {}
  class ListFilesParams (line 8049) | class ListFilesParams extends S.Struct({
  class OpenAIFileObject (line 8059) | class OpenAIFileObject extends S.Literal("file") {}
  class OpenAIFilePurpose (line 8064) | class OpenAIFilePurpose extends S.Literal(
  class OpenAIFileStatus (line 8078) | class OpenAIFileStatus extends S.Literal("uploaded", "processed", "error...
  class OpenAIFile (line 8083) | class OpenAIFile extends S.Class<OpenAIFile>("OpenAIFile")({
  class ListFilesResponse (line 8122) | class ListFilesResponse extends S.Class<ListFilesResponse>("ListFilesRes...
  class FilePurpose (line 8133) | class FilePurpose extends S.Literal("assistants", "batch", "fine-tune", ...
  class FileExpirationAfterAnchor (line 8138) | class FileExpirationAfterAnchor extends S.Literal("created_at") {}
  class FileExpirationAfter (line 8143) | class FileExpirationAfter extends S.Class<FileExpirationAfter>("FileExpi...
  class CreateFileRequest (line 8154) | class CreateFileRequest extends S.Class<CreateFileRequest>("CreateFileRe...
  class DeleteFileResponseObject (line 8163) | class DeleteFileResponseObject extends S.Literal("file") {}
  class DeleteFileResponse (line 8165) | class DeleteFileResponse extends S.Class<DeleteFileResponse>("DeleteFile...
  class DownloadFile200 (line 8171) | class DownloadFile200 extends S.String {}
  class GraderStringCheckType (line 8176) | class GraderStringCheckType extends S.Literal("string_check") {}
  class GraderStringCheckOperation (line 8181) | class GraderStringCheckOperation extends S.Literal("eq", "ne", "like", "...
  class GraderStringCheck (line 8186) | class GraderStringCheck extends S.Class<GraderStringCheck>("GraderString...
  class GraderTextSimilarityType (line 8212) | class GraderTextSimilarityType extends S.Literal("text_similarity") {}
  class GraderTextSimilarityEvaluationMetric (line 8219) | class GraderTextSimilarityEvaluationMetric extends S.Literal(
  class GraderTextSimilarity (line 8236) | class GraderTextSimilarity extends S.Class<GraderTextSimilarity>("Grader...
  class GraderPythonType (line 8267) | class GraderPythonType extends S.Literal("python") {}
  class GraderPython (line 8272) | class GraderPython extends S.Class<GraderPython>("GraderPython")({
  class GraderScoreModelType (line 8294) | class GraderScoreModelType extends S.Literal("score_model") {}
  class GraderScoreModel (line 8299) | class GraderScoreModel extends S.Class<GraderScoreModel>("GraderScoreMod...
  class GraderMultiType (line 8338) | class GraderMultiType extends S.Literal("multi") {}
  class GraderLabelModelType (line 8343) | class GraderLabelModelType extends S.Literal("label_model") {}
  class GraderLabelModel (line 8349) | class GraderLabelModel extends S.Class<GraderLabelModel>("GraderLabelMod...
  class GraderMulti (line 8376) | class GraderMulti extends S.Class<GraderMulti>("GraderMulti")({
  class RunGraderRequest (line 8392) | class RunGraderRequest extends S.Class<RunGraderRequest>("RunGraderReque...
  class RunGraderResponse (line 8411) | class RunGraderResponse extends S.Class<RunGraderResponse>("RunGraderRes...
  class ValidateGraderRequest (line 8441) | class ValidateGraderRequest extends S.Class<ValidateGraderRequest>("Vali...
  class ValidateGraderResponse (line 8448) | class ValidateGraderResponse extends S.Class<ValidateGraderResponse>("Va...
  class ListFineTuningCheckpointPermissionsParamsOrder (line 8455) | class ListFineTuningCheckpointPermissionsParamsOrder extends S.Literal("...
  class ListFineTuningCheckpointPermissionsParams (line 8457) | class ListFineTuningCheckpointPermissionsParams extends S.Struct({
  class FineTuningCheckpointPermissionObject (line 8470) | class FineTuningCheckpointPermissionObject extends S.Literal("checkpoint...
  class FineTuningCheckpointPermission (line 8475) | class FineTuningCheckpointPermission
  class ListFineTuningCheckpointPermissionResponseObject (line 8496) | class ListFineTuningCheckpointPermissionResponseObject extends S.Literal...
  class ListFineTuningCheckpointPermissionResponse (line 8498) | class ListFineTuningCheckpointPermissionResponse
  class CreateFineTuningCheckpointPermissionRequest (line 8508) | class CreateFineTuningCheckpointPermissionRequest
  class DeleteFineTuningCheckpointPermissionResponseObject (line 8520) | class DeleteFineTuningCheckpointPermissionResponseObject extends S.Liter...
  class DeleteFineTuningCheckpointPermissionResponse (line 8522) | class DeleteFineTuningCheckpointPermissionResponse
  class ListPaginatedFineTuningJobsParams (line 8539) | class ListPaginatedFineTuningJobsParams extends S.Struct({
  class FineTuningJobHyperparametersBatchSizeEnum (line 8545) | class FineTuningJobHyperparametersBatchSizeEnum extends S.Literal("auto"...
  class FineTuningJobHyperparametersLearningRateMultiplierEnum (line 8547) | class FineTuningJobHyperparametersLearningRateMultiplierEnum extends S.L...
  class FineTuningJobHyperparametersNEpochsEnum (line 8549) | class FineTuningJobHyperparametersNEpochsEnum extends S.Literal("auto") {}
  class FineTuningJobObject (line 8554) | class FineTuningJobObject extends S.Literal("fine_tuning.job") {}
  class FineTuningJobStatus (line 8559) | class FineTuningJobStatus
  class FineTuningIntegrationType (line 8566) | class FineTuningIntegrationType extends S.Literal("wandb") {}
  class FineTuningIntegration (line 8568) | class FineTuningIntegration extends S.Class<FineTuningIntegration>("Fine...
  class FineTuneMethodType (line 8596) | class FineTuneMethodType extends S.Literal("supervised", "dpo", "reinfor...
  class FineTuneSupervisedHyperparametersBatchSizeEnum (line 8598) | class FineTuneSupervisedHyperparametersBatchSizeEnum extends S.Literal("...
  class FineTuneSupervisedHyperparametersLearningRateMultiplierEnum (line 8600) | class FineTuneSupervisedHyperparametersLearningRateMultiplierEnum extend...
  class FineTuneSupervisedHyperparametersNEpochsEnum (line 8602) | class FineTuneSupervisedHyperparametersNEpochsEnum extends S.Literal("au...
  class FineTuneSupervisedHyperparameters (line 8607) | class FineTuneSupervisedHyperparameters
  class FineTuneSupervisedMethod (line 8642) | class FineTuneSupervisedMethod extends S.Class<FineTuneSupervisedMethod>...
  class FineTuneDPOHyperparametersBetaEnum (line 8646) | class FineTuneDPOHyperparametersBetaEnum extends S.Literal("auto") {}
  class FineTuneDPOHyperparametersBatchSizeEnum (line 8648) | class FineTuneDPOHyperparametersBatchSizeEnum extends S.Literal("auto") {}
  class FineTuneDPOHyperparametersLearningRateMultiplierEnum (line 8650) | class FineTuneDPOHyperparametersLearningRateMultiplierEnum extends S.Lit...
  class FineTuneDPOHyperparametersNEpochsEnum (line 8652) | class FineTuneDPOHyperparametersNEpochsEnum extends S.Literal("auto") {}
  class FineTuneDPOHyperparameters (line 8657) | class FineTuneDPOHyperparameters extends S.Class<FineTuneDPOHyperparamet...
  class FineTuneDPOMethod (line 8697) | class FineTuneDPOMethod extends S.Class<FineTuneDPOMethod>("FineTuneDPOM...
  class FineTuneReinforcementHyperparametersBatchSizeEnum (line 8701) | class FineTuneReinforcementHyperparametersBatchSizeEnum extends S.Litera...
  class FineTuneReinforcementHyperparametersLearningRateMultiplierEnum (line 8703) | class FineTuneReinforcementHyperparametersLearningRateMultiplierEnum ext...
  class FineTuneReinforcementHyperparametersNEpochsEnum (line 8705) | class FineTuneReinforcementHyperparametersNEpochsEnum extends S.Literal(...
  class FineTuneReinforcementHyperparametersReasoningEffort (line 8710) | class FineTuneReinforcementHyperparametersReasoningEffort
  class FineTuneReinforcementHyperparametersComputeMultiplierEnum (line 8714) | class FineTuneReinforcementHyperparametersComputeMultiplierEnum extends ...
  class FineTuneReinforcementHyperparametersEvalIntervalEnum (line 8716) | class FineTuneReinforcementHyperparametersEvalIntervalEnum extends S.Lit...
  class FineTuneReinforcementHyperparametersEvalSamplesEnum (line 8718) | class FineTuneReinforcementHyperparametersEvalSamplesEnum extends S.Lite...
  class FineTuneReinforcementHyperparameters (line 8723) | class FineTuneReinforcementHyperparameters
  class FineTuneReinforcementMethod (line 8795) | class FineTuneReinforcementMethod extends S.Class<FineTuneReinforcementM...
  class FineTuneMethod (line 8806) | class FineTuneMethod extends S.Class<FineTuneMethod>("FineTuneMethod")({
  class FineTuningJob (line 8819) | class FineTuningJob extends S.Class<FineTuningJob>("FineTuningJob")({
  class ListPaginatedFineTuningJobsResponseObject (line 8908) | class ListPaginatedFineTuningJobsResponseObject extends S.Literal("list"...
  class ListPaginatedFineTuningJobsResponse (line 8910) | class ListPaginatedFineTuningJobsResponse
  class CreateFineTuningJobRequestModelEnum (line 8918) | class CreateFineTuningJobRequestModelEnum
  class CreateFineTuningJobRequestHyperparametersBatchSizeEnum (line 8922) | class CreateFineTuningJobRequestHyperparametersBatchSizeEnum extends S.L...
  class CreateFineTuningJobRequestHyperparametersLearningRateMultiplierEnum (line 8924) | class CreateFineTuningJobRequestHyperparametersLearningRateMultiplierEnu...
  class CreateFineTuningJobRequestHyperparametersNEpochsEnum (line 8926) | class CreateFineTuningJobRequestHyperparametersNEpochsEnum extends S.Lit...
  class CreateFineTuningJobRequest (line 8928) | class CreateFineTuningJobRequest extends S.Class<CreateFineTuningJobRequ...
  class ListFineTuningJobCheckpointsParams (line 9050) | class ListFineTuningJobCheckpointsParams extends S.Struct({
  class FineTuningJobCheckpointObject (line 9058) | class FineTuningJobCheckpointObject extends S.Literal("fine_tuning.job.c...
  class FineTuningJobCheckpoint (line 9063) | class FineTuningJobCheckpoint extends S.Class<FineTuningJobCheckpoint>("...
  class ListFineTuningJobCheckpointsResponseObject (line 9102) | class ListFineTuningJobCheckpointsResponseObject extends S.Literal("list...
  class ListFineTuningJobCheckpointsResponse (line 9104) | class ListFineTuningJobCheckpointsResponse
  class ListFineTuningEventsParams (line 9114) | class ListFineTuningEventsParams extends S.Struct({
  class FineTuningJobEventObject (line 9122) | class FineTuningJobEventObject extends S.Literal("fine_tuning.job.event"...
  class FineTuningJobEventLevel (line 9127) | class FineTuningJobEventLevel extends S.Literal("info", "warn", "error") {}
  class FineTuningJobEventType (line 9132) | class FineTuningJobEventType extends S.Literal("message", "metrics") {}
  class FineTuningJobEvent (line 9137) | class FineTuningJobEvent extends S.Class<FineTuningJobEvent>("FineTuning...
  class ListFineTuningJobEventsResponseObject (line 9168) | class ListFineTuningJobEventsResponseObject extends S.Literal("list") {}
  class ListFineTuningJobEventsResponse (line 9170) | class ListFineTuningJobEventsResponse
  class CreateImageEditRequestBackground (line 9187) | class CreateImageEditRequestBackground extends S.Literal("transparent", ...
  class CreateImageEditRequestModelEnum (line 9189) | class CreateImageEditRequestModelEnum extends S.Literal("dall-e-2", "gpt...
  class CreateImageEditRequestSize (line 9194) | class CreateImageEditRequestSize
  class CreateImageEditRequestResponseFormat (line 9201) | class CreateImageEditRequestResponseFormat extends S.Literal("url", "b64...
  class CreateImageEditRequestOutputFormat (line 9208) | class CreateImageEditRequestOutputFormat extends S.Literal("png", "jpeg"...
  class PartialImages (line 9210) | class PartialImages extends S.Union(
  class CreateImageEditRequestQuality (line 9226) | class CreateImageEditRequestQuality extends S.Literal("standard", "low",...
  class CreateImageEditRequest (line 9228) | class CreateImageEditRequest extends S.Class<CreateImageEditRequest>("Cr...
  class Image (line 9314) | class Image extends S.Class<Image>("Image")({
  class ImagesResponseBackground (line 9332) | class ImagesResponseBackground extends S.Literal("transparent", "opaque"...
  class ImagesResponseOutputFormat (line 9337) | class ImagesResponseOutputFormat extends S.Literal("png", "webp", "jpeg"...
  class ImagesResponseSize (line 9342) | class ImagesResponseSize extends S.Literal("1024x1024", "1024x1536", "15...
  class ImagesResponseQuality (line 9347) | class ImagesResponseQuality extends S.Literal("low", "medium", "high") {}
  class ImageGenInputUsageDetails (line 9352) | class ImageGenInputUsageDetails extends S.Class<ImageGenInputUsageDetail...
  class ImageGenUsage (line 9366) | class ImageGenUsage extends S.Class<ImageGenUsage>("ImageGenUsage")({
  class ImagesResponse (line 9385) | class ImagesResponse extends S.Class<ImagesResponse>("ImagesResponse")({
  class CreateImageRequestModelEnum (line 9413) | class CreateImageRequestModelEnum extends S.Literal("dall-e-2", "dall-e-...
  class CreateImageRequestQuality (line 9423) | class CreateImageRequestQuality extends S.Literal("standard", "hd", "low...
  class CreateImageRequestResponseFormat (line 9428) | class CreateImageRequestResponseFormat extends S.Literal("url", "b64_jso...
  class CreateImageRequestOutputFormat (line 9433) | class CreateImageRequestOutputFormat extends S.Literal("png", "jpeg", "w...
  class CreateImageRequestSize (line 9438) | class CreateImageRequestSize
  class CreateImageRequestModeration (line 9445) | class CreateImageRequestModeration extends S.Literal("low", "auto") {}
  class CreateImageRequestBackground (line 9456) | class CreateImageRequestBackground extends S.Literal("transparent", "opa...
  class CreateImageRequestStyle (line 9461) | class CreateImageRequestStyle extends S.Literal("vivid", "natural") {}
  class CreateImageRequest (line 9463) | class CreateImageRequest extends S.Class<CreateImageRequest>("CreateImag...
  class CreateImageVariationRequestModelEnum (line 9538) | class CreateImageVariationRequestModelEnum extends S.Literal("dall-e-2") {}
  class CreateImageVariationRequestResponseFormat (line 9543) | class CreateImageVariationRequestResponseFormat extends S.Literal("url",...
  class CreateImageVariationRequestSize (line 9548) | class CreateImageVariationRequestSize extends S.Literal("256x256", "512x...
  class CreateImageVariationRequest (line 9550) | class CreateImageVariationRequest extends S.Class<CreateImageVariationRe...
  class ListModelsResponseObject (line 9583) | class ListModelsResponseObject extends S.Literal("list") {}
  class ModelObject (line 9588) | class ModelObject extends S.Literal("model") {}
  class Model (line 9593) | class Model extends S.Class<Model>("Model")({
  class ListModelsResponse (line 9612) | class ListModelsResponse extends S.Class<ListModelsResponse>("ListModels...
  class DeleteModelResponse (line 9617) | class DeleteModelResponse extends S.Class<DeleteModelResponse>("DeleteMo...
  class ModerationImageURLInputType (line 9626) | class ModerationImageURLInputType extends S.Literal("image_url") {}
  class ModerationImageURLInput (line 9631) | class ModerationImageURLInput extends S.Class<ModerationImageURLInput>("...
  class ModerationTextInputType (line 9650) | class ModerationTextInputType extends S.Literal("text") {}
  class ModerationTextInput (line 9655) | class ModerationTextInput extends S.Class<ModerationTextInput>("Moderati...
  class CreateModerationRequestModelEnum (line 9666) | class CreateModerationRequestModelEnum extends S.Literal(
  class CreateModerationRequest (line 9673) | class CreateModerationRequest extends S.Class<CreateModerationRequest>("...
  class CreateModerationResponse (line 9703) | class CreateModerationResponse extends S.Class<CreateModerationResponse>...
  class AdminApiKeysListParamsOrder (line 9891) | class AdminApiKeysListParamsOrder extends S.Literal("asc", "desc") {}
  class AdminApiKeysListParams (line 9893) | class AdminApiKeysListParams extends S.Struct({
  class AdminApiKey (line 9911) | class AdminApiKey extends S.Class<AdminApiKey>("AdminApiKey")({
  class ApiKeyList (line 9965) | class ApiKeyList extends S.Class<ApiKeyList>("ApiKeyList")({
  class AdminApiKeysCreateRequest (line 9973) | class AdminApiKeysCreateRequest extends S.Class<AdminApiKeysCreateReques...
  class AdminApiKeysDelete200 (line 9977) | class AdminApiKeysDelete200 extends S.Struct({
  class AuditLogEventType (line 9986) | class AuditLogEventType extends S.Literal(
  class ListAuditLogsParams (line 10037) | class ListAuditLogsParams extends S.Struct({
  class ListAuditLogsResponseObject (line 10064) | class ListAuditLogsResponseObject extends S.Literal("list") {}
  class AuditLogActorType (line 10069) | class AuditLogActorType extends S.Literal("session", "api_key") {}
  class AuditLogActorUser (line 10074) | class AuditLogActorUser extends S.Class<AuditLogActorUser>("AuditLogActo...
  class AuditLogActorSession (line 10088) | class AuditLogActorSession extends S.Class<AuditLogActorSession>("AuditL...
  class AuditLogActorApiKeyType (line 10099) | class AuditLogActorApiKeyType extends S.Literal("user", "service_account...
  class AuditLogActorServiceAccount (line 10104) | class AuditLogActorServiceAccount extends S.Class<AuditLogActorServiceAc...
  class AuditLogActorApiKey (line 10114) | class AuditLogActorApiKey extends S.Class<AuditLogActorApiKey>("AuditLog...
  class AuditLogActor (line 10130) | class AuditLogActor extends S.Class<AuditLogActor>("AuditLogActor")({
  class AuditLog (line 10142) | class AuditLog extends S.Class<AuditLog>("AuditLog")({
  class ListAuditLogsResponse (line 11117) | class ListAuditLogsResponse extends S.Class<ListAuditLogsResponse>("List...
  class ListOrganizationCertificatesParamsOrder (line 11125) | class ListOrganizationCertificatesParamsOrder extends S.Literal("asc", "...
  class ListOrganizationCertificatesParams (line 11127) | class ListOrganizationCertificatesParams extends S.Struct({
  class CertificateObject (line 11140) | class CertificateObject
  class Certificate (line 11147) | class Certificate extends S.Class<Certificate>("Certificate")({
  class ListCertificatesResponseObject (line 11188) | class ListCertificatesResponseObject extends S.Literal("list") {}
  class ListCertificatesResponse (line 11190) | class ListCertificatesResponse extends S.Class<ListCertificatesResponse>...
  class UploadCertificateRequest (line 11198) | class UploadCertificateRequest extends S.Class<UploadCertificateRequest>...
  class ToggleCertificatesRequest (line 11209) | class ToggleCertificatesRequest extends S.Class<ToggleCertificatesReques...
  class GetCertificateParams (line 11213) | class GetCertificateParams extends S.Struct({
  class ModifyCertificateRequest (line 11217) | class ModifyCertificateRequest extends S.Class<ModifyCertificateRequest>...
  class DeleteCertificateResponse (line 11224) | class DeleteCertificateResponse extends S.Class<DeleteCertificateRespons...
  class UsageCostsParamsBucketWidth (line 11235) | class UsageCostsParamsBucketWidth extends S.Literal("1d") {}
  class UsageCostsParams (line 11237) | class UsageCostsParams extends S.Struct({
  class UsageResponseObject (line 11247) | class UsageResponseObject extends S.Literal("page") {}
  class UsageTimeBucketObject (line 11249) | class UsageTimeBucketObject extends S.Literal("bucket") {}
  class UsageCompletionsResultObject (line 11251) | class UsageCompletionsResultObject extends S.Literal("organization.usage...
  class UsageCompletionsResult (line 11256) | class UsageCompletionsResult extends S.Class<UsageCompletionsResult>("Us...
  class UsageEmbeddingsResultObject (line 11290) | class UsageEmbeddingsResultObject extends S.Literal("organization.usage....
  class UsageEmbeddingsResult (line 11295) | class UsageEmbeddingsResult extends S.Class<UsageEmbeddingsResult>("Usag...
  class UsageModerationsResultObject (line 11311) | class UsageModerationsResultObject extends S.Literal("organization.usage...
  class UsageModerationsResult (line 11316) | class UsageModerationsResult extends S.Class<UsageModerationsResult>("Us...
  class UsageImagesResultObject (line 11332) | class UsageImagesResultObject extends S.Literal("organization.usage.imag...
  class UsageImagesResult (line 11337) | class UsageImagesResult extends S.Class<UsageImagesResult>("UsageImagesR...
  class UsageAudioSpeechesResultObject (line 11355) | class UsageAudioSpeechesResultObject extends S.Literal("organization.usa...
  class UsageAudioSpeechesResult (line 11360) | class UsageAudioSpeechesResult extends S.Class<UsageAudioSpeechesResult>...
  class UsageAudioTranscriptionsResultObject (line 11376) | class UsageAudioTranscriptionsResultObject extends S.Literal("organizati...
  class UsageAudioTranscriptionsResult (line 11381) | class UsageAudioTranscriptionsResult
  class UsageVectorStoresResultObject (line 11399) | class UsageVectorStoresResultObject extends S.Literal("organization.usag...
  class UsageVectorStoresResult (line 11404) | class UsageVectorStoresResult extends S.Class<UsageVectorStoresResult>("...
  class UsageCodeInterpreterSessionsResultObject (line 11413) | class UsageCodeInterpreterSessionsResultObject
  class UsageCodeInterpreterSessionsResult (line 11420) | class UsageCodeInterpreterSessionsResult
  class CostsResultObject (line 11431) | class CostsResultObject extends S.Literal("organization.costs.result") {}
  class CostsResult (line 11436) | class CostsResult extends S.Class<CostsResult>("CostsResult")({
  class UsageTimeBucket (line 11458) | class UsageTimeBucket extends S.Class<UsageTimeBucket>("UsageTimeBucket")({
  class UsageResponse (line 11477) | class UsageResponse extends S.Class<UsageResponse>("UsageResponse")({
  class ListGroupsParamsOrder (line 11484) | class ListGroupsParamsOrder extends S.Literal("asc", "desc") {}
  class ListGroupsParams (line 11486) | class ListGroupsParams extends S.Struct({
  class GroupListResourceObject (line 11498) | class GroupListResourceObject extends S.Literal("list") {}
  class GroupResponse (line 11503) | class GroupResponse extends S.Class<GroupResponse>("GroupResponse")({
  class GroupListResource (line 11525) | class GroupListResource extends S.Class<GroupListResource>("GroupListRes...
  class CreateGroupBody (line 11547) | class CreateGroupBody extends S.Class<CreateGroupBody>("CreateGroupBody")({
  class UpdateGroupBody (line 11557) | class UpdateGroupBody extends S.Class<UpdateGroupBody>("UpdateGroupBody")({
  class GroupResourceWithSuccess (line 11567) | class GroupResourceWithSuccess extends S.Class<GroupResourceWithSuccess>...
  class GroupDeletedResourceObject (line 11589) | class GroupDeletedResourceObject extends S.Literal("group.deleted") {}
  class GroupDeletedResource (line 11594) | class GroupDeletedResource extends S.Class<GroupDeletedResource>("GroupD...
  class ListGroupRoleAssignmentsParamsOrder (line 11609) | class ListGroupRoleAssignmentsParamsOrder extends S.Literal("asc", "desc...
  class ListGroupRoleAssignmentsParams (line 11611) | class ListGroupRoleAssignmentsParams extends S.Struct({
  class RoleListResourceObject (line 11620) | class RoleListResourceObject extends S.Literal("list") {}
  class AssignedRoleDetails (line 11625) | class AssignedRoleDetails extends S.Class<AssignedRoleDetails>("Assigned...
  class RoleListResource (line 11675) | class RoleListResource extends S.Class<RoleListResource>("RoleListResour...
  class PublicAssignOrganizationGroupRoleBody (line 11697) | class PublicAssignOrganizationGroupRoleBody
  class GroupRoleAssignmentObject (line 11709) | class GroupRoleAssignmentObject extends S.Literal("group.role") {}
  class GroupObject (line 11714) | class GroupObject extends S.Literal("group") {}
  class Group (line 11719) | class Group extends S.Class<Group>("Group")({
  class RoleObject (line 11745) | class RoleObject extends S.Literal("role") {}
  class Role (line 11750) | class Role extends S.Class<Role>("Role")({
  class GroupRoleAssignment (line 11784) | class GroupRoleAssignment extends S.Class<GroupRoleAssignment>("GroupRol...
  class DeletedRoleAssignmentResource (line 11796) | class DeletedRoleAssignmentResource
  class ListGroupUsersParamsOrder (line 11809) | class ListGroupUsersParamsOrder extends S.Literal("asc", "desc") {}
  class ListGroupUsersParams (line 11811) | class ListGroupUsersParams extends S.Struct({
  class UserListResourceObject (line 11823) | class UserListResourceObject extends S.Literal("list") {}
  class UserObject (line 11828) | class UserObje
Copy disabled (too large) Download .json
Condensed preview — 2189 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (16,484K chars).
[
  {
    "path": ".changeset/config.json",
    "chars": 408,
    "preview": "{\n  \"$schema\": \"https://unpkg.com/@changesets/config@1.6.4/schema.json\",\n  \"changelog\": [\"@changesets/changelog-github\","
  },
  {
    "path": ".github/CODEOWNERS",
    "chars": 1336,
    "preview": "/packages/effect/ @mikearnaldi\n\n/packages/effect/src/Arbitrary.ts @gcanti\n/packages/effect/src/JSONSchema.ts @gcanti\n/pa"
  },
  {
    "path": ".github/actions/setup/action.yml",
    "chars": 627,
    "preview": "name: Setup\ndescription: Perform standard setup and install dependencies using pnpm.\ninputs:\n  node-version:\n    descrip"
  },
  {
    "path": ".github/workflows/check.yml",
    "chars": 1677,
    "preview": "name: Check\non:\n  workflow_dispatch:\n  pull_request:\n    branches: [main, next-minor, next-major]\n  push:\n    branches: "
  },
  {
    "path": ".github/workflows/pages.yml",
    "chars": 1512,
    "preview": "name: Pages\non:\n  workflow_dispatch:\n  pull_request:\n    branches: [main, next-minor, next-major]\n  push:\n    branches: "
  },
  {
    "path": ".github/workflows/release-queue.yml",
    "chars": 934,
    "preview": "name: Release queue\non:\n  issue_comment:\n    types: [created]\n  pull_request_target:\n    branches: [main, next-minor, ne"
  },
  {
    "path": ".github/workflows/release.yml",
    "chars": 868,
    "preview": "name: Release\non:\n  push:\n    branches: [main]\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.ref }}\n\npermissi"
  },
  {
    "path": ".github/workflows/snapshot.yml",
    "chars": 622,
    "preview": "name: Snapshot\non:\n  pull_request:\n    branches: [main, next-minor, next-major]\n  workflow_dispatch:\n\npermissions: {}\n\nj"
  },
  {
    "path": ".github/workflows/ts-nightly.yml",
    "chars": 932,
    "preview": "name: TypeScript's nightly\non:\n  workflow_dispatch:\n  schedule:\n    - cron: \"0 12 * * *\"\n\npermissions: {}\n\njobs:\n  types"
  },
  {
    "path": ".gitignore",
    "chars": 122,
    "preview": "coverage/\n*.tsbuildinfo\nnode_modules/\n.DS_Store\ntmp/\ndist/\nbuild/\ndocs/\nscratchpad/\n.direnv/\n.idea/\n.env*\n.lalph/\n.repos"
  },
  {
    "path": ".madgerc",
    "chars": 80,
    "preview": "{\n  \"detectiveOptions\": {\n    \"ts\": {\n      \"skipTypeImports\": true\n    }\n  }\n}\n"
  },
  {
    "path": ".prettierignore",
    "chars": 16,
    "preview": "*.js\n*.ts\n*.cjs\n"
  },
  {
    "path": ".prettierrc.json",
    "chars": 47,
    "preview": "{\n  \"semi\": false,\n  \"trailingComma\": \"none\"\n}\n"
  },
  {
    "path": ".vscode/settings.json",
    "chars": 1506,
    "preview": "{\n  \"typescript.tsdk\": \"node_modules/typescript/lib\",\n  \"typescript.preferences.importModuleSpecifier\": \"relative\",\n  \"t"
  },
  {
    "path": ".vscode/tasks.json",
    "chars": 550,
    "preview": "{\n  \"version\": \"2.0.0\",\n  \"tasks\": [\n    {\n      \"label\": \"Watch\",\n      \"type\": \"shell\",\n      \"command\": \"pnpm check -"
  },
  {
    "path": "AGENTS.md",
    "chars": 2935,
    "preview": "# Agent Instructions\n\nThis is the Effect library repository, focusing on functional programming patterns and effect syst"
  },
  {
    "path": "LICENSE",
    "chars": 1083,
    "preview": "MIT License\n\nCopyright (c) 2023 Effectful Technologies Inc\n\nPermission is hereby granted, free of charge, to any person "
  },
  {
    "path": "README.md",
    "chars": 15512,
    "preview": "![npm version](https://img.shields.io/npm/v/effect)\n\n# Effect Monorepo\n\n> An ecosystem of tools to build robust applicat"
  },
  {
    "path": "docker-compose.yaml",
    "chars": 466,
    "preview": "services:\n  pg:\n    image: postgres:alpine # Using a lightweight Postgres image\n    environment:\n      POSTGRES_DB: effe"
  },
  {
    "path": "eslint.config.mjs",
    "chars": 4420,
    "preview": "import * as effectEslint from \"@effect/eslint-plugin\"\nimport { fixupPluginRules } from \"@eslint/compat\"\nimport { FlatCom"
  },
  {
    "path": "flake.nix",
    "chars": 630,
    "preview": "{\n  inputs = {\n    nixpkgs.url = \"github:nixos/nixpkgs/nixpkgs-unstable\";\n  };\n  outputs =\n    { nixpkgs, ... }:\n    let"
  },
  {
    "path": "package.json",
    "chars": 3655,
    "preview": "{\n  \"private\": true,\n  \"type\": \"module\",\n  \"packageManager\": \"pnpm@10.17.1+sha512.17c560fca4867ae9473a3899ad84a88334914f"
  },
  {
    "path": "packages/ai/ai/CHANGELOG.md",
    "chars": 116625,
    "preview": "# @effect/ai\n\n## 0.35.0\n\n### Patch Changes\n\n- Updated dependencies [[`f7bb09b`](https://github.com/Effect-TS/effect/comm"
  },
  {
    "path": "packages/ai/ai/LICENSE",
    "chars": 1083,
    "preview": "MIT License\n\nCopyright (c) 2023 Effectful Technologies Inc\n\nPermission is hereby granted, free of charge, to any person "
  },
  {
    "path": "packages/ai/ai/README.md",
    "chars": 253,
    "preview": "# `@effect/ai`\n\n## Documentation\n\n- **Introduction**: [Read the introduction and usage guide on our website](https://eff"
  },
  {
    "path": "packages/ai/ai/docgen.json",
    "chars": 918,
    "preview": "{\n  \"$schema\": \"../../../node_modules/@effect/docgen/schema.json\",\n  \"exclude\": [\"src/internal/**/*.ts\"],\n  \"srcLink\": \""
  },
  {
    "path": "packages/ai/ai/package.json",
    "chars": 1811,
    "preview": "{\n  \"name\": \"@effect/ai\",\n  \"type\": \"module\",\n  \"version\": \"0.35.0\",\n  \"license\": \"MIT\",\n  \"description\": \"Effect module"
  },
  {
    "path": "packages/ai/ai/src/AiError.ts",
    "chars": 23574,
    "preview": "/**\n * The `AiError` module provides comprehensive error handling for AI operations.\n *\n * This module defines a hierarc"
  },
  {
    "path": "packages/ai/ai/src/Chat.ts",
    "chars": 27452,
    "preview": "/**\n * The `Chat` module provides a stateful conversation interface for AI language\n * models.\n *\n * This module enables"
  },
  {
    "path": "packages/ai/ai/src/EmbeddingModel.ts",
    "chars": 9721,
    "preview": "/**\n * The `EmbeddingModel` module provides vector embeddings for text using AI\n * models.\n *\n * This module enables eff"
  },
  {
    "path": "packages/ai/ai/src/IdGenerator.ts",
    "chars": 8469,
    "preview": "/**\n * The `IdGenerator` module provides a pluggable system for generating unique identifiers\n * for tool calls and othe"
  },
  {
    "path": "packages/ai/ai/src/LanguageModel.ts",
    "chars": 37430,
    "preview": "/**\n * The `LanguageModel` module provides AI text generation capabilities with tool\n * calling support.\n *\n * This modu"
  },
  {
    "path": "packages/ai/ai/src/McpSchema.ts",
    "chars": 54108,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as Rpc from \"@effect/rpc/Rpc\"\nimport type * as RpcClient from \"@effect/rpc/RpcClient\"\ni"
  },
  {
    "path": "packages/ai/ai/src/McpServer.ts",
    "chars": 42511,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as Headers from \"@effect/platform/Headers\"\nimport type * as HttpLayerRouter from \"@effe"
  },
  {
    "path": "packages/ai/ai/src/Model.ts",
    "chars": 4444,
    "preview": "/**\n * The `Model` module provides a unified interface for AI service providers.\n *\n * This module enables creation of p"
  },
  {
    "path": "packages/ai/ai/src/Prompt.ts",
    "chars": 47585,
    "preview": "/**\n * The `Prompt` module provides several data structures to simplify creating and\n * combining prompts.\n *\n * This mo"
  },
  {
    "path": "packages/ai/ai/src/Response.ts",
    "chars": 65088,
    "preview": "/**\n * The `Response` module provides data structures to represent responses from\n * large language models.\n *\n * This m"
  },
  {
    "path": "packages/ai/ai/src/Telemetry.ts",
    "chars": 15656,
    "preview": "/**\n * The `Telemetry` module provides OpenTelemetry integration for operations\n * performed against a large language mo"
  },
  {
    "path": "packages/ai/ai/src/Tokenizer.ts",
    "chars": 5642,
    "preview": "/**\n * The `Tokenizer` module provides tokenization and text truncation capabilities\n * for large language model text pr"
  },
  {
    "path": "packages/ai/ai/src/Tool.ts",
    "chars": 40923,
    "preview": "/**\n * The `Tool` module provides functionality for defining and managing tools\n * that language models can call to augm"
  },
  {
    "path": "packages/ai/ai/src/Toolkit.ts",
    "chars": 16111,
    "preview": "/**\n * The `Toolkit` module allows for creating and implementing a collection of\n * `Tool`s which can be used to enhance"
  },
  {
    "path": "packages/ai/ai/src/index.ts",
    "chars": 15306,
    "preview": "/**\n * The `AiError` module provides comprehensive error handling for AI operations.\n *\n * This module defines a hierarc"
  },
  {
    "path": "packages/ai/ai/test/Chat.test.ts",
    "chars": 5502,
    "preview": "import * as Chat from \"@effect/ai/Chat\"\nimport * as IdGenerator from \"@effect/ai/IdGenerator\"\nimport * as Prompt from \"@"
  },
  {
    "path": "packages/ai/ai/test/LanguageModel.test.ts",
    "chars": 2546,
    "preview": "import * as LanguageModel from \"@effect/ai/LanguageModel\"\nimport * as Response from \"@effect/ai/Response\"\nimport * as To"
  },
  {
    "path": "packages/ai/ai/test/Prompt.test.ts",
    "chars": 6139,
    "preview": "import * as Prompt from \"@effect/ai/Prompt\"\nimport * as Response from \"@effect/ai/Response\"\nimport { assert, describe, i"
  },
  {
    "path": "packages/ai/ai/test/Tool.test.ts",
    "chars": 14800,
    "preview": "import * as LanguageModel from \"@effect/ai/LanguageModel\"\nimport * as Response from \"@effect/ai/Response\"\nimport * as To"
  },
  {
    "path": "packages/ai/ai/test/utilities.ts",
    "chars": 2825,
    "preview": "import * as LanguageModel from \"@effect/ai/LanguageModel\"\nimport type * as Response from \"@effect/ai/Response\"\nimport * "
  },
  {
    "path": "packages/ai/ai/tsconfig.build.json",
    "chars": 488,
    "preview": "{\n  \"extends\": \"./tsconfig.src.json\",\n  \"references\": [\n    { \"path\": \"../../effect/tsconfig.build.json\" },\n    { \"path\""
  },
  {
    "path": "packages/ai/ai/tsconfig.json",
    "chars": 161,
    "preview": "{\n  \"extends\": \"../../../tsconfig.base.json\",\n  \"include\": [],\n  \"references\": [\n    { \"path\": \"tsconfig.src.json\" },\n  "
  },
  {
    "path": "packages/ai/ai/tsconfig.src.json",
    "chars": 491,
    "preview": "{\n  \"extends\": \"../../../tsconfig.base.json\",\n  \"include\": [\"src\"],\n  \"references\": [\n    { \"path\": \"../../effect/tsconf"
  },
  {
    "path": "packages/ai/ai/tsconfig.test.json",
    "chars": 346,
    "preview": "{\n  \"extends\": \"../../../tsconfig.base.json\",\n  \"include\": [\"test\"],\n  \"references\": [\n    { \"path\": \"tsconfig.src.json\""
  },
  {
    "path": "packages/ai/ai/vitest.config.ts",
    "chars": 191,
    "preview": "import { mergeConfig, type ViteUserConfig } from \"vitest/config\"\nimport shared from \"../../../vitest.shared.js\"\n\nconst c"
  },
  {
    "path": "packages/ai/amazon-bedrock/CHANGELOG.md",
    "chars": 26886,
    "preview": "# @effect/ai-amazon-bedrock\n\n## 0.15.0\n\n### Patch Changes\n\n- Updated dependencies [[`f7bb09b`](https://github.com/Effect"
  },
  {
    "path": "packages/ai/amazon-bedrock/LICENSE",
    "chars": 1083,
    "preview": "MIT License\n\nCopyright (c) 2023 Effectful Technologies Inc\n\nPermission is hereby granted, free of charge, to any person "
  },
  {
    "path": "packages/ai/amazon-bedrock/README.md",
    "chars": 160,
    "preview": "# `@effect/ai-amazon-bedrock`\n\n## Documentation\n\n- **API Reference**: [View the full documentation](https://effect-ts.gi"
  },
  {
    "path": "packages/ai/amazon-bedrock/docgen.json",
    "chars": 1230,
    "preview": "{\n  \"$schema\": \"../../../node_modules/@effect/docgen/schema.json\",\n  \"exclude\": [\"src/Generated.ts\", \"src/internal/**/*."
  },
  {
    "path": "packages/ai/amazon-bedrock/package.json",
    "chars": 2127,
    "preview": "{\n  \"name\": \"@effect/ai-amazon-bedrock\",\n  \"type\": \"module\",\n  \"version\": \"0.15.0\",\n  \"license\": \"MIT\",\n  \"description\":"
  },
  {
    "path": "packages/ai/amazon-bedrock/src/AmazonBedrockClient.ts",
    "chars": 11227,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as AiError from \"@effect/ai/AiError\"\nimport * as Headers from \"@effect/platform/Headers"
  },
  {
    "path": "packages/ai/amazon-bedrock/src/AmazonBedrockConfig.ts",
    "chars": 1639,
    "preview": "/**\n * @since 1.0.0\n */\nimport type { HttpClient } from \"@effect/platform/HttpClient\"\nimport * as Context from \"effect/C"
  },
  {
    "path": "packages/ai/amazon-bedrock/src/AmazonBedrockLanguageModel.ts",
    "chars": 40139,
    "preview": "/**\n * @since 1.0.0\n */\nimport { prepareTools as prepareAnthropicTools } from \"@effect/ai-anthropic/AnthropicLanguageMod"
  },
  {
    "path": "packages/ai/amazon-bedrock/src/AmazonBedrockSchema.ts",
    "chars": 31380,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as Schema from \"effect/Schema\"\n\nconst prefix = \"@effect/ai-amazon-bedrock\"\n\nconst makeI"
  },
  {
    "path": "packages/ai/amazon-bedrock/src/AmazonBedrockTool.ts",
    "chars": 9014,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as AnthropicTool from \"@effect/ai-anthropic/AnthropicTool\"\nimport type * as Generated f"
  },
  {
    "path": "packages/ai/amazon-bedrock/src/EventStreamEncoding.ts",
    "chars": 3756,
    "preview": "/**\n * @since 1.0.0\n */\nimport { EventStreamCodec } from \"@smithy/eventstream-codec\"\nimport { fromUtf8, toUtf8 } from \"@"
  },
  {
    "path": "packages/ai/amazon-bedrock/src/index.ts",
    "chars": 543,
    "preview": "/**\n * @since 1.0.0\n */\nexport * as AmazonBedrockClient from \"./AmazonBedrockClient.js\"\n\n/**\n * @since 1.0.0\n */\nexport "
  },
  {
    "path": "packages/ai/amazon-bedrock/src/internal/utilities.ts",
    "chars": 866,
    "preview": "import type * as Response from \"@effect/ai/Response\"\nimport * as Predicate from \"effect/Predicate\"\nimport type { StopRea"
  },
  {
    "path": "packages/ai/amazon-bedrock/tsconfig.build.json",
    "chars": 536,
    "preview": "{\n  \"extends\": \"./tsconfig.src.json\",\n  \"references\": [\n    { \"path\": \"../ai/tsconfig.build.json\" },\n    { \"path\": \"../a"
  },
  {
    "path": "packages/ai/amazon-bedrock/tsconfig.json",
    "chars": 161,
    "preview": "{\n  \"extends\": \"../../../tsconfig.base.json\",\n  \"include\": [],\n  \"references\": [\n    { \"path\": \"tsconfig.src.json\" },\n  "
  },
  {
    "path": "packages/ai/amazon-bedrock/tsconfig.src.json",
    "chars": 514,
    "preview": "{\n  \"extends\": \"../../../tsconfig.base.json\",\n  \"include\": [\"src\"],\n  \"references\": [\n    { \"path\": \"../ai/tsconfig.src."
  },
  {
    "path": "packages/ai/amazon-bedrock/tsconfig.test.json",
    "chars": 346,
    "preview": "{\n  \"extends\": \"../../../tsconfig.base.json\",\n  \"include\": [\"test\"],\n  \"references\": [\n    { \"path\": \"tsconfig.src.json\""
  },
  {
    "path": "packages/ai/amazon-bedrock/vitest.config.ts",
    "chars": 191,
    "preview": "import { mergeConfig, type ViteUserConfig } from \"vitest/config\"\nimport shared from \"../../../vitest.shared.js\"\n\nconst c"
  },
  {
    "path": "packages/ai/anthropic/CHANGELOG.md",
    "chars": 65967,
    "preview": "# @effect/ai-anthropic\n\n## 0.25.0\n\n### Patch Changes\n\n- Updated dependencies [[`f7bb09b`](https://github.com/Effect-TS/e"
  },
  {
    "path": "packages/ai/anthropic/LICENSE",
    "chars": 1083,
    "preview": "MIT License\n\nCopyright (c) 2023 Effectful Technologies Inc\n\nPermission is hereby granted, free of charge, to any person "
  },
  {
    "path": "packages/ai/anthropic/README.md",
    "chars": 153,
    "preview": "# `@effect/ai-anthropic`\n\n## Documentation\n\n- **API Reference**: [View the full documentation](https://effect-ts.github."
  },
  {
    "path": "packages/ai/anthropic/docgen.json",
    "chars": 1079,
    "preview": "{\n  \"$schema\": \"../../../node_modules/@effect/docgen/schema.json\",\n  \"exclude\": [\"src/Generated.ts\", \"src/internal/**/*."
  },
  {
    "path": "packages/ai/anthropic/package.json",
    "chars": 1920,
    "preview": "{\n  \"name\": \"@effect/ai-anthropic\",\n  \"type\": \"module\",\n  \"version\": \"0.25.0\",\n  \"license\": \"MIT\",\n  \"description\": \"Eff"
  },
  {
    "path": "packages/ai/anthropic/scripts/generate.sh",
    "chars": 713,
    "preview": "#!/usr/bin/env bash\n\nset -euo pipefail\n\nSCRIPT_DIR=$(cd -- \"$(dirname -- \"${BASH_SOURCE[0]}\")\" &> /dev/null && pwd)\n\ntem"
  },
  {
    "path": "packages/ai/anthropic/scripts/generated.patch",
    "chars": 2491,
    "preview": "diff --git a/packages/ai/anthropic/src/Generated.ts b/packages/ai/anthropic/src/Generated.ts\nindex 9015e6427..dcb4afdad "
  },
  {
    "path": "packages/ai/anthropic/src/AnthropicClient.ts",
    "chars": 25881,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as AiError from \"@effect/ai/AiError\"\nimport * as Sse from \"@effect/experimental/Sse\"\nim"
  },
  {
    "path": "packages/ai/anthropic/src/AnthropicConfig.ts",
    "chars": 1607,
    "preview": "/**\n * @since 1.0.0\n */\nimport type { HttpClient } from \"@effect/platform/HttpClient\"\nimport * as Context from \"effect/C"
  },
  {
    "path": "packages/ai/anthropic/src/AnthropicLanguageModel.ts",
    "chars": 57515,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as AiError from \"@effect/ai/AiError\"\nimport * as IdGenerator from \"@effect/ai/IdGenerat"
  },
  {
    "path": "packages/ai/anthropic/src/AnthropicTokenizer.ts",
    "chars": 1721,
    "preview": "/**\n * @since 1.0.0\n */\nimport { getTokenizer } from \"@anthropic-ai/tokenizer\"\nimport * as AiError from \"@effect/ai/AiEr"
  },
  {
    "path": "packages/ai/anthropic/src/AnthropicTool.ts",
    "chars": 18361,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as Tool from \"@effect/ai/Tool\"\nimport * as Schema from \"effect/Schema\"\nimport * as Stru"
  },
  {
    "path": "packages/ai/anthropic/src/Generated.ts",
    "chars": 282616,
    "preview": "/**\n * @since 1.0.0\n */\nimport type * as HttpClient from \"@effect/platform/HttpClient\"\nimport * as HttpClientError from "
  },
  {
    "path": "packages/ai/anthropic/src/index.ts",
    "chars": 489,
    "preview": "/**\n * @since 1.0.0\n */\nexport * as AnthropicClient from \"./AnthropicClient.js\"\n\n/**\n * @since 1.0.0\n */\nexport * as Ant"
  },
  {
    "path": "packages/ai/anthropic/src/internal/utilities.ts",
    "chars": 658,
    "preview": "import type * as Response from \"@effect/ai/Response\"\nimport * as Predicate from \"effect/Predicate\"\n\nconst finishReasonMa"
  },
  {
    "path": "packages/ai/anthropic/tsconfig.build.json",
    "chars": 484,
    "preview": "{\n  \"extends\": \"./tsconfig.src.json\",\n  \"references\": [\n    { \"path\": \"../ai/tsconfig.build.json\" },\n    { \"path\": \"../."
  },
  {
    "path": "packages/ai/anthropic/tsconfig.json",
    "chars": 161,
    "preview": "{\n  \"extends\": \"../../../tsconfig.base.json\",\n  \"include\": [],\n  \"references\": [\n    { \"path\": \"tsconfig.src.json\" },\n  "
  },
  {
    "path": "packages/ai/anthropic/tsconfig.src.json",
    "chars": 464,
    "preview": "{\n  \"extends\": \"../../../tsconfig.base.json\",\n  \"include\": [\"src\"],\n  \"references\": [\n    { \"path\": \"../ai/tsconfig.src."
  },
  {
    "path": "packages/ai/anthropic/tsconfig.test.json",
    "chars": 346,
    "preview": "{\n  \"extends\": \"../../../tsconfig.base.json\",\n  \"include\": [\"test\"],\n  \"references\": [\n    { \"path\": \"tsconfig.src.json\""
  },
  {
    "path": "packages/ai/anthropic/vitest.config.ts",
    "chars": 191,
    "preview": "import { mergeConfig, type ViteUserConfig } from \"vitest/config\"\nimport shared from \"../../../vitest.shared.js\"\n\nconst c"
  },
  {
    "path": "packages/ai/google/CHANGELOG.md",
    "chars": 24208,
    "preview": "# @effect/ai-google\n\n## 0.14.0\n\n### Patch Changes\n\n- Updated dependencies [[`f7bb09b`](https://github.com/Effect-TS/effe"
  },
  {
    "path": "packages/ai/google/LICENSE",
    "chars": 1083,
    "preview": "MIT License\n\nCopyright (c) 2023 Effectful Technologies Inc\n\nPermission is hereby granted, free of charge, to any person "
  },
  {
    "path": "packages/ai/google/README.md",
    "chars": 144,
    "preview": "# `@effect/ai-google`\n\n## Documentation\n\n- **API Reference**: [View the full documentation](https://effect-ts.github.io/"
  },
  {
    "path": "packages/ai/google/docgen.json",
    "chars": 1064,
    "preview": "{\n  \"$schema\": \"../../../node_modules/@effect/docgen/schema.json\",\n  \"exclude\": [\"src/Generated.ts\", \"src/internal/**/*."
  },
  {
    "path": "packages/ai/google/package.json",
    "chars": 1849,
    "preview": "{\n  \"name\": \"@effect/ai-google\",\n  \"type\": \"module\",\n  \"version\": \"0.14.0\",\n  \"license\": \"MIT\",\n  \"description\": \"Effect"
  },
  {
    "path": "packages/ai/google/scripts/generate.sh",
    "chars": 701,
    "preview": "#!/usr/bin/env bash\n\nset -euo pipefail\n\nSCRIPT_DIR=$(cd -- \"$( dirname -- \"${BASH_SOURCE[0]}\" )\" &> /dev/null && pwd)\n\ni"
  },
  {
    "path": "packages/ai/google/scripts/generated.patch",
    "chars": 8537,
    "preview": "diff --git a/packages/ai/google/src/Generated.ts b/packages/ai/google/src/Generated.ts\nindex 52b1a4a9e..47b58417a 100644"
  },
  {
    "path": "packages/ai/google/src/Generated.ts",
    "chars": 222542,
    "preview": "/**\n * @since 1.0.0\n */\nimport type * as HttpClient from \"@effect/platform/HttpClient\"\nimport * as HttpClientError from "
  },
  {
    "path": "packages/ai/google/src/GoogleClient.ts",
    "chars": 8620,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as AiError from \"@effect/ai/AiError\"\nimport * as Sse from \"@effect/experimental/Sse\"\nim"
  },
  {
    "path": "packages/ai/google/src/GoogleConfig.ts",
    "chars": 1576,
    "preview": "/**\n * @since 1.0.0\n */\nimport type { HttpClient } from \"@effect/platform/HttpClient\"\nimport * as Context from \"effect/C"
  },
  {
    "path": "packages/ai/google/src/GoogleLanguageModel.ts",
    "chars": 33000,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as AiError from \"@effect/ai/AiError\"\nimport * as IdGenerator from \"@effect/ai/IdGenerat"
  },
  {
    "path": "packages/ai/google/src/GoogleTool.ts",
    "chars": 1549,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as Tool from \"@effect/ai/Tool\"\nimport * as Generated from \"./Generated.js\"\n\n/**\n * @sin"
  },
  {
    "path": "packages/ai/google/src/index.ts",
    "chars": 378,
    "preview": "/**\n * @since 1.0.0\n */\nexport * as Generated from \"./Generated.js\"\n\n/**\n * @since 1.0.0\n */\nexport * as GoogleClient fr"
  },
  {
    "path": "packages/ai/google/src/internal/utilities.ts",
    "chars": 8081,
    "preview": "import type * as Response from \"@effect/ai/Response\"\nimport type {\n  JsonSchema7,\n  JsonSchema7AnyOf,\n  JsonSchema7Array"
  },
  {
    "path": "packages/ai/google/tsconfig.build.json",
    "chars": 484,
    "preview": "{\n  \"extends\": \"./tsconfig.src.json\",\n  \"references\": [\n    { \"path\": \"../ai/tsconfig.build.json\" },\n    { \"path\": \"../."
  },
  {
    "path": "packages/ai/google/tsconfig.json",
    "chars": 161,
    "preview": "{\n  \"extends\": \"../../../tsconfig.base.json\",\n  \"include\": [],\n  \"references\": [\n    { \"path\": \"tsconfig.src.json\" },\n  "
  },
  {
    "path": "packages/ai/google/tsconfig.src.json",
    "chars": 464,
    "preview": "{\n  \"extends\": \"../../../tsconfig.base.json\",\n  \"include\": [\"src\"],\n  \"references\": [\n    { \"path\": \"../ai/tsconfig.src."
  },
  {
    "path": "packages/ai/google/tsconfig.test.json",
    "chars": 346,
    "preview": "{\n  \"extends\": \"../../../tsconfig.base.json\",\n  \"include\": [\"test\"],\n  \"references\": [\n    { \"path\": \"tsconfig.src.json\""
  },
  {
    "path": "packages/ai/google/vitest.config.ts",
    "chars": 191,
    "preview": "import { mergeConfig, type ViteUserConfig } from \"vitest/config\"\nimport shared from \"../../../vitest.shared.js\"\n\nconst c"
  },
  {
    "path": "packages/ai/openai/CHANGELOG.md",
    "chars": 111481,
    "preview": "# @effect/ai-openai\n\n## 0.39.0\n\n### Patch Changes\n\n- Updated dependencies [[`f7bb09b`](https://github.com/Effect-TS/effe"
  },
  {
    "path": "packages/ai/openai/LICENSE",
    "chars": 1083,
    "preview": "MIT License\n\nCopyright (c) 2023 Effectful Technologies Inc\n\nPermission is hereby granted, free of charge, to any person "
  },
  {
    "path": "packages/ai/openai/README.md",
    "chars": 144,
    "preview": "# `@effect/ai-openai`\n\n## Documentation\n\n- **API Reference**: [View the full documentation](https://effect-ts.github.io/"
  },
  {
    "path": "packages/ai/openai/docgen.json",
    "chars": 1064,
    "preview": "{\n  \"$schema\": \"../../../node_modules/@effect/docgen/schema.json\",\n  \"exclude\": [\"src/Generated.ts\", \"src/internal/**/*."
  },
  {
    "path": "packages/ai/openai/package.json",
    "chars": 1904,
    "preview": "{\n  \"name\": \"@effect/ai-openai\",\n  \"type\": \"module\",\n  \"version\": \"0.39.0\",\n  \"license\": \"MIT\",\n  \"description\": \"Effect"
  },
  {
    "path": "packages/ai/openai/scripts/generate.sh",
    "chars": 606,
    "preview": "#!/usr/bin/env bash\n\nset -euo pipefail\n\nSCRIPT_DIR=$(cd -- \"$(dirname -- \"${BASH_SOURCE[0]}\")\" &> /dev/null && pwd)\n\ntem"
  },
  {
    "path": "packages/ai/openai/scripts/generated.patch",
    "chars": 627,
    "preview": "diff --git a/packages/ai/openai/src/Generated.ts b/packages/ai/openai/src/Generated.ts\nindex 1f2580576..a24c4f359 100644"
  },
  {
    "path": "packages/ai/openai/src/Generated.ts",
    "chars": 810202,
    "preview": "/**\n * @since 1.0.0\n */\nimport type * as HttpClient from \"@effect/platform/HttpClient\"\nimport * as HttpClientError from "
  },
  {
    "path": "packages/ai/openai/src/OpenAiClient.ts",
    "chars": 53312,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as AiError from \"@effect/ai/AiError\"\nimport * as Sse from \"@effect/experimental/Sse\"\nim"
  },
  {
    "path": "packages/ai/openai/src/OpenAiConfig.ts",
    "chars": 1576,
    "preview": "/**\n * @since 1.0.0\n */\nimport type { HttpClient } from \"@effect/platform/HttpClient\"\nimport * as Context from \"effect/C"
  },
  {
    "path": "packages/ai/openai/src/OpenAiEmbeddingModel.ts",
    "chars": 6415,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as EmbeddingModel from \"@effect/ai/EmbeddingModel\"\nimport * as AiModel from \"@effect/ai"
  },
  {
    "path": "packages/ai/openai/src/OpenAiLanguageModel.ts",
    "chars": 45370,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as AiError from \"@effect/ai/AiError\"\nimport * as IdGenerator from \"@effect/ai/IdGenerat"
  },
  {
    "path": "packages/ai/openai/src/OpenAiTelemetry.ts",
    "chars": 4012,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as Telemetry from \"@effect/ai/Telemetry\"\nimport { dual } from \"effect/Function\"\nimport "
  },
  {
    "path": "packages/ai/openai/src/OpenAiTokenizer.ts",
    "chars": 2163,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as AiError from \"@effect/ai/AiError\"\nimport type * as Prompt from \"@effect/ai/Prompt\"\ni"
  },
  {
    "path": "packages/ai/openai/src/OpenAiTool.ts",
    "chars": 3080,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as Tool from \"@effect/ai/Tool\"\nimport * as Schema from \"effect/Schema\"\nimport * as Stru"
  },
  {
    "path": "packages/ai/openai/src/index.ts",
    "chars": 631,
    "preview": "/**\n * @since 1.0.0\n */\nexport * as Generated from \"./Generated.js\"\n\n/**\n * @since 1.0.0\n */\nexport * as OpenAiClient fr"
  },
  {
    "path": "packages/ai/openai/src/internal/utilities.ts",
    "chars": 914,
    "preview": "import type * as Response from \"@effect/ai/Response\"\nimport * as Predicate from \"effect/Predicate\"\n\n/** @internal */\nexp"
  },
  {
    "path": "packages/ai/openai/tsconfig.build.json",
    "chars": 484,
    "preview": "{\n  \"extends\": \"./tsconfig.src.json\",\n  \"references\": [\n    { \"path\": \"../ai/tsconfig.build.json\" },\n    { \"path\": \"../."
  },
  {
    "path": "packages/ai/openai/tsconfig.json",
    "chars": 161,
    "preview": "{\n  \"extends\": \"../../../tsconfig.base.json\",\n  \"include\": [],\n  \"references\": [\n    { \"path\": \"tsconfig.src.json\" },\n  "
  },
  {
    "path": "packages/ai/openai/tsconfig.src.json",
    "chars": 464,
    "preview": "{\n  \"extends\": \"../../../tsconfig.base.json\",\n  \"include\": [\"src\"],\n  \"references\": [\n    { \"path\": \"../ai/tsconfig.src."
  },
  {
    "path": "packages/ai/openai/tsconfig.test.json",
    "chars": 346,
    "preview": "{\n  \"extends\": \"../../../tsconfig.base.json\",\n  \"include\": [\"test\"],\n  \"references\": [\n    { \"path\": \"tsconfig.src.json\""
  },
  {
    "path": "packages/ai/openai/vitest.config.ts",
    "chars": 191,
    "preview": "import { mergeConfig, type ViteUserConfig } from \"vitest/config\"\nimport shared from \"../../../vitest.shared.js\"\n\nconst c"
  },
  {
    "path": "packages/ai/openrouter/CHANGELOG.md",
    "chars": 13951,
    "preview": "# @effect/ai-openrouter\n\n## 0.10.0\n\n### Patch Changes\n\n- Updated dependencies [[`f7bb09b`](https://github.com/Effect-TS/"
  },
  {
    "path": "packages/ai/openrouter/LICENSE",
    "chars": 1083,
    "preview": "MIT License\n\nCopyright (c) 2023 Effectful Technologies Inc\n\nPermission is hereby granted, free of charge, to any person "
  },
  {
    "path": "packages/ai/openrouter/README.md",
    "chars": 152,
    "preview": "# `@effect/ai-openrouter`\n\n## Documentation\n\n- **API Reference**: [View the full documentation](https://effect-ts.github"
  },
  {
    "path": "packages/ai/openrouter/docgen.json",
    "chars": 942,
    "preview": "{\n  \"$schema\": \"../../../node_modules/@effect/docgen/schema.json\",\n  \"exclude\": [\"src/Generated.ts\", \"src/internal/**/*."
  },
  {
    "path": "packages/ai/openrouter/package.json",
    "chars": 1857,
    "preview": "{\n  \"name\": \"@effect/ai-openrouter\",\n  \"type\": \"module\",\n  \"version\": \"0.10.0\",\n  \"license\": \"MIT\",\n  \"description\": \"Ef"
  },
  {
    "path": "packages/ai/openrouter/scripts/generate.sh",
    "chars": 683,
    "preview": "#!/usr/bin/env bash\n\nset -euo pipefail\n\nSCRIPT_DIR=$(cd -- \"$(dirname -- \"${BASH_SOURCE[0]}\")\" &> /dev/null && pwd)\n\ntem"
  },
  {
    "path": "packages/ai/openrouter/scripts/generated.patch",
    "chars": 5690,
    "preview": "diff --git a/packages/ai/openrouter/src/Generated.ts b/packages/ai/openrouter/src/Generated.ts\nindex 92a756c..837d7dd 10"
  },
  {
    "path": "packages/ai/openrouter/src/Generated.ts",
    "chars": 215210,
    "preview": "/**\n * @since 1.0.0\n */\nimport type * as HttpClient from \"@effect/platform/HttpClient\"\nimport * as HttpClientError from "
  },
  {
    "path": "packages/ai/openrouter/src/OpenRouterClient.ts",
    "chars": 13937,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as AiError from \"@effect/ai/AiError\"\nimport * as Sse from \"@effect/experimental/Sse\"\nim"
  },
  {
    "path": "packages/ai/openrouter/src/OpenRouterConfig.ts",
    "chars": 1617,
    "preview": "/**\n * @since 1.0.0\n */\nimport type { HttpClient } from \"@effect/platform/HttpClient\"\nimport * as Context from \"effect/C"
  },
  {
    "path": "packages/ai/openrouter/src/OpenRouterLanguageModel.ts",
    "chars": 36774,
    "preview": "/**\n * @since 1.0.0\n */\nimport * as AiError from \"@effect/ai/AiError\"\nimport * as LanguageModel from \"@effect/ai/Languag"
  },
  {
    "path": "packages/ai/openrouter/src/index.ts",
    "chars": 331,
    "preview": "/**\n * @since 1.0.0\n */\nexport * as Generated from \"./Generated.js\"\n\n/**\n * @since 1.0.0\n */\nexport * as OpenRouterClien"
  },
  {
    "path": "packages/ai/openrouter/src/internal/utilities.ts",
    "chars": 716,
    "preview": "import type * as Response from \"@effect/ai/Response\"\nimport * as Predicate from \"effect/Predicate\"\nimport type * as Gene"
  },
  {
    "path": "packages/ai/openrouter/tsconfig.build.json",
    "chars": 484,
    "preview": "{\n  \"extends\": \"./tsconfig.src.json\",\n  \"references\": [\n    { \"path\": \"../ai/tsconfig.build.json\" },\n    { \"path\": \"../."
  },
  {
    "path": "packages/ai/openrouter/tsconfig.json",
    "chars": 161,
    "preview": "{\n  \"extends\": \"../../../tsconfig.base.json\",\n  \"include\": [],\n  \"references\": [\n    { \"path\": \"tsconfig.src.json\" },\n  "
  },
  {
    "path": "packages/ai/openrouter/tsconfig.src.json",
    "chars": 464,
    "preview": "{\n  \"extends\": \"../../../tsconfig.base.json\",\n  \"include\": [\"src\"],\n  \"references\": [\n    { \"path\": \"../ai/tsconfig.src."
  },
  {
    "path": "packages/ai/openrouter/tsconfig.test.json",
    "chars": 346,
    "preview": "{\n  \"extends\": \"../../../tsconfig.base.json\",\n  \"include\": [\"test\"],\n  \"references\": [\n    { \"path\": \"tsconfig.src.json\""
  },
  {
    "path": "packages/ai/openrouter/vitest.config.ts",
    "chars": 191,
    "preview": "import { mergeConfig, type ViteUserConfig } from \"vitest/config\"\nimport shared from \"../../../vitest.shared.js\"\n\nconst c"
  },
  {
    "path": "packages/cli/CHANGELOG.md",
    "chars": 227200,
    "preview": "# @effect/cli\n\n## 0.75.0\n\n### Patch Changes\n\n- Updated dependencies [[`f7bb09b`](https://github.com/Effect-TS/effect/com"
  },
  {
    "path": "packages/cli/LICENSE",
    "chars": 1083,
    "preview": "MIT License\n\nCopyright (c) 2023 Effectful Technologies Inc\n\nPermission is hereby granted, free of charge, to any person "
  },
  {
    "path": "packages/cli/README.md",
    "chars": 48567,
    "preview": "# Installation\n\nInstalling `@effect/cli` is straightforward and can be done using any of the popular package managers. F"
  },
  {
    "path": "packages/cli/docgen.json",
    "chars": 1483,
    "preview": "{\n  \"$schema\": \"../../node_modules/@effect/docgen/schema.json\",\n  \"exclude\": [\"src/internal/**/*.ts\"],\n  \"srcLink\": \"htt"
  },
  {
    "path": "packages/cli/examples/minigit.ts",
    "chars": 2798,
    "preview": "import { Args, Command, Options } from \"@effect/cli\"\nimport { NodeContext, NodeRuntime } from \"@effect/platform-node\"\nim"
  },
  {
    "path": "packages/cli/examples/naval-fate/domain.ts",
    "chars": 2116,
    "preview": "import * as Data from \"effect/Data\"\nimport * as Schema from \"effect/Schema\"\n\n/**\n * An error that occurs when attempting"
  },
  {
    "path": "packages/cli/examples/naval-fate/store.ts",
    "chars": 4677,
    "preview": "import * as KeyValueStore from \"@effect/platform/KeyValueStore\"\nimport * as Arr from \"effect/Array\"\nimport * as Context "
  },
  {
    "path": "packages/cli/examples/naval-fate.ts",
    "chars": 4082,
    "preview": "import { Args, CliConfig, Command, Options } from \"@effect/cli\"\nimport { NodeContext, NodeKeyValueStore, NodeRuntime } f"
  },
  {
    "path": "packages/cli/examples/prompt.ts",
    "chars": 1859,
    "preview": "import * as Command from \"@effect/cli/Command\"\nimport * as Prompt from \"@effect/cli/Prompt\"\nimport * as NodeContext from"
  },
  {
    "path": "packages/cli/package.json",
    "chars": 2054,
    "preview": "{\n  \"name\": \"@effect/cli\",\n  \"version\": \"0.75.0\",\n  \"type\": \"module\",\n  \"license\": \"MIT\",\n  \"description\": \"A library fo"
  },
  {
    "path": "packages/cli/src/Args.ts",
    "chars": 12079,
    "preview": "/**\n * @since 1.0.0\n */\nimport type { FileSystem } from \"@effect/platform/FileSystem\"\nimport type { Path } from \"@effect"
  },
  {
    "path": "packages/cli/src/AutoCorrect.ts",
    "chars": 323,
    "preview": "/**\n * @since 1.0.0\n */\n\nimport type { CliConfig } from \"./CliConfig.js\"\nimport * as InternalAutoCorrect from \"./interna"
  },
  {
    "path": "packages/cli/src/BuiltInOptions.ts",
    "chars": 2898,
    "preview": "/**\n * @since 1.0.0\n */\n\nimport type { LogLevel } from \"effect/LogLevel\"\nimport type { Option } from \"effect/Option\"\nimp"
  },
  {
    "path": "packages/cli/src/CliApp.ts",
    "chars": 1940,
    "preview": "/**\n * @since 1.0.0\n */\nimport type { FileSystem } from \"@effect/platform/FileSystem\"\nimport type { Path } from \"@effect"
  },
  {
    "path": "packages/cli/src/CliConfig.ts",
    "chars": 2239,
    "preview": "/**\n * @since 1.0.0\n */\nimport type * as Context from \"effect/Context\"\nimport type * as Layer from \"effect/Layer\"\nimport"
  },
  {
    "path": "packages/cli/src/Command.ts",
    "chars": 11813,
    "preview": "/**\n * @since 1.0.0\n */\nimport type { FileSystem } from \"@effect/platform/FileSystem\"\nimport type { Path } from \"@effect"
  },
  {
    "path": "packages/cli/src/CommandDescriptor.ts",
    "chars": 6890,
    "preview": "/**\n * @since 1.0.0\n */\nimport type { FileSystem } from \"@effect/platform/FileSystem\"\nimport type { Path } from \"@effect"
  },
  {
    "path": "packages/cli/src/CommandDirective.ts",
    "chars": 1507,
    "preview": "/**\n * @since 1.0.0\n */\nimport type { BuiltInOptions } from \"./BuiltInOptions.js\"\nimport * as InternalCommandDirective f"
  },
  {
    "path": "packages/cli/src/ConfigFile.ts",
    "chars": 1683,
    "preview": "/**\n * @since 2.0.0\n */\nimport type { FileSystem } from \"@effect/platform/FileSystem\"\nimport type { Path } from \"@effect"
  },
  {
    "path": "packages/cli/src/HelpDoc/Span.ts",
    "chars": 2857,
    "preview": "/**\n * @since 1.0.0\n */\nimport type { Color } from \"@effect/printer-ansi/Color\"\nimport * as InternalSpan from \"../intern"
  },
  {
    "path": "packages/cli/src/HelpDoc.ts",
    "chars": 4644,
    "preview": "/**\n * @since 1.0.0\n */\nimport type { AnsiDoc } from \"@effect/printer-ansi/AnsiDoc\"\nimport type { NonEmptyReadonlyArray "
  },
  {
    "path": "packages/cli/src/Options.ts",
    "chars": 15531,
    "preview": "/**\n * @since 1.0.0\n */\nimport type { FileSystem } from \"@effect/platform/FileSystem\"\nimport type { Path } from \"@effect"
  },
  {
    "path": "packages/cli/src/Primitive.ts",
    "chars": 4285,
    "preview": "/**\n * @since 1.0.0\n */\nimport type { FileSystem } from \"@effect/platform/FileSystem\"\nimport type { Effect } from \"effec"
  },
  {
    "path": "packages/cli/src/Prompt.ts",
    "chars": 18914,
    "preview": "/**\n * @since 1.0.0\n */\nimport type { FileSystem } from \"@effect/platform/FileSystem\"\nimport type { Path } from \"@effect"
  },
  {
    "path": "packages/cli/src/Usage.ts",
    "chars": 2609,
    "preview": "/**\n * @since 1.0.0\n */\nimport type { Option } from \"effect/Option\"\nimport type { CliConfig } from \"./CliConfig.js\"\nimpo"
  },
  {
    "path": "packages/cli/src/ValidationError.ts",
    "chars": 7027,
    "preview": "/**\n * @since 1.0.0\n */\nimport type { Command } from \"./CommandDescriptor.js\"\nimport type { HelpDoc } from \"./HelpDoc.js"
  },
  {
    "path": "packages/cli/src/index.ts",
    "chars": 1117,
    "preview": "/**\n * @since 1.0.0\n */\nexport * as Args from \"./Args.js\"\n\n/**\n * @since 1.0.0\n */\nexport * as AutoCorrect from \"./AutoC"
  },
  {
    "path": "packages/cli/src/internal/args.ts",
    "chars": 35839,
    "preview": "import type * as FileSystem from \"@effect/platform/FileSystem\"\nimport type * as Path from \"@effect/platform/Path\"\nimport"
  },
  {
    "path": "packages/cli/src/internal/autoCorrect.ts",
    "chars": 1347,
    "preview": "import type * as CliConfig from \"../CliConfig.js\"\nimport * as cliConfig from \"./cliConfig.js\"\n\n/** @internal */\nexport c"
  },
  {
    "path": "packages/cli/src/internal/builtInOptions.ts",
    "chars": 4073,
    "preview": "import * as LogLevel from \"effect/LogLevel\"\nimport * as Option from \"effect/Option\"\nimport type * as BuiltInOptions from"
  },
  {
    "path": "packages/cli/src/internal/cliApp.ts",
    "chars": 13957,
    "preview": "import * as Terminal from \"@effect/platform/Terminal\"\nimport * as Color from \"@effect/printer-ansi/Color\"\nimport * as Ar"
  },
  {
    "path": "packages/cli/src/internal/cliConfig.ts",
    "chars": 1132,
    "preview": "import * as Context from \"effect/Context\"\nimport { dual } from \"effect/Function\"\nimport * as Layer from \"effect/Layer\"\ni"
  },
  {
    "path": "packages/cli/src/internal/command.ts",
    "chars": 18505,
    "preview": "import type * as FileSystem from \"@effect/platform/FileSystem\"\nimport type * as Path from \"@effect/platform/Path\"\nimport"
  },
  {
    "path": "packages/cli/src/internal/commandDescriptor.ts",
    "chars": 50448,
    "preview": "import type * as FileSystem from \"@effect/platform/FileSystem\"\nimport type * as Path from \"@effect/platform/Path\"\nimport"
  },
  {
    "path": "packages/cli/src/internal/commandDirective.ts",
    "chars": 1216,
    "preview": "import { dual } from \"effect/Function\"\nimport type * as BuiltInOption from \"../BuiltInOptions.js\"\nimport type * as Comma"
  },
  {
    "path": "packages/cli/src/internal/configFile.ts",
    "chars": 3447,
    "preview": "import * as FileSystem from \"@effect/platform/FileSystem\"\nimport * as Path from \"@effect/platform/Path\"\nimport * as Caus"
  },
  {
    "path": "packages/cli/src/internal/files.ts",
    "chars": 1890,
    "preview": "import * as FileSystem from \"@effect/platform/FileSystem\"\nimport * as Effect from \"effect/Effect\"\nimport * as Ini from \""
  },
  {
    "path": "packages/cli/src/internal/helpDoc/span.ts",
    "chars": 3731,
    "preview": "import * as Ansi from \"@effect/printer-ansi/Ansi\"\nimport * as Doc from \"@effect/printer-ansi/AnsiDoc\"\nimport * as Color "
  },
  {
    "path": "packages/cli/src/internal/helpDoc.ts",
    "chars": 5378,
    "preview": "import * as Ansi from \"@effect/printer-ansi/Ansi\"\nimport * as Doc from \"@effect/printer-ansi/AnsiDoc\"\nimport * as Optimi"
  },
  {
    "path": "packages/cli/src/internal/options.ts",
    "chars": 77311,
    "preview": "import type * as FileSystem from \"@effect/platform/FileSystem\"\nimport type * as Path from \"@effect/platform/Path\"\nimport"
  },
  {
    "path": "packages/cli/src/internal/primitive.ts",
    "chars": 22660,
    "preview": "import * as FileSystem from \"@effect/platform/FileSystem\"\nimport * as Arr from \"effect/Array\"\nimport * as Effect from \"e"
  },
  {
    "path": "packages/cli/src/internal/prompt/action.ts",
    "chars": 165,
    "preview": "import * as Data from \"effect/Data\"\nimport type { Prompt } from \"../../Prompt.js\"\n\n/** @internal */\nexport const Action "
  },
  {
    "path": "packages/cli/src/internal/prompt/ansi-utils.ts",
    "chars": 1908,
    "preview": "import * as Doc from \"@effect/printer-ansi/AnsiDoc\"\nimport * as Arr from \"effect/Array\"\nimport * as Effect from \"effect/"
  },
  {
    "path": "packages/cli/src/internal/prompt/confirm.ts",
    "chars": 5326,
    "preview": "import * as Terminal from \"@effect/platform/Terminal\"\nimport * as Ansi from \"@effect/printer-ansi/Ansi\"\nimport * as Doc "
  },
  {
    "path": "packages/cli/src/internal/prompt/date.ts",
    "chars": 17512,
    "preview": "import * as Terminal from \"@effect/platform/Terminal\"\nimport * as Ansi from \"@effect/printer-ansi/Ansi\"\nimport * as Doc "
  },
  {
    "path": "packages/cli/src/internal/prompt/file.ts",
    "chars": 13612,
    "preview": "import * as FileSystem from \"@effect/platform/FileSystem\"\nimport * as Path from \"@effect/platform/Path\"\nimport * as Term"
  },
  {
    "path": "packages/cli/src/internal/prompt/list.ts",
    "chars": 370,
    "preview": "import type * as Prompt from \"../../Prompt.js\"\nimport * as InternalPrompt from \"../prompt.js\"\nimport * as InternalTextPr"
  },
  {
    "path": "packages/cli/src/internal/prompt/multi-select.ts",
    "chars": 11364,
    "preview": "import * as Terminal from \"@effect/platform/Terminal\"\nimport * as Ansi from \"@effect/printer-ansi/Ansi\"\nimport * as Doc "
  },
  {
    "path": "packages/cli/src/internal/prompt/number.ts",
    "chars": 12716,
    "preview": "import * as Terminal from \"@effect/platform/Terminal\"\nimport * as Ansi from \"@effect/printer-ansi/Ansi\"\nimport * as Doc "
  },
  {
    "path": "packages/cli/src/internal/prompt/select.ts",
    "chars": 8639,
    "preview": "import * as Terminal from \"@effect/platform/Terminal\"\nimport * as Ansi from \"@effect/printer-ansi/Ansi\"\nimport * as Doc "
  },
  {
    "path": "packages/cli/src/internal/prompt/text.ts",
    "chars": 10387,
    "preview": "import * as Terminal from \"@effect/platform/Terminal\"\nimport * as Ansi from \"@effect/printer-ansi/Ansi\"\nimport * as Doc "
  }
]

// ... and 1989 more files (download for full content)

About this extraction

This page contains the full source code of the Effect-TS/effect GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2189 files (25.5 MB), approximately 4.1M tokens, and a symbol index with 8849 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!