@robota-sdk/agent-transport-http 3.0.0-beta.100
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/CHANGELOG.md +332 -0
- package/LICENSE +661 -0
- package/README.md +123 -0
- package/dist/node/index.cjs +1 -0
- package/dist/node/index.d.cts +127 -0
- package/dist/node/index.d.cts.map +1 -0
- package/dist/node/index.d.ts +127 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +2 -0
- package/dist/node/index.js.map +1 -0
- package/package.json +78 -0
- package/src/__tests__/admission-loopback-scenario.test.ts +198 -0
- package/src/__tests__/http-base-path.test.ts +33 -0
- package/src/__tests__/http-transport.test.ts +174 -0
- package/src/__tests__/prompt-routes.test.ts +299 -0
- package/src/__tests__/routes-streamsse-throw.test.ts +49 -0
- package/src/__tests__/routes.test.ts +1063 -0
- package/src/__tests__/submit-stream.test.ts +126 -0
- package/src/__tests__/turn-claims.test.ts +102 -0
- package/src/http-session.ts +29 -0
- package/src/http-transport.ts +95 -0
- package/src/index.ts +6 -0
- package/src/open-prompts.ts +56 -0
- package/src/prompt-routes.ts +101 -0
- package/src/routes.ts +190 -0
- package/src/submit-route.ts +196 -0
- package/src/submit-stream.ts +289 -0
- package/src/turn-claims.ts +62 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
# @robota-sdk/agent-transport-http
|
|
2
|
+
|
|
3
|
+
## 3.0.0-beta.100
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.100
|
|
7
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.100
|
|
8
|
+
- @robota-sdk/agent-transport@3.0.0-beta.100
|
|
9
|
+
|
|
10
|
+
## 3.0.0-beta.99
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.99
|
|
14
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.99
|
|
15
|
+
- @robota-sdk/agent-transport@3.0.0-beta.99
|
|
16
|
+
|
|
17
|
+
## 3.0.0-beta.98
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.98
|
|
21
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.98
|
|
22
|
+
- @robota-sdk/agent-transport@3.0.0-beta.98
|
|
23
|
+
|
|
24
|
+
## 3.0.0-beta.97
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- Updated dependencies [c207a31]
|
|
28
|
+
- Updated dependencies [7911a7d]
|
|
29
|
+
- @robota-sdk/agent-transport@3.0.0-beta.97
|
|
30
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.97
|
|
31
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.97
|
|
32
|
+
|
|
33
|
+
## 3.0.0-beta.96
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.96
|
|
37
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.96
|
|
38
|
+
- @robota-sdk/agent-transport@3.0.0-beta.96
|
|
39
|
+
|
|
40
|
+
## 3.0.0-beta.95
|
|
41
|
+
### Patch Changes
|
|
42
|
+
|
|
43
|
+
- Updated dependencies [c967c57]
|
|
44
|
+
- Updated dependencies [60f3965]
|
|
45
|
+
- Updated dependencies [115e104]
|
|
46
|
+
- Updated dependencies [04719a9]
|
|
47
|
+
- Updated dependencies [04a6de4]
|
|
48
|
+
- Updated dependencies [0ba247b]
|
|
49
|
+
- @robota-sdk/agent-transport@3.0.0-beta.95
|
|
50
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.95
|
|
51
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.95
|
|
52
|
+
|
|
53
|
+
## 3.0.0-beta.94
|
|
54
|
+
### Patch Changes
|
|
55
|
+
|
|
56
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.94
|
|
57
|
+
- @robota-sdk/agent-transport@3.0.0-beta.94
|
|
58
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.94
|
|
59
|
+
|
|
60
|
+
## 3.0.0-beta.93
|
|
61
|
+
### Patch Changes
|
|
62
|
+
|
|
63
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.93
|
|
64
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.93
|
|
65
|
+
- @robota-sdk/agent-transport@3.0.0-beta.93
|
|
66
|
+
|
|
67
|
+
## 3.0.0-beta.92
|
|
68
|
+
### Patch Changes
|
|
69
|
+
|
|
70
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.92
|
|
71
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.92
|
|
72
|
+
- @robota-sdk/agent-transport@3.0.0-beta.92
|
|
73
|
+
|
|
74
|
+
## 3.0.0-beta.91
|
|
75
|
+
### Patch Changes
|
|
76
|
+
|
|
77
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.91
|
|
78
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.91
|
|
79
|
+
- @robota-sdk/agent-transport@3.0.0-beta.91
|
|
80
|
+
|
|
81
|
+
## 3.0.0-beta.90
|
|
82
|
+
### Patch Changes
|
|
83
|
+
|
|
84
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.90
|
|
85
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.90
|
|
86
|
+
- @robota-sdk/agent-transport@3.0.0-beta.90
|
|
87
|
+
|
|
88
|
+
## 3.0.0-beta.89
|
|
89
|
+
### Minor Changes
|
|
90
|
+
|
|
91
|
+
- ca44ac6: HTTP clients can now receive and answer permission and ask prompts. `POST /submit` with `receivePrompts: true` streams `permission_request`, `ask_request` and `prompt_resolved`. `GET /prompts` lists the prompts still open, so a client that attaches later can see them, and `POST /prompts/:id` answers one; an id that is not open returns 404, and an answer the session did not take returns 409. Clients that omit `receivePrompts` see no change. `IHttpTransportSession` now also requires `resolvePermission` and `resolveAsk`, which `InteractiveSession` already implements. The `--serve --http-port` API gains these routes as well.
|
|
92
|
+
|
|
93
|
+
### Patch Changes
|
|
94
|
+
|
|
95
|
+
- Updated dependencies [3427887]
|
|
96
|
+
- @robota-sdk/agent-transport@3.0.0-beta.89
|
|
97
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.89
|
|
98
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.89
|
|
99
|
+
|
|
100
|
+
## 3.0.0-beta.88
|
|
101
|
+
|
|
102
|
+
### Patch Changes
|
|
103
|
+
|
|
104
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.88
|
|
105
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.88
|
|
106
|
+
- @robota-sdk/agent-transport@3.0.0-beta.88
|
|
107
|
+
|
|
108
|
+
## 3.0.0-beta.87
|
|
109
|
+
|
|
110
|
+
### Patch Changes
|
|
111
|
+
|
|
112
|
+
- Release the migrated Robota product with its public SDK namespace, robota command, compatible SDK exports, internal product configuration, and verified CLI startup and delivery corrections.
|
|
113
|
+
- Updated dependencies
|
|
114
|
+
- Updated dependencies [7d9cc66]
|
|
115
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.87
|
|
116
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.87
|
|
117
|
+
- @robota-sdk/agent-transport@3.0.0-beta.87
|
|
118
|
+
|
|
119
|
+
## 3.0.0-beta.86
|
|
120
|
+
|
|
121
|
+
### Patch Changes
|
|
122
|
+
|
|
123
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.86
|
|
124
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.86
|
|
125
|
+
- @robota-sdk/agent-transport@3.0.0-beta.86
|
|
126
|
+
|
|
127
|
+
## 3.0.0-beta.85
|
|
128
|
+
|
|
129
|
+
### Patch Changes
|
|
130
|
+
|
|
131
|
+
- 54e2848: `POST /submit` on a session that is still starting (a fresh `InteractiveSession`) now waits for it to start and runs the turn. It used to answer 500 ("concurrent-turn tracking is unavailable") until background initialization finished. A session that fails to start is answered 500 without the reason. `IHttpTransportSession` gains an optional `whenInitialized()` for this.
|
|
132
|
+
- Updated dependencies [9a01e78]
|
|
133
|
+
- @robota-sdk/agent-transport@3.0.0-beta.85
|
|
134
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.85
|
|
135
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.85
|
|
136
|
+
|
|
137
|
+
## 3.0.0-beta.84
|
|
138
|
+
|
|
139
|
+
### Patch Changes
|
|
140
|
+
|
|
141
|
+
- Updated dependencies [e8d70ac]
|
|
142
|
+
- Updated dependencies [9c6a8db]
|
|
143
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.84
|
|
144
|
+
- @robota-sdk/agent-transport@3.0.0-beta.84
|
|
145
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.84
|
|
146
|
+
|
|
147
|
+
## 3.0.0-beta.83
|
|
148
|
+
|
|
149
|
+
### Major Changes
|
|
150
|
+
|
|
151
|
+
- 6e6b06b: A wire client can now render the whole session the way the in-process terminal UI does: the full
|
|
152
|
+
history, the context window as it changes, when the history changes, and where each turn came from.
|
|
153
|
+
|
|
154
|
+
- `agent-interface-session` is **`major`**: `ISessionConversationRead` gains a required
|
|
155
|
+
`getFullHistory()`. Any implementation of it, or of `IInteractiveSession`, must add it.
|
|
156
|
+
- `agent-transport` is **`major`**:
|
|
157
|
+
- It adds `get-history { fromIndex? }` → `history { startIndex, total, entries }`. The history
|
|
158
|
+
crosses one bounded page at a time (at most 256 KiB of entries; a single larger entry is sent
|
|
159
|
+
alone), from `fromIndex` (default 0), so no reply grows with the session. The client asks for
|
|
160
|
+
the next page after the previous one arrived. Entries are `IWireHistoryEntry`: a history entry
|
|
161
|
+
with an ISO 8601 `timestamp`. An observer may send it.
|
|
162
|
+
- `complete` and `interrupted` carry the turn's result without the session's history
|
|
163
|
+
(`TWireExecutionResult`); a client reads the history with `get-history`.
|
|
164
|
+
- It adds `get-prompts`: the host sends the permission and ask prompts still open as the
|
|
165
|
+
`permission_request` / `ask_request` frames that asked them, for a client that attached later.
|
|
166
|
+
An observer may not send it.
|
|
167
|
+
- `pending` gains an optional `pendingCount`: a host sends it when it knows how many prompts are
|
|
168
|
+
queued, and a client that gets none counts the prompt it shows. The host sends `pending` in
|
|
169
|
+
reply to a `submit` once it has taken the prompt, so a prompt queued behind a running turn shows
|
|
170
|
+
as queued.
|
|
171
|
+
- `command` takes an optional `requestId`, which the host echoes on the command's
|
|
172
|
+
`command_result` or `protocol_error`.
|
|
173
|
+
- The session's `context_update` is pushed as the `context` frame that `get-context` answers with.
|
|
174
|
+
- `compact`, `skill_activation` and `memory_event` push the new `history_changed`; the client
|
|
175
|
+
reads the history again.
|
|
176
|
+
- `turn_source` is pushed as the new `turn_source` frame.
|
|
177
|
+
- An exhaustive map over `TClientMessage` or `TServerMessage` types must add the new variants,
|
|
178
|
+
and `IProtocolSession` now requires `getFullHistory()`.
|
|
179
|
+
- `agent-transport-http` is **`major`** only because `IHttpTransportSession` includes the conversation
|
|
180
|
+
read role, so a session handed to it must now provide `getFullHistory()`.
|
|
181
|
+
- `agent-framework`: `SessionSlot` forwards `getFullHistory()` to the current session.
|
|
182
|
+
- `agent-ui-web` receives the new frames and does not render them.
|
|
183
|
+
|
|
184
|
+
### Patch Changes
|
|
185
|
+
|
|
186
|
+
- 57280bf: Every published package now declares `"engines": { "node": ">=22.12.0" }`. Before, 27 of the 38
|
|
187
|
+
packages declared no floor (`agent-core`, `agent-tools` and every provider among them),
|
|
188
|
+
`agent-session` and `agent-file-authority` declared `>=20.19.0`, and the other nine declared
|
|
189
|
+
`>=22.0.0`, so a consumer on Node 20 saw at most a warning from a transitive dependency.
|
|
190
|
+
|
|
191
|
+
Why 22.12: `agent-cli` and `agent-ui-terminal` need Node 22 through `ink` 7, and the CommonJS entries
|
|
192
|
+
of `agent-tools` and its dependents, `agent-transport`/`node` and its dependents, and
|
|
193
|
+
`agent-ui-terminal` `require()` ESM-only dependencies (`p-limit`, `jose`, `chalk`), which Node 22
|
|
194
|
+
supports unflagged only from 22.12. `engines` is advisory unless the consumer enables `engine-strict`.
|
|
195
|
+
|
|
196
|
+
No code changes: `tsdown` now reads `node22.12.0` as its build target from the field.
|
|
197
|
+
|
|
198
|
+
- 18c0d5c: Every published package now exports `./package.json`, so `require('<package>/package.json')` and
|
|
199
|
+
`import('<package>/package.json', { with: { type: 'json' } })` work instead of failing with
|
|
200
|
+
`ERR_PACKAGE_PATH_NOT_EXPORTED`, and each tarball now ships the package's `CHANGELOG.md`.
|
|
201
|
+
- Updated dependencies [724fabb]
|
|
202
|
+
- Updated dependencies [d877de2]
|
|
203
|
+
- Updated dependencies [d61e159]
|
|
204
|
+
- Updated dependencies [bfe8ed5]
|
|
205
|
+
- Updated dependencies [7b72344]
|
|
206
|
+
- Updated dependencies [6ae3f28]
|
|
207
|
+
- Updated dependencies [57f57f5]
|
|
208
|
+
- Updated dependencies [ba822c1]
|
|
209
|
+
- Updated dependencies [6e6b06b]
|
|
210
|
+
- Updated dependencies [57280bf]
|
|
211
|
+
- Updated dependencies [18c0d5c]
|
|
212
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.83
|
|
213
|
+
- @robota-sdk/agent-transport@3.0.0-beta.83
|
|
214
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.83
|
|
215
|
+
|
|
216
|
+
## 3.0.0-beta.82
|
|
217
|
+
|
|
218
|
+
### Patch Changes
|
|
219
|
+
|
|
220
|
+
- Updated dependencies [c7f9203]
|
|
221
|
+
- @robota-sdk/agent-transport@3.0.0-beta.82
|
|
222
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.82
|
|
223
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.82
|
|
224
|
+
|
|
225
|
+
## 3.0.0-beta.81
|
|
226
|
+
|
|
227
|
+
### Patch Changes
|
|
228
|
+
|
|
229
|
+
- Updated dependencies [3038eb7]
|
|
230
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.81
|
|
231
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.81
|
|
232
|
+
- @robota-sdk/agent-transport@3.0.0-beta.81
|
|
233
|
+
|
|
234
|
+
## 3.0.0-beta.80
|
|
235
|
+
|
|
236
|
+
### Major Changes
|
|
237
|
+
|
|
238
|
+
- e82215f: **ARCH-011: replace the ambiguous transport lifecycle stub with executable conformance.**
|
|
239
|
+
|
|
240
|
+
`ITransportAdapter` now requires a frozen `service | runner` lifecycle descriptor. `start()` resolves
|
|
241
|
+
at the concrete transport's documented readiness boundary; start before attach and repeated active
|
|
242
|
+
start reject a stable lifecycle error, repeated stop is safe, and stopped adapters can reattach and
|
|
243
|
+
restart.
|
|
244
|
+
|
|
245
|
+
Runner adapters launch separately and expose a typed terminal outcome through
|
|
246
|
+
`waitForCompletion()`. The registry accepts base adapters, rejects duplicate names, keeps
|
|
247
|
+
configuration as an optional capability, returns complete ordered records whose pending slots become
|
|
248
|
+
registry-owned `abandoned` outcomes on stop/rollback, and exposes a real-runner-only first-failure
|
|
249
|
+
wait. It serializes startup/stop, rejects active restart before mutation, and reverses partial startup
|
|
250
|
+
from the currently failing adapter with typed safe rollback details. Runtime host and serve mode
|
|
251
|
+
propagate real nonzero runner results without treating normal shutdown abandonment as failure.
|
|
252
|
+
|
|
253
|
+
HTTP, MCP, both WebSocket adapters, WebRTC, and headless invoke one shared public conformance kit.
|
|
254
|
+
The former `TuiTransport` export is removed because it ignored the attached session; use `renderApp`
|
|
255
|
+
or `TuiInteractionChannel`, which honestly own their session lifecycle.
|
|
256
|
+
|
|
257
|
+
### Minor Changes
|
|
258
|
+
|
|
259
|
+
- 9db63ee: Add named session capability roles and explicit capability-host queries while preserving the legacy
|
|
260
|
+
`IInteractiveSession` interface shape. HTTP, MCP, protocol, WS, WebRTC, and headless transports now
|
|
261
|
+
declare only the session roles they consume, and the direct aggregate-cast floor is zero.
|
|
262
|
+
|
|
263
|
+
### Patch Changes
|
|
264
|
+
|
|
265
|
+
- 4f3c075: Assemble complete, verified package generations before switching build output; preserve the previous generation on build failure and pack only verified regular-file images. Include copied CLI web assets in affected-build ordering and artifact transfer. Preserve the CLI version in managed build paths. Public runtime contracts remain compatible (patch).
|
|
266
|
+
- Updated dependencies [37b4bd7]
|
|
267
|
+
- Updated dependencies [50d2c9f]
|
|
268
|
+
- Updated dependencies [a5961c9]
|
|
269
|
+
- Updated dependencies [4c5148e]
|
|
270
|
+
- Updated dependencies [0116a29]
|
|
271
|
+
- Updated dependencies [e82215f]
|
|
272
|
+
- Updated dependencies [52b7346]
|
|
273
|
+
- Updated dependencies [9db63ee]
|
|
274
|
+
- Updated dependencies [b078afa]
|
|
275
|
+
- Updated dependencies [2ebff01]
|
|
276
|
+
- Updated dependencies [9db63ee]
|
|
277
|
+
- Updated dependencies [2ebff01]
|
|
278
|
+
- Updated dependencies [4772067]
|
|
279
|
+
- Updated dependencies [0f98419]
|
|
280
|
+
- Updated dependencies [64ba748]
|
|
281
|
+
- Updated dependencies [d312755]
|
|
282
|
+
- Updated dependencies [3244fb8]
|
|
283
|
+
- Updated dependencies [1e3f91a]
|
|
284
|
+
- Updated dependencies [4f3c075]
|
|
285
|
+
- Updated dependencies [7669851]
|
|
286
|
+
- Updated dependencies [4b76cfa]
|
|
287
|
+
- Updated dependencies [07b627f]
|
|
288
|
+
- Updated dependencies [9665c6e]
|
|
289
|
+
- Updated dependencies [44393be]
|
|
290
|
+
- Updated dependencies [c7fa299]
|
|
291
|
+
- Updated dependencies [5134b3b]
|
|
292
|
+
- Updated dependencies [5c5ff23]
|
|
293
|
+
- Updated dependencies [9814afc]
|
|
294
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.80
|
|
295
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.80
|
|
296
|
+
- @robota-sdk/agent-transport@3.0.0-beta.80
|
|
297
|
+
|
|
298
|
+
## 3.0.0-beta.79
|
|
299
|
+
|
|
300
|
+
### Patch Changes
|
|
301
|
+
|
|
302
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.79
|
|
303
|
+
|
|
304
|
+
## 3.0.0-beta.78
|
|
305
|
+
|
|
306
|
+
### Patch Changes
|
|
307
|
+
|
|
308
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.78
|
|
309
|
+
|
|
310
|
+
## 3.0.0-beta.77
|
|
311
|
+
|
|
312
|
+
### Patch Changes
|
|
313
|
+
|
|
314
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.77
|
|
315
|
+
|
|
316
|
+
## 3.0.0-beta.76
|
|
317
|
+
|
|
318
|
+
### Minor Changes
|
|
319
|
+
|
|
320
|
+
- 9df3a88: Split the consolidated `@robota-sdk/agent-transport` package into per-concern transport packages (DQ-AUDIT-005) so unrelated heavy dependencies (React/Ink, ws, Hono, MCP SDK) no longer share one publishable unit and are not dragged into non-TUI consumers' graphs:
|
|
321
|
+
|
|
322
|
+
- `@robota-sdk/agent-transport` — lean core: headless adapter + `TransportRegistry` + scripted-provider testing fixtures (no external runtime deps).
|
|
323
|
+
- `@robota-sdk/agent-transport-tui` — React + Ink terminal UI.
|
|
324
|
+
- `@robota-sdk/agent-transport-ws` — WebSocket transport + protocol (`agent-web-ui` now depends only on this for WS types).
|
|
325
|
+
- `@robota-sdk/agent-transport-http` — Hono HTTP transport.
|
|
326
|
+
- `@robota-sdk/agent-transport-mcp` — MCP server transport.
|
|
327
|
+
|
|
328
|
+
The default transport-registry wiring (pre-registering `WsTransport`) moves to the CLI composition root, removing the core→ws edge.
|
|
329
|
+
|
|
330
|
+
### Patch Changes
|
|
331
|
+
|
|
332
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.76
|