@cogitator-ai/hono 0.10.1 → 0.11.1
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 +47 -27
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/middleware/context.d.ts.map +1 -1
- package/dist/middleware/context.js +1 -0
- package/dist/middleware/context.js.map +1 -1
- package/dist/routes/workflows.d.ts.map +1 -1
- package/dist/routes/workflows.js +152 -106
- package/dist/routes/workflows.js.map +1 -1
- package/dist/types.d.ts +15 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/results.d.ts.map +1 -1
- package/dist/utils/results.js +1 -0
- package/dist/utils/results.js.map +1 -1
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -44,31 +44,32 @@ Creates a Hono sub-application with all Cogitator endpoints.
|
|
|
44
44
|
|
|
45
45
|
**Options:**
|
|
46
46
|
|
|
47
|
-
| Option
|
|
48
|
-
|
|
|
49
|
-
| `cogitator`
|
|
50
|
-
| `agents`
|
|
51
|
-
| `workflows`
|
|
52
|
-
| `swarms`
|
|
53
|
-
| `auth`
|
|
54
|
-
| `enableSwagger`
|
|
55
|
-
| `swagger`
|
|
56
|
-
| `enableWebSocket`
|
|
57
|
-
| `websocket`
|
|
58
|
-
| `bodyLimit`
|
|
59
|
-
| `sseHeartbeatMs`
|
|
60
|
-
| `acceptContext`
|
|
61
|
-
| `threadMessageRoles`
|
|
62
|
-
| `limits`
|
|
63
|
-
| `anonymous`
|
|
64
|
-
| `authorizeThread`
|
|
65
|
-
| `deps`
|
|
47
|
+
| Option | Type | Description |
|
|
48
|
+
| --------------------- | ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
49
|
+
| `cogitator` | `Cogitator` | **Required.** Cogitator runtime instance |
|
|
50
|
+
| `agents` | `Record<string, Agent>` | Named agents to expose |
|
|
51
|
+
| `workflows` | `Record<string, Workflow>` | Named workflows |
|
|
52
|
+
| `swarms` | `Record<string, SwarmConfig>` | Named swarms |
|
|
53
|
+
| `auth` | `AuthFunction` | `(c) => AuthContext \| undefined` (sync or async), receives the Hono Context, throw to answer `401 UNAUTHORIZED` |
|
|
54
|
+
| `enableSwagger` | `boolean` | Serve `/openapi.json` and Swagger UI at `/docs` |
|
|
55
|
+
| `swagger` | `SwaggerConfig` | Swagger configuration |
|
|
56
|
+
| `enableWebSocket` | `boolean` | Enable the WebSocket endpoint |
|
|
57
|
+
| `websocket` | `WebSocketConfig` | `{ path?, maxPayloadSize?, upgradeWebSocket? }` (see below) |
|
|
58
|
+
| `bodyLimit` | `number` | Max request body size in bytes (default 1 MiB) |
|
|
59
|
+
| `sseHeartbeatMs` | `number` | How often SSE streams write a `: keep-alive` comment while a run is silent (default `5000`, `0` turns it off) |
|
|
60
|
+
| `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) |
|
|
61
|
+
| `threadMessageRoles` | `ThreadMessageRole[]` | Roles `POST /threads/:id/messages` accepts (default `user` and `assistant`) |
|
|
62
|
+
| `limits` | `RunLimits` | `{ swarmTimeout?, workflowMaxIterations?, workflowMaxConcurrency? }`: caps on what a request may ask a swarm or workflow run for (see [Run limits](#run-limits)) |
|
|
63
|
+
| `anonymous` | `'allow' \| 'deny'` | Whether callers without a `userId` may use the API (default `'allow'`), `'deny'` answers `401 UNAUTHORIZED` |
|
|
64
|
+
| `authorizeThread` | `(auth, threadId) => boolean \| Promise<boolean>` | Decides whether a caller may touch a thread, on top of the owner check, `false` answers `403 THREAD_FORBIDDEN` |
|
|
65
|
+
| `deps` | `(c) => unknown \| Promise<unknown>` | Builds the `deps` agent runs pass to their tools, from the Hono Context (see [Run deps](#run-deps)) |
|
|
66
|
+
| `workflowCheckpoints` | `CheckpointStore` | Where workflow runs keep their checkpoints, for `options.checkpoint` and `/resume` (see [Checkpoints and resume](#checkpoints-and-resume)) |
|
|
66
67
|
|
|
67
68
|
## Request Handling
|
|
68
69
|
|
|
69
70
|
- Request bodies are validated before anything reaches the runtime: `input` must contain more than whitespace (`""` and `" "` are refused before the model is called), `context` an object, `threadId` a non-empty string, swarm `timeout` a positive number. Invalid bodies return `400 INVALID_INPUT` with the offending field in the message. The validator comes from `@cogitator-ai/server-shared`, so Express, Fastify, Hono and Koa refuse exactly the same bodies.
|
|
70
71
|
- The `usage` of a run answer carries `inputTokens`, `outputTokens` and `totalTokens`, plus `reasoningTokens`, `cachedInputTokens` and `cacheWriteTokens` when the model reported them, the same shape as every other adapter. The `finish` event of an agent stream carries the same `usage` (never the run's cost or duration).
|
|
71
|
-
- Workflow runs accept an optional body. `options` is limited to `maxConcurrency
|
|
72
|
+
- Workflow runs accept an optional body. `options` is limited to `maxConcurrency`, `maxIterations` (positive integers) and `checkpoint`. Any other option is dropped and a wrongly typed one returns `400 INVALID_INPUT`. `checkpoint: true` is refused unless the app has `workflowCheckpoints` (see [Checkpoints and resume](#checkpoints-and-resume)).
|
|
72
73
|
- Thread messages accept `role` of `user` or `assistant` (more with `threadMessageRoles`), `metadata` is stored with the entry and a token estimate is recorded.
|
|
73
74
|
- A run sends `context` to the model as data the application supplied, and the model reads a `system` thread message as operator instructions, so clients may set neither unless the server allows it: `acceptContext` lists the `context` keys clients may send (`true` accepts any key, for clients trusted like your own code), and `threadMessageRoles` the roles of `POST /threads/:id/messages` (`user` and `assistant` by default). Anything else is refused with `400 INVALID_INPUT`, over HTTP and WebSocket alike.
|
|
74
75
|
- A `POST` body that is not JSON (`text/plain`, a form) is refused with `415 UNSUPPORTED_MEDIA_TYPE` before it is parsed: browsers send those across origins without a CORS preflight.
|
|
@@ -105,11 +106,30 @@ Creates a Hono sub-application with all Cogitator endpoints.
|
|
|
105
106
|
|
|
106
107
|
### Workflows
|
|
107
108
|
|
|
108
|
-
| Method | Path
|
|
109
|
-
| ------ |
|
|
110
|
-
| `GET` | `/workflows`
|
|
111
|
-
| `POST` | `/workflows/:name/run`
|
|
112
|
-
| `POST` | `/workflows/:name/stream`
|
|
109
|
+
| Method | Path | Description |
|
|
110
|
+
| ------ | -------------------------------- | --------------------------------- |
|
|
111
|
+
| `GET` | `/workflows` | List workflows |
|
|
112
|
+
| `POST` | `/workflows/:name/run` | Execute workflow |
|
|
113
|
+
| `POST` | `/workflows/:name/stream` | Stream workflow events |
|
|
114
|
+
| `POST` | `/workflows/:name/resume` | Resume from a checkpoint |
|
|
115
|
+
| `POST` | `/workflows/:name/resume/stream` | Resume and stream workflow events |
|
|
116
|
+
|
|
117
|
+
#### Checkpoints and resume
|
|
118
|
+
|
|
119
|
+
`workflowCheckpoints` takes any `CheckpointStore` of `@cogitator-ai/workflows`, such as `PostgresCheckpointStore` or `RedisCheckpointStore`. With it, a run with `options.checkpoint: true` saves its checkpoints there as the caller's, the `userId` that `auth` returned (none for an anonymous caller), and its answer and `workflow_completed` event carry the last one as `checkpointId`. Without it such a run is refused with `400 INVALID_INPUT`.
|
|
120
|
+
|
|
121
|
+
`POST /workflows/:name/resume` takes `{ checkpointId: string; options?: { maxConcurrency?: number; maxIterations?: number } }`, passes over the nodes the checkpoint completed and runs the rest. It answers like `/run`, and `/resume/stream` streams like `/stream`. The `limits` hold as on `/run`, and the resumed run keeps saving checkpoints, so it can be resumed again. A checkpoint that is missing, belongs to another user or to another workflow answers `404 CHECKPOINT_NOT_FOUND` before anything runs, on `/resume/stream` before the stream opens. Without `workflowCheckpoints` every resume answers `404 CHECKPOINT_NOT_FOUND`. A run that fails answers its error with the last checkpoint it saved as `checkpointId`, next to `code` and `message` (`{ error: { message, code, checkpointId } }`), and a failed stream sends a `workflow_failed` event with `{ checkpointId }` right before its `error` event, so the client resumes the failed run from there. A resume that fails again names the checkpoint to resume from, its own last one or, when it saved none, the one it started from.
|
|
122
|
+
|
|
123
|
+
```typescript
|
|
124
|
+
import { PostgresCheckpointStore } from '@cogitator-ai/workflows';
|
|
125
|
+
|
|
126
|
+
const api = cogitatorApp({
|
|
127
|
+
cogitator,
|
|
128
|
+
workflows: { shipping },
|
|
129
|
+
auth,
|
|
130
|
+
workflowCheckpoints: new PostgresCheckpointStore({ client: pool }),
|
|
131
|
+
});
|
|
132
|
+
```
|
|
113
133
|
|
|
114
134
|
### Swarms
|
|
115
135
|
|
|
@@ -245,7 +265,7 @@ export default app;
|
|
|
245
265
|
Deno.serve(app.fetch);
|
|
246
266
|
```
|
|
247
267
|
|
|
248
|
-
On Bun, `Bun.serve` closes a connection that stays silent for `idleTimeout` seconds (10 by default), and a run that waits on a slow tool or model is silent for longer. The adapter handles both kinds of answer: SSE streams write a heartbeat comment every `sseHeartbeatMs` (5 s by default, keep it under `idleTimeout`), and the JSON routes (`run`, `resume`, workflow and swarm `run`) lift the idle timeout for their own request once its body is read, through the server Bun hands to `fetch`. Serve the app with `fetch: app.fetch` (or `export default app`) so Hono receives that server. Keep `idleTimeout` at its default or above, since Bun cuts connections at once below 5 s whatever is written.
|
|
268
|
+
On Bun, `Bun.serve` closes a connection that stays silent for `idleTimeout` seconds (10 by default), and a run that waits on a slow tool or model is silent for longer. The adapter handles both kinds of answer: SSE streams write a heartbeat comment every `sseHeartbeatMs` (5 s by default, keep it under `idleTimeout`), and the JSON routes (`run`, `resume`, workflow `run` and `resume`, swarm `run`) lift the idle timeout for their own request once its body is read, through the server Bun hands to `fetch`. Serve the app with `fetch: app.fetch` (or `export default app`) so Hono receives that server. Keep `idleTimeout` at its default or above, since Bun cuts connections at once below 5 s whatever is written.
|
|
249
269
|
|
|
250
270
|
On Cloudflare Workers use a `compatibility_date` of 2026-08-04 or later (or the `nodejs_compat` flag); with database memory create the `Cogitator` per request, since Workers do not share connections between requests. Deno needs only `--allow-net` and `--allow-env`. Complete projects: [`09-deno-server.ts`](https://github.com/cogitator-ai/Cogitator-AI/blob/main/examples/integrations/09-deno-server.ts), [`10-cloudflare-worker`](https://github.com/cogitator-ai/Cogitator-AI/tree/main/examples/integrations/10-cloudflare-worker). See also [cogitator.app/docs/deployment/edge](https://cogitator.app/docs/deployment/edge).
|
|
251
271
|
|
|
@@ -257,7 +277,7 @@ Agent streams emit `tool-call-start`, `tool-call-delta` (the JSON arguments) and
|
|
|
257
277
|
|
|
258
278
|
When the agent sets `reasoning: { summary: true }` and the provider returns a reasoning summary, agent streams also emit it as its own `reasoning-start`/`reasoning-delta`/`reasoning-end` part, closed before text or a tool call starts, so reasoning and text parts never interleave.
|
|
259
279
|
|
|
260
|
-
Workflow streams send `{ type: 'workflow', event, data }` (`node_started`, `node_completed`, `node_error`, `node_progress`, `workflow_completed`); swarm streams send `{ type: 'swarm', event, data }` (`agent_start`, `agent_complete`, `agent_error`, `message`, the swarm's own events, `swarm_completed`). Every stream ends with `finish` and `data: [DONE]`, or with an `error` event.
|
|
280
|
+
Workflow streams send `{ type: 'workflow', event, data }` (`node_started`, `node_completed`, `node_error`, `node_progress`, `workflow_completed`, and `workflow_failed` with `{ checkpointId? }` right before the `error` event of a failed run); swarm streams send `{ type: 'swarm', event, data }` (`agent_start`, `agent_complete`, `agent_error`, `message`, the swarm's own events, `swarm_completed`). Every stream ends with `finish` and `data: [DONE]`, or with an `error` event.
|
|
261
281
|
|
|
262
282
|
While a stream is open, every `sseHeartbeatMs` (5 s by default) it also writes an SSE comment, `: keep-alive`, which SSE clients skip. It keeps a stream that waits on a slow tool or model from being closed by Bun's `idleTimeout` or by a proxy (nginx closes a connection silent for 60 s).
|
|
263
283
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { cogitatorApp } from './app.js';
|
|
2
|
-
export type { CogitatorAppOptions, CogitatorContext, HonoEnv, AuthContext, AuthFunction, DepsFunction, RunLimits, AnonymousPolicy, AuthorizeThread, WebSocketConfig, AgentListResponse, AgentRunRequest, AgentRunResponse, AgentResumeRequest, PendingApproval, ThreadResponse, AddMessageRequest, ToolListResponse, WorkflowListResponse, WorkflowRunRequest, WorkflowRunResponse, WorkflowStatusResponse, SwarmListResponse, SwarmRunRequest, SwarmRunResponse, BlackboardResponse, HealthResponse, ReadinessResponse, ReadinessCheckStatus, ErrorResponse, SwaggerConfig, WebSocketMessage, WebSocketResponse, WebSocketRunPayload, WebSocketResumePayload, WebSocketClientState, WebSocketLike, } from './types.js';
|
|
2
|
+
export type { CogitatorAppOptions, CogitatorContext, HonoEnv, AuthContext, AuthFunction, DepsFunction, RunLimits, AnonymousPolicy, AuthorizeThread, WebSocketConfig, AgentListResponse, AgentRunRequest, AgentRunResponse, AgentResumeRequest, PendingApproval, ThreadResponse, AddMessageRequest, ToolListResponse, WorkflowListResponse, WorkflowRunRequest, WorkflowRunResponse, WorkflowResumeRequest, WorkflowStatusResponse, SwarmListResponse, SwarmRunRequest, SwarmRunResponse, BlackboardResponse, HealthResponse, ReadinessResponse, ReadinessCheckStatus, ErrorResponse, SwaggerConfig, WebSocketMessage, WebSocketResponse, WebSocketRunPayload, WebSocketResumePayload, WebSocketClientState, WebSocketLike, } from './types.js';
|
|
3
3
|
export { HonoStreamWriter } from './streaming/hono-stream-writer.js';
|
|
4
4
|
export type { HonoStreamWriterOptions } from './streaming/hono-stream-writer.js';
|
|
5
5
|
export { createContextMiddleware } from './middleware/context.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,YAAY,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAEjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEtE,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,EAChB,UAAU,GACX,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,YAAY,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAEjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEtE,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,EAChB,UAAU,GACX,MAAM,6BAA6B,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AA2CxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAGrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAIhC,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,EAChB,UAAU,GACX,MAAM,6BAA6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/middleware/context.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEhE;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/middleware/context.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEhE;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,mEAsBhE"}
|
|
@@ -20,6 +20,7 @@ export function createContextMiddleware(opts) {
|
|
|
20
20
|
limits,
|
|
21
21
|
authorizeThread: opts.authorizeThread,
|
|
22
22
|
deps: opts.deps,
|
|
23
|
+
workflowCheckpoints: opts.workflowCheckpoints,
|
|
23
24
|
});
|
|
24
25
|
c.set('cogitatorRequestId', generateId('req'));
|
|
25
26
|
c.set('cogitatorStartTime', Date.now());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/middleware/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,4BAA4B,EAC5B,cAAc,EACd,UAAU,EACV,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AAGrC;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAyB;IAC/D,MAAM,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,gBAAgB,CAAU,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACjD,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE;YACjB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YACzB,cAAc;YACd,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,KAAK;YAC1C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,4BAA4B;YAC3E,MAAM;YACN,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/middleware/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,4BAA4B,EAC5B,cAAc,EACd,UAAU,EACV,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AAGrC;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAyB;IAC/D,MAAM,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,gBAAgB,CAAU,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACjD,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE;YACjB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YACzB,cAAc;YACd,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,KAAK;YAC1C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,4BAA4B;YAC3E,MAAM;YACN,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;SAC9C,CAAC,CAAC;QACH,CAAC,CAAC,GAAG,CAAC,oBAAoB,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAExC,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/routes/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/routes/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAuB5B,OAAO,KAAK,EAAE,OAAO,EAAwB,MAAM,aAAa,CAAC;AA8KjE,wBAAgB,oBAAoB,IAAI,IAAI,CAAC,OAAO,CAAC,CAoCpD"}
|
package/dist/routes/workflows.js
CHANGED
|
@@ -1,11 +1,149 @@
|
|
|
1
1
|
import { Hono } from 'hono';
|
|
2
2
|
import { streamSSE } from 'hono/streaming';
|
|
3
|
-
import { generateId, parseWorkflowRunRequest, workflowOptionsWithin, } from '@cogitator-ai/server-shared';
|
|
3
|
+
import { checkpointNotFound, findOwnedCheckpoint, generateId, ownedCheckpoints, parseWorkflowResumeRequest, parseWorkflowRunRequest, toWorkflowCompletedData, toWorkflowFailedData, withResumedCheckpoint, workflowOptionsWithin, workflowRunFailure, } from '@cogitator-ai/server-shared';
|
|
4
4
|
import { HonoStreamWriter } from '../streaming/hono-stream-writer.js';
|
|
5
5
|
import { getOwn } from '../utils/lookup.js';
|
|
6
6
|
import { describeError, isModuleNotFoundError } from '../utils/errors.js';
|
|
7
|
-
import { createRequestAbortController, holdConnectionOpen, errorResponse, invalidInput, bodyRefused, notFound, notInstalled, readJsonBody, requestAborted, } from '../utils/request.js';
|
|
7
|
+
import { createRequestAbortController, holdConnectionOpen, errorResponse, invalidInput, bodyRefused, notFound, notInstalled, readJsonBody, requestAborted, sendError, } from '../utils/request.js';
|
|
8
8
|
import { toWorkflowRunResponse } from '../utils/results.js';
|
|
9
|
+
async function executorFor(c, checkpoints) {
|
|
10
|
+
const { WorkflowExecutor } = await import('@cogitator-ai/workflows');
|
|
11
|
+
return new WorkflowExecutor(c.get('cogitator').runtime, checkpoints);
|
|
12
|
+
}
|
|
13
|
+
/** The start of a workflow run, or the answer that refused it */
|
|
14
|
+
async function admitRun(c) {
|
|
15
|
+
const ctx = c.get('cogitator');
|
|
16
|
+
const name = c.req.param('name') ?? '';
|
|
17
|
+
const workflow = getOwn(ctx.workflows, name);
|
|
18
|
+
if (!workflow)
|
|
19
|
+
return notFound(c, `Workflow '${name}' not found`);
|
|
20
|
+
const body = await readJsonBody(c);
|
|
21
|
+
if (!body.ok)
|
|
22
|
+
return bodyRefused(c, body.refusal);
|
|
23
|
+
const store = ctx.workflowCheckpoints;
|
|
24
|
+
const parsed = parseWorkflowRunRequest(body.value, { checkpoints: store !== undefined });
|
|
25
|
+
if (!parsed.ok)
|
|
26
|
+
return invalidInput(c, parsed.message);
|
|
27
|
+
const { input, options = {} } = parsed.value;
|
|
28
|
+
const checkpoints = options.checkpoint && store
|
|
29
|
+
? ownedCheckpoints(store, c.get('cogitatorAuth')?.userId)
|
|
30
|
+
: undefined;
|
|
31
|
+
return async (runOptions) => (await executorFor(c, checkpoints)).execute(workflow, input, {
|
|
32
|
+
...workflowOptionsWithin(options, ctx.limits),
|
|
33
|
+
...runOptions,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The start of a workflow resume, or the answer that refused it: a checkpoint that is missing,
|
|
38
|
+
* belongs to another user or to another workflow is refused before anything runs
|
|
39
|
+
*/
|
|
40
|
+
async function admitResume(c) {
|
|
41
|
+
const ctx = c.get('cogitator');
|
|
42
|
+
const name = c.req.param('name') ?? '';
|
|
43
|
+
const workflow = getOwn(ctx.workflows, name);
|
|
44
|
+
if (!workflow)
|
|
45
|
+
return notFound(c, `Workflow '${name}' not found`);
|
|
46
|
+
const body = await readJsonBody(c);
|
|
47
|
+
if (!body.ok)
|
|
48
|
+
return bodyRefused(c, body.refusal);
|
|
49
|
+
const parsed = parseWorkflowResumeRequest(body.value);
|
|
50
|
+
if (!parsed.ok)
|
|
51
|
+
return invalidInput(c, parsed.message);
|
|
52
|
+
const { checkpointId, options = {} } = parsed.value;
|
|
53
|
+
const store = ctx.workflowCheckpoints;
|
|
54
|
+
const userId = c.get('cogitatorAuth')?.userId;
|
|
55
|
+
try {
|
|
56
|
+
const checkpoint = await findOwnedCheckpoint(store, userId, workflow.name, checkpointId);
|
|
57
|
+
if (!store || !checkpoint)
|
|
58
|
+
return sendError(c, checkpointNotFound(checkpointId));
|
|
59
|
+
const checkpoints = ownedCheckpoints(store, userId);
|
|
60
|
+
return async (runOptions) => withResumedCheckpoint(await (await executorFor(c, checkpoints)).resume(workflow, checkpointId, {
|
|
61
|
+
...workflowOptionsWithin(options, ctx.limits),
|
|
62
|
+
checkpoint: true,
|
|
63
|
+
...runOptions,
|
|
64
|
+
}), checkpointId);
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
return errorResponse(c, error, 'Workflow resume error');
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
async function respond(c, start, label) {
|
|
71
|
+
holdConnectionOpen(c);
|
|
72
|
+
const abortController = createRequestAbortController(c);
|
|
73
|
+
try {
|
|
74
|
+
const result = await start({ signal: abortController.signal });
|
|
75
|
+
if (abortController.signal.aborted)
|
|
76
|
+
return requestAborted(c);
|
|
77
|
+
if (result.error) {
|
|
78
|
+
return sendError(c, workflowRunFailure(describeError(result.error, label), result.checkpointId));
|
|
79
|
+
}
|
|
80
|
+
return c.json(toWorkflowRunResponse(result));
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
if (abortController.signal.aborted)
|
|
84
|
+
return requestAborted(c);
|
|
85
|
+
if (isModuleNotFoundError(error)) {
|
|
86
|
+
return notInstalled(c, 'Workflows');
|
|
87
|
+
}
|
|
88
|
+
return errorResponse(c, error, label);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function stream(c, start) {
|
|
92
|
+
const abortController = createRequestAbortController(c);
|
|
93
|
+
return streamSSE(c, async (sse) => {
|
|
94
|
+
const writer = new HonoStreamWriter(sse, { heartbeatMs: c.get('cogitator').sseHeartbeatMs });
|
|
95
|
+
const messageId = generateId('wf');
|
|
96
|
+
sse.onAbort(() => {
|
|
97
|
+
writer.close();
|
|
98
|
+
abortController.abort();
|
|
99
|
+
});
|
|
100
|
+
try {
|
|
101
|
+
await writer.start(messageId);
|
|
102
|
+
const result = await start({
|
|
103
|
+
signal: abortController.signal,
|
|
104
|
+
onNodeStart: (node) => {
|
|
105
|
+
void writer.workflowEvent('node_started', { nodeName: node, timestamp: Date.now() });
|
|
106
|
+
},
|
|
107
|
+
onNodeComplete: (node, output, duration) => {
|
|
108
|
+
void writer.workflowEvent('node_completed', { nodeName: node, output, duration });
|
|
109
|
+
},
|
|
110
|
+
onNodeError: (node, error) => {
|
|
111
|
+
void writer.workflowEvent('node_error', {
|
|
112
|
+
nodeName: node,
|
|
113
|
+
error: describeError(error, `Workflow node ${node} error`).message,
|
|
114
|
+
});
|
|
115
|
+
},
|
|
116
|
+
onNodeProgress: (node, progress) => {
|
|
117
|
+
void writer.workflowEvent('node_progress', { nodeName: node, progress });
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
if (abortController.signal.aborted)
|
|
121
|
+
return;
|
|
122
|
+
if (result.error) {
|
|
123
|
+
await writer.workflowEvent('workflow_failed', toWorkflowFailedData(result));
|
|
124
|
+
const failure = describeError(result.error, 'Workflow stream error');
|
|
125
|
+
await writer.error(failure.message, failure.code);
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
await writer.workflowEvent('workflow_completed', toWorkflowCompletedData(result));
|
|
129
|
+
await writer.finish(messageId);
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
if (abortController.signal.aborted)
|
|
133
|
+
return;
|
|
134
|
+
if (isModuleNotFoundError(error)) {
|
|
135
|
+
await writer.error('Workflows package not installed', 'UNIMPLEMENTED');
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
const failure = describeError(error, 'Workflow stream error');
|
|
139
|
+
await writer.error(failure.message, failure.code);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
finally {
|
|
143
|
+
writer.close();
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}
|
|
9
147
|
export function createWorkflowRoutes() {
|
|
10
148
|
const app = new Hono();
|
|
11
149
|
app.get('/workflows', (c) => {
|
|
@@ -19,112 +157,20 @@ export function createWorkflowRoutes() {
|
|
|
19
157
|
return c.json(response);
|
|
20
158
|
});
|
|
21
159
|
app.post('/workflows/:name/run', async (c) => {
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
const workflow = getOwn(ctx.workflows, name);
|
|
25
|
-
if (!workflow)
|
|
26
|
-
return notFound(c, `Workflow '${name}' not found`);
|
|
27
|
-
const body = await readJsonBody(c);
|
|
28
|
-
if (!body.ok)
|
|
29
|
-
return bodyRefused(c, body.refusal);
|
|
30
|
-
const parsed = parseWorkflowRunRequest(body.value);
|
|
31
|
-
if (!parsed.ok)
|
|
32
|
-
return invalidInput(c, parsed.message);
|
|
33
|
-
holdConnectionOpen(c);
|
|
34
|
-
const abortController = createRequestAbortController(c);
|
|
35
|
-
try {
|
|
36
|
-
const { WorkflowExecutor } = await import('@cogitator-ai/workflows');
|
|
37
|
-
const executor = new WorkflowExecutor(ctx.runtime);
|
|
38
|
-
const result = await executor.execute(workflow, parsed.value.input, {
|
|
39
|
-
...workflowOptionsWithin(parsed.value.options ?? {}, ctx.limits),
|
|
40
|
-
signal: abortController.signal,
|
|
41
|
-
});
|
|
42
|
-
if (abortController.signal.aborted)
|
|
43
|
-
return requestAborted(c);
|
|
44
|
-
if (result.error)
|
|
45
|
-
return errorResponse(c, result.error, 'Workflow run error');
|
|
46
|
-
return c.json(toWorkflowRunResponse(result));
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
if (abortController.signal.aborted)
|
|
50
|
-
return requestAborted(c);
|
|
51
|
-
if (isModuleNotFoundError(error)) {
|
|
52
|
-
return notInstalled(c, 'Workflows');
|
|
53
|
-
}
|
|
54
|
-
return errorResponse(c, error, 'Workflow run error');
|
|
55
|
-
}
|
|
160
|
+
const start = await admitRun(c);
|
|
161
|
+
return start instanceof Response ? start : respond(c, start, 'Workflow run error');
|
|
56
162
|
});
|
|
57
163
|
app.post('/workflows/:name/stream', async (c) => {
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
return invalidInput(c, parsed.message);
|
|
69
|
-
const abortController = createRequestAbortController(c);
|
|
70
|
-
return streamSSE(c, async (stream) => {
|
|
71
|
-
const writer = new HonoStreamWriter(stream, { heartbeatMs: ctx.sseHeartbeatMs });
|
|
72
|
-
const messageId = generateId('wf');
|
|
73
|
-
stream.onAbort(() => {
|
|
74
|
-
writer.close();
|
|
75
|
-
abortController.abort();
|
|
76
|
-
});
|
|
77
|
-
try {
|
|
78
|
-
const { WorkflowExecutor } = await import('@cogitator-ai/workflows');
|
|
79
|
-
const executor = new WorkflowExecutor(ctx.runtime);
|
|
80
|
-
await writer.start(messageId);
|
|
81
|
-
const result = await executor.execute(workflow, parsed.value.input, {
|
|
82
|
-
...workflowOptionsWithin(parsed.value.options ?? {}, ctx.limits),
|
|
83
|
-
signal: abortController.signal,
|
|
84
|
-
onNodeStart: (node) => {
|
|
85
|
-
void writer.workflowEvent('node_started', { nodeName: node, timestamp: Date.now() });
|
|
86
|
-
},
|
|
87
|
-
onNodeComplete: (node, output, duration) => {
|
|
88
|
-
void writer.workflowEvent('node_completed', { nodeName: node, output, duration });
|
|
89
|
-
},
|
|
90
|
-
onNodeError: (node, error) => {
|
|
91
|
-
void writer.workflowEvent('node_error', {
|
|
92
|
-
nodeName: node,
|
|
93
|
-
error: describeError(error, `Workflow node ${node} error`).message,
|
|
94
|
-
});
|
|
95
|
-
},
|
|
96
|
-
onNodeProgress: (node, progress) => {
|
|
97
|
-
void writer.workflowEvent('node_progress', { nodeName: node, progress });
|
|
98
|
-
},
|
|
99
|
-
});
|
|
100
|
-
if (abortController.signal.aborted)
|
|
101
|
-
return;
|
|
102
|
-
if (result.error) {
|
|
103
|
-
const failure = describeError(result.error, 'Workflow stream error');
|
|
104
|
-
await writer.error(failure.message, failure.code);
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
await writer.workflowEvent('workflow_completed', {
|
|
108
|
-
workflowId: result.workflowId,
|
|
109
|
-
duration: result.duration,
|
|
110
|
-
});
|
|
111
|
-
await writer.finish(messageId);
|
|
112
|
-
}
|
|
113
|
-
catch (error) {
|
|
114
|
-
if (abortController.signal.aborted)
|
|
115
|
-
return;
|
|
116
|
-
if (isModuleNotFoundError(error)) {
|
|
117
|
-
await writer.error('Workflows package not installed', 'UNIMPLEMENTED');
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
const failure = describeError(error, 'Workflow stream error');
|
|
121
|
-
await writer.error(failure.message, failure.code);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
finally {
|
|
125
|
-
writer.close();
|
|
126
|
-
}
|
|
127
|
-
});
|
|
164
|
+
const start = await admitRun(c);
|
|
165
|
+
return start instanceof Response ? start : stream(c, start);
|
|
166
|
+
});
|
|
167
|
+
app.post('/workflows/:name/resume', async (c) => {
|
|
168
|
+
const start = await admitResume(c);
|
|
169
|
+
return start instanceof Response ? start : respond(c, start, 'Workflow resume error');
|
|
170
|
+
});
|
|
171
|
+
app.post('/workflows/:name/resume/stream', async (c) => {
|
|
172
|
+
const start = await admitResume(c);
|
|
173
|
+
return start instanceof Response ? start : stream(c, start);
|
|
128
174
|
});
|
|
129
175
|
return app;
|
|
130
176
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/routes/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/routes/workflows.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Context as HonoContext } from 'hono';
|
|
2
2
|
import type { UpgradeWebSocket } from 'hono/ws';
|
|
3
3
|
import type { Cogitator, Agent } from '@cogitator-ai/core';
|
|
4
|
-
import type { AgentRunResponse, AnonymousPolicy, AuthorizeThread, ContextPolicy, PendingApproval, ReadinessCheckStatus, ReadinessResponse, RunLimits, ThreadMessageRole, WorkflowRunRequestBody } from '@cogitator-ai/server-shared';
|
|
5
|
-
import type { Message, ToolCall, ToolResult, RunResult, Workflow, WorkflowResult, WorkflowState, SwarmConfig, SwarmResult, SwarmRunOptions, StreamingWorkflowEvent, SwarmEvent, SwarmMessage, ToolApprovalDecision } from '@cogitator-ai/types';
|
|
4
|
+
import type { AgentRunResponse, AnonymousPolicy, AuthorizeThread, ContextPolicy, PendingApproval, ReadinessCheckStatus, ReadinessResponse, RunLimits, ThreadMessageRole, WorkflowResumeRequestBody, WorkflowRunRequestBody } from '@cogitator-ai/server-shared';
|
|
5
|
+
import type { CheckpointStore, Message, ToolCall, ToolResult, RunResult, Workflow, WorkflowResult, WorkflowState, SwarmConfig, SwarmResult, SwarmRunOptions, StreamingWorkflowEvent, SwarmEvent, SwarmMessage, ToolApprovalDecision } from '@cogitator-ai/types';
|
|
6
6
|
export type { Message, ToolCall, ToolResult, RunResult, Workflow, WorkflowResult, WorkflowState, SwarmConfig, SwarmResult, SwarmRunOptions, StreamingWorkflowEvent, SwarmEvent, SwarmMessage, ToolApprovalDecision, PendingApproval, ReadinessResponse, ReadinessCheckStatus, RunLimits, AnonymousPolicy, AuthorizeThread, };
|
|
7
7
|
export interface AuthContext {
|
|
8
8
|
userId?: string;
|
|
@@ -77,6 +77,14 @@ export interface CogitatorAppOptions {
|
|
|
77
77
|
* request body.
|
|
78
78
|
*/
|
|
79
79
|
deps?: DepsFunction;
|
|
80
|
+
/**
|
|
81
|
+
* Where workflow runs keep their checkpoints. With a store, a run with
|
|
82
|
+
* `options.checkpoint: true` saves checkpoints owned by the caller, its answer names the
|
|
83
|
+
* last one as `checkpointId`, and `POST /workflows/:name/resume` (and `/resume/stream`)
|
|
84
|
+
* resumes from one of them. Without it such a run is refused with 400 and every resume
|
|
85
|
+
* answers 404 `CHECKPOINT_NOT_FOUND`.
|
|
86
|
+
*/
|
|
87
|
+
workflowCheckpoints?: CheckpointStore;
|
|
80
88
|
}
|
|
81
89
|
export interface CogitatorContext {
|
|
82
90
|
runtime: Cogitator;
|
|
@@ -95,6 +103,8 @@ export interface CogitatorContext {
|
|
|
95
103
|
authorizeThread?: AuthorizeThread<AuthContext>;
|
|
96
104
|
/** The `deps` option. Default: runs get no deps */
|
|
97
105
|
deps?: DepsFunction;
|
|
106
|
+
/** The `workflowCheckpoints` option. Default: none, workflow runs keep no checkpoints */
|
|
107
|
+
workflowCheckpoints?: CheckpointStore;
|
|
98
108
|
}
|
|
99
109
|
export type HonoEnv = {
|
|
100
110
|
Variables: {
|
|
@@ -160,7 +170,10 @@ export interface WorkflowRunResponse {
|
|
|
160
170
|
output: unknown;
|
|
161
171
|
duration: number;
|
|
162
172
|
}>;
|
|
173
|
+
/** The last checkpoint of a run with `options.checkpoint` or of a resume */
|
|
174
|
+
checkpointId?: string;
|
|
163
175
|
}
|
|
176
|
+
export type WorkflowResumeRequest = WorkflowResumeRequestBody;
|
|
164
177
|
export interface WorkflowStatusResponse {
|
|
165
178
|
runId: string;
|
|
166
179
|
status: 'pending' | 'running' | 'completed' | 'failed';
|
package/dist/types.d.ts.map
CHANGED
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../../src/utils/results.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEzE,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9F;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../../src/utils/results.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEzE,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9F;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,GAAG,mBAAmB,CAShG;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,oBAAoB,CAOnF;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,gBAAgB,IAAI,kBAAkB,CAAA;CAAE,EACjG,MAAM,EAAE,cAAc,GACrB,gBAAgB,CAmBlB"}
|
package/dist/utils/results.js
CHANGED
|
@@ -5,6 +5,7 @@ export function toWorkflowRunResponse(result) {
|
|
|
5
5
|
state: result.state,
|
|
6
6
|
duration: result.duration,
|
|
7
7
|
nodeResults: Object.fromEntries(result.nodeResults),
|
|
8
|
+
...(result.checkpointId !== undefined && { checkpointId: result.checkpointId }),
|
|
8
9
|
};
|
|
9
10
|
}
|
|
10
11
|
export function serializeSwarmUsage(usage) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"results.js","sourceRoot":"","sources":["../../src/utils/results.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,qBAAqB,CAAC,MAAqC;IACzE,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"results.js","sourceRoot":"","sources":["../../src/utils/results.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,qBAAqB,CAAC,MAAqC;IACzE,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;QACnD,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;KAChF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC3D,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAiG,EACjG,MAAsB;IAEtB,MAAM,YAAY,GAA4B,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QAC3D,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC;IACrF,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;IACvC,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,SAAS,EAAE,KAAK,CAAC,IAAI;QACrB,QAAQ,EAAE,KAAK,CAAC,YAAY;QAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,YAAY;QACZ,KAAK,EAAE;YACL,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogitator-ai/hono",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.1",
|
|
4
4
|
"description": "Hono server adapter for Cogitator AI runtime — works on Node.js, Bun, Deno, Cloudflare Workers",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -20,21 +20,21 @@
|
|
|
20
20
|
"node": ">=22.12.0"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@cogitator-ai/core": "0.
|
|
24
|
-
"@cogitator-ai/memory": "0.24.
|
|
25
|
-
"@cogitator-ai/types": "0.
|
|
26
|
-
"@cogitator-ai/server-shared": "0.
|
|
23
|
+
"@cogitator-ai/core": "0.58.0",
|
|
24
|
+
"@cogitator-ai/memory": "0.24.5",
|
|
25
|
+
"@cogitator-ai/types": "0.63.0",
|
|
26
|
+
"@cogitator-ai/server-shared": "0.9.0"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
29
|
"hono": ">=4.0.0"
|
|
30
30
|
},
|
|
31
31
|
"optionalDependencies": {
|
|
32
|
-
"@cogitator-ai/workflows": "0.14.
|
|
33
|
-
"@cogitator-ai/swarms": "0.14.
|
|
32
|
+
"@cogitator-ai/workflows": "0.14.4",
|
|
33
|
+
"@cogitator-ai/swarms": "0.14.4"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@cogitator-ai/workflows": "0.14.
|
|
37
|
-
"@cogitator-ai/swarms": "0.14.
|
|
36
|
+
"@cogitator-ai/workflows": "0.14.4",
|
|
37
|
+
"@cogitator-ai/swarms": "0.14.4",
|
|
38
38
|
"@types/node": "^22.20.4",
|
|
39
39
|
"hono": "^4.13.12",
|
|
40
40
|
"typescript": "^6.0.3",
|