{"ok":true,"data":{"schemaVersion":"browserops.status.v1","service":"browserops","purpose":"BrowserOps proves what happened in the browser.","generatedAt":"2026-07-09T10:11:26.300Z","storage":{"mode":"neon","status":"persistent","message":"Neon database is configured."},"browserRuntime":{"provider":"browserbase","browserbase":{"status":"configured","configured":true,"projectConfigured":true,"credentialSource":"prefixed","apiUrl":"https://api.browserbase.com"}},"tracePostgres":{"status":"configured","configured":true,"source":"postgres","storage":"trace-postgres","hostConfigured":true,"awsIamConfigured":false,"region":null,"schema":{"checked":true,"status":"missing_tables","requiredTables":["traces","spans","trace_evidence"],"presentTables":[],"missingTables":["traces","spans","trace_evidence"],"message":"Trace Postgres connection is configured, but required table(s) are missing: traces, spans, trace_evidence."}},"eventStorage":{"storage":"database","status":"persistent","message":"DATABASE_URL is configured; BrowserOps events are written to the outbox table and mirrored in process memory for live UI updates."},"aiGateway":{"schemaVersion":"browserops.ai_gateway_diagnostics.v1","generatedAt":"2026-07-09T10:11:26.317Z","status":"degraded","summary":"AI Gateway is partially configured; BrowserOps can show diagnosis but should not depend on model calls yet.","docs":{"aiGateway":"https://vercel.com/docs/ai-gateway","providersAndModels":"https://ai-sdk.dev/docs/foundations/providers-and-models"},"runtime":{"aiSdk":{"installed":true,"version":"^6.0.193","gatewayCompatible":true},"gatewayPackage":{"installedTransitively":true,"expected":"@ai-sdk/gateway is bundled transitively by ai v6; explicit installation is optional unless BrowserOps needs providerOptions.gateway helpers."},"vercel":{"runningOnVercel":true,"environment":"production","urlConfigured":true}},"auth":{"mode":"vercel_oidc_runtime","oidcTokenPresent":false,"aiGatewayApiKeyPresent":false,"directProviderKeyCount":0,"directProviderKeyNames":[],"message":"The app is running on Vercel; AI Gateway can use Vercel-managed OIDC at runtime if the project has AI Gateway enabled."},"modelPolicy":{"configuredModel":null,"configuredModelSource":null,"providerModelFormat":"missing","message":"No default AI Gateway model is configured. BrowserOps will require callers to provide an explicit provider/model id before making model calls."},"checks":[{"id":"ai-sdk-version","label":"AI SDK gateway compatibility","status":"passed","message":"ai ^6.0.193 is installed and compatible with provider/model gateway routing.","evidence":{"installed":true,"version":"^6.0.193","expectedMajor":6}},{"id":"gateway-auth","label":"Gateway authentication","status":"passed","message":"The app is running on Vercel; AI Gateway can use Vercel-managed OIDC at runtime if the project has AI Gateway enabled.","evidence":{"mode":"vercel_oidc_runtime","oidcTokenPresent":false,"aiGatewayApiKeyPresent":false,"runningOnVercel":true}},{"id":"direct-provider-keys","label":"Direct provider key bypass","status":"passed","message":"No direct provider API keys were detected in the BrowserOps environment.","evidence":{"directProviderKeyCount":0,"directProviderKeyNames":[]}},{"id":"model-format","label":"Provider/model string","status":"warning","message":"No default AI Gateway model is configured. BrowserOps will require callers to provide an explicit provider/model id before making model calls.","evidence":{"configured":false,"source":null}}],"recommendedActions":["Choose a supported provider/model id from the Vercel AI Gateway model catalog before enabling model-backed remediation."],"publicSafeLog":{"schemaVersion":"browserops.log.v1","level":"warn","event":"browserops.ai_gateway.diagnosis","message":"AI Gateway is partially configured; BrowserOps can show diagnosis but should not depend on model calls yet.","service":"browserops","generatedAt":"2026-07-09T10:11:26.317Z","data":{"status":"degraded","aiSdkInstalled":true,"aiVersion":"^6.0.193","gatewayCompatible":true,"authMode":"vercel_oidc_runtime","directProviderKeyCount":0,"modelFormat":"missing"}}},"auth":{"managedExecutionConfigured":true,"serviceToServiceAuthAccepted":true,"managedCredentialMode":"BrowserOps UI-triggered trusted-domain runs use server-side service credentials when configured."},"counts":{"sites":180,"trustedDomains":140,"pendingDomains":40,"journeys":180,"runs":98,"runsToday":0,"artifacts":53,"routeStandard":25,"suiteIntegrations":12,"handoffs":0},"suite":[{"id":"root","name":"PlatPhorm Root","canonicalUrl":"https://platphormnews.com","purpose":"Root network graph, public platform manifest, and canonical topology source for the PlatPhormNews mesh.","authBoundary":"Public topology reads remain public-safe; graph mutation and platform administration remain outside BrowserOps."},{"id":"agentui","name":"AgentUI","canonicalUrl":"https://agentui.platphormnews.com","purpose":"Visual workflow orchestration and tool UI rendering.","authBoundary":"Public workflow reads remain public-safe; workflow run updates use BrowserOps-managed service credentials or service-to-service authorization."},{"id":"spec","name":"Spec","canonicalUrl":"https://spec.platphormnews.com","purpose":"Contract validation, diff, repair, and generation for OpenAPI, AsyncAPI, JSON Schema, MCP, webhook, event, policy, and envelope contracts.","authBoundary":"Public contract reads remain public-safe; journey import and validation use BrowserOps-managed service credentials or service-to-service authorization."},{"id":"mcp","name":"MCP","canonicalUrl":"https://mcp.platphormnews.com","purpose":"Canonical MCP gateway, tool registry, capability graph, and integration broker.","authBoundary":"Read-only MCP introspection may be public-safe; tool calls use BrowserOps-managed service credentials or service-to-service authorization."},{"id":"sandbox","name":"Sandbox","canonicalUrl":"https://sandbox.platphormnews.com","purpose":"Bounded command execution, file writing, logs, artifacts, and public-safe reports.","authBoundary":"Public preview reads may be public-safe; execution and artifact persistence use BrowserOps-managed service credentials or service-to-service authorization."},{"id":"webhooks","name":"WebhookLab","canonicalUrl":"https://webhooklab.platphormnews.com","purpose":"Event delivery, contracts, signatures, replay, async jobs, and evidence.","authBoundary":"Public event schemas are readable; replay, signing, and callback mutation use BrowserOps-managed service credentials or service-to-service authorization."},{"id":"claws","name":"Claws","canonicalUrl":"https://claws.platphormnews.com","purpose":"Agent toolchain discovery, planning, dry-run, validation, trace, and handoff harness.","authBoundary":"Public plan templates may be readable; remediation and delegated execution use BrowserOps-managed service credentials or service-to-service authorization."},{"id":"trace","name":"Trace","canonicalUrl":"https://trace.platphormnews.com","purpose":"Timeline observability for agent, tool, API, BrowserOps, Evals, Sandbox, AgentUI, Claws, and CLI activity.","authBoundary":"Public-safe trace summaries may be linked; detailed writes and sensitive trace inspection use BrowserOps-managed service credentials or service-to-service authorization."},{"id":"monitor","name":"Monitor","canonicalUrl":"https://monitor.platphormnews.com","purpose":"Infrastructure, deployments, domains, analytics, firewall, security, sync runs, audit, rate limits, and system health.","authBoundary":"Public status reads remain public-safe; deployment-triggered smoke runs use BrowserOps-managed service credentials or service-to-service authorization."},{"id":"sheets","name":"Sheets","canonicalUrl":"https://sheets.platphormnews.com","purpose":"Tabular evidence ingestion, schema inference, filtering, summarization, charts, exports, and handoff.","authBoundary":"Public schema reads may be safe; report export and sheet creation use BrowserOps-managed service credentials or service-to-service authorization."},{"id":"docs","name":"Docs","canonicalUrl":"https://docs.platphormnews.com","purpose":"Attributed documentation, ingestion, ranking, scoring, search, clipping, publishing, MCP/API docs, and evidence reports.","authBoundary":"Public docs are readable; publishing and report mutation use BrowserOps-managed service credentials or service-to-service authorization."},{"id":"evals","name":"Evals","canonicalUrl":"https://evals.platphormnews.com","purpose":"Evidence-backed QA, scorecards, release gates, suites, and decisions.","authBoundary":"Public scorecards may be readable; suite execution and release decisions use BrowserOps-managed service credentials or service-to-service authorization."}],"degradedStates":["Trace Postgres connection is configured, but required table(s) are missing: traces, spans, trace_evidence.","AI Gateway is partially configured; BrowserOps can show diagnosis but should not depend on model calls yet.","Downstream handoffs remain preview or managed-dispatch until a confirmed service response exists."]},"meta":{"generatedAt":"2026-07-09T10:11:26.317Z","traceId":"browserops-public-read","degraded":false,"source":"generated"},"warnings":[],"errors":[]}