solid-objects 0.15.2 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +157 -0
- package/README.md +1 -1
- package/dist/actor-runtime.d.ts +9 -1
- package/dist/actor-runtime.d.ts.map +1 -1
- package/dist/actor.d.ts +22 -4
- package/dist/actor.d.ts.map +1 -1
- package/dist/actor.js +81 -2
- package/dist/actor.js.map +1 -1
- package/dist/broadcast-worker.js +1 -1
- package/dist/broadcast-worker.js.map +1 -1
- package/dist/cloudflare/configuration.d.ts +3 -1
- package/dist/cloudflare/configuration.d.ts.map +1 -1
- package/dist/cloudflare/configuration.js +4 -0
- package/dist/cloudflare/configuration.js.map +1 -1
- package/dist/cloudflare/engine.d.ts +4 -0
- package/dist/cloudflare/engine.d.ts.map +1 -1
- package/dist/cloudflare/engine.js +91 -24
- package/dist/cloudflare/engine.js.map +1 -1
- package/dist/cloudflare/records.d.ts +2 -0
- package/dist/cloudflare/records.d.ts.map +1 -1
- package/dist/cloudflare/runtime.d.ts +8 -0
- package/dist/cloudflare/runtime.d.ts.map +1 -1
- package/dist/cloudflare/runtime.js +52 -1
- package/dist/cloudflare/runtime.js.map +1 -1
- package/dist/cloudflare/storage.d.ts +2 -0
- package/dist/cloudflare/storage.d.ts.map +1 -1
- package/dist/cloudflare/storage.js +10 -0
- package/dist/cloudflare/storage.js.map +1 -1
- package/dist/configuration.d.ts +9 -5
- package/dist/configuration.d.ts.map +1 -1
- package/dist/configuration.js +43 -7
- package/dist/configuration.js.map +1 -1
- package/dist/database/types.d.ts +4 -0
- package/dist/database/types.d.ts.map +1 -1
- package/dist/dead-letter-scopes.d.ts +75 -0
- package/dist/dead-letter-scopes.d.ts.map +1 -0
- package/dist/dead-letter-scopes.js +157 -0
- package/dist/dead-letter-scopes.js.map +1 -0
- package/dist/dead-letters.d.ts +5 -0
- package/dist/dead-letters.d.ts.map +1 -1
- package/dist/dead-letters.js +16 -0
- package/dist/dead-letters.js.map +1 -1
- package/dist/definition.d.ts +2 -0
- package/dist/definition.d.ts.map +1 -1
- package/dist/definition.js +1 -1
- package/dist/definition.js.map +1 -1
- package/dist/doctor.d.ts +1 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +35 -2
- package/dist/doctor.js.map +1 -1
- package/dist/effect-recovery-coordinator.d.ts +2 -0
- package/dist/effect-recovery-coordinator.d.ts.map +1 -1
- package/dist/effect-recovery-coordinator.js +5 -2
- package/dist/effect-recovery-coordinator.js.map +1 -1
- package/dist/effect-worker.js +1 -1
- package/dist/effect-worker.js.map +1 -1
- package/dist/errors.d.ts +4 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +7 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +9 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/outcome.d.ts +18 -0
- package/dist/outcome.d.ts.map +1 -0
- package/dist/outcome.js +2 -0
- package/dist/outcome.js.map +1 -0
- package/dist/platform/uuid.d.ts +1 -0
- package/dist/platform/uuid.d.ts.map +1 -1
- package/dist/platform/uuid.js +5 -0
- package/dist/platform/uuid.js.map +1 -1
- package/dist/records.d.ts +6 -0
- package/dist/records.d.ts.map +1 -1
- package/dist/redrive.d.ts +60 -0
- package/dist/redrive.d.ts.map +1 -0
- package/dist/redrive.js +239 -0
- package/dist/redrive.js.map +1 -0
- package/dist/reference.d.ts +17 -3
- package/dist/reference.d.ts.map +1 -1
- package/dist/reference.js +10 -0
- package/dist/reference.js.map +1 -1
- package/dist/reminder-scheduler.js +1 -1
- package/dist/reminder-scheduler.js.map +1 -1
- package/dist/repository.d.ts +34 -4
- package/dist/repository.d.ts.map +1 -1
- package/dist/repository.js +124 -21
- package/dist/repository.js.map +1 -1
- package/dist/runtime.d.ts +42 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +263 -6
- package/dist/runtime.js.map +1 -1
- package/dist/schema.d.ts +1 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +97 -1
- package/dist/schema.js.map +1 -1
- package/dist/types.d.ts +15 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/wake-up/postgresql.d.ts +4 -2
- package/dist/wake-up/postgresql.d.ts.map +1 -1
- package/dist/wake-up/postgresql.js +9 -0
- package/dist/wake-up/postgresql.js.map +1 -1
- package/dist/wake-up/redis.d.ts +2 -1
- package/dist/wake-up/redis.d.ts.map +1 -1
- package/dist/wake-up/redis.js +6 -0
- package/dist/wake-up/redis.js.map +1 -1
- package/dist/wake-up-selection.d.ts +22 -0
- package/dist/wake-up-selection.d.ts.map +1 -0
- package/dist/wake-up-selection.js +198 -0
- package/dist/wake-up-selection.js.map +1 -0
- package/dist/wake-up.d.ts +15 -0
- package/dist/wake-up.d.ts.map +1 -1
- package/dist/wake-up.js +6 -0
- package/dist/wake-up.js.map +1 -1
- package/dist/worker.js +1 -1
- package/dist/worker.js.map +1 -1
- package/docs/api.md +202 -6
- package/docs/cloudflare.md +1 -0
- package/docs/configuration.md +52 -22
- package/docs/correctness.md +8 -0
- package/docs/dashboard.md +9 -0
- package/docs/fit.md +3 -1
- package/docs/operations.md +104 -7
- package/docs/parity.md +105 -25
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,162 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.16.1 - 2026-10-03
|
|
4
|
+
|
|
5
|
+
- Find SQLite effect recovery candidates through the processing effects.
|
|
6
|
+
`sqlite_stat1` records only the average row count for each effect status.
|
|
7
|
+
When most effects are complete, SQLite estimated that `status = 'processing'`
|
|
8
|
+
matched most of the effects table. It then read every recovery row in index
|
|
9
|
+
order, on each effect poll. On SQLite the status test now carries
|
|
10
|
+
`likelihood(..., 0.000001)`, so the plan starts from the `effects_poll`
|
|
11
|
+
index. The PostgreSQL and MySQL queries do not change. Ruby 0.16.1 has the
|
|
12
|
+
same fix.
|
|
13
|
+
- Ruby 0.16.1 also fixes the SQLite join order of its claimed-message scan. The
|
|
14
|
+
JavaScript claim path has no such scan, and SQLite already starts
|
|
15
|
+
`recoverExpiredClaims` from the claimed messages, so that fix needs no
|
|
16
|
+
JavaScript change.
|
|
17
|
+
|
|
18
|
+
- Build before `npm publish` reads the manifest. npm validates `bin` against the
|
|
19
|
+
working tree before `prepack` produces `dist`, so every release logged
|
|
20
|
+
`No bin file found at dist/executable.js` twice. The published package was
|
|
21
|
+
always correct, and `npx solid-objects` has always worked, but a warning that
|
|
22
|
+
says the binary is missing is a poor thing to print while publishing one.
|
|
23
|
+
The publish job builds first and publishes with `--ignore-scripts`, so the
|
|
24
|
+
build runs once rather than twice.
|
|
25
|
+
- Check the `bin` entry the manifest declares rather than a hard-coded path.
|
|
26
|
+
`check-package.mjs` asserted `dist/executable.js` directly, so renaming the
|
|
27
|
+
build output would have shipped a `bin` that resolves to nothing while the
|
|
28
|
+
check still passed.
|
|
29
|
+
|
|
30
|
+
## 0.16.0 - 2026-09-23
|
|
31
|
+
|
|
32
|
+
- Find a message whose reference a caller lost. `runtime.findBy({ requestId })`
|
|
33
|
+
answers a request id, which is unique across the table, and
|
|
34
|
+
`reference.findBy({ idempotencyKey })` answers a key, which is unique per
|
|
35
|
+
actor, so the receiver supplies the scope the key needs. Naming neither key,
|
|
36
|
+
naming both, or naming an idempotency key without a reference throws.
|
|
37
|
+
- Authorize every lookup with the hook the original call ran, against the stored
|
|
38
|
+
operation and arguments, because a request id is not a capability. An absent
|
|
39
|
+
row, an actor this process no longer registers, and a caller the policy
|
|
40
|
+
refuses all return `undefined`, so a lookup cannot be used to ask whether a
|
|
41
|
+
request id exists.
|
|
42
|
+
- Add `messageReference.outcome()`, which reports the status, the result, the
|
|
43
|
+
persisted error, the rejection, and the attempt count, so a terminal failure
|
|
44
|
+
answers as well as a success. Every value is frozen, so a caller cannot mutate
|
|
45
|
+
a durable result it read. The error carries `name` and `message`; this runtime
|
|
46
|
+
has never persisted a stack, which [parity](docs/parity.md) now records
|
|
47
|
+
against Ruby's `backtrace`.
|
|
48
|
+
- Add schema version 12: a unique index on `messages.request_id`. The table had
|
|
49
|
+
only `UNIQUE (actor_type, actor_id, request_id)`, which cannot serve a lookup
|
|
50
|
+
that names the request id alone.
|
|
51
|
+
- Tell a pruned message from one that never existed. An actor remembers the
|
|
52
|
+
idempotency keys of its own finished turns, the way an Orleans grain keeps its
|
|
53
|
+
deduplication history in grain state, so the memory needs no second store and
|
|
54
|
+
no second write. `reference.findBy({ idempotencyKey })` throws
|
|
55
|
+
`MessagePruned` for a key the actor remembers and whose message retention
|
|
56
|
+
removed, and still returns `undefined` for a key no caller ever sent. The
|
|
57
|
+
An actor remembers the operation beside each key, so the pruned answer runs
|
|
58
|
+
the same hook against the same operation a lookup of the surviving row would,
|
|
59
|
+
and a caller the policy refuses reads `undefined` for both. Gating it on
|
|
60
|
+
`snapshot` would have told a caller who may read state, but not the
|
|
61
|
+
operation, that the operation had run. The Durable Objects lookup no longer
|
|
62
|
+
demands a synthetic `__lookupMessage__` query in addition, which a policy
|
|
63
|
+
that allows only declared queries refused. `retainedIdempotencyKeys` bounds the memory and defaults
|
|
64
|
+
to 64 keys for each actor. A lookup by request id cannot make the
|
|
65
|
+
distinction, because the runtime generates a request id and no actor
|
|
66
|
+
remembers one. `retainedIdempotencyKeysBytes` bounds the serialized memory as
|
|
67
|
+
well, because an idempotency key has no length limit and the memory outlives
|
|
68
|
+
the message row. An actor drops its oldest keys until the list fits, so a key
|
|
69
|
+
long enough to fill the limit by itself is never remembered.
|
|
70
|
+
- Add schema version 13: `instances.completed_idempotency_keys`. The doctor
|
|
71
|
+
now reports the column as missing when it is not installed.
|
|
72
|
+
- Implement `findBy` and `messageOutcome` on the Durable Objects runtime, which
|
|
73
|
+
`ActorRuntime` required and the backend did not supply, so `pnpm run check`
|
|
74
|
+
and `pnpm run build` both failed. A Durable Object indexes only its own
|
|
75
|
+
messages, so `runtime.findBy({ requestId })` without a reference raises
|
|
76
|
+
`UnsupportedCapability`; every other form works. A lookup that the policy
|
|
77
|
+
refuses answers `undefined` there too. The Durable Objects `lookup` gates on
|
|
78
|
+
`authorizeQuery` before it reads, which would otherwise have thrown
|
|
79
|
+
`Unauthorized` where the SQL runtime answers absent, and a lookup that threw
|
|
80
|
+
where it was refused is a way to ask whether a key exists.
|
|
81
|
+
- Read the expected schema migration list from `SCHEMA_VERSIONS` in the doctor
|
|
82
|
+
and in the tests that assert it, rather than from four hand-copied lists.
|
|
83
|
+
|
|
84
|
+
- Retry a dead effect or broadcast. `runtime.deadLetters` keeps its message
|
|
85
|
+
meaning and answers `effects` and `broadcasts`, so the kind rides on the
|
|
86
|
+
receiver. `retry` returns a dead row to pending with a zero attempt count and
|
|
87
|
+
no claim, keeps its id so a deduplicating handler sees the same key, and acts
|
|
88
|
+
only on a dead row, so a second press cannot double-enqueue.
|
|
89
|
+
- Redrive a whole scope. `redrive` opens a durable task, returns at once, and is
|
|
90
|
+
idempotent over its scope and filters, which a dashboard button needs. A
|
|
91
|
+
unique index on the active scope enforces that in the database.
|
|
92
|
+
`runtime.run()` advances one bounded batch per pass, so a redrive never holds
|
|
93
|
+
a transaction longer than one batch. `runtime.redrives` reads tasks back, and
|
|
94
|
+
`task.cancel()` stops one and leaves the rows it already moved. A redrive
|
|
95
|
+
moves what was dead when it started, so a still-broken handler cannot make it
|
|
96
|
+
run forever.
|
|
97
|
+
- Record who pressed what. Every retry and every redrive transition writes one
|
|
98
|
+
row to `solid_objects_administration_events`. The identity comes from the
|
|
99
|
+
authorization context through a new `administrationIdentity` option.
|
|
100
|
+
- Add `redriveBatchSize`, which defaults to 100, and
|
|
101
|
+
`redriveBatchPauseMilliseconds`, which defaults to 50.
|
|
102
|
+
- Add schema version 11: two tables, `solid_objects_administration_events` and
|
|
103
|
+
`solid_objects_redrives`, and a `failed_at_ms` stamp on effects and
|
|
104
|
+
broadcasts, which a redrive filters on. Existing dead rows take their
|
|
105
|
+
availability stamp.
|
|
106
|
+
|
|
107
|
+
- Select a wake-up adapter automatically. `wakeUp` now takes a name or an
|
|
108
|
+
adapter, as `config.cache_store` does in Rails, and defaults to
|
|
109
|
+
`"automatic"`. Selection prefers `SOLID_OBJECTS_REDIS_URL`, then PostgreSQL
|
|
110
|
+
notifications, then polling. `"in_process"` opts out, and an unknown name
|
|
111
|
+
throws rather than polls quietly.
|
|
112
|
+
- PostgreSQL applications that configure nothing now use notifications. They
|
|
113
|
+
gain cross-process wake-up, one dedicated listening client, and one `NOTIFY`
|
|
114
|
+
per commit. Set `wakeUp: "in_process"` to keep polling.
|
|
115
|
+
- Prove the PostgreSQL notification path before selecting it, because `LISTEN`
|
|
116
|
+
does not survive a transaction pooler such as PgBouncer. Selection listens on
|
|
117
|
+
a probe channel, sends one `NOTIFY` from a second connection, and waits up to
|
|
118
|
+
two seconds for it to arrive. A probe that does not deliver falls back to
|
|
119
|
+
polling and warns once.
|
|
120
|
+
- Report the resolved choice. `runtime.wakeUpCapability()` names the adapter,
|
|
121
|
+
whether it crosses processes, its measured floor, and why it was chosen. The
|
|
122
|
+
doctor reports it as a `wakeUp` check, and the polling-only warning now fires
|
|
123
|
+
on what was installed rather than on whether a setting was set.
|
|
124
|
+
- Keep the capability a configured adapter reports about itself. A configured
|
|
125
|
+
`InProcessWakeUpAdapter` now reports `in_process` and warns, rather than
|
|
126
|
+
claim that it crosses processes.
|
|
127
|
+
- Poll rather than pretend when a requested adapter cannot be built.
|
|
128
|
+
`wakeUp: "postgresql"` on a database with no notification channel,
|
|
129
|
+
`wakeUp: "redis"` without `SOLID_OBJECTS_REDIS_URL`, and a Redis URL without
|
|
130
|
+
the `redis` package each log `solid_objects.wake_up.unavailable` once and
|
|
131
|
+
report the reason in the capability, so the doctor warns rather than claim a
|
|
132
|
+
cross-process wake-up that cannot happen.
|
|
133
|
+
- Select once per runtime. `runtime.wakeUpAdapter()` memoises the selection, so
|
|
134
|
+
callers that race for the first use share one probe rather than run one each.
|
|
135
|
+
|
|
136
|
+
- Add reminder reading. `reminder()` returns one armed alarm as a
|
|
137
|
+
`ScheduledReminder`, and `reminders()` lists every key of one operation. Both
|
|
138
|
+
apply the intents staged so far in the turn, so a read agrees with what the
|
|
139
|
+
commit will write. Reading works on the SQL backends and on Durable Objects.
|
|
140
|
+
- Leave a one-shot reminder that already fired out of `reminder()` and
|
|
141
|
+
`reminders()`. Its row stays as `completed`, so a next-run lookup reported an
|
|
142
|
+
old time rather than nothing, and an existence check refused to re-arm an
|
|
143
|
+
alarm that could never fire again.
|
|
144
|
+
- Refuse an unknown operation in `unschedule()` and `unscheduleAll()`.
|
|
145
|
+
`schedule()` already threw `UnknownOperation` for one, so a typo cancelled
|
|
146
|
+
nothing quietly and left a recurring reminder running.
|
|
147
|
+
- Add reminder cancellation. `unschedule()` removes one alarm by operation, by
|
|
148
|
+
operation and key, or by the handle `schedule()` now returns.
|
|
149
|
+
`unscheduleAll()` removes every key of one operation. Both stage an intent
|
|
150
|
+
beside the schedules, so they apply in the order the turn called them, commit
|
|
151
|
+
with the state change that decided them, and cancel nothing when a turn
|
|
152
|
+
throws. Cancellation works on the SQL backends and on Durable Objects. A
|
|
153
|
+
cancellation that lands on an occurrence the scheduler claimed but has not yet
|
|
154
|
+
enqueued pre-empts it, and the scheduler continues rather than failing.
|
|
155
|
+
- `schedule()` now returns a `ReminderHandle` (`{ name: string }`) instead of
|
|
156
|
+
`void`. A handle is a plain object, so it survives in actor state and still
|
|
157
|
+
cancels after a deactivation. Code that assigned the result to `void` needs
|
|
158
|
+
updating, as `emit` required in 0.15.0.
|
|
159
|
+
|
|
3
160
|
## 0.15.2 - 2026-09-21
|
|
4
161
|
|
|
5
162
|
- Stop the deadlock between concurrent callers that create the same actor from
|
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ Solid Object JavaScript Actors elegantly fit anything where one identifiable thi
|
|
|
16
16
|
- Ticket holds and reservations
|
|
17
17
|
- Multiplayer games and shared rooms
|
|
18
18
|
- Shopping carts and checkout recovery
|
|
19
|
-
-
|
|
19
|
+
- Low-rate quotas and account limits
|
|
20
20
|
- Session expiration
|
|
21
21
|
- Job leases and workflows
|
|
22
22
|
- Connected devices
|
package/dist/actor-runtime.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { RealtimeManager } from "./realtime.js";
|
|
2
2
|
import type { Actor, ActorClass } from "./actor.js";
|
|
3
3
|
import type { ActorReference, ActorReferenceCore, ActorSnapshot, MessageReference } from "./reference.js";
|
|
4
|
-
import type {
|
|
4
|
+
import type { Outcome } from "./outcome.js";
|
|
5
|
+
import type { ActorIdentifier, AdministrationOptions, AsyncInvocationOptions, DeepReadonly, DestroyOptions, InvocationOptions, JsonObject, JsonValue, Logger, MessageStatus, SnapshotOptions } from "./types.js";
|
|
5
6
|
export interface SnapshotWithIncarnation<ActorType extends Actor> {
|
|
6
7
|
snapshot: ActorSnapshot<ActorType>;
|
|
7
8
|
instanceId: string;
|
|
@@ -24,6 +25,13 @@ export interface ActorRuntime {
|
|
|
24
25
|
}): Promise<MessageReference<Result>>;
|
|
25
26
|
wait<Result>(reference: MessageReference<Result>, options?: InvocationOptions): Promise<DeepReadonly<Result>>;
|
|
26
27
|
messageStatus(reference: MessageReference, options?: SnapshotOptions): Promise<MessageStatus>;
|
|
28
|
+
messageOutcome<Result>(reference: MessageReference<Result>, options?: SnapshotOptions): Promise<Outcome<Result>>;
|
|
29
|
+
findBy(input: {
|
|
30
|
+
reference?: ActorReferenceCore<Actor>;
|
|
31
|
+
requestId?: string;
|
|
32
|
+
idempotencyKey?: string;
|
|
33
|
+
authorizationContext?: AdministrationOptions["authorizationContext"];
|
|
34
|
+
}): Promise<MessageReference | undefined>;
|
|
27
35
|
messageResult<Result>(reference: MessageReference<Result>, options?: SnapshotOptions): Promise<DeepReadonly<Result> | undefined>;
|
|
28
36
|
snapshot<ActorType extends Actor>(reference: ActorReferenceCore<ActorType>, options?: SnapshotOptions): Promise<ActorSnapshot<ActorType>>;
|
|
29
37
|
snapshotWithIncarnation<ActorType extends Actor>(reference: ActorReferenceCore<ActorType>, options?: SnapshotOptions): Promise<SnapshotWithIncarnation<ActorType>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actor-runtime.d.ts","sourceRoot":"","sources":["../src/actor-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EACjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,MAAM,EACN,aAAa,EACb,eAAe,EAChB,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,uBAAuB,CAAC,SAAS,SAAS,KAAK;IAC9D,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,SAAS,SAAS,KAAK,EACzB,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,EACjC,OAAO,EAAE,eAAe,GACvB,cAAc,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE;QAClC,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA;QACpC,SAAS,EAAE,MAAM,CAAA;QACjB,cAAc,CAAC,EAAE,UAAU,CAAA;QAC3B,OAAO,CAAC,EAAE,iBAAiB,CAAA;KAC5B,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;IACjC,WAAW,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE;QACvC,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA;QACpC,SAAS,EAAE,MAAM,CAAA;QACjB,cAAc,CAAC,EAAE,UAAU,CAAA;QAC3B,OAAO,CAAC,EAAE,sBAAsB,CAAA;KACjC,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAA;IACrC,IAAI,CAAC,MAAM,EACT,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,EACnC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;IAChC,aAAa,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;IAC7F,aAAa,CAAC,MAAM,EAClB,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,EACnC,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAA;IAC5C,QAAQ,CAAC,SAAS,SAAS,KAAK,EAC9B,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,EACxC,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAA;IACpC,uBAAuB,CAAC,SAAS,SAAS,KAAK,EAC7C,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,EACxC,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAA;IAC9C,OAAO,CAAC,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACzF,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9C,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;CACpD"}
|
|
1
|
+
{"version":3,"file":"actor-runtime.d.ts","sourceRoot":"","sources":["../src/actor-runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/actor.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { StateMigration } from "./definition.js";
|
|
2
|
-
import { type ActorReference, type ScheduledOperationsFor, type StagedOperations } from "./reference.js";
|
|
3
|
-
import type { ActorIdentifier, EffectHandle, JsonObject, JsonValue, MessageContext } from "./types.js";
|
|
2
|
+
import { type ActorReference, type ScheduledOperationsFor, type TransmittedOperationsFor, type StagedOperations } from "./reference.js";
|
|
3
|
+
import type { ActorIdentifier, EffectHandle, JsonObject, ReminderHandle, ScheduledReminder, JsonValue, MessageContext } from "./types.js";
|
|
4
4
|
declare const observableBroadcastMode: unique symbol;
|
|
5
5
|
export type ObservableBroadcast<Value> = Readonly<{
|
|
6
6
|
value: Value;
|
|
@@ -43,6 +43,7 @@ export interface CommitActionIntent {
|
|
|
43
43
|
arguments: JsonObject;
|
|
44
44
|
}
|
|
45
45
|
export interface ReminderIntent {
|
|
46
|
+
cancel?: undefined;
|
|
46
47
|
/** Without a key this is the operation. */
|
|
47
48
|
name: string;
|
|
48
49
|
operation: string;
|
|
@@ -51,6 +52,15 @@ export interface ReminderIntent {
|
|
|
51
52
|
intervalMilliseconds?: number;
|
|
52
53
|
missedPolicy: "all" | "latest";
|
|
53
54
|
}
|
|
55
|
+
export interface UnscheduleIntent {
|
|
56
|
+
cancel: "one";
|
|
57
|
+
name: string;
|
|
58
|
+
}
|
|
59
|
+
export interface UnscheduleAllIntent {
|
|
60
|
+
cancel: "all";
|
|
61
|
+
operation: string;
|
|
62
|
+
}
|
|
63
|
+
export type ReminderMutation = ReminderIntent | UnscheduleIntent | UnscheduleAllIntent;
|
|
54
64
|
export interface OutboundMessageIntent {
|
|
55
65
|
actorType: string;
|
|
56
66
|
actorId: string;
|
|
@@ -63,7 +73,7 @@ export interface ActorIntents {
|
|
|
63
73
|
effects: EffectIntent[];
|
|
64
74
|
effectRecoveries?: EffectRecoveryIntent[];
|
|
65
75
|
commitActions: CommitActionIntent[];
|
|
66
|
-
reminders:
|
|
76
|
+
reminders: ReminderMutation[];
|
|
67
77
|
outboundMessages: OutboundMessageIntent[];
|
|
68
78
|
}
|
|
69
79
|
export interface ActorClass<ActorType extends Actor = Actor> {
|
|
@@ -105,10 +115,18 @@ export declare abstract class Actor {
|
|
|
105
115
|
}): never;
|
|
106
116
|
emit<const Success extends string = never, const Failure extends string = never, const Recovery extends string = never, const Status extends string = never>(this: CallbackActor<NoInfer<Success>> & CallbackActor<NoInfer<Failure>> & CallbackActor<NoInfer<Recovery>> & CallbackActor<NoInfer<Status>>, name: string, options?: EffectOptions<Success, Failure, Recovery, Status>): EffectHandle;
|
|
107
117
|
requestEffectRecovery(handle: EffectHandle): void;
|
|
108
|
-
transmit<Keys extends keyof this, ActorType>(this: Actor & Pick<this, Keys> & (Partial<ActorType> | NoInfer<this>)):
|
|
118
|
+
transmit<Keys extends keyof this, ActorType>(this: Actor & Pick<this, Keys> & (Partial<ActorType> | NoInfer<this>)): TransmittedOperationsFor<InferredActor<Keys, ActorType>>;
|
|
109
119
|
commitAction(name: string, argumentsValue?: Record<string, unknown>): void;
|
|
110
120
|
/** See docs/api.md for when to give a reminder a key. */
|
|
111
121
|
schedule<Keys extends keyof this, ActorType>(this: Actor & Pick<this, Keys> & (Partial<ActorType> | NoInfer<this>), options: ReminderOptions): ScheduledOperationsFor<InferredActor<Keys, ActorType>>;
|
|
122
|
+
unschedule(operationOrHandle: string | ReminderHandle, options?: {
|
|
123
|
+
key?: string | number;
|
|
124
|
+
}): void;
|
|
125
|
+
unscheduleAll(operation: string): void;
|
|
126
|
+
reminder(operationOrHandle: string | ReminderHandle, options?: {
|
|
127
|
+
key?: string | number;
|
|
128
|
+
}): Promise<ScheduledReminder | undefined>;
|
|
129
|
+
reminders(operation: string): Promise<ScheduledReminder[]>;
|
|
112
130
|
sendTo<TargetActor extends Actor>(reference: ActorReference<TargetActor>, options?: OutboundMessageOptions): StagedOperations<TargetActor>;
|
|
113
131
|
}
|
|
114
132
|
export {};
|
package/dist/actor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actor.d.ts","sourceRoot":"","sources":["../src/actor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAIrD,OAAO,EAGL,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"actor.d.ts","sourceRoot":"","sources":["../src/actor.ts"],"names":[],"mappings":"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"}
|
package/dist/actor.js
CHANGED
|
@@ -32,6 +32,38 @@ function validatedReminderKey(key) {
|
|
|
32
32
|
* reverse, and it is refused here rather than at the insert, once the turn is
|
|
33
33
|
* already doing work.
|
|
34
34
|
*/
|
|
35
|
+
function handleName(handle, key) {
|
|
36
|
+
if (key !== undefined)
|
|
37
|
+
throw new TypeError("a reminder handle already names its key");
|
|
38
|
+
const name = handle?.name;
|
|
39
|
+
if (typeof name !== "string" || name.length === 0) {
|
|
40
|
+
throw new TypeError("a reminder handle returned by schedule is required");
|
|
41
|
+
}
|
|
42
|
+
return name;
|
|
43
|
+
}
|
|
44
|
+
function applyReminderIntent(view, intent) {
|
|
45
|
+
if (intent.cancel === "all") {
|
|
46
|
+
for (const [name, status] of view) {
|
|
47
|
+
if (status.operation === intent.operation)
|
|
48
|
+
view.delete(name);
|
|
49
|
+
}
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (intent.cancel === "one") {
|
|
53
|
+
view.delete(intent.name);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
view.set(intent.name, {
|
|
57
|
+
name: intent.name,
|
|
58
|
+
operation: intent.operation,
|
|
59
|
+
key: intent.name === intent.operation ? null : intent.name.slice(intent.operation.length + 1),
|
|
60
|
+
runAtMilliseconds: intent.atMilliseconds,
|
|
61
|
+
intervalMilliseconds: intent.intervalMilliseconds ?? null,
|
|
62
|
+
missedPolicy: intent.missedPolicy,
|
|
63
|
+
status: "scheduled",
|
|
64
|
+
handle: { name: intent.name },
|
|
65
|
+
});
|
|
66
|
+
}
|
|
35
67
|
function reminderName(operation, key) {
|
|
36
68
|
if (key === undefined)
|
|
37
69
|
return operation;
|
|
@@ -50,6 +82,7 @@ export class Actor {
|
|
|
50
82
|
return (currentRuntime() ?? getDefaultRuntime()).ref(this, actorId);
|
|
51
83
|
}
|
|
52
84
|
#actorId;
|
|
85
|
+
#readReminders;
|
|
53
86
|
#intents = {
|
|
54
87
|
effects: [],
|
|
55
88
|
commitActions: [],
|
|
@@ -148,8 +181,9 @@ export class Actor {
|
|
|
148
181
|
}
|
|
149
182
|
const key = validatedReminderKey(options.key);
|
|
150
183
|
return createStagedOperationMap(this.#operations, (operation, argumentsValue) => {
|
|
184
|
+
const name = reminderName(operation, key);
|
|
151
185
|
this.#intents.reminders.push({
|
|
152
|
-
name
|
|
186
|
+
name,
|
|
153
187
|
operation,
|
|
154
188
|
atMilliseconds,
|
|
155
189
|
arguments: jsonObject(argumentsValue),
|
|
@@ -158,8 +192,52 @@ export class Actor {
|
|
|
158
192
|
? {}
|
|
159
193
|
: { intervalMilliseconds: options.everyMilliseconds }),
|
|
160
194
|
});
|
|
195
|
+
return { name };
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
unschedule(operationOrHandle, options = {}) {
|
|
199
|
+
this.#intents.reminders.push({
|
|
200
|
+
cancel: "one",
|
|
201
|
+
name: this.#reminderNameOf(operationOrHandle, options),
|
|
161
202
|
});
|
|
162
203
|
}
|
|
204
|
+
unscheduleAll(operation) {
|
|
205
|
+
this.#assertOperation(operation);
|
|
206
|
+
this.#intents.reminders.push({ cancel: "all", operation });
|
|
207
|
+
}
|
|
208
|
+
async reminder(operationOrHandle, options = {}) {
|
|
209
|
+
return (await this.#reminderView()).get(this.#reminderNameOf(operationOrHandle, options));
|
|
210
|
+
}
|
|
211
|
+
async reminders(operation) {
|
|
212
|
+
this.#assertOperation(operation);
|
|
213
|
+
const view = await this.#reminderView();
|
|
214
|
+
return [...view.values()].filter((status) => status.operation === operation);
|
|
215
|
+
}
|
|
216
|
+
#reminderNameOf(operationOrHandle, options) {
|
|
217
|
+
if (typeof operationOrHandle === "string") {
|
|
218
|
+
this.#assertOperation(operationOrHandle);
|
|
219
|
+
return reminderName(operationOrHandle, validatedReminderKey(options.key));
|
|
220
|
+
}
|
|
221
|
+
return handleName(operationOrHandle, options.key);
|
|
222
|
+
}
|
|
223
|
+
async #reminderView() {
|
|
224
|
+
if (!this.#readReminders) {
|
|
225
|
+
throw new TypeError("reading reminders is not available outside an actor turn");
|
|
226
|
+
}
|
|
227
|
+
const view = new Map();
|
|
228
|
+
for (const reminder of await this.#readReminders()) {
|
|
229
|
+
if (reminder.status !== "completed")
|
|
230
|
+
view.set(reminder.name, reminder);
|
|
231
|
+
}
|
|
232
|
+
for (const intent of this.#intents.reminders)
|
|
233
|
+
applyReminderIntent(view, intent);
|
|
234
|
+
return view;
|
|
235
|
+
}
|
|
236
|
+
#assertOperation(operation) {
|
|
237
|
+
if (this.#operations.has(operation))
|
|
238
|
+
return;
|
|
239
|
+
throw new UnknownOperation(`unknown operation ${JSON.stringify(operation)}`);
|
|
240
|
+
}
|
|
163
241
|
sendTo(reference, options = {}) {
|
|
164
242
|
if (options.availableAt !== undefined && !Number.isFinite(options.availableAt.getTime())) {
|
|
165
243
|
throw new TypeError("message availability time must be valid");
|
|
@@ -178,8 +256,9 @@ export class Actor {
|
|
|
178
256
|
});
|
|
179
257
|
}
|
|
180
258
|
/** @internal */
|
|
181
|
-
prepare(operations) {
|
|
259
|
+
prepare(operations, readReminders) {
|
|
182
260
|
this.#operations = operations;
|
|
261
|
+
this.#readReminders = readReminders;
|
|
183
262
|
}
|
|
184
263
|
/** @internal */
|
|
185
264
|
invoke(operation, argumentsValue) {
|
package/dist/actor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actor.js","sourceRoot":"","sources":["../src/actor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"actor.js","sourceRoot":"","sources":["../src/actor.ts"],"names":[],"mappings":"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"}
|
package/dist/broadcast-worker.js
CHANGED
|
@@ -51,7 +51,7 @@ export class BroadcastWorker {
|
|
|
51
51
|
await this.ensureRegistered();
|
|
52
52
|
await this.runtime.warnIfPollingIsOnlyCrossProcessWakeUp();
|
|
53
53
|
while (!signal.aborted && !this.stopping) {
|
|
54
|
-
const wakeUp = await this.runtime.
|
|
54
|
+
const wakeUp = await this.runtime.watchWakeUp("broadcasts");
|
|
55
55
|
const processed = await this.runOnce();
|
|
56
56
|
if (processed > 0) {
|
|
57
57
|
this.pollingBackoff.reset("work");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast-worker.js","sourceRoot":"","sources":["../src/broadcast-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,OAAO,eAAe;IAMG;IALpB,SAAS,GAAG,UAAU,EAAE,CAAA;IACzB,UAAU,GAAG,KAAK,CAAA;IAClB,QAAQ,GAAG,KAAK,CAAA;IACP,cAAc,CAAgB;IAE/C,YAA6B,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;QACvD,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,2BAA2B,EAAE,OAAO,CAAC,QAAQ,CAAC,2BAA2B;YACzE,2BAA2B,EAAE,OAAO,CAAC,QAAQ,CAAC,+BAA+B;YAC7E,QAAQ,EAAE,CAAC,UAAU,EAAE,EAAE,CACvB,OAAO,CAAC,mBAAmB,CAAC,0BAA0B,EAAE;gBACtD,IAAI,EAAE,YAAY;gBAClB,GAAG,UAAU;aACd,CAAC;SACL,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,kCAAkC;QACpC,OAAO,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAA;IACxD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAA;QAC3B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9E,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,CAAA;QACxB,MAAM,oBAAoB,CAAC;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC;SAC1D,CAAC,CAAA;QACF,OAAO,CAAC,CAAA;IACV,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAsC,EAAE;QACzD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,MAAM,CAAA;QACrD,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,GAAG,aAAa,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;YAClC,IAAI,KAAK,KAAK,CAAC;gBAAE,MAAK;YACtB,SAAS,IAAI,KAAK,CAAA;QACpB,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAmB;QAC3B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,qCAAqC,EAAE,CAAA;QAC1D,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"broadcast-worker.js","sourceRoot":"","sources":["../src/broadcast-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import type { SolidObjectsConfiguration } from "../configuration.js";
|
|
|
2
2
|
import type { EffectContext, JsonObject, JsonValue, Logger } from "../types.js";
|
|
3
3
|
import type { DurableObjectsBackend } from "./protocol.js";
|
|
4
4
|
export type EffectHandler = (argumentsValue: JsonObject, context: EffectContext) => JsonValue | void | Promise<JsonValue | void>;
|
|
5
|
-
export type CloudflareConfiguration = Pick<SolidObjectsConfiguration, "authorizeMessage" | "authorizeQuery" | "authorizeDestroy" | "authorizeSubscription" | "authorizeAdministration" | "instrumentation" | "logger" | "maxAttempts" | "maxMailboxLength" | "maxPayloadBytes" | "maxStateBytes" | "maxResultBytes" | "maxMessagesPerActivationPass" | "maxActivationDurationMilliseconds" | "retryDelayMilliseconds" | "messageRetentionMilliseconds" | "pruneBatchSize"> & {
|
|
5
|
+
export type CloudflareConfiguration = Pick<SolidObjectsConfiguration, "authorizeMessage" | "authorizeQuery" | "authorizeDestroy" | "authorizeSubscription" | "authorizeAdministration" | "instrumentation" | "logger" | "maxAttempts" | "maxMailboxLength" | "maxPayloadBytes" | "maxStateBytes" | "maxResultBytes" | "maxMessagesPerActivationPass" | "maxActivationDurationMilliseconds" | "retryDelayMilliseconds" | "messageRetentionMilliseconds" | "pruneBatchSize" | "retainedIdempotencyKeys" | "retainedIdempotencyKeysBytes"> & {
|
|
6
6
|
backend: DurableObjectsBackend;
|
|
7
7
|
effects?: Readonly<Record<string, EffectHandler>>;
|
|
8
8
|
};
|
|
@@ -24,6 +24,8 @@ export declare function buildCloudflareSettings(configuration: CloudflareConfigu
|
|
|
24
24
|
retryDelayMilliseconds: (attempt: number) => number;
|
|
25
25
|
messageRetentionMilliseconds: number;
|
|
26
26
|
pruneBatchSize: number;
|
|
27
|
+
retainedIdempotencyKeys: number;
|
|
28
|
+
retainedIdempotencyKeysBytes: number;
|
|
27
29
|
instrumentation?: (event: import("../configuration.js").InstrumentationEvent) => void;
|
|
28
30
|
backend: DurableObjectsBackend;
|
|
29
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/cloudflare/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE1D,MAAM,MAAM,aAAa,GAAG,CAC1B,cAAc,EAAE,UAAU,EAC1B,OAAO,EAAE,aAAa,KACnB,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;AAEjD,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,yBAAyB,EACvB,kBAAkB,GAClB,gBAAgB,GAChB,kBAAkB,GAClB,uBAAuB,GACvB,yBAAyB,GACzB,iBAAiB,GACjB,QAAQ,GACR,aAAa,GACb,kBAAkB,GAClB,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB,8BAA8B,GAC9B,mCAAmC,GACnC,wBAAwB,GACxB,8BAA8B,GAC9B,gBAAgB,
|
|
1
|
+
{"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/cloudflare/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE1D,MAAM,MAAM,aAAa,GAAG,CAC1B,cAAc,EAAE,UAAU,EAC1B,OAAO,EAAE,aAAa,KACnB,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;AAEjD,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,yBAAyB,EACvB,kBAAkB,GAClB,gBAAgB,GAChB,kBAAkB,GAClB,uBAAuB,GACvB,yBAAyB,GACzB,iBAAiB,GACjB,QAAQ,GACR,aAAa,GACb,kBAAkB,GAClB,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB,8BAA8B,GAC9B,mCAAmC,GACnC,wBAAwB,GACxB,8BAA8B,GAC9B,gBAAgB,GAChB,yBAAyB,GACzB,8BAA8B,CACjC,GAAG;IACF,OAAO,EAAE,qBAAqB,CAAA;IAC9B,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;CAClD,CAAA;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,uBAAuB;;;;;;;;;;;;;;;;;;;;;aAJnE,qBAAqB;EA+C/B;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE3E,eAAO,MAAM,aAAa,EAAE,MAK3B,CAAA"}
|
|
@@ -19,6 +19,8 @@ export function buildCloudflareSettings(configuration) {
|
|
|
19
19
|
((attempt) => Math.min(2 ** (attempt - 1), 60) * 1_000),
|
|
20
20
|
messageRetentionMilliseconds: configuration.messageRetentionMilliseconds ?? 30 * 86_400_000,
|
|
21
21
|
pruneBatchSize: configuration.pruneBatchSize ?? 1_000,
|
|
22
|
+
retainedIdempotencyKeys: configuration.retainedIdempotencyKeys ?? 64,
|
|
23
|
+
retainedIdempotencyKeysBytes: configuration.retainedIdempotencyKeysBytes ?? 16_384,
|
|
22
24
|
};
|
|
23
25
|
for (const name of [
|
|
24
26
|
"maxAttempts",
|
|
@@ -30,6 +32,8 @@ export function buildCloudflareSettings(configuration) {
|
|
|
30
32
|
"maxActivationDurationMilliseconds",
|
|
31
33
|
"messageRetentionMilliseconds",
|
|
32
34
|
"pruneBatchSize",
|
|
35
|
+
"retainedIdempotencyKeys",
|
|
36
|
+
"retainedIdempotencyKeysBytes",
|
|
33
37
|
]) {
|
|
34
38
|
if (!Number.isSafeInteger(settings[name]) || settings[name] <= 0) {
|
|
35
39
|
throw new TypeError(`${name} must be a positive safe integer`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/cloudflare/configuration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/cloudflare/configuration.ts"],"names":[],"mappings":"AAmCA,MAAM,UAAU,uBAAuB,CAAC,aAAsC;IAC5E,MAAM,QAAQ,GAAG;QACf,GAAG,aAAa;QAChB,gBAAgB,EAAE,aAAa,CAAC,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QACjE,cAAc,EAAE,aAAa,CAAC,cAAc,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QAC7D,gBAAgB,EAAE,aAAa,CAAC,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QACjE,qBAAqB,EAAE,aAAa,CAAC,qBAAqB,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QAC3E,uBAAuB,EAAE,aAAa,CAAC,uBAAuB,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QAC/E,OAAO,EAAE,aAAa,CAAC,OAAO,IAAI,EAAE;QACpC,MAAM,EAAE,aAAa,CAAC,MAAM,IAAI,aAAa;QAC7C,WAAW,EAAE,aAAa,CAAC,WAAW,IAAI,CAAC;QAC3C,gBAAgB,EAAE,aAAa,CAAC,gBAAgB,IAAI,MAAM;QAC1D,eAAe,EAAE,aAAa,CAAC,eAAe,IAAI,SAAS;QAC3D,aAAa,EAAE,aAAa,CAAC,aAAa,IAAI,SAAS;QACvD,cAAc,EAAE,aAAa,CAAC,cAAc,IAAI,SAAS;QACzD,4BAA4B,EAAE,aAAa,CAAC,4BAA4B,IAAI,EAAE;QAC9E,iCAAiC,EAAE,aAAa,CAAC,iCAAiC,IAAI,KAAK;QAC3F,sBAAsB,EACpB,aAAa,CAAC,sBAAsB;YACpC,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;QACjE,4BAA4B,EAAE,aAAa,CAAC,4BAA4B,IAAI,EAAE,GAAG,UAAU;QAC3F,cAAc,EAAE,aAAa,CAAC,cAAc,IAAI,KAAK;QACrD,uBAAuB,EAAE,aAAa,CAAC,uBAAuB,IAAI,EAAE;QACpE,4BAA4B,EAAE,aAAa,CAAC,4BAA4B,IAAI,MAAM;KACnF,CAAA;IACD,KAAK,MAAM,IAAI,IAAI;QACjB,aAAa;QACb,kBAAkB;QAClB,iBAAiB;QACjB,eAAe;QACf,gBAAgB;QAChB,8BAA8B;QAC9B,mCAAmC;QACnC,8BAA8B;QAC9B,gBAAgB;QAChB,yBAAyB;QACzB,8BAA8B;KACtB,EAAE,CAAC;QACX,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,kCAAkC,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAID,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;IACtC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IACpC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IACpC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;CACvC,CAAA"}
|
|
@@ -21,7 +21,11 @@ export declare class ActorEngine {
|
|
|
21
21
|
private enqueue;
|
|
22
22
|
private authorizeOperation;
|
|
23
23
|
private readMessage;
|
|
24
|
+
private lookUp;
|
|
25
|
+
private prunedReply;
|
|
26
|
+
private rememberKey;
|
|
24
27
|
private committed;
|
|
28
|
+
private readReminders;
|
|
25
29
|
private snapshot;
|
|
26
30
|
private projection;
|
|
27
31
|
private destroy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/cloudflare/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,UAAU,EAAgB,MAAM,aAAa,CAAA;AA8BlE,OAAO,KAAK,EAIV,SAAS,
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/cloudflare/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,UAAU,EAAgB,MAAM,aAAa,CAAA;AA8BlE,OAAO,KAAK,EAIV,SAAS,EAGV,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE5D,OAAO,EAA2C,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAEzF,OAAO,EAAkB,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAI3C,qBAAa,WAAW;IAQpB,QAAQ,CAAC,KAAK,EAAE,YAAY;IAP9B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8C;IAC1E,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,MAAM,CAAmD;gBAGtD,KAAK,EAAE,YAAY,EAC5B,MAAM,EAAE,SAAS,UAAU,EAAE;IAW/B,IAAI,QAAQ,IAAI,kBAAkB,CAEjC;IAEK,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAqE/C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B3B,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,OAAO;YA+FD,kBAAkB;YAWlB,WAAW;IAkBzB,OAAO,CAAC,MAAM;YAeA,WAAW;IAuBzB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,aAAa,CAahB;YAES,QAAQ;YA6BR,UAAU;IA4DxB,OAAO,CAAC,OAAO;YAmBD,WAAW;YAeX,OAAO;IAyKrB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,KAAK;IA2Eb,OAAO,CAAC,SAAS;YAwBH,OAAO;IA4HrB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,aAAa;YAUP,UAAU;IA2ExB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,IAAI;CAWb"}
|