@agentuity/runtime 0.1.13 → 0.1.14
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/package.json +8 -8
- package/src/_config.ts +13 -0
- package/src/_standalone.ts +167 -19
- package/src/index.ts +1 -0
- package/dist/_config.d.ts +0 -90
- package/dist/_config.d.ts.map +0 -1
- package/dist/_config.js +0 -135
- package/dist/_config.js.map +0 -1
- package/dist/_context.d.ts +0 -76
- package/dist/_context.d.ts.map +0 -1
- package/dist/_context.js +0 -147
- package/dist/_context.js.map +0 -1
- package/dist/_events.d.ts +0 -64
- package/dist/_events.d.ts.map +0 -1
- package/dist/_events.js +0 -92
- package/dist/_events.js.map +0 -1
- package/dist/_idle.d.ts +0 -7
- package/dist/_idle.d.ts.map +0 -1
- package/dist/_idle.js +0 -10
- package/dist/_idle.js.map +0 -1
- package/dist/_metadata.d.ts +0 -117
- package/dist/_metadata.d.ts.map +0 -1
- package/dist/_metadata.js +0 -246
- package/dist/_metadata.js.map +0 -1
- package/dist/_process-protection.d.ts +0 -25
- package/dist/_process-protection.d.ts.map +0 -1
- package/dist/_process-protection.js +0 -65
- package/dist/_process-protection.js.map +0 -1
- package/dist/_server.d.ts +0 -46
- package/dist/_server.d.ts.map +0 -1
- package/dist/_server.js +0 -85
- package/dist/_server.js.map +0 -1
- package/dist/_services.d.ts +0 -21
- package/dist/_services.d.ts.map +0 -1
- package/dist/_services.js +0 -248
- package/dist/_services.js.map +0 -1
- package/dist/_standalone.d.ts +0 -168
- package/dist/_standalone.d.ts.map +0 -1
- package/dist/_standalone.js +0 -441
- package/dist/_standalone.js.map +0 -1
- package/dist/_tokens.d.ts +0 -12
- package/dist/_tokens.d.ts.map +0 -1
- package/dist/_tokens.js +0 -96
- package/dist/_tokens.js.map +0 -1
- package/dist/_util.d.ts +0 -16
- package/dist/_util.d.ts.map +0 -1
- package/dist/_util.js +0 -54
- package/dist/_util.js.map +0 -1
- package/dist/_validation.d.ts +0 -89
- package/dist/_validation.d.ts.map +0 -1
- package/dist/_validation.js +0 -29
- package/dist/_validation.js.map +0 -1
- package/dist/_waituntil.d.ts +0 -18
- package/dist/_waituntil.d.ts.map +0 -1
- package/dist/_waituntil.js +0 -97
- package/dist/_waituntil.js.map +0 -1
- package/dist/agent.d.ts +0 -1210
- package/dist/agent.d.ts.map +0 -1
- package/dist/agent.js +0 -903
- package/dist/agent.js.map +0 -1
- package/dist/app.d.ts +0 -322
- package/dist/app.d.ts.map +0 -1
- package/dist/app.js +0 -160
- package/dist/app.js.map +0 -1
- package/dist/bun-s3-patch.d.ts +0 -37
- package/dist/bun-s3-patch.d.ts.map +0 -1
- package/dist/bun-s3-patch.js +0 -139
- package/dist/bun-s3-patch.js.map +0 -1
- package/dist/cors.d.ts +0 -42
- package/dist/cors.d.ts.map +0 -1
- package/dist/cors.js +0 -117
- package/dist/cors.js.map +0 -1
- package/dist/devmode.d.ts +0 -3
- package/dist/devmode.d.ts.map +0 -1
- package/dist/devmode.js +0 -167
- package/dist/devmode.js.map +0 -1
- package/dist/eval.d.ts +0 -91
- package/dist/eval.d.ts.map +0 -1
- package/dist/eval.js +0 -16
- package/dist/eval.js.map +0 -1
- package/dist/handlers/cron.d.ts +0 -47
- package/dist/handlers/cron.d.ts.map +0 -1
- package/dist/handlers/cron.js +0 -49
- package/dist/handlers/cron.js.map +0 -1
- package/dist/handlers/index.d.ts +0 -5
- package/dist/handlers/index.d.ts.map +0 -1
- package/dist/handlers/index.js +0 -5
- package/dist/handlers/index.js.map +0 -1
- package/dist/handlers/sse.d.ts +0 -91
- package/dist/handlers/sse.d.ts.map +0 -1
- package/dist/handlers/sse.js +0 -213
- package/dist/handlers/sse.js.map +0 -1
- package/dist/handlers/stream.d.ts +0 -52
- package/dist/handlers/stream.d.ts.map +0 -1
- package/dist/handlers/stream.js +0 -116
- package/dist/handlers/stream.js.map +0 -1
- package/dist/handlers/websocket.d.ts +0 -49
- package/dist/handlers/websocket.d.ts.map +0 -1
- package/dist/handlers/websocket.js +0 -143
- package/dist/handlers/websocket.js.map +0 -1
- package/dist/index.d.ts +0 -71
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -58
- package/dist/index.js.map +0 -1
- package/dist/logger/console.d.ts +0 -70
- package/dist/logger/console.d.ts.map +0 -1
- package/dist/logger/console.js +0 -274
- package/dist/logger/console.js.map +0 -1
- package/dist/logger/index.d.ts +0 -3
- package/dist/logger/index.d.ts.map +0 -1
- package/dist/logger/index.js +0 -3
- package/dist/logger/index.js.map +0 -1
- package/dist/logger/internal.d.ts +0 -79
- package/dist/logger/internal.d.ts.map +0 -1
- package/dist/logger/internal.js +0 -133
- package/dist/logger/internal.js.map +0 -1
- package/dist/logger/logger.d.ts +0 -41
- package/dist/logger/logger.d.ts.map +0 -1
- package/dist/logger/logger.js +0 -2
- package/dist/logger/logger.js.map +0 -1
- package/dist/logger/user.d.ts +0 -8
- package/dist/logger/user.d.ts.map +0 -1
- package/dist/logger/user.js +0 -7
- package/dist/logger/user.js.map +0 -1
- package/dist/logger/util.d.ts +0 -11
- package/dist/logger/util.d.ts.map +0 -1
- package/dist/logger/util.js +0 -77
- package/dist/logger/util.js.map +0 -1
- package/dist/middleware.d.ts +0 -112
- package/dist/middleware.d.ts.map +0 -1
- package/dist/middleware.js +0 -507
- package/dist/middleware.js.map +0 -1
- package/dist/otel/config.d.ts +0 -19
- package/dist/otel/config.d.ts.map +0 -1
- package/dist/otel/config.js +0 -26
- package/dist/otel/config.js.map +0 -1
- package/dist/otel/console.d.ts +0 -33
- package/dist/otel/console.d.ts.map +0 -1
- package/dist/otel/console.js +0 -86
- package/dist/otel/console.js.map +0 -1
- package/dist/otel/exporters/index.d.ts +0 -4
- package/dist/otel/exporters/index.d.ts.map +0 -1
- package/dist/otel/exporters/index.js +0 -4
- package/dist/otel/exporters/index.js.map +0 -1
- package/dist/otel/exporters/jsonl-log-exporter.d.ts +0 -36
- package/dist/otel/exporters/jsonl-log-exporter.d.ts.map +0 -1
- package/dist/otel/exporters/jsonl-log-exporter.js +0 -103
- package/dist/otel/exporters/jsonl-log-exporter.js.map +0 -1
- package/dist/otel/exporters/jsonl-metric-exporter.d.ts +0 -40
- package/dist/otel/exporters/jsonl-metric-exporter.d.ts.map +0 -1
- package/dist/otel/exporters/jsonl-metric-exporter.js +0 -104
- package/dist/otel/exporters/jsonl-metric-exporter.js.map +0 -1
- package/dist/otel/exporters/jsonl-trace-exporter.d.ts +0 -36
- package/dist/otel/exporters/jsonl-trace-exporter.d.ts.map +0 -1
- package/dist/otel/exporters/jsonl-trace-exporter.js +0 -111
- package/dist/otel/exporters/jsonl-trace-exporter.js.map +0 -1
- package/dist/otel/fetch.d.ts +0 -12
- package/dist/otel/fetch.d.ts.map +0 -1
- package/dist/otel/fetch.js +0 -82
- package/dist/otel/fetch.js.map +0 -1
- package/dist/otel/http.d.ts +0 -16
- package/dist/otel/http.d.ts.map +0 -1
- package/dist/otel/http.js +0 -44
- package/dist/otel/http.js.map +0 -1
- package/dist/otel/logger.d.ts +0 -37
- package/dist/otel/logger.d.ts.map +0 -1
- package/dist/otel/logger.js +0 -268
- package/dist/otel/logger.js.map +0 -1
- package/dist/otel/otel.d.ts +0 -65
- package/dist/otel/otel.d.ts.map +0 -1
- package/dist/otel/otel.js +0 -261
- package/dist/otel/otel.js.map +0 -1
- package/dist/router.d.ts +0 -100
- package/dist/router.d.ts.map +0 -1
- package/dist/router.js +0 -163
- package/dist/router.js.map +0 -1
- package/dist/services/evalrun/composite.d.ts +0 -21
- package/dist/services/evalrun/composite.d.ts.map +0 -1
- package/dist/services/evalrun/composite.js +0 -26
- package/dist/services/evalrun/composite.js.map +0 -1
- package/dist/services/evalrun/http.d.ts +0 -24
- package/dist/services/evalrun/http.d.ts.map +0 -1
- package/dist/services/evalrun/http.js +0 -86
- package/dist/services/evalrun/http.js.map +0 -1
- package/dist/services/evalrun/index.d.ts +0 -5
- package/dist/services/evalrun/index.d.ts.map +0 -1
- package/dist/services/evalrun/index.js +0 -5
- package/dist/services/evalrun/index.js.map +0 -1
- package/dist/services/evalrun/json.d.ts +0 -21
- package/dist/services/evalrun/json.d.ts.map +0 -1
- package/dist/services/evalrun/json.js +0 -38
- package/dist/services/evalrun/json.js.map +0 -1
- package/dist/services/evalrun/local.d.ts +0 -19
- package/dist/services/evalrun/local.d.ts.map +0 -1
- package/dist/services/evalrun/local.js +0 -22
- package/dist/services/evalrun/local.js.map +0 -1
- package/dist/services/local/_db.d.ts +0 -4
- package/dist/services/local/_db.d.ts.map +0 -1
- package/dist/services/local/_db.js +0 -123
- package/dist/services/local/_db.js.map +0 -1
- package/dist/services/local/_router.d.ts +0 -3
- package/dist/services/local/_router.d.ts.map +0 -1
- package/dist/services/local/_router.js +0 -28
- package/dist/services/local/_router.js.map +0 -1
- package/dist/services/local/_util.d.ts +0 -18
- package/dist/services/local/_util.d.ts.map +0 -1
- package/dist/services/local/_util.js +0 -44
- package/dist/services/local/_util.js.map +0 -1
- package/dist/services/local/index.d.ts +0 -7
- package/dist/services/local/index.d.ts.map +0 -1
- package/dist/services/local/index.js +0 -7
- package/dist/services/local/index.js.map +0 -1
- package/dist/services/local/keyvalue.d.ts +0 -17
- package/dist/services/local/keyvalue.d.ts.map +0 -1
- package/dist/services/local/keyvalue.js +0 -125
- package/dist/services/local/keyvalue.js.map +0 -1
- package/dist/services/local/stream.d.ts +0 -12
- package/dist/services/local/stream.d.ts.map +0 -1
- package/dist/services/local/stream.js +0 -262
- package/dist/services/local/stream.js.map +0 -1
- package/dist/services/local/vector.d.ts +0 -17
- package/dist/services/local/vector.d.ts.map +0 -1
- package/dist/services/local/vector.js +0 -303
- package/dist/services/local/vector.js.map +0 -1
- package/dist/services/sandbox/http.d.ts +0 -13
- package/dist/services/sandbox/http.d.ts.map +0 -1
- package/dist/services/sandbox/http.js +0 -130
- package/dist/services/sandbox/http.js.map +0 -1
- package/dist/services/sandbox/index.d.ts +0 -2
- package/dist/services/sandbox/index.d.ts.map +0 -1
- package/dist/services/sandbox/index.js +0 -2
- package/dist/services/sandbox/index.js.map +0 -1
- package/dist/services/session/composite.d.ts +0 -21
- package/dist/services/session/composite.d.ts.map +0 -1
- package/dist/services/session/composite.js +0 -26
- package/dist/services/session/composite.js.map +0 -1
- package/dist/services/session/http.d.ts +0 -34
- package/dist/services/session/http.d.ts.map +0 -1
- package/dist/services/session/http.js +0 -80
- package/dist/services/session/http.js.map +0 -1
- package/dist/services/session/index.d.ts +0 -5
- package/dist/services/session/index.d.ts.map +0 -1
- package/dist/services/session/index.js +0 -5
- package/dist/services/session/index.js.map +0 -1
- package/dist/services/session/json.d.ts +0 -22
- package/dist/services/session/json.d.ts.map +0 -1
- package/dist/services/session/json.js +0 -35
- package/dist/services/session/json.js.map +0 -1
- package/dist/services/session/local.d.ts +0 -19
- package/dist/services/session/local.d.ts.map +0 -1
- package/dist/services/session/local.js +0 -23
- package/dist/services/session/local.js.map +0 -1
- package/dist/services/thread/local.d.ts +0 -20
- package/dist/services/thread/local.d.ts.map +0 -1
- package/dist/services/thread/local.js +0 -158
- package/dist/services/thread/local.js.map +0 -1
- package/dist/session.d.ts +0 -734
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js +0 -1139
- package/dist/session.js.map +0 -1
- package/dist/validator.d.ts +0 -142
- package/dist/validator.d.ts.map +0 -1
- package/dist/validator.js +0 -149
- package/dist/validator.js.map +0 -1
- package/dist/web.d.ts +0 -8
- package/dist/web.d.ts.map +0 -1
- package/dist/web.js +0 -66
- package/dist/web.js.map +0 -1
- package/dist/workbench.d.ts +0 -17
- package/dist/workbench.d.ts.map +0 -1
- package/dist/workbench.js +0 -507
- package/dist/workbench.js.map +0 -1
package/dist/middleware.js
DELETED
|
@@ -1,507 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Middleware factories for Vite-native architecture
|
|
3
|
-
* Extracted from _server.ts to be used by generated entry files
|
|
4
|
-
*/
|
|
5
|
-
import { createMiddleware } from 'hono/factory';
|
|
6
|
-
import { cors } from 'hono/cors';
|
|
7
|
-
import { compress } from 'hono/compress';
|
|
8
|
-
import { setSignedCookie } from 'hono/cookie';
|
|
9
|
-
import { createTrustedCorsOrigin } from './cors';
|
|
10
|
-
import { getAppConfig } from './app';
|
|
11
|
-
import { generateId } from './session';
|
|
12
|
-
import { runInHTTPContext } from './_context';
|
|
13
|
-
import { DURATION_HEADER, TOKENS_HEADER } from './_tokens';
|
|
14
|
-
import { extractTraceContextFromRequest } from './otel/http';
|
|
15
|
-
import { context, SpanKind, SpanStatusCode, trace, propagation, } from '@opentelemetry/api';
|
|
16
|
-
import { TraceState } from '@opentelemetry/core';
|
|
17
|
-
import * as runtimeConfig from './_config';
|
|
18
|
-
import { getSessionEventProvider } from './_services';
|
|
19
|
-
import { internal } from './logger/internal';
|
|
20
|
-
import { STREAM_DONE_PROMISE_KEY, IS_STREAMING_RESPONSE_KEY } from './handlers/sse';
|
|
21
|
-
const SESSION_HEADER = 'x-session-id';
|
|
22
|
-
const THREAD_HEADER = 'x-thread-id';
|
|
23
|
-
const DEPLOYMENT_HEADER = 'x-deployment';
|
|
24
|
-
/**
|
|
25
|
-
* Paths that should skip OTEL session tracking.
|
|
26
|
-
* These routes are still accessible but won't create session events.
|
|
27
|
-
*/
|
|
28
|
-
const OTEL_SESSION_SKIP_PATHS = new Set([
|
|
29
|
-
'/_agentuity/workbench/ws',
|
|
30
|
-
'/_agentuity/workbench/sample',
|
|
31
|
-
'/_agentuity/workbench/state',
|
|
32
|
-
'/_agentuity/workbench/metadata.json',
|
|
33
|
-
'/_agentuity/webanalytics/analytics.js',
|
|
34
|
-
'/_agentuity/webanalytics/session.js',
|
|
35
|
-
]);
|
|
36
|
-
export const AGENT_CONTEXT_PROPERTIES = [
|
|
37
|
-
'logger',
|
|
38
|
-
'tracer',
|
|
39
|
-
'sessionId',
|
|
40
|
-
'kv',
|
|
41
|
-
'stream',
|
|
42
|
-
'vector',
|
|
43
|
-
'sandbox',
|
|
44
|
-
'state',
|
|
45
|
-
'thread',
|
|
46
|
-
'session',
|
|
47
|
-
'config',
|
|
48
|
-
'app',
|
|
49
|
-
'waitUntil',
|
|
50
|
-
];
|
|
51
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
52
|
-
function installContextPropertyHelpers(c) {
|
|
53
|
-
for (const property of AGENT_CONTEXT_PROPERTIES) {
|
|
54
|
-
if (Object.prototype.hasOwnProperty.call(c, property)) {
|
|
55
|
-
continue;
|
|
56
|
-
}
|
|
57
|
-
Object.defineProperty(c, property, {
|
|
58
|
-
get() {
|
|
59
|
-
throw new Error(`In route handlers, use c.var.${property} instead of c.${property}. ` +
|
|
60
|
-
`The property '${property}' is available on AgentContext (for agent handlers) ` +
|
|
61
|
-
`but must be accessed via c.var in HonoContext (route handlers).`);
|
|
62
|
-
},
|
|
63
|
-
configurable: true,
|
|
64
|
-
enumerable: false,
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Create base middleware that sets up context variables
|
|
70
|
-
*/
|
|
71
|
-
export function createBaseMiddleware(config) {
|
|
72
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
73
|
-
return createMiddleware(async (c, next) => {
|
|
74
|
-
c.set('logger', config.logger);
|
|
75
|
-
c.set('tracer', config.tracer);
|
|
76
|
-
c.set('meter', config.meter);
|
|
77
|
-
// Import services dynamically to avoid circular deps
|
|
78
|
-
const { getServices } = await import('./_services');
|
|
79
|
-
const { getAppState } = await import('./app');
|
|
80
|
-
c.set('app', getAppState());
|
|
81
|
-
const services = getServices();
|
|
82
|
-
c.set('kv', services.kv);
|
|
83
|
-
c.set('stream', services.stream);
|
|
84
|
-
c.set('vector', services.vector);
|
|
85
|
-
c.set('sandbox', services.sandbox);
|
|
86
|
-
installContextPropertyHelpers(c);
|
|
87
|
-
const isWebSocket = c.req.header('upgrade')?.toLowerCase() === 'websocket';
|
|
88
|
-
const skipLogging = c.req.path.startsWith('/_agentuity/');
|
|
89
|
-
const started = performance.now();
|
|
90
|
-
if (!skipLogging) {
|
|
91
|
-
config.logger.debug('%s %s started', c.req.method, c.req.path);
|
|
92
|
-
}
|
|
93
|
-
await runInHTTPContext(c, next);
|
|
94
|
-
if (!isWebSocket) {
|
|
95
|
-
const endTime = performance.now();
|
|
96
|
-
const duration = ((endTime - started) / 1000).toFixed(1);
|
|
97
|
-
c.header(DURATION_HEADER, `${duration}s`);
|
|
98
|
-
// Set deployment header for all routes
|
|
99
|
-
const deploymentId = runtimeConfig.getDeploymentId();
|
|
100
|
-
if (deploymentId) {
|
|
101
|
-
c.header(DEPLOYMENT_HEADER, deploymentId);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
if (!skipLogging && !isWebSocket) {
|
|
105
|
-
config.logger.debug('%s %s completed (%d) in %sms', c.req.method, c.req.path, c.res.status, Number(performance.now() - started).toFixed(2));
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Create CORS middleware with lazy config resolution.
|
|
111
|
-
*
|
|
112
|
-
* Handles Cross-Origin Resource Sharing (CORS) headers for API routes.
|
|
113
|
-
* Config is resolved at request time, allowing it to be set via createApp().
|
|
114
|
-
* Static options passed here take precedence over app config.
|
|
115
|
-
*
|
|
116
|
-
* Default behavior:
|
|
117
|
-
* - Reflects the request origin (allows any origin)
|
|
118
|
-
* - Allows common headers: Content-Type, Authorization, Accept, Origin, X-Requested-With
|
|
119
|
-
* - Allows all standard HTTP methods
|
|
120
|
-
* - Enables credentials
|
|
121
|
-
* - Sets max-age to 600 seconds (10 minutes)
|
|
122
|
-
*
|
|
123
|
-
* @param staticOptions - Optional static CORS options that override app config
|
|
124
|
-
*
|
|
125
|
-
* @example
|
|
126
|
-
* ```typescript
|
|
127
|
-
* // Use with default settings
|
|
128
|
-
* app.use('/api/*', createCorsMiddleware());
|
|
129
|
-
*
|
|
130
|
-
* // Or configure via createApp
|
|
131
|
-
* const app = await createApp({
|
|
132
|
-
* cors: {
|
|
133
|
-
* origin: 'https://example.com',
|
|
134
|
-
* allowHeaders: ['Content-Type', 'Authorization', 'X-Custom-Header'],
|
|
135
|
-
* maxAge: 3600,
|
|
136
|
-
* }
|
|
137
|
-
* });
|
|
138
|
-
*
|
|
139
|
-
* // Or pass static options directly (overrides app config)
|
|
140
|
-
* app.use('/api/*', createCorsMiddleware({
|
|
141
|
-
* origin: ['https://app.example.com', 'https://admin.example.com'],
|
|
142
|
-
* credentials: true,
|
|
143
|
-
* }));
|
|
144
|
-
* ```
|
|
145
|
-
*/
|
|
146
|
-
export function createCorsMiddleware(staticOptions) {
|
|
147
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
148
|
-
return createMiddleware(async (c, next) => {
|
|
149
|
-
// Lazy resolve: merge app config with static options
|
|
150
|
-
const appConfig = getAppConfig();
|
|
151
|
-
const appCors = appConfig?.cors;
|
|
152
|
-
const corsOptions = {
|
|
153
|
-
...appCors,
|
|
154
|
-
...staticOptions,
|
|
155
|
-
};
|
|
156
|
-
// Extract Agentuity-specific options
|
|
157
|
-
const { sameOrigin, allowedOrigins, ...honoCorsOptions } = corsOptions;
|
|
158
|
-
// Determine origin handler based on sameOrigin setting
|
|
159
|
-
let originHandler;
|
|
160
|
-
if (sameOrigin) {
|
|
161
|
-
// Use trusted origins (env vars + allowedOrigins + same-origin)
|
|
162
|
-
originHandler = createTrustedCorsOrigin({ allowedOrigins });
|
|
163
|
-
}
|
|
164
|
-
else if (honoCorsOptions.origin !== undefined) {
|
|
165
|
-
// Use explicitly provided origin
|
|
166
|
-
originHandler = honoCorsOptions.origin;
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
// Default: reflect any origin (backwards compatible)
|
|
170
|
-
originHandler = (origin) => origin;
|
|
171
|
-
}
|
|
172
|
-
// Required headers that must always be allowed/exposed for runtime functionality
|
|
173
|
-
const requiredAllowHeaders = [THREAD_HEADER];
|
|
174
|
-
const requiredExposeHeaders = [
|
|
175
|
-
TOKENS_HEADER,
|
|
176
|
-
DURATION_HEADER,
|
|
177
|
-
THREAD_HEADER,
|
|
178
|
-
SESSION_HEADER,
|
|
179
|
-
DEPLOYMENT_HEADER,
|
|
180
|
-
];
|
|
181
|
-
// Default headers to allow (used if none specified)
|
|
182
|
-
const defaultAllowHeaders = [
|
|
183
|
-
'Content-Type',
|
|
184
|
-
'Authorization',
|
|
185
|
-
'Accept',
|
|
186
|
-
'Origin',
|
|
187
|
-
'X-Requested-With',
|
|
188
|
-
];
|
|
189
|
-
// Default headers to expose (used if none specified)
|
|
190
|
-
const defaultExposeHeaders = ['Content-Length'];
|
|
191
|
-
const corsMiddleware = cors({
|
|
192
|
-
...honoCorsOptions,
|
|
193
|
-
origin: originHandler,
|
|
194
|
-
// Always include required headers, merge with user-provided or defaults
|
|
195
|
-
allowHeaders: [
|
|
196
|
-
...(honoCorsOptions.allowHeaders ?? defaultAllowHeaders),
|
|
197
|
-
...requiredAllowHeaders,
|
|
198
|
-
],
|
|
199
|
-
allowMethods: honoCorsOptions.allowMethods ?? [
|
|
200
|
-
'POST',
|
|
201
|
-
'GET',
|
|
202
|
-
'OPTIONS',
|
|
203
|
-
'HEAD',
|
|
204
|
-
'PUT',
|
|
205
|
-
'DELETE',
|
|
206
|
-
'PATCH',
|
|
207
|
-
],
|
|
208
|
-
// Always include required headers, merge with user-provided or defaults
|
|
209
|
-
exposeHeaders: [
|
|
210
|
-
...(honoCorsOptions.exposeHeaders ?? defaultExposeHeaders),
|
|
211
|
-
...requiredExposeHeaders,
|
|
212
|
-
],
|
|
213
|
-
maxAge: honoCorsOptions.maxAge ?? 600,
|
|
214
|
-
credentials: honoCorsOptions.credentials ?? true,
|
|
215
|
-
});
|
|
216
|
-
return corsMiddleware(c, next);
|
|
217
|
-
});
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* Create OpenTelemetry middleware for session/thread tracking
|
|
221
|
-
* This is the critical middleware that creates AgentContext
|
|
222
|
-
*/
|
|
223
|
-
export function createOtelMiddleware() {
|
|
224
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
225
|
-
return createMiddleware(async (c, next) => {
|
|
226
|
-
// Skip session tracking for paths in the skip list
|
|
227
|
-
if (OTEL_SESSION_SKIP_PATHS.has(c.req.path)) {
|
|
228
|
-
return next();
|
|
229
|
-
}
|
|
230
|
-
// Import providers dynamically to avoid circular deps
|
|
231
|
-
const { getThreadProvider, getSessionProvider } = await import('./_services');
|
|
232
|
-
const WaitUntilHandler = (await import('./_waituntil')).default;
|
|
233
|
-
const extractedContext = extractTraceContextFromRequest(c.req.raw);
|
|
234
|
-
const method = c.req.method;
|
|
235
|
-
const url = new URL(c.req.url);
|
|
236
|
-
const threadProvider = getThreadProvider();
|
|
237
|
-
const sessionProvider = getSessionProvider();
|
|
238
|
-
await context.with(extractedContext, async () => {
|
|
239
|
-
const tracer = trace.getTracer('http-server');
|
|
240
|
-
await tracer.startActiveSpan(`HTTP ${method}`, {
|
|
241
|
-
kind: SpanKind.SERVER,
|
|
242
|
-
attributes: {
|
|
243
|
-
'http.method': method,
|
|
244
|
-
'http.host': url.host,
|
|
245
|
-
'http.user_agent': c.req.header('user-agent') || '',
|
|
246
|
-
'http.path': url.pathname,
|
|
247
|
-
},
|
|
248
|
-
}, async (span) => {
|
|
249
|
-
const sctx = span.spanContext();
|
|
250
|
-
const sessionId = sctx?.traceId ? `sess_${sctx.traceId}` : generateId('sess');
|
|
251
|
-
let traceState = sctx.traceState ?? new TraceState();
|
|
252
|
-
const projectId = runtimeConfig.getProjectId();
|
|
253
|
-
const orgId = runtimeConfig.getOrganizationId();
|
|
254
|
-
const deploymentId = runtimeConfig.getDeploymentId();
|
|
255
|
-
const isDevMode = runtimeConfig.isDevMode();
|
|
256
|
-
internal.info('[session] config: orgId=%s, projectId=%s, deploymentId=%s, isDevMode=%s', orgId ?? 'NOT SET (AGENTUITY_CLOUD_ORG_ID)', projectId ?? 'NOT SET (AGENTUITY_CLOUD_PROJECT_ID)', deploymentId ?? 'none', isDevMode);
|
|
257
|
-
if (projectId)
|
|
258
|
-
traceState = traceState.set('pid', projectId);
|
|
259
|
-
if (orgId)
|
|
260
|
-
traceState = traceState.set('oid', orgId);
|
|
261
|
-
if (isDevMode)
|
|
262
|
-
traceState = traceState.set('d', '1');
|
|
263
|
-
// Update the active context with the new trace state
|
|
264
|
-
// Note: SpanContext.traceState is readonly, so we update it by setting the span with a new context
|
|
265
|
-
trace.setSpan(context.active(), trace.wrapSpanContext({
|
|
266
|
-
...sctx,
|
|
267
|
-
traceState,
|
|
268
|
-
}));
|
|
269
|
-
const thread = await threadProvider.restore(c);
|
|
270
|
-
const session = await sessionProvider.restore(thread, sessionId);
|
|
271
|
-
const handler = new WaitUntilHandler(tracer);
|
|
272
|
-
c.set('sessionId', sessionId);
|
|
273
|
-
c.set('thread', thread);
|
|
274
|
-
c.set('session', session);
|
|
275
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
276
|
-
c.set('waitUntilHandler', handler);
|
|
277
|
-
const agentIds = new Set();
|
|
278
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
279
|
-
c.set('agentIds', agentIds);
|
|
280
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
281
|
-
c.set('trigger', 'api');
|
|
282
|
-
// Send session start event (so evalruns can reference this session)
|
|
283
|
-
// The provider decides whether to send based on available data (orgId, projectId, etc.)
|
|
284
|
-
const sessionEventProvider = getSessionEventProvider();
|
|
285
|
-
if (sessionEventProvider) {
|
|
286
|
-
try {
|
|
287
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
288
|
-
const routeId = c.var?.routeId || '';
|
|
289
|
-
await sessionEventProvider.start({
|
|
290
|
-
id: sessionId,
|
|
291
|
-
threadId: thread.id,
|
|
292
|
-
orgId: orgId || '',
|
|
293
|
-
projectId: projectId || '',
|
|
294
|
-
deploymentId: deploymentId || undefined,
|
|
295
|
-
devmode: isDevMode,
|
|
296
|
-
trigger: 'api',
|
|
297
|
-
routeId,
|
|
298
|
-
environment: runtimeConfig.getEnvironment(),
|
|
299
|
-
url: c.req.path,
|
|
300
|
-
method: c.req.method,
|
|
301
|
-
});
|
|
302
|
-
}
|
|
303
|
-
catch (_ex) {
|
|
304
|
-
// Silently ignore session start errors - don't block request
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
// Factor out finalization logic so it can run synchronously or deferred
|
|
308
|
-
const finalizeSession = async (statusCode) => {
|
|
309
|
-
internal.info('[session] saving session %s (thread: %s)', sessionId, thread.id);
|
|
310
|
-
await sessionProvider.save(session);
|
|
311
|
-
internal.info('[session] session saved, now saving thread');
|
|
312
|
-
await threadProvider.save(thread);
|
|
313
|
-
internal.info('[session] thread saved');
|
|
314
|
-
// Send session complete event
|
|
315
|
-
if (sessionEventProvider) {
|
|
316
|
-
try {
|
|
317
|
-
const userData = session.serializeUserData();
|
|
318
|
-
internal.info('[session] sending session complete event, userData: %s', userData ? `${userData.length} bytes` : 'none');
|
|
319
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
320
|
-
const agentIdsSet = c.get('agentIds');
|
|
321
|
-
const agentIds = agentIdsSet ? [...agentIdsSet].filter(Boolean) : undefined;
|
|
322
|
-
internal.info('[session] agentIds: %o', agentIds);
|
|
323
|
-
const isEmpty = await thread.empty();
|
|
324
|
-
await sessionEventProvider.complete({
|
|
325
|
-
id: sessionId,
|
|
326
|
-
threadId: isEmpty ? null : thread.id,
|
|
327
|
-
statusCode: statusCode ?? c.res?.status ?? 200,
|
|
328
|
-
agentIds: agentIds?.length ? agentIds : undefined,
|
|
329
|
-
userData,
|
|
330
|
-
});
|
|
331
|
-
internal.info('[session] session complete event sent');
|
|
332
|
-
}
|
|
333
|
-
catch (ex) {
|
|
334
|
-
internal.info('[session] session complete event failed: %s', ex);
|
|
335
|
-
// Silently ignore session complete errors - don't block response
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
};
|
|
339
|
-
try {
|
|
340
|
-
await next();
|
|
341
|
-
// Check if this is a streaming response that needs deferred finalization
|
|
342
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
343
|
-
const streamDone = c.get(STREAM_DONE_PROMISE_KEY);
|
|
344
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
345
|
-
const isStreaming = Boolean(c.get(IS_STREAMING_RESPONSE_KEY));
|
|
346
|
-
if (isStreaming && streamDone) {
|
|
347
|
-
// Defer session/thread saving until stream completes
|
|
348
|
-
// This ensures thread state changes made during streaming are persisted
|
|
349
|
-
internal.info('[session] deferring session/thread save until streaming completes (session %s)', sessionId);
|
|
350
|
-
handler.waitUntil(async () => {
|
|
351
|
-
try {
|
|
352
|
-
await streamDone;
|
|
353
|
-
internal.info('[session] stream completed, now saving session/thread (session %s)', sessionId);
|
|
354
|
-
}
|
|
355
|
-
catch (ex) {
|
|
356
|
-
// Stream ended with an error/abort; still try to persist the latest state
|
|
357
|
-
internal.info('[session] stream ended with error, still saving state: %s', ex);
|
|
358
|
-
}
|
|
359
|
-
await finalizeSession();
|
|
360
|
-
});
|
|
361
|
-
span.setStatus({ code: SpanStatusCode.OK });
|
|
362
|
-
}
|
|
363
|
-
else {
|
|
364
|
-
// Non-streaming: save session/thread synchronously (existing behavior)
|
|
365
|
-
await finalizeSession();
|
|
366
|
-
span.setStatus({ code: SpanStatusCode.OK });
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
catch (ex) {
|
|
370
|
-
if (ex instanceof Error) {
|
|
371
|
-
span.recordException(ex);
|
|
372
|
-
}
|
|
373
|
-
span.setStatus({
|
|
374
|
-
code: SpanStatusCode.ERROR,
|
|
375
|
-
message: ex.message ?? String(ex),
|
|
376
|
-
});
|
|
377
|
-
throw ex;
|
|
378
|
-
}
|
|
379
|
-
finally {
|
|
380
|
-
const headers = {};
|
|
381
|
-
propagation.inject(context.active(), headers);
|
|
382
|
-
for (const key of Object.keys(headers)) {
|
|
383
|
-
c.header(key, headers[key]);
|
|
384
|
-
}
|
|
385
|
-
const traceId = sctx?.traceId || sessionId.replace(/^sess_/, '');
|
|
386
|
-
c.header(SESSION_HEADER, `sess_${traceId}`);
|
|
387
|
-
span.end();
|
|
388
|
-
}
|
|
389
|
-
});
|
|
390
|
-
});
|
|
391
|
-
});
|
|
392
|
-
}
|
|
393
|
-
/**
|
|
394
|
-
* Create compression middleware with lazy config resolution.
|
|
395
|
-
*
|
|
396
|
-
* Compresses response bodies using gzip or deflate based on the Accept-Encoding header.
|
|
397
|
-
* Config is resolved at request time, allowing it to be set via createApp().
|
|
398
|
-
*
|
|
399
|
-
* @param staticConfig - Optional static config that overrides app config
|
|
400
|
-
*
|
|
401
|
-
* @example
|
|
402
|
-
* ```typescript
|
|
403
|
-
* // Use with default settings
|
|
404
|
-
* app.use('*', createCompressionMiddleware());
|
|
405
|
-
*
|
|
406
|
-
* // Or configure via createApp
|
|
407
|
-
* const app = await createApp({
|
|
408
|
-
* compression: {
|
|
409
|
-
* threshold: 2048,
|
|
410
|
-
* }
|
|
411
|
-
* });
|
|
412
|
-
* ```
|
|
413
|
-
*/
|
|
414
|
-
export function createCompressionMiddleware(staticConfig,
|
|
415
|
-
/**
|
|
416
|
-
* Optional config resolver for testing. When provided, this is used instead of getAppConfig().
|
|
417
|
-
* @internal
|
|
418
|
-
*/
|
|
419
|
-
configResolver) {
|
|
420
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
421
|
-
return createMiddleware(async (c, next) => {
|
|
422
|
-
// Lazy resolve: merge app config with static config
|
|
423
|
-
const appConfig = configResolver ? configResolver() : getAppConfig();
|
|
424
|
-
const appCompressionConfig = appConfig?.compression;
|
|
425
|
-
// Check if compression is explicitly disabled
|
|
426
|
-
if (appCompressionConfig === false || staticConfig?.enabled === false) {
|
|
427
|
-
return next();
|
|
428
|
-
}
|
|
429
|
-
// Merge configs: static config takes precedence over app config
|
|
430
|
-
const config = {
|
|
431
|
-
...(typeof appCompressionConfig === 'object' ? appCompressionConfig : {}),
|
|
432
|
-
...staticConfig,
|
|
433
|
-
};
|
|
434
|
-
const { enabled = true, threshold = 1024, filter, honoOptions } = config;
|
|
435
|
-
// Skip if explicitly disabled
|
|
436
|
-
if (!enabled) {
|
|
437
|
-
return next();
|
|
438
|
-
}
|
|
439
|
-
// Skip WebSocket upgrade requests
|
|
440
|
-
const upgrade = c.req.header('upgrade');
|
|
441
|
-
if (upgrade && upgrade.toLowerCase() === 'websocket') {
|
|
442
|
-
return next();
|
|
443
|
-
}
|
|
444
|
-
// Skip if no Accept-Encoding header
|
|
445
|
-
const acceptEncoding = c.req.header('accept-encoding');
|
|
446
|
-
if (!acceptEncoding) {
|
|
447
|
-
return next();
|
|
448
|
-
}
|
|
449
|
-
// Check custom filter
|
|
450
|
-
if (filter && !filter(c)) {
|
|
451
|
-
return next();
|
|
452
|
-
}
|
|
453
|
-
// Create and run the Hono compress middleware
|
|
454
|
-
const compressMiddleware = compress({
|
|
455
|
-
threshold,
|
|
456
|
-
...honoOptions,
|
|
457
|
-
});
|
|
458
|
-
await compressMiddleware(c, next);
|
|
459
|
-
});
|
|
460
|
-
}
|
|
461
|
-
/**
|
|
462
|
-
* Create lightweight thread middleware for web routes (analytics).
|
|
463
|
-
*
|
|
464
|
-
* Sets thread cookie that persists across page views for client-side analytics.
|
|
465
|
-
* This middleware does NOT:
|
|
466
|
-
* - Create or track sessions (no session ID)
|
|
467
|
-
* - Set session/thread response headers
|
|
468
|
-
* - Send events to Catalyst sessions table
|
|
469
|
-
*
|
|
470
|
-
* This is intentionally separate from createOtelMiddleware to avoid
|
|
471
|
-
* polluting the sessions table with web browsing activity.
|
|
472
|
-
*
|
|
473
|
-
* - Thread cookie (atid_a): Analytics-readable copy, 1-week expiry
|
|
474
|
-
*/
|
|
475
|
-
export function createWebSessionMiddleware() {
|
|
476
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
477
|
-
return createMiddleware(async (c, next) => {
|
|
478
|
-
// Import providers dynamically to avoid circular deps
|
|
479
|
-
const { getThreadProvider } = await import('./_services');
|
|
480
|
-
const secret = getSessionSecret();
|
|
481
|
-
// Use ThreadProvider.restore() to get/create thread (handles header, cookie, generation)
|
|
482
|
-
const threadProvider = getThreadProvider();
|
|
483
|
-
const thread = await threadProvider.restore(c);
|
|
484
|
-
// Set thread cookie for analytics
|
|
485
|
-
// httpOnly: false so beacon script can read it
|
|
486
|
-
const isSecure = c.req.url.startsWith('https://');
|
|
487
|
-
await setSignedCookie(c, 'atid_a', thread.id, secret, {
|
|
488
|
-
httpOnly: false, // Readable by JavaScript for analytics
|
|
489
|
-
secure: isSecure,
|
|
490
|
-
sameSite: 'Lax',
|
|
491
|
-
path: '/',
|
|
492
|
-
maxAge: 604800, // 1 week
|
|
493
|
-
});
|
|
494
|
-
// Store in context for handler to access in same request
|
|
495
|
-
// (cookies aren't readable until the next request)
|
|
496
|
-
c.set('_webThreadId', thread.id);
|
|
497
|
-
await next();
|
|
498
|
-
});
|
|
499
|
-
}
|
|
500
|
-
/**
|
|
501
|
-
* Get the secret used for signing session/thread cookies.
|
|
502
|
-
* Uses AGENTUITY_SDK_KEY if available, falls back to 'agentuity'.
|
|
503
|
-
*/
|
|
504
|
-
export function getSessionSecret() {
|
|
505
|
-
return process.env.AGENTUITY_SDK_KEY || 'agentuity';
|
|
506
|
-
}
|
|
507
|
-
//# sourceMappingURL=middleware.js.map
|
package/dist/middleware.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"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"}
|
package/dist/otel/config.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { LogLevel } from '@agentuity/core';
|
|
2
|
-
import type { SpanProcessor } from '@opentelemetry/sdk-trace-base';
|
|
3
|
-
import type { OtelResponse } from './otel';
|
|
4
|
-
/**
|
|
5
|
-
* Configuration for user provided OpenTelemetry
|
|
6
|
-
*/
|
|
7
|
-
export interface CustomizedOtelConfig {
|
|
8
|
-
endpoint: string;
|
|
9
|
-
serviceName: string;
|
|
10
|
-
resourceAttributes: Record<string, string>;
|
|
11
|
-
headers: Record<string, string>;
|
|
12
|
-
}
|
|
13
|
-
interface OtelRegisterConfig {
|
|
14
|
-
processors?: SpanProcessor[];
|
|
15
|
-
logLevel?: LogLevel;
|
|
16
|
-
}
|
|
17
|
-
export declare function register(registerConfig: OtelRegisterConfig): OtelResponse;
|
|
18
|
-
export {};
|
|
19
|
-
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/otel/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAGnE,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGvD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAE,MAAM,CAAC;IAGjB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,UAAU,kBAAkB;IAC3B,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,cAAc,EAAE,kBAAkB,GAAG,YAAY,CAsBzE"}
|
package/dist/otel/config.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { getServiceUrls } from '@agentuity/server';
|
|
2
|
-
import * as runtimeConfig from '../_config';
|
|
3
|
-
import { registerOtel } from './otel';
|
|
4
|
-
export function register(registerConfig) {
|
|
5
|
-
const region = process.env.AGENTUITY_REGION ?? 'usc';
|
|
6
|
-
const serviceUrls = getServiceUrls(region);
|
|
7
|
-
const url = serviceUrls.otel;
|
|
8
|
-
const bearerToken = process.env.AGENTUITY_OTLP_BEARER_TOKEN ?? process.env.AGENTUITY_SDK_KEY;
|
|
9
|
-
const config = {
|
|
10
|
-
spanProcessors: registerConfig.processors,
|
|
11
|
-
name: runtimeConfig.getAppName(),
|
|
12
|
-
version: runtimeConfig.getAppVersion(),
|
|
13
|
-
cliVersion: runtimeConfig.getCLIVersion(),
|
|
14
|
-
devmode: runtimeConfig.isDevMode(),
|
|
15
|
-
orgId: runtimeConfig.getOrganizationId(),
|
|
16
|
-
projectId: runtimeConfig.getProjectId(),
|
|
17
|
-
deploymentId: runtimeConfig.getDeploymentId(),
|
|
18
|
-
environment: runtimeConfig.getEnvironment(),
|
|
19
|
-
logLevel: registerConfig.logLevel,
|
|
20
|
-
jsonlBasePath: process.env.AGENTUITY_CLOUD_EXPORT_DIR,
|
|
21
|
-
bearerToken,
|
|
22
|
-
url,
|
|
23
|
-
};
|
|
24
|
-
return registerOtel(config);
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=config.js.map
|
package/dist/otel/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/otel/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,aAAa,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAmBtC,MAAM,UAAU,QAAQ,CAAC,cAAkC;IAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,KAAK,CAAC;IACrD,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC;IAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC7F,MAAM,MAAM,GAAe;QAC1B,cAAc,EAAE,cAAc,CAAC,UAAU;QACzC,IAAI,EAAE,aAAa,CAAC,UAAU,EAAE;QAChC,OAAO,EAAE,aAAa,CAAC,aAAa,EAAE;QACtC,UAAU,EAAE,aAAa,CAAC,aAAa,EAAE;QACzC,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE;QAClC,KAAK,EAAE,aAAa,CAAC,iBAAiB,EAAE;QACxC,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE;QACvC,YAAY,EAAE,aAAa,CAAC,eAAe,EAAE;QAC7C,WAAW,EAAE,aAAa,CAAC,cAAc,EAAE;QAC3C,QAAQ,EAAE,cAAc,CAAC,QAAQ;QACjC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B;QACrD,WAAW;QACX,GAAG;KACH,CAAC;IAEF,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC"}
|
package/dist/otel/console.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { type ExportResult } from '@opentelemetry/core';
|
|
2
|
-
import type { LogRecordExporter, ReadableLogRecord } from '@opentelemetry/sdk-logs';
|
|
3
|
-
import type { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace-base';
|
|
4
|
-
/**
|
|
5
|
-
* Console implementation of the LogRecordExporter interface
|
|
6
|
-
* Uses __originalConsole to avoid infinite loop when console is patched
|
|
7
|
-
*/
|
|
8
|
-
export declare class ConsoleLogRecordExporter implements LogRecordExporter {
|
|
9
|
-
private dumpRecords;
|
|
10
|
-
constructor(dumpRecords: boolean);
|
|
11
|
-
/**
|
|
12
|
-
* Exports log records to the console
|
|
13
|
-
*
|
|
14
|
-
* @param logs - The log records to export
|
|
15
|
-
* @param resultCallback - Callback function to report the export result
|
|
16
|
-
*/
|
|
17
|
-
export(logs: ReadableLogRecord[], resultCallback: (result: ExportResult) => void): void;
|
|
18
|
-
/**
|
|
19
|
-
* Shuts down the exporter
|
|
20
|
-
*
|
|
21
|
-
* @returns A promise that resolves when shutdown is complete
|
|
22
|
-
*/
|
|
23
|
-
shutdown(): Promise<void>;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Console implementation of the SpanExporter interface
|
|
27
|
-
* Uses __originalConsole to avoid infinite loop when console is patched
|
|
28
|
-
*/
|
|
29
|
-
export declare class DebugSpanExporter implements SpanExporter {
|
|
30
|
-
export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): void;
|
|
31
|
-
shutdown(): Promise<void>;
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=console.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/otel/console.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAoB,MAAM,qBAAqB,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAGhF;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,iBAAiB;IACjE,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,OAAO;IAGhC;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI;IAoCvF;;;;OAIG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGzB;AAED;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IACrD,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI;IAcnF,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGzB"}
|