sporades 0.2.0 โ†’ 0.4.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 (91) hide show
  1. package/CHANGES.md +271 -28
  2. package/Dockerfile.base +2 -2
  3. package/README.md +25 -7
  4. package/bin/sporades-host-helper.js +903 -180
  5. package/bin/sporades.js +18171 -9299
  6. package/dist/bundle-pipeline.d.ts +39 -4
  7. package/dist/bundle-pipeline.d.ts.map +1 -1
  8. package/dist/bundle-pipeline.js +265 -92
  9. package/dist/bundle-pipeline.js.map +1 -1
  10. package/dist/cli/cli-help.d.ts +29 -4
  11. package/dist/cli/cli-help.d.ts.map +1 -1
  12. package/dist/cli/cli-help.js +23 -2
  13. package/dist/cli/cli-help.js.map +1 -1
  14. package/dist/cli/cli-version.d.ts +2 -0
  15. package/dist/cli/cli-version.d.ts.map +1 -0
  16. package/dist/cli/cli-version.js +3 -0
  17. package/dist/cli/cli-version.js.map +1 -0
  18. package/dist/cli/doctor.d.ts +23 -0
  19. package/dist/cli/doctor.d.ts.map +1 -0
  20. package/dist/cli/doctor.js +1420 -0
  21. package/dist/cli/doctor.js.map +1 -0
  22. package/dist/cli/host-helper-archive.d.ts +17 -2
  23. package/dist/cli/host-helper-archive.d.ts.map +1 -1
  24. package/dist/cli/host-helper-archive.js +84 -23
  25. package/dist/cli/host-helper-archive.js.map +1 -1
  26. package/dist/cli/host-helper-release-files.d.ts.map +1 -1
  27. package/dist/cli/host-helper-release-files.js +6 -5
  28. package/dist/cli/host-helper-release-files.js.map +1 -1
  29. package/dist/cli/host-helper-requests.d.ts +13 -2
  30. package/dist/cli/host-helper-requests.d.ts.map +1 -1
  31. package/dist/cli/host-helper-validation.d.ts +1 -0
  32. package/dist/cli/host-helper-validation.d.ts.map +1 -1
  33. package/dist/cli/host-helper-validation.js +18 -0
  34. package/dist/cli/host-helper-validation.js.map +1 -1
  35. package/dist/cli/host-request-builders.d.ts.map +1 -1
  36. package/dist/cli/host-request-builders.js +2 -3
  37. package/dist/cli/host-request-builders.js.map +1 -1
  38. package/dist/cli/project-config.d.ts +69 -0
  39. package/dist/cli/project-config.d.ts.map +1 -0
  40. package/dist/cli/project-config.js +364 -0
  41. package/dist/cli/project-config.js.map +1 -0
  42. package/dist/cli/schedule-inspection-envelope.d.ts +4 -0
  43. package/dist/cli/schedule-inspection-envelope.d.ts.map +1 -0
  44. package/dist/cli/schedule-inspection-envelope.js +34 -0
  45. package/dist/cli/schedule-inspection-envelope.js.map +1 -0
  46. package/dist/cli/sporades-host-helper.js +439 -30
  47. package/dist/cli/sporades-host-helper.js.map +1 -1
  48. package/dist/cli/sporades.js +1297 -395
  49. package/dist/cli/sporades.js.map +1 -1
  50. package/dist/client-capabilities.d.ts +61 -0
  51. package/dist/client-capabilities.d.ts.map +1 -0
  52. package/dist/client-capabilities.js +67 -0
  53. package/dist/client-capabilities.js.map +1 -0
  54. package/dist/client-toolchain.d.ts +40 -0
  55. package/dist/client-toolchain.d.ts.map +1 -0
  56. package/dist/client-toolchain.js +407 -0
  57. package/dist/client-toolchain.js.map +1 -0
  58. package/dist/client.d.ts +8 -0
  59. package/dist/client.d.ts.map +1 -1
  60. package/dist/client.js +8 -0
  61. package/dist/client.js.map +1 -1
  62. package/dist/public-tree-contract.d.ts +26 -0
  63. package/dist/public-tree-contract.d.ts.map +1 -0
  64. package/dist/public-tree-contract.js +75 -0
  65. package/dist/public-tree-contract.js.map +1 -0
  66. package/dist/public-tree.d.ts +84 -0
  67. package/dist/public-tree.d.ts.map +1 -0
  68. package/dist/public-tree.js +768 -0
  69. package/dist/public-tree.js.map +1 -0
  70. package/dist/server-runtime-source.d.ts +130 -26
  71. package/dist/server-runtime-source.d.ts.map +1 -1
  72. package/dist/server-runtime-source.js +3038 -365
  73. package/dist/server-runtime-source.js.map +1 -1
  74. package/dist/server.d.ts +46 -0
  75. package/dist/server.d.ts.map +1 -1
  76. package/dist/server.js +25 -0
  77. package/dist/server.js.map +1 -1
  78. package/dist/templates/client-runtime-template.d.ts +3 -1
  79. package/dist/templates/client-runtime-template.d.ts.map +1 -1
  80. package/dist/templates/client-runtime-template.js +706 -36
  81. package/dist/templates/client-runtime-template.js.map +1 -1
  82. package/dist/templates/scaffold-template.d.ts +93 -0
  83. package/dist/templates/scaffold-template.d.ts.map +1 -1
  84. package/dist/templates/scaffold-template.js +1522 -18
  85. package/dist/templates/scaffold-template.js.map +1 -1
  86. package/dist/templates/server-bundle-template.d.ts.map +1 -1
  87. package/dist/templates/server-bundle-template.js +101 -27
  88. package/dist/templates/server-bundle-template.js.map +1 -1
  89. package/package.json +16 -4
  90. package/src/types/client.d.ts +200 -0
  91. package/src/types/server.d.ts +185 -0
package/CHANGES.md CHANGED
@@ -1,43 +1,286 @@
1
1
  # Changes
2
2
 
3
- ## Unreleased - 2026-07-07
3
+ ## Unreleased - 2026-07-12
4
4
 
5
- Changes since v0.1.0.
5
+ Changes since v0.3.0.
6
6
 
7
7
  ### ๐Ÿš€ Features
8
8
 
9
- - Add packaging scripts (31a33c5).
10
- - Add consistent change-log generation via skill (0b8bc4f).
11
- - Enable Hosted Capsule SSH access (d59abaa).
12
- - Enable local Container SSH access (8720842).
13
- - Add current-user preferences SDK (570d769).
14
- - Allow dependency install for local repository working (a35db4c).
15
- - Add requireAuth handler helper as the canonical auth gate (7bb7ee6).
9
+ - Contract client capability matrix (a118bef).
10
+ - Complete Inferno client parity (2bd4313).
11
+ - Admit Inferno esbuild capsules (425bd02).
12
+ - Complete Lit template parity (a456eb2).
13
+ - Admit Lit with reactive controllers (967652e).
14
+ - Complete Solid template parity (64950f4).
15
+ - Admit SolidJS Vite clients (f6923eb).
16
+ - Complete Svelte template parity (e4570fa).
17
+ - Admit Svelte Vite capsules (b2a4f68).
18
+ - Complete Vue template parity (3885368).
19
+ - Admit Vue Vite client framework (905fe68).
20
+ - Admit Preact Vite client toolchain (c58e276).
21
+ - Admit React Vite client toolchain (3cb977e).
22
+ - Add vanilla TypeScript client framework (7fc8cdb).
23
+ - Host complete public tree releases (b2e4485).
24
+ - Mount container public trees (10408cf).
25
+ - Build normalized public tree (4449de9).
26
+ - Add stable keys to Campfire lists (df5130d).
27
+ - Add Campfire realtime journey exemplar (fe2682b).
28
+ - Finalize journey session boundaries (8cd7245).
29
+ - Capture safe browser journey signals (e3b39d9).
30
+ - Implement Journey TTL buffering and expiry (49941ce).
31
+ - Observe capsule journey changes (337ba97).
32
+ - Add explicit user journey sessions (4a304b6).
33
+ - Timestamp photo template names every minute (be38452).
34
+ - Inspect remote capsule schedules (91477a3).
35
+ - Add Dev schedule inspection command (9156101).
36
+ - Implement durable schedule recovery (85344de).
37
+ - Apply schedule timezone semantics (5f519dc).
38
+ - Add dynamic schedule payload factories (9c33cbc).
39
+ - Run static recurring privileged jobs (29160ba).
40
+ - Add controllable runtime clock (ef1a6fd).
41
+ - Add cross-runtime job inspection (9c98b2e).
42
+ - Filter job inspection lists (0a2160b).
43
+ - Recover expired job leases (9897c78).
44
+ - Add job delays retries and cancellation (0946b9c).
45
+ - Add privileged job execution (b46b35e).
46
+ - Add current-user job queue (c39658a).
47
+ - Add version and host upgrade to CLI (01e28ac).
48
+ - Implement security hardening (d6713fc).
49
+ - Implement privileged server role (01ace81).
50
+ - Implement privileged audit contract (20ac917).
51
+
52
+ ### ๐Ÿ› Bug Fixes
53
+
54
+ - Plan next feature (7c60c3e).
55
+ - Make client capability matrix authoritative (96813f5).
56
+ - Harden Inferno exemplar workflows (5380318).
57
+ - Verify strict Lit scaffold behavior (c75591d).
58
+ - Harden Lit lifecycle and defaults (52da69e).
59
+ - Harden Dev refresh delivery (e0f5703).
60
+ - Scope Dev refresh delivery receipts (b35c2c3).
61
+ - Sequence Dev refresh subscriptions (378769a).
62
+ - Honor Svelte mutation store contract (c5803b0).
63
+ - Isolate Svelte store subscriptions (223bac3).
64
+ - Serialize Campfire activity consent (162836c).
65
+ - Contain project Vue compiler resolution (db2e924).
66
+ - Harden Vue mutation and compiler ownership (3448d1d).
67
+ - Harden React Vite toolchain admission (8884b09).
68
+ - Let query unsubscribe overtake initial work (1d6f44d).
69
+ - Harden vanilla client runtime boundaries (20eff80).
70
+ - Harden public tree selection (a74183e).
71
+ - Secure hosted release identity (34403a4).
72
+ - Authorize container before SSH setup (eb3191a).
73
+ - Preflight container replacement ownership (6e5756a).
74
+ - Enforce container release ownership (3e4e4a4).
75
+ - Transact container public releases (3971f89).
76
+ - Publish ownership heartbeats atomically (7a45807).
77
+ - Heartbeat public tree ownership (a14881b).
78
+ - Validate public tree ownership (95aa2b9).
79
+ - Lease public tree candidates (676ee78).
80
+ - Harden public tree activation (642fc6b).
81
+ - Activate public trees after runtime readiness (f16e81b).
82
+ - Retire journey state on pagehide (d19a080).
83
+ - Preserve journey consent across reconnect (c718f96).
84
+ - Retire manual-only journey consent (0e68b3f).
85
+ - Close journey lifecycle review gaps (0778487).
86
+ - Fix journey meta observation targeting (852bfa8).
87
+ - Stabilize journey record metadata (ef80a9c).
88
+ - Dedupe native journey submit activation (9216466).
89
+ - Correlate journey capture structurally (06e0ce4).
90
+ - Harden journey browser capture (cff82ea).
91
+ - Make journey subscriptions lifecycle-safe (200e5b5).
92
+ - Clear journey consent on identity changes (53d757c).
93
+ - Retire journeys on auth transitions (80fbd9f).
94
+ - Preserve journey consent across reconnects (23171ad).
95
+ - Roadmap status (3f35545).
96
+ - Include scheduler recovery in generated runtime (9294ee3).
97
+ - Sanitize container schedule inspection (09fc9bd).
98
+ - Bound hosted schedule inspection (5e552f5).
99
+ - Complete schedule timezone semantics (fdc2d77).
100
+ - Serialize schedule payload factories by schedule (d1d30c5).
101
+ - Make schedule provenance private (f232241).
102
+ - Harden static schedule lifecycle (945fe4c).
103
+ - Narrow inspection adapter declaration (be5939c).
104
+ - Make job inspection storage read-only (6382292).
105
+ - Secure active dev job inspection config (ea62ff4).
106
+ - Harden job inspection boundaries (c2847c1).
107
+ - Filter privileged job inspection (875e413).
108
+ - Order expired lease recovery (3d58b91).
109
+ - Delay expired lease recovery (57c22a0).
110
+ - Cancel privileged jobs and clear wake timers (40a48be).
111
+ - Wake delayed jobs and cancel privileged jobs (15f7a33).
112
+ - Deduplicate privileged pending jobs (0fef839).
113
+ - Seal privileged job capabilities (5463788).
114
+ - Deduplicate pending job enqueues (d1664d0).
115
+ - Persist jobs from trusted server handlers (8b89aa5).
116
+ - Harden current-user job queue (0f958a5).
16
117
 
17
118
  ### ๐Ÿ”ง Improvements
18
119
 
19
- - Mark user preferences coherence issue done (5e49203).
20
- - Mark user preferences SDK issue done (9119388).
21
- - Mark built-in-auth-helper issue 01 done (2d6d470).
22
- - Rebuild bundle after merging requireAuth helper (160ce44).
120
+ - Plan Campfire exemplar template (780debd).
121
+ - Complete user journey tracker swarm (4959116).
122
+ - Re-review journey framework guidance (a8b0840).
123
+ - Rework journey framework guidance (860e738).
124
+ - Review journey contract publication (b1498a7).
125
+ - Dispatch journey contract publication (85000bc).
126
+ - Complete journey lifecycle issue (f1a084d).
127
+ - Re-review journey pagehide retirement (bfd66a0).
128
+ - Rework journey pagehide retirement (d08ff6e).
129
+ - Re-review journey reconnect ownership (c23e59a).
130
+ - Rework journey reconnect ownership (d9a9a5c).
131
+ - Re-review manual-only journey replacement (2a6b0d2).
132
+ - Rework manual-only journey replacement (e185bf8).
133
+ - Rework simplified journey lifecycle (fdbada1).
134
+ - Review simplified journey lifecycle (54776fd).
135
+ - Dispatch simplified journey lifecycle (eed1dca).
136
+ - Block journey lifecycle on capability lifetime (87bcc52).
137
+ - Rework journey capability persistence (ad87f1e).
138
+ - Review durable journey capabilities (d0d203f).
139
+ - Rework journey runtime replacement (ecc58d9).
140
+ - Re-review bounded journey retirement (aaac45b).
141
+ - Bound journey retirement rework (0bb84aa).
142
+ - Re-review journey lifecycle issue (4e466f1).
143
+ - Rework journey lifecycle retirement (4d7ef6f).
144
+ - Review journey lifecycle issue (68921a8).
145
+ - Dispatch journey lifecycle issue (e26fa01).
146
+ - Resume user journey tracker swarm (af51482).
147
+ - Record journey fix swarm verification (5bd74f6).
148
+ - Complete journey review fix swarm (d92705e).
149
+ - Review journey record metadata fix (b657195).
150
+ - Review journey meta observer fix (a7d9c0c).
151
+ - Dispatch journey review fix swarm (967466c).
152
+ - Plan user journey tracker review fixes (1fc56f7).
153
+ - Complete user journey tracker issue 04 (6763e62).
154
+ - Complete user journey tracker issue 03 (bba2e57).
155
+ - Complete user journey tracker issue 02 (6cf3c80).
156
+ - Complete user journey tracker issue 01 (4799ebd).
157
+ - Record job scheduling final verification (275e780).
158
+ - Complete job scheduling issue 10 (d2e8c0a).
159
+ - Rereview job scheduling issue 10 (4ab304d).
160
+ - Rework job scheduling issue 10 (2cad09d).
161
+ - Review job scheduling issue 10 (9f6777c).
162
+ - Dispatch job scheduling issue 10 (5fd0e5f).
163
+ - Complete job scheduling issue 09 (c3b4ec2).
164
+ - Final review job scheduling issue 09 (f76e36d).
165
+ - Harden container schedule inspection (39c980a).
166
+ - Rereview job scheduling issue 09 (ff5fce7).
167
+ - Rework job scheduling issue 09 (71632d6).
168
+ - Review job scheduling issue 09 (1ce4f4b).
169
+ - Dispatch job scheduling issue 09 (e55eebf).
170
+ - Complete job scheduling issue 08 (8816c97).
171
+ - Review job scheduling issue 08 (09b7575).
172
+ - Dispatch job scheduling issue 08 (d443acf).
173
+ - Complete job scheduling issue 07 (37334f0).
174
+ - Final review job scheduling issue 07 (021f16f).
175
+ - Harden schedule timestamp inspection (07ee2b8).
176
+ - Rereview job scheduling issue 07 (53cccf7).
177
+ - Rework job scheduling issue 07 (7f39f88).
178
+ - Review job scheduling issue 07 (17eb0d3).
179
+ - Dispatch job scheduling issue 07 (468c6d1).
180
+ - Complete job scheduling issue 06 (413b122).
181
+ - Rereview job scheduling issue 06 (7159e64).
182
+ - Rework job scheduling issue 06 (5f2cb2f).
183
+ - Review job scheduling issue 06 (286470c).
184
+ - Dispatch job scheduling issue 06 (c5ad802).
185
+ - Complete job scheduling issue 05 (37be3d4).
186
+ - Rereview job scheduling issue 05 (4b0e010).
187
+ - Rework job scheduling issue 05 (e32381d).
188
+ - Review job scheduling issue 05 (97663dc).
189
+ - Dispatch job scheduling issue 05 (88f455d).
190
+ - Complete job scheduling issue 04 (be8c33f).
191
+ - Final review job scheduling issue 04 (8c7a66e).
192
+ - Rereview job scheduling issue 04 (6ad08bf).
193
+ - Rework job scheduling issue 04 (c6b109e).
194
+ - Review job scheduling issue 04 (3f77a8f).
195
+ - Dispatch job scheduling issue 04 (87fac67).
196
+ - Complete job scheduling issue 03 (6581e2b).
197
+ - Rereview job scheduling issue 03 (5ea3e02).
198
+ - Rework job scheduling issue 03 (c7702f5).
199
+ - Review job scheduling issue 03 (07b7373).
200
+ - Dispatch job scheduling issue 03 (74c7b61).
201
+ - Complete job scheduling issue 02 (391f849).
202
+ - Rereview hardened scheduling provenance (1b70069).
203
+ - Harden job scheduling issue 02 provenance (35f8f9a).
204
+ - Rereview job scheduling issue 02 (ed203a1).
205
+ - Rework job scheduling issue 02 (a2c4252).
206
+ - Review job scheduling issue 02 (9d57fc6).
207
+ - Dispatch job scheduling issue 02 (5266d0b).
208
+ - Complete job scheduling issue 01 (96675ce).
209
+ - Review job scheduling issue 01 (110d084).
210
+ - Dispatch job scheduling issue 01 (5b8ae0f).
211
+ - Start job scheduling swarm ledger (4b33165).
212
+ - Preserve schedule recovery blockers (4377ca2).
213
+ - Link job scheduling issue graph (93ff0f1).
214
+ - Normalize job scheduling blockers (98c96c6).
215
+ - Normalize job scheduling issue status (7b5e100).
216
+ - Complete job queue issue set (ad11361).
217
+ - Record job inspection completion (2397009).
218
+ - Record job queue inspection blocker (9c83866).
219
+ - Record job queue issue 04 completion (175dd66).
220
+ - Record job queue issue 03 completion (0995023).
221
+ - Record job queue issue 02 completion (34a02ae).
222
+ - Record job queue issue 01 completion (a1ab904).
23
223
 
24
224
  ### ๐Ÿ“ Documentation
25
225
 
26
- - Update docs (e5e42d6).
27
- - Rewording (aee6676).
28
- - Document Container SSH access (62d9f54).
29
- - Define Container SSH access contract (d23386a).
30
- - Document public SDK API (f135dd0).
31
- - Persist user prefs from anonymous to a signed-up user on registration (d2d9d6c).
32
- - Update docs (7469398).
33
- - Update preference table inspection coverage (790e49c).
34
- - Keep user preferences coherent across sessions (703e826).
35
- - Plan recommended roadmap features (4975e8d).
36
- - Tidy up working files (f29fff5).
37
- - Record service-backed vector path (pgvector) as follow-up (e1dfa7a).
38
- - Promote auth helper and SQLite vector features to ready (ea1610b).
39
- - Update documentation files in the working tree: docs/api/functions/client.createHooks.html, docs/api/functions/client.isAuthenticated.html, docs/api/functions/client.onMessage.html, docs/api/functions/client.sendMessage.html, docs/api/functions/server.Boolean.html, docs/api/functions/server.capsule.html, docs/api/functions/server.Date.html, docs/api/functions/server.endpoint.html, docs/api/functions/server.Json.html, docs/api/functions/server.message.html, docs/api/functions/server.mutation.html, docs/api/functions/server.Number.html, docs/api/functions/server.query.html, docs/api/functions/server.Reference.html, docs/api/functions/server.requireAuth.html, docs/api/functions/server.String.html, docs/api/functions/server.table.html, docs/api/types/client.AppMessage.html, docs/api/types/client.AppMessageStream.html, docs/api/types/client.AuthApi.html, docs/api/types/client.AuthProviders.html, docs/api/types/client.AuthState.html, docs/api/types/client.EmailCredentials.html, docs/api/types/client.FileMetadata.html, docs/api/types/client.FileReference.html, docs/api/types/client.FilesApi.html, docs/api/types/client.HookPrimitives.html, docs/api/types/client.JsonObject.html, docs/api/types/client.JsonValue.html, docs/api/types/client.MutationState.html, docs/api/types/client.PreferencesApi.html, docs/api/types/client.PreferencesResult.html, docs/api/types/client.ProviderState.html, docs/api/types/client.PublicFileUrl.html, docs/api/types/client.PublicUrlOptions.html, docs/api/types/client.QueryState.html, docs/api/types/client.SporadesError.html, docs/api/types/client.SporadesHooks.html, docs/api/types/client.SporadesResult.html, docs/api/types/client.Subscription.html, docs/api/types/client.UploadCompleteEvent.html, docs/api/types/client.UploadOptions.html, docs/api/types/client.UploadProgressEvent.html, docs/api/types/client.UseAuthState.html, docs/api/types/server.AclDatabaseHelpers.html, docs/api/types/server.AclHelpers.html, docs/api/types/server.AclStorageFileMetadata.html, docs/api/types/server.AclStorageHelpers.html, docs/api/types/server.AnyFieldDefinition.html, docs/api/types/server.AuthContext.html, docs/api/types/server.AutoFields.html, docs/api/types/server.Capsule.html, docs/api/types/server.CapsuleContext.html, docs/api/types/server.CapsuleDefinition.html, docs/api/types/server.CapsuleHooks.html, docs/api/types/server.ContextKind.html, docs/api/types/server.ContextMiddleware.html, docs/api/types/server.DatabaseFromSchema.html, docs/api/types/server.EndpointContext.html, docs/api/types/server.EndpointDefinition.html, docs/api/types/server.EndpointHandler.html, docs/api/types/server.EndpointOptions.html, docs/api/types/server.EndpointRequest.html, docs/api/types/server.FieldBuilder.html, docs/api/types/server.FieldDefinition.html, docs/api/types/server.FieldKind.html, docs/api/types/server.FieldValue.html, docs/api/types/server.InsertValues.html, docs/api/types/server.JsonValue.html, docs/api/types/server.Logger.html, docs/api/types/server.MaybePromise.html, docs/api/types/server.MessageApi.html, docs/api/types/server.MessageDefinition.html, docs/api/types/server.MessageHandler.html, docs/api/types/server.MessageScope.html, docs/api/types/server.MiddlewareContext.html, docs/api/types/server.MutationDefinition.html, docs/api/types/server.MutationHandler.html, docs/api/types/server.MutationHook.html, docs/api/types/server.MutationHookEvent.html, docs/api/types/server.MutationResult.html, docs/api/types/server.OrderDirection.html, docs/api/types/server.QueryDefinition.html, docs/api/types/server.QueryHandler.html, docs/api/types/server.ReferenceFieldBuilder.html, docs/api/types/server.ReferenceFieldDefinition.html, docs/api/types/server.RequireAuthOptions.html, docs/api/types/server.RowFromFields.html, docs/api/types/server.SchemaDefinition.html, docs/api/types/server.TableAclContext.html, docs/api/types/server.TableAclOperation.html, docs/api/types/server.TableAclRule.html, docs/api/types/server.TableAclRuleInput.html, docs/api/types/server.TableAclRules.html, docs/api/types/server.TableApi.html, docs/api/types/server.TableDefinition.html, docs/api/types/server.UpdateValues.html, docs/api/variables/client.auth.html, docs/api/variables/client.files.html, docs/api/variables/client.preferences.html.
226
+ - Include framework list in intro (70a8997).
227
+ - Prove client matrix runtime conformance (83e28a3).
228
+ - Contract fixed client file infrastructure (808132a).
229
+ - Specify multi-framework client toolchains (69ef70a).
230
+ - Finalize journey contract publication (b7d7856).
231
+ - Clarify Journey framework and Shadow DOM guidance (28d55cb).
232
+ - Document User journey tracker contract (6c19643).
233
+ - Simplify journey session boundaries (e08e845).
234
+ - Plan user journey tracker (0fe2834).
235
+ - Stabilize API source links (7965ff7).
236
+ - Refresh API source links after integration (ba89bfd).
237
+ - Resolve scheduling publication contradictions (3c6f411).
238
+ - Publish job scheduling contract (febf4c9).
239
+ - Clarify implemented scheduling scope (35e3457).
240
+ - Align job scheduling PRD status (9c87d98).
241
+ - Add multi-framework toolchain tickets (18a7af4).
242
+ - Plan Job Scheduling (ba53888).
243
+ - Plan multi-framework client toolchains (bb4f611).
244
+ - Align job queue inspection expectations (ad13e2f).
245
+ - Restore API source links (2faa48b).
246
+ - Complete job queue documentation (b51ef32).
247
+ - Record job queue docs alignment (ac4d85e).
248
+ - Align implemented job queue scope (4f7263c).
249
+ - Refresh job queue docs alignment scope (83261ad).
250
+ - Refine job queue inspection issue graph (aaa73b9).
251
+ - Cover exhausted job lease recovery (9cf771b).
252
+ - Plan Job Queue (0e78191).
253
+ - Plan privileged server role (5932535).
254
+
255
+ ### ๐Ÿงช Tests
256
+
257
+ - Prove Lit stale publications are inert (5e13107).
258
+ - Exercise Vue template behavior (f6ccfcf).
259
+ - Harden Campfire fixture automation (50fc000).
260
+ - Refine Campfire activity sharing (638f485).
261
+ - Close Campfire lifecycle and durability gaps (609b0d4).
262
+ - Harden Campfire exemplar contracts (b254a52).
263
+ - Prove Campfire multi-user realtime behavior (56066ef).
264
+ - Re-review journey lifecycle coverage (b0adf0b).
265
+ - Prove journey browser capture contract (f43465b).
266
+ - Test Journey Capsule capacity (34662fe).
267
+ - Require canonical schedule inspection timestamps (28abf9d).
268
+ - Harden schedule inspection correlations (e4589f5).
269
+ - Inspect schedules through privileged server context (25bf0c4).
270
+ - Recover scheduled occurrences after claim expiry (740a944).
271
+ - Make scheduled occurrence creation crash-safe (e12208b).
272
+ - Validate schedule reconciliation before writes (2f04c38).
273
+ - Cover job inspection filters (8bde7f3).
274
+ - Cover atomic job claims (c932161).
275
+ - Cover job idempotency restart (0ac7ec8).
276
+ - Cover queued job cancellation (44459dc).
277
+ - Cover delayed wake timer cleanup (231ced6).
278
+ - Cover delayed ordering and privileged cancellation signal (0ecca6a).
279
+ - Cover running job cancellation outcomes (fb75562).
280
+ - Cover delayed wake and retry exhaustion (c38b5b9).
281
+ - Cover captured job actor boundaries (1ffebf8).
282
+ - Cover privileged job types (32d0ced).
40
283
 
41
284
  ### ๐Ÿ“ฆ Packaging
42
285
 
43
- - Update packaging and release flow (6a5cd20).
286
+ - Bake CLI version into host helper (0cda575).
package/Dockerfile.base CHANGED
@@ -8,9 +8,9 @@ LABEL com.sporades.base-image.name="sporades-base"
8
8
  LABEL com.sporades.base-image.version="0.1.0-node22-alpine"
9
9
  LABEL com.sporades.base-image.node="22"
10
10
 
11
- RUN apk add --no-cache openssh-server \
11
+ RUN apk add --no-cache openssh-server fail2ban \
12
12
  && addgroup -g 10001 -S sporades \
13
- && adduser -u 10001 -S sporades -G sporades \
13
+ && adduser -u 10001 -S sporades -G sporades -s /bin/sh \
14
14
  && mkdir -p /app /app/data /run/sshd \
15
15
  && ssh-keygen -A \
16
16
  && printf '%s\n' \
package/README.md CHANGED
@@ -13,7 +13,8 @@
13
13
  </p>
14
14
 
15
15
  Designed as Agents-first, Sporades is a CLI-first platform for building, running, inspecting, and hosting
16
- small full-stack web Capsules.
16
+ small full-stack web Capsules supporting vanilla Typescript, React, Preact, Inferno, Lit, SolidJS, Vue, and Svelte
17
+ for front-end clients.
17
18
 
18
19
  It is intended for developers and coding Agents who want deterministic commands
19
20
  instead of dashboards: scaffold a Capsule, run it locally, test the bundled
@@ -112,17 +113,32 @@ export default capsule({
112
113
  });
113
114
  ```
114
115
 
115
- Client scaffolds wire `sporades/client` into React or Preact hooks so the UI can
116
- subscribe to queries and run mutations without hand-rolled fetch plumbing.
116
+ Client scaffolds wire `sporades/client` into React or Preact hooks, Vue
117
+ composables, Svelte stores, SolidJS signals, Lit reactive controllers, native Inferno lifecycle adapters, or framework-neutral subscriptions
118
+ so the UI can consume queries, mutations, and auth without hand-rolled fetch plumbing.
117
119
 
118
120
  ## What You Get
119
121
 
120
122
  Sporades currently includes:
121
123
 
122
- - React and Preact project scaffolds with `blank`, `todo`, `guestbook`, and
123
- `photo-library` templates.
124
+ - React, Preact, and Vue project scaffolds with `blank`, `todo`, `guestbook`,
125
+ `photo-library`, and `campfire` templates. Vue uses native Single-File
126
+ Components; Campfire is the complete consented User journey tracker exemplar.
127
+ - Svelte/Vite project scaffolds across the complete template set, with native
128
+ components and lazily observed stores. Campfire preserves identity-safe
129
+ consent, caller-renewed Journey TTL state, and deterministic cleanup.
130
+ - SolidJS/Vite scaffolds across the complete template set, with native JSX,
131
+ signals, identity-safe Campfire consent, and reactive-root cleanup.
132
+ - Lit/Vite Web Component scaffolds across the complete template set, with
133
+ component styles and host-lifecycle reactive controllers. Campfire preserves
134
+ serialized identity-safe consent, explicit Journey TTLs, and cleanup.
135
+ - Inferno scaffolds across the complete template set, using native class-component
136
+ lifecycle and classic Inferno JSX without React compatibility packages. esbuild
137
+ remains the default; Vite is available explicitly with full-page Dev refresh.
124
138
  - Local Dev sessions with rebuilds, WebSocket reconnects, SQLite persistence,
125
- logs, database inspection, auth helpers, and file storage.
139
+ logs, database inspection, auth helpers, and file storage. Every admitted
140
+ esbuild/Vite pair uses the same acknowledged Sporades full-page refresh
141
+ protocol after a successful client rebuild; no pair promises HMR.
126
142
  - Local Docker Container sessions for production-like staging tests.
127
143
  - Hosted Capsules on SSH-reachable Host servers, routed through Caddy and run in
128
144
  hardened Docker containers.
@@ -153,7 +169,9 @@ npm install --global sporades
153
169
  sporades --help
154
170
  ```
155
171
 
156
- Sporades depends on `esbuild` for Capsule bundling. On newer npm versions, you
172
+ Sporades depends on `esbuild` for the Server Bundle and default client builds;
173
+ React and Preact clients can explicitly use the runtime-owned Vite adapter;
174
+ Vue, Svelte, SolidJS, and Lit select Vite. On newer npm versions, you
157
175
  may see an `allow-scripts` warning during global install because `esbuild` uses
158
176
  a postinstall script to select the native binary for your platform.
159
177