@agentuity/runtime 0.0.112 → 0.1.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/dist/app.d.ts +79 -3
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +12 -0
- package/dist/app.js.map +1 -1
- package/dist/cors.d.ts +42 -0
- package/dist/cors.d.ts.map +1 -0
- package/dist/cors.js +117 -0
- package/dist/cors.js.map +1 -0
- package/dist/handlers/index.d.ts +1 -1
- package/dist/handlers/index.d.ts.map +1 -1
- package/dist/handlers/index.js +1 -1
- package/dist/handlers/index.js.map +1 -1
- package/dist/handlers/sse.d.ts +11 -0
- package/dist/handlers/sse.d.ts.map +1 -1
- package/dist/handlers/sse.js +76 -3
- package/dist/handlers/sse.js.map +1 -1
- package/dist/handlers/stream.d.ts.map +1 -1
- package/dist/handlers/stream.js +30 -0
- package/dist/handlers/stream.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/middleware.d.ts +11 -10
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +120 -69
- package/dist/middleware.js.map +1 -1
- package/package.json +6 -6
- package/src/app.ts +90 -3
- package/src/cors.ts +137 -0
- package/src/handlers/index.ts +8 -1
- package/src/handlers/sse.ts +78 -3
- package/src/handlers/stream.ts +31 -0
- package/src/index.ts +4 -0
- package/src/middleware.ts +137 -72
package/dist/middleware.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Extracted from _server.ts to be used by generated entry files
|
|
4
4
|
*/
|
|
5
5
|
import { cors } from 'hono/cors';
|
|
6
|
-
import type { Env, CompressionConfig } from './app';
|
|
6
|
+
import type { Env, CompressionConfig, CorsConfig } from './app';
|
|
7
7
|
import type { Logger } from './logger';
|
|
8
8
|
import { Meter, Tracer } from '@opentelemetry/api';
|
|
9
9
|
export declare const AGENT_CONTEXT_PROPERTIES: readonly ["logger", "tracer", "sessionId", "kv", "stream", "vector", "sandbox", "state", "thread", "session", "config", "app", "waitUntil"];
|
|
@@ -54,7 +54,7 @@ export declare function createBaseMiddleware(config: MiddlewareConfig): import("
|
|
|
54
54
|
* }));
|
|
55
55
|
* ```
|
|
56
56
|
*/
|
|
57
|
-
export declare function createCorsMiddleware(staticOptions?:
|
|
57
|
+
export declare function createCorsMiddleware(staticOptions?: CorsConfig): import("hono").MiddlewareHandler<Env<any>, string, {}, Response>;
|
|
58
58
|
/**
|
|
59
59
|
* Create OpenTelemetry middleware for session/thread tracking
|
|
60
60
|
* This is the critical middleware that creates AgentContext
|
|
@@ -83,17 +83,18 @@ export declare function createOtelMiddleware(): import("hono").MiddlewareHandler
|
|
|
83
83
|
*/
|
|
84
84
|
export declare function createCompressionMiddleware(staticConfig?: CompressionConfig): import("hono").MiddlewareHandler<Env<any>, string, {}, Response>;
|
|
85
85
|
/**
|
|
86
|
-
* Create lightweight
|
|
86
|
+
* Create lightweight thread middleware for web routes (analytics).
|
|
87
87
|
*
|
|
88
|
-
* Sets
|
|
89
|
-
* This
|
|
90
|
-
*
|
|
88
|
+
* Sets thread cookie that persists across page views for client-side analytics.
|
|
89
|
+
* This middleware does NOT:
|
|
90
|
+
* - Create or track sessions (no session ID)
|
|
91
|
+
* - Set session/thread response headers
|
|
92
|
+
* - Send events to Catalyst sessions table
|
|
91
93
|
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
+
* This is intentionally separate from createOtelMiddleware to avoid
|
|
95
|
+
* polluting the sessions table with web browsing activity.
|
|
94
96
|
*
|
|
95
|
-
* -
|
|
96
|
-
* - Thread cookie (atid): Managed by ThreadIDProvider, 1-week expiry
|
|
97
|
+
* - Thread cookie (atid_a): Analytics-readable copy, 1-week expiry
|
|
97
98
|
*/
|
|
98
99
|
export declare function createWebSessionMiddleware(): import("hono").MiddlewareHandler<Env<any>, string, {}, Response>;
|
|
99
100
|
/**
|
package/dist/middleware.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,KAAK,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,KAAK,EAAE,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMvC,OAAO,EAMN,KAAK,EACL,MAAM,EACN,MAAM,oBAAoB,CAAC;AAW5B,eAAO,MAAM,wBAAwB,6IAc3B,CAAC;AAuBX,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,oEAqD5D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,CAAC,EAAE,UAAU,oEA6E9D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,qEAuMnC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,CAAC,EAAE,iBAAiB,oEAkD3E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,qEA6BzC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
|
package/dist/middleware.js
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
import { createMiddleware } from 'hono/factory';
|
|
6
6
|
import { cors } from 'hono/cors';
|
|
7
7
|
import { compress } from 'hono/compress';
|
|
8
|
-
import {
|
|
8
|
+
import { setSignedCookie } from 'hono/cookie';
|
|
9
|
+
import { createTrustedCorsOrigin } from './cors';
|
|
9
10
|
import { getAppConfig } from './app';
|
|
10
11
|
import { generateId } from './session';
|
|
11
12
|
import { runInHTTPContext } from './_context';
|
|
@@ -16,6 +17,7 @@ import { TraceState } from '@opentelemetry/core';
|
|
|
16
17
|
import * as runtimeConfig from './_config';
|
|
17
18
|
import { getSessionEventProvider } from './_services';
|
|
18
19
|
import { internal } from './logger/internal';
|
|
20
|
+
import { STREAM_DONE_PROMISE_KEY, IS_STREAMING_RESPONSE_KEY } from './handlers/sse';
|
|
19
21
|
const SESSION_HEADER = 'x-session-id';
|
|
20
22
|
const THREAD_HEADER = 'x-thread-id';
|
|
21
23
|
const DEPLOYMENT_HEADER = 'x-deployment';
|
|
@@ -134,32 +136,70 @@ export function createCorsMiddleware(staticOptions) {
|
|
|
134
136
|
return createMiddleware(async (c, next) => {
|
|
135
137
|
// Lazy resolve: merge app config with static options
|
|
136
138
|
const appConfig = getAppConfig();
|
|
139
|
+
const appCors = appConfig?.cors;
|
|
137
140
|
const corsOptions = {
|
|
138
|
-
...
|
|
141
|
+
...appCors,
|
|
139
142
|
...staticOptions,
|
|
140
143
|
};
|
|
144
|
+
// Extract Agentuity-specific options
|
|
145
|
+
const { sameOrigin, allowedOrigins, ...honoCorsOptions } = corsOptions;
|
|
146
|
+
// Determine origin handler based on sameOrigin setting
|
|
147
|
+
let originHandler;
|
|
148
|
+
if (sameOrigin) {
|
|
149
|
+
// Use trusted origins (env vars + allowedOrigins + same-origin)
|
|
150
|
+
originHandler = createTrustedCorsOrigin({ allowedOrigins });
|
|
151
|
+
}
|
|
152
|
+
else if (honoCorsOptions.origin !== undefined) {
|
|
153
|
+
// Use explicitly provided origin
|
|
154
|
+
originHandler = honoCorsOptions.origin;
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
// Default: reflect any origin (backwards compatible)
|
|
158
|
+
originHandler = (origin) => origin;
|
|
159
|
+
}
|
|
160
|
+
// Required headers that must always be allowed/exposed for runtime functionality
|
|
161
|
+
const requiredAllowHeaders = [THREAD_HEADER];
|
|
162
|
+
const requiredExposeHeaders = [
|
|
163
|
+
TOKENS_HEADER,
|
|
164
|
+
DURATION_HEADER,
|
|
165
|
+
THREAD_HEADER,
|
|
166
|
+
SESSION_HEADER,
|
|
167
|
+
DEPLOYMENT_HEADER,
|
|
168
|
+
];
|
|
169
|
+
// Default headers to allow (used if none specified)
|
|
170
|
+
const defaultAllowHeaders = [
|
|
171
|
+
'Content-Type',
|
|
172
|
+
'Authorization',
|
|
173
|
+
'Accept',
|
|
174
|
+
'Origin',
|
|
175
|
+
'X-Requested-With',
|
|
176
|
+
];
|
|
177
|
+
// Default headers to expose (used if none specified)
|
|
178
|
+
const defaultExposeHeaders = ['Content-Length'];
|
|
141
179
|
const corsMiddleware = cors({
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
'X-Requested-With',
|
|
149
|
-
THREAD_HEADER,
|
|
180
|
+
...honoCorsOptions,
|
|
181
|
+
origin: originHandler,
|
|
182
|
+
// Always include required headers, merge with user-provided or defaults
|
|
183
|
+
allowHeaders: [
|
|
184
|
+
...(honoCorsOptions.allowHeaders ?? defaultAllowHeaders),
|
|
185
|
+
...requiredAllowHeaders,
|
|
150
186
|
],
|
|
151
|
-
allowMethods:
|
|
187
|
+
allowMethods: honoCorsOptions.allowMethods ?? [
|
|
188
|
+
'POST',
|
|
189
|
+
'GET',
|
|
190
|
+
'OPTIONS',
|
|
191
|
+
'HEAD',
|
|
192
|
+
'PUT',
|
|
193
|
+
'DELETE',
|
|
194
|
+
'PATCH',
|
|
195
|
+
],
|
|
196
|
+
// Always include required headers, merge with user-provided or defaults
|
|
152
197
|
exposeHeaders: [
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
DURATION_HEADER,
|
|
156
|
-
THREAD_HEADER,
|
|
157
|
-
SESSION_HEADER,
|
|
158
|
-
DEPLOYMENT_HEADER,
|
|
198
|
+
...(honoCorsOptions.exposeHeaders ?? defaultExposeHeaders),
|
|
199
|
+
...requiredExposeHeaders,
|
|
159
200
|
],
|
|
160
|
-
maxAge: 600,
|
|
161
|
-
credentials: true,
|
|
162
|
-
...(corsOptions ?? {}),
|
|
201
|
+
maxAge: honoCorsOptions.maxAge ?? 600,
|
|
202
|
+
credentials: honoCorsOptions.credentials ?? true,
|
|
163
203
|
});
|
|
164
204
|
return corsMiddleware(c, next);
|
|
165
205
|
});
|
|
@@ -248,29 +288,14 @@ export function createOtelMiddleware() {
|
|
|
248
288
|
// Silently ignore session start errors - don't block request
|
|
249
289
|
}
|
|
250
290
|
}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
// Save session/thread and send events
|
|
291
|
+
// Factor out finalization logic so it can run synchronously or deferred
|
|
292
|
+
const finalizeSession = async (statusCode) => {
|
|
254
293
|
internal.info('[session] saving session %s (thread: %s)', sessionId, thread.id);
|
|
255
294
|
await sessionProvider.save(session);
|
|
256
295
|
internal.info('[session] session saved, now saving thread');
|
|
257
296
|
await threadProvider.save(thread);
|
|
258
297
|
internal.info('[session] thread saved');
|
|
259
|
-
span.setStatus({ code: SpanStatusCode.OK });
|
|
260
|
-
}
|
|
261
|
-
catch (ex) {
|
|
262
|
-
if (ex instanceof Error) {
|
|
263
|
-
span.recordException(ex);
|
|
264
|
-
}
|
|
265
|
-
span.setStatus({
|
|
266
|
-
code: SpanStatusCode.ERROR,
|
|
267
|
-
message: ex.message ?? String(ex),
|
|
268
|
-
});
|
|
269
|
-
throw ex;
|
|
270
|
-
}
|
|
271
|
-
finally {
|
|
272
298
|
// Send session complete event
|
|
273
|
-
// The provider decides whether to actually send based on its requirements
|
|
274
299
|
if (sessionEventProvider) {
|
|
275
300
|
try {
|
|
276
301
|
const userData = session.serializeUserData();
|
|
@@ -283,7 +308,7 @@ export function createOtelMiddleware() {
|
|
|
283
308
|
await sessionEventProvider.complete({
|
|
284
309
|
id: sessionId,
|
|
285
310
|
threadId: isEmpty ? null : thread.id,
|
|
286
|
-
statusCode: c.res?.status ?? 200,
|
|
311
|
+
statusCode: statusCode ?? c.res?.status ?? 200,
|
|
287
312
|
agentIds: agentIds?.length ? agentIds : undefined,
|
|
288
313
|
userData,
|
|
289
314
|
});
|
|
@@ -294,6 +319,48 @@ export function createOtelMiddleware() {
|
|
|
294
319
|
// Silently ignore session complete errors - don't block response
|
|
295
320
|
}
|
|
296
321
|
}
|
|
322
|
+
};
|
|
323
|
+
try {
|
|
324
|
+
await next();
|
|
325
|
+
// Check if this is a streaming response that needs deferred finalization
|
|
326
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
327
|
+
const streamDone = c.get(STREAM_DONE_PROMISE_KEY);
|
|
328
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
329
|
+
const isStreaming = Boolean(c.get(IS_STREAMING_RESPONSE_KEY));
|
|
330
|
+
if (isStreaming && streamDone) {
|
|
331
|
+
// Defer session/thread saving until stream completes
|
|
332
|
+
// This ensures thread state changes made during streaming are persisted
|
|
333
|
+
internal.info('[session] deferring session/thread save until streaming completes (session %s)', sessionId);
|
|
334
|
+
handler.waitUntil(async () => {
|
|
335
|
+
try {
|
|
336
|
+
await streamDone;
|
|
337
|
+
internal.info('[session] stream completed, now saving session/thread (session %s)', sessionId);
|
|
338
|
+
}
|
|
339
|
+
catch (ex) {
|
|
340
|
+
// Stream ended with an error/abort; still try to persist the latest state
|
|
341
|
+
internal.info('[session] stream ended with error, still saving state: %s', ex);
|
|
342
|
+
}
|
|
343
|
+
await finalizeSession();
|
|
344
|
+
});
|
|
345
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
// Non-streaming: save session/thread synchronously (existing behavior)
|
|
349
|
+
await finalizeSession();
|
|
350
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
catch (ex) {
|
|
354
|
+
if (ex instanceof Error) {
|
|
355
|
+
span.recordException(ex);
|
|
356
|
+
}
|
|
357
|
+
span.setStatus({
|
|
358
|
+
code: SpanStatusCode.ERROR,
|
|
359
|
+
message: ex.message ?? String(ex),
|
|
360
|
+
});
|
|
361
|
+
throw ex;
|
|
362
|
+
}
|
|
363
|
+
finally {
|
|
297
364
|
const headers = {};
|
|
298
365
|
propagation.inject(context.active(), headers);
|
|
299
366
|
for (const key of Object.keys(headers)) {
|
|
@@ -371,17 +438,18 @@ export function createCompressionMiddleware(staticConfig) {
|
|
|
371
438
|
});
|
|
372
439
|
}
|
|
373
440
|
/**
|
|
374
|
-
* Create lightweight
|
|
441
|
+
* Create lightweight thread middleware for web routes (analytics).
|
|
375
442
|
*
|
|
376
|
-
* Sets
|
|
377
|
-
* This
|
|
378
|
-
*
|
|
443
|
+
* Sets thread cookie that persists across page views for client-side analytics.
|
|
444
|
+
* This middleware does NOT:
|
|
445
|
+
* - Create or track sessions (no session ID)
|
|
446
|
+
* - Set session/thread response headers
|
|
447
|
+
* - Send events to Catalyst sessions table
|
|
379
448
|
*
|
|
380
|
-
*
|
|
381
|
-
*
|
|
449
|
+
* This is intentionally separate from createOtelMiddleware to avoid
|
|
450
|
+
* polluting the sessions table with web browsing activity.
|
|
382
451
|
*
|
|
383
|
-
* -
|
|
384
|
-
* - Thread cookie (atid): Managed by ThreadIDProvider, 1-week expiry
|
|
452
|
+
* - Thread cookie (atid_a): Analytics-readable copy, 1-week expiry
|
|
385
453
|
*/
|
|
386
454
|
export function createWebSessionMiddleware() {
|
|
387
455
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -389,39 +457,22 @@ export function createWebSessionMiddleware() {
|
|
|
389
457
|
// Import providers dynamically to avoid circular deps
|
|
390
458
|
const { getThreadProvider } = await import('./_services');
|
|
391
459
|
const secret = getSessionSecret();
|
|
392
|
-
// Check for existing session cookie
|
|
393
|
-
let sessionId = await getSignedCookie(c, secret, 'asid');
|
|
394
|
-
if (!sessionId || typeof sessionId !== 'string') {
|
|
395
|
-
sessionId = generateId('sess');
|
|
396
|
-
}
|
|
397
460
|
// Use ThreadProvider.restore() to get/create thread (handles header, cookie, generation)
|
|
398
461
|
const threadProvider = getThreadProvider();
|
|
399
462
|
const thread = await threadProvider.restore(c);
|
|
400
|
-
// Set
|
|
401
|
-
// httpOnly: false so beacon script can read it
|
|
463
|
+
// Set thread cookie for analytics
|
|
464
|
+
// httpOnly: false so beacon script can read it
|
|
402
465
|
const isSecure = c.req.url.startsWith('https://');
|
|
403
|
-
await setSignedCookie(c, 'asid', sessionId, secret, {
|
|
404
|
-
httpOnly: false, // Readable by JavaScript for analytics
|
|
405
|
-
secure: isSecure,
|
|
406
|
-
sameSite: 'Lax',
|
|
407
|
-
path: '/',
|
|
408
|
-
maxAge: 30 * 60, // 30 minutes
|
|
409
|
-
});
|
|
410
|
-
// Note: Thread cookie is set by ThreadProvider with httpOnly: true
|
|
411
|
-
// We need a readable copy for analytics
|
|
412
466
|
await setSignedCookie(c, 'atid_a', thread.id, secret, {
|
|
413
467
|
httpOnly: false, // Readable by JavaScript for analytics
|
|
414
468
|
secure: isSecure,
|
|
415
469
|
sameSite: 'Lax',
|
|
416
470
|
path: '/',
|
|
417
|
-
maxAge: 604800, // 1 week
|
|
471
|
+
maxAge: 604800, // 1 week
|
|
418
472
|
});
|
|
419
|
-
//
|
|
420
|
-
|
|
421
|
-
c.set('
|
|
422
|
-
// Set response headers for debugging/tracing
|
|
423
|
-
c.header(SESSION_HEADER, sessionId);
|
|
424
|
-
c.header(THREAD_HEADER, thread.id);
|
|
473
|
+
// Store in context for handler to access in same request
|
|
474
|
+
// (cookies aren't readable until the next request)
|
|
475
|
+
c.set('_webThreadId', thread.id);
|
|
425
476
|
await next();
|
|
426
477
|
});
|
|
427
478
|
}
|
package/dist/middleware.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentuity/runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"author": "Agentuity employees and contributors",
|
|
6
6
|
"type": "module",
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
"prepublishOnly": "bun run clean && bun run build"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@agentuity/auth": "0.
|
|
30
|
-
"@agentuity/core": "0.
|
|
31
|
-
"@agentuity/schema": "0.
|
|
32
|
-
"@agentuity/server": "0.
|
|
29
|
+
"@agentuity/auth": "0.1.1",
|
|
30
|
+
"@agentuity/core": "0.1.1",
|
|
31
|
+
"@agentuity/schema": "0.1.1",
|
|
32
|
+
"@agentuity/server": "0.1.1",
|
|
33
33
|
"@opentelemetry/api": "^1.9.0",
|
|
34
34
|
"@opentelemetry/api-logs": "^0.207.0",
|
|
35
35
|
"@opentelemetry/auto-instrumentations-node": "^0.66.0",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"zod": "^4.3.5"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@agentuity/test-utils": "0.
|
|
54
|
+
"@agentuity/test-utils": "0.1.1",
|
|
55
55
|
"@types/bun": "latest",
|
|
56
56
|
"@types/react": "^19.2.2",
|
|
57
57
|
"@types/react-dom": "^19.2.2",
|
package/src/app.ts
CHANGED
|
@@ -18,9 +18,63 @@ import type { ThreadProvider, SessionProvider, Session, Thread } from './session
|
|
|
18
18
|
import type WaitUntilHandler from './_waituntil';
|
|
19
19
|
import type { Context } from 'hono';
|
|
20
20
|
|
|
21
|
-
type
|
|
21
|
+
type HonoCorsOptions = NonNullable<Parameters<typeof cors>[0]>;
|
|
22
22
|
type HonoCompressOptions = Parameters<typeof compress>[0];
|
|
23
23
|
|
|
24
|
+
/**
|
|
25
|
+
* Agentuity-specific CORS options for same-origin restriction.
|
|
26
|
+
*/
|
|
27
|
+
export interface AgentuityCorsSameOriginOptions {
|
|
28
|
+
/**
|
|
29
|
+
* Enable same-origin restriction for CORS.
|
|
30
|
+
*
|
|
31
|
+
* When true, only allows origins from:
|
|
32
|
+
* - AGENTUITY_BASE_URL environment variable
|
|
33
|
+
* - AGENTUITY_CLOUD_DOMAINS environment variable (comma-separated)
|
|
34
|
+
* - AUTH_TRUSTED_DOMAINS environment variable (comma-separated)
|
|
35
|
+
* - The same-origin of the incoming request URL
|
|
36
|
+
* - Any additional origins specified in `allowedOrigins`
|
|
37
|
+
*
|
|
38
|
+
* When false or omitted, the default behavior is to reflect any origin
|
|
39
|
+
* (backwards compatible).
|
|
40
|
+
*
|
|
41
|
+
* @default false
|
|
42
|
+
*/
|
|
43
|
+
sameOrigin?: boolean;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Additional origins to allow when `sameOrigin` is true.
|
|
47
|
+
* Can be full URLs (https://example.com) or bare domains (example.com).
|
|
48
|
+
*
|
|
49
|
+
* These are merged with the origins derived from environment variables.
|
|
50
|
+
*/
|
|
51
|
+
allowedOrigins?: string[];
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Extended CORS configuration options.
|
|
56
|
+
*
|
|
57
|
+
* Combines Hono's CORS options with Agentuity-specific settings for
|
|
58
|
+
* easy same-origin restriction.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* // Simple opt-in to trusted origins only
|
|
63
|
+
* const app = await createApp({
|
|
64
|
+
* cors: { sameOrigin: true }
|
|
65
|
+
* });
|
|
66
|
+
*
|
|
67
|
+
* // With additional allowed origins
|
|
68
|
+
* const app = await createApp({
|
|
69
|
+
* cors: {
|
|
70
|
+
* sameOrigin: true,
|
|
71
|
+
* allowedOrigins: ['https://admin.myapp.com'],
|
|
72
|
+
* }
|
|
73
|
+
* });
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export type CorsConfig = HonoCorsOptions & AgentuityCorsSameOriginOptions;
|
|
77
|
+
|
|
24
78
|
/**
|
|
25
79
|
* Configuration options for response compression middleware.
|
|
26
80
|
*
|
|
@@ -68,9 +122,28 @@ export interface CompressionConfig {
|
|
|
68
122
|
|
|
69
123
|
export interface AppConfig<TAppState = Record<string, never>> {
|
|
70
124
|
/**
|
|
71
|
-
*
|
|
125
|
+
* Configure CORS (Cross-Origin Resource Sharing) settings.
|
|
126
|
+
*
|
|
127
|
+
* By default, CORS reflects any origin (backwards compatible).
|
|
128
|
+
* Use `sameOrigin: true` to restrict to trusted origins only.
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* ```typescript
|
|
132
|
+
* // Restrict to trusted origins (recommended for production)
|
|
133
|
+
* const app = await createApp({
|
|
134
|
+
* cors: { sameOrigin: true }
|
|
135
|
+
* });
|
|
136
|
+
*
|
|
137
|
+
* // Add additional allowed origins
|
|
138
|
+
* const app = await createApp({
|
|
139
|
+
* cors: {
|
|
140
|
+
* sameOrigin: true,
|
|
141
|
+
* allowedOrigins: ['https://admin.myapp.com'],
|
|
142
|
+
* }
|
|
143
|
+
* });
|
|
144
|
+
* ```
|
|
72
145
|
*/
|
|
73
|
-
cors?:
|
|
146
|
+
cors?: CorsConfig;
|
|
74
147
|
/**
|
|
75
148
|
* Configure response compression.
|
|
76
149
|
* Set to `false` to disable compression entirely.
|
|
@@ -155,6 +228,8 @@ export interface Variables<TAppState = Record<string, never>> {
|
|
|
155
228
|
vector: VectorStorage;
|
|
156
229
|
sandbox: SandboxService;
|
|
157
230
|
app: TAppState;
|
|
231
|
+
// Web analytics context (set by createWebSessionMiddleware, thread-only tracking)
|
|
232
|
+
_webThreadId?: string;
|
|
158
233
|
}
|
|
159
234
|
|
|
160
235
|
export type TriggerType = SessionStartEvent['trigger'];
|
|
@@ -373,6 +448,18 @@ export function getAppConfig<TAppState = any>(): AppConfig<TAppState> | undefine
|
|
|
373
448
|
return (globalThis as any).__AGENTUITY_APP_CONFIG__;
|
|
374
449
|
}
|
|
375
450
|
|
|
451
|
+
/**
|
|
452
|
+
* Set the global app config (for testing purposes)
|
|
453
|
+
* @internal
|
|
454
|
+
*/
|
|
455
|
+
export function setAppConfig<TAppState = any>(config: AppConfig<TAppState> | undefined): void {
|
|
456
|
+
if (config === undefined) {
|
|
457
|
+
delete (globalThis as any).__AGENTUITY_APP_CONFIG__;
|
|
458
|
+
} else {
|
|
459
|
+
(globalThis as any).__AGENTUITY_APP_CONFIG__ = config;
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
|
|
376
463
|
/**
|
|
377
464
|
* Run the global shutdown function
|
|
378
465
|
* Called by generated entry file on cleanup
|