@typescript-agent-harness/cli 0.37.1 → 0.37.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/attachments/store.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,WAAW,aAAkE,CAAC;AAC3F,eAAO,MAAM,eAAe,QAAmB,CAAC;AAChD,eAAO,MAAM,cAAc,QAAmB,CAAC;AAC/C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAWD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa,CAAC;IACzE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IAC3C,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF,+DAA+D;AAC/D,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAmElE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CAQ9D"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/attachments/store.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,WAAW,aAAkE,CAAC;AAC3F,eAAO,MAAM,eAAe,QAAmB,CAAC;AAChD,eAAO,MAAM,cAAc,QAAmB,CAAC;AAC/C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAaD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa,CAAC;IACzE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IAC3C,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF,+DAA+D;AAC/D,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAmElE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CAQ9D"}
@@ -14,8 +14,11 @@ export class AttachmentError extends Error {
14
14
  }
15
15
  }
16
16
  function safeName(name) {
17
- const base = path.basename(name).replace(/[^\w.\-()+ ]+/g, "_").slice(0, 180);
18
- return base || "file";
17
+ const chars = [...path.basename(name).replace(/[^\p{L}\p{M}\p{N}_.\-()+ ]+/gu, "_")];
18
+ // File systems cap names in bytes (255 on most), and CJK takes 3 bytes per character.
19
+ while (Buffer.byteLength(chars.join("")) > 200)
20
+ chars.pop();
21
+ return chars.join("") || "file";
19
22
  }
20
23
  function kindOf(mime) {
21
24
  return IMAGE_MIMES.has(mime) ? "image" : "file";
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/attachments/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/attachments/store.ts"],"names":[],"mappings":"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"}
package/dist/host.d.ts CHANGED
@@ -77,6 +77,11 @@ export type HostEvent = SessionEvent | {
77
77
  type: "notice";
78
78
  text: string;
79
79
  error?: boolean;
80
+ }
81
+ /** The model request failed and is retried; front ends show it until the next sign of progress. */
82
+ | {
83
+ type: "retry";
84
+ text: string;
80
85
  } | {
81
86
  type: "turn.end";
82
87
  state: string;
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
package/dist/host.js CHANGED
@@ -346,7 +346,7 @@ export async function createChatHost(flags, opts = {}) {
346
346
  if (!flags.quiet) {
347
347
  runtime.on("llm.retry", (e) => {
348
348
  const p = e;
349
- emit({ type: "notice", text: `[llm] ${p.reason} — retry ${p.attempt} in ${(p.delayMs / 1000).toFixed(1)}s` });
349
+ emit({ type: "retry", text: `${p.reason} — retry ${p.attempt} in ${(p.delayMs / 1000).toFixed(1)}s` });
350
350
  });
351
351
  runtime.on("agent.context.trimmed", (e) => {
352
352
  const p = e;
package/dist/host.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAe3C,OAAO,KAAK,EAA+B,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA0I/E,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpG,wBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,QAAQ,+BA0OlE"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAe3C,OAAO,KAAK,EAA+B,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA8I/E,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpG,wBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,QAAQ,+BA0OlE"}
package/dist/tui/app.js CHANGED
@@ -40,7 +40,7 @@ function StaticItem({ item }) {
40
40
  function Live({ snap, maxLines }) {
41
41
  const lines = snap.live ? snap.live.split("\n") : [];
42
42
  const shown = lines.slice(-maxLines);
43
- return (_jsxs(Box, { flexDirection: "column", children: [shown.length ? _jsx(Text, { children: shown.join("\n") }) : null, snap.tools.map((t) => (_jsx(ToolLine, { tool: t.tool, summary: t.summary, status: "running" }, t.callId))), snap.busy && !snap.live && snap.tools.length === 0 && !snap.approval ? (_jsxs(Text, { children: [_jsx(Spinner, {}), " ", _jsx(Text, { dimColor: true, children: "thinking\u2026" })] })) : null] }));
43
+ return (_jsxs(Box, { flexDirection: "column", children: [shown.length ? _jsx(Text, { children: shown.join("\n") }) : null, snap.tools.map((t) => (_jsx(ToolLine, { tool: t.tool, summary: t.summary, status: "running" }, t.callId))), snap.retry ? (_jsxs(Text, { children: [_jsx(Spinner, {}), " ", _jsx(Text, { color: "yellow", children: snap.retry })] })) : snap.busy && !snap.live && snap.tools.length === 0 && !snap.approval ? (_jsxs(Text, { children: [_jsx(Spinner, {}), " ", _jsx(Text, { dimColor: true, children: "thinking\u2026" })] })) : null] }));
44
44
  }
45
45
  function Menu({ matches, index }) {
46
46
  return (_jsx(Box, { flexDirection: "column", paddingX: 1, children: matches.map((c, i) => (_jsxs(Text, { inverse: i === index, children: [`${c.name}${c.args ? ` ${c.args}` : ""}`, _jsx(Text, { dimColor: true, children: ` ${c.description}` })] }, c.name))) }));
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAC7G,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAInE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAyC,MAAM,eAAe,CAAC;AACnG,OAAO,EACL,SAAS,EACT,aAAa,EACb,UAAU,EACV,WAAW,EACX,MAAM,EACN,OAAO,EACP,YAAY,EACZ,IAAI,EACJ,UAAU,GAEX,MAAM,aAAa,CAAC;AAGrB,MAAM,OAAO,GAAG,YAAY,CAAC;AAC7B,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,uDAAuD;AACvD,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,iGAAiG;AACjG,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;AAEjH,SAAS,OAAO;IACd,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/E,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,OAAO,CAAC,KAAK,CAAC,GAAQ,CAAC;AACpD,CAAC;AAED,SAAS,QAAQ,CAAC,KAA8F;IAC9G,OAAO,CACL,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,wBAAW,EAClE,KAAC,IAAI,IAAC,IAAI,kBAAE,KAAK,CAAC,IAAI,GAAQ,EAC7B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,QAAQ,kBAAE,KAAK,KAAK,CAAC,OAAO,EAAE,GAAQ,CAAC,CAAC,CAAC,IAAI,EACnE,IAAI,EACJ,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAC,OAAO,KAAG,CAAC,CAAC,CAAC,IAAI,EAC/C,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,KAAK,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,GAAQ,CAAC,CAAC,CAAC,IAAI,EACrF,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,YAAE,KAAK,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,GAAQ,CAAC,CAAC,CAAC,IAAI,IACnF,CACR,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,IAAI,EAAkB;IAC1C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,CACL,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,aACf,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,IAAI,GAAQ,EAChC,KAAC,IAAI,cAAE,IAAI,CAAC,IAAI,GAAQ,IACpB,CACP,CAAC;QACJ,KAAK,WAAW;YACd,OAAO,KAAC,IAAI,cAAE,IAAI,CAAC,IAAI,IAAI,GAAG,GAAQ,CAAC;QACzC,KAAK,MAAM;YACT,OAAO,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,GAAI,CAAC;QACtH,KAAK,OAAO;YACV,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,YACtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACvB,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CACzB,KAAC,IAAI,IAAS,QAAQ,QAAC,aAAa,kBAAE,KAAK,CAAC,CAAC,OAAO,EAAE,IAA3C,CAAC,CAAkD,CAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,CAC/B,KAAC,IAAI,IAAS,IAAI,kBAAE,KAAK,CAAC,CAAC,OAAO,EAAE,IAAzB,CAAC,CAAgC,CAC7C,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,cAAU,KAAK,CAAC,CAAC,OAAO,EAAE,IAApB,CAAC,CAA2B,CACxC,CACF,GACG,CACP,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO,KAAC,IAAI,IAAC,QAAQ,kBAAE,IAAI,CAAC,IAAI,GAAQ,CAAC;QAC3C,KAAK,OAAO;YACV,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,YAAE,IAAI,CAAC,IAAI,GAAQ,CAAC;IAChD,CAAC;AACH,CAAC;AAED,SAAS,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAwC;IACpE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACxB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAC,IAAI,cAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAQ,CAAC,CAAC,CAAC,IAAI,EACrD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAClC,KAAC,QAAQ,IAAgB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAC,SAAS,IAA5D,CAAC,CAAC,MAAM,CAAuD,CAC/E,CAAC,EACD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACtE,MAAC,IAAI,eACH,KAAC,OAAO,KAAG,OAAC,KAAC,IAAI,IAAC,QAAQ,qCAAiB,IACtC,CACR,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAA8C;IAC1E,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,YACpC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACrB,MAAC,IAAI,IAAc,OAAO,EAAE,CAAC,KAAK,KAAK,aACpC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EACzC,KAAC,IAAI,IAAC,QAAQ,kBAAE,KAAK,CAAC,CAAC,WAAW,EAAE,GAAQ,KAFnC,CAAC,CAAC,IAAI,CAGV,CACR,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAA0D;IAC9F,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;IACpG,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aAC9E,MAAC,IAAI,IAAC,IAAI,iCAAW,KAAC,IAAI,IAAC,QAAQ,8EAA2C,IAAO,EACpF,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACnD,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;gBACpB,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC1C,OAAO,CACL,KAAC,IAAI,IAAY,OAAO,EAAE,CAAC,KAAK,KAAK,YAClC,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,IAD/G,CAAC,CAAC,EAAE,CAER,CACR,CAAC;YACJ,CAAC,CAAC,IACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAkF;IAC7H,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;IACtC,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ;QACrB,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,8DAA8D;QACrF,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,4DAA4D,CAAC;IACtF,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aAC9E,KAAC,IAAI,IAAC,IAAI,kBAAE,KAAK,CAAC,CAAC,QAAQ,GAAG,KAAK,EAAE,GAAQ,EAC5C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,MAAC,IAAI,eACF,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAClE,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAQ,OAAE,CAAC,KAFjC,CAAC,CAGL,CACR,CAAC,EACF,KAAC,IAAI,IAAC,QAAQ,kBAAE,IAAI,GAAQ,IACxB,CACP,CAAC;AACJ,CAAC;AAID,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAY;IACjE,MAAM,IAAI,GAAG,oBAAoB,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;IAC1C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,WAAW,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAqD,CAAC;IAC1F,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,EAAE,iBAAiB,EAAE,GAAG,SAAS,EAAE,CAAC;IAE1C,MAAM,MAAM,GAAG,CAAC,IAA2B,EAAE,EAAE;QAC7C,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5C,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACrH,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO;YAAE,IAAI,EAAE,CAAC;IACtB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAEpB,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,SAAS,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAE1C,MAAM,UAAU,GAAG,CAAC,GAAkB,EAAE,EAAE;QACxC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,MAAM;gBACT,OAAO,IAAI,EAAE,CAAC;YAChB,KAAK,OAAO;gBACV,OAAO,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,KAAK,SAAS;gBACZ,UAAU,CAAC,YAAY,EAAE,CAAC;gBAC1B,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,KAAK,MAAM;gBACT,OAAO,KAAK,IAAI;qBACb,YAAY,EAAE;qBACd,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oBACb,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;oBACzE,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChG,CAAC,CAAC;qBACD,KAAK,CAAC,IAAI,CAAC,CAAC;YACjB,KAAK,QAAQ;gBACX,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,KAAK,MAAM;gBACT,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,KAAK,OAAO;gBACV,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAClC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI;YAAE,OAAO;QACzD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,GAAG;YAAE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,CAA0B,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAI9E,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAY,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,CAAuB,SAAS,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,CAAC,EAAU,EAAY,EAAE,CAC1C,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACnF,MAAM,WAAW,GAAG,CAAC,CAAW,EAAE,EAAE;QAClC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;QACrB,QAAQ,CAAC,CAAC,CAAC,CAAC;IACd,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,KAAa,EAAE,MAAgB,EAAE,EAAE;QACnE,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACpD,WAAW,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;YAAE,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAErD,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAExG,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC9B,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACf,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC5B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,CAAC;YACD,IAAI,CAAC,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,MAAM;gBAAE,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,CAAC,CAAC,SAAS;gBAAE,OAAO,UAAU,CAAC,gBAAgB,EAAE,CAAC;YACtD,IAAI,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC;gBAAE,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YACtE,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG;gBAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;iBACvC,IAAI,CAAC,KAAK,GAAG;gBAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;iBAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM;gBAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC5E,OAAO;QACT,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YAC/B,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC;YACrC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC/B,CAAC;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnE,IAAI,CAAC,OAAO,CAAC,QAAQ;oBAAE,OAAO,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC;gBAC5F,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrG,OAAO,WAAW,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBAC1C,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC;gBACnF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO;gBAChC,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC5B,OAAO,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAC7B,IAAI,GAAG,CAAC,OAAO;gBAAE,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBACxE,IAAI,GAAG,CAAC,SAAS;gBAAE,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAC3E,IAAI,GAAG,CAAC,MAAM;gBAAE,SAAS,CAAC,SAAS,CAAC,CAAC;iBACrC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtC,SAAS,CAAC,SAAS,CAAC,CAAC;gBACrB,IAAI,GAAG,IAAI,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS;oBAAE,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,UAAU,CAAC,YAAY,EAAE,CAAC;gBAC1B,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;iBAAM,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACrD,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAChC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;gBAAE,IAAI,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAE,CAAC;YACnE,IAAI,GAAG,CAAC,OAAO;gBAAE,OAAO,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YACvF,IAAI,GAAG,CAAC,SAAS;gBAAE,OAAO,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YACxE,IAAI,GAAG,CAAC,GAAG;gBAAE,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACvG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC5B,OAAO,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK;gBAAE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YACjE,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC7D,OAAO,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YACvD,CAAC;YACD,OAAO,MAAM,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,GAAG,CAAC,SAAS;YAAE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACzD,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,IAAI,GAAG,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACrD,IAAI,GAAG,CAAC,SAAS;YAAE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACzD,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACnF,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACjF,IAAI,GAAG,CAAC,SAAS;YAAE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,GAAG,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI;YAAE,OAAO;QAC1D,IAAI,KAAK;YAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAE3B,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IACxF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;IAE5E,iBAAiB,CACf,MAAM,IAAI,QAAQ,CAAC,WAAW;QAC5B,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,IAAI,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;QAC7F,CAAC,CAAC,SAAS,CACd,CAAC;IAEF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,6CAA6C,CAAC;IACvF,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAExH,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,MAAM,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,YAAG,CAAC,IAAI,EAAE,EAAE,CAAC,KAAC,UAAU,IAAe,IAAI,EAAE,IAAI,IAAnB,IAAI,CAAC,EAAE,CAAgB,GAAU,EACvF,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAChB,8BACE,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,GAAI,EACrD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACf,KAAC,IAAI,cACF,iBAAiB,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,GAChG,CACR,CAAC,CAAC,CAAC,IAAI,EACP,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAC,cAAc,IAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAC,CAAC,CAAC,IAAI,EACjG,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,cAAE,iBAAiB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,GAAQ,CAAC,CAAC,CAAC,IAAI,EAC7G,MAAM,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,GAAI,CAAC,CAAC,CAAC,IAAI,EAC3F,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAI,CAAC,CAAC,CAAC,IAAI,EACjH,KAAC,GAAG,IAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,YAC/G,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3B,MAAC,IAAI,IAAS,IAAI,EAAC,UAAU,aAC3B,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAQ,EAChD,GAAG,KAFK,CAAC,CAGL,CACR,CAAC,GACE,EACN,MAAC,GAAG,IAAC,cAAc,EAAC,eAAe,EAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,aACrD,KAAC,IAAI,IAAC,QAAQ,QAAC,IAAI,EAAC,UAAU,YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAQ,EAC1D,KAAC,IAAI,IAAC,QAAQ,QAAC,IAAI,EAAC,UAAU,YAAE,IAAI,GAAQ,IACxC,IACL,CACJ,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"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"}
@@ -45,6 +45,8 @@ export type Snapshot = {
45
45
  tool: string;
46
46
  input: unknown;
47
47
  } | undefined;
48
+ /** The model request is being retried (cleared by the next text, tool, card or turn end). */
49
+ retry: string | undefined;
48
50
  /** An `ask_user` call waiting for the answers. */
49
51
  question: {
50
52
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"transcript.d.ts","sourceRoot":"","sources":["../../src/tui/transcript.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAe,SAAS,EAAE,MAAM,YAAY,CAAC;AAGzD,oEAAoE;AACpE,MAAM,MAAM,IAAI,GACZ;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxF;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,IAAI,EAAE,CAAA;CAAE,GAC5C;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD,MAAM,MAAM,WAAW,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5E,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IACnE,kDAAkD;IAClD,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,QAAQ,EAAE,CAAA;KAAE,GAAG,SAAS,CAAC;IAC5D,4DAA4D;IAC5D,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC;AAKF,qBAAa,UAAU;IAkBT,OAAO,CAAC,MAAM;IAjB1B,QAAQ,EAAE,QAAQ,CAWhB;IACF,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,EAAE,CAAiB;gBAEP,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM;IAIxD,SAAS,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAG9C;IAEF,OAAO,CAAC,MAAM;IAMd;;;;OAIG;IACH,OAAO,CAAC,GAAG;IAUX,OAAO,CAAC,IAAI;IAMZ,sEAAsE;IACtE,OAAO,CAAC,MAAM;IAKd,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,QAAQ,GAAG,OAAkB,GAAG,IAAI;IAI7D,YAAY,IAAI,IAAI;IAIpB,gBAAgB,IAAI,IAAI;IAIxB,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAuE7B,OAAO,CAAC,WAAW;CAgBpB"}
1
+ {"version":3,"file":"transcript.d.ts","sourceRoot":"","sources":["../../src/tui/transcript.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { createMarkdownStream } from "../markdown.js";
2
+ /** Events that mean the retried request got through (or the turn is over). */
3
+ const PROGRESS = new Set(["session", "user", "text", "tool.start", "approval", "question", "turn.end", "turn.error"]);
2
4
  export class Transcript {
3
5
  render;
4
6
  snapshot = {
@@ -7,6 +9,7 @@ export class Transcript {
7
9
  tools: [],
8
10
  approval: undefined,
9
11
  question: undefined,
12
+ retry: undefined,
10
13
  stepLimit: false,
11
14
  busy: false,
12
15
  sessionId: "",
@@ -68,6 +71,8 @@ export class Transcript {
68
71
  this.set({ stepLimit: false });
69
72
  }
70
73
  apply(event) {
74
+ if (this.snapshot.retry !== undefined && PROGRESS.has(event.type))
75
+ this.set({ retry: undefined });
71
76
  switch (event.type) {
72
77
  case "session":
73
78
  this.settle();
@@ -113,6 +118,9 @@ export class Transcript {
113
118
  if (this.snapshot.question?.id === event.id)
114
119
  this.set({ question: undefined });
115
120
  return;
121
+ case "retry":
122
+ this.set({ retry: event.text });
123
+ return;
116
124
  case "notice":
117
125
  this.settle();
118
126
  this.push({ kind: event.error ? "error" : "notice", text: event.text });
@@ -1 +1 @@
1
- {"version":3,"file":"transcript.js","sourceRoot":"","sources":["../../src/tui/transcript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcript.js","sourceRoot":"","sources":["../../src/tui/transcript.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- :root{--bg:#fff;--panel:#f6f7f9;--border:#e3e5e8;--text:#1f2328;--muted:#6b7280;--accent:#0e7490;--accent-text:#fff;--ok:#15803d;--fail:#b91c1c;--warn:#b45309;--code-bg:#f3f4f6;--hl-keyword:#cf222e;--hl-string:#0a3069;--hl-comment:#6e7781;--hl-number:#0550ae;--hl-title:#8250df;--hl-attr:#953800;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.6}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1115;--panel:#161a20;--border:#2a2f37;--text:#e6e6e6;--muted:#9aa1ab;--accent:#22a6c4;--accent-text:#0f1115;--ok:#4ade80;--fail:#f87171;--warn:#fbbf24;--code-bg:#1c2028;--hl-keyword:#ff7b72;--hl-string:#a5d6ff;--hl-comment:#8b949e;--hl-number:#79c0ff;--hl-title:#d2a8ff;--hl-attr:#ffa657}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:4px 12px}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.danger{color:var(--fail)}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.app{height:100%;display:flex}.sidebar{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;flex-shrink:0;width:260px;display:flex}.sidebar-brand{justify-content:space-between;align-items:center;padding:12px 10px 6px 14px;display:flex}.brand{align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.brand-mark{background:var(--accent);width:22px;height:22px;color:var(--accent-text);border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.new-session{text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;margin:4px 8px 10px;padding:6px 10px;font-size:14px;display:flex}.new-session svg{color:var(--muted)}.new-session:not(:disabled):hover{background:var(--border)}.ws-header{letter-spacing:.3px;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;padding:0 8px 4px 14px;font-size:12px;font-weight:600;display:flex}.ws-header-tools{gap:2px;display:flex}.icon-btn{color:var(--muted);background:0 0;border:none;padding:4px;display:flex}.icon-btn:not(:disabled):hover,.icon-btn.on{background:var(--border);color:var(--text)}.sidebar-search{border:1px solid var(--accent);background:var(--bg);color:var(--muted);border-radius:7px;align-items:center;gap:6px;margin:0 8px 6px;padding:3px 4px 3px 8px;display:flex}.sidebar-search input{min-width:0;color:var(--text);font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:14px}.sidebar mark{color:#1f2328;background:#fde68a;border-radius:2px}.sidebar.rail{align-items:center;gap:6px;width:56px;padding:12px 0 10px}.sidebar.rail .brand-mark{width:28px;height:28px;margin-bottom:4px;font-size:14px}.rail-btn{width:36px;height:36px;color:var(--muted);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex}.rail-btn:not(:disabled):hover{background:var(--border);color:var(--text)}.rail-btn svg{width:18px;height:18px}.rail-gap{flex:1}.sidebar-note{color:var(--muted);padding:0 12px 8px;font-size:13px}.sessions{padding:0 8px 12px;overflow-y:auto}.sessions ul{margin:0;padding:0;list-style:none}.ws>ul{padding-left:16px}.sessions-heading{color:var(--muted);padding:8px 8px 4px;font-size:12px}.session-item{border-radius:6px;margin-bottom:2px}.session-item:hover{background:var(--bg)}.session-item.current{background:var(--bg);box-shadow:inset 2px 0 0 var(--accent)}.session{align-items:center;gap:4px;width:100%;padding:2px 4px 2px 8px;display:flex}.session-pick{text-align:left;min-width:0;color:inherit;font:inherit;background:0 0;border:none;flex:1;padding:2px 0;display:flex}.session .preview{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-time{color:var(--muted);flex:none;font-size:12px}.session-status{flex:none;justify-content:center;align-items:center;width:12px;display:flex}.session-status .spinner{width:10px;height:10px}.status-dot{background:var(--warn);border-radius:50%;width:7px;height:7px}.session-badge{color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, transparent);border-radius:4px;flex:none;padding:0 5px;font-size:11px}.ws-more{color:var(--muted);background:0 0;border:none;margin:0 0 4px 16px;padding:0 8px;font-size:12.5px;display:block}.ws-more:hover{color:var(--text)}.menu-label{letter-spacing:.3px;text-transform:uppercase;color:var(--muted);padding:4px 10px 2px;font-size:11px}.menu-check{width:16px;color:var(--accent);display:inline-block}.session-tools{flex:none;gap:2px;display:none}.session-item:hover .session-time{display:none}.session-item:hover .session-tools{display:flex}.session-tools button{color:var(--muted);background:0 0;border:none;border-radius:4px;padding:3px;display:flex}.session-tools button:hover,.session-tools button.on{color:var(--text)}.session-tools button:hover{background:var(--panel)}.context-menu{z-index:10;border:1px solid var(--border);background:var(--bg);border-radius:8px;min-width:160px;margin:0;padding:4px;list-style:none;position:fixed;box-shadow:0 6px 20px #00000026}.context-menu button{text-align:left;background:0 0;border:none;width:100%;padding:4px 10px;font-size:14px}.context-menu button:not(:disabled):hover{background:var(--panel)}.ws-head{color:var(--muted);align-items:center;gap:4px;padding:6px 4px 2px 2px;font-size:12px;display:flex}.ws-head.active .ws-name{color:var(--text);font-weight:600}.ws-head.missing{opacity:.6}.ws-toggle{min-width:0;color:inherit;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:4px;padding:0 4px;font-size:12px;display:flex}.ws-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ws-note{flex:none}.ws-tools{flex:none;gap:2px;display:none}.ws-head:hover .ws-tools{display:flex}.ws-tools button{color:var(--muted);background:0 0;border:none;padding:3px;display:flex}.ws-chevron{flex:none;display:flex}.ws-tools button:hover{background:var(--panel);color:var(--text)}.session-folder{text-overflow:ellipsis;white-space:nowrap;max-width:72px;color:var(--muted);flex:none;font-size:12px;overflow:hidden}.session-item:hover .session-folder{display:none}.modal-backdrop{z-index:20;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;gap:8px;width:min(520px,90vw);max-height:70vh;padding:12px;display:flex}.crumbs{flex-wrap:wrap;display:flex}.crumbs button,.dirs button{text-align:left;background:0 0;border:none;padding:2px 4px}.dirs{border:1px solid var(--border);border-radius:6px;min-height:160px;margin:0;padding:0;list-style:none;overflow-y:auto}.dirs button{width:100%;padding:4px 8px}.dirs button:hover,.crumbs button:hover{background:var(--panel)}.modal-title{font-weight:600}.recent button{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dir-path{color:var(--muted);margin-left:8px;font-size:12px}.new-folder-where{align-items:center;gap:8px;font-size:13px;display:flex}.where-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:1;overflow:hidden}.modal-error{color:var(--fail);font-size:13px}.sidebar-user{align-items:center;gap:8px;margin:auto 8px 8px;padding:6px 4px 6px 8px;display:flex}.avatar{background:var(--accent);width:24px;height:24px;color:var(--accent-text);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.user-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.settings{border:1px solid var(--border);background:var(--bg);border-radius:12px;width:min(860px,94vw);height:min(600px,86vh);display:flex;overflow:hidden;box-shadow:0 16px 48px #0003}.settings-nav{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;flex:none;gap:2px;width:180px;padding:16px 8px;display:flex}.settings-nav-title{color:var(--muted);padding:0 8px 10px;font-size:13px}.settings-nav button{text-align:left;background:0 0;border:none;border-radius:6px;padding:6px 8px;font-size:14px}.settings-nav button.active{background:var(--bg);font-weight:600}.settings-body{flex-direction:column;flex:1;gap:14px;min-width:0;padding:20px 28px;display:flex;overflow-y:auto}.settings-head{justify-content:space-between;align-items:center;display:flex}.settings-head h2{margin:0;font-size:18px}.settings-desc{color:var(--muted);margin:-6px 0 0;font-size:13px}.model-cards{border:1px solid var(--border);border-radius:8px;margin:0;padding:0;list-style:none}.model-card{align-items:center;gap:10px;padding:10px 12px;display:flex}.model-card+.model-card{border-top:1px solid var(--border)}.model-main{flex:1;min-width:0}.model-name{font-weight:600}.model-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.model-card>button:not(.icon-btn){padding:3px 12px;font-size:13px}.badge{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.settings-subhead{color:var(--muted);margin-top:6px;font-size:12px;font-weight:600}.skill-desc{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.settings-empty,.settings-note{color:var(--muted);font-size:13px}.add-model{align-self:flex-start}.model-form{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;padding:14px;display:flex}.model-form label{flex-direction:column;gap:4px;font-size:13px;display:flex}.model-form label em{color:var(--muted);font-style:normal;font-weight:400}.model-form input{border:1px solid var(--border);font:inherit;background:var(--bg);color:inherit;border-radius:6px;padding:6px 8px}.model-form small{color:var(--muted);font-size:12px}.model-form label.check{flex-direction:row;align-items:center;gap:6px}.model-form label.check input{margin:0;padding:0}.model-form .check-note{margin-top:-8px}.model-vision{color:var(--muted);cursor:pointer;align-items:center;gap:4px;font-size:12px;display:flex}.model-vision input{margin:0}button.link{color:var(--accent);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0}button.link:not(:disabled):hover{text-decoration:underline}.spacer{flex:1}.session-rename{border:1px solid var(--border);width:100%;font:inherit;background:var(--panel);color:var(--fg);border-radius:4px;padding:4px 6px}.user-attach-fallback{color:var(--muted);font-size:13px}main{flex-direction:column;flex:1;min-width:0;display:flex}.banner{color:var(--warn);border-bottom:1px solid var(--border);padding:6px 16px;font-size:13px}.messages{flex:1;padding:16px max(16px,50% - 430px);overflow-y:auto}.empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:min(52vh,420px);padding:24px 16px;display:flex}.empty-title{letter-spacing:-.02em;color:var(--text);font-size:1.25rem;font-weight:600}.empty-hint{max-width:28rem;color:var(--muted);margin:8px 0 0;font-size:14px}.user{background:var(--panel);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:20px 0 8px;padding:8px 12px}.user-attach{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.reply{word-break:break-word}.reply pre{background:var(--code-bg);border-radius:6px;padding:10px 12px;overflow-x:auto}.reply :not(pre)>code{background:var(--code-bg);border-radius:4px;padding:1px 4px}.reply table{border-collapse:collapse}.reply th,.reply td{border:1px solid var(--border);padding:4px 8px}.hljs-keyword,.hljs-selector-tag,.hljs-literal{color:var(--hl-keyword)}.hljs-string,.hljs-regexp{color:var(--hl-string)}.hljs-comment,.hljs-quote{color:var(--hl-comment);font-style:italic}.hljs-number,.hljs-variable{color:var(--hl-number)}.hljs-title,.hljs-section,.hljs-function{color:var(--hl-title)}.hljs-attr,.hljs-attribute,.hljs-built_in,.hljs-type{color:var(--hl-attr)}.tool{white-space:nowrap;align-items:center;gap:8px;margin:4px 0;font-size:14px;display:flex;overflow:hidden}.tool .dot{color:var(--accent)}.tool.failed .dot,.tool.failed .result{color:var(--fail)}.tool .name{font-weight:600}.tool .summary{color:var(--muted);text-overflow:ellipsis;overflow:hidden}.tool.ok .result{color:var(--ok)}.steps{margin:6px 0}.steps-head{max-width:100%;color:var(--muted);white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:2px 4px 2px 0;font-size:13px;display:flex;overflow:hidden}.steps-head:hover{color:var(--text)}.steps-title{font-weight:600}.steps-detail{text-overflow:ellipsis;overflow:hidden}.steps-failed{color:var(--fail)}.steps-body{border-left:1px solid var(--border);margin-left:6px;padding-left:12px}.notice{color:var(--muted);margin:4px 0;font-size:13px}.notice.error{color:var(--fail)}.thinking{color:var(--muted);align-items:center;gap:8px;margin:8px 0;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.card{border:1px solid var(--warn);border-radius:8px;margin:12px 0;padding:12px}.card-title{margin-bottom:8px;font-weight:600}.card-body{background:var(--code-bg);white-space:pre-wrap;border-radius:6px;max-height:240px;margin:0 0 12px;padding:8px;overflow:auto}.card-actions{gap:8px;display:flex}.card.question{border-color:var(--accent)}.question-head{align-items:flex-start;gap:12px;display:flex}.question-head .card-title{flex:1}.question-hint{color:var(--muted);font-weight:400}.question-pager{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.question-pager button{padding:0 8px;line-height:1.5}.question-options{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}button.question-option{text-align:left;background:var(--bg);align-items:baseline;gap:10px;padding:6px 10px;display:flex}button.question-option:not(:disabled):hover,button.question-option.picked{border-color:var(--accent)}button.question-option.picked{box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--bg))}.question-key{color:var(--muted);flex:none;min-width:1em;font-size:12px}.question-other{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;margin-bottom:12px;padding:4px 8px}.question-spacer{flex:1}.composer-wrap{padding:8px max(16px,50% - 430px)}.todos{border:1px solid var(--border);background:var(--panel);border-radius:8px;margin:0 max(16px,50% - 430px);padding:6px 10px;font-size:13px}.todos-head{max-width:100%;color:var(--muted);background:0 0;border:none;align-items:center;gap:6px;padding:0;display:flex}.todos-head:hover{color:var(--text)}.todos-title{font-weight:600}.todos-current{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.todos-list{max-height:160px;margin:6px 0 2px;padding:0;list-style:none;overflow-y:auto}.todos-list li{gap:6px;padding:1px 0;display:flex}.todos-list li.completed{color:var(--muted);text-decoration:line-through}.todos-list li.in_progress{font-weight:600}.todos-mark{flex:none;width:1em}.attach-rail{gap:8px;padding-bottom:8px;display:flex;overflow-x:auto}.attach-card{border:1px solid var(--border);background:var(--panel);border-radius:12px;flex:none;align-items:center;gap:8px;min-width:180px;max-width:240px;height:64px;padding:6px 8px;display:flex;position:relative}.attach-card img{object-fit:cover;border-radius:6px;width:48px;height:48px}.attach-ext{width:48px;height:48px;color:var(--muted);background:var(--bg);border-radius:6px;place-items:center;font-size:11px;font-weight:600;display:grid}.attach-meta{flex:1;min-width:0}.attach-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.attach-sub{color:var(--muted);font-size:11px}button.attach-card.sent{font:inherit;color:inherit;text-align:left;cursor:pointer;background:var(--bg)}button.attach-card.sent:hover{border-color:var(--accent)}.attach-card.sent .attach-name,.attach-card.sent .attach-sub{display:block}.attach-card.error .attach-sub{color:var(--fail)}.attach-remove{width:22px;line-height:1;position:absolute;top:2px;right:2px;border-radius:11px!important;height:22px!important;padding:0!important}.composer{border:1px solid var(--border);background:var(--bg);border-radius:12px;flex-direction:column;padding:8px 8px 6px 12px;display:flex}.composer:focus-within{border-color:var(--accent)}.composer textarea{resize:none;font:inherit;color:var(--text);background:0 0;border:none;outline:none;padding:2px 0}.composer-bar{align-items:center;gap:6px;margin-top:4px;display:flex}.composer-bar .attach-btn{width:30px;height:30px;color:var(--muted);background:0 0;border:none;border-radius:8px;padding:0;font-size:20px;line-height:1}.composer-bar .attach-btn:not(:disabled):hover{background:var(--border);color:var(--text)}.send-btn{background:var(--accent);border-color:var(--accent);width:32px;height:32px;color:var(--accent-text);border-radius:50%;place-items:center;padding:0;display:grid}.send-btn.stop{background:var(--text);border-color:var(--text);color:var(--bg)}.model-picker{position:relative}.model-btn{max-width:260px;height:30px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:8px;align-items:center;gap:4px;padding:0 6px 0 10px;font-size:13px;display:flex;overflow:hidden}.model-chev{flex:none;display:inline-flex;transform:rotate(-90deg)}.model-btn:not(:disabled):hover,.model-btn.on{background:var(--border);color:var(--text)}.context-menu.model-menu{min-width:240px;max-height:50vh;position:absolute;bottom:calc(100% + 6px);right:0;overflow-y:auto}.model-menu ul{margin:0;padding:0;list-style:none}.model-menu button{white-space:nowrap;align-items:center;display:flex}.model-menu .menu-label{letter-spacing:0;text-transform:none;font-size:12px}.model-gear{color:var(--muted);margin-right:6px;display:inline-flex}.model-gear svg{width:13px;height:13px}.model-key{color:var(--muted);margin-left:auto;padding-left:12px;font-size:11.5px}.model-check{box-sizing:content-box;text-align:right;width:16px;color:var(--accent);flex:none;margin-left:auto;padding-left:12px}.model-key+.model-check{margin-left:0}.menu-sep{border-top:1px solid var(--border);margin:4px 2px}.status{color:var(--muted);justify-content:space-between;gap:12px;padding:4px max(16px,50% - 430px) 10px;font-size:12px;display:flex}.status button.link:disabled{color:var(--muted);cursor:default}.signed-out{text-align:center;max-width:480px;color:var(--muted);margin:20vh auto}.file-link{cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:2px}.file-link:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}button.file-link{font:inherit;color:inherit;text-align:left;background:0 0;border:none;padding:0}.side-panel{border-left:1px solid var(--border);background:var(--bg);flex-direction:column;flex:none;min-width:280px;display:flex;position:relative}.preview-resize{cursor:col-resize;z-index:1;width:6px;position:absolute;top:0;bottom:0;left:-3px}.preview-head{border-bottom:1px solid var(--border);background:var(--panel);align-items:center;gap:6px;padding:8px 10px;font-size:13px;display:flex}.preview-title{text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;flex:1;min-width:0;overflow:hidden}.preview-head button{padding:2px 8px;font-size:13px}.preview-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.preview-frame{background:#fff;border:none;flex:1;width:100%}.preview-image,.preview-video{max-width:100%;margin:12px auto;display:block}.preview-markdown,.preview-code{padding:12px 16px}.preview-text{white-space:pre;margin:0;padding:12px 16px;font-size:13px}.preview-note{color:var(--warn);margin-bottom:8px;font-size:12px}.preview-empty{color:var(--muted);text-align:center;margin:auto;padding:24px}.side-switch{background:var(--panel);gap:4px;padding:6px 10px 0;display:flex}.side-switch button{padding:2px 10px;font-size:12px}.side-switch button.active{background:var(--bg);font-weight:600}.browser-address{flex:1;min-width:0;display:flex}.browser-address input{flex:1;min-width:0;padding:3px 8px;font-size:12px}.browser-head select{max-width:120px;font-size:12px}.browser-agent{color:var(--accent);background:var(--panel);border-bottom:1px solid var(--border);padding:4px 10px;font-size:12px}.browser-error{margin:0;padding:4px 10px}.browser-dialog{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.browser-dialog span{white-space:pre-wrap;overflow-wrap:anywhere;flex:1;min-width:0}.browser-dialog input{flex:1;min-width:120px;padding:3px 8px;font-size:12px}.browser-screen{background:var(--panel);flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.browser-frame{position:relative}.browser-frame img{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.browser-keys{resize:none;opacity:0;cursor:default;caret-color:#0000;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}@media (width<=900px){.side-panel{z-index:15;max-width:100%;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #0003}}
1
+ :root{--bg:#fff;--panel:#f6f7f9;--border:#e3e5e8;--text:#1f2328;--muted:#6b7280;--accent:#0e7490;--accent-text:#fff;--ok:#15803d;--fail:#b91c1c;--warn:#b45309;--code-bg:#f3f4f6;--hl-keyword:#cf222e;--hl-string:#0a3069;--hl-comment:#6e7781;--hl-number:#0550ae;--hl-title:#8250df;--hl-attr:#953800;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.6}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1115;--panel:#161a20;--border:#2a2f37;--text:#e6e6e6;--muted:#9aa1ab;--accent:#22a6c4;--accent-text:#0f1115;--ok:#4ade80;--fail:#f87171;--warn:#fbbf24;--code-bg:#1c2028;--hl-keyword:#ff7b72;--hl-string:#a5d6ff;--hl-comment:#8b949e;--hl-number:#79c0ff;--hl-title:#d2a8ff;--hl-attr:#ffa657}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:4px 12px}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.danger{color:var(--fail)}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.app{height:100%;display:flex}.sidebar{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;flex-shrink:0;width:260px;display:flex}.sidebar-brand{justify-content:space-between;align-items:center;padding:12px 10px 6px 14px;display:flex}.brand{align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.brand-mark{background:var(--accent);width:22px;height:22px;color:var(--accent-text);border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.new-session{text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;margin:4px 8px 10px;padding:6px 10px;font-size:14px;display:flex}.new-session svg{color:var(--muted)}.new-session:not(:disabled):hover{background:var(--border)}.ws-header{letter-spacing:.3px;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;padding:0 8px 4px 14px;font-size:12px;font-weight:600;display:flex}.ws-header-tools{gap:2px;display:flex}.icon-btn{color:var(--muted);background:0 0;border:none;padding:4px;display:flex}.icon-btn:not(:disabled):hover,.icon-btn.on{background:var(--border);color:var(--text)}.sidebar-search{border:1px solid var(--accent);background:var(--bg);color:var(--muted);border-radius:7px;align-items:center;gap:6px;margin:0 8px 6px;padding:3px 4px 3px 8px;display:flex}.sidebar-search input{min-width:0;color:var(--text);font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:14px}.sidebar mark{color:#1f2328;background:#fde68a;border-radius:2px}.sidebar.rail{align-items:center;gap:6px;width:56px;padding:12px 0 10px}.sidebar.rail .brand-mark{width:28px;height:28px;margin-bottom:4px;font-size:14px}.rail-btn{width:36px;height:36px;color:var(--muted);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex}.rail-btn:not(:disabled):hover{background:var(--border);color:var(--text)}.rail-btn svg{width:18px;height:18px}.rail-gap{flex:1}.sidebar-note{color:var(--muted);padding:0 12px 8px;font-size:13px}.sessions{padding:0 8px 12px;overflow-y:auto}.sessions ul{margin:0;padding:0;list-style:none}.ws>ul{padding-left:16px}.sessions-heading{color:var(--muted);padding:8px 8px 4px;font-size:12px}.session-item{border-radius:6px;margin-bottom:2px}.session-item:hover{background:var(--bg)}.session-item.current{background:var(--bg);box-shadow:inset 2px 0 0 var(--accent)}.session{align-items:center;gap:4px;width:100%;padding:2px 4px 2px 8px;display:flex}.session-pick{text-align:left;min-width:0;color:inherit;font:inherit;background:0 0;border:none;flex:1;padding:2px 0;display:flex}.session .preview{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-time{color:var(--muted);flex:none;font-size:12px}.session-status{flex:none;justify-content:center;align-items:center;width:12px;display:flex}.session-status .spinner{width:10px;height:10px}.status-dot{background:var(--warn);border-radius:50%;width:7px;height:7px}.session-badge{color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, transparent);border-radius:4px;flex:none;padding:0 5px;font-size:11px}.ws-more{color:var(--muted);background:0 0;border:none;margin:0 0 4px 16px;padding:0 8px;font-size:12.5px;display:block}.ws-more:hover{color:var(--text)}.menu-label{letter-spacing:.3px;text-transform:uppercase;color:var(--muted);padding:4px 10px 2px;font-size:11px}.menu-check{width:16px;color:var(--accent);display:inline-block}.session-tools{flex:none;gap:2px;display:none}.session-item:hover .session-time{display:none}.session-item:hover .session-tools{display:flex}.session-tools button{color:var(--muted);background:0 0;border:none;border-radius:4px;padding:3px;display:flex}.session-tools button:hover,.session-tools button.on{color:var(--text)}.session-tools button:hover{background:var(--panel)}.context-menu{z-index:10;border:1px solid var(--border);background:var(--bg);border-radius:8px;min-width:160px;margin:0;padding:4px;list-style:none;position:fixed;box-shadow:0 6px 20px #00000026}.context-menu button{text-align:left;background:0 0;border:none;width:100%;padding:4px 10px;font-size:14px}.context-menu button:not(:disabled):hover{background:var(--panel)}.ws-head{color:var(--muted);align-items:center;gap:4px;padding:6px 4px 2px 2px;font-size:12px;display:flex}.ws-head.active .ws-name{color:var(--text);font-weight:600}.ws-head.missing{opacity:.6}.ws-toggle{min-width:0;color:inherit;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:4px;padding:0 4px;font-size:12px;display:flex}.ws-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ws-note{flex:none}.ws-tools{flex:none;gap:2px;display:none}.ws-head:hover .ws-tools{display:flex}.ws-tools button{color:var(--muted);background:0 0;border:none;padding:3px;display:flex}.ws-chevron{flex:none;display:flex}.ws-tools button:hover{background:var(--panel);color:var(--text)}.session-folder{text-overflow:ellipsis;white-space:nowrap;max-width:72px;color:var(--muted);flex:none;font-size:12px;overflow:hidden}.session-item:hover .session-folder{display:none}.modal-backdrop{z-index:20;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;gap:8px;width:min(520px,90vw);max-height:70vh;padding:12px;display:flex}.crumbs{flex-wrap:wrap;display:flex}.crumbs button,.dirs button{text-align:left;background:0 0;border:none;padding:2px 4px}.dirs{border:1px solid var(--border);border-radius:6px;min-height:160px;margin:0;padding:0;list-style:none;overflow-y:auto}.dirs button{width:100%;padding:4px 8px}.dirs button:hover,.crumbs button:hover{background:var(--panel)}.modal-title{font-weight:600}.recent button{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dir-path{color:var(--muted);margin-left:8px;font-size:12px}.new-folder-where{align-items:center;gap:8px;font-size:13px;display:flex}.where-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:1;overflow:hidden}.modal-error{color:var(--fail);font-size:13px}.sidebar-user{align-items:center;gap:8px;margin:auto 8px 8px;padding:6px 4px 6px 8px;display:flex}.avatar{background:var(--accent);width:24px;height:24px;color:var(--accent-text);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.user-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.settings{border:1px solid var(--border);background:var(--bg);border-radius:12px;width:min(860px,94vw);height:min(600px,86vh);display:flex;overflow:hidden;box-shadow:0 16px 48px #0003}.settings-nav{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;flex:none;gap:2px;width:180px;padding:16px 8px;display:flex}.settings-nav-title{color:var(--muted);padding:0 8px 10px;font-size:13px}.settings-nav button{text-align:left;background:0 0;border:none;border-radius:6px;padding:6px 8px;font-size:14px}.settings-nav button.active{background:var(--bg);font-weight:600}.settings-body{flex-direction:column;flex:1;gap:14px;min-width:0;padding:20px 28px;display:flex;overflow-y:auto}.settings-head{justify-content:space-between;align-items:center;display:flex}.settings-head h2{margin:0;font-size:18px}.settings-desc{color:var(--muted);margin:-6px 0 0;font-size:13px}.model-cards{border:1px solid var(--border);border-radius:8px;margin:0;padding:0;list-style:none}.model-card{align-items:center;gap:10px;padding:10px 12px;display:flex}.model-card+.model-card{border-top:1px solid var(--border)}.model-main{flex:1;min-width:0}.model-name{font-weight:600}.model-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.model-card>button:not(.icon-btn){padding:3px 12px;font-size:13px}.badge{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.settings-subhead{color:var(--muted);margin-top:6px;font-size:12px;font-weight:600}.skill-desc{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.settings-empty,.settings-note{color:var(--muted);font-size:13px}.add-model{align-self:flex-start}.model-form{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;padding:14px;display:flex}.model-form label{flex-direction:column;gap:4px;font-size:13px;display:flex}.model-form label em{color:var(--muted);font-style:normal;font-weight:400}.model-form input{border:1px solid var(--border);font:inherit;background:var(--bg);color:inherit;border-radius:6px;padding:6px 8px}.model-form small{color:var(--muted);font-size:12px}.model-form label.check{flex-direction:row;align-items:center;gap:6px}.model-form label.check input{margin:0;padding:0}.model-form .check-note{margin-top:-8px}.model-vision{color:var(--muted);cursor:pointer;align-items:center;gap:4px;font-size:12px;display:flex}.model-vision input{margin:0}button.link{color:var(--accent);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0}button.link:not(:disabled):hover{text-decoration:underline}.spacer{flex:1}.session-rename{border:1px solid var(--border);width:100%;font:inherit;background:var(--panel);color:var(--fg);border-radius:4px;padding:4px 6px}.user-attach-fallback{color:var(--muted);font-size:13px}main{flex-direction:column;flex:1;min-width:0;display:flex}.banner{color:var(--warn);border-bottom:1px solid var(--border);padding:6px 16px;font-size:13px}.messages{flex:1;padding:16px max(16px,50% - 430px);overflow-y:auto}.empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:min(52vh,420px);padding:24px 16px;display:flex}.empty-title{letter-spacing:-.02em;color:var(--text);font-size:1.25rem;font-weight:600}.empty-hint{max-width:28rem;color:var(--muted);margin:8px 0 0;font-size:14px}.user{background:var(--panel);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:20px 0 8px;padding:8px 12px}.user-attach{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.reply{word-break:break-word}.reply pre{background:var(--code-bg);border-radius:6px;padding:10px 12px;overflow-x:auto}.reply :not(pre)>code{background:var(--code-bg);border-radius:4px;padding:1px 4px}.reply table{border-collapse:collapse}.reply th,.reply td{border:1px solid var(--border);padding:4px 8px}.hljs-keyword,.hljs-selector-tag,.hljs-literal{color:var(--hl-keyword)}.hljs-string,.hljs-regexp{color:var(--hl-string)}.hljs-comment,.hljs-quote{color:var(--hl-comment);font-style:italic}.hljs-number,.hljs-variable{color:var(--hl-number)}.hljs-title,.hljs-section,.hljs-function{color:var(--hl-title)}.hljs-attr,.hljs-attribute,.hljs-built_in,.hljs-type{color:var(--hl-attr)}.tool{white-space:nowrap;align-items:center;gap:8px;margin:4px 0;font-size:14px;display:flex;overflow:hidden}.tool .dot{color:var(--accent)}.tool.failed .dot,.tool.failed .result{color:var(--fail)}.tool .name{font-weight:600}.tool .summary{color:var(--muted);text-overflow:ellipsis;overflow:hidden}.tool.ok .result{color:var(--ok)}.steps{margin:6px 0}.steps-head{max-width:100%;color:var(--muted);white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:2px 4px 2px 0;font-size:13px;display:flex;overflow:hidden}.steps-head:hover{color:var(--text)}.steps-title{font-weight:600}.steps-detail{text-overflow:ellipsis;overflow:hidden}.steps-failed{color:var(--fail)}.steps-body{border-left:1px solid var(--border);margin-left:6px;padding-left:12px}.notice{color:var(--muted);margin:4px 0;font-size:13px}.notice.error{color:var(--fail)}.thinking{color:var(--muted);align-items:center;gap:8px;margin:8px 0;display:flex}.thinking.retry{color:var(--warn)}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.card{border:1px solid var(--warn);border-radius:8px;margin:12px 0;padding:12px}.card-title{margin-bottom:8px;font-weight:600}.card-body{background:var(--code-bg);white-space:pre-wrap;border-radius:6px;max-height:240px;margin:0 0 12px;padding:8px;overflow:auto}.card-actions{gap:8px;display:flex}.card.question{border-color:var(--accent)}.question-head{align-items:flex-start;gap:12px;display:flex}.question-head .card-title{flex:1}.question-hint{color:var(--muted);font-weight:400}.question-pager{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.question-pager button{padding:0 8px;line-height:1.5}.question-options{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}button.question-option{text-align:left;background:var(--bg);align-items:baseline;gap:10px;padding:6px 10px;display:flex}button.question-option:not(:disabled):hover,button.question-option.picked{border-color:var(--accent)}button.question-option.picked{box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--bg))}.question-key{color:var(--muted);flex:none;min-width:1em;font-size:12px}.question-other{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;margin-bottom:12px;padding:4px 8px}.question-spacer{flex:1}.composer-wrap{padding:8px max(16px,50% - 430px)}.todos{border:1px solid var(--border);background:var(--panel);border-radius:8px;margin:0 max(16px,50% - 430px);padding:6px 10px;font-size:13px}.todos-head{max-width:100%;color:var(--muted);background:0 0;border:none;align-items:center;gap:6px;padding:0;display:flex}.todos-head:hover{color:var(--text)}.todos-title{font-weight:600}.todos-current{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.todos-list{max-height:160px;margin:6px 0 2px;padding:0;list-style:none;overflow-y:auto}.todos-list li{gap:6px;padding:1px 0;display:flex}.todos-list li.completed{color:var(--muted);text-decoration:line-through}.todos-list li.in_progress{font-weight:600}.todos-mark{flex:none;width:1em}.attach-rail{gap:8px;padding-bottom:8px;display:flex;overflow-x:auto}.attach-card{border:1px solid var(--border);background:var(--panel);border-radius:12px;flex:none;align-items:center;gap:8px;min-width:180px;max-width:240px;height:64px;padding:6px 8px;display:flex;position:relative}.attach-card img{object-fit:cover;border-radius:6px;width:48px;height:48px}.attach-ext{width:48px;height:48px;color:var(--muted);background:var(--bg);border-radius:6px;place-items:center;font-size:11px;font-weight:600;display:grid}.attach-meta{flex:1;min-width:0}.attach-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.attach-sub{color:var(--muted);font-size:11px}button.attach-card.sent{font:inherit;color:inherit;text-align:left;cursor:pointer;background:var(--bg)}button.attach-card.sent:hover{border-color:var(--accent)}.attach-card.sent .attach-name,.attach-card.sent .attach-sub{display:block}.attach-card.error .attach-sub{color:var(--fail)}.attach-remove{width:22px;line-height:1;position:absolute;top:2px;right:2px;border-radius:11px!important;height:22px!important;padding:0!important}.composer{border:1px solid var(--border);background:var(--bg);border-radius:12px;flex-direction:column;padding:8px 8px 6px 12px;display:flex}.composer:focus-within{border-color:var(--accent)}.composer textarea{resize:none;font:inherit;color:var(--text);background:0 0;border:none;outline:none;padding:2px 0}.composer-bar{align-items:center;gap:6px;margin-top:4px;display:flex}.composer-bar .attach-btn{width:30px;height:30px;color:var(--muted);background:0 0;border:none;border-radius:8px;padding:0;font-size:20px;line-height:1}.composer-bar .attach-btn:not(:disabled):hover{background:var(--border);color:var(--text)}.send-btn{background:var(--accent);border-color:var(--accent);width:32px;height:32px;color:var(--accent-text);border-radius:50%;place-items:center;padding:0;display:grid}.send-btn.stop{background:var(--text);border-color:var(--text);color:var(--bg)}.model-picker{position:relative}.model-btn{max-width:260px;height:30px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:8px;align-items:center;gap:4px;padding:0 6px 0 10px;font-size:13px;display:flex;overflow:hidden}.model-chev{flex:none;display:inline-flex;transform:rotate(-90deg)}.model-btn:not(:disabled):hover,.model-btn.on{background:var(--border);color:var(--text)}.context-menu.model-menu{min-width:240px;max-height:50vh;position:absolute;bottom:calc(100% + 6px);right:0;overflow-y:auto}.model-menu ul{margin:0;padding:0;list-style:none}.model-menu button{white-space:nowrap;align-items:center;display:flex}.model-menu .menu-label{letter-spacing:0;text-transform:none;font-size:12px}.model-gear{color:var(--muted);margin-right:6px;display:inline-flex}.model-gear svg{width:13px;height:13px}.model-key{color:var(--muted);margin-left:auto;padding-left:12px;font-size:11.5px}.model-check{box-sizing:content-box;text-align:right;width:16px;color:var(--accent);flex:none;margin-left:auto;padding-left:12px}.model-key+.model-check{margin-left:0}.menu-sep{border-top:1px solid var(--border);margin:4px 2px}.status{color:var(--muted);justify-content:space-between;gap:12px;padding:4px max(16px,50% - 430px) 10px;font-size:12px;display:flex}.status button.link:disabled{color:var(--muted);cursor:default}.signed-out{text-align:center;max-width:480px;color:var(--muted);margin:20vh auto}.file-link{cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:2px}.file-link:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}button.file-link{font:inherit;color:inherit;text-align:left;background:0 0;border:none;padding:0}.side-panel{border-left:1px solid var(--border);background:var(--bg);flex-direction:column;flex:none;min-width:280px;display:flex;position:relative}.preview-resize{cursor:col-resize;z-index:1;width:6px;position:absolute;top:0;bottom:0;left:-3px}.preview-head{border-bottom:1px solid var(--border);background:var(--panel);align-items:center;gap:6px;padding:8px 10px;font-size:13px;display:flex}.preview-title{text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;flex:1;min-width:0;overflow:hidden}.preview-head button{padding:2px 8px;font-size:13px}.preview-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.preview-frame{background:#fff;border:none;flex:1;width:100%}.preview-image,.preview-video{max-width:100%;margin:12px auto;display:block}.preview-markdown,.preview-code{padding:12px 16px}.preview-text{white-space:pre;margin:0;padding:12px 16px;font-size:13px}.preview-note{color:var(--warn);margin-bottom:8px;font-size:12px}.preview-empty{color:var(--muted);text-align:center;margin:auto;padding:24px}.side-switch{background:var(--panel);gap:4px;padding:6px 10px 0;display:flex}.side-switch button{padding:2px 10px;font-size:12px}.side-switch button.active{background:var(--bg);font-weight:600}.browser-address{flex:1;min-width:0;display:flex}.browser-address input{flex:1;min-width:0;padding:3px 8px;font-size:12px}.browser-head select{max-width:120px;font-size:12px}.browser-agent{color:var(--accent);background:var(--panel);border-bottom:1px solid var(--border);padding:4px 10px;font-size:12px}.browser-error{margin:0;padding:4px 10px}.browser-dialog{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.browser-dialog span{white-space:pre-wrap;overflow-wrap:anywhere;flex:1;min-width:0}.browser-dialog input{flex:1;min-width:120px;padding:3px 8px;font-size:12px}.browser-screen{background:var(--panel);flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.browser-frame{position:relative}.browser-frame img{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.browser-keys{resize:none;opacity:0;cursor:default;caret-color:#0000;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}@media (width<=900px){.side-panel{z-index:15;max-width:100%;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #0003}}
@@ -46,4 +46,4 @@ https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(
46
46
  `,...a.current()}),u=l.charCodeAt(0);return(u===9||u===32)&&(l=ed(u)+l.slice(1)),l=l?o+` `+l:o,n.options.closeAtx&&(l+=` `+o),c(),s(),l}rd.peek=id;function rd(e){return e.value||``}function id(){return`<`}ad.peek=od;function ad(e,t,n,r){let i=Zu(n),a=i===`"`?`Quote`:`Apostrophe`,o=n.enter(`image`),s=n.enter(`label`),c=n.createTracker(r),l=c.move(`![`);return l+=c.move(n.safe(e.alt,{before:l,after:`]`,...c.current()})),l+=c.move(`](`),s(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(s=n.enter(`destinationLiteral`),l+=c.move(`<`),l+=c.move(n.safe(e.url,{before:l,after:`>`,...c.current()})),l+=c.move(`>`)):(s=n.enter(`destinationRaw`),l+=c.move(n.safe(e.url,{before:l,after:e.title?` `:`)`,...c.current()}))),s(),e.title&&(s=n.enter(`title${a}`),l+=c.move(` `+i),l+=c.move(n.safe(e.title,{before:l,after:i,...c.current()})),l+=c.move(i),s()),l+=c.move(`)`),o(),l}function od(){return`!`}sd.peek=cd;function sd(e,t,n,r){let i=e.referenceType,a=n.enter(`imageReference`),o=n.enter(`label`),s=n.createTracker(r),c=s.move(`![`),l=n.safe(e.alt,{before:c,after:`]`,...s.current()});c+=s.move(l+`][`),o();let u=n.stack;n.stack=u.filter(function(e){return e!==`phrasing`}),o=n.enter(`reference`);let d=n.safe(n.associationId(e),{before:c,after:`]`,...s.current()});return o(),n.stack=u,a(),i===`full`||!l||l!==d?c+=s.move(d+`]`):i===`shortcut`?c=c.slice(0,-1):c+=s.move(`]`),c}function cd(){return`!`}ld.peek=ud;function ld(e,t,n){let r=e.value||``,i="`",a=-1;for(;RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^\n\r ]/.test(r)&&(/^[\n\r ]/.test(r)&&/[\n\r ]$/.test(r)||/^`|`$/.test(r))&&(r=` `+r+` `);++a<n.unsafe.length;){let e=n.unsafe[a],t=n.compilePattern(e);if(!e.atBreak)continue;let i;for(;i=t.exec(r);){let e=i.index;r.charCodeAt(e)===10&&r.charCodeAt(e-1)===13&&e--,r=r.slice(0,e)+` `+r.slice(i.index+1)}}return i+r+i}function ud(){return"`"}function dd(e,t){let n=tn(e);return!(t.options.resourceLink||!e.url||e.title||!e.children||e.children.length!==1||e.children[0].type!==`text`||n!==e.url&&`mailto:`+n!==e.url||!/^[a-z][+\-.a-z]+:/i.test(e.url)||/[\0- <>\u007F]/.test(e.url))}fd.peek=pd;function fd(e,t,n,r){let i=Zu(n),a=i===`"`?`Quote`:`Apostrophe`,o=n.createTracker(r);if(dd(e,n)){let t=n.stack;n.stack=t.filter(function(e){return e!==`phrasing`});let r=n.enter(`autolink`),i=o.move(`<`);return i+=o.move(n.containerPhrasing(e,{before:i,after:`>`,...o.current()})),i+=o.move(`>`),r(),n.stack=t,i}let s=n.enter(`link`),c=n.enter(`label`),l=o.move(`[`);return l+=o.move(n.containerPhrasing(e,{before:l,after:`](`,...o.current()})),l+=o.move(`](`),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=n.enter(`destinationLiteral`),l+=o.move(`<`),l+=o.move(n.safe(e.url,{before:l,after:`>`,...o.current()})),l+=o.move(`>`)):(c=n.enter(`destinationRaw`),l+=o.move(n.safe(e.url,{before:l,after:e.title?` `:`)`,...o.current()}))),c(),e.title&&(c=n.enter(`title${a}`),l+=o.move(` `+i),l+=o.move(n.safe(e.title,{before:l,after:i,...o.current()})),l+=o.move(i),c()),l+=o.move(`)`),s(),l}function pd(e,t,n){return dd(e,n)?`<`:`[`}md.peek=hd;function md(e,t,n,r){let i=e.referenceType,a=n.enter(`linkReference`),o=n.enter(`label`),s=n.createTracker(r),c=s.move(`[`),l=n.containerPhrasing(e,{before:c,after:`]`,...s.current()});c+=s.move(l+`][`),o();let u=n.stack;n.stack=u.filter(function(e){return e!==`phrasing`}),o=n.enter(`reference`);let d=n.safe(n.associationId(e),{before:c,after:`]`,...s.current()});return o(),n.stack=u,a(),i===`full`||!l||l!==d?c+=s.move(d+`]`):i===`shortcut`?c=c.slice(0,-1):c+=s.move(`]`),c}function hd(){return`[`}function gd(e){let t=e.options.bullet||`*`;if(t!==`*`&&t!==`+`&&t!==`-`)throw Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function _d(e){let t=gd(e),n=e.options.bulletOther;if(!n)return t===`*`?`-`:`*`;if(n!==`*`&&n!==`+`&&n!==`-`)throw Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function vd(e){let t=e.options.bulletOrdered||`.`;if(t!==`.`&&t!==`)`)throw Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function yd(e){let t=e.options.rule||`*`;if(t!==`*`&&t!==`-`&&t!==`_`)throw Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function bd(e,t,n,r){let i=n.enter(`list`),a=n.bulletCurrent,o=e.ordered?vd(n):gd(n),s=e.ordered?o===`.`?`)`:`.`:_d(n),c=t&&n.bulletLastUsed?o===n.bulletLastUsed:!1;if(!e.ordered){let t=e.children?e.children[0]:void 0;if((o===`*`||o===`-`)&&t&&(!t.children||!t.children[0])&&n.stack[n.stack.length-1]===`list`&&n.stack[n.stack.length-2]===`listItem`&&n.stack[n.stack.length-3]===`list`&&n.stack[n.stack.length-4]===`listItem`&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(c=!0),yd(n)===o&&t){let t=-1;for(;++t<e.children.length;){let n=e.children[t];if(n&&n.type===`listItem`&&n.children&&n.children[0]&&n.children[0].type===`thematicBreak`){c=!0;break}}}}c&&(o=s),n.bulletCurrent=o;let l=n.containerFlow(e,r);return n.bulletLastUsed=o,n.bulletCurrent=a,i(),l}function xd(e){let t=e.options.listItemIndent||`one`;if(t!==`tab`&&t!==`one`&&t!==`mixed`)throw Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function Sd(e,t,n,r){let i=xd(n),a=n.bulletCurrent||gd(n);t&&t.type===`list`&&t.ordered&&(a=(typeof t.start==`number`&&t.start>-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+a);let o=a.length+1;(i===`tab`||i===`mixed`&&(t&&t.type===`list`&&t.spread||e.spread))&&(o=Math.ceil(o/4)*4);let s=n.createTracker(r);s.move(a+` `.repeat(o-a.length)),s.shift(o);let c=n.enter(`listItem`),l=n.indentLines(n.containerFlow(e,s.current()),u);return c(),l;function u(e,t,n){return t?(n?``:` `.repeat(o))+e:(n?a:a+` `.repeat(o-a.length))+e}}function Cd(e,t,n,r){let i=n.enter(`paragraph`),a=n.enter(`phrasing`),o=n.containerPhrasing(e,r);return a(),i(),o}function wd(e,t,n,r){if(!e.children.some(function(e){return Vu(e)}))return n.containerFlow(e,r);let i=n.enter(`phrasing`),a=n.containerPhrasing(e,r);return i(),a}function Td(e){let t=e.options.strong||`*`;if(t!==`*`&&t!==`_`)throw Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}Ed.attention=Dd,Ed.peek=Od;function Ed(e,t,n,r){let i=n.enter(`phrasing`),a=n.containerPhrasing({type:`root`,children:[e]},r);return i(),a}function Dd(e,t){return{construct:`strong`,markers:Td(t)===`*`?[`*`,`_`]:[`_`,`*`],sizes:[2]}}function Od(e,t,n){return n.options.strong||`*`}function kd(e,t,n,r){let i=t?t.children:[],a=i.indexOf(e);return n.safe(e.value,{...r,afterNode:i[a+1],beforeNode:i[a-1]})}function Ad(e){let t=e.options.ruleRepetition||3;if(t<3)throw Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function jd(e,t,n){let r=(yd(n)+(n.options.ruleSpaces?` `:``)).repeat(Ad(n));return n.options.ruleSpaces?r.slice(0,-1):r}var Md={blockquote:Hu,break:Ku,code:Xu,definition:X,emphasis:Q,hardBreak:Ku,heading:nd,html:rd,image:ad,imageReference:sd,inlineCode:ld,link:fd,linkReference:md,list:bd,listItem:Sd,paragraph:Cd,root:wd,strong:Ed,text:kd,thematicBreak:jd};function Nd(){return{enter:{table:Pd,tableData:Rd,tableHeader:Rd,tableRow:Id},exit:{codeText:zd,table:Fd,tableData:Ld,tableHeader:Ld,tableRow:Ld}}}function Pd(e){let t=e._align;this.enter({type:`table`,align:t.map(function(e){return e===`none`?null:e}),children:[]},e),this.data.inTable=!0}function Fd(e){this.exit(e),this.data.inTable=void 0}function Id(e){this.enter({type:`tableRow`,children:[]},e)}function Ld(e){this.exit(e)}function Rd(e){this.enter({type:`tableCell`,children:[]},e)}function zd(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,Bd));let n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function Bd(e,t){return t===`|`?t:e}function Vd(e){let t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,a=n?` `:`|`;return{unsafe:[{character:`\r`,inConstruct:`tableCell`},{character:`
47
47
  `,inConstruct:`tableCell`},{atBreak:!0,character:`|`,after:`[ :-]`},{character:`|`,inConstruct:`tableCell`},{atBreak:!0,character:`:`,after:`-`},{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{inlineCode:f,table:o,tableCell:c,tableRow:s}};function o(e,t,n,r){return l(u(e,n,r),e.align)}function s(e,t,n,r){let i=l([d(e,n,r)]);return i.slice(0,i.indexOf(`
48
48
  `))}function c(e,t,n,r){let i=n.enter(`tableCell`),o=n.enter(`phrasing`),s=n.containerPhrasing(e,{...r,before:a,after:a});return o(),i(),s}function l(e,t){return Ru(e,{align:t,alignDelimiters:r,padding:n,stringLength:i})}function u(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`table`);for(;++i<r.length;)a[i]=d(r[i],t,n);return o(),a}function d(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`tableRow`);for(;++i<r.length;)a[i]=c(r[i],e,t,n);return o(),a}function f(e,t,n){let r=Md.inlineCode(e,t,n);return n.stack.includes(`tableCell`)&&(r=r.replace(/\|/g,`\\$&`)),r}}function Hd(){return{exit:{taskListCheckValueChecked:Wd,taskListCheckValueUnchecked:Wd,paragraph:Gd}}}function Ud(){return{unsafe:[{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{listItem:Kd}}}function Wd(e){let t=this.stack[this.stack.length-2];t.type,t.checked=e.type===`taskListCheckValueChecked`}function Gd(e){let t=this.stack[this.stack.length-2];if(t&&t.type===`listItem`&&typeof t.checked==`boolean`){let e=this.stack[this.stack.length-1];e.type;let n=e.children[0];if(n&&n.type===`text`){let r=t.children,i=-1,a;for(;++i<r.length;){let e=r[i];if(e.type===`paragraph`){a=e;break}}a===e&&(n.value=n.value.slice(1),n.value.length===0?e.children.shift():e.position&&n.position&&typeof n.position.start.offset==`number`&&(n.position.start.column++,n.position.start.offset++,e.position.start=Object.assign({},n.position.start)))}}this.exit(e)}function Kd(e,t,n,r){let i=e.children[0],a=typeof e.checked==`boolean`&&i&&i.type===`paragraph`,o=`[`+(e.checked?`x`:` `)+`] `,s=n.createTracker(r);a&&s.move(o);let c=Md.listItem(e,t,n,{...r,...s.current()});return a&&(c=c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,l)),c;function l(e){return e+o}}function qd(){return[tu(),Tu(),Au(),Nd(),Hd()]}function Jd(e){return{extensions:[nu(),Eu(e),ju(),Vd(e),Ud()]}}var Yd={tokenize:uf,partial:!0},Xd={tokenize:df,partial:!0},Zd={tokenize:ff,partial:!0},Qd={tokenize:pf,partial:!0},$d={tokenize:mf,partial:!0},ef={name:`wwwAutolink`,tokenize:cf,previous:hf},tf={name:`protocolAutolink`,tokenize:lf,previous:gf},nf={name:`emailAutolink`,tokenize:sf,previous:_f},rf={};function af(){return{text:rf}}for(var of=48;of<123;)rf[of]=nf,of++,of===58?of=65:of===91&&(of=97);rf[43]=nf,rf[45]=nf,rf[46]=nf,rf[95]=nf,rf[72]=[nf,tf],rf[104]=[nf,tf],rf[87]=[nf,ef],rf[119]=[nf,ef];function sf(e,t,n){let r=this,i,a;return o;function o(t){return!vf(t)||!_f.call(r,r.previous)||yf(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkEmail`),s(t))}function s(t){return vf(t)?(e.consume(t),s):t===64?(e.consume(t),c):n(t)}function c(t){return t===46?e.check($d,u,l)(t):t===45||t===95||_n(t)?(a=!0,e.consume(t),c):u(t)}function l(t){return e.consume(t),i=!0,c}function u(o){return a&&i&&gn(r.previous)?(e.exit(`literalAutolinkEmail`),e.exit(`literalAutolink`),t(o)):n(o)}}function cf(e,t,n){let r=this;return i;function i(t){return t!==87&&t!==119||!hf.call(r,r.previous)||yf(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkWww`),e.check(Yd,e.attempt(Xd,e.attempt(Zd,a),n),n)(t))}function a(n){return e.exit(`literalAutolinkWww`),e.exit(`literalAutolink`),t(n)}}function lf(e,t,n){let r=this,i=``,a=!1;return o;function o(t){return(t===72||t===104)&&gf.call(r,r.previous)&&!yf(r.events)?(e.enter(`literalAutolink`),e.enter(`literalAutolinkHttp`),i+=String.fromCodePoint(t),e.consume(t),s):n(t)}function s(t){if(gn(t)&&i.length<5)return i+=String.fromCodePoint(t),e.consume(t),s;if(t===58){let n=i.toLowerCase();if(n===`http`||n===`https`)return e.consume(t),c}return n(t)}function c(t){return t===47?(e.consume(t),a?l:(a=!0,c)):n(t)}function l(t){return t===null||yn(t)||W(t)||wn(t)||Cn(t)?n(t):e.attempt(Xd,e.attempt(Zd,u),n)(t)}function u(n){return e.exit(`literalAutolinkHttp`),e.exit(`literalAutolink`),t(n)}}function uf(e,t,n){let r=0;return i;function i(t){return(t===87||t===119)&&r<3?(r++,e.consume(t),i):t===46&&r===3?(e.consume(t),a):n(t)}function a(e){return e===null?n(e):t(e)}}function df(e,t,n){let r,i,a;return o;function o(t){return t===46||t===95?e.check(Qd,c,s)(t):t===null||W(t)||wn(t)||t!==45&&Cn(t)?c(t):(a=!0,e.consume(t),o)}function s(t){return t===95?r=!0:(i=r,r=void 0),e.consume(t),o}function c(e){return i||r||!a?n(e):t(e)}}function ff(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r<n?a(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(Qd,t,a)(o):o===null||W(o)||wn(o)?t(o):(e.consume(o),i)}function a(t){return t===41&&r++,e.consume(t),i}}function pf(e,t,n){return r;function r(o){return o===33||o===34||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===63||o===95||o===126?(e.consume(o),r):o===38?(e.consume(o),a):o===93?(e.consume(o),i):o===60||o===null||W(o)||wn(o)?t(o):n(o)}function i(e){return e===null||e===40||e===91||W(e)||wn(e)?t(e):r(e)}function a(e){return gn(e)?o(e):n(e)}function o(t){return t===59?(e.consume(t),r):gn(t)?(e.consume(t),o):n(t)}}function mf(e,t,n){return r;function r(t){return e.consume(t),i}function i(e){return _n(e)?n(e):t(e)}}function hf(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||W(e)}function gf(e){return!gn(e)}function _f(e){return!(e===47||vf(e))}function vf(e){return e===43||e===45||e===46||e===95||_n(e)}function yf(e){let t=e.length,n=!1;for(;t--;){let r=e[t][1];if((r.type===`labelLink`||r.type===`labelImage`)&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var bf={tokenize:Of,partial:!0};function xf(){return{document:{91:{name:`gfmFootnoteDefinition`,tokenize:Tf,continuation:{tokenize:Ef},exit:Df}},text:{91:{name:`gfmFootnoteCall`,tokenize:wf},93:{name:`gfmPotentialFootnoteCall`,add:`after`,tokenize:Sf,resolveTo:Cf}}}}function Sf(e,t,n){let r=this,i=r.events.length,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),o;for(;i--;){let e=r.events[i][1];if(e.type===`labelImage`){o=e;break}if(e.type===`gfmFootnoteCall`||e.type===`labelLink`||e.type===`label`||e.type===`image`||e.type===`link`)break}return s;function s(i){if(!o||!o._balanced)return n(i);let s=hn(r.sliceSerialize({start:o.end,end:r.now()}));return s.codePointAt(0)!==94||!a.includes(s.slice(1))?n(i):(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(i),e.exit(`gfmFootnoteCallLabelMarker`),t(i))}}function Cf(e,t){let n=e.length;for(;n--;)if(e[n][1].type===`labelImage`&&e[n][0]===`enter`){e[n][1];break}e[n+1][1].type=`data`,e[n+3][1].type=`gfmFootnoteCallLabelMarker`;let r={type:`gfmFootnoteCall`,start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:`gfmFootnoteCallMarker`,start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;let a={type:`gfmFootnoteCallString`,start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:`chunkString`,contentType:`string`,start:Object.assign({},a.start),end:Object.assign({},a.end)},s=[e[n+1],e[n+2],[`enter`,r,t],e[n+3],e[n+4],[`enter`,i,t],[`exit`,i,t],[`enter`,a,t],[`enter`,o,t],[`exit`,o,t],[`exit`,a,t],e[e.length-2],e[e.length-1],[`exit`,r,t]];return e.splice(n,e.length-n+1,...s),e}function wf(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a=0,o;return s;function s(t){return e.enter(`gfmFootnoteCall`),e.enter(`gfmFootnoteCallLabelMarker`),e.consume(t),e.exit(`gfmFootnoteCallLabelMarker`),c}function c(t){return t===94?(e.enter(`gfmFootnoteCallMarker`),e.consume(t),e.exit(`gfmFootnoteCallMarker`),e.enter(`gfmFootnoteCallString`),e.enter(`chunkString`).contentType=`string`,l):n(t)}function l(s){if(a>999||s===93&&!o||s===null||s===91||W(s))return n(s);if(s===93){e.exit(`chunkString`);let a=e.exit(`gfmFootnoteCallString`);return i.includes(hn(r.sliceSerialize(a)))?(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(s),e.exit(`gfmFootnoteCallLabelMarker`),e.exit(`gfmFootnoteCall`),t):n(s)}return W(s)||(o=!0),a++,e.consume(s),s===92?u:l}function u(t){return t===91||t===92||t===93?(e.consume(t),a++,l):l(t)}}function Tf(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a,o=0,s;return c;function c(t){return e.enter(`gfmFootnoteDefinition`)._container=!0,e.enter(`gfmFootnoteDefinitionLabel`),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),l}function l(t){return t===94?(e.enter(`gfmFootnoteDefinitionMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionMarker`),e.enter(`gfmFootnoteDefinitionLabelString`),e.enter(`chunkString`).contentType=`string`,u):n(t)}function u(t){if(o>999||t===93&&!s||t===null||t===91||W(t))return n(t);if(t===93){e.exit(`chunkString`);let n=e.exit(`gfmFootnoteDefinitionLabelString`);return a=hn(r.sliceSerialize(n)),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),e.exit(`gfmFootnoteDefinitionLabel`),f}return W(t)||(s=!0),o++,e.consume(t),t===92?d:u}function d(t){return t===91||t===92||t===93?(e.consume(t),o++,u):u(t)}function f(t){return t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),i.includes(a)||i.push(a),K(e,p,`gfmFootnoteDefinitionWhitespace`)):n(t)}function p(e){return t(e)}}function Ef(e,t,n){return e.check(Wn,t,e.attempt(bf,t,n))}function Df(e){e.exit(`gfmFootnoteDefinition`)}function Of(e,t,n){let r=this;return K(e,i,`gfmFootnoteDefinitionIndent`,5);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`gfmFootnoteDefinitionIndent`&&i[2].sliceSerialize(i[1],!0).length===4?t(e):n(e)}}function kf(e){let t=(e||{}).singleTilde,n={name:`strikethrough`,tokenize:i,resolveAll:r};return t??=!0,{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){let n=-1;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`strikethroughSequenceTemporary`&&e[n][1]._close){let r=n;for(;r--;)if(e[r][0]===`exit`&&e[r][1].type===`strikethroughSequenceTemporary`&&e[r][1]._open&&e[n][1].end.offset-e[n][1].start.offset===e[r][1].end.offset-e[r][1].start.offset){e[n][1].type=`strikethroughSequence`,e[r][1].type=`strikethroughSequence`;let i={type:`strikethrough`,start:Object.assign({},e[r][1].start),end:Object.assign({},e[n][1].end)},a={type:`strikethroughText`,start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},o=[[`enter`,i,t],[`enter`,e[r][1],t],[`exit`,e[r][1],t],[`enter`,a,t]],s=t.parser.constructs.insideSpan.null;s&&cn(o,o.length,0,Ln(s,e.slice(r+1,n),t)),cn(o,o.length,0,[[`exit`,a,t],[`enter`,e[n][1],t],[`exit`,e[n][1],t],[`exit`,i,t]]),cn(e,r-1,n-r+3,o),n=r+o.length-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`strikethroughSequenceTemporary`&&(e[n][1].type=`data`);return e}function i(e,n,r){let i=this.previous,a=this.events,o=0;return s;function s(t){return i===126&&a[a.length-1][1].type!==`characterEscape`?r(t):(e.enter(`strikethroughSequenceTemporary`),c(t))}function c(a){let s=In(i);if(a===126)return o>1?r(a):(e.consume(a),o++,c);if(o<2&&!t)return r(a);let l=e.exit(`strikethroughSequenceTemporary`),u=In(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}var Af=class{constructor(){this.map=[],this.index=new Map}add(e,t,n){jf(this,e,t,n)}consume(e){if(this.map.sort(function(e,t){return e[0]-t[0]}),this.map.length===0)return;let t=this.map.length,n=[];for(;t>0;)--t,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();for(;r;){for(let t of r)e.push(t);r=n.pop()}this.map.length=0,this.index.clear()}};function jf(e,t,n,r){if(n===0&&r.length===0)return;let i=e.index.get(t);if(i){i[1]+=n,i[2].push(...r);return}let a=[t,n,r];e.map.push(a),e.index.set(t,a)}function Mf(e,t){let n=!1,r=[];for(;t<e.length;){let i=e[t];if(n){if(i[0]===`enter`)i[1].type===`tableContent`&&r.push(e[t+1][1].type===`tableDelimiterMarker`?`left`:`none`);else if(i[1].type===`tableContent`){if(e[t-1][1].type===`tableDelimiterMarker`){let e=r.length-1;r[e]=r[e]===`left`?`center`:`right`}}else if(i[1].type===`tableDelimiterRow`)break}else i[0]===`enter`&&i[1].type===`tableDelimiterRow`&&(n=!0);t+=1}return r}function Nf(){return{flow:{null:{name:`table`,tokenize:Pf,resolveAll:Ff}}}}function Pf(e,t,n){let r=this,i=0,a=0,o;return s;function s(e){let t=r.events.length-1;for(;t>-1;){let{type:e}=r.events[t][1];if(e===`lineEnding`||e===`linePrefix`)t--;else break}let i=t>-1?r.events[t][1].type:null,a=i===`tableHead`||i===`tableRow`?S:c;return a===S&&r.parser.lazy[r.now().line]?n(e):a(e)}function c(t){return e.enter(`tableHead`),e.enter(`tableRow`),l(t)}function l(e){return e===124||(o=!0,a+=1),u(e)}function u(t){return t===null?n(t):U(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):G(t)?K(e,u,`whitespace`)(t):(a+=1,o&&(o=!1,i+=1),t===124?(e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),o=!0,u):(e.enter(`data`),d(t)))}function d(t){return t===null||t===124||W(t)?(e.exit(`data`),u(t)):(e.consume(t),t===92?f:d)}function f(t){return t===92||t===124?(e.consume(t),d):d(t)}function p(t){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(t):(e.enter(`tableDelimiterRow`),o=!1,G(t)?K(e,m,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):m(t))}function m(t){return t===45||t===58?g(t):t===124?(o=!0,e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),h):x(t)}function h(t){return G(t)?K(e,g,`whitespace`)(t):g(t)}function g(t){return t===58?(a+=1,o=!0,e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),_):t===45?(a+=1,_(t)):t===null||U(t)?b(t):x(t)}function _(t){return t===45?(e.enter(`tableDelimiterFiller`),v(t)):x(t)}function v(t){return t===45?(e.consume(t),v):t===58?(o=!0,e.exit(`tableDelimiterFiller`),e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),y):(e.exit(`tableDelimiterFiller`),y(t))}function y(t){return G(t)?K(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||U(n)?!o||i!==a?x(n):(e.exit(`tableDelimiterRow`),e.exit(`tableHead`),t(n)):x(n)}function x(e){return n(e)}function S(t){return e.enter(`tableRow`),C(t)}function C(n){return n===124?(e.enter(`tableCellDivider`),e.consume(n),e.exit(`tableCellDivider`),C):n===null||U(n)?(e.exit(`tableRow`),t(n)):G(n)?K(e,C,`whitespace`)(n):(e.enter(`data`),w(n))}function w(t){return t===null||t===124||W(t)?(e.exit(`data`),C(t)):(e.consume(t),t===92?T:w)}function T(t){return t===92||t===124?(e.consume(t),w):w(t)}}function Ff(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,c=0,l,u,d,f=new Af;for(;++n<e.length;){let p=e[n],m=p[1];p[0]===`enter`?m.type===`tableHead`?(s=!1,c!==0&&(Lf(f,t,c,l,u),u=void 0,c=0),l={type:`table`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,l,t]])):m.type===`tableRow`||m.type===`tableDelimiterRow`?(r=!0,d=void 0,a=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,u={type:`tableBody`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,u,t]])),i=m.type===`tableDelimiterRow`?2:u?3:1):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)?(r=!1,o[2]===0&&(a[1]!==0&&(o[0]=o[1],d=If(f,t,a,i,void 0,d),a=[0,0,0,0]),o[2]=n)):m.type===`tableCellDivider`&&(r?r=!1:(a[1]!==0&&(o[0]=o[1],d=If(f,t,a,i,void 0,d)),a=o,o=[a[1],n,0,0])):m.type===`tableHead`?(s=!0,c=n):m.type===`tableRow`||m.type===`tableDelimiterRow`?(c=n,a[1]===0?o[1]!==0&&(d=If(f,t,o,i,n,d)):(o[0]=o[1],d=If(f,t,a,i,n,d)),i=0):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)&&(o[3]=n)}for(c!==0&&Lf(f,t,c,l,u),f.consume(t.events),n=-1;++n<t.events.length;){let e=t.events[n];e[0]===`enter`&&e[1].type===`table`&&(e[1]._align=Mf(t.events,n))}return e}function If(e,t,n,r,i,a){let o=r===1?`tableHeader`:r===2?`tableDelimiter`:`tableData`;n[0]!==0&&(a.end=Object.assign({},Rf(t.events,n[0])),e.add(n[0],0,[[`exit`,a,t]]));let s=Rf(t.events,n[1]);if(a={type:o,start:Object.assign({},s),end:Object.assign({},s)},e.add(n[1],0,[[`enter`,a,t]]),n[2]!==0){let i=Rf(t.events,n[2]),a=Rf(t.events,n[3]),o={type:`tableContent`,start:Object.assign({},i),end:Object.assign({},a)};if(e.add(n[2],0,[[`enter`,o,t]]),r!==2){let r=t.events[n[2]],i=t.events[n[3]];if(r[1].end=Object.assign({},i[1].end),r[1].type=`chunkText`,r[1].contentType=`text`,n[3]>n[2]+1){let t=n[2]+1,r=n[3]-n[2]-1;e.add(t,r,[])}}e.add(n[3]+1,0,[[`exit`,o,t]])}return i!==void 0&&(a.end=Object.assign({},Rf(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function Lf(e,t,n,r,i){let a=[],o=Rf(t.events,n);i&&(i.end=Object.assign({},o),a.push([`exit`,i,t])),r.end=Object.assign({},o),a.push([`exit`,r,t]),e.add(n+1,0,a)}function Rf(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}var zf={name:`tasklistCheck`,tokenize:$};function Bf(){return{text:{91:zf}}}function $(e,t,n){let r=this;return i;function i(t){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(t):(e.enter(`taskListCheck`),e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),a)}function a(t){return W(t)?(e.enter(`taskListCheckValueUnchecked`),e.consume(t),e.exit(`taskListCheckValueUnchecked`),o):t===88||t===120?(e.enter(`taskListCheckValueChecked`),e.consume(t),e.exit(`taskListCheckValueChecked`),o):n(t)}function o(t){return t===93?(e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),e.exit(`taskListCheck`),s):n(t)}function s(r){return U(r)?t(r):G(r)?e.check({tokenize:Vf},t,n)(r):n(r)}}function Vf(e,t,n){return K(e,r,`whitespace`);function r(e){return e===null?n(e):t(e)}}function Hf(e){return dn([af(),xf(),kf(e),Nf(),Bf()])}var Uf={};function Wf(e){let t=this,n=e||Uf,r=t.data(),i=r.micromarkExtensions||=[],a=r.fromMarkdownExtensions||=[],o=r.toMarkdownExtensions||=[];i.push(Hf(n)),a.push(qd()),o.push(Jd(n))}var Gf=1048576,Kf=262144,qf=`allow-scripts allow-forms allow-popups allow-modals`;function Jf(e){return e<1024?`${e}B`:e<1048576?`${(e/1024).toFixed(1)}KB`:`${(e/1048576).toFixed(1)}MB`}var Yf=(e,t)=>e.kind===`markdown`||e.kind===`text`||e.kind===`html`&&t;function Xf(e){let{target:t,version:n,onOpen:r,onBrowse:i,onClose:a}=e,o=b(t),[s,c]=(0,v.useState)(),[l,u]=(0,v.useState)(!1),[d,f]=(0,v.useState)(),[p,m]=(0,v.useState)(0),[h,g]=(0,v.useState)(!1),[_,y]=(0,v.useState)();(0,v.useEffect)(()=>{let e=!0;return P.fileStat(t).then(t=>{e&&(u(!1),f(void 0),c(e=>e&&e.path===t.path&&e.mtime===t.mtime?e:t))},t=>{e&&(t instanceof A&&t.status===404?u(!0):f(t instanceof Error?t.message:String(t)))}),()=>{e=!1}},[o,n,p]);let x=s?Yf(s,h):!1;(0,v.useEffect)(()=>{if(y(void 0),!s||!x)return;if(s.bytes===0){y(``);return}let e=!0;return P.fileText(t,s.mtime,Gf).then(t=>e&&y(t),t=>e&&f(t instanceof Error?t.message:String(t))),()=>{e=!1}},[s,x,p]);let S=`path`in t?s?.path??t.path:t.name??s?.path??`attachment`,C=s?.kind===`html`?s.previewURL:void 0;return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(`div`,{className:`preview-head`,children:[(0,I.jsx)(`span`,{className:`preview-title`,title:S,children:S}),s?.kind===`html`?(0,I.jsx)(`button`,{type:`button`,onClick:()=>g(!h),children:h?`Rendered`:`Source`}):null,C&&i?(0,I.jsx)(`button`,{type:`button`,onClick:()=>i(C),children:`Open in browser`}):null,(0,I.jsx)(`button`,{type:`button`,onClick:()=>m(p+1),"aria-label":`Refresh`,children:`↻`}),(0,I.jsx)(`button`,{type:`button`,onClick:a,"aria-label":`Close`,children:`✕`})]}),(0,I.jsx)(`div`,{className:`preview-body`,children:l?(0,I.jsx)(`div`,{className:`preview-empty`,children:s?`This file was deleted`:`Not found in this folder`}):d?(0,I.jsxs)(`div`,{className:`preview-empty`,children:[`Could not load: `,d]}):s?(0,I.jsx)(Zf,{stat:s,target:t,source:h,text:_,onOpen:r},p):(0,I.jsx)(`div`,{className:`preview-empty`,children:(0,I.jsx)(`span`,{className:`spinner`})})})]})}function Zf(e){let{stat:t,target:n,source:r,text:i,onOpen:a}=e,o=N(n,t.mtime);if(t.kind===`image`)return(0,I.jsx)(`img`,{className:`preview-image`,src:o,alt:t.path});if(t.kind===`pdf`)return(0,I.jsx)(`iframe`,{className:`preview-frame`,src:o,title:t.path});if(t.kind===`video`)return(0,I.jsx)(`video`,{className:`preview-video`,src:o,controls:!0});if(t.kind===`html`&&!r&&t.previewURL)return(0,I.jsx)(`iframe`,{className:`preview-frame`,src:`${t.previewURL}?v=${t.mtime}`,sandbox:qf,title:t.path});if(t.kind===`binary`)return(0,I.jsxs)(`div`,{className:`preview-empty`,children:[`No preview for this file · `,Jf(t.bytes)]});if(i===void 0)return(0,I.jsx)(`div`,{className:`preview-empty`,children:(0,I.jsx)(`span`,{className:`spinner`})});let s=t.bytes>Gf?(0,I.jsx)(`div`,{className:`preview-note`,children:`File too large — showing the first 1 MB`}):null;return t.kind===`markdown`&&!r?(0,I.jsxs)(`div`,{className:`reply preview-markdown`,children:[s,(0,I.jsx)(rs,{remarkPlugins:[Wf],rehypePlugins:[Gl],components:Qf(t,a),children:i})]}):i.length>Kf?(0,I.jsxs)(I.Fragment,{children:[s,(0,I.jsx)(`pre`,{className:`preview-text`,children:i})]}):(0,I.jsxs)(`div`,{className:`reply preview-code`,children:[s,(0,I.jsx)(rs,{rehypePlugins:[Gl],children:D(i,t.path)})]})}function Qf(e,t){return{img({node:t,src:n,alt:r}){let i=typeof n==`string`?E(e.path,n):null;return(0,I.jsx)(`img`,{src:i?N({path:i},e.mtime):n,alt:r??``})},a({node:n,href:r,children:i}){let a=r?E(e.path,r):null;return a?(0,I.jsx)(`a`,{href:r,className:`file-link`,onClick:e=>{e.preventDefault(),t({path:a})},children:i}):(0,I.jsx)(`a`,{href:r,target:`_blank`,rel:`noreferrer`,children:i})}}}function $f(e){return e.title?.trim()||e.preview||`New chat`}var ep=(e,t)=>t.session.updatedAt-e.session.updatedAt;function tp(e){return e.flatMap(e=>e.sessions.filter(e=>!e.archived).map(t=>({session:t,ws:e})))}function np(e,t){let n=t.trim().toLowerCase();return n?tp(e).filter(e=>$f(e.session).toLowerCase().includes(n)||e.ws.name.toLowerCase().includes(n)).sort(ep):[]}function rp(e){return tp(e).filter(e=>!e.session.pinned).sort(ep)}function ip(e,t){let n=t.trim().toLowerCase();if(!n)return[{text:e,hit:!1}];let r=[],i=e.toLowerCase(),a=0;for(let t=i.indexOf(n);t!==-1;t=i.indexOf(n,a))t>a&&r.push({text:e.slice(a,t),hit:!1}),r.push({text:e.slice(t,t+n.length),hit:!0}),a=t+n.length;return a<e.length&&r.push({text:e.slice(a),hit:!1}),r}function ap(e,t){if(t.expanded||e.length<=t.limit)return{rows:e,hidden:0};let n=e.slice(0,t.limit),r=e.slice(t.limit).find(e=>e.id===t.current);return r&&n.push(r),{rows:n,hidden:e.length-n.length}}var op=5,sp=`tah.collapsedWorkspaces`,cp=`tah.sidebarRail`,lp=`tah.sidebarGroup`;function up(){try{let e=JSON.parse(localStorage.getItem(sp)??`[]`);return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}catch{return[]}}function dp(e){let t=new Date(e),n=e=>String(e).padStart(2,`0`);return`${t.getMonth()+1}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}`}function fp(e){let t=Math.floor((Date.now()-e)/6e4);if(t<1)return`now`;if(t<60)return`${t}m`;let n=Math.floor(t/60);return n<24?`${n}h`:`${Math.floor(n/24)}d`}var pp=()=>(0,I.jsx)(`svg`,{viewBox:`0 0 16 16`,width:`14`,height:`14`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,"aria-hidden":!0,children:(0,I.jsx)(`path`,{d:`M6 2h4l-.5 4 2.5 2.5v1H4v-1L6.5 6 6 2zM8 9.5V14`,strokeLinejoin:`round`})}),mp=()=>(0,I.jsx)(`svg`,{viewBox:`0 0 16 16`,width:`14`,height:`14`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,"aria-hidden":!0,children:(0,I.jsx)(`path`,{d:`M2 3h12v3H2zM3 6v7h10V6M6.5 8.5h3`,strokeLinejoin:`round`})}),hp=e=>(0,I.jsx)(`svg`,{viewBox:`0 0 16 16`,width:`14`,height:`14`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.6`,"aria-hidden":!0,style:{transform:e.open?`rotate(90deg)`:void 0,transition:`transform 0.12s`},children:(0,I.jsx)(`path`,{d:`M6 3.5 10.5 8 6 12.5`,strokeLinecap:`round`,strokeLinejoin:`round`})}),gp=()=>(0,I.jsx)(`svg`,{viewBox:`0 0 16 16`,width:`14`,height:`14`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,"aria-hidden":!0,children:(0,I.jsx)(`path`,{d:`M8 3v10M3 8h10`,strokeLinecap:`round`})}),_p=()=>(0,I.jsx)(`svg`,{viewBox:`0 0 16 16`,width:`12`,height:`12`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,"aria-hidden":!0,children:(0,I.jsx)(`path`,{d:`M4 4l8 8M12 4l-8 8`,strokeLinecap:`round`})}),vp=()=>(0,I.jsxs)(`svg`,{viewBox:`0 0 16 16`,width:`14`,height:`14`,fill:`currentColor`,"aria-hidden":!0,children:[(0,I.jsx)(`circle`,{cx:`3.5`,cy:`8`,r:`1.2`}),(0,I.jsx)(`circle`,{cx:`8`,cy:`8`,r:`1.2`}),(0,I.jsx)(`circle`,{cx:`12.5`,cy:`8`,r:`1.2`})]}),yp=()=>(0,I.jsx)(`svg`,{viewBox:`0 0 16 16`,width:`16`,height:`16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.3`,"aria-hidden":!0,children:(0,I.jsx)(`path`,{d:`M1.5 4V12.5h7M1.5 4V3h4.5l1.5 1.5h7v4M12 10v5M9.5 12.5h5`,strokeLinejoin:`round`,strokeLinecap:`round`})}),bp=()=>(0,I.jsxs)(`svg`,{viewBox:`0 0 16 16`,width:`16`,height:`16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.3`,"aria-hidden":!0,children:[(0,I.jsx)(`rect`,{x:`1.5`,y:`2.5`,width:`13`,height:`11`,rx:`2`}),(0,I.jsx)(`path`,{d:`M6 2.5v11`})]}),xp=()=>(0,I.jsx)(`svg`,{viewBox:`0 0 16 16`,width:`16`,height:`16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.3`,"aria-hidden":!0,children:(0,I.jsx)(`path`,{d:`M13.5 8.5v4a1.5 1.5 0 0 1-1.5 1.5H4A1.5 1.5 0 0 1 2.5 12.5V4A1.5 1.5 0 0 1 4 2.5h4M11.5 1.8l2.7 2.7L8.5 10.2H5.8V7.5z`,strokeLinecap:`round`,strokeLinejoin:`round`})}),Sp=()=>(0,I.jsxs)(`svg`,{viewBox:`0 0 16 16`,width:`16`,height:`16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,"aria-hidden":!0,children:[(0,I.jsx)(`circle`,{cx:`7`,cy:`7`,r:`4.5`}),(0,I.jsx)(`path`,{d:`M10.5 10.5 14 14`,strokeLinecap:`round`})]}),Cp=()=>(0,I.jsx)(`svg`,{viewBox:`0 0 16 16`,width:`16`,height:`16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,"aria-hidden":!0,children:(0,I.jsx)(`path`,{d:`M2.5 4h11M4.5 8h7M6.5 12h3`,strokeLinecap:`round`})}),wp=()=>(0,I.jsxs)(`svg`,{viewBox:`0 0 16 16`,width:`16`,height:`16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.3`,"aria-hidden":!0,children:[(0,I.jsx)(`circle`,{cx:`8`,cy:`8`,r:`2.2`}),(0,I.jsx)(`path`,{d:`M8 1.5v1.6M8 12.9v1.6M1.5 8h1.6M12.9 8h1.6M3.4 3.4l1.1 1.1M11.5 11.5l1.1 1.1M3.4 12.6l1.1-1.1M11.5 4.5l1.1-1.1`,strokeLinecap:`round`}),(0,I.jsx)(`circle`,{cx:`8`,cy:`8`,r:`4.6`})]});function Tp(e,t=!1){let n=e.currentTarget.getBoundingClientRect();return t?{x:n.right+6,y:Math.min(n.top,innerHeight-120)}:{x:Math.min(n.left,innerWidth-190),y:n.bottom+4}}function Ep(e){let[t,n]=(0,v.useState)(),[r,i]=(0,v.useState)(``),[a,o]=(0,v.useState)(),[s,c]=(0,v.useState)(up),[l,u]=(0,v.useState)([]),[d,f]=(0,v.useState)(()=>localStorage.getItem(cp)===`1`),[p,m]=(0,v.useState)(()=>localStorage.getItem(lp)===`flat`?`flat`:`workspace`),[h,g]=(0,v.useState)(),_=(0,v.useRef)(null),y=(0,v.useRef)(null),b=(0,v.useRef)(null),x=e=>c(t=>{let n=t.includes(e)?t.filter(t=>t!==e):[...t,e];return localStorage.setItem(sp,JSON.stringify(n)),n}),S=e=>{localStorage.setItem(cp,e?`1`:`0`),f(e)},C=e=>{localStorage.setItem(lp,e),m(e)},w=()=>{S(!1),g(e=>e??``)};(0,v.useEffect)(()=>{t&&_.current?.focus()},[t]);let T=h!==void 0;(0,v.useEffect)(()=>{T&&y.current?.focus()},[T]);let E=!!a;(0,v.useEffect)(()=>{if(!E)return;let e=()=>o(void 0),t=t=>{b.current?.contains(t.target)||e()},n=t=>{t.key===`Escape`&&e()};return window.addEventListener(`mousedown`,t),window.addEventListener(`keydown`,n),window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`mousedown`,t),window.removeEventListener(`keydown`,n),window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[E]);let D=e=>`${e.ws.path}\n${e.session.id}`,O=t=>{e.busy||(n(D(t)),i($f(t.session)))},k=async t=>{let i=r;n(void 0),await e.onRename(t.session.id,i,t.ws.path)},A=e.workspaces??[],j=A.flatMap(e=>e.sessions.filter(e=>!e.archived).map(t=>({session:t,ws:e}))).filter(e=>e.session.pinned),M=(a,s)=>{let c=a.session,l=a.ws.active&&c.id===e.current,u=l?e.waiting:void 0;return(0,I.jsx)(`li`,{className:l?`session-item current`:`session-item`,onContextMenu:e=>{e.preventDefault(),o({kind:`session`,item:a,x:Math.min(e.clientX,innerWidth-180),y:Math.min(e.clientY,innerHeight-200)})},children:t===D(a)?(0,I.jsx)(`form`,{className:`session editing`,onSubmit:e=>{e.preventDefault(),k(a)},children:(0,I.jsx)(`input`,{ref:_,className:`session-rename`,value:r,"aria-label":`Rename session`,onChange:e=>i(e.target.value),onBlur:()=>void k(a),onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),n(void 0))}})}):(0,I.jsxs)(`div`,{className:`session`,children:[(0,I.jsx)(`span`,{className:`session-status`,children:u?(0,I.jsx)(`span`,{className:`status-dot`,"aria-label":u}):l&&e.busy?(0,I.jsx)(`span`,{className:`spinner`,"aria-label":`running`}):null}),(0,I.jsx)(`button`,{type:`button`,className:`session-pick`,disabled:e.busy&&!l,onClick:()=>!l&&e.onPick(c.id,a.ws.path),onDoubleClick:e=>{e.preventDefault(),O(a)},title:`${c.id}\n${c.turns} turns · ${dp(c.updatedAt)}\nDouble-click to rename`,children:(0,I.jsx)(`span`,{className:`preview`,children:ip($f(c),h??``).map((e,t)=>e.hit?(0,I.jsx)(`mark`,{children:e.text},t):e.text)})}),u?(0,I.jsx)(`span`,{className:`session-badge`,children:u}):null,s?(0,I.jsx)(`span`,{className:`session-folder`,children:a.ws.name}):null,u?null:(0,I.jsx)(`span`,{className:`session-time`,children:fp(c.updatedAt)}),(0,I.jsxs)(`span`,{className:`session-tools`,children:[(0,I.jsx)(`button`,{type:`button`,"aria-label":c.pinned?`Unpin`:`Pin`,title:c.pinned?`Unpin`:`Pin`,className:c.pinned?`on`:void 0,onClick:()=>e.onFlag(c.id,`pinned`,!c.pinned,a.ws.path),children:(0,I.jsx)(pp,{})}),(0,I.jsx)(`button`,{type:`button`,"aria-label":`Archive`,title:`Archive`,onClick:()=>e.onFlag(c.id,`archived`,!0,a.ws.path),children:(0,I.jsx)(mp,{})})]})]})},D(a))},N=e=>()=>{o(void 0),e()},P=t=>{let n=s.includes(t.path),r=l.includes(t.path),i=t.sessions.filter(e=>!e.archived&&!e.pinned),a=ap(i,{limit:op,expanded:r,current:t.active?e.current:``}),c=r?i.length>op:a.hidden>0;return(0,I.jsxs)(`section`,{className:`ws`,children:[(0,I.jsxs)(`div`,{className:`ws-head${t.active?` active`:``}${t.missing?` missing`:``}`,title:t.path,children:[(0,I.jsxs)(`button`,{type:`button`,className:`ws-toggle`,"aria-expanded":!n,onClick:()=>x(t.path),children:[(0,I.jsx)(`span`,{className:`ws-chevron`,children:(0,I.jsx)(hp,{open:!n})}),(0,I.jsx)(`span`,{className:`ws-name`,children:t.name})]}),t.missing?(0,I.jsx)(`span`,{className:`ws-note`,children:`folder not found`}):null,(0,I.jsxs)(`span`,{className:`ws-tools`,children:[t.missing?null:(0,I.jsx)(`button`,{type:`button`,title:`New session`,"aria-label":`New session in ${t.name}`,disabled:e.busy,onClick:()=>e.onNew(t.path),children:(0,I.jsx)(gp,{})}),t.active?null:(0,I.jsx)(`button`,{type:`button`,title:`More`,"aria-label":`More for ${t.name}`,"aria-haspopup":`menu`,onClick:e=>o({kind:`folder`,ws:t,...Tp(e)}),children:(0,I.jsx)(vp,{})})]})]}),n?null:(0,I.jsxs)(I.Fragment,{children:[t.error?(0,I.jsx)(`div`,{className:`sidebar-note`,children:t.error}):null,(0,I.jsx)(`ul`,{children:a.rows.map(e=>M({session:e,ws:t},!1))}),c?(0,I.jsx)(`button`,{type:`button`,className:`ws-more`,onClick:()=>u(e=>r?e.filter(e=>e!==t.path):[...e,t.path]),children:r?`Show less`:`Show ${a.hidden} more`}):null]})]},t.path)},ee=np(A,h??``),F=e.user===void 0?null:(0,I.jsxs)(`div`,{className:`sidebar-user`,children:[(0,I.jsx)(`span`,{className:`avatar`,"aria-hidden":!0,children:(e.user[0]??`?`).toUpperCase()}),(0,I.jsx)(`span`,{className:`user-name`,children:e.user}),(0,I.jsx)(`button`,{type:`button`,className:`icon-btn`,title:`Settings`,"aria-label":`Settings`,onClick:e.onSettings,children:(0,I.jsx)(wp,{})})]});return(0,I.jsxs)(`aside`,{className:d?`sidebar rail`:`sidebar`,children:[d?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`span`,{className:`brand-mark`,"aria-hidden":!0,children:`t`}),(0,I.jsx)(`button`,{type:`button`,className:`rail-btn`,title:`Expand sidebar`,"aria-label":`Expand sidebar`,onClick:()=>S(!1),children:(0,I.jsx)(bp,{})}),(0,I.jsx)(`button`,{type:`button`,className:`rail-btn`,title:`New session`,"aria-label":`New session`,disabled:e.busy,onClick:()=>e.onNew(),children:(0,I.jsx)(xp,{})}),(0,I.jsx)(`button`,{type:`button`,className:`rail-btn`,title:`Search`,"aria-label":`Search sessions`,onClick:w,children:(0,I.jsx)(Sp,{})}),(0,I.jsx)(`button`,{type:`button`,className:`rail-btn`,title:`Add workspace`,"aria-label":`Add workspace`,"aria-haspopup":`menu`,disabled:e.busy,onClick:e=>o({kind:`add`,...Tp(e,!0)}),children:(0,I.jsx)(yp,{})}),(0,I.jsx)(`span`,{className:`rail-gap`}),e.user===void 0?null:(0,I.jsx)(`button`,{type:`button`,className:`rail-btn`,title:`Settings`,"aria-label":`Settings`,onClick:e.onSettings,children:(0,I.jsx)(wp,{})})]}):(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(`div`,{className:`sidebar-brand`,children:[(0,I.jsxs)(`span`,{className:`brand`,children:[(0,I.jsx)(`span`,{className:`brand-mark`,"aria-hidden":!0,children:`t`}),`tah`]}),(0,I.jsx)(`button`,{type:`button`,className:`icon-btn`,title:`Collapse sidebar`,"aria-label":`Collapse sidebar`,onClick:()=>S(!0),children:(0,I.jsx)(bp,{})})]}),(0,I.jsxs)(`button`,{type:`button`,className:`new-session`,onClick:()=>e.onNew(),disabled:e.busy,children:[(0,I.jsx)(xp,{}),`New session`]}),h===void 0?(0,I.jsxs)(`div`,{className:`ws-header`,children:[(0,I.jsx)(`span`,{children:p===`flat`?`Sessions`:`Workspaces`}),(0,I.jsxs)(`span`,{className:`ws-header-tools`,children:[(0,I.jsx)(`button`,{type:`button`,className:`icon-btn`,title:`Search`,"aria-label":`Search sessions`,onClick:w,children:(0,I.jsx)(Sp,{})}),(0,I.jsx)(`button`,{type:`button`,className:a?.kind===`view`?`icon-btn on`:`icon-btn`,title:`View options`,"aria-label":`View options`,"aria-haspopup":`menu`,onClick:e=>o({kind:`view`,...Tp(e)}),children:(0,I.jsx)(Cp,{})}),(0,I.jsx)(`button`,{type:`button`,className:`icon-btn`,title:`Add workspace`,"aria-label":`Add workspace`,"aria-haspopup":`menu`,disabled:e.busy,onClick:e=>o({kind:`add`,...Tp(e)}),children:(0,I.jsx)(yp,{})})]})]}):(0,I.jsxs)(`div`,{className:`sidebar-search`,children:[(0,I.jsx)(Sp,{}),(0,I.jsx)(`input`,{ref:y,value:h,placeholder:`Search sessions`,"aria-label":`Search sessions`,onChange:e=>g(e.target.value),onBlur:()=>!h.trim()&&g(void 0),onKeyDown:e=>e.key===`Escape`&&g(void 0)}),(0,I.jsx)(`button`,{type:`button`,className:`icon-btn`,title:`Clear`,"aria-label":`Clear search`,onClick:()=>g(void 0),children:(0,I.jsx)(_p,{})})]}),e.unavailable?(0,I.jsx)(`div`,{className:`sidebar-note`,children:e.unavailable}):null,(0,I.jsx)(`div`,{className:`sessions`,children:h===void 0?(0,I.jsxs)(I.Fragment,{children:[j.length?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`div`,{className:`sessions-heading`,children:`Pinned`}),(0,I.jsx)(`ul`,{children:j.map(e=>M(e,!0))})]}):null,p===`flat`?(0,I.jsx)(`ul`,{children:rp(A).map(e=>M(e,!0))}):A.map(P)]}):h.trim()?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`ul`,{children:ee.map(e=>M(e,!0))}),(0,I.jsxs)(`div`,{className:`sidebar-note`,children:[ee.length?`${ee.length} session${ee.length===1?``:`s`}`:`No matches`,` · titles and folder names`]})]}):null}),F]}),a?.kind===`session`?(0,I.jsxs)(`ul`,{ref:b,className:`context-menu`,role:`menu`,style:{left:a.x,top:a.y},children:[(0,I.jsx)(`li`,{children:(0,I.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:N(()=>e.onFlag(a.item.session.id,`pinned`,!a.item.session.pinned,a.item.ws.path)),children:a.item.session.pinned?`Unpin`:`Pin`})}),(0,I.jsx)(`li`,{children:(0,I.jsx)(`button`,{type:`button`,role:`menuitem`,disabled:e.busy,onClick:N(()=>O(a.item)),children:`Rename`})}),(0,I.jsx)(`li`,{children:(0,I.jsx)(`button`,{type:`button`,role:`menuitem`,disabled:e.busy,onClick:N(()=>e.onFork(a.item.session.id,a.item.ws.path)),children:`Fork`})}),(0,I.jsx)(`li`,{children:(0,I.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:N(()=>void navigator.clipboard?.writeText(a.item.session.id)),children:`Copy ID`})}),(0,I.jsx)(`li`,{children:(0,I.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:N(()=>e.onFlag(a.item.session.id,`archived`,!0,a.item.ws.path)),children:`Archive`})})]}):null,a?.kind===`folder`?(0,I.jsx)(`ul`,{ref:b,className:`context-menu`,role:`menu`,style:{left:a.x,top:a.y},children:(0,I.jsx)(`li`,{children:(0,I.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:N(()=>e.onRemoveFolder(a.ws.path)),children:`Remove from list`})})}):null,a?.kind===`add`?(0,I.jsxs)(`ul`,{ref:b,className:`context-menu`,role:`menu`,style:{left:a.x,top:a.y},children:[(0,I.jsx)(`li`,{children:(0,I.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:N(e.onOpenProject),children:`Open project…`})}),(0,I.jsx)(`li`,{children:(0,I.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:N(e.onNewFolder),children:`New folder…`})})]}):null,a?.kind===`view`?(0,I.jsxs)(`ul`,{ref:b,className:`context-menu`,role:`menu`,style:{left:a.x,top:a.y},children:[(0,I.jsx)(`li`,{className:`menu-label`,children:`Group by`}),[[`workspace`,`Workspace`],[`flat`,`One list`]].map(([e,t])=>(0,I.jsx)(`li`,{children:(0,I.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":p===e,onClick:N(()=>C(e)),children:[(0,I.jsx)(`span`,{className:`menu-check`,children:p===e?`✓`:``}),t]})},e))]}):null]})}var Dp={completed:`☑`,in_progress:`▶`,pending:`☐`};function Op({todos:e}){let[t,n]=(0,v.useState)(!0),r=e.filter(e=>e.status===`completed`).length;if(r===e.length)return null;let i=e.find(e=>e.status===`in_progress`);return(0,I.jsxs)(`div`,{className:`todos`,children:[(0,I.jsxs)(`button`,{type:`button`,className:`todos-head`,"aria-expanded":t,onClick:()=>n(!t),children:[(0,I.jsx)(hp,{open:t}),(0,I.jsxs)(`span`,{className:`todos-title`,children:[`Tasks `,r,`/`,e.length]}),!t&&i?(0,I.jsx)(`span`,{className:`todos-current`,children:i.content}):null]}),t?(0,I.jsx)(`ul`,{className:`todos-list`,children:e.map((e,t)=>(0,I.jsxs)(`li`,{className:e.status,children:[(0,I.jsx)(`span`,{className:`todos-mark`,children:Dp[e.status]}),e.content]},t))}):null]})}function kp(e){let{path:t,onOpen:n}=e;return(0,I.jsxs)(`div`,{className:`tool ${e.status}`,children:[(0,I.jsx)(`span`,{className:`dot`,children:`⏺`}),(0,I.jsx)(`span`,{className:`name`,children:e.tool}),e.summary&&t&&n?(0,I.jsx)(`button`,{type:`button`,className:`summary file-link`,title:t,onClick:()=>n({path:t}),children:e.summary}):e.summary?(0,I.jsx)(`span`,{className:`summary`,children:e.summary}):null,e.status===`running`?(0,I.jsx)(`span`,{className:`spinner`,"aria-label":`running`}):null,e.status===`ok`?(0,I.jsxs)(`span`,{className:`result`,children:[`✓ `,e.result]}):null,e.status===`failed`?(0,I.jsxs)(`span`,{className:`result`,children:[`✗ `,e.result]}):null]})}function Ap(e,t){return{a({node:n,href:r,children:i,...a}){let o=T(r);return o?(0,I.jsx)(`a`,{href:r,className:`file-link`,onClick:t=>{t.preventDefault(),e({path:o})},children:i}):(0,I.jsx)(`a`,{href:r,...r?.startsWith(`#`)?{}:{target:`_blank`,rel:`noreferrer`},...a,onClick:e=>{t&&r&&re(r,e,location.origin)&&(e.preventDefault(),t(r))},children:i})},code({node:t,children:n,...r}){let i=typeof n==`string`&&!n.includes(`
49
- `)?w(n):null;return i?(0,I.jsx)(`code`,{...r,className:`file-link`,role:`button`,tabIndex:0,title:`Open ${i}`,onClick:t=>{t.preventDefault(),t.stopPropagation(),e({path:i})},onKeyDown:t=>{t.key===`Enter`&&(t.stopPropagation(),e({path:i}))},children:n}):(0,I.jsx)(`code`,{...r,children:n})}}}var jp=(0,v.memo)(function({text:e,onOpen:t,onBrowse:n}){let r=(0,v.useMemo)(()=>Ap(t,n),[t,n]);return(0,I.jsx)(`div`,{className:`reply`,children:(0,I.jsx)(rs,{remarkPlugins:[Wf],rehypePlugins:[Gl],components:r,children:e})})});function Mp(e){return e<1024?`${e}B`:e<1048576?`${(e/1024).toFixed(1)}KB`:`${(e/1048576).toFixed(1)}MB`}var Np=(0,v.memo)(function({entry:e,onOpen:t,onBrowse:n}){switch(e.kind){case`user`:return(0,I.jsxs)(`div`,{className:`user`,children:[e.attachments?.length?(0,I.jsx)(`div`,{className:`user-attach`,children:e.attachments.map(e=>(0,I.jsxs)(`button`,{type:`button`,className:`attach-card sent ${e.kind}`,title:e.name,onClick:()=>t({attachment:e.id,name:e.name}),children:[e.kind===`image`?(0,I.jsx)(`img`,{src:N({attachment:e.id},0),alt:``,loading:`lazy`}):(0,I.jsx)(`span`,{className:`attach-ext`,children:e.name.split(`.`).pop()?.toUpperCase()??`FILE`}),(0,I.jsxs)(`span`,{className:`attach-meta`,children:[(0,I.jsx)(`span`,{className:`attach-name`,children:e.name}),(0,I.jsx)(`span`,{className:`attach-sub`,children:Mp(e.bytes)})]})]},e.id))}):null,e.text?(0,I.jsx)(`div`,{children:e.text}):e.attachments?.length?(0,I.jsx)(`div`,{className:`user-attach-fallback`,children:`Attached`}):(0,I.jsx)(`div`,{className:`user-attach-fallback`,children:`(empty)`})]});case`assistant`:return(0,I.jsx)(jp,{text:e.text,onOpen:t,onBrowse:n});case`tool`:return(0,I.jsx)(kp,{tool:e.tool,summary:e.summary,status:e.status,result:e.result,...e.path?{path:e.path}:{},onOpen:t});case`notice`:return(0,I.jsx)(`div`,{className:e.error?`notice error`:`notice`,children:e.text})}}),Pp=e=>e.kind===`notice`&&!e.error&&e.text.startsWith(`[ctx]`);function Fp(e){let t=[];for(let n of e){let e=t.at(-1);n.kind===`tool`||Pp(n)?e?.kind===`steps`?e.entries.push(n):t.push({kind:`steps`,id:n.id,entries:[n]}):t.push({kind:`row`,entry:n})}return t}function Ip({entries:e,live:t,onOpen:n,onBrowse:r}){let[i,a]=(0,v.useState)(!1),o=e.filter(e=>e.kind===`tool`);if(!o.length)return e.map(e=>(0,I.jsx)(Np,{entry:e,onOpen:n,onBrowse:r},e.id));let s=new Map;for(let e of o)s.set(e.tool,(s.get(e.tool)??0)+1);let c=[...s].map(([e,t])=>t>1?`${e} ×${t}`:e).join(` · `),l=o.filter(e=>e.status===`failed`).length,u=i?e:t?o.slice(-3):[];return(0,I.jsxs)(`div`,{className:`steps`,children:[(0,I.jsxs)(`button`,{type:`button`,className:`steps-head`,"aria-expanded":i,onClick:()=>a(!i),children:[(0,I.jsx)(hp,{open:i}),t?(0,I.jsx)(`span`,{className:`spinner`,"aria-label":`running`}):null,(0,I.jsxs)(`span`,{className:`steps-title`,children:[t?`Working`:`Ran`,` `,o.length,` `,o.length===1?`step`:`steps`]}),(0,I.jsx)(`span`,{className:`steps-detail`,children:c}),l?(0,I.jsxs)(`span`,{className:`steps-failed`,children:[l,` failed`]}):null]}),u.length?(0,I.jsx)(`div`,{className:`steps-body`,children:u.map(e=>(0,I.jsx)(Np,{entry:e,onOpen:n,onBrowse:r},e.id))}):null]})}function Lp({entries:e,busy:t,onOpen:n,onBrowse:r,children:i}){let a=(0,v.useRef)(null),o=(0,v.useRef)(!0);return(0,v.useEffect)(()=>{let e=a.current;e&&o.current&&(e.scrollTop=e.scrollHeight)}),(0,I.jsxs)(`div`,{className:`messages`,ref:a,onScroll:e=>{let t=e.currentTarget;o.current=t.scrollHeight-t.scrollTop-t.clientHeight<40},children:[e.length===0?(0,I.jsxs)(`div`,{className:`empty`,children:[(0,I.jsx)(`div`,{className:`empty-title`,children:`New chat`}),(0,I.jsx)(`p`,{className:`empty-hint`,children:`Ask the agent anything below. Attach files with +, or drop / paste into the composer.`})]}):null,Fp(e).map((e,i,a)=>e.kind===`row`?(0,I.jsx)(Np,{entry:e.entry,onOpen:n,onBrowse:r},e.entry.id):(0,I.jsx)(Ip,{entries:e.entries,live:t&&i===a.length-1,onOpen:n,onBrowse:r},e.id)),i]})}var Rp={"api.deepseek.com":`DeepSeek`,"api.openai.com":`OpenAI`};function zp(e){let t;try{t=new URL(e).host}catch{return e}return Rp[t]??t}function Bp(e){let t=[];for(let n of e){let e=zp(n.baseURL),r=t.find(t=>t.name===e);r?r.models.push(n):t.push({name:e,models:[n]})}return t}function Vp(e){let t=e.models.find(t=>t.id===e.activeModel);return t?t.model:e.env?`${e.env.model} · .env`:`No model`}function Hp(e){let[t,n]=(0,v.useState)(!1),r=(0,v.useRef)(null),{view:i}=e;if((0,v.useEffect)(()=>{if(!t)return;let e=e=>{r.current?.contains(e.target)||n(!1)},i=e=>{e.key===`Escape`&&n(!1)};return window.addEventListener(`mousedown`,e),window.addEventListener(`keydown`,i),()=>{window.removeEventListener(`mousedown`,e),window.removeEventListener(`keydown`,i)}},[t]),(0,v.useEffect)(()=>{e.busy&&n(!1)},[e.busy]),!i)return null;let a=t=>{n(!1),t!==i.activeModel&&e.onPick(t)};return(0,I.jsxs)(`div`,{className:`model-picker`,ref:r,children:[(0,I.jsxs)(`button`,{type:`button`,className:t?`model-btn on`:`model-btn`,disabled:e.busy,title:e.busy?`Wait for the reply to finish to switch models`:`Switch model`,"aria-haspopup":`menu`,"aria-expanded":t,onClick:()=>n(e=>!e),children:[Vp(i),(0,I.jsx)(`span`,{className:`model-chev`,children:(0,I.jsx)(hp,{open:!1})})]}),t?(0,I.jsxs)(`ul`,{className:`context-menu model-menu`,role:`menu`,children:[Bp(i.models).map(e=>(0,I.jsxs)(`li`,{role:`none`,children:[(0,I.jsx)(`div`,{className:`menu-label`,children:e.name}),(0,I.jsx)(`ul`,{role:`none`,children:e.models.map(e=>(0,I.jsx)(`li`,{role:`none`,children:(0,I.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":e.id===i.activeModel,onClick:()=>a(e.id),children:[e.model,e.vision?(0,I.jsx)(`span`,{className:`model-key`,children:`images`}):null,(0,I.jsx)(`span`,{className:`model-check`,children:e.id===i.activeModel?`✓`:``})]})},e.id))})]},e.name)),i.env?(0,I.jsxs)(`li`,{role:`none`,children:[(0,I.jsx)(`div`,{className:`menu-label`,children:`From .env`}),(0,I.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":i.activeModel===null,onClick:()=>a(null),children:[i.env.model,(0,I.jsx)(`span`,{className:`model-key`,children:i.env.key}),(0,I.jsx)(`span`,{className:`model-check`,children:i.activeModel===null?`✓`:``})]})]}):null,(0,I.jsx)(`li`,{role:`separator`,className:`menu-sep`}),(0,I.jsx)(`li`,{role:`none`,children:(0,I.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{n(!1),e.onManage()},children:[(0,I.jsx)(`span`,{className:`model-gear`,children:(0,I.jsx)(wp,{})}),i.models.length?`Manage models…`:`Add a model…`]})})]}):null]})}var Up=e=>e instanceof Error?e.message:String(e),Wp=(e,t)=>`${e.replace(/[\\/]$/,``)}/${t}`;function Gp(e){let[t,n]=(0,v.useState)(),[r,i]=(0,v.useState)(),[a,o]=(0,v.useState)(!1),[s,c]=(0,v.useState)(``),[l,u]=(0,v.useState)(!1),{onClose:d}=e,f=e=>P.fs(e).then(e=>{n(e),i(void 0)},e=>i(Up(e)));return(0,v.useEffect)(()=>{f(e.start)},[]),(0,v.useEffect)(()=>{let e=e=>{e.key===`Escape`&&d()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[d]),(0,I.jsx)(`div`,{className:`modal-backdrop`,onMouseDown:e=>e.target===e.currentTarget&&d(),children:(0,I.jsxs)(`div`,{className:`modal`,role:`dialog`,"aria-label":`Add folder`,children:[(0,I.jsx)(`div`,{className:`crumbs`,children:t?.crumbs.map((e,t)=>(0,I.jsx)(`button`,{type:`button`,onClick:()=>void f(e.path),children:t===0?e.name:`${e.name}/`},e.path))}),(0,I.jsxs)(`ul`,{className:`dirs`,children:[t?.parent?(0,I.jsx)(`li`,{children:(0,I.jsx)(`button`,{type:`button`,onClick:()=>void f(t.parent??void 0),children:`..`})}):null,t?.dirs.map(e=>(0,I.jsx)(`li`,{children:(0,I.jsx)(`button`,{type:`button`,onClick:()=>void f(Wp(t.path,e)),children:e})},e))]}),a&&t?(0,I.jsx)(`form`,{onSubmit:e=>{e.preventDefault(),P.mkdir({path:t.path,name:s.trim()}).then(e=>(o(!1),c(``),f(e.path)),e=>i(Up(e)))},children:(0,I.jsx)(`input`,{autoFocus:!0,className:`session-rename`,value:s,placeholder:`New folder name`,"aria-label":`New folder name`,onChange:e=>c(e.target.value),onKeyDown:e=>{e.key===`Escape`&&(e.stopPropagation(),o(!1))}})}):null,r?(0,I.jsx)(`div`,{className:`modal-error`,children:r}):null,(0,I.jsxs)(`div`,{className:`card-actions`,children:[(0,I.jsx)(`button`,{type:`button`,disabled:!t,onClick:()=>o(!0),children:`New folder`}),(0,I.jsx)(`span`,{className:`spacer`}),(0,I.jsx)(`button`,{type:`button`,onClick:d,children:`Cancel`}),(0,I.jsx)(`button`,{type:`button`,className:`primary`,disabled:!t||e.busy||l,onClick:()=>{t&&(u(!0),e.onOpen(t.path).catch(e=>{u(!1),i(Up(e))}))},children:e.confirmLabel??`Open this folder`})]})]})})}var Kp=e=>e instanceof Error?e.message:String(e);function qp(e){let[t,n]=(0,v.useState)(``),[r,i]=(0,v.useState)(e.desktop),[a,o]=(0,v.useState)(!1),[s,c]=(0,v.useState)(),[l,u]=(0,v.useState)(!1),[d,f]=(0,v.useState)(!1),{onClose:p}=e;if((0,v.useEffect)(()=>{if(a)return;let e=e=>{e.key===`Escape`&&p()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[p,a]),a)return(0,I.jsx)(Gp,{busy:!1,start:r,confirmLabel:`Use this location`,onOpen:async e=>{i(e),o(!1)},onClose:()=>o(!1)});let m=async()=>{f(!0),c(void 0);try{let e=await P.choose({start:r});e&&i(e)}catch(e){e instanceof A&&e.status===501?o(!0):c(Kp(e))}finally{f(!1)}},h=!!t.trim()&&!e.busy&&!l&&!d,g=()=>{h&&(u(!0),P.mkdir({path:r,name:t.trim()}).then(t=>e.onOpen(t.path)).catch(e=>{u(!1),c(Kp(e))}))};return(0,I.jsx)(`div`,{className:`modal-backdrop`,onMouseDown:e=>e.target===e.currentTarget&&p(),children:(0,I.jsxs)(`div`,{className:`modal`,role:`dialog`,"aria-label":`New folder`,children:[(0,I.jsx)(`div`,{className:`modal-title`,children:`New folder`}),(0,I.jsx)(`form`,{onSubmit:e=>{e.preventDefault(),g()},children:(0,I.jsx)(`input`,{autoFocus:!0,className:`session-rename`,value:t,placeholder:`Folder name`,"aria-label":`Folder name`,onChange:e=>n(e.target.value)})}),(0,I.jsxs)(`div`,{className:`new-folder-where`,children:[(0,I.jsx)(`span`,{children:`Location`}),(0,I.jsx)(`span`,{className:`where-path`,title:r,children:r}),(0,I.jsx)(`button`,{type:`button`,disabled:d,onClick:()=>void m(),children:`Change…`})]}),s?(0,I.jsx)(`div`,{className:`modal-error`,children:s}):null,(0,I.jsxs)(`div`,{className:`card-actions`,children:[(0,I.jsx)(`span`,{className:`spacer`}),(0,I.jsx)(`button`,{type:`button`,onClick:p,children:`Cancel`}),(0,I.jsx)(`button`,{type:`button`,className:`primary`,disabled:!h,onClick:g,children:`Create`})]})]})})}var Jp=e=>e instanceof Error?e.message:String(e);function Yp(e){let[t,n]=(0,v.useState)(),[r,i]=(0,v.useState)(!1),[a,o]=(0,v.useState)(),[s,c]=(0,v.useState)(!1),{onClose:l}=e,u=async t=>{c(!0);try{await e.onOpen(t)}catch(e){c(!1),o(Jp(e))}},d=async e=>{c(!0),o(void 0);try{let t=await P.choose();if(t)return void await u(t);if(e)return l();c(!1)}catch(e){c(!1),e instanceof A&&e.status===501?i(!0):o(Jp(e))}};return(0,v.useEffect)(()=>{P.recent().then(e=>{n(e),e.length===0&&d(!0)},()=>n([]))},[]),(0,v.useEffect)(()=>{let e=e=>{e.key===`Escape`&&l()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[l]),r?(0,I.jsx)(Gp,{busy:e.busy,onOpen:e.onOpen,onClose:l}):(0,I.jsx)(`div`,{className:`modal-backdrop`,onMouseDown:e=>e.target===e.currentTarget&&l(),children:(0,I.jsxs)(`div`,{className:`modal`,role:`dialog`,"aria-label":`Open project`,children:[(0,I.jsx)(`div`,{className:`modal-title`,children:t?.length?`Recent projects`:`Open project`}),t?.length?(0,I.jsx)(`ul`,{className:`dirs recent`,children:t.map(t=>(0,I.jsx)(`li`,{children:(0,I.jsxs)(`button`,{type:`button`,title:t.path,disabled:e.busy||s,onClick:()=>void u(t.path),children:[t.name,(0,I.jsx)(`span`,{className:`dir-path`,children:t.path})]})},t.path))}):(0,I.jsx)(`div`,{className:`sidebar-note`,children:`Choose a folder in the system dialog…`}),a?(0,I.jsx)(`div`,{className:`modal-error`,children:a}):null,(0,I.jsxs)(`div`,{className:`card-actions`,children:[(0,I.jsx)(`button`,{type:`button`,className:`primary`,disabled:e.busy||s,onClick:()=>void d(!1),children:`Choose folder…`}),(0,I.jsx)(`span`,{className:`spacer`}),(0,I.jsx)(`button`,{type:`button`,onClick:l,children:`Cancel`})]})]})})}var Xp=()=>(0,I.jsx)(`svg`,{viewBox:`0 0 16 16`,width:`14`,height:`14`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,"aria-hidden":!0,children:(0,I.jsx)(`path`,{d:`M2.5 4h11M6 4V2.5h4V4M4 4l.7 9.5h6.6L12 4M6.8 6.5v4.5M9.2 6.5v4.5`,strokeLinejoin:`round`,strokeLinecap:`round`})}),Zp=e=>e instanceof Error?e.message:String(e);function Qp(e){let t=[e.imported.length?`Imported ${e.imported.join(`, `)}.`:`Nothing new imported.`];return e.skipped.length&&t.push(`Skipped ${e.skipped.join(`; `)}.`),t.join(` `)}function $p(e){let[t,n]=(0,v.useState)(),[r,i]=(0,v.useState)(),[a,o]=(0,v.useState)(),[s,c]=(0,v.useState)(!1),[l,u]=(0,v.useState)(!1),d=e.busy||s;(0,v.useEffect)(()=>{P.skills().then(n,e=>i(Zp(e)))},[]);let f=async e=>{c(!0);try{let t=await P.importSkills({path:e});n(t),o(Qp(t))}catch(e){i(Zp(e))}finally{c(!1)}},p=async()=>{i(void 0),o(void 0),c(!0);let e;try{e=await P.choose()}catch(e){e instanceof A&&e.status===501?u(!0):i(Zp(e));return}finally{c(!1)}e&&await f(e)},m=async e=>{i(void 0),o(void 0),c(!0);try{n(await P.removeSkill({name:e}))}catch(e){i(Zp(e))}finally{c(!1)}},h=e=>(0,I.jsxs)(`li`,{className:`model-card`,children:[(0,I.jsxs)(`div`,{className:`model-main`,children:[(0,I.jsx)(`div`,{className:`model-name`,children:e.name}),(0,I.jsx)(`div`,{className:`skill-desc`,title:`${e.description}\n${e.path}`,children:e.description})]}),e.source===`home`?(0,I.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Remove ${e.name}`,title:`Remove`,disabled:d,onClick:()=>void m(e.name),children:(0,I.jsx)(Xp,{})}):null]},`${e.source}:${e.name}`),g=t?.skills.filter(e=>e.source===`home`)??[],_=t?.skills.filter(e=>e.source===`folder`)??[];return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`p`,{className:`settings-desc`,children:`Skills are instructions the agent loads when a task matches. Import a folder with a SKILL.md, or a folder of them such as ~/.cursor/skills or ~/.claude/skills. Imported skills are copied to ~/.tah/skills and work in every folder.`}),(0,I.jsx)(`button`,{type:`button`,className:`add-model`,disabled:d,onClick:()=>void p(),children:`Import skill folder…`}),a?(0,I.jsx)(`div`,{className:`settings-note`,children:a}):null,r?(0,I.jsx)(`div`,{className:`modal-error`,children:r}):null,e.busy?(0,I.jsx)(`div`,{className:`settings-note`,children:`Wait for the current reply to finish to change skills.`}):null,t?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`div`,{className:`settings-subhead`,children:`All folders · ~/.tah/skills`}),g.length?(0,I.jsx)(`ul`,{className:`model-cards`,children:g.map(h)}):(0,I.jsx)(`div`,{className:`settings-empty`,children:`None imported yet.`}),(0,I.jsx)(`div`,{className:`settings-subhead`,children:`This folder · skills/, .agents/skills/, .cursor/skills/`}),_.length?(0,I.jsx)(`ul`,{className:`model-cards`,children:_.map(h)}):(0,I.jsx)(`div`,{className:`settings-empty`,children:`None.`})]}):null,l?(0,I.jsx)(Gp,{busy:e.busy,confirmLabel:`Import`,onOpen:async e=>{u(!1),await f(e)},onClose:()=>u(!1)}):null]})}var em=e=>e instanceof Error?e.message:String(e),tm=e=>e.trim().toLowerCase().startsWith(`deepseek`)?`https://api.deepseek.com/v1`:`https://api.openai.com/v1`;function nm(e){try{let t=new URL(e).host;return t===`api.deepseek.com`?`DeepSeek`:t===`api.openai.com`?`OpenAI`:t}catch{return e}}var rm=()=>(0,I.jsx)(`svg`,{viewBox:`0 0 16 16`,width:`16`,height:`16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,"aria-hidden":!0,children:(0,I.jsx)(`path`,{d:`M4 4l8 8M12 4l-8 8`,strokeLinecap:`round`})}),im={models:`Models`,web:`Web search`,skills:`Skills`};function am(e){let[t,n]=(0,v.useState)(`models`),{onClose:r}=e;return(0,v.useEffect)(()=>{let e=e=>{e.key===`Escape`&&r()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[r]),(0,I.jsx)(`div`,{className:`modal-backdrop`,onMouseDown:e=>e.target===e.currentTarget&&r(),children:(0,I.jsxs)(`div`,{className:`settings`,role:`dialog`,"aria-label":`Settings`,children:[(0,I.jsxs)(`nav`,{className:`settings-nav`,children:[(0,I.jsx)(`div`,{className:`settings-nav-title`,children:`Settings`}),Object.keys(im).map(e=>(0,I.jsx)(`button`,{type:`button`,className:e===t?`active`:void 0,onClick:()=>n(e),children:im[e]},e))]}),(0,I.jsxs)(`section`,{className:`settings-body`,children:[(0,I.jsxs)(`header`,{className:`settings-head`,children:[(0,I.jsx)(`h2`,{children:im[t]}),(0,I.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Close settings`,title:`Close`,onClick:r,children:(0,I.jsx)(rm,{})})]}),t===`models`?(0,I.jsx)(sm,{busy:e.busy,view:e.view,onChange:e.onChange}):t===`web`?(0,I.jsx)(om,{busy:e.busy,view:e.view,onChange:e.onChange}):(0,I.jsx)($p,{busy:e.busy})]})]})})}function om(e){let[t,n]=(0,v.useState)(``),[r,i]=(0,v.useState)(),[a,o]=(0,v.useState)(!1),{search:s}=e.view,c=e.busy||a,l=async t=>{o(!0),i(void 0);try{e.onChange(await P.searchKey({apiKey:t})),n(``)}catch(e){i(em(e))}finally{o(!1)}};return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(`p`,{className:`settings-desc`,children:[`The agent reads web pages with web_fetch out of the box. To let it search the web too, add a`,` `,(0,I.jsx)(`a`,{href:`https://app.tavily.com`,target:`_blank`,rel:`noreferrer`,children:`Tavily`}),` `,`API key (free tier available). It applies to every folder.`]}),s?(0,I.jsx)(`ul`,{className:`model-cards`,children:(0,I.jsxs)(`li`,{className:`model-card in-use`,children:[(0,I.jsxs)(`div`,{className:`model-main`,children:[(0,I.jsx)(`div`,{className:`model-name`,children:`Tavily`}),(0,I.jsxs)(`div`,{className:`model-meta`,children:[s.keyHint,` · `,s.source===`env`?`from TAVILY_API_KEY in .env`:`saved in settings`]})]}),(0,I.jsx)(`span`,{className:`badge`,children:`On`}),s.source===`settings`?(0,I.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Remove Tavily key`,title:`Remove`,disabled:c,onClick:()=>void l(null),children:(0,I.jsx)(Xp,{})}):null]})}):(0,I.jsx)(`div`,{className:`settings-empty`,children:`Web search is off — no key yet.`}),(0,I.jsxs)(`form`,{className:`model-form`,onSubmit:e=>{e.preventDefault(),l(t)},children:[(0,I.jsxs)(`label`,{children:[(0,I.jsx)(`span`,{children:s?`Replace API key`:`Tavily API key`}),(0,I.jsx)(`input`,{type:`password`,autoComplete:`off`,value:t,placeholder:`tvly-…`,onChange:e=>n(e.target.value)}),(0,I.jsx)(`small`,{children:`Stored only on this computer, in ~/.tah/settings.json.`})]}),(0,I.jsxs)(`div`,{className:`card-actions`,children:[(0,I.jsx)(`span`,{className:`spacer`}),(0,I.jsx)(`button`,{type:`submit`,className:`primary`,disabled:c||!t.trim(),children:`Save key`})]})]}),r?(0,I.jsx)(`div`,{className:`modal-error`,children:r}):null,e.busy?(0,I.jsx)(`div`,{className:`settings-note`,children:`Wait for the current reply to finish to change the key.`}):null]})}function sm(e){let[t,n]=(0,v.useState)(e.view.models.length===0),[r,i]=(0,v.useState)(``),[a,o]=(0,v.useState)(``),[s,c]=(0,v.useState)(``),[l,u]=(0,v.useState)(!1),[d,f]=(0,v.useState)(),[p,m]=(0,v.useState)(!1),{view:h}=e,g=e.busy||p,_=h.models.find(e=>e.id===h.activeModel),y=async t=>{m(!0),f(void 0);try{return e.onChange(await t),!0}catch(e){return f(em(e)),!1}finally{m(!1)}},b=()=>{n(!1),i(``),o(``),c(``),u(!1),f(void 0)},x=async()=>{let e={model:r,apiKey:a,vision:l,...s.trim()?{baseURL:s.trim()}:{}};await y(P.addModel(e))&&b()};return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`p`,{className:`settings-desc`,children:`Add an API key for DeepSeek, OpenAI, or any OpenAI-compatible service. The model in use applies to every folder; switching takes effect on the next message.`}),h.models.length?(0,I.jsx)(`ul`,{className:`model-cards`,children:h.models.map(e=>{let t=e.id===h.activeModel;return(0,I.jsxs)(`li`,{className:t?`model-card in-use`:`model-card`,children:[(0,I.jsxs)(`div`,{className:`model-main`,children:[(0,I.jsx)(`div`,{className:`model-name`,children:e.model}),(0,I.jsxs)(`div`,{className:`model-meta`,title:e.baseURL,children:[nm(e.baseURL),` · `,e.keyHint]})]}),(0,I.jsxs)(`label`,{className:`model-vision`,title:`Send image attachments to this model`,children:[(0,I.jsx)(`input`,{type:`checkbox`,checked:e.vision,disabled:g,onChange:t=>void y(P.modelVision({id:e.id,vision:t.target.checked}))}),`Images`]}),t?(0,I.jsx)(`span`,{className:`badge`,children:`In use`}):(0,I.jsx)(`button`,{type:`button`,disabled:g,onClick:()=>void y(P.activeModel({id:e.id})),children:`Use`}),(0,I.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Remove ${e.model}`,title:`Remove`,disabled:g,onClick:()=>void y(P.removeModel({id:e.id})),children:(0,I.jsx)(Xp,{})})]},e.id)})}):t?null:(0,I.jsx)(`div`,{className:`settings-empty`,children:`No models yet.`}),t?(0,I.jsxs)(`form`,{className:`model-form`,onSubmit:e=>{e.preventDefault(),x()},children:[(0,I.jsxs)(`label`,{children:[(0,I.jsx)(`span`,{children:`Model name`}),(0,I.jsx)(`input`,{autoFocus:!0,value:r,placeholder:`deepseek-chat`,onChange:e=>i(e.target.value)})]}),(0,I.jsxs)(`label`,{children:[(0,I.jsx)(`span`,{children:`API Key`}),(0,I.jsx)(`input`,{type:`password`,autoComplete:`off`,value:a,placeholder:`sk-…`,onChange:e=>o(e.target.value)}),(0,I.jsx)(`small`,{children:`Stored only on this computer, in ~/.tah/settings.json.`})]}),(0,I.jsxs)(`label`,{children:[(0,I.jsxs)(`span`,{children:[`Base URL `,(0,I.jsx)(`em`,{children:`optional`})]}),(0,I.jsx)(`input`,{value:s,placeholder:tm(r),onChange:e=>c(e.target.value)}),(0,I.jsxs)(`small`,{children:[`Leave empty to use `,tm(r)]})]}),(0,I.jsxs)(`label`,{className:`check`,children:[(0,I.jsx)(`input`,{type:`checkbox`,checked:l,onChange:e=>u(e.target.checked)}),(0,I.jsx)(`span`,{children:`Can read images`})]}),(0,I.jsx)(`small`,{className:`check-note`,children:`Sends image attachments to the model. Leave off for text-only models such as deepseek-chat.`}),(0,I.jsxs)(`div`,{className:`card-actions`,children:[(0,I.jsx)(`span`,{className:`spacer`}),h.models.length?(0,I.jsx)(`button`,{type:`button`,onClick:b,children:`Cancel`}):null,(0,I.jsx)(`button`,{type:`submit`,className:`primary`,disabled:g||!r.trim()||!a.trim(),children:`Add model`})]})]}):(0,I.jsx)(`button`,{type:`button`,className:`add-model`,disabled:g,onClick:()=>n(!0),children:`+ Add model`}),d?(0,I.jsx)(`div`,{className:`modal-error`,children:d}):null,e.busy?(0,I.jsx)(`div`,{className:`settings-note`,children:`Wait for the current reply to finish to change models.`}):null,(0,I.jsx)(`div`,{className:`settings-note`,children:_?(0,I.jsxs)(I.Fragment,{children:[`Using `,(0,I.jsx)(`strong`,{children:_.model}),`.`,` `,(0,I.jsx)(`button`,{type:`button`,className:`link`,disabled:g,onClick:()=>void y(P.activeModel({id:null})),children:`Use .env instead`})]}):(0,I.jsx)(I.Fragment,{children:`No model in use — keys come from DEEPSEEK_API_KEY / OPENAI_API_KEY in .env.`})})]})}var cm=`tah.previewWidth`;function lm(e){let[t,n]=(0,v.useState)(()=>Math.max(Math.min(Number(localStorage.getItem(cm))||480,window.innerWidth-360),280)),r=(0,v.useRef)(void 0);return(0,I.jsxs)(`aside`,{className:`side-panel`,style:{width:t},children:[(0,I.jsx)(`div`,{className:`preview-resize`,onPointerDown:e=>{e.currentTarget.setPointerCapture(e.pointerId),r.current={x:e.clientX,width:t}},onPointerMove:e=>{if(!r.current)return;let t=Math.max(Math.min(r.current.width+r.current.x-e.clientX,window.innerWidth-360),280);n(t)},onPointerUp:()=>{r.current&&(r.current=void 0,localStorage.setItem(cm,String(t)))}}),e.both?(0,I.jsx)(`div`,{className:`side-switch`,role:`tablist`,children:[`file`,`browser`].map(t=>(0,I.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":e.view===t,className:e.view===t?`active`:``,onClick:()=>e.onView(t),children:t===`file`?`File`:`Browser`},t))}):null,e.children]})}function um(e){let t=[e.cwd,e.sessionId,`${e.rounds} rounds`,...e.approve?[]:[`approve=off`]];return(0,I.jsxs)(`div`,{className:`status`,children:[(0,I.jsx)(`span`,{children:t.filter(Boolean).join(` · `)}),e.onBrowser?(0,I.jsx)(`button`,{type:`button`,className:`link`,onClick:e.onBrowser,title:`Open the built-in browser`,children:`Browser`}):null,(0,I.jsx)(`button`,{type:`button`,className:`link`,disabled:!e.onCompact,onClick:e.onCompact,title:`Summarize the conversation so far to free up context`,children:`Compact`})]})}var dm={sessionId:``,entries:[],approval:void 0,question:void 0,todos:[],stepLimit:!1,busy:!1,turnsEnded:0,rounds:0,nextId:0};function fm(e,...t){let n=e.nextId,r=t.map(e=>({...e,id:n++}));return{...e,entries:[...e.entries,...r],nextId:n}}function pm(e){return e.role===`tool`?{kind:`tool`,callId:e.callId,tool:e.tool,summary:e.summary,status:e.ok?`ok`:`failed`,result:e.result,...e.path?{path:e.path}:{}}:e.role===`user`?{kind:`user`,text:e.text,...e.attachments?.length?{attachments:e.attachments}:{}}:{kind:e.role,text:e.text}}var mm=e=>({...e,busy:!0,stepLimit:!1});function hm(e,t){switch(t.type){case`batch`:return t.actions.reduce(hm,e);case`local.reset`:return dm;case`local.error`:return fm(e,{kind:`notice`,text:t.text,error:!0});case`local.continue`:return mm(e);case`local.dismiss`:return{...e,stepLimit:!1};case`session`:return fm({...e.sessionId?{...e,entries:[]}:e,sessionId:t.id,busy:!1,approval:void 0,question:void 0,stepLimit:!1,rounds:0,todos:t.todos??[]},...t.history.map(pm));case`user`:return fm(mm(e),{kind:`user`,text:t.text,...t.attachments?.length?{attachments:t.attachments}:{}});case`text`:{let n=mm(e),r=n.entries.at(-1);return r?.kind===`assistant`?{...n,entries:[...n.entries.slice(0,-1),{...r,text:r.text+t.delta}]}:fm(n,{kind:`assistant`,text:t.delta})}case`tool.start`:return fm(mm(e),{kind:`tool`,callId:t.callId,tool:t.tool,summary:t.summary,status:`running`,result:``,...t.path?{path:t.path}:{}});case`tool.end`:{let n=t.ok?`ok`:`failed`,r=e.entries.findIndex(e=>e.kind===`tool`&&e.callId===t.callId),i=e.entries[r];if(i?.kind!==`tool`)return fm(e,{kind:`tool`,callId:t.callId,tool:t.tool,summary:t.summary,status:n,result:t.result,...t.path?{path:t.path}:{}});let a=[...e.entries];return a[r]={...i,status:n,result:t.result},{...e,entries:a}}case`approval`:return{...mm(e),approval:{id:t.id,tool:t.tool,input:t.input}};case`approval.end`:return e.approval?.id===t.id?{...e,approval:void 0}:e;case`question`:return{...mm(e),question:{id:t.id,questions:t.questions}};case`question.end`:return e.question?.id===t.id?{...e,question:void 0}:e;case`todos`:return{...e,todos:t.todos};case`notice`:return fm(e,{kind:`notice`,text:t.text,error:t.error??!1});case`turn.end`:return{...e,busy:!1,turnsEnded:e.turnsEnded+1,approval:void 0,question:void 0,rounds:t.rounds,stepLimit:t.finishReason===`max_steps`};case`turn.error`:return fm({...e,busy:!1,approval:void 0,question:void 0,turnsEnded:e.turnsEnded+1},t.cancelled?{kind:`notice`,text:`turn cancelled — history kept`,error:!1}:{kind:`notice`,text:`turn failed: ${t.message} — history kept; try again`,error:!0})}}function gm(){let[e,t]=(0,v.useReducer)(hm,dm),[n,r]=(0,v.useState)(),[i,a]=(0,v.useState)(`connecting`),[o,s]=(0,v.useState)(),[c,l]=(0,v.useState)(),[u,d]=(0,v.useState)(),[f,p]=(0,v.useState)(),[m,h]=(0,v.useState)(),[g,_]=(0,v.useState)(0),y=(0,v.useCallback)(()=>h(void 0),[]),[x,S]=(0,v.useState)(!1),[C,w]=(0,v.useState)(!1),[T,E]=(0,v.useState)(`file`),D=(0,v.useCallback)(e=>{h(e),E(`file`)},[]),O=(0,v.useCallback)(()=>{S(!0),E(`browser`)},[]),A=(0,v.useCallback)(()=>d(void 0),[]),j=(0,v.useRef)([]),M=(0,v.useRef)(0),N=(0,v.useCallback)(e=>{j.current.push(e),!M.current&&(M.current=requestAnimationFrame(()=>{M.current=0,t({type:`batch`,actions:j.current.splice(0)})}))},[]);(0,v.useEffect)(()=>{let e=()=>{},t=!1,n=new URLSearchParams(location.search).get(`token`);return n&&history.replaceState(null,``,location.pathname),(n?P.auth({token:n}).catch(()=>{}):Promise.resolve()).then(()=>{t||(e=ee({onOpen(){P.info().then(r,()=>{}),P.settings().then(p,()=>{})},onEvent(e){N(e),k(e)&&_(e=>e+1),de(e)&&O()},onStatus:a}))}),()=>{t=!0,e()}},[N,O]);let F=(0,v.useCallback)(()=>P.workspaces().then(e=>{s(e),l(void 0)},e=>l(e instanceof Error?e.message:String(e))),[]);(0,v.useEffect)(()=>{i!==`open`||e.busy||F()},[i,e.busy,e.sessionId,e.turnsEnded,F]),(0,v.useEffect)(()=>h(void 0),[e.sessionId]),(0,v.useEffect)(()=>{if(i!==`open`)return;let e=!1;return P.browserState().then(t=>{e||w(t.available)},()=>{}),()=>{e=!0}},[i,e.sessionId]);let te=async e=>{await P.addWorkspace({path:e}),await P.reset({cwd:e}),d(void 0),await F()},ne=e=>e.catch(e=>N({type:`local.error`,text:e instanceof Error?e.message:String(e)})),re=(0,v.useMemo)(()=>C?e=>{O(),ne(P.browserOpen({url:e}))}:void 0,[C,O,N]);if(i===`signed-out`)return(0,I.jsxs)(`div`,{className:`signed-out`,children:[`Open the link `,(0,I.jsx)(`code`,{children:`tah serve`}),` printed in your terminal to sign in.`]});let ie=e.entries.at(-1),ae=e.entries.some(e=>e.kind===`tool`&&e.status===`running`),oe=e.busy&&!e.approval&&!e.question&&!ae&&ie?.kind!==`assistant`,se=m!==void 0,ce=x&&C,le=se&&ce?T:se?`file`:ce?`browser`:void 0;return(0,I.jsxs)(`div`,{className:`app`,children:[(0,I.jsx)(Ep,{workspaces:o,unavailable:c,current:e.sessionId,busy:e.busy,waiting:e.approval?`needs approval`:e.question?`needs answer`:void 0,onNew:e=>ne(P.reset(e?{cwd:e}:{})),onFork:(e,t)=>ne(P.fork({id:e,...t?{cwd:t}:{}})),onPick:(e,t)=>ne(P.resume({ref:e,cwd:t})),onRename:async(e,t,n)=>{await P.rename({id:e,title:t,cwd:n}),await F()},onFlag:(e,t,n,r)=>ne(P.sessionFlag({id:e,flag:t,on:n,cwd:r}).then(F)),onOpenProject:()=>d(`open`),onNewFolder:()=>d(`new`),onRemoveFolder:e=>ne(P.removeWorkspace({path:e}).then(F)),user:f?.user,onSettings:()=>d(`settings`)}),u===`settings`&&f?(0,I.jsx)(am,{busy:e.busy,view:f,onChange:p,onClose:A}):null,u===`open`?(0,I.jsx)(Yp,{busy:e.busy,onClose:A,onOpen:te}):null,u===`new`&&n?(0,I.jsx)(qp,{busy:e.busy,desktop:n.desktop,onClose:A,onOpen:te}):null,(0,I.jsxs)(`main`,{children:[i===`reconnecting`?(0,I.jsx)(`div`,{className:`banner`,children:`Reconnecting…`}):null,(0,I.jsxs)(Lp,{entries:e.entries,busy:e.busy,onOpen:D,onBrowse:re,children:[oe?(0,I.jsxs)(`div`,{className:`thinking`,children:[(0,I.jsx)(`span`,{className:`spinner`}),` thinking…`]}):null,e.approval?(0,I.jsx)(R,{approval:e.approval,onAnswer:t=>e.approval&&ne(P.answer({id:e.approval.id,answer:t}))}):null,e.question?(0,I.jsx)(be,{question:e.question,onAnswer:t=>e.question&&ne(P.question({id:e.question.id,answers:t})),onSkip:()=>e.question&&ne(P.question({id:e.question.id,skip:!0}))},e.question.id):null,e.stepLimit&&!e.busy?(0,I.jsxs)(`div`,{className:`card`,children:[(0,I.jsxs)(`div`,{className:`card-title`,children:[`Step limit reached`,n?.maxSteps?` (${n.maxSteps} rounds this turn)`:``,`.`]}),(0,I.jsxs)(`div`,{className:`card-actions`,children:[(0,I.jsx)(`button`,{className:`primary`,onClick:()=>{N({type:`local.continue`}),ne(P.continueTurn())},children:`Continue`}),(0,I.jsx)(`button`,{onClick:()=>N({type:`local.dismiss`}),children:`Stop`})]})]}):null]}),(0,I.jsx)(Op,{todos:e.todos}),(0,I.jsx)(we,{cwd:o?.find(e=>e.active)?.path,busy:e.busy,disabled:i!==`open`||e.stepLimit,onSend:(e,t)=>ne(P.send({text:e,attachmentIds:t})),onStop:()=>ne(P.cancel()),children:(0,I.jsx)(Hp,{view:f,busy:e.busy,onPick:e=>ne(P.activeModel({id:e}).then(p)),onManage:()=>d(`settings`)})}),(0,I.jsx)(um,{cwd:o?.find(e=>e.active)?.path,sessionId:e.sessionId,rounds:e.rounds,approve:n?.approve??!0,onCompact:i===`open`&&!e.busy&&!e.stepLimit?()=>{N({type:`local.continue`}),ne(P.compact())}:void 0,onBrowser:C?O:void 0})]}),le?(0,I.jsx)(lm,{view:le,both:se&&ce,onView:E,children:le===`file`&&m?(0,I.jsx)(Xf,{target:m,version:g,onOpen:D,onBrowse:re,onClose:y},b(m)):(0,I.jsx)(Se,{agentBusy:ue(e.entries),onClose:()=>S(!1)})}):null]})}(0,y.createRoot)(document.getElementById(`root`)).render((0,I.jsx)(gm,{}));
49
+ `)?w(n):null;return i?(0,I.jsx)(`code`,{...r,className:`file-link`,role:`button`,tabIndex:0,title:`Open ${i}`,onClick:t=>{t.preventDefault(),t.stopPropagation(),e({path:i})},onKeyDown:t=>{t.key===`Enter`&&(t.stopPropagation(),e({path:i}))},children:n}):(0,I.jsx)(`code`,{...r,children:n})}}}var jp=(0,v.memo)(function({text:e,onOpen:t,onBrowse:n}){let r=(0,v.useMemo)(()=>Ap(t,n),[t,n]);return(0,I.jsx)(`div`,{className:`reply`,children:(0,I.jsx)(rs,{remarkPlugins:[Wf],rehypePlugins:[Gl],components:r,children:e})})});function Mp(e){return e<1024?`${e}B`:e<1048576?`${(e/1024).toFixed(1)}KB`:`${(e/1048576).toFixed(1)}MB`}var Np=(0,v.memo)(function({entry:e,onOpen:t,onBrowse:n}){switch(e.kind){case`user`:return(0,I.jsxs)(`div`,{className:`user`,children:[e.attachments?.length?(0,I.jsx)(`div`,{className:`user-attach`,children:e.attachments.map(e=>(0,I.jsxs)(`button`,{type:`button`,className:`attach-card sent ${e.kind}`,title:e.name,onClick:()=>t({attachment:e.id,name:e.name}),children:[e.kind===`image`?(0,I.jsx)(`img`,{src:N({attachment:e.id},0),alt:``,loading:`lazy`}):(0,I.jsx)(`span`,{className:`attach-ext`,children:e.name.split(`.`).pop()?.toUpperCase()??`FILE`}),(0,I.jsxs)(`span`,{className:`attach-meta`,children:[(0,I.jsx)(`span`,{className:`attach-name`,children:e.name}),(0,I.jsx)(`span`,{className:`attach-sub`,children:Mp(e.bytes)})]})]},e.id))}):null,e.text?(0,I.jsx)(`div`,{children:e.text}):e.attachments?.length?(0,I.jsx)(`div`,{className:`user-attach-fallback`,children:`Attached`}):(0,I.jsx)(`div`,{className:`user-attach-fallback`,children:`(empty)`})]});case`assistant`:return(0,I.jsx)(jp,{text:e.text,onOpen:t,onBrowse:n});case`tool`:return(0,I.jsx)(kp,{tool:e.tool,summary:e.summary,status:e.status,result:e.result,...e.path?{path:e.path}:{},onOpen:t});case`notice`:return(0,I.jsx)(`div`,{className:e.error?`notice error`:`notice`,children:e.text})}}),Pp=e=>e.kind===`notice`&&!e.error&&e.text.startsWith(`[ctx]`);function Fp(e){let t=[];for(let n of e){let e=t.at(-1);n.kind===`tool`||Pp(n)?e?.kind===`steps`?e.entries.push(n):t.push({kind:`steps`,id:n.id,entries:[n]}):t.push({kind:`row`,entry:n})}return t}function Ip({entries:e,live:t,onOpen:n,onBrowse:r}){let[i,a]=(0,v.useState)(!1),o=e.filter(e=>e.kind===`tool`);if(!o.length)return e.map(e=>(0,I.jsx)(Np,{entry:e,onOpen:n,onBrowse:r},e.id));let s=new Map;for(let e of o)s.set(e.tool,(s.get(e.tool)??0)+1);let c=[...s].map(([e,t])=>t>1?`${e} ×${t}`:e).join(` · `),l=o.filter(e=>e.status===`failed`).length,u=i?e:t?o.slice(-3):[];return(0,I.jsxs)(`div`,{className:`steps`,children:[(0,I.jsxs)(`button`,{type:`button`,className:`steps-head`,"aria-expanded":i,onClick:()=>a(!i),children:[(0,I.jsx)(hp,{open:i}),t?(0,I.jsx)(`span`,{className:`spinner`,"aria-label":`running`}):null,(0,I.jsxs)(`span`,{className:`steps-title`,children:[t?`Working`:`Ran`,` `,o.length,` `,o.length===1?`step`:`steps`]}),(0,I.jsx)(`span`,{className:`steps-detail`,children:c}),l?(0,I.jsxs)(`span`,{className:`steps-failed`,children:[l,` failed`]}):null]}),u.length?(0,I.jsx)(`div`,{className:`steps-body`,children:u.map(e=>(0,I.jsx)(Np,{entry:e,onOpen:n,onBrowse:r},e.id))}):null]})}function Lp({entries:e,busy:t,onOpen:n,onBrowse:r,children:i}){let a=(0,v.useRef)(null),o=(0,v.useRef)(!0);return(0,v.useEffect)(()=>{let e=a.current;e&&o.current&&(e.scrollTop=e.scrollHeight)}),(0,I.jsxs)(`div`,{className:`messages`,ref:a,onScroll:e=>{let t=e.currentTarget;o.current=t.scrollHeight-t.scrollTop-t.clientHeight<40},children:[e.length===0?(0,I.jsxs)(`div`,{className:`empty`,children:[(0,I.jsx)(`div`,{className:`empty-title`,children:`New chat`}),(0,I.jsx)(`p`,{className:`empty-hint`,children:`Ask the agent anything below. Attach files with +, or drop / paste into the composer.`})]}):null,Fp(e).map((e,i,a)=>e.kind===`row`?(0,I.jsx)(Np,{entry:e.entry,onOpen:n,onBrowse:r},e.entry.id):(0,I.jsx)(Ip,{entries:e.entries,live:t&&i===a.length-1,onOpen:n,onBrowse:r},e.id)),i]})}var Rp={"api.deepseek.com":`DeepSeek`,"api.openai.com":`OpenAI`};function zp(e){let t;try{t=new URL(e).host}catch{return e}return Rp[t]??t}function Bp(e){let t=[];for(let n of e){let e=zp(n.baseURL),r=t.find(t=>t.name===e);r?r.models.push(n):t.push({name:e,models:[n]})}return t}function Vp(e){let t=e.models.find(t=>t.id===e.activeModel);return t?t.model:e.env?`${e.env.model} · .env`:`No model`}function Hp(e){let[t,n]=(0,v.useState)(!1),r=(0,v.useRef)(null),{view:i}=e;if((0,v.useEffect)(()=>{if(!t)return;let e=e=>{r.current?.contains(e.target)||n(!1)},i=e=>{e.key===`Escape`&&n(!1)};return window.addEventListener(`mousedown`,e),window.addEventListener(`keydown`,i),()=>{window.removeEventListener(`mousedown`,e),window.removeEventListener(`keydown`,i)}},[t]),(0,v.useEffect)(()=>{e.busy&&n(!1)},[e.busy]),!i)return null;let a=t=>{n(!1),t!==i.activeModel&&e.onPick(t)};return(0,I.jsxs)(`div`,{className:`model-picker`,ref:r,children:[(0,I.jsxs)(`button`,{type:`button`,className:t?`model-btn on`:`model-btn`,disabled:e.busy,title:e.busy?`Wait for the reply to finish to switch models`:`Switch model`,"aria-haspopup":`menu`,"aria-expanded":t,onClick:()=>n(e=>!e),children:[Vp(i),(0,I.jsx)(`span`,{className:`model-chev`,children:(0,I.jsx)(hp,{open:!1})})]}),t?(0,I.jsxs)(`ul`,{className:`context-menu model-menu`,role:`menu`,children:[Bp(i.models).map(e=>(0,I.jsxs)(`li`,{role:`none`,children:[(0,I.jsx)(`div`,{className:`menu-label`,children:e.name}),(0,I.jsx)(`ul`,{role:`none`,children:e.models.map(e=>(0,I.jsx)(`li`,{role:`none`,children:(0,I.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":e.id===i.activeModel,onClick:()=>a(e.id),children:[e.model,e.vision?(0,I.jsx)(`span`,{className:`model-key`,children:`images`}):null,(0,I.jsx)(`span`,{className:`model-check`,children:e.id===i.activeModel?`✓`:``})]})},e.id))})]},e.name)),i.env?(0,I.jsxs)(`li`,{role:`none`,children:[(0,I.jsx)(`div`,{className:`menu-label`,children:`From .env`}),(0,I.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":i.activeModel===null,onClick:()=>a(null),children:[i.env.model,(0,I.jsx)(`span`,{className:`model-key`,children:i.env.key}),(0,I.jsx)(`span`,{className:`model-check`,children:i.activeModel===null?`✓`:``})]})]}):null,(0,I.jsx)(`li`,{role:`separator`,className:`menu-sep`}),(0,I.jsx)(`li`,{role:`none`,children:(0,I.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{n(!1),e.onManage()},children:[(0,I.jsx)(`span`,{className:`model-gear`,children:(0,I.jsx)(wp,{})}),i.models.length?`Manage models…`:`Add a model…`]})})]}):null]})}var Up=e=>e instanceof Error?e.message:String(e),Wp=(e,t)=>`${e.replace(/[\\/]$/,``)}/${t}`;function Gp(e){let[t,n]=(0,v.useState)(),[r,i]=(0,v.useState)(),[a,o]=(0,v.useState)(!1),[s,c]=(0,v.useState)(``),[l,u]=(0,v.useState)(!1),{onClose:d}=e,f=e=>P.fs(e).then(e=>{n(e),i(void 0)},e=>i(Up(e)));return(0,v.useEffect)(()=>{f(e.start)},[]),(0,v.useEffect)(()=>{let e=e=>{e.key===`Escape`&&d()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[d]),(0,I.jsx)(`div`,{className:`modal-backdrop`,onMouseDown:e=>e.target===e.currentTarget&&d(),children:(0,I.jsxs)(`div`,{className:`modal`,role:`dialog`,"aria-label":`Add folder`,children:[(0,I.jsx)(`div`,{className:`crumbs`,children:t?.crumbs.map((e,t)=>(0,I.jsx)(`button`,{type:`button`,onClick:()=>void f(e.path),children:t===0?e.name:`${e.name}/`},e.path))}),(0,I.jsxs)(`ul`,{className:`dirs`,children:[t?.parent?(0,I.jsx)(`li`,{children:(0,I.jsx)(`button`,{type:`button`,onClick:()=>void f(t.parent??void 0),children:`..`})}):null,t?.dirs.map(e=>(0,I.jsx)(`li`,{children:(0,I.jsx)(`button`,{type:`button`,onClick:()=>void f(Wp(t.path,e)),children:e})},e))]}),a&&t?(0,I.jsx)(`form`,{onSubmit:e=>{e.preventDefault(),P.mkdir({path:t.path,name:s.trim()}).then(e=>(o(!1),c(``),f(e.path)),e=>i(Up(e)))},children:(0,I.jsx)(`input`,{autoFocus:!0,className:`session-rename`,value:s,placeholder:`New folder name`,"aria-label":`New folder name`,onChange:e=>c(e.target.value),onKeyDown:e=>{e.key===`Escape`&&(e.stopPropagation(),o(!1))}})}):null,r?(0,I.jsx)(`div`,{className:`modal-error`,children:r}):null,(0,I.jsxs)(`div`,{className:`card-actions`,children:[(0,I.jsx)(`button`,{type:`button`,disabled:!t,onClick:()=>o(!0),children:`New folder`}),(0,I.jsx)(`span`,{className:`spacer`}),(0,I.jsx)(`button`,{type:`button`,onClick:d,children:`Cancel`}),(0,I.jsx)(`button`,{type:`button`,className:`primary`,disabled:!t||e.busy||l,onClick:()=>{t&&(u(!0),e.onOpen(t.path).catch(e=>{u(!1),i(Up(e))}))},children:e.confirmLabel??`Open this folder`})]})]})})}var Kp=e=>e instanceof Error?e.message:String(e);function qp(e){let[t,n]=(0,v.useState)(``),[r,i]=(0,v.useState)(e.desktop),[a,o]=(0,v.useState)(!1),[s,c]=(0,v.useState)(),[l,u]=(0,v.useState)(!1),[d,f]=(0,v.useState)(!1),{onClose:p}=e;if((0,v.useEffect)(()=>{if(a)return;let e=e=>{e.key===`Escape`&&p()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[p,a]),a)return(0,I.jsx)(Gp,{busy:!1,start:r,confirmLabel:`Use this location`,onOpen:async e=>{i(e),o(!1)},onClose:()=>o(!1)});let m=async()=>{f(!0),c(void 0);try{let e=await P.choose({start:r});e&&i(e)}catch(e){e instanceof A&&e.status===501?o(!0):c(Kp(e))}finally{f(!1)}},h=!!t.trim()&&!e.busy&&!l&&!d,g=()=>{h&&(u(!0),P.mkdir({path:r,name:t.trim()}).then(t=>e.onOpen(t.path)).catch(e=>{u(!1),c(Kp(e))}))};return(0,I.jsx)(`div`,{className:`modal-backdrop`,onMouseDown:e=>e.target===e.currentTarget&&p(),children:(0,I.jsxs)(`div`,{className:`modal`,role:`dialog`,"aria-label":`New folder`,children:[(0,I.jsx)(`div`,{className:`modal-title`,children:`New folder`}),(0,I.jsx)(`form`,{onSubmit:e=>{e.preventDefault(),g()},children:(0,I.jsx)(`input`,{autoFocus:!0,className:`session-rename`,value:t,placeholder:`Folder name`,"aria-label":`Folder name`,onChange:e=>n(e.target.value)})}),(0,I.jsxs)(`div`,{className:`new-folder-where`,children:[(0,I.jsx)(`span`,{children:`Location`}),(0,I.jsx)(`span`,{className:`where-path`,title:r,children:r}),(0,I.jsx)(`button`,{type:`button`,disabled:d,onClick:()=>void m(),children:`Change…`})]}),s?(0,I.jsx)(`div`,{className:`modal-error`,children:s}):null,(0,I.jsxs)(`div`,{className:`card-actions`,children:[(0,I.jsx)(`span`,{className:`spacer`}),(0,I.jsx)(`button`,{type:`button`,onClick:p,children:`Cancel`}),(0,I.jsx)(`button`,{type:`button`,className:`primary`,disabled:!h,onClick:g,children:`Create`})]})]})})}var Jp=e=>e instanceof Error?e.message:String(e);function Yp(e){let[t,n]=(0,v.useState)(),[r,i]=(0,v.useState)(!1),[a,o]=(0,v.useState)(),[s,c]=(0,v.useState)(!1),{onClose:l}=e,u=async t=>{c(!0);try{await e.onOpen(t)}catch(e){c(!1),o(Jp(e))}},d=async e=>{c(!0),o(void 0);try{let t=await P.choose();if(t)return void await u(t);if(e)return l();c(!1)}catch(e){c(!1),e instanceof A&&e.status===501?i(!0):o(Jp(e))}};return(0,v.useEffect)(()=>{P.recent().then(e=>{n(e),e.length===0&&d(!0)},()=>n([]))},[]),(0,v.useEffect)(()=>{let e=e=>{e.key===`Escape`&&l()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[l]),r?(0,I.jsx)(Gp,{busy:e.busy,onOpen:e.onOpen,onClose:l}):(0,I.jsx)(`div`,{className:`modal-backdrop`,onMouseDown:e=>e.target===e.currentTarget&&l(),children:(0,I.jsxs)(`div`,{className:`modal`,role:`dialog`,"aria-label":`Open project`,children:[(0,I.jsx)(`div`,{className:`modal-title`,children:t?.length?`Recent projects`:`Open project`}),t?.length?(0,I.jsx)(`ul`,{className:`dirs recent`,children:t.map(t=>(0,I.jsx)(`li`,{children:(0,I.jsxs)(`button`,{type:`button`,title:t.path,disabled:e.busy||s,onClick:()=>void u(t.path),children:[t.name,(0,I.jsx)(`span`,{className:`dir-path`,children:t.path})]})},t.path))}):(0,I.jsx)(`div`,{className:`sidebar-note`,children:`Choose a folder in the system dialog…`}),a?(0,I.jsx)(`div`,{className:`modal-error`,children:a}):null,(0,I.jsxs)(`div`,{className:`card-actions`,children:[(0,I.jsx)(`button`,{type:`button`,className:`primary`,disabled:e.busy||s,onClick:()=>void d(!1),children:`Choose folder…`}),(0,I.jsx)(`span`,{className:`spacer`}),(0,I.jsx)(`button`,{type:`button`,onClick:l,children:`Cancel`})]})]})})}var Xp=()=>(0,I.jsx)(`svg`,{viewBox:`0 0 16 16`,width:`14`,height:`14`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,"aria-hidden":!0,children:(0,I.jsx)(`path`,{d:`M2.5 4h11M6 4V2.5h4V4M4 4l.7 9.5h6.6L12 4M6.8 6.5v4.5M9.2 6.5v4.5`,strokeLinejoin:`round`,strokeLinecap:`round`})}),Zp=e=>e instanceof Error?e.message:String(e);function Qp(e){let t=[e.imported.length?`Imported ${e.imported.join(`, `)}.`:`Nothing new imported.`];return e.skipped.length&&t.push(`Skipped ${e.skipped.join(`; `)}.`),t.join(` `)}function $p(e){let[t,n]=(0,v.useState)(),[r,i]=(0,v.useState)(),[a,o]=(0,v.useState)(),[s,c]=(0,v.useState)(!1),[l,u]=(0,v.useState)(!1),d=e.busy||s;(0,v.useEffect)(()=>{P.skills().then(n,e=>i(Zp(e)))},[]);let f=async e=>{c(!0);try{let t=await P.importSkills({path:e});n(t),o(Qp(t))}catch(e){i(Zp(e))}finally{c(!1)}},p=async()=>{i(void 0),o(void 0),c(!0);let e;try{e=await P.choose()}catch(e){e instanceof A&&e.status===501?u(!0):i(Zp(e));return}finally{c(!1)}e&&await f(e)},m=async e=>{i(void 0),o(void 0),c(!0);try{n(await P.removeSkill({name:e}))}catch(e){i(Zp(e))}finally{c(!1)}},h=e=>(0,I.jsxs)(`li`,{className:`model-card`,children:[(0,I.jsxs)(`div`,{className:`model-main`,children:[(0,I.jsx)(`div`,{className:`model-name`,children:e.name}),(0,I.jsx)(`div`,{className:`skill-desc`,title:`${e.description}\n${e.path}`,children:e.description})]}),e.source===`home`?(0,I.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Remove ${e.name}`,title:`Remove`,disabled:d,onClick:()=>void m(e.name),children:(0,I.jsx)(Xp,{})}):null]},`${e.source}:${e.name}`),g=t?.skills.filter(e=>e.source===`home`)??[],_=t?.skills.filter(e=>e.source===`folder`)??[];return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`p`,{className:`settings-desc`,children:`Skills are instructions the agent loads when a task matches. Import a folder with a SKILL.md, or a folder of them such as ~/.cursor/skills or ~/.claude/skills. Imported skills are copied to ~/.tah/skills and work in every folder.`}),(0,I.jsx)(`button`,{type:`button`,className:`add-model`,disabled:d,onClick:()=>void p(),children:`Import skill folder…`}),a?(0,I.jsx)(`div`,{className:`settings-note`,children:a}):null,r?(0,I.jsx)(`div`,{className:`modal-error`,children:r}):null,e.busy?(0,I.jsx)(`div`,{className:`settings-note`,children:`Wait for the current reply to finish to change skills.`}):null,t?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`div`,{className:`settings-subhead`,children:`All folders · ~/.tah/skills`}),g.length?(0,I.jsx)(`ul`,{className:`model-cards`,children:g.map(h)}):(0,I.jsx)(`div`,{className:`settings-empty`,children:`None imported yet.`}),(0,I.jsx)(`div`,{className:`settings-subhead`,children:`This folder · skills/, .agents/skills/, .cursor/skills/`}),_.length?(0,I.jsx)(`ul`,{className:`model-cards`,children:_.map(h)}):(0,I.jsx)(`div`,{className:`settings-empty`,children:`None.`})]}):null,l?(0,I.jsx)(Gp,{busy:e.busy,confirmLabel:`Import`,onOpen:async e=>{u(!1),await f(e)},onClose:()=>u(!1)}):null]})}var em=e=>e instanceof Error?e.message:String(e),tm=e=>e.trim().toLowerCase().startsWith(`deepseek`)?`https://api.deepseek.com/v1`:`https://api.openai.com/v1`;function nm(e){try{let t=new URL(e).host;return t===`api.deepseek.com`?`DeepSeek`:t===`api.openai.com`?`OpenAI`:t}catch{return e}}var rm=()=>(0,I.jsx)(`svg`,{viewBox:`0 0 16 16`,width:`16`,height:`16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,"aria-hidden":!0,children:(0,I.jsx)(`path`,{d:`M4 4l8 8M12 4l-8 8`,strokeLinecap:`round`})}),im={models:`Models`,web:`Web search`,skills:`Skills`};function am(e){let[t,n]=(0,v.useState)(`models`),{onClose:r}=e;return(0,v.useEffect)(()=>{let e=e=>{e.key===`Escape`&&r()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[r]),(0,I.jsx)(`div`,{className:`modal-backdrop`,onMouseDown:e=>e.target===e.currentTarget&&r(),children:(0,I.jsxs)(`div`,{className:`settings`,role:`dialog`,"aria-label":`Settings`,children:[(0,I.jsxs)(`nav`,{className:`settings-nav`,children:[(0,I.jsx)(`div`,{className:`settings-nav-title`,children:`Settings`}),Object.keys(im).map(e=>(0,I.jsx)(`button`,{type:`button`,className:e===t?`active`:void 0,onClick:()=>n(e),children:im[e]},e))]}),(0,I.jsxs)(`section`,{className:`settings-body`,children:[(0,I.jsxs)(`header`,{className:`settings-head`,children:[(0,I.jsx)(`h2`,{children:im[t]}),(0,I.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Close settings`,title:`Close`,onClick:r,children:(0,I.jsx)(rm,{})})]}),t===`models`?(0,I.jsx)(sm,{busy:e.busy,view:e.view,onChange:e.onChange}):t===`web`?(0,I.jsx)(om,{busy:e.busy,view:e.view,onChange:e.onChange}):(0,I.jsx)($p,{busy:e.busy})]})]})})}function om(e){let[t,n]=(0,v.useState)(``),[r,i]=(0,v.useState)(),[a,o]=(0,v.useState)(!1),{search:s}=e.view,c=e.busy||a,l=async t=>{o(!0),i(void 0);try{e.onChange(await P.searchKey({apiKey:t})),n(``)}catch(e){i(em(e))}finally{o(!1)}};return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(`p`,{className:`settings-desc`,children:[`The agent reads web pages with web_fetch out of the box. To let it search the web too, add a`,` `,(0,I.jsx)(`a`,{href:`https://app.tavily.com`,target:`_blank`,rel:`noreferrer`,children:`Tavily`}),` `,`API key (free tier available). It applies to every folder.`]}),s?(0,I.jsx)(`ul`,{className:`model-cards`,children:(0,I.jsxs)(`li`,{className:`model-card in-use`,children:[(0,I.jsxs)(`div`,{className:`model-main`,children:[(0,I.jsx)(`div`,{className:`model-name`,children:`Tavily`}),(0,I.jsxs)(`div`,{className:`model-meta`,children:[s.keyHint,` · `,s.source===`env`?`from TAVILY_API_KEY in .env`:`saved in settings`]})]}),(0,I.jsx)(`span`,{className:`badge`,children:`On`}),s.source===`settings`?(0,I.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Remove Tavily key`,title:`Remove`,disabled:c,onClick:()=>void l(null),children:(0,I.jsx)(Xp,{})}):null]})}):(0,I.jsx)(`div`,{className:`settings-empty`,children:`Web search is off — no key yet.`}),(0,I.jsxs)(`form`,{className:`model-form`,onSubmit:e=>{e.preventDefault(),l(t)},children:[(0,I.jsxs)(`label`,{children:[(0,I.jsx)(`span`,{children:s?`Replace API key`:`Tavily API key`}),(0,I.jsx)(`input`,{type:`password`,autoComplete:`off`,value:t,placeholder:`tvly-…`,onChange:e=>n(e.target.value)}),(0,I.jsx)(`small`,{children:`Stored only on this computer, in ~/.tah/settings.json.`})]}),(0,I.jsxs)(`div`,{className:`card-actions`,children:[(0,I.jsx)(`span`,{className:`spacer`}),(0,I.jsx)(`button`,{type:`submit`,className:`primary`,disabled:c||!t.trim(),children:`Save key`})]})]}),r?(0,I.jsx)(`div`,{className:`modal-error`,children:r}):null,e.busy?(0,I.jsx)(`div`,{className:`settings-note`,children:`Wait for the current reply to finish to change the key.`}):null]})}function sm(e){let[t,n]=(0,v.useState)(e.view.models.length===0),[r,i]=(0,v.useState)(``),[a,o]=(0,v.useState)(``),[s,c]=(0,v.useState)(``),[l,u]=(0,v.useState)(!1),[d,f]=(0,v.useState)(),[p,m]=(0,v.useState)(!1),{view:h}=e,g=e.busy||p,_=h.models.find(e=>e.id===h.activeModel),y=async t=>{m(!0),f(void 0);try{return e.onChange(await t),!0}catch(e){return f(em(e)),!1}finally{m(!1)}},b=()=>{n(!1),i(``),o(``),c(``),u(!1),f(void 0)},x=async()=>{let e={model:r,apiKey:a,vision:l,...s.trim()?{baseURL:s.trim()}:{}};await y(P.addModel(e))&&b()};return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`p`,{className:`settings-desc`,children:`Add an API key for DeepSeek, OpenAI, or any OpenAI-compatible service. The model in use applies to every folder; switching takes effect on the next message.`}),h.models.length?(0,I.jsx)(`ul`,{className:`model-cards`,children:h.models.map(e=>{let t=e.id===h.activeModel;return(0,I.jsxs)(`li`,{className:t?`model-card in-use`:`model-card`,children:[(0,I.jsxs)(`div`,{className:`model-main`,children:[(0,I.jsx)(`div`,{className:`model-name`,children:e.model}),(0,I.jsxs)(`div`,{className:`model-meta`,title:e.baseURL,children:[nm(e.baseURL),` · `,e.keyHint]})]}),(0,I.jsxs)(`label`,{className:`model-vision`,title:`Send image attachments to this model`,children:[(0,I.jsx)(`input`,{type:`checkbox`,checked:e.vision,disabled:g,onChange:t=>void y(P.modelVision({id:e.id,vision:t.target.checked}))}),`Images`]}),t?(0,I.jsx)(`span`,{className:`badge`,children:`In use`}):(0,I.jsx)(`button`,{type:`button`,disabled:g,onClick:()=>void y(P.activeModel({id:e.id})),children:`Use`}),(0,I.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Remove ${e.model}`,title:`Remove`,disabled:g,onClick:()=>void y(P.removeModel({id:e.id})),children:(0,I.jsx)(Xp,{})})]},e.id)})}):t?null:(0,I.jsx)(`div`,{className:`settings-empty`,children:`No models yet.`}),t?(0,I.jsxs)(`form`,{className:`model-form`,onSubmit:e=>{e.preventDefault(),x()},children:[(0,I.jsxs)(`label`,{children:[(0,I.jsx)(`span`,{children:`Model name`}),(0,I.jsx)(`input`,{autoFocus:!0,value:r,placeholder:`deepseek-chat`,onChange:e=>i(e.target.value)})]}),(0,I.jsxs)(`label`,{children:[(0,I.jsx)(`span`,{children:`API Key`}),(0,I.jsx)(`input`,{type:`password`,autoComplete:`off`,value:a,placeholder:`sk-…`,onChange:e=>o(e.target.value)}),(0,I.jsx)(`small`,{children:`Stored only on this computer, in ~/.tah/settings.json.`})]}),(0,I.jsxs)(`label`,{children:[(0,I.jsxs)(`span`,{children:[`Base URL `,(0,I.jsx)(`em`,{children:`optional`})]}),(0,I.jsx)(`input`,{value:s,placeholder:tm(r),onChange:e=>c(e.target.value)}),(0,I.jsxs)(`small`,{children:[`Leave empty to use `,tm(r)]})]}),(0,I.jsxs)(`label`,{className:`check`,children:[(0,I.jsx)(`input`,{type:`checkbox`,checked:l,onChange:e=>u(e.target.checked)}),(0,I.jsx)(`span`,{children:`Can read images`})]}),(0,I.jsx)(`small`,{className:`check-note`,children:`Sends image attachments to the model. Leave off for text-only models such as deepseek-chat.`}),(0,I.jsxs)(`div`,{className:`card-actions`,children:[(0,I.jsx)(`span`,{className:`spacer`}),h.models.length?(0,I.jsx)(`button`,{type:`button`,onClick:b,children:`Cancel`}):null,(0,I.jsx)(`button`,{type:`submit`,className:`primary`,disabled:g||!r.trim()||!a.trim(),children:`Add model`})]})]}):(0,I.jsx)(`button`,{type:`button`,className:`add-model`,disabled:g,onClick:()=>n(!0),children:`+ Add model`}),d?(0,I.jsx)(`div`,{className:`modal-error`,children:d}):null,e.busy?(0,I.jsx)(`div`,{className:`settings-note`,children:`Wait for the current reply to finish to change models.`}):null,(0,I.jsx)(`div`,{className:`settings-note`,children:_?(0,I.jsxs)(I.Fragment,{children:[`Using `,(0,I.jsx)(`strong`,{children:_.model}),`.`,` `,(0,I.jsx)(`button`,{type:`button`,className:`link`,disabled:g,onClick:()=>void y(P.activeModel({id:null})),children:`Use .env instead`})]}):(0,I.jsx)(I.Fragment,{children:`No model in use — keys come from DEEPSEEK_API_KEY / OPENAI_API_KEY in .env.`})})]})}var cm=`tah.previewWidth`;function lm(e){let[t,n]=(0,v.useState)(()=>Math.max(Math.min(Number(localStorage.getItem(cm))||480,window.innerWidth-360),280)),r=(0,v.useRef)(void 0);return(0,I.jsxs)(`aside`,{className:`side-panel`,style:{width:t},children:[(0,I.jsx)(`div`,{className:`preview-resize`,onPointerDown:e=>{e.currentTarget.setPointerCapture(e.pointerId),r.current={x:e.clientX,width:t}},onPointerMove:e=>{if(!r.current)return;let t=Math.max(Math.min(r.current.width+r.current.x-e.clientX,window.innerWidth-360),280);n(t)},onPointerUp:()=>{r.current&&(r.current=void 0,localStorage.setItem(cm,String(t)))}}),e.both?(0,I.jsx)(`div`,{className:`side-switch`,role:`tablist`,children:[`file`,`browser`].map(t=>(0,I.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":e.view===t,className:e.view===t?`active`:``,onClick:()=>e.onView(t),children:t===`file`?`File`:`Browser`},t))}):null,e.children]})}function um(e){let t=[e.cwd,e.sessionId,`${e.rounds} rounds`,...e.approve?[]:[`approve=off`]];return(0,I.jsxs)(`div`,{className:`status`,children:[(0,I.jsx)(`span`,{children:t.filter(Boolean).join(` · `)}),e.onBrowser?(0,I.jsx)(`button`,{type:`button`,className:`link`,onClick:e.onBrowser,title:`Open the built-in browser`,children:`Browser`}):null,(0,I.jsx)(`button`,{type:`button`,className:`link`,disabled:!e.onCompact,onClick:e.onCompact,title:`Summarize the conversation so far to free up context`,children:`Compact`})]})}var dm={sessionId:``,entries:[],approval:void 0,question:void 0,retry:void 0,todos:[],stepLimit:!1,busy:!1,turnsEnded:0,rounds:0,nextId:0};function fm(e,...t){let n=e.nextId,r=t.map(e=>({...e,id:n++}));return{...e,entries:[...e.entries,...r],nextId:n}}function pm(e){return e.role===`tool`?{kind:`tool`,callId:e.callId,tool:e.tool,summary:e.summary,status:e.ok?`ok`:`failed`,result:e.result,...e.path?{path:e.path}:{}}:e.role===`user`?{kind:`user`,text:e.text,...e.attachments?.length?{attachments:e.attachments}:{}}:{kind:e.role,text:e.text}}var mm=e=>({...e,busy:!0,stepLimit:!1}),hm=new Set([`session`,`user`,`text`,`tool.start`,`approval`,`question`,`turn.end`,`turn.error`,`local.reset`]);function gm(e,t){switch(e.retry!==void 0&&hm.has(t.type)&&(e={...e,retry:void 0}),t.type){case`batch`:return t.actions.reduce(gm,e);case`local.reset`:return dm;case`local.error`:return fm(e,{kind:`notice`,text:t.text,error:!0});case`local.continue`:return mm(e);case`local.dismiss`:return{...e,stepLimit:!1};case`session`:return fm({...e.sessionId?{...e,entries:[]}:e,sessionId:t.id,busy:!1,approval:void 0,question:void 0,stepLimit:!1,rounds:0,todos:t.todos??[]},...t.history.map(pm));case`user`:return fm(mm(e),{kind:`user`,text:t.text,...t.attachments?.length?{attachments:t.attachments}:{}});case`text`:{let n=mm(e),r=n.entries.at(-1);return r?.kind===`assistant`?{...n,entries:[...n.entries.slice(0,-1),{...r,text:r.text+t.delta}]}:fm(n,{kind:`assistant`,text:t.delta})}case`tool.start`:return fm(mm(e),{kind:`tool`,callId:t.callId,tool:t.tool,summary:t.summary,status:`running`,result:``,...t.path?{path:t.path}:{}});case`tool.end`:{let n=t.ok?`ok`:`failed`,r=e.entries.findIndex(e=>e.kind===`tool`&&e.callId===t.callId),i=e.entries[r];if(i?.kind!==`tool`)return fm(e,{kind:`tool`,callId:t.callId,tool:t.tool,summary:t.summary,status:n,result:t.result,...t.path?{path:t.path}:{}});let a=[...e.entries];return a[r]={...i,status:n,result:t.result},{...e,entries:a}}case`approval`:return{...mm(e),approval:{id:t.id,tool:t.tool,input:t.input}};case`approval.end`:return e.approval?.id===t.id?{...e,approval:void 0}:e;case`question`:return{...mm(e),question:{id:t.id,questions:t.questions}};case`question.end`:return e.question?.id===t.id?{...e,question:void 0}:e;case`todos`:return{...e,todos:t.todos};case`retry`:return{...mm(e),retry:t.text};case`notice`:return fm(e,{kind:`notice`,text:t.text,error:t.error??!1});case`turn.end`:return{...e,busy:!1,turnsEnded:e.turnsEnded+1,approval:void 0,question:void 0,rounds:t.rounds,stepLimit:t.finishReason===`max_steps`};case`turn.error`:return fm({...e,busy:!1,approval:void 0,question:void 0,turnsEnded:e.turnsEnded+1},t.cancelled?{kind:`notice`,text:`turn cancelled — history kept`,error:!1}:{kind:`notice`,text:`turn failed: ${t.message} — history kept; try again`,error:!0})}}function _m(){let[e,t]=(0,v.useReducer)(gm,dm),[n,r]=(0,v.useState)(),[i,a]=(0,v.useState)(`connecting`),[o,s]=(0,v.useState)(),[c,l]=(0,v.useState)(),[u,d]=(0,v.useState)(),[f,p]=(0,v.useState)(),[m,h]=(0,v.useState)(),[g,_]=(0,v.useState)(0),y=(0,v.useCallback)(()=>h(void 0),[]),[x,S]=(0,v.useState)(!1),[C,w]=(0,v.useState)(!1),[T,E]=(0,v.useState)(`file`),D=(0,v.useCallback)(e=>{h(e),E(`file`)},[]),O=(0,v.useCallback)(()=>{S(!0),E(`browser`)},[]),A=(0,v.useCallback)(()=>d(void 0),[]),j=(0,v.useRef)([]),M=(0,v.useRef)(0),N=(0,v.useCallback)(e=>{j.current.push(e),!M.current&&(M.current=requestAnimationFrame(()=>{M.current=0,t({type:`batch`,actions:j.current.splice(0)})}))},[]);(0,v.useEffect)(()=>{let e=()=>{},t=!1,n=new URLSearchParams(location.search).get(`token`);return n&&history.replaceState(null,``,location.pathname),(n?P.auth({token:n}).catch(()=>{}):Promise.resolve()).then(()=>{t||(e=ee({onOpen(){P.info().then(r,()=>{}),P.settings().then(p,()=>{})},onEvent(e){N(e),k(e)&&_(e=>e+1),de(e)&&O()},onStatus:a}))}),()=>{t=!0,e()}},[N,O]);let F=(0,v.useCallback)(()=>P.workspaces().then(e=>{s(e),l(void 0)},e=>l(e instanceof Error?e.message:String(e))),[]);(0,v.useEffect)(()=>{i!==`open`||e.busy||F()},[i,e.busy,e.sessionId,e.turnsEnded,F]),(0,v.useEffect)(()=>h(void 0),[e.sessionId]),(0,v.useEffect)(()=>{if(i!==`open`)return;let e=!1;return P.browserState().then(t=>{e||w(t.available)},()=>{}),()=>{e=!0}},[i,e.sessionId]);let te=async e=>{await P.addWorkspace({path:e}),await P.reset({cwd:e}),d(void 0),await F()},ne=e=>e.catch(e=>N({type:`local.error`,text:e instanceof Error?e.message:String(e)})),re=(0,v.useMemo)(()=>C?e=>{O(),ne(P.browserOpen({url:e}))}:void 0,[C,O,N]);if(i===`signed-out`)return(0,I.jsxs)(`div`,{className:`signed-out`,children:[`Open the link `,(0,I.jsx)(`code`,{children:`tah serve`}),` printed in your terminal to sign in.`]});let ie=e.entries.at(-1),ae=e.entries.some(e=>e.kind===`tool`&&e.status===`running`),oe=e.busy&&!e.approval&&!e.question&&!ae&&ie?.kind!==`assistant`,se=m!==void 0,ce=x&&C,le=se&&ce?T:se?`file`:ce?`browser`:void 0;return(0,I.jsxs)(`div`,{className:`app`,children:[(0,I.jsx)(Ep,{workspaces:o,unavailable:c,current:e.sessionId,busy:e.busy,waiting:e.approval?`needs approval`:e.question?`needs answer`:void 0,onNew:e=>ne(P.reset(e?{cwd:e}:{})),onFork:(e,t)=>ne(P.fork({id:e,...t?{cwd:t}:{}})),onPick:(e,t)=>ne(P.resume({ref:e,cwd:t})),onRename:async(e,t,n)=>{await P.rename({id:e,title:t,cwd:n}),await F()},onFlag:(e,t,n,r)=>ne(P.sessionFlag({id:e,flag:t,on:n,cwd:r}).then(F)),onOpenProject:()=>d(`open`),onNewFolder:()=>d(`new`),onRemoveFolder:e=>ne(P.removeWorkspace({path:e}).then(F)),user:f?.user,onSettings:()=>d(`settings`)}),u===`settings`&&f?(0,I.jsx)(am,{busy:e.busy,view:f,onChange:p,onClose:A}):null,u===`open`?(0,I.jsx)(Yp,{busy:e.busy,onClose:A,onOpen:te}):null,u===`new`&&n?(0,I.jsx)(qp,{busy:e.busy,desktop:n.desktop,onClose:A,onOpen:te}):null,(0,I.jsxs)(`main`,{children:[i===`reconnecting`?(0,I.jsx)(`div`,{className:`banner`,children:`Reconnecting…`}):null,(0,I.jsxs)(Lp,{entries:e.entries,busy:e.busy,onOpen:D,onBrowse:re,children:[e.retry?(0,I.jsxs)(`div`,{className:`thinking retry`,children:[(0,I.jsx)(`span`,{className:`spinner`}),` `,e.retry]}):oe?(0,I.jsxs)(`div`,{className:`thinking`,children:[(0,I.jsx)(`span`,{className:`spinner`}),` thinking…`]}):null,e.approval?(0,I.jsx)(R,{approval:e.approval,onAnswer:t=>e.approval&&ne(P.answer({id:e.approval.id,answer:t}))}):null,e.question?(0,I.jsx)(be,{question:e.question,onAnswer:t=>e.question&&ne(P.question({id:e.question.id,answers:t})),onSkip:()=>e.question&&ne(P.question({id:e.question.id,skip:!0}))},e.question.id):null,e.stepLimit&&!e.busy?(0,I.jsxs)(`div`,{className:`card`,children:[(0,I.jsxs)(`div`,{className:`card-title`,children:[`Step limit reached`,n?.maxSteps?` (${n.maxSteps} rounds this turn)`:``,`.`]}),(0,I.jsxs)(`div`,{className:`card-actions`,children:[(0,I.jsx)(`button`,{className:`primary`,onClick:()=>{N({type:`local.continue`}),ne(P.continueTurn())},children:`Continue`}),(0,I.jsx)(`button`,{onClick:()=>N({type:`local.dismiss`}),children:`Stop`})]})]}):null]}),(0,I.jsx)(Op,{todos:e.todos}),(0,I.jsx)(we,{cwd:o?.find(e=>e.active)?.path,busy:e.busy,disabled:i!==`open`||e.stepLimit,onSend:(e,t)=>ne(P.send({text:e,attachmentIds:t})),onStop:()=>ne(P.cancel()),children:(0,I.jsx)(Hp,{view:f,busy:e.busy,onPick:e=>ne(P.activeModel({id:e}).then(p)),onManage:()=>d(`settings`)})}),(0,I.jsx)(um,{cwd:o?.find(e=>e.active)?.path,sessionId:e.sessionId,rounds:e.rounds,approve:n?.approve??!0,onCompact:i===`open`&&!e.busy&&!e.stepLimit?()=>{N({type:`local.continue`}),ne(P.compact())}:void 0,onBrowser:C?O:void 0})]}),le?(0,I.jsx)(lm,{view:le,both:se&&ce,onView:E,children:le===`file`&&m?(0,I.jsx)(Xf,{target:m,version:g,onOpen:D,onBrowse:re,onClose:y},b(m)):(0,I.jsx)(Se,{agentBusy:ue(e.entries),onClose:()=>S(!1)})}):null]})}(0,y.createRoot)(document.getElementById(`root`)).render((0,I.jsx)(_m,{}));
@@ -4,8 +4,8 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>tah</title>
7
- <script type="module" crossorigin src="/assets/index-WznEF5EK.js"></script>
8
- <link rel="stylesheet" crossorigin href="/assets/index-BB_BHF1w.css">
7
+ <script type="module" crossorigin src="/assets/index-Cro2cr-Z.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-CFDZgD8Z.css">
9
9
  </head>
10
10
  <body>
11
11
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typescript-agent-harness/cli",
3
- "version": "0.37.1",
3
+ "version": "0.37.2",
4
4
  "description": "typescript-agent-harness CLI (tah)",
5
5
  "type": "module",
6
6
  "bin": {
@@ -28,14 +28,14 @@
28
28
  "marked-terminal": "^7.3.0",
29
29
  "react": "^19.3.0",
30
30
  "string-width": "^8.3.0",
31
- "@typescript-agent-harness/agent": "0.37.1",
32
- "@typescript-agent-harness/core": "0.37.1",
33
- "@typescript-agent-harness/llm": "0.37.1",
34
- "@typescript-agent-harness/mcp": "0.37.1",
35
- "@typescript-agent-harness/permissions": "0.37.1",
36
- "@typescript-agent-harness/storage": "0.37.1",
37
- "@typescript-agent-harness/scheduler": "0.37.1",
38
- "@typescript-agent-harness/tools": "0.37.1"
31
+ "@typescript-agent-harness/core": "0.37.2",
32
+ "@typescript-agent-harness/llm": "0.37.2",
33
+ "@typescript-agent-harness/mcp": "0.37.2",
34
+ "@typescript-agent-harness/agent": "0.37.2",
35
+ "@typescript-agent-harness/permissions": "0.37.2",
36
+ "@typescript-agent-harness/storage": "0.37.2",
37
+ "@typescript-agent-harness/scheduler": "0.37.2",
38
+ "@typescript-agent-harness/tools": "0.37.2"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/node": "^22.18.0",