solid-objects 0.14.4 → 0.14.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAW7E,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,UAAU,EAAE,kBAAkB,CAAA;IAC9B,MAAM,EAAE,cAAc,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiShB"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAY7E,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,UAAU,EAAE,kBAAkB,CAAA;IAC9B,MAAM,EAAE,cAAc,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyThB"}
package/dist/schema.js CHANGED
@@ -6,7 +6,8 @@ const PROCESS_IDENTITY_VERSION = 4;
6
6
  const PROCESS_DRAINING_VERSION = 5;
7
7
  const OBSERVABLE_INVALIDATIONS_VERSION = 6;
8
8
  const KEYED_REMINDERS_VERSION = 7;
9
- const LATEST_VERSION = KEYED_REMINDERS_VERSION;
9
+ const POLLING_INDEXES_VERSION = 8;
10
+ const LATEST_VERSION = POLLING_INDEXES_VERSION;
10
11
  export async function installSchema(options) {
11
12
  const { connection, family, prefix, schemaIdentity } = options;
12
13
  if (family !== "sqlite" && family !== "postgresql" && family !== "mysql") {
@@ -241,14 +242,37 @@ export async function installSchema(options) {
241
242
  schemaIdentity,
242
243
  });
243
244
  }
244
- if (installedVersions.has(OBSERVABLE_INVALIDATIONS_VERSION))
245
+ if (!installedVersions.has(OBSERVABLE_INVALIDATIONS_VERSION)) {
246
+ await connection.run(`ALTER TABLE ${table("broadcasts")} ADD COLUMN ${family === "postgresql" ? "IF NOT EXISTS " : ""}invalidations ${family === "mysql" ? "LONGTEXT" : "TEXT"}`);
247
+ await connection.run(`UPDATE ${table("broadcasts")} SET invalidations = ? WHERE invalidations IS NULL`, ["[]"]);
248
+ await recordMigration({
249
+ connection,
250
+ table: table("schema_migrations"),
251
+ version: OBSERVABLE_INVALIDATIONS_VERSION,
252
+ schemaIdentity,
253
+ });
254
+ }
255
+ if (installedVersions.has(POLLING_INDEXES_VERSION))
245
256
  return;
246
- await connection.run(`ALTER TABLE ${table("broadcasts")} ADD COLUMN ${family === "postgresql" ? "IF NOT EXISTS " : ""}invalidations ${family === "mysql" ? "LONGTEXT" : "TEXT"}`);
247
- await connection.run(`UPDATE ${table("broadcasts")} SET invalidations = ? WHERE invalidations IS NULL`, ["[]"]);
257
+ const pollingIndexes = [
258
+ ["effects", `${prefix}effects_poll`, "status, available_at_ms, id"],
259
+ ["reminders", `${prefix}reminders_due`, "status, run_at_ms, id"],
260
+ ["broadcasts", `${prefix}broadcasts_poll`, "status, available_at_ms, id"],
261
+ ["broadcasts", `${prefix}broadcasts_instance_revision`, "instance_id, state_revision, status"],
262
+ ];
263
+ for (const [tableName, name, columns] of pollingIndexes) {
264
+ await createIndex({
265
+ connection,
266
+ family,
267
+ table: table(tableName),
268
+ name,
269
+ columns,
270
+ });
271
+ }
248
272
  await recordMigration({
249
273
  connection,
250
274
  table: table("schema_migrations"),
251
- version: OBSERVABLE_INVALIDATIONS_VERSION,
275
+ version: POLLING_INDEXES_VERSION,
252
276
  schemaIdentity,
253
277
  });
254
278
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.14.4";
1
+ export declare const VERSION = "0.14.6";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = "0.14.4";
1
+ export const VERSION = "0.14.6";
2
2
  //# sourceMappingURL=version.js.map
package/docs/api.md CHANGED
@@ -206,8 +206,12 @@ rows for `preview()` and rows actually deleted for `prune()`.
206
206
  `InstrumentationEvent` type the host integration contract. `JsonPrimitive`,
207
207
  `JsonValue`, `JsonObject`, `DeepReadonly`, `ActorIdentifier`, `MessageContext`,
208
208
  `MessageStatus`, and `Logger` are shared types. `Database`,
209
- `DatabaseConnection`, `DatabaseFamily`, and `RunResult` support custom database
210
- and commit-action integration.
209
+ `DatabaseConnection`, `DatabaseFamily`, `DatabaseTransactionOptions`, and
210
+ `RunResult` support custom database and commit-action integration. A custom
211
+ PostgreSQL or MySQL adapter must honor
212
+ `transaction(callback, { isolationLevel: "read_committed" })`; outbox claiming
213
+ uses that isolation with row locks to avoid InnoDB gap-lock contention. SQLite
214
+ adapters may treat the option as their ordinary serialized transaction.
211
215
 
212
216
  `BroadcastEvent.observables` contains changed value-broadcast projections.
213
217
  `BroadcastEvent.invalidations` contains changed invalidation-only names. The
package/docs/parity.md CHANGED
@@ -63,32 +63,32 @@ such boundary between a gem and its dependents.
63
63
 
64
64
  ## Operations
65
65
 
66
- | Capability | Status | TypeScript shape or remaining work |
67
- | ----------------------------------------------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
68
- | Process registration, heartbeats, stale claim recovery, and graceful shutdown | Native | Runtime roles persist host, PID, runtime versions, draining and stopped transitions, cooperative cancellation, and a bounded shutdown deadline; cleanup recovers stale claims. |
69
- | Failed-role replacement | Native | Built-in and registered roles are rebuilt through their factories with capped backoff; shutdown is the terminal replacement boundary. |
70
- | Additional supervised components | Native | `registerComponent()` builds, validates, runs, and stops application components with the runtime. |
71
- | Dead-letter inspection and retry | Native | `runtime.deadLetters` provides deny-by-default immutable inspection and idempotent durable retry linkage. |
72
- | Reconciliation reads | Native | Authorized cursor pages cover active, quiet, and orphaned instances; bounded state batches are migrated and deeply frozen. |
73
- | Message, process, and opt-in instance retention | Native | Supervised scheduling bounds message and process growth; authorized manual APIs add preview and keep destructive instance expiration explicit. |
74
- | Doctor and schema verification | Native | Structured checks cover configuration, schema/version shape, adapter server versions, neutral-context policy probes, live roles, and a targeted round trip. |
75
- | CLI | Native | The packaged executable loads an application runtime and exposes start, diagnostics, processes, dead letters, reminders, and explicit retention pruning as JSON. |
76
- | Operator dashboard | Native | The opt-in `solid-objects/web` export provides Fetch and Node/Connect mounting, authorized runtime views and actions, session-backed CSRF, filtering, paging, charts, and immutable extension hooks. Matches the Ruby dashboard's own documented limits: no audit trail of admin actions, dead-letter retry is one at a time, and pause sets a flag rather than interrupting an in-flight turn. |
77
- | Structured instrumentation | Native | An isolated transport-neutral sink emits immutable lifecycle metadata and structurally excludes application payloads. |
78
- | Large committed state warning | Native | `warnStateBytes` reports one `solid_objects.state.large` event, holding the actor type, actor ID, byte count, and threshold, when a committed image passes a 128 KB soft threshold. The event holds no application state. The Ruby gem shares the 5 MB hard default and has no soft threshold yet; the Ruby port is tracked at cardmagic/solid-objects-ruby#57. |
79
- | Public test helper | Native | `runtime.testing` provides role-selective deterministic draining, explicit-time due-reminder execution, and dependency-ordered reset without relying on cascades. |
66
+ | Capability | Status | TypeScript shape or remaining work |
67
+ | ----------------------------------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
68
+ | Process registration, heartbeats, stale claim recovery, and graceful shutdown | Native | Runtime roles persist host, PID, runtime versions, draining and stopped transitions, cooperative cancellation, and a bounded shutdown deadline; cleanup recovers stale claims. |
69
+ | Failed-role replacement | Native | Built-in and registered roles are rebuilt through their factories with capped backoff; shutdown is the terminal replacement boundary. |
70
+ | Additional supervised components | Native | `registerComponent()` builds, validates, runs, and stops application components with the runtime. |
71
+ | Dead-letter inspection and retry | Native | `runtime.deadLetters` provides deny-by-default immutable inspection and idempotent durable retry linkage. |
72
+ | Reconciliation reads | Native | Authorized cursor pages cover active, quiet, and orphaned instances; bounded state batches are migrated and deeply frozen. |
73
+ | Message, process, and opt-in instance retention | Native | Supervised scheduling bounds message and process growth; authorized manual APIs add preview and keep destructive instance expiration explicit. |
74
+ | Doctor and schema verification | Native | Structured checks cover configuration, schema/version shape, adapter server versions, neutral-context policy probes, live roles, and a targeted round trip. |
75
+ | CLI | Native | The packaged executable loads an application runtime and exposes start, diagnostics, processes, dead letters, reminders, and explicit retention pruning as JSON. |
76
+ | Operator dashboard | Native | The opt-in `solid-objects/web` export provides Fetch and Node/Connect mounting, authorized runtime views and actions, session-backed CSRF, filtering, paging, charts, and immutable extension hooks. Matches the Ruby dashboard's own documented limits: no audit trail of admin actions, dead-letter retry is one at a time, and pause sets a flag rather than interrupting an in-flight turn. |
77
+ | Structured instrumentation | Native | An isolated transport-neutral sink emits immutable lifecycle metadata and structurally excludes application payloads. |
78
+ | Large committed state warning | Native | `warnStateBytes` reports one `solid_objects.state.large` event, holding the actor type, actor ID, byte count, and threshold, when a committed image passes a 128 KB soft threshold. The event holds no application state, and it reports after the commit. The Ruby gem carries the same event and the same 5 MB hard default from `0.14.3`, as `warn_state_bytes`. Its threshold defaults to 64 KB rather than 128 KB, because its measured curve falls sooner: it keeps 55% of its empty-state throughput at 13 KB, where this package keeps 98% at 16 KB. |
79
+ | Public test helper | Native | `runtime.testing` provides role-selective deterministic draining, explicit-time due-reminder execution, and dependency-ordered reset without relying on cascades. |
80
80
 
81
81
  ## Databases and wake-up
82
82
 
83
- | Capability | Status | TypeScript shape or remaining work |
84
- | ------------------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
85
- | SQLite | Native | Uses built-in `node:sqlite`, serialized process-local access, bounded transient writer retries, foreign keys, strict tables, database time, and deadline-bounded access and lock waits. |
86
- | PostgreSQL | Native | Optional `pg` 8.23 peer, bounded pooling, 64-bit schema, row-locked sequences, server checks, and deadline-bounded pool, statement, and lock waits. |
87
- | MySQL | Native | Optional `mysql2` 3.23 peer, bounded pooling, InnoDB schema, row-locked sequences, scoped deadlock retry, and deadline-bounded pool, query, and lock waits. Ruby also tests a second client, `trilogy`; Node has no comparable second MySQL client, so only `mysql2` is tracked here. |
88
- | Durable polling fallback | Native | Every role progresses without a notification service. |
89
- | In-process wake-up | Native | A generation-based default adapter prevents claim-to-wait signal loss; commits wake role-specific waiters and polling remains the fallback. |
90
- | PostgreSQL wake-up | Native | `database.wakeUp()` uses one dedicated event-driven client, role-specific `LISTEN/NOTIFY`, generation fencing, reconnectable listeners, and durable polling fallback. |
91
- | Redis wake-up | Native | An optional `redis` peer provides role-specific Pub/Sub over separate lazy publisher/subscriber connections, with bounded failures and durable polling fallback. |
83
+ | Capability | Status | TypeScript shape or remaining work |
84
+ | ------------------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
85
+ | SQLite | Native | Uses built-in `node:sqlite`, serialized process-local access, bounded transient writer retries, foreign keys, strict tables, database time, and deadline-bounded access and lock waits. |
86
+ | PostgreSQL | Native | Optional `pg` 8.23 peer, bounded pooling, 64-bit schema, row-locked sequences, server checks, and deadline-bounded pool, statement, and lock waits. |
87
+ | MySQL | Native | Optional `mysql2` 3.23 peer, bounded pooling, InnoDB schema, row-locked sequences, scoped deadlock retry, and deadline-bounded pool, query, and lock waits. Ruby also tests a second client, `trilogy`; Node has no comparable second MySQL client, so only `mysql2` is tracked here. |
88
+ | Durable polling fallback | Native | Every role progresses without a notification service. Effects, reminders, and broadcasts use canonical ordered polling indexes; PostgreSQL and MySQL lock only the selected row with `FOR UPDATE SKIP LOCKED`. Broadcasts and reminders compare separate available and stale-recovery probes, preserve the oldest-first choice, and retry past candidates locked by another claimant. |
89
+ | In-process wake-up | Native | A generation-based default adapter prevents claim-to-wait signal loss; commits wake role-specific waiters and polling remains the fallback. |
90
+ | PostgreSQL wake-up | Native | `database.wakeUp()` uses one dedicated event-driven client, role-specific `LISTEN/NOTIFY`, generation fencing, reconnectable listeners, and durable polling fallback. |
91
+ | Redis wake-up | Native | An optional `redis` peer provides role-specific Pub/Sub over separate lazy publisher/subscriber connections, with bounded failures and durable polling fallback. |
92
92
 
93
93
  Every wake-up adapter above is opt-in. Neither runtime selects one
94
94
  automatically. An application that configures nothing keeps polling. Each
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solid-objects",
3
- "version": "0.14.4",
3
+ "version": "0.14.6",
4
4
  "description": "Race-free realtime state per application identity, backed by your SQL database",
5
5
  "type": "module",
6
6
  "license": "MIT",