@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.
package/dist/types.d.ts CHANGED
@@ -3,7 +3,7 @@ import type { CallerHook } from './auth.js';
3
3
  import type { z } from 'zod';
4
4
  import type { Agent, Cogitator } from '@cogitator-ai/core';
5
5
  import type { SwarmConfig, Workflow, WorkflowState } from '@cogitator-ai/types';
6
- import type { ContextPolicy, ThreadMessageRole } from '@cogitator-ai/server-shared';
6
+ import type { AnonymousPolicy, AuthorizeThread as SharedAuthorizeThread, ContextPolicy, RunLimits, ThreadMessageRole } from '@cogitator-ai/server-shared';
7
7
  import type { AddMessageBody, AgentListResponse, AgentRunResponse, BlackboardResponse, HealthResponse, ResumeBody, RunBody, SocketMessage, SwarmListResponse, SwarmRunBody, SwarmRunResponse, ThreadResponse, ToolListResponse, WorkflowListResponse, WorkflowRunBody, WorkflowRunResponse } from './schemas.js';
8
8
  /**
9
9
  * Who is calling, as the `auth` function established it.
@@ -25,7 +25,8 @@ export interface AuthContext {
25
25
  * Return the caller to let the request through, or `undefined` to refuse it
26
26
  * with `401 UNAUTHORIZED`; any other error it throws or rejects with (an expired
27
27
  * token, say) refuses it with `401` too. Throw an `HttpError` to answer with
28
- * another status. Return an empty object to accept anonymous callers.
28
+ * another status. Return an empty object to accept anonymous callers, unless
29
+ * `anonymous` is `'deny'`.
29
30
  */
30
31
  export type Authenticate = (ctx: BaseCtx) => AuthContext | undefined | Promise<AuthContext | undefined>;
31
32
  /**
@@ -35,7 +36,12 @@ export type Authenticate = (ctx: BaseCtx) => AuthContext | undefined | Promise<A
35
36
  * Checked on the thread routes and on every run, stream and WebSocket run
36
37
  * that names a `threadId`. A refusal answers `403 THREAD_FORBIDDEN`.
37
38
  */
38
- export type AuthorizeThread = (auth: AuthContext | undefined, threadId: string) => boolean | Promise<boolean>;
39
+ export type AuthorizeThread = SharedAuthorizeThread<AuthContext>;
40
+ /**
41
+ * Builds the `deps` of the agent runs and resumes of a request, which tools get as
42
+ * `context.deps` and the model never sees: a database handle, a tenant, a client.
43
+ */
44
+ export type DepsBuilder = (ctx: BaseCtx) => unknown | Promise<unknown>;
39
45
  /**
40
46
  * A signal that ends open SSE streams and WebSocket connections, such as
41
47
  * `draining` from `@tetsujs/lifecycle`, or a function that returns it.
@@ -57,7 +63,28 @@ export interface CogitatorDeps {
57
63
  * `secured()` from `@tetsujs/openapi` to document it.
58
64
  */
59
65
  auth?: Authenticate | CallerHook;
66
+ /**
67
+ * Whether a caller without a `userId` may use the API: `'allow'` (the default) lets them
68
+ * in, `'deny'` answers `401 UNAUTHORIZED`, on every route but `/health` and `/ready` and on
69
+ * the WebSocket handshake. It covers callers `auth` returned `{}` for and, without `auth`,
70
+ * every caller. `auth` returning `undefined` answers `401` under either policy.
71
+ */
72
+ anonymous?: AnonymousPolicy;
60
73
  authorizeThread?: AuthorizeThread;
74
+ /**
75
+ * Caps on what a request may ask a run for. A swarm run times out after at most
76
+ * `swarmTimeout` ms and a workflow run takes at most `workflowMaxIterations` iterations and
77
+ * `workflowMaxConcurrency` nodes at once, over HTTP, SSE and WebSocket alike. A request that
78
+ * asks for more is held to the cap, one that asks for nothing gets it. Each limit must be a
79
+ * positive integer, or building the controller throws.
80
+ */
81
+ limits?: RunLimits;
82
+ /**
83
+ * Builds the `deps` of the agent runs and resumes of a request (`RunOptions.deps`). Called
84
+ * for each HTTP run with its request context, and once for a WebSocket connection with its
85
+ * handshake, whose runs all get what it built. Deps never come from the request body.
86
+ */
87
+ deps?: DepsBuilder;
61
88
  /** Serve the WebSocket endpoint. Default: `false`. */
62
89
  websocket?: boolean | WebSocketOptions;
63
90
  /** Ends streams and sockets when the server starts draining. */
@@ -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.5.26",
3
+ "version": "0.6.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": {
@@ -20,10 +20,10 @@
20
20
  "bun": ">=1.4"
21
21
  },
22
22
  "dependencies": {
23
- "@cogitator-ai/core": "0.56.3",
24
- "@cogitator-ai/memory": "0.24.2",
23
+ "@cogitator-ai/core": "0.56.4",
24
+ "@cogitator-ai/memory": "0.24.3",
25
25
  "@cogitator-ai/types": "0.61.0",
26
- "@cogitator-ai/server-shared": "0.6.6",
26
+ "@cogitator-ai/server-shared": "0.7.0",
27
27
  "zod": "^4.6.5"
28
28
  },
29
29
  "peerDependencies": {
@@ -31,12 +31,12 @@
31
31
  "@tetsujs/sse": "^0.6.1"
32
32
  },
33
33
  "optionalDependencies": {
34
- "@cogitator-ai/workflows": "0.14.1",
35
- "@cogitator-ai/swarms": "0.14.0"
34
+ "@cogitator-ai/workflows": "0.14.2",
35
+ "@cogitator-ai/swarms": "0.14.1"
36
36
  },
37
37
  "devDependencies": {
38
- "@cogitator-ai/workflows": "0.14.1",
39
- "@cogitator-ai/swarms": "0.14.0",
38
+ "@cogitator-ai/workflows": "0.14.2",
39
+ "@cogitator-ai/swarms": "0.14.1",
40
40
  "@tetsujs/core": "^0.6.1",
41
41
  "@tetsujs/openapi": "^0.6.1",
42
42
  "@tetsujs/sse": "^0.6.1",