{"version":3,"file":"args.mjs","names":[],"sources":["../../../../src/cli/commands/sandbox/args.ts"],"sourcesContent":["import type { HarnessOptions } from '../../../composition/types/harness';\nimport { ADD_DIRECTORY_OPTION, DOMAINS_OPTION, MAJOR_MODE_OPTION, PROFILE_OPTION } from '../../matrixOptions';\n\nconst NO_DOMAINS_OPTION = '--no-domains';\nconst PLUGIN_DIRECTORY_OPTION = '--plugin-dir';\nconst PRESET_OPTION = '--preset';\nconst CWD_OPTION = '--cwd';\nconst OUTPUT_FORMAT_OPTION = '--output-format';\nconst VIBE_LINT_FORMAT = 'vibe-lint';\nconst AUTOMATION_OPTION = '--automation';\nconst MUTE_OPTION = '--mute';\nconst AUTO_STOP_OPTION = '--auto-stop';\nconst ALLOW_PROTECTED_WRITES_OPTION = '--allow-protected-writes';\nconst NO_HOOKS_OPTION = '--no-hooks';\nconst NO_MCP_OPTION = '--no-mcp';\nconst NO_AGENTS_OPTION = '--no-agents';\n\n/**\n * Projects resolved harness options back into replayable harness arguments.\n *\n * The sandbox provider hands these to the launcher inside the sandbox, which\n * re-parses them exactly like a host launch. The projection never contains\n * --sandbox: a sandboxed launch must not provision another sandbox.\n */\nexport function buildSandboxForwardArgs(options: HarnessOptions): string[] {\n  const args: string[] = [MAJOR_MODE_OPTION, options.majorMode, PRESET_OPTION, options.preset, CWD_OPTION, options.cwd];\n  if (options.profile) args.push(PROFILE_OPTION, options.profile);\n  if (options.domains.length > 0) args.push(DOMAINS_OPTION, options.domains.join(','));\n  // With no domains and no plugin directories, silence would re-trigger the\n  // major mode's default domains inside the sandbox.\n  else if (options.pluginDirectories.length === 0) args.push(NO_DOMAINS_OPTION);\n  for (const directory of options.pluginDirectories) args.push(PLUGIN_DIRECTORY_OPTION, directory);\n  for (const directory of options.additionalDirectories) args.push(ADD_DIRECTORY_OPTION, directory);\n  if (options.outputFormat === VIBE_LINT_FORMAT) args.push(OUTPUT_FORMAT_OPTION, VIBE_LINT_FORMAT);\n  if (options.automation) args.push(AUTOMATION_OPTION);\n  if (options.mute) args.push(MUTE_OPTION);\n  if (options.autoStop) args.push(AUTO_STOP_OPTION);\n  if (options.allowProtectedWrites) args.push(ALLOW_PROTECTED_WRITES_OPTION);\n  if (!options.hooks) args.push(NO_HOOKS_OPTION);\n  if (!options.mcp) args.push(NO_MCP_OPTION);\n  if (!options.agents) args.push(NO_AGENTS_OPTION);\n  return [...args, ...options.piArgs];\n}\n"],"mappings":";;AAGA,MAAM,oBAAoB;AAC1B,MAAM,0BAA0B;AAChC,MAAM,gBAAgB;AACtB,MAAM,aAAa;AACnB,MAAM,uBAAuB;AAC7B,MAAM,mBAAmB;AACzB,MAAM,oBAAoB;AAC1B,MAAM,cAAc;AACpB,MAAM,mBAAmB;AACzB,MAAM,gCAAgC;AACtC,MAAM,kBAAkB;AACxB,MAAM,gBAAgB;AACtB,MAAM,mBAAmB;;;;;;;;AASzB,SAAgB,wBAAwB,SAAmC;CACzE,MAAM,OAAiB;EAAC;EAAmB,QAAQ;EAAW;EAAe,QAAQ;EAAQ;EAAY,QAAQ;CAAG;CACpH,IAAI,QAAQ,SAAS,KAAK,KAAK,gBAAgB,QAAQ,OAAO;CAC9D,IAAI,QAAQ,QAAQ,SAAS,GAAG,KAAK,KAAK,gBAAgB,QAAQ,QAAQ,KAAK,GAAG,CAAC;MAG9E,IAAI,QAAQ,kBAAkB,WAAW,GAAG,KAAK,KAAK,iBAAiB;CAC5E,KAAK,MAAM,aAAa,QAAQ,mBAAmB,KAAK,KAAK,yBAAyB,SAAS;CAC/F,KAAK,MAAM,aAAa,QAAQ,uBAAuB,KAAK,KAAK,sBAAsB,SAAS;CAChG,IAAI,QAAQ,iBAAiB,kBAAkB,KAAK,KAAK,sBAAsB,gBAAgB;CAC/F,IAAI,QAAQ,YAAY,KAAK,KAAK,iBAAiB;CACnD,IAAI,QAAQ,MAAM,KAAK,KAAK,WAAW;CACvC,IAAI,QAAQ,UAAU,KAAK,KAAK,gBAAgB;CAChD,IAAI,QAAQ,sBAAsB,KAAK,KAAK,6BAA6B;CACzE,IAAI,CAAC,QAAQ,OAAO,KAAK,KAAK,eAAe;CAC7C,IAAI,CAAC,QAAQ,KAAK,KAAK,KAAK,aAAa;CACzC,IAAI,CAAC,QAAQ,QAAQ,KAAK,KAAK,gBAAgB;CAC/C,OAAO,CAAC,GAAG,MAAM,GAAG,QAAQ,MAAM;AACpC"}