Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .repos/effect-smol/.agents/skills/changesets/authoring.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ Choose the bump from current release policy:
- Use `patch` for compatible fixes, `minor` for compatible additions, and
`major` for breaks.
- A break confined to APIs tagged `@stability unstable` is `minor`. A break
confined to APIs tagged `@stability experimental` is `patch`. APIs tagged
`@stability stable` follow strict semver.
confined to APIs tagged `@stability experimental` is `patch`. APIs without a
stability tag follow strict semver.
- Use `major` only when a maintainer has approved a major release.
- The release queue retargets PRs with `minor` changesets to `v4/next-minor`
and PRs with `major` changesets to `v4/next-major`. Choose the level the
Expand Down
15 changes: 7 additions & 8 deletions .repos/effect-smol/.agents/skills/jsdocs/declarations.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Declaration tags appear in this order:
1. `@deprecated`
2. `@default`
3. `@see`
4. `@stability`
4. `@stability unstable` or `@stability experimental` (when applicable)
5. `@category`
6. `@since`

Expand All @@ -65,10 +65,9 @@ Declaration tags appear in this order:
non-empty `@default`, rejects `@category`, and follows the prose contract.
- Any declaration permits one non-empty `@deprecated` and repeated non-empty
`@see` tags.
- Roots, export specifiers, and root namespaces require `@stability stable`,
`@stability unstable`, or `@stability experimental`. Use `unstable` when an
API may receive breaking changes in minor releases, `experimental` when it may
receive breaking changes across patch versions, and `stable` otherwise.
- Use `@stability unstable` when an API may receive breaking changes in minor
releases, or `@stability experimental` when it may receive breaking changes
across patch versions. Leave the tag out for APIs that follow strict semver.
- Tag any API that exposes a third-party dependency `@stability unstable`: an
accessor to the underlying client or instance, options typed as the
dependency's options, constructors that accept its instances, re-exports of
Expand All @@ -85,9 +84,9 @@ fences.
When present, the first top-level JSDoc is the module block unless TypeScript
attaches it to a non-import first declaration. An `@internal` module is omitted.
Module prose does not use the declaration template. Its tags are optional
non-empty `@deprecated`, repeated non-empty `@see`, required `@stability`, then
required stable-semver `@since`. Its examples and links follow the declaration
contracts.
non-empty `@deprecated`, repeated non-empty `@see`, optional `@stability unstable`
or `@stability experimental`, then required stable-semver `@since`. Its examples
and links follow the declaration contracts.

Inline `{@link Symbol}` targets must resolve to TypeScript symbols; use normal
Markdown links for URLs. Prefer code formatting when navigation does not help a
Expand Down
2 changes: 0 additions & 2 deletions .repos/effect-smol/.github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ jobs:
uses: ./.github/actions/setup
- name: Lint
run: pnpm lint
- name: Check JSDoc
run: pnpm jsdocs --check
- name: Check circular dependencies
run: pnpm circular
- name: Generate AI documentation
Expand Down
39 changes: 0 additions & 39 deletions .repos/effect-smol/.github/workflows/effect-bot.yml

This file was deleted.

5 changes: 1 addition & 4 deletions .repos/effect-smol/MIGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,7 @@ with `@stability unstable`.

`@stability unstable` means an API may receive breaking changes in minor
releases. `@stability experimental` means it may receive breaking changes
across patch versions. `@stability stable` and APIs without a stability tag
follow strict semver. Every module and directly importable export declares its
stability explicitly. Modules in packages other than `effect` are currently
`@stability unstable`.
across patch versions. APIs without a stability tag follow strict semver.

APIs that expose a third-party dependency are also marked `@stability
unstable`, because that dependency's own releases can change them. This covers
Expand Down
4 changes: 2 additions & 2 deletions .repos/effect-smol/ai-docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
"@effect/sql-sqlite-wasm": "workspace:*",
"@effect/vitest": "workspace:*",
"effect": "workspace:*",
"hono": "^4.13.12",
"nodemailer": "^10.0.14"
"hono": "^4.13.9",
"nodemailer": "^10.0.10"
},
"devDependencies": {
"@types/nodemailer": "^8.0.2"
Expand Down
3 changes: 1 addition & 2 deletions .repos/effect-smol/ai-docs/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@
"namespaceImportPackages": [],
"diagnosticSeverity": {
"floatingEffect": "off",
"preferSchemaOverJson": "off",
"unstableApiUsage": "off"
"preferSchemaOverJson": "off"
}
}
]
Expand Down
1 change: 1 addition & 0 deletions .repos/effect-smol/jsdocs.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"**/node_modules/**",
"packages/**/ai-docs/**",
"packages/tools/**",
"packages/**/src/index.ts",
"packages/effect/src/StandardSchema.ts",
"packages/**/src/*Generated.ts",
"packages/**/src/internal/**",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,8 @@
replacement: "OpenAiTelemetry.addGenAIAnnotations"
note: "Still exported in v4; update imports and adapt to the revised v4 service and schema types."
"@effect/ai-openai/OpenAiTelemetry#AllAttributes":
replacement: "none"
note: "Removed. Use OpenAiTelemetry.OpenAiTelemetryAttributeOptions for the grouped options accepted by OpenAiTelemetry.addGenAIAnnotations, or OpenAiTelemetry.OpenAiTelemetryAttributes for the prefixed span attribute keys."
replacement: "OpenAiTelemetry.AllAttributes"
note: "Still exported in v4; update imports and adapt to the revised v4 service and schema types."
"@effect/ai-openai/OpenAiTelemetry#OpenAiTelemetryAttributeOptions":
replacement: "OpenAiTelemetry.OpenAiTelemetryAttributeOptions"
note: "Still exported in v4; update imports and adapt to the revised v4 service and schema types."
"@effect/ai-openai/OpenAiTelemetry#RequestAttributes":
replacement: "OpenAiTelemetry.RequestAttributes"
note: "Attributes are written under openai.request.* instead of gen_ai.openai.request.*. responseFormat was removed; LanguageModel records gen_ai.output.type for every provider."
"@effect/ai-openai/OpenAiTelemetry#WellKnownResponseFormat":
replacement: "Telemetry.WellKnownOutputType"
note: "The response format is no longer a telemetry option. LanguageModel records gen_ai.output.type as text or json from the requested response format."

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,15 +1,3 @@
"@effect/sql-sqlite-bun/SqliteClient#SqliteClient":
replacement: "@effect/sql-sqlite-bun/SqliteClient#SqliteClient"
note: "Retained; the service value is now a Context.Service."
"@effect/sql-sqlite-bun/SqliteClient#make":
include: true
replacement: "SqliteClient.make"
note: "Database opening and initialization now fail with SqlError instead of defects. Handle the typed setup error, or use Effect.orDie when setup failures should remain fatal."
"@effect/sql-sqlite-bun/SqliteClient#layer":
include: true
replacement: "SqliteClient.layer"
note: "The layer now has a SqlError error channel for database opening and initialization failures. Handle setup failures, or use Layer.orDie when they should remain fatal."
"@effect/sql-sqlite-bun/SqliteClient#layerConfig":
include: true
replacement: "SqliteClient.layerConfig"
note: "The layer now fails with ConfigError | SqlError: configuration errors remain typed, and database opening and initialization failures are also typed. Handle SqlError as well, or use Layer.orDie if all setup failures should be fatal."
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,3 @@
"@effect/sql-sqlite-node/SqliteClient#SqliteClientConfig":
replacement: "@effect/sql-sqlite-node/SqliteClient#SqliteClientConfig"
note: "Retained; prepareCacheTTL now uses Duration.Input."
"@effect/sql-sqlite-node/SqliteClient#make":
include: true
replacement: "SqliteClient.make"
note: "Database opening and initialization now fail with SqlError instead of defects. Handle the typed setup error, or use Effect.orDie when setup failures should remain fatal."
"@effect/sql-sqlite-node/SqliteClient#layer":
include: true
replacement: "SqliteClient.layer"
note: "The layer now has a SqlError error channel for database opening and initialization failures. Handle setup failures, or use Layer.orDie when they should remain fatal."
"@effect/sql-sqlite-node/SqliteClient#layerConfig":
include: true
replacement: "SqliteClient.layerConfig"
note: "The layer now fails with ConfigError | SqlError: configuration errors remain typed, and database opening and initialization failures are also typed. Handle SqlError as well, or use Layer.orDie if all setup failures should be fatal."
32 changes: 2 additions & 30 deletions .repos/effect-smol/migration/v3-to-v4.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Base: `origin/v3` (`e730f59d29db5f1e312be6476a95d07bcad45788`)

Head: `HEAD` (`79b88977582fb715494d08405c73a47a593afced`)
Head: `HEAD` (`a84d4f65d978bf33aabc38227e477d187ff05c2c`)

This file is generated from the API diff and `migration/annotations/*.yaml`.

Expand Down Expand Up @@ -4152,14 +4152,10 @@ effect/rpc/Utils (barrel: effect/rpc)

### `@effect/ai-openai/OpenAiTelemetry`

- `OpenAiTelemetry.AllAttributes` -> `none`: Removed. Use OpenAiTelemetry.OpenAiTelemetryAttributeOptions for the grouped options accepted by OpenAiTelemetry.addGenAIAnnotations, or OpenAiTelemetry.OpenAiTelemetryAttributes for the prefixed span attribute keys.
- `OpenAiTelemetry.AllAttributes` -> `OpenAiTelemetry.AllAttributes`: Still exported in v4; update imports and adapt to the revised v4 service and schema types.

- `OpenAiTelemetry.OpenAiTelemetryAttributeOptions` -> `OpenAiTelemetry.OpenAiTelemetryAttributeOptions`: Still exported in v4; update imports and adapt to the revised v4 service and schema types.

- `OpenAiTelemetry.RequestAttributes` -> `OpenAiTelemetry.RequestAttributes`: Attributes are written under openai.request.\* instead of gen\_ai.openai.request.\*. responseFormat was removed; LanguageModel records gen\_ai.output.type for every provider.

- `OpenAiTelemetry.WellKnownResponseFormat` -> `Telemetry.WellKnownOutputType`: The response format is no longer a telemetry option. LanguageModel records gen\_ai.output.type as text or json from the requested response format.

- `OpenAiTelemetry.addGenAIAnnotations` -> `OpenAiTelemetry.addGenAIAnnotations`: Still exported in v4; update imports and adapt to the revised v4 service and schema types.

### `@effect/ai-openai/OpenAiTokenizer`
Expand Down Expand Up @@ -5068,18 +5064,6 @@ effect/rpc/Utils (barrel: effect/rpc)

- `Response.urlSourcePart` -> `Response.makePart("source", { ...params, sourceType: "url" })`: The lowercase convenience constructor was removed. The UrlSourcePart model remains, and the generic constructor now requires the URL source discriminator.

### `@effect/ai/Telemetry`

- `Telemetry.AllAttributes` -> `none`: Removed. Use Telemetry.GenAITelemetryAttributeOptions for the grouped options accepted by Telemetry.addGenAIAnnotations, or Telemetry.GenAITelemetryAttributes for the prefixed gen\_ai.\* span attribute keys.

- `Telemetry.BaseAttributes` -> `Telemetry.ProviderAttributes`: gen\_ai.system was replaced by gen\_ai.provider.name. Pass provider: { name } instead of system; legacy system values are not mapped.

- `Telemetry.GenAITelemetryAttributeOptions` -> `Telemetry.GenAITelemetryAttributeOptions`: The system and token options were removed. Use provider: { name } for gen\_ai.provider.name; gen\_ai.token.type has no span replacement. The new output option writes gen\_ai.output.type.

- `Telemetry.TokenAttributes` -> `none`: Removed with the token option. gen\_ai.token.type is not a span attribute in the current OpenTelemetry GenAI conventions.

- `Telemetry.WellKnownSystem` -> `Telemetry.WellKnownProviderName`: Values follow gen\_ai.provider.name: az.ai.inference, az.ai.openai, gemini, vertex\_ai and xai became azure.ai.inference, azure.ai.openai, gcp.gemini, gcp.vertex\_ai and x\_ai.

### `@effect/ai/Tool`

- `Tool.AnyParametersSchema` -> `Schema.Constraint`: The AI-specific alias was removed. V4 Tool parameter schemas use the general Schema.Constraint type and are no longer restricted to the old struct-or-EmptyParams union.
Expand Down Expand Up @@ -7972,12 +7956,6 @@ effect/rpc/Utils (barrel: effect/rpc)

- `SqliteClient.SqliteClient` -> `@effect/sql-sqlite-bun/SqliteClient#SqliteClient`: Retained; the service value is now a Context.Service.

- `SqliteClient.layer` -> `SqliteClient.layer`: The layer now has a SqlError error channel for database opening and initialization failures. Handle setup failures, or use Layer.orDie when they should remain fatal.

- `SqliteClient.layerConfig` -> `SqliteClient.layerConfig`: The layer now fails with ConfigError | SqlError: configuration errors remain typed, and database opening and initialization failures are also typed. Handle SqlError as well, or use Layer.orDie if all setup failures should be fatal.

- `SqliteClient.make` -> `SqliteClient.make`: Database opening and initialization now fail with SqlError instead of defects. Handle the typed setup error, or use Effect.orDie when setup failures should remain fatal.

### `@effect/sql-sqlite-do/SqliteClient`

- `SqliteClient.SqliteClientConfig` -> `@effect/sql-sqlite-do/SqliteClient#SqliteClientConfig`: Retained; db is optional and storage may be supplied, but one of db or storage is required at runtime.
Expand All @@ -7988,12 +7966,6 @@ effect/rpc/Utils (barrel: effect/rpc)

- `SqliteClient.SqliteClientConfig` -> `@effect/sql-sqlite-node/SqliteClient#SqliteClientConfig`: Retained; prepareCacheTTL now uses Duration.Input.

- `SqliteClient.layer` -> `SqliteClient.layer`: The layer now has a SqlError error channel for database opening and initialization failures. Handle setup failures, or use Layer.orDie when they should remain fatal.

- `SqliteClient.layerConfig` -> `SqliteClient.layerConfig`: The layer now fails with ConfigError | SqlError: configuration errors remain typed, and database opening and initialization failures are also typed. Handle SqlError as well, or use Layer.orDie if all setup failures should be fatal.

- `SqliteClient.make` -> `SqliteClient.make`: Database opening and initialization now fail with SqlError instead of defects. Handle the typed setup error, or use Effect.orDie when setup failures should remain fatal.

### `@effect/sql-sqlite-react-native/SqliteClient`

- `SqliteClient.asyncQuery` -> `@effect/sql-sqlite-react-native/SqliteClient#AsyncQuery`: Renamed and changed from FiberRef to Context.Reference; prefer withAsyncQuery or provide AsyncQuery as a service.
Expand Down
20 changes: 10 additions & 10 deletions .repos/effect-smol/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"ai-docgen:watch": "pnpm ai-docgen --watch",
"api-diff": "pnpm --dir packages/tools/api-diff exec node src/bin.ts",
"test-types": "tstyche --target '>=5.9'",
"changeset-version": "changeset version && node scripts/version.mjs",
"changeset-version": "changeset version",
"changeset-publish": "node scripts/set-strip-internal.mjs && pnpm codemod && pnpm build && changeset publish"
},
"devDependencies": {
Expand All @@ -46,38 +46,38 @@
"@effect/doctest": "workspace:^",
"@effect/jsdocs": "workspace:^",
"@effect/oxc": "workspace:^",
"@effect/tsgo": "^0.51.0",
"@effect/tsgo": "^0.46.1",
"@effect/utils": "workspace:^",
"@effect/vitest": "workspace:^",
"@faker-js/faker": "^10.6.0",
"@rollup/plugin-node-resolve": "^16.0.3",
"@rollup/plugin-replace": "^6.0.3",
"@rollup/plugin-terser": "^1.0.0",
"@types/jscodeshift": "^17.3.0",
"@types/node": "^26.6.4",
"@vitest/coverage-v8": "^5.0.3",
"@vitest/web-worker": "^5.0.3",
"@types/node": "^26.6.3",
"@vitest/coverage-v8": "^5.0.2",
"@vitest/web-worker": "^5.0.2",
"ast-types": "^0.16.3",
"babel-plugin-annotate-pure-calls": "^0.5.0",
"dprint": "^0.59.0",
"dprint": "^0.57.4",
"fast-check": "^4.10.2",
"glob": "^13.0.6",
"happy-dom": "^20.14.5",
"jscodeshift": "^17.4.0",
"lalph": "^0.3.139",
"madge": "^8.0.0",
"oxlint": "^1.86.0",
"oxlint": "^1.85.0",
"pkg-pr-new": "0.0.88",
"playwright": "^1.63.0",
"rollup": "^4.64.0",
"rollup": "^4.63.5",
"rollup-plugin-bundle-stats": "^4.22.3",
"rollup-plugin-esbuild": "^6.2.1",
"rollup-plugin-visualizer": "^7.1.1",
"terser": "^5.51.2",
"tstyche": "^7.2.5",
"typescript": "^7.0.2",
"vite": "^8.3.2",
"vitest": "^5.0.3",
"vite": "^8.3.1",
"vitest": "^5.0.2",
"vitest-websocket-mock": "^0.8.0",
"zod": "^4.6.5"
}
Expand Down
Loading
Loading