sporades 0.8.5 โ†’ 0.8.7

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 (44) hide show
  1. package/CHANGES.md +31 -6
  2. package/README.md +2 -0
  3. package/bin/sporades-host-helper.js +8 -1
  4. package/bin/sporades.js +2511 -538
  5. package/dist/acl-runtime.js +1 -1
  6. package/dist/acl-runtime.js.map +1 -1
  7. package/dist/cli/cli-version.d.ts +1 -1
  8. package/dist/cli/cli-version.js +1 -1
  9. package/dist/cli/sporades.js +16 -14
  10. package/dist/cli/sporades.js.map +1 -1
  11. package/dist/database-runtime.d.ts +6 -8
  12. package/dist/database-runtime.d.ts.map +1 -1
  13. package/dist/database-runtime.js +428 -160
  14. package/dist/database-runtime.js.map +1 -1
  15. package/dist/generated-source-manifest.json +316 -0
  16. package/dist/jobs-runtime.d.ts +43 -2
  17. package/dist/jobs-runtime.d.ts.map +1 -1
  18. package/dist/jobs-runtime.js +348 -49
  19. package/dist/jobs-runtime.js.map +1 -1
  20. package/dist/mail-runtime.d.ts +1 -1
  21. package/dist/mail-runtime.d.ts.map +1 -1
  22. package/dist/mail-runtime.js +9 -3
  23. package/dist/mail-runtime.js.map +1 -1
  24. package/dist/server-runtime-source.d.ts +6 -0
  25. package/dist/server-runtime-source.d.ts.map +1 -1
  26. package/dist/server-runtime-source.js +1685 -273
  27. package/dist/server-runtime-source.js.map +1 -1
  28. package/dist/server.d.ts +24 -6
  29. package/dist/server.d.ts.map +1 -1
  30. package/dist/server.js +16 -6
  31. package/dist/server.js.map +1 -1
  32. package/dist/teams-runtime.d.ts +29 -24
  33. package/dist/teams-runtime.d.ts.map +1 -1
  34. package/dist/teams-runtime.js +224 -38
  35. package/dist/teams-runtime.js.map +1 -1
  36. package/dist/templates/client-runtime-template.d.ts.map +1 -1
  37. package/dist/templates/client-runtime-template.js +5 -0
  38. package/dist/templates/client-runtime-template.js.map +1 -1
  39. package/dist/templates/server-bundle-entry.d.ts.map +1 -1
  40. package/dist/templates/server-bundle-entry.js +11 -6
  41. package/dist/templates/server-bundle-entry.js.map +1 -1
  42. package/package.json +2 -2
  43. package/src/types/client.d.ts +4 -0
  44. package/src/types/server.d.ts +51 -9
package/CHANGES.md CHANGED
@@ -1,12 +1,41 @@
1
1
  # Changes
2
2
 
3
- ## Unreleased - 2026-08-15
3
+ ## Unreleased - 2026-08-18
4
+
5
+ Changes since v0.8.6.
6
+
7
+ ### ๐Ÿš€ Features
8
+
9
+ - Add transaction-bound trusted reads (9d23493).
10
+
11
+ ### ๐Ÿ› Bug Fixes
12
+
13
+ - Keep admission logs in transaction (5a9d012).
14
+ - Revoke trusted reads at settlement (dca0fea).
15
+ - Reject trusted reads from snapshots (9abe441).
16
+ - Bind Join cancellation to commit (e37058d).
17
+ - Close Team admission boundary races (b12dbde).
18
+ - Trust Team Join admission reads (32b65ee).
19
+ - Close trusted-read review gaps (da0c453).
20
+
21
+ ### ๐Ÿ“ Documentation
22
+
23
+ - Complete trusted Join admission ticket (0347c0e).
24
+ - Complete trusted-read foundation ticket (2a24b7b).
25
+
26
+ ### ๐Ÿงช Tests
27
+
28
+ - Restore PostgreSQL SQL quoting audit (c1fcf7c).
29
+ - Tidy up test (f643360).
30
+
31
+ ## 0.8.5 - 2026-08-15
4
32
 
5
33
  Changes since v0.8.1.
6
34
 
7
35
  ### ๐Ÿš€ Features
8
36
 
9
- - Add reactive query arguments (5b882f5).
37
+ - Add JSON-safe positional arguments to reactive Custom queries across the
38
+ client transport and framework adapters (5b882f5).
10
39
  - Add exact pagination and join admission (63f68a0).
11
40
 
12
41
  ### ๐Ÿ› Bug Fixes
@@ -18,10 +47,6 @@ Changes since v0.8.1.
18
47
  - Describe parameterized queries (287ef63).
19
48
  - Plan reactive query arguments (4876db8).
20
49
 
21
- ### ๐Ÿ“ฆ Packaging
22
-
23
- - Release v0.8.3 (c17bb1b).
24
-
25
50
  ## 0.8.1 - 2026-08-14
26
51
 
27
52
  Corrects the incomplete `0.8.0` package release with the merged `main` runtime,
package/README.md CHANGED
@@ -54,6 +54,8 @@ sporades host push --restart
54
54
  - **Built-in collaboration, explicitly authorized**: runtime-owned Teams,
55
55
  email-bound Join links, membership application roles, and explicit Team ACL
56
56
  decisionsโ€”without a hidden current Team or automatic data partitioning.
57
+ Trusted `teams.admitJoin` policies may make atomic seat decisions from
58
+ read-only app state hidden by the joining user's ordinary row ACLs.
57
59
  - **Realtime everything**: configuration free - automatic notifications, even for Postgress and AWS-S3
58
60
 
59
61
  ## Documentation
@@ -165,6 +165,8 @@ import { createHash, randomBytes, randomUUID } from "node:crypto";
165
165
 
166
166
  // src/jobs-runtime.ts
167
167
  var nodeCryptoModule = process.getBuiltinModule("node:crypto");
168
+ var MAX_JOB_TIMESTAMP_MS = Date.parse("9999-12-31T23:59:59.999Z");
169
+ var MIN_JOB_TIMESTAMP_MS = Date.parse("0000-01-01T00:00:00.000Z");
168
170
 
169
171
  // src/runtime-log-policy.ts
170
172
  function isSensitiveLogKey(key) {
@@ -251,6 +253,7 @@ var nodeCryptoModule2 = process.getBuiltinModule("node:crypto");
251
253
  var TEAM_JOIN_LINK_DEFAULT_TTL_SECONDS = 60 * 60 * 24;
252
254
  var TEAM_JOIN_LINK_MIN_TTL_SECONDS = 5 * 60;
253
255
  var TEAM_JOIN_LINK_MAX_TTL_SECONDS = 60 * 60 * 24 * 7;
256
+ var transactionBeforeCommitChecks = Symbol.for("sporades.database.transactionBeforeCommitChecks");
254
257
 
255
258
  // src/auth-runtime.ts
256
259
  var nodeCryptoModule3 = process.getBuiltinModule("node:crypto");
@@ -262,8 +265,11 @@ var PASSWORD_RESET_MAX_TTL_MS = 24 * 60 * 60 * 1e3;
262
265
  // src/database-runtime.ts
263
266
  var nodeCryptoModule4 = process.getBuiltinModule("node:crypto");
264
267
  var nodeFsModule = process.getBuiltinModule("node:fs");
268
+ var transactionOperations = Symbol.for("sporades.database.transactionOperations");
269
+ var transactionBeforeCommitChecks2 = Symbol.for("sporades.database.transactionBeforeCommitChecks");
265
270
 
266
271
  // src/server-runtime-source.ts
272
+ var trustedReadTransactionAdapter = Symbol("sporades.trustedReadTransactionAdapter");
267
273
  function logPayloadMaxBytes(config = {}) {
268
274
  const configured = Number(config.logs?.payloadMaxBytes ?? config.logging?.payloadMaxBytes);
269
275
  return Number.isInteger(configured) && configured > 0 ? configured : 4096;
@@ -271,6 +277,7 @@ function logPayloadMaxBytes(config = {}) {
271
277
  function logRedactedValue() {
272
278
  return "[REDACTED]";
273
279
  }
280
+ var transactionPendingLogWrites = Symbol("sporades.transactionPendingLogWrites");
274
281
  function createLogEnvelope(input) {
275
282
  const now = (/* @__PURE__ */ new Date()).toISOString();
276
283
  const config = input.config ?? {};
@@ -418,7 +425,7 @@ function writeEnvelope(result, failed = false) {
418
425
  }
419
426
 
420
427
  // src/cli/cli-version.ts
421
- var CLI_VERSION = "0.8.5";
428
+ var CLI_VERSION = "0.8.7";
422
429
 
423
430
  // src/cli/schedule-inspection-envelope.ts
424
431
  function sanitizeScheduleInspectionEnvelope(envelope, invalid) {