create-githolon 0.59.0 → 0.60.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-githolon",
3
- "version": "0.59.0",
3
+ "version": "0.60.0",
4
4
  "type": "module",
5
5
  "description": "Scaffold a Nomos domain package: the starter domain + compile config + live e2e. `npm create githolon my-app`.",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -33,6 +33,25 @@ params)`, `holon.queryById(id)`, `holon.count(id, group)`, `holon.sum(id,
33
33
  group)`. Hover anything in your editor — `@githolon/client` ships full types
34
34
  and the semantics live in the doc comments.
35
35
 
36
+ ## Many workspaces at once (the normal shape)
37
+
38
+ Everything about Nomos is multi-workspace: a real app holds a dozen+ live
39
+ local workspaces (the user's home, each estate, each catalogue). Don't build
40
+ on a single-connection assumption — hold one PLANE and many handles on it.
41
+
42
+ - **TS/JS**: `openRealm` mounts N workspaces in ONE engine; give each
43
+ generated client its own handle:
44
+ `const realm = await openRealm({ cloud }); const estate = estateClient(await realm.workspace("estate-…"));`
45
+ (`connect()` remains the one-workspace sugar over the same machinery.)
46
+ - **Flutter/Dart**: one `NomosBridge` per app, one `NomosSession` per
47
+ workspace: `EstateClient(bridge.session('estate-…'))`. A session IS a
48
+ `NomosBridge` (generated clients take it unchanged) with every op pinned to
49
+ its workspace. Calling a bare multi-session bridge without a session refuses
50
+ LOUDLY (`multiple sessions connected — pass session`) rather than guessing.
51
+
52
+ A workspace opened with no `cloud` is LOCAL-ONLY (never converges upstream);
53
+ cloud sync is a per-workspace posture, and one plane freely mixes both.
54
+
36
55
  ## sync()
37
56
 
38
57
  ```ts