@cogitator-ai/tetsu 0.6.0 → 0.7.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 CHANGED
@@ -52,22 +52,22 @@ A run that waits on a slow tool or model can stay silent for longer than the `id
52
52
 
53
53
  A Tetsu controller named `Cogitator`: `operationId`s in the OpenAPI document are `cogitatorRunAgent`, `cogitatorGetThread` and so on.
54
54
 
55
- | Option | Type | Description |
56
- | -------------------- | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
57
- | `cogitator` | `Cogitator` | **Required.** The runtime |
58
- | `agents` | `Record<string, Agent>` | Agents by name |
59
- | `workflows` | `Record<string, Workflow>` | Workflows by name |
60
- | `swarms` | `Record<string, SwarmConfig>` | Swarms by name |
61
- | `auth` | `(ctx) => AuthContext \| undefined` or hook | Establishes the caller, see [Authentication](#authentication) |
62
- | `anonymous` | `'allow' \| 'deny'` | Whether callers without a `userId` may use the API (default `'allow'`), see [Anonymous callers](#anonymous-callers) |
63
- | `authorizeThread` | `(auth, threadId) => boolean` | Decides who may use a memory thread, see [Users and threads](#users-and-threads) |
64
- | `limits` | `RunLimits` | Caps on what a request may ask a swarm or workflow run for, see [Run limits](#run-limits) |
65
- | `deps` | `(ctx) => unknown \| Promise<unknown>` | Builds the `deps` agent runs pass to their tools, see [Run deps](#run-deps) |
66
- | `websocket` | `boolean \| { path?: string }` | Serve the WebSocket endpoint (default path `/ws`) |
67
- | `until` | `AbortSignal \| (() => AbortSignal)` | Ends open streams and sockets, such as `draining` from `@tetsujs/lifecycle` |
68
- | `sseHeartbeatMs` | `number` | Heartbeat comment interval of SSE streams (default `5000`, `0` turns it off) |
69
- | `acceptContext` | `boolean \| string[]` | Keys of a run `context` clients may send: none by default, a list, or `true` for any (the model reads it as data from the application) |
70
- | `threadMessageRoles` | `ThreadMessageRole[]` | Roles `POST /threads/:id/messages` accepts (default `user` and `assistant`) |
55
+ | Option | Type | Description |
56
+ | -------------------- | --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
57
+ | `cogitator` | `Cogitator` | **Required.** The runtime |
58
+ | `agents` | `Record<string, Agent>` | Agents by name |
59
+ | `workflows` | `Record<string, Workflow>` | Workflows by name |
60
+ | `swarms` | `Record<string, SwarmConfig>` | Swarms by name |
61
+ | `auth` | `(ctx) => AuthContext \| undefined` or hook | Establishes the caller, see [Authentication](#authentication) |
62
+ | `anonymous` | `'allow' \| 'deny'` | Whether callers without a `userId` may use the API (default `'allow'`), see [Anonymous callers](#anonymous-callers) |
63
+ | `authorizeThread` | `(auth, threadId) => boolean` | Decides who may use a memory thread, see [Users and threads](#users-and-threads) |
64
+ | `limits` | `RunLimits` | Caps on what a request may ask a swarm or workflow run for, see [Run limits](#run-limits) |
65
+ | `deps` | `(ctx) => unknown \| Promise<unknown>` | Builds the `deps` agent runs pass to their tools, see [Run deps](#run-deps) |
66
+ | `websocket` | `boolean \| { path?, maxRuns?, maxBufferedBytes? }` | Serve the WebSocket endpoint (default path `/ws`), see [WebSocket](#websocket) |
67
+ | `until` | `AbortSignal \| (() => AbortSignal)` | Ends open streams and sockets, such as `draining` from `@tetsujs/lifecycle` |
68
+ | `sseHeartbeatMs` | `number` | Heartbeat comment interval of SSE streams (default `5000`, `0` turns it off) |
69
+ | `acceptContext` | `boolean \| string[]` | Keys of a run `context` clients may send: none by default, a list, or `true` for any (the model reads it as data from the application) |
70
+ | `threadMessageRoles` | `ThreadMessageRole[]` | Roles `POST /threads/:id/messages` accepts (default `user` and `assistant`) |
71
71
 
72
72
  ## Endpoints
73
73
 
@@ -329,6 +329,8 @@ data: {"type":"finish","messageId":"msg_…","usage":{"inputTokens":12,"outputTo
329
329
  data: [DONE]
330
330
  ```
331
331
 
332
+ Each event matches `StreamEventSchema` from `@cogitator-ai/server-shared`, which a client can parse events with (see [OpenAPI](#openapi) for the event schemas in the document).
333
+
332
334
  `start` names the run's thread: the `threadId` of the request, or the thread the controller opened for it, so a client that sent none continues the conversation with this one even if the stream breaks. `finish` repeats it with `status` and the other outcome fields of the JSON answer.
333
335
 
334
336
  An agent with `reasoning: { summary: true }` also streams its reasoning summary as `reasoning-start`, `reasoning-delta` and `reasoning-end` events. A text or reasoning part opens with its first delta and is closed before a part of the other kind, a tool call or `finish`, so parts never overlap and text after a tool call starts a new part. An answer the model gave in one piece arrives as one text part before `finish`, and a resumed run that pauses again sends `approval-required` before `finish`. `POST /agents/:name/run` returns the summary as `reasoning`, and `usage` gains `reasoningTokens`, `cachedInputTokens` and `cacheWriteTokens` when the provider reports them. The `finish` event of an agent stream carries the same `usage` as the JSON answer, these counts included.
@@ -343,16 +345,26 @@ Validation (`415`, `422`), `401`, `404` and the `403 THREAD_FORBIDDEN` of `autho
343
345
  cogitatorController({ cogitator, agents, auth, websocket: true });
344
346
  ```
345
347
 
346
- The handshake runs `auth` and the `anonymous` policy like any route, and builds the connection's `deps` once: every run and resume on the socket shares them, and none rebuilds them. Workflow and swarm runs are held to `limits`, and runs that name a thread are checked by `authorizeThread`. Each socket runs one agent, workflow or swarm at a time, and a `run` or `resume` sent while one is in progress gets an error with `code: 'RUN_IN_PROGRESS'`.
348
+ The handshake runs `auth` and the `anonymous` policy like any route, and builds the connection's `deps` once: every run and resume on the socket shares them, and none rebuilds them. Workflow and swarm runs are held to `limits`, and runs that name a thread are checked by `authorizeThread`. A socket runs several agents, workflows and swarms at once, told apart by the `id` of the frame that started each, and every frame the server sends for a run carries that `id`. A `run` or `resume` with the `id` of a run still going, or a second one without an `id`, gets an error with `code: 'RUN_IN_PROGRESS'`. Past `maxRuns` runs at once (8 by default) a new one gets `code: 'TOO_MANY_RUNS'`, so one handshake cannot open any number of model runs. `maxRuns` and `maxBufferedBytes` hold for each socket, not for a user who opens many: cap sockets or runs per user in `auth` or a rate limiter in front of the app. The runs of a socket share the `deps` built at the handshake and run at the same time, so `deps` holding a connection or transaction must be safe to use from several runs at once, and two runs on one thread are no longer queued behind each other.
349
+
350
+ ```typescript
351
+ cogitatorController({
352
+ cogitator,
353
+ agents,
354
+ websocket: { path: '/ws', maxRuns: 4, maxBufferedBytes: 1024 * 1024 },
355
+ });
356
+ ```
357
+
358
+ A client that reads slowly gets every frame in order: once the socket pushes back, the frames after it wait on the server and go out as it drains. When more than `maxBufferedBytes` wait (4 MiB by default), or Bun drops a frame, the socket is closed with code `1008`, which cancels its runs, rather than losing frames in the middle of a run. Both options must be positive integers, or building the controller throws.
347
359
 
348
360
  | Client sends | Server answers |
349
361
  | ------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
350
362
  | `{ type: 'run', id?, payload: { type: 'agent' \| 'workflow' \| 'swarm', name, input, context?, threadId? } }` | `event` frames: `token`, `reasoning`, `tool-call`, `tool-result`, then `complete` with the result (for an agent, the JSON answer of `/run`), or `cancelled` |
351
363
  | `{ type: 'resume', id?, payload: { name, threadId, decisions?, defaultDecision? } }` | the same frames for an agent run paused for [approvals](#approvals) |
352
- | `{ type: 'stop' }` | cancels the current run |
364
+ | `{ type: 'stop', id? }` | `cancelled` for the run of that `id` at once, or for every run of the socket without an `id` |
353
365
  | `{ type: 'ping', id? }` | `{ type: 'pong', id }` |
354
366
 
355
- Errors arrive as `{ type: 'error', id, error, code }` and leave the socket open. An invalid frame gets `code: 'INVALID_MESSAGE'`, a swarm that ran out of time `code: 'RUN_TIMEOUT'`, and an error that is not a `CogitatorError` is sent as `Internal server error` with `code: 'INTERNAL_ERROR'`. Closing the socket cancels its run. Bun's server-level options such as `maxPayloadLength` are set where the app is served:
367
+ Errors arrive as `{ type: 'error', id, error, code }` and leave the socket open. An invalid frame gets `code: 'INVALID_MESSAGE'`, a swarm that ran out of time `code: 'RUN_TIMEOUT'`, and an error that is not a `CogitatorError` is sent as `Internal server error` with `code: 'INTERNAL_ERROR'`. Closing the socket cancels its runs. A cancelled run sends nothing after `cancelled`, even one that notices the stop only later, such as a workflow node still running, its `id` is free for a new run at once, and it keeps its place among the `maxRuns` until it ends. A `stop` whose `id` matches no run does nothing. Bun's server-level options such as `maxPayloadLength` are set where the app is served:
356
368
 
357
369
  ```typescript
358
370
  Bun.serve({ ...app, websocket: { ...app.websocket, maxPayloadLength: 1024 * 1024 } });
@@ -376,7 +388,16 @@ shutdown = onShutdownSignals(server);
376
388
 
377
389
  ## OpenAPI
378
390
 
379
- Request and response schemas are Zod, so `docs()` and `openapi()` from `@tetsujs/openapi` describe every route, the run failures a `CogitatorError` can produce, the thread page query, the `limits` as field defaults, and the schemes of a `secured()` caller hook. SSE and WebSocket endpoints are documented by their description only, since OpenAPI cannot describe what follows the headers.
391
+ Request and response schemas are Zod, so `docs()` and `openapi()` from `@tetsujs/openapi` describe every route, the run failures a `CogitatorError` can produce, the thread page query, the `limits` as field defaults, and the schemes of a `secured()` caller hook. `@tetsujs/openapi` has no way yet to give a route a `text/event-stream` body, so the SSE endpoints come out with a description and no body schema, and the WebSocket endpoint with its description only. To have the stream events in the document, build it with `openapi()` and pass it through `documentStreamEvents` from `@cogitator-ai/server-shared`, which adds the `StreamEvent` components and gives every `/stream` route that body:
392
+
393
+ ```ts
394
+ import { openapi } from '@tetsujs/openapi';
395
+ import { documentStreamEvents } from '@cogitator-ai/server-shared';
396
+
397
+ const document = documentStreamEvents(openapi(app, { info }).document);
398
+ ```
399
+
400
+ `docs()` builds its document itself and takes no transform, so the document it serves leaves the stream bodies out.
380
401
 
381
402
  The request and response schemas (`RunBody`, `ResumeBody`, `AgentRunResponse`, `SocketMessage`, …) and their TypeScript types (`AgentRunRequest`, `AgentRunResponseBody`, `WebSocketClientMessage`, …) are exported for clients and your own routes, along with `ThreadQuery`, the error helpers `cogitatorErrorResponse()`, `cogitatorErrorStatus()` and `describeError()`, and the `RunLimits` and `AnonymousPolicy` types.
382
403
 
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiD7B,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,YAAY,CAAC;AAqE7D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAye9B,CAAC"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiD7B,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,YAAY,CAAC;AAqE7D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoe9B,CAAC"}
@@ -461,7 +461,7 @@ export const cogitatorController = controller('Cogitator', (deps) => {
461
461
  }),
462
462
  };
463
463
  const socket = deps.websocket
464
- ? cogitatorSocket(deps, caller, admitted, deps.websocket === true ? undefined : deps.websocket.path)
464
+ ? cogitatorSocket(deps, caller, admitted, deps.websocket === true ? undefined : deps.websocket)
465
465
  : undefined;
466
466
  return { ...routes, ...(socket && { socket }) };
467
467
  });
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { WebSocketServerMessage } from './types.js';
2
+ /** The close code of a socket whose client does not read what the server sends */
3
+ export declare const SLOW_CLIENT_CLOSE_CODE = 1008;
4
+ export declare const SLOW_CLIENT_CLOSE_REASON = "The client does not read its messages fast enough";
5
+ /** What the outbox needs of a socket: Bun's `ServerWebSocket` */
6
+ export interface OutboxSocket {
7
+ readonly readyState: number;
8
+ /** `-1` when the frame was buffered under backpressure, `0` when it was dropped */
9
+ send(data: string): number;
10
+ close(code?: number, reason?: string): void;
11
+ }
12
+ /**
13
+ * The frames a socket sends, in order, under backpressure.
14
+ *
15
+ * Once Bun reports backpressure, the frames after it wait here until the socket drains. When
16
+ * more than `maxBufferedBytes` wait, or Bun drops a frame, the socket is closed with
17
+ * {@link SLOW_CLIENT_CLOSE_CODE}: a client that does not read loses its connection, never
18
+ * frames in the middle of a run.
19
+ */
20
+ export declare class SocketOutbox {
21
+ private readonly socket;
22
+ private readonly maxBufferedBytes;
23
+ private readonly queue;
24
+ private queuedBytes;
25
+ private congested;
26
+ private closed;
27
+ constructor(socket: OutboxSocket, maxBufferedBytes: number);
28
+ send(message: WebSocketServerMessage): void;
29
+ /** Sends what waited, until the socket pushes back again: the `drain` hook of the socket */
30
+ drain(): void;
31
+ /** Drops what waits: the socket closed */
32
+ close(): void;
33
+ private write;
34
+ private hold;
35
+ private giveUp;
36
+ }
37
+ //# sourceMappingURL=socket-outbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket-outbox.d.ts","sourceRoot":"","sources":["../src/socket-outbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAIzD,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,eAAO,MAAM,wBAAwB,sDAAsD,CAAC;AAE5F,iEAAiE;AACjE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,mFAAmF;IACnF,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,qBAAa,YAAY;IAOrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAPnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAS;gBAGJ,MAAM,EAAE,YAAY,EACpB,gBAAgB,EAAE,MAAM;IAG3C,IAAI,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAU3C,4FAA4F;IAC5F,KAAK,IAAI,IAAI;IAWb,0CAA0C;IAC1C,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,MAAM;CAIf"}
@@ -0,0 +1,71 @@
1
+ const OPEN = 1;
2
+ /** The close code of a socket whose client does not read what the server sends */
3
+ export const SLOW_CLIENT_CLOSE_CODE = 1008;
4
+ export const SLOW_CLIENT_CLOSE_REASON = 'The client does not read its messages fast enough';
5
+ /**
6
+ * The frames a socket sends, in order, under backpressure.
7
+ *
8
+ * Once Bun reports backpressure, the frames after it wait here until the socket drains. When
9
+ * more than `maxBufferedBytes` wait, or Bun drops a frame, the socket is closed with
10
+ * {@link SLOW_CLIENT_CLOSE_CODE}: a client that does not read loses its connection, never
11
+ * frames in the middle of a run.
12
+ */
13
+ export class SocketOutbox {
14
+ socket;
15
+ maxBufferedBytes;
16
+ queue = [];
17
+ queuedBytes = 0;
18
+ congested = false;
19
+ closed = false;
20
+ constructor(socket, maxBufferedBytes) {
21
+ this.socket = socket;
22
+ this.maxBufferedBytes = maxBufferedBytes;
23
+ }
24
+ send(message) {
25
+ if (this.closed || this.socket.readyState !== OPEN)
26
+ return;
27
+ const frame = JSON.stringify(message);
28
+ if (this.congested) {
29
+ this.hold(frame);
30
+ return;
31
+ }
32
+ this.write(frame);
33
+ }
34
+ /** Sends what waited, until the socket pushes back again: the `drain` hook of the socket */
35
+ drain() {
36
+ if (this.closed)
37
+ return;
38
+ this.congested = false;
39
+ while (!this.congested && !this.closed) {
40
+ const frame = this.queue.shift();
41
+ if (frame === undefined)
42
+ return;
43
+ this.queuedBytes -= Buffer.byteLength(frame);
44
+ this.write(frame);
45
+ }
46
+ }
47
+ /** Drops what waits: the socket closed */
48
+ close() {
49
+ this.closed = true;
50
+ this.queue.length = 0;
51
+ this.queuedBytes = 0;
52
+ }
53
+ write(frame) {
54
+ const sent = this.socket.send(frame);
55
+ if (sent === -1)
56
+ this.congested = true;
57
+ else if (sent === 0)
58
+ this.giveUp();
59
+ }
60
+ hold(frame) {
61
+ this.queue.push(frame);
62
+ this.queuedBytes += Buffer.byteLength(frame);
63
+ if (this.queuedBytes > this.maxBufferedBytes)
64
+ this.giveUp();
65
+ }
66
+ giveUp() {
67
+ this.close();
68
+ this.socket.close(SLOW_CLIENT_CLOSE_CODE, SLOW_CLIENT_CLOSE_REASON);
69
+ }
70
+ }
71
+ //# sourceMappingURL=socket-outbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket-outbox.js","sourceRoot":"","sources":["../src/socket-outbox.ts"],"names":[],"mappings":"AAEA,MAAM,IAAI,GAAG,CAAC,CAAC;AAEf,kFAAkF;AAClF,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAC3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,mDAAmD,CAAC;AAU5F;;;;;;;GAOG;AACH,MAAM,OAAO,YAAY;IAOJ;IACA;IAPF,KAAK,GAAa,EAAE,CAAC;IAC9B,WAAW,GAAG,CAAC,CAAC;IAChB,SAAS,GAAG,KAAK,CAAC;IAClB,MAAM,GAAG,KAAK,CAAC;IAEvB,YACmB,MAAoB,EACpB,gBAAwB;QADxB,WAAM,GAAN,MAAM,CAAc;QACpB,qBAAgB,GAAhB,gBAAgB,CAAQ;IACxC,CAAC;IAEJ,IAAI,CAAC,OAA+B;QAClC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,IAAI;YAAE,OAAO;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,4FAA4F;IAC5F,KAAK;QACH,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO;YAChC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,KAAa;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,CAAC,CAAC;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aAClC,IAAI,IAAI,KAAK,CAAC;YAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACrC,CAAC;IAEO,IAAI,CAAC,KAAa;QACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAC9D,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAAC;IACtE,CAAC;CACF"}
package/dist/socket.d.ts CHANGED
@@ -1,7 +1,11 @@
1
1
  import type { z } from 'zod';
2
2
  import type { anonymousHook, CallerHook } from './auth.js';
3
3
  import type { RunDeps } from './operations.js';
4
- import type { CogitatorDeps } from './types.js';
4
+ import type { CogitatorDeps, WebSocketOptions } from './types.js';
5
+ /** Default of `websocket.maxRuns`: the runs a socket may have going at once */
6
+ export declare const DEFAULT_MAX_SOCKET_RUNS = 8;
7
+ /** Default of `websocket.maxBufferedBytes`: what may wait for a client that reads slowly */
8
+ export declare const DEFAULT_MAX_BUFFERED_BYTES: number;
5
9
  /** What the handshake adds to a socket: the `deps` of every agent run on the connection */
6
10
  export interface ConnectionDeps {
7
11
  cogitatorDeps: RunDeps;
@@ -9,11 +13,14 @@ export interface ConnectionDeps {
9
13
  /**
10
14
  * The WebSocket endpoint of `cogitatorController()`.
11
15
  *
12
- * The handshake runs the same `auth` and `anonymous` policy as the HTTP routes. Each
13
- * socket runs one agent, workflow or swarm at a time; `stop` cancels it, and so does
14
- * closing the socket. Workflow and swarm runs are held to the server's `limits`.
16
+ * The handshake runs the same `auth` and `anonymous` policy as the HTTP routes. A socket runs
17
+ * up to `maxRuns` agents, workflows and swarms at once, told apart by the `id` of the frame
18
+ * that started each: `stop` with an `id` cancels that run, and `stop` without one, or closing
19
+ * the socket, cancels them all. What the server sends waits for a client that reads slowly,
20
+ * up to `maxBufferedBytes`, past which the socket is closed. Workflow and swarm runs are held
21
+ * to the server's `limits`.
15
22
  */
16
- export declare function cogitatorSocket(deps: CogitatorDeps, caller: CallerHook, admitted: ReturnType<typeof anonymousHook>, path?: `/${string}`): import("@tetsujs/core").WsDef<`/${string}`, {
23
+ export declare function cogitatorSocket(deps: CogitatorDeps, caller: CallerHook, admitted: ReturnType<typeof anonymousHook>, options?: WebSocketOptions): import("@tetsujs/core").WsDef<`/${string}`, {
17
24
  readonly message: z.ZodDiscriminatedUnion<[z.ZodObject<{
18
25
  type: z.ZodLiteral<"ping">;
19
26
  id: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../src/socket.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAiB3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,KAAK,EAAe,aAAa,EAA0B,MAAM,YAAY,CAAC;AAgBrF,2FAA2F;AAC3F,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,OAAO,CAAC;CACxB;AAaD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,EAC1C,IAAI,GAAE,IAAI,MAAM,EAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DlC"}
1
+ {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../src/socket.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAiB3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAK/C,OAAO,KAAK,EAAe,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAS/E,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,4FAA4F;AAC5F,eAAO,MAAM,0BAA0B,QAAkB,CAAC;AAqB1D,2FAA2F;AAC3F,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,OAAO,CAAC;CACxB;AA2BD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,EAC1C,OAAO,GAAE,gBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuF/B"}
package/dist/socket.js CHANGED
@@ -4,8 +4,21 @@ import { toAgentRunResponse } from '@cogitator-ai/server-shared';
4
4
  import { checkThreadAccess, executeSwarm, executeWorkflow, findAgent, findSwarm, findWorkflow, resumeAgent, runAgent, runDepsOf, toResumeDecisions, toSwarmRunResponse, toWorkflowRunResponse, } from './operations.js';
5
5
  import { requestSchemas } from './schemas.js';
6
6
  import { resolveSignal } from './streaming.js';
7
- const OPEN = 1;
7
+ import { SocketOutbox } from './socket-outbox.js';
8
8
  const DEFAULT_PATH = '/ws';
9
+ /** Default of `websocket.maxRuns`: the runs a socket may have going at once */
10
+ export const DEFAULT_MAX_SOCKET_RUNS = 8;
11
+ /** Default of `websocket.maxBufferedBytes`: what may wait for a client that reads slowly */
12
+ export const DEFAULT_MAX_BUFFERED_BYTES = 4 * 1024 * 1024;
13
+ /** Cancels a run: its `id` is free at once, and it counts as stopping until it ends */
14
+ function stopRun(state, id) {
15
+ const run = state.runs.get(id);
16
+ if (!run)
17
+ return;
18
+ state.runs.delete(id);
19
+ state.stopping.add(run);
20
+ run.abort();
21
+ }
9
22
  /**
10
23
  * The `beforeParse` hook of the handshake that builds the connection's `deps` with the `deps`
11
24
  * hook. A Tetsu context belongs to its request, not to the connection that outlives it, so
@@ -16,90 +29,153 @@ function connectionDeps(deps) {
16
29
  cogitatorDeps: await runDepsOf(deps, ctx),
17
30
  }));
18
31
  }
32
+ function positiveInteger(name, value, fallback) {
33
+ if (value === undefined)
34
+ return fallback;
35
+ if (!Number.isSafeInteger(value) || value < 1) {
36
+ throw new Error(`websocket.${name} must be a positive integer, got ${value}`);
37
+ }
38
+ return value;
39
+ }
40
+ function alreadyRunning(id) {
41
+ return id === undefined
42
+ ? 'A run is already in progress: give each run its own id to run several at once'
43
+ : `A run with id '${id}' is already in progress`;
44
+ }
19
45
  /**
20
46
  * The WebSocket endpoint of `cogitatorController()`.
21
47
  *
22
- * The handshake runs the same `auth` and `anonymous` policy as the HTTP routes. Each
23
- * socket runs one agent, workflow or swarm at a time; `stop` cancels it, and so does
24
- * closing the socket. Workflow and swarm runs are held to the server's `limits`.
48
+ * The handshake runs the same `auth` and `anonymous` policy as the HTTP routes. A socket runs
49
+ * up to `maxRuns` agents, workflows and swarms at once, told apart by the `id` of the frame
50
+ * that started each: `stop` with an `id` cancels that run, and `stop` without one, or closing
51
+ * the socket, cancels them all. What the server sends waits for a client that reads slowly,
52
+ * up to `maxBufferedBytes`, past which the socket is closed. Workflow and swarm runs are held
53
+ * to the server's `limits`.
25
54
  */
26
- export function cogitatorSocket(deps, caller, admitted, path = DEFAULT_PATH) {
27
- const running = new WeakMap();
55
+ export function cogitatorSocket(deps, caller, admitted, options = {}) {
56
+ const maxRuns = positiveInteger('maxRuns', options.maxRuns, DEFAULT_MAX_SOCKET_RUNS);
57
+ const maxBufferedBytes = positiveInteger('maxBufferedBytes', options.maxBufferedBytes, DEFAULT_MAX_BUFFERED_BYTES);
58
+ const sockets = new WeakMap();
59
+ const stateOf = (socket) => {
60
+ let state = sockets.get(socket);
61
+ if (!state) {
62
+ state = {
63
+ runs: new Map(),
64
+ stopping: new Set(),
65
+ outbox: new SocketOutbox(socket, maxBufferedBytes),
66
+ };
67
+ sockets.set(socket, state);
68
+ }
69
+ return state;
70
+ };
28
71
  return ws({
29
- path,
72
+ path: options.path ?? DEFAULT_PATH,
30
73
  hooks: { beforeParse: [caller, admitted, connectionDeps(deps)] },
31
74
  schema: { message: requestSchemas(deps).SocketMessage },
32
75
  docs: {
33
76
  summary: 'Run agents, workflows and swarms over a WebSocket',
34
- description: 'Send `{ type: "run", id, payload: { type, name, input } }`, `{ type: "resume", id, payload: { name, threadId, decisions } }` to continue an agent run paused for approvals, `{ type: "stop" }` or `{ type: "ping" }`.',
77
+ description: 'Send `{ type: "run", id, payload: { type, name, input } }`, `{ type: "resume", id, payload: { name, threadId, decisions } }` to continue an agent run paused for approvals, `{ type: "stop", id }` or `{ type: "ping" }`. Runs with different ids go on side by side.',
35
78
  },
36
79
  until: () => resolveSignal(deps.until),
37
80
  message: (socket, message) => {
81
+ const state = stateOf(socket);
82
+ const { runs, stopping, outbox } = state;
38
83
  switch (message.type) {
39
84
  case 'ping':
40
- send(socket, { type: 'pong', id: message.id });
85
+ outbox.send({ type: 'pong', id: message.id });
41
86
  return;
42
87
  case 'stop':
43
- running.get(socket)?.abort();
88
+ if (message.id === undefined)
89
+ for (const id of [...runs.keys()])
90
+ stopRun(state, id);
91
+ else
92
+ stopRun(state, message.id);
44
93
  return;
45
94
  case 'run':
46
95
  case 'resume': {
47
- if (running.has(socket)) {
48
- send(socket, {
49
- type: 'error',
50
- id: message.id,
51
- error: 'A run is already in progress',
52
- code: 'RUN_IN_PROGRESS',
53
- });
96
+ const refusal = runs.has(message.id)
97
+ ? { error: alreadyRunning(message.id), code: 'RUN_IN_PROGRESS' }
98
+ : runs.size + stopping.size >= maxRuns
99
+ ? {
100
+ error: `The socket already has ${maxRuns} runs going: stop one or wait for it to end`,
101
+ code: 'TOO_MANY_RUNS',
102
+ }
103
+ : undefined;
104
+ if (refusal) {
105
+ outbox.send({ type: 'error', id: message.id, ...refusal });
54
106
  return;
55
107
  }
56
108
  const controller = new AbortController();
57
- running.set(socket, controller);
109
+ runs.set(message.id, controller);
58
110
  const connection = {
59
111
  auth: socket.data.cogitatorAuth,
60
112
  runDeps: socket.data.cogitatorDeps,
61
113
  };
62
- return handleRun(deps, socket, message, connection, {
63
- signal: controller.signal,
64
- }).finally(() => {
65
- if (running.get(socket) === controller)
66
- running.delete(socket);
114
+ return handleRun(deps, outbox, message, connection, controller.signal).finally(() => {
115
+ if (runs.get(message.id) === controller)
116
+ runs.delete(message.id);
117
+ stopping.delete(controller);
67
118
  });
68
119
  }
69
120
  }
70
121
  },
71
122
  invalid: (socket, issues) => {
72
- send(socket, {
123
+ stateOf(socket).outbox.send({
73
124
  type: 'error',
74
125
  error: issues[0]?.message ?? 'Invalid message',
75
126
  code: 'INVALID_MESSAGE',
76
127
  });
77
128
  },
129
+ drain: (socket) => {
130
+ sockets.get(socket)?.outbox.drain();
131
+ },
78
132
  close: (socket) => {
79
- running.get(socket)?.abort();
80
- running.delete(socket);
133
+ const state = sockets.get(socket);
134
+ if (!state)
135
+ return;
136
+ state.outbox.close();
137
+ for (const id of [...state.runs.keys()])
138
+ stopRun(state, id);
81
139
  },
82
140
  });
83
141
  }
84
- async function handleRun(deps, socket, message, caller, { signal }) {
142
+ /**
143
+ * Runs one frame's run. A stop answers `cancelled` at once and silences the run from then on,
144
+ * even when what runs notices the abort only later, such as a workflow node that is still
145
+ * running: its `id` is free for a new run at once, and it counts toward `maxRuns` until it
146
+ * actually ends.
147
+ */
148
+ async function handleRun(deps, outbox, message, caller, signal) {
85
149
  const id = message.id;
86
- const emit = (event) => send(socket, { type: 'event', id, payload: event });
150
+ let cancelled = false;
151
+ const cancel = () => {
152
+ if (cancelled)
153
+ return;
154
+ cancelled = true;
155
+ outbox.send({ type: 'event', id, payload: { type: 'cancelled' } });
156
+ };
157
+ const emit = (event) => {
158
+ if (!cancelled)
159
+ outbox.send({ type: 'event', id, payload: event });
160
+ };
161
+ signal.addEventListener('abort', cancel, { once: true });
87
162
  try {
88
163
  const result = message.type === 'resume'
89
164
  ? await resume(deps, message.payload, caller, signal, emit)
90
165
  : await execute(deps, message.payload, caller, signal, emit);
91
- emit(signal.aborted ? { type: 'cancelled' } : { type: 'complete', result });
166
+ emit({ type: 'complete', result });
92
167
  }
93
168
  catch (error) {
94
- if (signal.aborted) {
95
- emit({ type: 'cancelled' });
169
+ if (signal.aborted)
96
170
  return;
97
- }
98
171
  const described = describeError(error);
99
- send(socket, { type: 'error', id, error: described.message, code: described.code });
172
+ outbox.send({ type: 'error', id, error: described.message, code: described.code });
100
173
  if (described.unexpected)
101
174
  throw error;
102
175
  }
176
+ finally {
177
+ signal.removeEventListener('abort', cancel);
178
+ }
103
179
  }
104
180
  function agentCallbacks(signal, emit) {
105
181
  return {
@@ -142,9 +218,4 @@ async function execute(deps, payload, { auth, runDeps }, signal, emit) {
142
218
  }
143
219
  }
144
220
  }
145
- function send(socket, message) {
146
- if (socket.readyState !== OPEN)
147
- return;
148
- socket.send(JSON.stringify(message));
149
- }
150
221
  //# sourceMappingURL=socket.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"socket.js","sourceRoot":"","sources":["../src/socket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket.js","sourceRoot":"","sources":["../src/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAIzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,SAAS,EACT,SAAS,EACT,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,cAAc,EAAsB,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAqB,MAAM,oBAAoB,CAAC;AASrE,MAAM,YAAY,GAAG,KAAc,CAAC;AACpC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,4FAA4F;AAC5F,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAY1D,uFAAuF;AACvF,SAAS,OAAO,CAAC,KAAkB,EAAE,EAAsB;IACzD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/B,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,GAAG,CAAC,KAAK,EAAE,CAAC;AACd,CAAC;AAOD;;;;GAIG;AACH,SAAS,cAAc,CAAC,IAAmB;IACzC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAA2B,EAAE,CAAC,CAAC;QAC/D,aAAa,EAAE,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC;KAC1C,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,KAAyB,EAAE,QAAgB;IAChF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,oCAAoC,KAAK,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,EAAsB;IAC5C,OAAO,EAAE,KAAK,SAAS;QACrB,CAAC,CAAC,+EAA+E;QACjF,CAAC,CAAC,kBAAkB,EAAE,0BAA0B,CAAC;AACrD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAmB,EACnB,MAAkB,EAClB,QAA0C,EAC1C,UAA4B,EAAE;IAE9B,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;IACrF,MAAM,gBAAgB,GAAG,eAAe,CACtC,kBAAkB,EAClB,OAAO,CAAC,gBAAgB,EACxB,0BAA0B,CAC3B,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAuB,CAAC;IACnD,MAAM,OAAO,GAAG,CAAC,MAAoB,EAAe,EAAE;QACpD,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG;gBACN,IAAI,EAAE,IAAI,GAAG,EAAE;gBACf,QAAQ,EAAE,IAAI,GAAG,EAAE;gBACnB,MAAM,EAAE,IAAI,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC;aACnD,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,OAAO,EAAE,CAAC;QACR,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,YAAY;QAClC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE;QAChE,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE;QACvD,IAAI,EAAE;YACJ,OAAO,EAAE,mDAAmD;YAC5D,WAAW,EACT,uQAAuQ;SAC1Q;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QACtC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;YAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;YACzC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrB,KAAK,MAAM;oBACT,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9C,OAAO;gBACT,KAAK,MAAM;oBACT,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS;wBAAE,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;4BAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;;wBAC/E,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;oBAChC,OAAO;gBACT,KAAK,KAAK,CAAC;gBACX,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;wBAClC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE;wBAChE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,OAAO;4BACpC,CAAC,CAAC;gCACE,KAAK,EAAE,0BAA0B,OAAO,6CAA6C;gCACrF,IAAI,EAAE,eAAe;6BACtB;4BACH,CAAC,CAAC,SAAS,CAAC;oBAChB,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;wBAC3D,OAAO;oBACT,CAAC;oBACD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;oBACzC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;oBACjC,MAAM,UAAU,GAAW;wBACzB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa;wBAC/B,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa;qBACnC,CAAC;oBACF,OAAO,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;wBAClF,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,UAAU;4BAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;wBACjE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAC9B,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC,MAAM,EAAE,MAAkC,EAAE,EAAE;YACtD,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC1B,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,iBAAiB;gBAC9C,IAAI,EAAE,iBAAiB;aACxB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;YAChB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QACtC,CAAC;QACD,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;YAChB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK;gBAAE,OAAO;YACnB,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9D,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAQD;;;;;GAKG;AACH,KAAK,UAAU,SAAS,CACtB,IAAmB,EACnB,MAAoB,EACpB,OAAmB,EACnB,MAAc,EACd,MAAmB;IAEnB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IACtB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,IAAI,SAAS;YAAE,OAAO;QACtB,SAAS,GAAG,IAAI,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC;IACF,MAAM,IAAI,GAAS,CAAC,KAAK,EAAE,EAAE;QAC3B,IAAI,CAAC,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC;IACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzD,IAAI,CAAC;QACH,MAAM,MAAM,GACV,OAAO,CAAC,IAAI,KAAK,QAAQ;YACvB,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;YAC3D,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO;QAC3B,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACnF,IAAI,SAAS,CAAC,UAAU;YAAE,MAAM,KAAK,CAAC;IACxC,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAAmB,EAAE,IAAU;IACrD,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,MAAM;QACN,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAClD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QAC1D,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CACnB,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QACtF,YAAY,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,UAAU,EAAE,CAAC;KAC3E,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,MAAM,CACnB,IAAmB,EACnB,OAAsB,EACtB,EAAE,IAAI,EAAE,OAAO,EAAU,EACzB,MAAmB,EACnB,IAAU;IAEV,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,IAAI,EACJ,KAAK,EACL,OAAO,CAAC,QAAQ,EAChB,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAClE,IAAI,EACJ,OAAO,CACR,CAAC;IACF,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,IAAmB,EACnB,OAAmB,EACnB,EAAE,IAAI,EAAE,OAAO,EAAU,EACzB,MAAmB,EACnB,IAAU;IAEV,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAC3B,IAAI,EACJ,KAAK,EACL;gBACE,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC;aAChC,EACD,IAAI,EACJ,OAAO,CACR,CAAC;YACF,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;YAC3F,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YACtD,OAAO,YAAY,CACjB,IAAI,EACJ,MAAM,EACN,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAC9E,IAAI,EACJ,MAAM,EACN,kBAAkB,CACnB,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
package/dist/types.d.ts CHANGED
@@ -50,6 +50,16 @@ export type ShutdownSignal = AbortSignal | (() => AbortSignal | undefined);
50
50
  export interface WebSocketOptions {
51
51
  /** Path of the handshake. Default: `/ws`. */
52
52
  path?: `/${string}`;
53
+ /**
54
+ * Runs a socket may have going at once, told apart by the `id` of their frames. One more
55
+ * gets an error with `code: 'TOO_MANY_RUNS'`. Default: `8`.
56
+ */
57
+ maxRuns?: number;
58
+ /**
59
+ * Bytes of frames that may wait for a client that reads slowly, once the socket pushes back.
60
+ * Past them the socket is closed with `1008`, which cancels its runs. Default: 4 MiB.
61
+ */
62
+ maxBufferedBytes?: number;
53
63
  }
54
64
  /** What `cogitatorController()` is built from. */
55
65
  export interface CogitatorDeps {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cogitator-ai/tetsu",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "Tetsu server adapter for Cogitator AI runtime — a controller with agents, threads, workflows, swarms, SSE and WebSocket on Bun",
5
5
  "type": "module",
6
6
  "exports": {
@@ -23,7 +23,7 @@
23
23
  "@cogitator-ai/core": "0.56.4",
24
24
  "@cogitator-ai/memory": "0.24.3",
25
25
  "@cogitator-ai/types": "0.61.0",
26
- "@cogitator-ai/server-shared": "0.7.0",
26
+ "@cogitator-ai/server-shared": "0.8.0",
27
27
  "zod": "^4.6.5"
28
28
  },
29
29
  "peerDependencies": {