sporades 0.7.2 → 0.8.1
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.
- package/CHANGES.md +11 -2
- package/README.md +5 -0
- package/bin/sporades-host-helper.js +21 -16
- package/bin/sporades.js +8198 -6821
- package/dist/acl-runtime.d.ts +40 -0
- package/dist/acl-runtime.d.ts.map +1 -1
- package/dist/acl-runtime.js +149 -3
- package/dist/acl-runtime.js.map +1 -1
- package/dist/auth-runtime.d.ts.map +1 -1
- package/dist/auth-runtime.js +54 -4
- package/dist/auth-runtime.js.map +1 -1
- package/dist/cli/cli-version.d.ts +1 -1
- package/dist/cli/cli-version.js +1 -1
- package/dist/cli/project-config.d.ts +2 -0
- package/dist/cli/project-config.d.ts.map +1 -1
- package/dist/cli/project-config.js +24 -0
- package/dist/cli/project-config.js.map +1 -1
- package/dist/cli/sporades.js +4 -1
- package/dist/cli/sporades.js.map +1 -1
- package/dist/client.d.ts +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +1 -0
- package/dist/client.js.map +1 -1
- package/dist/database-runtime.d.ts.map +1 -1
- package/dist/database-runtime.js +12 -1
- package/dist/database-runtime.js.map +1 -1
- package/dist/file-storage-runtime.d.ts +1 -0
- package/dist/file-storage-runtime.d.ts.map +1 -1
- package/dist/file-storage-runtime.js +23 -5
- package/dist/file-storage-runtime.js.map +1 -1
- package/dist/http-runtime.js +2 -2
- package/dist/http-runtime.js.map +1 -1
- package/dist/server-runtime-source.d.ts.map +1 -1
- package/dist/server-runtime-source.js +195 -2
- package/dist/server-runtime-source.js.map +1 -1
- package/dist/teams-runtime.d.ts +146 -0
- package/dist/teams-runtime.d.ts.map +1 -0
- package/dist/teams-runtime.js +1013 -0
- package/dist/teams-runtime.js.map +1 -0
- package/dist/templates/client-runtime-template.d.ts.map +1 -1
- package/dist/templates/client-runtime-template.js +67 -0
- package/dist/templates/client-runtime-template.js.map +1 -1
- package/package.json +2 -2
- package/src/types/client.d.ts +67 -0
- package/src/types/server.d.ts +111 -1
package/CHANGES.md
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
# Changes
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 0.8.1 - 2026-08-14
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Corrects the incomplete `0.8.0` package release with the merged `main` runtime,
|
|
6
|
+
generated artifacts, and documentation.
|
|
6
7
|
|
|
7
8
|
### 📝 Documentation
|
|
8
9
|
|
|
9
10
|
- Require current password to change email credentials (bfba651).
|
|
11
|
+
|
|
12
|
+
### ✨ Built-in Teams
|
|
13
|
+
|
|
14
|
+
- Add runtime-owned Teams for Capsule collaboration: multi-Team memberships,
|
|
15
|
+
admin lifecycle, email-bound Join links, membership application roles, and
|
|
16
|
+
explicit Team decisions in table and File ACLs. Teams are built in but do
|
|
17
|
+
not select a current Team or automatically partition Capsule data; Sporades
|
|
18
|
+
never sends Join-link email. See the [Built-in Teams reference](https://mgscox.github.io/sporades/reference/teams).
|
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/
|
|
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.
|
|
421
|
+
var CLI_VERSION = "0.8.1";
|
|
417
422
|
|
|
418
423
|
// src/cli/schedule-inspection-envelope.ts
|
|
419
424
|
function sanitizeScheduleInspectionEnvelope(envelope, invalid) {
|