solid-objects 0.13.3 → 0.14.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 (143) hide show
  1. package/CHANGELOG.md +99 -0
  2. package/README.md +185 -67
  3. package/dist/actor.d.ts +1 -0
  4. package/dist/actor.d.ts.map +1 -1
  5. package/dist/actor.js +9 -0
  6. package/dist/actor.js.map +1 -1
  7. package/dist/broadcast-worker.d.ts +1 -1
  8. package/dist/broadcast-worker.d.ts.map +1 -1
  9. package/dist/broadcast-worker.js +1 -1
  10. package/dist/broadcast-worker.js.map +1 -1
  11. package/dist/broken-pipe.d.ts +5 -0
  12. package/dist/broken-pipe.d.ts.map +1 -0
  13. package/dist/broken-pipe.js +8 -0
  14. package/dist/broken-pipe.js.map +1 -0
  15. package/dist/browser/host.d.ts +8 -0
  16. package/dist/browser/host.d.ts.map +1 -0
  17. package/dist/browser/host.js +22 -0
  18. package/dist/browser/host.js.map +1 -0
  19. package/dist/browser/tab-host.d.ts +43 -0
  20. package/dist/browser/tab-host.d.ts.map +1 -0
  21. package/dist/browser/tab-host.js +196 -0
  22. package/dist/browser/tab-host.js.map +1 -0
  23. package/dist/cli.d.ts +1 -0
  24. package/dist/cli.d.ts.map +1 -1
  25. package/dist/cli.js +6 -3
  26. package/dist/cli.js.map +1 -1
  27. package/dist/context.js +2 -2
  28. package/dist/context.js.map +1 -1
  29. package/dist/database/deadline.js +2 -2
  30. package/dist/database/deadline.js.map +1 -1
  31. package/dist/database/mysql.d.ts +1 -0
  32. package/dist/database/mysql.d.ts.map +1 -1
  33. package/dist/database/mysql.js +1 -0
  34. package/dist/database/mysql.js.map +1 -1
  35. package/dist/database/postgresql.d.ts +1 -0
  36. package/dist/database/postgresql.d.ts.map +1 -1
  37. package/dist/database/postgresql.js +1 -0
  38. package/dist/database/postgresql.js.map +1 -1
  39. package/dist/database/shared-sqlite-wasm.d.ts +74 -0
  40. package/dist/database/shared-sqlite-wasm.d.ts.map +1 -0
  41. package/dist/database/shared-sqlite-wasm.js +542 -0
  42. package/dist/database/shared-sqlite-wasm.js.map +1 -0
  43. package/dist/database/sqlite-wasm.d.ts +30 -0
  44. package/dist/database/sqlite-wasm.d.ts.map +1 -0
  45. package/dist/database/sqlite-wasm.js +185 -0
  46. package/dist/database/sqlite-wasm.js.map +1 -0
  47. package/dist/database/sqlite.d.ts +1 -0
  48. package/dist/database/sqlite.d.ts.map +1 -1
  49. package/dist/database/sqlite.js +1 -0
  50. package/dist/database/sqlite.js.map +1 -1
  51. package/dist/database/transaction-context.js +2 -2
  52. package/dist/database/transaction-context.js.map +1 -1
  53. package/dist/doctor.js +1 -1
  54. package/dist/doctor.js.map +1 -1
  55. package/dist/effect-worker.d.ts +1 -1
  56. package/dist/effect-worker.d.ts.map +1 -1
  57. package/dist/effect-worker.js +1 -1
  58. package/dist/effect-worker.js.map +1 -1
  59. package/dist/examples/quickstart-report.js +127 -0
  60. package/dist/examples/quickstart-report.js.map +1 -0
  61. package/dist/examples/sqlite-quickstart.js +59 -7
  62. package/dist/examples/sqlite-quickstart.js.map +1 -1
  63. package/dist/executable.js +4 -0
  64. package/dist/executable.js.map +1 -1
  65. package/dist/index.d.ts +3 -1
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +3 -1
  68. package/dist/index.js.map +1 -1
  69. package/dist/platform/context-store.d.ts +11 -0
  70. package/dist/platform/context-store.d.ts.map +1 -0
  71. package/dist/platform/context-store.js +28 -0
  72. package/dist/platform/context-store.js.map +1 -0
  73. package/dist/platform/host-identity.d.ts +11 -0
  74. package/dist/platform/host-identity.d.ts.map +1 -0
  75. package/dist/platform/host-identity.js +17 -0
  76. package/dist/platform/host-identity.js.map +1 -0
  77. package/dist/platform/node.d.ts +2 -0
  78. package/dist/platform/node.d.ts.map +1 -0
  79. package/dist/platform/node.js +11 -0
  80. package/dist/platform/node.js.map +1 -0
  81. package/dist/platform/turn-context-store.d.ts +7 -0
  82. package/dist/platform/turn-context-store.d.ts.map +1 -0
  83. package/dist/platform/turn-context-store.js +17 -0
  84. package/dist/platform/turn-context-store.js.map +1 -0
  85. package/dist/platform/uuid.d.ts +2 -0
  86. package/dist/platform/uuid.d.ts.map +1 -0
  87. package/dist/platform/uuid.js +4 -0
  88. package/dist/platform/uuid.js.map +1 -0
  89. package/dist/platform/web-locks.d.ts +2 -0
  90. package/dist/platform/web-locks.d.ts.map +1 -0
  91. package/dist/platform/web-locks.js +8 -0
  92. package/dist/platform/web-locks.js.map +1 -0
  93. package/dist/reminder-scheduler.d.ts +1 -1
  94. package/dist/reminder-scheduler.d.ts.map +1 -1
  95. package/dist/reminder-scheduler.js +1 -1
  96. package/dist/reminder-scheduler.js.map +1 -1
  97. package/dist/repository.d.ts.map +1 -1
  98. package/dist/repository.js +13 -6
  99. package/dist/repository.js.map +1 -1
  100. package/dist/runtime.d.ts +25 -1
  101. package/dist/runtime.d.ts.map +1 -1
  102. package/dist/runtime.js +62 -1
  103. package/dist/runtime.js.map +1 -1
  104. package/dist/serialization.d.ts.map +1 -1
  105. package/dist/serialization.js +2 -1
  106. package/dist/serialization.js.map +1 -1
  107. package/dist/transmit-effect.d.ts +2 -0
  108. package/dist/transmit-effect.d.ts.map +1 -0
  109. package/dist/transmit-effect.js +2 -0
  110. package/dist/transmit-effect.js.map +1 -0
  111. package/dist/transmit.d.ts +27 -0
  112. package/dist/transmit.d.ts.map +1 -0
  113. package/dist/transmit.js +105 -0
  114. package/dist/transmit.js.map +1 -0
  115. package/dist/version.d.ts +1 -1
  116. package/dist/version.js +1 -1
  117. package/dist/web/index.d.ts +1 -0
  118. package/dist/web/index.d.ts.map +1 -1
  119. package/dist/web/index.js +1 -0
  120. package/dist/web/index.js.map +1 -1
  121. package/dist/worker.d.ts +1 -1
  122. package/dist/worker.d.ts.map +1 -1
  123. package/dist/worker.js +1 -1
  124. package/dist/worker.js.map +1 -1
  125. package/docs/api.md +199 -20
  126. package/docs/architecture.md +50 -23
  127. package/docs/authorization.md +6 -5
  128. package/docs/benchmarks.md +87 -65
  129. package/docs/browser-protocol.md +62 -3
  130. package/docs/comparisons.md +14 -9
  131. package/docs/configuration.md +2 -2
  132. package/docs/correctness.md +30 -17
  133. package/docs/dashboard.md +6 -6
  134. package/docs/errors-and-recovery.md +12 -12
  135. package/docs/fit.md +3 -0
  136. package/docs/operations.md +33 -19
  137. package/docs/parity.md +125 -46
  138. package/docs/releasing.md +6 -6
  139. package/docs/state-and-lifecycle.md +12 -8
  140. package/docs/support.md +45 -20
  141. package/examples/quickstart-report.ts +151 -0
  142. package/examples/sqlite-quickstart.ts +76 -16
  143. package/package.json +28 -2
@@ -0,0 +1,185 @@
1
+ import sqlite3InitModule, {} from "@sqlite.org/sqlite-wasm";
2
+ import { requireDatabaseDeadlineRemaining } from "./deadline.js";
3
+ import { DatabaseDeadlineExceeded } from "../errors.js";
4
+ import { databaseTransactionActive, withDatabaseTransaction } from "./transaction-context.js";
5
+ class SQLiteWasmConnection {
6
+ handles;
7
+ requireDeadlineRemaining;
8
+ constructor(options) {
9
+ this.handles = options.handles;
10
+ this.requireDeadlineRemaining = options.requireDeadlineRemaining;
11
+ }
12
+ async run(sql, parameters = []) {
13
+ requireDatabaseDeadlineRemaining();
14
+ this.requireDeadlineRemaining();
15
+ this.execute({ sql, parameters });
16
+ const output = { changes: this.handles.handle.changes() };
17
+ const lastInsertRowid = this.handles.sqlite3.capi.sqlite3_last_insert_rowid(this.handles.handle);
18
+ if (Number(lastInsertRowid) !== 0)
19
+ output.lastInsertId = String(lastInsertRowid);
20
+ return output;
21
+ }
22
+ async get(sql, parameters = []) {
23
+ const rows = await this.all(sql, parameters);
24
+ return rows[0];
25
+ }
26
+ async all(sql, parameters = []) {
27
+ requireDatabaseDeadlineRemaining();
28
+ this.requireDeadlineRemaining();
29
+ const resultRows = [];
30
+ this.execute({ sql, parameters, resultRows });
31
+ return resultRows;
32
+ }
33
+ async nowMilliseconds() {
34
+ const row = await this.get("SELECT CAST((julianday('now') - 2440587.5) * 86400000 AS INTEGER) AS now_ms");
35
+ if (row === undefined)
36
+ throw new Error("SQLite returned no clock row");
37
+ return Number(row.now_ms);
38
+ }
39
+ execute(options) {
40
+ const bind = options.parameters.map(normalizeParameter);
41
+ this.handles.handle.exec({
42
+ sql: options.sql,
43
+ rowMode: "object",
44
+ ...(bind.length > 0 ? { bind } : {}),
45
+ ...(options.resultRows ? { resultRows: options.resultRows } : {}),
46
+ });
47
+ }
48
+ }
49
+ export class SQLiteWasmDatabase {
50
+ family = "sqlite";
51
+ schemaIdentity = "solid-objects-wasm-v1";
52
+ handles;
53
+ databaseConnection;
54
+ accessTail = Promise.resolve();
55
+ closed = false;
56
+ activeDeadlineExpiresAtMilliseconds;
57
+ constructor(handles) {
58
+ this.handles = handles;
59
+ this.handles.handle.exec("PRAGMA foreign_keys = ON");
60
+ this.databaseConnection = new SQLiteWasmConnection({
61
+ handles,
62
+ requireDeadlineRemaining: () => this.requireActiveDeadlineRemaining(),
63
+ });
64
+ }
65
+ async connection(callback) {
66
+ return this.withAccess(() => callback(this.databaseConnection));
67
+ }
68
+ async transaction(callback) {
69
+ return withDatabaseTransaction(this, () => this.withAccess(() => this.runTransaction(callback)));
70
+ }
71
+ transactionActive() {
72
+ return databaseTransactionActive(this);
73
+ }
74
+ async close() {
75
+ if (this.closed)
76
+ return;
77
+ await this.accessTail;
78
+ if (this.closed)
79
+ return;
80
+ this.handles.handle.close();
81
+ this.closed = true;
82
+ }
83
+ async withAccess(callback) {
84
+ const initialRemaining = requireDatabaseDeadlineRemaining();
85
+ const deadlineExpiresAtMilliseconds = initialRemaining === undefined ? undefined : performance.now() + initialRemaining;
86
+ const previous = this.accessTail;
87
+ let release = () => { };
88
+ this.accessTail = new Promise((resolve) => {
89
+ release = resolve;
90
+ });
91
+ if (initialRemaining !== undefined) {
92
+ try {
93
+ await waitForAccess(previous, initialRemaining);
94
+ }
95
+ catch (error) {
96
+ void previous.then(release, release);
97
+ throw error;
98
+ }
99
+ }
100
+ else {
101
+ await previous;
102
+ }
103
+ try {
104
+ if (initialRemaining !== undefined)
105
+ requireDatabaseDeadlineRemaining();
106
+ if (this.closed)
107
+ throw new Error("SQLite WASM database is closed");
108
+ this.activeDeadlineExpiresAtMilliseconds = deadlineExpiresAtMilliseconds;
109
+ this.requireActiveDeadlineRemaining();
110
+ return await callback();
111
+ }
112
+ finally {
113
+ this.activeDeadlineExpiresAtMilliseconds = undefined;
114
+ release();
115
+ }
116
+ }
117
+ requireActiveDeadlineRemaining() {
118
+ const expiresAt = this.activeDeadlineExpiresAtMilliseconds;
119
+ if (expiresAt === undefined)
120
+ return;
121
+ if (performance.now() >= expiresAt) {
122
+ throw new DatabaseDeadlineExceeded("database deadline exceeded");
123
+ }
124
+ }
125
+ async runTransaction(callback) {
126
+ this.handles.handle.exec("BEGIN IMMEDIATE");
127
+ try {
128
+ const result = await callback(this.databaseConnection);
129
+ requireDatabaseDeadlineRemaining();
130
+ this.requireActiveDeadlineRemaining();
131
+ this.handles.handle.exec("COMMIT");
132
+ return result;
133
+ }
134
+ catch (error) {
135
+ this.handles.handle.exec("ROLLBACK");
136
+ throw error;
137
+ }
138
+ }
139
+ }
140
+ let sqlite3ModulePromise;
141
+ function loadSqlite3() {
142
+ sqlite3ModulePromise ??= sqlite3InitModule();
143
+ return sqlite3ModulePromise;
144
+ }
145
+ export async function sqliteWasm(options) {
146
+ const sqlite3 = await loadSqlite3();
147
+ const handle = await openHandle({ sqlite3, options });
148
+ return new SQLiteWasmDatabase({ handle, sqlite3 });
149
+ }
150
+ async function openHandle(context) {
151
+ if (context.options.storage !== "persistent") {
152
+ return new context.sqlite3.oo1.DB(context.options.path, "c");
153
+ }
154
+ const reinitOptions = {
155
+ forceReinitIfPreviouslyFailed: true,
156
+ };
157
+ const pool = await context.sqlite3.installOpfsSAHPoolVfs(reinitOptions);
158
+ return new pool.OpfsSAHPoolDb(context.options.path);
159
+ }
160
+ function waitForAccess(access, timeoutMilliseconds) {
161
+ return new Promise((resolve, reject) => {
162
+ const timeout = setTimeout(() => reject(new DatabaseDeadlineExceeded("database deadline exceeded")), timeoutMilliseconds);
163
+ void access.then(() => {
164
+ clearTimeout(timeout);
165
+ resolve();
166
+ }, (error) => {
167
+ clearTimeout(timeout);
168
+ reject(error);
169
+ });
170
+ });
171
+ }
172
+ function normalizeParameter(value) {
173
+ if (value === undefined)
174
+ return null;
175
+ if (value === null ||
176
+ typeof value === "string" ||
177
+ typeof value === "number" ||
178
+ typeof value === "bigint" ||
179
+ value instanceof Uint8Array)
180
+ return value;
181
+ if (typeof value === "boolean")
182
+ return value ? 1 : 0;
183
+ throw new TypeError(`unsupported SQLite parameter ${typeof value}`);
184
+ }
185
+ //# sourceMappingURL=sqlite-wasm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-wasm.js","sourceRoot":"","sources":["../../src/database/sqlite-wasm.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import "../platform/node.js";
1
2
  import type { Database, DatabaseConnection } from "./types.js";
2
3
  export interface SQLiteDatabaseOptions {
3
4
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/database/sqlite.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAa,MAAM,YAAY,CAAA;AASzE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAmCD,qBAAa,cAAe,YAAW,QAAQ;IAC7C,QAAQ,CAAC,MAAM,EAAG,QAAQ,CAAS;IACnC,QAAQ,CAAC,cAAc,2BAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAkB;IACrD,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;gBAE9B,OAAO,EAAE,qBAAqB;IAcpC,UAAU,CAAC,MAAM,EACrB,QAAQ,EAAE,CAAC,UAAU,EAAE,kBAAkB,KAAK,OAAO,CAAC,MAAM,CAAC,GAC5D,OAAO,CAAC,MAAM,CAAC;IAIZ,WAAW,CAAC,MAAM,EACtB,QAAQ,EAAE,CAAC,UAAU,EAAE,kBAAkB,KAAK,OAAO,CAAC,MAAM,CAAC,GAC5D,OAAO,CAAC,MAAM,CAAC;IAIlB,iBAAiB,IAAI,OAAO;IAItB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAQd,UAAU;YAyBV,eAAe;YAcf,cAAc;YAcd,yBAAyB;CAcxC;AA0BD,wBAAgB,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAErE"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/database/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAa,MAAM,YAAY,CAAA;AASzE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAmCD,qBAAa,cAAe,YAAW,QAAQ;IAC7C,QAAQ,CAAC,MAAM,EAAG,QAAQ,CAAS;IACnC,QAAQ,CAAC,cAAc,2BAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAkB;IACrD,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;gBAE9B,OAAO,EAAE,qBAAqB;IAcpC,UAAU,CAAC,MAAM,EACrB,QAAQ,EAAE,CAAC,UAAU,EAAE,kBAAkB,KAAK,OAAO,CAAC,MAAM,CAAC,GAC5D,OAAO,CAAC,MAAM,CAAC;IAIZ,WAAW,CAAC,MAAM,EACtB,QAAQ,EAAE,CAAC,UAAU,EAAE,kBAAkB,KAAK,OAAO,CAAC,MAAM,CAAC,GAC5D,OAAO,CAAC,MAAM,CAAC;IAIlB,iBAAiB,IAAI,OAAO;IAItB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAQd,UAAU;YAyBV,eAAe;YAcf,cAAc;YAcd,yBAAyB;CAcxC;AA0BD,wBAAgB,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAErE"}
@@ -1,3 +1,4 @@
1
+ import "../platform/node.js";
1
2
  import { DatabaseSync } from "node:sqlite";
2
3
  import { databaseDeadlineError, databaseDeadlineRemainingMilliseconds, requireDatabaseDeadlineRemaining, } from "./deadline.js";
3
4
  import { DatabaseDeadlineExceeded } from "../errors.js";
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/database/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EACL,qBAAqB,EACrB,qCAAqC,EACrC,gCAAgC,GACjC,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAQ7F,MAAM,gBAAgB;IACS;IAA7B,YAA6B,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAEvD,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,aAAiC,EAAE;QACxD,gCAAgC,EAAE,CAAA;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAA;QACpF,MAAM,MAAM,GAAc,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;QAC7D,IAAI,MAAM,CAAC,eAAe,KAAK,CAAC;YAAE,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;QACtF,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,GAAG,CACP,GAAW,EACX,aAAiC,EAAE;QAEnC,gCAAgC,EAAE,CAAA;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAoB,CAAA;IACjG,CAAC;IAED,KAAK,CAAC,GAAG,CAAqB,GAAW,EAAE,aAAiC,EAAE;QAC5E,gCAAgC,EAAE,CAAA;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAU,CAAA;IACvF,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,gCAAgC,EAAE,CAAA;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ;aACtB,OAAO,CAAC,6EAA6E,CAAC;aACtF,GAAG,EAAiC,CAAA;QACvC,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,cAAc;IAChB,MAAM,GAAG,QAAiB,CAAA;IAC1B,cAAc,GAAG,uBAAuB,CAAA;IAChC,QAAQ,CAAc;IACtB,kBAAkB,CAAkB;IAC7C,UAAU,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAA;IAC7C,MAAM,GAAG,KAAK,CAAA;IACL,mBAAmB,CAAQ;IAC3B,iBAAiB,CAAQ;IAE1C,YAAY,OAA8B;QACxC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,KAAK,CAAA;QAC/D,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAA;QACxD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;YAChF,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAA;QAC1E,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE;YAC7C,OAAO,EAAE,IAAI,CAAC,mBAAmB;YACjC,WAAW,EAAE,IAAI;SAClB,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QAC9C,IAAI,CAAC,kBAAkB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC/D,CAAC;IAED,KAAK,CAAC,UAAU,CACd,QAA6D;QAE7D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,KAAK,CAAC,WAAW,CACf,QAA6D;QAE7D,OAAO,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAClG,CAAC;IAED,iBAAiB;QACf,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM;YAAE,OAAM;QACvB,MAAM,IAAI,CAAC,UAAU,CAAA;QACrB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAM;QACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,UAAU,CAAS,QAA+B;QAC9D,MAAM,gBAAgB,GAAG,gCAAgC,EAAE,CAAA;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAA;QAChC,IAAI,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC9C,OAAO,GAAG,OAAO,CAAA;QACnB,CAAC,CAAC,CAAA;QACF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;gBACpC,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,CAAA;QAChB,CAAC;QACD,IAAI,CAAC;YACH,IAAI,gBAAgB,KAAK,SAAS;gBAAE,gCAAgC,EAAE,CAAA;YACtE,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QAC7C,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAS,QAA+B;QACnE,MAAM,SAAS,GAAG,gCAAgC,EAAE,CAAA;QACpD,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,QAAQ,EAAE,CAAA;QAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;QACrE,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,EAAE,CAAA;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAA;YACxC,MAAM,qBAAqB,CAAC,KAAK,CAAC,CAAA;QACpC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAA;QACzE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,QAA6D;QAE7D,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAA;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YACtD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC5B,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC9B,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;gBACrC,OAAM;YACR,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,qCAAqC,EAAE,KAAK,SAAS;oBAAE,MAAM,KAAK,CAAA;gBACtE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,IAAI,CAAC,iBAAiB;oBAAE,MAAM,KAAK,CAAA;gBAC7E,OAAO,IAAI,CAAC,CAAA;gBACZ,MAAM,YAAY,CAAC,OAAO,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,SAAS,aAAa,CAAC,MAAqB,EAAE,mBAA2B;IACvE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,UAAU,CACxB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,wBAAwB,CAAC,4BAA4B,CAAC,CAAC,EACxE,mBAAmB,CACpB,CAAA;QACD,KAAK,MAAM,CAAC,IAAI,CACd,GAAG,EAAE;YACH,YAAY,CAAC,OAAO,CAAC,CAAA;YACrB,OAAO,EAAE,CAAA;QACX,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;YACjB,YAAY,CAAC,OAAO,CAAC,CAAA;YACrB,MAAM,CAAC,KAAK,CAAC,CAAA;QACf,CAAC,CACF,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAA8B;IACnD,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;AACpC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACpC,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,YAAY,UAAU;QAE3B,OAAO,KAAK,CAAA;IAEd,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpD,MAAM,IAAI,SAAS,CAAC,gCAAgC,OAAO,KAAK,EAAE,CAAC,CAAA;AACrE,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;QACnE,SAAS,IAAI,KAAK;QAClB,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAC7C,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/database/sqlite.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { AsyncLocalStorage } from "node:async_hooks";
2
- const transactionScopes = new AsyncLocalStorage();
1
+ import { createContextStore } from "../platform/context-store.js";
2
+ const transactionScopes = createContextStore();
3
3
  export function withDatabaseTransaction(database, operation) {
4
4
  const scope = { database, active: true };
5
5
  const scopes = [...(transactionScopes.getStore() ?? []), scope];
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-context.js","sourceRoot":"","sources":["../../src/database/transaction-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAOpD,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAA+B,CAAA;AAE9E,MAAM,UAAU,uBAAuB,CACrC,QAAgB,EAChB,SAAgC;IAEhC,MAAM,KAAK,GAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;IAC1D,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IAC/D,OAAO,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QAC9C,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,EAAE,CAAA;QAC1B,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,MAAM,GAAG,KAAK,CAAA;QACtB,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,OAAO,CACL,iBAAiB,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC;QAC1F,KAAK,CACN,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"transaction-context.js","sourceRoot":"","sources":["../../src/database/transaction-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAOjE,MAAM,iBAAiB,GAAG,kBAAkB,EAA+B,CAAA;AAE3E,MAAM,UAAU,uBAAuB,CACrC,QAAgB,EAChB,SAAgC;IAEhC,MAAM,KAAK,GAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;IAC1D,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IAC/D,OAAO,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QAC9C,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,EAAE,CAAA;QAC1B,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,MAAM,GAAG,KAAK,CAAA;QACtB,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,OAAO,CACL,iBAAiB,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC;QAC1F,KAAK,CACN,CAAA;AACH,CAAC"}
package/dist/doctor.js CHANGED
@@ -1,4 +1,4 @@
1
- import { randomUUID } from "node:crypto";
1
+ import { randomUUID } from "./platform/uuid.js";
2
2
  import { Actor } from "./actor.js";
3
3
  import { initialStateFor, validateDefinition } from "./definition.js";
4
4
  import { jsonObject, readonlyCopy } from "./serialization.js";
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { SolidObjectsRuntime } from "./runtime.js";
2
2
  export declare class EffectWorker {
3
3
  private readonly runtime;
4
- readonly processId: `${string}-${string}-${string}-${string}-${string}`;
4
+ readonly processId: string;
5
5
  private registered;
6
6
  private stopping;
7
7
  private readonly pollingBackoff;
@@ -1 +1 @@
1
- {"version":3,"file":"effect-worker.d.ts","sourceRoot":"","sources":["../src/effect-worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAIvD,qBAAa,YAAY;IAMX,OAAO,CAAC,QAAQ,CAAC,OAAO;IALpC,QAAQ,CAAC,SAAS,sDAAe;IACjC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;gBAElB,OAAO,EAAE,mBAAmB;IAYzD,IAAI,kCAAkC,IAAI,MAAM,CAE/C;IAEK,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAc1B,YAAY,CAAC,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAWpE,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB7C,eAAe,IAAI,IAAI;IAIvB,OAAO,IAAI,OAAO;IAIZ,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YASb,gBAAgB;CAK/B"}
1
+ {"version":3,"file":"effect-worker.d.ts","sourceRoot":"","sources":["../src/effect-worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAIvD,qBAAa,YAAY;IAMX,OAAO,CAAC,QAAQ,CAAC,OAAO;IALpC,QAAQ,CAAC,SAAS,SAAe;IACjC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;gBAElB,OAAO,EAAE,mBAAmB;IAYzD,IAAI,kCAAkC,IAAI,MAAM,CAE/C;IAEK,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAc1B,YAAY,CAAC,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAWpE,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB7C,eAAe,IAAI,IAAI;IAIvB,OAAO,IAAI,OAAO;IAIZ,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YASb,gBAAgB;CAK/B"}
@@ -1,4 +1,4 @@
1
- import { randomUUID } from "node:crypto";
1
+ import { randomUUID } from "./platform/uuid.js";
2
2
  import { withProcessHeartbeat } from "./worker.js";
3
3
  import { PollingBackoff } from "./polling-backoff.js";
4
4
  export class EffectWorker {
@@ -1 +1 @@
1
- {"version":3,"file":"effect-worker.js","sourceRoot":"","sources":["../src/effect-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"effect-worker.js","sourceRoot":"","sources":["../src/effect-worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ const INSTALL_COMMAND = "npm install solid-objects";
2
+ const AGENT_PROMPT = "where would the solid-objects library be best used in this app?";
3
+ const DOCUMENTATION_URL = "https://solidobjects.dev/node";
4
+ export function formatQuickstartPlan(plan) {
5
+ return [
6
+ "Solid Objects quickstart",
7
+ "",
8
+ "This command will:",
9
+ "",
10
+ " 1. create a temporary SQLite database;",
11
+ ` 2. send ${plan.sameIdentityCalls} concurrent calls to one identity;`,
12
+ " 3. run two other identities at the same time;",
13
+ " 4. close the runtime and delete the temporary database.",
14
+ "",
15
+ "No server, container, or configuration is needed.",
16
+ "",
17
+ "The actor it runs:",
18
+ "",
19
+ ...plan.actorSource.split("\n").map((line) => ` ${line}`.trimEnd()),
20
+ "",
21
+ "",
22
+ ].join("\n");
23
+ }
24
+ export function formatQuickstartPrompt() {
25
+ return "Run it now? [Y/n] ";
26
+ }
27
+ export function answerAllowsRun(answer) {
28
+ const value = answer.trim().toLowerCase();
29
+ if (value === "")
30
+ return true;
31
+ return value === "y" || value === "yes";
32
+ }
33
+ export function formatQuickstartStop() {
34
+ return ["", "Nothing ran. No database and no files were created.", ""].join("\n");
35
+ }
36
+ export function formatQuickstartReport(summary) {
37
+ const results = checks(summary);
38
+ return [
39
+ "Results",
40
+ "",
41
+ ...results.flatMap(checkLines),
42
+ "",
43
+ "Each line above is an assertion, not a print. The command exits with a",
44
+ "non-zero code when one of them fails.",
45
+ "",
46
+ ...meaning(results),
47
+ "Add it to your app",
48
+ "",
49
+ ` ${INSTALL_COMMAND}`,
50
+ "",
51
+ "Or tell your agent",
52
+ "",
53
+ ` ${AGENT_PROMPT}`,
54
+ "",
55
+ `Docs: ${DOCUMENTATION_URL}`,
56
+ "",
57
+ ].join("\n");
58
+ }
59
+ function meaning(results) {
60
+ if (results.some((check) => !check.passed))
61
+ return [];
62
+ return [
63
+ "What each PASS means",
64
+ "",
65
+ " Two requests on the same cart cannot overwrite each other.",
66
+ " That identity has one durable mailbox, so its calls commit one at a",
67
+ " time and no update is lost.",
68
+ "",
69
+ " Unrelated identities do not wait for that mailbox.",
70
+ " The order is per identity, not global.",
71
+ "",
72
+ " The state lives in an ordinary SQL database, so it survives a restart.",
73
+ "",
74
+ ];
75
+ }
76
+ function checkLines(check) {
77
+ const result = check.passed ? "PASS" : "FAIL";
78
+ return [`${result} ${check.title}`, ...check.detail.map((line) => ` ${line}`)];
79
+ }
80
+ function checks(summary) {
81
+ return [
82
+ {
83
+ passed: summary.sameIdentityFinalState === summary.sameIdentityCalls,
84
+ title: `${summary.sameIdentityCalls} concurrent calls to one identity`,
85
+ detail: sameIdentityDetail(summary),
86
+ },
87
+ {
88
+ passed: summary.independentIdentitiesOverlapped,
89
+ title: "Two different identities ran at the same time",
90
+ detail: overlapDetail(summary),
91
+ },
92
+ {
93
+ passed: summary.temporaryStateRemoved,
94
+ title: "Temporary state removed",
95
+ detail: cleanupDetail(summary),
96
+ },
97
+ ];
98
+ }
99
+ function sameIdentityDetail(summary) {
100
+ if (summary.sameIdentityFinalState !== summary.sameIdentityCalls) {
101
+ return [
102
+ `The committed state is ${summary.sameIdentityFinalState} after ${summary.sameIdentityCalls} calls.`,
103
+ "The runtime lost an update.",
104
+ ];
105
+ }
106
+ return [
107
+ "They ran in order on one mailbox.",
108
+ `The committed state is ${summary.sameIdentityFinalState}.`,
109
+ `The return values were the complete sequence 1 through ${summary.sameIdentityCalls}.`,
110
+ ];
111
+ }
112
+ function overlapDetail(summary) {
113
+ if (!summary.independentIdentitiesOverlapped) {
114
+ return ["Their execution windows did not overlap."];
115
+ }
116
+ return [
117
+ "Their execution windows overlapped, so an unrelated identity",
118
+ "never waits behind this one.",
119
+ ];
120
+ }
121
+ function cleanupDetail(summary) {
122
+ if (!summary.temporaryStateRemoved) {
123
+ return ["The temporary SQLite database is still on disk."];
124
+ }
125
+ return ["The scoped temporary SQLite database was deleted at exit."];
126
+ }
127
+ //# sourceMappingURL=quickstart-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickstart-report.js","sourceRoot":"","sources":["../../examples/quickstart-report.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,9 @@ import { join, resolve } from "node:path";
6
6
  import { fileURLToPath } from "node:url";
7
7
  import { Actor, createRuntime } from "solid-objects";
8
8
  import { sqlite } from "solid-objects/database/sqlite";
9
+ import { createInterface } from "node:readline/promises";
10
+ import { answerAllowsRun, formatQuickstartPlan, formatQuickstartPrompt, formatQuickstartReport, formatQuickstartStop, } from "./quickstart-report.js";
11
+ const SAME_IDENTITY_CALLS = 25;
9
12
  class Counter extends Actor {
10
13
  static actorType = "QuickstartCounter";
11
14
  count = 0;
@@ -19,7 +22,52 @@ class Counter extends Actor {
19
22
  return { startedAt, finishedAt: performance.now() };
20
23
  }
21
24
  }
25
+ const COUNTER_SOURCE = `class Counter extends Actor {
26
+ static override readonly actorType = "QuickstartCounter"
27
+
28
+ count = 0
29
+
30
+ increment(): number {
31
+ this.count += 1
32
+ return this.count
33
+ }
34
+
35
+ async pause({ milliseconds }: { milliseconds: number }) {
36
+ const startedAt = performance.now()
37
+ await new Promise((done) => setTimeout(done, milliseconds))
38
+ return { startedAt, finishedAt: performance.now() }
39
+ }
40
+ }`;
41
+ async function confirmRun(options) {
42
+ if (options.format === "json")
43
+ return true;
44
+ if (options.confirm)
45
+ return options.confirm();
46
+ if (!process.stdin.isTTY)
47
+ return true;
48
+ const questions = createInterface({ input: process.stdin, output: process.stdout });
49
+ try {
50
+ return answerAllowsRun(await questions.question(formatQuickstartPrompt()));
51
+ }
52
+ catch {
53
+ return false;
54
+ }
55
+ finally {
56
+ questions.close();
57
+ }
58
+ }
22
59
  export async function runQuickstart(options = {}) {
60
+ const write = options.write ?? ((value) => process.stdout.write(value));
61
+ if (options.format !== "json") {
62
+ write(formatQuickstartPlan({
63
+ sameIdentityCalls: SAME_IDENTITY_CALLS,
64
+ actorSource: COUNTER_SOURCE,
65
+ }));
66
+ }
67
+ if (!(await confirmRun(options))) {
68
+ write(formatQuickstartStop());
69
+ return;
70
+ }
23
71
  const directory = await mkdtemp(join(tmpdir(), "solid-objects-quickstart-"));
24
72
  const databasePath = join(directory, "state.sqlite3");
25
73
  const runtime = createRuntime({
@@ -43,10 +91,10 @@ export async function runQuickstart(options = {}) {
43
91
  await runtime.install();
44
92
  running = runtime.run(shutdown.signal);
45
93
  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));
94
+ const results = await Promise.all(Array.from({ length: SAME_IDENTITY_CALLS }, () => counter.increment()));
95
+ assert.deepEqual([...results].sort((left, right) => left - right), Array.from({ length: SAME_IDENTITY_CALLS }, (_value, index) => index + 1));
48
96
  sameIdentityFinalState = await counter.count;
49
- assert.equal(sameIdentityFinalState, 25);
97
+ assert.equal(sameIdentityFinalState, SAME_IDENTITY_CALLS);
50
98
  const pauses = await Promise.all([
51
99
  runtime.ref(Counter, "room-2").send.pause({ milliseconds: 100 }),
52
100
  runtime.ref(Counter, "room-3").send.pause({ milliseconds: 100 }),
@@ -69,13 +117,17 @@ export async function runQuickstart(options = {}) {
69
117
  await rm(directory, { recursive: true });
70
118
  }
71
119
  assert.equal(existsSync(directory), false);
72
- const write = options.write ?? ((value) => process.stdout.write(value));
73
- write(`${JSON.stringify({
74
- sameIdentityCalls: 25,
120
+ const summary = {
121
+ sameIdentityCalls: SAME_IDENTITY_CALLS,
75
122
  sameIdentityFinalState,
76
123
  independentIdentitiesOverlapped,
77
124
  temporaryStateRemoved: true,
78
- }, null, 2)}\n`);
125
+ };
126
+ if (options.format === "json") {
127
+ write(`${JSON.stringify(summary, null, 2)}\n`);
128
+ return;
129
+ }
130
+ write(formatQuickstartReport(summary));
79
131
  }
80
132
  if (process.argv[1] && fileURLToPath(import.meta.url) === resolve(process.argv[1])) {
81
133
  await runQuickstart();