@agentuity/runtime 0.1.32 → 0.1.33
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/_waituntil.d.ts.map +1 -1
- package/dist/_waituntil.js.map +1 -1
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +10 -4
- package/dist/middleware.js.map +1 -1
- package/dist/services/sandbox/http.d.ts +8 -1
- package/dist/services/sandbox/http.d.ts.map +1 -1
- package/dist/services/sandbox/http.js +53 -1
- package/dist/services/sandbox/http.js.map +1 -1
- package/dist/services/session/http.d.ts.map +1 -1
- package/dist/services/session/http.js +12 -7
- package/dist/services/session/http.js.map +1 -1
- package/package.json +7 -7
- package/src/_waituntil.ts +9 -3
- package/src/agent.ts +3 -3
- package/src/middleware.ts +254 -104
- package/src/services/sandbox/http.ts +88 -0
- package/src/services/session/http.ts +16 -8
package/dist/_waituntil.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_waituntil.d.ts","sourceRoot":"","sources":["../src/_waituntil.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,MAAM,EAAS,MAAM,oBAAoB,CAAC;AACjF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMvC;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAG7C;AAYD,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACpC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,qBAAqB,CAAS;gBAEnB,MAAM,EAAE,MAAM;IAK1B,SAAS,CACf,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EACrD,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5B,IAAI;IA8DA,UAAU,IAAI,OAAO;IAI5B;;;;OAIG;IACI,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;IAI5C;;;;OAIG;IACU,eAAe,
|
|
1
|
+
{"version":3,"file":"_waituntil.d.ts","sourceRoot":"","sources":["../src/_waituntil.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,MAAM,EAAS,MAAM,oBAAoB,CAAC;AACjF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMvC;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAG7C;AAYD,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACpC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,qBAAqB,CAAS;gBAEnB,MAAM,EAAE,MAAM;IAK1B,SAAS,CACf,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EACrD,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5B,IAAI;IA8DA,UAAU,IAAI,OAAO;IAI5B;;;;OAIG;IACI,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;IAI5C;;;;OAIG;IACU,eAAe,CAC3B,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EACzB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAwBH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAuC3E"}
|
package/dist/_waituntil.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_waituntil.js","sourceRoot":"","sources":["../src/_waituntil.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"_waituntil.js","sourceRoot":"","sources":["../src/_waituntil.ts"],"names":[],"mappings":"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"}
|
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,UAAU,EAAE,MAAM,OAAO,CAAC;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMvC,OAAO,EAMN,KAAK,EACL,MAAM,EACN,MAAM,oBAAoB,CAAC;AAyB5B,eAAO,MAAM,wBAAwB,yIAc3B,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,oEAsD5D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,CAAC,EAAE,UAAU,oEA6E9D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,
|
|
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;AAyB5B,eAAO,MAAM,wBAAwB,yIAc3B,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,oEAsD5D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,CAAC,EAAE,UAAU,oEA6E9D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,qEAqlBnC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,2BAA2B,CAC1C,YAAY,CAAC,EAAE,iBAAiB;AAChC;;;GAGG;AACH,cAAc,CAAC,EAAE,MAAM;IAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAA;CAAE,GAAG,SAAS,oEAmD9E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,qEA6BzC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
|
package/dist/middleware.js
CHANGED
|
@@ -297,7 +297,9 @@ export function createOtelMiddleware() {
|
|
|
297
297
|
// Normalize paths: trim trailing slashes for consistent matching
|
|
298
298
|
const normalizePath = (p) => {
|
|
299
299
|
const decoded = decodeURIComponent(p);
|
|
300
|
-
return decoded.endsWith('/') && decoded.length > 1
|
|
300
|
+
return decoded.endsWith('/') && decoded.length > 1
|
|
301
|
+
? decoded.slice(0, -1)
|
|
302
|
+
: decoded;
|
|
301
303
|
};
|
|
302
304
|
const requestPath = normalizePath(c.req.path);
|
|
303
305
|
// Helper to check if requestPath ends with routePath at a segment boundary
|
|
@@ -312,10 +314,12 @@ export function createOtelMiddleware() {
|
|
|
312
314
|
return charBeforeMatch === '/';
|
|
313
315
|
};
|
|
314
316
|
// Try matching by exact normalized path first
|
|
315
|
-
let route = metadata?.routes?.find((r) => r.method.toUpperCase() === methodUpper &&
|
|
317
|
+
let route = metadata?.routes?.find((r) => r.method.toUpperCase() === methodUpper &&
|
|
318
|
+
normalizePath(r.path) === requestPath);
|
|
316
319
|
// Fall back to segment-boundary matching (handles /api/translate matching /translate)
|
|
317
320
|
if (!route) {
|
|
318
|
-
route = metadata?.routes?.find((r) => r.method.toUpperCase() === methodUpper &&
|
|
321
|
+
route = metadata?.routes?.find((r) => r.method.toUpperCase() === methodUpper &&
|
|
322
|
+
matchesAtSegmentBoundary(requestPath, normalizePath(r.path)));
|
|
319
323
|
}
|
|
320
324
|
const routeId = route?.id || '';
|
|
321
325
|
await sessionEventProvider.start({
|
|
@@ -446,7 +450,9 @@ export function createOtelMiddleware() {
|
|
|
446
450
|
// Determine final status - use stream error if present
|
|
447
451
|
const finalStatus = streamError ? 500 : capturedResponseStatus;
|
|
448
452
|
const finalErrorMessage = streamError
|
|
449
|
-
?
|
|
453
|
+
? streamError instanceof Error
|
|
454
|
+
? (streamError.stack ?? streamError.message)
|
|
455
|
+
: String(streamError)
|
|
450
456
|
: capturedErrorMessage;
|
|
451
457
|
try {
|
|
452
458
|
// Wait for pending tasks (evals, etc.) captured BEFORE this waitUntil was added
|
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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"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { APIClient } from '@agentuity/server';
|
|
2
|
-
import type { SandboxService, Sandbox, SandboxInfo, SandboxCreateOptions, SandboxRunOptions, SandboxRunResult, ListSandboxesParams, ListSandboxesResponse } from '@agentuity/core';
|
|
2
|
+
import type { SandboxService, Sandbox, SandboxInfo, SandboxCreateOptions, SandboxRunOptions, SandboxRunResult, ListSandboxesParams, ListSandboxesResponse, SnapshotService } from '@agentuity/core';
|
|
3
|
+
/**
|
|
4
|
+
* HTTP implementation of the SandboxService interface
|
|
5
|
+
*/
|
|
3
6
|
export declare class HTTPSandboxService implements SandboxService {
|
|
4
7
|
private client;
|
|
5
8
|
private streamBaseUrl;
|
|
9
|
+
/**
|
|
10
|
+
* Snapshot management operations
|
|
11
|
+
*/
|
|
12
|
+
readonly snapshot: SnapshotService;
|
|
6
13
|
constructor(client: APIClient, streamBaseUrl: string);
|
|
7
14
|
run(options: SandboxRunOptions): Promise<SandboxRunResult>;
|
|
8
15
|
create(options?: SandboxCreateOptions): Promise<Sandbox>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/services/sandbox/http.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,SAAS,
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/services/sandbox/http.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,SAAS,EAcT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACX,cAAc,EACd,OAAO,EACP,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EAMrB,eAAe,EAKf,MAAM,iBAAiB,CAAC;AAmMzB;;GAEG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IACxD,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,aAAa,CAAS;IAE9B;;OAEG;IACH,SAAgB,QAAQ,EAAE,eAAe,CAAC;gBAE9B,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM;IAM9C,GAAG,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAW1D,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBxD,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAM5C,IAAI,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAWlE,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAK/C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { sandboxCreate, sandboxDestroy, sandboxExecute, sandboxGet, sandboxList, sandboxRun, sandboxWriteFiles, sandboxReadFile, } from '@agentuity/server';
|
|
1
|
+
import { sandboxCreate, sandboxDestroy, sandboxExecute, sandboxGet, sandboxList, sandboxRun, sandboxWriteFiles, sandboxReadFile, snapshotCreate, snapshotGet, snapshotList, snapshotDelete, snapshotTag, } from '@agentuity/server';
|
|
2
2
|
import { context, SpanKind, SpanStatusCode, trace } from '@opentelemetry/api';
|
|
3
3
|
const TRACER_NAME = 'agentuity.sandbox';
|
|
4
4
|
async function withSpan(name, attributes, fn) {
|
|
@@ -92,12 +92,64 @@ function createSandboxInstance(client, sandboxId, status, streamBaseUrl, stdoutS
|
|
|
92
92
|
},
|
|
93
93
|
};
|
|
94
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* HTTP implementation of the SnapshotService interface
|
|
97
|
+
*/
|
|
98
|
+
class HTTPSnapshotService {
|
|
99
|
+
client;
|
|
100
|
+
constructor(client) {
|
|
101
|
+
this.client = client;
|
|
102
|
+
}
|
|
103
|
+
async create(sandboxId, options) {
|
|
104
|
+
return withSpan('agentuity.sandbox.snapshot.create', {
|
|
105
|
+
'sandbox.id': sandboxId,
|
|
106
|
+
'snapshot.name': options?.name ?? '',
|
|
107
|
+
'snapshot.tag': options?.tag ?? '',
|
|
108
|
+
}, () => snapshotCreate(this.client, {
|
|
109
|
+
sandboxId,
|
|
110
|
+
name: options?.name,
|
|
111
|
+
description: options?.description,
|
|
112
|
+
tag: options?.tag,
|
|
113
|
+
public: options?.public,
|
|
114
|
+
}));
|
|
115
|
+
}
|
|
116
|
+
async get(snapshotId) {
|
|
117
|
+
return withSpan('agentuity.sandbox.snapshot.get', { 'snapshot.id': snapshotId }, () => snapshotGet(this.client, { snapshotId }));
|
|
118
|
+
}
|
|
119
|
+
async list(params) {
|
|
120
|
+
return withSpan('agentuity.sandbox.snapshot.list', {
|
|
121
|
+
'snapshot.sandboxId': params?.sandboxId ?? '',
|
|
122
|
+
'snapshot.limit': params?.limit ?? 50,
|
|
123
|
+
}, () => snapshotList(this.client, {
|
|
124
|
+
sandboxId: params?.sandboxId,
|
|
125
|
+
limit: params?.limit,
|
|
126
|
+
offset: params?.offset,
|
|
127
|
+
}));
|
|
128
|
+
}
|
|
129
|
+
async delete(snapshotId) {
|
|
130
|
+
return withSpan('agentuity.sandbox.snapshot.delete', { 'snapshot.id': snapshotId }, () => snapshotDelete(this.client, { snapshotId }));
|
|
131
|
+
}
|
|
132
|
+
async tag(snapshotId, tag) {
|
|
133
|
+
return withSpan('agentuity.sandbox.snapshot.tag', {
|
|
134
|
+
'snapshot.id': snapshotId,
|
|
135
|
+
'snapshot.tag': tag ?? '',
|
|
136
|
+
}, () => snapshotTag(this.client, { snapshotId, tag }));
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* HTTP implementation of the SandboxService interface
|
|
141
|
+
*/
|
|
95
142
|
export class HTTPSandboxService {
|
|
96
143
|
client;
|
|
97
144
|
streamBaseUrl;
|
|
145
|
+
/**
|
|
146
|
+
* Snapshot management operations
|
|
147
|
+
*/
|
|
148
|
+
snapshot;
|
|
98
149
|
constructor(client, streamBaseUrl) {
|
|
99
150
|
this.client = client;
|
|
100
151
|
this.streamBaseUrl = streamBaseUrl;
|
|
152
|
+
this.snapshot = new HTTPSnapshotService(client);
|
|
101
153
|
}
|
|
102
154
|
async run(options) {
|
|
103
155
|
return withSpan('agentuity.sandbox.run', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/services/sandbox/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,eAAe,
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/services/sandbox/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/services/session/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA2B,MAAM,mBAAmB,CAAC;AACvE,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EAGtB,KAAK,oBAAoB,EACzB,KAAK,MAAM,EAEX,MAAM,iBAAiB,CAAC;AAMzB;;;;;GAKG;AACH,qBAAa,wBAAyB,YAAW,oBAAoB;IACpE,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;IAK7C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;;OAIG;IACG,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8CpD;;OAEG;IACH,OAAO,CAAC,eAAe,CAAqB;IAE5C;;;;OAIG;IACG,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/services/session/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA2B,MAAM,mBAAmB,CAAC;AACvE,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EAGtB,KAAK,oBAAoB,EACzB,KAAK,MAAM,EAEX,MAAM,iBAAiB,CAAC;AAMzB;;;;;GAKG;AACH,qBAAa,wBAAyB,YAAW,oBAAoB;IACpE,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;IAK7C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;;OAIG;IACG,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8CpD;;OAEG;IACH,OAAO,CAAC,eAAe,CAAqB;IAE5C;;;;OAIG;IACG,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CA2D1D"}
|
|
@@ -78,22 +78,27 @@ export class HTTPSessionEventProvider {
|
|
|
78
78
|
* @param event SessionCompleteEvent
|
|
79
79
|
*/
|
|
80
80
|
async complete(event) {
|
|
81
|
-
//
|
|
82
|
-
// This
|
|
83
|
-
if
|
|
84
|
-
internal.info('[session-http] skipping complete event - no matching start: %s', event.id);
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
this.startedSessions.delete(event.id);
|
|
81
|
+
// Always create the "Session End" span for telemetry purposes.
|
|
82
|
+
// This span is used by Catalyst to detect when a session has completed,
|
|
83
|
+
// so it must always be emitted even if we don't send the HTTP event.
|
|
88
84
|
const tracer = trace.getTracer('session');
|
|
89
85
|
const currentContext = context.active();
|
|
90
86
|
const span = tracer.startSpan('Session End', {}, currentContext);
|
|
91
87
|
try {
|
|
88
|
+
// Only send HTTP complete event if we successfully sent a start event.
|
|
89
|
+
// This prevents sending orphaned complete events when start was skipped.
|
|
90
|
+
// However, we still create the span above for telemetry.
|
|
91
|
+
if (!this.startedSessions.has(event.id)) {
|
|
92
|
+
internal.info('[session-http] skipping HTTP complete event (no matching start), but emitting Session End span: %s', event.id);
|
|
93
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
92
96
|
internal.info('[session-http] sending complete event: %s, userData: %s', event.id, event.userData ? `${event.userData.length} bytes` : 'none');
|
|
93
97
|
this.logger.debug('Sending session complete event: %s', event.id);
|
|
94
98
|
const spanContext = trace.setSpan(currentContext, span);
|
|
95
99
|
const resp = await context.with(spanContext, () => this.apiClient.put('/session/2025-03-17', { ...event, timestamp: Date.now() }, APIResponseSchemaNoData(), SessionCompleteEventDelayedSchema));
|
|
96
100
|
if (resp.success) {
|
|
101
|
+
this.startedSessions.delete(event.id);
|
|
97
102
|
internal.info('[session-http] complete event sent successfully: %s', event.id);
|
|
98
103
|
this.logger.debug('Session complete event sent successfully: %s', event.id);
|
|
99
104
|
span.setStatus({ code: SpanStatusCode.OK });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/services/session/http.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/services/session/http.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.1.
|
|
3
|
+
"version": "0.1.33",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"author": "Agentuity employees and contributors",
|
|
6
6
|
"type": "module",
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
"prepublishOnly": "bun run clean && bun run build"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@agentuity/auth": "0.1.
|
|
30
|
-
"@agentuity/core": "0.1.
|
|
31
|
-
"@agentuity/frontend": "0.1.
|
|
32
|
-
"@agentuity/schema": "0.1.
|
|
33
|
-
"@agentuity/server": "0.1.
|
|
29
|
+
"@agentuity/auth": "0.1.33",
|
|
30
|
+
"@agentuity/core": "0.1.33",
|
|
31
|
+
"@agentuity/frontend": "0.1.33",
|
|
32
|
+
"@agentuity/schema": "0.1.33",
|
|
33
|
+
"@agentuity/server": "0.1.33",
|
|
34
34
|
"@opentelemetry/api": "^1.9.0",
|
|
35
35
|
"@opentelemetry/api-logs": "^0.207.0",
|
|
36
36
|
"@opentelemetry/auto-instrumentations-node": "^0.66.0",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"zod": "^4.3.5"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@agentuity/test-utils": "0.1.
|
|
53
|
+
"@agentuity/test-utils": "0.1.33",
|
|
54
54
|
"@types/bun": "latest",
|
|
55
55
|
"@types/react": "^19.2.2",
|
|
56
56
|
"@types/react-dom": "^19.2.2",
|
package/src/_waituntil.ts
CHANGED
|
@@ -118,16 +118,22 @@ export default class WaitUntilHandler {
|
|
|
118
118
|
* Unlike waitUntilAll, this doesn't mark the handler as "all called" and
|
|
119
119
|
* allows additional waitUntil calls afterward.
|
|
120
120
|
*/
|
|
121
|
-
public async waitForPromises(
|
|
121
|
+
public async waitForPromises(
|
|
122
|
+
promises: Promise<void>[],
|
|
123
|
+
logger: Logger,
|
|
124
|
+
sessionId: string
|
|
125
|
+
): Promise<void> {
|
|
122
126
|
if (promises.length === 0) {
|
|
123
127
|
internal.debug('No promises to wait for in snapshot');
|
|
124
128
|
return;
|
|
125
129
|
}
|
|
126
130
|
|
|
127
|
-
internal.debug(
|
|
131
|
+
internal.debug(
|
|
132
|
+
`⏳ Waiting for ${promises.length} snapshot promises to complete (session: ${sessionId})...`
|
|
133
|
+
);
|
|
128
134
|
try {
|
|
129
135
|
const results = await Promise.allSettled(promises);
|
|
130
|
-
|
|
136
|
+
|
|
131
137
|
// Log any failures
|
|
132
138
|
const failures = results.filter((r) => r.status === 'rejected');
|
|
133
139
|
if (failures.length > 0) {
|
package/src/agent.ts
CHANGED
|
@@ -2441,16 +2441,16 @@ const runWithSpan = async <
|
|
|
2441
2441
|
// context's trace state is automatically restored.
|
|
2442
2442
|
const currentSpanContext = span.spanContext();
|
|
2443
2443
|
let updatedTraceState = currentSpanContext.traceState ?? new TraceState();
|
|
2444
|
-
|
|
2444
|
+
|
|
2445
2445
|
// Add agent ID
|
|
2446
2446
|
updatedTraceState = updatedTraceState.set('aid', agent.metadata.id);
|
|
2447
|
-
|
|
2447
|
+
|
|
2448
2448
|
// Add deployment ID, project ID, org ID, and devmode if available
|
|
2449
2449
|
const deploymentId = runtimeConfig.getDeploymentId();
|
|
2450
2450
|
const projectId = runtimeConfig.getProjectId();
|
|
2451
2451
|
const orgId = runtimeConfig.getOrganizationId();
|
|
2452
2452
|
const isDevMode = runtimeConfig.isDevMode();
|
|
2453
|
-
|
|
2453
|
+
|
|
2454
2454
|
if (deploymentId) updatedTraceState = updatedTraceState.set('did', deploymentId);
|
|
2455
2455
|
if (projectId) updatedTraceState = updatedTraceState.set('pid', projectId);
|
|
2456
2456
|
if (orgId) updatedTraceState = updatedTraceState.set('oid', orgId);
|
package/src/middleware.ts
CHANGED
|
@@ -361,14 +361,16 @@ export function createOtelMiddleware() {
|
|
|
361
361
|
// We need to do this here because the router wrapper hasn't run yet
|
|
362
362
|
const metadata = loadBuildMetadata();
|
|
363
363
|
const methodUpper = c.req.method.toUpperCase();
|
|
364
|
-
|
|
364
|
+
|
|
365
365
|
// Normalize paths: trim trailing slashes for consistent matching
|
|
366
366
|
const normalizePath = (p: string) => {
|
|
367
367
|
const decoded = decodeURIComponent(p);
|
|
368
|
-
return decoded.endsWith('/') && decoded.length > 1
|
|
368
|
+
return decoded.endsWith('/') && decoded.length > 1
|
|
369
|
+
? decoded.slice(0, -1)
|
|
370
|
+
: decoded;
|
|
369
371
|
};
|
|
370
372
|
const requestPath = normalizePath(c.req.path);
|
|
371
|
-
|
|
373
|
+
|
|
372
374
|
// Helper to check if requestPath ends with routePath at a segment boundary
|
|
373
375
|
// e.g., "/api/translate" matches "/translate" but "/api/translate-v2" does not
|
|
374
376
|
const matchesAtSegmentBoundary = (reqPath: string, routePath: string) => {
|
|
@@ -378,19 +380,23 @@ export function createOtelMiddleware() {
|
|
|
378
380
|
const charBeforeMatch = reqPath[reqPath.length - routePath.length - 1];
|
|
379
381
|
return charBeforeMatch === '/';
|
|
380
382
|
};
|
|
381
|
-
|
|
383
|
+
|
|
382
384
|
// Try matching by exact normalized path first
|
|
383
385
|
let route = metadata?.routes?.find(
|
|
384
|
-
(r) =>
|
|
386
|
+
(r) =>
|
|
387
|
+
r.method.toUpperCase() === methodUpper &&
|
|
388
|
+
normalizePath(r.path) === requestPath
|
|
385
389
|
);
|
|
386
390
|
// Fall back to segment-boundary matching (handles /api/translate matching /translate)
|
|
387
391
|
if (!route) {
|
|
388
392
|
route = metadata?.routes?.find(
|
|
389
|
-
(r) =>
|
|
393
|
+
(r) =>
|
|
394
|
+
r.method.toUpperCase() === methodUpper &&
|
|
395
|
+
matchesAtSegmentBoundary(requestPath, normalizePath(r.path))
|
|
390
396
|
);
|
|
391
397
|
}
|
|
392
398
|
const routeId = route?.id || '';
|
|
393
|
-
|
|
399
|
+
|
|
394
400
|
await sessionEventProvider.start({
|
|
395
401
|
id: sessionId,
|
|
396
402
|
threadId: thread.id,
|
|
@@ -462,19 +468,32 @@ export function createOtelMiddleware() {
|
|
|
462
468
|
let shouldEndSpanInFinally = true;
|
|
463
469
|
|
|
464
470
|
try {
|
|
465
|
-
internal.info(
|
|
466
|
-
|
|
471
|
+
internal.info(
|
|
472
|
+
'[request] %s %s - handler starting (session: %s)',
|
|
473
|
+
method,
|
|
474
|
+
url.pathname,
|
|
475
|
+
sessionId
|
|
476
|
+
);
|
|
477
|
+
|
|
467
478
|
await next();
|
|
468
479
|
|
|
469
480
|
// Capture timing immediately after next() returns - this is when the handler completed
|
|
470
481
|
// This is the HTTP response time we want to report (excludes waitUntil/finalization)
|
|
471
482
|
handlerDurationMs = performance.now() - requestStartTime;
|
|
472
|
-
|
|
473
|
-
internal.info(
|
|
483
|
+
|
|
484
|
+
internal.info(
|
|
485
|
+
'[request] %s %s - handler completed in %sms (session: %s)',
|
|
486
|
+
method,
|
|
487
|
+
url.pathname,
|
|
488
|
+
handlerDurationMs.toFixed(2),
|
|
489
|
+
sessionId
|
|
490
|
+
);
|
|
474
491
|
|
|
475
492
|
// Check if this is a streaming response that needs deferred finalization
|
|
476
493
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
477
|
-
const streamDone = (c as any).get(STREAM_DONE_PROMISE_KEY) as
|
|
494
|
+
const streamDone = (c as any).get(STREAM_DONE_PROMISE_KEY) as
|
|
495
|
+
| Promise<void>
|
|
496
|
+
| undefined;
|
|
478
497
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
479
498
|
const isStreaming = Boolean((c as any).get(IS_STREAMING_RESPONSE_KEY));
|
|
480
499
|
|
|
@@ -485,8 +504,15 @@ export function createOtelMiddleware() {
|
|
|
485
504
|
responseStatus = c.res?.status ?? 200;
|
|
486
505
|
const isError = honoError || responseStatus >= 500;
|
|
487
506
|
|
|
488
|
-
internal.info(
|
|
489
|
-
|
|
507
|
+
internal.info(
|
|
508
|
+
'[request] %s %s - status: %d, streaming: %s, error: %s (session: %s)',
|
|
509
|
+
method,
|
|
510
|
+
url.pathname,
|
|
511
|
+
responseStatus,
|
|
512
|
+
isStreaming,
|
|
513
|
+
isError,
|
|
514
|
+
sessionId
|
|
515
|
+
);
|
|
490
516
|
|
|
491
517
|
if (isError) {
|
|
492
518
|
// Capture error message for finalization
|
|
@@ -506,25 +532,34 @@ export function createOtelMiddleware() {
|
|
|
506
532
|
|
|
507
533
|
// For streaming responses, defer everything until stream completes
|
|
508
534
|
if (isStreaming && streamDone) {
|
|
509
|
-
internal.info(
|
|
510
|
-
|
|
511
|
-
|
|
535
|
+
internal.info(
|
|
536
|
+
'[request] %s %s - streaming response, deferring finalization (session: %s)',
|
|
537
|
+
method,
|
|
538
|
+
url.pathname,
|
|
539
|
+
sessionId
|
|
540
|
+
);
|
|
541
|
+
|
|
512
542
|
// For streaming, we end the span inside waitUntil after setting attributes
|
|
513
543
|
shouldEndSpanInFinally = false;
|
|
514
|
-
|
|
544
|
+
|
|
515
545
|
// Capture pending promises BEFORE adding finalization waitUntil to avoid deadlock
|
|
516
546
|
const pendingPromises = handler.getPendingSnapshot();
|
|
517
547
|
const hasPendingTasks = pendingPromises.length > 0;
|
|
518
|
-
|
|
548
|
+
|
|
519
549
|
if (hasPendingTasks) {
|
|
520
|
-
internal.info(
|
|
521
|
-
|
|
550
|
+
internal.info(
|
|
551
|
+
'[request] %s %s - %d pending waitUntil tasks to wait for after stream (session: %s)',
|
|
552
|
+
method,
|
|
553
|
+
url.pathname,
|
|
554
|
+
pendingPromises.length,
|
|
555
|
+
sessionId
|
|
556
|
+
);
|
|
522
557
|
}
|
|
523
|
-
|
|
558
|
+
|
|
524
559
|
// Capture values needed for span attributes (responseStatus already captured above)
|
|
525
560
|
const capturedResponseStatus = responseStatus;
|
|
526
561
|
const capturedErrorMessage = errorMessage;
|
|
527
|
-
|
|
562
|
+
|
|
528
563
|
// Use waitUntil to handle stream completion and finalization
|
|
529
564
|
// This runs AFTER the response is sent to the client
|
|
530
565
|
// Note: We intentionally do NOT use noSpan here - the waitUntil span helps
|
|
@@ -532,46 +567,81 @@ export function createOtelMiddleware() {
|
|
|
532
567
|
handler.waitUntil(async () => {
|
|
533
568
|
// Track if stream ended with error so we can update finalization status
|
|
534
569
|
let streamError: unknown = undefined;
|
|
535
|
-
|
|
570
|
+
|
|
536
571
|
try {
|
|
537
572
|
await streamDone;
|
|
538
|
-
internal.info(
|
|
573
|
+
internal.info(
|
|
574
|
+
'[request] %s %s - stream completed (session: %s)',
|
|
575
|
+
method,
|
|
576
|
+
url.pathname,
|
|
577
|
+
sessionId
|
|
578
|
+
);
|
|
539
579
|
} catch (ex) {
|
|
540
580
|
streamError = ex;
|
|
541
|
-
internal.info(
|
|
542
|
-
|
|
581
|
+
internal.info(
|
|
582
|
+
'[request] %s %s - stream ended with error: %s (session: %s)',
|
|
583
|
+
method,
|
|
584
|
+
url.pathname,
|
|
585
|
+
ex,
|
|
586
|
+
sessionId
|
|
587
|
+
);
|
|
543
588
|
}
|
|
544
|
-
|
|
589
|
+
|
|
545
590
|
// Record duration now that stream is complete - set attributes BEFORE ending span
|
|
546
591
|
const streamDurationMs = performance.now() - requestStartTime;
|
|
547
592
|
const durationNs = Math.round(streamDurationMs * 1_000_000);
|
|
548
|
-
internal.info(
|
|
549
|
-
|
|
550
|
-
|
|
593
|
+
internal.info(
|
|
594
|
+
'[request] %s %s - recording stream duration: %sms (session: %s)',
|
|
595
|
+
method,
|
|
596
|
+
url.pathname,
|
|
597
|
+
streamDurationMs.toFixed(2),
|
|
598
|
+
sessionId
|
|
599
|
+
);
|
|
600
|
+
|
|
551
601
|
// Determine final status - use stream error if present
|
|
552
602
|
const finalStatus = streamError ? 500 : capturedResponseStatus;
|
|
553
|
-
const finalErrorMessage = streamError
|
|
554
|
-
?
|
|
603
|
+
const finalErrorMessage = streamError
|
|
604
|
+
? streamError instanceof Error
|
|
605
|
+
? (streamError.stack ?? streamError.message)
|
|
606
|
+
: String(streamError)
|
|
555
607
|
: capturedErrorMessage;
|
|
556
|
-
|
|
608
|
+
|
|
557
609
|
try {
|
|
558
610
|
// Wait for pending tasks (evals, etc.) captured BEFORE this waitUntil was added
|
|
559
611
|
if (hasPendingTasks) {
|
|
560
|
-
internal.info(
|
|
561
|
-
|
|
612
|
+
internal.info(
|
|
613
|
+
'[request] %s %s - waiting for %d pending waitUntil tasks (session: %s)',
|
|
614
|
+
method,
|
|
615
|
+
url.pathname,
|
|
616
|
+
pendingPromises.length,
|
|
617
|
+
sessionId
|
|
618
|
+
);
|
|
562
619
|
const logger = c.get('logger');
|
|
563
620
|
await handler.waitForPromises(pendingPromises, logger, sessionId);
|
|
564
|
-
internal.info(
|
|
621
|
+
internal.info(
|
|
622
|
+
'[request] %s %s - all waitUntil tasks complete (session: %s)',
|
|
623
|
+
method,
|
|
624
|
+
url.pathname,
|
|
625
|
+
sessionId
|
|
626
|
+
);
|
|
565
627
|
}
|
|
566
|
-
|
|
628
|
+
|
|
567
629
|
// Finalize session after stream completes and evals finish
|
|
568
|
-
await finalizeSession(
|
|
569
|
-
|
|
630
|
+
await finalizeSession(
|
|
631
|
+
finalStatus >= 500 ? finalStatus : undefined,
|
|
632
|
+
finalErrorMessage
|
|
633
|
+
);
|
|
634
|
+
internal.info(
|
|
635
|
+
'[request] %s %s - stream session finalization complete (session: %s)',
|
|
636
|
+
method,
|
|
637
|
+
url.pathname,
|
|
638
|
+
sessionId
|
|
639
|
+
);
|
|
570
640
|
} finally {
|
|
571
641
|
// Set span attributes and end span AFTER all work is done
|
|
572
642
|
span.setAttribute('@agentuity/request.duration', durationNs);
|
|
573
643
|
span.setAttribute('http.status_code', finalStatus);
|
|
574
|
-
|
|
644
|
+
|
|
575
645
|
// Set span status based on whether there was an error
|
|
576
646
|
if (streamError) {
|
|
577
647
|
span.setStatus({
|
|
@@ -584,9 +654,14 @@ export function createOtelMiddleware() {
|
|
|
584
654
|
} else {
|
|
585
655
|
span.setStatus({ code: SpanStatusCode.OK });
|
|
586
656
|
}
|
|
587
|
-
|
|
657
|
+
|
|
588
658
|
span.end();
|
|
589
|
-
internal.info(
|
|
659
|
+
internal.info(
|
|
660
|
+
'[request] %s %s - stream span ended (session: %s)',
|
|
661
|
+
method,
|
|
662
|
+
url.pathname,
|
|
663
|
+
sessionId
|
|
664
|
+
);
|
|
590
665
|
// Note: We don't call waitUntilAll() here because this waitUntil callback
|
|
591
666
|
// IS the final cleanup task. Calling waitUntilAll() would deadlock since
|
|
592
667
|
// it would wait for this very promise to complete.
|
|
@@ -595,57 +670,104 @@ export function createOtelMiddleware() {
|
|
|
595
670
|
} else {
|
|
596
671
|
// Non-streaming: record duration immediately
|
|
597
672
|
const durationNs = Math.round(handlerDurationMs * 1_000_000);
|
|
598
|
-
internal.info(
|
|
599
|
-
|
|
673
|
+
internal.info(
|
|
674
|
+
'[request] %s %s - recording duration: %sms (%dns) (session: %s)',
|
|
675
|
+
method,
|
|
676
|
+
url.pathname,
|
|
677
|
+
handlerDurationMs.toFixed(2),
|
|
678
|
+
durationNs,
|
|
679
|
+
sessionId
|
|
680
|
+
);
|
|
600
681
|
span.setAttribute('@agentuity/request.duration', durationNs);
|
|
601
682
|
span.setAttribute('http.status_code', responseStatus);
|
|
602
|
-
|
|
683
|
+
|
|
603
684
|
// Capture pending promises BEFORE adding finalization waitUntil to avoid deadlock.
|
|
604
685
|
// If we called waitUntilAll inside waitUntil, it would wait for itself.
|
|
605
686
|
const pendingPromises = handler.getPendingSnapshot();
|
|
606
687
|
const hasPendingTasks = pendingPromises.length > 0;
|
|
607
|
-
|
|
688
|
+
|
|
608
689
|
if (hasPendingTasks) {
|
|
609
|
-
internal.info(
|
|
610
|
-
|
|
690
|
+
internal.info(
|
|
691
|
+
'[request] %s %s - %d pending waitUntil tasks to wait for (session: %s)',
|
|
692
|
+
method,
|
|
693
|
+
url.pathname,
|
|
694
|
+
pendingPromises.length,
|
|
695
|
+
sessionId
|
|
696
|
+
);
|
|
611
697
|
}
|
|
612
|
-
|
|
698
|
+
|
|
613
699
|
// Capture values for use in waitUntil callback
|
|
614
700
|
const capturedResponseStatus = responseStatus;
|
|
615
701
|
const capturedErrorMessage = errorMessage;
|
|
616
|
-
|
|
702
|
+
|
|
617
703
|
// Defer session finalization to run AFTER response is sent
|
|
618
704
|
// Use noSpan: true since finalizeSession creates its own Session End span
|
|
619
|
-
handler.waitUntil(
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
705
|
+
handler.waitUntil(
|
|
706
|
+
async () => {
|
|
707
|
+
// Wait for the snapshot of pending tasks (evals, etc.) captured BEFORE this waitUntil was added
|
|
708
|
+
if (hasPendingTasks) {
|
|
709
|
+
internal.info(
|
|
710
|
+
'[request] %s %s - waiting for %d pending waitUntil tasks (session: %s)',
|
|
711
|
+
method,
|
|
712
|
+
url.pathname,
|
|
713
|
+
pendingPromises.length,
|
|
714
|
+
sessionId
|
|
715
|
+
);
|
|
716
|
+
const logger = c.get('logger');
|
|
717
|
+
await handler.waitForPromises(pendingPromises, logger, sessionId);
|
|
718
|
+
internal.info(
|
|
719
|
+
'[request] %s %s - all waitUntil tasks complete (session: %s)',
|
|
720
|
+
method,
|
|
721
|
+
url.pathname,
|
|
722
|
+
sessionId
|
|
723
|
+
);
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
// Finalize session - this is the actual work
|
|
727
|
+
internal.info(
|
|
728
|
+
'[request] %s %s - starting session finalization (session: %s)',
|
|
729
|
+
method,
|
|
730
|
+
url.pathname,
|
|
731
|
+
sessionId
|
|
732
|
+
);
|
|
733
|
+
try {
|
|
734
|
+
await finalizeSession(
|
|
735
|
+
capturedResponseStatus >= 500 ? capturedResponseStatus : undefined,
|
|
736
|
+
capturedErrorMessage
|
|
737
|
+
);
|
|
738
|
+
internal.info(
|
|
739
|
+
'[request] %s %s - session finalization complete (session: %s)',
|
|
740
|
+
method,
|
|
741
|
+
url.pathname,
|
|
742
|
+
sessionId
|
|
743
|
+
);
|
|
744
|
+
} catch (ex) {
|
|
745
|
+
internal.error(
|
|
746
|
+
'[request] %s %s - session finalization failed: %s (session: %s)',
|
|
747
|
+
method,
|
|
748
|
+
url.pathname,
|
|
749
|
+
ex,
|
|
750
|
+
sessionId
|
|
751
|
+
);
|
|
752
|
+
}
|
|
753
|
+
// Note: We don't call waitUntilAll() here because this waitUntil callback
|
|
754
|
+
// IS the final cleanup task. Calling waitUntilAll() would deadlock since
|
|
755
|
+
// it would wait for this very promise to complete.
|
|
756
|
+
},
|
|
757
|
+
{ noSpan: true }
|
|
758
|
+
);
|
|
642
759
|
}
|
|
643
760
|
} catch (ex) {
|
|
644
761
|
// Record request metrics even on exceptions (500 status)
|
|
645
762
|
const exceptionDurationMs = performance.now() - requestStartTime;
|
|
646
763
|
const durationNs = Math.round(exceptionDurationMs * 1_000_000);
|
|
647
|
-
internal.info(
|
|
648
|
-
|
|
764
|
+
internal.info(
|
|
765
|
+
'[request] %s %s - recording exception duration: %sms (session: %s)',
|
|
766
|
+
method,
|
|
767
|
+
url.pathname,
|
|
768
|
+
exceptionDurationMs.toFixed(2),
|
|
769
|
+
sessionId
|
|
770
|
+
);
|
|
649
771
|
span.setAttribute('@agentuity/request.duration', durationNs);
|
|
650
772
|
span.setAttribute('http.status_code', 500);
|
|
651
773
|
|
|
@@ -661,38 +783,61 @@ export function createOtelMiddleware() {
|
|
|
661
783
|
|
|
662
784
|
// Capture error message for use in waitUntil callback
|
|
663
785
|
const capturedErrorMessage = errorMessage;
|
|
664
|
-
|
|
786
|
+
|
|
665
787
|
// Capture pending promises BEFORE adding finalization waitUntil to avoid deadlock
|
|
666
788
|
const pendingPromises = handler.getPendingSnapshot();
|
|
667
789
|
const hasPendingTasks = pendingPromises.length > 0;
|
|
668
|
-
|
|
790
|
+
|
|
669
791
|
if (hasPendingTasks) {
|
|
670
|
-
internal.info(
|
|
671
|
-
|
|
792
|
+
internal.info(
|
|
793
|
+
'[request] %s %s - %d pending waitUntil tasks to wait for after error (session: %s)',
|
|
794
|
+
method,
|
|
795
|
+
url.pathname,
|
|
796
|
+
pendingPromises.length,
|
|
797
|
+
sessionId
|
|
798
|
+
);
|
|
672
799
|
}
|
|
673
|
-
|
|
800
|
+
|
|
674
801
|
// Still defer finalization even on error
|
|
675
802
|
// Use noSpan: true since finalizeSession creates its own Session End span
|
|
676
|
-
handler.waitUntil(
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
803
|
+
handler.waitUntil(
|
|
804
|
+
async () => {
|
|
805
|
+
// Wait for pending tasks (evals, etc.) captured BEFORE this waitUntil was added
|
|
806
|
+
if (hasPendingTasks) {
|
|
807
|
+
internal.info(
|
|
808
|
+
'[request] %s %s - waiting for %d pending waitUntil tasks (session: %s)',
|
|
809
|
+
method,
|
|
810
|
+
url.pathname,
|
|
811
|
+
pendingPromises.length,
|
|
812
|
+
sessionId
|
|
813
|
+
);
|
|
814
|
+
const logger = c.get('logger');
|
|
815
|
+
await handler.waitForPromises(pendingPromises, logger, sessionId);
|
|
816
|
+
internal.info(
|
|
817
|
+
'[request] %s %s - all waitUntil tasks complete (session: %s)',
|
|
818
|
+
method,
|
|
819
|
+
url.pathname,
|
|
820
|
+
sessionId
|
|
821
|
+
);
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
try {
|
|
825
|
+
await finalizeSession(500, capturedErrorMessage);
|
|
826
|
+
} catch (finalizeEx) {
|
|
827
|
+
internal.error(
|
|
828
|
+
'[request] %s %s - error session finalization failed: %s (session: %s)',
|
|
829
|
+
method,
|
|
830
|
+
url.pathname,
|
|
831
|
+
finalizeEx,
|
|
832
|
+
sessionId
|
|
833
|
+
);
|
|
834
|
+
}
|
|
835
|
+
// Note: We don't call waitUntilAll() here because this waitUntil callback
|
|
836
|
+
// IS the final cleanup task. Calling waitUntilAll() would deadlock since
|
|
837
|
+
// it would wait for this very promise to complete.
|
|
838
|
+
},
|
|
839
|
+
{ noSpan: true }
|
|
840
|
+
);
|
|
696
841
|
|
|
697
842
|
throw ex;
|
|
698
843
|
} finally {
|
|
@@ -705,9 +850,14 @@ export function createOtelMiddleware() {
|
|
|
705
850
|
const traceId = sctx?.traceId || sessionId.replace(/^sess_/, '');
|
|
706
851
|
c.header(SESSION_HEADER, `sess_${traceId}`);
|
|
707
852
|
|
|
708
|
-
internal.info(
|
|
709
|
-
|
|
710
|
-
|
|
853
|
+
internal.info(
|
|
854
|
+
'[request] %s %s - response ready, duration: %sms (session: %s)',
|
|
855
|
+
method,
|
|
856
|
+
url.pathname,
|
|
857
|
+
handlerDurationMs.toFixed(2),
|
|
858
|
+
sessionId
|
|
859
|
+
);
|
|
860
|
+
|
|
711
861
|
// Only end span here for non-streaming responses
|
|
712
862
|
// For streaming, span is ended in the waitUntil callback after setting duration attributes
|
|
713
863
|
if (shouldEndSpanInFinally) {
|
|
@@ -8,6 +8,11 @@ import {
|
|
|
8
8
|
sandboxRun,
|
|
9
9
|
sandboxWriteFiles,
|
|
10
10
|
sandboxReadFile,
|
|
11
|
+
snapshotCreate,
|
|
12
|
+
snapshotGet,
|
|
13
|
+
snapshotList,
|
|
14
|
+
snapshotDelete,
|
|
15
|
+
snapshotTag,
|
|
11
16
|
} from '@agentuity/server';
|
|
12
17
|
import type {
|
|
13
18
|
SandboxService,
|
|
@@ -23,6 +28,11 @@ import type {
|
|
|
23
28
|
StreamReader,
|
|
24
29
|
SandboxStatus,
|
|
25
30
|
FileToWrite,
|
|
31
|
+
SnapshotService,
|
|
32
|
+
SnapshotCreateOptions,
|
|
33
|
+
SnapshotInfo,
|
|
34
|
+
SnapshotListParams,
|
|
35
|
+
SnapshotListResponse,
|
|
26
36
|
} from '@agentuity/core';
|
|
27
37
|
import { context, SpanKind, SpanStatusCode, trace } from '@opentelemetry/api';
|
|
28
38
|
|
|
@@ -149,13 +159,91 @@ function createSandboxInstance(
|
|
|
149
159
|
};
|
|
150
160
|
}
|
|
151
161
|
|
|
162
|
+
/**
|
|
163
|
+
* HTTP implementation of the SnapshotService interface
|
|
164
|
+
*/
|
|
165
|
+
class HTTPSnapshotService implements SnapshotService {
|
|
166
|
+
private client: APIClient;
|
|
167
|
+
|
|
168
|
+
constructor(client: APIClient) {
|
|
169
|
+
this.client = client;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
async create(sandboxId: string, options?: SnapshotCreateOptions): Promise<SnapshotInfo> {
|
|
173
|
+
return withSpan(
|
|
174
|
+
'agentuity.sandbox.snapshot.create',
|
|
175
|
+
{
|
|
176
|
+
'sandbox.id': sandboxId,
|
|
177
|
+
'snapshot.name': options?.name ?? '',
|
|
178
|
+
'snapshot.tag': options?.tag ?? '',
|
|
179
|
+
},
|
|
180
|
+
() =>
|
|
181
|
+
snapshotCreate(this.client, {
|
|
182
|
+
sandboxId,
|
|
183
|
+
name: options?.name,
|
|
184
|
+
description: options?.description,
|
|
185
|
+
tag: options?.tag,
|
|
186
|
+
public: options?.public,
|
|
187
|
+
})
|
|
188
|
+
);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
async get(snapshotId: string): Promise<SnapshotInfo> {
|
|
192
|
+
return withSpan('agentuity.sandbox.snapshot.get', { 'snapshot.id': snapshotId }, () =>
|
|
193
|
+
snapshotGet(this.client, { snapshotId })
|
|
194
|
+
);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
async list(params?: SnapshotListParams): Promise<SnapshotListResponse> {
|
|
198
|
+
return withSpan(
|
|
199
|
+
'agentuity.sandbox.snapshot.list',
|
|
200
|
+
{
|
|
201
|
+
'snapshot.sandboxId': params?.sandboxId ?? '',
|
|
202
|
+
'snapshot.limit': params?.limit ?? 50,
|
|
203
|
+
},
|
|
204
|
+
() =>
|
|
205
|
+
snapshotList(this.client, {
|
|
206
|
+
sandboxId: params?.sandboxId,
|
|
207
|
+
limit: params?.limit,
|
|
208
|
+
offset: params?.offset,
|
|
209
|
+
})
|
|
210
|
+
);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
async delete(snapshotId: string): Promise<void> {
|
|
214
|
+
return withSpan('agentuity.sandbox.snapshot.delete', { 'snapshot.id': snapshotId }, () =>
|
|
215
|
+
snapshotDelete(this.client, { snapshotId })
|
|
216
|
+
);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
async tag(snapshotId: string, tag: string | null): Promise<SnapshotInfo> {
|
|
220
|
+
return withSpan(
|
|
221
|
+
'agentuity.sandbox.snapshot.tag',
|
|
222
|
+
{
|
|
223
|
+
'snapshot.id': snapshotId,
|
|
224
|
+
'snapshot.tag': tag ?? '',
|
|
225
|
+
},
|
|
226
|
+
() => snapshotTag(this.client, { snapshotId, tag })
|
|
227
|
+
);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* HTTP implementation of the SandboxService interface
|
|
233
|
+
*/
|
|
152
234
|
export class HTTPSandboxService implements SandboxService {
|
|
153
235
|
private client: APIClient;
|
|
154
236
|
private streamBaseUrl: string;
|
|
155
237
|
|
|
238
|
+
/**
|
|
239
|
+
* Snapshot management operations
|
|
240
|
+
*/
|
|
241
|
+
public readonly snapshot: SnapshotService;
|
|
242
|
+
|
|
156
243
|
constructor(client: APIClient, streamBaseUrl: string) {
|
|
157
244
|
this.client = client;
|
|
158
245
|
this.streamBaseUrl = streamBaseUrl;
|
|
246
|
+
this.snapshot = new HTTPSnapshotService(client);
|
|
159
247
|
}
|
|
160
248
|
|
|
161
249
|
async run(options: SandboxRunOptions): Promise<SandboxRunResult> {
|
|
@@ -106,19 +106,26 @@ export class HTTPSessionEventProvider implements SessionEventProvider {
|
|
|
106
106
|
* @param event SessionCompleteEvent
|
|
107
107
|
*/
|
|
108
108
|
async complete(event: SessionCompleteEvent): Promise<void> {
|
|
109
|
-
//
|
|
110
|
-
// This
|
|
111
|
-
if
|
|
112
|
-
internal.info('[session-http] skipping complete event - no matching start: %s', event.id);
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
this.startedSessions.delete(event.id);
|
|
116
|
-
|
|
109
|
+
// Always create the "Session End" span for telemetry purposes.
|
|
110
|
+
// This span is used by Catalyst to detect when a session has completed,
|
|
111
|
+
// so it must always be emitted even if we don't send the HTTP event.
|
|
117
112
|
const tracer = trace.getTracer('session');
|
|
118
113
|
const currentContext = context.active();
|
|
119
114
|
const span = tracer.startSpan('Session End', {}, currentContext);
|
|
120
115
|
|
|
121
116
|
try {
|
|
117
|
+
// Only send HTTP complete event if we successfully sent a start event.
|
|
118
|
+
// This prevents sending orphaned complete events when start was skipped.
|
|
119
|
+
// However, we still create the span above for telemetry.
|
|
120
|
+
if (!this.startedSessions.has(event.id)) {
|
|
121
|
+
internal.info(
|
|
122
|
+
'[session-http] skipping HTTP complete event (no matching start), but emitting Session End span: %s',
|
|
123
|
+
event.id
|
|
124
|
+
);
|
|
125
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
|
|
122
129
|
internal.info(
|
|
123
130
|
'[session-http] sending complete event: %s, userData: %s',
|
|
124
131
|
event.id,
|
|
@@ -137,6 +144,7 @@ export class HTTPSessionEventProvider implements SessionEventProvider {
|
|
|
137
144
|
);
|
|
138
145
|
|
|
139
146
|
if (resp.success) {
|
|
147
|
+
this.startedSessions.delete(event.id);
|
|
140
148
|
internal.info('[session-http] complete event sent successfully: %s', event.id);
|
|
141
149
|
this.logger.debug('Session complete event sent successfully: %s', event.id);
|
|
142
150
|
span.setStatus({ code: SpanStatusCode.OK });
|