diff --git a/supabase/functions/_shared/railway.ts b/supabase/functions/_shared/railway.ts index 414d021..7d4cd11 100644 --- a/supabase/functions/_shared/railway.ts +++ b/supabase/functions/_shared/railway.ts @@ -347,8 +347,12 @@ export async function listRailwayServiceDomains(opts: { environmentId: string; projectId?: string | null; }): Promise<{ serviceDomains: RailwayServiceDomainInfo[]; customDomains: RailwayServiceDomainInfo[] }> { + if (!opts.projectId) { + throw new Error("projectId is required to list Railway service domains"); + } + const query = ` - query Domains($environmentId: String!, $serviceId: String!, $projectId: String) { + query Domains($environmentId: String!, $serviceId: String!, $projectId: String!) { domains(environmentId: $environmentId, serviceId: $serviceId, projectId: $projectId) { serviceDomains { id @@ -375,7 +379,7 @@ export async function listRailwayServiceDomains(opts: { { environmentId: opts.environmentId, serviceId: opts.serviceId, - projectId: opts.projectId ?? null, + projectId: opts.projectId, }, opts.token, ); diff --git a/supabase/functions/provision-agent/index.ts b/supabase/functions/provision-agent/index.ts index 58b5687..3e2724c 100644 --- a/supabase/functions/provision-agent/index.ts +++ b/supabase/functions/provision-agent/index.ts @@ -6,6 +6,7 @@ import { createClient } from "https://esm.sh/@supabase/supabase-js@2.45.4"; import { corsHeaders } from "../_shared/cors.ts"; import { + HERMES_START_COMMAND, createRailwayService, configureRailwayService, deployRailwayService, @@ -280,6 +281,7 @@ Deno.serve(async (req) => { projectId: pool.railway_project_id, image: "ghcr.io/domfelipe/hermes-agent-custom:latest", variables: envVars, + startCommand: HERMES_START_COMMAND, }); console.log(`[provision-agent] serviço configurado com ${Object.keys(envVars).length} env vars`); @@ -500,6 +502,17 @@ async function handleUpdateExistingService( }); console.log(`[provision-agent:update] variáveis atualizadas (${Object.keys(variables).length})`); + await configureRailwayService({ + token: RAILWAY_API_TOKEN!, + serviceId: railwayServiceId, + environmentId, + projectId, + image: "ghcr.io/domfelipe/hermes-agent-custom:latest", + variables: {}, + startCommand: HERMES_START_COMMAND, + }); + console.log(`[provision-agent:update] imagem/start command reconciliados`); + await deployRailwayService({ token: RAILWAY_API_TOKEN!, serviceId: railwayServiceId,