solid-objects 0.12.1 → 0.13.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 (85) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +228 -953
  3. package/dist/actor.d.ts +12 -0
  4. package/dist/actor.d.ts.map +1 -1
  5. package/dist/actor.js +25 -2
  6. package/dist/actor.js.map +1 -1
  7. package/dist/browser/components.d.ts.map +1 -1
  8. package/dist/browser/components.js +4 -1
  9. package/dist/browser/components.js.map +1 -1
  10. package/dist/browser/index.d.ts +1 -0
  11. package/dist/browser/index.d.ts.map +1 -1
  12. package/dist/browser/index.js +8 -0
  13. package/dist/browser/index.js.map +1 -1
  14. package/dist/cli.d.ts.map +1 -1
  15. package/dist/cli.js +13 -1
  16. package/dist/cli.js.map +1 -1
  17. package/dist/configuration.d.ts +1 -0
  18. package/dist/configuration.d.ts.map +1 -1
  19. package/dist/configuration.js.map +1 -1
  20. package/dist/doctor.d.ts.map +1 -1
  21. package/dist/doctor.js +12 -3
  22. package/dist/doctor.js.map +1 -1
  23. package/dist/examples/sqlite-quickstart.js +83 -0
  24. package/dist/examples/sqlite-quickstart.js.map +1 -0
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +1 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/records.d.ts +1 -0
  30. package/dist/records.d.ts.map +1 -1
  31. package/dist/repository.d.ts +4 -1
  32. package/dist/repository.d.ts.map +1 -1
  33. package/dist/repository.js +5 -4
  34. package/dist/repository.js.map +1 -1
  35. package/dist/runtime.d.ts.map +1 -1
  36. package/dist/runtime.js +37 -6
  37. package/dist/runtime.js.map +1 -1
  38. package/dist/schema.d.ts.map +1 -1
  39. package/dist/schema.js +15 -4
  40. package/dist/schema.js.map +1 -1
  41. package/dist/version.d.ts +1 -1
  42. package/dist/version.js +1 -1
  43. package/dist/web/assets.d.ts +4 -0
  44. package/dist/web/assets.d.ts.map +1 -0
  45. package/dist/web/assets.js +11 -0
  46. package/dist/web/assets.js.map +1 -0
  47. package/dist/web/index.d.ts +28 -0
  48. package/dist/web/index.d.ts.map +1 -0
  49. package/dist/web/index.js +642 -0
  50. package/dist/web/index.js.map +1 -0
  51. package/dist/web/node.d.ts +3 -0
  52. package/dist/web/node.d.ts.map +1 -0
  53. package/dist/web/node.js +109 -0
  54. package/dist/web/node.js.map +1 -0
  55. package/dist/web/render.d.ts +64 -0
  56. package/dist/web/render.d.ts.map +1 -0
  57. package/dist/web/render.js +331 -0
  58. package/dist/web/render.js.map +1 -0
  59. package/dist/web/store.d.ts +65 -0
  60. package/dist/web/store.d.ts.map +1 -0
  61. package/dist/web/store.js +303 -0
  62. package/dist/web/store.js.map +1 -0
  63. package/dist/web/types.d.ts +82 -0
  64. package/dist/web/types.d.ts.map +1 -0
  65. package/dist/web/types.js +2 -0
  66. package/dist/web/types.js.map +1 -0
  67. package/docs/api.md +63 -0
  68. package/docs/architecture.md +16 -10
  69. package/docs/authorization.md +12 -3
  70. package/docs/benchmarks.md +123 -0
  71. package/docs/browser-protocol.md +15 -8
  72. package/docs/comparisons.md +36 -0
  73. package/docs/configuration.md +3 -1
  74. package/docs/correctness.md +23 -0
  75. package/docs/dashboard.md +196 -0
  76. package/docs/fit.md +58 -0
  77. package/docs/parity.md +37 -34
  78. package/docs/releasing.md +6 -4
  79. package/docs/state-and-lifecycle.md +10 -0
  80. package/docs/support.md +39 -0
  81. package/examples/failure-recovery/actor.ts +51 -0
  82. package/examples/failure-recovery/demo.ts +233 -0
  83. package/examples/failure-recovery/worker.ts +46 -0
  84. package/examples/sqlite-quickstart.ts +109 -0
  85. package/package.json +25 -4
package/CHANGELOG.md CHANGED
@@ -2,6 +2,44 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.13.0 - 2026-08-16
6
+
7
+ - Replace the exhaustive README with an outcome-first introduction, explicit
8
+ fit and correctness boundaries, sourced comparisons, and factual design
9
+ provenance.
10
+ - Add a packaged SQLite quickstart, a clean-install tarball smoke test, and a
11
+ deterministic multi-process crash and fencing demonstration.
12
+ - Add a reproducible benchmark harness, record locally observed SQLite,
13
+ PostgreSQL 18, and MySQL 8.4 measurements, and label other configurations as
14
+ unmeasured.
15
+ - Add support, contribution, and security policies plus stronger local
16
+ Markdown link validation.
17
+ - **Breaking:** make unwrapped observables invalidation-only by default. They
18
+ continue to detect changes and refresh dependent components without storing
19
+ or sending their values. Wrap a projection in `broadcastValue()` to share
20
+ its scalar value with every authorized actor subscriber.
21
+
22
+ - Add `broadcastInvalidation()` so actors can drive granular component refresh
23
+ without persisting or sending the observable value.
24
+ - Add `broadcastValue()` for the explicit value-bearing observable contract.
25
+ - Extend durable and browser invalidation envelopes with invalidation-only
26
+ observable names.
27
+ - Add the framework-neutral `solid-objects/web` operator dashboard with Fetch
28
+ and Node/Connect mounting, runtime statistics, instance and mailbox detail,
29
+ reminder/effect/broadcast/dead-letter/process views, filtering, paging,
30
+ instance pause/resume, and idempotent dead-letter retry.
31
+ - Deny dashboard data by default through route-specific administration policy,
32
+ require session-backed masked CSRF tokens for actions, escape stored values,
33
+ and serve a strict content security policy.
34
+ - Add immutable dashboard extension routes, tabs, renderer overrides, and
35
+ middleware, plus configurable Chart.js dashboards and live statistics.
36
+ - Preserve downstream request bodies when the Node/Connect dashboard adapter
37
+ cascades a request outside its mount path.
38
+ - Add authorized and public read-only dashboard access modes that omit mutation
39
+ controls, reject POST actions, and require no CSRF session for public demos.
40
+ - Refocus the README and package metadata on native Node.js concurrency,
41
+ realtime state synchronization, and database-backed infrastructure.
42
+
5
43
  ## 0.12.1 - 2026-08-13
6
44
 
7
45
  - Accept camelCase rejection codes and fail malformed codes immediately with