chore: read agentrun hwlab defaults from yaml
This commit is contained in:
+13
-2
@@ -10,6 +10,7 @@ import { runRemoteSshCommandCapture } from "./remote";
|
||||
import { startJob } from "./jobs";
|
||||
import {
|
||||
AGENTRUN_CONFIG_PATH,
|
||||
agentRunDefaultProviderId,
|
||||
agentRunLaneSummary,
|
||||
agentRunPipelineRunName,
|
||||
resolveAgentRunLaneTarget,
|
||||
@@ -5302,6 +5303,7 @@ function isExplicitSessionSendBody(input: Record<string, unknown>): boolean {
|
||||
|
||||
async function sessionRunBodyFromArgs(sessionId: string, args: string[], input: Record<string, unknown>): Promise<Record<string, unknown>> {
|
||||
const existing = await fetchAgentRunSessionOrNull(sessionId, args);
|
||||
const defaultProviderId = agentRunDefaultProviderId();
|
||||
const profile = agentRunOption(args, "profile")
|
||||
?? agentRunOption(args, "backend-profile")
|
||||
?? stringOrNull(input.backendProfile)
|
||||
@@ -5310,7 +5312,7 @@ async function sessionRunBodyFromArgs(sessionId: string, args: string[], input:
|
||||
const body: Record<string, unknown> = { ...input };
|
||||
body.tenantId = agentRunOption(args, "tenant-id") ?? stringOrNull(body.tenantId) ?? stringOrNull(existing?.tenantId) ?? "unidesk";
|
||||
body.projectId = agentRunOption(args, "project-id") ?? stringOrNull(body.projectId) ?? stringOrNull(existing?.projectId) ?? "default";
|
||||
body.providerId = agentRunOption(args, "provider-id") ?? stringOrNull(body.providerId) ?? "G14";
|
||||
body.providerId = agentRunOption(args, "provider-id") ?? stringOrNull(body.providerId) ?? stringOrNull(existing?.providerId) ?? defaultProviderId;
|
||||
body.backendProfile = profile;
|
||||
body.workspaceRef = jsonObjectOption(args, "workspace-json") ?? record(body.workspaceRef);
|
||||
if (Object.keys(record(body.workspaceRef)).length === 0) body.workspaceRef = { kind: "opaque", path: "." };
|
||||
@@ -5338,10 +5340,11 @@ async function sessionSendWithAipodRest(sessionId: string, aipod: string, args:
|
||||
const metadata = record(sessionRef.metadata);
|
||||
const title = agentRunOption(args, "title") ?? stringOrNull(task.title);
|
||||
if (title) metadata.title = title;
|
||||
const defaultProviderId = agentRunDefaultProviderId();
|
||||
const runBody: Record<string, unknown> = {
|
||||
tenantId: task.tenantId,
|
||||
projectId: task.projectId,
|
||||
providerId: task.providerId ?? "G14",
|
||||
providerId: task.providerId ?? defaultProviderId,
|
||||
backendProfile: task.backendProfile,
|
||||
workspaceRef: task.workspaceRef ?? { kind: "opaque", path: "." },
|
||||
sessionRef: { ...sessionRef, sessionId, metadata },
|
||||
@@ -5489,6 +5492,7 @@ function readAgentRunClientConfig(env: NodeJS.ProcessEnv = process.env): AgentRu
|
||||
|
||||
export function parseAgentRunClientConfigYaml(raw: string, sourcePath = "config/agentrun.yaml"): AgentRunClientConfig {
|
||||
const input = record(Bun.YAML.parse(raw) as unknown);
|
||||
validateAgentRunConfigEnvelope(input, sourcePath);
|
||||
const manager = record(input.manager);
|
||||
const auth = record(input.auth);
|
||||
const client = record(input.client);
|
||||
@@ -5529,6 +5533,13 @@ export function parseAgentRunClientConfigYaml(raw: string, sourcePath = "config/
|
||||
};
|
||||
}
|
||||
|
||||
function validateAgentRunConfigEnvelope(input: Record<string, unknown>, sourcePath: string): void {
|
||||
if (input.version !== 1) throw new Error(`${sourcePath}: version must be 1`);
|
||||
if (input.kind !== "AgentRunConfig") throw new Error(`${sourcePath}: kind must be AgentRunConfig`);
|
||||
const metadata = record(input.metadata);
|
||||
if (stringFieldFromRecord(metadata, "name", "metadata") !== "agentrun") throw new Error(`${sourcePath}: metadata.name must be agentrun`);
|
||||
}
|
||||
|
||||
function readAgentRunPublicExposureConfig(value: unknown, managerBaseUrl: string, sourcePath: string): AgentRunPublicExposure | null {
|
||||
if (value === undefined || value === null) return null;
|
||||
const exposure = record(value);
|
||||
|
||||
Reference in New Issue
Block a user