mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-15 08:03:46 +00:00
fix: add docker-setup action, runtime Dockerfile, and align release workflow
- Add .github/actions/docker-setup composite action (from rivet) - Add docker/runtime/Dockerfile for Docker image builds - Update release.yaml to match rivet patterns: - Use corepack enable instead of pnpm/action-setup - Add reuse_engine_version input - Add Docker job with Depot runners - Use --no-frozen-lockfile for pnpm install - Add id-token permission for setup job
This commit is contained in:
parent
f05389307a
commit
b49776145b
82 changed files with 1415 additions and 2430 deletions
|
|
@ -2,6 +2,7 @@ import { Daytona } from "@daytonaio/sdk";
|
|||
import { pathToFileURL } from "node:url";
|
||||
import {
|
||||
ensureUrl,
|
||||
logInspectorUrl,
|
||||
runPrompt,
|
||||
waitForHealth,
|
||||
} from "../shared/sandbox-agent-client.ts";
|
||||
|
|
@ -39,6 +40,7 @@ export async function setupDaytonaSandboxAgent(): Promise<{
|
|||
|
||||
const baseUrl = ensureUrl(preview.url);
|
||||
await waitForHealth({ baseUrl, token, extraHeaders });
|
||||
logInspectorUrl({ baseUrl, token });
|
||||
|
||||
const cleanup = async () => {
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import Docker from "dockerode";
|
|||
import { pathToFileURL } from "node:url";
|
||||
import {
|
||||
ensureUrl,
|
||||
logInspectorUrl,
|
||||
runPrompt,
|
||||
waitForHealth,
|
||||
} from "../shared/sandbox-agent-client.ts";
|
||||
|
|
@ -83,6 +84,7 @@ export async function setupDockerSandboxAgent(): Promise<{
|
|||
|
||||
const baseUrl = ensureUrl(`http://127.0.0.1:${hostPort}`);
|
||||
await waitForHealth({ baseUrl, token });
|
||||
logInspectorUrl({ baseUrl, token });
|
||||
|
||||
const cleanup = async () => {
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import { Sandbox } from "@e2b/code-interpreter";
|
|||
import { pathToFileURL } from "node:url";
|
||||
import {
|
||||
ensureUrl,
|
||||
logInspectorUrl,
|
||||
runPrompt,
|
||||
waitForHealth,
|
||||
} from "../shared/sandbox-agent-client.ts";
|
||||
|
|
@ -45,6 +46,7 @@ export async function setupE2BSandboxAgent(): Promise<{
|
|||
|
||||
const baseUrl = ensureUrl(sandbox.getHost(port));
|
||||
await waitForHealth({ baseUrl, token });
|
||||
logInspectorUrl({ baseUrl, token });
|
||||
|
||||
const cleanup = async () => {
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -16,6 +16,27 @@ export function ensureUrl(rawUrl: string): string {
|
|||
return `https://${rawUrl}`;
|
||||
}
|
||||
|
||||
const INSPECTOR_URL = "https://inspect.sandboxagent.dev";
|
||||
|
||||
export function buildInspectorUrl({
|
||||
baseUrl,
|
||||
token,
|
||||
}: {
|
||||
baseUrl: string;
|
||||
token?: string;
|
||||
}): string {
|
||||
const normalized = normalizeBaseUrl(ensureUrl(baseUrl));
|
||||
const params = new URLSearchParams({ url: normalized });
|
||||
if (token) {
|
||||
params.set("token", token);
|
||||
}
|
||||
return `${INSPECTOR_URL}?${params.toString()}`;
|
||||
}
|
||||
|
||||
export function logInspectorUrl({ baseUrl, token }: { baseUrl: string; token?: string }): void {
|
||||
console.log(`Inspector: ${buildInspectorUrl({ baseUrl, token })}`);
|
||||
}
|
||||
|
||||
type HeaderOptions = {
|
||||
token?: string;
|
||||
extraHeaders?: Record<string, string>;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import { Sandbox } from "@vercel/sandbox";
|
|||
import { pathToFileURL } from "node:url";
|
||||
import {
|
||||
ensureUrl,
|
||||
logInspectorUrl,
|
||||
runPrompt,
|
||||
waitForHealth,
|
||||
} from "../shared/sandbox-agent-client.ts";
|
||||
|
|
@ -61,6 +62,7 @@ export async function setupVercelSandboxAgent(): Promise<{
|
|||
|
||||
const baseUrl = ensureUrl(sandbox.domain(port));
|
||||
await waitForHealth({ baseUrl, token });
|
||||
logInspectorUrl({ baseUrl, token });
|
||||
|
||||
const cleanup = async () => {
|
||||
try {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue