@alvax-ai/adapter-utils 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 (61) hide show
  1. package/dist/billing.d.ts +2 -0
  2. package/dist/billing.d.ts.map +1 -0
  3. package/dist/billing.js +16 -0
  4. package/dist/billing.js.map +1 -0
  5. package/dist/command-managed-runtime.d.ts +45 -0
  6. package/dist/command-managed-runtime.d.ts.map +1 -0
  7. package/dist/command-managed-runtime.js +164 -0
  8. package/dist/command-managed-runtime.js.map +1 -0
  9. package/dist/command-redaction.d.ts +3 -0
  10. package/dist/command-redaction.d.ts.map +1 -0
  11. package/dist/command-redaction.js +17 -0
  12. package/dist/command-redaction.js.map +1 -0
  13. package/dist/execution-target.d.ts +150 -0
  14. package/dist/execution-target.d.ts.map +1 -0
  15. package/dist/execution-target.js +791 -0
  16. package/dist/execution-target.js.map +1 -0
  17. package/dist/index.d.ts +8 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +5 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/log-redaction.d.ts +9 -0
  22. package/dist/log-redaction.d.ts.map +1 -0
  23. package/dist/log-redaction.js +88 -0
  24. package/dist/log-redaction.js.map +1 -0
  25. package/dist/remote-execution-env.d.ts +2 -0
  26. package/dist/remote-execution-env.d.ts.map +1 -0
  27. package/dist/remote-execution-env.js +46 -0
  28. package/dist/remote-execution-env.js.map +1 -0
  29. package/dist/remote-managed-runtime.d.ts +31 -0
  30. package/dist/remote-managed-runtime.d.ts.map +1 -0
  31. package/dist/remote-managed-runtime.js +81 -0
  32. package/dist/remote-managed-runtime.js.map +1 -0
  33. package/dist/sandbox-callback-bridge.d.ts +132 -0
  34. package/dist/sandbox-callback-bridge.d.ts.map +1 -0
  35. package/dist/sandbox-callback-bridge.js +928 -0
  36. package/dist/sandbox-callback-bridge.js.map +1 -0
  37. package/dist/sandbox-managed-runtime.d.ts +54 -0
  38. package/dist/sandbox-managed-runtime.d.ts.map +1 -0
  39. package/dist/sandbox-managed-runtime.js +234 -0
  40. package/dist/sandbox-managed-runtime.js.map +1 -0
  41. package/dist/sandbox-shell.d.ts +2 -0
  42. package/dist/sandbox-shell.d.ts.map +1 -0
  43. package/dist/sandbox-shell.js +4 -0
  44. package/dist/sandbox-shell.js.map +1 -0
  45. package/dist/server-utils.d.ts +253 -0
  46. package/dist/server-utils.d.ts.map +1 -0
  47. package/dist/server-utils.js +1580 -0
  48. package/dist/server-utils.js.map +1 -0
  49. package/dist/session-compaction.d.ts +25 -0
  50. package/dist/session-compaction.d.ts.map +1 -0
  51. package/dist/session-compaction.js +154 -0
  52. package/dist/session-compaction.js.map +1 -0
  53. package/dist/ssh.d.ts +111 -0
  54. package/dist/ssh.d.ts.map +1 -0
  55. package/dist/ssh.js +1098 -0
  56. package/dist/ssh.js.map +1 -0
  57. package/dist/types.d.ts +465 -0
  58. package/dist/types.d.ts.map +1 -0
  59. package/dist/types.js +5 -0
  60. package/dist/types.js.map +1 -0
  61. package/package.json +45 -0
@@ -0,0 +1,2 @@
1
+ export declare function inferOpenAiCompatibleBiller(env: NodeJS.ProcessEnv, fallback?: string | null): string | null;
2
+ //# sourceMappingURL=billing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"AAKA,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,QAAQ,GAAE,MAAM,GAAG,IAAe,GACjC,MAAM,GAAG,IAAI,CAWf"}
@@ -0,0 +1,16 @@
1
+ function readEnv(env, key) {
2
+ const value = env[key];
3
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : null;
4
+ }
5
+ export function inferOpenAiCompatibleBiller(env, fallback = "openai") {
6
+ const explicitOpenRouterKey = readEnv(env, "OPENROUTER_API_KEY");
7
+ if (explicitOpenRouterKey)
8
+ return "openrouter";
9
+ const baseUrl = readEnv(env, "OPENAI_BASE_URL") ??
10
+ readEnv(env, "OPENAI_API_BASE") ??
11
+ readEnv(env, "OPENAI_API_BASE_URL");
12
+ if (baseUrl && /openrouter\.ai/i.test(baseUrl))
13
+ return "openrouter";
14
+ return fallback;
15
+ }
16
+ //# sourceMappingURL=billing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing.js","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"AAAA,SAAS,OAAO,CAAC,GAAsB,EAAE,GAAW;IAClD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,GAAsB,EACtB,WAA0B,QAAQ;IAElC,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACjE,IAAI,qBAAqB;QAAE,OAAO,YAAY,CAAC;IAE/C,MAAM,OAAO,GACX,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC;QAC/B,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC;QAC/B,OAAO,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;IACtC,IAAI,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,YAAY,CAAC;IAEpE,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { type PreparedSandboxManagedRuntime, type SandboxManagedRuntimeAsset, type SandboxManagedRuntimeClient } from "./sandbox-managed-runtime.js";
2
+ import type { RunProcessResult } from "./server-utils.js";
3
+ export interface CommandManagedRuntimeRunner {
4
+ execute(input: {
5
+ command: string;
6
+ args?: string[];
7
+ cwd?: string;
8
+ env?: Record<string, string>;
9
+ stdin?: string;
10
+ timeoutMs?: number;
11
+ onLog?: (stream: "stdout" | "stderr", chunk: string) => Promise<void>;
12
+ onSpawn?: (meta: {
13
+ pid: number;
14
+ startedAt: string;
15
+ }) => Promise<void>;
16
+ }): Promise<RunProcessResult>;
17
+ }
18
+ export interface CommandManagedRuntimeSpec {
19
+ providerKey?: string | null;
20
+ shellCommand?: "bash" | "sh" | null;
21
+ leaseId?: string | null;
22
+ remoteCwd: string;
23
+ timeoutMs?: number | null;
24
+ }
25
+ export type CommandManagedRuntimeAsset = SandboxManagedRuntimeAsset;
26
+ export declare function createCommandManagedRuntimeClient(input: {
27
+ runner: CommandManagedRuntimeRunner;
28
+ remoteCwd: string;
29
+ timeoutMs: number;
30
+ shellCommand?: "bash" | "sh" | null;
31
+ }): SandboxManagedRuntimeClient;
32
+ export declare function prepareCommandManagedRuntime(input: {
33
+ runner: CommandManagedRuntimeRunner;
34
+ spec: CommandManagedRuntimeSpec;
35
+ adapterKey: string;
36
+ workspaceLocalDir: string;
37
+ workspaceRemoteDir?: string;
38
+ workspaceExclude?: string[];
39
+ preserveAbsentOnRestore?: string[];
40
+ assets?: CommandManagedRuntimeAsset[];
41
+ installCommand?: string | null;
42
+ /** When provided alongside `installCommand`, skip the install if `command -v <detectCommand>` succeeds. */
43
+ detectCommand?: string | null;
44
+ }): Promise<PreparedSandboxManagedRuntime>;
45
+ //# sourceMappingURL=command-managed-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-managed-runtime.d.ts","sourceRoot":"","sources":["../src/command-managed-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAEjC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,KAAK,EAAE;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACtE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACvE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,0BAA0B,GAAG,0BAA0B,CAAC;AAyBpE,wBAAgB,iCAAiC,CAAC,KAAK,EAAE;IACvD,MAAM,EAAE,2BAA2B,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CACrC,GAAG,2BAA2B,CAwE9B;AAED,wBAAsB,4BAA4B,CAAC,KAAK,EAAE;IACxD,MAAM,EAAE,2BAA2B,CAAC;IACpC,IAAI,EAAE,yBAAyB,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,MAAM,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,2GAA2G;IAC3G,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CA8EzC"}
@@ -0,0 +1,164 @@
1
+ import path from "node:path";
2
+ import { prepareSandboxManagedRuntime, } from "./sandbox-managed-runtime.js";
3
+ import { preferredShellForSandbox } from "./sandbox-shell.js";
4
+ function shellQuote(value) {
5
+ return `'${value.replace(/'/g, `'"'"'`)}'`;
6
+ }
7
+ function mergeRuntimeExcludes(entries) {
8
+ return [...new Set([".alvax-runtime", ...(entries ?? [])])];
9
+ }
10
+ const REMOTE_WRITE_BASE64_CHUNK_SIZE = 32 * 1024;
11
+ function toBuffer(bytes) {
12
+ if (Buffer.isBuffer(bytes))
13
+ return bytes;
14
+ if (bytes instanceof ArrayBuffer)
15
+ return Buffer.from(bytes);
16
+ return Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength);
17
+ }
18
+ function requireSuccessfulResult(result, action) {
19
+ if (result.exitCode === 0 && !result.timedOut)
20
+ return;
21
+ const stderr = result.stderr.trim();
22
+ const detail = stderr.length > 0 ? `: ${stderr}` : "";
23
+ throw new Error(`${action} failed with exit code ${result.exitCode ?? "null"}${detail}`);
24
+ }
25
+ export function createCommandManagedRuntimeClient(input) {
26
+ const shellCommand = preferredShellForSandbox(input.shellCommand);
27
+ const runShell = async (script, opts = {}) => {
28
+ const result = await input.runner.execute({
29
+ command: shellCommand,
30
+ args: ["-lc", script],
31
+ cwd: input.remoteCwd,
32
+ stdin: opts.stdin,
33
+ timeoutMs: opts.timeoutMs ?? input.timeoutMs,
34
+ });
35
+ requireSuccessfulResult(result, script);
36
+ return result;
37
+ };
38
+ return {
39
+ makeDir: async (remotePath) => {
40
+ await runShell(`mkdir -p ${shellQuote(remotePath)}`);
41
+ },
42
+ writeFile: async (remotePath, bytes) => {
43
+ const body = toBuffer(bytes).toString("base64");
44
+ const remoteDir = path.posix.dirname(remotePath);
45
+ const remoteTempPath = `${remotePath}.alvax-upload.b64`;
46
+ await runShell(`mkdir -p ${shellQuote(remoteDir)} && rm -f ${shellQuote(remoteTempPath)} && : > ${shellQuote(remoteTempPath)}`);
47
+ for (let offset = 0; offset < body.length; offset += REMOTE_WRITE_BASE64_CHUNK_SIZE) {
48
+ const chunk = body.slice(offset, offset + REMOTE_WRITE_BASE64_CHUNK_SIZE);
49
+ await runShell(`printf '%s' ${shellQuote(chunk)} >> ${shellQuote(remoteTempPath)}`);
50
+ }
51
+ await runShell(`base64 -d < ${shellQuote(remoteTempPath)} > ${shellQuote(remotePath)} && rm -f ${shellQuote(remoteTempPath)}`);
52
+ },
53
+ readFile: async (remotePath) => {
54
+ const result = await runShell(`base64 < ${shellQuote(remotePath)}`);
55
+ return Buffer.from(result.stdout.replace(/\s+/g, ""), "base64");
56
+ },
57
+ listFiles: async (remotePath) => {
58
+ const result = await runShell(`if [ -d ${shellQuote(remotePath)} ]; then ` +
59
+ `for entry in ${shellQuote(remotePath)}/*; do ` +
60
+ `[ -f "$entry" ] || continue; ` +
61
+ `basename "$entry"; ` +
62
+ `done; ` +
63
+ `fi`);
64
+ return result.stdout
65
+ .split(/\r?\n/)
66
+ .map((entry) => entry.trim())
67
+ .filter((entry) => entry.length > 0)
68
+ .sort((left, right) => left.localeCompare(right));
69
+ },
70
+ remove: async (remotePath) => {
71
+ const result = await input.runner.execute({
72
+ command: shellCommand,
73
+ args: ["-lc", `rm -rf ${shellQuote(remotePath)}`],
74
+ cwd: input.remoteCwd,
75
+ timeoutMs: input.timeoutMs,
76
+ });
77
+ requireSuccessfulResult(result, `remove ${remotePath}`);
78
+ },
79
+ run: async (command, options) => {
80
+ const result = await input.runner.execute({
81
+ command: shellCommand,
82
+ args: ["-lc", command],
83
+ cwd: input.remoteCwd,
84
+ timeoutMs: options.timeoutMs,
85
+ });
86
+ requireSuccessfulResult(result, command);
87
+ },
88
+ };
89
+ }
90
+ export async function prepareCommandManagedRuntime(input) {
91
+ const timeoutMs = input.spec.timeoutMs && input.spec.timeoutMs > 0 ? input.spec.timeoutMs : 300_000;
92
+ const workspaceRemoteDir = input.workspaceRemoteDir ?? input.spec.remoteCwd;
93
+ const runtimeSpec = {
94
+ transport: "sandbox",
95
+ provider: input.spec.providerKey ?? "sandbox",
96
+ sandboxId: input.spec.leaseId ?? "managed",
97
+ remoteCwd: workspaceRemoteDir,
98
+ timeoutMs,
99
+ apiKey: null,
100
+ };
101
+ const client = createCommandManagedRuntimeClient({
102
+ runner: input.runner,
103
+ remoteCwd: workspaceRemoteDir,
104
+ timeoutMs,
105
+ shellCommand: input.spec.shellCommand,
106
+ });
107
+ const shellCommand = preferredShellForSandbox(input.spec.shellCommand);
108
+ if (input.installCommand?.trim()) {
109
+ const installCommand = input.installCommand.trim();
110
+ const detectCommand = input.detectCommand?.trim();
111
+ // Skip the install when the binary is already on PATH. Without this
112
+ // probe the install runs unconditionally on every execute() call (and
113
+ // also runs a second time after `ensureAdapterExecutionTargetCommandResolvable`
114
+ // has already installed it during the resolvability gate).
115
+ if (detectCommand) {
116
+ const probe = await input.runner.execute({
117
+ command: shellCommand,
118
+ args: ["-lc", `command -v ${shellQuote(detectCommand)} >/dev/null 2>&1`],
119
+ cwd: workspaceRemoteDir,
120
+ timeoutMs,
121
+ });
122
+ if (!probe.timedOut && (probe.exitCode ?? 1) === 0) {
123
+ return await prepareSandboxManagedRuntime({
124
+ spec: runtimeSpec,
125
+ client,
126
+ adapterKey: input.adapterKey,
127
+ workspaceLocalDir: input.workspaceLocalDir,
128
+ workspaceRemoteDir,
129
+ workspaceExclude: mergeRuntimeExcludes(input.workspaceExclude),
130
+ preserveAbsentOnRestore: input.preserveAbsentOnRestore,
131
+ assets: input.assets,
132
+ });
133
+ }
134
+ }
135
+ const result = await input.runner.execute({
136
+ command: shellCommand,
137
+ args: ["-lc", installCommand],
138
+ cwd: workspaceRemoteDir,
139
+ timeoutMs,
140
+ });
141
+ // A failed install is not always fatal: the CLI may already be on PATH
142
+ // from a previous lease, the template image, or another path entry. Log
143
+ // and continue rather than aborting the agent run; downstream code that
144
+ // exec's the CLI will surface a clear "command not found" if it is in
145
+ // fact missing. The test path's `maybeRunSandboxInstallCommand` already
146
+ // honors this contract — keep them consistent.
147
+ if (result.timedOut || (result.exitCode ?? 0) !== 0) {
148
+ const tail = (text) => text.split(/\r?\n/).filter((line) => line.trim().length > 0).slice(-3).join(" | ").slice(0, 480);
149
+ const reason = result.timedOut ? "timed out" : `exited ${result.exitCode ?? "?"}`;
150
+ console.warn(`[alvax] managed-runtime install command ${reason}: ${installCommand} :: ${tail(result.stderr || result.stdout)}`);
151
+ }
152
+ }
153
+ return await prepareSandboxManagedRuntime({
154
+ spec: runtimeSpec,
155
+ client,
156
+ adapterKey: input.adapterKey,
157
+ workspaceLocalDir: input.workspaceLocalDir,
158
+ workspaceRemoteDir,
159
+ workspaceExclude: mergeRuntimeExcludes(input.workspaceExclude),
160
+ preserveAbsentOnRestore: input.preserveAbsentOnRestore,
161
+ assets: input.assets,
162
+ });
163
+ }
164
+ //# sourceMappingURL=command-managed-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-managed-runtime.js","sourceRoot":"","sources":["../src/command-managed-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const REDACTED_COMMAND_TEXT_VALUE = "***REDACTED***";
2
+ export declare function redactCommandText(command: string, redactedValue?: string): string;
3
+ //# sourceMappingURL=command-redaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-redaction.d.ts","sourceRoot":"","sources":["../src/command-redaction.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,mBAAmB,CAAC;AAY5D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,SAA8B,GAAG,MAAM,CAQtG"}
@@ -0,0 +1,17 @@
1
+ export const REDACTED_COMMAND_TEXT_VALUE = "***REDACTED***";
2
+ const COMMAND_CLI_SECRET_OPTION_RE = /(\B-{1,2}(?:api[-_]?key|(?:access[-_]?|auth[-_]?)?token|token|authorization|bearer|secret|passwd|password|credential|jwt|private[-_]?key|cookie|connectionstring)(?:\s+|=)(["']?))[^\s"'`]+(\2)/gi;
3
+ const COMMAND_ENV_SECRET_ASSIGNMENT_RE = /(\b[A-Za-z0-9_]*(?:TOKEN|KEY|SECRET|PASSWORD|PASSWD|AUTHORIZATION|JWT)[A-Za-z0-9_]*\s*=\s*)[^\s"'`]+/gi;
4
+ const COMMAND_AUTHORIZATION_BEARER_RE = /(\bAuthorization\s*:\s*Bearer\s+)[^\s"'`]+/gi;
5
+ const COMMAND_OPENAI_KEY_RE = /\bsk-[A-Za-z0-9_-]{12,}\b/g;
6
+ const COMMAND_GITHUB_TOKEN_RE = /\bgh[pousr]_[A-Za-z0-9_]{20,}\b/g;
7
+ const COMMAND_JWT_RE = /\b[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}(?:\.[A-Za-z0-9_-]{8,})?\b/g;
8
+ export function redactCommandText(command, redactedValue = REDACTED_COMMAND_TEXT_VALUE) {
9
+ return command
10
+ .replace(COMMAND_AUTHORIZATION_BEARER_RE, `$1${redactedValue}`)
11
+ .replace(COMMAND_CLI_SECRET_OPTION_RE, `$1${redactedValue}$3`)
12
+ .replace(COMMAND_ENV_SECRET_ASSIGNMENT_RE, `$1${redactedValue}`)
13
+ .replace(COMMAND_OPENAI_KEY_RE, redactedValue)
14
+ .replace(COMMAND_GITHUB_TOKEN_RE, redactedValue)
15
+ .replace(COMMAND_JWT_RE, redactedValue);
16
+ }
17
+ //# sourceMappingURL=command-redaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-redaction.js","sourceRoot":"","sources":["../src/command-redaction.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,gBAAgB,CAAC;AAE5D,MAAM,4BAA4B,GAChC,mMAAmM,CAAC;AACtM,MAAM,gCAAgC,GACpC,wGAAwG,CAAC;AAC3G,MAAM,+BAA+B,GAAG,8CAA8C,CAAC;AACvF,MAAM,qBAAqB,GAAG,4BAA4B,CAAC;AAC3D,MAAM,uBAAuB,GAAG,kCAAkC,CAAC;AACnE,MAAM,cAAc,GAClB,sFAAsF,CAAC;AAEzF,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,aAAa,GAAG,2BAA2B;IAC5F,OAAO,OAAO;SACX,OAAO,CAAC,+BAA+B,EAAE,KAAK,aAAa,EAAE,CAAC;SAC9D,OAAO,CAAC,4BAA4B,EAAE,KAAK,aAAa,IAAI,CAAC;SAC7D,OAAO,CAAC,gCAAgC,EAAE,KAAK,aAAa,EAAE,CAAC;SAC/D,OAAO,CAAC,qBAAqB,EAAE,aAAa,CAAC;SAC7C,OAAO,CAAC,uBAAuB,EAAE,aAAa,CAAC;SAC/C,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,150 @@
1
+ import type { SshRemoteExecutionSpec } from "./ssh.js";
2
+ import { type CommandManagedRuntimeRunner } from "./command-managed-runtime.js";
3
+ import { type RemoteManagedRuntimeAsset } from "./remote-managed-runtime.js";
4
+ import { type RunProcessResult, type TerminalResultCleanupOptions } from "./server-utils.js";
5
+ export interface AdapterLocalExecutionTarget {
6
+ kind: "local";
7
+ environmentId?: string | null;
8
+ leaseId?: string | null;
9
+ }
10
+ export interface AdapterSshExecutionTarget {
11
+ kind: "remote";
12
+ transport: "ssh";
13
+ environmentId?: string | null;
14
+ leaseId?: string | null;
15
+ remoteCwd: string;
16
+ spec: SshRemoteExecutionSpec;
17
+ }
18
+ export interface AdapterSandboxExecutionTarget {
19
+ kind: "remote";
20
+ transport: "sandbox";
21
+ providerKey?: string | null;
22
+ shellCommand?: "bash" | "sh" | null;
23
+ environmentId?: string | null;
24
+ leaseId?: string | null;
25
+ remoteCwd: string;
26
+ timeoutMs?: number | null;
27
+ runner?: CommandManagedRuntimeRunner;
28
+ }
29
+ export type AdapterExecutionTarget = AdapterLocalExecutionTarget | AdapterSshExecutionTarget | AdapterSandboxExecutionTarget;
30
+ export type AdapterRemoteExecutionSpec = SshRemoteExecutionSpec;
31
+ export type AdapterManagedRuntimeAsset = RemoteManagedRuntimeAsset;
32
+ export interface PreparedAdapterExecutionTargetRuntime {
33
+ target: AdapterExecutionTarget;
34
+ runtimeRootDir: string | null;
35
+ assetDirs: Record<string, string>;
36
+ restoreWorkspace(): Promise<void>;
37
+ }
38
+ export interface AdapterExecutionTargetProcessOptions {
39
+ cwd: string;
40
+ env: Record<string, string>;
41
+ stdin?: string;
42
+ timeoutSec: number;
43
+ graceSec: number;
44
+ onLog: (stream: "stdout" | "stderr", chunk: string) => Promise<void>;
45
+ onSpawn?: (meta: {
46
+ pid: number;
47
+ processGroupId: number | null;
48
+ startedAt: string;
49
+ }) => Promise<void>;
50
+ terminalResultCleanup?: TerminalResultCleanupOptions;
51
+ }
52
+ export interface AdapterExecutionTargetShellOptions {
53
+ cwd: string;
54
+ env: Record<string, string>;
55
+ timeoutSec?: number;
56
+ graceSec?: number;
57
+ onLog?: (stream: "stdout" | "stderr", chunk: string) => Promise<void>;
58
+ }
59
+ export interface AdapterExecutionTargetAlvaxBridgeHandle {
60
+ env: Record<string, string>;
61
+ stop(): Promise<void>;
62
+ }
63
+ export { sanitizeRemoteExecutionEnv } from "./remote-execution-env.js";
64
+ export declare function adapterExecutionTargetToRemoteSpec(target: AdapterExecutionTarget | null | undefined): AdapterRemoteExecutionSpec | null;
65
+ export declare function adapterExecutionTargetIsRemote(target: AdapterExecutionTarget | null | undefined): boolean;
66
+ export declare function adapterExecutionTargetUsesManagedHome(target: AdapterExecutionTarget | null | undefined): boolean;
67
+ export declare function adapterExecutionTargetRemoteCwd(target: AdapterExecutionTarget | null | undefined, localCwd: string): string;
68
+ export declare function resolveAdapterExecutionTargetCwd(target: AdapterExecutionTarget | null | undefined, configuredCwd: string | null | undefined, localFallbackCwd: string): string;
69
+ export declare function adapterExecutionTargetUsesAlvaxBridge(target: AdapterExecutionTarget | null | undefined): boolean;
70
+ export declare function describeAdapterExecutionTarget(target: AdapterExecutionTarget | null | undefined): string;
71
+ export declare function ensureAdapterExecutionTargetCommandResolvable(command: string, target: AdapterExecutionTarget | null | undefined, cwd: string, env: NodeJS.ProcessEnv, options?: {
72
+ installCommand?: string | null;
73
+ }): Promise<void>;
74
+ export declare function resolveAdapterExecutionTargetCommandForLogs(command: string, target: AdapterExecutionTarget | null | undefined, cwd: string, env: NodeJS.ProcessEnv): Promise<string>;
75
+ export declare function runAdapterExecutionTargetProcess(runId: string, target: AdapterExecutionTarget | null | undefined, command: string, args: string[], options: AdapterExecutionTargetProcessOptions): Promise<RunProcessResult>;
76
+ export declare function runAdapterExecutionTargetShellCommand(runId: string, target: AdapterExecutionTarget | null | undefined, command: string, options: AdapterExecutionTargetShellOptions): Promise<RunProcessResult>;
77
+ export interface AdapterSandboxInstallCommandCheck {
78
+ code: string;
79
+ level: "info" | "warn" | "error";
80
+ message: string;
81
+ detail?: string;
82
+ hint?: string;
83
+ }
84
+ export declare function maybeRunSandboxInstallCommand(input: {
85
+ runId: string;
86
+ target: AdapterExecutionTarget | null | undefined;
87
+ adapterKey: string;
88
+ installCommand: string;
89
+ /** When provided, skip the install if `command -v <detectCommand>` succeeds. */
90
+ detectCommand?: string | null;
91
+ env?: Record<string, string>;
92
+ timeoutSec?: number;
93
+ }): Promise<AdapterSandboxInstallCommandCheck | null>;
94
+ export declare function readAdapterExecutionTargetHomeDir(runId: string, target: AdapterExecutionTarget | null | undefined, options: AdapterExecutionTargetShellOptions): Promise<string | null>;
95
+ export declare function ensureAdapterExecutionTargetRuntimeCommandInstalled(input: {
96
+ runId: string;
97
+ target: AdapterExecutionTarget | null | undefined;
98
+ installCommand?: string | null;
99
+ detectCommand?: string | null;
100
+ cwd: string;
101
+ env: Record<string, string>;
102
+ timeoutSec?: number;
103
+ graceSec?: number;
104
+ onLog?: AdapterExecutionTargetShellOptions["onLog"];
105
+ }): Promise<void>;
106
+ export declare function ensureAdapterExecutionTargetFile(runId: string, target: AdapterExecutionTarget | null | undefined, filePath: string, options: AdapterExecutionTargetShellOptions): Promise<void>;
107
+ /**
108
+ * Ensure a working directory exists (and is a directory) on the execution target.
109
+ *
110
+ * For local targets this delegates to the local `ensureAbsoluteDirectory` helper
111
+ * (Node fs). For remote (SSH/sandbox) targets it shells out and runs
112
+ * `mkdir -p` (when allowed) followed by a `[ -d ]` check so the result reflects
113
+ * the directory state inside the environment, not on the Alvax host.
114
+ *
115
+ * Throws an Error with a human-readable message on failure.
116
+ */
117
+ export declare function ensureAdapterExecutionTargetDirectory(runId: string, target: AdapterExecutionTarget | null | undefined, cwd: string, options: AdapterExecutionTargetShellOptions & {
118
+ createIfMissing?: boolean;
119
+ }): Promise<void>;
120
+ export declare function adapterExecutionTargetSessionIdentity(target: AdapterExecutionTarget | null | undefined): Record<string, unknown> | null;
121
+ export declare function adapterExecutionTargetSessionMatches(saved: unknown, target: AdapterExecutionTarget | null | undefined): boolean;
122
+ export declare function parseAdapterExecutionTarget(value: unknown): AdapterExecutionTarget | null;
123
+ export declare function adapterExecutionTargetFromRemoteExecution(remoteExecution: unknown, metadata?: Pick<AdapterLocalExecutionTarget, "environmentId" | "leaseId">): AdapterExecutionTarget | null;
124
+ export declare function readAdapterExecutionTarget(input: {
125
+ executionTarget?: unknown;
126
+ legacyRemoteExecution?: unknown;
127
+ }): AdapterExecutionTarget | null;
128
+ export declare function prepareAdapterExecutionTargetRuntime(input: {
129
+ target: AdapterExecutionTarget | null | undefined;
130
+ adapterKey: string;
131
+ workspaceLocalDir: string;
132
+ workspaceExclude?: string[];
133
+ preserveAbsentOnRestore?: string[];
134
+ assets?: AdapterManagedRuntimeAsset[];
135
+ installCommand?: string | null;
136
+ /** When provided alongside `installCommand`, skip the install if the binary is already on PATH. */
137
+ detectCommand?: string | null;
138
+ }): Promise<PreparedAdapterExecutionTargetRuntime>;
139
+ export declare function runtimeAssetDir(prepared: Pick<PreparedAdapterExecutionTargetRuntime, "assetDirs">, key: string, fallbackRemoteCwd: string): string;
140
+ export declare function startAdapterExecutionTargetAlvaxBridge(input: {
141
+ runId: string;
142
+ target: AdapterExecutionTarget | null | undefined;
143
+ runtimeRootDir: string | null | undefined;
144
+ adapterKey: string;
145
+ hostApiToken: string | null | undefined;
146
+ hostApiUrl?: string | null;
147
+ onLog?: (stream: "stdout" | "stderr", chunk: string) => Promise<void>;
148
+ maxBodyBytes?: number | null;
149
+ }): Promise<AdapterExecutionTargetAlvaxBridgeHandle | null>;
150
+ //# sourceMappingURL=execution-target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-target.d.ts","sourceRoot":"","sources":["../src/execution-target.ts"],"names":[],"mappings":"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"}