@workerdeck/react 0.12.0 → 0.15.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/README.md +18 -0
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -135,6 +135,24 @@ client, so a second, separately-created handle would sit idle while the real one
|
|
|
135
135
|
`createToolCallHost` is the same logic without React. Results returned from a tab are untrusted
|
|
136
136
|
input by construction: fine for the user's own data, never a source of server-authoritative state.
|
|
137
137
|
|
|
138
|
+
## Rules you cannot infer from the types
|
|
139
|
+
|
|
140
|
+
- **Companions must ride the hook's own `handle`.** The server's tool bridge asks the *first
|
|
141
|
+
attached client*, so a second `useClaudeSession` for the same session is a second attach that
|
|
142
|
+
will never be asked anything. `useAttachments`, `useHostFileSearch` and `useToolCallHost` all
|
|
143
|
+
take the handle you already have.
|
|
144
|
+
- **`TranscriptState.capabilities` is always populated**, engine record or protocol default. Render
|
|
145
|
+
every surface from it rather than branching on the engine name — that is what makes one component
|
|
146
|
+
correct for all three engines.
|
|
147
|
+
- **`useToolCallHost` refuses tool names outside its allow-list** (default `['eval_script']`). It is
|
|
148
|
+
a grant, not a filter: every name you add is one this tab will execute on the gateway's say-so.
|
|
149
|
+
- **`useOpenFiles` keeps `content` (disk) and `draft` (edits) apart, and `/fs/write` is conditional
|
|
150
|
+
always.** A 409 is a *choice* to offer the user — reload, keep mine, dismiss — never a toast, and
|
|
151
|
+
nothing but `revert` or an explicit reload may discard a draft.
|
|
152
|
+
- **The recap is counted, never written.** `summarizeSince` returns numbers because generating
|
|
153
|
+
prose would spend a turn on a summary nobody asked for, and would be worst exactly where it
|
|
154
|
+
matters most: a session that failed while unattended.
|
|
155
|
+
|
|
138
156
|
## License
|
|
139
157
|
|
|
140
158
|
MIT © Tobias Strebitzer — see
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workerdeck/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Headless React layer for WorkerDeck: session hook + pure transcript and sessions-list reducers. No styling opinion — @workerdeck/ui is the styled layer on top.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@workerdeck/
|
|
21
|
-
"@workerdeck/
|
|
22
|
-
"@workerdeck/
|
|
20
|
+
"@workerdeck/client": "0.15.0",
|
|
21
|
+
"@workerdeck/protocol": "0.15.0",
|
|
22
|
+
"@workerdeck/sandbox": "0.15.0"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"react": "^18.0.0 || ^19.0.0",
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
"tsdown": "^0.21.10",
|
|
42
42
|
"vitest": "^3.2.0",
|
|
43
43
|
"ws": "^8.21.1",
|
|
44
|
-
"@workerdeck/server": "0.
|
|
45
|
-
"@workerdeck/core": "0.
|
|
44
|
+
"@workerdeck/server": "0.15.0",
|
|
45
|
+
"@workerdeck/core": "0.15.0"
|
|
46
46
|
},
|
|
47
47
|
"author": "Tobias Strebitzer",
|
|
48
48
|
"repository": {
|