@sovara/runner 0.3.3 → 0.3.4
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 +9 -14
- package/dist/claudeAgentSdk/wrapper.d.ts.map +1 -1
- package/dist/claudeAgentSdk/wrapper.js +8 -20
- package/dist/claudeAgentSdk/wrapper.js.map +1 -1
- package/dist/context.d.ts +2 -6
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +0 -5
- package/dist/context.js.map +1 -1
- package/dist/env.d.ts +1 -1
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +2 -73
- package/dist/env.js.map +1 -1
- package/dist/runtimeClient.d.ts +0 -6
- package/dist/runtimeClient.d.ts.map +1 -1
- package/dist/runtimeClient.js +12 -33
- package/dist/runtimeClient.js.map +1 -1
- package/dist/serverLifecycle.js +1 -1
- package/dist/serverLifecycle.js.map +1 -1
- package/package.json +4 -3
- package/dist/claudeAgentSdk/parseHook.d.ts +0 -20
- package/dist/claudeAgentSdk/parseHook.d.ts.map +0 -1
- package/dist/claudeAgentSdk/parseHook.js +0 -160
- package/dist/claudeAgentSdk/parseHook.js.map +0 -1
- package/dist/user.d.ts +0 -11
- package/dist/user.d.ts.map +0 -1
- package/dist/user.js +0 -31
- package/dist/user.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @sovara/runner
|
|
2
2
|
|
|
3
|
-
TypeScript runner for [Sovara](https://
|
|
3
|
+
TypeScript runner for [Sovara](https://docs.sovara-labs.com) — wrap your script in a
|
|
4
4
|
single function and Sovara records every LLM call, tool invocation, and log
|
|
5
5
|
line into a structured run graph.
|
|
6
6
|
|
|
@@ -8,11 +8,13 @@ The runner is the TS counterpart to the Python `sovara` runner. It targets
|
|
|
8
8
|
the same Sovara server, produces the same node shapes, and is safe to mix
|
|
9
9
|
with Python runs in the same project.
|
|
10
10
|
|
|
11
|
+
Documentation: https://docs.sovara-labs.com
|
|
12
|
+
|
|
11
13
|
## Requirements
|
|
12
14
|
|
|
13
15
|
- Node 18 or newer (built-in `fetch`).
|
|
14
|
-
- A reachable Sovara backend. For local use, open the Sovara desktop app
|
|
15
|
-
|
|
16
|
+
- A reachable Sovara backend. For local use, open the Sovara desktop app.
|
|
17
|
+
Enterprise agent projects should use their project-specific connection flow.
|
|
16
18
|
- A Sovara user and project, configured once with `sovara init`.
|
|
17
19
|
|
|
18
20
|
## Install
|
|
@@ -93,9 +95,8 @@ completes.
|
|
|
93
95
|
```ts
|
|
94
96
|
export type WithSovaraRunOptions = {
|
|
95
97
|
name: string; // required run name
|
|
96
|
-
url?: string; // server URL (default:
|
|
98
|
+
url?: string; // server URL (default: http://127.0.0.1:5959)
|
|
97
99
|
captureLogs?: boolean; // default: true
|
|
98
|
-
user?: { fullName?: string; email?: string }; // overrides only
|
|
99
100
|
project?: { name?: string; description?: string };
|
|
100
101
|
};
|
|
101
102
|
|
|
@@ -284,30 +285,24 @@ for await (const message of handle.query("What did I install last?")) {
|
|
|
284
285
|
|
|
285
286
|
| Variable | Purpose | Default |
|
|
286
287
|
| ---------------------------- | -------------------------------------------------------------------------- | ----------------------- |
|
|
287
|
-
| `SOVARA_SERVER_URL` | Override the Sovara server URL | `http://127.0.0.1:5959` |
|
|
288
288
|
| `HOST` | Server host (used to compute the default URL) | `127.0.0.1` |
|
|
289
289
|
| `PYTHON_PORT` | Server port (used to compute the default URL) | `5959` |
|
|
290
290
|
| `SOVARA_CLAUDE_PROXY_ACTIVE` | Set automatically by `@sovara/runner/claude` to prevent nested proxy loops | unset |
|
|
291
291
|
|
|
292
292
|
### Server URL
|
|
293
293
|
|
|
294
|
-
|
|
294
|
+
The TypeScript runner uses the local backend by default. Pass `url` per call only when the caller explicitly manages a remote backend connection:
|
|
295
295
|
|
|
296
296
|
```ts
|
|
297
297
|
await withSovaraRun({ name: "demo", url: "http://localhost:6000" }, fn);
|
|
298
298
|
```
|
|
299
299
|
|
|
300
|
-
Or set `SOVARA_SERVER_URL` once for the process.
|
|
301
|
-
|
|
302
300
|
## Error messages
|
|
303
301
|
|
|
304
302
|
The runner fails fast for misconfiguration. Common ones:
|
|
305
303
|
|
|
306
|
-
- **`Sovara backend is not reachable at <url>. Open the Sovara desktop app or
|
|
307
|
-
Open the desktop app for local runs, or
|
|
308
|
-
|
|
309
|
-
- **``Sovara user setup is missing. Run `sovara init --user-name <full-name> --user-email <email>` and retry.``**
|
|
310
|
-
Run the suggested `sovara init` command.
|
|
304
|
+
- **`Sovara backend is not reachable at <url>. Open the Sovara desktop app or pass an explicit url to withSovaraRun for a managed remote run.`**
|
|
305
|
+
Open the desktop app for local runs, or pass `url` when the caller owns remote backend setup.
|
|
311
306
|
|
|
312
307
|
- **``Sovara project setup is missing for <cwd>. Run `sovara init --project-root "<cwd>" --project-name <project-name>` and retry.``**
|
|
313
308
|
Run the suggested `sovara init` command.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../src/claudeAgentSdk/wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,IAAI,WAAW,EAErB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAW,cAAc,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../src/claudeAgentSdk/wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,IAAI,WAAW,EAErB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAW,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAY9E,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5C,KAAK,SAAS,GAAG;IAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC;AAC5F,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAElD,KAAK,WAAW,GAAG;IACjB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAgPF,wBAAgB,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,CAMnD;AAED,wBAAsB,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBpE"}
|
|
@@ -3,7 +3,6 @@ import { randomUUID } from "node:crypto";
|
|
|
3
3
|
import { getCurrentRunScope } from "../context.js";
|
|
4
4
|
import { warnOnce } from "../util/logger.js";
|
|
5
5
|
import { sanitizeStackTrace } from "../util/stackTrace.js";
|
|
6
|
-
import { publishClaudeSdkMessage } from "./parseHook.js";
|
|
7
6
|
const DEFAULT_ANTHROPIC_BASE_URL = "https://api.anthropic.com";
|
|
8
7
|
const UNSUPPORTED_CUSTOM_TRANSPORT_MESSAGE = "Custom Claude Agent SDK transports are not supported yet under sovara.";
|
|
9
8
|
const PROXY_LOOP_MESSAGE = "Claude Agent SDK ANTHROPIC_BASE_URL points at the Sovara Claude proxy itself. Nested Claude proxy configuration is not supported.";
|
|
@@ -54,7 +53,7 @@ function isDuplicateSdkTerminalError(error) {
|
|
|
54
53
|
return (error instanceof Error &&
|
|
55
54
|
error.message.startsWith("Claude Code returned an error result:"));
|
|
56
55
|
}
|
|
57
|
-
function wrapQueryResult(createSource, beforeRead
|
|
56
|
+
function wrapQueryResult(createSource, beforeRead) {
|
|
58
57
|
let source;
|
|
59
58
|
async function getSource() {
|
|
60
59
|
await beforeRead;
|
|
@@ -66,7 +65,7 @@ function wrapQueryResult(createSource, beforeRead, onMessage) {
|
|
|
66
65
|
const iterator = (async function* () {
|
|
67
66
|
const resolvedSource = await getSource();
|
|
68
67
|
if (!isAsyncIterable(resolvedSource)) {
|
|
69
|
-
warnOnce("claude-sdk-non-iterable-query", "[sovara] Claude SDK query() returned a non-iterable result; skipping
|
|
68
|
+
warnOnce("claude-sdk-non-iterable-query", "[sovara] Claude SDK query() returned a non-iterable result; skipping query wrapper instrumentation.");
|
|
70
69
|
return;
|
|
71
70
|
}
|
|
72
71
|
let yieldedSdkErrorResult = false;
|
|
@@ -75,7 +74,6 @@ function wrapQueryResult(createSource, beforeRead, onMessage) {
|
|
|
75
74
|
if (isSdkErrorResult(message)) {
|
|
76
75
|
yieldedSdkErrorResult = true;
|
|
77
76
|
}
|
|
78
|
-
await onMessage(message);
|
|
79
77
|
yield message;
|
|
80
78
|
}
|
|
81
79
|
}
|
|
@@ -152,32 +150,22 @@ function instrumentQuery(input, scope) {
|
|
|
152
150
|
return wrapQueryResult(() => claudeQuery({
|
|
153
151
|
...input,
|
|
154
152
|
options: nextOptions,
|
|
155
|
-
}), registrationPromise
|
|
156
|
-
await publishClaudeSdkMessage(message, {
|
|
157
|
-
scope,
|
|
158
|
-
stackTrace: sanitizeStackTrace(new Error().stack),
|
|
159
|
-
});
|
|
160
|
-
});
|
|
153
|
+
}), registrationPromise);
|
|
161
154
|
}
|
|
162
|
-
function wrapWarmQueryResult(source
|
|
155
|
+
function wrapWarmQueryResult(source) {
|
|
163
156
|
if (!isAsyncIterable(source)) {
|
|
164
157
|
return source;
|
|
165
158
|
}
|
|
166
|
-
return wrapQueryResult(() => source, Promise.resolve()
|
|
167
|
-
await publishClaudeSdkMessage(message, {
|
|
168
|
-
scope,
|
|
169
|
-
stackTrace: sanitizeStackTrace(new Error().stack),
|
|
170
|
-
});
|
|
171
|
-
});
|
|
159
|
+
return wrapQueryResult(() => source, Promise.resolve());
|
|
172
160
|
}
|
|
173
|
-
function patchWarmQueryHandle(warmQueryHandle
|
|
161
|
+
function patchWarmQueryHandle(warmQueryHandle) {
|
|
174
162
|
if (!isObject(warmQueryHandle) || typeof warmQueryHandle.query !== "function") {
|
|
175
163
|
return warmQueryHandle;
|
|
176
164
|
}
|
|
177
165
|
const originalQuery = warmQueryHandle.query.bind(warmQueryHandle);
|
|
178
166
|
const patchedWarmQuery = (prompt) => {
|
|
179
167
|
const rawResult = originalQuery(prompt);
|
|
180
|
-
return wrapWarmQueryResult(rawResult
|
|
168
|
+
return wrapWarmQueryResult(rawResult);
|
|
181
169
|
};
|
|
182
170
|
try {
|
|
183
171
|
warmQueryHandle.query = patchedWarmQuery;
|
|
@@ -214,6 +202,6 @@ export async function startup(params) {
|
|
|
214
202
|
options: nextOptions,
|
|
215
203
|
});
|
|
216
204
|
await registrationPromise;
|
|
217
|
-
return patchWarmQueryHandle(warm
|
|
205
|
+
return patchWarmQueryHandle(warm);
|
|
218
206
|
}
|
|
219
207
|
//# sourceMappingURL=wrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../src/claudeAgentSdk/wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,IAAI,WAAW,EACpB,OAAO,IAAI,aAAa,GACzB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAiB,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../src/claudeAgentSdk/wrapper.ts"],"names":[],"mappings":"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"}
|
package/dist/context.d.ts
CHANGED
|
@@ -3,10 +3,6 @@ export type WithSovaraRunOptions = {
|
|
|
3
3
|
name: string;
|
|
4
4
|
url?: string;
|
|
5
5
|
captureLogs?: boolean;
|
|
6
|
-
user?: {
|
|
7
|
-
fullName?: string;
|
|
8
|
-
email?: string;
|
|
9
|
-
};
|
|
10
6
|
project?: {
|
|
11
7
|
name?: string;
|
|
12
8
|
description?: string;
|
|
@@ -17,8 +13,8 @@ export type WithSovaraRunOptions = {
|
|
|
17
13
|
requireProjectConfig?: boolean;
|
|
18
14
|
};
|
|
19
15
|
};
|
|
20
|
-
type CoreRunScopeClientMethods = "registerSubrun" | "deregisterRun" | "updateRunLog" | "
|
|
21
|
-
type ClaudeRunScopeClientMethods = "registerClaudeProxyClient"
|
|
16
|
+
type CoreRunScopeClientMethods = "registerSubrun" | "deregisterRun" | "updateRunLog" | "getProject" | "registerRun" | "prepareCall" | "recordOutput" | "recordException";
|
|
17
|
+
type ClaudeRunScopeClientMethods = "registerClaudeProxyClient";
|
|
22
18
|
type PriorsRunScopeClientMethods = "queryPriors" | "retrievePriors";
|
|
23
19
|
type AnnotationRunScopeClientMethods = "requestAnnotationEvaluation";
|
|
24
20
|
export type RunScopeClient = Pick<RuntimeClient, CoreRunScopeClientMethods> & Partial<Pick<RuntimeClient, ClaudeRunScopeClientMethods | PriorsRunScopeClientMethods | AnnotationRunScopeClientMethods>>;
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAKnD,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,SAAS,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,cAAc,CAAC;QACxB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,CAAC;CACH,CAAC;AAEF,KAAK,yBAAyB,GAC1B,gBAAgB,GAChB,eAAe,GACf,cAAc,GACd,YAAY,GACZ,aAAa,GACb,aAAa,GACb,cAAc,GACd,iBAAiB,CAAC;AAEtB,KAAK,2BAA2B,GAAG,2BAA2B,CAAC;AAE/D,KAAK,2BAA2B,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAEpE,KAAK,+BAA+B,GAAG,6BAA6B,CAAC;AAErE,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,yBAAyB,CAAC,GACzE,OAAO,CACL,IAAI,CACF,aAAa,EACb,2BAA2B,GAAG,2BAA2B,GAAG,+BAA+B,CAC5F,CACF,CAAC;AAEJ,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAWF,wBAAgB,kBAAkB,IAAI,QAAQ,GAAG,SAAS,CAEzD;AAED,wBAAsB,aAAa,CAAC,CAAC,EACnC,KAAK,EAAE,MAAM,GAAG,oBAAoB,EACpC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GACvB,OAAO,CAAC,CAAC,CAAC,CA8FZ"}
|
package/dist/context.js
CHANGED
|
@@ -6,7 +6,6 @@ import { installRunLogCapture } from "./runLogCapture.js";
|
|
|
6
6
|
import { RuntimeClient } from "./runtimeClient.js";
|
|
7
7
|
import { ensureServerRunning } from "./serverLifecycle.js";
|
|
8
8
|
import { startRunSseListener } from "./sseListener.js";
|
|
9
|
-
import { resolveActiveUser } from "./user.js";
|
|
10
9
|
import { ensureMcpPatchInstalled } from "./mcpPatch.js";
|
|
11
10
|
const scopeStorage = new AsyncLocalStorage();
|
|
12
11
|
function normalizeOptions(input) {
|
|
@@ -47,7 +46,6 @@ export async function withSovaraRun(input, fn) {
|
|
|
47
46
|
await ensureServerRunning(url);
|
|
48
47
|
}
|
|
49
48
|
const client = options.__testing?.client ?? new RuntimeClient(url);
|
|
50
|
-
const user = await resolveActiveUser(client, options.user);
|
|
51
49
|
const project = await resolveProjectContext(client, config.cwd, options.project, {
|
|
52
50
|
allowMissingProjectConfig: Boolean(options.__testing?.client
|
|
53
51
|
&& skipLifecycle
|
|
@@ -63,9 +61,6 @@ export async function withSovaraRun(input, fn) {
|
|
|
63
61
|
projectName: project.projectName,
|
|
64
62
|
projectDescription: project.projectDescription,
|
|
65
63
|
projectRoot: project.projectRoot,
|
|
66
|
-
userId: user.userId,
|
|
67
|
-
userFullName: user.fullName,
|
|
68
|
-
userEmail: user.email,
|
|
69
64
|
codeVersion,
|
|
70
65
|
});
|
|
71
66
|
const scope = {
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
package/dist/env.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ export type RunnerConfig = {
|
|
|
3
3
|
environment: Record<string, string>;
|
|
4
4
|
url: string;
|
|
5
5
|
};
|
|
6
|
-
export declare function resolveServerURL(
|
|
6
|
+
export declare function resolveServerURL(): string;
|
|
7
7
|
export declare function readRunnerConfig(): RunnerConfig;
|
|
8
8
|
//# sourceMappingURL=env.d.ts.map
|
package/dist/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,gBAAgB,IAAI,YAAY,CAU/C"}
|
package/dist/env.js
CHANGED
|
@@ -1,16 +1,5 @@
|
|
|
1
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
-
import { homedir } from "node:os";
|
|
3
|
-
import { join } from "node:path";
|
|
4
1
|
import { DEFAULT_SERVER_URL } from "./constants.js";
|
|
5
|
-
export function resolveServerURL(
|
|
6
|
-
const envURL = normalizeServerURL(environment.SOVARA_SERVER_URL);
|
|
7
|
-
if (envURL) {
|
|
8
|
-
return envURL;
|
|
9
|
-
}
|
|
10
|
-
const configuredURL = readConfiguredServerURL(environment);
|
|
11
|
-
if (configuredURL) {
|
|
12
|
-
return configuredURL;
|
|
13
|
-
}
|
|
2
|
+
export function resolveServerURL() {
|
|
14
3
|
return DEFAULT_SERVER_URL;
|
|
15
4
|
}
|
|
16
5
|
export function readRunnerConfig() {
|
|
@@ -18,67 +7,7 @@ export function readRunnerConfig() {
|
|
|
18
7
|
return {
|
|
19
8
|
cwd: process.cwd(),
|
|
20
9
|
environment,
|
|
21
|
-
url: resolveServerURL(
|
|
10
|
+
url: resolveServerURL(),
|
|
22
11
|
};
|
|
23
12
|
}
|
|
24
|
-
function readConfiguredServerURL(environment) {
|
|
25
|
-
const home = environment.HOME || homedir();
|
|
26
|
-
if (!home) {
|
|
27
|
-
return null;
|
|
28
|
-
}
|
|
29
|
-
const configPath = join(home, ".sovara", "config.yaml");
|
|
30
|
-
if (!existsSync(configPath)) {
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
const content = readFileSync(configPath, "utf8");
|
|
34
|
-
for (const rawLine of content.split(/\r?\n/)) {
|
|
35
|
-
const parsed = parseConfigLine(rawLine);
|
|
36
|
-
if (!parsed) {
|
|
37
|
-
continue;
|
|
38
|
-
}
|
|
39
|
-
const [key, value] = parsed;
|
|
40
|
-
if (key !== "server_url" && key !== "sovara_server_url") {
|
|
41
|
-
continue;
|
|
42
|
-
}
|
|
43
|
-
return normalizeServerURL(value);
|
|
44
|
-
}
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
function parseConfigLine(line) {
|
|
48
|
-
const trimmed = line.trim();
|
|
49
|
-
if (!trimmed || trimmed.startsWith("#")) {
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
const separator = trimmed.indexOf(":");
|
|
53
|
-
if (separator === -1) {
|
|
54
|
-
return null;
|
|
55
|
-
}
|
|
56
|
-
const key = trimmed.slice(0, separator).trim();
|
|
57
|
-
const value = stripInlineComment(trimmed.slice(separator + 1)).trim().replace(/^['"]|['"]$/g, "");
|
|
58
|
-
if (!key || !value) {
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
return [key, value];
|
|
62
|
-
}
|
|
63
|
-
function stripInlineComment(value) {
|
|
64
|
-
let inSingle = false;
|
|
65
|
-
let inDouble = false;
|
|
66
|
-
for (let i = 0; i < value.length; i += 1) {
|
|
67
|
-
const char = value[i];
|
|
68
|
-
if (char === "'" && !inDouble) {
|
|
69
|
-
inSingle = !inSingle;
|
|
70
|
-
}
|
|
71
|
-
else if (char === '"' && !inSingle) {
|
|
72
|
-
inDouble = !inDouble;
|
|
73
|
-
}
|
|
74
|
-
else if (char === "#" && !inSingle && !inDouble) {
|
|
75
|
-
return value.slice(0, i);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return value;
|
|
79
|
-
}
|
|
80
|
-
function normalizeServerURL(value) {
|
|
81
|
-
const trimmed = value?.trim().replace(/\/+$/, "");
|
|
82
|
-
return trimmed || null;
|
|
83
|
-
}
|
|
84
13
|
//# sourceMappingURL=env.js.map
|
package/dist/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAQpD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CACpC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CACnD,CAAC;IAE5B,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,WAAW;QACX,GAAG,EAAE,gBAAgB,EAAE;KACxB,CAAC;AACJ,CAAC"}
|
package/dist/runtimeClient.d.ts
CHANGED
|
@@ -13,9 +13,6 @@ export type RegisterRunRequest = {
|
|
|
13
13
|
projectName: string;
|
|
14
14
|
projectDescription: string;
|
|
15
15
|
projectRoot: string;
|
|
16
|
-
userId: string;
|
|
17
|
-
userFullName: string;
|
|
18
|
-
userEmail: string;
|
|
19
16
|
codeVersion: CodeVersion;
|
|
20
17
|
};
|
|
21
18
|
export type RegisterRunResponse = {
|
|
@@ -68,7 +65,6 @@ export declare class RuntimeClient {
|
|
|
68
65
|
private readonly baseUrl;
|
|
69
66
|
private readonly fetchFn;
|
|
70
67
|
constructor(baseUrl: string, fetchFn?: typeof fetch);
|
|
71
|
-
getActiveUser(): Promise<Record<string, unknown> | null>;
|
|
72
68
|
getProject(projectId: string): Promise<Record<string, unknown> | null>;
|
|
73
69
|
resolveProjectLocation(location: string): Promise<Record<string, unknown>>;
|
|
74
70
|
registerRun(request: RegisterRunRequest): Promise<RegisterRunResponse>;
|
|
@@ -102,8 +98,6 @@ export declare class RuntimeClient {
|
|
|
102
98
|
recordOutput(request: FinalizeCallRequest): Promise<void>;
|
|
103
99
|
recordException(request: FinalizeCallRequest): Promise<void>;
|
|
104
100
|
registerClaudeProxyClient(runId: string, clientId: string, upstreamBaseUrl: string, stackTrace: string | null): Promise<void>;
|
|
105
|
-
registerClaudeSdkToolUse(runId: string, toolUseId: string, toolName: string, toolInput: unknown, stackTrace: string | null): Promise<void>;
|
|
106
|
-
finalizeClaudeSdkToolResult(runId: string, toolUseId: string, toolResult: unknown, isError: boolean): Promise<void>;
|
|
107
101
|
private request;
|
|
108
102
|
}
|
|
109
103
|
//# sourceMappingURL=runtimeClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeClient.d.ts","sourceRoot":"","sources":["../src/runtimeClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;gBAEX,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;CAK1C;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,
|
|
1
|
+
{"version":3,"file":"runtimeClient.d.ts","sourceRoot":"","sources":["../src/runtimeClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;gBAEX,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;CAK1C;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAChD,CAAC;AAMF,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;gBAE3B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK;IAY7C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAmB5E,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAOpE,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmBtE,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAQ/E,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1D,2BAA2B,CAAC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxE,YAAY,CAAC,EACjB,KAAK,EACL,OAAO,EACP,OAAO,GACR,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOX,WAAW,CAAC,EAChB,KAAK,EACL,IAAI,GACL,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IAWzD,cAAc,CAAC,EACnB,KAAK,EACL,IAAI,EACJ,OAAO,GACR,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC;IAgBhC,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA+BtE,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzD,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB5D,yBAAyB,CAC7B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GAAG,IAAI,GACxB,OAAO,CAAC,IAAI,CAAC;YAYF,OAAO;CAyBtB"}
|
package/dist/runtimeClient.js
CHANGED
|
@@ -23,16 +23,17 @@ export class RuntimeClient {
|
|
|
23
23
|
const maybeOriginal = globalThis[Symbol.for("sovara.originalFetch")];
|
|
24
24
|
this.fetchFn = typeof maybeOriginal === "function" ? maybeOriginal : fetch;
|
|
25
25
|
}
|
|
26
|
-
async getActiveUser() {
|
|
27
|
-
const payload = await this.request("/ui/user", {
|
|
28
|
-
method: "GET",
|
|
29
|
-
});
|
|
30
|
-
return payload.user ?? null;
|
|
31
|
-
}
|
|
32
26
|
async getProject(projectId) {
|
|
33
27
|
try {
|
|
34
28
|
const payload = await this.request(`/ui/projects/${encodeURIComponent(projectId)}`, { method: "GET" });
|
|
35
|
-
|
|
29
|
+
if (!payload || typeof payload !== "object") {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
const data = payload;
|
|
33
|
+
if (data.project && typeof data.project === "object") {
|
|
34
|
+
return data.project;
|
|
35
|
+
}
|
|
36
|
+
return typeof data.project_id === "string" ? data : null;
|
|
36
37
|
}
|
|
37
38
|
catch {
|
|
38
39
|
return null;
|
|
@@ -56,9 +57,6 @@ export class RuntimeClient {
|
|
|
56
57
|
project_name: request.projectName,
|
|
57
58
|
project_description: request.projectDescription,
|
|
58
59
|
project_root: request.projectRoot,
|
|
59
|
-
user_id: request.userId,
|
|
60
|
-
user_full_name: request.userFullName,
|
|
61
|
-
user_email: request.userEmail,
|
|
62
60
|
code_version: request.codeVersion,
|
|
63
61
|
}),
|
|
64
62
|
});
|
|
@@ -175,34 +173,15 @@ export class RuntimeClient {
|
|
|
175
173
|
}),
|
|
176
174
|
});
|
|
177
175
|
}
|
|
178
|
-
async registerClaudeSdkToolUse(runId, toolUseId, toolName, toolInput, stackTrace) {
|
|
179
|
-
await this.request("/internal/runner/claude-sdk/tool-use", {
|
|
180
|
-
method: "POST",
|
|
181
|
-
body: toJsonBody({
|
|
182
|
-
run_id: runId,
|
|
183
|
-
tool_use_id: toolUseId,
|
|
184
|
-
tool_name: toolName,
|
|
185
|
-
tool_input: toolInput,
|
|
186
|
-
stack_trace: stackTrace,
|
|
187
|
-
}),
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
async finalizeClaudeSdkToolResult(runId, toolUseId, toolResult, isError) {
|
|
191
|
-
await this.request("/internal/runner/claude-sdk/tool-result", {
|
|
192
|
-
method: "POST",
|
|
193
|
-
body: toJsonBody({
|
|
194
|
-
run_id: runId,
|
|
195
|
-
tool_use_id: toolUseId,
|
|
196
|
-
tool_result: toolResult,
|
|
197
|
-
is_error: isError,
|
|
198
|
-
}),
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
176
|
async request(path, init) {
|
|
177
|
+
const agentToken = typeof process !== "undefined" ? process.env.SOVARA_AGENT_TOKEN?.trim() : "";
|
|
178
|
+
const accessToken = typeof process !== "undefined" ? process.env.SOVARA_ACCESS_TOKEN?.trim() : "";
|
|
202
179
|
const response = await this.fetchFn(`${this.baseUrl}${path}`, {
|
|
203
180
|
...init,
|
|
204
181
|
headers: {
|
|
205
182
|
"content-type": "application/json",
|
|
183
|
+
...(agentToken ? { "x-sovara-agent-token": agentToken } : {}),
|
|
184
|
+
...(accessToken ? { authorization: `Bearer ${accessToken}` } : {}),
|
|
206
185
|
...(init.headers ?? {}),
|
|
207
186
|
},
|
|
208
187
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeClient.js","sourceRoot":"","sources":["../src/runtimeClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAClC,MAAM,CAAS;IACf,IAAI,CAAU;IAEvB,YAAY,MAAc,EAAE,IAAa;QACvC,KAAK,CAAC,6CAA6C,MAAM,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"runtimeClient.js","sourceRoot":"","sources":["../src/runtimeClient.ts"],"names":[],"mappings":"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"}
|
package/dist/serverLifecycle.js
CHANGED
|
@@ -22,6 +22,6 @@ export async function ensureServerRunning(url) {
|
|
|
22
22
|
if (await isHealthy(url)) {
|
|
23
23
|
return;
|
|
24
24
|
}
|
|
25
|
-
throw new Error(`Sovara backend is not reachable at ${url}. Open the Sovara desktop app or
|
|
25
|
+
throw new Error(`Sovara backend is not reachable at ${url}. Open the Sovara desktop app or pass an explicit url to withSovaraRun for a managed remote run.`);
|
|
26
26
|
}
|
|
27
27
|
//# sourceMappingURL=serverLifecycle.js.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,kGAAkG,CAC5I,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sovara/runner",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"description": "TypeScript runner for Sovara — wrap a script in a single function to record every LLM call, tool invocation, and log line into a structured run graph.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "SovaraLabs",
|
|
7
|
-
"homepage": "https://
|
|
7
|
+
"homepage": "https://docs.sovara-labs.com",
|
|
8
8
|
"bugs": "https://github.com/SovaraLabs/sovara/issues",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
@@ -65,7 +65,8 @@
|
|
|
65
65
|
"@anthropic-ai/claude-agent-sdk": "^0.2.132",
|
|
66
66
|
"@types/node": "^22.10.2",
|
|
67
67
|
"typescript": "^5.6.3",
|
|
68
|
-
"
|
|
68
|
+
"vite": "^7.3.1",
|
|
69
|
+
"vitest": "^4.1.1"
|
|
69
70
|
},
|
|
70
71
|
"dependencies": {
|
|
71
72
|
"flat": "^6.0.1",
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { type RunScope } from "../context.js";
|
|
2
|
-
type ToolUseBlock = {
|
|
3
|
-
id: string;
|
|
4
|
-
name: string;
|
|
5
|
-
input: unknown;
|
|
6
|
-
};
|
|
7
|
-
type ToolResultBlock = {
|
|
8
|
-
toolUseId: string;
|
|
9
|
-
content: unknown;
|
|
10
|
-
isError: boolean;
|
|
11
|
-
};
|
|
12
|
-
export declare function extractClaudeSdkToolUseBlocks(message: unknown): ToolUseBlock[];
|
|
13
|
-
export declare function extractClaudeSdkToolResultBlocks(message: unknown): ToolResultBlock[];
|
|
14
|
-
export declare function normalizeToolResultContent(content: unknown): unknown;
|
|
15
|
-
export declare function publishClaudeSdkMessage(message: unknown, options?: {
|
|
16
|
-
scope?: RunScope;
|
|
17
|
-
stackTrace?: string | null;
|
|
18
|
-
}): Promise<void>;
|
|
19
|
-
export {};
|
|
20
|
-
//# sourceMappingURL=parseHook.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseHook.d.ts","sourceRoot":"","sources":["../../src/claudeAgentSdk/parseHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIlE,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AA0DF,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,EAAE,CAoB9E;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,EAAE,CAyDpF;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEpE;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,QAAQ,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACzD,OAAO,CAAC,IAAI,CAAC,CA8Cf"}
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { getCurrentRunScope } from "../context.js";
|
|
2
|
-
import { warnOnce } from "../util/logger.js";
|
|
3
|
-
import { sanitizeStackTrace } from "../util/stackTrace.js";
|
|
4
|
-
function isObject(value) {
|
|
5
|
-
return !!value && typeof value === "object";
|
|
6
|
-
}
|
|
7
|
-
function toContentBlocks(message) {
|
|
8
|
-
if (!isObject(message)) {
|
|
9
|
-
return [];
|
|
10
|
-
}
|
|
11
|
-
const outerContent = message.content;
|
|
12
|
-
if (Array.isArray(outerContent)) {
|
|
13
|
-
return outerContent;
|
|
14
|
-
}
|
|
15
|
-
const wrappedMessage = message.message;
|
|
16
|
-
if (isObject(wrappedMessage) && Array.isArray(wrappedMessage.content)) {
|
|
17
|
-
return wrappedMessage.content;
|
|
18
|
-
}
|
|
19
|
-
return [];
|
|
20
|
-
}
|
|
21
|
-
function extractTopLevelToolUse(message) {
|
|
22
|
-
if (!isObject(message) || message.type !== "tool_use") {
|
|
23
|
-
return [];
|
|
24
|
-
}
|
|
25
|
-
const id = typeof message.id === "string" ? message.id : "";
|
|
26
|
-
const name = typeof message.name === "string" ? message.name : "";
|
|
27
|
-
if (!id || !name) {
|
|
28
|
-
return [];
|
|
29
|
-
}
|
|
30
|
-
return [{ id, name, input: message.input }];
|
|
31
|
-
}
|
|
32
|
-
function extractTopLevelToolResult(message) {
|
|
33
|
-
if (!isObject(message) || message.type !== "tool_result") {
|
|
34
|
-
return [];
|
|
35
|
-
}
|
|
36
|
-
const toolUseId = typeof message.tool_use_id === "string"
|
|
37
|
-
? message.tool_use_id
|
|
38
|
-
: typeof message.toolUseId === "string"
|
|
39
|
-
? message.toolUseId
|
|
40
|
-
: "";
|
|
41
|
-
if (!toolUseId) {
|
|
42
|
-
return [];
|
|
43
|
-
}
|
|
44
|
-
return [
|
|
45
|
-
{
|
|
46
|
-
toolUseId,
|
|
47
|
-
content: message.content,
|
|
48
|
-
isError: Boolean(message.is_error ?? message.isError),
|
|
49
|
-
},
|
|
50
|
-
];
|
|
51
|
-
}
|
|
52
|
-
export function extractClaudeSdkToolUseBlocks(message) {
|
|
53
|
-
const topLevel = extractTopLevelToolUse(message);
|
|
54
|
-
if (topLevel.length > 0) {
|
|
55
|
-
return topLevel;
|
|
56
|
-
}
|
|
57
|
-
const blocks = toContentBlocks(message);
|
|
58
|
-
const toolUses = [];
|
|
59
|
-
for (const block of blocks) {
|
|
60
|
-
if (!isObject(block) || block.type !== "tool_use") {
|
|
61
|
-
continue;
|
|
62
|
-
}
|
|
63
|
-
const id = typeof block.id === "string" ? block.id : "";
|
|
64
|
-
const name = typeof block.name === "string" ? block.name : "";
|
|
65
|
-
if (!id || !name) {
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
toolUses.push({ id, name, input: block.input });
|
|
69
|
-
}
|
|
70
|
-
return toolUses;
|
|
71
|
-
}
|
|
72
|
-
export function extractClaudeSdkToolResultBlocks(message) {
|
|
73
|
-
const topLevel = extractTopLevelToolResult(message);
|
|
74
|
-
if (topLevel.length > 0) {
|
|
75
|
-
return topLevel;
|
|
76
|
-
}
|
|
77
|
-
const blocks = toContentBlocks(message);
|
|
78
|
-
const toolResults = [];
|
|
79
|
-
for (const block of blocks) {
|
|
80
|
-
if (!isObject(block) || block.type !== "tool_result") {
|
|
81
|
-
continue;
|
|
82
|
-
}
|
|
83
|
-
const toolUseId = typeof block.tool_use_id === "string"
|
|
84
|
-
? block.tool_use_id
|
|
85
|
-
: typeof block.toolUseId === "string"
|
|
86
|
-
? block.toolUseId
|
|
87
|
-
: "";
|
|
88
|
-
if (!toolUseId) {
|
|
89
|
-
continue;
|
|
90
|
-
}
|
|
91
|
-
toolResults.push({
|
|
92
|
-
toolUseId,
|
|
93
|
-
content: block.content,
|
|
94
|
-
isError: Boolean(block.is_error ?? block.isError),
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
if (toolResults.length > 0) {
|
|
98
|
-
return toolResults;
|
|
99
|
-
}
|
|
100
|
-
if (!isObject(message)) {
|
|
101
|
-
return [];
|
|
102
|
-
}
|
|
103
|
-
const maybeToolUseResult = message.tool_use_result;
|
|
104
|
-
if (!isObject(maybeToolUseResult)) {
|
|
105
|
-
return [];
|
|
106
|
-
}
|
|
107
|
-
const toolUseId = typeof maybeToolUseResult.tool_use_id === "string"
|
|
108
|
-
? maybeToolUseResult.tool_use_id
|
|
109
|
-
: typeof maybeToolUseResult.toolUseId === "string"
|
|
110
|
-
? maybeToolUseResult.toolUseId
|
|
111
|
-
: "";
|
|
112
|
-
if (!toolUseId) {
|
|
113
|
-
return [];
|
|
114
|
-
}
|
|
115
|
-
return [
|
|
116
|
-
{
|
|
117
|
-
toolUseId,
|
|
118
|
-
content: maybeToolUseResult.content,
|
|
119
|
-
isError: Boolean(maybeToolUseResult.is_error ?? maybeToolUseResult.isError),
|
|
120
|
-
},
|
|
121
|
-
];
|
|
122
|
-
}
|
|
123
|
-
export function normalizeToolResultContent(content) {
|
|
124
|
-
return content == null ? "" : content;
|
|
125
|
-
}
|
|
126
|
-
export async function publishClaudeSdkMessage(message, options) {
|
|
127
|
-
const scope = options?.scope ?? getCurrentRunScope();
|
|
128
|
-
if (!scope) {
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
const registerToolUse = scope.client.registerClaudeSdkToolUse;
|
|
132
|
-
const finalizeToolResult = scope.client.finalizeClaudeSdkToolResult;
|
|
133
|
-
if (typeof registerToolUse !== "function" && typeof finalizeToolResult !== "function") {
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
const stackTrace = options?.stackTrace ?? sanitizeStackTrace(new Error().stack);
|
|
137
|
-
if (typeof registerToolUse === "function") {
|
|
138
|
-
const toolUses = extractClaudeSdkToolUseBlocks(message);
|
|
139
|
-
for (const block of toolUses) {
|
|
140
|
-
try {
|
|
141
|
-
await registerToolUse(scope.runId, block.id, block.name, block.input, stackTrace);
|
|
142
|
-
}
|
|
143
|
-
catch {
|
|
144
|
-
warnOnce("claude-sdk-tool-use", "[sovara] Failed to register Claude SDK tool-use event.");
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
if (typeof finalizeToolResult === "function") {
|
|
149
|
-
const toolResults = extractClaudeSdkToolResultBlocks(message);
|
|
150
|
-
for (const block of toolResults) {
|
|
151
|
-
try {
|
|
152
|
-
await finalizeToolResult(scope.runId, block.toolUseId, normalizeToolResultContent(block.content), block.isError);
|
|
153
|
-
}
|
|
154
|
-
catch {
|
|
155
|
-
warnOnce("claude-sdk-tool-result", "[sovara] Failed to finalize Claude SDK tool-result event.");
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
//# sourceMappingURL=parseHook.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseHook.js","sourceRoot":"","sources":["../../src/claudeAgentSdk/parseHook.ts"],"names":[],"mappings":"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"}
|
package/dist/user.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
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
|
package/dist/user.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
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 `sovara init --user-name <full-name> --user-email <email>` and retry.");
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=user.js.map
|
package/dist/user.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|