@workerdeck/react 0.13.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.
Files changed (2) hide show
  1. package/README.md +18 -0
  2. 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.13.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/client": "0.13.0",
21
- "@workerdeck/protocol": "0.13.0",
22
- "@workerdeck/sandbox": "0.13.0"
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/core": "0.13.0",
45
- "@workerdeck/server": "0.13.0"
44
+ "@workerdeck/server": "0.15.0",
45
+ "@workerdeck/core": "0.15.0"
46
46
  },
47
47
  "author": "Tobias Strebitzer",
48
48
  "repository": {