create-githolon 0.59.1 → 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 +1 -1
- package/template/docs/03-client.md +19 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-githolon",
|
|
3
|
-
"version": "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
|