@sovara/runner 0.1.0

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.
Files changed (122) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +331 -0
  3. package/dist/apiTypes.d.ts +4 -0
  4. package/dist/apiTypes.d.ts.map +1 -0
  5. package/dist/apiTypes.js +4 -0
  6. package/dist/apiTypes.js.map +1 -0
  7. package/dist/capture/requestEnvelope.d.ts +10 -0
  8. package/dist/capture/requestEnvelope.d.ts.map +1 -0
  9. package/dist/capture/requestEnvelope.js +79 -0
  10. package/dist/capture/requestEnvelope.js.map +1 -0
  11. package/dist/capture/responseEnvelope.d.ts +14 -0
  12. package/dist/capture/responseEnvelope.d.ts.map +1 -0
  13. package/dist/capture/responseEnvelope.js +43 -0
  14. package/dist/capture/responseEnvelope.js.map +1 -0
  15. package/dist/capture/sseUtils.d.ts +3 -0
  16. package/dist/capture/sseUtils.d.ts.map +1 -0
  17. package/dist/capture/sseUtils.js +69 -0
  18. package/dist/capture/sseUtils.js.map +1 -0
  19. package/dist/capture/streamCapture.d.ts +5 -0
  20. package/dist/capture/streamCapture.d.ts.map +1 -0
  21. package/dist/capture/streamCapture.js +19 -0
  22. package/dist/capture/streamCapture.js.map +1 -0
  23. package/dist/claudeAgentSdk/parseHook.d.ts +20 -0
  24. package/dist/claudeAgentSdk/parseHook.d.ts.map +1 -0
  25. package/dist/claudeAgentSdk/parseHook.js +160 -0
  26. package/dist/claudeAgentSdk/parseHook.js.map +1 -0
  27. package/dist/claudeAgentSdk/wrapper.d.ts +17 -0
  28. package/dist/claudeAgentSdk/wrapper.d.ts.map +1 -0
  29. package/dist/claudeAgentSdk/wrapper.js +219 -0
  30. package/dist/claudeAgentSdk/wrapper.js.map +1 -0
  31. package/dist/constants.d.ts +6 -0
  32. package/dist/constants.d.ts.map +1 -0
  33. package/dist/constants.js +7 -0
  34. package/dist/constants.js.map +1 -0
  35. package/dist/context.d.ts +34 -0
  36. package/dist/context.d.ts.map +1 -0
  37. package/dist/context.js +106 -0
  38. package/dist/context.js.map +1 -0
  39. package/dist/endpointPatterns.json +82 -0
  40. package/dist/endpointWhitelist.d.ts +2 -0
  41. package/dist/endpointWhitelist.d.ts.map +1 -0
  42. package/dist/endpointWhitelist.js +11 -0
  43. package/dist/endpointWhitelist.js.map +1 -0
  44. package/dist/env.d.ts +7 -0
  45. package/dist/env.d.ts.map +1 -0
  46. package/dist/env.js +10 -0
  47. package/dist/env.js.map +1 -0
  48. package/dist/index.d.ts +5 -0
  49. package/dist/index.d.ts.map +1 -0
  50. package/dist/index.js +9 -0
  51. package/dist/index.js.map +1 -0
  52. package/dist/mcpPatch.d.ts +2 -0
  53. package/dist/mcpPatch.d.ts.map +1 -0
  54. package/dist/mcpPatch.js +195 -0
  55. package/dist/mcpPatch.js.map +1 -0
  56. package/dist/payload/editIoExcludePatterns.json +292 -0
  57. package/dist/payload/filterDict.d.ts +3 -0
  58. package/dist/payload/filterDict.d.ts.map +1 -0
  59. package/dist/payload/filterDict.js +26 -0
  60. package/dist/payload/filterDict.js.map +1 -0
  61. package/dist/payload/flatten.d.ts +6 -0
  62. package/dist/payload/flatten.d.ts.map +1 -0
  63. package/dist/payload/flatten.js +79 -0
  64. package/dist/payload/flatten.js.map +1 -0
  65. package/dist/payload/wrap.d.ts +6 -0
  66. package/dist/payload/wrap.d.ts.map +1 -0
  67. package/dist/payload/wrap.js +8 -0
  68. package/dist/payload/wrap.js.map +1 -0
  69. package/dist/priors.d.ts +7 -0
  70. package/dist/priors.d.ts.map +1 -0
  71. package/dist/priors.js +87 -0
  72. package/dist/priors.js.map +1 -0
  73. package/dist/priorsBlockGuidance.json +3 -0
  74. package/dist/projectContext.d.ts +12 -0
  75. package/dist/projectContext.d.ts.map +1 -0
  76. package/dist/projectContext.js +26 -0
  77. package/dist/projectContext.js.map +1 -0
  78. package/dist/runLogCapture.d.ts +10 -0
  79. package/dist/runLogCapture.d.ts.map +1 -0
  80. package/dist/runLogCapture.js +117 -0
  81. package/dist/runLogCapture.js.map +1 -0
  82. package/dist/runtimeClient.d.ts +103 -0
  83. package/dist/runtimeClient.d.ts.map +1 -0
  84. package/dist/runtimeClient.js +202 -0
  85. package/dist/runtimeClient.js.map +1 -0
  86. package/dist/serverLifecycle.d.ts +2 -0
  87. package/dist/serverLifecycle.d.ts.map +1 -0
  88. package/dist/serverLifecycle.js +59 -0
  89. package/dist/serverLifecycle.js.map +1 -0
  90. package/dist/sseListener.d.ts +9 -0
  91. package/dist/sseListener.d.ts.map +1 -0
  92. package/dist/sseListener.js +56 -0
  93. package/dist/sseListener.js.map +1 -0
  94. package/dist/transport/awsSdkHttp2Patch.d.ts +2 -0
  95. package/dist/transport/awsSdkHttp2Patch.d.ts.map +1 -0
  96. package/dist/transport/awsSdkHttp2Patch.js +428 -0
  97. package/dist/transport/awsSdkHttp2Patch.js.map +1 -0
  98. package/dist/transport/fetchPatch.d.ts +3 -0
  99. package/dist/transport/fetchPatch.d.ts.map +1 -0
  100. package/dist/transport/fetchPatch.js +237 -0
  101. package/dist/transport/fetchPatch.js.map +1 -0
  102. package/dist/transport/nodeHttpPatch.d.ts +3 -0
  103. package/dist/transport/nodeHttpPatch.d.ts.map +1 -0
  104. package/dist/transport/nodeHttpPatch.js +522 -0
  105. package/dist/transport/nodeHttpPatch.js.map +1 -0
  106. package/dist/user.d.ts +11 -0
  107. package/dist/user.d.ts.map +1 -0
  108. package/dist/user.js +31 -0
  109. package/dist/user.js.map +1 -0
  110. package/dist/util/logger.d.ts +2 -0
  111. package/dist/util/logger.d.ts.map +1 -0
  112. package/dist/util/logger.js +9 -0
  113. package/dist/util/logger.js.map +1 -0
  114. package/dist/util/stableJson.d.ts +2 -0
  115. package/dist/util/stableJson.d.ts.map +1 -0
  116. package/dist/util/stableJson.js +22 -0
  117. package/dist/util/stableJson.js.map +1 -0
  118. package/dist/util/stackTrace.d.ts +2 -0
  119. package/dist/util/stackTrace.d.ts.map +1 -0
  120. package/dist/util/stackTrace.js +11 -0
  121. package/dist/util/stackTrace.js.map +1 -0
  122. package/package.json +74 -0
@@ -0,0 +1,522 @@
1
+ import { createRequire, syncBuiltinESMExports } from "node:module";
2
+ import { performance } from "node:perf_hooks";
3
+ import { brotliDecompressSync, gunzipSync, inflateSync } from "node:zlib";
4
+ import { API_TYPE_HTTPX_CLIENT_SEND } from "../apiTypes.js";
5
+ import { buildResponseEnvelope } from "../capture/responseEnvelope.js";
6
+ import { UNSUPPORTED_REQUEST_BODY } from "../capture/requestEnvelope.js";
7
+ import { getCurrentRunScope } from "../context.js";
8
+ import { isWhitelistedEndpoint } from "../endpointWhitelist.js";
9
+ import { wrapForStorage } from "../payload/wrap.js";
10
+ import { warnOnce } from "../util/logger.js";
11
+ import { stableJsonStringify } from "../util/stableJson.js";
12
+ import { sanitizeStackTrace } from "../util/stackTrace.js";
13
+ const NODE_HTTP_PATCHED_SYMBOL = Symbol.for("sovara.nodeHttpPatched");
14
+ const NODE_HTTP_ORIGINALS_SYMBOL = Symbol.for("sovara.nodeHttpPatchOriginals");
15
+ function normalizeHeaderValue(value) {
16
+ if (value === undefined) {
17
+ return undefined;
18
+ }
19
+ if (Array.isArray(value)) {
20
+ return value.join(", ");
21
+ }
22
+ return String(value);
23
+ }
24
+ function headersFromRequestHeaders(headers) {
25
+ const out = {};
26
+ if (!headers) {
27
+ return out;
28
+ }
29
+ if (Array.isArray(headers)) {
30
+ for (let index = 0; index < headers.length; index += 2) {
31
+ const key = headers[index];
32
+ const value = headers[index + 1];
33
+ if (typeof key !== "string" || typeof value !== "string") {
34
+ continue;
35
+ }
36
+ out[key.toLowerCase()] = value;
37
+ }
38
+ return out;
39
+ }
40
+ for (const [key, rawValue] of Object.entries(headers)) {
41
+ const value = normalizeHeaderValue(rawValue);
42
+ if (value !== undefined) {
43
+ out[key.toLowerCase()] = value;
44
+ }
45
+ }
46
+ return out;
47
+ }
48
+ function headersFromIncoming(responseHeaders) {
49
+ const headers = new Headers();
50
+ for (const [key, rawValue] of Object.entries(responseHeaders)) {
51
+ const value = normalizeHeaderValue(rawValue);
52
+ if (value !== undefined) {
53
+ headers.set(key, value);
54
+ }
55
+ }
56
+ return headers;
57
+ }
58
+ function parseBody(text) {
59
+ if (!text) {
60
+ return "";
61
+ }
62
+ try {
63
+ return JSON.parse(text);
64
+ }
65
+ catch {
66
+ return text;
67
+ }
68
+ }
69
+ function bodyFromEnvelope(envelope) {
70
+ if (typeof envelope.body === "string") {
71
+ return Buffer.from(envelope.body, "utf8");
72
+ }
73
+ if (envelope.body !== "") {
74
+ return Buffer.from(JSON.stringify(envelope.body), "utf8");
75
+ }
76
+ return undefined;
77
+ }
78
+ function isRequestEnvelopeLike(value) {
79
+ if (!value || typeof value !== "object") {
80
+ return false;
81
+ }
82
+ const candidate = value;
83
+ return (typeof candidate.url === "string" &&
84
+ typeof candidate.method === "string" &&
85
+ !!candidate.headers &&
86
+ typeof candidate.headers === "object" &&
87
+ typeof candidate.bodySupported === "boolean");
88
+ }
89
+ function applyContentCoding(content, coding) {
90
+ if (coding === "gzip" || coding === "x-gzip") {
91
+ return gunzipSync(content);
92
+ }
93
+ if (coding === "deflate") {
94
+ return inflateSync(content);
95
+ }
96
+ if (coding === "br") {
97
+ return brotliDecompressSync(content);
98
+ }
99
+ return content;
100
+ }
101
+ function decodeResponseBodyForCapture(rawBody, contentEncodingHeader) {
102
+ if (!contentEncodingHeader) {
103
+ return rawBody.toString("utf8");
104
+ }
105
+ const codings = contentEncodingHeader
106
+ .split(",")
107
+ .map((coding) => coding.trim().toLowerCase())
108
+ .filter((coding) => coding && coding !== "identity");
109
+ if (codings.length === 0) {
110
+ return rawBody.toString("utf8");
111
+ }
112
+ try {
113
+ let decoded = rawBody;
114
+ // Header order is encode order; decode in reverse.
115
+ for (let index = codings.length - 1; index >= 0; index -= 1) {
116
+ decoded = applyContentCoding(decoded, codings[index] ?? "");
117
+ }
118
+ return decoded.toString("utf8");
119
+ }
120
+ catch {
121
+ warnOnce("node-http-patch-decode-response", "[sovara] Failed to decode compressed response body; falling back to raw utf-8 bytes.");
122
+ return rawBody.toString("utf8");
123
+ }
124
+ }
125
+ function captureResponseChunk(chunks, chunk, encoding) {
126
+ if (chunk == null) {
127
+ return;
128
+ }
129
+ if (typeof chunk === "string") {
130
+ chunks.push(Buffer.from(chunk, encoding));
131
+ return;
132
+ }
133
+ if (Buffer.isBuffer(chunk)) {
134
+ chunks.push(chunk);
135
+ return;
136
+ }
137
+ if (chunk instanceof Uint8Array) {
138
+ chunks.push(Buffer.from(chunk));
139
+ }
140
+ }
141
+ function resolveUrl(protocol, inputUrl, options) {
142
+ try {
143
+ if (inputUrl instanceof URL) {
144
+ return new URL(inputUrl.toString());
145
+ }
146
+ if (typeof inputUrl === "string") {
147
+ return new URL(inputUrl);
148
+ }
149
+ }
150
+ catch {
151
+ // fall through to request-options-based parsing.
152
+ }
153
+ const pathFromInput = typeof inputUrl === "string" ? inputUrl : "";
154
+ const pathFromOptions = options?.path ?? "";
155
+ const pathRaw = pathFromInput || pathFromOptions || "/";
156
+ const path = pathRaw.startsWith("/") ? pathRaw : `/${pathRaw}`;
157
+ const optionProtocol = options?.protocol ?? protocol;
158
+ const port = options?.port ? `:${String(options.port)}` : "";
159
+ const authority = typeof options?.hostname === "string" && options.hostname.length > 0
160
+ ? `${options.hostname}${port}`
161
+ : (options?.host ?? `localhost${port}`);
162
+ try {
163
+ return new URL(`${optionProtocol}//${authority}${path}`);
164
+ }
165
+ catch {
166
+ return undefined;
167
+ }
168
+ }
169
+ function createPatchedRequest(protocol, originalRequest, moduleObject) {
170
+ const patchedRequest = function patchedRequest(...args) {
171
+ const scope = getCurrentRunScope();
172
+ let inputUrl;
173
+ let options;
174
+ const first = args[0];
175
+ const second = args[1];
176
+ if (first instanceof URL || typeof first === "string") {
177
+ inputUrl = first;
178
+ if (typeof second === "object" && second !== null) {
179
+ options = second;
180
+ }
181
+ }
182
+ else if (typeof first === "object" && first !== null) {
183
+ options = first;
184
+ }
185
+ const resolvedUrl = resolveUrl(protocol, inputUrl, options);
186
+ const shouldInstrument = Boolean(scope) &&
187
+ Boolean(resolvedUrl) &&
188
+ isWhitelistedEndpoint(resolvedUrl) &&
189
+ typeof scope?.client.prepareCall === "function" &&
190
+ typeof scope?.client.recordOutput === "function" &&
191
+ typeof scope?.client.recordException === "function";
192
+ const request = Reflect.apply(originalRequest, moduleObject, args);
193
+ if (!shouldInstrument || !scope || !resolvedUrl) {
194
+ return request;
195
+ }
196
+ const stackTrace = sanitizeStackTrace(new Error().stack);
197
+ const startedAt = performance.now();
198
+ const bodyChunks = [];
199
+ let bodySupported = true;
200
+ let finalized = false;
201
+ let responseEnded = false;
202
+ const requestHeaders = {
203
+ ...headersFromRequestHeaders(options?.headers),
204
+ };
205
+ const originalSetHeader = request.setHeader.bind(request);
206
+ request.setHeader = ((name, value) => {
207
+ requestHeaders[name.toLowerCase()] = Array.isArray(value) ? value.join(", ") : String(value);
208
+ return originalSetHeader(name, value);
209
+ });
210
+ const originalRemoveHeader = request.removeHeader.bind(request);
211
+ request.removeHeader = ((name) => {
212
+ delete requestHeaders[name.toLowerCase()];
213
+ originalRemoveHeader(name);
214
+ });
215
+ function captureBodyChunk(chunk, encoding) {
216
+ if (chunk == null) {
217
+ return;
218
+ }
219
+ if (typeof chunk === "string") {
220
+ bodyChunks.push(Buffer.from(chunk, encoding));
221
+ return;
222
+ }
223
+ if (Buffer.isBuffer(chunk)) {
224
+ bodyChunks.push(chunk);
225
+ return;
226
+ }
227
+ if (chunk instanceof Uint8Array) {
228
+ bodyChunks.push(Buffer.from(chunk));
229
+ return;
230
+ }
231
+ bodySupported = false;
232
+ }
233
+ const originalWrite = request.write.bind(request);
234
+ const isAwsSigV4SignedRequest = () => {
235
+ const headers = headersFromRequestHeaders(request.getHeaders());
236
+ const authorization = headers["authorization"] ?? "";
237
+ const host = headers["host"] ?? resolvedUrl.host;
238
+ const hasSigV4Auth = authorization.startsWith("AWS4-HMAC-SHA256");
239
+ const hasAmzContentSha = typeof headers["x-amz-content-sha256"] === "string";
240
+ const isAwsHost = /amazonaws\.com$/i.test(host);
241
+ return isAwsHost && (hasSigV4Auth || hasAmzContentSha);
242
+ };
243
+ request.write = ((...writeArgs) => {
244
+ const chunk = writeArgs[0];
245
+ const encoding = typeof writeArgs[1] === "string" ? writeArgs[1] : undefined;
246
+ captureBodyChunk(chunk, encoding);
247
+ if (isAwsSigV4SignedRequest()) {
248
+ return originalWrite(...writeArgs);
249
+ }
250
+ const callback = typeof writeArgs[1] === "function"
251
+ ? writeArgs[1]
252
+ : typeof writeArgs[2] === "function"
253
+ ? writeArgs[2]
254
+ : undefined;
255
+ if (callback) {
256
+ queueMicrotask(() => callback(null));
257
+ }
258
+ return true;
259
+ });
260
+ const originalEnd = request.end.bind(request);
261
+ let sendStarted = false;
262
+ let preparePromise;
263
+ const startPrepare = () => {
264
+ if (preparePromise) {
265
+ return preparePromise;
266
+ }
267
+ preparePromise = (async () => {
268
+ const currentHeaders = headersFromRequestHeaders(request.getHeaders());
269
+ const mergedHeaders = { ...requestHeaders, ...currentHeaders };
270
+ const bodyText = bodyChunks.length > 0 ? Buffer.concat(bodyChunks).toString("utf8") : "";
271
+ const requestEnvelope = {
272
+ url: resolvedUrl.toString(),
273
+ body: bodySupported ? parseBody(bodyText) : UNSUPPORTED_REQUEST_BODY,
274
+ headers: mergedHeaders,
275
+ method: (request.method ?? options?.method ?? "GET").toUpperCase(),
276
+ bodySupported,
277
+ };
278
+ const inputJson = stableJsonStringify(wrapForStorage(requestEnvelope));
279
+ const begin = await scope.client.prepareCall({
280
+ runId: scope.runId,
281
+ inputJson,
282
+ apiType: API_TYPE_HTTPX_CLIENT_SEND,
283
+ stackTrace,
284
+ promptSuffixJson: "[]",
285
+ prepareRuntimePriors: true,
286
+ });
287
+ const preparedRequestEnvelope = isRequestEnvelopeLike(begin.preparedRawInput)
288
+ ? begin.preparedRawInput
289
+ : requestEnvelope;
290
+ return {
291
+ nodeUuid: begin.nodeUuid,
292
+ nodeKind: begin.nodeKind,
293
+ inputJson: begin.preparedInputJson ?? inputJson,
294
+ promptSuffixJson: begin.promptSuffixJson ?? "[]",
295
+ requestEnvelope,
296
+ preparedRequestEnvelope,
297
+ };
298
+ })().catch(() => {
299
+ warnOnce("node-http-patch-prepare", "[sovara] Failed to prepare node:http call.");
300
+ return null;
301
+ });
302
+ return preparePromise;
303
+ };
304
+ const sendPreparedRequest = async (endCallback) => {
305
+ if (sendStarted) {
306
+ return;
307
+ }
308
+ sendStarted = true;
309
+ const prepared = await startPrepare();
310
+ const executedEnvelope = prepared?.preparedRequestEnvelope;
311
+ if (executedEnvelope) {
312
+ if (executedEnvelope.url !== resolvedUrl.toString()) {
313
+ warnOnce("node-http-patch-url-change", "[sovara] Prepared request URL differs; node:http patch keeps original request target.");
314
+ }
315
+ request.method = executedEnvelope.method;
316
+ for (const [key, value] of Object.entries(executedEnvelope.headers)) {
317
+ request.setHeader(key, value);
318
+ }
319
+ let finalBody;
320
+ if (executedEnvelope.bodySupported) {
321
+ finalBody = bodyFromEnvelope(executedEnvelope);
322
+ }
323
+ else if (bodyChunks.length > 0) {
324
+ finalBody = Buffer.concat(bodyChunks);
325
+ }
326
+ if (finalBody !== undefined) {
327
+ request.setHeader("content-length", String(finalBody.length));
328
+ if (finalBody.length > 0) {
329
+ originalWrite(finalBody);
330
+ }
331
+ }
332
+ }
333
+ else if (bodyChunks.length > 0) {
334
+ const originalBody = Buffer.concat(bodyChunks);
335
+ request.setHeader("content-length", String(originalBody.length));
336
+ if (originalBody.length > 0) {
337
+ originalWrite(originalBody);
338
+ }
339
+ }
340
+ if (endCallback) {
341
+ originalEnd(endCallback);
342
+ }
343
+ else {
344
+ originalEnd();
345
+ }
346
+ };
347
+ request.end = ((...endArgs) => {
348
+ let endCallback;
349
+ const chunk = endArgs[0];
350
+ const encoding = typeof endArgs[1] === "string" ? endArgs[1] : undefined;
351
+ if (typeof chunk === "function") {
352
+ endCallback = chunk;
353
+ }
354
+ else if (typeof endArgs[1] === "function") {
355
+ endCallback = endArgs[1];
356
+ }
357
+ else if (typeof endArgs[2] === "function") {
358
+ endCallback = endArgs[2];
359
+ }
360
+ if (typeof chunk !== "function" && chunk != null) {
361
+ captureBodyChunk(chunk, encoding);
362
+ }
363
+ if (isAwsSigV4SignedRequest()) {
364
+ void startPrepare();
365
+ return originalEnd(...endArgs);
366
+ }
367
+ void sendPreparedRequest(endCallback);
368
+ return request;
369
+ });
370
+ const finalizeOutput = async (response, chunks) => {
371
+ if (finalized) {
372
+ return;
373
+ }
374
+ finalized = true;
375
+ try {
376
+ const begin = await startPrepare();
377
+ if (!begin) {
378
+ return;
379
+ }
380
+ const rawBody = Buffer.concat(chunks);
381
+ const text = decodeResponseBodyForCapture(rawBody, normalizeHeaderValue(response.headers["content-encoding"]));
382
+ const synthetic = new Response(text, {
383
+ status: response.statusCode ?? 0,
384
+ statusText: response.statusMessage ?? "",
385
+ headers: headersFromIncoming(response.headers),
386
+ });
387
+ Object.defineProperty(synthetic, "url", { value: begin.requestEnvelope.url });
388
+ const responseEnvelope = await buildResponseEnvelope(synthetic);
389
+ const outputJson = stableJsonStringify(wrapForStorage(responseEnvelope));
390
+ await scope.client.recordOutput({
391
+ runId: scope.runId,
392
+ nodeUuid: begin.nodeUuid,
393
+ apiType: API_TYPE_HTTPX_CLIENT_SEND,
394
+ inputJson: begin.inputJson,
395
+ outputJson,
396
+ latencySeconds: Math.max(0, (performance.now() - startedAt) / 1000),
397
+ stackTrace,
398
+ nodeKind: begin.nodeKind,
399
+ promptSuffixJson: begin.promptSuffixJson,
400
+ });
401
+ }
402
+ catch {
403
+ warnOnce("node-http-patch-record-output", "[sovara] Failed to finalize node:http response.");
404
+ }
405
+ };
406
+ const finalizeException = async (error) => {
407
+ if (finalized) {
408
+ return;
409
+ }
410
+ finalized = true;
411
+ try {
412
+ const begin = await startPrepare();
413
+ if (!begin) {
414
+ return;
415
+ }
416
+ const errorPayload = {
417
+ kind: "exception",
418
+ source: API_TYPE_HTTPX_CLIENT_SEND,
419
+ message: error instanceof Error ? error.message : String(error),
420
+ type: error instanceof Error ? error.name : "Error",
421
+ details: {},
422
+ };
423
+ await scope.client.recordException({
424
+ runId: scope.runId,
425
+ nodeUuid: begin.nodeUuid,
426
+ apiType: API_TYPE_HTTPX_CLIENT_SEND,
427
+ inputJson: begin.inputJson,
428
+ errorJson: stableJsonStringify(errorPayload),
429
+ latencySeconds: Math.max(0, (performance.now() - startedAt) / 1000),
430
+ stackTrace,
431
+ nodeKind: begin.nodeKind,
432
+ promptSuffixJson: begin.promptSuffixJson,
433
+ clearOutput: true,
434
+ });
435
+ }
436
+ catch {
437
+ warnOnce("node-http-patch-record-exception", "[sovara] Failed to finalize node:http exception.");
438
+ }
439
+ };
440
+ request.on("response", (response) => {
441
+ const responseChunks = [];
442
+ const originalPush = response.push.bind(response);
443
+ const mutableResponse = response;
444
+ mutableResponse.push = (chunk, encoding) => {
445
+ captureResponseChunk(responseChunks, chunk, encoding);
446
+ return originalPush(chunk, encoding);
447
+ };
448
+ const restorePush = () => {
449
+ mutableResponse.push = originalPush;
450
+ };
451
+ response.once("end", () => {
452
+ restorePush();
453
+ responseEnded = true;
454
+ void finalizeOutput(response, responseChunks);
455
+ });
456
+ response.once("error", (error) => {
457
+ restorePush();
458
+ void finalizeException(error);
459
+ });
460
+ response.once("close", restorePush);
461
+ });
462
+ request.once("error", (error) => {
463
+ void finalizeException(error);
464
+ });
465
+ request.once("close", () => {
466
+ if (!responseEnded && !finalized) {
467
+ void finalizeException(new Error("Request closed before response completed."));
468
+ }
469
+ });
470
+ return request;
471
+ };
472
+ return patchedRequest;
473
+ }
474
+ function createPatchedGet(patchedRequest) {
475
+ const patchedGet = function patchedGet(...args) {
476
+ const request = patchedRequest(...args);
477
+ request.end();
478
+ return request;
479
+ };
480
+ return patchedGet;
481
+ }
482
+ export function installNodeHttpPatch() {
483
+ const globalObject = globalThis;
484
+ if (globalObject[NODE_HTTP_PATCHED_SYMBOL]) {
485
+ return;
486
+ }
487
+ const require = createRequire(import.meta.url);
488
+ const httpModule = require("node:http");
489
+ const httpsModule = require("node:https");
490
+ const originals = {
491
+ httpRequest: httpModule.request,
492
+ httpGet: httpModule.get,
493
+ httpsRequest: httpsModule.request,
494
+ httpsGet: httpsModule.get,
495
+ };
496
+ httpModule.request = createPatchedRequest("http:", originals.httpRequest, httpModule);
497
+ httpsModule.request = createPatchedRequest("https:", originals.httpsRequest, httpsModule);
498
+ httpModule.get = createPatchedGet(httpModule.request);
499
+ httpsModule.get = createPatchedGet(httpsModule.request);
500
+ syncBuiltinESMExports();
501
+ globalObject[NODE_HTTP_ORIGINALS_SYMBOL] = originals;
502
+ globalObject[NODE_HTTP_PATCHED_SYMBOL] = true;
503
+ }
504
+ export function uninstallNodeHttpPatchForTesting() {
505
+ const globalObject = globalThis;
506
+ const originals = globalObject[NODE_HTTP_ORIGINALS_SYMBOL];
507
+ if (!originals) {
508
+ delete globalObject[NODE_HTTP_PATCHED_SYMBOL];
509
+ return;
510
+ }
511
+ const require = createRequire(import.meta.url);
512
+ const httpModule = require("node:http");
513
+ const httpsModule = require("node:https");
514
+ httpModule.request = originals.httpRequest;
515
+ httpModule.get = originals.httpGet;
516
+ httpsModule.request = originals.httpsRequest;
517
+ httpsModule.get = originals.httpsGet;
518
+ syncBuiltinESMExports();
519
+ delete globalObject[NODE_HTTP_ORIGINALS_SYMBOL];
520
+ delete globalObject[NODE_HTTP_PATCHED_SYMBOL];
521
+ }
522
+ //# sourceMappingURL=nodeHttpPatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodeHttpPatch.js","sourceRoot":"","sources":["../../src/transport/nodeHttpPatch.ts"],"names":[],"mappings":"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"}
package/dist/user.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ import type { RuntimeClient } from "./runtimeClient.js";
2
+ export type ActiveUser = {
3
+ userId: string;
4
+ fullName: string;
5
+ email: string;
6
+ };
7
+ export declare function resolveActiveUser(client: Pick<RuntimeClient, "getActiveUser">, overrides?: {
8
+ fullName?: string;
9
+ email?: string;
10
+ }): Promise<ActiveUser>;
11
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAqBF,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,EAC5C,SAAS,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,OAAO,CAAC,UAAU,CAAC,CAoBrB"}
package/dist/user.js ADDED
@@ -0,0 +1,31 @@
1
+ function parseUser(payload) {
2
+ if (!payload) {
3
+ return null;
4
+ }
5
+ const userId = payload.user_id;
6
+ const fullName = payload.full_name;
7
+ const email = payload.email;
8
+ if (typeof userId !== "string" ||
9
+ typeof fullName !== "string" ||
10
+ typeof email !== "string") {
11
+ return null;
12
+ }
13
+ return { userId, fullName, email };
14
+ }
15
+ export async function resolveActiveUser(client, overrides) {
16
+ const current = parseUser(await client.getActiveUser());
17
+ const fullName = overrides?.fullName ?? current?.fullName;
18
+ const email = overrides?.email ?? current?.email;
19
+ if (current && overrides?.fullName === undefined && overrides?.email === undefined) {
20
+ return current;
21
+ }
22
+ if (current?.userId && fullName && email) {
23
+ return {
24
+ userId: current.userId,
25
+ fullName,
26
+ email,
27
+ };
28
+ }
29
+ throw new Error("Sovara user setup is missing. Run `so-cli init --user-name <full-name> --user-email <email>` and retry.");
30
+ }
31
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAQA,SAAS,SAAS,CAAC,OAAuC;IACxD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,OAAO,QAAQ,KAAK,QAAQ;QAC5B,OAAO,KAAK,KAAK,QAAQ,EACzB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAA4C,EAC5C,SAAiD;IAEjD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,SAAS,EAAE,QAAQ,IAAI,OAAO,EAAE,QAAQ,CAAC;IAC1D,MAAM,KAAK,GAAG,SAAS,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,CAAC;IACjD,IAAI,OAAO,IAAI,SAAS,EAAE,QAAQ,KAAK,SAAS,IAAI,SAAS,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;QACnF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,EAAE,MAAM,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;QACzC,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ;YACR,KAAK;SACN,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CACb,yGAAyG,CAC1G,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function warnOnce(key: string, message: string): void;
2
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAM3D"}
@@ -0,0 +1,9 @@
1
+ const seenWarnings = new Set();
2
+ export function warnOnce(key, message) {
3
+ if (seenWarnings.has(key)) {
4
+ return;
5
+ }
6
+ seenWarnings.add(key);
7
+ console.warn(message);
8
+ }
9
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;AAEvC,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,OAAe;IACnD,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function stableJsonStringify(value: unknown): string;
2
+ //# sourceMappingURL=stableJson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stableJson.d.ts","sourceRoot":"","sources":["../../src/util/stableJson.ts"],"names":[],"mappings":"AAqBA,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE1D"}
@@ -0,0 +1,22 @@
1
+ function sortValue(value) {
2
+ if (Array.isArray(value)) {
3
+ return value.map(sortValue);
4
+ }
5
+ if (value && typeof value === "object") {
6
+ const entries = Object.entries(value).sort(([a], [b]) => {
7
+ if (a < b) {
8
+ return -1;
9
+ }
10
+ if (a > b) {
11
+ return 1;
12
+ }
13
+ return 0;
14
+ });
15
+ return Object.fromEntries(entries.map(([key, nested]) => [key, sortValue(nested)]));
16
+ }
17
+ return value;
18
+ }
19
+ export function stableJsonStringify(value) {
20
+ return JSON.stringify(sortValue(value));
21
+ }
22
+ //# sourceMappingURL=stableJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stableJson.js","sourceRoot":"","sources":["../../src/util/stableJson.ts"],"names":[],"mappings":"AAAA,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YACjF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACV,OAAO,CAAC,CAAC,CAAC;YACZ,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACV,OAAO,CAAC,CAAC;YACX,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1C,CAAC"}