agent-log-viewer 0.1.0 → 0.2.0

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 (128) hide show
  1. package/README.md +172 -53
  2. package/bin/cli.mjs +89 -22
  3. package/bin/tailscale.mjs +133 -18
  4. package/dist/standalone/.next/BUILD_ID +1 -1
  5. package/dist/standalone/.next/app-path-routes-manifest.json +9 -2
  6. package/dist/standalone/.next/build-manifest.json +2 -2
  7. package/dist/standalone/.next/prerender-manifest.json +3 -3
  8. package/dist/standalone/.next/routes-manifest.json +46 -1
  9. package/dist/standalone/.next/server/app/_global-error/page.js +3 -3
  10. package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/dist/standalone/.next/server/app/_global-error.html +1 -1
  12. package/dist/standalone/.next/server/app/_global-error.rsc +1 -1
  13. package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/dist/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  15. package/dist/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  16. package/dist/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  17. package/dist/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  18. package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/dist/standalone/.next/server/app/_not-found/page.js +2 -2
  20. package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/dist/standalone/.next/server/app/_not-found.html +1 -1
  22. package/dist/standalone/.next/server/app/_not-found.rsc +4 -4
  23. package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  24. package/dist/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  25. package/dist/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  26. package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  27. package/dist/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  28. package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  29. package/dist/standalone/.next/server/app/api/access/route.js +1 -1
  30. package/dist/standalone/.next/server/app/api/answer/route.js +1 -0
  31. package/dist/standalone/.next/server/app/api/answer/route.js.nft.json +1 -0
  32. package/dist/standalone/.next/server/app/api/answer/route_client-reference-manifest.js +1 -0
  33. package/dist/standalone/.next/server/app/api/files/route.js +1 -1
  34. package/dist/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  35. package/dist/standalone/.next/server/app/api/flows/[id]/route.js +1 -0
  36. package/dist/standalone/.next/server/app/api/flows/[id]/route.js.nft.json +1 -0
  37. package/dist/standalone/.next/server/app/api/flows/[id]/route_client-reference-manifest.js +1 -0
  38. package/dist/standalone/.next/server/app/api/flows/route.js +1 -0
  39. package/dist/standalone/.next/server/app/api/flows/route.js.nft.json +1 -0
  40. package/dist/standalone/.next/server/app/api/flows/route_client-reference-manifest.js +1 -0
  41. package/dist/standalone/.next/server/app/api/inbox/route.js +1 -0
  42. package/dist/standalone/.next/server/app/api/inbox/route.js.nft.json +1 -0
  43. package/dist/standalone/.next/server/app/api/inbox/route_client-reference-manifest.js +1 -0
  44. package/dist/standalone/.next/server/app/api/limits/route.js +1 -0
  45. package/dist/standalone/.next/server/app/api/limits/route.js.nft.json +1 -0
  46. package/dist/standalone/.next/server/app/api/limits/route_client-reference-manifest.js +1 -0
  47. package/dist/standalone/.next/server/app/api/log/route.js +1 -1
  48. package/dist/standalone/.next/server/app/api/log/route.js.nft.json +1 -1
  49. package/dist/standalone/.next/server/app/api/proc/route.js +1 -1
  50. package/dist/standalone/.next/server/app/api/proc/route.js.nft.json +1 -1
  51. package/dist/standalone/.next/server/app/api/push/route.js +1 -0
  52. package/dist/standalone/.next/server/app/api/push/route.js.nft.json +1 -0
  53. package/dist/standalone/.next/server/app/api/push/route_client-reference-manifest.js +1 -0
  54. package/dist/standalone/.next/server/app/api/spawn/route.js +1 -1
  55. package/dist/standalone/.next/server/app/api/spawn/route.js.nft.json +1 -1
  56. package/dist/standalone/.next/server/app/api/timeline/route.js +1 -1
  57. package/dist/standalone/.next/server/app/api/timeline/route.js.nft.json +1 -1
  58. package/dist/standalone/.next/server/app/api/tmux/route.js +2 -2
  59. package/dist/standalone/.next/server/app/api/tmux/route.js.nft.json +1 -1
  60. package/dist/standalone/.next/server/app/api/transcribe/route.js +1 -1
  61. package/dist/standalone/.next/server/app/api/transcribe/token/route.js +1 -0
  62. package/dist/standalone/.next/server/app/api/transcribe/token/route.js.nft.json +1 -0
  63. package/dist/standalone/.next/server/app/api/transcribe/token/route_client-reference-manifest.js +1 -0
  64. package/dist/standalone/.next/server/app/favicon.ico/route.js +1 -1
  65. package/dist/standalone/.next/server/app/index.html +1 -1
  66. package/dist/standalone/.next/server/app/index.rsc +5 -5
  67. package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  68. package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +5 -5
  69. package/dist/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  70. package/dist/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  71. package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  72. package/dist/standalone/.next/server/app/page.js +3 -3
  73. package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  74. package/dist/standalone/.next/server/app-paths-manifest.json +9 -2
  75. package/dist/standalone/.next/server/chunks/289.js +2 -0
  76. package/dist/standalone/.next/server/chunks/871.js +3 -0
  77. package/dist/standalone/.next/server/functions-config-manifest.json +8 -1
  78. package/dist/standalone/.next/server/middleware-build-manifest.js +1 -1
  79. package/dist/standalone/.next/server/middleware.js +3 -3
  80. package/dist/standalone/.next/server/pages/404.html +1 -1
  81. package/dist/standalone/.next/server/pages/500.html +1 -1
  82. package/dist/standalone/.next/server/server-reference-manifest.json +1 -1
  83. package/dist/standalone/.next/static/chunks/159-d2dbe811eeab290f.js +1 -0
  84. package/dist/standalone/.next/static/chunks/app/_global-error/page-81fecd9eba007478.js +1 -0
  85. package/dist/standalone/.next/static/chunks/app/api/access/route-81fecd9eba007478.js +1 -0
  86. package/dist/standalone/.next/static/chunks/app/api/answer/route-81fecd9eba007478.js +1 -0
  87. package/dist/standalone/.next/static/chunks/app/api/files/route-81fecd9eba007478.js +1 -0
  88. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-81fecd9eba007478.js +1 -0
  89. package/dist/standalone/.next/static/chunks/app/api/flows/route-81fecd9eba007478.js +1 -0
  90. package/dist/standalone/.next/static/chunks/app/api/inbox/route-81fecd9eba007478.js +1 -0
  91. package/dist/standalone/.next/static/chunks/app/api/limits/route-81fecd9eba007478.js +1 -0
  92. package/dist/standalone/.next/static/chunks/app/api/log/route-81fecd9eba007478.js +1 -0
  93. package/dist/standalone/.next/static/chunks/app/api/proc/route-81fecd9eba007478.js +1 -0
  94. package/dist/standalone/.next/static/chunks/app/api/push/route-81fecd9eba007478.js +1 -0
  95. package/dist/standalone/.next/static/chunks/app/api/spawn/route-81fecd9eba007478.js +1 -0
  96. package/dist/standalone/.next/static/chunks/app/api/timeline/route-81fecd9eba007478.js +1 -0
  97. package/dist/standalone/.next/static/chunks/app/api/tmux/route-81fecd9eba007478.js +1 -0
  98. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-81fecd9eba007478.js +1 -0
  99. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-81fecd9eba007478.js +1 -0
  100. package/dist/standalone/.next/static/chunks/app/page-39971eba742f6b2e.js +2 -0
  101. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-81fecd9eba007478.js +1 -0
  102. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-81fecd9eba007478.js +1 -0
  103. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-81fecd9eba007478.js +1 -0
  104. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-81fecd9eba007478.js +1 -0
  105. package/dist/standalone/.next/static/css/331d03725ce2ef2f.css +1 -0
  106. package/dist/standalone/.next/static/eVZqd0xcmD_g_vTrSrlTL/_buildManifest.js +1 -0
  107. package/dist/standalone/package.json +4 -2
  108. package/package.json +4 -2
  109. package/dist/standalone/.next/server/chunks/344.js +0 -1
  110. package/dist/standalone/.next/server/chunks/459.js +0 -1
  111. package/dist/standalone/.next/static/OlOoOx99h_Y7pD3fJA_ji/_buildManifest.js +0 -1
  112. package/dist/standalone/.next/static/chunks/206-33d2c732d1a7b380.js +0 -1
  113. package/dist/standalone/.next/static/chunks/app/_global-error/page-a6af3b0a9feab800.js +0 -1
  114. package/dist/standalone/.next/static/chunks/app/api/access/route-a6af3b0a9feab800.js +0 -1
  115. package/dist/standalone/.next/static/chunks/app/api/files/route-a6af3b0a9feab800.js +0 -1
  116. package/dist/standalone/.next/static/chunks/app/api/log/route-a6af3b0a9feab800.js +0 -1
  117. package/dist/standalone/.next/static/chunks/app/api/proc/route-a6af3b0a9feab800.js +0 -1
  118. package/dist/standalone/.next/static/chunks/app/api/spawn/route-a6af3b0a9feab800.js +0 -1
  119. package/dist/standalone/.next/static/chunks/app/api/timeline/route-a6af3b0a9feab800.js +0 -1
  120. package/dist/standalone/.next/static/chunks/app/api/tmux/route-a6af3b0a9feab800.js +0 -1
  121. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-a6af3b0a9feab800.js +0 -1
  122. package/dist/standalone/.next/static/chunks/app/page-6fed5a912688e46f.js +0 -2
  123. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-a6af3b0a9feab800.js +0 -1
  124. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-a6af3b0a9feab800.js +0 -1
  125. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-a6af3b0a9feab800.js +0 -1
  126. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-a6af3b0a9feab800.js +0 -1
  127. package/dist/standalone/.next/static/css/6295a760ad8588f2.css +0 -1
  128. /package/dist/standalone/.next/static/{OlOoOx99h_Y7pD3fJA_ji → eVZqd0xcmD_g_vTrSrlTL}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[80,167,391,403,437,458,504,560,590,635,677,758,781,819,831,851,868,896,910,988],{4441:()=>{}},_=>{_.O(0,[441,794,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[80,167,391,403,437,458,504,560,590,635,677,758,781,819,831,851,868,896,910,988],{4441:()=>{}},_=>{_.O(0,[441,794,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[80,167,391,403,437,458,504,560,590,635,677,758,781,819,831,851,868,896,910,988],{4441:()=>{}},_=>{_.O(0,[441,794,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[80,167,391,403,437,458,504,560,590,635,677,758,781,819,831,851,868,896,910,988],{4441:()=>{}},_=>{_.O(0,[441,794,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ /*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--pane-angle:0deg}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;--font-mono:ui-monospace,"JetBrains Mono",Menlo,monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-normal:0em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--animate-bounce:bounce 1s infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#f6f6f8;--color-panel:#fff;--color-line:#e6e6ea;--color-ink:#1c1c22;--color-dim:#8b8b95;--color-accent:#5a51e0;--color-ok:#1a8a3e;--color-err:#c62828;--color-chip:#efeff3;--color-user:#e9e9ef;--color-codex:#2f6fd0;--color-codex-soft:#e8f0fb;--color-claude:#d97757}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-x-2{inset-inline:calc(var(--spacing) * 2)}.inset-x-4{inset-inline:calc(var(--spacing) * 4)}.inset-x-6{inset-inline:calc(var(--spacing) * 6)}.-top-1{top:calc(var(--spacing) * -1)}.-top-3{top:calc(var(--spacing) * -3)}.-top-11{top:calc(var(--spacing) * -11)}.-top-\[60px\]{top:-60px}.top-0{top:0}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-12{top:calc(var(--spacing) * 12)}.top-\[-8px\]{top:-8px}.top-\[calc\(100\%\+52px\)\]{top:calc(100% + 52px)}.top-full{top:100%}.-right-1{right:calc(var(--spacing) * -1)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-2{bottom:calc(var(--spacing) * -2)}.-bottom-4{bottom:calc(var(--spacing) * -4)}.-bottom-11{bottom:calc(var(--spacing) * -11)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-\[92px\]{bottom:92px}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[2\]{z-index:2}.z-\[3\]{z-index:3}.z-\[4\]{z-index:4}.z-\[11\]{z-index:11}.z-\[12\]{z-index:12}.z-\[60\]{z-index:60}.z-\[95\]{z-index:95}.col-span-full{grid-column:1/-1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-2\.5{margin-inline:calc(var(--spacing) * 2.5)}.mx-auto{margin-inline:auto}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:var(--spacing)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-2\.5{margin-block:calc(var(--spacing) * 2.5)}.my-3\.5{margin-block:calc(var(--spacing) * 3.5)}.my-4{margin-block:calc(var(--spacing) * 4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-\[3px\]{margin-top:3px}.mt-\[14vh\]{margin-top:14vh}.mt-\[20vh\]{margin-top:20vh}.mt-auto{margin-top:auto}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.-ml-1\.5{margin-left:calc(var(--spacing) * -1.5)}.ml-1{margin-left:var(--spacing)}.ml-9{margin-left:calc(var(--spacing) * 9)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-4{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-6\.5{height:calc(var(--spacing) * 6.5)}.h-7{height:calc(var(--spacing) * 7)}.h-7\.5{height:calc(var(--spacing) * 7.5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-14{height:calc(var(--spacing) * 14)}.h-\[0\.6em\]{height:.6em}.h-\[4px\]{height:4px}.h-\[26px\]{height:26px}.h-\[95vh\]{height:95vh}.h-\[108px\]{height:108px}.h-\[150px\]{height:150px}.h-\[220px\]{height:220px}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-\[240px\]{max-height:240px}.max-h-\[260px\]{max-height:260px}.max-h-\[280px\]{max-height:280px}.max-h-\[320px\]{max-height:320px}.max-h-\[340px\]{max-height:340px}.max-h-\[420px\]{max-height:420px}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-20{min-height:calc(var(--spacing) * 20)}.min-h-\[52px\]{min-height:52px}.w-0{width:0}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-4\.5{width:calc(var(--spacing) * 4.5)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-6\.5{width:calc(var(--spacing) * 6.5)}.w-7{width:calc(var(--spacing) * 7)}.w-7\.5{width:calc(var(--spacing) * 7.5)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-14{width:calc(var(--spacing) * 14)}.w-40{width:calc(var(--spacing) * 40)}.w-\[0\.6em\]{width:.6em}.w-\[26px\]{width:26px}.w-\[86px\]{width:86px}.w-\[95vw\]{width:95vw}.w-\[220px\]{width:220px}.w-\[248px\]{width:248px}.w-\[260px\]{width:260px}.w-\[300px\]{width:300px}.w-\[420px\]{width:420px}.w-full{width:100%}.w-px{width:1px}.max-w-\[0px\]{max-width:0}.max-w-\[38\%\]{max-width:38%}.max-w-\[52vw\]{max-width:52vw}.max-w-\[70\%\]{max-width:70%}.max-w-\[75\%\]{max-width:75%}.max-w-\[85\%\]{max-width:85%}.max-w-\[94\%\]{max-width:94%}.max-w-\[160px\]{max-width:160px}.max-w-\[180px\]{max-width:180px}.max-w-\[220px\]{max-width:220px}.max-w-\[280px\]{max-width:280px}.max-w-\[360px\]{max-width:360px}.max-w-\[420px\]{max-width:420px}.max-w-\[560px\]{max-width:560px}.max-w-\[760px\]{max-width:760px}.max-w-\[880px\]{max-width:880px}.max-w-\[1060px\]{max-width:1060px}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-\[46px\]{min-width:46px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1)}.-translate-x-1\/2,.-translate-y-full{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-full{--tw-translate-y:-100%}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%}.scale-100,.scale-110{scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-\[0\.5em\]{gap:.5em}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2\.5{column-gap:calc(var(--spacing) * 2.5)}.gap-y-1{row-gap:var(--spacing)}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[0\.55em\]{border-radius:.55em}.rounded-\[6px\]{border-radius:6px}.rounded-\[7px\]{border-radius:7px}.rounded-\[8px\]{border-radius:8px}.rounded-\[9px\]{border-radius:9px}.rounded-\[10px\]{border-radius:10px}.rounded-\[12px\]{border-radius:12px}.rounded-\[14px\]{border-radius:14px}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-br-\[3px\]{border-bottom-right-radius:3px}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#0d9488\]{border-color:#0d9488}.border-\[\#0d9488\]\/30{border-color:oklab(60.0224% -.103488 -.00851551/.3)}.border-\[\#c9c9d1\]{border-color:#c9c9d1}.border-\[\#d89b21\]\/35{border-color:oklab(73.0072% .0285184 .140736/.35)}.border-\[\#e0ae45\]\/45{border-color:oklab(77.7894% .0167114 .131933/.45)}.border-\[\#e0ae45\]\/60{border-color:oklab(77.7894% .0167114 .131933/.6)}.border-\[\#e0ae45\]\/70{border-color:oklab(77.7894% .0167114 .131933/.7)}.border-accent{border-color:var(--color-accent)}.border-accent\/25{border-color:#5a51e040}@supports (color:color-mix(in lab,red,red)){.border-accent\/25{border-color:color-mix(in oklab,var(--color-accent) 25%,transparent)}}.border-accent\/45{border-color:#5a51e073}@supports (color:color-mix(in lab,red,red)){.border-accent\/45{border-color:color-mix(in oklab,var(--color-accent) 45%,transparent)}}.border-accent\/50{border-color:#5a51e080}@supports (color:color-mix(in lab,red,red)){.border-accent\/50{border-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.border-accent\/60{border-color:#5a51e099}@supports (color:color-mix(in lab,red,red)){.border-accent\/60{border-color:color-mix(in oklab,var(--color-accent) 60%,transparent)}}.border-codex\/20{border-color:#2f6fd033}@supports (color:color-mix(in lab,red,red)){.border-codex\/20{border-color:color-mix(in oklab,var(--color-codex) 20%,transparent)}}.border-err{border-color:var(--color-err)}.border-err\/25{border-color:#c6282840}@supports (color:color-mix(in lab,red,red)){.border-err\/25{border-color:color-mix(in oklab,var(--color-err) 25%,transparent)}}.border-err\/30{border-color:#c628284d}@supports (color:color-mix(in lab,red,red)){.border-err\/30{border-color:color-mix(in oklab,var(--color-err) 30%,transparent)}}.border-err\/35{border-color:#c6282859}@supports (color:color-mix(in lab,red,red)){.border-err\/35{border-color:color-mix(in oklab,var(--color-err) 35%,transparent)}}.border-err\/40{border-color:#c6282866}@supports (color:color-mix(in lab,red,red)){.border-err\/40{border-color:color-mix(in oklab,var(--color-err) 40%,transparent)}}.border-err\/50{border-color:#c6282880}@supports (color:color-mix(in lab,red,red)){.border-err\/50{border-color:color-mix(in oklab,var(--color-err) 50%,transparent)}}.border-line{border-color:var(--color-line)}.border-line\/80{border-color:#e6e6eacc}@supports (color:color-mix(in lab,red,red)){.border-line\/80{border-color:color-mix(in oklab,var(--color-line) 80%,transparent)}}.border-ok\/25{border-color:#1a8a3e40}@supports (color:color-mix(in lab,red,red)){.border-ok\/25{border-color:color-mix(in oklab,var(--color-ok) 25%,transparent)}}.border-ok\/40{border-color:#1a8a3e66}@supports (color:color-mix(in lab,red,red)){.border-ok\/40{border-color:color-mix(in oklab,var(--color-ok) 40%,transparent)}}.border-ok\/50{border-color:#1a8a3e80}@supports (color:color-mix(in lab,red,red)){.border-ok\/50{border-color:color-mix(in oklab,var(--color-ok) 50%,transparent)}}.border-ok\/60{border-color:#1a8a3e99}@supports (color:color-mix(in lab,red,red)){.border-ok\/60{border-color:color-mix(in oklab,var(--color-ok) 60%,transparent)}}.border-transparent{border-color:#0000}.border-white\/25{border-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.border-white\/25{border-color:color-mix(in oklab,var(--color-white) 25%,transparent)}}.border-l-\[\#9a9aa4\]{border-left-color:#9a9aa4}.border-l-ok{border-left-color:var(--color-ok)}.bg-\[\#0d9488\]\/30{background-color:oklab(60.0224% -.103488 -.00851551/.3)}.bg-\[\#9a9aa4\]{background-color:#9a9aa4}.bg-\[\#c2c2cb\]{background-color:#c2c2cb}.bg-\[\#c9c9d1\]{background-color:#c9c9d1}.bg-\[\#d6d6dd\]{background-color:#d6d6dd}.bg-\[\#d29a2f\]{background-color:#d29a2f}.bg-\[\#e0ae45\]{background-color:#e0ae45}.bg-\[\#e3f4f0\]{background-color:#e3f4f0}.bg-\[\#e5f6ea\]{background-color:#e5f6ea}.bg-\[\#e7f4ea\]{background-color:#e7f4ea}.bg-\[\#e7f6f4\]{background-color:#e7f6f4}.bg-\[\#ecebfb\]{background-color:#ecebfb}.bg-\[\#eef8f0\]{background-color:#eef8f0}.bg-\[\#eefaf1\]{background-color:#eefaf1}.bg-\[\#f1f0fc\]{background-color:#f1f0fc}.bg-\[\#f2faf4\]{background-color:#f2faf4}.bg-\[\#f3fbf5\]{background-color:#f3fbf5}.bg-\[\#f4f4f6\]{background-color:#f4f4f6}.bg-\[\#f5dfae\]{background-color:#f5dfae}.bg-\[\#f7e8e8\]{background-color:#f7e8e8}.bg-\[\#f8f8fd\]{background-color:#f8f8fd}.bg-\[\#fafafc\]{background-color:#fafafc}.bg-\[\#fbeaea\]{background-color:#fbeaea}.bg-\[\#fbfbfd\]{background-color:#fbfbfd}.bg-\[\#fdf0f0\]{background-color:#fdf0f0}.bg-\[\#fff0f0\]{background-color:#fff0f0}.bg-\[\#fff1ca\]{background-color:#fff1ca}.bg-\[\#fff2f2\]{background-color:#fff2f2}.bg-\[\#fff4f4\]{background-color:#fff4f4}.bg-\[\#fff5dc\]{background-color:#fff5dc}.bg-\[\#fff5f5\]{background-color:#fff5f5}.bg-\[\#fff7e6\]{background-color:#fff7e6}.bg-\[\#fff9ea\]{background-color:#fff9ea}.bg-\[\#fff9ed\]{background-color:#fff9ed}.bg-accent{background-color:var(--color-accent)}.bg-accent\/10{background-color:#5a51e01a}@supports (color:color-mix(in lab,red,red)){.bg-accent\/10{background-color:color-mix(in oklab,var(--color-accent) 10%,transparent)}}.bg-accent\/20{background-color:#5a51e033}@supports (color:color-mix(in lab,red,red)){.bg-accent\/20{background-color:color-mix(in oklab,var(--color-accent) 20%,transparent)}}.bg-bg{background-color:var(--color-bg)}.bg-bg\/50{background-color:#f6f6f880}@supports (color:color-mix(in lab,red,red)){.bg-bg\/50{background-color:color-mix(in oklab,var(--color-bg) 50%,transparent)}}.bg-bg\/60{background-color:#f6f6f899}@supports (color:color-mix(in lab,red,red)){.bg-bg\/60{background-color:color-mix(in oklab,var(--color-bg) 60%,transparent)}}.bg-black\/85{background-color:#000000d9}@supports (color:color-mix(in lab,red,red)){.bg-black\/85{background-color:color-mix(in oklab,var(--color-black) 85%,transparent)}}.bg-chip{background-color:var(--color-chip)}.bg-chip\/60{background-color:#efeff399}@supports (color:color-mix(in lab,red,red)){.bg-chip\/60{background-color:color-mix(in oklab,var(--color-chip) 60%,transparent)}}.bg-claude{background-color:var(--color-claude)}.bg-codex{background-color:var(--color-codex)}.bg-codex-soft{background-color:var(--color-codex-soft)}.bg-dim{background-color:var(--color-dim)}.bg-err{background-color:var(--color-err)}.bg-ink{background-color:var(--color-ink)}.bg-ink\/28{background-color:#1c1c2247}@supports (color:color-mix(in lab,red,red)){.bg-ink\/28{background-color:color-mix(in oklab,var(--color-ink) 28%,transparent)}}.bg-ink\/35{background-color:#1c1c2259}@supports (color:color-mix(in lab,red,red)){.bg-ink\/35{background-color:color-mix(in oklab,var(--color-ink) 35%,transparent)}}.bg-line{background-color:var(--color-line)}.bg-ok{background-color:var(--color-ok)}.bg-ok\/15{background-color:#1a8a3e26}@supports (color:color-mix(in lab,red,red)){.bg-ok\/15{background-color:color-mix(in oklab,var(--color-ok) 15%,transparent)}}.bg-panel{background-color:var(--color-panel)}.bg-panel\/60{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.bg-panel\/60{background-color:color-mix(in oklab,var(--color-panel) 60%,transparent)}}.bg-panel\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-panel\/70{background-color:color-mix(in oklab,var(--color-panel) 70%,transparent)}}.bg-panel\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-panel\/90{background-color:color-mix(in oklab,var(--color-panel) 90%,transparent)}}.bg-panel\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-panel\/95{background-color:color-mix(in oklab,var(--color-panel) 95%,transparent)}}.bg-transparent{background-color:#0000}.bg-user{background-color:var(--color-user)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.object-cover{object-fit:cover}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-\[2\.5vh\]{padding:2.5vh}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[0\.45em\]{padding-inline:.45em}.px-\[0\.75em\]{padding-inline:.75em}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-\[0\.45em\]{padding-block:.45em}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-\[18vh\]{padding-top:18vh}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pb-1{padding-bottom:var(--spacing)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-\[env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)}.pb-\[max\(0\.375rem\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(.375rem,env(safe-area-inset-bottom))}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.align-bottom{vertical-align:bottom}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[\.6px\]{--tw-tracking:.6px;letter-spacing:.6px}.tracking-\[0\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#0b7c72\]{color:#0b7c72}.text-\[\#8a5a00\]{color:#8a5a00}.text-\[\#9a6500\]{color:#9a6500}.text-\[\#222\]{color:#222}.text-\[\#333\]{color:#333}.text-\[\#444\]{color:#444}.text-\[\#555\]{color:#555}.text-\[\#b07d18\]{color:#b07d18}.text-\[\#b3831d\]{color:#b3831d}.text-\[\#b8860b\]{color:#b8860b}.text-\[\#c9c9d1\]{color:#c9c9d1}.text-accent{color:var(--color-accent)}.text-codex{color:var(--color-codex)}.text-dim{color:var(--color-dim)}.text-err{color:var(--color-err)}.text-ink{color:var(--color-ink)}.text-ink\/75{color:#1c1c22bf}@supports (color:color-mix(in lab,red,red)){.text-ink\/75{color:color-mix(in oklab,var(--color-ink) 75%,transparent)}}.text-ok{color:var(--color-ok)}.text-white{color:var(--color-white)}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.text-white\/85{color:color-mix(in oklab,var(--color-white) 85%,transparent)}}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.decoration-accent\/40{text-decoration-color:#5a51e066}@supports (color:color-mix(in lab,red,red)){.decoration-accent\/40{-webkit-text-decoration-color:color-mix(in oklab,var(--color-accent) 40%,transparent);text-decoration-color:color-mix(in oklab,var(--color-accent) 40%,transparent)}}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow-\[0_0_0_3px_rgba\(26\,138\,62\,0\.12\)\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#1a8a3e1f)}.shadow-\[0_0_0_3px_rgba\(26\,138\,62\,0\.12\)\],.shadow-\[0_0_0_3px_rgba\(47\,158\,68\,0\.16\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_3px_rgba\(47\,158\,68\,0\.16\)\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#2f9e4429)}.shadow-\[0_0_0_3px_rgba\(90\,81\,224\,0\.15\)\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#5a51e026)}.shadow-\[0_0_0_3px_rgba\(198\,40\,40\,0\.13\)\],.shadow-\[0_0_0_3px_rgba\(90\,81\,224\,0\.15\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_3px_rgba\(198\,40\,40\,0\.13\)\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#c6282821)}.shadow-\[0_0_0_3px_rgba\(224\,174\,69\,0\.2\)\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#e0ae4533)}.shadow-\[0_0_0_3px_rgba\(224\,174\,69\,0\.2\)\],.shadow-\[0_2px_10px_rgb\(20_20_30\/0\.08\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_10px_rgb\(20_20_30\/0\.08\)\]{--tw-shadow:0 2px 10px var(--tw-shadow-color,#14141e14)}.shadow-\[0_2px_14px_rgb\(20_20_30\/0\.14\)\]{--tw-shadow:0 2px 14px var(--tw-shadow-color,#14141e24)}.shadow-\[0_2px_14px_rgb\(20_20_30\/0\.14\)\],.shadow-\[0_8px_28px_rgba\(20\,20\,30\,0\.14\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_28px_rgba\(20\,20\,30\,0\.14\)\]{--tw-shadow:0 8px 28px var(--tw-shadow-color,#14141e24)}.shadow-\[0_10px_36px_rgb\(20_20_30\/0\.18\)\]{--tw-shadow:0 10px 36px var(--tw-shadow-color,#14141e2e)}.shadow-\[0_10px_36px_rgb\(20_20_30\/0\.18\)\],.shadow-\[0_18px_70px_rgb\(20_20_30\/0\.28\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_18px_70px_rgb\(20_20_30\/0\.28\)\]{--tw-shadow:0 18px 70px var(--tw-shadow-color,#14141e47)}.shadow-card{--tw-shadow:0 1px 2px var(--tw-shadow-color,#14141e0d)}.ring,.shadow-card{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-accent\/60{--tw-ring-color:#5a51e099}@supports (color:color-mix(in lab,red,red)){.ring-accent\/60{--tw-ring-color:color-mix(in oklab,var(--color-accent) 60%,transparent)}}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-bg{--tw-ring-offset-color:var(--color-bg)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.saturate-50{--tw-saturate:saturate(50%)}.filter,.saturate-50{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm))}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,color\]{transition-property:border-color,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[max-width\]{transition-property:max-width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-150{transition-delay:.15s}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\[animation-delay\:150ms\]{animation-delay:.15s}.\[animation-delay\:300ms\]{animation-delay:.3s}.group-open\:hidden:is(:where(.group):is([open],:popover-open,:open) *){display:none}.group-open\:inline:is(:where(.group):is([open],:popover-open,:open) *){display:inline}.group-open\/cmp\:hidden:is(:where(.group\/cmp):is([open],:popover-open,:open) *){display:none}.group-open\/cmp\:inline:is(:where(.group\/cmp):is([open],:popover-open,:open) *){display:inline}.group-open\/tmsg\:hidden:is(:where(.group\/tmsg):is([open],:popover-open,:open) *){display:none}.group-open\/tmsg\:inline-flex:is(:where(.group\/tmsg):is([open],:popover-open,:open) *){display:inline-flex}.group-open\/usr\:hidden:is(:where(.group\/usr):is([open],:popover-open,:open) *){display:none}.group-open\/usr\:inline-flex:is(:where(.group\/usr):is([open],:popover-open,:open) *){display:inline-flex}.group-focus-within\:block:is(:where(.group):focus-within *){display:block}.group-focus-within\:flex:is(:where(.group):focus-within *){display:flex}.group-focus-within\:max-w-\[180px\]:is(:where(.group):focus-within *){max-width:180px}.group-focus-within\/hint\:opacity-100:is(:where(.group\/hint):focus-within *){opacity:1}@media (hover:hover){.group-hover\:block:is(:where(.group):hover *){display:block}.group-hover\:flex:is(:where(.group):hover *){display:flex}.group-hover\:max-w-\[180px\]:is(:where(.group):hover *){max-width:180px}.group-hover\/hint\:opacity-100:is(:where(.group\/hint):hover *){opacity:1}.group-hover\/img\:flex:is(:where(.group\/img):hover *){display:flex}}.placeholder\:text-dim::placeholder{color:var(--color-dim)}.placeholder\:text-dim\/70::placeholder{color:#8b8b95b3}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-dim\/70::placeholder{color:color-mix(in oklab,var(--color-dim) 70%,transparent)}}.first\:mt-0:first-child{margin-top:0}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}@media (hover:hover){.hover\:border-\[\#0d9488\]\/50:hover{border-color:oklab(60.0224% -.103488 -.00851551/.5)}.hover\:border-accent\/40:hover{border-color:#5a51e066}@supports (color:color-mix(in lab,red,red)){.hover\:border-accent\/40:hover{border-color:color-mix(in oklab,var(--color-accent) 40%,transparent)}}.hover\:border-accent\/45:hover{border-color:#5a51e073}@supports (color:color-mix(in lab,red,red)){.hover\:border-accent\/45:hover{border-color:color-mix(in oklab,var(--color-accent) 45%,transparent)}}.hover\:border-accent\/50:hover{border-color:#5a51e080}@supports (color:color-mix(in lab,red,red)){.hover\:border-accent\/50:hover{border-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.hover\:border-err\/40:hover{border-color:#c6282866}@supports (color:color-mix(in lab,red,red)){.hover\:border-err\/40:hover{border-color:color-mix(in oklab,var(--color-err) 40%,transparent)}}.hover\:border-err\/50:hover{border-color:#c6282880}@supports (color:color-mix(in lab,red,red)){.hover\:border-err\/50:hover{border-color:color-mix(in oklab,var(--color-err) 50%,transparent)}}.hover\:bg-bg:hover{background-color:var(--color-bg)}.hover\:bg-codex-soft:hover{background-color:var(--color-codex-soft)}.hover\:bg-panel:hover{background-color:var(--color-panel)}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.hover\:text-\[\#0b7c72\]:hover{color:#0b7c72}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-err:hover{color:var(--color-err)}.hover\:text-ink:hover{color:var(--color-ink)}.hover\:decoration-accent:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.hover\:opacity-90:hover{opacity:.9}}.focus-visible\:flex:focus-visible{display:flex}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-accent\/35:focus-visible{--tw-ring-color:#5a51e059}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-accent\/35:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-accent) 35%,transparent)}}.focus-visible\:ring-accent\/40:focus-visible{--tw-ring-color:#5a51e066}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-accent\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-accent) 40%,transparent)}}.focus-visible\:ring-accent\/50:focus-visible{--tw-ring-color:#5a51e080}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-accent\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.focus-visible\:ring-err\/40:focus-visible{--tw-ring-color:#c6282866}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-err\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-err) 40%,transparent)}}.focus-visible\:ring-err\/50:focus-visible{--tw-ring-color:#c6282880}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-err\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-err) 50%,transparent)}}.focus-visible\:ring-white\/60:focus-visible{--tw-ring-color:#fff9}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-white\/60:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media (min-width:40rem){.sm\:absolute{position:absolute}.sm\:top-full{top:100%}.sm\:right-auto{right:auto}.sm\:left-0{left:0}.sm\:mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.sm\:translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}}body{background:var(--color-bg);color:var(--color-ink)}@media (pointer:coarse){input,select,textarea{font-size:16px!important}}@property --pane-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes pane-orbit{to{--pane-angle:360deg}}.pane-attention:before{content:"";pointer-events:none;z-index:1;background:conic-gradient(from var(--pane-angle),transparent 0deg 30deg,var(--pane-glow) 100deg,transparent 170deg 210deg,var(--pane-glow) 280deg,transparent 350deg 1turn);border-radius:13px;padding:2px;animation:pane-orbit 3.4s linear infinite;position:absolute;inset:-3px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@media (prefers-reduced-motion:reduce){.pane-attention:before{animation:none}}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.scheme-panning *,.scheme-panning :after,.scheme-panning :before{animation-play-state:paused!important}.feed-cv{content-visibility:auto;contain-intrinsic-size:auto 44px}@keyframes scheme-in{0%{opacity:0}}.scheme-enter{animation:scheme-in .3s ease-out}@media (prefers-reduced-motion:reduce){.scheme-enter{animation:none}}.deck-3d{perspective:1200px;perspective-origin:50% 0}.deck-tab{transform-style:preserve-3d;transition:transform .38s cubic-bezier(.22,.8,.36,1),bottom .38s cubic-bezier(.22,.8,.36,1),opacity .25s}.deck-tab:hover{transform:translateY(-3px)!important}@keyframes deck-live{50%{box-shadow:0 0 0 3px #1a8a3e40}}.deck-tab-live{animation:deck-live 1.6s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.deck-tab{transition:none}.deck-tab-live{animation:none}}@keyframes loop-dash{to{stroke-dashoffset:-16px}}.loop-arc-live{stroke-dasharray:7 9;animation:loop-dash .7s linear infinite}@media (prefers-reduced-motion:reduce){.loop-arc-live{stroke-dasharray:none;animation:none}}[data-link-hover]{border-color:#0d9488!important;box-shadow:0 0 0 3px #0d948840,0 1px 2px #14141e0d!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}
@@ -0,0 +1 @@
1
+ self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:18,errorRate:1e-4,numBits:346,numHashes:14,bitArray:[0,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,1,0,1,0,0,1,0,1,0,1,1,1,0,1,0,1,1,0,1,1,1,1,0,1,0,0,1,1,0,0,1,0,0,1,0,1,0,0,0,0,0,1,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,1,0,1,0,1,0,1,1,0,1,0,1,1,0,0,0,0,1,1,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,1,0,1,0,0,1,0,0,0,0,1,1,0,1,0,0,1,0,1,1,0,1,1,1,1,1,1,0,1,0,0,0,0,1,1,0,0,1,1,0,1,0,1,0,1,0,1,0,0,0,1,1,1,0,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,0,1,1,0,1,1,0,1,0,1,1,1,0,0,0,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1,0,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,1,0,1,1,1,1,0,0,1,0,0,0,0,1,1,0,0,0,1,0,1,0,1,0,0,0,0,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,1,0,0,0,1,0,1,0,1,0,0,1,1,0,0,0,1,0,0,1,1,0,1,1,0,1,1,0,1,1,1,1,0,1,0]},__routerFilterDynamic:{numItems:1,errorRate:1e-4,numBits:20,numHashes:14,bitArray:[1,1,1,1,1,0,0,0,1,1,0,1,0,1,0,1,0,1,0,0]},sortedPages:["/_app"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-log-viewer",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "bin": {
5
5
  "agent-log-viewer": "bin/cli.mjs"
6
6
  },
@@ -20,7 +20,8 @@
20
20
  "build": "next build --webpack",
21
21
  "start": "next start",
22
22
  "lint": "eslint",
23
- "prepack": "node scripts/prepack.mjs"
23
+ "prepack": "node scripts/prepack.mjs",
24
+ "test": "bun test"
24
25
  },
25
26
  "dependencies": {
26
27
  "lucide-react": "^1.23.0",
@@ -32,6 +33,7 @@
32
33
  },
33
34
  "devDependencies": {
34
35
  "@tailwindcss/postcss": "^4",
36
+ "@types/bun": "^1.3.14",
35
37
  "@types/node": "^20",
36
38
  "@types/qrcode": "^1.5.6",
37
39
  "@types/react": "^19",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-log-viewer",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "bin": {
5
5
  "agent-log-viewer": "bin/cli.mjs"
6
6
  },
@@ -20,7 +20,8 @@
20
20
  "build": "next build --webpack",
21
21
  "start": "next start",
22
22
  "lint": "eslint",
23
- "prepack": "node scripts/prepack.mjs"
23
+ "prepack": "node scripts/prepack.mjs",
24
+ "test": "bun test"
24
25
  },
25
26
  "dependencies": {
26
27
  "lucide-react": "^1.23.0",
@@ -32,6 +33,7 @@
32
33
  },
33
34
  "devDependencies": {
34
35
  "@tailwindcss/postcss": "^4",
36
+ "@types/bun": "^1.3.14",
35
37
  "@types/node": "^20",
36
38
  "@types/qrcode": "^1.5.6",
37
39
  "@types/react": "^19",
@@ -1 +0,0 @@
1
- exports.id=344,exports.ids=[344],exports.modules={7378:(a,b,c)=>{"use strict";let d;c.d(b,{Bj:()=>Q,Fe:()=>L,Vt:()=>N,$w:()=>E,pl:()=>D,BB:()=>H,FQ:()=>G,$U:()=>I,Ue:()=>K,$L:()=>J,FW:()=>P,Ib:()=>O,SP:()=>F});var e=c(73024),f=c.n(e),g=c(76760),h=c.n(g);let i="/proc";function j(a){try{return f().readFileSync(h().join(i,String(a),"cmdline"),"utf8").split("\0").filter(Boolean)}catch{return[]}}function k(a){try{return f().readlinkSync(h().join(i,String(a),"cwd"))}catch{return null}}function l(a){let b;try{b=f().readFileSync(h().join(i,String(a),"stat"),"utf8")}catch{return null}return b.slice(b.lastIndexOf(")")+2).trim().split(/\s+/)}function m(a){try{return(128&f().lstatSync(a).mode)!=0}catch{return!1}}function n(a){let b;try{b=f().readdirSync(i,{withFileTypes:!0})}catch{return}for(let c of b){let b;if(!c.isDirectory()||!/^\d+$/.test(c.name))continue;let d=Number(c.name),e=h().join(i,c.name,"fd");try{b=f().readdirSync(e,{withFileTypes:!0})}catch{continue}for(let c of b){let b,g=h().join(e,c.name);try{b=f().readlinkSync(g)}catch{continue}a(b,d,()=>m(g))}}}let o={name:"linux",pidAlive:function(a){return Number.isInteger(a)&&a>0&&f().existsSync(h().join(i,String(a)))},readArgv:j,readCwd:k,readPpid:function(a){let b=l(a),c=b?Number(b[1]):NaN;return Number.isInteger(c)&&c>1?c:null},readEnvVar:function(a,b){let c;try{c=f().readFileSync(h().join(i,String(a),"environ"),"utf8")}catch{return null}let d=b+"=",e=null;for(let a of c.split("\0"))a.startsWith(d)&&(e=a.slice(d.length));return e},listProcesses:function(){let a,b=[];try{a=f().readdirSync(i,{withFileTypes:!0})}catch{return b}for(let c of a){if(!c.isDirectory()||!/^\d+$/.test(c.name))continue;let a=Number(c.name);b.push({pid:a,argv:j(a),cwd:k(a),tty:function(a){let b=l(a),c=b?Number(b[4]):NaN;return Number.isInteger(c)&&c>0?c:0}(a)})}return b},scanFdTargetsUnder:function(a,b){n(b)},scanFdTargetsFor:function(a,b){n(b)},pidWritesPath:function(a,b){let c,d;try{c=f().realpathSync(b)}catch{c=null}let e=h().join(i,String(a),"fd");try{d=f().readdirSync(e,{withFileTypes:!0})}catch{return!1}for(let a of d){let d,g=h().join(e,a.name);try{d=f().readlinkSync(g)}catch{continue}if((d===b||d===c)&&m(g))return!0}return!1},pidHoldsPath:function(a,b){let c;try{c=f().readdirSync(h().join(i,String(a),"fd"),{withFileTypes:!0})}catch{return!1}for(let d of c)try{if(f().readlinkSync(h().join(i,String(a),"fd",d.name))===b)return!0}catch{continue}return!1}};var p=c(31421);function q(a,b){let c=(0,p.spawnSync)(a,b,{encoding:"utf8",maxBuffer:0x1000000,timeout:1e4});return c.error||"string"!=typeof c.stdout?"":c.stdout}let r=new Map,s=1,t=/^\s*(\d+)\s+(\d+)\s+(\S+)\s+(.*)$/;function u(a,b){let c=0,d="";for(let e of a.split("\n")){if(!e)continue;let a=e[0],f=e.slice(1);if("p"===a)c=Number(f),d="";else if("f"===a)d="";else if("a"===a)d=f;else if("n"===a&&c>0&&f){let a="w"===d||"u"===d;b(f,c,()=>a)}}}let v=null;function w(){let a=Date.now();if(v&&a-v.at<5e3)return v.byPid;let b=function(a){let b=new Map;for(let c of a.split("\n")){let a=t.exec(c);if(!a)continue;let d=Number(a[1]),e=Number(a[2]),f=(a[4]??"").trim().split(/\s+/).filter(Boolean);b.set(d,{ppid:Number.isInteger(e)&&e>1?e:null,tty:function(a){if(!a||"?"===a||"??"===a||"-"===a)return 0;let b=r.get(a);return void 0===b&&(b=s,s+=1,r.set(a,b)),b}(a[3]??""),argv:f})}return b}(q("ps",["-axo","pid=,ppid=,tty=,args="])),c=function(a){let b=new Map,c=0;for(let d of a.split("\n")){if(!d)continue;let a=d[0],e=d.slice(1);"p"===a?c=Number(e):"n"===a&&c>0&&b.set(c,e)}return b}(q("lsof",["-w","-d","cwd","-Fpn"])),d=new Map;for(let[a,e]of b)d.set(a,{argv:e.argv,ppid:e.ppid,tty:e.tty,cwd:c.get(a)??null});return v={at:a,byPid:d},d}let x={name:"portable",pidAlive:function(a){if(!Number.isInteger(a)||a<=0)return!1;try{return process.kill(a,0),!0}catch(a){return"EPERM"===a.code}},readArgv:function(a){return w().get(a)?.argv??[]},readCwd:function(a){return w().get(a)?.cwd??null},readPpid:function(a){return w().get(a)?.ppid??null},readEnvVar:function(){return null},listProcesses:function(){let a=[];for(let[b,c]of w())a.push({pid:b,argv:c.argv,cwd:c.cwd,tty:c.tty});return a},scanFdTargetsUnder:function(a,b){a&&f().existsSync(a)&&u(q("lsof",["-w","+D",a,"-Fpfan"]),b)},scanFdTargetsFor:function(a,b){let c=[...new Set(a.filter(Boolean))];0!==c.length&&u(q("lsof",["-w","-Fpfan","--",...c]),b)},pidWritesPath:function(a,b){let c=!1;return u(q("lsof",["-w","-a","-p",String(a),"-Fpfan","--",b]),(a,b,d)=>{d()&&(c=!0)}),c},pidHoldsPath:function(a,b){let c=!1;return u(q("lsof",["-w","-a","-p",String(a),"-Fpfan","--",b]),()=>{c=!0}),c}},y="portable"===(d=process.env.VIEWER_PROC_BACKEND)?x:"linux"===d||"linux"===process.platform?o:x;var z=c(89333);let A=null,B=null,C=null;function D(a){return Number.isInteger(a)&&a>0&&y.pidAlive(a)}function E(a=!1){let b=Date.now();if(!a&&A&&b-A.at<5e3)return A.map;let c=new Map;return y.scanFdTargetsUnder(z.GH["claude-tasks"],(a,b)=>{a.endsWith(".output")&&!c.has(a)&&c.set(a,b)}),A={at:b,map:c},c}function F(a,b=!1){let c=new Map;for(let b of a){if(c.size>=512)break;if(!b)continue;c.set(b,b);let a=function(a){try{return f().realpathSync(a)}catch{return null}}(b);a&&c.set(a,b)}let d=[...c.keys()].sort().join("\0"),e=Date.now();if(!b&&B&&B.key===d&&e-B.at<5e3)return B.map;let g=new Map;return c.size>0&&y.scanFdTargetsFor([...c.keys()],(a,b,d)=>{let e=c.get(a);e&&!g.has(e)&&d()&&g.set(e,b)}),B={at:e,key:d,map:g},g}function G(a,b){return y.pidWritesPath(a,b)}function H(a,b){return y.pidHoldsPath(a,b)}function I(a){return y.readArgv(a)}function J(a){return y.readCwd(a)}function K(a){return y.readArgv(a).join(" ")}function L(a){for(let b of a.slice(0,2)){let a=h().basename(b);if("claude"===a||"claude.exe"===a)return"claude";if("codex"===a||"codex.exe"===a)return"codex"}return null}let M=new Set(["daemon","--bg-pty-host","--bg-spare"]);function N(a){return a.some(a=>M.has(a))}function O(a){return y.readPpid(a)}function P(a,b){return y.readEnvVar(a,b)}function Q(a=!1){let b=Date.now();if(!a&&C&&b-C.at<5e3)return C.list;let c=[];for(let a of y.listProcesses()){let b=L(a.argv);null===b||N(a.argv)||null!==a.cwd&&c.push({pid:a.pid,engine:b,argv:a.argv,cwd:a.cwd,tty:a.tty})}return C={at:b,list:c},c}},15159:(a,b,c)=>{"use strict";c.d(b,{em:()=>u,tJ:()=>v,vF:()=>m});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(52509),i=c(7378),j=c(89333);let k=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi,l=(0,h.E)("codex-cwd");function m(a){return a.endsWith(".jsonl")?a.startsWith(j.GH["claude-projects"]+g().sep)?"claude":a.startsWith(j.GH["codex-sessions"]+g().sep)?"codex":null:null}function n(a){return"idle"!==a.activity&&null===a.pid&&("codex-sessions"===a.root?a.path.endsWith(".jsonl"):"claude-projects"===a.root&&!!a.path.endsWith(".jsonl")&&!g().basename(a.path).startsWith("agent-")&&!a.path.includes(g().sep+"subagents"+g().sep))}function o(a){let b=g().basename(a).match(k);return b?.at(-1)?.toLowerCase()??null}function p(a){let b=a.indexOf("--session-id"),c=b>=0?a[b+1]:void 0;return c?c.toLowerCase():null}function q(a){return a.replace(/[^A-Za-z0-9]/g,"-")}function r(a){return g().relative(j.GH["claude-projects"],a).split(g().sep)[0]??""}function s(a){let b=l.get(a);if(void 0!==b&&""!==b)return b;let c="";try{let b=e().openSync(a,"r");try{let a=Buffer.alloc(8192),d=e().readSync(b,a,0,a.length,0);c=a.toString("utf8",0,d)}finally{e().closeSync(b)}}catch{return""}let d="";try{let a=JSON.parse(c.split("\n")[0]??"{}");d="string"==typeof a.payload?.cwd?a.payload.cwd:""}catch{d=""}return l.set(a,d),d}function t(a,b){a.pid=b,a.proc="running"}function u(a){let b=a.filter(n).slice(0,12);if(0===b.length)return;let c=(0,i.SP)(b.map(a=>a.path)),d=new Set,e=[];for(let a of b){let b=c.get(a.path)??null;null!==b&&(0,i.pl)(b)?(t(a,b),d.add(b)):e.push(a)}if(0===e.length)return;let f=(0,i.Bj)().filter(a=>!d.has(a.pid)),g=new Map;for(let a of f){let b=p(a.argv);if(!b)continue;let c=a.engine+":"+b,d=g.get(c);d?d.push(a):g.set(c,[a])}let h=[];for(let a of e){let b=o(a.path),c="codex-sessions"===a.root?"codex":"claude",e=(b?g.get(c+":"+b)??[]:[]).filter(a=>!d.has(a.pid));1===e.length?(t(a,e[0].pid),d.add(e[0].pid)):h.push(a)}if(0===h.length)return;let j=new Map;for(let a of f){if(0===a.tty||d.has(a.pid))continue;let b="claude"===a.engine?"claude:"+q(a.cwd):"codex:"+a.cwd,c=j.get(b);c?c.push(a):j.set(b,[a])}let k=new Set;for(let a of h){let b=function(a){if("claude-projects"===a.root){let b=r(a.path);return b?"claude:"+b:null}let b=s(a.path);return b?"codex:"+b:null}(a);if(null===b||k.has(b))continue;k.add(b);let c=(j.get(b)??[]).filter(a=>!d.has(a.pid));1===c.length&&(t(a,c[0].pid),d.add(c[0].pid))}}function v(a,b){let c=m(a);if(null===c||!(0,i.pl)(b))return!1;let d=(0,i.$U)(b);if((0,i.Fe)(d)!==c||(0,i.Vt)(d))return!1;if((0,i.FQ)(b,a))return!0;let e=o(a);if(null!==e&&p(d)===e)return!0;let f=(0,i.$L)(b);if(null===f)return!1;if("claude"===c)return q(f)===r(a);let g=s(a);return""!==g&&g===f}},23855:(a,b,c)=>{"use strict";c.d(b,{E:()=>k,H:()=>j});var d=c(73024),e=c.n(d),f=c(52509),g=c(95544),h=c(7378);let i=(0,f.E)("turn");function j(a,b,c=131072){let d,f=0;try{let g=e().openSync(a,"r");try{f=Math.max(0,b-c);let a=Buffer.alloc(Math.max(0,b-f));e().readSync(g,a,0,a.length,f),d=a.toString("utf8")}finally{e().closeSync(g)}}catch{return[]}let g=d.split("\n");f>0&&g.length&&(g=g.slice(1));let h=[];for(let a of g){let b=a.trim();if(b)try{let a=JSON.parse(b);a&&"object"==typeof a&&!Array.isArray(a)&&h.push(a)}catch{}}return h}function k(a,b,c,d,e=null){let f=Date.now()/1e3-c;if("codex-jobs"===a){let a=e??(0,g.Vh)(b.replace(/\.log$/,".json"));if(a){if("running"===a.status){let b=(0,g.Vg)(a.pid);return null!==b&&(0,h.pl)(b)?"live":f<900?"recent":"idle"}return f<900?"recent":"idle"}}if("claude-tasks"===a&&b.endsWith(".output"))return(0,h.$w)().has(b)?"live":f<900?"recent":"idle";if(b.endsWith(".jsonl")){let c,e=i.get(b);if(e?.[0]===d?c=e[1]:(c=function(a,b,c){for(let d of j(a,b).reverse()){if(c){let a=(0,g.xK)(d.payload)??{},b=(0,g.r$)(a.type);if("session_meta"===d.type||"token_count"===b||"reasoning"===b||null===b)continue;if("agent_message"===b||"task_complete"===b||"turn_complete"===b)return"done";if("message"===b)return"assistant"===a.role?"done":"busy";return"busy"}let a=d.type;if("assistant"===a){let a=(0,g.Em)((0,g.xK)(d.message)?.content);if(a.map(a=>a.type).includes("tool_use"))return"busy";if(a.some(a=>"text"===a.type&&((0,g.r$)(a.text)??"").trim()))return"done";return"busy"}if("user"===a)return"busy"}return null}(b,d,a.startsWith("codex")),i.set(b,[d,c])),"busy"===c)return f<180?"live":"stalled";if("done"===c)return f<900?"recent":"idle"}return f<20?"live":f<900?"recent":"idle"}},30795:(a,b,c)=>{"use strict";function d(a,b=160){let c=a.replace(/\[([^\]]+)\]\(([^)]+)\)/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/[*_~#>]+/g,"").replace(/\s+/g," ").trim().replace(/(?:\/[^\s)]+){3,}/g,a=>{if(a.length<=40)return a;let b=a.split("/").filter(Boolean);return b.length>=2?".../"+b.slice(-2).join("/"):a}).replace(/\s+/g," ").trim();return c.length>b?c.slice(0,b-1).trimEnd()+"…":c}c.d(b,{cr:()=>d})},37020:(a,b,c)=>{"use strict";c.d(b,{C:()=>R});var d=c(23855),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(48161),j=c.n(i),k=c(30795),l=c(52509),m=c(95544);let n=(0,l.E)("meta"),o=(0,l.E)("title"),p=(0,l.E)("codex-project");function q(a,b){try{let c=f().openSync(a,"r");try{let a=Buffer.alloc(Math.min(b,131072)),d=f().readSync(c,a,0,a.length,0);return{text:a.toString("utf8",0,d),read:d}}finally{f().closeSync(c)}}catch{return null}}let r="-"+j().homedir().split(h().sep).filter(Boolean).join("-"),s=[r+"-Projects-",r+"-"],t=["<","#","Caveat:","{","[","This session is being continued"];function u(a){if(a===r)return h().basename(j().homedir());for(let b of s)if(a.startsWith(b))return a.slice(b.length)||a;return a}function v(a){let b="string"==typeof a?a.trim():"";return b&&!t.some(a=>b.startsWith(a))?b:null}function w(a,b,c){let d=o.get(a);if(d&&(null!==d[1]||d[0]>=131072))return d[1];let e=q(a,b);if(!e)return d?.[1]??null;let f=function(a,b){for(let c of a){let a;try{let b=JSON.parse(c);if(!b||"object"!=typeof b||Array.isArray(b))continue;a=b}catch{continue}if("summary"===a.type){let b=v(a.summary);if(b)return b}if("ai-title"===a.type){let b=v(a.aiTitle);if(b)return b}if(b){let b=(0,m.xK)(a.payload)??{};if("user_message"===b.type){let a=v(b.message);if(a)return a}if("message"===b.type&&"user"===b.role){let a=v((0,m.Em)(b.content).map(a=>(0,m.r$)(a.text)??(0,m.r$)(a.input_text)??"").join(" ").trim());if(a)return a}}else if("user"===a.type){let b=(0,m.xK)(a.message)?.content;if("string"==typeof b){let a=v(b);if(a)return a}let c=v((0,m.Em)(b).filter(a=>"text"===a.type).map(a=>(0,m.r$)(a.text)??"").join(" ").trim());if(c)return c}}return null}(e.text.split("\n").slice(0,151),c);return o.set(a,[e.read,f]),f}var x=c(89333);function y(a,b){let c=h().relative(a,b).split(h().sep);return 4===c.length&&"tasks"===c[2]&&c[3]?.endsWith(".output")?[c[0]??"",c[1]??"",c[3].slice(0,-7)]:null}let z=(0,l.E)("needle");function A(a,b){let c,d=z.get(a);if(d&&d.hits||(d={hits:{},scanned:d?.scanned??{}},z.set(a,d)),d.hits[b])return!0;let e=Buffer.from(a),g=Math.max(0,e.length-1);try{c=f().statSync(b).size}catch{return!1}let h=d.scanned[b]??0;if(c<=h)return!1;try{let a=f().openSync(b,"r");try{let i=Math.max(0,h-g),j=Buffer.alloc(0),k=!1;for(;i<c;){let b=Math.min(1048576,c-i),d=Buffer.alloc(b),h=f().readSync(a,d,0,b,i);if(!h)break;if(Buffer.concat([j,d.subarray(0,h)]).includes(e)){k=!0;break}j=g?d.subarray(Math.max(0,h-g),h):Buffer.alloc(0),i+=h}return d.scanned[b]=c,k&&(d.hits[b]=!0),k}finally{f().closeSync(a)}}catch{return!1}}function B(a,b){for(let c of b)if(c&&A(a,c))return c;return null}var C=c(7378);let D=(0,l.E)("sid-slug"),E=(0,l.E)("bgcmd"),F=(0,l.E)("chain-uuid");function G(a,b,c=[]){let d;try{d=f().readdirSync(a,{withFileTypes:!0})}catch{return c}for(let e of d){let d=h().join(a,e.name);e.isDirectory()?G(d,b,c):e.isFile()&&b(d)&&c.push(d)}return c}function H(a,b){let c=x.GH["claude-projects"],d=b??D.get(a)??null;if(!d){let b=G(c,b=>h().basename(b)===a+".jsonl")[0];if(!b)return[null,[]];d=h().basename(h().dirname(b)),D.set(a,d)}let e=h().join(c,d,a+".jsonl"),g=G(h().join(c,d,a,"subagents"),a=>h().basename(a).startsWith("agent-")&&a.endsWith(".jsonl")).sort();return[f().existsSync(e)?e:null,g]}let I=h().join(j().homedir(),".claude","viewer-state","codex-lineage.json"),J=(0,l.E)("codex-lineage"),K=!1,L=!1,M=(0,l.E)("model");function N(a){return a?a.trim().replace(/^claude-/,"").replace(/-20\d{6}$/,""):null}function O(a,b){if("codex-sessions"===a.root){if("turn_context"===b.type||"session_meta"===b.type)return(0,m.r$)((0,m.xK)(b.payload)?.model)}else if("assistant"===b.type){let a=(0,m.r$)((0,m.xK)(b.message)?.model);if(a&&"<synthetic>"!==a)return a}return null}var P=c(15159);let Q=new Map;async function R(){let a=function(){let a=[];for(let[b,c]of Object.entries(x.GH))f().existsSync(c)&&function a(b,c,d,e){let g;try{g=f().readdirSync(d,{withFileTypes:!0})}catch{return}for(let i of g){let g;if(i.isDirectory()){if(i.name.startsWith(".git"))continue;a(b,c,h().join(d,i.name),e);continue}if(!i.isFile()||!x.Rg.some(a=>i.name.endsWith(a)))continue;let j=h().join(d,i.name);if("claude-projects"===b&&j.includes(h().sep+"tool-results"+h().sep))continue;try{g=f().statSync(j)}catch{continue}let k="claude-tasks"===b?y(x.GH["claude-tasks"],j):null;if(("claude-tasks"!==b||k)&&(0!==g.size||k)){if(k){let[a,b,c]=k,d=h().join(x.GH["claude-projects"],a,b,"subagents","agent-"+c+".jsonl");if(f().existsSync(d))continue}e.push({rootName:b,root:c,path:j,st:g})}}}(b,c,c,a);return a.sort((a,b)=>b.st.mtimeMs-a.st.mtimeMs),a.slice(0,x.aA).map(a=>{let b=function(a,b,c,d){let e=n.get(c);if(e?.[0]===d.size)return e[1];let f=h().relative(b,c),g=h().basename(c),i="інше",j=null,l="claude",o="",r="plain";if("codex-jobs"===a){let a=f.split(h().sep)[0]??"",b=a.split("-"),d=b.at(-1)??"";i=b.length>=2&&d.length>=12?b.slice(0,-1).join("-"):a,l="codex",o="джоба";let e=(0,m.Vh)(c.replace(/\.log$/,".json"));if(e){let a=[(0,m.r$)(e.kindLabel)??"",(0,m.r$)(e.title)??""].filter(Boolean).join(" \xb7 "),b=((0,m.r$)(e.summary)??"").split(/\s+/).join(" ").trim();j=a+(b?" — "+b:"")||g}else j=g}else if("codex-sessions"===a){if(!(i=p.get(c)??"")){let a=q(c,d.size);if(a)try{let b=JSON.parse(a.text.split("\n")[0]??"{}");i=h().basename((0,m.r$)((0,m.xK)(b.payload)?.cwd)??"")}catch{i=""}i&&p.set(c,i)}i||(i="codex"),l="codex",o="сесія",r="codex",j=w(c,d.size,!0)??"Сесія Codex"}else if("claude-projects"===a)if(i=u(f.split(h().sep)[0]??""),r="claude",g.startsWith("agent-")){o="субагент";let a=(0,m.Vh)(c.slice(0,-6)+".meta.json")??{};j=(0,m.r$)(a.description)??(0,m.r$)(a.name)??"Субагент "+g.slice(6).split(".")[0]}else o="сесія",j=w(c,d.size,!1)??"Сесія Claude";else"claude-tasks"===a&&(i=u(f.split(h().sep)[0]??""),l="shell",o="фон",j="Фонова задача "+g.split(".")[0]);let s={project:i,title:(0,k.cr)(j??g,120),engine:l,kind:o,fmt:r};return n.set(c,[d.size,s]),s}(a.rootName,a.root,a.path,a.st);return{path:a.path,root:a.rootName,name:h().relative(a.root,a.path),project:b.project,title:b.title,engine:b.engine,kind:b.kind,fmt:b.fmt,parent:null,mtime:a.st.mtimeMs/1e3,size:a.st.size,activity:"idle",proc:null,pid:null,model:null}})}(),b=a.some(a=>"claude-tasks"===a.root&&a.path.endsWith(".output"))?(0,C.$w)():Q,c=new Map;for(let b of a){let a="codex-jobs"===b.root?(0,m.Vh)(b.path.replace(/\.log$/,".json")):null;c.set(b.path,a),b.activity=(0,d.E)(b.root,b.path,b.mtime,b.size,a),b.model=function(a){if("claude-projects"===a.root&&a.path.includes(h().sep+"subagents"+h().sep)){let b=(0,m.Vh)(a.path.slice(0,-6)+".meta.json")??{},c=(0,m.r$)(b.model);if(c)return N(c)}if("claude-projects"!==a.root&&"codex-sessions"!==a.root||!a.path.endsWith(".jsonl"))return null;let b=M.get(a.path);if(b?.[0]===a.size)return b[1];let c=null;for(let b of(0,d.H)(a.path,a.size).reverse())if(c=O(a,b))break;if(!c)try{for(let b of f().readFileSync(a.path,"utf8").split("\n").slice(0,41))try{let d=JSON.parse(b);if(d&&"object"==typeof d&&!Array.isArray(d)&&(c=O(a,d)))break}catch{}}catch{}let e=N(c);return M.set(a.path,[a.size,e]),e}(b)}for(let d of a)!function(a,b,c){if("codex-jobs"===a.root){if(!c)return;let b=(0,m.Vg)(c.pid);return(a.pid=b,"running"===c.status)?null!==b&&(0,C.pl)(b)?(a.proc="running",a.activity="live"):(a.proc="killed","live"===a.activity&&(a.activity=Date.now()/1e3-a.mtime<900?"recent":"idle")):a.proc="done"}if("claude-tasks"===a.root&&a.path.endsWith(".output")){let c=b.get(a.path)??null;a.pid=c,a.proc=null===c?"done":"running",null!==c&&(a.activity="live")}}(d,b,c.get(d.path)??null);return(0,P.em)(a),!function(a){let b=new Map(a.map(a=>[a.path,a])),c=new Map;if(f().existsSync(x.GH["codex-jobs"]))for(let a of G(x.GH["codex-jobs"],a=>h().basename(a).startsWith("task-")&&a.endsWith(".json"))){let b=(0,m.Vh)(a),d=(0,m.r$)(b?.threadId);d&&c.set(d,a.slice(0,-5)+".log")}for(let b of a)if("claude-projects"===b.root){let a=b.name.split(h().sep);if(a.length>=3&&"subagents"===a.at(-2)){let c=a[0]??"",[d,e]=H(a.at(-3)??"",c);b.parent=d;let f=(0,m.Vh)(b.path.slice(0,-6)+".meta.json")??{},g=(0,m.r$)(f.toolUseId),h=Number(f.spawnDepth??0);if(g&&h>=1){let a=B(g,e.filter(a=>a!==b.path).concat(d?[d]:[]));a&&(b.parent=a)}}}else if("codex-jobs"===b.root){var d;let a=(d=b.path,(0,m.Vh)(d.replace(/\.log$/,".json"))??{}),c=(0,m.r$)(a.sessionId);if(c){let d=(0,m.r$)(a.workspaceRoot)??"",e=d?d.replace(/[^A-Za-z0-9-]/g,"-"):null,[f,g]=H(c,e);!f&&e&&([f,g]=H(c,null));let i=B(h().basename(b.path).slice(0,-4),g);b.parent=i??f}}else if("codex-sessions"===b.root){let a=b.path.match(/([0-9a-f-]{36})\.jsonl$/)?.[1];a&&c.has(a)&&(b.parent=c.get(a)??null)}else if("claude-tasks"===b.root){let a=y(x.GH["claude-tasks"],b.path);if(!a)continue;let[c,d,e]=a,[g,i]=H(d,c),j=function(a,b,c){if(E.has(a))return E.get(a)??null;let d="background with ID: "+a,e=null;for(let g of[...b,...c]){if(!g||!A(d,g))continue;let b=function(a,b){let c=null;try{for(let d of f().readFileSync(b,"utf8").split("\n"))if(d.includes(a)){c=d.match(/"tool_use_id"\s*:\s*"([^"]+)"/)?.[1]??null;break}if(!c)return null;for(let a of f().readFileSync(b,"utf8").split("\n"))if(a.includes(c)&&a.includes('"tool_use"'))try{let b=JSON.parse(a);for(let a of(0,m.Em)((0,m.xK)(b.message)?.content))if("tool_use"===a.type&&a.id===c){let b=(0,m.xK)(a.input)??{};return{command:String(b.command??""),description:String(b.description??"")}}}catch{}}catch{}return null}(d,g);if(b&&(b.command||b.description)){let c={...b,source:g};return E.set(a,c),c}e??={command:"",description:"",source:g}}return e&&E.set(a,e),e}(e,(g?[g]:[]).concat(i),function(a,b){let c,d=h().join(x.GH["claude-projects"],a);try{c=f().readdirSync(d,{withFileTypes:!0})}catch{return[]}let e=[];for(let a of c){if(!a.isFile()||!a.name.endsWith(".jsonl")||a.name===b+".jsonl")continue;let c=h().join(d,a.name);try{let a=f().statSync(c);if(a.size>0x4000000)continue;e.push({pathname:c,mtime:a.mtimeMs})}catch{continue}}return e.sort((a,b)=>b.mtime-a.mtime).slice(0,8).map(a=>a.pathname)}(c,d));if(j){b.parent=j.source,b.cmd=j.command,b.cmdDesc=j.description;let a=j.description||j.command;a&&(b.title=a.split(/\s+/).join(" ").slice(0,120))}else b.title="Фонова задача "+e,b.cmd="",b.cmdDesc=""}!function(a){!function(){if(K)return;K=!0;let a=(0,m.Vh)(I);if(a&&"object"==typeof a&&!Array.isArray(a)){for(let[b,c]of Object.entries(a))"string"==typeof c&&!J.has(b)&&f().existsSync(b)&&J.set(b,c);J.size!==Object.keys(a).length&&(L=!0)}}();let b=a.filter(a=>"codex-sessions"===a.root&&!a.parent);if(0===b.length)return;let c=new Map;for(let b of a)"claude-projects"===b.root&&null!==b.pid&&c.set(b.pid,b.path);for(let a of b){let b=null,f=new Set;for(let d=a.pid;null!==d&&!f.has(d)&&(f.add(d),!(f.size>15));d=(0,C.Ib)(d)){let a=c.get(d)??(0,C.FW)(d,"CODEX_COMPANION_TRANSCRIPT_PATH");if(a){b=a;break}}if(b){a.parent=b;var d=a.path,e=b;if(J.get(d)!==e){for(J.set(d,e);J.size>2e3;){let a=J.keys().next().value;if(void 0===a)break;J.delete(a)}L=!0}}else{let b=J.get(a.path);b&&(a.parent=b)}}if(L){L=!1;try{f().mkdirSync(h().dirname(I),{recursive:!0}),f().writeFileSync(I,JSON.stringify(Object.fromEntries(J)))}catch{}}}(a),function(a){let b=new Map;for(let c of a){if("claude-projects"!==c.root)continue;let a=c.name.split(h().sep);if(2!==a.length)continue;let d=a[0]??"";b.set(d,(b.get(d)??[]).concat(c))}let c=(a,b,c)=>{let d=new Map(c.map(a=>[a.path,a])),e=new Set;for(let c=a;c?.parent&&!e.has(c.path);c=d.get(c.parent))if(e.add(c.path),c.parent===b.path)return!0;return!1};for(let a of b.values()){let b=[...a].sort((a,b)=>a.mtime-b.mtime);for(let d of b){let e=function(a,b){let c=F.get(a);if(c&&(null!==c[1]||c[0]>=524288||c[0]>=b))return c[1];let d=null,e=0;try{let c=f().openSync(a,"r");try{let a=Buffer.alloc(Math.min(b,524288));for(let b of(e=f().readSync(c,a,0,a.length,0),a.toString("utf8",0,e).split("\n")))if(b.includes('"compact_boundary"')){d=b.match(/"logicalParentUuid"\s*:\s*"([0-9a-f-]{36})"/)?.[1]??null;break}}finally{f().closeSync(c)}}catch{return null}return F.set(a,[e,d]),d}(d.path,d.size);if(!e)continue;let g=b.filter(a=>a!==d&&!a.parent).sort((a,b)=>b.mtime-a.mtime),h="live"===d.activity||"recent"===d.activity,i=g.find(a=>A(e,a.path))??(h?g.find(a=>"live"!==a.activity):void 0);i&&!c(d,i,a)&&(i.parent=d.path)}}}(a);let e=a=>{let c=new Set,d=a;for(;!c.has(d.path);){c.add(d.path);let a=b.get(d.parent??"");if(!a)return d.project;d=a}return a.project};for(let c of a)c.parent&&b.has(c.parent)?c.project=e(c):c.parent=null}(a),a}},52509:(a,b,c)=>{"use strict";c.d(b,{E:()=>e});let d=globalThis;function e(a){return d.__llvCaches??={},d.__llvCaches[a]??=new Map,d.__llvCaches[a]}},78335:()=>{},89333:(a,b,c)=>{"use strict";let d,e,f;c.d(b,{EG:()=>s,GH:()=>n,Rg:()=>o,aA:()=>q,jQ:()=>p});var g=c(73024),h=c.n(g),i=c(48161),j=c.n(i),k=c(76760),l=c.n(k);let m=j().homedir(),n={"codex-jobs":l().join(m,".claude/plugins/data/codex-openai-codex/state"),"codex-sessions":l().join(m,".codex/sessions"),"claude-projects":l().join(m,".claude/projects"),"claude-tasks":(d=process.getuid?.()??1e3,e=l().join(j().tmpdir(),"claude-"+d),e===(f="/tmp/claude-"+d)||h().existsSync(e)?e:h().existsSync(f)?f:e)},o=[".log",".jsonl",".output",".txt"],p=786432,q=400;function r(a){try{return h().realpathSync(a)}catch{return null}}function s(a){let b=r(a);return!!b&&Object.values(n).some(a=>{let c=r(a);return null!==c&&b.startsWith(c+l().sep)})}},95544:(a,b,c)=>{"use strict";c.d(b,{Em:()=>k,Vg:()=>i,Vh:()=>g,r$:()=>h,xK:()=>j});var d=c(73024),e=c.n(d);let f=(0,c(52509).E)("json");function g(a){let b;try{b=e().statSync(a).mtimeMs}catch{return null}let c=f.get(a);if(c?.[0]===b)return c[1];let d=null;try{d=JSON.parse(e().readFileSync(a,"utf8"))}catch{d=null}let g=d&&"object"==typeof d&&!Array.isArray(d)?d:null;return f.set(a,[b,g]),g}function h(a){return"string"==typeof a?a:null}function i(a){return"number"==typeof a&&Number.isFinite(a)?a:null}function j(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}function k(a){return Array.isArray(a)?a.filter(a=>null!==a&&"object"==typeof a&&!Array.isArray(a)):[]}},96487:()=>{}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=459,exports.ids=[459],exports.modules={2739:(a,b,c)=>{c.d(b,{Am:()=>T,Fu:()=>q,IJ:()=>S,lV:()=>C,aI:()=>v,mB:()=>H,u1:()=>u,A9:()=>B,EW:()=>x,oF:()=>w,KY:()=>J,Tk:()=>R});var d=c(31421),e=c(77598),f=c.n(e),g=c(73024),h=c.n(g),i=c(48161),j=c.n(i),k=c(76760),l=c.n(k);let m={"image/png":"png","image/jpeg":"jpg","image/jpg":"jpg","image/gif":"gif","image/webp":"webp"};var n=c(37020),o=c(7378);let p=l().join(j().homedir(),".claude","viewer-inbox");function q(a){let b=Array.isArray(a.images)?a.images:a.image&&"object"==typeof a.image?[a.image]:[],c=[];for(let a of b){let b=a&&"object"==typeof a?a.base64:void 0,d=a&&"object"==typeof a?a.mime:void 0;if("string"!=typeof b||!b)return{images:[],error:{error:"некоректне зображення",status:400}};if(null===(m["string"==typeof d?d:""]??null))return{images:[],error:{error:"непідтримуваний тип зображення",status:415}};if(function(a){if(!a.length)return 0;let b=a.endsWith("==")?2:+!!a.endsWith("=");return Math.floor(3*a.length/4)-b}(b)>0xa00000)return{images:[],error:{error:"зображення завелике (ліміт 10 МБ)",status:413}};c.push({base64:b,mime:d})}return{images:c,error:null}}let r=null;function s(a,b){return new Promise((c,e)=>{let f=(0,d.spawn)("tmux",a,{stdio:["pipe","pipe","pipe"]}),g="",h="";f.stdout.on("data",a=>g+=a.toString("utf8")),f.stderr.on("data",a=>h+=a.toString("utf8")),f.on("error",e),f.on("close",a=>c({code:a,stdout:g,stderr:h})),void 0!==b?f.stdin.end(b):f.stdin.end()})}async function t(){let a,b=Date.now();if(r&&b-r.at<5e3)return r.map;let c=new Map;try{a=await s(["list-panes","-a","-F","#{session_name}:#{window_index}.#{pane_index} #{pane_pid}"])}catch{return r={at:b,map:c},c}if(0===a.code)for(let b of a.stdout.split("\n")){let a=b.lastIndexOf(" ");if(a<0)continue;let d=b.slice(0,a).trim(),e=Number(b.slice(a+1).trim());d&&Number.isInteger(e)&&e>0&&c.set(e,d)}return r={at:b,map:c},c}async function u(a){if(!Number.isInteger(a)||a<=0)return null;let b=await t();if(0===b.size)return null;let c=new Set,d=a;for(let a=0;a<64&&null!==d&&d>1;a+=1){let a=b.get(d);if(a)return a;if(c.has(d)||(0,o.Vt)((0,o.$U)(d)))break;c.add(d),d=(0,o.Ib)(d)}return null}async function v(){let a=new Set;for(let b of(await (0,n.C)()))null!==b.pid&&"running"===b.proc&&(0,o.pl)(b.pid)&&a.add(b.pid);return a}async function w(a,b){let c=`viewer-${Date.now()}-${Math.floor(1e6*Math.random())}`,d=await s(["load-buffer","-b",c,"-"],Buffer.from(b,"utf8"));if(0!==d.code)throw Error(d.stderr.trim()||"не вдалося завантажити буфер tmux");let e=await s(["paste-buffer","-d","-p","-b",c,"-t",a]);if(0!==e.code)throw Error(e.stderr.trim()||"не вдалося вставити текст у пейн");let f=await s(["send-keys","-t",a,"Enter"]);if(0!==f.code)throw Error(f.stderr.trim()||"не вдалося натиснути Enter")}async function x(a){let b=await s(["send-keys","-t",a,"Escape"]);if(0!==b.code)throw Error(b.stderr.trim()||"не вдалося надіслати Escape")}async function y(){let a=await s(["list-clients","-F","#{client_activity} #{client_session}"]).catch(()=>null),b=a=>{let b=null;for(let c of a.split("\n")){let a=c.indexOf(" ");if(a<0)continue;let d=Number(c.slice(0,a)),e=c.slice(a+1).trim();e&&Number.isFinite(d)&&(!b||d>b.at)&&(b={at:d,name:e})}return b?.name??null};if(a&&0===a.code){let c=b(a.stdout);if(c)return c}let c=await s(["list-sessions","-F","#{session_activity} #{session_name}"]).catch(()=>null);if(c&&0===c.code){let a=b(c.stdout);if(a)return a}let d=await s(["new-session","-d","-s","agents"]);if(0!==d.code&&!/duplicate session/.test(d.stderr))throw Error(d.stderr.trim()||"не вдалося створити tmux-сесію");return"agents"}function z(a){let b=j().homedir();for(let c of[l().join(b,".bun","bin",a),l().join(b,".npm-global","bin",a),l().join(b,".local","bin",a),l().join(b,"go","bin",a),"/usr/local/bin/"+a,"/usr/bin/"+a])try{return h().accessSync(c,h().constants.X_OK),c}catch{}return a}function A(a){try{for(let b of h().readFileSync(a,"utf8").split("\n").slice(0,30))try{let a=JSON.parse(b),c="string"==typeof a.cwd?a.cwd:null,d=a.payload&&"object"==typeof a.payload?a.payload:null,e=d&&"string"==typeof d.cwd?d.cwd:null,f=c??e;if(f&&h().existsSync(f))return f}catch{}}catch{}return j().homedir()}function B(a,b){let c=l().basename(b);if("claude-projects"===a&&c.endsWith(".jsonl")&&!b.includes(l().sep+"subagents"+l().sep)){let a=c.slice(0,-6);return/^[0-9a-f-]{36}$/.test(a)?{command:`${z("claude")} --dangerously-skip-permissions --resume ${a}`,cwd:A(b),windowName:"claude-resume"}:null}if("codex-sessions"===a&&c.endsWith(".jsonl")){let a=c.match(/([0-9a-f-]{36})\.jsonl$/)?.[1];return a?{command:`${z("codex")} resume ${a}`,cwd:A(b),windowName:"codex-resume"}:null}return null}function C(a,b){return"claude"===a?{command:`${z("claude")} --dangerously-skip-permissions`,cwd:b,windowName:"claude-new"}:{command:z("codex"),cwd:b,windowName:"codex-new"}}let D=l().join(j().homedir(),".claude","viewer-state","resume-panes.json"),E=null;function F(){if(E)return E;E=new Map;try{let a=JSON.parse(h().readFileSync(D,"utf8"));for(let[b,c]of Object.entries(a))c&&"string"==typeof c.paneId&&"string"==typeof c.windowName&&E.set(b,c)}catch{}return E}function G(){if(E)try{h().mkdirSync(l().dirname(D),{recursive:!0}),h().writeFileSync(D,JSON.stringify(Object.fromEntries(E)))}catch{}}async function H(a){let b=F().get(a);if(!b)return null;let c=await s(["display-message","-p","-t",b.paneId,"#{window_name} #{pane_current_command} #{session_name}:#{window_index}.#{pane_index}"]).catch(()=>null),d=c&&0===c.code?c.stdout.trim().split(" "):null;return!d||3!==d.length||d[0]!==b.windowName||K.has(d[1]??"")?(F().delete(a),G(),null):{paneId:b.paneId,display:d[2]??b.paneId}}let I=new Map;async function J(a,b,c){let d=await H(a);if(d)return await w(d.paneId,c),{target:d.display,spawned:!1};let e=I.get(a);if(e){let a=await e;return await w(a.paneId,c),{target:a.display,spawned:!1}}let f=R(b,c);I.set(a,f);try{let c=await f;return F().set(a,{paneId:c.paneId,windowName:b.windowName}),G(),{target:c.display,spawned:!0}}finally{I.delete(a)}}let K=new Set(["zsh","bash","fish","sh","dash"]),L=/\? for shortcuts|bypass permissions on|Press up to edit|⏎ send/,M=/Resume from summary/,N=/trust (?:the files in )?this folder|Do you trust the files/i;async function O(a){let b=await s(["display-message","-p","-t",a,"#{pane_current_command}"]).catch(()=>null);return b&&0===b.code?b.stdout.trim():null}async function P(a){let b=await s(["capture-pane","-p","-t",a]).catch(()=>null);return b&&0===b.code?b.stdout:""}function Q(a){return a.split("\n").filter(a=>a.trim()).slice(-3).join(" | ").slice(0,300)}async function R(a,b){let c=await y(),d=await s(["new-window","-d","-P","-F","#{pane_id} #{session_name}:#{window_index}.#{pane_index}","-t",c+":","-n",a.windowName,"-c",a.cwd]);if(0!==d.code)throw Error(d.stderr.trim()||"не вдалося відкрити tmux-вікно");let[e="",f=""]=d.stdout.trim().split(" ");if(!e)throw Error("tmux не повернув адресу вікна");let g=await s(["send-keys","-t",e,"-l",a.command]);if(0!==g.code)throw Error(g.stderr.trim()||"не вдалося ввести команду в пейн");let h=await s(["send-keys","-t",e,"Enter"]);if(0!==h.code)throw Error(h.stderr.trim()||"не вдалося запустити агента");let i=Date.now()+6e4,j=!1,k="",l="",m=0;for(;Date.now()<i;){await new Promise(a=>setTimeout(a,1e3));let a=await O(e);if(null===a)throw Error("вікно агента закрилося одразу після запуску");if(K.has(a)){if(j)throw Error(`агент завершився одразу після запуску: ${Q(await P(e))}`);continue}j=!0;let b=await P(e);if(b!==k&&(M.test(b)||N.test(b))){await s(["send-keys","-t",e,"Enter"]),k=b,l="",m=0;continue}if(L.test(b))break;if(b===l){if((m+=1)>=3)break}else m=0,l=b}let n=await O(e);if(null===n||K.has(n))throw Error(`агент не запустився у вікні: ${Q(await P(e))}`);return b&&await w(e,b),{paneId:e,display:f||e}}function S(a){for(let b of a)try{h().unlinkSync(b)}catch{}}function T(a,b){let c=[];try{for(let a of b)c.push(function(a,b){let c=m[b]??null;if(null===c)throw Error("непідтримуваний тип зображення");let d=Buffer.from(a,"base64");if(0===d.length)throw Error("некоректні дані зображення");if(d.length>0xa00000)throw Error("зображення завелике");h().mkdirSync(p,{recursive:!0});let e=l().join(p,`img-${Date.now()}-${f().randomUUID().slice(0,8)}.${c}`);return h().writeFileSync(e,d),{path:e}}(a.base64,a.mime).path)}catch(a){throw S(c),a}return{payload:[a,...c].filter(Boolean).join("\n"),imagePaths:c}}},35961:(a,b,c)=>{c.d(b,{W:()=>g});var d=c(23211);let e=["localhost","127.0.0.1","::1"];function f(a){if(a.startsWith("[")){let b=a.indexOf("]");return -1===b?a:a.slice(1,b)}let b=a.lastIndexOf(":");return -1===b?a:a.slice(0,b)}function g(a){let b=new Set(e),c=process.env.LLV_TS_HOST;c&&b.add(f(c));let d=a.headers.get("host");if(null===d||!b.has(f(d)))return h();let g=a.headers.get("origin");if(null!==g){let a;try{a=new URL(g).host}catch{a=null}if(null===a||!b.has(f(a)))return h()}let i=a.headers.get("sec-fetch-site");return null!==i&&"same-origin"!==i&&"none"!==i?h():null}function h(){return d.NextResponse.json({error:"заборонено: запит з іншого origin"},{status:403})}}};
@@ -1 +0,0 @@
1
- self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:12,errorRate:1e-4,numBits:231,numHashes:14,bitArray:[1,0,0,1,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1,0,1,1,1,0,1,1,0,0,0,0,1,1,1,0,1,0,0,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,0,1,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,1,1,0,1,1,1,0,1,0,0,1,0,0,1,1,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,1,1,0,0,0,1,1,1,1,1,1,0,0,1,0,0,0,1,1,1,1,1,0,0,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,0,0,1,1,1,0,0,0,1,0,1,0,0,1,0,1,1,1,1,0,0,0,1,0,1,1,0,1,0,1,1,1,1,0,1,0,1,1,1,0,1,0]},__routerFilterDynamic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:null,bitArray:[]},sortedPages:["/_app"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[206],{99:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("arrow-up-to-line",[["path",{d:"M5 3h14",key:"7usisc"}],["path",{d:"m18 13-6-6-6 6",key:"1kf1n9"}],["path",{d:"M12 7v14",key:"1akyts"}]])},467:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]])},852:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]])},908:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("qr-code",[["rect",{width:"5",height:"5",x:"3",y:"3",rx:"1",key:"1tu5fj"}],["rect",{width:"5",height:"5",x:"16",y:"3",rx:"1",key:"1v8r4q"}],["rect",{width:"5",height:"5",x:"3",y:"16",rx:"1",key:"1x03jg"}],["path",{d:"M21 16h-3a2 2 0 0 0-2 2v3",key:"177gqh"}],["path",{d:"M21 21v.01",key:"ents32"}],["path",{d:"M12 7v3a2 2 0 0 1-2 2H7",key:"8crl2c"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M12 3h.01",key:"n36tog"}],["path",{d:"M12 16v.01",key:"133mhm"}],["path",{d:"M16 12h1",key:"1slzba"}],["path",{d:"M21 12v.01",key:"1lwtk9"}],["path",{d:"M12 21v-1",key:"1880an"}]])},966:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]])},2125:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},2298:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]])},2571:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},2750:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]])},4088:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},4179:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]])},4551:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("message-circle",[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]])},4577:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},4760:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("arrow-down-to-line",[["path",{d:"M12 17V3",key:"1cwfxf"}],["path",{d:"m6 11 6 6 6-6",key:"12ii2o"}],["path",{d:"M19 21H5",key:"150jfl"}]])},4962:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},5045:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]])},5222:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]])},5561:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]])},5688:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("mic",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]])},5796:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("mail",[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]])},6210:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]])},6408:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("corner-down-right",[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]])},6449:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]])},6565:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]])},6619:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]])},6721:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},6851:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("sparkle",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}]])},7381:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]])},7979:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("pencil-line",[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]])},7990:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]])},8617:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("arrow-right-left",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]])},8910:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("binary",[["rect",{x:"14",y:"14",width:"4",height:"6",rx:"2",key:"p02svl"}],["rect",{x:"6",y:"4",width:"4",height:"6",rx:"2",key:"xm4xkj"}],["path",{d:"M6 20h4",key:"1i6q5t"}],["path",{d:"M14 10h4",key:"ru81e7"}],["path",{d:"M6 14h2v6",key:"16z9wg"}],["path",{d:"M14 4h2v6",key:"1idq9u"}]])},9005:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},9314:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},9537:(e,t,a)=>{a.d(t,{A:()=>p});var h=a(2115);let d=(...e)=>e.filter((e,t,a)=>!!e&&""!==e.trim()&&a.indexOf(e)===t).join(" ").trim(),r=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,a)=>a?a.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let y=(0,h.createContext)({}),k=(0,h.forwardRef)(({color:e,size:t,strokeWidth:a,absoluteStrokeWidth:r,className:k="",children:p,iconNode:i,...c},A)=>{let{size:o=24,strokeWidth:s=2,absoluteStrokeWidth:n=!1,color:m="currentColor",className:M=""}=(0,h.useContext)(y)??{},g=r??n?24*Number(a??s)/Number(t??o):a??s;return(0,h.createElement)("svg",{ref:A,...l,width:t??o??l.width,height:t??o??l.height,stroke:e??m,strokeWidth:g,className:d("lucide",M,k),...!p&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(c)&&{"aria-hidden":"true"},...c},[...i.map(([e,t])=>(0,h.createElement)(e,t)),...Array.isArray(p)?p:[p]])}),p=(e,t)=>{let a=(0,h.forwardRef)(({className:a,...l},y)=>(0,h.createElement)(k,{ref:y,iconNode:t,className:d(`lucide-${r(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,a),...l}));return a.displayName=r(e),a}},9805:(e,t,a)=>{a.d(t,{A:()=>h});let h=(0,a(9537).A)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]])}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[80,167,391,403,560,590,635,819,831,851,868,896,988],{4441:()=>{}},_=>{_.O(0,[441,794,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[80,167,391,403,560,590,635,819,831,851,868,896,988],{4441:()=>{}},_=>{_.O(0,[441,794,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[80,167,391,403,560,590,635,819,831,851,868,896,988],{4441:()=>{}},_=>{_.O(0,[441,794,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[80,167,391,403,560,590,635,819,831,851,868,896,988],{4441:()=>{}},_=>{_.O(0,[441,794,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[80,167,391,403,560,590,635,819,831,851,868,896,988],{4441:()=>{}},_=>{_.O(0,[441,794,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[80,167,391,403,560,590,635,819,831,851,868,896,988],{4441:()=>{}},_=>{_.O(0,[441,794,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[80,167,391,403,560,590,635,819,831,851,868,896,988],{4441:()=>{}},_=>{_.O(0,[441,794,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[80,167,391,403,560,590,635,819,831,851,868,896,988],{4441:()=>{}},_=>{_.O(0,[441,794,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[80,167,391,403,560,590,635,819,831,851,868,896,988],{4441:()=>{}},_=>{_.O(0,[441,794,358],()=>_(_.s=4441)),_N_E=_.O()}]);