@lunora/do 1.0.0-alpha.149 → 1.0.0-alpha.150

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/README.md CHANGED
@@ -78,6 +78,15 @@ export class MyShard extends ShardDO {
78
78
  }
79
79
  ```
80
80
 
81
+ `broadcastDelta` is the raw-delta fan-out for a shard like this one, which has
82
+ no `executeSubscription` override and so cannot re-run a subscriber's query. It
83
+ delivers to sockets whose registered subscription carries a `table` string equal
84
+ to `delta.table` — an exact match, with no table-dependency analysis behind it.
85
+ `@lunora/client` has no table name to register there and sends the function path
86
+ instead, so pair it with a client that names the table explicitly. Projects
87
+ generated by `lunora codegen` route this hook to `recordChangedTable` and get
88
+ server-side re-execution instead.
89
+
81
90
  > This README covers the basics. For the full API, options, and guides, see the **[documentation](https://lunora.sh/docs/api/do)**.
82
91
 
83
92
  ## Related
package/dist/index.d.mts CHANGED
@@ -2810,6 +2810,14 @@ declare abstract class ShardDO {
2810
2810
  * shallow-equality predicate over `query.args` against `delta.row`. A
2811
2811
  * subscription with no `args` matches every row in the table.
2812
2812
  *
2813
+ * `query.table` is whatever the CLIENT registered, compared verbatim — no
2814
+ * table-dependency analysis stands behind it. `@lunora/client` has no table
2815
+ * name to give (a function reference carries only its `namespace:fn` id) and
2816
+ * registers the function path there, so a shard that broadcasts real table
2817
+ * names reaches none of its subscriptions. That is not a gap to close here:
2818
+ * re-execution (`recordChangedTable` → `refreshSubscriptions`) is the routing
2819
+ * every generated app uses, and it keys off read tables properly.
2820
+ *
2813
2821
  * Subclasses can override this to implement range queries, joins, or
2814
2822
  * full-text matching — anything more elaborate than equality. When
2815
2823
  * `delta.row` is undefined (delete events without row data) we fall back
package/dist/index.d.ts CHANGED
@@ -2810,6 +2810,14 @@ declare abstract class ShardDO {
2810
2810
  * shallow-equality predicate over `query.args` against `delta.row`. A
2811
2811
  * subscription with no `args` matches every row in the table.
2812
2812
  *
2813
+ * `query.table` is whatever the CLIENT registered, compared verbatim — no
2814
+ * table-dependency analysis stands behind it. `@lunora/client` has no table
2815
+ * name to give (a function reference carries only its `namespace:fn` id) and
2816
+ * registers the function path there, so a shard that broadcasts real table
2817
+ * names reaches none of its subscriptions. That is not a gap to close here:
2818
+ * re-execution (`recordChangedTable` → `refreshSubscriptions`) is the routing
2819
+ * every generated app uses, and it keys off read tables properly.
2820
+ *
2813
2821
  * Subclasses can override this to implement range queries, joins, or
2814
2822
  * full-text matching — anything more elaborate than equality. When
2815
2823
  * `delta.row` is undefined (delete events without row data) we fall back
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lunora/do",
3
- "version": "1.0.0-alpha.149",
3
+ "version": "1.0.0-alpha.150",
4
4
  "description": "Lunora Durable Objects: ShardDO (SQLite, OCC, hibernated WebSocket subscriptions) and SessionDO",
5
5
  "keywords": [
6
6
  "cloudflare",
@@ -47,9 +47,9 @@
47
47
  },
48
48
  "dependencies": {
49
49
  "@lunora/errors": "1.0.0-alpha.39",
50
- "@lunora/observability": "1.0.0-alpha.83",
50
+ "@lunora/observability": "1.0.0-alpha.84",
51
51
  "@lunora/platform-cloudflare": "1.0.0-alpha.45",
52
- "@lunora/shard-engine": "1.0.0-alpha.74",
52
+ "@lunora/shard-engine": "1.0.0-alpha.75",
53
53
  "drizzle-orm": "^0.45.2"
54
54
  },
55
55
  "engines": {