solid-objects 0.12.0 → 0.13.0

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.
Files changed (99) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/README.md +228 -914
  3. package/dist/actor.d.ts +12 -0
  4. package/dist/actor.d.ts.map +1 -1
  5. package/dist/actor.js +28 -5
  6. package/dist/actor.js.map +1 -1
  7. package/dist/browser/components.d.ts.map +1 -1
  8. package/dist/browser/components.js +4 -1
  9. package/dist/browser/components.js.map +1 -1
  10. package/dist/browser/index.d.ts +1 -0
  11. package/dist/browser/index.d.ts.map +1 -1
  12. package/dist/browser/index.js +8 -0
  13. package/dist/browser/index.js.map +1 -1
  14. package/dist/cli.d.ts.map +1 -1
  15. package/dist/cli.js +13 -1
  16. package/dist/cli.js.map +1 -1
  17. package/dist/configuration.d.ts +1 -0
  18. package/dist/configuration.d.ts.map +1 -1
  19. package/dist/configuration.js.map +1 -1
  20. package/dist/doctor.d.ts.map +1 -1
  21. package/dist/doctor.js +12 -3
  22. package/dist/doctor.js.map +1 -1
  23. package/dist/errors.d.ts +2 -0
  24. package/dist/errors.d.ts.map +1 -1
  25. package/dist/errors.js +2 -0
  26. package/dist/errors.js.map +1 -1
  27. package/dist/examples/sqlite-quickstart.js +83 -0
  28. package/dist/examples/sqlite-quickstart.js.map +1 -0
  29. package/dist/index.d.ts +3 -3
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +2 -2
  32. package/dist/index.js.map +1 -1
  33. package/dist/records.d.ts +1 -0
  34. package/dist/records.d.ts.map +1 -1
  35. package/dist/reminder-scheduler.d.ts +3 -1
  36. package/dist/reminder-scheduler.d.ts.map +1 -1
  37. package/dist/reminder-scheduler.js +11 -3
  38. package/dist/reminder-scheduler.js.map +1 -1
  39. package/dist/repository.d.ts +10 -3
  40. package/dist/repository.d.ts.map +1 -1
  41. package/dist/repository.js +24 -14
  42. package/dist/repository.js.map +1 -1
  43. package/dist/runtime.d.ts +3 -1
  44. package/dist/runtime.d.ts.map +1 -1
  45. package/dist/runtime.js +39 -8
  46. package/dist/runtime.js.map +1 -1
  47. package/dist/schema.d.ts.map +1 -1
  48. package/dist/schema.js +15 -4
  49. package/dist/schema.js.map +1 -1
  50. package/dist/test-helper.d.ts +5 -0
  51. package/dist/test-helper.d.ts.map +1 -1
  52. package/dist/test-helper.js +24 -0
  53. package/dist/test-helper.js.map +1 -1
  54. package/dist/version.d.ts +1 -1
  55. package/dist/version.js +1 -1
  56. package/dist/web/assets.d.ts +4 -0
  57. package/dist/web/assets.d.ts.map +1 -0
  58. package/dist/web/assets.js +11 -0
  59. package/dist/web/assets.js.map +1 -0
  60. package/dist/web/index.d.ts +28 -0
  61. package/dist/web/index.d.ts.map +1 -0
  62. package/dist/web/index.js +642 -0
  63. package/dist/web/index.js.map +1 -0
  64. package/dist/web/node.d.ts +3 -0
  65. package/dist/web/node.d.ts.map +1 -0
  66. package/dist/web/node.js +109 -0
  67. package/dist/web/node.js.map +1 -0
  68. package/dist/web/render.d.ts +64 -0
  69. package/dist/web/render.d.ts.map +1 -0
  70. package/dist/web/render.js +331 -0
  71. package/dist/web/render.js.map +1 -0
  72. package/dist/web/store.d.ts +65 -0
  73. package/dist/web/store.d.ts.map +1 -0
  74. package/dist/web/store.js +303 -0
  75. package/dist/web/store.js.map +1 -0
  76. package/dist/web/types.d.ts +82 -0
  77. package/dist/web/types.d.ts.map +1 -0
  78. package/dist/web/types.js +2 -0
  79. package/dist/web/types.js.map +1 -0
  80. package/docs/api.md +99 -4
  81. package/docs/architecture.md +16 -10
  82. package/docs/authorization.md +12 -3
  83. package/docs/benchmarks.md +123 -0
  84. package/docs/browser-protocol.md +16 -2
  85. package/docs/comparisons.md +36 -0
  86. package/docs/configuration.md +22 -1
  87. package/docs/correctness.md +23 -0
  88. package/docs/dashboard.md +196 -0
  89. package/docs/errors-and-recovery.md +16 -1
  90. package/docs/fit.md +58 -0
  91. package/docs/parity.md +39 -36
  92. package/docs/releasing.md +7 -4
  93. package/docs/state-and-lifecycle.md +14 -4
  94. package/docs/support.md +39 -0
  95. package/examples/failure-recovery/actor.ts +51 -0
  96. package/examples/failure-recovery/demo.ts +233 -0
  97. package/examples/failure-recovery/worker.ts +46 -0
  98. package/examples/sqlite-quickstart.ts +109 -0
  99. package/package.json +25 -4
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/errors.js CHANGED
@@ -30,6 +30,8 @@ export class SyncInsideTransaction extends SolidObjectsError {
30
30
  }
31
31
  export class InvalidActor extends SolidObjectsError {
32
32
  }
33
+ export class InvalidRejectionCode extends NonRetryableError {
34
+ }
33
35
  export class UnknownActorType extends NonRetryableError {
34
36
  }
35
37
  export class UnknownOperation extends NonRetryableError {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import assert from "node:assert/strict";
2
+ import { existsSync } from "node:fs";
3
+ import { mkdtemp, rm } from "node:fs/promises";
4
+ import { tmpdir } from "node:os";
5
+ import { join, resolve } from "node:path";
6
+ import { fileURLToPath } from "node:url";
7
+ import { Actor, createRuntime } from "solid-objects";
8
+ import { sqlite } from "solid-objects/database/sqlite";
9
+ class Counter extends Actor {
10
+ static actorType = "QuickstartCounter";
11
+ count = 0;
12
+ increment() {
13
+ this.count += 1;
14
+ return this.count;
15
+ }
16
+ async pause({ milliseconds }) {
17
+ const startedAt = performance.now();
18
+ await new Promise((resolvePromise) => setTimeout(resolvePromise, milliseconds));
19
+ return { startedAt, finishedAt: performance.now() };
20
+ }
21
+ }
22
+ export async function runQuickstart(options = {}) {
23
+ const directory = await mkdtemp(join(tmpdir(), "solid-objects-quickstart-"));
24
+ const databasePath = join(directory, "state.sqlite3");
25
+ const runtime = createRuntime({
26
+ database: sqlite({ path: databasePath }),
27
+ workerCount: 2,
28
+ effectWorkerCount: 0,
29
+ reminderSchedulerCount: 0,
30
+ retentionIntervalMilliseconds: 0,
31
+ deadProcessCleanupIntervalMilliseconds: 0,
32
+ authorizeMessage: () => true,
33
+ authorizeQuery: () => true,
34
+ });
35
+ const shutdown = new AbortController();
36
+ const abort = () => shutdown.abort(options.signal?.reason);
37
+ options.signal?.addEventListener("abort", abort, { once: true });
38
+ let running;
39
+ let sameIdentityFinalState = 0;
40
+ let independentIdentitiesOverlapped = false;
41
+ try {
42
+ runtime.register(Counter);
43
+ await runtime.install();
44
+ running = runtime.run(shutdown.signal);
45
+ const counter = runtime.ref(Counter, "room-1");
46
+ const results = await Promise.all(Array.from({ length: 25 }, () => counter.increment()));
47
+ assert.deepEqual([...results].sort((left, right) => left - right), Array.from({ length: 25 }, (_value, index) => index + 1));
48
+ sameIdentityFinalState = await counter.count;
49
+ assert.equal(sameIdentityFinalState, 25);
50
+ const pauses = await Promise.all([
51
+ runtime.ref(Counter, "room-2").send.pause({ milliseconds: 100 }),
52
+ runtime.ref(Counter, "room-3").send.pause({ milliseconds: 100 }),
53
+ ]);
54
+ const windows = await Promise.all(pauses.map((message) => message.wait({ timeoutMilliseconds: 5_000 })));
55
+ const firstWindow = windows[0];
56
+ const secondWindow = windows[1];
57
+ if (!firstWindow || !secondWindow)
58
+ throw new Error("two execution windows are required");
59
+ independentIdentitiesOverlapped =
60
+ firstWindow.startedAt < secondWindow.finishedAt &&
61
+ secondWindow.startedAt < firstWindow.finishedAt;
62
+ assert.equal(independentIdentitiesOverlapped, true);
63
+ }
64
+ finally {
65
+ shutdown.abort();
66
+ await running;
67
+ await runtime.close();
68
+ options.signal?.removeEventListener("abort", abort);
69
+ await rm(directory, { recursive: true });
70
+ }
71
+ assert.equal(existsSync(directory), false);
72
+ const write = options.write ?? ((value) => process.stdout.write(value));
73
+ write(`${JSON.stringify({
74
+ sameIdentityCalls: 25,
75
+ sameIdentityFinalState,
76
+ independentIdentitiesOverlapped,
77
+ temporaryStateRemoved: true,
78
+ }, null, 2)}\n`);
79
+ }
80
+ if (process.argv[1] && fileURLToPath(import.meta.url) === resolve(process.argv[1])) {
81
+ await runQuickstart();
82
+ }
83
+ //# sourceMappingURL=sqlite-quickstart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-quickstart.js","sourceRoot":"","sources":["../../examples/sqlite-quickstart.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { Actor, type ActorClass, type ActorIntents, type CommitActionIntent, type EffectIntent, type OutboundMessageIntent, type OutboundMessageOptions, type PayloadBroadcasts, type PayloadBroadcastValue, type ReminderIntent, type ReminderOptions, } from "./actor.js";
1
+ export { Actor, broadcastInvalidation, broadcastValue, type ActorClass, type ActorIntents, type CommitActionIntent, type EffectIntent, type OutboundMessageIntent, type OutboundMessageOptions, type ObservableBroadcast, type PayloadBroadcasts, type PayloadBroadcastValue, type ReminderIntent, type ReminderOptions, } from "./actor.js";
2
2
  export { configure, createRuntime, SolidObjectsRuntime } from "./runtime.js";
3
3
  export { VERSION } from "./version.js";
4
4
  export { guardApplicationDatabase } from "./application-database.js";
@@ -15,10 +15,10 @@ export { ProcessManager, type ProcessCleanupResult, type ProcessMetadata, type P
15
15
  export { Doctor, type DoctorCheck, type DoctorOptions, type DoctorReport, type DoctorStatus, } from "./doctor.js";
16
16
  export { ReconciliationManager, type OrphanedReconciliationOptions, type QuietReconciliationOptions, type ReconciliationInstance, type ReconciliationPage, type ReconciliationPageOptions, type ReconciliationStatesOptions, } from "./reconciliation.js";
17
17
  export { RetentionManager, type RetentionOptions, type RetentionResult, type RetentionTarget, } from "./retention.js";
18
- export { SolidObjectsTestHelper, type TestDrainOptions, type TestHelperRole, } from "./test-helper.js";
18
+ export { SolidObjectsTestHelper, type RunDueRemindersOptions, type TestDrainOptions, type TestHelperRole, } from "./test-helper.js";
19
19
  export { MessageReference, type ActorOperationNames, type ActorMessageSender, type ActorQueryNames, type ActorReference, type ActorSnapshot, type ScheduledOperations, type StagedOperations, } from "./reference.js";
20
20
  export type { AdministrationAuthorizationInput, AuthorizationInput, BroadcastEvent, DestroyAuthorizationInput, InstrumentationEvent, SolidObjectsConfiguration, SubscriptionAuthorizationInput, } from "./configuration.js";
21
21
  export type { AdministrationOptions, ActorIdentifier, AsyncInvocationOptions, CommitActionContext, DeepReadonly, DestroyOptions, EffectContext, InvocationOptions, JsonObject, JsonPrimitive, JsonValue, Logger, LongRunningComponent, MessageContext, MessageStatus, SnapshotOptions, } from "./types.js";
22
22
  export type { Database, DatabaseConnection, DatabaseFamily, RunResult } from "./database/types.js";
23
- export { ApplicationWriteForbidden, ActorCallCycle, ActorDestroyed, DatabaseDeadlineExceeded, IdempotencyConflict, InvalidActor, InvalidPayload, InvalidPayloadBroadcast, LostActivation, MailboxFull, MessageFailed, NonRetryableError, PayloadTooLarge, QueryMutatedState, Rejected, ReminderNotPaused, SolidObjectsError, StateMigrationError, SyncTimeout, SyncEnqueueTimeout, SyncInsideTransaction, type SyncTimeoutDetails, type SyncTimeoutWaitingOn, Unauthorized, UnknownActorType, UnknownCommitAction, UnknownDeadLetter, UnknownEffect, UnknownOperation, UnknownPayloadBroadcast, UnknownReminder, UnsupportedDatabase, } from "./errors.js";
23
+ export { ApplicationWriteForbidden, ActorCallCycle, ActorDestroyed, DatabaseDeadlineExceeded, IdempotencyConflict, InvalidActor, InvalidRejectionCode, InvalidPayload, InvalidPayloadBroadcast, LostActivation, MailboxFull, MessageFailed, NonRetryableError, PayloadTooLarge, QueryMutatedState, Rejected, ReminderNotPaused, SolidObjectsError, StateMigrationError, SyncTimeout, SyncEnqueueTimeout, SyncInsideTransaction, type SyncTimeoutDetails, type SyncTimeoutWaitingOn, Unauthorized, UnknownActorType, UnknownCommitAction, UnknownDeadLetter, UnknownEffect, UnknownOperation, UnknownPayloadBroadcast, UnknownReminder, UnsupportedDatabase, } from "./errors.js";
24
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { Actor, } from "./actor.js";
1
+ export { Actor, broadcastInvalidation, broadcastValue, } from "./actor.js";
2
2
  export { configure, createRuntime, SolidObjectsRuntime } from "./runtime.js";
3
3
  export { VERSION } from "./version.js";
4
4
  export { guardApplicationDatabase } from "./application-database.js";
@@ -17,5 +17,5 @@ export { ReconciliationManager, } from "./reconciliation.js";
17
17
  export { RetentionManager, } from "./retention.js";
18
18
  export { SolidObjectsTestHelper, } from "./test-helper.js";
19
19
  export { MessageReference, } from "./reference.js";
20
- export { ApplicationWriteForbidden, ActorCallCycle, ActorDestroyed, DatabaseDeadlineExceeded, IdempotencyConflict, InvalidActor, InvalidPayload, InvalidPayloadBroadcast, LostActivation, MailboxFull, MessageFailed, NonRetryableError, PayloadTooLarge, QueryMutatedState, Rejected, ReminderNotPaused, SolidObjectsError, StateMigrationError, SyncTimeout, SyncEnqueueTimeout, SyncInsideTransaction, Unauthorized, UnknownActorType, UnknownCommitAction, UnknownDeadLetter, UnknownEffect, UnknownOperation, UnknownPayloadBroadcast, UnknownReminder, UnsupportedDatabase, } from "./errors.js";
20
+ export { ApplicationWriteForbidden, ActorCallCycle, ActorDestroyed, DatabaseDeadlineExceeded, IdempotencyConflict, InvalidActor, InvalidRejectionCode, InvalidPayload, InvalidPayloadBroadcast, LostActivation, MailboxFull, MessageFailed, NonRetryableError, PayloadTooLarge, QueryMutatedState, Rejected, ReminderNotPaused, SolidObjectsError, StateMigrationError, SyncTimeout, SyncEnqueueTimeout, SyncInsideTransaction, Unauthorized, UnknownActorType, UnknownCommitAction, UnknownDeadLetter, UnknownEffect, UnknownOperation, UnknownPayloadBroadcast, UnknownReminder, UnsupportedDatabase, } from "./errors.js";
21
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAWN,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,MAAM,EAAsB,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EACL,eAAe,GAMhB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EACL,sBAAsB,GAKvB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,wBAAwB,EACxB,eAAe,GAIhB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAA;AACtE,OAAO,EACL,cAAc,GAKf,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,MAAM,GAKP,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,qBAAqB,GAOtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,gBAAgB,GAIjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,sBAAsB,GAGvB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,gBAAgB,GAQjB,MAAM,gBAAgB,CAAA;AA6BvB,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EAGrB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,GACpB,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,qBAAqB,EACrB,cAAc,GAYf,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,MAAM,EAAsB,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EACL,eAAe,GAMhB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EACL,sBAAsB,GAKvB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,wBAAwB,EACxB,eAAe,GAIhB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAA;AACtE,OAAO,EACL,cAAc,GAKf,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,MAAM,GAKP,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,qBAAqB,GAOtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,gBAAgB,GAIjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,sBAAsB,GAIvB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,gBAAgB,GAQjB,MAAM,gBAAgB,CAAA;AA6BvB,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EAGrB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,GACpB,MAAM,aAAa,CAAA"}
package/dist/records.d.ts CHANGED
@@ -128,6 +128,7 @@ export interface BroadcastRow {
128
128
  actor_id: string;
129
129
  state_revision: number | bigint;
130
130
  observables: string;
131
+ invalidations: string | null;
131
132
  status: "pending" | "processing" | "delivered" | "dead";
132
133
  attempt_count: number | bigint;
133
134
  available_at_ms: number | bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../src/records.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../src/records.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,9 @@ export declare class ReminderScheduler {
5
5
  private registered;
6
6
  private stopping;
7
7
  constructor(runtime: SolidObjectsRuntime);
8
- runOnce(): Promise<number>;
8
+ runOnce(options?: {
9
+ now?: Date;
10
+ }): Promise<number>;
9
11
  runUntilIdle(options?: {
10
12
  maxReminders?: number;
11
13
  }): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"reminder-scheduler.d.ts","sourceRoot":"","sources":["../src/reminder-scheduler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,qBAAa,iBAAiB;IAKhB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,QAAQ,CAAC,SAAS,sDAAe;IACjC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAQ;gBAEK,OAAO,EAAE,mBAAmB;IAEnD,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IA2B1B,YAAY,CAAC,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAWtE,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAe7C,eAAe,IAAI,IAAI;IAIvB,OAAO,IAAI,OAAO;IAIZ,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YASb,gBAAgB;CAK/B"}
1
+ {"version":3,"file":"reminder-scheduler.d.ts","sourceRoot":"","sources":["../src/reminder-scheduler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,qBAAa,iBAAiB;IAKhB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,QAAQ,CAAC,SAAS,sDAAe;IACjC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAQ;gBAEK,OAAO,EAAE,mBAAmB;IAEnD,OAAO,CAAC,OAAO,GAAE;QAAE,GAAG,CAAC,EAAE,IAAI,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAmCtD,YAAY,CAAC,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAWtE,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAe7C,eAAe,IAAI,IAAI;IAIvB,OAAO,IAAI,OAAO;IAIZ,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YASb,gBAAgB;CAK/B"}
@@ -8,16 +8,24 @@ export class ReminderScheduler {
8
8
  constructor(runtime) {
9
9
  this.runtime = runtime;
10
10
  }
11
- async runOnce() {
11
+ async runOnce(options = {}) {
12
12
  if (this.stopping)
13
13
  return 0;
14
+ const nowMilliseconds = options.now?.getTime();
15
+ if (nowMilliseconds !== undefined && !Number.isFinite(nowMilliseconds)) {
16
+ throw new TypeError("reminder test time must be a valid date");
17
+ }
14
18
  await this.ensureRegistered();
15
19
  await this.runtime.repository.heartbeatProcess(this.processId);
16
- const reminder = await this.runtime.repository.claimReminder(this.processId);
20
+ const reminder = await this.runtime.repository.claimReminder(this.processId, {
21
+ ...(nowMilliseconds === undefined ? {} : { nowMilliseconds }),
22
+ });
17
23
  if (!reminder)
18
24
  return 0;
19
25
  try {
20
- await this.runtime.executeReminder(reminder);
26
+ await this.runtime.executeReminder(reminder, {
27
+ ...(nowMilliseconds === undefined ? {} : { nowMilliseconds }),
28
+ });
21
29
  }
22
30
  catch (error) {
23
31
  if (error instanceof UnknownOperation) {
@@ -1 +1 @@
1
- {"version":3,"file":"reminder-scheduler.js","sourceRoot":"","sources":["../src/reminder-scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reminder-scheduler.js","sourceRoot":"","sources":["../src/reminder-scheduler.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,10 @@ export declare class Repository {
45
45
  state: Record<string, JsonValue>;
46
46
  stateVersion: number;
47
47
  result: JsonValue;
48
- broadcastObservables?: Record<string, JsonValue>;
48
+ broadcastProjection?: {
49
+ observables: Record<string, JsonValue>;
50
+ invalidations: readonly string[];
51
+ };
49
52
  intents: ActorIntents;
50
53
  executeCommitAction(intent: ActorIntents["commitActions"][number], connection: DatabaseConnection): Promise<void>;
51
54
  }): Promise<{
@@ -127,8 +130,12 @@ export declare class Repository {
127
130
  error: unknown;
128
131
  retryable: boolean;
129
132
  }): Promise<void>;
130
- claimReminder(processId: string): Promise<ReminderRow | undefined>;
131
- enqueueReminder(reminder: ReminderRow): Promise<void>;
133
+ claimReminder(processId: string, options?: {
134
+ nowMilliseconds?: number;
135
+ }): Promise<ReminderRow | undefined>;
136
+ enqueueReminder(reminder: ReminderRow, options?: {
137
+ nowMilliseconds?: number;
138
+ }): Promise<void>;
132
139
  releaseReminder(reminder: ReminderRow): Promise<void>;
133
140
  failReminder(reminder: ReminderRow, error: unknown): Promise<void>;
134
141
  claimBroadcast(processId: string): Promise<BroadcastRow | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"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"}
@@ -472,18 +472,19 @@ export class Repository {
472
472
  : { idempotencyKey: outbound.idempotencyKey }),
473
473
  });
474
474
  }
475
- if (input.broadcastObservables !== undefined) {
475
+ if (input.broadcastProjection !== undefined) {
476
476
  await connection.run(`INSERT INTO ${this.table("broadcasts")}
477
477
  (id, message_id, instance_id, actor_type, actor_id, state_revision, observables,
478
- status, available_at_ms)
479
- VALUES (?, ?, ?, ?, ?, ?, ?, 'pending', ?)`, [
478
+ invalidations, status, available_at_ms)
479
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'pending', ?)`, [
480
480
  randomUUID(),
481
481
  turn.message.id,
482
482
  turn.instance.id,
483
483
  turn.message.actor_type,
484
484
  turn.message.actor_id,
485
485
  turn.message.sequence,
486
- JSON.stringify(input.broadcastObservables),
486
+ JSON.stringify(input.broadcastProjection.observables),
487
+ JSON.stringify(input.broadcastProjection.invalidations),
487
488
  now,
488
489
  ]);
489
490
  }
@@ -957,7 +958,11 @@ export class Repository {
957
958
  actorId: effect.actor_id,
958
959
  operation: effect.success_operation,
959
960
  deliveryMode: "internal",
960
- arguments: jsonObject({ effectId: effect.id, result }),
961
+ arguments: jsonObject({
962
+ effectId: effect.id,
963
+ arguments: jsonObject(JSON.parse(effect.arguments)),
964
+ result,
965
+ }),
961
966
  idempotencyKey: `effect:${effect.id}:success`,
962
967
  });
963
968
  void now;
@@ -990,15 +995,20 @@ export class Repository {
990
995
  actorId: effect.actor_id,
991
996
  operation: effect.failure_operation,
992
997
  deliveryMode: "internal",
993
- arguments: jsonObject({ effectId: effect.id, error: errorRecord }),
998
+ arguments: jsonObject({
999
+ effectId: effect.id,
1000
+ arguments: jsonObject(JSON.parse(effect.arguments)),
1001
+ error: errorRecord,
1002
+ }),
994
1003
  idempotencyKey: `effect:${effect.id}:failure`,
995
1004
  });
996
1005
  });
997
1006
  }
998
- async claimReminder(processId) {
1007
+ async claimReminder(processId, options = {}) {
999
1008
  return this.settings.database.transaction(async (connection) => {
1000
- const now = await connection.nowMilliseconds();
1001
- const staleAt = now - this.settings.processAliveThresholdMilliseconds;
1009
+ const databaseNow = await connection.nowMilliseconds();
1010
+ const dueAt = options.nowMilliseconds ?? databaseNow;
1011
+ const staleAt = databaseNow - this.settings.processAliveThresholdMilliseconds;
1002
1012
  await connection.run(`UPDATE ${this.table("reminders")} SET claimed_by = NULL, claimed_at_ms = NULL
1003
1013
  WHERE claimed_by IS NOT NULL AND (
1004
1014
  claimed_at_ms <= ? OR NOT EXISTS (
@@ -1013,21 +1023,21 @@ export class Repository {
1013
1023
  WHERE reminders.status = 'scheduled' AND reminders.run_at_ms <= ?
1014
1024
  AND reminders.claimed_by IS NULL
1015
1025
  ORDER BY reminders.run_at_ms, reminders.id
1016
- LIMIT 1`, [now]);
1026
+ LIMIT 1`, [dueAt]);
1017
1027
  if (!reminder)
1018
1028
  return undefined;
1019
1029
  const claimed = await connection.run(`UPDATE ${this.table("reminders")} SET claimed_by = ?, claimed_at_ms = ?
1020
- WHERE id = ? AND status = 'scheduled' AND claimed_by IS NULL`, [processId, now, reminder.id]);
1030
+ WHERE id = ? AND status = 'scheduled' AND claimed_by IS NULL`, [processId, databaseNow, reminder.id]);
1021
1031
  if (claimed.changes !== 1)
1022
1032
  return undefined;
1023
1033
  reminder.claimed_by = processId;
1024
- reminder.claimed_at_ms = now;
1034
+ reminder.claimed_at_ms = databaseNow;
1025
1035
  return reminder;
1026
1036
  });
1027
1037
  }
1028
- async enqueueReminder(reminder) {
1038
+ async enqueueReminder(reminder, options = {}) {
1029
1039
  await this.settings.database.transaction(async (connection) => {
1030
- const now = await connection.nowMilliseconds();
1040
+ const now = options.nowMilliseconds ?? (await connection.nowMilliseconds());
1031
1041
  const claimed = await connection.get(`SELECT reminders.*, instances.actor_type, instances.actor_id
1032
1042
  FROM ${this.table("reminders")} reminders
1033
1043
  JOIN ${this.table("instances")} instances ON instances.id = reminders.instance_id