@cogitator-ai/fastify 0.8.6 → 0.9.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/README.md +70 -23
- package/dist/hooks/auth.d.ts +6 -0
- package/dist/hooks/auth.d.ts.map +1 -1
- package/dist/hooks/auth.js +14 -6
- package/dist/hooks/auth.js.map +1 -1
- package/dist/hooks/error-handler.d.ts.map +1 -1
- package/dist/hooks/error-handler.js +12 -25
- package/dist/hooks/error-handler.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +25 -15
- package/dist/plugin.js.map +1 -1
- package/dist/routes/agents.d.ts.map +1 -1
- package/dist/routes/agents.js +13 -1
- package/dist/routes/agents.js.map +1 -1
- package/dist/routes/swarms.d.ts.map +1 -1
- package/dist/routes/swarms.js +12 -7
- package/dist/routes/swarms.js.map +1 -1
- package/dist/routes/threads.d.ts.map +1 -1
- package/dist/routes/threads.js +15 -17
- package/dist/routes/threads.js.map +1 -1
- package/dist/routes/utils.d.ts +18 -10
- package/dist/routes/utils.d.ts.map +1 -1
- package/dist/routes/utils.js +39 -15
- package/dist/routes/utils.js.map +1 -1
- package/dist/routes/workflows.d.ts.map +1 -1
- package/dist/routes/workflows.js +15 -10
- package/dist/routes/workflows.js.map +1 -1
- package/dist/types.d.ts +147 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +81 -21
- package/dist/types.js.map +1 -1
- package/dist/websocket/handler.d.ts.map +1 -1
- package/dist/websocket/handler.js +100 -19
- package/dist/websocket/handler.js.map +1 -1
- package/package.json +7 -7
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { FastifyRequest } from 'fastify';
|
|
2
2
|
import type { Cogitator, Agent } from '@cogitator-ai/core';
|
|
3
|
-
import type { AgentRunResponse, ContextPolicy, PendingApproval, ReadinessCheckStatus, ReadinessResponse, ThreadMessageRole, WorkflowRunRequestBody } from '@cogitator-ai/server-shared';
|
|
3
|
+
import type { AgentRunResponse, AnonymousPolicy, AuthorizeThread, ContextPolicy, PendingApproval, ReadinessCheckStatus, ReadinessResponse, RunLimits, ThreadMessageRole, WorkflowRunRequestBody } from '@cogitator-ai/server-shared';
|
|
4
4
|
import type { Message, ToolCall, ToolResult, RunResult, Workflow, WorkflowResult, WorkflowState, SwarmConfig, SwarmResult, SwarmRunOptions, StreamingWorkflowEvent, SwarmEvent, SwarmMessage, ToolApprovalDecision } from '@cogitator-ai/types';
|
|
5
5
|
export type { Message, ToolCall, ToolResult, RunResult, Workflow, WorkflowResult, WorkflowState, SwarmConfig, SwarmResult, SwarmRunOptions, StreamingWorkflowEvent, SwarmEvent, SwarmMessage, ToolApprovalDecision, PendingApproval, AgentRunResponse, ReadinessResponse, ReadinessCheckStatus, };
|
|
6
6
|
export interface AuthContext {
|
|
@@ -78,6 +78,29 @@ export interface CogitatorPluginOptions {
|
|
|
78
78
|
* `assistant`. A `system` message is read by the model as operator instructions.
|
|
79
79
|
*/
|
|
80
80
|
threadMessageRoles?: readonly ThreadMessageRole[];
|
|
81
|
+
/**
|
|
82
|
+
* Caps on what a request may ask a run for: a swarm's `timeout`, a workflow's
|
|
83
|
+
* `maxIterations` and `maxConcurrency`. A request asking for more gets the cap, one asking
|
|
84
|
+
* for nothing gets the cap too. Checked when the plugin is registered.
|
|
85
|
+
*/
|
|
86
|
+
limits?: RunLimits;
|
|
87
|
+
/**
|
|
88
|
+
* Whether a caller without a user id may use the API. `'allow'` (the default) lets them
|
|
89
|
+
* in, `'deny'` answers `401 UNAUTHORIZED` on every route but health, ready and the docs.
|
|
90
|
+
*/
|
|
91
|
+
anonymous?: AnonymousPolicy;
|
|
92
|
+
/**
|
|
93
|
+
* Decides whether a caller may touch a thread, on top of the ownership check of core:
|
|
94
|
+
* called with what `auth` returned and the thread a request names, on every route and
|
|
95
|
+
* WebSocket run that names one. Answering `false` refuses with `403 THREAD_FORBIDDEN`
|
|
96
|
+
* before any run starts.
|
|
97
|
+
*/
|
|
98
|
+
authorizeThread?: AuthorizeThread<AuthContext>;
|
|
99
|
+
/**
|
|
100
|
+
* Builds the `deps` an agent run, stream or resume gets for a request (tools read them as
|
|
101
|
+
* `context.deps`), over HTTP and WebSocket. deps never come from the request body.
|
|
102
|
+
*/
|
|
103
|
+
deps?: (request: FastifyRequest) => unknown | Promise<unknown>;
|
|
81
104
|
}
|
|
82
105
|
export interface CogitatorContext {
|
|
83
106
|
runtime: Cogitator;
|
|
@@ -90,6 +113,12 @@ export interface CogitatorContext {
|
|
|
90
113
|
acceptContext?: ContextPolicy;
|
|
91
114
|
/** The resolved `threadMessageRoles` option. Default: `user` and `assistant` */
|
|
92
115
|
threadMessageRoles?: readonly ThreadMessageRole[];
|
|
116
|
+
/** The checked `limits` option */
|
|
117
|
+
limits?: RunLimits;
|
|
118
|
+
/** The `authorizeThread` option */
|
|
119
|
+
authorizeThread?: AuthorizeThread<AuthContext>;
|
|
120
|
+
/** The `deps` option */
|
|
121
|
+
deps?: (request: FastifyRequest) => unknown | Promise<unknown>;
|
|
93
122
|
}
|
|
94
123
|
declare module 'fastify' {
|
|
95
124
|
interface FastifyInstance {
|
|
@@ -124,6 +153,12 @@ export interface ThreadResponse {
|
|
|
124
153
|
metadata?: Record<string, unknown>;
|
|
125
154
|
createdAt: number;
|
|
126
155
|
updatedAt: number;
|
|
156
|
+
/** Pass as `cursor` to read the page before this one, absent at the start of the thread */
|
|
157
|
+
nextCursor?: string;
|
|
158
|
+
}
|
|
159
|
+
export interface ThreadPageQuery {
|
|
160
|
+
limit?: number;
|
|
161
|
+
cursor?: string;
|
|
127
162
|
}
|
|
128
163
|
export interface AddMessageRequest {
|
|
129
164
|
role: 'user' | 'assistant' | 'system';
|
|
@@ -439,6 +474,39 @@ export declare const AddMessageRequestSchema: {
|
|
|
439
474
|
};
|
|
440
475
|
readonly required: readonly ["role", "content"];
|
|
441
476
|
};
|
|
477
|
+
/** The workflow run body, with the operator's limits on its options */
|
|
478
|
+
export declare function workflowRunRequestSchema(limits?: RunLimits): {
|
|
479
|
+
readonly type: "object";
|
|
480
|
+
readonly properties: {
|
|
481
|
+
readonly input: {
|
|
482
|
+
readonly type: "object";
|
|
483
|
+
readonly additionalProperties: true;
|
|
484
|
+
};
|
|
485
|
+
readonly options: {
|
|
486
|
+
readonly type: "object";
|
|
487
|
+
readonly properties: {
|
|
488
|
+
readonly maxConcurrency: {
|
|
489
|
+
readonly default?: number | undefined;
|
|
490
|
+
readonly description?: string | undefined;
|
|
491
|
+
readonly type: "integer";
|
|
492
|
+
readonly minimum: 1;
|
|
493
|
+
};
|
|
494
|
+
readonly maxIterations: {
|
|
495
|
+
readonly default?: number | undefined;
|
|
496
|
+
readonly description?: string | undefined;
|
|
497
|
+
readonly type: "integer";
|
|
498
|
+
readonly minimum: 1;
|
|
499
|
+
};
|
|
500
|
+
readonly checkpoint: {
|
|
501
|
+
readonly type: "boolean";
|
|
502
|
+
readonly enum: readonly [false];
|
|
503
|
+
readonly description: "Only `false`: the server keeps no checkpoint store";
|
|
504
|
+
};
|
|
505
|
+
};
|
|
506
|
+
readonly additionalProperties: false;
|
|
507
|
+
};
|
|
508
|
+
};
|
|
509
|
+
};
|
|
442
510
|
export declare const WorkflowRunRequestSchema: {
|
|
443
511
|
readonly type: "object";
|
|
444
512
|
readonly properties: {
|
|
@@ -450,10 +518,14 @@ export declare const WorkflowRunRequestSchema: {
|
|
|
450
518
|
readonly type: "object";
|
|
451
519
|
readonly properties: {
|
|
452
520
|
readonly maxConcurrency: {
|
|
521
|
+
readonly default?: number | undefined;
|
|
522
|
+
readonly description?: string | undefined;
|
|
453
523
|
readonly type: "integer";
|
|
454
524
|
readonly minimum: 1;
|
|
455
525
|
};
|
|
456
526
|
readonly maxIterations: {
|
|
527
|
+
readonly default?: number | undefined;
|
|
528
|
+
readonly description?: string | undefined;
|
|
457
529
|
readonly type: "integer";
|
|
458
530
|
readonly minimum: 1;
|
|
459
531
|
};
|
|
@@ -467,6 +539,36 @@ export declare const WorkflowRunRequestSchema: {
|
|
|
467
539
|
};
|
|
468
540
|
};
|
|
469
541
|
};
|
|
542
|
+
/** The swarm run body, with the operator's limit on its timeout */
|
|
543
|
+
export declare function swarmRunRequestSchema(limits?: RunLimits): {
|
|
544
|
+
readonly type: "object";
|
|
545
|
+
readonly properties: {
|
|
546
|
+
readonly input: {
|
|
547
|
+
readonly type: "string";
|
|
548
|
+
readonly minLength: 1;
|
|
549
|
+
readonly pattern: "\\S";
|
|
550
|
+
readonly description: "The message for the run; must contain more than whitespace";
|
|
551
|
+
};
|
|
552
|
+
readonly context: {
|
|
553
|
+
readonly type: "object";
|
|
554
|
+
readonly additionalProperties: true;
|
|
555
|
+
readonly description: "Values the run adds to the system prompt as data; refused unless `acceptContext` allows the keys";
|
|
556
|
+
};
|
|
557
|
+
readonly threadId: {
|
|
558
|
+
readonly type: "string";
|
|
559
|
+
readonly minLength: 1;
|
|
560
|
+
readonly pattern: "\\S";
|
|
561
|
+
};
|
|
562
|
+
readonly timeout: {
|
|
563
|
+
readonly default?: number | undefined;
|
|
564
|
+
readonly description?: string | undefined;
|
|
565
|
+
readonly type: "number";
|
|
566
|
+
readonly exclusiveMinimum: 0;
|
|
567
|
+
readonly maximum: 2147483647;
|
|
568
|
+
};
|
|
569
|
+
};
|
|
570
|
+
readonly required: readonly ["input"];
|
|
571
|
+
};
|
|
470
572
|
export declare const SwarmRunRequestSchema: {
|
|
471
573
|
readonly type: "object";
|
|
472
574
|
readonly properties: {
|
|
@@ -487,6 +589,8 @@ export declare const SwarmRunRequestSchema: {
|
|
|
487
589
|
readonly pattern: "\\S";
|
|
488
590
|
};
|
|
489
591
|
readonly timeout: {
|
|
592
|
+
readonly default?: number | undefined;
|
|
593
|
+
readonly description?: string | undefined;
|
|
490
594
|
readonly type: "number";
|
|
491
595
|
readonly exclusiveMinimum: 0;
|
|
492
596
|
readonly maximum: 2147483647;
|
|
@@ -494,4 +598,46 @@ export declare const SwarmRunRequestSchema: {
|
|
|
494
598
|
};
|
|
495
599
|
readonly required: readonly ["input"];
|
|
496
600
|
};
|
|
601
|
+
export declare const ThreadPageQuerySchema: {
|
|
602
|
+
readonly type: "object";
|
|
603
|
+
readonly properties: {
|
|
604
|
+
readonly limit: {
|
|
605
|
+
readonly type: "integer";
|
|
606
|
+
readonly minimum: 1;
|
|
607
|
+
readonly maximum: 1000;
|
|
608
|
+
readonly description: "Answer the newest `limit` messages of what is left and a `nextCursor`, without it the whole thread";
|
|
609
|
+
};
|
|
610
|
+
readonly cursor: {
|
|
611
|
+
readonly type: "string";
|
|
612
|
+
readonly description: "The `nextCursor` of the page after the one to read";
|
|
613
|
+
};
|
|
614
|
+
};
|
|
615
|
+
};
|
|
616
|
+
export declare const ThreadResponseSchema: {
|
|
617
|
+
readonly type: "object";
|
|
618
|
+
readonly properties: {
|
|
619
|
+
readonly id: {
|
|
620
|
+
readonly type: "string";
|
|
621
|
+
};
|
|
622
|
+
readonly messages: {
|
|
623
|
+
readonly type: "array";
|
|
624
|
+
readonly items: {};
|
|
625
|
+
};
|
|
626
|
+
readonly metadata: {
|
|
627
|
+
readonly type: "object";
|
|
628
|
+
readonly additionalProperties: true;
|
|
629
|
+
};
|
|
630
|
+
readonly createdAt: {
|
|
631
|
+
readonly type: "number";
|
|
632
|
+
};
|
|
633
|
+
readonly updatedAt: {
|
|
634
|
+
readonly type: "number";
|
|
635
|
+
};
|
|
636
|
+
readonly nextCursor: {
|
|
637
|
+
readonly type: "string";
|
|
638
|
+
readonly description: "Pass as `cursor` to read the page before this one, absent at the start";
|
|
639
|
+
};
|
|
640
|
+
};
|
|
641
|
+
readonly required: readonly ["id", "messages", "createdAt", "updatedAt"];
|
|
642
|
+
};
|
|
497
643
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MAX_RUN_TIMEOUT_MS, NON_BLANK_PATTERN, RUN_INPUT_SCHEMA, } from '@cogitator-ai/server-shared';
|
|
1
|
+
import { MAX_RUN_TIMEOUT_MS, MAX_THREAD_PAGE_LIMIT, NON_BLANK_PATTERN, RUN_INPUT_SCHEMA, } from '@cogitator-ai/server-shared';
|
|
2
2
|
const NON_BLANK_STRING = { type: 'string', minLength: 1, pattern: NON_BLANK_PATTERN };
|
|
3
3
|
const CONTEXT_SCHEMA = {
|
|
4
4
|
type: 'object',
|
|
@@ -98,33 +98,93 @@ export const AddMessageRequestSchema = {
|
|
|
98
98
|
},
|
|
99
99
|
required: ['role', 'content'],
|
|
100
100
|
};
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
101
|
+
/**
|
|
102
|
+
* A field the operator may cap: a larger value is held to the cap rather than refused, so
|
|
103
|
+
* the schema gives the cap as the default and says so, without a `maximum`
|
|
104
|
+
*/
|
|
105
|
+
function limitedInteger(cap) {
|
|
106
|
+
return {
|
|
107
|
+
type: 'integer',
|
|
108
|
+
minimum: 1,
|
|
109
|
+
...(cap !== undefined && {
|
|
110
|
+
default: cap,
|
|
111
|
+
description: `Held to ${cap}, the server's limit, which is also the default`,
|
|
112
|
+
}),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/** The workflow run body, with the operator's limits on its options */
|
|
116
|
+
export function workflowRunRequestSchema(limits) {
|
|
117
|
+
return {
|
|
118
|
+
type: 'object',
|
|
119
|
+
properties: {
|
|
120
|
+
input: { type: 'object', additionalProperties: true },
|
|
121
|
+
options: {
|
|
122
|
+
type: 'object',
|
|
123
|
+
properties: {
|
|
124
|
+
maxConcurrency: limitedInteger(limits?.workflowMaxConcurrency),
|
|
125
|
+
maxIterations: limitedInteger(limits?.workflowMaxIterations),
|
|
126
|
+
checkpoint: {
|
|
127
|
+
type: 'boolean',
|
|
128
|
+
enum: [false],
|
|
129
|
+
description: 'Only `false`: the server keeps no checkpoint store',
|
|
130
|
+
},
|
|
114
131
|
},
|
|
132
|
+
additionalProperties: false,
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
export const WorkflowRunRequestSchema = workflowRunRequestSchema();
|
|
138
|
+
/** The swarm run body, with the operator's limit on its timeout */
|
|
139
|
+
export function swarmRunRequestSchema(limits) {
|
|
140
|
+
return {
|
|
141
|
+
type: 'object',
|
|
142
|
+
properties: {
|
|
143
|
+
input: RUN_INPUT_SCHEMA,
|
|
144
|
+
context: CONTEXT_SCHEMA,
|
|
145
|
+
threadId: NON_BLANK_STRING,
|
|
146
|
+
timeout: {
|
|
147
|
+
type: 'number',
|
|
148
|
+
exclusiveMinimum: 0,
|
|
149
|
+
maximum: MAX_RUN_TIMEOUT_MS,
|
|
150
|
+
...(limits?.swarmTimeout !== undefined && {
|
|
151
|
+
default: limits.swarmTimeout,
|
|
152
|
+
description: `Held to ${limits.swarmTimeout} ms, the server's limit, which is also the default`,
|
|
153
|
+
}),
|
|
115
154
|
},
|
|
116
|
-
|
|
155
|
+
},
|
|
156
|
+
required: ['input'],
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
export const SwarmRunRequestSchema = swarmRunRequestSchema();
|
|
160
|
+
export const ThreadPageQuerySchema = {
|
|
161
|
+
type: 'object',
|
|
162
|
+
properties: {
|
|
163
|
+
limit: {
|
|
164
|
+
type: 'integer',
|
|
165
|
+
minimum: 1,
|
|
166
|
+
maximum: MAX_THREAD_PAGE_LIMIT,
|
|
167
|
+
description: 'Answer the newest `limit` messages of what is left and a `nextCursor`, without it the whole thread',
|
|
168
|
+
},
|
|
169
|
+
cursor: {
|
|
170
|
+
type: 'string',
|
|
171
|
+
description: 'The `nextCursor` of the page after the one to read',
|
|
117
172
|
},
|
|
118
173
|
},
|
|
119
174
|
};
|
|
120
|
-
export const
|
|
175
|
+
export const ThreadResponseSchema = {
|
|
121
176
|
type: 'object',
|
|
122
177
|
properties: {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
178
|
+
id: { type: 'string' },
|
|
179
|
+
messages: { type: 'array', items: {} },
|
|
180
|
+
metadata: { type: 'object', additionalProperties: true },
|
|
181
|
+
createdAt: { type: 'number' },
|
|
182
|
+
updatedAt: { type: 'number' },
|
|
183
|
+
nextCursor: {
|
|
184
|
+
type: 'string',
|
|
185
|
+
description: 'Pass as `cursor` to read the page before this one, absent at the start',
|
|
186
|
+
},
|
|
127
187
|
},
|
|
128
|
-
required: ['
|
|
188
|
+
required: ['id', 'messages', 'createdAt', 'updatedAt'],
|
|
129
189
|
};
|
|
130
190
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/websocket/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/websocket/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AAiEjB,UAAU,sBAAsB;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAmJD,eAAO,MAAM,eAAe,EAAE,kBAAkB,CAAC,sBAAsB,CAkCtE,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { isJsonObject, parseResumeRequest, parseRunRequest, toAgentRunResponse, toAgentToolCall, } from '@cogitator-ai/server-shared';
|
|
1
|
+
import { authorizeThreadAccess, isJsonObject, parseResumeRequest, parseRunRequest, toAgentRunResponse, toAgentToolCall, } from '@cogitator-ai/server-shared';
|
|
2
2
|
import { generateId } from '../streaming/helpers.js';
|
|
3
|
-
import { resolveError } from '../routes/utils.js';
|
|
3
|
+
import { requestDeps, resolveError } from '../routes/utils.js';
|
|
4
4
|
const WS_OPEN = 1;
|
|
5
5
|
const MAX_SUBSCRIPTIONS = 64;
|
|
6
6
|
const MAX_CHANNEL_LENGTH = 256;
|
|
@@ -13,18 +13,26 @@ const MESSAGE_TYPES = new Set([
|
|
|
13
13
|
'ping',
|
|
14
14
|
]);
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
16
|
+
* The subscribers of each channel, with what authentication returned for them. A run's events
|
|
17
|
+
* reach a subscriber only when it acts as the user who started the run and `authorizeThread`
|
|
18
|
+
* lets it on the run's thread, so a caller never sees the prompts and results of a run it
|
|
19
|
+
* could not open itself.
|
|
18
20
|
*/
|
|
19
21
|
class ChannelHub {
|
|
22
|
+
authorizeThread;
|
|
23
|
+
log;
|
|
20
24
|
channels = new Map();
|
|
21
|
-
|
|
25
|
+
constructor(authorizeThread, log) {
|
|
26
|
+
this.authorizeThread = authorizeThread;
|
|
27
|
+
this.log = log;
|
|
28
|
+
}
|
|
29
|
+
subscribe(socket, channel, auth) {
|
|
22
30
|
let members = this.channels.get(channel);
|
|
23
31
|
if (!members) {
|
|
24
32
|
members = new Map();
|
|
25
33
|
this.channels.set(channel, members);
|
|
26
34
|
}
|
|
27
|
-
members.set(socket,
|
|
35
|
+
members.set(socket, auth);
|
|
28
36
|
}
|
|
29
37
|
unsubscribe(socket, channel) {
|
|
30
38
|
const members = this.channels.get(channel);
|
|
@@ -34,17 +42,76 @@ class ChannelHub {
|
|
|
34
42
|
if (members.size === 0)
|
|
35
43
|
this.channels.delete(channel);
|
|
36
44
|
}
|
|
37
|
-
|
|
38
|
-
|
|
45
|
+
/** The fan-out of one run's events to the subscribers of `channel` */
|
|
46
|
+
broadcast(channel, origin) {
|
|
47
|
+
return new RunBroadcast(() => this.channels.get(channel), channel, origin, this.authorizeThread, this.log);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Sends one run's events to the subscribers allowed to see them. Whether a subscriber may is
|
|
52
|
+
* asked of `authorizeThread` once per run, with the run's thread, and its events wait for the
|
|
53
|
+
* answer in the order they were published. A subscriber the authorizer refuses, or throws for,
|
|
54
|
+
* gets none of them, and with an authorizer set a run whose thread is not known yet is shown
|
|
55
|
+
* to nobody.
|
|
56
|
+
*/
|
|
57
|
+
class RunBroadcast {
|
|
58
|
+
members;
|
|
59
|
+
channel;
|
|
60
|
+
origin;
|
|
61
|
+
authorizeThread;
|
|
62
|
+
log;
|
|
63
|
+
threadId;
|
|
64
|
+
deliveries = new Map();
|
|
65
|
+
constructor(members, channel, origin, authorizeThread, log) {
|
|
66
|
+
this.members = members;
|
|
67
|
+
this.channel = channel;
|
|
68
|
+
this.origin = origin;
|
|
69
|
+
this.authorizeThread = authorizeThread;
|
|
70
|
+
this.log = log;
|
|
71
|
+
}
|
|
72
|
+
/** Names the thread the run is on, once it is known */
|
|
73
|
+
onThread(threadId) {
|
|
74
|
+
this.threadId = threadId;
|
|
75
|
+
}
|
|
76
|
+
publish(response) {
|
|
77
|
+
const members = this.members();
|
|
39
78
|
if (!members)
|
|
40
79
|
return;
|
|
41
|
-
for (const [member,
|
|
42
|
-
if (member
|
|
43
|
-
|
|
44
|
-
|
|
80
|
+
for (const [member, auth] of members) {
|
|
81
|
+
if (member === this.origin.socket || auth?.userId !== this.origin.auth?.userId)
|
|
82
|
+
continue;
|
|
83
|
+
const admitted = this.deliveries.get(member) ?? this.admit(auth);
|
|
84
|
+
this.deliveries.set(member, admitted.then((allowed) => {
|
|
85
|
+
if (allowed)
|
|
86
|
+
sendResponse(member, { ...response, channel: this.channel });
|
|
87
|
+
return allowed;
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
async admit(auth) {
|
|
92
|
+
if (!this.authorizeThread)
|
|
93
|
+
return true;
|
|
94
|
+
if (this.threadId === undefined)
|
|
95
|
+
return false;
|
|
96
|
+
try {
|
|
97
|
+
return await new Promise((resolve, reject) => {
|
|
98
|
+
const timer = setTimeout(() => resolve(false), SUBSCRIBER_AUTHORIZATION_MS);
|
|
99
|
+
authorizeThreadAccess(this.authorizeThread, auth, this.threadId)
|
|
100
|
+
.then((refusal) => resolve(refusal === undefined), reject)
|
|
101
|
+
.finally(() => clearTimeout(timer));
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
this.log.error({ err }, 'authorizeThread failed for a websocket subscriber');
|
|
106
|
+
return false;
|
|
45
107
|
}
|
|
46
108
|
}
|
|
47
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* How long `authorizeThread` may take to answer for a subscriber before it counts as a refusal,
|
|
112
|
+
* so a hook that hangs never holds the run's events for the subscriber in memory
|
|
113
|
+
*/
|
|
114
|
+
const SUBSCRIBER_AUTHORIZATION_MS = 5000;
|
|
48
115
|
function parseMessage(raw) {
|
|
49
116
|
let data;
|
|
50
117
|
try {
|
|
@@ -89,10 +156,11 @@ function parseResumePayload(payload) {
|
|
|
89
156
|
}
|
|
90
157
|
export const websocketRoutes = async (fastify, opts) => {
|
|
91
158
|
const path = opts.path ?? '/ws';
|
|
92
|
-
const hub = new ChannelHub();
|
|
159
|
+
const hub = new ChannelHub(fastify.cogitator.authorizeThread, fastify.log);
|
|
93
160
|
fastify.get(path, { websocket: true }, (socket, request) => {
|
|
94
161
|
const clientState = {
|
|
95
162
|
id: generateId('ws'),
|
|
163
|
+
request,
|
|
96
164
|
auth: request.cogitatorAuth,
|
|
97
165
|
subscriptions: new Set(),
|
|
98
166
|
};
|
|
@@ -135,7 +203,7 @@ async function handleMessage(socket, message, fastify, state, hub) {
|
|
|
135
203
|
break;
|
|
136
204
|
}
|
|
137
205
|
state.subscriptions.add(channel);
|
|
138
|
-
hub.subscribe(socket, channel, state.auth
|
|
206
|
+
hub.subscribe(socket, channel, state.auth);
|
|
139
207
|
sendResponse(socket, { type: 'subscribed', id: message.id, channel });
|
|
140
208
|
break;
|
|
141
209
|
}
|
|
@@ -175,7 +243,7 @@ async function handleRun(socket, message, fastify, state, hub) {
|
|
|
175
243
|
});
|
|
176
244
|
return;
|
|
177
245
|
}
|
|
178
|
-
await streamAgentRun(socket, message, fastify, state, hub, payload
|
|
246
|
+
await streamAgentRun(socket, message, fastify, state, hub, payload, (agent, options) => fastify.cogitator.runtime.run(agent, {
|
|
179
247
|
...options,
|
|
180
248
|
input: payload.input,
|
|
181
249
|
context: payload.context,
|
|
@@ -192,13 +260,14 @@ async function handleResume(socket, message, fastify, state, hub) {
|
|
|
192
260
|
sendResponse(socket, { type: 'error', id: message.id, error: 'A run is already in progress' });
|
|
193
261
|
return;
|
|
194
262
|
}
|
|
195
|
-
await streamAgentRun(socket, message, fastify, state, hub, payload
|
|
263
|
+
await streamAgentRun(socket, message, fastify, state, hub, payload, (agent, options) => fastify.cogitator.runtime.resume(agent, payload.threadId, {
|
|
196
264
|
...options,
|
|
197
265
|
decisions: payload.decisions,
|
|
198
266
|
defaultDecision: payload.defaultDecision,
|
|
199
267
|
}));
|
|
200
268
|
}
|
|
201
|
-
async function streamAgentRun(socket, message, fastify, state, hub,
|
|
269
|
+
async function streamAgentRun(socket, message, fastify, state, hub, target, execute) {
|
|
270
|
+
const { name } = target;
|
|
202
271
|
const agent = Object.hasOwn(fastify.cogitator.agents, name)
|
|
203
272
|
? fastify.cogitator.agents[name]
|
|
204
273
|
: undefined;
|
|
@@ -212,17 +281,29 @@ async function streamAgentRun(socket, message, fastify, state, hub, name, execut
|
|
|
212
281
|
}
|
|
213
282
|
const controller = new AbortController();
|
|
214
283
|
state.abortController = controller;
|
|
215
|
-
const
|
|
284
|
+
const broadcast = hub.broadcast(`agent:${name}`, { socket, auth: state.auth });
|
|
285
|
+
if (target.threadId !== undefined)
|
|
286
|
+
broadcast.onThread(target.threadId);
|
|
216
287
|
const emit = (eventPayload) => {
|
|
217
288
|
const response = { type: 'event', id: message.id, payload: eventPayload };
|
|
218
289
|
sendResponse(socket, response);
|
|
219
|
-
|
|
290
|
+
broadcast.publish(response);
|
|
220
291
|
};
|
|
221
292
|
try {
|
|
293
|
+
const refusal = await authorizeThreadAccess(fastify.cogitator.authorizeThread, state.auth, target.threadId);
|
|
294
|
+
if (refusal) {
|
|
295
|
+
sendResponse(socket, { type: 'error', id: message.id, error: refusal.message });
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
const deps = await requestDeps(state.request);
|
|
222
299
|
const result = await execute(agent, {
|
|
223
300
|
userId: state.auth?.userId,
|
|
224
301
|
signal: controller.signal,
|
|
225
302
|
stream: true,
|
|
303
|
+
...deps,
|
|
304
|
+
onRunStart: ({ threadId }) => {
|
|
305
|
+
broadcast.onThread(threadId);
|
|
306
|
+
},
|
|
226
307
|
onToken: (token) => {
|
|
227
308
|
emit({ type: 'token', delta: token });
|
|
228
309
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/websocket/handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/websocket/handler.ts"],"names":[],"mappings":"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"}
|