{"version":3,"file":"sessionArguments.cjs","names":[],"sources":["../../../src/builders/server/sessionArguments.ts"],"sourcesContent":["const SESSION_ID_OPTION = '--session-id';\nconst NAME_OPTION = '--name';\nexport interface SessionIdentity {\n  sessionId: string;\n  sessionName: string;\n}\n\n/** Settles the direct session identity from explicit arguments or caller defaults. */\nexport function resolveSessionIdentity(\n  agentArgs: readonly string[],\n  fallback: SessionIdentity,\n): { agentArgs: string[]; identity: SessionIdentity } {\n  const args = [...agentArgs];\n  const identity = { ...fallback };\n  for (const [option, key] of [\n    [SESSION_ID_OPTION, 'sessionId'],\n    [NAME_OPTION, 'sessionName'],\n  ] as const) {\n    const index = args.indexOf(option);\n    const value = index === -1 ? undefined : args[index + 1];\n    if (value !== undefined && !value.startsWith('-')) identity[key] = value;\n    else args.push(option, identity[key]);\n  }\n  return { agentArgs: args, identity };\n}\n\nconst MAJOR_MODE_OPTION = '--major-mode';\n\n/**\n * The agent arguments with the major mode pinned to a relaunch target.\n *\n * Any prior selection is dropped so repeated switches never accumulate flags.\n * The new pair goes last, the position launcher scripts already use, which\n * also keeps a leading script path intact when the agent runs via node.\n */\nexport function relaunchAgentArgs(args: readonly string[], majorMode: string): string[] {\n  const kept: string[] = [];\n  let skipValue = false;\n  for (const argument of args) {\n    if (skipValue) {\n      skipValue = false;\n      continue;\n    }\n    if (argument === MAJOR_MODE_OPTION) {\n      skipValue = true;\n      continue;\n    }\n    kept.push(argument);\n  }\n  return [...kept, MAJOR_MODE_OPTION, majorMode];\n}\n"],"mappings":";AAAA,MAAM,oBAAoB;AAC1B,MAAM,cAAc;;AAOpB,SAAgB,uBACd,WACA,UACoD;CACpD,MAAM,OAAO,CAAC,GAAG,SAAS;CAC1B,MAAM,WAAW,EAAE,GAAG,SAAS;CAC/B,KAAK,MAAM,CAAC,QAAQ,QAAQ,CAC1B,CAAC,mBAAmB,WAAW,GAC/B,CAAC,aAAa,aAAa,CAC7B,GAAY;EACV,MAAM,QAAQ,KAAK,QAAQ,MAAM;EACjC,MAAM,QAAQ,UAAU,KAAK,KAAA,IAAY,KAAK,QAAQ;EACtD,IAAI,UAAU,KAAA,KAAa,CAAC,MAAM,WAAW,GAAG,GAAG,SAAS,OAAO;OAC9D,KAAK,KAAK,QAAQ,SAAS,IAAI;CACtC;CACA,OAAO;EAAE,WAAW;EAAM;CAAS;AACrC"}