@pensar/apex 1.2.0 → 1.3.0-canary.c0b95df3

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.
Files changed (43) hide show
  1. package/build/{agent-hv2vnw37.js → agent-97m7tkpf.js} +12 -10
  2. package/build/agent-t7x2rptx.js +19 -0
  3. package/build/{auth-aj10f99d.js → auth-qqbaj612.js} +4 -4
  4. package/build/{authentication-90mvv4kd.js → authentication-zhr4zdds.js} +9 -7
  5. package/build/blackboxAgent-p9d9457p.js +19 -0
  6. package/build/{blackboxPentest-prq8qrhc.js → blackboxPentest-tvmjsvap.js} +14 -13
  7. package/build/{cli-33rkyxds.js → cli-0fy9j5dw.js} +2 -2
  8. package/build/cli-0ghkg3w6.js +20780 -0
  9. package/build/{cli-ypxq76sm.js → cli-2ja75dsz.js} +4 -3
  10. package/build/{cli-3sg681re.js → cli-2sq2kqh1.js} +2 -2
  11. package/build/{cli-t0am6nqt.js → cli-3fn6d4pt.js} +1 -1
  12. package/build/{cli-dvsj2p1x.js → cli-3h1t6f9h.js} +10963 -745
  13. package/build/{cli-qaaesy26.js → cli-3zrry4dg.js} +3 -1
  14. package/build/{cli-1rz3jys3.js → cli-9969518r.js} +1 -1
  15. package/build/{cli-q43w92k5.js → cli-dzzf9m5e.js} +5 -3
  16. package/build/{cli-erp6djfj.js → cli-jzahge97.js} +11 -9
  17. package/build/{cli-s43zrc3b.js → cli-pyf1ftj8.js} +3353 -24027
  18. package/build/{cli-avnfgjhs.js → cli-q9zgbdpc.js} +3 -3
  19. package/build/{cli-gqphezya.js → cli-thtbxsva.js} +3 -2
  20. package/build/{cli-4m9f65ze.js → cli-vekv219j.js} +1 -1
  21. package/build/{cli-720fdbrk.js → cli-y9kk9q6n.js} +1 -1
  22. package/build/{cli-2mnefwqh.js → cli-z7ejvarb.js} +1 -1
  23. package/build/cli.js +128 -23
  24. package/build/{fixes-g7b34fs5.js → fixes-aa6jd5kg.js} +4 -4
  25. package/build/{index-fds2qfsc.js → index-bmtt83ar.js} +54 -11
  26. package/build/index-dw1xbhfn.js +12268 -0
  27. package/build/{index-cpj7zx72.js → index-hafgteqb.js} +853 -141
  28. package/build/index-hpe2h5a7.js +32 -0
  29. package/build/{index-9j9dqpdd.js → index-rm972wnm.js} +4 -4
  30. package/build/{index-ftdt7ktr.js → index-y13qss6f.js} +2 -2
  31. package/build/{issues-tecf6w97.js → issues-4j7jvbrq.js} +4 -4
  32. package/build/{logs-5qwr98mr.js → logs-wraftaa2.js} +4 -4
  33. package/build/offesecAgent-h8pa499d.js +26 -0
  34. package/build/pentest-1xxbxewz.js +29 -0
  35. package/build/{pentests-bsh9ht7r.js → pentests-tfkjrsh9.js} +4 -4
  36. package/build/{projects-zkw40bda.js → projects-q06fynf8.js} +4 -4
  37. package/build/{targetedPentest-6qpsqdx5.js → targetedPentest-d7cbc8c4.js} +9 -8
  38. package/build/{threatModel-g0azznnt.js → threatModel-z7ej9gye.js} +9 -8
  39. package/build/{uninstall-0yjhkdk3.js → uninstall-vdwpn0d5.js} +1 -1
  40. package/package.json +3 -1
  41. package/build/agent-jkr50v3q.js +0 -18
  42. package/build/blackboxAgent-f2y66hex.js +0 -18
  43. package/build/pentest-5p1ahtr6.js +0 -28
@@ -7,14 +7,14 @@ import {
7
7
  buildThreatModelPrompt,
8
8
  createSkillsRegistry,
9
9
  runOffensiveSecurityAgent
10
- } from "./cli-t0am6nqt.js";
10
+ } from "./cli-3fn6d4pt.js";
11
11
  import {
12
12
  REPORT_FILENAME_MD,
13
13
  convertModelMessagesToUI,
14
14
  loadSubagents,
15
15
  readExecutionMetrics,
16
16
  writeExecutionMetrics
17
- } from "./cli-avnfgjhs.js";
17
+ } from "./cli-q9zgbdpc.js";
18
18
  import {
19
19
  createThreatModelPrompt
20
20
  } from "./cli-fw5r7pfj.js";
@@ -38,14 +38,14 @@ import {
38
38
  planFilePath,
39
39
  readPlan,
40
40
  sessions
41
- } from "./cli-dvsj2p1x.js";
41
+ } from "./cli-3h1t6f9h.js";
42
42
  import {
43
43
  detectOSAndEnhancePrompt
44
44
  } from "./cli-tp1tqn3k.js";
45
45
  import {
46
46
  read,
47
47
  write
48
- } from "./cli-q43w92k5.js";
48
+ } from "./cli-dzzf9m5e.js";
49
49
  import {
50
50
  getAutoPopulatedHosts,
51
51
  getAutoPopulatedPorts,
@@ -57,11 +57,12 @@ import {
57
57
  init_toolset,
58
58
  modelSupportsThinking,
59
59
  stepCountIs
60
- } from "./cli-s43zrc3b.js";
60
+ } from "./cli-pyf1ftj8.js";
61
61
  import {
62
62
  AVAILABLE_MODELS,
63
63
  init_models
64
64
  } from "./cli-03z6pswp.js";
65
+ import"./cli-0ghkg3w6.js";
65
66
  import {
66
67
  disconnect,
67
68
  fetchWorkspaces,
@@ -72,18 +73,18 @@ import {
72
73
  selectWorkspace,
73
74
  startDeviceFlow,
74
75
  validateGateway
75
- } from "./cli-720fdbrk.js";
76
+ } from "./cli-y9kk9q6n.js";
76
77
  import {
77
78
  config,
78
79
  getPensarApiUrl,
79
80
  getPensarConsoleUrl
80
- } from "./cli-2mnefwqh.js";
81
+ } from "./cli-z7ejvarb.js";
81
82
  import {
82
83
  update
83
- } from "./cli-1rz3jys3.js";
84
+ } from "./cli-9969518r.js";
84
85
  import {
85
86
  checkForUpdate
86
- } from "./cli-qaaesy26.js";
87
+ } from "./cli-3zrry4dg.js";
87
88
  import"./cli-gpnb45ck.js";
88
89
  import {
89
90
  __commonJS,
@@ -50277,36 +50278,51 @@ function SpinningDots({
50277
50278
  function ShiningText({
50278
50279
  text,
50279
50280
  fg,
50280
- speed = 2,
50281
+ speed = 1,
50281
50282
  shimmerWidth = 9,
50282
- baseAlpha = 0.35
50283
+ baseAlpha,
50284
+ pauseMs = 600
50283
50285
  }) {
50284
- const { colors: colors2 } = useTheme();
50286
+ const { colors: colors2, mode } = useTheme();
50285
50287
  const base = fg ?? colors2.text;
50288
+ const resolvedBaseAlpha = baseAlpha ?? (mode === "light" ? 0.55 : 0.35);
50286
50289
  useTick();
50287
50290
  const { redact } = useObfuscation();
50288
50291
  const displayText = redact(text);
50289
50292
  const len = displayText.length;
50290
50293
  const totalFrames = len + shimmerWidth;
50291
- const periodMs = 1250 / speed;
50292
- const cyclePos = Date.now() % periodMs / periodMs;
50294
+ const sweepMs = 1250 / speed;
50295
+ const cycleMs = sweepMs + pauseMs;
50296
+ const elapsed = Date.now() % cycleMs;
50297
+ const inPause = elapsed >= sweepMs;
50298
+ const cyclePos = inPause ? 1 : elapsed / sweepMs;
50293
50299
  const eased = cyclePos * cyclePos * (3 - 2 * cyclePos);
50294
50300
  const head = Math.floor(eased * totalFrames);
50295
50301
  const chars = useMemo5(() => {
50296
50302
  const out = [];
50297
50303
  for (let i = 0;i < len; i++) {
50304
+ if (inPause) {
50305
+ out.push({
50306
+ ch: displayText[i],
50307
+ color: withAlpha(base, resolvedBaseAlpha)
50308
+ });
50309
+ continue;
50310
+ }
50298
50311
  const dist = head - i;
50299
50312
  if (dist >= 0 && dist < shimmerWidth) {
50300
50313
  const norm = dist / (shimmerWidth - 1);
50301
50314
  const bell = 1 - (2 * norm - 1) * (2 * norm - 1);
50302
- const alpha = baseAlpha + (1 - baseAlpha) * bell;
50315
+ const alpha = resolvedBaseAlpha + (1 - resolvedBaseAlpha) * bell;
50303
50316
  out.push({ ch: displayText[i], color: withAlpha(base, alpha) });
50304
50317
  } else {
50305
- out.push({ ch: displayText[i], color: withAlpha(base, baseAlpha) });
50318
+ out.push({
50319
+ ch: displayText[i],
50320
+ color: withAlpha(base, resolvedBaseAlpha)
50321
+ });
50306
50322
  }
50307
50323
  }
50308
50324
  return out;
50309
- }, [head, displayText, base, shimmerWidth, baseAlpha, len]);
50325
+ }, [head, displayText, base, shimmerWidth, resolvedBaseAlpha, len, inPause]);
50310
50326
  return /* @__PURE__ */ jsxDEV5("box", {
50311
50327
  flexDirection: "row",
50312
50328
  children: chars.map((c, i) => /* @__PURE__ */ jsxDEV5("text", {
@@ -51830,6 +51846,7 @@ function DialogLayout({
51830
51846
  title,
51831
51847
  escLabel = "close",
51832
51848
  footerActions,
51849
+ flushRight = false,
51833
51850
  children
51834
51851
  }) {
51835
51852
  const { colors: colors2 } = useTheme();
@@ -51837,7 +51854,7 @@ function DialogLayout({
51837
51854
  flexDirection: "column",
51838
51855
  width: "100%",
51839
51856
  paddingLeft: 2,
51840
- paddingRight: 2,
51857
+ paddingRight: flushRight ? 0 : 2,
51841
51858
  paddingTop: 1,
51842
51859
  paddingBottom: 1,
51843
51860
  children: [
@@ -51846,6 +51863,7 @@ function DialogLayout({
51846
51863
  justifyContent: "space-between",
51847
51864
  width: "100%",
51848
51865
  flexShrink: 0,
51866
+ paddingRight: flushRight ? 2 : 0,
51849
51867
  children: [
51850
51868
  typeof title === "string" ? /* @__PURE__ */ jsxDEV16("text", {
51851
51869
  fg: colors2.primary,
@@ -51875,6 +51893,7 @@ function DialogLayout({
51875
51893
  footerActions && footerActions.length > 0 && /* @__PURE__ */ jsxDEV16("box", {
51876
51894
  marginTop: 1,
51877
51895
  flexShrink: 0,
51896
+ paddingRight: flushRight ? 2 : 0,
51878
51897
  children: /* @__PURE__ */ jsxDEV16(DialogControls, {
51879
51898
  controls: footerActions
51880
51899
  }, undefined, false, undefined, this)
@@ -51976,6 +51995,7 @@ function ReportViewerDialog({
51976
51995
  onClose,
51977
51996
  children: /* @__PURE__ */ jsxDEV18(DialogLayout, {
51978
51997
  title,
51998
+ flushRight: true,
51979
51999
  footerActions,
51980
52000
  children: /* @__PURE__ */ jsxDEV18("scrollbox", {
51981
52001
  ref: scrollRef,
@@ -51994,7 +52014,7 @@ function ReportViewerDialog({
51994
52014
  },
51995
52015
  scrollbarOptions: {
51996
52016
  trackOptions: {
51997
- foregroundColor: colors2.primary,
52017
+ foregroundColor: colors2.textMuted,
51998
52018
  backgroundColor: colors2.backgroundElement
51999
52019
  }
52000
52020
  }
@@ -52088,7 +52108,6 @@ function useSessionsList() {
52088
52108
  const [loading, setLoading] = useState12(true);
52089
52109
  const [searchTerm, setSearchTerm] = useState12("");
52090
52110
  const loadSessions = useCallback9(async () => {
52091
- setLoading(true);
52092
52111
  try {
52093
52112
  const enriched = [];
52094
52113
  for await (const session of sessions.list()) {
@@ -52114,6 +52133,7 @@ function useSessionsList() {
52114
52133
  loadSessions();
52115
52134
  }, [loadSessions]);
52116
52135
  const deleteSession = useCallback9(async (id) => {
52136
+ setAllSessions((prev) => prev.filter((s) => s.id !== id));
52117
52137
  await sessions.remove({ sessionId: id });
52118
52138
  await loadSessions();
52119
52139
  }, [loadSessions]);
@@ -52179,6 +52199,7 @@ function SessionsDisplay({ onClose }) {
52179
52199
  const [reportContent, setReportContent] = useState13(null);
52180
52200
  const [reportSessionPath, setReportSessionPath] = useState13(null);
52181
52201
  const route = useRoute();
52202
+ const dimensions = useDimensions();
52182
52203
  const scroll = useRef7(null);
52183
52204
  const {
52184
52205
  groupedSessions,
@@ -52187,6 +52208,14 @@ function SessionsDisplay({ onClose }) {
52187
52208
  setSearchTerm,
52188
52209
  deleteSession: hookDeleteSession
52189
52210
  } = useSessionsList();
52211
+ const availableListHeight = dimensions.height - 4 - 8;
52212
+ const initialOverflowRef = useRef7(null);
52213
+ if (!loading && initialOverflowRef.current === null) {
52214
+ const groupCount = groupedSessions.length;
52215
+ const estimatedRows = visualOrderSessions.length + groupCount * 3 - (groupCount > 0 ? 2 : 0);
52216
+ initialOverflowRef.current = estimatedRows > availableListHeight;
52217
+ }
52218
+ const listHeight = initialOverflowRef.current ? availableListHeight : undefined;
52190
52219
  const viewReport = useCallback10(async (sessionId) => {
52191
52220
  const session = await sessions.get(sessionId);
52192
52221
  const content = readSessionReport(session.rootPath);
@@ -52302,8 +52331,6 @@ function SessionsDisplay({ onClose }) {
52302
52331
  refocusPrompt();
52303
52332
  onClose();
52304
52333
  };
52305
- if (loading)
52306
- return null;
52307
52334
  if (showReportViewer && reportContent && reportSessionPath) {
52308
52335
  return /* @__PURE__ */ jsxDEV19(ReportViewerDialog, {
52309
52336
  content: reportContent,
@@ -52323,6 +52350,7 @@ function SessionsDisplay({ onClose }) {
52323
52350
  onClose: handleClose,
52324
52351
  children: /* @__PURE__ */ jsxDEV19(DialogLayout, {
52325
52352
  title: "Sessions",
52353
+ flushRight: true,
52326
52354
  footerActions,
52327
52355
  children: [
52328
52356
  /* @__PURE__ */ jsxDEV19("box", {
@@ -52341,7 +52369,10 @@ function SessionsDisplay({ onClose }) {
52341
52369
  focusedTextColor: colors2.text
52342
52370
  }, undefined, false, undefined, this)
52343
52371
  }, undefined, false, undefined, this),
52344
- visualOrderSessions.length === 0 ? /* @__PURE__ */ jsxDEV19("text", {
52372
+ loading ? /* @__PURE__ */ jsxDEV19("text", {
52373
+ fg: colors2.textMuted,
52374
+ children: "Loading sessions..."
52375
+ }, undefined, false, undefined, this) : visualOrderSessions.length === 0 ? /* @__PURE__ */ jsxDEV19("text", {
52345
52376
  fg: colors2.textMuted,
52346
52377
  children: "No sessions found"
52347
52378
  }, undefined, false, undefined, this) : /* @__PURE__ */ jsxDEV19("box", {
@@ -52351,9 +52382,9 @@ function SessionsDisplay({ onClose }) {
52351
52382
  flexShrink: 1,
52352
52383
  overflow: "hidden",
52353
52384
  marginTop: 1,
52385
+ height: listHeight,
52354
52386
  children: /* @__PURE__ */ jsxDEV19("scrollbox", {
52355
52387
  ref: scroll,
52356
- scrollbarOptions: { visible: true },
52357
52388
  style: {
52358
52389
  rootOptions: {
52359
52390
  width: "100%",
@@ -52367,6 +52398,12 @@ function SessionsDisplay({ onClose }) {
52367
52398
  contentOptions: {
52368
52399
  gap: 2,
52369
52400
  flexDirection: "column"
52401
+ },
52402
+ scrollbarOptions: {
52403
+ trackOptions: {
52404
+ foregroundColor: colors2.textMuted,
52405
+ backgroundColor: colors2.backgroundElement
52406
+ }
52370
52407
  }
52371
52408
  },
52372
52409
  children: groupedSessions.map((group) => /* @__PURE__ */ jsxDEV19("box", {
@@ -55685,6 +55722,7 @@ function WebWizard({
55685
55722
  onClose,
55686
55723
  children: /* @__PURE__ */ jsxDEV30(DialogLayout, {
55687
55724
  title: `Configure Web App Pentest - ${modeLabel}`,
55725
+ flushRight: true,
55688
55726
  footerActions: [
55689
55727
  { key: "Enter", label: "start pentest", variant: "primary" },
55690
55728
  { key: "↑/↓", label: "navigate" },
@@ -55698,6 +55736,12 @@ function WebWizard({
55698
55736
  flexDirection: "column",
55699
55737
  gap: 1,
55700
55738
  paddingBottom: 1
55739
+ },
55740
+ scrollbarOptions: {
55741
+ trackOptions: {
55742
+ foregroundColor: colors2.textMuted,
55743
+ backgroundColor: colors2.backgroundElement
55744
+ }
55701
55745
  }
55702
55746
  },
55703
55747
  stickyScroll: false,
@@ -56278,6 +56322,7 @@ function ProviderSelection({
56278
56322
  onClose,
56279
56323
  children: /* @__PURE__ */ jsxDEV31(DialogLayout, {
56280
56324
  title: "Select provider",
56325
+ flushRight: true,
56281
56326
  footerActions: [{ key: "Enter", label: "select", variant: "primary" }],
56282
56327
  children: /* @__PURE__ */ jsxDEV31("scrollbox", {
56283
56328
  style: {
@@ -56289,6 +56334,12 @@ function ProviderSelection({
56289
56334
  contentOptions: {
56290
56335
  flexDirection: "column",
56291
56336
  gap: 1
56337
+ },
56338
+ scrollbarOptions: {
56339
+ trackOptions: {
56340
+ foregroundColor: colors2.textMuted,
56341
+ backgroundColor: colors2.backgroundElement
56342
+ }
56292
56343
  }
56293
56344
  },
56294
56345
  stickyScroll: false,
@@ -57675,12 +57726,19 @@ function HelpDialog({ onClose }) {
57675
57726
  onClose,
57676
57727
  children: /* @__PURE__ */ jsxDEV39(DialogLayout, {
57677
57728
  title: "Commands",
57729
+ flushRight: true,
57678
57730
  footerActions: [{ key: "Enter", label: "details", variant: "primary" }],
57679
57731
  children: /* @__PURE__ */ jsxDEV39("scrollbox", {
57680
57732
  ref: scrollboxRef,
57681
57733
  style: {
57682
57734
  rootOptions: { flexGrow: 1, width: "100%" },
57683
- contentOptions: { flexDirection: "column" }
57735
+ contentOptions: { flexDirection: "column" },
57736
+ scrollbarOptions: {
57737
+ trackOptions: {
57738
+ foregroundColor: colors2.textMuted,
57739
+ backgroundColor: colors2.backgroundElement
57740
+ }
57741
+ }
57684
57742
  },
57685
57743
  stickyScroll: false,
57686
57744
  focused: true,
@@ -59948,11 +60006,13 @@ var Kt = x.lex;
59948
60006
  // src/tui/components/shared/markdown.ts
59949
60007
  function markdownToStyledText(rawContent, colors2) {
59950
60008
  const content = obfuscate(rawContent);
60009
+ const textColor = colors2?.text ?? RGBA4.fromInts(220, 220, 220, 255);
60010
+ const mutedColor = colors2?.textMuted ?? RGBA4.fromInts(150, 150, 150, 255);
59951
60011
  const codeColor = colors2?.markdownCode ?? RGBA4.fromInts(100, 255, 100, 255);
59952
60012
  const linkColor = colors2?.markdownLink ?? RGBA4.fromInts(100, 200, 255, 255);
59953
60013
  if (!content || !content.trim()) {
59954
60014
  return new StyledText([
59955
- { __isChunk: true, text: content || "", attributes: 0 }
60015
+ { __isChunk: true, text: content || "", fg: textColor, attributes: 0 }
59956
60016
  ]);
59957
60017
  }
59958
60018
  try {
@@ -59962,6 +60022,7 @@ function markdownToStyledText(rawContent, colors2) {
59962
60022
  chunks.push({
59963
60023
  __isChunk: true,
59964
60024
  text: token.text || "",
60025
+ fg: textColor,
59965
60026
  attributes: defaultAttrs
59966
60027
  });
59967
60028
  } else if (token.type === "strong") {
@@ -59987,12 +60048,14 @@ function markdownToStyledText(rawContent, colors2) {
59987
60048
  __isChunk: true,
59988
60049
  text: `
59989
60050
  `,
60051
+ fg: textColor,
59990
60052
  attributes: defaultAttrs
59991
60053
  });
59992
60054
  } else if (token.type === "html") {
59993
60055
  chunks.push({
59994
60056
  __isChunk: true,
59995
60057
  text: token.raw || token.text || "",
60058
+ fg: textColor,
59996
60059
  attributes: defaultAttrs
59997
60060
  });
59998
60061
  } else if (token.tokens) {
@@ -60006,23 +60069,39 @@ function markdownToStyledText(rawContent, colors2) {
60006
60069
  if (token.type === "paragraph") {
60007
60070
  if (token.tokens)
60008
60071
  processInlineTokens(token.tokens);
60009
- chunks.push({ __isChunk: true, text: `
60010
- `, attributes: 0 });
60072
+ chunks.push({
60073
+ __isChunk: true,
60074
+ text: `
60075
+ `,
60076
+ fg: textColor,
60077
+ attributes: 0
60078
+ });
60011
60079
  } else if (token.type === "heading") {
60012
60080
  if (token.tokens)
60013
60081
  processInlineTokens(token.tokens, TextAttributes.BOLD);
60014
- chunks.push({ __isChunk: true, text: `
60015
- `, attributes: 0 });
60082
+ chunks.push({
60083
+ __isChunk: true,
60084
+ text: `
60085
+ `,
60086
+ fg: textColor,
60087
+ attributes: 0
60088
+ });
60016
60089
  } else if (token.type === "list") {
60017
60090
  for (const item of token.items) {
60018
60091
  chunks.push({
60019
60092
  __isChunk: true,
60020
60093
  text: token.ordered ? `${item.task ? "☐ " : "• "}` : "• ",
60094
+ fg: textColor,
60021
60095
  attributes: 0
60022
60096
  });
60023
60097
  processInlineTokens(item.tokens[0]?.tokens || []);
60024
- chunks.push({ __isChunk: true, text: `
60025
- `, attributes: 0 });
60098
+ chunks.push({
60099
+ __isChunk: true,
60100
+ text: `
60101
+ `,
60102
+ fg: textColor,
60103
+ attributes: 0
60104
+ });
60026
60105
  }
60027
60106
  } else if (token.type === "code") {
60028
60107
  chunks.push({
@@ -60036,21 +60115,32 @@ function markdownToStyledText(rawContent, colors2) {
60036
60115
  chunks.push({
60037
60116
  __isChunk: true,
60038
60117
  text: "│ ",
60039
- fg: colors2?.textMuted ?? RGBA4.fromInts(150, 150, 150, 255),
60118
+ fg: mutedColor,
60040
60119
  attributes: 0
60041
60120
  });
60042
60121
  if (token.tokens)
60043
60122
  processInlineTokens(token.tokens);
60044
- chunks.push({ __isChunk: true, text: `
60045
- `, attributes: 0 });
60123
+ chunks.push({
60124
+ __isChunk: true,
60125
+ text: `
60126
+ `,
60127
+ fg: textColor,
60128
+ attributes: 0
60129
+ });
60046
60130
  } else if (token.type === "space") {
60047
- chunks.push({ __isChunk: true, text: `
60048
- `, attributes: 0 });
60131
+ chunks.push({
60132
+ __isChunk: true,
60133
+ text: `
60134
+ `,
60135
+ fg: textColor,
60136
+ attributes: 0
60137
+ });
60049
60138
  } else if (token.type === "html") {
60050
60139
  const tk = token;
60051
60140
  chunks.push({
60052
60141
  __isChunk: true,
60053
60142
  text: tk.raw || tk.text || "",
60143
+ fg: textColor,
60054
60144
  attributes: 0
60055
60145
  });
60056
60146
  }
@@ -60081,6 +60171,7 @@ function markdownToStyledText(rawContent, colors2) {
60081
60171
  {
60082
60172
  __isChunk: true,
60083
60173
  text: content,
60174
+ fg: textColor,
60084
60175
  attributes: 0
60085
60176
  }
60086
60177
  ]);
@@ -60282,10 +60373,10 @@ function getToolDisplayLabel(toolName, args, options = {}) {
60282
60373
  return getToolSummary(toolName, args);
60283
60374
  }
60284
60375
  // src/tui/components/shared/result-registry.ts
60285
- import { RGBA as RGBA6, StyledText as StyledText3 } from "@opentui/core";
60376
+ import { StyledText as StyledText3 } from "@opentui/core";
60286
60377
 
60287
60378
  // src/tui/components/shared/syntax-highlight.ts
60288
- import { RGBA as RGBA5, StyledText as StyledText2 } from "@opentui/core";
60379
+ import { StyledText as StyledText2 } from "@opentui/core";
60289
60380
 
60290
60381
  // node_modules/highlight.js/es/index.js
60291
60382
  var import_lib = __toESM(require_lib(), 1);
@@ -60293,73 +60384,39 @@ var es_default = import_lib.default;
60293
60384
 
60294
60385
  // src/tui/components/shared/syntax-highlight.ts
60295
60386
  import { extname } from "path";
60296
- var DARK_PALETTE = {
60297
- keyword: RGBA5.fromInts(198, 120, 221, 255),
60298
- string: RGBA5.fromInts(152, 195, 121, 255),
60299
- comment: RGBA5.fromInts(106, 115, 125, 255),
60300
- number: RGBA5.fromInts(209, 154, 102, 255),
60301
- function: RGBA5.fromInts(97, 175, 239, 255),
60302
- title: RGBA5.fromInts(97, 175, 239, 255),
60303
- attr: RGBA5.fromInts(229, 192, 123, 255),
60304
- tag: RGBA5.fromInts(224, 108, 117, 255),
60305
- type: RGBA5.fromInts(86, 182, 194, 255),
60306
- literal: RGBA5.fromInts(209, 154, 102, 255),
60307
- regexp: RGBA5.fromInts(152, 195, 121, 255),
60308
- meta: RGBA5.fromInts(106, 115, 125, 255),
60309
- punctuation: RGBA5.fromInts(171, 178, 191, 255)
60310
- };
60311
- var LIGHT_PALETTE = {
60312
- keyword: RGBA5.fromInts(137, 63, 168, 255),
60313
- string: RGBA5.fromInts(56, 124, 56, 255),
60314
- comment: RGBA5.fromInts(106, 115, 125, 255),
60315
- number: RGBA5.fromInts(152, 104, 40, 255),
60316
- function: RGBA5.fromInts(30, 100, 200, 255),
60317
- title: RGBA5.fromInts(30, 100, 200, 255),
60318
- attr: RGBA5.fromInts(150, 120, 30, 255),
60319
- tag: RGBA5.fromInts(180, 50, 55, 255),
60320
- type: RGBA5.fromInts(28, 120, 134, 255),
60321
- literal: RGBA5.fromInts(152, 104, 40, 255),
60322
- regexp: RGBA5.fromInts(56, 124, 56, 255),
60323
- meta: RGBA5.fromInts(106, 115, 125, 255),
60324
- punctuation: RGBA5.fromInts(80, 85, 95, 255)
60325
- };
60326
- function buildClassColorMap(p) {
60387
+ function buildClassColorMap(colors2) {
60327
60388
  return {
60328
- "hljs-keyword": p.keyword,
60329
- "hljs-built_in": p.keyword,
60330
- "hljs-type": p.type,
60331
- "hljs-literal": p.literal,
60332
- "hljs-number": p.number,
60333
- "hljs-string": p.string,
60334
- "hljs-regexp": p.regexp,
60335
- "hljs-template-variable": p.string,
60336
- "hljs-subst": p.string,
60337
- "hljs-comment": p.comment,
60338
- "hljs-doctag": p.comment,
60339
- "hljs-function": p.function,
60340
- "hljs-title": p.title,
60341
- "hljs-title.class_": p.type,
60342
- "hljs-title.function_": p.function,
60343
- "hljs-params": p.attr,
60344
- "hljs-attr": p.attr,
60345
- "hljs-attribute": p.attr,
60346
- "hljs-property": p.attr,
60347
- "hljs-variable": p.tag,
60348
- "hljs-tag": p.tag,
60349
- "hljs-name": p.tag,
60350
- "hljs-selector-tag": p.tag,
60351
- "hljs-selector-class": p.attr,
60352
- "hljs-selector-id": p.attr,
60353
- "hljs-meta": p.meta,
60354
- "hljs-meta keyword": p.keyword,
60355
- "hljs-symbol": p.literal,
60356
- "hljs-punctuation": p.punctuation
60389
+ "hljs-keyword": colors2.syntaxKeyword,
60390
+ "hljs-built_in": colors2.syntaxKeyword,
60391
+ "hljs-type": colors2.syntaxType,
60392
+ "hljs-literal": colors2.syntaxNumber,
60393
+ "hljs-number": colors2.syntaxNumber,
60394
+ "hljs-string": colors2.syntaxString,
60395
+ "hljs-regexp": colors2.syntaxString,
60396
+ "hljs-template-variable": colors2.syntaxString,
60397
+ "hljs-subst": colors2.syntaxString,
60398
+ "hljs-comment": colors2.syntaxComment,
60399
+ "hljs-doctag": colors2.syntaxComment,
60400
+ "hljs-function": colors2.syntaxFunction,
60401
+ "hljs-title": colors2.syntaxFunction,
60402
+ "hljs-title.class_": colors2.syntaxType,
60403
+ "hljs-title.function_": colors2.syntaxFunction,
60404
+ "hljs-params": colors2.syntaxAttr,
60405
+ "hljs-attr": colors2.syntaxAttr,
60406
+ "hljs-attribute": colors2.syntaxAttr,
60407
+ "hljs-property": colors2.syntaxAttr,
60408
+ "hljs-variable": colors2.syntaxTag,
60409
+ "hljs-tag": colors2.syntaxTag,
60410
+ "hljs-name": colors2.syntaxTag,
60411
+ "hljs-selector-tag": colors2.syntaxTag,
60412
+ "hljs-selector-class": colors2.syntaxAttr,
60413
+ "hljs-selector-id": colors2.syntaxAttr,
60414
+ "hljs-meta": colors2.syntaxComment,
60415
+ "hljs-meta keyword": colors2.syntaxKeyword,
60416
+ "hljs-symbol": colors2.syntaxNumber,
60417
+ "hljs-punctuation": colors2.syntaxPunctuation
60357
60418
  };
60358
60419
  }
60359
- var CLASS_COLOR_MAPS = {
60360
- dark: buildClassColorMap(DARK_PALETTE),
60361
- light: buildClassColorMap(LIGHT_PALETTE)
60362
- };
60363
60420
  var EXT_LANG_MAP = {
60364
60421
  ".ts": "typescript",
60365
60422
  ".tsx": "typescript",
@@ -60442,9 +60499,9 @@ var ENTITY_RE = /&(?:amp|lt|gt|quot|#x27|#39);/g;
60442
60499
  function decodeEntities(s) {
60443
60500
  return s.replace(ENTITY_RE, (m2) => ENTITY_MAP[m2] ?? m2);
60444
60501
  }
60445
- function parseHljsHtml(html, classColorMap) {
60502
+ function parseHljsHtml(html, classColorMap, defaultColor) {
60446
60503
  const chunks = [];
60447
- const colorStack = [undefined];
60504
+ const colorStack = [defaultColor];
60448
60505
  const TAG_RE = /<span\s+class="([^"]*)"[^>]*>|<\/span>|([^<]+)|(<[^>]*>)/g;
60449
60506
  let m2;
60450
60507
  while ((m2 = TAG_RE.exec(html)) !== null) {
@@ -60478,15 +60535,18 @@ function parseHljsHtml(html, classColorMap) {
60478
60535
  }
60479
60536
  return chunks;
60480
60537
  }
60481
- function highlightCode(code, filePath, mode = "dark") {
60538
+ function highlightCode(code, filePath, colors2) {
60482
60539
  if (!code.trim())
60483
60540
  return null;
60541
+ if (!colors2)
60542
+ return null;
60484
60543
  try {
60485
60544
  const lang = filePath ? inferLanguage(filePath) : undefined;
60486
60545
  const result = lang && es_default.getLanguage(lang) ? es_default.highlight(code, { language: lang, ignoreIllegals: true }) : es_default.highlightAuto(code);
60487
60546
  if (!result.value)
60488
60547
  return null;
60489
- const chunks = parseHljsHtml(result.value, CLASS_COLOR_MAPS[mode]);
60548
+ const classColorMap = buildClassColorMap(colors2);
60549
+ const chunks = parseHljsHtml(result.value, classColorMap, colors2.text);
60490
60550
  if (chunks.length === 0)
60491
60551
  return null;
60492
60552
  return new StyledText2(chunks);
@@ -60496,8 +60556,8 @@ function highlightCode(code, filePath, mode = "dark") {
60496
60556
  }
60497
60557
 
60498
60558
  // src/tui/components/shared/result-registry.ts
60499
- function getResultSummary(result, toolName, args, mode = "dark") {
60500
- const summary = getResultSummaryRaw(result, toolName, args, mode);
60559
+ function getResultSummary(result, toolName, args, colors2) {
60560
+ const summary = getResultSummaryRaw(result, toolName, args, colors2);
60501
60561
  if (!summary)
60502
60562
  return summary;
60503
60563
  if (!isObfuscationEnabled())
@@ -60513,7 +60573,7 @@ function obfuscateStyledText(styled) {
60513
60573
  }));
60514
60574
  return new StyledText3(next);
60515
60575
  }
60516
- function getResultSummaryRaw(result, toolName, args, mode = "dark") {
60576
+ function getResultSummaryRaw(result, toolName, args, colors2) {
60517
60577
  if (result === null || result === undefined) {
60518
60578
  return null;
60519
60579
  }
@@ -60544,7 +60604,7 @@ function getResultSummaryRaw(result, toolName, args, mode = "dark") {
60544
60604
  text: preview + suffix,
60545
60605
  isError: false,
60546
60606
  label: `${totalLines} lines`,
60547
- styledText: highlightCode(preview + suffix, filePath, mode) ?? undefined,
60607
+ styledText: highlightCode(preview + suffix, filePath, colors2) ?? undefined,
60548
60608
  fullText: content.length > 400 ? content.slice(0, 2000) : undefined
60549
60609
  };
60550
60610
  }
@@ -60615,7 +60675,7 @@ function getResultSummaryRaw(result, toolName, args, mode = "dark") {
60615
60675
  return { text: "No results", isError: false };
60616
60676
  }
60617
60677
  const shown = results.slice(0, 5);
60618
- const styledChunks = buildWebSearchStyledText(shown, results.length > 5 ? results.length : undefined, mode);
60678
+ const styledChunks = buildWebSearchStyledText(shown, results.length > 5 ? results.length : undefined, colors2);
60619
60679
  return {
60620
60680
  text: `${results.length} result${results.length !== 1 ? "s" : ""}`,
60621
60681
  isError: false,
@@ -60672,7 +60732,7 @@ function getResultSummaryRaw(result, toolName, args, mode = "dark") {
60672
60732
  return {
60673
60733
  text: preview + suffix,
60674
60734
  isError: false,
60675
- styledText: highlightCode(preview + suffix, filePath, mode) ?? undefined,
60735
+ styledText: highlightCode(preview + suffix, filePath, colors2) ?? undefined,
60676
60736
  fullText: content.length > 400 ? content.slice(0, 2000) : undefined
60677
60737
  };
60678
60738
  }
@@ -60705,7 +60765,7 @@ function getResultSummaryRaw(result, toolName, args, mode = "dark") {
60705
60765
  ${codePreview}`,
60706
60766
  isError: false,
60707
60767
  label: `${n} replacement${n !== 1 ? "s" : ""}`,
60708
- styledText: highlightCode(codePreview, filePath, mode) ?? undefined,
60768
+ styledText: highlightCode(codePreview, filePath, colors2) ?? undefined,
60709
60769
  fullText: newContent.length > 400 ? newContent.slice(0, 2000) : undefined
60710
60770
  };
60711
60771
  }
@@ -61195,20 +61255,6 @@ ${codePreview}`,
61195
61255
  }
61196
61256
  return null;
61197
61257
  }
61198
- var WS_COLORS = {
61199
- dark: {
61200
- globe: RGBA6.fromInts(106, 115, 125, 255),
61201
- domain: RGBA6.fromInts(86, 182, 194, 255),
61202
- title: RGBA6.fromInts(97, 175, 239, 255),
61203
- snippet: RGBA6.fromInts(140, 148, 160, 255)
61204
- },
61205
- light: {
61206
- globe: RGBA6.fromInts(106, 115, 125, 255),
61207
- domain: RGBA6.fromInts(28, 120, 134, 255),
61208
- title: RGBA6.fromInts(30, 100, 200, 255),
61209
- snippet: RGBA6.fromInts(100, 108, 120, 255)
61210
- }
61211
- };
61212
61258
  function chunk(text, fg) {
61213
61259
  return { __isChunk: true, text, fg, attributes: 0 };
61214
61260
  }
@@ -61220,8 +61266,7 @@ function extractDomain(url) {
61220
61266
  return url.split("/")[2]?.replace(/^www\./, "") || url.slice(0, 30);
61221
61267
  }
61222
61268
  }
61223
- function buildWebSearchStyledText(results, totalCount, mode = "dark") {
61224
- const wsColors = WS_COLORS[mode];
61269
+ function buildWebSearchStyledText(results, totalCount, colors2) {
61225
61270
  const chunks = [];
61226
61271
  for (let i = 0;i < results.length; i++) {
61227
61272
  const r = results[i];
@@ -61230,14 +61275,14 @@ function buildWebSearchStyledText(results, totalCount, mode = "dark") {
61230
61275
  if (i > 0)
61231
61276
  chunks.push(chunk(`
61232
61277
  `));
61233
- chunks.push(chunk("\uD83C\uDF10 ", wsColors.globe));
61234
- chunks.push(chunk(domain, wsColors.domain));
61235
- chunks.push(chunk(" — ", wsColors.globe));
61236
- chunks.push(chunk(title, wsColors.title));
61278
+ chunks.push(chunk("\uD83C\uDF10 ", colors2?.syntaxComment));
61279
+ chunks.push(chunk(domain, colors2?.syntaxType));
61280
+ chunks.push(chunk(" — ", colors2?.syntaxComment));
61281
+ chunks.push(chunk(title, colors2?.syntaxFunction));
61237
61282
  }
61238
61283
  if (totalCount && totalCount > results.length) {
61239
61284
  chunks.push(chunk(`
61240
- … (${totalCount} total)`, wsColors.snippet));
61285
+ … (${totalCount} total)`, colors2?.textMuted));
61241
61286
  }
61242
61287
  return new StyledText3(chunks);
61243
61288
  }
@@ -61560,7 +61605,7 @@ var ToolRenderer = memo2(function ToolRenderer2({
61560
61605
  verbose = false,
61561
61606
  expandedLogs = false
61562
61607
  }) {
61563
- const { colors: colors2, mode } = useTheme();
61608
+ const { colors: colors2 } = useTheme();
61564
61609
  useObfuscation();
61565
61610
  const [showOutput, setShowOutput] = useState31(false);
61566
61611
  if (!isToolMessage(message)) {
@@ -61586,7 +61631,7 @@ var ToolRenderer = memo2(function ToolRenderer2({
61586
61631
  const execCommand = toolName === "execute_command" && typeof args.command === "string" ? args.command.split(`
61587
61632
  `)[0] : null;
61588
61633
  const execCommandDisplay = execCommand ? execCommand.length > 80 ? `$ ${execCommand.slice(0, 80)}…` : `$ ${execCommand}` : null;
61589
- const resultDisplay = isCompleted || isError ? getResultSummary(result, toolName, args, mode) : null;
61634
+ const resultDisplay = isCompleted || isError ? getResultSummary(result, toolName, args, colors2) : null;
61590
61635
  const borderColor = isError ? colors2.error : isPending ? colors2.warning : colors2.info;
61591
61636
  return /* @__PURE__ */ jsxDEV46("box", {
61592
61637
  flexDirection: "row",
@@ -62135,6 +62180,12 @@ function MessageList({
62135
62180
  paddingRight: 2,
62136
62181
  paddingBottom: 2,
62137
62182
  flexDirection: "column"
62183
+ },
62184
+ scrollbarOptions: {
62185
+ trackOptions: {
62186
+ foregroundColor: colors2.textMuted,
62187
+ backgroundColor: colors2.backgroundElement
62188
+ }
62138
62189
  }
62139
62190
  },
62140
62191
  stickyScroll: true,
@@ -63648,6 +63699,7 @@ var SubagentHubCard = memo5(function SubagentHubCard2({
63648
63699
  flexDirection: "row",
63649
63700
  children: [
63650
63701
  /* @__PURE__ */ jsxDEV56("text", {
63702
+ fg: focused ? colors2.primary : colors2.text,
63651
63703
  content: prefix
63652
63704
  }, undefined, false, undefined, this),
63653
63705
  statusIcon,
@@ -63685,6 +63737,8 @@ var SubagentHub = memo5(function SubagentHub2({
63685
63737
  const { colors: colors2 } = useTheme();
63686
63738
  const [focusedIndex, setFocusedIndex] = useState35(0);
63687
63739
  const scrollboxRef = useRef16(null);
63740
+ const sortedRef = useRef16(sorted);
63741
+ sortedRef.current = sorted;
63688
63742
  useEffect21(() => {
63689
63743
  if (sorted.length === 0) {
63690
63744
  setFocusedIndex(0);
@@ -63693,8 +63747,8 @@ var SubagentHub = memo5(function SubagentHub2({
63693
63747
  }
63694
63748
  }, [sorted.length, focusedIndex]);
63695
63749
  useEffect21(() => {
63696
- scrollToIndex(scrollboxRef.current, focusedIndex, sorted, (s) => s.id);
63697
- }, [focusedIndex, sorted]);
63750
+ scrollToIndex(scrollboxRef.current, focusedIndex, sortedRef.current, (s) => s.id);
63751
+ }, [focusedIndex]);
63698
63752
  useKeyboard23((key) => {
63699
63753
  if (sorted.length === 0)
63700
63754
  return;
@@ -63738,6 +63792,12 @@ var SubagentHub = memo5(function SubagentHub2({
63738
63792
  gap: 1,
63739
63793
  paddingTop: 1,
63740
63794
  paddingBottom: 1
63795
+ },
63796
+ scrollbarOptions: {
63797
+ trackOptions: {
63798
+ foregroundColor: colors2.textMuted,
63799
+ backgroundColor: colors2.backgroundElement
63800
+ }
63741
63801
  }
63742
63802
  },
63743
63803
  stickyScroll: false,
@@ -63856,6 +63916,7 @@ function SubagentDialog({ store }) {
63856
63916
  return /* @__PURE__ */ jsxDEV58(DialogLayout, {
63857
63917
  title,
63858
63918
  escLabel: "back",
63919
+ flushRight: true,
63859
63920
  footerActions: [
63860
63921
  { key: "←→", label: "prev/next" },
63861
63922
  { key: "↑↓", label: "scroll" }
@@ -63875,6 +63936,7 @@ function SubagentDialog({ store }) {
63875
63936
  }
63876
63937
  return /* @__PURE__ */ jsxDEV58(DialogLayout, {
63877
63938
  title: `Agents (${sessions2.size})`,
63939
+ flushRight: true,
63878
63940
  footerActions: [
63879
63941
  { key: "Enter", label: "view", variant: "primary" },
63880
63942
  { key: "↑↓", label: "navigate" }
@@ -65818,6 +65880,7 @@ function SkillsDialog({
65818
65880
  children: /* @__PURE__ */ jsxDEV61(DialogLayout, {
65819
65881
  title: detailTitle,
65820
65882
  escLabel: "back",
65883
+ flushRight: true,
65821
65884
  footerActions: [
65822
65885
  { key: "E", label: "open in editor", variant: "primary" }
65823
65886
  ],
@@ -65880,7 +65943,7 @@ function SkillsDialog({
65880
65943
  },
65881
65944
  scrollbarOptions: {
65882
65945
  trackOptions: {
65883
- foregroundColor: colors2.primary,
65946
+ foregroundColor: colors2.textMuted,
65884
65947
  backgroundColor: colors2.backgroundElement
65885
65948
  }
65886
65949
  }
@@ -65905,6 +65968,7 @@ function SkillsDialog({
65905
65968
  onClose,
65906
65969
  children: /* @__PURE__ */ jsxDEV61(DialogLayout, {
65907
65970
  title: "Skills",
65971
+ flushRight: true,
65908
65972
  footerActions: [{ key: "Enter", label: "details", variant: "primary" }],
65909
65973
  children: /* @__PURE__ */ jsxDEV61("scrollbox", {
65910
65974
  ref: scrollboxRef,
@@ -66078,6 +66142,42 @@ var apex = {
66078
66142
  dark: RGBA7.fromInts(255, 235, 59, 255),
66079
66143
  light: RGBA7.fromInts(175, 160, 0, 255)
66080
66144
  },
66145
+ syntaxKeyword: {
66146
+ dark: RGBA7.fromInts(180, 126, 206, 255),
66147
+ light: RGBA7.fromInts(98, 37, 126, 255)
66148
+ },
66149
+ syntaxString: {
66150
+ dark: RGBA7.fromInts(113, 186, 94, 255),
66151
+ light: RGBA7.fromInts(48, 111, 32, 255)
66152
+ },
66153
+ syntaxComment: {
66154
+ dark: RGBA7.fromInts(103, 115, 126, 255),
66155
+ light: RGBA7.fromInts(92, 102, 112, 255)
66156
+ },
66157
+ syntaxNumber: {
66158
+ dark: RGBA7.fromInts(192, 138, 89, 255),
66159
+ light: RGBA7.fromInts(135, 79, 29, 255)
66160
+ },
66161
+ syntaxFunction: {
66162
+ dark: RGBA7.fromInts(114, 160, 202, 255),
66163
+ light: RGBA7.fromInts(30, 89, 143, 255)
66164
+ },
66165
+ syntaxType: {
66166
+ dark: RGBA7.fromInts(114, 182, 182, 255),
66167
+ light: RGBA7.fromInts(37, 126, 126, 255)
66168
+ },
66169
+ syntaxTag: {
66170
+ dark: RGBA7.fromInts(194, 112, 112, 255),
66171
+ light: RGBA7.fromInts(142, 41, 41, 255)
66172
+ },
66173
+ syntaxAttr: {
66174
+ dark: RGBA7.fromInts(194, 176, 112, 255),
66175
+ light: RGBA7.fromInts(135, 111, 29, 255)
66176
+ },
66177
+ syntaxPunctuation: {
66178
+ dark: RGBA7.fromInts(148, 156, 168, 255),
66179
+ light: RGBA7.fromInts(87, 95, 107, 255)
66180
+ },
66081
66181
  diffAdded: {
66082
66182
  dark: RGBA7.fromInts(76, 175, 80, 255),
66083
66183
  light: RGBA7.fromInts(30, 114, 92, 255)
@@ -66208,6 +66308,42 @@ var ayu = {
66208
66308
  dark: RGBA8.fromHex("#d2a6ff"),
66209
66309
  light: RGBA8.fromHex("#a37acc")
66210
66310
  },
66311
+ syntaxKeyword: {
66312
+ dark: RGBA8.fromHex("#ff8f40"),
66313
+ light: RGBA8.fromHex("#d75d06")
66314
+ },
66315
+ syntaxString: {
66316
+ dark: RGBA8.fromHex("#aad94c"),
66317
+ light: RGBA8.fromHex("#678a00")
66318
+ },
66319
+ syntaxComment: {
66320
+ dark: RGBA8.fromHex("#636a72"),
66321
+ light: RGBA8.fromHex("#8a9199")
66322
+ },
66323
+ syntaxNumber: {
66324
+ dark: RGBA8.fromHex("#e6b450"),
66325
+ light: RGBA8.fromHex("#996bc6")
66326
+ },
66327
+ syntaxFunction: {
66328
+ dark: RGBA8.fromHex("#ffb454"),
66329
+ light: RGBA8.fromHex("#b4710d")
66330
+ },
66331
+ syntaxType: {
66332
+ dark: RGBA8.fromHex("#39bae6"),
66333
+ light: RGBA8.fromHex("#1a85d2")
66334
+ },
66335
+ syntaxTag: {
66336
+ dark: RGBA8.fromHex("#39bae6"),
66337
+ light: RGBA8.fromHex("#1a85d2")
66338
+ },
66339
+ syntaxAttr: {
66340
+ dark: RGBA8.fromHex("#f29668"),
66341
+ light: RGBA8.fromHex("#b37623")
66342
+ },
66343
+ syntaxPunctuation: {
66344
+ dark: RGBA8.fromHex("#bfbdb6"),
66345
+ light: RGBA8.fromHex("#5c6166")
66346
+ },
66211
66347
  diffAdded: {
66212
66348
  dark: RGBA8.fromHex("#7fd962"),
66213
66349
  light: RGBA8.fromHex("#6cbf43")
@@ -66338,6 +66474,42 @@ var catppuccin = {
66338
66474
  dark: RGBA9.fromHex("#f9e2af"),
66339
66475
  light: RGBA9.fromHex("#df8e1d")
66340
66476
  },
66477
+ syntaxKeyword: {
66478
+ dark: RGBA9.fromHex("#cba6f7"),
66479
+ light: RGBA9.fromHex("#8839ef")
66480
+ },
66481
+ syntaxString: {
66482
+ dark: RGBA9.fromHex("#a6e3a1"),
66483
+ light: RGBA9.fromHex("#338022")
66484
+ },
66485
+ syntaxComment: {
66486
+ dark: RGBA9.fromHex("#6c7086"),
66487
+ light: RGBA9.fromHex("#7a7f95")
66488
+ },
66489
+ syntaxNumber: {
66490
+ dark: RGBA9.fromHex("#fab387"),
66491
+ light: RGBA9.fromHex("#c14701")
66492
+ },
66493
+ syntaxFunction: {
66494
+ dark: RGBA9.fromHex("#89b4fa"),
66495
+ light: RGBA9.fromHex("#1e66f5")
66496
+ },
66497
+ syntaxType: {
66498
+ dark: RGBA9.fromHex("#f9e2af"),
66499
+ light: RGBA9.fromHex("#a06615")
66500
+ },
66501
+ syntaxTag: {
66502
+ dark: RGBA9.fromHex("#f38ba8"),
66503
+ light: RGBA9.fromHex("#d20f39")
66504
+ },
66505
+ syntaxAttr: {
66506
+ dark: RGBA9.fromHex("#94e2d5"),
66507
+ light: RGBA9.fromHex("#148187")
66508
+ },
66509
+ syntaxPunctuation: {
66510
+ dark: RGBA9.fromHex("#a6adc8"),
66511
+ light: RGBA9.fromHex("#6c6f85")
66512
+ },
66341
66513
  diffAdded: {
66342
66514
  dark: RGBA9.fromHex("#a6e3a1"),
66343
66515
  light: RGBA9.fromHex("#40a02b")
@@ -66468,6 +66640,42 @@ var dracula = {
66468
66640
  dark: RGBA10.fromHex("#f1fa8c"),
66469
66641
  light: RGBA10.fromHex("#9a7b00")
66470
66642
  },
66643
+ syntaxKeyword: {
66644
+ dark: RGBA10.fromHex("#ff79c6"),
66645
+ light: RGBA10.fromHex("#d6336c")
66646
+ },
66647
+ syntaxString: {
66648
+ dark: RGBA10.fromHex("#f1fa8c"),
66649
+ light: RGBA10.fromHex("#907300")
66650
+ },
66651
+ syntaxComment: {
66652
+ dark: RGBA10.fromHex("#7c89b3"),
66653
+ light: RGBA10.fromHex("#7884ac")
66654
+ },
66655
+ syntaxNumber: {
66656
+ dark: RGBA10.fromHex("#bd93f9"),
66657
+ light: RGBA10.fromHex("#7c3aed")
66658
+ },
66659
+ syntaxFunction: {
66660
+ dark: RGBA10.fromHex("#50fa7b"),
66661
+ light: RGBA10.fromHex("#1b8332")
66662
+ },
66663
+ syntaxType: {
66664
+ dark: RGBA10.fromHex("#8be9fd"),
66665
+ light: RGBA10.fromHex("#0e7490")
66666
+ },
66667
+ syntaxTag: {
66668
+ dark: RGBA10.fromHex("#ff5f5f"),
66669
+ light: RGBA10.fromHex("#c62828")
66670
+ },
66671
+ syntaxAttr: {
66672
+ dark: RGBA10.fromHex("#ffb86c"),
66673
+ light: RGBA10.fromHex("#c2410c")
66674
+ },
66675
+ syntaxPunctuation: {
66676
+ dark: RGBA10.fromHex("#f8f8f2"),
66677
+ light: RGBA10.fromHex("#4e5173")
66678
+ },
66471
66679
  diffAdded: {
66472
66680
  dark: RGBA10.fromHex("#50fa7b"),
66473
66681
  light: RGBA10.fromHex("#1b8332")
@@ -66598,6 +66806,42 @@ var everforest = {
66598
66806
  dark: RGBA11.fromHex("#d699b6"),
66599
66807
  light: RGBA11.fromHex("#df69ba")
66600
66808
  },
66809
+ syntaxKeyword: {
66810
+ dark: RGBA11.fromHex("#e67e80"),
66811
+ light: RGBA11.fromHex("#f7423e")
66812
+ },
66813
+ syntaxString: {
66814
+ dark: RGBA11.fromHex("#a7c080"),
66815
+ light: RGBA11.fromHex("#7b8d01")
66816
+ },
66817
+ syntaxComment: {
66818
+ dark: RGBA11.fromHex("#859289"),
66819
+ light: RGBA11.fromHex("#889586")
66820
+ },
66821
+ syntaxNumber: {
66822
+ dark: RGBA11.fromHex("#d699b6"),
66823
+ light: RGBA11.fromHex("#da50ae")
66824
+ },
66825
+ syntaxFunction: {
66826
+ dark: RGBA11.fromHex("#a7c080"),
66827
+ light: RGBA11.fromHex("#7b8d01")
66828
+ },
66829
+ syntaxType: {
66830
+ dark: RGBA11.fromHex("#dbbc7f"),
66831
+ light: RGBA11.fromHex("#ac7b00")
66832
+ },
66833
+ syntaxTag: {
66834
+ dark: RGBA11.fromHex("#e69875"),
66835
+ light: RGBA11.fromHex("#d45f0a")
66836
+ },
66837
+ syntaxAttr: {
66838
+ dark: RGBA11.fromHex("#7fbbb3"),
66839
+ light: RGBA11.fromHex("#2e906b")
66840
+ },
66841
+ syntaxPunctuation: {
66842
+ dark: RGBA11.fromHex("#d3c6aa"),
66843
+ light: RGBA11.fromHex("#5c6a72")
66844
+ },
66601
66845
  diffAdded: {
66602
66846
  dark: RGBA11.fromHex("#a7c080"),
66603
66847
  light: RGBA11.fromHex("#8da101")
@@ -66728,6 +66972,42 @@ var flexoki = {
66728
66972
  dark: RGBA12.fromHex("#a580e2"),
66729
66973
  light: RGBA12.fromHex("#8b7ec8")
66730
66974
  },
66975
+ syntaxKeyword: {
66976
+ dark: RGBA12.fromHex("#d14d41"),
66977
+ light: RGBA12.fromHex("#af3029")
66978
+ },
66979
+ syntaxString: {
66980
+ dark: RGBA12.fromHex("#879a39"),
66981
+ light: RGBA12.fromHex("#66800b")
66982
+ },
66983
+ syntaxComment: {
66984
+ dark: RGBA12.fromHex("#878580"),
66985
+ light: RGBA12.fromHex("#6f6e69")
66986
+ },
66987
+ syntaxNumber: {
66988
+ dark: RGBA12.fromHex("#a580e2"),
66989
+ light: RGBA12.fromHex("#8577c5")
66990
+ },
66991
+ syntaxFunction: {
66992
+ dark: RGBA12.fromHex("#da702c"),
66993
+ light: RGBA12.fromHex("#bc5215")
66994
+ },
66995
+ syntaxType: {
66996
+ dark: RGBA12.fromHex("#d0a215"),
66997
+ light: RGBA12.fromHex("#a37b01")
66998
+ },
66999
+ syntaxTag: {
67000
+ dark: RGBA12.fromHex("#4385be"),
67001
+ light: RGBA12.fromHex("#205ea6")
67002
+ },
67003
+ syntaxAttr: {
67004
+ dark: RGBA12.fromHex("#3aa99f"),
67005
+ light: RGBA12.fromHex("#24837b")
67006
+ },
67007
+ syntaxPunctuation: {
67008
+ dark: RGBA12.fromHex("#878580"),
67009
+ light: RGBA12.fromHex("#6f6e69")
67010
+ },
66731
67011
  diffAdded: {
66732
67012
  dark: RGBA12.fromHex("#879a39"),
66733
67013
  light: RGBA12.fromHex("#66800b")
@@ -66858,6 +67138,42 @@ var github = {
66858
67138
  dark: RGBA13.fromHex("#d29922"),
66859
67139
  light: RGBA13.fromHex("#9a6700")
66860
67140
  },
67141
+ syntaxKeyword: {
67142
+ dark: RGBA13.fromHex("#ff7b72"),
67143
+ light: RGBA13.fromHex("#cf222e")
67144
+ },
67145
+ syntaxString: {
67146
+ dark: RGBA13.fromHex("#a5d6ff"),
67147
+ light: RGBA13.fromHex("#0a3069")
67148
+ },
67149
+ syntaxComment: {
67150
+ dark: RGBA13.fromHex("#8b949e"),
67151
+ light: RGBA13.fromHex("#57606a")
67152
+ },
67153
+ syntaxNumber: {
67154
+ dark: RGBA13.fromHex("#79c0ff"),
67155
+ light: RGBA13.fromHex("#0550ae")
67156
+ },
67157
+ syntaxFunction: {
67158
+ dark: RGBA13.fromHex("#d2a8ff"),
67159
+ light: RGBA13.fromHex("#8250df")
67160
+ },
67161
+ syntaxType: {
67162
+ dark: RGBA13.fromHex("#ffa657"),
67163
+ light: RGBA13.fromHex("#953800")
67164
+ },
67165
+ syntaxTag: {
67166
+ dark: RGBA13.fromHex("#7ee787"),
67167
+ light: RGBA13.fromHex("#116329")
67168
+ },
67169
+ syntaxAttr: {
67170
+ dark: RGBA13.fromHex("#79c0ff"),
67171
+ light: RGBA13.fromHex("#0550ae")
67172
+ },
67173
+ syntaxPunctuation: {
67174
+ dark: RGBA13.fromHex("#c9d1d9"),
67175
+ light: RGBA13.fromHex("#24292f")
67176
+ },
66861
67177
  diffAdded: {
66862
67178
  dark: RGBA13.fromHex("#3fb950"),
66863
67179
  light: RGBA13.fromHex("#1a7f37")
@@ -66988,6 +67304,42 @@ var gruvbox = {
66988
67304
  dark: RGBA14.fromHex("#d3869b"),
66989
67305
  light: RGBA14.fromHex("#8f3f71")
66990
67306
  },
67307
+ syntaxKeyword: {
67308
+ dark: RGBA14.fromHex("#fb4934"),
67309
+ light: RGBA14.fromHex("#9d0006")
67310
+ },
67311
+ syntaxString: {
67312
+ dark: RGBA14.fromHex("#b8bb26"),
67313
+ light: RGBA14.fromHex("#79740e")
67314
+ },
67315
+ syntaxComment: {
67316
+ dark: RGBA14.fromHex("#928374"),
67317
+ light: RGBA14.fromHex("#928374")
67318
+ },
67319
+ syntaxNumber: {
67320
+ dark: RGBA14.fromHex("#d3869b"),
67321
+ light: RGBA14.fromHex("#8f3f71")
67322
+ },
67323
+ syntaxFunction: {
67324
+ dark: RGBA14.fromHex("#fabd2f"),
67325
+ light: RGBA14.fromHex("#ac7013")
67326
+ },
67327
+ syntaxType: {
67328
+ dark: RGBA14.fromHex("#83a598"),
67329
+ light: RGBA14.fromHex("#427b58")
67330
+ },
67331
+ syntaxTag: {
67332
+ dark: RGBA14.fromHex("#fe8019"),
67333
+ light: RGBA14.fromHex("#af3a03")
67334
+ },
67335
+ syntaxAttr: {
67336
+ dark: RGBA14.fromHex("#8ec07c"),
67337
+ light: RGBA14.fromHex("#427b58")
67338
+ },
67339
+ syntaxPunctuation: {
67340
+ dark: RGBA14.fromHex("#a89984"),
67341
+ light: RGBA14.fromHex("#665c54")
67342
+ },
66991
67343
  diffAdded: {
66992
67344
  dark: RGBA14.fromHex("#b8bb26"),
66993
67345
  light: RGBA14.fromHex("#79740e")
@@ -67118,6 +67470,42 @@ var kanagawa = {
67118
67470
  dark: RGBA15.fromHex("#e6c384"),
67119
67471
  light: RGBA15.fromHex("#836930")
67120
67472
  },
67473
+ syntaxKeyword: {
67474
+ dark: RGBA15.fromHex("#957fb8"),
67475
+ light: RGBA15.fromHex("#624c83")
67476
+ },
67477
+ syntaxString: {
67478
+ dark: RGBA15.fromHex("#98bb6c"),
67479
+ light: RGBA15.fromHex("#6a834a")
67480
+ },
67481
+ syntaxComment: {
67482
+ dark: RGBA15.fromHex("#727169"),
67483
+ light: RGBA15.fromHex("#8a8980")
67484
+ },
67485
+ syntaxNumber: {
67486
+ dark: RGBA15.fromHex("#d27e99"),
67487
+ light: RGBA15.fromHex("#b35b79")
67488
+ },
67489
+ syntaxFunction: {
67490
+ dark: RGBA15.fromHex("#7e9cd8"),
67491
+ light: RGBA15.fromHex("#4d699b")
67492
+ },
67493
+ syntaxType: {
67494
+ dark: RGBA15.fromHex("#7fb4ca"),
67495
+ light: RGBA15.fromHex("#4d699b")
67496
+ },
67497
+ syntaxTag: {
67498
+ dark: RGBA15.fromHex("#e6c384"),
67499
+ light: RGBA15.fromHex("#836930")
67500
+ },
67501
+ syntaxAttr: {
67502
+ dark: RGBA15.fromHex("#6a9589"),
67503
+ light: RGBA15.fromHex("#5a7a68")
67504
+ },
67505
+ syntaxPunctuation: {
67506
+ dark: RGBA15.fromHex("#9cabca"),
67507
+ light: RGBA15.fromHex("#68687a")
67508
+ },
67121
67509
  diffAdded: {
67122
67510
  dark: RGBA15.fromHex("#76946a"),
67123
67511
  light: RGBA15.fromHex("#6f894e")
@@ -67248,6 +67636,42 @@ var material = {
67248
67636
  dark: RGBA16.fromHex("#ffcb6b"),
67249
67637
  light: RGBA16.fromHex("#e2931d")
67250
67638
  },
67639
+ syntaxKeyword: {
67640
+ dark: RGBA16.fromHex("#c792ea"),
67641
+ light: RGBA16.fromHex("#7c4dff")
67642
+ },
67643
+ syntaxString: {
67644
+ dark: RGBA16.fromHex("#c3e88d"),
67645
+ light: RGBA16.fromHex("#6c8d3c")
67646
+ },
67647
+ syntaxComment: {
67648
+ dark: RGBA16.fromHex("#607e8c"),
67649
+ light: RGBA16.fromHex("#7e95a1")
67650
+ },
67651
+ syntaxNumber: {
67652
+ dark: RGBA16.fromHex("#f78c6c"),
67653
+ light: RGBA16.fromHex("#f54616")
67654
+ },
67655
+ syntaxFunction: {
67656
+ dark: RGBA16.fromHex("#82aaff"),
67657
+ light: RGBA16.fromHex("#6182b8")
67658
+ },
67659
+ syntaxType: {
67660
+ dark: RGBA16.fromHex("#ffcb6b"),
67661
+ light: RGBA16.fromHex("#b57617")
67662
+ },
67663
+ syntaxTag: {
67664
+ dark: RGBA16.fromHex("#f07178"),
67665
+ light: RGBA16.fromHex("#e53935")
67666
+ },
67667
+ syntaxAttr: {
67668
+ dark: RGBA16.fromHex("#89ddff"),
67669
+ light: RGBA16.fromHex("#2f8f96")
67670
+ },
67671
+ syntaxPunctuation: {
67672
+ dark: RGBA16.fromHex("#89ddff"),
67673
+ light: RGBA16.fromHex("#2f8f96")
67674
+ },
67251
67675
  diffAdded: {
67252
67676
  dark: RGBA16.fromHex("#c3e88d"),
67253
67677
  light: RGBA16.fromHex("#91b859")
@@ -67378,6 +67802,42 @@ var monokai = {
67378
67802
  dark: RGBA17.fromHex("#ffd866"),
67379
67803
  light: RGBA17.fromHex("#a67f00")
67380
67804
  },
67805
+ syntaxKeyword: {
67806
+ dark: RGBA17.fromHex("#ff6188"),
67807
+ light: RGBA17.fromHex("#cc2944")
67808
+ },
67809
+ syntaxString: {
67810
+ dark: RGBA17.fromHex("#ffd866"),
67811
+ light: RGBA17.fromHex("#a67f00")
67812
+ },
67813
+ syntaxComment: {
67814
+ dark: RGBA17.fromHex("#817f81"),
67815
+ light: RGBA17.fromHex("#949195")
67816
+ },
67817
+ syntaxNumber: {
67818
+ dark: RGBA17.fromHex("#ab9df2"),
67819
+ light: RGBA17.fromHex("#6e56cf")
67820
+ },
67821
+ syntaxFunction: {
67822
+ dark: RGBA17.fromHex("#a9dc76"),
67823
+ light: RGBA17.fromHex("#4d7a27")
67824
+ },
67825
+ syntaxType: {
67826
+ dark: RGBA17.fromHex("#78dce8"),
67827
+ light: RGBA17.fromHex("#0b7e8b")
67828
+ },
67829
+ syntaxTag: {
67830
+ dark: RGBA17.fromHex("#ff6188"),
67831
+ light: RGBA17.fromHex("#cc2944")
67832
+ },
67833
+ syntaxAttr: {
67834
+ dark: RGBA17.fromHex("#fc9867"),
67835
+ light: RGBA17.fromHex("#c25d00")
67836
+ },
67837
+ syntaxPunctuation: {
67838
+ dark: RGBA17.fromHex("#939293"),
67839
+ light: RGBA17.fromHex("#6e6c6e")
67840
+ },
67381
67841
  diffAdded: {
67382
67842
  dark: RGBA17.fromHex("#a9dc76"),
67383
67843
  light: RGBA17.fromHex("#4d7a27")
@@ -67508,6 +67968,42 @@ var nightfox = {
67508
67968
  dark: RGBA18.fromHex("#dbc074"),
67509
67969
  light: RGBA18.fromHex("#AC5402")
67510
67970
  },
67971
+ syntaxKeyword: {
67972
+ dark: RGBA18.fromHex("#9d79d6"),
67973
+ light: RGBA18.fromHex("#6e33ce")
67974
+ },
67975
+ syntaxString: {
67976
+ dark: RGBA18.fromHex("#81b29a"),
67977
+ light: RGBA18.fromHex("#396847")
67978
+ },
67979
+ syntaxComment: {
67980
+ dark: RGBA18.fromHex("#738091"),
67981
+ light: RGBA18.fromHex("#837a72")
67982
+ },
67983
+ syntaxNumber: {
67984
+ dark: RGBA18.fromHex("#f4a261"),
67985
+ light: RGBA18.fromHex("#955f61")
67986
+ },
67987
+ syntaxFunction: {
67988
+ dark: RGBA18.fromHex("#719cd6"),
67989
+ light: RGBA18.fromHex("#2848a9")
67990
+ },
67991
+ syntaxType: {
67992
+ dark: RGBA18.fromHex("#dbc074"),
67993
+ light: RGBA18.fromHex("#AC5402")
67994
+ },
67995
+ syntaxTag: {
67996
+ dark: RGBA18.fromHex("#c94f6d"),
67997
+ light: RGBA18.fromHex("#a5222f")
67998
+ },
67999
+ syntaxAttr: {
68000
+ dark: RGBA18.fromHex("#63cdcf"),
68001
+ light: RGBA18.fromHex("#287980")
68002
+ },
68003
+ syntaxPunctuation: {
68004
+ dark: RGBA18.fromHex("#aeafb0"),
68005
+ light: RGBA18.fromHex("#5a5565")
68006
+ },
67511
68007
  diffAdded: {
67512
68008
  dark: RGBA18.fromHex("#81b29a"),
67513
68009
  light: RGBA18.fromHex("#396847")
@@ -67638,6 +68134,42 @@ var nord = {
67638
68134
  dark: RGBA19.fromHex("#ebcb8b"),
67639
68135
  light: RGBA19.fromHex("#c08b30")
67640
68136
  },
68137
+ syntaxKeyword: {
68138
+ dark: RGBA19.fromHex("#81a1c1"),
68139
+ light: RGBA19.fromHex("#577ca9")
68140
+ },
68141
+ syntaxString: {
68142
+ dark: RGBA19.fromHex("#a3be8c"),
68143
+ light: RGBA19.fromHex("#688450")
68144
+ },
68145
+ syntaxComment: {
68146
+ dark: RGBA19.fromHex("#75829c"),
68147
+ light: RGBA19.fromHex("#7b88a1")
68148
+ },
68149
+ syntaxNumber: {
68150
+ dark: RGBA19.fromHex("#b48ead"),
68151
+ light: RGBA19.fromHex("#8c6aa8")
68152
+ },
68153
+ syntaxFunction: {
68154
+ dark: RGBA19.fromHex("#88c0d0"),
68155
+ light: RGBA19.fromHex("#577ca9")
68156
+ },
68157
+ syntaxType: {
68158
+ dark: RGBA19.fromHex("#ebcb8b"),
68159
+ light: RGBA19.fromHex("#9f7328")
68160
+ },
68161
+ syntaxTag: {
68162
+ dark: RGBA19.fromHex("#c8777f"),
68163
+ light: RGBA19.fromHex("#bf616a")
68164
+ },
68165
+ syntaxAttr: {
68166
+ dark: RGBA19.fromHex("#d08770"),
68167
+ light: RGBA19.fromHex("#bf633b")
68168
+ },
68169
+ syntaxPunctuation: {
68170
+ dark: RGBA19.fromHex("#d8dee9"),
68171
+ light: RGBA19.fromHex("#4c566a")
68172
+ },
67641
68173
  diffAdded: {
67642
68174
  dark: RGBA19.fromHex("#a3be8c"),
67643
68175
  light: RGBA19.fromHex("#6d8a54")
@@ -67768,6 +68300,42 @@ var oneDark = {
67768
68300
  dark: RGBA20.fromHex("#e5c07b"),
67769
68301
  light: RGBA20.fromHex("#c18401")
67770
68302
  },
68303
+ syntaxKeyword: {
68304
+ dark: RGBA20.fromHex("#c678dd"),
68305
+ light: RGBA20.fromHex("#a626a4")
68306
+ },
68307
+ syntaxString: {
68308
+ dark: RGBA20.fromHex("#98c379"),
68309
+ light: RGBA20.fromHex("#499348")
68310
+ },
68311
+ syntaxComment: {
68312
+ dark: RGBA20.fromHex("#656d7b"),
68313
+ light: RGBA20.fromHex("#909198")
68314
+ },
68315
+ syntaxNumber: {
68316
+ dark: RGBA20.fromHex("#d19a66"),
68317
+ light: RGBA20.fromHex("#986801")
68318
+ },
68319
+ syntaxFunction: {
68320
+ dark: RGBA20.fromHex("#61afef"),
68321
+ light: RGBA20.fromHex("#4078f2")
68322
+ },
68323
+ syntaxType: {
68324
+ dark: RGBA20.fromHex("#56b6c2"),
68325
+ light: RGBA20.fromHex("#0184bc")
68326
+ },
68327
+ syntaxTag: {
68328
+ dark: RGBA20.fromHex("#e06c75"),
68329
+ light: RGBA20.fromHex("#e45649")
68330
+ },
68331
+ syntaxAttr: {
68332
+ dark: RGBA20.fromHex("#e5c07b"),
68333
+ light: RGBA20.fromHex("#ad7601")
68334
+ },
68335
+ syntaxPunctuation: {
68336
+ dark: RGBA20.fromHex("#abb2bf"),
68337
+ light: RGBA20.fromHex("#383a42")
68338
+ },
67771
68339
  diffAdded: {
67772
68340
  dark: RGBA20.fromHex("#98c379"),
67773
68341
  light: RGBA20.fromHex("#50a14f")
@@ -67898,6 +68466,42 @@ var rosePine = {
67898
68466
  dark: RGBA21.fromHex("#eb6f92"),
67899
68467
  light: RGBA21.fromHex("#b4637a")
67900
68468
  },
68469
+ syntaxKeyword: {
68470
+ dark: RGBA21.fromHex("#347a97"),
68471
+ light: RGBA21.fromHex("#286983")
68472
+ },
68473
+ syntaxString: {
68474
+ dark: RGBA21.fromHex("#f6c177"),
68475
+ light: RGBA21.fromHex("#b97313")
68476
+ },
68477
+ syntaxComment: {
68478
+ dark: RGBA21.fromHex("#6e6a86"),
68479
+ light: RGBA21.fromHex("#938da0")
68480
+ },
68481
+ syntaxNumber: {
68482
+ dark: RGBA21.fromHex("#c4a7e7"),
68483
+ light: RGBA21.fromHex("#907aa9")
68484
+ },
68485
+ syntaxFunction: {
68486
+ dark: RGBA21.fromHex("#ebbcba"),
68487
+ light: RGBA21.fromHex("#cd645f")
68488
+ },
68489
+ syntaxType: {
68490
+ dark: RGBA21.fromHex("#9ccfd8"),
68491
+ light: RGBA21.fromHex("#528e98")
68492
+ },
68493
+ syntaxTag: {
68494
+ dark: RGBA21.fromHex("#eb6f92"),
68495
+ light: RGBA21.fromHex("#b4637a")
68496
+ },
68497
+ syntaxAttr: {
68498
+ dark: RGBA21.fromHex("#c4a7e7"),
68499
+ light: RGBA21.fromHex("#907aa9")
68500
+ },
68501
+ syntaxPunctuation: {
68502
+ dark: RGBA21.fromHex("#908caa"),
68503
+ light: RGBA21.fromHex("#797593")
68504
+ },
67901
68505
  diffAdded: {
67902
68506
  dark: RGBA21.fromHex("#9ccfd8"),
67903
68507
  light: RGBA21.fromHex("#56949f")
@@ -68028,6 +68632,42 @@ var solarized = {
68028
68632
  dark: RGBA22.fromHex("#6c71c4"),
68029
68633
  light: RGBA22.fromHex("#6c71c4")
68030
68634
  },
68635
+ syntaxKeyword: {
68636
+ dark: RGBA22.fromHex("#859900"),
68637
+ light: RGBA22.fromHex("#738500")
68638
+ },
68639
+ syntaxString: {
68640
+ dark: RGBA22.fromHex("#2aa198"),
68641
+ light: RGBA22.fromHex("#248981")
68642
+ },
68643
+ syntaxComment: {
68644
+ dark: RGBA22.fromHex("#657e86"),
68645
+ light: RGBA22.fromHex("#7d8e8e")
68646
+ },
68647
+ syntaxNumber: {
68648
+ dark: RGBA22.fromHex("#da5797"),
68649
+ light: RGBA22.fromHex("#d33682")
68650
+ },
68651
+ syntaxFunction: {
68652
+ dark: RGBA22.fromHex("#268bd2"),
68653
+ light: RGBA22.fromHex("#2380c1")
68654
+ },
68655
+ syntaxType: {
68656
+ dark: RGBA22.fromHex("#b58900"),
68657
+ light: RGBA22.fromHex("#967200")
68658
+ },
68659
+ syntaxTag: {
68660
+ dark: RGBA22.fromHex("#e65519"),
68661
+ light: RGBA22.fromHex("#cb4b16")
68662
+ },
68663
+ syntaxAttr: {
68664
+ dark: RGBA22.fromHex("#7b7fca"),
68665
+ light: RGBA22.fromHex("#6c71c4")
68666
+ },
68667
+ syntaxPunctuation: {
68668
+ dark: RGBA22.fromHex("#839496"),
68669
+ light: RGBA22.fromHex("#657b83")
68670
+ },
68031
68671
  diffAdded: {
68032
68672
  dark: RGBA22.fromHex("#859900"),
68033
68673
  light: RGBA22.fromHex("#859900")
@@ -68158,6 +68798,42 @@ var tokyonight = {
68158
68798
  dark: RGBA23.fromHex("#e0af68"),
68159
68799
  light: RGBA23.fromHex("#8c6c3e")
68160
68800
  },
68801
+ syntaxKeyword: {
68802
+ dark: RGBA23.fromHex("#bb9af7"),
68803
+ light: RGBA23.fromHex("#8d41ef")
68804
+ },
68805
+ syntaxString: {
68806
+ dark: RGBA23.fromHex("#9ece6a"),
68807
+ light: RGBA23.fromHex("#587539")
68808
+ },
68809
+ syntaxComment: {
68810
+ dark: RGBA23.fromHex("#626c9c"),
68811
+ light: RGBA23.fromHex("#7079a3")
68812
+ },
68813
+ syntaxNumber: {
68814
+ dark: RGBA23.fromHex("#ff9e64"),
68815
+ light: RGBA23.fromHex("#a75700")
68816
+ },
68817
+ syntaxFunction: {
68818
+ dark: RGBA23.fromHex("#7aa2f7"),
68819
+ light: RGBA23.fromHex("#1768d8")
68820
+ },
68821
+ syntaxType: {
68822
+ dark: RGBA23.fromHex("#2ac3de"),
68823
+ light: RGBA23.fromHex("#067689")
68824
+ },
68825
+ syntaxTag: {
68826
+ dark: RGBA23.fromHex("#f7768e"),
68827
+ light: RGBA23.fromHex("#c43b3b")
68828
+ },
68829
+ syntaxAttr: {
68830
+ dark: RGBA23.fromHex("#e0af68"),
68831
+ light: RGBA23.fromHex("#85673b")
68832
+ },
68833
+ syntaxPunctuation: {
68834
+ dark: RGBA23.fromHex("#9aa5ce"),
68835
+ light: RGBA23.fromHex("#5a6cad")
68836
+ },
68161
68837
  diffAdded: {
68162
68838
  dark: RGBA23.fromHex("#449dab"),
68163
68839
  light: RGBA23.fromHex("#1e725c")
@@ -68288,6 +68964,42 @@ var vesper = {
68288
68964
  dark: RGBA24.fromHex("#ffcb6b"),
68289
68965
  light: RGBA24.fromHex("#a67f00")
68290
68966
  },
68967
+ syntaxKeyword: {
68968
+ dark: RGBA24.fromHex("#ffc799"),
68969
+ light: RGBA24.fromHex("#b35c00")
68970
+ },
68971
+ syntaxString: {
68972
+ dark: RGBA24.fromHex("#99ffe4"),
68973
+ light: RGBA24.fromHex("#007a5e")
68974
+ },
68975
+ syntaxComment: {
68976
+ dark: RGBA24.fromHex("#5a5a5a"),
68977
+ light: RGBA24.fromHex("#8f8f8f")
68978
+ },
68979
+ syntaxNumber: {
68980
+ dark: RGBA24.fromHex("#d4a0ff"),
68981
+ light: RGBA24.fromHex("#7e3aaf")
68982
+ },
68983
+ syntaxFunction: {
68984
+ dark: RGBA24.fromHex("#a0c4ff"),
68985
+ light: RGBA24.fromHex("#2563a0")
68986
+ },
68987
+ syntaxType: {
68988
+ dark: RGBA24.fromHex("#ffc799"),
68989
+ light: RGBA24.fromHex("#b35c00")
68990
+ },
68991
+ syntaxTag: {
68992
+ dark: RGBA24.fromHex("#f14c4c"),
68993
+ light: RGBA24.fromHex("#c62828")
68994
+ },
68995
+ syntaxAttr: {
68996
+ dark: RGBA24.fromHex("#ffcb6b"),
68997
+ light: RGBA24.fromHex("#9c7700")
68998
+ },
68999
+ syntaxPunctuation: {
69000
+ dark: RGBA24.fromHex("#7a7a7a"),
69001
+ light: RGBA24.fromHex("#666666")
69002
+ },
68291
69003
  diffAdded: {
68292
69004
  dark: RGBA24.fromHex("#99ffe4"),
68293
69005
  light: RGBA24.fromHex("#007a5e")
@@ -68647,7 +69359,7 @@ function AppContent({
68647
69359
  toast(`Update available: v${currentVersion} → v${latestVersion}. Run: pensar upgrade`, "warn", 8000);
68648
69360
  });
68649
69361
  const checkAuthToken = async () => {
68650
- const { isTokenExpired, isConnected: isConnected2 } = await import("./index-9j9dqpdd.js");
69362
+ const { isTokenExpired, isConnected: isConnected2 } = await import("./index-rm972wnm.js");
68651
69363
  if (isConnected2(config2.data) && config2.data.accessToken && isTokenExpired(config2.data.accessToken, 60) && !config2.data.refreshToken && !config2.data.pensarAPIKey) {
68652
69364
  toast("Your Pensar Console session has expired. Run /login to refresh.", "warn", 8000);
68653
69365
  }