@cogitator-ai/tetsu 0.5.26 → 0.6.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.
@@ -1,14 +1,14 @@
1
1
  import { controller, route } from '@tetsujs/core';
2
2
  import { sse } from '@tetsujs/sse';
3
3
  import { countMessageTokens } from '@cogitator-ai/memory';
4
- import { AgentStreamSession, createErrorEvent, createFinishEvent, createStartEvent, createSwarmEvent, createWorkflowEvent, generateId, resolveSseHeartbeatMs, toAgentRunResponse, } from '@cogitator-ai/server-shared';
4
+ import { AgentStreamSession, checkRunLimits, createErrorEvent, createFinishEvent, createStartEvent, createSwarmEvent, createWorkflowEvent, generateId, readThreadPage, resolveSseHeartbeatMs, toAgentRunResponse, } from '@cogitator-ai/server-shared';
5
5
  import { assertThreadAccess, ensureThreadAccess } from '@cogitator-ai/core';
6
6
  import { httpError } from '@tetsujs/core';
7
- import { resolveCaller } from './auth.js';
7
+ import { anonymousHook, resolveCaller } from './auth.js';
8
8
  import { holdConnection, jsonBody } from './connection.js';
9
9
  import { clientClosedRequest, cogitatorErrors, describeError } from './errors.js';
10
- import { checkThreadAccess, executeSwarm, executeWorkflow, findAgent, findSwarm, findWorkflow, listAgents, listSwarms, listTools, listWorkflows, resumeAgent, runAgent, serializeSwarmUsage, toResumeDecisions, toSwarmRunResponse, toWorkflowRunResponse, } from './operations.js';
11
- import { AddMessageResponse, AgentListResponse, AgentRunResponse, BlackboardResponse, errorEnvelope, errorsEnvelope, failureEnvelope, HealthResponse, NameParams, ReadyResponse, ResumeBody, RUN_FAILURES, requestSchemas, SwarmListResponse, SwarmRunResponse, ThreadParams, ThreadResponse, ToolListResponse, WorkflowListResponse, WorkflowRunBody, WorkflowRunResponse, } from './schemas.js';
10
+ import { checkThreadAccess, executeSwarm, executeWorkflow, findAgent, findSwarm, findWorkflow, listAgents, listSwarms, listTools, listWorkflows, resumeAgent, runAgent, runDepsOf, serializeSwarmUsage, toResumeDecisions, toSwarmRunResponse, toWorkflowRunResponse, } from './operations.js';
11
+ import { AddMessageResponse, AgentListResponse, AgentRunResponse, BlackboardResponse, errorEnvelope, errorsEnvelope, failureEnvelope, HealthResponse, NameParams, ReadyResponse, ResumeBody, RUN_FAILURES, requestSchemas, SwarmListResponse, SwarmRunResponse, ThreadParams, ThreadQuery, ThreadResponse, ToolListResponse, WorkflowListResponse, WorkflowRunResponse, } from './schemas.js';
12
12
  import { cogitatorSocket } from './socket.js';
13
13
  import { DONE_EVENT, eventsOf, resolveSignal, sseEvent } from './streaming.js';
14
14
  const AgentNotFound = errorEnvelope('AGENT_NOT_FOUND', 'No agent is registered under this name');
@@ -47,10 +47,12 @@ const StreamOpened = null;
47
47
  */
48
48
  export const cogitatorController = controller('Cogitator', (deps) => {
49
49
  const builtAt = Date.now();
50
+ checkRunLimits(deps.limits);
50
51
  const caller = resolveCaller(deps.auth);
52
+ const admitted = anonymousHook(deps.anonymous);
51
53
  const errors = cogitatorErrors();
52
54
  const heartbeatMs = resolveSseHeartbeatMs(deps.sseHeartbeatMs);
53
- const { RunBody, SwarmRunBody, AddMessageBody } = requestSchemas(deps);
55
+ const { RunBody, SwarmRunBody, WorkflowRunBody, AddMessageBody } = requestSchemas(deps);
54
56
  const streamOptions = () => ({ until: resolveSignal(deps.until), heartbeatMs });
55
57
  const memoryOf = async () => {
56
58
  const memory = await deps.cogitator.getMemory();
@@ -84,7 +86,7 @@ export const cogitatorController = controller('Cogitator', (deps) => {
84
86
  method: 'GET',
85
87
  path: '/agents',
86
88
  schema: { response: AgentListResponse },
87
- hooks: { beforeParse: [caller], onError: [errors] },
89
+ hooks: { beforeParse: [caller, admitted], onError: [errors] },
88
90
  docs: { summary: 'List agents', tags: ['agents'] },
89
91
  handler: () => listAgents(deps),
90
92
  }),
@@ -102,14 +104,19 @@ export const cogitatorController = controller('Cogitator', (deps) => {
102
104
  404: RunNotFound,
103
105
  },
104
106
  },
105
- hooks: { beforeParse: [caller, jsonBody], beforeHandle: [holdConnection], onError: [errors] },
107
+ hooks: {
108
+ beforeParse: [caller, admitted, jsonBody],
109
+ beforeHandle: [holdConnection],
110
+ onError: [errors],
111
+ },
106
112
  docs: { summary: 'Run an agent and wait for its answer', tags: ['agents'] },
107
113
  handler: async (ctx) => {
108
114
  const agent = findAgent(deps, ctx.params.name);
109
115
  await checkThreadAccess(deps, ctx.cogitatorAuth, ctx.body.threadId);
116
+ const runDeps = await runDepsOf(deps, ctx);
110
117
  const signal = ctx.req.signal;
111
118
  try {
112
- const result = await runAgent(deps, agent, { ...ctx.body, signal }, ctx.cogitatorAuth);
119
+ const result = await runAgent(deps, agent, { ...ctx.body, signal }, ctx.cogitatorAuth, runDeps);
113
120
  return toAgentRunResponse(result);
114
121
  }
115
122
  catch (error) {
@@ -127,7 +134,7 @@ export const cogitatorController = controller('Cogitator', (deps) => {
127
134
  body: RunBody,
128
135
  response: { 200: StreamOpened, 403: ThreadForbidden, 404: AgentNotFound, 415: NotJson },
129
136
  },
130
- hooks: { beforeParse: [caller, jsonBody], onError: [errors] },
137
+ hooks: { beforeParse: [caller, admitted, jsonBody], onError: [errors] },
131
138
  docs: {
132
139
  summary: 'Run an agent and stream tokens, tool calls and results',
133
140
  description: AGENT_STREAM_DESCRIPTION,
@@ -138,7 +145,8 @@ export const cogitatorController = controller('Cogitator', (deps) => {
138
145
  const auth = ctx.cogitatorAuth;
139
146
  const body = ctx.body;
140
147
  await checkThreadAccess(deps, auth, body.threadId);
141
- return sse(ctx, (signal) => agentEvents((callbacks, threadId) => runAgent(deps, agent, { ...body, threadId, ...callbacks }, auth), signal, body.threadId), streamOptions());
148
+ const runDeps = await runDepsOf(deps, ctx);
149
+ return sse(ctx, (signal) => agentEvents((callbacks, threadId) => runAgent(deps, agent, { ...body, threadId, ...callbacks }, auth, runDeps), signal, body.threadId), streamOptions());
142
150
  },
143
151
  }),
144
152
  resumeAgent: route({
@@ -156,7 +164,11 @@ export const cogitatorController = controller('Cogitator', (deps) => {
156
164
  409: ResumeConflict,
157
165
  },
158
166
  },
159
- hooks: { beforeParse: [caller, jsonBody], beforeHandle: [holdConnection], onError: [errors] },
167
+ hooks: {
168
+ beforeParse: [caller, admitted, jsonBody],
169
+ beforeHandle: [holdConnection],
170
+ onError: [errors],
171
+ },
160
172
  docs: {
161
173
  summary: 'Resume a run paused for tool approvals and wait for its answer',
162
174
  description: 'Approved calls run, declined ones answer the model with the reason, and calls without a decision pause the run again.',
@@ -166,9 +178,10 @@ export const cogitatorController = controller('Cogitator', (deps) => {
166
178
  const agent = findAgent(deps, ctx.params.name);
167
179
  const { threadId } = ctx.body;
168
180
  await checkThreadAccess(deps, ctx.cogitatorAuth, threadId);
181
+ const runDeps = await runDepsOf(deps, ctx);
169
182
  const signal = ctx.req.signal;
170
183
  try {
171
- const result = await resumeAgent(deps, agent, threadId, { ...toResumeDecisions(ctx.body), signal }, ctx.cogitatorAuth);
184
+ const result = await resumeAgent(deps, agent, threadId, { ...toResumeDecisions(ctx.body), signal }, ctx.cogitatorAuth, runDeps);
172
185
  return toAgentRunResponse(result);
173
186
  }
174
187
  catch (error) {
@@ -186,7 +199,7 @@ export const cogitatorController = controller('Cogitator', (deps) => {
186
199
  body: ResumeBody,
187
200
  response: { 200: StreamOpened, 403: ThreadForbidden, 404: AgentNotFound, 415: NotJson },
188
201
  },
189
- hooks: { beforeParse: [caller, jsonBody], onError: [errors] },
202
+ hooks: { beforeParse: [caller, admitted, jsonBody], onError: [errors] },
190
203
  docs: {
191
204
  summary: 'Resume a run paused for tool approvals and stream the rest of it',
192
205
  description: AGENT_STREAM_DESCRIPTION,
@@ -198,7 +211,8 @@ export const cogitatorController = controller('Cogitator', (deps) => {
198
211
  const { threadId } = ctx.body;
199
212
  const decisions = toResumeDecisions(ctx.body);
200
213
  await checkThreadAccess(deps, auth, threadId);
201
- return sse(ctx, (signal) => agentEvents((callbacks) => resumeAgent(deps, agent, threadId, { ...decisions, ...callbacks }, auth), signal, threadId), streamOptions());
214
+ const runDeps = await runDepsOf(deps, ctx);
215
+ return sse(ctx, (signal) => agentEvents((callbacks) => resumeAgent(deps, agent, threadId, { ...decisions, ...callbacks }, auth, runDeps), signal, threadId), streamOptions());
202
216
  },
203
217
  }),
204
218
  getThread: route({
@@ -206,6 +220,7 @@ export const cogitatorController = controller('Cogitator', (deps) => {
206
220
  path: '/threads/:id',
207
221
  schema: {
208
222
  params: ThreadParams,
223
+ query: ThreadQuery,
209
224
  response: {
210
225
  200: ThreadResponse,
211
226
  403: ThreadForbidden,
@@ -213,24 +228,18 @@ export const cogitatorController = controller('Cogitator', (deps) => {
213
228
  503: MemoryNotConfigured,
214
229
  },
215
230
  },
216
- hooks: { beforeParse: [caller], onError: [errors] },
217
- docs: { summary: 'Read the messages of a memory thread', tags: ['threads'] },
231
+ hooks: { beforeParse: [caller, admitted], onError: [errors] },
232
+ docs: {
233
+ summary: 'Read the messages of a memory thread',
234
+ description: 'The whole thread, or with `limit` its newest messages and a `nextCursor`: pass it as `cursor` to read the page before, until an answer has no `nextCursor`.',
235
+ tags: ['threads'],
236
+ },
218
237
  handler: async (ctx) => {
219
238
  const memory = await memoryOf();
220
239
  const id = ctx.params.id;
221
240
  await checkThreadAccess(deps, ctx.cogitatorAuth, id);
222
- await assertThreadAccess(memory, id, ctx.cogitatorAuth?.userId);
223
- const result = await memory.getEntries({ threadId: id });
224
- if (!result.success)
225
- throw new Error(result.error);
226
- const entries = result.data;
227
- const now = Date.now();
228
- return {
229
- id,
230
- messages: entries.map((entry) => entry.message),
231
- createdAt: entries.at(0)?.createdAt.getTime() ?? now,
232
- updatedAt: entries.at(-1)?.createdAt.getTime() ?? now,
233
- };
241
+ const thread = await assertThreadAccess(memory, id, ctx.cogitatorAuth?.userId);
242
+ return readThreadPage(memory, id, ctx.query, thread);
234
243
  },
235
244
  }),
236
245
  addThreadMessage: route({
@@ -247,7 +256,7 @@ export const cogitatorController = controller('Cogitator', (deps) => {
247
256
  503: MemoryNotConfigured,
248
257
  },
249
258
  },
250
- hooks: { beforeParse: [caller, jsonBody], onError: [errors] },
259
+ hooks: { beforeParse: [caller, admitted, jsonBody], onError: [errors] },
251
260
  docs: {
252
261
  summary: 'Append a message to a memory thread',
253
262
  description: 'A thread that does not exist yet is created, owned by the caller.',
@@ -284,7 +293,7 @@ export const cogitatorController = controller('Cogitator', (deps) => {
284
293
  503: MemoryNotConfigured,
285
294
  },
286
295
  },
287
- hooks: { beforeParse: [caller], onError: [errors] },
296
+ hooks: { beforeParse: [caller, admitted], onError: [errors] },
288
297
  docs: { summary: 'Delete a memory thread', tags: ['threads'] },
289
298
  handler: async (ctx) => {
290
299
  const memory = await memoryOf();
@@ -300,7 +309,7 @@ export const cogitatorController = controller('Cogitator', (deps) => {
300
309
  method: 'GET',
301
310
  path: '/tools',
302
311
  schema: { response: ToolListResponse },
303
- hooks: { beforeParse: [caller], onError: [errors] },
312
+ hooks: { beforeParse: [caller, admitted], onError: [errors] },
304
313
  docs: { summary: 'List the tools of every agent', tags: ['agents'] },
305
314
  handler: () => listTools(deps),
306
315
  }),
@@ -308,7 +317,7 @@ export const cogitatorController = controller('Cogitator', (deps) => {
308
317
  method: 'GET',
309
318
  path: '/workflows',
310
319
  schema: { response: WorkflowListResponse },
311
- hooks: { beforeParse: [caller], onError: [errors] },
320
+ hooks: { beforeParse: [caller, admitted], onError: [errors] },
312
321
  docs: { summary: 'List workflows', tags: ['workflows'] },
313
322
  handler: () => listWorkflows(deps),
314
323
  }),
@@ -326,7 +335,11 @@ export const cogitatorController = controller('Cogitator', (deps) => {
326
335
  501: NotImplemented,
327
336
  },
328
337
  },
329
- hooks: { beforeParse: [caller, jsonBody], beforeHandle: [holdConnection], onError: [errors] },
338
+ hooks: {
339
+ beforeParse: [caller, admitted, jsonBody],
340
+ beforeHandle: [holdConnection],
341
+ onError: [errors],
342
+ },
330
343
  docs: { summary: 'Run a workflow and wait for its final state', tags: ['workflows'] },
331
344
  handler: async (ctx) => {
332
345
  const workflow = findWorkflow(deps, ctx.params.name);
@@ -350,7 +363,7 @@ export const cogitatorController = controller('Cogitator', (deps) => {
350
363
  body: WorkflowRunBody,
351
364
  response: { 200: StreamOpened, 404: WorkflowNotFound, 415: NotJson },
352
365
  },
353
- hooks: { beforeParse: [caller, jsonBody], onError: [errors] },
366
+ hooks: { beforeParse: [caller, admitted, jsonBody], onError: [errors] },
354
367
  docs: {
355
368
  summary: 'Run a workflow and stream node events',
356
369
  description: STREAM_DESCRIPTION,
@@ -366,7 +379,7 @@ export const cogitatorController = controller('Cogitator', (deps) => {
366
379
  method: 'GET',
367
380
  path: '/swarms',
368
381
  schema: { response: SwarmListResponse },
369
- hooks: { beforeParse: [caller], onError: [errors] },
382
+ hooks: { beforeParse: [caller, admitted], onError: [errors] },
370
383
  docs: { summary: 'List swarms', tags: ['swarms'] },
371
384
  handler: () => listSwarms(deps),
372
385
  }),
@@ -385,7 +398,11 @@ export const cogitatorController = controller('Cogitator', (deps) => {
385
398
  501: NotImplemented,
386
399
  },
387
400
  },
388
- hooks: { beforeParse: [caller, jsonBody], beforeHandle: [holdConnection], onError: [errors] },
401
+ hooks: {
402
+ beforeParse: [caller, admitted, jsonBody],
403
+ beforeHandle: [holdConnection],
404
+ onError: [errors],
405
+ },
389
406
  docs: { summary: 'Run a swarm and wait for its result', tags: ['swarms'] },
390
407
  handler: async (ctx) => {
391
408
  const config = findSwarm(deps, ctx.params.name);
@@ -412,7 +429,7 @@ export const cogitatorController = controller('Cogitator', (deps) => {
412
429
  body: SwarmRunBody,
413
430
  response: { 200: StreamOpened, 403: ThreadForbidden, 404: SwarmNotFound, 415: NotJson },
414
431
  },
415
- hooks: { beforeParse: [caller, jsonBody], onError: [errors] },
432
+ hooks: { beforeParse: [caller, admitted, jsonBody], onError: [errors] },
416
433
  docs: {
417
434
  summary: 'Run a swarm and stream agent events',
418
435
  description: STREAM_DESCRIPTION,
@@ -432,7 +449,7 @@ export const cogitatorController = controller('Cogitator', (deps) => {
432
449
  params: NameParams,
433
450
  response: { 200: BlackboardResponse, 404: SwarmNotFound, 409: BlackboardDisabled },
434
451
  },
435
- hooks: { beforeParse: [caller], onError: [errors] },
452
+ hooks: { beforeParse: [caller, admitted], onError: [errors] },
436
453
  docs: { summary: 'Read the configured blackboard sections of a swarm', tags: ['swarms'] },
437
454
  handler: (ctx) => {
438
455
  const config = findSwarm(deps, ctx.params.name);
@@ -444,7 +461,7 @@ export const cogitatorController = controller('Cogitator', (deps) => {
444
461
  }),
445
462
  };
446
463
  const socket = deps.websocket
447
- ? cogitatorSocket(deps, caller, deps.websocket === true ? undefined : deps.websocket.path)
464
+ ? cogitatorSocket(deps, caller, admitted, deps.websocket === true ? undefined : deps.websocket.path)
448
465
  : undefined;
449
466
  return { ...routes, ...(socket && { socket }) };
450
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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"}
package/dist/errors.d.ts CHANGED
@@ -1,16 +1,16 @@
1
1
  import { HttpError } from '@tetsujs/core';
2
- import { CogitatorError } from '@cogitator-ai/types';
2
+ import type { HttpErrorDescription } from '@cogitator-ai/server-shared';
3
+ import type { CogitatorError } from '@cogitator-ai/types';
3
4
  /** The status a request is answered with when its client left before the answer was ready. */
4
5
  export declare const CLIENT_CLOSED_REQUEST = 499;
5
- /** The HTTP status a `CogitatorError` maps to: its own, the one of its code, or `500`. */
6
- export declare function cogitatorErrorStatus(error: CogitatorError): number;
7
6
  /**
8
7
  * Answers a `CogitatorError` in the Tetsu envelope `{ status, message, error }`,
9
8
  * with `Retry-After` when the error says when to retry.
10
9
  */
11
10
  export declare function cogitatorErrorResponse(error: CogitatorError): Response;
12
11
  /**
13
- * An `onError` hook that answers every `CogitatorError` with its status and code.
12
+ * An `onError` hook that answers every `CogitatorError` with its status, code and
13
+ * `Retry-After`, and a swarm that ran out of time with `504 RUN_TIMEOUT`.
14
14
  *
15
15
  * `cogitatorController()` mounts one on each of its routes. Mount another on the
16
16
  * application to map errors thrown by your own routes the same way.
@@ -18,13 +18,19 @@ export declare function cogitatorErrorResponse(error: CogitatorError): Response;
18
18
  export declare function cogitatorErrors(): import("@tetsujs/core").Hook<"onError", import("@tetsujs/core").BaseCtx & {
19
19
  readonly error: unknown;
20
20
  }, unknown>;
21
+ /** The `HttpError` a refusal of the shared contract is thrown as, in the Tetsu envelope */
22
+ export declare function refusalError(refusal: HttpErrorDescription): HttpError;
21
23
  export interface DescribedError {
22
24
  message: string;
23
25
  code: string;
24
26
  /** Whether the error is a failure of the server rather than an answer. */
25
27
  unexpected: boolean;
26
28
  }
27
- /** What a stream or a socket tells its client about an error. */
29
+ /**
30
+ * What a stream or a socket tells its client about an error. An error the client is not told
31
+ * about is `INTERNAL_ERROR`, the code the streams and sockets of every adapter send, while the
32
+ * JSON answer keeps Tetsu's own `500 INTERNAL_SERVER_ERROR`.
33
+ */
28
34
  export declare function describeError(error: unknown): DescribedError;
29
35
  export declare function isModuleNotFoundError(error: unknown): boolean;
30
36
  export declare function importOptional<T>(load: () => Promise<T>, packageName: string): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,SAAS,EAAa,MAAM,eAAe,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAsB,MAAM,qBAAqB,CAAC;AAEzE,8FAA8F;AAC9F,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAMzC,0FAA0F;AAC1F,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAGlE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG,QAAQ,CAOtE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe;;YAI9B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAgB5D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG7D;AAED,wBAAsB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAa/F;AAED,wBAAgB,mBAAmB,IAAI,SAAS,CAE/C"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,SAAS,EAAa,MAAM,eAAe,CAAC;AAGtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,8FAA8F;AAC9F,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAUzC;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG,QAAQ,CAEtE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe;;YAK9B;AAED,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAErE;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAiB5D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG7D;AAED,wBAAsB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAa/F;AAED,wBAAgB,mBAAmB,IAAI,SAAS,CAE/C"}
package/dist/errors.js CHANGED
@@ -1,40 +1,47 @@
1
1
  import { errorBody, hook, HttpError, httpError } from '@tetsujs/core';
2
- import { CogitatorError, ERROR_STATUS_CODES } from '@cogitator-ai/types';
2
+ import { describeHttpError, errorHeaders, INTERNAL_ERROR } from '@cogitator-ai/server-shared';
3
3
  /** The status a request is answered with when its client left before the answer was ready. */
4
4
  export const CLIENT_CLOSED_REQUEST = 499;
5
- function isErrorStatus(status) {
6
- return Number.isInteger(status) && status >= 400 && status <= 599;
7
- }
8
- /** The HTTP status a `CogitatorError` maps to: its own, the one of its code, or `500`. */
9
- export function cogitatorErrorStatus(error) {
10
- const status = error.statusCode ?? ERROR_STATUS_CODES[error.code] ?? 500;
11
- return isErrorStatus(status) ? status : 500;
5
+ /** An error the shared taxonomy describes, in the Tetsu envelope `{ status, message, error }` */
6
+ function describedResponse(described) {
7
+ return Response.json(errorBody(described.status, described.code, described.message), {
8
+ status: described.status,
9
+ headers: errorHeaders(described),
10
+ });
12
11
  }
13
12
  /**
14
13
  * Answers a `CogitatorError` in the Tetsu envelope `{ status, message, error }`,
15
14
  * with `Retry-After` when the error says when to retry.
16
15
  */
17
16
  export function cogitatorErrorResponse(error) {
18
- const status = cogitatorErrorStatus(error);
19
- const headers = new Headers();
20
- if (error.retryAfter !== undefined && error.retryAfter > 0) {
21
- headers.set('retry-after', String(Math.ceil(error.retryAfter / 1000)));
22
- }
23
- return Response.json(errorBody(status, error.code, error.message), { status, headers });
17
+ return describedResponse(describeHttpError(error) ?? INTERNAL_ERROR);
24
18
  }
25
19
  /**
26
- * An `onError` hook that answers every `CogitatorError` with its status and code.
20
+ * An `onError` hook that answers every `CogitatorError` with its status, code and
21
+ * `Retry-After`, and a swarm that ran out of time with `504 RUN_TIMEOUT`.
27
22
  *
28
23
  * `cogitatorController()` mounts one on each of its routes. Mount another on the
29
24
  * application to map errors thrown by your own routes the same way.
30
25
  */
31
26
  export function cogitatorErrors() {
32
- return hook.onError((ctx) => CogitatorError.isCogitatorError(ctx.error) ? cogitatorErrorResponse(ctx.error) : undefined);
27
+ return hook.onError((ctx) => {
28
+ const described = describeHttpError(ctx.error);
29
+ return described ? describedResponse(described) : undefined;
30
+ });
31
+ }
32
+ /** The `HttpError` a refusal of the shared contract is thrown as, in the Tetsu envelope */
33
+ export function refusalError(refusal) {
34
+ return httpError(refusal.status, refusal.code, refusal.message);
33
35
  }
34
- /** What a stream or a socket tells its client about an error. */
36
+ /**
37
+ * What a stream or a socket tells its client about an error. An error the client is not told
38
+ * about is `INTERNAL_ERROR`, the code the streams and sockets of every adapter send, while the
39
+ * JSON answer keeps Tetsu's own `500 INTERNAL_SERVER_ERROR`.
40
+ */
35
41
  export function describeError(error) {
36
- if (CogitatorError.isCogitatorError(error)) {
37
- return { message: error.message, code: error.code, unexpected: false };
42
+ const described = describeHttpError(error);
43
+ if (described) {
44
+ return { message: described.message, code: described.code, unexpected: false };
38
45
  }
39
46
  if (error instanceof HttpError) {
40
47
  const fallback = errorBody(error.status);
@@ -46,7 +53,7 @@ export function describeError(error) {
46
53
  unexpected: false,
47
54
  };
48
55
  }
49
- return { message: 'Internal server error', code: 'INTERNAL_SERVER_ERROR', unexpected: true };
56
+ return { message: INTERNAL_ERROR.message, code: INTERNAL_ERROR.code, unexpected: true };
50
57
  }
51
58
  export function isModuleNotFoundError(error) {
52
59
  if (typeof error !== 'object' || error === null || !('code' in error))
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  export { cogitatorController } from './controller.js';
2
2
  export { callerHook } from './auth.js';
3
3
  export type { CallerFields, CallerHook } from './auth.js';
4
- export { cogitatorErrors, cogitatorErrorResponse, cogitatorErrorStatus, describeError, CLIENT_CLOSED_REQUEST, } from './errors.js';
4
+ export { cogitatorErrors, cogitatorErrorResponse, describeError, CLIENT_CLOSED_REQUEST, } from './errors.js';
5
5
  export type { DescribedError } from './errors.js';
6
- export { RunBody, ResumeBody, SwarmRunBody, WorkflowRunBody, AddMessageBody, SocketMessage, AgentRunResponse, AgentListResponse, ThreadResponse, ToolListResponse, WorkflowListResponse, WorkflowRunResponse, SwarmListResponse, SwarmRunResponse, BlackboardResponse, HealthResponse, } from './schemas.js';
7
- export type { AuthContext, Authenticate, AuthorizeThread, CogitatorDeps, ShutdownSignal, WebSocketOptions, AgentRunRequest, AgentResumeRequest, SwarmRunRequest, WorkflowRunRequest, AddMessageRequest, HealthResponseBody, AgentListResponseBody, AgentRunResponseBody, ThreadResponseBody, ToolListResponseBody, WorkflowListResponseBody, WorkflowRunResponseBody, SwarmListResponseBody, SwarmRunResponseBody, BlackboardResponseBody, WebSocketClientMessage, WebSocketServerMessage, } from './types.js';
8
- export type { StreamEvent, Usage } from '@cogitator-ai/server-shared';
6
+ export { cogitatorErrorStatus } from '@cogitator-ai/server-shared';
7
+ export { RunBody, ResumeBody, SwarmRunBody, WorkflowRunBody, AddMessageBody, SocketMessage, AgentRunResponse, AgentListResponse, ThreadResponse, ToolListResponse, WorkflowListResponse, WorkflowRunResponse, SwarmListResponse, SwarmRunResponse, BlackboardResponse, HealthResponse, ThreadQuery, } from './schemas.js';
8
+ export type { AuthContext, Authenticate, AuthorizeThread, CogitatorDeps, DepsBuilder, ShutdownSignal, WebSocketOptions, AgentRunRequest, AgentResumeRequest, SwarmRunRequest, WorkflowRunRequest, AddMessageRequest, HealthResponseBody, AgentListResponseBody, AgentRunResponseBody, ThreadResponseBody, ToolListResponseBody, WorkflowListResponseBody, WorkflowRunResponseBody, SwarmListResponseBody, SwarmRunResponseBody, BlackboardResponseBody, WebSocketClientMessage, WebSocketServerMessage, } from './types.js';
9
+ export type { AnonymousPolicy, RunLimits, StreamEvent, Usage } from '@cogitator-ai/server-shared';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EACL,OAAO,EACP,UAAU,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EACL,OAAO,EACP,UAAU,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,aAAa,EACb,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export { cogitatorController } from './controller.js';
2
2
  export { callerHook } from './auth.js';
3
- export { cogitatorErrors, cogitatorErrorResponse, cogitatorErrorStatus, describeError, CLIENT_CLOSED_REQUEST, } from './errors.js';
4
- export { RunBody, ResumeBody, SwarmRunBody, WorkflowRunBody, AddMessageBody, SocketMessage, AgentRunResponse, AgentListResponse, ThreadResponse, ToolListResponse, WorkflowListResponse, WorkflowRunResponse, SwarmListResponse, SwarmRunResponse, BlackboardResponse, HealthResponse, } from './schemas.js';
3
+ export { cogitatorErrors, cogitatorErrorResponse, describeError, CLIENT_CLOSED_REQUEST, } from './errors.js';
4
+ export { cogitatorErrorStatus } from '@cogitator-ai/server-shared';
5
+ export { RunBody, ResumeBody, SwarmRunBody, WorkflowRunBody, AddMessageBody, SocketMessage, AgentRunResponse, AgentListResponse, ThreadResponse, ToolListResponse, WorkflowListResponse, WorkflowRunResponse, SwarmListResponse, SwarmRunResponse, BlackboardResponse, HealthResponse, ThreadQuery, } from './schemas.js';
5
6
  //# 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,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,OAAO,EACP,UAAU,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EACL,OAAO,EACP,UAAU,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,WAAW,GACZ,MAAM,cAAc,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { BaseCtx } from '@tetsujs/core';
1
2
  import type { Agent } from '@cogitator-ai/core';
2
3
  import type { ResumeOptions, RunOptions, RunResult, StrategyResult, SwarmConfig, SwarmResourceUsage, SwarmRunOptions, Workflow, WorkflowExecuteOptions, WorkflowResult, WorkflowState } from '@cogitator-ai/types';
3
4
  import type { z } from 'zod';
@@ -6,7 +7,12 @@ import type { AgentListResponseBody, AuthContext, CogitatorDeps, SwarmListRespon
6
7
  export declare function findAgent(deps: CogitatorDeps, name: string): Agent;
7
8
  export declare function findWorkflow(deps: CogitatorDeps, name: string): Workflow<WorkflowState>;
8
9
  export declare function findSwarm(deps: CogitatorDeps, name: string): SwarmConfig;
10
+ /** Refuses with `403 THREAD_FORBIDDEN` a thread `authorizeThread` keeps the caller from */
9
11
  export declare function checkThreadAccess(deps: CogitatorDeps, auth: AuthContext | undefined, threadId: string | undefined): Promise<void>;
12
+ /** The `deps` of the agent runs of a request, as run options: none without a `deps` hook */
13
+ export type RunDeps = Pick<RunOptions, 'deps'>;
14
+ /** Builds the `deps` of the agent runs of the request in `ctx` with the `deps` hook */
15
+ export declare function runDepsOf(deps: CogitatorDeps, ctx: BaseCtx): Promise<RunDeps>;
10
16
  export declare function listAgents(deps: CogitatorDeps): AgentListResponseBody;
11
17
  export declare function listTools(deps: CogitatorDeps): ToolListResponseBody;
12
18
  export declare function listWorkflows(deps: CogitatorDeps): WorkflowListResponseBody;
@@ -34,16 +40,22 @@ export interface SwarmHandle {
34
40
  getResourceUsage(): SwarmResourceUsage;
35
41
  }
36
42
  export declare function toSwarmRunResponse(swarm: SwarmHandle, result: StrategyResult): SwarmRunResponseBody;
37
- export declare function runAgent(deps: CogitatorDeps, agent: Agent, options: RunOptions, auth: AuthContext | undefined): Promise<RunResult>;
38
43
  /**
39
- * Continues the run paused in `threadId` as the caller. The runtime refuses a
40
- * caller who is not the user the run belongs to with `THREAD_ACCESS_DENIED`.
44
+ * Runs an agent as the caller, with the `deps` the server built for the request. They come
45
+ * after `options`, so nothing a client sent can stand in for them.
41
46
  */
42
- export declare function resumeAgent(deps: CogitatorDeps, agent: Agent, threadId: string, options: ResumeOptions, auth: AuthContext | undefined): Promise<RunResult>;
47
+ export declare function runAgent(deps: CogitatorDeps, agent: Agent, options: RunOptions, auth: AuthContext | undefined, runDeps: RunDeps): Promise<RunResult>;
48
+ /**
49
+ * Continues the run paused in `threadId` as the caller, with the `deps` the server built for
50
+ * the request. The runtime refuses a caller who is not the user the run belongs to with
51
+ * `THREAD_ACCESS_DENIED`.
52
+ */
53
+ export declare function resumeAgent(deps: CogitatorDeps, agent: Agent, threadId: string, options: ResumeOptions, auth: AuthContext | undefined, runDeps: RunDeps): Promise<RunResult>;
54
+ /** Runs a workflow with `maxIterations` and `maxConcurrency` held to the server's limits */
43
55
  export declare function executeWorkflow(deps: CogitatorDeps, workflow: Workflow<WorkflowState>, input: Record<string, unknown> | undefined, options: WorkflowExecuteOptions, signal: AbortSignal): Promise<WorkflowResult<WorkflowState>>;
44
56
  /**
45
- * Runs a swarm built for this request and answers with what `finish` makes of it, then
46
- * closes the swarm, whether the run succeeded, failed or was aborted: a distributed swarm
57
+ * Runs a swarm built for this request, its timeout held to the server's limit, and answers
58
+ * with what `finish` makes of it, then closes the swarm, whether the run succeeded, failed or was aborted: a distributed swarm
47
59
  * holds two Redis connections and keeps its state without expiry until it is closed.
48
60
  */
49
61
  export declare function executeSwarm<T>(deps: CogitatorDeps, config: SwarmConfig, options: SwarmRunOptions, auth: AuthContext | undefined, signal: AbortSignal, finish: (swarm: SwarmHandle, result: StrategyResult) => T): Promise<T>;