@cogitator-ai/server-shared 0.3.0 → 0.4.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.
@@ -0,0 +1,25 @@
1
+ /**
2
+ * How often adapters write an SSE comment on an open stream, in milliseconds.
3
+ *
4
+ * Well under the shortest idle timeout a stream meets in practice: Bun closes a
5
+ * connection that stays silent for 10 seconds (`Bun.serve` `idleTimeout`), and
6
+ * proxies such as nginx close one after 60. A run waiting on a slow tool or model
7
+ * would otherwise be cut off mid-stream.
8
+ */
9
+ export declare const DEFAULT_SSE_HEARTBEAT_MS = 5000;
10
+ /** The frame of a heartbeat: an SSE comment, which every SSE client skips */
11
+ export declare function encodeHeartbeat(): string;
12
+ /**
13
+ * Reads the `sseHeartbeatMs` option of an adapter: the default when it is not set,
14
+ * `0` to turn heartbeats off, or a positive number of milliseconds.
15
+ *
16
+ * @throws RangeError for a negative, fractional or non-finite value
17
+ */
18
+ export declare function resolveSseHeartbeatMs(value: number | undefined): number;
19
+ /**
20
+ * Calls `beat` every `intervalMs` until the returned function is called, or until
21
+ * `beat` returns `false` (the stream it writes to is gone). An interval of `0`
22
+ * starts nothing.
23
+ */
24
+ export declare function startHeartbeat(beat: () => boolean, intervalMs: number): () => void;
25
+ //# sourceMappingURL=heartbeat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAE9C,6EAA6E;AAC7E,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAQvE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,IAAI,CAMlF"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * How often adapters write an SSE comment on an open stream, in milliseconds.
3
+ *
4
+ * Well under the shortest idle timeout a stream meets in practice: Bun closes a
5
+ * connection that stays silent for 10 seconds (`Bun.serve` `idleTimeout`), and
6
+ * proxies such as nginx close one after 60. A run waiting on a slow tool or model
7
+ * would otherwise be cut off mid-stream.
8
+ */
9
+ export const DEFAULT_SSE_HEARTBEAT_MS = 5_000;
10
+ /** The frame of a heartbeat: an SSE comment, which every SSE client skips */
11
+ export function encodeHeartbeat() {
12
+ return ': keep-alive\n\n';
13
+ }
14
+ /**
15
+ * Reads the `sseHeartbeatMs` option of an adapter: the default when it is not set,
16
+ * `0` to turn heartbeats off, or a positive number of milliseconds.
17
+ *
18
+ * @throws RangeError for a negative, fractional or non-finite value
19
+ */
20
+ export function resolveSseHeartbeatMs(value) {
21
+ if (value === undefined)
22
+ return DEFAULT_SSE_HEARTBEAT_MS;
23
+ if (!Number.isInteger(value) || value < 0) {
24
+ throw new RangeError(`sseHeartbeatMs must be 0 (off) or a positive whole number of milliseconds, got ${value}`);
25
+ }
26
+ return value;
27
+ }
28
+ /**
29
+ * Calls `beat` every `intervalMs` until the returned function is called, or until
30
+ * `beat` returns `false` (the stream it writes to is gone). An interval of `0`
31
+ * starts nothing.
32
+ */
33
+ export function startHeartbeat(beat, intervalMs) {
34
+ if (intervalMs <= 0)
35
+ return () => { };
36
+ const timer = setInterval(() => {
37
+ if (!beat())
38
+ clearInterval(timer);
39
+ }, intervalMs);
40
+ return () => clearInterval(timer);
41
+ }
42
+ //# sourceMappingURL=heartbeat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C,6EAA6E;AAC7E,MAAM,UAAU,eAAe;IAC7B,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAyB;IAC7D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,wBAAwB,CAAC;IACzD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,UAAU,CAClB,kFAAkF,KAAK,EAAE,CAC1F,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAmB,EAAE,UAAkB;IACpE,IAAI,UAAU,IAAI,CAAC;QAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,IAAI,CAAC,IAAI,EAAE;YAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,UAAU,CAAC,CAAC;IACf,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,11 @@
1
1
  export { createStartEvent, createTextStartEvent, createTextDeltaEvent, createTextEndEvent, createReasoningStartEvent, createReasoningDeltaEvent, createReasoningEndEvent, createToolCallStartEvent, createToolCallDeltaEvent, createToolCallEndEvent, createToolResultEvent, createApprovalRequiredEvent, createErrorEvent, createFinishEvent, createWorkflowEvent, createSwarmEvent, } from './protocol.js';
2
2
  export type { Usage, StreamEvent, StartEvent, TextStartEvent, TextDeltaEvent, TextEndEvent, ReasoningStartEvent, ReasoningDeltaEvent, ReasoningEndEvent, ToolCallStartEvent, ToolCallDeltaEvent, ToolCallEndEvent, ToolResultEvent, ApprovalRequiredEvent, PendingApproval, ErrorEvent, FinishEvent, WorkflowEvent, SwarmEvent, } from './protocol.js';
3
3
  export { generateId, encodeSSE, encodeDone } from './helpers.js';
4
+ export { DEFAULT_SSE_HEARTBEAT_MS, encodeHeartbeat, resolveSseHeartbeatMs, startHeartbeat, } from './heartbeat.js';
5
+ export { NON_BLANK_PATTERN, RUN_INPUT_SCHEMA, isJsonObject, isNonBlankString, parseRunRequest, parseSwarmRunRequest, } from './validation.js';
6
+ export type { ParseResult, RunRequestBody, SwarmRunRequestBody } from './validation.js';
7
+ export { toRunUsage } from './usage.js';
8
+ export type { RunUsage } from './usage.js';
4
9
  export { generateOpenAPISpec, generateSwaggerHTML } from './openapi.js';
5
10
  export type { OpenAPISpec, SwaggerConfig, OpenAPIContext } from './openapi-types.js';
6
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,KAAK,EACL,WAAW,EACX,UAAU,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,KAAK,EACL,WAAW,EACX,UAAU,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,qBAAqB,EACrB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAExF,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,7 @@
1
1
  export { createStartEvent, createTextStartEvent, createTextDeltaEvent, createTextEndEvent, createReasoningStartEvent, createReasoningDeltaEvent, createReasoningEndEvent, createToolCallStartEvent, createToolCallDeltaEvent, createToolCallEndEvent, createToolResultEvent, createApprovalRequiredEvent, createErrorEvent, createFinishEvent, createWorkflowEvent, createSwarmEvent, } from './protocol.js';
2
2
  export { generateId, encodeSSE, encodeDone } from './helpers.js';
3
+ export { DEFAULT_SSE_HEARTBEAT_MS, encodeHeartbeat, resolveSseHeartbeatMs, startHeartbeat, } from './heartbeat.js';
4
+ export { NON_BLANK_PATTERN, RUN_INPUT_SCHEMA, isJsonObject, isNonBlankString, parseRunRequest, parseSwarmRunRequest, } from './validation.js';
5
+ export { toRunUsage } from './usage.js';
3
6
  export { generateOpenAPISpec, generateSwaggerHTML } from './openapi.js';
4
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAwBvB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAwBvB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,qBAAqB,EACrB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
@@ -42,10 +42,16 @@ export interface SwaggerConfig {
42
42
  name: string;
43
43
  url?: string;
44
44
  };
45
+ /** Where the API is mounted; adapters fill in their own base path when this is not set */
45
46
  servers?: Array<{
46
47
  url: string;
47
48
  description?: string;
48
49
  }>;
50
+ /**
51
+ * The server checks credentials (an adapter with `auth`): the spec then
52
+ * declares an optional bearer token, so Swagger UI offers to send one.
53
+ */
54
+ auth?: boolean;
49
55
  }
50
56
  export interface OpenAPIContext {
51
57
  agents: Record<string, {
@@ -1 +1 @@
1
- {"version":3,"file":"openapi-types.d.ts","sourceRoot":"","sources":["../src/openapi-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi-types.d.ts","sourceRoot":"","sources":["../src/openapi-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAErF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,GAAG,WAAW,CA8S3F;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAgC7D"}
1
+ {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGrF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,GAAG,WAAW,CAqT3F;AA4BD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAgC7D"}
package/dist/openapi.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { RUN_INPUT_SCHEMA } from './validation.js';
1
2
  export function generateOpenAPISpec(ctx, config) {
2
3
  const spec = {
3
4
  openapi: '3.0.3',
@@ -20,13 +21,16 @@ export function generateOpenAPISpec(ctx, config) {
20
21
  paths: {},
21
22
  components: {
22
23
  schemas: generateSchemas(),
23
- securitySchemes: {
24
- bearerAuth: {
25
- type: 'http',
26
- scheme: 'bearer',
24
+ ...(config.auth && {
25
+ securitySchemes: {
26
+ bearerAuth: {
27
+ type: 'http',
28
+ scheme: 'bearer',
29
+ },
27
30
  },
28
- },
31
+ }),
29
32
  },
33
+ ...(config.auth && { security: [{ bearerAuth: [] }, {}] }),
30
34
  };
31
35
  spec.paths['/health'] = {
32
36
  get: {
@@ -123,7 +127,10 @@ export function generateOpenAPISpec(ctx, config) {
123
127
  },
124
128
  },
125
129
  responses: {
126
- 200: { description: 'SSE stream', content: { 'text/event-stream': {} } },
130
+ 200: {
131
+ description: 'SSE stream of protocol events. It ends with a finish event (StreamFinishEvent) whose usage matches the JSON run response',
132
+ content: { 'text/event-stream': {} },
133
+ },
127
134
  },
128
135
  },
129
136
  };
@@ -283,13 +290,36 @@ export function generateOpenAPISpec(ctx, config) {
283
290
  }
284
291
  return spec;
285
292
  }
293
+ const HTML_ESCAPES = {
294
+ '&': '&amp;',
295
+ '<': '&lt;',
296
+ '>': '&gt;',
297
+ '"': '&quot;',
298
+ "'": '&#39;',
299
+ };
300
+ function escapeHtml(text) {
301
+ return text.replace(/[&<>"']/g, (char) => HTML_ESCAPES[char]);
302
+ }
303
+ /**
304
+ * JSON safe to embed in an inline <script>: `<`, `>`, `&` and the line
305
+ * separators JavaScript treats as newlines become unicode escapes, so text
306
+ * from the spec (agent names, descriptions) cannot close the script tag.
307
+ */
308
+ function scriptJson(value) {
309
+ return JSON.stringify(value)
310
+ .replace(/</g, '\\u003c')
311
+ .replace(/>/g, '\\u003e')
312
+ .replace(/&/g, '\\u0026')
313
+ .replace(/\u2028/g, '\\u2028')
314
+ .replace(/\u2029/g, '\\u2029');
315
+ }
286
316
  export function generateSwaggerHTML(spec) {
287
317
  return `<!DOCTYPE html>
288
318
  <html lang="en">
289
319
  <head>
290
320
  <meta charset="UTF-8">
291
321
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
292
- <title>${spec.info.title} - API Documentation</title>
322
+ <title>${escapeHtml(spec.info.title)} - API Documentation</title>
293
323
  <link rel="stylesheet" href="https://unpkg.com/swagger-ui-dist@5.9.0/swagger-ui.css">
294
324
  <style>
295
325
  body { margin: 0; padding: 0; }
@@ -302,7 +332,7 @@ export function generateSwaggerHTML(spec) {
302
332
  <script>
303
333
  window.onload = () => {
304
334
  SwaggerUIBundle({
305
- spec: ${JSON.stringify(spec)},
335
+ spec: ${scriptJson(spec)},
306
336
  dom_id: '#swagger-ui',
307
337
  deepLinking: true,
308
338
  presets: [
@@ -346,9 +376,9 @@ function generateSchemas() {
346
376
  type: 'object',
347
377
  required: ['input'],
348
378
  properties: {
349
- input: { type: 'string' },
379
+ input: { ...RUN_INPUT_SCHEMA },
350
380
  context: { type: 'object' },
351
- threadId: { type: 'string' },
381
+ threadId: { type: 'string', minLength: 1 },
352
382
  },
353
383
  },
354
384
  PendingApproval: {
@@ -379,19 +409,44 @@ function generateSchemas() {
379
409
  defaultDecision: { $ref: '#/components/schemas/ToolApprovalDecision' },
380
410
  },
381
411
  },
412
+ RunUsage: {
413
+ type: 'object',
414
+ description: 'Token usage of a run, the same in the JSON response and in the finish event of the stream',
415
+ required: ['inputTokens', 'outputTokens', 'totalTokens'],
416
+ properties: {
417
+ inputTokens: { type: 'number' },
418
+ outputTokens: { type: 'number' },
419
+ totalTokens: { type: 'number' },
420
+ reasoningTokens: {
421
+ type: 'number',
422
+ description: 'Hidden reasoning tokens, already counted in outputTokens',
423
+ },
424
+ cachedInputTokens: {
425
+ type: 'number',
426
+ description: "Input tokens read from the provider's prompt cache",
427
+ },
428
+ cacheWriteTokens: {
429
+ type: 'number',
430
+ description: "Input tokens written to the provider's prompt cache",
431
+ },
432
+ },
433
+ },
434
+ StreamFinishEvent: {
435
+ type: 'object',
436
+ description: 'The last event of a stream, sent before `data: [DONE]`',
437
+ required: ['type', 'messageId'],
438
+ properties: {
439
+ type: { type: 'string', enum: ['finish'] },
440
+ messageId: { type: 'string' },
441
+ usage: { $ref: '#/components/schemas/RunUsage' },
442
+ },
443
+ },
382
444
  AgentRunResponse: {
383
445
  type: 'object',
384
446
  properties: {
385
447
  output: { type: 'string' },
386
448
  threadId: { type: 'string' },
387
- usage: {
388
- type: 'object',
389
- properties: {
390
- inputTokens: { type: 'number' },
391
- outputTokens: { type: 'number' },
392
- totalTokens: { type: 'number' },
393
- },
394
- },
449
+ usage: { $ref: '#/components/schemas/RunUsage' },
395
450
  toolCalls: { type: 'array' },
396
451
  reasoning: { type: 'string' },
397
452
  status: { type: 'string', enum: ['completed', 'paused'] },
@@ -488,9 +543,9 @@ function generateSchemas() {
488
543
  type: 'object',
489
544
  required: ['input'],
490
545
  properties: {
491
- input: { type: 'string' },
546
+ input: { ...RUN_INPUT_SCHEMA },
492
547
  context: { type: 'object' },
493
- threadId: { type: 'string' },
548
+ threadId: { type: 'string', minLength: 1 },
494
549
  timeout: { type: 'number' },
495
550
  },
496
551
  },
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,19 @@
1
+ /**
2
+ * Token usage of a finished agent run, the same in the JSON run response and in the
3
+ * stream's `finish` event.
4
+ *
5
+ * The provider-specific counts are present only when the model reported them.
6
+ */
1
7
  export interface Usage {
2
8
  inputTokens: number;
3
9
  outputTokens: number;
4
10
  totalTokens: number;
11
+ /** Hidden reasoning tokens, already counted in `outputTokens` */
12
+ reasoningTokens?: number;
13
+ /** Input tokens read from the provider's prompt cache, already counted in `inputTokens` */
14
+ cachedInputTokens?: number;
15
+ /** Input tokens written to the provider's prompt cache, already counted in `inputTokens` */
16
+ cacheWriteTokens?: number;
5
17
  }
6
18
  export type StreamEvent = StartEvent | TextStartEvent | TextDeltaEvent | TextEndEvent | ReasoningStartEvent | ReasoningDeltaEvent | ReasoningEndEvent | ToolCallStartEvent | ToolCallDeltaEvent | ToolCallEndEvent | ToolResultEvent | ApprovalRequiredEvent | ErrorEvent | FinishEvent | WorkflowEvent | SwarmEvent;
7
19
  export interface StartEvent {
@@ -102,7 +114,11 @@ export declare function createToolCallEndEvent(id: string): ToolCallEndEvent;
102
114
  export declare function createToolResultEvent(id: string, toolCallId: string, result: unknown): ToolResultEvent;
103
115
  export declare function createApprovalRequiredEvent(threadId: string, approvals: readonly PendingApproval[]): ApprovalRequiredEvent;
104
116
  export declare function createErrorEvent(message: string, code?: string): ErrorEvent;
105
- export declare function createFinishEvent(messageId: string, usage?: Usage): FinishEvent;
117
+ /**
118
+ * The last event of a stream. `usage` goes through `toRunUsage`, so a run's `RunResult.usage`
119
+ * can be passed as is: the event carries exactly the counts of the JSON run response.
120
+ */
121
+ export declare function createFinishEvent(messageId: string, usage?: Readonly<Usage>): FinishEvent;
106
122
  export declare function createWorkflowEvent(event: string, data: unknown): WorkflowEvent;
107
123
  export declare function createSwarmEvent(event: string, data: unknown): SwarmEvent;
108
124
  //# sourceMappingURL=protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
package/dist/protocol.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { toRunUsage } from './usage.js';
1
2
  export function createStartEvent(messageId) {
2
3
  return { type: 'start', messageId };
3
4
  }
@@ -37,8 +38,12 @@ export function createApprovalRequiredEvent(threadId, approvals) {
37
38
  export function createErrorEvent(message, code) {
38
39
  return { type: 'error', message, code };
39
40
  }
41
+ /**
42
+ * The last event of a stream. `usage` goes through `toRunUsage`, so a run's `RunResult.usage`
43
+ * can be passed as is: the event carries exactly the counts of the JSON run response.
44
+ */
40
45
  export function createFinishEvent(messageId, usage) {
41
- return { type: 'finish', messageId, usage };
46
+ return { type: 'finish', messageId, usage: usage && toRunUsage(usage) };
42
47
  }
43
48
  export function createWorkflowEvent(event, data) {
44
49
  return { type: 'workflow', event, data };
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AA8HA,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAU;IAC7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAU,EAAE,KAAa;IAC5D,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EAAU;IAClD,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EAAU,EAAE,KAAa;IACjE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,EAAU;IAChD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EAAU,EAAE,QAAgB;IACnE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EAAU,EAAE,aAAqB;IACxE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAU;IAC/C,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,EAAU,EACV,UAAkB,EAClB,MAAe;IAEf,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,QAAgB,EAChB,SAAqC;IAErC,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,IAAa;IAC7D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,KAAa;IAChE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,IAAa;IAC9D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,IAAa;IAC3D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA4IxC,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAU;IAC7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAU,EAAE,KAAa;IAC5D,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EAAU;IAClD,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EAAU,EAAE,KAAa;IACjE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,EAAU;IAChD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EAAU,EAAE,QAAgB;IACnE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EAAU,EAAE,aAAqB;IACxE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAU;IAC/C,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,EAAU,EACV,UAAkB,EAClB,MAAe;IAEf,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,QAAgB,EAChB,SAAqC;IAErC,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,IAAa;IAC7D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,KAAuB;IAC1E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,IAAa;IAC9D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,IAAa;IAC3D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { Usage } from './protocol.js';
2
+ /**
3
+ * Token usage of a finished agent run, as every adapter answers it, in the JSON run
4
+ * response and in the stream's `finish` event alike.
5
+ */
6
+ export type RunUsage = Usage;
7
+ /**
8
+ * The client-facing usage of a run: the token counts of core's `RunResult.usage`,
9
+ * without its cost and duration, keeping only the optional counts the model reported.
10
+ */
11
+ export declare function toRunUsage(usage: Readonly<Usage>): RunUsage;
12
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC;AAE7B;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAS3D"}
package/dist/usage.js ADDED
@@ -0,0 +1,15 @@
1
+ /**
2
+ * The client-facing usage of a run: the token counts of core's `RunResult.usage`,
3
+ * without its cost and duration, keeping only the optional counts the model reported.
4
+ */
5
+ export function toRunUsage(usage) {
6
+ return {
7
+ inputTokens: usage.inputTokens,
8
+ outputTokens: usage.outputTokens,
9
+ totalTokens: usage.totalTokens,
10
+ ...(usage.reasoningTokens !== undefined && { reasoningTokens: usage.reasoningTokens }),
11
+ ...(usage.cachedInputTokens !== undefined && { cachedInputTokens: usage.cachedInputTokens }),
12
+ ...(usage.cacheWriteTokens !== undefined && { cacheWriteTokens: usage.cacheWriteTokens }),
13
+ };
14
+ }
15
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;QACtF,GAAG,CAAC,KAAK,CAAC,iBAAiB,KAAK,SAAS,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC5F,GAAG,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS,IAAI,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC;KAC1F,CAAC;AACJ,CAAC"}
@@ -0,0 +1,46 @@
1
+ /** The outcome of parsing a request body: the typed value, or why it was refused */
2
+ export type ParseResult<T> = {
3
+ ok: true;
4
+ value: T;
5
+ } | {
6
+ ok: false;
7
+ message: string;
8
+ };
9
+ /**
10
+ * The JSON Schema `pattern` of a text field that must say something: at least one
11
+ * character that is not whitespace. Schema-driven adapters (Fastify, Tetsu) use it
12
+ * so they refuse exactly what {@link parseRunRequest} refuses.
13
+ */
14
+ export declare const NON_BLANK_PATTERN = "\\S";
15
+ /** The JSON Schema of the `input` of an agent or swarm run */
16
+ export declare const RUN_INPUT_SCHEMA: {
17
+ readonly type: "string";
18
+ readonly minLength: 1;
19
+ readonly pattern: "\\S";
20
+ readonly description: "The message for the run; must contain more than whitespace";
21
+ };
22
+ /** True for a string with at least one character that is not whitespace */
23
+ export declare function isNonBlankString(value: unknown): value is string;
24
+ /** True for a plain JSON object (not `null`, not an array) */
25
+ export declare function isJsonObject(value: unknown): value is Record<string, unknown>;
26
+ /** The body of `POST /agents/:name/run` and `/agents/:name/stream` */
27
+ export interface RunRequestBody {
28
+ input: string;
29
+ context?: Record<string, unknown>;
30
+ threadId?: string;
31
+ }
32
+ /** The body of `POST /swarms/:name/run` and `/swarms/:name/stream` */
33
+ export interface SwarmRunRequestBody extends RunRequestBody {
34
+ timeout?: number;
35
+ }
36
+ /**
37
+ * Validates the body of an agent run or stream.
38
+ *
39
+ * `input` is required and must contain more than whitespace, so a request that
40
+ * says nothing is refused before the model is called (and billed). Every adapter
41
+ * answers a refusal with `400 { error: { message, code: 'INVALID_INPUT' } }`.
42
+ */
43
+ export declare function parseRunRequest(body: unknown): ParseResult<RunRequestBody>;
44
+ /** Validates the body of a swarm run or stream: a run body plus an optional `timeout` in ms */
45
+ export declare function parseSwarmRunRequest(body: unknown): ParseResult<SwarmRunRequestBody>;
46
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAErF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAEvC,8DAA8D;AAC9D,eAAO,MAAM,gBAAgB;;;;;CAKnB,CAAC;AAIX,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEhE;AAED,8DAA8D;AAC9D,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE7E;AAED,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,sEAAsE;AACtE,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC,CAqB1E;AAED,+FAA+F;AAC/F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAUpF"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * The JSON Schema `pattern` of a text field that must say something: at least one
3
+ * character that is not whitespace. Schema-driven adapters (Fastify, Tetsu) use it
4
+ * so they refuse exactly what {@link parseRunRequest} refuses.
5
+ */
6
+ export const NON_BLANK_PATTERN = '\\S';
7
+ /** The JSON Schema of the `input` of an agent or swarm run */
8
+ export const RUN_INPUT_SCHEMA = {
9
+ type: 'string',
10
+ minLength: 1,
11
+ pattern: NON_BLANK_PATTERN,
12
+ description: 'The message for the run; must contain more than whitespace',
13
+ };
14
+ const NON_BLANK = new RegExp(NON_BLANK_PATTERN);
15
+ /** True for a string with at least one character that is not whitespace */
16
+ export function isNonBlankString(value) {
17
+ return typeof value === 'string' && NON_BLANK.test(value);
18
+ }
19
+ /** True for a plain JSON object (not `null`, not an array) */
20
+ export function isJsonObject(value) {
21
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
22
+ }
23
+ function fail(message) {
24
+ return { ok: false, message };
25
+ }
26
+ /**
27
+ * Validates the body of an agent run or stream.
28
+ *
29
+ * `input` is required and must contain more than whitespace, so a request that
30
+ * says nothing is refused before the model is called (and billed). Every adapter
31
+ * answers a refusal with `400 { error: { message, code: 'INVALID_INPUT' } }`.
32
+ */
33
+ export function parseRunRequest(body) {
34
+ if (!isJsonObject(body) || body.input === undefined || body.input === null) {
35
+ return fail('Missing required field: input');
36
+ }
37
+ if (typeof body.input !== 'string')
38
+ return fail('Field "input" must be a string');
39
+ if (!isNonBlankString(body.input))
40
+ return fail('Field "input" must not be blank');
41
+ if (body.context !== undefined && !isJsonObject(body.context)) {
42
+ return fail('Field "context" must be an object');
43
+ }
44
+ if (body.threadId !== undefined && !isNonBlankString(body.threadId)) {
45
+ return fail('Field "threadId" must be a non-empty string');
46
+ }
47
+ return {
48
+ ok: true,
49
+ value: {
50
+ input: body.input,
51
+ ...(body.context !== undefined && { context: body.context }),
52
+ ...(body.threadId !== undefined && { threadId: body.threadId }),
53
+ },
54
+ };
55
+ }
56
+ /** Validates the body of a swarm run or stream: a run body plus an optional `timeout` in ms */
57
+ export function parseSwarmRunRequest(body) {
58
+ const parsed = parseRunRequest(body);
59
+ if (!parsed.ok)
60
+ return parsed;
61
+ const timeout = isJsonObject(body) ? body.timeout : undefined;
62
+ if (timeout === undefined)
63
+ return parsed;
64
+ if (typeof timeout !== 'number' || !Number.isFinite(timeout) || timeout <= 0) {
65
+ return fail('Field "timeout" must be a positive number');
66
+ }
67
+ return { ok: true, value: { ...parsed.value, timeout } };
68
+ }
69
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cogitator-ai/server-shared",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Shared streaming protocol and utilities for Cogitator server adapters",
5
5
  "type": "module",
6
6
  "exports": {
@@ -18,7 +18,8 @@
18
18
  "node": ">=22.12.0"
19
19
  },
20
20
  "devDependencies": {
21
- "typescript": "^6.0.3"
21
+ "typescript": "^6.0.3",
22
+ "vitest": "^5.0.3"
22
23
  },
23
24
  "repository": {
24
25
  "type": "git",
@@ -36,7 +37,8 @@
36
37
  "scripts": {
37
38
  "build": "tsc && tsx ../../scripts/fix-esm-imports.ts .",
38
39
  "dev": "tsc --watch",
39
- "typecheck": "tsc --noEmit",
40
+ "test": "vitest run",
41
+ "typecheck": "tsc --noEmit -p tsconfig.test.json",
40
42
  "clean": "rm -rf dist"
41
43
  }
42
44
  }