sporades 0.8.0 → 0.8.3

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 (45) hide show
  1. package/CHANGES.md +27 -3
  2. package/README.md +5 -0
  3. package/bin/sporades-host-helper.js +21 -16
  4. package/bin/sporades.js +8358 -6878
  5. package/dist/acl-runtime.d.ts +40 -0
  6. package/dist/acl-runtime.d.ts.map +1 -1
  7. package/dist/acl-runtime.js +149 -3
  8. package/dist/acl-runtime.js.map +1 -1
  9. package/dist/auth-runtime.d.ts.map +1 -1
  10. package/dist/auth-runtime.js +54 -4
  11. package/dist/auth-runtime.js.map +1 -1
  12. package/dist/cli/cli-version.d.ts +1 -1
  13. package/dist/cli/cli-version.js +1 -1
  14. package/dist/cli/project-config.d.ts +2 -0
  15. package/dist/cli/project-config.d.ts.map +1 -1
  16. package/dist/cli/project-config.js +24 -0
  17. package/dist/cli/project-config.js.map +1 -1
  18. package/dist/cli/sporades.js +4 -1
  19. package/dist/cli/sporades.js.map +1 -1
  20. package/dist/client.d.ts +1 -0
  21. package/dist/client.d.ts.map +1 -1
  22. package/dist/client.js +1 -0
  23. package/dist/client.js.map +1 -1
  24. package/dist/database-runtime.d.ts.map +1 -1
  25. package/dist/database-runtime.js +12 -1
  26. package/dist/database-runtime.js.map +1 -1
  27. package/dist/file-storage-runtime.d.ts +1 -0
  28. package/dist/file-storage-runtime.d.ts.map +1 -1
  29. package/dist/file-storage-runtime.js +23 -5
  30. package/dist/file-storage-runtime.js.map +1 -1
  31. package/dist/http-runtime.js +2 -2
  32. package/dist/http-runtime.js.map +1 -1
  33. package/dist/server-runtime-source.d.ts.map +1 -1
  34. package/dist/server-runtime-source.js +237 -2
  35. package/dist/server-runtime-source.js.map +1 -1
  36. package/dist/teams-runtime.d.ts +147 -0
  37. package/dist/teams-runtime.d.ts.map +1 -0
  38. package/dist/teams-runtime.js +1083 -0
  39. package/dist/teams-runtime.js.map +1 -0
  40. package/dist/templates/client-runtime-template.d.ts.map +1 -1
  41. package/dist/templates/client-runtime-template.js +67 -0
  42. package/dist/templates/client-runtime-template.js.map +1 -1
  43. package/package.json +6 -1
  44. package/src/types/client.d.ts +68 -0
  45. package/src/types/server.d.ts +135 -1
package/CHANGES.md CHANGED
@@ -1,7 +1,31 @@
1
1
  # Changes
2
2
 
3
- ## Unreleased - 2026-08-14
3
+ ## Unreleased - 2026-08-15
4
4
 
5
- Changes since v0.7.2.
5
+ Changes since v0.8.1.
6
+
7
+ ### 🚀 Features
8
+
9
+ - Add exact pagination and join admission (63f68a0).
10
+
11
+ ### 🐛 Bug Fixes
12
+
13
+ - Resolve npm audit vulnerabilities (a6a4b51).
14
+
15
+ ## 0.8.1 - 2026-08-14
16
+
17
+ Corrects the incomplete `0.8.0` package release with the merged `main` runtime,
18
+ generated artifacts, and documentation.
19
+
20
+ ### 📝 Documentation
21
+
22
+ - Require current password to change email credentials (bfba651).
23
+
24
+ ### ✨ Built-in Teams
25
+
26
+ - Add runtime-owned Teams for Capsule collaboration: multi-Team memberships,
27
+ admin lifecycle, email-bound Join links, membership application roles, and
28
+ explicit Team decisions in table and File ACLs. Teams are built in but do
29
+ not select a current Team or automatically partition Capsule data; Sporades
30
+ never sends Join-link email. See the [Built-in Teams reference](https://mgscox.github.io/sporades/reference/teams).
6
31
 
7
- No changes detected.
package/README.md CHANGED
@@ -51,6 +51,9 @@ sporades host push --restart
51
51
  logs, database inspection, and non-interactive commands are first-class.
52
52
  - **Comprehensive SDK**: built-in authentication, database, user preferences,
53
53
  and storage.
54
+ - **Built-in collaboration, explicitly authorized**: runtime-owned Teams,
55
+ email-bound Join links, membership application roles, and explicit Team ACL
56
+ decisions—without a hidden current Team or automatic data partitioning.
54
57
  - **Realtime everything**: configuration free - automatic notifications, even for Postgress and AWS-S3
55
58
 
56
59
  ## Documentation
@@ -59,6 +62,8 @@ sporades host push --restart
59
62
  preferences, files, endpoints, messages, and common workflows.
60
63
  - [Feature reference](https://mgscox.github.io/sporades/guide/reference): exhaustive contracts and
61
64
  command lookup, split into focused topic pages.
65
+ - [Built-in Teams](https://mgscox.github.io/sporades/reference/teams): collaboration model, Join
66
+ links, application roles, and explicit Team ACL decisions.
62
67
  - [LLM documentation manifest](https://mgscox.github.io/sporades/llms.txt): release-matched Markdown
63
68
  sources for agents and other documentation tools.
64
69
  - [Architecture](https://mgscox.github.io/sporades/architecture): platform model, runtime modes, Host
@@ -163,28 +163,14 @@ function validatePublicTreeFileSet(files) {
163
163
  // src/server-runtime-source.ts
164
164
  import { createHash, randomBytes, randomUUID } from "node:crypto";
165
165
 
166
- // src/file-storage-runtime.ts
166
+ // src/jobs-runtime.ts
167
167
  var nodeCryptoModule = process.getBuiltinModule("node:crypto");
168
168
 
169
- // src/auth-runtime.ts
170
- var nodeCryptoModule2 = process.getBuiltinModule("node:crypto");
171
- var EMAIL_SIGN_IN_THROTTLE_WINDOW_MS = 15 * 60 * 1e3;
172
- var PASSWORD_RESET_DEFAULT_TTL_MS = 60 * 60 * 1e3;
173
- var PASSWORD_RESET_MIN_TTL_MS = 5 * 60 * 1e3;
174
- var PASSWORD_RESET_MAX_TTL_MS = 24 * 60 * 60 * 1e3;
175
-
176
169
  // src/runtime-log-policy.ts
177
170
  function isSensitiveLogKey(key) {
178
171
  return /(^|[-_])(?:password|passwd|token|secret|authorization|cookie|client[-_]?secret|api[-_]?token|private[-_]?key|authorized[-_]?keys?|request[-_]?body|raw[-_]?body|stack(?:trace)?)([-_]|$)/i.test(String(key)) || /(?:password|passwd|token|secret|authorization|cookie|clientSecret|apiToken|privateKey|authorizedKeys|requestBody|rawRequestBody|stackTrace)/i.test(String(key));
179
172
  }
180
173
 
181
- // src/database-runtime.ts
182
- var nodeCryptoModule3 = process.getBuiltinModule("node:crypto");
183
- var nodeFsModule = process.getBuiltinModule("node:fs");
184
-
185
- // src/jobs-runtime.ts
186
- var nodeCryptoModule4 = process.getBuiltinModule("node:crypto");
187
-
188
174
  // src/acl-runtime.ts
189
175
  var PRIVILEGED_AUDIT_SCHEMA = "sporades.privileged-audit.v1";
190
176
  var PRIVILEGED_AUDIT_ACTOR_KINDS = /* @__PURE__ */ new Set(["privileged-server-role", "captured-user", "platform", "unknown"]);
@@ -258,6 +244,25 @@ function auditString(value, fallback) {
258
244
  }
259
245
  var ACL_HELPER_STATE = Symbol("sporades.aclHelperState");
260
246
 
247
+ // src/file-storage-runtime.ts
248
+ var nodeCryptoModule2 = process.getBuiltinModule("node:crypto");
249
+
250
+ // src/teams-runtime.ts
251
+ var TEAM_JOIN_LINK_DEFAULT_TTL_SECONDS = 60 * 60 * 24;
252
+ var TEAM_JOIN_LINK_MIN_TTL_SECONDS = 5 * 60;
253
+ var TEAM_JOIN_LINK_MAX_TTL_SECONDS = 60 * 60 * 24 * 7;
254
+
255
+ // src/auth-runtime.ts
256
+ var nodeCryptoModule3 = process.getBuiltinModule("node:crypto");
257
+ var EMAIL_SIGN_IN_THROTTLE_WINDOW_MS = 15 * 60 * 1e3;
258
+ var PASSWORD_RESET_DEFAULT_TTL_MS = 60 * 60 * 1e3;
259
+ var PASSWORD_RESET_MIN_TTL_MS = 5 * 60 * 1e3;
260
+ var PASSWORD_RESET_MAX_TTL_MS = 24 * 60 * 60 * 1e3;
261
+
262
+ // src/database-runtime.ts
263
+ var nodeCryptoModule4 = process.getBuiltinModule("node:crypto");
264
+ var nodeFsModule = process.getBuiltinModule("node:fs");
265
+
261
266
  // src/server-runtime-source.ts
262
267
  function logPayloadMaxBytes(config = {}) {
263
268
  const configured = Number(config.logs?.payloadMaxBytes ?? config.logging?.payloadMaxBytes);
@@ -413,7 +418,7 @@ function writeEnvelope(result, failed = false) {
413
418
  }
414
419
 
415
420
  // src/cli/cli-version.ts
416
- var CLI_VERSION = "0.8.0";
421
+ var CLI_VERSION = "0.8.3";
417
422
 
418
423
  // src/cli/schedule-inspection-envelope.ts
419
424
  function sanitizeScheduleInspectionEnvelope(envelope, invalid) {