{"version":3,"file":"index.mjs","names":[],"sources":["../src/services/subagentLaunchContract/index.ts"],"sourcesContent":["/**\n * Public availability check for a subagent launch.\n *\n * Lives in adapters rather than services: resolving the contract stats the\n * working directory and reads agent definitions off disk.\n */\nimport * as fs from 'node:fs';\nimport * as path from 'node:path';\n\nimport type { AgentConfig, AgentScope } from '../../types/agent';\nimport { AgentDiscoveryService } from '../agentDiscovery';\n\nexport interface SubagentLaunchContractInput {\n  agent: string;\n  cwd: string;\n  task?: string;\n  agentScope?: AgentScope;\n  context?: 'fresh' | 'fork';\n  skill?: string | string[] | boolean;\n  artifacts?: boolean;\n}\n\nexport interface SubagentLaunchContract {\n  agent: AgentConfig;\n  cwd: string;\n  context: 'fresh' | 'fork';\n}\n\nexport type SubagentLaunchContractResult =\n  | { ok: true; contract: SubagentLaunchContract }\n  | { ok: false; code: 'invalid_cwd' | 'missing_agent'; message: string };\n\n/** Lightweight public availability check using Doom Team's discovery rules. */\nexport async function resolveSubagentLaunchContract(\n  input: SubagentLaunchContractInput,\n): Promise<SubagentLaunchContractResult> {\n  const cwd = path.resolve(input.cwd);\n  try {\n    if (!fs.statSync(cwd).isDirectory()) {\n      return { ok: false, code: 'invalid_cwd', message: `cwd '${cwd}' is not a directory.` };\n    }\n  } catch (error) {\n    const detail = error instanceof Error ? ` ${error.message}` : '';\n    return { ok: false, code: 'invalid_cwd', message: `cwd '${cwd}' is not a directory.${detail}` };\n  }\n\n  const agent = new AgentDiscoveryService().find(cwd, input.agentScope ?? 'both', input.agent);\n  if (!agent) return { ok: false, code: 'missing_agent', message: `Unknown agent: ${input.agent}` };\n\n  return {\n    ok: true,\n    contract: { agent, cwd, context: input.context ?? agent.defaultContext ?? 'fresh' },\n  };\n}\n"],"mappings":";;;;;;;;;;;AAiCA,eAAsB,8BACpB,OACuC;CACvC,MAAM,MAAM,KAAK,QAAQ,MAAM,GAAG;CAClC,IAAI;EACF,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,YAAY,GAChC,OAAO;GAAE,IAAI;GAAO,MAAM;GAAe,SAAS,QAAQ,IAAI;EAAuB;CAEzF,SAAS,OAAO;EAEd,OAAO;GAAE,IAAI;GAAO,MAAM;GAAe,SAAS,QAAQ,IAAI,uBAD/C,iBAAiB,QAAQ,IAAI,MAAM,YAAY;EACgC;CAChG;CAEA,MAAM,QAAQ,IAAI,sBAAsB,CAAC,CAAC,KAAK,KAAK,MAAM,cAAc,QAAQ,MAAM,KAAK;CAC3F,IAAI,CAAC,OAAO,OAAO;EAAE,IAAI;EAAO,MAAM;EAAiB,SAAS,kBAAkB,MAAM;CAAQ;CAEhG,OAAO;EACL,IAAI;EACJ,UAAU;GAAE;GAAO;GAAK,SAAS,MAAM,WAAW,MAAM,kBAAkB;EAAQ;CACpF;AACF"}