@agentuity/runtime 2.0.11 → 3.0.0-alpha.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/index.d.ts +37 -65
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +59 -61
- package/dist/index.js.map +1 -1
- package/package.json +9 -38
- package/src/index.ts +58 -259
- package/AGENTS.md +0 -116
- package/dist/_config.d.ts +0 -100
- package/dist/_config.d.ts.map +0 -1
- package/dist/_config.js +0 -147
- package/dist/_config.js.map +0 -1
- package/dist/_context.d.ts +0 -80
- package/dist/_context.d.ts.map +0 -1
- package/dist/_context.js +0 -160
- 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/_globals.d.ts +0 -58
- package/dist/_globals.d.ts.map +0 -1
- package/dist/_globals.js +0 -71
- package/dist/_globals.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 -268
- package/dist/_metadata.js.map +0 -1
- package/dist/_process-protection.d.ts +0 -27
- package/dist/_process-protection.d.ts.map +0 -1
- package/dist/_process-protection.js +0 -56
- package/dist/_process-protection.js.map +0 -1
- package/dist/_server.d.ts +0 -50
- package/dist/_server.d.ts.map +0 -1
- package/dist/_server.js +0 -89
- package/dist/_server.js.map +0 -1
- package/dist/_services.d.ts +0 -25
- package/dist/_services.d.ts.map +0 -1
- package/dist/_services.js +0 -286
- package/dist/_services.js.map +0 -1
- package/dist/_standalone.d.ts +0 -212
- package/dist/_standalone.d.ts.map +0 -1
- package/dist/_standalone.js +0 -556
- 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 -97
- 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 -32
- package/dist/_waituntil.d.ts.map +0 -1
- package/dist/_waituntil.js +0 -156
- package/dist/_waituntil.js.map +0 -1
- package/dist/agent.d.ts +0 -1262
- package/dist/agent.d.ts.map +0 -1
- package/dist/agent.js +0 -981
- package/dist/agent.js.map +0 -1
- package/dist/app.d.ts +0 -514
- package/dist/app.d.ts.map +0 -1
- package/dist/app.js +0 -228
- package/dist/app.js.map +0 -1
- package/dist/bootstrap.d.ts +0 -44
- package/dist/bootstrap.d.ts.map +0 -1
- package/dist/bootstrap.js +0 -259
- package/dist/bootstrap.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 -142
- 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/dev-patches/aisdk.d.ts +0 -17
- package/dist/dev-patches/aisdk.d.ts.map +0 -1
- package/dist/dev-patches/aisdk.js +0 -160
- package/dist/dev-patches/aisdk.js.map +0 -1
- package/dist/dev-patches/gateway.d.ts +0 -16
- package/dist/dev-patches/gateway.d.ts.map +0 -1
- package/dist/dev-patches/gateway.js +0 -54
- package/dist/dev-patches/gateway.js.map +0 -1
- package/dist/dev-patches/index.d.ts +0 -21
- package/dist/dev-patches/index.d.ts.map +0 -1
- package/dist/dev-patches/index.js +0 -33
- package/dist/dev-patches/index.js.map +0 -1
- package/dist/dev-patches/otel-llm.d.ts +0 -12
- package/dist/dev-patches/otel-llm.d.ts.map +0 -1
- package/dist/dev-patches/otel-llm.js +0 -352
- package/dist/dev-patches/otel-llm.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/_route-meta.d.ts +0 -22
- package/dist/handlers/_route-meta.d.ts.map +0 -1
- package/dist/handlers/_route-meta.js +0 -25
- package/dist/handlers/_route-meta.js.map +0 -1
- package/dist/handlers/cron.d.ts +0 -73
- package/dist/handlers/cron.d.ts.map +0 -1
- package/dist/handlers/cron.js +0 -43
- package/dist/handlers/cron.js.map +0 -1
- package/dist/handlers/index.d.ts +0 -6
- package/dist/handlers/index.d.ts.map +0 -1
- package/dist/handlers/index.js +0 -6
- package/dist/handlers/index.js.map +0 -1
- package/dist/handlers/sse.d.ts +0 -163
- package/dist/handlers/sse.d.ts.map +0 -1
- package/dist/handlers/sse.js +0 -175
- 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 -108
- package/dist/handlers/stream.js.map +0 -1
- package/dist/handlers/webrtc.d.ts +0 -49
- package/dist/handlers/webrtc.d.ts.map +0 -1
- package/dist/handlers/webrtc.js +0 -109
- package/dist/handlers/webrtc.js.map +0 -1
- package/dist/handlers/websocket.d.ts +0 -88
- package/dist/handlers/websocket.d.ts.map +0 -1
- package/dist/handlers/websocket.js +0 -161
- package/dist/handlers/websocket.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 -278
- 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 -105
- package/dist/middleware.d.ts.map +0 -1
- package/dist/middleware.js +0 -763
- 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 -265
- package/dist/otel/logger.js.map +0 -1
- package/dist/otel/otel.d.ts +0 -68
- package/dist/otel/otel.d.ts.map +0 -1
- package/dist/otel/otel.js +0 -245
- package/dist/otel/otel.js.map +0 -1
- package/dist/otel/tracestate.d.ts +0 -44
- package/dist/otel/tracestate.d.ts.map +0 -1
- package/dist/otel/tracestate.js +0 -84
- package/dist/otel/tracestate.js.map +0 -1
- package/dist/router.d.ts +0 -66
- package/dist/router.d.ts.map +0 -1
- package/dist/router.js +0 -44
- 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 -115
- 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 -281
- 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/email.d.ts +0 -24
- package/dist/services/local/email.d.ts.map +0 -1
- package/dist/services/local/email.js +0 -58
- package/dist/services/local/email.js.map +0 -1
- package/dist/services/local/index.d.ts +0 -10
- package/dist/services/local/index.d.ts.map +0 -1
- package/dist/services/local/index.js +0 -10
- 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 -133
- package/dist/services/local/keyvalue.js.map +0 -1
- package/dist/services/local/queue.d.ts +0 -10
- package/dist/services/local/queue.d.ts.map +0 -1
- package/dist/services/local/queue.js +0 -96
- package/dist/services/local/queue.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 -266
- package/dist/services/local/stream.js.map +0 -1
- package/dist/services/local/task.d.ts +0 -55
- package/dist/services/local/task.d.ts.map +0 -1
- package/dist/services/local/task.js +0 -1248
- package/dist/services/local/task.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 -23
- package/dist/services/sandbox/http.d.ts.map +0 -1
- package/dist/services/sandbox/http.js +0 -327
- 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 -124
- 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 -1140
- package/dist/session.js.map +0 -1
- package/dist/signature.d.ts +0 -22
- package/dist/signature.d.ts.map +0 -1
- package/dist/signature.js +0 -63
- package/dist/signature.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/version-check.d.ts +0 -20
- package/dist/version-check.d.ts.map +0 -1
- package/dist/version-check.js +0 -157
- package/dist/version-check.js.map +0 -1
- package/dist/web.d.ts +0 -8
- package/dist/web.d.ts.map +0 -1
- package/dist/web.js +0 -67
- package/dist/web.js.map +0 -1
- package/dist/webrtc-signaling.d.ts +0 -80
- package/dist/webrtc-signaling.d.ts.map +0 -1
- package/dist/webrtc-signaling.js +0 -237
- package/dist/webrtc-signaling.js.map +0 -1
- package/dist/workbench.d.ts +0 -17
- package/dist/workbench.d.ts.map +0 -1
- package/dist/workbench.js +0 -605
- package/dist/workbench.js.map +0 -1
- package/src/_config.ts +0 -163
- package/src/_context.ts +0 -240
- package/src/_events.ts +0 -142
- package/src/_globals.ts +0 -92
- package/src/_idle.ts +0 -10
- package/src/_metadata.ts +0 -407
- package/src/_process-protection.ts +0 -71
- package/src/_server.ts +0 -109
- package/src/_services.ts +0 -379
- package/src/_standalone.ts +0 -710
- package/src/_tokens.ts +0 -114
- package/src/_util.ts +0 -62
- package/src/_validation.ts +0 -119
- package/src/_waituntil.ts +0 -188
- package/src/agent.ts +0 -2739
- package/src/app.ts +0 -769
- package/src/bootstrap.ts +0 -321
- package/src/bun-s3-patch.ts +0 -224
- package/src/cors.ts +0 -137
- package/src/dev-patches/aisdk.ts +0 -169
- package/src/dev-patches/gateway.ts +0 -68
- package/src/dev-patches/index.ts +0 -37
- package/src/dev-patches/otel-llm.ts +0 -405
- package/src/devmode.ts +0 -171
- package/src/eval.ts +0 -109
- package/src/globals.d.ts +0 -28
- package/src/handlers/_route-meta.ts +0 -33
- package/src/handlers/cron.ts +0 -141
- package/src/handlers/index.ts +0 -18
- package/src/handlers/sse.ts +0 -358
- package/src/handlers/stream.ts +0 -121
- package/src/handlers/webrtc.ts +0 -125
- package/src/handlers/websocket.ts +0 -203
- package/src/logger/console.ts +0 -323
- package/src/logger/index.ts +0 -2
- package/src/logger/internal.ts +0 -165
- package/src/logger/logger.ts +0 -44
- package/src/logger/user.ts +0 -15
- package/src/logger/util.ts +0 -80
- package/src/middleware.ts +0 -1095
- package/src/otel/config.ts +0 -47
- package/src/otel/console.ts +0 -91
- package/src/otel/exporters/README.md +0 -217
- package/src/otel/exporters/index.ts +0 -3
- package/src/otel/exporters/jsonl-log-exporter.ts +0 -113
- package/src/otel/exporters/jsonl-metric-exporter.ts +0 -120
- package/src/otel/exporters/jsonl-trace-exporter.ts +0 -121
- package/src/otel/fetch.ts +0 -105
- package/src/otel/http.ts +0 -53
- package/src/otel/logger.ts +0 -293
- package/src/otel/otel.ts +0 -354
- package/src/otel/tracestate.ts +0 -108
- package/src/router.ts +0 -75
- package/src/services/evalrun/composite.ts +0 -34
- package/src/services/evalrun/http.ts +0 -167
- package/src/services/evalrun/index.ts +0 -4
- package/src/services/evalrun/json.ts +0 -46
- package/src/services/evalrun/local.ts +0 -28
- package/src/services/local/README.md +0 -1576
- package/src/services/local/_db.ts +0 -353
- package/src/services/local/_router.ts +0 -40
- package/src/services/local/_util.ts +0 -55
- package/src/services/local/email.ts +0 -91
- package/src/services/local/index.ts +0 -9
- package/src/services/local/keyvalue.ts +0 -174
- package/src/services/local/queue.ts +0 -145
- package/src/services/local/stream.ts +0 -358
- package/src/services/local/task.ts +0 -1711
- package/src/services/local/vector.ts +0 -438
- package/src/services/sandbox/http.ts +0 -522
- package/src/services/sandbox/index.ts +0 -1
- package/src/services/session/composite.ts +0 -33
- package/src/services/session/http.ts +0 -167
- package/src/services/session/index.ts +0 -4
- package/src/services/session/json.ts +0 -42
- package/src/services/session/local.ts +0 -33
- package/src/services/thread/local.ts +0 -199
- package/src/session.ts +0 -1960
- package/src/signature.ts +0 -82
- package/src/validator.ts +0 -283
- package/src/version-check.ts +0 -184
- package/src/web.ts +0 -76
- package/src/webrtc-signaling.ts +0 -288
- package/src/workbench.ts +0 -725
package/dist/handlers/stream.js
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { stream as honoStream } from 'hono/streaming';
|
|
2
|
-
import { context as otelContext, ROOT_CONTEXT } from '@opentelemetry/api';
|
|
3
|
-
import { STREAM_DONE_PROMISE_KEY, IS_STREAMING_RESPONSE_KEY } from './sse';
|
|
4
|
-
import { tagRoute } from './_route-meta';
|
|
5
|
-
/**
|
|
6
|
-
* Creates a streaming middleware for returning ReadableStream responses.
|
|
7
|
-
*
|
|
8
|
-
* Use with router.post() (or any HTTP method) to create a streaming endpoint:
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```typescript
|
|
12
|
-
* import { createRouter, stream } from '@agentuity/runtime';
|
|
13
|
-
*
|
|
14
|
-
* const router = createRouter();
|
|
15
|
-
*
|
|
16
|
-
* router.post('/events', stream((c) => {
|
|
17
|
-
* return new ReadableStream({
|
|
18
|
-
* start(controller) {
|
|
19
|
-
* controller.enqueue('event 1\n');
|
|
20
|
-
* controller.enqueue('event 2\n');
|
|
21
|
-
* controller.close();
|
|
22
|
-
* }
|
|
23
|
-
* });
|
|
24
|
-
* }));
|
|
25
|
-
* ```
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* ```typescript
|
|
29
|
-
* // Async stream with data from request body
|
|
30
|
-
* router.post('/process', stream(async (c) => {
|
|
31
|
-
* const body = await c.req.json();
|
|
32
|
-
*
|
|
33
|
-
* return new ReadableStream({
|
|
34
|
-
* async start(controller) {
|
|
35
|
-
* for (const item of body.items) {
|
|
36
|
-
* controller.enqueue(`Processing: ${item}\n`);
|
|
37
|
-
* await new Promise(r => setTimeout(r, 100));
|
|
38
|
-
* }
|
|
39
|
-
* controller.close();
|
|
40
|
-
* }
|
|
41
|
-
* });
|
|
42
|
-
* }));
|
|
43
|
-
* ```
|
|
44
|
-
*
|
|
45
|
-
* @param handler - Handler function returning a ReadableStream
|
|
46
|
-
* @returns Hono handler for streaming response
|
|
47
|
-
*/
|
|
48
|
-
export function stream(handler) {
|
|
49
|
-
const streamHandler = (c) => {
|
|
50
|
-
// Track stream completion for deferred session/thread saving
|
|
51
|
-
// This promise resolves when the stream completes (pipe finishes or errors)
|
|
52
|
-
let resolveDone;
|
|
53
|
-
let rejectDone;
|
|
54
|
-
const donePromise = new Promise((resolve, reject) => {
|
|
55
|
-
resolveDone = resolve;
|
|
56
|
-
rejectDone = reject;
|
|
57
|
-
});
|
|
58
|
-
// Idempotent function to mark stream as completed
|
|
59
|
-
let isDone = false;
|
|
60
|
-
const markDone = (error) => {
|
|
61
|
-
if (isDone)
|
|
62
|
-
return;
|
|
63
|
-
isDone = true;
|
|
64
|
-
if (error && rejectDone) {
|
|
65
|
-
rejectDone(error);
|
|
66
|
-
}
|
|
67
|
-
else if (resolveDone) {
|
|
68
|
-
resolveDone();
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
// Expose completion tracking to middleware
|
|
72
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
73
|
-
c.set(STREAM_DONE_PROMISE_KEY, donePromise);
|
|
74
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
75
|
-
c.set(IS_STREAMING_RESPONSE_KEY, true);
|
|
76
|
-
c.header('Content-Type', 'application/octet-stream');
|
|
77
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
78
|
-
return honoStream(c, async (s) => {
|
|
79
|
-
const runInContext = async () => {
|
|
80
|
-
try {
|
|
81
|
-
let streamResult = handler(c);
|
|
82
|
-
if (streamResult instanceof Promise) {
|
|
83
|
-
streamResult = await streamResult;
|
|
84
|
-
}
|
|
85
|
-
await s.pipe(streamResult);
|
|
86
|
-
// Stream completed successfully
|
|
87
|
-
markDone();
|
|
88
|
-
}
|
|
89
|
-
catch (err) {
|
|
90
|
-
c.var.logger?.error('Stream error:', err);
|
|
91
|
-
markDone(err);
|
|
92
|
-
throw err;
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
// IMPORTANT: We run in ROOT_CONTEXT (no active OTEL span) to avoid a Bun bug
|
|
96
|
-
// where OTEL-instrumented fetch conflicts with streaming responses.
|
|
97
|
-
// This causes "ReadableStream has already been used" errors when AI SDK's
|
|
98
|
-
// generateText/generateObject (which use fetch + stream.tee() internally)
|
|
99
|
-
// are called inside stream handlers. Running without an active span makes
|
|
100
|
-
// our OTEL fetch wrapper use the original unpatched fetch.
|
|
101
|
-
// See: https://github.com/agentuity/sdk/issues/471
|
|
102
|
-
// See: https://github.com/oven-sh/bun/issues/24766
|
|
103
|
-
await otelContext.with(ROOT_CONTEXT, runInContext);
|
|
104
|
-
});
|
|
105
|
-
};
|
|
106
|
-
return tagRoute(streamHandler, { type: 'stream' });
|
|
107
|
-
}
|
|
108
|
-
//# sourceMappingURL=stream.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/handlers/stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAUzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,UAAU,MAAM,CAAsB,OAAyB;IACpE,MAAM,aAAa,GAAe,CAAC,CAAa,EAAE,EAAE;QACnD,6DAA6D;QAC7D,4EAA4E;QAC5E,IAAI,WAAqC,CAAC;QAC1C,IAAI,UAAoD,CAAC;QACzD,MAAM,WAAW,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzD,WAAW,GAAG,OAAO,CAAC;YACtB,UAAU,GAAG,MAAM,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,kDAAkD;QAClD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,QAAQ,GAAG,CAAC,KAAe,EAAE,EAAE;YACpC,IAAI,MAAM;gBAAE,OAAO;YACnB,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;gBACzB,UAAU,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;iBAAM,IAAI,WAAW,EAAE,CAAC;gBACxB,WAAW,EAAE,CAAC;YACf,CAAC;QACF,CAAC,CAAC;QAEF,2CAA2C;QAC3C,8DAA8D;QAC7D,CAAS,CAAC,GAAG,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;QACrD,8DAA8D;QAC7D,CAAS,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;QAEhD,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;QAErD,8DAA8D;QAC9D,OAAO,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAM,EAAE,EAAE;YACrC,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;gBAC/B,IAAI,CAAC;oBACJ,IAAI,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC9B,IAAI,YAAY,YAAY,OAAO,EAAE,CAAC;wBACrC,YAAY,GAAG,MAAM,YAAY,CAAC;oBACnC,CAAC;oBACD,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC3B,gCAAgC;oBAChC,QAAQ,EAAE,CAAC;gBACZ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;oBAC1C,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACd,MAAM,GAAG,CAAC;gBACX,CAAC;YACF,CAAC,CAAC;YAEF,6EAA6E;YAC7E,oEAAoE;YACpE,0EAA0E;YAC1E,0EAA0E;YAC1E,0EAA0E;YAC1E,2DAA2D;YAC3D,mDAAmD;YACnD,mDAAmD;YACnD,MAAM,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,QAAQ,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import type { Context, MiddlewareHandler } from 'hono';
|
|
2
|
-
import type { Env } from '../app';
|
|
3
|
-
import { WebRTCRoomManager, type WebRTCOptions } from '../webrtc-signaling';
|
|
4
|
-
export type { WebRTCOptions };
|
|
5
|
-
/**
|
|
6
|
-
* Handler function for WebRTC signaling connections.
|
|
7
|
-
* Receives the Hono context and WebRTCRoomManager.
|
|
8
|
-
*/
|
|
9
|
-
export type WebRTCHandler<E extends Env = Env> = (c: Context<E>, roomManager: WebRTCRoomManager) => void | Promise<void>;
|
|
10
|
-
/**
|
|
11
|
-
* Creates a WebRTC signaling middleware for peer-to-peer communication.
|
|
12
|
-
*
|
|
13
|
-
* This middleware sets up a WebSocket-based signaling server that handles:
|
|
14
|
-
* - Room membership and peer discovery
|
|
15
|
-
* - SDP offer/answer relay
|
|
16
|
-
* - ICE candidate relay
|
|
17
|
-
*
|
|
18
|
-
* Use with router.get() to create a WebRTC signaling endpoint:
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* ```typescript
|
|
22
|
-
* import { createRouter, webrtc } from '@agentuity/runtime';
|
|
23
|
-
*
|
|
24
|
-
* const router = createRouter();
|
|
25
|
-
*
|
|
26
|
-
* // Basic signaling endpoint
|
|
27
|
-
* router.get('/call/signal', webrtc());
|
|
28
|
-
*
|
|
29
|
-
* // With options
|
|
30
|
-
* router.get('/call/signal', webrtc({ maxPeers: 4 }));
|
|
31
|
-
*
|
|
32
|
-
* // With callbacks for monitoring
|
|
33
|
-
* router.get('/call/signal', webrtc({
|
|
34
|
-
* maxPeers: 2,
|
|
35
|
-
* callbacks: {
|
|
36
|
-
* onRoomCreated: (roomId) => console.log(`Room ${roomId} created`),
|
|
37
|
-
* onPeerJoin: (peerId, roomId) => console.log(`${peerId} joined ${roomId}`),
|
|
38
|
-
* onPeerLeave: (peerId, roomId, reason) => {
|
|
39
|
-
* console.log(`${peerId} left ${roomId}: ${reason}`);
|
|
40
|
-
* },
|
|
41
|
-
* },
|
|
42
|
-
* }));
|
|
43
|
-
* ```
|
|
44
|
-
*
|
|
45
|
-
* @param options - Configuration options for WebRTC signaling
|
|
46
|
-
* @returns Hono middleware handler for WebSocket upgrade
|
|
47
|
-
*/
|
|
48
|
-
export declare function webrtc<E extends Env = Env>(options?: WebRTCOptions): MiddlewareHandler<E>;
|
|
49
|
-
//# sourceMappingURL=webrtc.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webrtc.d.ts","sourceRoot":"","sources":["../../src/handlers/webrtc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAIvD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG5E,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAChD,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EACb,WAAW,EAAE,iBAAiB,KAC1B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAmEzF"}
|
package/dist/handlers/webrtc.js
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { upgradeWebSocket } from 'hono/bun';
|
|
2
|
-
import { context as otelContext, ROOT_CONTEXT } from '@opentelemetry/api';
|
|
3
|
-
import { getAgentAsyncLocalStorage } from '../_context';
|
|
4
|
-
import { WebRTCRoomManager } from '../webrtc-signaling';
|
|
5
|
-
/**
|
|
6
|
-
* Creates a WebRTC signaling middleware for peer-to-peer communication.
|
|
7
|
-
*
|
|
8
|
-
* This middleware sets up a WebSocket-based signaling server that handles:
|
|
9
|
-
* - Room membership and peer discovery
|
|
10
|
-
* - SDP offer/answer relay
|
|
11
|
-
* - ICE candidate relay
|
|
12
|
-
*
|
|
13
|
-
* Use with router.get() to create a WebRTC signaling endpoint:
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```typescript
|
|
17
|
-
* import { createRouter, webrtc } from '@agentuity/runtime';
|
|
18
|
-
*
|
|
19
|
-
* const router = createRouter();
|
|
20
|
-
*
|
|
21
|
-
* // Basic signaling endpoint
|
|
22
|
-
* router.get('/call/signal', webrtc());
|
|
23
|
-
*
|
|
24
|
-
* // With options
|
|
25
|
-
* router.get('/call/signal', webrtc({ maxPeers: 4 }));
|
|
26
|
-
*
|
|
27
|
-
* // With callbacks for monitoring
|
|
28
|
-
* router.get('/call/signal', webrtc({
|
|
29
|
-
* maxPeers: 2,
|
|
30
|
-
* callbacks: {
|
|
31
|
-
* onRoomCreated: (roomId) => console.log(`Room ${roomId} created`),
|
|
32
|
-
* onPeerJoin: (peerId, roomId) => console.log(`${peerId} joined ${roomId}`),
|
|
33
|
-
* onPeerLeave: (peerId, roomId, reason) => {
|
|
34
|
-
* console.log(`${peerId} left ${roomId}: ${reason}`);
|
|
35
|
-
* },
|
|
36
|
-
* },
|
|
37
|
-
* }));
|
|
38
|
-
* ```
|
|
39
|
-
*
|
|
40
|
-
* @param options - Configuration options for WebRTC signaling
|
|
41
|
-
* @returns Hono middleware handler for WebSocket upgrade
|
|
42
|
-
*/
|
|
43
|
-
export function webrtc(options) {
|
|
44
|
-
const roomManager = new WebRTCRoomManager(options);
|
|
45
|
-
const wsHandler = upgradeWebSocket((_c) => {
|
|
46
|
-
let currentWs;
|
|
47
|
-
// we need a Privder interface here with AsyncLocalStorage and KV
|
|
48
|
-
const asyncLocalStorage = getAgentAsyncLocalStorage();
|
|
49
|
-
const capturedContext = asyncLocalStorage.getStore();
|
|
50
|
-
return {
|
|
51
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
52
|
-
onOpen: (_event, ws) => {
|
|
53
|
-
otelContext.with(ROOT_CONTEXT, () => {
|
|
54
|
-
if (capturedContext) {
|
|
55
|
-
asyncLocalStorage.run(capturedContext, () => {
|
|
56
|
-
currentWs = {
|
|
57
|
-
onOpen: () => { },
|
|
58
|
-
onMessage: () => { },
|
|
59
|
-
onClose: () => { },
|
|
60
|
-
send: (data) => ws.send(data),
|
|
61
|
-
};
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
currentWs = {
|
|
66
|
-
onOpen: () => { },
|
|
67
|
-
onMessage: () => { },
|
|
68
|
-
onClose: () => { },
|
|
69
|
-
send: (data) => ws.send(data),
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
},
|
|
74
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
75
|
-
onMessage: (event, _ws) => {
|
|
76
|
-
if (currentWs) {
|
|
77
|
-
otelContext.with(ROOT_CONTEXT, () => {
|
|
78
|
-
if (capturedContext) {
|
|
79
|
-
asyncLocalStorage.run(capturedContext, () => {
|
|
80
|
-
roomManager.handleMessage(currentWs, String(event.data));
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
roomManager.handleMessage(currentWs, String(event.data));
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
},
|
|
89
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
90
|
-
onClose: (_event, _ws) => {
|
|
91
|
-
if (currentWs) {
|
|
92
|
-
otelContext.with(ROOT_CONTEXT, () => {
|
|
93
|
-
if (capturedContext) {
|
|
94
|
-
asyncLocalStorage.run(capturedContext, () => {
|
|
95
|
-
roomManager.handleDisconnect(currentWs);
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
roomManager.handleDisconnect(currentWs);
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
},
|
|
104
|
-
};
|
|
105
|
-
});
|
|
106
|
-
const middleware = (c, next) => wsHandler(c, next);
|
|
107
|
-
return middleware;
|
|
108
|
-
}
|
|
109
|
-
//# sourceMappingURL=webrtc.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webrtc.js","sourceRoot":"","sources":["../../src/handlers/webrtc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import type { Context, MiddlewareHandler } from 'hono';
|
|
2
|
-
import type { Env } from '../app';
|
|
3
|
-
/**
|
|
4
|
-
* Context key for WebSocket close promise.
|
|
5
|
-
* Used by middleware to defer session finalization until WebSocket closes.
|
|
6
|
-
*/
|
|
7
|
-
export declare const WS_DONE_PROMISE_KEY = "_wsDonePromise";
|
|
8
|
-
/**
|
|
9
|
-
* WebSocket connection interface for handling WebSocket events.
|
|
10
|
-
*/
|
|
11
|
-
export interface WebSocketConnection {
|
|
12
|
-
onOpen: (handler: (event: Event) => void | Promise<void>) => void;
|
|
13
|
-
onMessage: (handler: (event: MessageEvent) => void | Promise<void>) => void;
|
|
14
|
-
onClose: (handler: (event: CloseEvent) => void | Promise<void>) => void;
|
|
15
|
-
send: (data: string | ArrayBuffer | Uint8Array) => void;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Handler function for WebSocket connections.
|
|
19
|
-
* Receives the Hono context and WebSocket connection with a flattened signature.
|
|
20
|
-
*
|
|
21
|
-
* **This handler must be synchronous** (returns `void`, not `Promise<void>`).
|
|
22
|
-
* The handler is called inside Hono's `upgradeWebSocket` factory, which must
|
|
23
|
-
* return event handlers synchronously for the HTTP upgrade to complete. If the
|
|
24
|
-
* handler were async, any `ws.onOpen`/`ws.onMessage`/`ws.onClose` registrations
|
|
25
|
-
* after an `await` would be silently lost because the factory returns before
|
|
26
|
-
* they are registered.
|
|
27
|
-
*
|
|
28
|
-
* To perform async work, place it inside the `onOpen`, `onMessage`, or `onClose`
|
|
29
|
-
* callbacks, which are properly awaited by the runtime.
|
|
30
|
-
*/
|
|
31
|
-
export type WebSocketHandler<E extends Env = Env> = (c: Context<E>, ws: WebSocketConnection) => void;
|
|
32
|
-
/**
|
|
33
|
-
* Creates a WebSocket middleware for handling WebSocket connections.
|
|
34
|
-
*
|
|
35
|
-
* The handler must be **synchronous** — it runs inside Hono's `upgradeWebSocket`
|
|
36
|
-
* factory which must return event handlers synchronously for the HTTP upgrade to
|
|
37
|
-
* complete. Async work should go inside `onOpen`, `onMessage`, or `onClose`
|
|
38
|
-
* callbacks, which are properly awaited by the runtime.
|
|
39
|
-
*
|
|
40
|
-
* Use with router.get() to create a WebSocket endpoint:
|
|
41
|
-
*
|
|
42
|
-
* @example
|
|
43
|
-
* ```typescript
|
|
44
|
-
* // Basic synchronous usage
|
|
45
|
-
* import { createRouter, websocket } from '@agentuity/runtime';
|
|
46
|
-
*
|
|
47
|
-
* const router = createRouter();
|
|
48
|
-
*
|
|
49
|
-
* router.get('/ws', websocket((c, ws) => {
|
|
50
|
-
* ws.onOpen(() => {
|
|
51
|
-
* c.var.logger.info('WebSocket opened');
|
|
52
|
-
* ws.send('Welcome!');
|
|
53
|
-
* });
|
|
54
|
-
*
|
|
55
|
-
* ws.onMessage((event) => {
|
|
56
|
-
* c.var.logger.info('Received:', event.data);
|
|
57
|
-
* ws.send('Echo: ' + event.data);
|
|
58
|
-
* });
|
|
59
|
-
*
|
|
60
|
-
* ws.onClose(() => {
|
|
61
|
-
* c.var.logger.info('WebSocket closed');
|
|
62
|
-
* });
|
|
63
|
-
* }));
|
|
64
|
-
* ```
|
|
65
|
-
*
|
|
66
|
-
* @example
|
|
67
|
-
* ```typescript
|
|
68
|
-
* // Async work inside callbacks (correct pattern)
|
|
69
|
-
* router.get('/ws', websocket((c, ws) => {
|
|
70
|
-
* ws.onOpen(async () => {
|
|
71
|
-
* const user = await fetchUser(c.var.auth);
|
|
72
|
-
* ws.send(JSON.stringify({ welcome: user.name }));
|
|
73
|
-
* });
|
|
74
|
-
*
|
|
75
|
-
* ws.onMessage(async (event) => {
|
|
76
|
-
* const result = await processMessage(event.data);
|
|
77
|
-
* ws.send(JSON.stringify(result));
|
|
78
|
-
* });
|
|
79
|
-
* }));
|
|
80
|
-
* ```
|
|
81
|
-
*
|
|
82
|
-
* @param handler - Synchronous handler function receiving context and WebSocket connection
|
|
83
|
-
* @returns Hono middleware handler for WebSocket upgrade
|
|
84
|
-
*/
|
|
85
|
-
export declare function websocket<E extends Env = Env>(handler: WebSocketHandler<E>): MiddlewareHandler<E, string, {
|
|
86
|
-
outputFormat: 'ws';
|
|
87
|
-
}>;
|
|
88
|
-
//# sourceMappingURL=websocket.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/handlers/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAGvD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAGlC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAClE,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC5E,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IACxE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,KAAK,IAAI,CAAC;CACxD;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CACnD,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EACb,EAAE,EAAE,mBAAmB,KACnB,IAAI,CAAC;AAEV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,EAC5C,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC1B,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE;IAAE,YAAY,EAAE,IAAI,CAAA;CAAE,CAAC,CA0GtD"}
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import { upgradeWebSocket } from 'hono/bun';
|
|
2
|
-
import { context as otelContext, ROOT_CONTEXT } from '@opentelemetry/api';
|
|
3
|
-
import { tagRoute } from './_route-meta';
|
|
4
|
-
/**
|
|
5
|
-
* Context key for WebSocket close promise.
|
|
6
|
-
* Used by middleware to defer session finalization until WebSocket closes.
|
|
7
|
-
*/
|
|
8
|
-
export const WS_DONE_PROMISE_KEY = '_wsDonePromise';
|
|
9
|
-
/**
|
|
10
|
-
* Creates a WebSocket middleware for handling WebSocket connections.
|
|
11
|
-
*
|
|
12
|
-
* The handler must be **synchronous** — it runs inside Hono's `upgradeWebSocket`
|
|
13
|
-
* factory which must return event handlers synchronously for the HTTP upgrade to
|
|
14
|
-
* complete. Async work should go inside `onOpen`, `onMessage`, or `onClose`
|
|
15
|
-
* callbacks, which are properly awaited by the runtime.
|
|
16
|
-
*
|
|
17
|
-
* Use with router.get() to create a WebSocket endpoint:
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* // Basic synchronous usage
|
|
22
|
-
* import { createRouter, websocket } from '@agentuity/runtime';
|
|
23
|
-
*
|
|
24
|
-
* const router = createRouter();
|
|
25
|
-
*
|
|
26
|
-
* router.get('/ws', websocket((c, ws) => {
|
|
27
|
-
* ws.onOpen(() => {
|
|
28
|
-
* c.var.logger.info('WebSocket opened');
|
|
29
|
-
* ws.send('Welcome!');
|
|
30
|
-
* });
|
|
31
|
-
*
|
|
32
|
-
* ws.onMessage((event) => {
|
|
33
|
-
* c.var.logger.info('Received:', event.data);
|
|
34
|
-
* ws.send('Echo: ' + event.data);
|
|
35
|
-
* });
|
|
36
|
-
*
|
|
37
|
-
* ws.onClose(() => {
|
|
38
|
-
* c.var.logger.info('WebSocket closed');
|
|
39
|
-
* });
|
|
40
|
-
* }));
|
|
41
|
-
* ```
|
|
42
|
-
*
|
|
43
|
-
* @example
|
|
44
|
-
* ```typescript
|
|
45
|
-
* // Async work inside callbacks (correct pattern)
|
|
46
|
-
* router.get('/ws', websocket((c, ws) => {
|
|
47
|
-
* ws.onOpen(async () => {
|
|
48
|
-
* const user = await fetchUser(c.var.auth);
|
|
49
|
-
* ws.send(JSON.stringify({ welcome: user.name }));
|
|
50
|
-
* });
|
|
51
|
-
*
|
|
52
|
-
* ws.onMessage(async (event) => {
|
|
53
|
-
* const result = await processMessage(event.data);
|
|
54
|
-
* ws.send(JSON.stringify(result));
|
|
55
|
-
* });
|
|
56
|
-
* }));
|
|
57
|
-
* ```
|
|
58
|
-
*
|
|
59
|
-
* @param handler - Synchronous handler function receiving context and WebSocket connection
|
|
60
|
-
* @returns Hono middleware handler for WebSocket upgrade
|
|
61
|
-
*/
|
|
62
|
-
export function websocket(handler) {
|
|
63
|
-
const wsHandler = upgradeWebSocket((c) => {
|
|
64
|
-
let openHandler;
|
|
65
|
-
let messageHandler;
|
|
66
|
-
let closeHandler;
|
|
67
|
-
let initialized = false;
|
|
68
|
-
// Create done promise for session lifecycle deferral, but ONLY for actual
|
|
69
|
-
// WebSocket upgrade requests. The factory runs unconditionally for every
|
|
70
|
-
// request hitting this route (Hono calls createEvents before attempting
|
|
71
|
-
// server.upgrade). For non-upgrade HTTP requests, setting the promise would
|
|
72
|
-
// cause the middleware to hang forever waiting for an onClose that never fires.
|
|
73
|
-
let resolveDone;
|
|
74
|
-
const isUpgrade = c.req.header('upgrade')?.toLowerCase() === 'websocket';
|
|
75
|
-
if (isUpgrade) {
|
|
76
|
-
const donePromise = new Promise((resolve) => {
|
|
77
|
-
resolveDone = resolve;
|
|
78
|
-
});
|
|
79
|
-
// Defensive: guard against future code adding rejection paths
|
|
80
|
-
donePromise.catch(() => { });
|
|
81
|
-
// Set on context so middleware defers session finalization until WS closes
|
|
82
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
83
|
-
c.set(WS_DONE_PROMISE_KEY, donePromise);
|
|
84
|
-
}
|
|
85
|
-
const wsConnection = {
|
|
86
|
-
onOpen: (h) => {
|
|
87
|
-
openHandler = h;
|
|
88
|
-
},
|
|
89
|
-
onMessage: (h) => {
|
|
90
|
-
messageHandler = h;
|
|
91
|
-
},
|
|
92
|
-
onClose: (h) => {
|
|
93
|
-
closeHandler = h;
|
|
94
|
-
},
|
|
95
|
-
send: (_data) => {
|
|
96
|
-
// This will be bound to the actual ws in the handlers
|
|
97
|
-
},
|
|
98
|
-
};
|
|
99
|
-
// IMPORTANT: We run in ROOT_CONTEXT (no active OTEL span) to avoid a Bun bug
|
|
100
|
-
// where OTEL-instrumented fetch conflicts with streaming responses.
|
|
101
|
-
// See: https://github.com/agentuity/sdk/issues/471
|
|
102
|
-
// See: https://github.com/oven-sh/bun/issues/24766
|
|
103
|
-
const runHandler = () => {
|
|
104
|
-
otelContext.with(ROOT_CONTEXT, () => {
|
|
105
|
-
handler(c, wsConnection);
|
|
106
|
-
});
|
|
107
|
-
initialized = true;
|
|
108
|
-
};
|
|
109
|
-
runHandler();
|
|
110
|
-
return {
|
|
111
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
112
|
-
onOpen: async (event, ws) => {
|
|
113
|
-
try {
|
|
114
|
-
wsConnection.send = (data) => ws.send(data);
|
|
115
|
-
if (openHandler) {
|
|
116
|
-
await otelContext.with(ROOT_CONTEXT, () => openHandler(event));
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
catch (err) {
|
|
120
|
-
c.var.logger?.error('WebSocket onOpen error:', err);
|
|
121
|
-
throw err;
|
|
122
|
-
}
|
|
123
|
-
},
|
|
124
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
125
|
-
onMessage: async (event, ws) => {
|
|
126
|
-
try {
|
|
127
|
-
if (!initialized) {
|
|
128
|
-
wsConnection.send = (data) => ws.send(data);
|
|
129
|
-
runHandler();
|
|
130
|
-
}
|
|
131
|
-
if (messageHandler) {
|
|
132
|
-
await otelContext.with(ROOT_CONTEXT, () => messageHandler(event));
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
catch (err) {
|
|
136
|
-
c.var.logger?.error('WebSocket onMessage error:', err);
|
|
137
|
-
throw err;
|
|
138
|
-
}
|
|
139
|
-
},
|
|
140
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
141
|
-
onClose: async (event, _ws) => {
|
|
142
|
-
try {
|
|
143
|
-
if (closeHandler) {
|
|
144
|
-
await otelContext.with(ROOT_CONTEXT, () => closeHandler(event));
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
catch (err) {
|
|
148
|
-
c.var.logger?.error('WebSocket onClose error:', err);
|
|
149
|
-
}
|
|
150
|
-
finally {
|
|
151
|
-
// Resolve the done promise to trigger session finalization
|
|
152
|
-
// This must fire even if the user's onClose handler throws
|
|
153
|
-
resolveDone?.();
|
|
154
|
-
}
|
|
155
|
-
},
|
|
156
|
-
};
|
|
157
|
-
});
|
|
158
|
-
const middleware = (c, next) => wsHandler(c, next);
|
|
159
|
-
return tagRoute(middleware, { type: 'websocket' });
|
|
160
|
-
}
|
|
161
|
-
//# sourceMappingURL=websocket.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/handlers/websocket.ts"],"names":[],"mappings":"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"}
|
package/dist/logger/console.d.ts
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import type { LogLevel } from '@agentuity/core';
|
|
2
|
-
import type { Logger } from './logger';
|
|
3
|
-
/**
|
|
4
|
-
* Console implementation of the Logger interface
|
|
5
|
-
*/
|
|
6
|
-
export default class ConsoleLogger implements Logger {
|
|
7
|
-
private context;
|
|
8
|
-
private formatContext;
|
|
9
|
-
private logLevel;
|
|
10
|
-
private colors;
|
|
11
|
-
private detectedTraceLoopLog;
|
|
12
|
-
private useColors;
|
|
13
|
-
/**
|
|
14
|
-
* Creates a new console logger
|
|
15
|
-
*
|
|
16
|
-
* @param context - Initial context for the logger
|
|
17
|
-
*/
|
|
18
|
-
constructor(context?: Record<string, unknown>, formatContext?: boolean, logLevel?: LogLevel);
|
|
19
|
-
private shouldLog;
|
|
20
|
-
/**
|
|
21
|
-
* Log a trace message (most verbose)
|
|
22
|
-
*
|
|
23
|
-
* @param message - The message to log
|
|
24
|
-
* @param args - Additional arguments to log
|
|
25
|
-
*/
|
|
26
|
-
trace(message: unknown, ...args: unknown[]): void;
|
|
27
|
-
/**
|
|
28
|
-
* Log a debug message
|
|
29
|
-
*
|
|
30
|
-
* @param message - The message to log
|
|
31
|
-
* @param args - Additional arguments to log
|
|
32
|
-
*/
|
|
33
|
-
debug(message: unknown, ...args: unknown[]): void;
|
|
34
|
-
/**
|
|
35
|
-
* Log an info message
|
|
36
|
-
*
|
|
37
|
-
* @param message - The message to log
|
|
38
|
-
* @param args - Additional arguments to log
|
|
39
|
-
*/
|
|
40
|
-
info(message: unknown, ...args: unknown[]): void;
|
|
41
|
-
/**
|
|
42
|
-
* Log a warning message
|
|
43
|
-
*
|
|
44
|
-
* @param message - The message to log
|
|
45
|
-
* @param args - Additional arguments to log
|
|
46
|
-
*/
|
|
47
|
-
warn(message: unknown, ...args: unknown[]): void;
|
|
48
|
-
/**
|
|
49
|
-
* Log an error message
|
|
50
|
-
*
|
|
51
|
-
* @param message - The message to log
|
|
52
|
-
* @param args - Additional arguments to log
|
|
53
|
-
*/
|
|
54
|
-
error(message: unknown, ...args: unknown[]): void;
|
|
55
|
-
/**
|
|
56
|
-
* Log a fatal error message and exit the process
|
|
57
|
-
*
|
|
58
|
-
* @param message - The message to log
|
|
59
|
-
* @param args - Additional arguments to log
|
|
60
|
-
*/
|
|
61
|
-
fatal(message: unknown, ...args: unknown[]): never;
|
|
62
|
-
/**
|
|
63
|
-
* Create a child logger with additional context
|
|
64
|
-
*
|
|
65
|
-
* @param opts - Additional context for the child logger
|
|
66
|
-
* @returns A new logger instance with the additional context
|
|
67
|
-
*/
|
|
68
|
-
child(opts: Record<string, unknown>): Logger;
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=console.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/logger/console.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAmHvC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,MAAM;IACnD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,SAAS,CAAU;IAE3B;;;;OAIG;gBAEF,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,aAAa,UAAO,EACpB,QAAQ,GAAE,QAAiB;IAW5B,OAAO,CAAC,SAAS;IAgBjB;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAkBjD;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAkBjD;;;;;OAKG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IA8BhD;;;;;OAKG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAkBhD;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAkBjD;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK;IAKlD;;;;;OAKG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;CAU5C"}
|