{"version":3,"file":"metadata.mjs","names":["providers: readonly ProviderMetadata[]"],"sources":["../src/metadata.ts"],"sourcesContent":["import {\n  boxCapabilities,\n  daytonaCapabilities,\n  e2bCapabilities,\n  localCapabilities,\n  railwayCapabilities,\n  upstashCapabilities,\n  vercelCapabilities,\n} from \"./providers/capabilities\";\nimport type { CapabilityMap, ProviderName } from \"./core/types\";\n\nexport interface LiveTestResult {\n  provider: ProviderName;\n  testedAt: string;\n  adapterVersion: string;\n  providerSdkVersion: string;\n  passed: number;\n  failed: number;\n  skipped: number;\n  capabilities: Partial<CapabilityMap>;\n}\n\nexport interface ProviderMetadata {\n  id: ProviderName;\n  displayName: string;\n  officialUrl: string;\n  packageName: string | null;\n  packageVersion: string;\n  capabilities: CapabilityMap;\n  environmentVariables: readonly string[];\n  technicalStatus: \"supported\" | \"experimental\";\n  providerReviewed: boolean;\n  sponsor: boolean;\n  liveTest: LiveTestResult | null;\n  portBehavior: string;\n  snapshotBehavior: string;\n  runtimeLimitations: string;\n}\n\nexport const providers: readonly ProviderMetadata[] = [\n  {\n    id: \"local\",\n    displayName: \"Local\",\n    officialUrl: \"https://rivet.dev/docs/agent-os/\",\n    packageName: \"@rivet-dev/agentos-core\",\n    packageVersion: \"0.2.7\",\n    capabilities: localCapabilities,\n    environmentVariables: [],\n    technicalStatus: \"supported\",\n    providerReviewed: false,\n    sponsor: false,\n    liveTest: null,\n    portBehavior:\n      \"Returns a private in-process URL. HTTP traffic is bridged through ExposedPort.request().\",\n    snapshotBehavior:\n      \"Exports the AgentOS virtual filesystem and recreates the VM when restoring it.\",\n    runtimeLimitations:\n      \"Powered by the beta AgentOS runtime. Requires a supported Node.js host and cannot run arbitrary native Linux binaries.\",\n  },\n  {\n    id: \"e2b\",\n    displayName: \"E2B\",\n    officialUrl: \"https://e2b.dev/docs\",\n    packageName: \"e2b\",\n    packageVersion: \"2.32.0\",\n    capabilities: e2bCapabilities,\n    environmentVariables: [\"E2B_API_KEY\"],\n    technicalStatus: \"supported\",\n    providerReviewed: false,\n    sponsor: false,\n    liveTest: null,\n    portBehavior:\n      \"Returns an E2B host. Restricted traffic uses the native access token only inside request().\",\n    snapshotBehavior:\n      \"Creates persistent E2B snapshot templates; restore creates a new native sandbox and remains on raw.\",\n    runtimeLimitations: \"Requires Node.js 20.18.1 or newer and an E2B account.\",\n  },\n  {\n    id: \"daytona\",\n    displayName: \"Daytona\",\n    officialUrl: \"https://www.daytona.io/docs/en/sandboxes/\",\n    packageName: \"@daytona/sdk\",\n    packageVersion: \"0.196.0\",\n    capabilities: daytonaCapabilities,\n    environmentVariables: [\"DAYTONA_API_KEY\", \"DAYTONA_API_URL\", \"DAYTONA_TARGET\"],\n    technicalStatus: \"supported\",\n    providerReviewed: false,\n    sponsor: false,\n    liveTest: null,\n    portBehavior:\n      \"Returns public or token-authenticated preview URLs according to the sandbox setting.\",\n    snapshotBehavior:\n      \"Daytona snapshot and fork operations have provider-specific lifecycle semantics and remain on raw.\",\n    runtimeLimitations: \"Some binary and streaming methods require a Node.js-compatible runtime.\",\n  },\n  {\n    id: \"vercel\",\n    displayName: \"Vercel Sandbox\",\n    officialUrl: \"https://vercel.com/docs/sandbox\",\n    packageName: \"@vercel/sandbox\",\n    packageVersion: \"2.5.0\",\n    capabilities: vercelCapabilities,\n    environmentVariables: [\n      \"VERCEL_OIDC_TOKEN\",\n      \"VERCEL_TOKEN\",\n      \"VERCEL_TEAM_ID\",\n      \"VERCEL_PROJECT_ID\",\n    ],\n    technicalStatus: \"supported\",\n    providerReviewed: false,\n    sponsor: false,\n    liveTest: null,\n    portBehavior:\n      \"Returns a public vercel.run route. Port registration is updated when expose() is called.\",\n    snapshotBehavior:\n      \"Creating a filesystem snapshot stops the session. Starting from it creates a new sandbox through raw.\",\n    runtimeLimitations:\n      \"Available runtimes are controlled by Vercel; node24 is the adapter default.\",\n  },\n  {\n    id: \"upstash\",\n    displayName: \"Upstash Box\",\n    officialUrl: \"https://upstash.com/docs/box\",\n    packageName: \"@upstash/box\",\n    packageVersion: \"0.5.3\",\n    capabilities: upstashCapabilities,\n    environmentVariables: [\"UPSTASH_BOX_API_KEY\"],\n    technicalStatus: \"supported\",\n    providerReviewed: false,\n    sponsor: false,\n    liveTest: null,\n    portBehavior:\n      \"Creates a public URL by default, or a bearer-token URL whose credential stays inside request().\",\n    snapshotBehavior:\n      \"Captures persistent workspace state. Restoring creates a new Box and remains available through raw.\",\n    runtimeLimitations:\n      \"Durable Debian or Alpine boxes with Node.js, Python, Go, Ruby, or Rust runtimes.\",\n  },\n  {\n    id: \"box\",\n    displayName: \"Ascii Box\",\n    officialUrl: \"https://docs.ascii.dev/box/quickstart\",\n    packageName: \"@asciidev/box-sdk\",\n    packageVersion: \"0.0.24\",\n    capabilities: boxCapabilities,\n    environmentVariables: [\"BOX_API_KEY\", \"BOX_BASE_URL\"],\n    technicalStatus: \"supported\",\n    providerReviewed: false,\n    sponsor: false,\n    liveTest: null,\n    portBehavior:\n      \"Runs Box's native host command and returns a public HTTPS URL by default; protected mode can be requested explicitly.\",\n    snapshotBehavior:\n      \"Stop and resume snapshots are available through the native Box client; on-demand normalized snapshots are not exposed.\",\n    runtimeLimitations:\n      \"Foreground commands use the Box HTTP command endpoint, which has a 60-second maximum and no streaming or background-process handle.\",\n  },\n  {\n    id: \"railway\",\n    displayName: \"Railway Sandboxes\",\n    officialUrl: \"https://docs.railway.com/sandboxes\",\n    packageName: \"railway\",\n    packageVersion: \"3.5.7\",\n    capabilities: railwayCapabilities,\n    environmentVariables: [\"RAILWAY_API_TOKEN\", \"RAILWAY_ENVIRONMENT_ID\"],\n    technicalStatus: \"experimental\",\n    providerReviewed: false,\n    sponsor: false,\n    liveTest: null,\n    portBehavior:\n      \"The TypeScript SDK has no public preview URL API; use Railway CLI port forwarding outside the normalized runtime.\",\n    snapshotBehavior:\n      \"Creates and deletes named Railway checkpoints. Booting from a checkpoint creates a new sandbox and remains on raw.\",\n    runtimeLimitations:\n      \"Railway Sandboxes are in Priority Boarding and the provider SDK may introduce breaking changes between releases.\",\n  },\n];\n\nexport function getProviderMetadata(id: ProviderName): ProviderMetadata {\n  return providers.find((provider) => provider.id === id)!;\n}\n"],"mappings":";;;;;AAuCA,MAAaA,YAAyC;CACpD;EACE,IAAI;EACJ,aAAa;EACb,aAAa;EACb,aAAa;EACb,gBAAgB;EAChB,cAAc;EACd,sBAAsB,EAAE;EACxB,iBAAiB;EACjB,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,cACE;EACF,kBACE;EACF,oBACE;EACH;CACD;EACE,IAAI;EACJ,aAAa;EACb,aAAa;EACb,aAAa;EACb,gBAAgB;EAChB,cAAc;EACd,sBAAsB,CAAC,cAAc;EACrC,iBAAiB;EACjB,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,cACE;EACF,kBACE;EACF,oBAAoB;EACrB;CACD;EACE,IAAI;EACJ,aAAa;EACb,aAAa;EACb,aAAa;EACb,gBAAgB;EAChB,cAAc;EACd,sBAAsB;GAAC;GAAmB;GAAmB;GAAiB;EAC9E,iBAAiB;EACjB,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,cACE;EACF,kBACE;EACF,oBAAoB;EACrB;CACD;EACE,IAAI;EACJ,aAAa;EACb,aAAa;EACb,aAAa;EACb,gBAAgB;EAChB,cAAc;EACd,sBAAsB;GACpB;GACA;GACA;GACA;GACD;EACD,iBAAiB;EACjB,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,cACE;EACF,kBACE;EACF,oBACE;EACH;CACD;EACE,IAAI;EACJ,aAAa;EACb,aAAa;EACb,aAAa;EACb,gBAAgB;EAChB,cAAc;EACd,sBAAsB,CAAC,sBAAsB;EAC7C,iBAAiB;EACjB,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,cACE;EACF,kBACE;EACF,oBACE;EACH;CACD;EACE,IAAI;EACJ,aAAa;EACb,aAAa;EACb,aAAa;EACb,gBAAgB;EAChB,cAAc;EACd,sBAAsB,CAAC,eAAe,eAAe;EACrD,iBAAiB;EACjB,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,cACE;EACF,kBACE;EACF,oBACE;EACH;CACD;EACE,IAAI;EACJ,aAAa;EACb,aAAa;EACb,aAAa;EACb,gBAAgB;EAChB,cAAc;EACd,sBAAsB,CAAC,qBAAqB,yBAAyB;EACrE,iBAAiB;EACjB,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,cACE;EACF,kBACE;EACF,oBACE;EACH;CACF;AAED,SAAgB,oBAAoB,IAAoC;AACtE,QAAO,UAAU,MAAM,aAAa,SAAS,OAAO,GAAG"}