{"version":3,"sources":["../src/keymap.ts","../src/expand.ts"],"names":[],"mappings":";AAYO,SAAS,gBAAA,CACd,KAAA,EACA,GAAA,GAWK,EAAC,EACK;AACX,EAAA,IAAI,GAAA,CAAI,MAAA,KAAW,IAAA,EAAM,OAAO,MAAA;AAChC,EAAA,IAAI,GAAA,CAAI,IAAA,KAAS,IAAA,IAAQ,KAAA,KAAU,KAAK,OAAO,MAAA;AAE/C,EAAA,IAAI,KAAA,KAAU,GAAA,IAAO,KAAA,KAAU,GAAA,EAAK,OAAO,MAAA;AAE3C,EAAA,IAAI,KAAA,KAAU,KAAK,OAAO,MAAA;AAE1B,EAAA,IAAI,KAAA,KAAU,GAAA,IAAO,KAAA,KAAU,GAAA,EAAK,OAAO,SAAA;AAE3C,EAAA,IAAI,GAAA,CAAI,MAAA,KAAW,IAAA,EAAM,OAAO,QAAA;AAEhC,EAAA,IAAI,KAAA,KAAU,KAAK,OAAO,QAAA;AAE1B,EAAA,IAAI,GAAA,CAAI,OAAA,KAAY,IAAA,IAAQ,KAAA,KAAU,KAAK,OAAO,IAAA;AAClD,EAAA,IAAI,GAAA,CAAI,SAAA,KAAc,IAAA,IAAQ,KAAA,KAAU,KAAK,OAAO,MAAA;AACpD,EAAA,IAAI,GAAA,CAAI,UAAA,KAAe,IAAA,IAAQ,KAAA,KAAU,KAAK,OAAO,QAAA;AACrD,EAAA,IAAI,GAAA,CAAI,SAAA,KAAc,IAAA,IAAQ,KAAA,KAAU,KAAK,OAAO,UAAA;AAEpD,EAAA,OAAO,SAAA;AACT;;;AC3CO,SAAS,mBAAmB,KAAA,EAAmC;AACpE,EAAA,MAAM,CAAA,uBAAQ,GAAA,EAAY;AAC1B,EAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,SAAA,CAAU,MAAA,IAAU,EAAA;AACxC,EAAA,IAAI,KAAA,EAAO;AACT,IAAA,KAAA,MAAW,CAAA,IAAK,MAAM,SAAA,EAAW;AAC/B,MAAA,IAAI,EAAE,QAAA,CAAS,MAAA,GAAS,GAAG,CAAA,CAAE,GAAA,CAAI,EAAE,EAAE,CAAA;AAAA,IACvC;AACA,IAAA,OAAO,CAAA;AAAA,EACT;AACA,EAAA,KAAA,MAAW,CAAA,IAAK,MAAM,KAAA,EAAO;AAC3B,IAAA,IAAI,EAAE,QAAA,CAAS,MAAA,GAAS,GAAG,CAAA,CAAE,GAAA,CAAI,EAAE,EAAE,CAAA;AAAA,EACvC;AACA,EAAA,OAAO,CAAA;AACT","file":"chunk-Z4JCXEIO.mjs","sourcesContent":["export type TuiAction =\n  | \"up\"\n  | \"down\"\n  | \"expand\"\n  | \"collapse\"\n  | \"toggle\"\n  | \"details\"\n  | \"help\"\n  | \"quit\"\n  | \"unknown\";\n\n/** Map Ink `useInput` args to a semantic action. Pure helper for tests. */\nexport function mapInputToAction(\n  input: string,\n  key: Partial<{\n    name: string;\n    ctrl: boolean;\n    meta: boolean;\n    shift: boolean;\n    return: boolean;\n    escape: boolean;\n    upArrow: boolean;\n    downArrow: boolean;\n    leftArrow: boolean;\n    rightArrow: boolean;\n  }> = {},\n): TuiAction {\n  if (key.escape === true) return \"quit\";\n  if (key.ctrl === true && input === \"c\") return \"quit\";\n\n  if (input === \"q\" || input === \"Q\") return \"quit\";\n\n  if (input === \"?\") return \"help\";\n\n  if (input === \"d\" || input === \"D\") return \"details\";\n\n  if (key.return === true) return \"expand\";\n\n  if (input === \" \") return \"toggle\";\n\n  if (key.upArrow === true || input === \"k\") return \"up\";\n  if (key.downArrow === true || input === \"j\") return \"down\";\n  if (key.rightArrow === true || input === \"l\") return \"expand\";\n  if (key.leftArrow === true || input === \"h\") return \"collapse\";\n\n  return \"unknown\";\n}\n","import type { TuiTraceModel } from \"./types.js\";\n\n/** Small traces: expand all branches. Larger traces: only root rows expanded (show first nesting level). */\nexport function initialExpandedSet(model: TuiTraceModel): Set<string> {\n  const s = new Set<string>();\n  const small = model.flatNodes.length <= 15;\n  if (small) {\n    for (const n of model.flatNodes) {\n      if (n.children.length > 0) s.add(n.id);\n    }\n    return s;\n  }\n  for (const r of model.nodes) {\n    if (r.children.length > 0) s.add(r.id);\n  }\n  return s;\n}\n"]}