@rudderhq/agent-runtime-hermes-gateway 0.7.2

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=execute.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.test.d.ts","sourceRoot":"","sources":["../../src/server/execute.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,273 @@
1
+ import { createServer } from "node:http";
2
+ import { afterEach, describe, expect, it } from "vitest";
3
+ import { execute } from "./execute.js";
4
+ import { testEnvironment } from "./test.js";
5
+ const servers = [];
6
+ function context(config, overrides = {}) {
7
+ return {
8
+ runId: "run-rudder-1",
9
+ agent: {
10
+ id: "agent-hermes-1",
11
+ orgId: "org-hermes-1",
12
+ name: "Hermes",
13
+ agentRuntimeType: "hermes_gateway",
14
+ agentRuntimeConfig: {},
15
+ },
16
+ runtime: { sessionId: null, sessionParams: null, sessionDisplayId: null, taskKey: null },
17
+ config: { apiKey: "hermes-test-key", ...config },
18
+ context: { issueId: "issue-hermes-1", wakeReason: "manual" },
19
+ onLog: async () => { },
20
+ ...overrides,
21
+ };
22
+ }
23
+ function json(res, status, body) {
24
+ res.writeHead(status, { "content-type": "application/json" });
25
+ res.end(JSON.stringify(body));
26
+ }
27
+ function sessionRoute(req, res) {
28
+ if (req.url === "/api/sessions" && req.method === "POST") {
29
+ json(res, 201, { object: "hermes.session", session: { id: "hermes-session-1" } });
30
+ return true;
31
+ }
32
+ if (req.url === "/api/sessions/hermes-session-1" && req.method === "GET") {
33
+ json(res, 200, { object: "hermes.session", session: { id: "hermes-session-1" } });
34
+ return true;
35
+ }
36
+ if (req.url === "/api/sessions/hermes-session-1/messages" && req.method === "GET") {
37
+ json(res, 200, { object: "list", session_id: "hermes-session-1", data: [] });
38
+ return true;
39
+ }
40
+ return false;
41
+ }
42
+ async function listen(handler) {
43
+ const requests = [];
44
+ const server = createServer(async (req, res) => {
45
+ requests.push({ method: req.method ?? "", path: req.url ?? "", headers: req.headers });
46
+ await handler(req, res);
47
+ });
48
+ servers.push(server);
49
+ await new Promise((resolve) => server.listen(0, "127.0.0.1", resolve));
50
+ const address = server.address();
51
+ if (!address || typeof address === "string")
52
+ throw new Error("test server did not bind");
53
+ return {
54
+ url: `http://127.0.0.1:${address.port}`,
55
+ requests,
56
+ close: () => new Promise((resolve, reject) => server.close((error) => error ? reject(error) : resolve())),
57
+ };
58
+ }
59
+ afterEach(async () => {
60
+ await Promise.all(servers.splice(0).map((server) => new Promise((resolve) => {
61
+ if (!server.listening)
62
+ return resolve();
63
+ server.close(() => resolve());
64
+ })));
65
+ });
66
+ describe("Hermes gateway execution", () => {
67
+ it("maps an SSE terminal completion without polling into a timeout", async () => {
68
+ const logs = [];
69
+ const server = await listen((req, res) => {
70
+ if (sessionRoute(req, res))
71
+ return;
72
+ if (req.url === "/v1/runs" && req.method === "POST")
73
+ return json(res, 202, { run_id: "hermes-run-1", status: "started" });
74
+ if (req.url === "/v1/runs/hermes-run-1/events") {
75
+ res.writeHead(200, { "content-type": "text/event-stream" });
76
+ res.end([
77
+ `data: ${JSON.stringify({ event: "message.delta", delta: "hello" })}\n\n`,
78
+ `data: ${JSON.stringify({ event: "message.delta", delta: " from Hermes" })}\n\n`,
79
+ `data: ${JSON.stringify({ event: "run.completed", output: "hello from Hermes", usage: { input_tokens: 3, output_tokens: 4 } })}\n\n`,
80
+ ].join(""));
81
+ return;
82
+ }
83
+ throw new Error(`unexpected ${req.method} ${req.url}`);
84
+ });
85
+ const result = await execute(context({
86
+ url: server.url,
87
+ apiKey: "hermes-test-key",
88
+ timeoutMs: 2_000,
89
+ }, {
90
+ onLog: async (stream, chunk) => {
91
+ if (stream === "stdout")
92
+ logs.push(chunk);
93
+ },
94
+ }));
95
+ expect(result.exitCode).toBe(0);
96
+ expect(result.timedOut).toBe(false);
97
+ expect(result.summary).toBe("hello from Hermes");
98
+ expect(result.resultJson).toMatchObject({ upstreamRunId: "hermes-run-1", status: "completed", output: "hello from Hermes" });
99
+ expect(result.resultJson.synthetic_tool_continuity).toMatchObject({ native: false, lossless: false, eventCount: 3 });
100
+ expect(logs.some((line) => line.includes("type=message.delta data=") && line.includes('"delta":"hello"'))).toBe(true);
101
+ expect(logs.some((line) => line.includes("type=run.completed data=") && line.includes('"output":"hello from Hermes"'))).toBe(true);
102
+ expect(logs.some((line) => line.includes("summary="))).toBe(false);
103
+ expect(server.requests.map((request) => request.path)).toEqual([
104
+ "/api/sessions",
105
+ "/api/sessions/hermes-session-1/messages",
106
+ "/v1/runs",
107
+ "/v1/runs/hermes-run-1/events",
108
+ ]);
109
+ expect(server.requests[0]?.headers.authorization).toBe("Bearer hermes-test-key");
110
+ });
111
+ it("returns an upstream failed terminal event as a run failure, not a timeout", async () => {
112
+ const server = await listen((req, res) => {
113
+ if (sessionRoute(req, res))
114
+ return;
115
+ if (req.url === "/v1/runs" && req.method === "POST")
116
+ return json(res, 202, { run_id: "hermes-run-failed", status: "started" });
117
+ if (req.url === "/v1/runs/hermes-run-failed/events") {
118
+ res.writeHead(200, { "content-type": "text/event-stream" });
119
+ res.end(`data: ${JSON.stringify({ event: "run.failed", error: "provider unavailable" })}\n\n`);
120
+ return;
121
+ }
122
+ throw new Error(`unexpected ${req.method} ${req.url}`);
123
+ });
124
+ const result = await execute(context({ url: server.url, timeoutMs: 2_000 }));
125
+ expect(result.exitCode).toBe(1);
126
+ expect(result.timedOut).toBe(false);
127
+ expect(result.errorCode).toBe("hermes_gateway_run_failed");
128
+ expect(result.errorMessage).toBe("provider unavailable");
129
+ expect(result.resultJson).toMatchObject({ upstreamRunId: "hermes-run-failed", status: "failed" });
130
+ });
131
+ it("marks a terminal status reconciled after an incomplete SSE stream as partial", async () => {
132
+ const server = await listen((req, res) => {
133
+ if (sessionRoute(req, res))
134
+ return;
135
+ if (req.url === "/v1/runs" && req.method === "POST")
136
+ return json(res, 202, { run_id: "hermes-run-partial", status: "started" });
137
+ if (req.url === "/v1/runs/hermes-run-partial/events") {
138
+ res.writeHead(200, { "content-type": "text/event-stream" });
139
+ res.end(`data: ${JSON.stringify({ event: "message.delta", delta: "prefix" })}\n\n`);
140
+ return;
141
+ }
142
+ if (req.url === "/v1/runs/hermes-run-partial" && req.method === "GET")
143
+ return json(res, 200, { run_id: "hermes-run-partial", status: "completed", output: "complete" });
144
+ throw new Error(`unexpected ${req.method} ${req.url}`);
145
+ });
146
+ const result = await execute(context({ url: server.url, timeoutMs: 1_000 }));
147
+ expect(result.exitCode).toBe(0);
148
+ expect(result.resultJson).toMatchObject({
149
+ eventCompleteness: {
150
+ status: "partial",
151
+ terminalEventObserved: false,
152
+ },
153
+ });
154
+ });
155
+ it("reuses only a provider session returned by the Sessions API", async () => {
156
+ const server = await listen((req, res) => {
157
+ if (req.url === "/api/sessions/hermes-session-existing" && req.method === "GET") {
158
+ return json(res, 200, { object: "hermes.session", session: { id: "hermes-session-existing" } });
159
+ }
160
+ if (req.url === "/api/sessions/hermes-session-existing/messages" && req.method === "GET") {
161
+ return json(res, 200, { object: "list", session_id: "hermes-session-existing", data: [{ role: "user" }] });
162
+ }
163
+ if (req.url === "/v1/runs" && req.method === "POST")
164
+ return json(res, 202, { run_id: "hermes-run-existing", status: "started" });
165
+ if (req.url === "/v1/runs/hermes-run-existing/events") {
166
+ res.writeHead(200, { "content-type": "text/event-stream" });
167
+ res.end(`data: ${JSON.stringify({ event: "run.completed", output: "ok" })}\n\n`);
168
+ return;
169
+ }
170
+ throw new Error(`unexpected ${req.method} ${req.url}`);
171
+ });
172
+ const result = await execute(context({ url: server.url, timeoutMs: 1_000 }, { runtime: { sessionId: "hermes-session-existing", sessionParams: { sessionId: "hermes-session-existing" }, sessionDisplayId: "hermes-session-existing", taskKey: null } }));
173
+ expect(result.exitCode).toBe(0);
174
+ expect(server.requests.map((request) => request.path)).toEqual([
175
+ "/api/sessions/hermes-session-existing",
176
+ "/api/sessions/hermes-session-existing/messages",
177
+ "/v1/runs",
178
+ "/v1/runs/hermes-run-existing/events",
179
+ ]);
180
+ });
181
+ it("reconciles an SSE timeout and requests upstream stop", async () => {
182
+ const server = await listen((req, res) => {
183
+ if (sessionRoute(req, res))
184
+ return;
185
+ if (req.url === "/v1/runs" && req.method === "POST")
186
+ return json(res, 202, { run_id: "hermes-run-timeout", status: "started" });
187
+ if (req.url === "/v1/runs/hermes-run-timeout/events") {
188
+ res.writeHead(200, { "content-type": "text/event-stream" });
189
+ return;
190
+ }
191
+ if (req.url === "/v1/runs/hermes-run-timeout/stop" && req.method === "POST")
192
+ return json(res, 200, { run_id: "hermes-run-timeout", status: "stopping" });
193
+ if (req.url === "/v1/runs/hermes-run-timeout" && req.method === "GET")
194
+ return json(res, 200, { run_id: "hermes-run-timeout", status: "running" });
195
+ throw new Error(`unexpected ${req.method} ${req.url}`);
196
+ });
197
+ const result = await execute(context({ url: server.url, timeoutMs: 80 }));
198
+ expect(result.exitCode).toBe(1);
199
+ expect(result.timedOut).toBe(false);
200
+ expect(result.errorCode).toBe("hermes_gateway_cancel_unverified");
201
+ expect(server.requests.some((request) => request.path.endsWith("/stop"))).toBe(true);
202
+ }, 5_000);
203
+ it("stops upstream when the Rudder abort signal is triggered", async () => {
204
+ const server = await listen((req, res) => {
205
+ if (sessionRoute(req, res))
206
+ return;
207
+ if (req.url === "/v1/runs" && req.method === "POST")
208
+ return json(res, 202, { run_id: "hermes-run-abort", status: "started" });
209
+ if (req.url === "/v1/runs/hermes-run-abort/events") {
210
+ res.writeHead(200, { "content-type": "text/event-stream" });
211
+ return;
212
+ }
213
+ if (req.url === "/v1/runs/hermes-run-abort/stop" && req.method === "POST")
214
+ return json(res, 200, { run_id: "hermes-run-abort", status: "stopping" });
215
+ if (req.url === "/v1/runs/hermes-run-abort" && req.method === "GET")
216
+ return json(res, 200, { run_id: "hermes-run-abort", status: "cancelled" });
217
+ throw new Error(`unexpected ${req.method} ${req.url}`);
218
+ });
219
+ const controller = new AbortController();
220
+ setTimeout(() => controller.abort(), 20);
221
+ const result = await execute(context({ url: server.url, timeoutMs: 120 }, { abortSignal: controller.signal }));
222
+ expect(result.exitCode).toBe(1);
223
+ expect(result.signal).toBe("SIGTERM");
224
+ expect(result.errorCode).toBe("hermes_gateway_stopped");
225
+ expect(server.requests.some((request) => request.path.endsWith("/stop"))).toBe(true);
226
+ }, 5_000);
227
+ });
228
+ describe("Hermes gateway environment probe", () => {
229
+ it("checks health, capabilities, and model discovery on the public API", async () => {
230
+ const server = await listen((req, res) => {
231
+ if (req.url === "/health")
232
+ return json(res, 200, { version: "0.18.2" });
233
+ if (req.url === "/health/detailed")
234
+ return json(res, 200, { status: "ready", runtime: { mode: "server_agent" } });
235
+ if (req.url === "/v1/capabilities")
236
+ return json(res, 200, {
237
+ runtime: { tool_execution: "server" },
238
+ features: {
239
+ run_submission: true,
240
+ run_status: true,
241
+ run_events_sse: true,
242
+ run_stop: true,
243
+ run_approval_response: true,
244
+ session_resources: true,
245
+ },
246
+ endpoints: {
247
+ runs: { method: "POST", path: "/v1/runs" },
248
+ run_status: { method: "GET", path: "/v1/runs/{run_id}" },
249
+ run_events: { method: "GET", path: "/v1/runs/{run_id}/events" },
250
+ run_approval: { method: "POST", path: "/v1/runs/{run_id}/approval" },
251
+ run_stop: { method: "POST", path: "/v1/runs/{run_id}/stop" },
252
+ sessions: { method: "GET", path: "/api/sessions" },
253
+ session_create: { method: "POST", path: "/api/sessions" },
254
+ session: { method: "GET", path: "/api/sessions/{session_id}" },
255
+ session_messages: { method: "GET", path: "/api/sessions/{session_id}/messages" },
256
+ },
257
+ });
258
+ if (req.url === "/v1/models")
259
+ return json(res, 200, { data: [{ id: "hermes-agent" }] });
260
+ throw new Error(`unexpected ${req.method} ${req.url}`);
261
+ });
262
+ const result = await testEnvironment({ orgId: "org-hermes-1", agentRuntimeType: "hermes_gateway", config: { url: server.url, apiKey: "hermes-test-key" } });
263
+ expect(result.status).toBe("pass");
264
+ expect(result.checks.map((check) => check.code)).toEqual([
265
+ "hermes_gateway_url_valid",
266
+ "hermes_gateway_health_ok",
267
+ "hermes_gateway_health_detailed_ok",
268
+ "hermes_gateway_capabilities_ok",
269
+ "hermes_gateway_models_ok",
270
+ ]);
271
+ });
272
+ });
273
+ //# sourceMappingURL=execute.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.test.js","sourceRoot":"","sources":["../../src/server/execute.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export declare const MAX_RESPONSE_BYTES: number;
2
+ export declare const HERMES_SUPPORTED_VERSIONS: readonly ["0.18.2", "0.19.1"];
3
+ export declare function isLoopbackHostname(hostname: string): boolean;
4
+ export declare function baseUrl(value: unknown): URL | null;
5
+ /** Resolve the configured loopback name before every trust-domain request. */
6
+ export declare function preflightBaseUrl(base: URL): Promise<{
7
+ ok: true;
8
+ } | {
9
+ ok: false;
10
+ reason: string;
11
+ }>;
12
+ export declare function endpoint(base: URL, path: string): URL;
13
+ export declare function hasBearerAuth(config: Record<string, unknown>): boolean;
14
+ export declare function requestHeaders(config: Record<string, unknown>, extra?: Record<string, string>): Record<string, string>;
15
+ export declare function readJson(response: Response): Promise<Record<string, unknown>>;
16
+ export declare function requestJson(url: URL, config: Record<string, unknown>, init?: RequestInit, timeoutMs?: number): Promise<{
17
+ response: Response;
18
+ body: Record<string, unknown>;
19
+ }>;
20
+ export declare function asRecord(value: unknown): Record<string, unknown> | null;
21
+ export declare function textFrom(value: unknown): string | null;
22
+ export declare function positiveMs(value: unknown, fallback: number): number;
23
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,kBAAkB,QAAkB,CAAC;AAClD,eAAO,MAAM,yBAAyB,+BAAgC,CAAC;AAMvE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG5D;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,GAAG,IAAI,CAYlD;AAED,8EAA8E;AAC9E,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAkBvG;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,CAKrD;AAUD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAGtE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWtH;AAED,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAcnF;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,GAAE,WAAgB,EACtB,SAAS,SAAS,GACjB,OAAO,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAehE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAEvE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAatD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGnE"}
@@ -0,0 +1,142 @@
1
+ import { asNumber, asString, parseObject } from "@rudderhq/agent-runtime-utils/server-utils";
2
+ import dns from "node:dns/promises";
3
+ export const MAX_RESPONSE_BYTES = 4 * 1024 * 1024;
4
+ export const HERMES_SUPPORTED_VERSIONS = ["0.18.2", "0.19.1"];
5
+ function normalizedHostname(hostname) {
6
+ return hostname.trim().toLowerCase().replace(/^\[/, "").replace(/\]$/, "");
7
+ }
8
+ export function isLoopbackHostname(hostname) {
9
+ const normalized = normalizedHostname(hostname);
10
+ return normalized === "localhost" || normalized === "127.0.0.1" || normalized === "::1";
11
+ }
12
+ export function baseUrl(value) {
13
+ const raw = asString(value, "").trim().replace(/\/+$/, "");
14
+ if (!raw)
15
+ return null;
16
+ try {
17
+ const url = new URL(raw);
18
+ if (url.protocol !== "http:" && url.protocol !== "https:")
19
+ return null;
20
+ if (url.username || url.password || url.search || url.hash)
21
+ return null;
22
+ if (!isLoopbackHostname(url.hostname))
23
+ return null;
24
+ return url;
25
+ }
26
+ catch {
27
+ return null;
28
+ }
29
+ }
30
+ /** Resolve the configured loopback name before every trust-domain request. */
31
+ export async function preflightBaseUrl(base) {
32
+ if (!isLoopbackHostname(base.hostname)) {
33
+ return { ok: false, reason: "Hermes endpoint must be loopback-only." };
34
+ }
35
+ if (base.username || base.password || base.search || base.hash) {
36
+ return { ok: false, reason: "Hermes endpoint must not contain userinfo, query, or fragment data." };
37
+ }
38
+ if (normalizedHostname(base.hostname) === "localhost") {
39
+ try {
40
+ const addresses = await dns.lookup(base.hostname, { all: true, verbatim: true });
41
+ if (addresses.length === 0 || addresses.some((entry) => !isLoopbackHostname(entry.address))) {
42
+ return { ok: false, reason: "Hermes localhost endpoint did not resolve exclusively to loopback addresses." };
43
+ }
44
+ }
45
+ catch {
46
+ return { ok: false, reason: "Hermes localhost endpoint could not be resolved." };
47
+ }
48
+ }
49
+ return { ok: true };
50
+ }
51
+ export function endpoint(base, path) {
52
+ const root = new URL(base.toString());
53
+ root.pathname = `${root.pathname.replace(/\/+$/, "")}/${path.replace(/^\/+/, "")}`;
54
+ root.search = "";
55
+ return root;
56
+ }
57
+ function secret(config) {
58
+ for (const key of ["apiKey", "authToken", "token"]) {
59
+ const value = asString(config[key], "").trim();
60
+ if (value)
61
+ return value;
62
+ }
63
+ return null;
64
+ }
65
+ export function hasBearerAuth(config) {
66
+ const value = asString(requestHeaders(config).authorization, "").trim();
67
+ return /^bearer\s+\S+$/i.test(value);
68
+ }
69
+ export function requestHeaders(config, extra) {
70
+ const configured = parseObject(config.headers) ?? {};
71
+ const headers = { accept: "application/json", ...extra };
72
+ for (const [key, value] of Object.entries(configured)) {
73
+ if (typeof value === "string" && value.trim())
74
+ headers[key] = value;
75
+ }
76
+ const token = secret(config);
77
+ if (token && !Object.keys(headers).some((key) => key.toLowerCase() === "authorization")) {
78
+ headers.authorization = /^bearer\s+/i.test(token) ? token : `Bearer ${token}`;
79
+ }
80
+ return headers;
81
+ }
82
+ export async function readJson(response) {
83
+ const length = Number(response.headers.get("content-length"));
84
+ if (Number.isFinite(length) && length > MAX_RESPONSE_BYTES) {
85
+ throw new Error(`Hermes response exceeded ${MAX_RESPONSE_BYTES} bytes`);
86
+ }
87
+ const text = await response.text();
88
+ if (text.length > MAX_RESPONSE_BYTES)
89
+ throw new Error(`Hermes response exceeded ${MAX_RESPONSE_BYTES} bytes`);
90
+ if (!text.trim())
91
+ return {};
92
+ try {
93
+ const parsed = JSON.parse(text);
94
+ return parsed && typeof parsed === "object" && !Array.isArray(parsed) ? parsed : {};
95
+ }
96
+ catch {
97
+ return { text: text.slice(0, MAX_RESPONSE_BYTES) };
98
+ }
99
+ }
100
+ export async function requestJson(url, config, init = {}, timeoutMs = 10_000) {
101
+ const controller = new AbortController();
102
+ const timer = timeoutMs > 0 ? setTimeout(() => controller.abort(), timeoutMs) : null;
103
+ try {
104
+ const response = await fetch(url, {
105
+ ...init,
106
+ redirect: "error",
107
+ headers: { ...requestHeaders(config), ...(init.headers ?? {}) },
108
+ signal: controller.signal,
109
+ });
110
+ const body = await readJson(response);
111
+ return { response, body };
112
+ }
113
+ finally {
114
+ if (timer)
115
+ clearTimeout(timer);
116
+ }
117
+ }
118
+ export function asRecord(value) {
119
+ return value && typeof value === "object" && !Array.isArray(value) ? value : null;
120
+ }
121
+ export function textFrom(value) {
122
+ if (typeof value === "string" && value.trim())
123
+ return value.trim();
124
+ const record = asRecord(value);
125
+ if (!record)
126
+ return null;
127
+ for (const key of ["output", "content", "text", "message", "summary", "delta"]) {
128
+ const candidate = textFrom(record[key]);
129
+ if (candidate)
130
+ return candidate;
131
+ }
132
+ if (Array.isArray(record.content)) {
133
+ const text = record.content.map((entry) => textFrom(entry)).filter(Boolean).join("\n");
134
+ return text || null;
135
+ }
136
+ return null;
137
+ }
138
+ export function positiveMs(value, fallback) {
139
+ const parsed = asNumber(value, fallback);
140
+ return parsed > 0 ? Math.max(1, Math.floor(parsed)) : fallback;
141
+ }
142
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { execute } from "./execute.js";
2
+ export { testEnvironment } from "./test.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { execute } from "./execute.js";
2
+ export { testEnvironment } from "./test.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { AgentRuntimeEnvironmentTestContext, AgentRuntimeEnvironmentTestResult } from "@rudderhq/agent-runtime-utils";
2
+ export declare function testEnvironment(ctx: AgentRuntimeEnvironmentTestContext): Promise<AgentRuntimeEnvironmentTestResult>;
3
+ //# sourceMappingURL=test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/server/test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kCAAkC,EAClC,iCAAiC,EAClC,MAAM,+BAA+B,CAAC;AAiCvC,wBAAsB,eAAe,CACnC,GAAG,EAAE,kCAAkC,GACtC,OAAO,CAAC,iCAAiC,CAAC,CAqF5C"}