@cogitator-ai/hono 0.1.13 → 0.2.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 +67 -2
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +3 -1
- package/dist/app.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/middleware/body-limit.d.ts +5 -0
- package/dist/middleware/body-limit.d.ts.map +1 -0
- package/dist/middleware/body-limit.js +9 -0
- package/dist/middleware/body-limit.js.map +1 -0
- package/dist/middleware/error-handler.d.ts.map +1 -1
- package/dist/middleware/error-handler.js +7 -3
- package/dist/middleware/error-handler.js.map +1 -1
- package/dist/routes/agents.d.ts.map +1 -1
- package/dist/routes/agents.js +43 -47
- package/dist/routes/agents.js.map +1 -1
- package/dist/routes/health.d.ts +1 -1
- package/dist/routes/health.d.ts.map +1 -1
- package/dist/routes/health.js +1 -2
- package/dist/routes/health.js.map +1 -1
- package/dist/routes/swarms.d.ts.map +1 -1
- package/dist/routes/swarms.js +50 -64
- package/dist/routes/swarms.js.map +1 -1
- package/dist/routes/threads.d.ts.map +1 -1
- package/dist/routes/threads.js +35 -43
- package/dist/routes/threads.js.map +1 -1
- package/dist/routes/tools.d.ts.map +1 -1
- package/dist/routes/tools.js +4 -3
- package/dist/routes/tools.js.map +1 -1
- package/dist/routes/workflows.d.ts.map +1 -1
- package/dist/routes/workflows.js +53 -38
- package/dist/routes/workflows.js.map +1 -1
- package/dist/streaming/hono-stream-writer.d.ts.map +1 -1
- package/dist/streaming/hono-stream-writer.js +1 -8
- package/dist/streaming/hono-stream-writer.js.map +1 -1
- package/dist/types.d.ts +19 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/errors.d.ts +11 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +28 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/lookup.d.ts +2 -0
- package/dist/utils/lookup.d.ts.map +1 -0
- package/dist/utils/lookup.js +4 -0
- package/dist/utils/lookup.js.map +1 -0
- package/dist/utils/request.d.ts +15 -0
- package/dist/utils/request.d.ts.map +1 -0
- package/dist/utils/request.js +37 -0
- package/dist/utils/request.js.map +1 -0
- package/dist/utils/results.d.ts +22 -0
- package/dist/utils/results.d.ts.map +1 -0
- package/dist/utils/results.js +37 -0
- package/dist/utils/results.js.map +1 -0
- package/dist/utils/validation.d.ts +14 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +103 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/websocket/handler.d.ts +4 -12
- package/dist/websocket/handler.d.ts.map +1 -1
- package/dist/websocket/handler.js +204 -127
- package/dist/websocket/handler.js.map +1 -1
- package/package.json +9 -8
|
@@ -1,169 +1,246 @@
|
|
|
1
1
|
import { Hono } from 'hono';
|
|
2
2
|
import { generateId } from '@cogitator-ai/server-shared';
|
|
3
|
-
|
|
3
|
+
import { getOwn } from '../utils/lookup.js';
|
|
4
|
+
import { isModuleNotFoundError, resolveError } from '../utils/errors.js';
|
|
5
|
+
import { toSwarmRunResponse, toWorkflowRunResponse } from '../utils/results.js';
|
|
6
|
+
import { isRecord } from '../utils/validation.js';
|
|
7
|
+
const WS_OPEN = 1;
|
|
8
|
+
const WS_MESSAGE_TOO_BIG = 1009;
|
|
9
|
+
const DEFAULT_PATH = '/ws';
|
|
10
|
+
const DEFAULT_MAX_PAYLOAD = 1024 * 1024;
|
|
11
|
+
const RUN_TYPES = ['agent', 'workflow', 'swarm'];
|
|
12
|
+
class ClientFacingError extends Error {
|
|
13
|
+
}
|
|
14
|
+
export function createWebSocketRoutes(config = {}) {
|
|
15
|
+
const options = typeof config === 'string' ? { path: config } : config;
|
|
16
|
+
const path = options.path ?? DEFAULT_PATH;
|
|
17
|
+
const maxPayloadSize = options.maxPayloadSize ?? DEFAULT_MAX_PAYLOAD;
|
|
4
18
|
const app = new Hono();
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
19
|
+
if (!options.upgradeWebSocket) {
|
|
20
|
+
app.get(path, (c) => c.json({
|
|
21
|
+
error: {
|
|
22
|
+
message: 'WebSocket is not configured: pass websocket.upgradeWebSocket from your runtime adapter',
|
|
23
|
+
code: 'UNIMPLEMENTED',
|
|
24
|
+
},
|
|
25
|
+
}, 501));
|
|
26
|
+
return app;
|
|
27
|
+
}
|
|
28
|
+
app.get(path, options.upgradeWebSocket((c) => {
|
|
29
|
+
const ctx = c.get('cogitator');
|
|
30
|
+
const state = createClientState();
|
|
31
|
+
return {
|
|
32
|
+
onMessage(event, ws) {
|
|
33
|
+
void receiveMessage(ws, event.data, ctx, state, maxPayloadSize);
|
|
34
|
+
},
|
|
35
|
+
onClose() {
|
|
36
|
+
state.abortController?.abort();
|
|
37
|
+
},
|
|
38
|
+
onError() {
|
|
39
|
+
state.abortController?.abort();
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}));
|
|
8
43
|
return app;
|
|
9
44
|
}
|
|
45
|
+
async function receiveMessage(ws, data, ctx, state, maxPayloadSize) {
|
|
46
|
+
const text = await messageToText(data);
|
|
47
|
+
if (Buffer.byteLength(text) > maxPayloadSize) {
|
|
48
|
+
sendResponse(ws, { type: 'error', error: 'Message too large' });
|
|
49
|
+
ws.close(WS_MESSAGE_TOO_BIG, 'Message too large');
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
await handleWebSocketMessage(ws, text, ctx, state);
|
|
53
|
+
}
|
|
54
|
+
async function messageToText(data) {
|
|
55
|
+
if (typeof data === 'string')
|
|
56
|
+
return data;
|
|
57
|
+
if (data instanceof Blob)
|
|
58
|
+
return data.text();
|
|
59
|
+
return new TextDecoder().decode(new Uint8Array(data));
|
|
60
|
+
}
|
|
61
|
+
export function createClientState() {
|
|
62
|
+
return { id: generateId('ws') };
|
|
63
|
+
}
|
|
10
64
|
export async function handleWebSocketMessage(socket, data, ctx, state) {
|
|
11
|
-
|
|
65
|
+
const message = parseMessage(data);
|
|
66
|
+
if (!message.ok) {
|
|
67
|
+
sendResponse(socket, { type: 'error', error: message.error });
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
switch (message.value.type) {
|
|
71
|
+
case 'ping':
|
|
72
|
+
sendResponse(socket, { type: 'pong', id: message.value.id });
|
|
73
|
+
return;
|
|
74
|
+
case 'stop':
|
|
75
|
+
state.abortController?.abort();
|
|
76
|
+
return;
|
|
77
|
+
case 'run':
|
|
78
|
+
await handleRun(socket, message.value.id, message.value.payload, ctx, state);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function parseMessage(data) {
|
|
83
|
+
let raw;
|
|
12
84
|
try {
|
|
13
|
-
|
|
85
|
+
raw = JSON.parse(data);
|
|
14
86
|
}
|
|
15
87
|
catch {
|
|
16
|
-
|
|
17
|
-
return;
|
|
88
|
+
return { ok: false, error: 'Invalid JSON message' };
|
|
18
89
|
}
|
|
19
|
-
|
|
20
|
-
|
|
90
|
+
if (!isRecord(raw))
|
|
91
|
+
return { ok: false, error: 'Message must be a JSON object' };
|
|
92
|
+
if (raw.id !== undefined && typeof raw.id !== 'string') {
|
|
93
|
+
return { ok: false, error: 'Message "id" must be a string' };
|
|
21
94
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
95
|
+
const id = raw.id;
|
|
96
|
+
switch (raw.type) {
|
|
97
|
+
case 'ping':
|
|
98
|
+
case 'stop':
|
|
99
|
+
return { ok: true, value: { type: raw.type, id } };
|
|
100
|
+
case 'run':
|
|
101
|
+
return { ok: true, value: { type: 'run', id, payload: raw.payload } };
|
|
102
|
+
default:
|
|
103
|
+
return { ok: false, error: `Unsupported message type: ${String(raw.type)}` };
|
|
28
104
|
}
|
|
29
105
|
}
|
|
30
|
-
|
|
31
|
-
return
|
|
32
|
-
id: generateId('ws'),
|
|
33
|
-
};
|
|
106
|
+
function isRunType(value) {
|
|
107
|
+
return RUN_TYPES.some((runType) => runType === value);
|
|
34
108
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
109
|
+
function parseRunPayload(payload) {
|
|
110
|
+
if (!isRecord(payload))
|
|
111
|
+
return 'Invalid run payload';
|
|
112
|
+
const { type, name, input, context, threadId } = payload;
|
|
113
|
+
if (!isRunType(type))
|
|
114
|
+
return `Unsupported run type: ${String(type)}`;
|
|
115
|
+
if (typeof name !== 'string' || !name)
|
|
116
|
+
return 'Invalid run payload: "name" is required';
|
|
117
|
+
if (typeof input !== 'string' || !input)
|
|
118
|
+
return 'Invalid run payload: "input" is required';
|
|
119
|
+
if (context !== undefined && !isRecord(context)) {
|
|
120
|
+
return 'Invalid run payload: "context" must be an object';
|
|
121
|
+
}
|
|
122
|
+
if (threadId !== undefined && (typeof threadId !== 'string' || !threadId)) {
|
|
123
|
+
return 'Invalid run payload: "threadId" must be a non-empty string';
|
|
47
124
|
}
|
|
125
|
+
return {
|
|
126
|
+
type,
|
|
127
|
+
name,
|
|
128
|
+
input,
|
|
129
|
+
...(context !== undefined && { context }),
|
|
130
|
+
...(threadId !== undefined && { threadId }),
|
|
131
|
+
};
|
|
48
132
|
}
|
|
49
|
-
async function handleRun(socket,
|
|
50
|
-
const payload =
|
|
51
|
-
if (
|
|
52
|
-
sendResponse(socket, { type: 'error', id
|
|
133
|
+
async function handleRun(socket, id, rawPayload, ctx, state) {
|
|
134
|
+
const payload = parseRunPayload(rawPayload);
|
|
135
|
+
if (typeof payload === 'string') {
|
|
136
|
+
sendResponse(socket, { type: 'error', id, error: payload });
|
|
53
137
|
return;
|
|
54
138
|
}
|
|
55
139
|
if (state.abortController) {
|
|
56
|
-
sendResponse(socket, { type: 'error', id
|
|
140
|
+
sendResponse(socket, { type: 'error', id, error: 'A run is already in progress' });
|
|
57
141
|
return;
|
|
58
142
|
}
|
|
59
|
-
|
|
143
|
+
const abortController = new AbortController();
|
|
144
|
+
state.abortController = abortController;
|
|
145
|
+
const emit = (event) => {
|
|
146
|
+
sendResponse(socket, { type: 'event', id, payload: event });
|
|
147
|
+
};
|
|
60
148
|
try {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
149
|
+
const result = await executeRun(payload, ctx, abortController.signal, emit);
|
|
150
|
+
if (abortController.signal.aborted) {
|
|
151
|
+
emit({ type: 'cancelled' });
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
emit({ type: 'complete', result });
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
if (abortController.signal.aborted) {
|
|
159
|
+
emit({ type: 'cancelled' });
|
|
160
|
+
}
|
|
161
|
+
else if (error instanceof ClientFacingError) {
|
|
162
|
+
sendResponse(socket, { type: 'error', id, error: error.message });
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
const { body } = resolveError(error, 'WebSocket run error');
|
|
166
|
+
sendResponse(socket, { type: 'error', id, error: body.error.message });
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
finally {
|
|
170
|
+
if (state.abortController === abortController) {
|
|
171
|
+
state.abortController = undefined;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
async function executeRun(payload, ctx, signal, emit) {
|
|
176
|
+
switch (payload.type) {
|
|
177
|
+
case 'agent': {
|
|
178
|
+
const agent = getOwn(ctx.agents, payload.name);
|
|
179
|
+
if (!agent)
|
|
180
|
+
throw new ClientFacingError(`Agent '${payload.name}' not found`);
|
|
181
|
+
return ctx.runtime.run(agent, {
|
|
72
182
|
input: payload.input,
|
|
73
183
|
context: payload.context,
|
|
184
|
+
threadId: payload.threadId,
|
|
74
185
|
stream: true,
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
payload: { type: 'token', delta: token },
|
|
80
|
-
});
|
|
81
|
-
},
|
|
82
|
-
onToolCall: (toolCall) => {
|
|
83
|
-
sendResponse(socket, {
|
|
84
|
-
type: 'event',
|
|
85
|
-
id: message.id,
|
|
86
|
-
payload: { type: 'tool-call', ...toolCall },
|
|
87
|
-
});
|
|
88
|
-
},
|
|
89
|
-
onToolResult: (toolResult) => {
|
|
90
|
-
sendResponse(socket, {
|
|
91
|
-
type: 'event',
|
|
92
|
-
id: message.id,
|
|
93
|
-
payload: { type: 'tool-result', ...toolResult },
|
|
94
|
-
});
|
|
95
|
-
},
|
|
96
|
-
});
|
|
97
|
-
sendResponse(socket, {
|
|
98
|
-
type: 'event',
|
|
99
|
-
id: message.id,
|
|
100
|
-
payload: { type: 'complete', result },
|
|
186
|
+
signal,
|
|
187
|
+
onToken: (token) => emit({ type: 'token', delta: token }),
|
|
188
|
+
onToolCall: (toolCall) => emit({ type: 'tool-call', ...toolCall }),
|
|
189
|
+
onToolResult: (toolResult) => emit({ type: 'tool-result', ...toolResult }),
|
|
101
190
|
});
|
|
102
191
|
}
|
|
103
|
-
|
|
104
|
-
const workflow = ctx.workflows
|
|
105
|
-
if (!workflow)
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
id: message.id,
|
|
109
|
-
error: `Workflow '${payload.name}' not found`,
|
|
110
|
-
});
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
const { WorkflowExecutor } = await import('@cogitator-ai/workflows');
|
|
192
|
+
case 'workflow': {
|
|
193
|
+
const workflow = getOwn(ctx.workflows, payload.name);
|
|
194
|
+
if (!workflow)
|
|
195
|
+
throw new ClientFacingError(`Workflow '${payload.name}' not found`);
|
|
196
|
+
const { WorkflowExecutor } = await importOptional(() => import('@cogitator-ai/workflows'), 'Workflows');
|
|
114
197
|
const executor = new WorkflowExecutor(ctx.runtime);
|
|
115
|
-
const result = await executor.execute(workflow, { input: payload.input });
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
payload: { type: 'complete', result },
|
|
120
|
-
});
|
|
198
|
+
const result = await executor.execute(workflow, { input: payload.input }, { signal });
|
|
199
|
+
if (result.error)
|
|
200
|
+
throw result.error;
|
|
201
|
+
return toWorkflowRunResponse(result);
|
|
121
202
|
}
|
|
122
|
-
|
|
123
|
-
const swarmConfig = ctx.swarms
|
|
124
|
-
if (!swarmConfig)
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
203
|
+
case 'swarm': {
|
|
204
|
+
const swarmConfig = getOwn(ctx.swarms, payload.name);
|
|
205
|
+
if (!swarmConfig)
|
|
206
|
+
throw new ClientFacingError(`Swarm '${payload.name}' not found`);
|
|
207
|
+
const { Swarm } = await importOptional(() => import('@cogitator-ai/swarms'), 'Swarms');
|
|
208
|
+
const swarm = new Swarm(ctx.runtime, swarmConfig);
|
|
209
|
+
const onAbort = () => swarm.abort();
|
|
210
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
211
|
+
try {
|
|
212
|
+
const result = await swarm.run({
|
|
213
|
+
input: payload.input,
|
|
214
|
+
context: payload.context,
|
|
215
|
+
threadId: payload.threadId,
|
|
129
216
|
});
|
|
130
|
-
return;
|
|
217
|
+
return toSwarmRunResponse(swarm, result);
|
|
218
|
+
}
|
|
219
|
+
finally {
|
|
220
|
+
signal.removeEventListener('abort', onAbort);
|
|
131
221
|
}
|
|
132
|
-
const { Swarm } = await import('@cogitator-ai/swarms');
|
|
133
|
-
const swarm = new Swarm(ctx.runtime, swarmConfig);
|
|
134
|
-
const result = await swarm.run({
|
|
135
|
-
input: payload.input,
|
|
136
|
-
context: payload.context,
|
|
137
|
-
});
|
|
138
|
-
sendResponse(socket, {
|
|
139
|
-
type: 'event',
|
|
140
|
-
id: message.id,
|
|
141
|
-
payload: { type: 'complete', result },
|
|
142
|
-
});
|
|
143
222
|
}
|
|
144
223
|
}
|
|
224
|
+
}
|
|
225
|
+
async function importOptional(load, label) {
|
|
226
|
+
try {
|
|
227
|
+
return await load();
|
|
228
|
+
}
|
|
145
229
|
catch (error) {
|
|
146
|
-
if (
|
|
147
|
-
|
|
230
|
+
if (isModuleNotFoundError(error)) {
|
|
231
|
+
throw new ClientFacingError(`${label} package not installed`);
|
|
148
232
|
}
|
|
149
|
-
|
|
150
|
-
sendResponse(socket, {
|
|
151
|
-
type: 'error',
|
|
152
|
-
id: message.id,
|
|
153
|
-
error: error instanceof Error ? error.message : 'Unknown error',
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
finally {
|
|
158
|
-
state.abortController = undefined;
|
|
233
|
+
throw error;
|
|
159
234
|
}
|
|
160
235
|
}
|
|
161
236
|
function sendResponse(socket, response) {
|
|
237
|
+
if (socket.readyState !== WS_OPEN)
|
|
238
|
+
return;
|
|
162
239
|
try {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
240
|
+
socket.send(JSON.stringify(response));
|
|
241
|
+
}
|
|
242
|
+
catch (error) {
|
|
243
|
+
console.error('[CogitatorHono] WebSocket send error:', error);
|
|
166
244
|
}
|
|
167
|
-
catch { }
|
|
168
245
|
}
|
|
169
246
|
//# sourceMappingURL=handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/websocket/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/websocket/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAY5B,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAOlD,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,YAAY,GAAG,KAAK,CAAC;AAC3B,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAAC;AACxC,MAAM,SAAS,GAA2C,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAEzF,MAAM,iBAAkB,SAAQ,KAAK;CAAG;AAExC,MAAM,UAAU,qBAAqB,CAAC,SAAmC,EAAE;IACzE,MAAM,OAAO,GAAoB,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC;IAC1C,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,mBAAmB,CAAC;IACrE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAW,CAAC;IAEhC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC9B,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAClB,CAAC,CAAC,IAAI,CACJ;YACE,KAAK,EAAE;gBACL,OAAO,EACL,wFAAwF;gBAC1F,IAAI,EAAE,eAAe;aACtB;SACF,EACD,GAAG,CACJ,CACF,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC;IAED,GAAG,CAAC,GAAG,CACL,IAAI,EACJ,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,MAAM,GAAG,GAAqB,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;QAElC,OAAO;YACL,SAAS,CAAC,KAAK,EAAE,EAAE;gBACjB,KAAK,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;YAClE,CAAC;YACD,OAAO;gBACL,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC;YACjC,CAAC;YACD,OAAO;gBACL,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC;YACjC,CAAC;SACF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,EAAa,EACb,IAAsB,EACtB,GAAqB,EACrB,KAA2B,EAC3B,cAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,EAAE,CAAC;QAC7C,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAChE,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IACD,MAAM,sBAAsB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAsB;IACjD,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,IAAI,YAAY,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IAC7C,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAqB,EACrB,IAAY,EACZ,GAAqB,EACrB,KAA2B;IAE3B,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,QAAQ,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC3B,KAAK,MAAM;YACT,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7D,OAAO;QACT,KAAK,MAAM;YACT,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC;YAC/B,OAAO;QACT,KAAK,KAAK;YACR,MAAM,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7E,OAAO;IACX,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,IAAY;IAEZ,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;IACjF,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QACvD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;IAC/D,CAAC;IAED,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;IAClB,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;QACrD,KAAK,KAAK;YACR,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QACxE;YACE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IACjF,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,eAAe,CAAC,OAAgB;IACvC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,qBAAqB,CAAC;IACrD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEzD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,yBAAyB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IACrE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI;QAAE,OAAO,yCAAyC,CAAC;IACxF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK;QAAE,OAAO,0CAA0C,CAAC;IAC3F,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,OAAO,kDAAkD,CAAC;IAC5D,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1E,OAAO,4DAA4D,CAAC;IACtE,CAAC;IAED,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,KAAK;QACL,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC;QACzC,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,MAAqB,EACrB,EAAsB,EACtB,UAAmB,EACnB,GAAqB,EACrB,KAA2B;IAE3B,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;QACnF,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,KAAK,CAAC,eAAe,GAAG,eAAe,CAAC;IACxC,MAAM,IAAI,GAAG,CAAC,KAA8B,EAAE,EAAE;QAC9C,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5E,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YAC9C,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;YAC5D,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,KAAK,CAAC,eAAe,KAAK,eAAe,EAAE,CAAC;YAC9C,KAAK,CAAC,eAAe,GAAG,SAAS,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,OAA4B,EAC5B,GAAqB,EACrB,MAAmB,EACnB,IAA8C;IAE9C,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,iBAAiB,CAAC,UAAU,OAAO,CAAC,IAAI,aAAa,CAAC,CAAC;YAE7E,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,MAAM,EAAE,IAAI;gBACZ,MAAM;gBACN,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;gBACjE,UAAU,EAAE,CAAC,QAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAC;gBAC5E,YAAY,EAAE,CAAC,UAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,UAAU,EAAE,CAAC;aACvF,CAAC,CAAC;QACL,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,iBAAiB,CAAC,aAAa,OAAO,CAAC,IAAI,aAAa,CAAC,CAAC;YAEnF,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,cAAc,CAC/C,GAAG,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,EACvC,WAAW,CACZ,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACtF,IAAI,MAAM,CAAC,KAAK;gBAAE,MAAM,MAAM,CAAC,KAAK,CAAC;YACrC,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,iBAAiB,CAAC,UAAU,OAAO,CAAC,IAAI,aAAa,CAAC,CAAC;YAEnF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,QAAQ,CAAC,CAAC;YACvF,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACpC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC;oBAC7B,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;iBAC3B,CAAC,CAAC;gBACH,OAAO,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC3C,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAI,IAAsB,EAAE,KAAa;IACpE,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,iBAAiB,CAAC,GAAG,KAAK,wBAAwB,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,MAAqB,EAAE,QAA2B;IACtE,IAAI,MAAM,CAAC,UAAU,KAAK,OAAO;QAAE,OAAO;IAC1C,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogitator-ai/hono",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.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": {
|
|
@@ -15,24 +15,25 @@
|
|
|
15
15
|
"dist"
|
|
16
16
|
],
|
|
17
17
|
"dependencies": {
|
|
18
|
+
"@cogitator-ai/core": "0.20.0",
|
|
19
|
+
"@cogitator-ai/types": "0.23.0",
|
|
18
20
|
"@cogitator-ai/server-shared": "0.1.0",
|
|
19
|
-
"@cogitator-ai/
|
|
20
|
-
"@cogitator-ai/types": "0.22.2"
|
|
21
|
+
"@cogitator-ai/memory": "0.7.0"
|
|
21
22
|
},
|
|
22
23
|
"peerDependencies": {
|
|
23
24
|
"hono": ">=4.0.0"
|
|
24
25
|
},
|
|
25
26
|
"optionalDependencies": {
|
|
26
|
-
"@cogitator-ai/workflows": "0.
|
|
27
|
-
"@cogitator-ai/swarms": "0.
|
|
27
|
+
"@cogitator-ai/workflows": "0.6.1",
|
|
28
|
+
"@cogitator-ai/swarms": "0.5.1"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
30
31
|
"@types/node": "^22.0.0",
|
|
31
32
|
"hono": "^4.11.9",
|
|
32
33
|
"typescript": "^5.6.0",
|
|
33
34
|
"vitest": "^3.0.0",
|
|
34
|
-
"@cogitator-ai/workflows": "0.
|
|
35
|
-
"@cogitator-ai/swarms": "0.
|
|
35
|
+
"@cogitator-ai/workflows": "0.6.1",
|
|
36
|
+
"@cogitator-ai/swarms": "0.5.1"
|
|
36
37
|
},
|
|
37
38
|
"repository": {
|
|
38
39
|
"type": "git",
|
|
@@ -56,7 +57,7 @@
|
|
|
56
57
|
"llm"
|
|
57
58
|
],
|
|
58
59
|
"scripts": {
|
|
59
|
-
"build": "tsc",
|
|
60
|
+
"build": "tsc && tsx ../../scripts/fix-esm-imports.ts .",
|
|
60
61
|
"dev": "tsc --watch",
|
|
61
62
|
"test": "vitest run",
|
|
62
63
|
"test:watch": "vitest",
|