sporades 0.9.40 โ†’ 0.9.41

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 (53) hide show
  1. package/CHANGES.md +56 -0
  2. package/README.md +6 -0
  3. package/bin/sporades-host-helper.js +3 -1
  4. package/bin/sporades.js +418 -145
  5. package/dist/access-keys-runtime.d.ts.map +1 -1
  6. package/dist/access-keys-runtime.js +5 -2
  7. package/dist/access-keys-runtime.js.map +1 -1
  8. package/dist/auth-admission.d.ts.map +1 -1
  9. package/dist/auth-admission.js +3 -0
  10. package/dist/auth-admission.js.map +1 -1
  11. package/dist/auth-runtime.d.ts +10 -7
  12. package/dist/auth-runtime.d.ts.map +1 -1
  13. package/dist/auth-runtime.js +150 -28
  14. package/dist/auth-runtime.js.map +1 -1
  15. package/dist/cli/access-key-operator-envelope.js +1 -1
  16. package/dist/cli/access-key-operator-envelope.js.map +1 -1
  17. package/dist/cli/cli-version.d.ts +1 -1
  18. package/dist/cli/cli-version.js +1 -1
  19. package/dist/endpoint-file-response.d.ts +2 -0
  20. package/dist/endpoint-file-response.d.ts.map +1 -1
  21. package/dist/endpoint-file-response.js +5 -0
  22. package/dist/endpoint-file-response.js.map +1 -1
  23. package/dist/endpoint-session.d.ts +3 -0
  24. package/dist/endpoint-session.d.ts.map +1 -0
  25. package/dist/endpoint-session.js +15 -0
  26. package/dist/endpoint-session.js.map +1 -0
  27. package/dist/generated-source-manifest.json +7 -6
  28. package/dist/observability-runtime.d.ts +1 -2
  29. package/dist/observability-runtime.d.ts.map +1 -1
  30. package/dist/observability-runtime.js +65 -43
  31. package/dist/observability-runtime.js.map +1 -1
  32. package/dist/server-runtime-source.d.ts +4 -1
  33. package/dist/server-runtime-source.d.ts.map +1 -1
  34. package/dist/server-runtime-source.js +161 -75
  35. package/dist/server-runtime-source.js.map +1 -1
  36. package/dist/server.d.ts +11 -3
  37. package/dist/server.d.ts.map +1 -1
  38. package/dist/server.js +13 -0
  39. package/dist/server.js.map +1 -1
  40. package/dist/teams-runtime.d.ts.map +1 -1
  41. package/dist/teams-runtime.js +30 -0
  42. package/dist/teams-runtime.js.map +1 -1
  43. package/dist/templates/client-runtime-template.d.ts.map +1 -1
  44. package/dist/templates/client-runtime-template.js +17 -1
  45. package/dist/templates/client-runtime-template.js.map +1 -1
  46. package/package.json +4 -4
  47. package/src/types/client.d.ts +19 -4
  48. package/src/types/observability.d.ts +12 -2
  49. package/src/types/server.d.ts +51 -5
  50. package/dist/stored-row-decoding.d.ts +0 -7
  51. package/dist/stored-row-decoding.d.ts.map +0 -1
  52. package/dist/stored-row-decoding.js +0 -69
  53. package/dist/stored-row-decoding.js.map +0 -1
package/CHANGES.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # Changes
2
2
 
3
+ ## v0.9.41 - 2026-10-24
4
+
5
+ Changes since v0.9.40.
6
+
7
+ ### ๐Ÿš€ Features
8
+
9
+ - Allow any script version (4a43c515).
10
+ - Add Capsule implicitMutations opt-out for the implicit table mutation surface (#304) (9692d63e).
11
+ - Add explicitly sessionless public endpoints (#308) (1b367744).
12
+ - Add atomic Capsule admission for additional Team creation (#305) (d74d7999).
13
+
14
+ ### ๐Ÿ› Bug Fixes
15
+
16
+ - Prevent account-wide sign-in lockout with bounded verification (#299) (b73dc192).
17
+
18
+ ### ๐Ÿ”ง Improvements
19
+
20
+ - Regenerate dist and bin [skip ci] (271b05d2).
21
+ - Regenerate dist and bin [skip ci] (9c3e3204).
22
+
23
+ ### ๐Ÿ“ Documentation
24
+
25
+ - Build dist and bin on main with local CI (#314) (3f555768).
26
+ - Remove the runtime-owned ctx.env browser query (#289) (#301) (cde2b5cf).
27
+ - Reject email signup from linked identities (#300) (e6348a83).
28
+ - Make the full test suite pass in office worktrees (#309) (23d1663d).
29
+ - Expose shared rate limits during Capsule File ingress admission (#307) (2f57e950).
30
+ - Revoke all account authority atomically on a browser password change (#302) (32962832).
31
+ - Isolate public collection budgets from server error delivery (#303) (c1956ad0).
32
+
33
+ ### ๐Ÿงช Tests
34
+
35
+ - Wait for exported durable Job metrics (#311) (48951c93).
36
+
3
37
  ## v0.9.40 - 2026-10-23
4
38
 
5
39
  Changes since v0.9.39.
@@ -22,6 +56,15 @@ Changes since v0.9.38.
22
56
 
23
57
  ## Unreleased
24
58
 
59
+ ### ๐Ÿ”’ Security
60
+
61
+ - Remove the runtime-owned `ctx.env` browser query (#289). Query clients,
62
+ including Anonymous Sessions, could subscribe to the undeclared `ctx.env`
63
+ name and receive the entire server environment. That name now follows the
64
+ ordinary unknown-query response and returns no environment data, while
65
+ `ctx.env` stays available to trusted server handlers. A Capsule that declares
66
+ its own query with that name keeps the normal declared-query contract.
67
+
25
68
  ### ๐Ÿ“ฆ Packaging
26
69
 
27
70
  - Upgrade the default Capsule Base image to `0.3.0-node24-alpine`, using Node
@@ -34,6 +77,19 @@ Changes since v0.9.38.
34
77
 
35
78
  ### ๐Ÿš€ Features
36
79
 
80
+ - Let Capsules opt out of implicit table mutations (#292). Declaring
81
+ `implicitMutations: false` bounds the mutation surface to explicitly declared
82
+ names: every undeclared name answers the ordinary unknown-mutation refusal
83
+ before context middleware, any fallback write, mutation hooks, or success
84
+ effects such as the deferred query rebroadcast. Omitting the flag or passing
85
+ `true` keeps 0.9.x behavior, where undeclared names that describe a table
86
+ (`addNote`, `updateNoteText`) insert or update rows under their fallback
87
+ semantics. Declared mutations, server `ctx.db`, implicit table queries and
88
+ table ACLs keep their behavior, and a bundled declared mutation matching the
89
+ generated scaffold `addโ€ฆ` body stops riding the implicit path while the
90
+ surface is retired. Present non-boolean values are rejected at authoring and
91
+ at Capsule startup (`INVALID_IMPLICIT_MUTATIONS`). The flag is not business
92
+ quota enforcement; declare checks in mutations, ACL rules, or hooks.
37
93
  - Add read-only `sporades host db list|dump|query` for running Hosted Capsules (#285).
38
94
  It runs the Host helper over the operator's existing SSH access and the
39
95
  generated Bundle's one-shot action seam, opens the Capsule SQLite file
package/README.md CHANGED
@@ -360,6 +360,12 @@ Capsules through authorized public keys in `sporades.json`. Normal management
360
360
  remains the CLI and Host helper surfaces; SSH is a compatibility and emergency
361
361
  access path.
362
362
 
363
+ ## Contributing
364
+
365
+ Run a local build and tests, but never commit `dist/` or `bin/` in a PR. CI
366
+ regenerates their tracked copies on main after merge. See the
367
+ [generated artifacts workflow](https://github.com/mgscox/sporades/blob/main/docs/agents/generated-artifacts.md).
368
+
363
369
  ## License
364
370
 
365
371
  MIT
@@ -45813,6 +45813,7 @@ var clamavRefreshTimeoutMs = 5 * 60 * 1e3;
45813
45813
  // src/auth-runtime.ts
45814
45814
  var nodeCryptoModule3 = process.getBuiltinModule("node:crypto");
45815
45815
  var EMAIL_SIGN_IN_THROTTLE_WINDOW_MS = 15 * 60 * 1e3;
45816
+ var EMAIL_SIGN_IN_VERIFICATION_WINDOW_MS = 60 * 1e3;
45816
45817
  var PASSWORD_RESET_DEFAULT_TTL_MS = 60 * 60 * 1e3;
45817
45818
  var PASSWORD_RESET_MIN_TTL_MS = 5 * 60 * 1e3;
45818
45819
  var PASSWORD_RESET_MAX_TTL_MS = 24 * 60 * 60 * 1e3;
@@ -45931,6 +45932,7 @@ var REVOCATION_CAUSES = /* @__PURE__ */ new Set([
45931
45932
  "owner",
45932
45933
  "operator",
45933
45934
  "password-reset",
45935
+ "password-change",
45934
45936
  "owner-unlinked",
45935
45937
  "owner-deleted",
45936
45938
  "service-user-administrator",
@@ -46183,7 +46185,7 @@ var mutationExecution = new MutationExecutionStorage();
46183
46185
  init_cli_support();
46184
46186
 
46185
46187
  // src/cli/cli-version.ts
46186
- var CLI_VERSION = "0.9.40";
46188
+ var CLI_VERSION = "0.9.41";
46187
46189
 
46188
46190
  // src/cli/schedule-inspection-envelope.ts
46189
46191
  var SCHEDULE_DIAGNOSTIC_FIELDS = /* @__PURE__ */ new Set([