sporades 0.9.31 โ†’ 0.9.32

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 (214) hide show
  1. package/CHANGES.md +37 -65
  2. package/README.md +1 -0
  3. package/bin/sporades-host-helper.js +4003 -2738
  4. package/bin/sporades.js +6001 -3410
  5. package/dist/access-keys-runtime.d.ts.map +1 -1
  6. package/dist/access-keys-runtime.js +14 -29
  7. package/dist/access-keys-runtime.js.map +1 -1
  8. package/dist/admission-evidence.d.ts +28 -0
  9. package/dist/admission-evidence.d.ts.map +1 -0
  10. package/dist/admission-evidence.js +62 -0
  11. package/dist/admission-evidence.js.map +1 -0
  12. package/dist/admission-policy.d.ts +65 -0
  13. package/dist/admission-policy.d.ts.map +1 -0
  14. package/dist/admission-policy.js +337 -0
  15. package/dist/admission-policy.js.map +1 -0
  16. package/dist/admission-rate-limit.d.ts +16 -0
  17. package/dist/admission-rate-limit.d.ts.map +1 -0
  18. package/dist/admission-rate-limit.js +30 -0
  19. package/dist/admission-rate-limit.js.map +1 -0
  20. package/dist/auth-runtime.d.ts.map +1 -1
  21. package/dist/auth-runtime.js +7 -0
  22. package/dist/auth-runtime.js.map +1 -1
  23. package/dist/bounded-fixed-window.d.ts +22 -0
  24. package/dist/bounded-fixed-window.d.ts.map +1 -0
  25. package/dist/bounded-fixed-window.js +49 -0
  26. package/dist/bounded-fixed-window.js.map +1 -0
  27. package/dist/bundle-pipeline.d.ts.map +1 -1
  28. package/dist/bundle-pipeline.js +7 -1
  29. package/dist/bundle-pipeline.js.map +1 -1
  30. package/dist/cli/admission-inspection.d.ts +12 -0
  31. package/dist/cli/admission-inspection.d.ts.map +1 -0
  32. package/dist/cli/admission-inspection.js +38 -0
  33. package/dist/cli/admission-inspection.js.map +1 -0
  34. package/dist/cli/cli-help.d.ts +5 -5
  35. package/dist/cli/cli-help.d.ts.map +1 -1
  36. package/dist/cli/cli-help.js +25 -3
  37. package/dist/cli/cli-help.js.map +1 -1
  38. package/dist/cli/cli-version.d.ts +1 -1
  39. package/dist/cli/cli-version.js +1 -1
  40. package/dist/cli/doctor.d.ts.map +1 -1
  41. package/dist/cli/doctor.js +51 -0
  42. package/dist/cli/doctor.js.map +1 -1
  43. package/dist/cli/host-availability.d.ts +11 -0
  44. package/dist/cli/host-availability.d.ts.map +1 -0
  45. package/dist/cli/host-availability.js +57 -0
  46. package/dist/cli/host-availability.js.map +1 -0
  47. package/dist/cli/host-helper-release-files.js +1 -1
  48. package/dist/cli/host-helper-release-files.js.map +1 -1
  49. package/dist/cli/host-helper-requests.d.ts +16 -3
  50. package/dist/cli/host-helper-requests.d.ts.map +1 -1
  51. package/dist/cli/host-helper-validation.js +1 -1
  52. package/dist/cli/host-helper-validation.js.map +1 -1
  53. package/dist/cli/host-inventory.d.ts +52 -0
  54. package/dist/cli/host-inventory.d.ts.map +1 -0
  55. package/dist/cli/host-inventory.js +298 -0
  56. package/dist/cli/host-inventory.js.map +1 -0
  57. package/dist/cli/host-metrics.js +2 -1
  58. package/dist/cli/host-metrics.js.map +1 -1
  59. package/dist/cli/host-telemetry-relay.d.ts +187 -6
  60. package/dist/cli/host-telemetry-relay.d.ts.map +1 -1
  61. package/dist/cli/host-telemetry-relay.js +348 -71
  62. package/dist/cli/host-telemetry-relay.js.map +1 -1
  63. package/dist/cli/host-telemetry-state.d.ts +2 -0
  64. package/dist/cli/host-telemetry-state.d.ts.map +1 -0
  65. package/dist/cli/host-telemetry-state.js +33 -0
  66. package/dist/cli/host-telemetry-state.js.map +1 -0
  67. package/dist/cli/hosted-telemetry-coverage.d.ts +2 -0
  68. package/dist/cli/hosted-telemetry-coverage.d.ts.map +1 -1
  69. package/dist/cli/hosted-telemetry-coverage.js +2 -1
  70. package/dist/cli/hosted-telemetry-coverage.js.map +1 -1
  71. package/dist/cli/inventory-contract.d.ts +26 -0
  72. package/dist/cli/inventory-contract.d.ts.map +1 -0
  73. package/dist/cli/inventory-contract.js +67 -0
  74. package/dist/cli/inventory-contract.js.map +1 -0
  75. package/dist/cli/monitoring-maintenance.d.ts +12 -0
  76. package/dist/cli/monitoring-maintenance.d.ts.map +1 -0
  77. package/dist/cli/monitoring-maintenance.js +691 -0
  78. package/dist/cli/monitoring-maintenance.js.map +1 -0
  79. package/dist/cli/monitoring-stack.d.ts +19 -0
  80. package/dist/cli/monitoring-stack.d.ts.map +1 -1
  81. package/dist/cli/monitoring-stack.js +11 -8
  82. package/dist/cli/monitoring-stack.js.map +1 -1
  83. package/dist/cli/project-config.d.ts.map +1 -1
  84. package/dist/cli/project-config.js +3 -0
  85. package/dist/cli/project-config.js.map +1 -1
  86. package/dist/cli/sporades-host-helper.js +160 -25
  87. package/dist/cli/sporades-host-helper.js.map +1 -1
  88. package/dist/cli/sporades.js +313 -65
  89. package/dist/cli/sporades.js.map +1 -1
  90. package/dist/cli/telemetry-diagnostics.d.ts +34 -0
  91. package/dist/cli/telemetry-diagnostics.d.ts.map +1 -0
  92. package/dist/cli/telemetry-diagnostics.js +141 -0
  93. package/dist/cli/telemetry-diagnostics.js.map +1 -0
  94. package/dist/cli/telemetry-profile.d.ts +3 -0
  95. package/dist/cli/telemetry-profile.d.ts.map +1 -1
  96. package/dist/cli/telemetry-profile.js +16 -2
  97. package/dist/cli/telemetry-profile.js.map +1 -1
  98. package/dist/client-address.d.ts +9 -0
  99. package/dist/client-address.d.ts.map +1 -0
  100. package/dist/client-address.js +101 -0
  101. package/dist/client-address.js.map +1 -0
  102. package/dist/database-runtime.d.ts +14 -7
  103. package/dist/database-runtime.d.ts.map +1 -1
  104. package/dist/database-runtime.js +109 -33
  105. package/dist/database-runtime.js.map +1 -1
  106. package/dist/database-telemetry.d.ts +12 -0
  107. package/dist/database-telemetry.d.ts.map +1 -0
  108. package/dist/database-telemetry.js +107 -0
  109. package/dist/database-telemetry.js.map +1 -0
  110. package/dist/deploy-files.d.ts +4 -2
  111. package/dist/deploy-files.d.ts.map +1 -1
  112. package/dist/deploy-files.js +47 -13
  113. package/dist/deploy-files.js.map +1 -1
  114. package/dist/file-ingress-runtime.d.ts.map +1 -1
  115. package/dist/file-ingress-runtime.js +8 -4
  116. package/dist/file-ingress-runtime.js.map +1 -1
  117. package/dist/file-storage-runtime.d.ts.map +1 -1
  118. package/dist/file-storage-runtime.js +24 -2
  119. package/dist/file-storage-runtime.js.map +1 -1
  120. package/dist/generated-source-manifest.json +86 -3
  121. package/dist/http-runtime.d.ts +7 -2
  122. package/dist/http-runtime.d.ts.map +1 -1
  123. package/dist/http-runtime.js +161 -16
  124. package/dist/http-runtime.js.map +1 -1
  125. package/dist/jobs-runtime.js +1 -1
  126. package/dist/jobs-runtime.js.map +1 -1
  127. package/dist/live-query-invalidation.d.ts +8 -3
  128. package/dist/live-query-invalidation.d.ts.map +1 -1
  129. package/dist/live-query-invalidation.js +32 -8
  130. package/dist/live-query-invalidation.js.map +1 -1
  131. package/dist/mail-runtime.d.ts +1 -0
  132. package/dist/mail-runtime.d.ts.map +1 -1
  133. package/dist/mail-runtime.js +13 -1
  134. package/dist/mail-runtime.js.map +1 -1
  135. package/dist/project-public.d.ts +8 -0
  136. package/dist/project-public.d.ts.map +1 -0
  137. package/dist/project-public.js +94 -0
  138. package/dist/project-public.js.map +1 -0
  139. package/dist/public-tree-contract.d.ts +2 -0
  140. package/dist/public-tree-contract.d.ts.map +1 -1
  141. package/dist/public-tree-contract.js +9 -1
  142. package/dist/public-tree-contract.js.map +1 -1
  143. package/dist/public-tree.d.ts.map +1 -1
  144. package/dist/public-tree.js +11 -4
  145. package/dist/public-tree.js.map +1 -1
  146. package/dist/runtime-fetch-telemetry.d.ts +8 -0
  147. package/dist/runtime-fetch-telemetry.d.ts.map +1 -0
  148. package/dist/runtime-fetch-telemetry.js +214 -0
  149. package/dist/runtime-fetch-telemetry.js.map +1 -0
  150. package/dist/runtime-request-context.d.ts +17 -1
  151. package/dist/runtime-request-context.d.ts.map +1 -1
  152. package/dist/runtime-request-context.js +24 -2
  153. package/dist/runtime-request-context.js.map +1 -1
  154. package/dist/runtime-telemetry.d.ts +13 -0
  155. package/dist/runtime-telemetry.d.ts.map +1 -1
  156. package/dist/runtime-telemetry.js +302 -15
  157. package/dist/runtime-telemetry.js.map +1 -1
  158. package/dist/server-runtime-source.d.ts +2 -0
  159. package/dist/server-runtime-source.d.ts.map +1 -1
  160. package/dist/server-runtime-source.js +252 -71
  161. package/dist/server-runtime-source.js.map +1 -1
  162. package/dist/server.d.ts +7 -2
  163. package/dist/server.d.ts.map +1 -1
  164. package/dist/server.js +5 -1
  165. package/dist/server.js.map +1 -1
  166. package/dist/telemetry-propagation-policy.d.ts +3 -0
  167. package/dist/telemetry-propagation-policy.d.ts.map +1 -0
  168. package/dist/telemetry-propagation-policy.js +22 -0
  169. package/dist/telemetry-propagation-policy.js.map +1 -0
  170. package/dist/templates/client-runtime-template.d.ts.map +1 -1
  171. package/dist/templates/client-runtime-template.js +116 -27
  172. package/dist/templates/client-runtime-template.js.map +1 -1
  173. package/dist/templates/scaffold-template.d.ts.map +1 -1
  174. package/dist/templates/scaffold-template.js +22 -21
  175. package/dist/templates/scaffold-template.js.map +1 -1
  176. package/dist/templates/server-bundle-entry.d.ts.map +1 -1
  177. package/dist/templates/server-bundle-entry.js +66 -18
  178. package/dist/templates/server-bundle-entry.js.map +1 -1
  179. package/monitoring/trace/.dockerignore +8 -0
  180. package/monitoring/trace/.env.example +13 -0
  181. package/monitoring/trace/Dockerfile.gateway +3 -0
  182. package/monitoring/trace/MAINTENANCE.md +229 -0
  183. package/monitoring/trace/OUTAGES.md +151 -0
  184. package/monitoring/trace/README.md +166 -7
  185. package/monitoring/trace/api-dashboard.json +175 -6
  186. package/monitoring/trace/availability-rules.yaml +68 -0
  187. package/monitoring/trace/availability.mjs +52 -0
  188. package/monitoring/trace/blackbox-config.mjs +34 -0
  189. package/monitoring/trace/blackbox.yaml +19 -0
  190. package/monitoring/trace/caddy-dashboard.json +48 -4
  191. package/monitoring/trace/collector-persistent.yaml +83 -0
  192. package/monitoring/trace/collector.yaml +24 -2
  193. package/monitoring/trace/compose.queue.yaml +8 -0
  194. package/monitoring/trace/compose.yaml +74 -4
  195. package/monitoring/trace/fleet-dashboard.json +501 -0
  196. package/monitoring/trace/gateway.mjs +124 -7
  197. package/monitoring/trace/host-dashboard.json +48 -4
  198. package/monitoring/trace/inventory-contract.mjs +66 -0
  199. package/monitoring/trace/inventory-store.mjs +114 -0
  200. package/monitoring/trace/inventory.mjs +46 -0
  201. package/monitoring/trace/performance-policy.md +128 -0
  202. package/monitoring/trace/performance-policy.mjs +91 -0
  203. package/monitoring/trace/performance-rules.yaml +202 -0
  204. package/monitoring/trace/pipeline-dashboard.json +661 -0
  205. package/monitoring/trace/pipeline-rules.yaml +35 -0
  206. package/monitoring/trace/prometheus.yaml +52 -0
  207. package/monitoring/trace/resource-dashboard.json +56 -5
  208. package/monitoring/trace/sender-credentials.mjs +202 -0
  209. package/monitoring/trace/setup.mjs +46 -3
  210. package/package.json +2 -1
  211. package/src/types/admission-policy.d.ts +39 -0
  212. package/src/types/client.d.ts +1 -1
  213. package/src/types/monitoring.d.ts +81 -0
  214. package/src/types/server.d.ts +43 -5
package/CHANGES.md CHANGED
@@ -1,81 +1,55 @@
1
1
  # Changes
2
2
 
3
- ## Unreleased - 2026-10-02
3
+ ## Unreleased - 2026-10-13
4
4
 
5
- Changes since v0.9.30.
5
+ Changes since v0.9.31.
6
6
 
7
7
  ### ๐Ÿš€ Features
8
8
 
9
- - Open telemetry docs (a1ef804f).
10
- - Enable Host-owned telemetry coverage for Hosted Capsules (7b1af535).
11
- - Add shared remote Host telemetry relay transport (f13f233a).
12
- - Add GC and event-loop pressure telemetry (2d40feb9).
13
- - Add periodic Capsule process resource telemetry (372ea49c).
14
- - Add installed CLI generation for monitoring trace stack (6c17d973).
15
- - Add standalone authenticated trace Compose stack for telemetry (1f814483).
9
+ - Add pinned monitoring release acceptance verifier (#229) (872f33866).
10
+ - Add admission lifecycle proof harness and human verification handoff (#221) (9e4608535).
11
+ - Add resource and API-performance alerts (#222) (0dc656b53).
12
+ - Add inventory-driven availability alerts and recoveries (#204) (803ca6060).
13
+ - Support validated Auto-Submitted on send (#220) (40d3317ec).
14
+ - Add safe monitoring maintenance and fresh restore (#213) (6542368d1).
15
+ - Add bounded telemetry outage recovery and pipeline visibility (#207) (fc04b41b3).
16
16
 
17
17
  ### ๐Ÿ› Bug Fixes
18
18
 
19
- - Bound ClamAV proxy Unix socket paths (#184) (a8369517).
20
- - Fix upload, billing, browser and Host recovery ownership (1c9c74cd).
21
- - Retain event loop stalls across metric collection (400f8961).
22
- - Report event loop lag beyond sampling interval (6da7bc39).
23
- - Fix bounded HTTP telemetry shutdown flush and 4xx span status (975fc10b).
24
- - Fix telemetry status on pre-header HTTP abort (5d3a5e73).
25
- - Reject normalized smoke origin inputs (dc1b6bc5).
26
- - Accept canonical smoke origin spellings (82e1a9d5).
27
- - Use certificate hostname for trace smoke origin (7c342a9f).
28
- - Fix monitoring UI proxy lifecycle and resource p95 abort filter (5fe52461).
29
- - Fix monitoring stack credentials, selectors, and trace retention (8cfb29d0).
19
+ - Bump for vulns (f68221783).
20
+ - Prevent favicon 404s in new scaffolds (#219) (d44aa0970).
21
+ - Offer only supported OAuth sign-in actions (#215) (1977b8e49).
22
+ - Cache hashed public assets immutably (#186) (871540c2f).
30
23
 
31
24
  ### ๐Ÿ“ Documentation
32
25
 
33
- - Resume Hosted Capsules after Host startup through shared bootstrap (66b3cfb2).
34
- - Monitor Host pressure and Caddy through the telemetry relay (a3cc4c6c).
35
- - Document Hosted telemetry opt-out in Host help (d2774a66).
36
- - Report unverified Hosted telemetry coverage separately (88f56f08).
37
- - Serialize relay reconciliation and retain Host telemetry settings (0c3bb23a).
38
- - Export reset-gap max when native histogram has no samples (c89fad6b).
39
- - Preserve event-loop pressure across histogram reset gap (22f78582).
40
- - Clarify local telemetry selection ownership (b4a52e9d).
41
- - Preserve legacy Container bundle during Dev and Host publication (140c2d6d).
42
- - Pin telemetry exporter policy to selected profile (66f43dc2).
43
- - Keep local Container telemetry across Dev bundle rebuilds (b643f0e2).
44
- - Reconcile staged telemetry CA after interrupted Container deploy (ea02a390).
45
- - Validate and stage Container telemetry CA before replacement (1db92c8a).
46
- - Detach runtime background logs from HTTP request identity (fe6101ff).
47
- - Harden telemetry gateway uploads and readiness (59863d33).
48
- - Report metric export failures through telemetry diagnostics (e7a8ac4d).
49
- - Keep telemetry dashboards readable at sparse export intervals (398ed840).
50
- - Correlate existing logs with HTTP trace identities (0fb9ccbd).
51
- - Clarify shipped API metrics in telemetry roadmap (09290f93).
52
- - Measure Capsule API traffic with portable Prometheus and Grafana stack (e96a84a5).
53
- - Report bounded local telemetry export failures (2a279361).
54
- - Trace local Container HTTP requests with explicit telemetry profiles (94fc09d0).
55
- - Trace Dev HTTP requests through operator Telemetry profiles (c8f34e4e).
56
- - Harden monitoring stack initialization and prerequisite checks (52fdd593).
57
- - Keep trace gateway non-root after root setup (44826c0f).
58
- - Constrain trace UI proxy and preserve literal stack credentials (ffcb64ea).
26
+ - Complete admission lifecycle evidence and restore Hosted stats (#227) (ffa5eb6d5).
27
+ - Preserve Collector asset modes under systemd umask (#224) (c3a6e6e65).
28
+ - Diagnose and migrate Host monitoring connections (#212) (e9c635e6f).
29
+ - Expose bounded, redacted admission evidence (#218) (4ac66e837).
30
+ - Stabilize public-tree staging and PDF deadline tests (#217) (7753267cd).
31
+ - Apply admission before WebSocket upgrades (#214) (1897d6932).
32
+ - Stabilize Dev ClamAV framed readiness on macOS (#216) (312e55e26).
33
+ - Scope Postgres and libsql live query refreshes by table (#202) (e23007e82).
34
+ - Complete canonical non-address HTTP admission matching (#210) (bdfe6d872).
35
+ - Enforce bounded fixed-window quotas for trusted admission clients (#211) (b7bbd3f13).
36
+ - Rotate and revoke per-sender telemetry credentials (#203) (789b4862a).
37
+ - Establish trusted Hosted client-address admission (#209) (b274551d2).
38
+ - Trace outbound fetch dependency time (#199) (d243884f2).
39
+ - Enforce exact-path HTTP denial before Capsule routing (#193) (3e59f8862).
40
+ - Trace individual WebSocket operations and connection activity (#198) (4473caeac).
41
+ - Complete malformed request liveness coverage (#201) (2e8c02038).
42
+ - Automatically synchronize Host lifecycle inventory (#195) (f7b35cbbc).
43
+ - Trace durable Job attempts and queue pressure (#200) (b4042ce8d).
44
+ - Trace authentication and File operations within HTTP requests (#197) (d37a224fd).
45
+ - Trace database time within Capsule requests (#196) (9e92f0fa0).
46
+ - Publish deployer-owned read-only admission policy generations (#189) (45066b7a2).
47
+ - Support project public assets across Capsule sessions (#188) (de6806ed3).
48
+ - Verify multipart limit diagnostics over real HTTP (#185) (1b8dfd77f).
59
49
 
60
50
  ### ๐Ÿงช Tests
61
51
 
62
- - Expect Host-owned telemetry input in failed start fixture (c2d2b0b9).
63
- - Expect unverified coverage from legacy Host fixture (52c02c9c).
64
- - Flush telemetry after failed shutdown and classify CA chain errors (24d35576).
65
- - Clean up Dev startup when watcher setup fails (eb20c57d).
66
- - Clean up private Dev action bundles across session lifecycle (6c651120).
67
- - Prove Container identity after Dev rebuild in Docker acceptance (db9ea7e0).
68
- - Journal bound telemetry CA across forced replacement (f5e8ad8f).
69
- - Journal replacement when retiring a bound telemetry CA (d6678b9e).
70
- - Close incomplete UI upload sockets after proxy response (505642fc).
71
- - Account for request context in Bundle census (3a78fa47).
72
- - Support frozen injected runtime clocks (d6c51994).
73
- - Preserve injected runtime clock receivers (fece8d3d).
74
- - Guard Telemetry profile names and cover Bundle module census (1e9e3e61).
75
-
76
- ### ๐Ÿ“ฆ Packaging
77
-
78
- - Sync npm lock with telemetry metrics dependencies (3e706c67).
52
+ - Make the connection-lost screen clear and actionable (#226) (6cf8993a9).
79
53
 
80
54
  ## v0.9.11 - 2026-09-02
81
55
 
@@ -177,5 +151,3 @@ generated artifacts, and documentation.
177
151
 
178
152
 
179
153
 
180
-
181
-
package/README.md CHANGED
@@ -220,6 +220,7 @@ Sporades currently includes:
220
220
  - A [standalone trace stack](monitoring/trace/README.md), generated by `sporades monitoring stack init --dir <path>`, with authenticated
221
221
  OTLP/HTTP ingestion, persistent Jaeger storage, and protected trace UI.
222
222
  - Opt-in Dev and local Container HTTP request tracing through [operator Telemetry profiles](https://mgscox.github.io/sporades/reference/projects-and-configuration#local-http-tracing), with bounded route labels and no Capsule instrumentation import.
223
+ - Native fetch dependency spans within active HTTP requests, with operator-approved origin propagation and bounded, redacted outcomes. See [supported paths and limits](https://mgscox.github.io/sporades/reference/projects-and-configuration#outbound-http-time).
223
224
  - Runtime-owned auth with anonymous sessions, email auth, Google OAuth,
224
225
  Microsoft OpenID Connect, Sign in with Apple, Facebook Login, and
225
226
  local identity simulation for tests and agents.