You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore!: family hygiene from the amqp-contract cross-review
- rename CreateTypedClientOptions -> CreateClientOptions (the
family-shared name for the Typed*.create() options shape, matching
amqp-contract; its own JSDoc already claimed the shared role)
- add a package-check CI job running publint + are-the-types-wrong on
every publishable package (mirrors amqp-contract's job)
- root package.json gains the engines field the packages already declare
- changeset $schema points at the versioned unpkg URL instead of a
local node_modules path
- changeset entries for the declare* middleware rename, the client
options rename, and the time-skipping testEnv fixture typing fix
Copy file name to clipboardExpand all lines: .changeset/v8-review-remediation.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,6 +21,7 @@ v8 review remediation — the full-surface overhaul from the six-track 8.0 revie
21
21
-`TypedClient` is split from the contract: `TypedClient.create({ client })` is connection-scoped, and `typedClient.for(contract)` returns the contract-bound `ContractClient` with the workflow/schedule methods. A `readonly raw` escape hatch exposes the underlying `Client`.
22
22
-`getHandle` is synchronous, returns `Result<TypedWorkflowHandle, WorkflowNotInContractError>`, and accepts `runId`/`firstExecutionRunId` options; handles carry `runId`/`firstExecutionRunId`; typed `startUpdate` joins `executeUpdate`.
23
23
-`WorkflowNotFoundError` is renamed `WorkflowNotInContractError`.
24
+
-`CreateTypedClientOptions` is renamed `CreateClientOptions` — the family-shared name for the `Typed*.create()` options shape (matching amqp-contract).
24
25
- Schedule surface parity: typed `ScheduleAlreadyExistsError`/`ScheduleNotFoundError` on the error channel (instead of defects), plus `update`, `backfill`, and `list`.
25
26
- The six unused `ClientInfer*` type exports are deleted.
26
27
@@ -29,6 +30,7 @@ v8 review remediation — the full-surface overhaul from the six-track 8.0 revie
29
30
- Invalid signal payloads are dropped and logged (`log.warn`), never thrown — `SignalInputValidationError` is deleted; a stale client can no longer terminally kill a workflow execution.
30
31
- Contract misuse inside workflow code (unknown signal/query/update or workflow name, async schema, uncovered activity options) now fails fast as a non-retryable `ContractMisuseError``ApplicationFailure` instead of hanging executions in Workflow Task retries.
31
32
- Exported `qualify` is renamed `qualifyFailure` (no alias), and the deprecated `createWorkerOrThrow` is removed — use `createWorker(...).get()`.
33
+
-`defineActivityMiddleware` is renamed `declareActivityMiddleware` — the family convention is `define*` for contract authoring and `declare*` for implementation-side APIs, and middleware was the one implementation-side holdout.
32
34
-`activities` is optional on `createWorker`, and activity-less workflows no longer need `{}` entries in the implementations map.
33
35
-`TypedChildWorkflowHandle` gains a typed `signals` map and `firstExecutionRunId`.
34
36
@@ -37,3 +39,4 @@ v8 review remediation — the full-surface overhaul from the six-track 8.0 revie
37
39
- New contract-aware fixtures: `createContractTest(contract, { workflowsPath, activities?, workerOptions? })` yields `{ client, typedClient, worker }` against the testcontainers server, and `runActivity(definition, implementation, input, { env? })` runs one implementation inside `MockActivityEnvironment` (vitest-free).
- The package now peer-depends on `@temporal-contract/contract`, `@temporal-contract/client`, `@temporal-contract/worker`, and `unthrown`.
42
+
- The time-skipping `testEnv` fixture is correctly typed (the fixture record previously declared a phantom `$worker` key, leaving `testEnv` untyped in consuming suites).
0 commit comments