@sovara/runner 0.1.1 → 0.3.3
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/README.md +64 -18
- package/dist/annotation.d.ts +3 -0
- package/dist/annotation.d.ts.map +1 -0
- package/dist/annotation.js +27 -0
- package/dist/annotation.js.map +1 -0
- package/dist/codeVersion.d.ts +19 -0
- package/dist/codeVersion.d.ts.map +1 -0
- package/dist/codeVersion.js +125 -0
- package/dist/codeVersion.js.map +1 -0
- package/dist/context.d.ts +4 -2
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +8 -1
- package/dist/context.js.map +1 -1
- package/dist/env.d.ts +1 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +75 -1
- package/dist/env.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/payload/editIoExcludePatterns.json +3 -0
- package/dist/payload/wrap.d.ts +5 -1
- package/dist/payload/wrap.d.ts.map +1 -1
- package/dist/payload/wrap.js +75 -3
- package/dist/payload/wrap.js.map +1 -1
- package/dist/projectContext.d.ts +3 -1
- package/dist/projectContext.d.ts.map +1 -1
- package/dist/projectContext.js +23 -17
- package/dist/projectContext.js.map +1 -1
- package/dist/runtimeClient.d.ts +6 -0
- package/dist/runtimeClient.d.ts.map +1 -1
- package/dist/runtimeClient.js +16 -0
- package/dist/runtimeClient.js.map +1 -1
- package/dist/serverLifecycle.d.ts.map +1 -1
- package/dist/serverLifecycle.js +1 -33
- package/dist/serverLifecycle.js.map +1 -1
- package/dist/toolTraceUtils.d.ts +37 -0
- package/dist/toolTraceUtils.d.ts.map +1 -0
- package/dist/toolTraceUtils.js +184 -0
- package/dist/toolTraceUtils.js.map +1 -0
- package/dist/trace.d.ts +13 -0
- package/dist/trace.d.ts.map +1 -0
- package/dist/trace.js +133 -0
- package/dist/trace.js.map +1 -0
- package/dist/user.js +1 -1
- package/package.json +3 -2
package/dist/payload/wrap.js
CHANGED
|
@@ -1,8 +1,80 @@
|
|
|
1
|
-
import { filterDict } from "./filterDict.js";
|
|
2
|
-
|
|
1
|
+
import { filterDict, shouldExcludeKey } from "./filterDict.js";
|
|
2
|
+
import { flattenKeepList } from "./flatten.js";
|
|
3
|
+
function isRecord(value) {
|
|
4
|
+
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
5
|
+
}
|
|
6
|
+
function filterTraceNested(value) {
|
|
7
|
+
if (Array.isArray(value)) {
|
|
8
|
+
return value.map((item) => filterTraceNested(item));
|
|
9
|
+
}
|
|
10
|
+
if (!isRecord(value)) {
|
|
11
|
+
return value;
|
|
12
|
+
}
|
|
13
|
+
return Object.fromEntries(Object.entries(value)
|
|
14
|
+
.filter(([key]) => !shouldExcludeKey(key))
|
|
15
|
+
.filter(([, item]) => !(Array.isArray(item) && item.length === 0))
|
|
16
|
+
.filter(([, item]) => !(isRecord(item) && Object.keys(item).length === 0))
|
|
17
|
+
.map(([key, item]) => [key, filterTraceNested(item)]));
|
|
18
|
+
}
|
|
19
|
+
function flattenTraceValue(value) {
|
|
20
|
+
const filtered = filterTraceNested(value);
|
|
21
|
+
if (Array.isArray(filtered)) {
|
|
22
|
+
return filtered.map((item) => flattenTraceValue(item));
|
|
23
|
+
}
|
|
24
|
+
if (!isRecord(filtered)) {
|
|
25
|
+
return filtered;
|
|
26
|
+
}
|
|
27
|
+
const flattened = flattenKeepList(filtered);
|
|
28
|
+
if (!isRecord(flattened)) {
|
|
29
|
+
return flattened;
|
|
30
|
+
}
|
|
31
|
+
return Object.fromEntries(Object.entries(flattened)
|
|
32
|
+
.filter(([key, item]) => !shouldExcludeKey(key) && item !== undefined)
|
|
33
|
+
.filter(([, item]) => !(Array.isArray(item) && item.length === 0))
|
|
34
|
+
.filter(([, item]) => !(isRecord(item) && Object.keys(item).length === 0)));
|
|
35
|
+
}
|
|
36
|
+
function buildTraceInputToShow(raw) {
|
|
37
|
+
if (!isRecord(raw)) {
|
|
38
|
+
return filterDict(raw);
|
|
39
|
+
}
|
|
40
|
+
const toolInput = raw.tool_input;
|
|
41
|
+
if (!isRecord(toolInput)) {
|
|
42
|
+
return { tool_input: flattenTraceValue(toolInput) };
|
|
43
|
+
}
|
|
44
|
+
return Object.fromEntries(Object.entries(toolInput)
|
|
45
|
+
.filter(([key, item]) => !shouldExcludeKey(key) && item !== undefined)
|
|
46
|
+
.filter(([, item]) => !(Array.isArray(item) && item.length === 0))
|
|
47
|
+
.filter(([, item]) => !(isRecord(item) && Object.keys(item).length === 0))
|
|
48
|
+
.map(([key, item]) => [key, flattenTraceValue(item)]));
|
|
49
|
+
}
|
|
50
|
+
function buildTraceOutputToShow(raw) {
|
|
51
|
+
if (!isRecord(raw)) {
|
|
52
|
+
return filterDict(raw);
|
|
53
|
+
}
|
|
54
|
+
if (raw.status === "error") {
|
|
55
|
+
return Object.fromEntries(["status", "error_type", "error_message"]
|
|
56
|
+
.filter((key) => key in raw)
|
|
57
|
+
.map((key) => [key, raw[key]]));
|
|
58
|
+
}
|
|
59
|
+
const toolOutput = flattenTraceValue(raw.tool_output);
|
|
60
|
+
if (isRecord(toolOutput)) {
|
|
61
|
+
return toolOutput;
|
|
62
|
+
}
|
|
63
|
+
return { tool_output: toolOutput };
|
|
64
|
+
}
|
|
65
|
+
function buildToShow(raw, options) {
|
|
66
|
+
if (options?.apiType !== "sovara.trace") {
|
|
67
|
+
return filterDict(raw);
|
|
68
|
+
}
|
|
69
|
+
if (options.direction === "output") {
|
|
70
|
+
return buildTraceOutputToShow(raw);
|
|
71
|
+
}
|
|
72
|
+
return buildTraceInputToShow(raw);
|
|
73
|
+
}
|
|
74
|
+
export function wrapForStorage(raw, options) {
|
|
3
75
|
return {
|
|
4
76
|
raw,
|
|
5
|
-
to_show:
|
|
77
|
+
to_show: buildToShow(raw, options),
|
|
6
78
|
};
|
|
7
79
|
}
|
|
8
80
|
//# sourceMappingURL=wrap.js.map
|
package/dist/payload/wrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../src/payload/wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../src/payload/wrap.ts"],"names":[],"mappings":"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"}
|
package/dist/projectContext.d.ts
CHANGED
|
@@ -5,8 +5,10 @@ export type ProjectContext = {
|
|
|
5
5
|
projectDescription: string;
|
|
6
6
|
projectRoot: string;
|
|
7
7
|
};
|
|
8
|
-
export declare function resolveProjectContext(client: Pick<RuntimeClient, "
|
|
8
|
+
export declare function resolveProjectContext(client: Pick<RuntimeClient, "getProject">, cwd: string, overrides?: {
|
|
9
9
|
name?: string;
|
|
10
10
|
description?: string;
|
|
11
|
+
}, options?: {
|
|
12
|
+
allowMissingProjectConfig?: boolean;
|
|
11
13
|
}): Promise<ProjectContext>;
|
|
12
14
|
//# sourceMappingURL=projectContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectContext.d.ts","sourceRoot":"","sources":["../src/projectContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"projectContext.d.ts","sourceRoot":"","sources":["../src/projectContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAMF,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,EACzC,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EACnD,OAAO,CAAC,EAAE;IAAE,yBAAyB,CAAC,EAAE,OAAO,CAAA;CAAE,GAChD,OAAO,CAAC,cAAc,CAAC,CA+BzB"}
|
package/dist/projectContext.js
CHANGED
|
@@ -1,25 +1,31 @@
|
|
|
1
|
+
import { basename } from "node:path";
|
|
2
|
+
import { findProjectRoot, readProjectId } from "./codeVersion.js";
|
|
1
3
|
function suggestedInitCommand(projectRoot) {
|
|
2
|
-
return `
|
|
4
|
+
return `sovara init --project-root ${JSON.stringify(projectRoot)} --project-name <project-name>`;
|
|
3
5
|
}
|
|
4
|
-
export async function resolveProjectContext(client, cwd, overrides) {
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
export async function resolveProjectContext(client, cwd, overrides, options) {
|
|
7
|
+
const projectRoot = findProjectRoot(cwd);
|
|
8
|
+
if (!projectRoot) {
|
|
9
|
+
if (options?.allowMissingProjectConfig) {
|
|
10
|
+
return {
|
|
11
|
+
projectId: "project-1",
|
|
12
|
+
projectName: overrides?.name ?? "Project",
|
|
13
|
+
projectDescription: overrides?.description ?? "",
|
|
14
|
+
projectRoot: cwd,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
8
17
|
throw new Error(`Sovara project setup is missing for ${cwd}. Run \`${suggestedInitCommand(cwd)}\` and retry.`);
|
|
9
18
|
}
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
throw new Error("Invalid project payload from server.");
|
|
17
|
-
}
|
|
19
|
+
const projectId = readProjectId(projectRoot);
|
|
20
|
+
const existingProject = await client.getProject(projectId);
|
|
21
|
+
const existingName = typeof existingProject?.name === "string" && existingProject.name
|
|
22
|
+
? existingProject.name
|
|
23
|
+
: null;
|
|
24
|
+
const existingDescription = typeof existingProject?.description === "string" ? existingProject.description : "";
|
|
18
25
|
return {
|
|
19
|
-
projectId
|
|
20
|
-
projectName: overrides?.name ??
|
|
21
|
-
projectDescription: overrides?.description ??
|
|
22
|
-
(typeof project.description === "string" ? project.description : ""),
|
|
26
|
+
projectId,
|
|
27
|
+
projectName: overrides?.name ?? existingName ?? (basename(projectRoot) || "Project"),
|
|
28
|
+
projectDescription: overrides?.description ?? existingDescription,
|
|
23
29
|
projectRoot,
|
|
24
30
|
};
|
|
25
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectContext.js","sourceRoot":"","sources":["../src/projectContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"projectContext.js","sourceRoot":"","sources":["../src/projectContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAUlE,SAAS,oBAAoB,CAAC,WAAmB;IAC/C,OAAO,8BAA8B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,gCAAgC,CAAC;AACnG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAyC,EACzC,GAAW,EACX,SAAmD,EACnD,OAAiD;IAEjD,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,OAAO,EAAE,yBAAyB,EAAE,CAAC;YACvC,OAAO;gBACL,SAAS,EAAE,WAAW;gBACtB,WAAW,EAAE,SAAS,EAAE,IAAI,IAAI,SAAS;gBACzC,kBAAkB,EAAE,SAAS,EAAE,WAAW,IAAI,EAAE;gBAChD,WAAW,EAAE,GAAG;aACjB,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,KAAK,CACb,uCAAuC,GAAG,WAAW,oBAAoB,CAAC,GAAG,CAAC,eAAe,CAC9F,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,YAAY,GAChB,OAAO,eAAe,EAAE,IAAI,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI;QAC/D,CAAC,CAAC,eAAe,CAAC,IAAI;QACtB,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,mBAAmB,GACvB,OAAO,eAAe,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtF,OAAO;QACL,SAAS;QACT,WAAW,EAAE,SAAS,EAAE,IAAI,IAAI,YAAY,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC;QACpF,kBAAkB,EAAE,SAAS,EAAE,WAAW,IAAI,mBAAmB;QACjE,WAAW;KACZ,CAAC;AACJ,CAAC"}
|
package/dist/runtimeClient.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CodeVersion } from "./codeVersion.js";
|
|
1
2
|
export declare class RuntimeClientError extends Error {
|
|
2
3
|
readonly status: number;
|
|
3
4
|
readonly body: unknown;
|
|
@@ -15,6 +16,7 @@ export type RegisterRunRequest = {
|
|
|
15
16
|
userId: string;
|
|
16
17
|
userFullName: string;
|
|
17
18
|
userEmail: string;
|
|
19
|
+
codeVersion: CodeVersion;
|
|
18
20
|
};
|
|
19
21
|
export type RegisterRunResponse = {
|
|
20
22
|
runId: string;
|
|
@@ -67,12 +69,16 @@ export declare class RuntimeClient {
|
|
|
67
69
|
private readonly fetchFn;
|
|
68
70
|
constructor(baseUrl: string, fetchFn?: typeof fetch);
|
|
69
71
|
getActiveUser(): Promise<Record<string, unknown> | null>;
|
|
72
|
+
getProject(projectId: string): Promise<Record<string, unknown> | null>;
|
|
70
73
|
resolveProjectLocation(location: string): Promise<Record<string, unknown>>;
|
|
71
74
|
registerRun(request: RegisterRunRequest): Promise<RegisterRunResponse>;
|
|
72
75
|
registerSubrun(request: RegisterSubrunRequest): Promise<RegisterSubrunResponse>;
|
|
73
76
|
deregisterRun({ runId }: {
|
|
74
77
|
runId: string;
|
|
75
78
|
}): Promise<void>;
|
|
79
|
+
requestAnnotationEvaluation({ runId }: {
|
|
80
|
+
runId: string;
|
|
81
|
+
}): Promise<void>;
|
|
76
82
|
updateRunLog({ runId, logText, replace, }: {
|
|
77
83
|
runId: string;
|
|
78
84
|
logText: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeClient.d.ts","sourceRoot":"","sources":["../src/runtimeClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtimeClient.d.ts","sourceRoot":"","sources":["../src/runtimeClient.ts"],"names":[],"mappings":"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"}
|
package/dist/runtimeClient.js
CHANGED
|
@@ -29,6 +29,15 @@ export class RuntimeClient {
|
|
|
29
29
|
});
|
|
30
30
|
return payload.user ?? null;
|
|
31
31
|
}
|
|
32
|
+
async getProject(projectId) {
|
|
33
|
+
try {
|
|
34
|
+
const payload = await this.request(`/ui/projects/${encodeURIComponent(projectId)}`, { method: "GET" });
|
|
35
|
+
return payload.project ?? null;
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
32
41
|
resolveProjectLocation(location) {
|
|
33
42
|
return this.request("/ui/projects/resolve-location", {
|
|
34
43
|
method: "POST",
|
|
@@ -50,6 +59,7 @@ export class RuntimeClient {
|
|
|
50
59
|
user_id: request.userId,
|
|
51
60
|
user_full_name: request.userFullName,
|
|
52
61
|
user_email: request.userEmail,
|
|
62
|
+
code_version: request.codeVersion,
|
|
53
63
|
}),
|
|
54
64
|
});
|
|
55
65
|
return { runId: payload.run_id };
|
|
@@ -67,6 +77,12 @@ export class RuntimeClient {
|
|
|
67
77
|
body: toJsonBody({ run_id: runId }),
|
|
68
78
|
});
|
|
69
79
|
}
|
|
80
|
+
async requestAnnotationEvaluation({ runId }) {
|
|
81
|
+
await this.request("/internal/runner/annotation/evaluate", {
|
|
82
|
+
method: "POST",
|
|
83
|
+
body: toJsonBody({ run_id: runId }),
|
|
84
|
+
});
|
|
85
|
+
}
|
|
70
86
|
async updateRunLog({ runId, logText, replace, }) {
|
|
71
87
|
await this.request("/runner/update-log", {
|
|
72
88
|
method: "POST",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeClient.js","sourceRoot":"","sources":["../src/runtimeClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtimeClient.js","sourceRoot":"","sources":["../src/runtimeClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverLifecycle.d.ts","sourceRoot":"","sources":["../src/serverLifecycle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serverLifecycle.d.ts","sourceRoot":"","sources":["../src/serverLifecycle.ts"],"names":[],"mappings":"AAuBA,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQpE"}
|
package/dist/serverLifecycle.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import { spawn } from "node:child_process";
|
|
2
|
-
import { SERVER_BOOT_POLL_INTERVAL_MS, SERVER_BOOT_TIMEOUT_MS, } from "./constants.js";
|
|
3
|
-
async function wait(ms) {
|
|
4
|
-
await new Promise((resolve) => setTimeout(resolve, ms));
|
|
5
|
-
}
|
|
6
1
|
function getFetch() {
|
|
7
2
|
const maybeOriginal = globalThis[Symbol.for("sovara.originalFetch")];
|
|
8
3
|
if (typeof maybeOriginal === "function") {
|
|
@@ -23,37 +18,10 @@ async function isHealthy(url) {
|
|
|
23
18
|
return false;
|
|
24
19
|
}
|
|
25
20
|
}
|
|
26
|
-
async function spawnServer() {
|
|
27
|
-
await new Promise((resolve, reject) => {
|
|
28
|
-
const child = spawn("so-cli", ["server", "start"], {
|
|
29
|
-
detached: true,
|
|
30
|
-
stdio: "ignore",
|
|
31
|
-
});
|
|
32
|
-
child.once("error", (error) => reject(error));
|
|
33
|
-
child.once("spawn", () => resolve());
|
|
34
|
-
child.unref();
|
|
35
|
-
}).catch((error) => {
|
|
36
|
-
const code = typeof error === "object" && error !== null && "code" in error
|
|
37
|
-
? String(error.code)
|
|
38
|
-
: "";
|
|
39
|
-
if (code === "ENOENT") {
|
|
40
|
-
throw new Error("Sovara server is not running and 'so-cli' was not found. Start it manually with 'so-cli server start' or install Sovara.");
|
|
41
|
-
}
|
|
42
|
-
throw error;
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
21
|
export async function ensureServerRunning(url) {
|
|
46
22
|
if (await isHealthy(url)) {
|
|
47
23
|
return;
|
|
48
24
|
}
|
|
49
|
-
|
|
50
|
-
const started = Date.now();
|
|
51
|
-
while (Date.now() - started <= SERVER_BOOT_TIMEOUT_MS) {
|
|
52
|
-
if (await isHealthy(url)) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
await wait(SERVER_BOOT_POLL_INTERVAL_MS);
|
|
56
|
-
}
|
|
57
|
-
throw new Error("Server not ready");
|
|
25
|
+
throw new Error(`Sovara backend is not reachable at ${url}. Open the Sovara desktop app or configure SOVARA_SERVER_URL to a reachable enterprise Sovara backend endpoint.`);
|
|
58
26
|
}
|
|
59
27
|
//# sourceMappingURL=serverLifecycle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverLifecycle.js","sourceRoot":"","sources":["../src/serverLifecycle.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"serverLifecycle.js","sourceRoot":"","sources":["../src/serverLifecycle.ts"],"names":[],"mappings":"AAAA,SAAS,QAAQ;IACf,MAAM,aAAa,GAAI,UAAyC,CAC9D,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CACnC,CAAC;IACF,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;QACxC,OAAO,aAA6B,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAW;IAClC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA0C,CAAC;QACjF,OAAO,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAW;IACnD,IAAI,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,MAAM,IAAI,KAAK,CACb,sCAAsC,GAAG,iHAAiH,CAC3J,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type RunScopeClient } from "./context.js";
|
|
2
|
+
import type { PrepareCallResponse } from "./runtimeClient.js";
|
|
3
|
+
export type PreparedToolTrace = {
|
|
4
|
+
preparedCall: PrepareCallResponse;
|
|
5
|
+
runId: string;
|
|
6
|
+
inputJson: string;
|
|
7
|
+
startedAt: number;
|
|
8
|
+
client: RunScopeClient;
|
|
9
|
+
};
|
|
10
|
+
export declare function normalizeJsonable(value: unknown): unknown;
|
|
11
|
+
export declare function buildToolInputDict(args: {
|
|
12
|
+
toolName: string;
|
|
13
|
+
toolInput: unknown;
|
|
14
|
+
toolCallId: string;
|
|
15
|
+
meta?: Record<string, unknown>;
|
|
16
|
+
}): Record<string, unknown>;
|
|
17
|
+
export declare function buildToolSuccessOutput(args: {
|
|
18
|
+
toolName: string;
|
|
19
|
+
toolCallId: string;
|
|
20
|
+
result: unknown;
|
|
21
|
+
meta?: Record<string, unknown>;
|
|
22
|
+
}): Record<string, unknown>;
|
|
23
|
+
export declare function buildToolErrorOutput(args: {
|
|
24
|
+
toolName: string;
|
|
25
|
+
toolCallId: string;
|
|
26
|
+
error: unknown;
|
|
27
|
+
}): Record<string, unknown>;
|
|
28
|
+
export declare function shouldTraceTool(toolCallId: string | undefined): boolean;
|
|
29
|
+
export declare function prepareToolTrace(args: {
|
|
30
|
+
toolName: string;
|
|
31
|
+
toolInput: unknown;
|
|
32
|
+
toolCallId: string;
|
|
33
|
+
apiType: string;
|
|
34
|
+
meta?: Record<string, unknown>;
|
|
35
|
+
}): Promise<PreparedToolTrace>;
|
|
36
|
+
export declare function recordPreparedToolOutput(trace: PreparedToolTrace, output: Record<string, unknown>, apiType: string): Promise<void>;
|
|
37
|
+
//# sourceMappingURL=toolTraceUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolTraceUtils.d.ts","sourceRoot":"","sources":["../src/toolTraceUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAEvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAI9D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,mBAAmB,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAuEF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEzD;AA4BD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqB1B;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmB1B;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAY1B;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEvE;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgC7B;AAED,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAYf"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { performance } from "node:perf_hooks";
|
|
2
|
+
import { serialize } from "superjson";
|
|
3
|
+
import { getCurrentRunScope } from "./context.js";
|
|
4
|
+
import { wrapForStorage } from "./payload/wrap.js";
|
|
5
|
+
import { stableJsonStringify } from "./util/stableJson.js";
|
|
6
|
+
import { sanitizeStackTrace } from "./util/stackTrace.js";
|
|
7
|
+
function isPlainRecord(value) {
|
|
8
|
+
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
9
|
+
}
|
|
10
|
+
function fallbackString(value) {
|
|
11
|
+
try {
|
|
12
|
+
return String(value);
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return "[Unserializable]";
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function unserializableMarker(error) {
|
|
19
|
+
const errorType = error instanceof Error ? error.name : "Error";
|
|
20
|
+
return { _sovara_unserializable: errorType };
|
|
21
|
+
}
|
|
22
|
+
function sanitizeJsonValue(value, seen = new WeakSet()) {
|
|
23
|
+
if (value === null || typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
|
|
24
|
+
if (typeof value === "number" && !Number.isFinite(value)) {
|
|
25
|
+
return String(value);
|
|
26
|
+
}
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
if (value === undefined) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
if (typeof value === "bigint" || typeof value === "symbol" || typeof value === "function") {
|
|
33
|
+
return fallbackString(value);
|
|
34
|
+
}
|
|
35
|
+
if (Array.isArray(value)) {
|
|
36
|
+
return value.map((item) => sanitizeJsonValue(item, seen));
|
|
37
|
+
}
|
|
38
|
+
const objectValue = value;
|
|
39
|
+
if (seen.has(objectValue)) {
|
|
40
|
+
return "[Circular]";
|
|
41
|
+
}
|
|
42
|
+
seen.add(objectValue);
|
|
43
|
+
try {
|
|
44
|
+
return Object.fromEntries(Object.entries(objectValue).map(([key, item]) => [key, sanitizeJsonValue(item, seen)]));
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
return unserializableMarker(error);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function normalizeTraceValue(value) {
|
|
51
|
+
try {
|
|
52
|
+
const serialized = serialize(value);
|
|
53
|
+
const normalized = {
|
|
54
|
+
json: sanitizeJsonValue(serialized.json),
|
|
55
|
+
};
|
|
56
|
+
if (serialized.meta !== undefined) {
|
|
57
|
+
normalized.superjsonMeta = sanitizeJsonValue(serialized.meta);
|
|
58
|
+
}
|
|
59
|
+
return normalized;
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
return { json: unserializableMarker(error) };
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export function normalizeJsonable(value) {
|
|
66
|
+
return normalizeTraceValue(value).json;
|
|
67
|
+
}
|
|
68
|
+
function normalizedMetaRecord(meta) {
|
|
69
|
+
const normalized = normalizeTraceValue(meta ?? {});
|
|
70
|
+
return {
|
|
71
|
+
meta: isPlainRecord(normalized.json) ? normalized.json : {},
|
|
72
|
+
superjsonMeta: normalized.superjsonMeta,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
function valueTypeName(value) {
|
|
76
|
+
if (value === null) {
|
|
77
|
+
return "null";
|
|
78
|
+
}
|
|
79
|
+
if (value === undefined) {
|
|
80
|
+
return "undefined";
|
|
81
|
+
}
|
|
82
|
+
if (typeof value !== "object" && typeof value !== "function") {
|
|
83
|
+
return typeof value;
|
|
84
|
+
}
|
|
85
|
+
const constructorName = value.constructor?.name;
|
|
86
|
+
return typeof constructorName === "string" && constructorName ? constructorName : typeof value;
|
|
87
|
+
}
|
|
88
|
+
export function buildToolInputDict(args) {
|
|
89
|
+
const normalizedInput = normalizeTraceValue(args.toolInput);
|
|
90
|
+
const payload = {
|
|
91
|
+
tool_name: args.toolName,
|
|
92
|
+
tool_call_id: args.toolCallId,
|
|
93
|
+
tool_input: normalizedInput.json,
|
|
94
|
+
};
|
|
95
|
+
const { meta, superjsonMeta } = normalizedMetaRecord(args.meta);
|
|
96
|
+
if (normalizedInput.superjsonMeta !== undefined) {
|
|
97
|
+
meta.tool_input_superjson_meta = normalizedInput.superjsonMeta;
|
|
98
|
+
}
|
|
99
|
+
if (superjsonMeta !== undefined) {
|
|
100
|
+
meta.meta_superjson_meta = superjsonMeta;
|
|
101
|
+
}
|
|
102
|
+
if (Object.keys(meta).length > 0) {
|
|
103
|
+
payload._meta = meta;
|
|
104
|
+
}
|
|
105
|
+
if (Array.isArray(normalizedInput.json) || isPlainRecord(normalizedInput.json)) {
|
|
106
|
+
payload.tool_input_json = stableJsonStringify(normalizedInput.json);
|
|
107
|
+
}
|
|
108
|
+
return payload;
|
|
109
|
+
}
|
|
110
|
+
export function buildToolSuccessOutput(args) {
|
|
111
|
+
const normalizedOutput = normalizeTraceValue(args.result);
|
|
112
|
+
const { meta, superjsonMeta } = normalizedMetaRecord(args.meta);
|
|
113
|
+
if (superjsonMeta !== undefined) {
|
|
114
|
+
meta.meta_superjson_meta = superjsonMeta;
|
|
115
|
+
}
|
|
116
|
+
if (normalizedOutput.superjsonMeta !== undefined) {
|
|
117
|
+
meta.tool_output_superjson_meta = normalizedOutput.superjsonMeta;
|
|
118
|
+
}
|
|
119
|
+
if (!("output_type" in meta)) {
|
|
120
|
+
meta.output_type = valueTypeName(args.result);
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
tool_name: args.toolName,
|
|
124
|
+
tool_call_id: args.toolCallId,
|
|
125
|
+
status: "success",
|
|
126
|
+
tool_output: normalizedOutput.json,
|
|
127
|
+
_meta: meta,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
export function buildToolErrorOutput(args) {
|
|
131
|
+
const error = args.error;
|
|
132
|
+
const errorType = error instanceof Error ? error.name : "Error";
|
|
133
|
+
const errorMessage = error instanceof Error ? error.message || error.name : fallbackString(error) || errorType;
|
|
134
|
+
return {
|
|
135
|
+
tool_name: args.toolName,
|
|
136
|
+
tool_call_id: args.toolCallId,
|
|
137
|
+
status: "error",
|
|
138
|
+
error_type: errorType,
|
|
139
|
+
error_message: errorMessage,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
export function shouldTraceTool(toolCallId) {
|
|
143
|
+
return Boolean(toolCallId) && getCurrentRunScope() !== undefined;
|
|
144
|
+
}
|
|
145
|
+
export async function prepareToolTrace(args) {
|
|
146
|
+
const scope = getCurrentRunScope();
|
|
147
|
+
if (!scope) {
|
|
148
|
+
throw new Error("No active Sovara run");
|
|
149
|
+
}
|
|
150
|
+
const inputJson = stableJsonStringify(wrapForStorage(buildToolInputDict({
|
|
151
|
+
toolName: args.toolName,
|
|
152
|
+
toolInput: args.toolInput,
|
|
153
|
+
toolCallId: args.toolCallId,
|
|
154
|
+
meta: args.meta,
|
|
155
|
+
}), { apiType: args.apiType, direction: "input" }));
|
|
156
|
+
const preparedCall = await scope.client.prepareCall({
|
|
157
|
+
runId: scope.runId,
|
|
158
|
+
inputJson,
|
|
159
|
+
apiType: args.apiType,
|
|
160
|
+
stackTrace: sanitizeStackTrace(new Error().stack),
|
|
161
|
+
promptSuffixJson: "[]",
|
|
162
|
+
});
|
|
163
|
+
return {
|
|
164
|
+
preparedCall,
|
|
165
|
+
runId: scope.runId,
|
|
166
|
+
inputJson: preparedCall.preparedInputJson ?? inputJson,
|
|
167
|
+
startedAt: performance.now(),
|
|
168
|
+
client: scope.client,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
export async function recordPreparedToolOutput(trace, output, apiType) {
|
|
172
|
+
await trace.client.recordOutput({
|
|
173
|
+
runId: trace.runId,
|
|
174
|
+
nodeUuid: trace.preparedCall.nodeUuid,
|
|
175
|
+
apiType,
|
|
176
|
+
inputJson: trace.inputJson,
|
|
177
|
+
outputJson: stableJsonStringify(wrapForStorage(output, { apiType, direction: "output" })),
|
|
178
|
+
latencySeconds: Math.max(0, (performance.now() - trace.startedAt) / 1000),
|
|
179
|
+
stackTrace: null,
|
|
180
|
+
nodeKind: trace.preparedCall.nodeKind,
|
|
181
|
+
promptSuffixJson: trace.preparedCall.promptSuffixJson ?? "[]",
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=toolTraceUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolTraceUtils.js","sourceRoot":"","sources":["../src/toolTraceUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/trace.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type TraceOptions = {
|
|
2
|
+
name?: string;
|
|
3
|
+
meta?: Record<string, unknown>;
|
|
4
|
+
};
|
|
5
|
+
type Method<This, Args extends any[], Return> = (this: This, ...args: Args) => Return;
|
|
6
|
+
export declare function trace<F extends (...args: any[]) => any>(fn: F, options?: TraceOptions): F;
|
|
7
|
+
export declare function trace(options: TraceOptions): {
|
|
8
|
+
<F extends (...args: any[]) => any>(fn: F): F;
|
|
9
|
+
<This, Args extends any[], Return>(value: Method<This, Args, Return>, ctx: ClassMethodDecoratorContext<This, Method<This, Args, Return>>): Method<This, Args, Return>;
|
|
10
|
+
};
|
|
11
|
+
export declare function trace<This, Args extends any[], Return>(value: Method<This, Args, Return>, ctx: ClassMethodDecoratorContext<This, Method<This, Args, Return>>): Method<This, Args, Return>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAGF,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,EAAE,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;AAQtF,wBAAgB,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC;AAC3F,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG;IAC5C,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,EAAE,EAAE,MAAM,EAC/B,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EACjC,GAAG,EAAE,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,GACjE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;CAC/B,CAAC;AACF,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,EAAE,EAAE,MAAM,EACpD,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EACjC,GAAG,EAAE,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,GACjE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC"}
|