ompchamber 0.3.0 → 0.5.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.
- package/README.md +17 -10
- package/dist/client/index.html +1 -1
- package/dist/client/static/css/index.5291f58223.css +2 -0
- package/dist/client/static/js/async/{1k.544adbf77d.js → 1k.5974df3b87.js} +2 -2
- package/dist/client/static/js/async/3j.357c80ff38.js +2 -0
- package/dist/client/static/js/async/{3y.22075aa079.js → 3y.ededeebde8.js} +5 -5
- package/dist/client/static/js/async/51.95bcae98af.js +2 -0
- package/dist/client/static/js/async/6.f034c9b528.js +1 -0
- package/dist/client/static/js/async/a.e05da304c8.js +10 -0
- package/dist/client/static/js/async/ar.1e14da5588.js +1 -0
- package/dist/client/static/js/async/ct.b74928f7a3.js +1 -0
- package/dist/client/static/js/async/dc.6dc4b0a04b.js +2 -0
- package/dist/client/static/js/async/fw.6a51998a8e.js +6 -0
- package/dist/client/static/js/async/g.7a4bbd4798.js +2 -0
- package/dist/client/static/js/async/g.7a4bbd4798.js.LICENSE.txt +11 -0
- package/dist/client/static/js/async/{k.e878dd350f.js → k.7466330d1a.js} +2 -2
- package/dist/client/static/js/async/katex-vendor.de6a87c308.js +1 -0
- package/dist/client/static/js/async/kc.bbdb35b771.js +1 -0
- package/dist/client/static/js/async/l6.c56640c205.js +1 -0
- package/dist/client/static/js/async/{m.3fc017a055.js → m.4b29d34f93.js} +3 -3
- package/dist/client/static/js/async/{og.ae7acf03ac.js → og.634fba99ac.js} +2 -2
- package/dist/client/static/js/async/q.7fb4d2f374.js +21 -0
- package/dist/client/static/js/async/rd.cb6bf495bb.js +2 -0
- package/dist/client/static/js/async/rf.d626afc367.js +2 -0
- package/dist/client/static/js/async/s.413c2a4683.js +2 -0
- package/dist/client/static/js/async/s.413c2a4683.js.LICENSE.txt +6 -0
- package/dist/client/static/js/async/sy.d16be843a7.js +94 -0
- package/dist/client/static/js/async/t.cb3fcf8615.js +1 -0
- package/dist/client/static/js/async/ud.3065bfee31.js +2 -0
- package/dist/client/static/js/async/uf.46ad6209fa.js +2 -0
- package/dist/client/static/js/async/uf.46ad6209fa.js.LICENSE.txt +6 -0
- package/dist/client/static/js/async/v.7d28d3c241.js +34 -0
- package/dist/client/static/js/async/v0.394ed37c6b.js +2 -0
- package/dist/client/static/js/async/v0.394ed37c6b.js.LICENSE.txt +6 -0
- package/dist/client/static/js/async/vt.42416b707d.js +1 -0
- package/dist/client/static/js/async/vy.bbe114c4e0.js +2 -0
- package/dist/client/static/js/async/vy.bbe114c4e0.js.LICENSE.txt +6 -0
- package/dist/client/static/js/async/xw.ae67ba06fd.js +31 -0
- package/dist/client/static/js/async/xw.ae67ba06fd.js.LICENSE.txt +4 -0
- package/dist/client/static/js/async/yg.35bebd6d0c.js +149 -0
- package/dist/client/static/js/async/yv.2fa22f009a.js +1 -0
- package/dist/client/static/js/index.0ac93ee878.js +33 -0
- package/dist/client/static/js/index.0ac93ee878.js.LICENSE.txt +4 -0
- package/dist/client/static/js/{markdown-vendor.9da142c67b.js → markdown-vendor.71e43278b3.js} +1 -1
- package/dist/client/static/js/uy.5f791144ce.js +139 -0
- package/package.json +2 -2
- package/src/cli/lib/args.js +1 -0
- package/src/cli/lib/commands/serve.js +7 -0
- package/src/client/App.tsx +22 -5
- package/src/client/components/common/MarkdownRenderer.tsx +36 -0
- package/src/client/components/layout/desktop-layout/index.tsx +1 -1
- package/src/client/components/layout/session-sidebar/Modals.tsx +1 -1
- package/src/client/components/mobile/LayoutWrapper.tsx +1 -1
- package/src/client/components/settings/LazyModal.tsx +46 -0
- package/src/client/components/settings/Modal.tsx +1 -1
- package/src/client/components/workspace/chat-timeline/EmptyWorkspacePrompt.tsx +43 -29
- package/src/client/components/workspace/chat-timeline/MessageItem.tsx +15 -69
- package/src/client/components/workspace/chat-timeline/MessageList.tsx +47 -66
- package/src/client/components/workspace/chat-timeline/RunFooter.tsx +60 -0
- package/src/client/components/workspace/chat-timeline/SubagentView.tsx +37 -21
- package/src/client/components/workspace/chat-timeline/ToolCallCard.tsx +22 -4
- package/src/client/components/workspace/chat-timeline/index.tsx +3 -6
- package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Edit.tsx +15 -19
- package/src/client/components/workspace/chat-timeline/tool-renderers/shared/EnvelopeHeader.tsx +46 -0
- package/src/client/components/workspace/chat-timeline/tool-renderers/shared/FallbackOutput.tsx +18 -68
- package/src/client/components/workspace/file-explorer/TreeItem.tsx +16 -4
- package/src/client/components/workspace/file-explorer/index.tsx +6 -0
- package/src/client/data/models/catalog.ts +8 -0
- package/src/client/data/samples/dialogue-session.ts +1 -1
- package/src/client/data/samples/sample-tools/other.ts +1 -1
- package/src/client/hooks/chat/omp/index.ts +9 -10
- package/src/client/hooks/chat/omp/revalidation-throttle.ts +6 -5
- package/src/client/hooks/chat/timeline/actions.ts +1 -2
- package/src/client/hooks/chat/timeline/index.ts +5 -0
- package/src/client/hooks/chat/timeline/send.ts +2 -3
- package/src/client/hooks/chat/timeline/session-load.ts +3 -4
- package/src/client/hooks/ui/syntax-ready.ts +16 -3
- package/src/client/main.tsx +2 -5
- package/src/client/stubs/elkjs.ts +37 -0
- package/src/client/tailwind.css +10 -0
- package/src/server/index.ts +53 -0
- package/src/server/lib/fs/git-ignore.ts +49 -0
- package/src/server/lib/models/provider-registry.server.ts +44 -20
- package/src/server/lib/omp/core/cli.ts +3 -2
- package/src/server/lib/omp/core/startup.ts +64 -0
- package/src/server/lib/omp/rpc/constants.ts +10 -0
- package/src/server/lib/omp/rpc/lifecycle.test.ts +138 -0
- package/src/server/lib/omp/rpc/manager.ts +32 -4
- package/src/server/lib/omp/rpc/process.ts +1 -1
- package/src/server/lib/omp/rpc/session-commands.ts +32 -9
- package/src/server/lib/omp/rpc/session-registry.ts +3 -2
- package/src/server/lib/omp/rpc/subagent-liveness.test.ts +62 -0
- package/src/server/lib/omp/rpc/subagent-liveness.ts +100 -0
- package/src/server/lib/omp/session/messages.test.ts +112 -0
- package/src/server/lib/omp/session/messages.ts +6 -5
- package/src/server/mock.server.ts +6 -12
- package/src/server/routes/agent/command.ts +34 -16
- package/src/server/routes/chat/stream.ts +13 -30
- package/src/server/routes/fs/read.ts +15 -7
- package/src/server/routes/models/root.ts +5 -1
- package/src/shared/lib/chat/notice-row.test.ts +89 -0
- package/src/shared/lib/chat/notice-row.ts +78 -0
- package/src/shared/lib/chat/omp/abort.ts +41 -0
- package/src/shared/lib/chat/stream-service.ts +0 -76
- package/src/shared/lib/chat/timeline/omp-callbacks.test.ts +154 -0
- package/src/shared/lib/chat/timeline/omp-callbacks.ts +36 -7
- package/src/shared/lib/chat/timeline/run-footer.test.ts +84 -0
- package/src/shared/lib/chat/timeline/run-footer.ts +96 -0
- package/src/shared/lib/chat/tool-output.test.ts +91 -0
- package/src/shared/lib/chat/tool-output.ts +54 -0
- package/src/shared/lib/chat/xml-envelope.ts +158 -0
- package/src/shared/lib/code/highlighter-lazy.ts +106 -0
- package/src/shared/lib/code/highlighter.ts +31 -52
- package/src/shared/lib/code/syntax-highlight.test.ts +36 -1
- package/src/shared/lib/code/syntax-highlight.ts +17 -3
- package/src/shared/lib/format/time.ts +19 -0
- package/src/shared/lib/fs/paths.ts +19 -0
- package/src/shared/lib/markdown/fira-code-fonts.css +51 -0
- package/src/shared/lib/markdown/katex-fonts.css +20 -0
- package/src/shared/lib/markdown/katex.ts +101 -0
- package/src/shared/lib/markdown/marked.ts +23 -14
- package/src/shared/lib/markdown/math.test.ts +109 -0
- package/src/shared/lib/markdown/mermaid.ts +6 -0
- package/src/shared/lib/markdown/sanitize.ts +48 -2
- package/src/shared/lib/omp/session/mapper.ts +11 -3
- package/src/shared/lib/omp/session/messages-map.ts +12 -12
- package/src/shared/types/chat.ts +3 -1
- package/src/shared/types/fs.ts +3 -0
- package/dist/client/static/css/g.f36aa429fa.css +0 -1
- package/dist/client/static/css/index.a0f07455bd.css +0 -2
- package/dist/client/static/css/katex-vendor.ca3a0600e8.css +0 -1
- package/dist/client/static/font/KaTeX_AMS-Regular.1608a09b4a.woff +0 -0
- package/dist/client/static/font/KaTeX_AMS-Regular.4aafdb685c.ttf +0 -0
- package/dist/client/static/font/KaTeX_Caligraphic-Bold.b67709187b.woff +0 -0
- package/dist/client/static/font/KaTeX_Caligraphic-Bold.cce5b8ecea.ttf +0 -0
- package/dist/client/static/font/KaTeX_Caligraphic-Regular.07ef19e7b0.ttf +0 -0
- package/dist/client/static/font/KaTeX_Caligraphic-Regular.dad44a7fc6.woff +0 -0
- package/dist/client/static/font/KaTeX_Fraktur-Bold.9f256b8593.woff +0 -0
- package/dist/client/static/font/KaTeX_Fraktur-Bold.b18f59e1d1.ttf +0 -0
- package/dist/client/static/font/KaTeX_Fraktur-Regular.7c1871215e.woff +0 -0
- package/dist/client/static/font/KaTeX_Fraktur-Regular.ed38e79f57.ttf +0 -0
- package/dist/client/static/font/KaTeX_Main-Bold.b74a1a8b2c.ttf +0 -0
- package/dist/client/static/font/KaTeX_Main-Bold.d181c4650d.woff +0 -0
- package/dist/client/static/font/KaTeX_Main-BoldItalic.70d8b0a530.ttf +0 -0
- package/dist/client/static/font/KaTeX_Main-BoldItalic.e3f82f9d27.woff +0 -0
- package/dist/client/static/font/KaTeX_Main-Italic.47373d1e51.ttf +0 -0
- package/dist/client/static/font/KaTeX_Main-Italic.9024d815ba.woff +0 -0
- package/dist/client/static/font/KaTeX_Main-Regular.7f51fe0340.woff +0 -0
- package/dist/client/static/font/KaTeX_Main-Regular.b7f8fe9b5f.ttf +0 -0
- package/dist/client/static/font/KaTeX_Math-BoldItalic.a879cf8383.ttf +0 -0
- package/dist/client/static/font/KaTeX_Math-BoldItalic.f1035d8d5d.woff +0 -0
- package/dist/client/static/font/KaTeX_Math-Italic.5295ba483a.woff +0 -0
- package/dist/client/static/font/KaTeX_Math-Italic.939bc64440.ttf +0 -0
- package/dist/client/static/font/KaTeX_SansSerif-Bold.94e1e8dc5f.ttf +0 -0
- package/dist/client/static/font/KaTeX_SansSerif-Bold.bf59d231c3.woff +0 -0
- package/dist/client/static/font/KaTeX_SansSerif-Italic.7c9bc82b17.woff +0 -0
- package/dist/client/static/font/KaTeX_SansSerif-Italic.b4c20c84d8.ttf +0 -0
- package/dist/client/static/font/KaTeX_SansSerif-Regular.740484788f.woff +0 -0
- package/dist/client/static/font/KaTeX_SansSerif-Regular.d4d7ba4804.ttf +0 -0
- package/dist/client/static/font/KaTeX_Script-Regular.0750571032.woff +0 -0
- package/dist/client/static/font/KaTeX_Script-Regular.fe9cbbe1a0.ttf +0 -0
- package/dist/client/static/font/KaTeX_Size1-Regular.e1e279cbdd.woff +0 -0
- package/dist/client/static/font/KaTeX_Size1-Regular.fabc004aab.ttf +0 -0
- package/dist/client/static/font/KaTeX_Size2-Regular.577270225e.woff +0 -0
- package/dist/client/static/font/KaTeX_Size2-Regular.d6b476ecd3.ttf +0 -0
- package/dist/client/static/font/KaTeX_Size3-Regular.9acaf01c64.woff +0 -0
- package/dist/client/static/font/KaTeX_Size3-Regular.a144ef5840.ttf +0 -0
- package/dist/client/static/font/KaTeX_Size4-Regular.7a996c9da2.woff +0 -0
- package/dist/client/static/font/KaTeX_Size4-Regular.fbccdabe0a.ttf +0 -0
- package/dist/client/static/font/KaTeX_Typewriter-Regular.6258592bdc.woff +0 -0
- package/dist/client/static/font/KaTeX_Typewriter-Regular.d97aaf4a1e.ttf +0 -0
- package/dist/client/static/font/fira-code-cyrillic-400-normal.5971438a4a.woff2 +0 -0
- package/dist/client/static/font/fira-code-cyrillic-400-normal.9bb7bfea9c.woff +0 -0
- package/dist/client/static/font/fira-code-cyrillic-500-normal.5486265b18.woff2 +0 -0
- package/dist/client/static/font/fira-code-cyrillic-500-normal.89f92bfb31.woff +0 -0
- package/dist/client/static/font/fira-code-cyrillic-600-normal.2805b497e5.woff +0 -0
- package/dist/client/static/font/fira-code-cyrillic-600-normal.86e0df22a3.woff2 +0 -0
- package/dist/client/static/font/fira-code-cyrillic-700-normal.505a88f22a.woff +0 -0
- package/dist/client/static/font/fira-code-cyrillic-700-normal.76f5e8d2e2.woff2 +0 -0
- package/dist/client/static/font/fira-code-cyrillic-ext-400-normal.3c4b15e57d.woff2 +0 -0
- package/dist/client/static/font/fira-code-cyrillic-ext-400-normal.61323debaa.woff +0 -0
- package/dist/client/static/font/fira-code-cyrillic-ext-500-normal.0f34210f2a.woff2 +0 -0
- package/dist/client/static/font/fira-code-cyrillic-ext-500-normal.2497cfa1aa.woff +0 -0
- package/dist/client/static/font/fira-code-cyrillic-ext-600-normal.40fce94af9.woff2 +0 -0
- package/dist/client/static/font/fira-code-cyrillic-ext-600-normal.6c8774b829.woff +0 -0
- package/dist/client/static/font/fira-code-cyrillic-ext-700-normal.4b742eb865.woff +0 -0
- package/dist/client/static/font/fira-code-cyrillic-ext-700-normal.e75eb4fccc.woff2 +0 -0
- package/dist/client/static/font/fira-code-greek-400-normal.bb900468b6.woff2 +0 -0
- package/dist/client/static/font/fira-code-greek-400-normal.be76e699ba.woff +0 -0
- package/dist/client/static/font/fira-code-greek-500-normal.176c9fb001.woff2 +0 -0
- package/dist/client/static/font/fira-code-greek-500-normal.d2c596136b.woff +0 -0
- package/dist/client/static/font/fira-code-greek-600-normal.490c3deed7.woff +0 -0
- package/dist/client/static/font/fira-code-greek-600-normal.7df14376d9.woff2 +0 -0
- package/dist/client/static/font/fira-code-greek-700-normal.c82b6072fc.woff2 +0 -0
- package/dist/client/static/font/fira-code-greek-700-normal.d5f2b2917b.woff +0 -0
- package/dist/client/static/font/fira-code-greek-ext-400-normal.4849a79781.woff +0 -0
- package/dist/client/static/font/fira-code-greek-ext-400-normal.7f5bfc4538.woff2 +0 -0
- package/dist/client/static/font/fira-code-greek-ext-500-normal.aaccca4075.woff2 +0 -0
- package/dist/client/static/font/fira-code-greek-ext-500-normal.e383181256.woff +0 -0
- package/dist/client/static/font/fira-code-greek-ext-600-normal.78cb4bff8e.woff +0 -0
- package/dist/client/static/font/fira-code-greek-ext-600-normal.d6c93d54f9.woff2 +0 -0
- package/dist/client/static/font/fira-code-greek-ext-700-normal.57ec7c92d9.woff +0 -0
- package/dist/client/static/font/fira-code-greek-ext-700-normal.8fafdae5e8.woff2 +0 -0
- package/dist/client/static/font/fira-code-latin-400-normal.973295532b.woff +0 -0
- package/dist/client/static/font/fira-code-latin-500-normal.7ae2be8fb8.woff +0 -0
- package/dist/client/static/font/fira-code-latin-600-normal.1dbbe5bc27.woff +0 -0
- package/dist/client/static/font/fira-code-latin-700-normal.497a70148b.woff +0 -0
- package/dist/client/static/font/fira-code-latin-ext-400-normal.9dfae29aaf.woff +0 -0
- package/dist/client/static/font/fira-code-latin-ext-400-normal.e534ae46e2.woff2 +0 -0
- package/dist/client/static/font/fira-code-latin-ext-500-normal.24c7b781b0.woff +0 -0
- package/dist/client/static/font/fira-code-latin-ext-500-normal.aad44ab072.woff2 +0 -0
- package/dist/client/static/font/fira-code-latin-ext-600-normal.7bed0f2f7e.woff +0 -0
- package/dist/client/static/font/fira-code-latin-ext-600-normal.c509a7c9f1.woff2 +0 -0
- package/dist/client/static/font/fira-code-latin-ext-700-normal.6c66c8b0a9.woff2 +0 -0
- package/dist/client/static/font/fira-code-latin-ext-700-normal.88f64e2822.woff +0 -0
- package/dist/client/static/font/fira-code-symbols2-400-normal.97d3f4b17c.woff +0 -0
- package/dist/client/static/font/fira-code-symbols2-500-normal.b06f1a06e4.woff +0 -0
- package/dist/client/static/font/fira-code-symbols2-600-normal.304b653b93.woff +0 -0
- package/dist/client/static/font/fira-code-symbols2-700-normal.d8ce0ad586.woff +0 -0
- package/dist/client/static/js/async/3j.a2fcea99be.js +0 -2
- package/dist/client/static/js/async/51.1938cec320.js +0 -2
- package/dist/client/static/js/async/6.7929428505.js +0 -1
- package/dist/client/static/js/async/69.a18a10882f.js +0 -1
- package/dist/client/static/js/async/a.bce4542392.js +0 -1
- package/dist/client/static/js/async/ar.9dc8b1992a.js +0 -2
- package/dist/client/static/js/async/bi.cbfe8eaa8e.js +0 -1
- package/dist/client/static/js/async/ct.38d9da8a5a.js +0 -1
- package/dist/client/static/js/async/fw.fb1a08b92d.js +0 -6
- package/dist/client/static/js/async/l6.45f3b62e15.js +0 -1
- package/dist/client/static/js/async/q.0b6fb9bf8d.js +0 -21
- package/dist/client/static/js/async/rd.b77011ab7f.js +0 -2
- package/dist/client/static/js/async/rf.cfbde7f744.js +0 -2
- package/dist/client/static/js/async/s.c7d521a8ae.js +0 -2
- package/dist/client/static/js/async/sy.7345abcd67.js +0 -94
- package/dist/client/static/js/async/t.0dcb01dfde.js +0 -1
- package/dist/client/static/js/async/v.5c7a4b087b.js +0 -1
- package/dist/client/static/js/async/vu.311f1d202c.js +0 -34
- package/dist/client/static/js/async/yg.9bd4e09ecb.js +0 -149
- package/dist/client/static/js/async/yv.593a3f7d54.js +0 -1
- package/dist/client/static/js/g.124fba0826.js +0 -139
- package/dist/client/static/js/index.907fd4670e.js +0 -68
- package/dist/client/static/js/katex-vendor.95e48cf65a.js +0 -1
- package/src/shared/lib/chat/order.ts +0 -40
- /package/dist/client/static/js/async/{1k.544adbf77d.js.LICENSE.txt → 1k.5974df3b87.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{3j.a2fcea99be.js.LICENSE.txt → 3j.357c80ff38.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{3y.22075aa079.js.LICENSE.txt → 3y.ededeebde8.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{51.1938cec320.js.LICENSE.txt → 51.95bcae98af.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{ar.9dc8b1992a.js.LICENSE.txt → a.e05da304c8.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{fw.fb1a08b92d.js.LICENSE.txt → dc.6dc4b0a04b.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{m.3fc017a055.js.LICENSE.txt → fw.6a51998a8e.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{q.0b6fb9bf8d.js.LICENSE.txt → m.4b29d34f93.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{rf.cfbde7f744.js.LICENSE.txt → q.7fb4d2f374.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{rd.b77011ab7f.js.LICENSE.txt → rd.cb6bf495bb.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{s.c7d521a8ae.js.LICENSE.txt → rf.d626afc367.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/{index.907fd4670e.js.LICENSE.txt → async/ud.3065bfee31.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/{g.124fba0826.js.LICENSE.txt → uy.5f791144ce.js.LICENSE.txt} +0 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! LICENSE: 3j.a2fcea99be.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([["3j"],{nTz(e,t,i){i.d(t,{},{I:{"desktop-16-9":"w-full max-w-[1280px] aspect-video max-h-full border border-ink/20 rounded-lg shadow-md overflow-hidden my-auto",laptop:"w-[1024px] max-w-full h-[768px] max-h-full border border-ink/20 rounded-lg shadow-md overflow-hidden my-auto",tablet:"w-[768px] max-w-full h-[1024px] max-h-full border border-ink/20 rounded-lg shadow-md overflow-hidden my-auto",mobile:"w-[375px] max-w-full h-[667px] max-h-full border border-ink/20 rounded-xl shadow-md overflow-hidden my-auto","mobile-lg":"w-[414px] max-w-full h-[896px] max-h-full border border-ink/20 rounded-xl shadow-md overflow-hidden my-auto",responsive:"w-full h-full border-0"}})},bu(e,t,i){i.d(t,{K:()=>N,B:()=>w});var o=i("j"),n=i("H"),r=i("z"),l=i("J"),a=i("b0"),s=i("qr"),d=i("mXQ"),c=i("y");let p=(0,c.A)({name:"ratio",size:24,node:[["rect",{width:"12",height:"20",x:"6",y:"2",rx:"2",key:"1oxtiu"}],["rect",{width:"20",height:"12",x:"2",y:"6",rx:"2",key:"9lu3g6"}]]}),b=(0,c.A)({name:"laptop",size:24,node:[["path",{d:"M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z",key:"1pdavp"}],["path",{d:"M20.054 15.987H3.946",key:"14rxg9"}]]}),m=(0,c.A)({name:"tablet",size:24,node:[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2",key:"76otgf"}],["line",{x1:"12",x2:"12.01",y1:"18",y2:"18",key:"1dp563"}]]});var x=i("f"),u=i("Go"),h=i("oj");let k=[{id:"responsive",label:"Responsive (100% Fluid)",category:"responsive",icon:d.A},{id:"desktop-16-9",label:"Desktop 16:9 (Auto H:W)",category:"responsive",icon:p},{id:"laptop",label:"Laptop (1024 × 768)",category:"responsive",icon:b},{id:"tablet",label:"Tablet (768 × 1024)",category:"mobile",icon:m},{id:"mobile",label:"Mobile Phone (375 × 667)",category:"mobile",icon:x.A},{id:"mobile-lg",label:"Mobile Large (414 × 896)",category:"mobile",icon:x.A}];function f(e){let{viewportMode:t,onChangeViewport:i,zoomLevel:l=100,onSetZoom:a}=e,[s,c]=(0,n.J0)(!1),b=(0,n.li)(null);return(0,h.W)(b,()=>c(!1)),(0,o.FD)("div",{className:"flex items-center space-x-1.5 flex-shrink-0",children:[(0,o.FD)("div",{className:"hidden sm:flex items-center bg-canvas border border-ink/10 rounded-md p-0.5",children:[(0,o.Y)("button",{type:"button",onClick:()=>i("responsive"),className:`p-1 rounded text-xs transition-colors cursor-pointer ${"responsive"===t?"bg-ink text-canvas font-medium":"text-ink/50 hover:text-ink"}`,title:"Responsive (100% Fluid)",children:(0,o.Y)(d.A,{size:12})}),(0,o.Y)("button",{type:"button",onClick:()=>i("desktop-16-9"),className:`p-1 rounded text-xs transition-colors cursor-pointer ${"desktop-16-9"===t?"bg-ink text-canvas font-medium":"text-ink/50 hover:text-ink"}`,title:"Desktop 16:9 (Auto Height following Width)",children:(0,o.Y)(p,{size:12})}),(0,o.Y)("button",{type:"button",onClick:()=>i("tablet"),className:`p-1 rounded text-xs transition-colors cursor-pointer ${"tablet"===t?"bg-ink text-canvas font-medium":"text-ink/50 hover:text-ink"}`,title:"Tablet (768px)",children:(0,o.Y)(m,{size:12})}),(0,o.Y)("button",{type:"button",onClick:()=>i("mobile"),className:`p-1 rounded text-xs transition-colors cursor-pointer ${"mobile"===t?"bg-ink text-canvas font-medium":"text-ink/50 hover:text-ink"}`,title:"Mobile (375px)",children:(0,o.Y)(x.A,{size:12})})]}),(0,o.FD)("div",{className:"relative",ref:b,children:[(0,o.FD)("button",{type:"button",onClick:()=>c(e=>!e),className:"flex items-center space-x-1 px-2 py-1 rounded bg-canvas border border-ink/15 hover:border-ink/30 text-ink text-[11px] font-mono transition-colors cursor-pointer",title:"Device & Responsive Testing Menu",children:[(0,o.Y)("span",{className:"hidden md:inline text-[10px] font-medium",children:(e=>{switch(e){case"desktop-16-9":return"Desktop 16:9";case"laptop":return"Laptop 1024p";case"tablet":return"Tablet 768p";case"mobile":return"Mobile 375p";case"mobile-lg":return"Mobile Lg 414p";default:return"Responsive"}})(t)}),(0,o.Y)(u.A,{size:11,className:"text-ink/60"})]}),s&&(0,o.FD)("div",{className:"absolute right-0 top-full mt-1 w-56 bg-paper border border-ink/15 rounded-lg shadow-xl py-1 z-50 text-xs font-mono",children:[(0,o.Y)("div",{className:"px-2.5 py-1 text-[10px] text-ink/40 uppercase tracking-wider font-semibold",children:"Responsive Testing"}),k.filter(e=>"responsive"===e.category).map(e=>{let n=e.icon,l=t===e.id;return(0,o.FD)("button",{type:"button",onClick:()=>{i(e.id),c(!1)},className:`w-full px-2.5 py-1.5 flex items-center justify-between text-left hover:bg-ink/5 cursor-pointer ${l?"bg-ink/10 font-semibold text-ink":"text-ink/75"}`,children:[(0,o.FD)("div",{className:"flex items-center space-x-2",children:[(0,o.Y)(n,{size:13,className:"text-ink/60"}),(0,o.Y)("span",{children:e.label})]}),l&&(0,o.Y)(r.A,{size:12,className:"text-success"})]},e.id)}),(0,o.Y)("div",{className:"mt-1 pt-1 border-t border-ink/10 px-2.5 py-1 text-[10px] text-ink/40 uppercase tracking-wider font-semibold",children:"Mobile Testing"}),k.filter(e=>"mobile"===e.category).map(e=>{let n=e.icon,l=t===e.id;return(0,o.FD)("button",{type:"button",onClick:()=>{i(e.id),c(!1)},className:`w-full px-2.5 py-1.5 flex items-center justify-between text-left hover:bg-ink/5 cursor-pointer ${l?"bg-ink/10 font-semibold text-ink":"text-ink/75"}`,children:[(0,o.FD)("div",{className:"flex items-center space-x-2",children:[(0,o.Y)(n,{size:13,className:"text-ink/60"}),(0,o.Y)("span",{children:e.label})]}),l&&(0,o.Y)(r.A,{size:12,className:"text-success"})]},e.id)}),a&&(0,o.FD)(o.FK,{children:[(0,o.FD)("div",{className:"mt-1 pt-1 border-t border-ink/10 px-2.5 py-1 text-[10px] text-ink/40 uppercase tracking-wider font-semibold",children:["Zoom Scale (",l,"%)"]}),(0,o.Y)("div",{className:"grid grid-cols-3 gap-1 px-2 py-1",children:[50,75,100,125,150,200].map(e=>(0,o.FD)("button",{type:"button",onClick:()=>{a(e),c(!1)},className:`px-1.5 py-1 text-center rounded text-[11px] font-mono cursor-pointer transition-colors ${l===e?"bg-ink text-canvas font-semibold":"bg-canvas border border-ink/10 text-ink/75 hover:bg-ink/5"}`,children:[e,"%"]},e))})]})]})]})]})}var v=i("hj"),g=i("na");function y(e){let{zoomLevel:t,onZoomIn:i,onZoomOut:n,onResetZoom:r}=e;return(0,o.FD)("div",{className:"flex items-center bg-canvas border border-ink/10 rounded-md p-0.5 space-x-0.5 text-xs font-mono",children:[(0,o.Y)("button",{type:"button",onClick:n,disabled:t<=50,"aria-label":"Perkecil tampilan",title:"Zoom Out (-10%)",className:"p-1 rounded hover:bg-ink/5 disabled:opacity-25 disabled:hover:bg-transparent text-ink/70 hover:text-ink cursor-pointer disabled:cursor-not-allowed transition-colors",children:(0,o.Y)(v.A,{size:12})}),(0,o.FD)("button",{type:"button",onClick:r,className:"px-1 text-[10px] font-medium text-ink/75 hover:text-ink hover:underline cursor-pointer select-none",title:"Reset Zoom (100%)",children:[t,"%"]}),(0,o.Y)("button",{type:"button",onClick:i,disabled:t>=200,"aria-label":"Perbesar tampilan",title:"Zoom In (+10%)",className:"p-1 rounded hover:bg-ink/5 disabled:opacity-25 disabled:hover:bg-transparent text-ink/70 hover:text-ink cursor-pointer disabled:cursor-not-allowed transition-colors",children:(0,o.Y)(g.A,{size:12})})]})}let w="p-1.5 rounded hover:bg-ink/5 disabled:opacity-25 disabled:hover:bg-transparent text-ink/70 hover:text-ink transition-colors cursor-pointer disabled:cursor-not-allowed";function N(e){let{url:t,statusDotClass:i,statusLabel:d,viewportMode:c,zoomLevel:p,onChangeViewport:b,onZoomIn:m,onZoomOut:x,onResetZoom:u,onSetZoom:h,onIncludeInChat:k,onOpenExternal:v,trailingControls:g,openExternalLabel:N,openExternalTitle:Y,children:z}=e,[A,D]=(0,n.J0)(!1),[F,C]=(0,n.J0)(!1);return(0,o.FD)("div",{className:"h-10 px-2.5 border-b border-ink/10 bg-paper flex items-center justify-between flex-shrink-0 select-none space-x-2",children:[(0,o.FD)("div",{className:"flex items-center space-x-1.5 flex-shrink-0",title:d,children:[(0,o.Y)("span",{className:`w-1.5 h-1.5 rounded-full ${i}`}),(0,o.Y)("span",{className:"text-[10px] font-mono uppercase tracking-wide text-ink/60",children:d})]}),z,(0,o.FD)("div",{className:"flex items-center space-x-1.5 flex-shrink-0",children:[(0,o.Y)(f,{viewportMode:c,onChangeViewport:b,zoomLevel:p,onSetZoom:h}),(0,o.Y)(y,{zoomLevel:p,onZoomIn:m,onZoomOut:x,onResetZoom:u}),(0,o.Y)("button",{type:"button",onClick:()=>{k(),C(!0),setTimeout(()=>C(!1),2500)},disabled:!t,"aria-label":"Sertakan halaman ini di draft chat",title:F?"Konteks halaman ditambahkan ke draft":"Sertakan halaman ini di draft chat",className:w,children:F?(0,o.Y)(r.A,{size:14,className:"text-success"}):(0,o.Y)(l.A,{size:14})}),(0,o.Y)("button",{type:"button",onClick:()=>{t&&navigator.clipboard.writeText(t).then(()=>{D(!0),setTimeout(()=>D(!1),2e3)}).catch(()=>{})},disabled:!t,"aria-label":"Salin URL",title:A?"Copied URL!":"Copy URL",className:w,children:A?(0,o.Y)(r.A,{size:14,className:"text-success"}):(0,o.Y)(a.A,{size:14})}),g,(0,o.Y)("button",{type:"button",onClick:v,disabled:!t,"aria-label":N,title:Y,className:w,children:(0,o.Y)(s.A,{size:14})})]})]})}}}]);
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! LICENSE: 51.1938cec320.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([[51],{zO(e,t,n){n.d(t,{ContextPanel:()=>P});var a=n("j"),l=n("H"),s=n("s");function i(e){let{used:t,limit:n,percent:l}=e,s=t.toLocaleString(),i=n.toLocaleString(),r=Math.min(100,Math.max(0,l));return(0,a.FD)("div",{className:"bg-canvas border border-ink/10 rounded-xl p-4 transition-all",children:[(0,a.FD)("div",{className:"flex items-center justify-between text-xs mb-2",children:[(0,a.Y)("span",{className:"font-semibold text-ink/80",children:"Context"}),(0,a.FD)("span",{className:"font-mono text-ink/70 text-[11px]",children:[s," / ",i]})]}),(0,a.Y)("div",{className:"w-full h-1.5 bg-ink/10 rounded-full overflow-hidden mb-2",children:(0,a.Y)("div",{className:"h-full bg-ink/70 rounded-full transition-all duration-500 ease-out",style:{width:`${r}%`}})}),(0,a.FD)("div",{className:"text-[11px] font-mono text-ink/50 text-left",children:[r.toFixed(1),"% used"]})]})}var r=n("wU"),o=n("S"),c=n("oj");function d(e){return e<.01?"$0.01":`$${e.toFixed(6).replace(/0+$/,"").replace(/\.$/,"")}`}function m(e){let{open:t,onClose:n,breakdown:s,costFormatted:i}=e,r=(0,l.li)(null);if((0,c.W)(r,n),!t)return null;let m=s?[{label:"Total Cost",value:d(s.total),strong:!0},{label:"Input (cache miss)",value:d(s.input)},{label:"Output",value:d(s.output)},{label:"Cache Read (cache hit)",value:d(s.cacheRead)},{label:"Cache Write",value:d(s.cacheWrite)}]:[{label:"Total Cost",value:i??"$0.01",strong:!0}];return(0,a.FD)("div",{ref:r,className:"absolute top-full right-0 mt-1.5 z-50 w-64 bg-paper border border-ink/10 rounded-lg shadow-lg p-3",role:"dialog","aria-modal":"false",children:[(0,a.FD)("div",{className:"flex items-center justify-between mb-2.5",children:[(0,a.Y)("span",{className:"text-xs font-semibold text-ink tracking-tight",children:"Cost Breakdown"}),(0,a.Y)("button",{type:"button",onClick:n,className:"p-1 rounded hover:bg-ink/5 text-ink/60 hover:text-ink transition-colors","aria-label":"Close cost breakdown",children:(0,a.Y)(o.A,{size:14})})]}),(0,a.Y)("div",{className:"space-y-1.5",children:m.map(e=>(0,a.FD)("div",{className:"flex items-center justify-between text-[11px] font-mono border-b border-ink/5 last:border-0 pb-1.5 last:pb-0",children:[(0,a.Y)("span",{className:"text-ink/60",children:e.label}),(0,a.Y)("span",{className:`${e.strong?"font-semibold text-ink":"text-ink/80"}`,children:e.value})]},e.label))})]})}var h=n("nj");function u(e){let{messagesCount:t,userCount:n,assistantCount:s,costFormatted:i,cacheHitAverage:o,costBreakdown:c}=e,[d,u]=(0,l.J0)(!1);return(0,a.FD)(a.FK,{children:[(0,a.Y)("div",{className:"mb-1.5",children:(0,a.Y)("span",{className:"text-xs font-semibold text-ink/80",children:"Session Stats"})}),(0,a.FD)("div",{className:"flex gap-2 flex-wrap",children:[(0,a.Y)(h.h,{variant:"compact",label:"Messages",value:t}),(0,a.Y)(h.h,{variant:"compact",label:"User",value:n}),(0,a.Y)(h.h,{variant:"compact",label:"Assistant",value:s}),(0,a.Y)(h.h,{variant:"compact",label:"Cache Hit",value:void 0!==o?`${o.toFixed(1)}%`:"—"}),(0,a.FD)("div",{className:"relative bg-canvas border border-ink/10 rounded-lg px-2.5 py-1.5 flex flex-col gap-0.5 flex-1 min-w-0",children:[(0,a.FD)("span",{className:"text-[10px] font-medium text-ink/50 flex items-center gap-1",children:["Cost",(0,a.Y)("button",{type:"button",onClick:()=>u(!0),className:"p-0.5 rounded text-ink/40 hover:text-ink hover:bg-ink/5 transition-colors","aria-label":"Show cost breakdown",title:"Cost breakdown",children:(0,a.Y)(r.A,{size:11})})]}),(0,a.Y)("span",{className:"text-xs font-semibold font-mono text-ink truncate",children:i}),(0,a.Y)(m,{open:d,onClose:()=>u(!1),breakdown:c,costFormatted:i})]})]})]})}function p(e){let{input:t,output:n,reasoning:l,cacheRead:s,cacheWrite:i,cacheHitPercent:r}=e;return(0,a.FD)(a.FK,{children:[(0,a.Y)("div",{className:"mb-1.5",children:(0,a.Y)("span",{className:"text-xs font-semibold text-ink/80",children:"Last Assistant Message"})}),(0,a.FD)("div",{className:"flex gap-2 flex-wrap",children:[(0,a.Y)(h.h,{variant:"compact",label:"In",value:t.toLocaleString()}),(0,a.Y)(h.h,{variant:"compact",label:"Out",value:n.toLocaleString()}),(0,a.Y)(h.h,{variant:"compact",label:"Reason",value:l.toLocaleString()}),(0,a.Y)(h.h,{variant:"compact",label:"Cache",value:`${s.toLocaleString()}/${i.toLocaleString()}`}),(0,a.Y)(h.h,{variant:"compact",label:"Hit",value:`${r.toFixed(1)}%`})]})]})}function x(e){let{userPercent:t,assistantPercent:n,toolPercent:l,otherPercent:s}=e;return(0,a.FD)("div",{className:"space-y-2.5",children:[(0,a.FD)("div",{className:"w-full h-1.5 rounded-full overflow-hidden flex bg-ink/10",children:[(0,a.Y)("div",{className:"h-full bg-emerald-500 transition-all duration-300",style:{width:`${t}%`},title:`User: ${t}%`}),(0,a.Y)("div",{className:"h-full bg-sky-500 transition-all duration-300",style:{width:`${n}%`},title:`Assistant: ${n}%`}),(0,a.Y)("div",{className:"h-full bg-amber-500 transition-all duration-300",style:{width:`${l}%`},title:`Tool Calls: ${l}%`}),(0,a.Y)("div",{className:"h-full bg-slate-400 transition-all duration-300",style:{width:`${s}%`},title:`Other: ${s}%`})]}),(0,a.FD)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 text-[11px] text-ink/70",children:[(0,a.FD)("div",{className:"flex items-center space-x-1.5",children:[(0,a.Y)("span",{className:"w-2 h-2 rounded-full bg-emerald-500 flex-shrink-0"}),(0,a.FD)("span",{children:["User ",t,"%"]})]}),(0,a.FD)("div",{className:"flex items-center space-x-1.5",children:[(0,a.Y)("span",{className:"w-2 h-2 rounded-full bg-sky-500 flex-shrink-0"}),(0,a.FD)("span",{children:["Assistant ",n,"%"]})]}),(0,a.FD)("div",{className:"flex items-center space-x-1.5",children:[(0,a.Y)("span",{className:"w-2 h-2 rounded-full bg-amber-500 flex-shrink-0"}),(0,a.FD)("span",{children:["Tool Calls ",l,"%"]})]}),(0,a.FD)("div",{className:"flex items-center space-x-1.5",children:[(0,a.Y)("span",{className:"w-2 h-2 rounded-full bg-slate-400 flex-shrink-0"}),(0,a.FD)("span",{children:["Other ",s,"%"]})]})]})]})}let b=(0,n("y").A)({name:"chevrons-up-down",size:24,node:[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]});var f=n("Go"),g=n("Nf"),v=n("q"),k=n("FL"),N=n("Af"),y=n("z"),Y=n("b0"),w=n("qg"),F=n("Po");function D(e){let{data:t}=e;(0,F.w)();let[n,s]=(0,l.J0)(!1),i=(0,l.li)(null),r=(0,l.li)(null),o=JSON.stringify(t,null,2),c=(0,w.PH)(o),d=(0,l.hb)(e=>{let t=r.current;t&&(t.scrollLeft=e.currentTarget.scrollLeft,t.scrollTop=e.currentTarget.scrollTop)},[]),m=(0,l.hb)(async e=>{e.stopPropagation();try{await navigator.clipboard.writeText(o)}catch{let e=document.createElement("textarea");e.value=o,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)}s(!0),setTimeout(()=>s(!1),2e3)},[o]);return(0,a.FD)("div",{className:"relative my-1.5 rounded-lg bg-paper/80 border border-ink/10 overflow-hidden",children:[(0,a.FD)("div",{className:"flex items-center justify-between px-2.5 py-1.5 bg-ink/[0.04] border-b border-ink/10",children:[(0,a.FD)("span",{className:"text-[10px] font-mono text-ink/50 select-none",children:[Object.keys(t).length," keys · ",o.length," chars"]}),(0,a.Y)("button",{type:"button",onClick:m,className:"flex items-center space-x-1 px-2 py-1 rounded bg-canvas hover:bg-paper text-ink/70 hover:text-ink border border-ink/10 text-[10px] transition-colors shadow-xs",title:"Copy Pretty JSON",children:n?(0,a.FD)(a.FK,{children:[(0,a.Y)(y.A,{size:11,className:"text-emerald-600"}),(0,a.Y)("span",{className:"text-emerald-600 font-sans font-medium",children:"Copied"})]}):(0,a.FD)(a.FK,{children:[(0,a.Y)(Y.A,{size:11}),(0,a.Y)("span",{className:"font-sans",children:"Copy JSON"})]})})]}),(0,a.FD)("div",{className:"relative",children:[(0,a.Y)("pre",{ref:r,"aria-hidden":!0,className:"absolute inset-0 p-2.5 m-0 font-mono text-[11px] leading-5 overflow-x-auto overflow-y-auto whitespace-pre pointer-events-none",dangerouslySetInnerHTML:{__html:c}}),(0,a.Y)("pre",{ref:i,onScroll:d,className:"relative p-2.5 m-0 font-mono text-[11px] leading-5 overflow-x-auto overflow-y-auto whitespace-pre select-text selection:bg-ink selection:text-canvas",children:(0,a.Y)("code",{className:"text-transparent",children:o})})]})]})}let C=["bg-emerald-500","bg-sky-500","bg-amber-500","bg-violet-500","bg-rose-500","bg-teal-500","bg-indigo-500","bg-fuchsia-500","bg-lime-500","bg-cyan-500","bg-orange-500","bg-pink-500","bg-yellow-500","bg-purple-500","bg-red-500","bg-blue-500","bg-green-500","bg-cyan-600","bg-violet-600","bg-amber-600"];function $(e){let{sessionId:t,refreshKey:n=0}=e,[s,i]=(0,k.bL)("context.rawExpandedIds",{}),[r,o]=(0,k.bL)("context.rawFilterRole","all"),[c,d]=(0,l.J0)(1),[m,h]=(0,l.J0)([]),[u,p]=(0,l.J0)(0),[x,y]=(0,l.J0)(!1),Y=(0,l.li)(0),w=(0,l.li)(!1),F=(0,l.hb)(e=>{if("u"<typeof window)return;let n=++Y.current;e?.silent||y(!0);let a=new URLSearchParams({page:String(c),pageSize:String(20),role:r});t&&a.set("sessionId",t),fetch(`/api/telemetry/raw-messages?${a.toString()}`).then(e=>e.ok?e.json():null).then(e=>{w.current||n!==Y.current||(h(e&&Array.isArray(e.items)?e.items:[]),p(e&&Number.isFinite(e.filteredTotal)?e.filteredTotal:0))}).catch(()=>{w.current||n!==Y.current||(h([]),p(0))}).finally(()=>{e?.silent||n!==Y.current||y(!1)})},[t,c,r]);(0,l.vJ)(()=>(w.current=!1,F(),()=>{w.current=!0}),[F,n]),(0,N.n)(()=>F({silent:!0}),null!==t),(0,N.w)(()=>F({silent:!0}),null!==t);let $=Math.max(1,Math.ceil(u/20)),S=Math.min(c,$),P=e=>d(Math.min(Math.max(1,e),$)),A=(0,l.Kr)(()=>{let e=[];for(let t of m){let n=t.info.modelID;!n||e.includes(n)||e.push(n)}return e},[m]),M=e=>e?C[function(e){let t=0;for(let n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return Math.abs(t)}(e)%C.length]:"bg-ink/20";return(0,a.FD)("div",{className:"space-y-3",children:[A.length>0&&(0,a.FD)("div",{children:[(0,a.Y)("div",{className:"mb-1.5",children:(0,a.Y)("span",{className:"text-xs font-semibold text-ink/80",children:"Legend"})}),(0,a.Y)("div",{className:"bg-canvas border border-ink/10 rounded-xl px-3 py-2",children:(0,a.Y)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 text-[10px] font-mono text-ink/60",children:A.map(e=>{let t,n,l;return(0,a.FD)("span",{className:"flex items-center gap-1.5",children:[(0,a.Y)("span",{className:`w-2 h-2 rounded-full ${M(e)}`}),(0,a.Y)("span",{children:(n=(t=e.indexOf("/"))>0?e.slice(0,t):e,(l=t>0?e.slice(t+1):"")?`${n} \xb7 ${l}`:n)})]},e)})})})]}),(0,a.FD)("div",{className:"flex items-center justify-between",children:[(0,a.FD)("div",{className:"flex items-center space-x-2",children:[(0,a.Y)("span",{className:"text-xs font-semibold text-ink/80",children:"Raw Messages"}),(0,a.Y)("span",{className:"text-[10px] font-mono text-ink/50 bg-ink/5 px-1.5 py-0.5 rounded-full border border-ink/10",children:u})]}),(0,a.FD)("div",{className:"flex items-center space-x-1",children:[(0,a.FD)("div",{className:"flex items-center bg-canvas border border-ink/10 rounded-lg p-0.5 text-[10px]",children:[(0,a.Y)("button",{type:"button",onClick:()=>{o("all"),d(1)},className:`px-1.5 py-0.5 rounded ${"all"===r?"bg-ink text-canvas font-medium":"text-ink/60 hover:text-ink"}`,children:"All"}),(0,a.Y)("button",{type:"button",onClick:()=>{o("assistant"),d(1)},className:`px-1.5 py-0.5 rounded ${"assistant"===r?"bg-ink text-canvas font-medium":"text-ink/60 hover:text-ink"}`,children:"AI"}),(0,a.Y)("button",{type:"button",onClick:()=>{o("user"),d(1)},className:`px-1.5 py-0.5 rounded ${"user"===r?"bg-ink text-canvas font-medium":"text-ink/60 hover:text-ink"}`,children:"User"})]}),(0,a.Y)("button",{type:"button",onClick:()=>{if(m.every(e=>s[e.id]))i({});else{let e={};m.forEach(t=>{e[t.id]=!0}),i(e)}},className:"p-1 rounded text-ink/60 hover:text-ink hover:bg-ink/5 transition-colors text-[10px] flex items-center",title:"Expand / Collapse All",children:(0,a.Y)(b,{size:14})})]})]}),(0,a.Y)("div",{className:"space-y-1.5",children:x||0!==m.length?m.map(e=>{let t=!!s[e.id];return(0,a.FD)("div",{className:`bg-canvas border border-ink/10 rounded-xl overflow-hidden transition-all duration-200 ${x?"opacity-50":""}`,children:[(0,a.FD)("button",{type:"button",onClick:()=>{var t;return t=e.id,void i(e=>({...e,[t]:!e[t]}))},className:"w-full text-left px-3.5 py-2.5 flex items-center justify-between hover:bg-ink/5 transition-colors cursor-pointer",children:[(0,a.FD)("div",{className:"flex items-center space-x-2 min-w-0 flex-1 mr-2",children:[(0,a.Y)("span",{className:"text-ink/40 flex-shrink-0",children:t?(0,a.Y)(f.A,{size:14}):(0,a.Y)(g.A,{size:14})}),(0,a.Y)("span",{className:"text-xs font-mono text-ink/90 truncate",children:e.badgeLabel})]}),(0,a.FD)("div",{className:"flex items-center space-x-3 text-[11px] font-mono text-ink/50 flex-shrink-0",children:[e.tokenSummary&&(0,a.Y)("span",{className:"text-ink/60",children:e.tokenSummary}),(0,a.FD)("span",{className:"flex items-center gap-1.5",children:[(0,a.Y)("span",{className:`w-2 h-2 rounded-full ${M(e.info.modelID)}`}),(0,a.Y)("span",{children:e.timestamp})]})]})]}),t&&(0,a.Y)("div",{className:"px-3.5 pb-3 pt-1 border-t border-ink/5 bg-canvas/60",children:(0,a.Y)(D,{data:e.rawPayload})})]},e.id)}):(0,a.Y)("div",{className:"p-4 text-center text-xs text-ink/40 italic bg-canvas rounded-xl border border-ink/10",children:"No raw messages recorded yet."})}),$>1&&(0,a.FD)("div",{className:"flex items-center justify-between pt-1",children:[(0,a.FD)("span",{className:"text-[10px] font-mono text-ink/50",children:[(S-1)*20+1,"–",Math.min(20*S,u)," of ",u]}),(0,a.FD)("div",{className:"flex items-center gap-0.5",children:[(0,a.Y)("button",{type:"button",disabled:S<=1,onClick:()=>P(S-1),className:"p-1 rounded text-ink/60 hover:text-ink hover:bg-ink/5 disabled:opacity-30 disabled:hover:bg-transparent transition-colors",title:"Previous page",children:(0,a.Y)(v.A,{size:14})}),(function(e,t){if(t<=7)return Array.from({length:t},(e,t)=>t+1);let n=new Set([1,t,e,e-1,e+1]);e<=3&&[2,3,4].forEach(e=>n.add(e)),e>=t-2&&[t-3,t-2,t-1].forEach(e=>n.add(e));let a=[...n].filter(e=>e>=1&&e<=t).sort((e,t)=>e-t),l=[],s=0;for(let e of a)e-s>1&&l.push("…"),l.push(e),s=e;return l})(S,$).map((e,t)=>"…"===e?(0,a.Y)("span",{className:"px-1 text-[10px] font-mono text-ink/40 select-none",children:"…"},`gap-${t}`):(0,a.Y)("button",{type:"button",onClick:()=>P(e),className:`min-w-[22px] h-[22px] px-1 rounded text-[10px] font-mono transition-colors ${e===S?"bg-ink text-canvas font-medium":"text-ink/60 hover:text-ink hover:bg-ink/5"}`,children:e},e)),(0,a.Y)("button",{type:"button",disabled:S>=$,onClick:()=>P(S+1),className:"p-1 rounded text-ink/60 hover:text-ink hover:bg-ink/5 disabled:opacity-30 disabled:hover:bg-transparent transition-colors",title:"Next page",children:(0,a.Y)(g.A,{size:14})})]})]})]})}var S=n("jo");function P(e){let{className:t="",enabled:n=!0,refreshKey:r=0}=e,[o]=(0,s.o)(),c=o.get("sessionId"),{isScrolling:d,handleScroll:m}=(0,S.K)(),[h,b]=(0,l.J0)(()=>({sessionId:c||"default",sessionTitle:"Session not started",modelId:"",modelName:"",timestamp:"",contextUsed:0,contextLimit:1e6,contextPercent:0,messagesCount:0,userCount:0,assistantCount:0,totalCost:0,costFormatted:"$0.00",cacheHitAverage:0,costBreakdown:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0},lastMessage:{input:0,output:0,reasoning:0,cacheRead:0,cacheWrite:0,cacheHitPercent:0},distribution:{userTokens:0,userPercent:0,assistantTokens:0,assistantPercent:0,toolTokens:0,toolPercent:0,otherTokens:0,otherPercent:100},rawMessages:[]})),f=(0,l.li)(!1),g=(0,l.hb)(()=>{if("u"<typeof window)return;let e=c?`?sessionId=${encodeURIComponent(c)}`:"";fetch(`/api/telemetry/context${e}`).then(e=>e.ok?e.json():null).then(e=>{!f.current&&e&&e.telemetry&&b(e.telemetry)}).catch(e=>{f.current||console.warn("Failed to fetch context telemetry:",e)})},[c]);return((0,l.vJ)(()=>{if(f.current=!1,n)return g(),()=>{f.current=!0}},[n,r,g]),(0,N.n)(g,n),(0,N.w)(g,n),n)?0===h.messagesCount?(0,a.Y)("div",{className:`flex flex-col h-full bg-paper items-center justify-center text-ink/40 ${t}`,children:(0,a.Y)("span",{className:"text-xs font-mono",children:"Session not started"})}):(0,a.FD)("div",{className:`flex flex-col h-full bg-paper text-ink overflow-hidden select-none ${t}`,children:[(0,a.Y)("div",{className:"flex-shrink-0 p-4 border-b border-ink/10 bg-paper",children:(0,a.FD)("div",{children:[(0,a.Y)("h2",{className:"text-xs font-medium text-ink tracking-tight truncate",children:h.sessionTitle}),(0,a.Y)("div",{className:"text-[11px] text-ink/50 mt-1 truncate font-mono",children:h.timestamp})]})}),(0,a.FD)("div",{onScroll:m,className:`flex-1 scrollbar-overlay-container p-4 space-y-4 ${(0,S.p)(d)}`,children:[(0,a.Y)(i,{used:h.contextUsed,limit:h.contextLimit,percent:h.contextPercent}),(0,a.Y)(u,{messagesCount:h.messagesCount,userCount:h.userCount,assistantCount:h.assistantCount,costFormatted:h.costFormatted,cacheHitAverage:h.cacheHitAverage,costBreakdown:h.costBreakdown}),(0,a.Y)(p,{input:h.lastMessage.input,output:h.lastMessage.output,reasoning:h.lastMessage.reasoning,cacheRead:h.lastMessage.cacheRead,cacheWrite:h.lastMessage.cacheWrite,cacheHitPercent:h.lastMessage.cacheHitPercent}),(0,a.Y)(x,{userPercent:h.distribution.userPercent,assistantPercent:h.distribution.assistantPercent,toolPercent:h.distribution.toolPercent,otherPercent:h.distribution.otherPercent}),(0,a.Y)($,{sessionId:c,refreshKey:r})]})]}):(0,a.Y)("div",{className:`flex flex-col h-full bg-paper items-center justify-center text-ink/40 ${t}`,children:(0,a.Y)("span",{className:"text-xs font-mono",children:"No session selected"})})}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([[6],{Iw(r){function e(r){var e=Error("Cannot find module '"+r+"'");throw e.code="MODULE_NOT_FOUND",e}e.keys=()=>[],e.resolve=e,e.id="Iw",r.exports=e}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([[69],{ks(s,r,a){a.r(r);var e=a("kJ");a.d(r,{default:()=>e.A})}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([["a"],{IX(e,a,n){n.r(a),a.default=[Object.freeze(JSON.parse('{"displayName":"Haskell","fileTypes":["hs","hs-boot","hsig"],"name":"haskell","patterns":[{"include":"#liquid_haskell"},{"include":"#comment_like"},{"include":"#numeric_literals"},{"include":"#string_literal"},{"include":"#char_literal"},{"match":"(?<![#@])-}","name":"invalid"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()\\\\s*(\\\\))","name":"constant.language.unit.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*(#)(\\\\))","name":"constant.language.unit.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()\\\\s*,[,\\\\s]*(\\\\))","name":"support.constant.tuple.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*,[,\\\\s]*(#)(\\\\))","name":"support.constant.tuple.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.bracket.haskell"},"2":{"name":"punctuation.bracket.haskell"}},"match":"(\\\\[)\\\\s*(])","name":"constant.language.empty-list.haskell"},{"begin":"(\\\\b(?<!\')(module)|^(signature))\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.module.haskell"},"3":{"name":"keyword.other.signature.haskell"}},"end":"(?=\\\\b(?<!\')where\\\\b(?!\'))","name":"meta.declaration.module.haskell","patterns":[{"include":"#comment_like"},{"include":"#module_name"},{"include":"#module_exports"},{"match":"[a-z]+","name":"invalid"}]},{"include":"#ffi"},{"begin":"^(\\\\s*)(class)\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.class.haskell"}},"end":"(?=(?<!\')\\\\bwhere\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.class.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(data|newtype)(?:\\\\s+(instance))?\\\\s+((?:(?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\b(?<!\')(?:where|deriving)\\\\b(?!\')|\\\\{-).)*)(?=\\\\b(?<!\'\')where\\\\b(?!\'\'))","beginCaptures":{"2":{"name":"keyword.other.$2.haskell"},"3":{"name":"keyword.other.instance.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=(?<!\')\\\\bderiving\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.$2.generalized.haskell","patterns":[{"include":"#comment_like"},{"begin":"(?<!\')\\\\b(where)\\\\s*(\\\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.where.haskell"},"2":{"name":"punctuation.brace.haskell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#gadt_constructor"},{"match":";","name":"punctuation.semicolon.haskell"}]},{"match":"\\\\b(?<!\')(where)\\\\b(?!\')","name":"keyword.other.where.haskell"},{"include":"#deriving"},{"include":"#gadt_constructor"}]},{"include":"#role_annotation"},{"begin":"^(\\\\s*)(pattern)\\\\s+(.*?)\\\\s+(::|∷)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])","beginCaptures":{"2":{"name":"keyword.other.pattern.haskell"},"3":{"patterns":[{"include":"#comma"},{"include":"#data_constructor"}]},"4":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.pattern.type.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"^\\\\s*(pattern)\\\\b(?!\')","captures":{"1":{"name":"keyword.other.pattern.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.pattern.haskell","patterns":[{"include":"$self"}]},{"begin":"^(\\\\s*)(data|newtype)(?:\\\\s+(family|instance))?\\\\s+(((?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\b(?<!\')(?:where|deriving)\\\\b(?!\')|\\\\{-).)*)","beginCaptures":{"2":{"name":"keyword.other.$2.haskell"},"3":{"name":"keyword.other.$3.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.$2.algebraic.haskell","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#forall"},{"include":"#adt_constructor"},{"include":"#context"},{"include":"#record_decl"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(type)\\\\s+(family)\\\\b(?!\')(((?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\b(?<!\')where\\\\b(?!\')|\\\\{-).)*)","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.family.haskell"},"4":{"patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.type.family.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(type)(?:\\\\s+(instance))?\\\\s+(((?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+|::|∷)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\{-).)*)","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.instance.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.type.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(instance)\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.instance.haskell"}},"end":"(?=\\\\b(?<!\')(where)\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.instance.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(import)\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.import.haskell"}},"end":"(?=\\\\b(?<!\')(where)\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.import.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"captures":{"1":{"name":"keyword.other.$1.haskell"}},"match":"(qualified|as|hiding)"},{"include":"#module_name"},{"include":"#module_exports"}]},{"include":"#deriving"},{"include":"#layout_herald"},{"include":"#keyword"},{"captures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"patterns":[{"include":"#comment_like"},{"include":"#integer_literals"},{"include":"#infix_op"}]}},"match":"^\\\\s*(infix[lr]?)\\\\s+(.*)","name":"meta.fixity-declaration.haskell"},{"include":"#overloaded_label"},{"include":"#type_application"},{"include":"#reserved_symbol"},{"include":"#fun_decl"},{"include":"#qualifier"},{"include":"#data_constructor"},{"include":"#start_type_signature"},{"include":"#prefix_op"},{"include":"#infix_op"},{"begin":"(\\\\()(#)\\\\s","beginCaptures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"}},"end":"(#)(\\\\))","endCaptures":{"1":{"name":"keyword.operator.hash.haskell"},"2":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"include":"#quasi_quote"},{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"include":"#record"}],"repository":{"adt_constructor":{"patterns":[{"include":"#comment_like"},{"begin":"(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:(=)|(\\\\|))(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])","beginCaptures":{"1":{"name":"keyword.operator.eq.haskell"},"2":{"name":"keyword.operator.pipe.haskell"}},"end":"(?:\\\\G|^)\\\\s*(?:(?<!\')\\\\b([\'._\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]+)|(\'?(?<paren>\\\\((?:[^()]?|\\\\g<paren>)*\\\\)))|(\'?(?<brac>\\\\((?:[^]\\\\[]?|\\\\g<brac>)*])))\\\\s*(?:(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)|(`)([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(`))|(?<!\')\\\\b([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)\\\\s*(\\\\))","endCaptures":{"1":{"patterns":[{"include":"#type_signature"}]},"2":{"patterns":[{"include":"#type_signature"}]},"4":{"patterns":[{"include":"#type_signature"}]},"6":{"name":"constant.other.operator.haskell"},"7":{"name":"punctuation.backtick.haskell"},"8":{"name":"constant.other.haskell"},"9":{"name":"punctuation.backtick.haskell"},"10":{"name":"constant.other.haskell"},"11":{"name":"punctuation.paren.haskell"},"12":{"name":"constant.other.operator.haskell"},"13":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#record_decl"},{"include":"#forall"},{"include":"#context"}]}]},"block_comment":{"applyEndPatternLast":1,"begin":"\\\\{-","captures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"-}","name":"comment.block.haskell","patterns":[{"include":"#block_comment"}]},"char_literal":{"captures":{"1":{"name":"punctuation.definition.string.begin.haskell"},"2":{"name":"constant.character.escape.haskell"},"3":{"name":"constant.character.escape.octal.haskell"},"4":{"name":"constant.character.escape.hexadecimal.haskell"},"5":{"name":"constant.character.escape.control.haskell"},"6":{"name":"punctuation.definition.string.end.haskell"}},"match":"(?<![\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])(\')(?:[ -\\\\[\\\\]-~]|(\\\\\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\"\\\\&\'\\\\\\\\abfnrtv]))|(\\\\\\\\o[0-7]+)|(\\\\\\\\x\\\\h+)|(\\\\\\\\\\\\^[@-_]))(\')","name":"string.quoted.single.haskell"},"comma":{"match":",","name":"punctuation.separator.comma.haskell"},"comment_like":{"patterns":[{"include":"#cpp"},{"include":"#pragma"},{"include":"#comments"}]},"comments":{"patterns":[{"begin":"^(\\\\s*)(--\\\\s[$|])","beginCaptures":{"2":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"(?=^(?!\\\\1--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])))","name":"comment.block.documentation.haskell"},{"begin":"(^[\\\\t ]+)?(--\\\\s[*^])","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"\\\\n","name":"comment.line.documentation.haskell"},{"applyEndPatternLast":1,"begin":"\\\\{-\\\\s?[$*^|]","captures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"-}","name":"comment.block.documentation.haskell","patterns":[{"include":"#block_comment"}]},{"begin":"(^[\\\\t ]+)?(?=--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]))","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"(?!\\\\G)","patterns":[{"begin":"--","beginCaptures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"\\\\n","name":"comment.line.double-dash.haskell"}]},{"include":"#block_comment"}]},"context":{"captures":{"1":{"patterns":[{"include":"#comment_like"},{"include":"#type_signature"}]},"2":{"name":"keyword.operator.big-arrow.haskell"}},"match":"(.*)(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(=>|⇒)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])"},"cpp":{"captures":{"1":{"name":"punctuation.definition.preprocessor.c"}},"match":"^(#).*$","name":"meta.preprocessor.c"},"data_constructor":{"match":"\\\\b(?<!\')[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?![\'.\\\\w])","name":"constant.other.haskell"},"deriving":{"patterns":[{"begin":"^(\\\\s*)(deriving)\\\\s+(?:(via|stock|newtype|anyclass)\\\\s+)?","beginCaptures":{"2":{"name":"keyword.other.deriving.haskell"},"3":{"name":"keyword.other.deriving.strategy.$3.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.deriving.haskell","patterns":[{"include":"#comment_like"},{"match":"(?<!\')\\\\b(instance)\\\\b(?!\')","name":"keyword.other.instance.haskell"},{"captures":{"1":{"name":"keyword.other.deriving.strategy.$1.haskell"}},"match":"(?<!\')\\\\b(via|stock|newtype|anyclass)\\\\b(?!\')"},{"include":"#type_signature"}]},{"begin":"(deriving)(?:\\\\s+(stock|newtype|anyclass))?\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.deriving.haskell"},"2":{"name":"keyword.other.deriving.strategy.$2.haskell"},"3":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"name":"meta.deriving.haskell","patterns":[{"include":"#type_signature"}]},{"captures":{"1":{"name":"keyword.other.deriving.haskell"},"2":{"name":"keyword.other.deriving.strategy.$2.haskell"},"3":{"patterns":[{"include":"#type_signature"}]},"5":{"name":"keyword.other.deriving.strategy.via.haskell"},"6":{"patterns":[{"include":"#type_signature"}]}},"match":"(deriving)(?:\\\\s+(stock|newtype|anyclass))?\\\\s+([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(\\\\s+(via)\\\\s+(.*)$)?","name":"meta.deriving.haskell"},{"match":"(?<!\')\\\\b(via)\\\\b(?!\')","name":"keyword.other.deriving.strategy.via.haskell"}]},"double_colon":{"captures":{"1":{"name":"keyword.operator.double-colon.haskell"}},"match":"\\\\s*(::|∷)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])\\\\s*"},"export_constructs":{"patterns":[{"include":"#comment_like"},{"begin":"\\\\b(?<!\')(pattern)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.pattern.haskell"}},"end":"([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","endCaptures":{"1":{"name":"constant.other.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"constant.other.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"}]},{"begin":"\\\\b(?<!\')(type)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.type.haskell"}},"end":"([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","endCaptures":{"1":{"name":"storage.type.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"storage.type.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"}]},{"match":"(?<!\')\\\\b[_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*","name":"entity.name.function.haskell"},{"match":"(?<!\')\\\\b[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*","name":"storage.type.haskell"},{"include":"#record_wildcard"},{"include":"#reserved_symbol"},{"include":"#prefix_op"}]},"ffi":{"begin":"^(\\\\s*)(foreign)\\\\s+((?:im|ex)port)\\\\s+","beginCaptures":{"2":{"name":"keyword.other.foreign.haskell"},"3":{"name":"keyword.other.$3.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.$3.foreign.haskell","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.calling-convention.$1.haskell"}},"match":"\\\\b(?<!\')(ccall|cplusplus|dotnet|jvm|stdcall|prim|capi)\\\\s+"},{"begin":"(?=\\")|(?=\\\\b(?<!\')([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\b(?!\'))","end":"(?=(::|∷)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]))","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.safety.$1.haskell"},"2":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]},"3":{"name":"entity.name.function.haskell"},"4":{"name":"entity.name.function.infix.haskell"}},"match":"\\\\b(?<!\')(safe|unsafe|interruptible)\\\\b(?!\')\\\\s*(\\"(?:\\\\\\\\\\"|[^\\"])*\\")?\\\\s*(?:\\\\b(?<!\'\')([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\b(?!\')|\\\\(\\\\s*(?!--+\\\\))([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*\\\\))"},{"captures":{"1":{"name":"keyword.other.safety.$1.haskell"},"2":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]}},"match":"\\\\b(?<!\')(safe|unsafe|interruptible)\\\\b(?!\')\\\\s*(\\"(?:\\\\\\\\\\"|[^\\"])*\\")?\\\\s*$"},{"captures":{"0":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]}},"match":"\\"(?:\\\\\\\\\\"|[^\\"])*\\""},{"captures":{"1":{"name":"entity.name.function.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"entity.name.function.infix.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"\\\\b(?<!\'\')([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\b(?!\')|(\\\\()\\\\s*(?!--+\\\\))([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))"}]},{"include":"#double_colon"},{"include":"#type_signature"}]},"float_literals":{"captures":{"1":{"name":"constant.numeric.floating.decimal.haskell"},"2":{"name":"constant.numeric.floating.hexadecimal.haskell"}},"match":"\\\\b(?<!\')(?:([0-9][0-9_]*\\\\.[0-9][0-9_]*(?:[Ee][-+]?[0-9][0-9_]*)?|[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*)|(0(?:[Xx]_*\\\\h[_\\\\h]*\\\\.\\\\h[_\\\\h]*(?:[Pp][-+]?[0-9][0-9_]*)?|[Xx]_*\\\\h[_\\\\h]*[Pp][-+]?[0-9][0-9_]*)))\\\\b(?!\')"},"forall":{"begin":"\\\\b(?<!\')(forall|∀)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.forall.haskell"}},"end":"(\\\\.)|(->|→)","endCaptures":{"1":{"name":"keyword.operator.period.haskell"},"2":{"name":"keyword.operator.arrow.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#type_variable"},{"include":"#type_signature"}]},"fun_decl":{"begin":"^(\\\\s*)(?<fn>(?:[_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*#*|\\\\(\\\\s*(?!--+\\\\))[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),:;\\\\[_`{}]][[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*\\\\s*\\\\))(?:\\\\s*,\\\\s*\\\\g<fn>)?)\\\\s*(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'),;_`}]])(::|∷)(?![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])","beginCaptures":{"2":{"name":"entity.name.function.haskell","patterns":[{"include":"#reserved_symbol"},{"include":"#prefix_op"}]},"3":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])((<-|←)|(=)|(-<|↢)|(-<<|⤛))([]\\"\'(),;\\\\[_`{}[^\\\\p{S}\\\\p{P}]]))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.function.type-declaration.haskell","patterns":[{"include":"#type_signature"}]},"gadt_constructor":{"patterns":[{"begin":"^(\\\\s*)(?:\\\\b((?<!\')[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)\\\\s*(\\\\)))","beginCaptures":{"2":{"name":"constant.other.haskell"},"3":{"name":"punctuation.paren.haskell"},"4":{"name":"constant.other.operator.haskell"},"5":{"name":"punctuation.paren.haskell"}},"end":"(?=\\\\b(?<!\'\')deriving\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#double_colon"},{"include":"#record_decl"},{"include":"#type_signature"}]},{"begin":"\\\\b((?<!\')[\\\\p{Lu}\\\\p{Lt}][_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)\\\\s*(\\\\))","beginCaptures":{"1":{"name":"constant.other.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"constant.other.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"$","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#double_colon"},{"include":"#record_decl"},{"include":"#type_signature"}]}]},"infix_op":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"keyword.operator.infix.haskell"}},"match":"((?:(?<!\'\')(\'\')?[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)(#+|[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+(?<!#))"},{"captures":{"1":{"name":"punctuation.backtick.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"patterns":[{"include":"#data_constructor"}]},"4":{"name":"punctuation.backtick.haskell"}},"match":"(`)((?:[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)([_\\\\p{Ll}\\\\p{Lu}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(`)","name":"keyword.operator.function.infix.haskell"}]},"inline_phase":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"name":"meta.inlining-phase.haskell","patterns":[{"match":"~","name":"punctuation.tilde.haskell"},{"include":"#integer_literals"},{"match":"\\\\w*","name":"invalid"}]},"integer_literals":{"captures":{"1":{"name":"constant.numeric.integral.decimal.haskell"},"2":{"name":"constant.numeric.integral.hexadecimal.haskell"},"3":{"name":"constant.numeric.integral.octal.haskell"},"4":{"name":"constant.numeric.integral.binary.haskell"}},"match":"\\\\b(?<!\')(?:([0-9][0-9_]*)|(0[Xx]_*\\\\h[_\\\\h]*)|(0[Oo]_*[0-7][0-7_]*)|(0[Bb]_*[01][01_]*))\\\\b(?!\')"},"keyword":{"captures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"name":"keyword.control.$2.haskell"}},"match":"\\\\b(?<!\')(?:(where|let|in|default)|(m?do|if|then|else|case|of|proc|rec))\\\\b(?!\')"},"layout_herald":{"begin":"(?<!\')\\\\b(?:(where|let|m?do)|(of))\\\\s*(\\\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"name":"keyword.control.of.haskell"},"3":{"name":"punctuation.brace.haskell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"$self"},{"match":";","name":"punctuation.semicolon.haskell"}]},"liquid_haskell":{"begin":"\\\\{-@","end":"@-}","name":"block.liquidhaskell.haskell","patterns":[{"include":"$self"}]},"module_exports":{"applyEndPatternLast":1,"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.paren.haskell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"name":"meta.declaration.exports.haskell","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.module.haskell"}},"match":"\\\\b(?<!\')(module)\\\\b(?!\')"},{"include":"#comma"},{"include":"#export_constructs"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.paren.haskell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#record_wildcard"},{"include":"#export_constructs"},{"include":"#comma"}]}]},"module_name":{"match":"(?<conid>[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(\\\\.\\\\g<conid>)?)","name":"entity.name.namespace.haskell"},"numeric_literals":{"patterns":[{"include":"#float_literals"},{"include":"#integer_literals"}]},"overloaded_label":{"patterns":[{"captures":{"1":{"name":"keyword.operator.prefix.hash.haskell"},"2":{"patterns":[{"include":"#string_literal"}]}},"match":"(?<![[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^(,;\\\\[`{]])(#)(?:(\\"(?:\\\\\\\\\\"|[^\\"])*\\")|[\'._\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]+)","name":"entity.name.label.haskell"}]},"pragma":{"begin":"\\\\{-#","end":"#-}","name":"meta.preprocessor.haskell","patterns":[{"begin":"(?i)\\\\b(?<!\')(LANGUAGE)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"}},"end":"(?=#-})","patterns":[{"match":"(?:No)?(?:AutoDeriveTypeable|DatatypeContexts|DoRec|IncoherentInstances|MonadFailDesugaring|MonoPatBinds|NullaryTypeClasses|OverlappingInstances|PatternSignatures|RecordPuns|RelaxedPolyRec)","name":"invalid.deprecated"},{"captures":{"1":{"name":"keyword.other.preprocessor.extension.haskell"}},"match":"((?:No)?(?:AllowAmbiguousTypes|AlternativeLayoutRule|AlternativeLayoutRuleTransitional|Arrows|BangPatterns|BinaryLiterals|CApiFFI|CPP|CUSKs|ConstrainedClassMethods|ConstraintKinds|DataKinds|DefaultSignatures|DeriveAnyClass|DeriveDataTypeable|DeriveFoldable|DeriveFunctor|DeriveGeneric|DeriveLift|DeriveTraversable|DerivingStrategies|DerivingVia|DisambiguateRecordFields|DoAndIfThenElse|BlockArguments|DuplicateRecordFields|EmptyCase|EmptyDataDecls|EmptyDataDeriving|ExistentialQuantification|ExplicitForAll|ExplicitNamespaces|ExtendedDefaultRules|FlexibleContexts|FlexibleInstances|ForeignFunctionInterface|FunctionalDependencies|GADTSyntax|GADTs|GHCForeignImportPrim|Generali[sz]edNewtypeDeriving|ImplicitParams|ImplicitPrelude|ImportQualifiedPost|ImpredicativeTypes|TypeFamilyDependencies|InstanceSigs|ApplicativeDo|InterruptibleFFI|JavaScriptFFI|KindSignatures|LambdaCase|LiberalTypeSynonyms|MagicHash|MonadComprehensions|MonoLocalBinds|MonomorphismRestriction|MultiParamTypeClasses|MultiWayIf|NumericUnderscores|NPlusKPatterns|NamedFieldPuns|NamedWildCards|NegativeLiterals|HexFloatLiterals|NondecreasingIndentation|NumDecimals|OverloadedLabels|OverloadedLists|OverloadedStrings|PackageImports|ParallelArrays|ParallelListComp|PartialTypeSignatures|PatternGuards|PatternSynonyms|PolyKinds|PolymorphicComponents|QuantifiedConstraints|PostfixOperators|QuasiQuotes|Rank2Types|RankNTypes|RebindableSyntax|RecordWildCards|RecursiveDo|RelaxedLayout|RoleAnnotations|ScopedTypeVariables|StandaloneDeriving|StarIsType|StaticPointers|Strict|StrictData|TemplateHaskell|TemplateHaskellQuotes|StandaloneKindSignatures|TraditionalRecordSyntax|TransformListComp|TupleSections|TypeApplications|TypeInType|TypeFamilies|TypeOperators|TypeSynonymInstances|UnboxedTuples|UnboxedSums|UndecidableInstances|UndecidableSuperClasses|UnicodeSyntax|UnliftedFFITypes|UnliftedNewtypes|ViewPatterns))"},{"include":"#comma"}]},{"begin":"(?i)\\\\b(?<!\')(SPECIALI[SZ]E)(?:\\\\s*(\\\\[[^]\\\\[]*])?\\\\s*|\\\\s+)(instance)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"},"2":{"patterns":[{"include":"#inline_phase"}]},"3":{"name":"keyword.other.instance.haskell"}},"end":"(?=#-})","patterns":[{"include":"#type_signature"}]},{"begin":"(?i)\\\\b(?<!\')(SPECIALI[SZ]E)\\\\b(?!\')(?:\\\\s+(INLINE)\\\\b(?!\'))?\\\\s*(\\\\[[^]\\\\[]*])?\\\\s*","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"},"2":{"name":"keyword.other.preprocessor.pragma.haskell"},"3":{"patterns":[{"include":"#inline_phase"}]}},"end":"(?=#-})","patterns":[{"include":"$self"}]},{"match":"(?i)\\\\b(?<!\')(LANGUAGE|OPTIONS_GHC|INCLUDE|MINIMAL|UNPACK|OVERLAPS|INCOHERENT|NOUNPACK|SOURCE|OVERLAPPING|OVERLAPPABLE|INLINE|NOINLINE|INLINE?ABLE|CONLIKE|LINE|COLUMN|RULES|COMPLETE)\\\\b(?!\')","name":"keyword.other.preprocessor.haskell"},{"begin":"(?i)\\\\b(DEPRECATED|WARNING)\\\\b","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"}},"end":"(?=#-})","patterns":[{"include":"#string_literal"}]}]},"prefix_op":{"patterns":[{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"entity.name.function.infix.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()\\\\s*(?!(?:--+|\\\\.\\\\.)\\\\))(#+|[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+(?<!#))\\\\s*(\\\\))"}]},"qualifier":{"match":"\\\\b(?<!\')[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.","name":"entity.name.namespace.haskell"},"quasi_quote":{"patterns":[{"begin":"(\\\\[)([dep])?(\\\\|\\\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"entity.name.quasi-quoter.haskell"},"3":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\\\3]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell","patterns":[{"include":"$self"}]},{"begin":"(\\\\[)(t)(\\\\|\\\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"entity.name.quasi-quoter.haskell"},"3":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\\\3]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(\\\\[)(?:(\\\\$\\\\$)|(\\\\$))?([\'._[^\\\\s\\\\p{S}\\\\p{P}]]*)(\\\\|\\\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"keyword.operator.prefix.double-dollar.haskell"},"3":{"name":"keyword.operator.prefix.dollar.haskell"},"4":{"name":"entity.name.quasi-quoter.haskell","patterns":[{"include":"#qualifier"}]},"5":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\\\5]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell"}]},"record":{"begin":"(\\\\{)(?!-)","beginCaptures":{"1":{"name":"punctuation.brace.haskell"}},"end":"(?<!-)(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"name":"meta.record.haskell","patterns":[{"include":"#comment_like"},{"include":"#record_field"}]},"record_decl":{"begin":"(\\\\{)(?!-)","beginCaptures":{"1":{"name":"punctuation.brace.haskell"}},"end":"(?<!-)(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"name":"meta.record.definition.haskell","patterns":[{"include":"#comment_like"},{"include":"#record_decl_field"}]},"record_decl_field":{"begin":"([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","beginCaptures":{"1":{"name":"variable.other.member.definition.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"variable.other.member.definition.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.comma.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#comma"},{"include":"#double_colon"},{"include":"#type_signature"},{"include":"#record_decl_field"}]},"record_field":{"patterns":[{"begin":"([_\\\\p{Ll}\\\\p{Lu}][\'._\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","beginCaptures":{"1":{"name":"variable.other.member.haskell","patterns":[{"include":"#qualifier"}]},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"variable.other.member.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.comma.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#comma"},{"include":"$self"}]},{"include":"#record_wildcard"}]},"record_wildcard":{"captures":{"1":{"name":"variable.other.member.wildcard.haskell"}},"match":"(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(\\\\.\\\\.)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])"},"reserved_symbol":{"patterns":[{"captures":{"1":{"name":"keyword.operator.double-dot.haskell"},"2":{"name":"keyword.operator.colon.haskell"},"3":{"name":"keyword.operator.eq.haskell"},"4":{"name":"keyword.operator.lambda.haskell"},"5":{"name":"keyword.operator.pipe.haskell"},"6":{"name":"keyword.operator.arrow.left.haskell"},"7":{"name":"keyword.operator.arrow.haskell"},"8":{"name":"keyword.operator.arrow.left.tail.haskell"},"9":{"name":"keyword.operator.arrow.left.tail.double.haskell"},"10":{"name":"keyword.operator.arrow.tail.haskell"},"11":{"name":"keyword.operator.arrow.tail.double.haskell"},"12":{"name":"keyword.other.forall.haskell"}},"match":"(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:(\\\\.\\\\.)|(:)|(=)|(\\\\\\\\)|(\\\\|)|(<-|←)|(->|→)|(-<|↢)|(-<<|⤛)|(>-|⤚)|(>>-|⤜)|(∀))(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])"},{"captures":{"1":{"name":"keyword.operator.postfix.hash.haskell"}},"match":"(?<=[[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^#,;\\\\[`{]])(#+)(?![[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^]),;`}]])"},{"captures":{"1":{"name":"keyword.operator.infix.tight.at.haskell"}},"match":"(?<=[])_}\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])(@)(?=[(\\\\[_{\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])"},{"captures":{"1":{"name":"keyword.operator.prefix.tilde.haskell"},"2":{"name":"keyword.operator.prefix.bang.haskell"},"3":{"name":"keyword.operator.prefix.minus.haskell"},"4":{"name":"keyword.operator.prefix.dollar.haskell"},"5":{"name":"keyword.operator.prefix.double-dollar.haskell"}},"match":"(?<![[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^(,;\\\\[`{]])(?:(~)|(!)|(-)|(\\\\$)|(\\\\$\\\\$))(?=[(\\\\[_{\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])"}]},"role_annotation":{"patterns":[{"begin":"^(\\\\s*)(type)\\\\s+(role)\\\\b(?!\')","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.role.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.role-annotation.haskell","patterns":[{"include":"#comment_like"},{"include":"#type_constructor"},{"captures":{"1":{"name":"keyword.other.role.$1.haskell"}},"match":"\\\\b(?<!\')(nominal|representational|phantom)\\\\b(?!\')"}]}]},"start_type_signature":{"patterns":[{"begin":"^(\\\\s*)(::|∷)(?![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])\\\\s*","beginCaptures":{"2":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=#?\\\\)|[],]|(?<!\')\\\\b(in|then|else|of)\\\\b(?!\')|(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:([\\\\\\\\λ])|(<-|←)|(=)|(-<|↢)|(-<<|⤛))([]\\"\'(),;\\\\[_`{}[^\\\\p{S}\\\\p{P}]])|([#@])-}|(?=[;}])|^(?!\\\\1\\\\s*\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$)))","name":"meta.type-declaration.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])(::|∷)(?![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])","beginCaptures":{"1":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=#?\\\\)|[],]|\\\\b(?<!\')(in|then|else|of)\\\\b(?!\')|([#@])-}|(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:([\\\\\\\\λ])|(<-|←)|(=)|(-<|↢)|(-<<|⤛))([]\\"\'(),;\\\\[_`{}[^\\\\p{S}\\\\p{P}]])|(?=[;}])|$)","patterns":[{"include":"#type_signature"}]}]},"string_literal":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.haskell"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.haskell"}},"name":"string.quoted.double.haskell","patterns":[{"match":"\\\\\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\"\\\\&\'\\\\\\\\abfnrtv])","name":"constant.character.escape.haskell"},{"match":"\\\\\\\\(?:o[0-7]+|x\\\\h+|[0-9]+)","name":"constant.character.escape.octal.haskell"},{"match":"\\\\\\\\\\\\^[@-_]","name":"constant.character.escape.control.haskell"},{"begin":"\\\\\\\\\\\\s","beginCaptures":{"0":{"name":"constant.character.escape.begin.haskell"}},"end":"\\\\\\\\","endCaptures":{"0":{"name":"constant.character.escape.end.haskell"}},"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.haskell"}]}]},"type_application":{"patterns":[{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(\')?(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"},"2":{"name":"keyword.operator.promotion.haskell"},"3":{"name":"punctuation.paren.haskell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(\')?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"},"2":{"name":"keyword.operator.promotion.haskell"},"3":{"name":"punctuation.bracket.haskell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(?=\\")","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"}},"end":"(?<=\\")","name":"meta.type-application.haskell","patterns":[{"include":"#string_literal"}]},{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(?=[\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"}},"end":"(?![\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])","name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]}]},"type_constructor":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"storage.type.haskell"}},"match":"(\')?((?:\\\\b[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)\\\\b([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"entity.name.namespace.haskell"},"4":{"name":"storage.type.operator.haskell"},"5":{"name":"punctuation.paren.haskell"}},"match":"(\')?(\\\\()\\\\s*((?:[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))"}]},"type_operator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"storage.type.operator.infix.haskell"}},"match":"(?:(?<!\')(\'))?((?:\\\\b[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)(?![#@]?-})(#+|[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+(?<!#))"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.backtick.haskell"},"3":{"name":"entity.name.namespace.haskell"},"4":{"name":"storage.type.infix.haskell"},"5":{"name":"punctuation.backtick.haskell"}},"match":"(\')?(`)((?:[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(`)"}]},"type_signature":{"patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(\')?(\\\\()\\\\s*(\\\\))","name":"support.constant.unit.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*(#)(\\\\))","name":"support.constant.unit.unboxed.haskell"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(\')?(\\\\()\\\\s*,[,\\\\s]*(\\\\))","name":"support.constant.tuple.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*(#)(\\\\))","name":"support.constant.unit.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*,[,\\\\s]*(#)(\\\\))","name":"support.constant.tuple.unboxed.haskell"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.bracket.haskell"},"3":{"name":"punctuation.bracket.haskell"}},"match":"(\')?(\\\\[)\\\\s*(])","name":"support.constant.empty-list.haskell"},{"include":"#integer_literals"},{"match":"(::|∷)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])","name":"keyword.operator.double-colon.haskell"},{"include":"#forall"},{"match":"=>|⇒","name":"keyword.operator.big-arrow.haskell"},{"include":"#string_literal"},{"match":"\'[^\']\'","name":"invalid"},{"include":"#type_application"},{"include":"#reserved_symbol"},{"include":"#type_operator"},{"include":"#type_constructor"},{"begin":"(\\\\()(#)","beginCaptures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"}},"end":"(#)(\\\\))","endCaptures":{"1":{"name":"keyword.operator.hash.haskell"},"2":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"begin":"(\')?(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"begin":"(\')?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.bracket.haskell"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"include":"#type_variable"}]},"type_variable":{"match":"\\\\b(?<!\')(?!(?:forall|deriving)\\\\b(?!\'))[_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*","name":"variable.other.generic-type.haskell"},"where":{"patterns":[{"begin":"(?<!\')\\\\b(where)\\\\s*(\\\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.where.haskell"},"2":{"name":"punctuation.brace.haskell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"$self"},{"match":";","name":"punctuation.semicolon.haskell"}]},{"match":"\\\\b(?<!\')(where)\\\\b(?!\')","name":"keyword.other.where.haskell"}]}},"scopeName":"source.haskell","aliases":["hs"]}'))]}}]);
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! LICENSE: ar.9dc8b1992a.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([["ar"],{wA(e,t,n){var a=n("j"),r=n("H"),l=n("rm"),i=n("Go"),s=n("t"),o=n("I"),c=n("z"),d=n("oj");function p(e){let{rootPath:t,activeRepo:n,onSelectRepo:p}=e,[h,x]=(0,r.J0)(!1),[m,f]=(0,r.J0)(["."]),[u,b]=(0,r.J0)(!1),[k,y]=(0,r.J0)(""),g=(0,r.li)(null),v=function(e){if(!e)return"workspace root";let t=e.replace(/\\/g,"/").split("/").filter(Boolean);return t.length>0?t[t.length-1]:"workspace root"}(t),N=e=>"."===e?v:e,w=async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=new URLSearchParams({reposOnly:"1"});t&&n.set("root",t),e&&n.set("rescan","1"),n.set("t",String(Date.now()));let a=await fetch(`/api/fs/git?${n.toString()}`).then(e=>e.json()).catch(()=>null);a&&Array.isArray(a.repos)&&(f(a.repos),a.reposPending?b(!0):b(!1))};(0,r.vJ)(()=>{h&&w()},[h,t]),(0,r.vJ)(()=>{if(!u)return;let e=new URLSearchParams({reposOnly:"1"});t&&e.set("root",t);let n=setInterval(async()=>{let t=await fetch(`/api/fs/git?${e.toString()}`).then(e=>e.json()).catch(()=>null);t&&!t.reposPending&&Array.isArray(t.repos)&&(f(t.repos),b(!1))},1500);return()=>clearInterval(n)},[u,t]),(0,d.W)(g,()=>x(!1));let Y=m.filter(e=>!k.trim()||N(e).toLowerCase().includes(k.toLowerCase()));return(0,a.FD)("div",{className:"relative",ref:g,children:[(0,a.FD)("button",{type:"button",onClick:()=>x(!h),title:"Switch git project",className:"flex items-center space-x-1.5 hover:bg-ink/5 px-2 py-1 rounded transition-colors text-xs text-ink/80 font-medium",children:[(0,a.Y)(l.A,{size:12,className:"text-ink/60"}),(0,a.Y)("span",{className:"truncate max-w-[110px]",children:"."===n?v:n.split("/").pop()}),(0,a.Y)(i.A,{size:12,className:"text-ink/40"})]}),h&&(0,a.FD)("div",{className:"absolute top-full left-0 mt-1 w-52 bg-paper border border-ink/20 rounded-md shadow-lg z-50 flex flex-col overflow-hidden text-xs",children:[(0,a.FD)("div",{className:"px-2 py-1.5 border-b border-ink/10 flex items-center space-x-1.5",children:[(0,a.Y)(s.A,{size:11,className:"text-ink/40 flex-shrink-0"}),(0,a.Y)("input",{type:"text",value:k,onChange:e=>y(e.currentTarget.value),placeholder:"Search repos...",title:"Search repositories",className:"w-full bg-transparent outline-none text-xs text-ink placeholder-ink/40",autoFocus:!0}),k&&(0,a.Y)("button",{type:"button",onClick:()=>y(""),title:"Clear search",className:"text-ink/40 hover:text-ink flex-shrink-0",children:"×"}),(0,a.Y)("button",{type:"button",onClick:()=>void w(!0),title:"Refresh nested repos",disabled:u,className:"text-ink/40 hover:text-ink flex-shrink-0 transition-colors disabled:opacity-40 disabled:hover:text-ink/40",children:(0,a.Y)(o.A,{size:11,className:u?"animate-spin":""})})]}),(0,a.Y)("div",{className:"max-h-48 scrollbar-overlay-container scrollbar-overlay-static py-1",children:0===Y.length?(0,a.Y)("div",{className:"px-3 py-2 text-ink/40 italic",children:"No repos found"}):Y.map(e=>(0,a.FD)("button",{type:"button",onClick:()=>{p(e),x(!1),y("")},title:N(e),className:"w-full text-left px-3 py-2 hover:bg-ink/5 flex items-center justify-between transition-colors",children:[(0,a.Y)("span",{className:"truncate",children:N(e)}),n===e&&(0,a.Y)(c.A,{size:12,className:"text-ink"})]},e))})]})]})}n.d(t,{I:()=>p})},Ek(e,t,n){n.d(t,{FileExplorer:()=>j});var a=n("j"),r=n("H"),l=n("nV"),i=n("t"),s=n("wA"),o=n("Go"),c=n("Nf"),d=n("Xk"),p=n("cx"),h=n("G"),x=n("bH"),m=n("YOg"),f=n("qr"),u=n("b0"),b=n("hw");let k=(0,n("y").A)({name:"pen",size:24,node:[["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"}]],aliases:["edit-2"]});var y=n("m"),g=n("S");function v(e){let{x:t,y:n,isFolder:r,hasGitStatus:l,onAction:i,menuRef:s}=e,o=r?220:l?285:255,c="u">typeof window?Math.max(10,Math.min(t,window.innerWidth-190-12)):t,d="u">typeof window?Math.max(10,Math.min(n,window.innerHeight-o-12)):n;return(0,h.d5)((0,a.Y)("div",{className:"fixed inset-0 z-50 bg-ink/20",onClick:()=>i("close"),onContextMenu:e=>{e.preventDefault(),i("close")},children:(0,a.FD)("div",{ref:s,className:"fixed z-50 bg-paper border border-ink/15 shadow-2xl rounded-lg py-1 min-w-[185px] text-xs text-ink font-sans",style:{top:d,left:c},onClick:e=>e.stopPropagation(),children:[!r&&(0,a.FD)(a.FK,{children:[(0,a.FD)("button",{onClick:()=>i("view"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors",children:[(0,a.Y)(x.A,{size:13,className:"text-ink/60"}),(0,a.Y)("span",{children:"View"})]}),l&&(0,a.FD)("button",{onClick:()=>i("diff"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors text-ink",children:[(0,a.Y)(m.A,{size:13,className:"text-warning"}),(0,a.Y)("span",{className:"font-medium",children:"Open in Diff Panel"})]})]}),(0,a.FD)("button",{onClick:()=>i("explorer"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors",children:[(0,a.Y)(f.A,{size:13,className:"text-ink/60"}),(0,a.Y)("span",{children:"Go to Explorer"})]}),(0,a.Y)("div",{className:"my-1 border-t border-ink/10"}),(0,a.FD)("button",{onClick:()=>i("copy_path"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors",children:[(0,a.Y)(u.A,{size:13,className:"text-ink/60"}),(0,a.Y)("span",{children:"Copy Path"})]}),(0,a.FD)("button",{onClick:()=>i("copy_relative"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors",children:[(0,a.Y)(u.A,{size:13,className:"text-ink/60"}),(0,a.Y)("span",{children:"Copy Relative Path"})]}),(0,a.Y)("div",{className:"my-1 border-t border-ink/10"}),(0,a.FD)("button",{onClick:()=>i("history"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors",children:[(0,a.Y)(b.A,{size:13,className:"text-ink/60"}),(0,a.Y)("span",{children:"Show Git History"})]}),(0,a.Y)("div",{className:"my-1 border-t border-ink/10"}),(0,a.FD)("button",{onClick:()=>i("rename"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors",children:[(0,a.Y)(k,{size:13,className:"text-ink/60"}),(0,a.Y)("span",{children:"Rename"})]}),(0,a.FD)("button",{onClick:()=>i("delete"),className:"w-full text-left px-3 py-1.5 hover:bg-error/10 text-error flex items-center space-x-2 transition-colors",children:[(0,a.Y)(y.A,{size:13,className:"text-error"}),(0,a.Y)("span",{children:"Delete"})]})]})}),document.body)}function N(e){let{fileName:t,isFolder:n,isLoading:r,onCancel:l,onConfirm:i}=e;return(0,h.d5)((0,a.Y)("div",{className:"fixed inset-0 bg-ink/20 z-[100] flex items-center justify-center p-4 backdrop-blur-sm",children:(0,a.FD)("div",{className:"bg-paper rounded shadow-xl p-4 w-full max-w-sm border border-ink/10 font-sans",children:[(0,a.FD)("h3",{className:"font-semibold text-ink mb-2 text-sm",children:["Delete ",n?"Folder":"File"]}),(0,a.FD)("p",{className:"text-xs text-ink/70 mb-4",children:["Are you sure you want to delete ",(0,a.Y)("span",{className:"font-mono bg-canvas px-1 rounded",children:t}),"? This action cannot be undone."]}),(0,a.FD)("div",{className:"flex justify-end space-x-2",children:[(0,a.Y)("button",{onClick:l,className:"px-3 py-1.5 text-xs text-ink hover:bg-ink/5 rounded transition-colors",disabled:r,children:"Cancel"}),(0,a.Y)("button",{onClick:i,className:"px-3 py-1.5 text-xs bg-error text-white rounded hover:bg-error/90 transition-colors flex items-center",disabled:r,children:r?"Deleting...":"Delete"})]})]})}),document.body)}function w(e){let{isFolder:t,renameValue:n,originalPath:r,isLoading:l,onChange:i,onCancel:s,onSubmit:o}=e;return(0,h.d5)((0,a.Y)("div",{className:"fixed inset-0 bg-ink/20 z-[100] flex items-center justify-center p-4 backdrop-blur-sm",children:(0,a.FD)("form",{onSubmit:o,className:"bg-paper rounded shadow-xl p-4 w-full max-w-sm border border-ink/10 font-sans",children:[(0,a.FD)("h3",{className:"font-semibold text-ink mb-3 text-sm",children:["Rename ",t?"Folder":"File"]}),(0,a.Y)("input",{autoFocus:!0,type:"text",value:n,onChange:e=>i(e.currentTarget.value),className:"w-full bg-paper border border-ink/20 rounded px-2 py-1.5 text-xs font-mono focus:outline-none focus:border-ink mb-4"}),(0,a.FD)("div",{className:"flex justify-end space-x-2",children:[(0,a.Y)("button",{type:"button",onClick:s,className:"px-3 py-1.5 text-xs text-ink hover:bg-ink/5 rounded transition-colors",disabled:l,children:"Cancel"}),(0,a.Y)("button",{type:"submit",className:"px-3 py-1.5 text-xs bg-ink text-canvas rounded hover:bg-ink/90 transition-colors flex items-center",disabled:l||!n.trim()||n===r,children:l?"Renaming...":"Rename"})]})]})}),document.body)}function Y(e){let{filePath:t,fetcherState:n,fetcherData:r,onClose:i}=e;return(0,h.d5)((0,a.Y)("div",{className:"fixed inset-0 bg-ink/20 z-[100] flex items-center justify-center p-4 backdrop-blur-sm",children:(0,a.FD)("div",{className:"bg-paper rounded-lg shadow-xl w-full max-w-4xl border border-ink/10 flex flex-col max-h-[85vh]",children:[(0,a.FD)("div",{className:"flex items-center justify-between p-4 border-b border-ink/10",children:[(0,a.FD)("h3",{className:"text-sm font-semibold text-ink flex items-center space-x-2",children:[(0,a.Y)(b.A,{size:16,className:"text-ink/60"}),(0,a.FD)("span",{children:["Git History: ",(0,a.Y)("span",{className:"font-mono font-normal opacity-80",children:t})]})]}),(0,a.Y)("button",{onClick:i,className:"p-1 hover:bg-ink/5 rounded text-ink/60 transition-colors",children:(0,a.Y)(g.A,{size:14})})]}),(0,a.Y)("div",{className:"flex-1 scrollbar-overlay-container scrollbar-overlay-static bg-paper p-2",children:"idle"===n?r?.type==="history"?r.data.length>0?(0,a.FD)("table",{className:"w-full text-left border-collapse text-[11px]",children:[(0,a.Y)("thead",{className:"bg-canvas sticky top-0 z-10 border-b border-ink/10",children:(0,a.FD)("tr",{children:[(0,a.Y)("th",{className:"px-3 py-2 font-semibold text-ink/70 rounded-tl",children:"Description"}),(0,a.Y)("th",{className:"px-3 py-2 font-semibold text-ink/70 w-32",children:"Date"}),(0,a.Y)("th",{className:"px-3 py-2 font-semibold text-ink/70 w-32",children:"Author"}),(0,a.Y)("th",{className:"px-3 py-2 font-semibold text-ink/70 w-24 text-right rounded-tr",children:"Commit"})]})}),(0,a.Y)("tbody",{className:"divide-y divide-ink/5",children:r.data.map((e,t)=>(0,a.FD)("tr",{className:"hover:bg-ink/[0.03] transition-colors group bg-paper",children:[(0,a.Y)("td",{className:"px-3 py-2 text-ink",children:e.message?(0,a.Y)("span",{className:"font-medium text-ink/90 group-hover:text-ink",children:e.message}):null}),(0,a.Y)("td",{className:"px-3 py-2 text-ink/60 whitespace-nowrap font-mono text-[10.5px]",children:e.time}),(0,a.Y)("td",{className:"px-3 py-2 text-ink/70 whitespace-nowrap truncate max-w-[120px]",children:e.author}),(0,a.Y)("td",{className:"px-3 py-2 text-right",children:e.hash?(0,a.Y)("span",{className:"font-mono text-ink/50 group-hover:text-ink font-semibold transition-colors bg-canvas px-1.5 py-0.5 rounded border border-ink/10",children:e.hash}):null})]},t))})]}):(0,a.Y)("div",{className:"p-8 text-center text-ink/40 font-mono text-xs",children:"No commit history found for this file."}):r?.error?(0,a.Y)("div",{className:"p-8 text-center text-error font-mono text-xs",children:r.error}):(0,a.Y)("div",{className:"p-8 text-center text-ink/40 font-mono text-xs",children:"Loading history..."}):(0,a.FD)("div",{className:"p-8 text-center text-ink/40 font-mono text-xs flex items-center justify-center space-x-2",children:[(0,a.Y)(l.A,{size:14,className:"animate-spin"}),(0,a.Y)("span",{children:"Loading history..."})]})})]})}),document.body)}var F=n("LQ"),D=n("oj");function C(e){let{file:t,rootPath:n,repo:l,onLoadChildren:i,onOpenFile:s,onActionComplete:h,expandedPaths:x,onToggleFolder:m,gitFileMap:f,gitFolderMap:u}=e,b="folder"===t.type,[k,y]=(0,r.J0)(!1),[g,A]=(0,r.J0)(!1),z=(0,d.L)(),[S,J]=(0,r.J0)(!1),[j,L]=(0,r.J0)(null),P=(0,r.li)(null),[M,R]=(0,r.J0)(!1),[T,$]=(0,r.J0)(!1),[E,H]=(0,r.J0)(!1),[G,O]=(0,r.J0)(t.path),_=Array.isArray(t.children)?t.children:[],I=(t.path||"").replace(/^\/+/,""),V=b?void 0:f?.get(I)||f?.get(t.path),B=V?(0,F.R)(V.status,V.staged):null,U=b?u?.get(I)||u?.get(t.path):null,W=!!B,K=x?x.has(t.path):k,Q=void 0!==t.forceExpanded?t.forceExpanded:K;(0,r.vJ)(()=>{J(!0)},[]),(0,r.vJ)(()=>{b&&x&&y(x.has(t.path))},[x,t.path,b]),(0,r.vJ)(()=>{b&&Q&&(!t.children||0===t.children.length)&&i&&!g&&(A(!0),Promise.resolve(i(t.path)).finally(()=>A(!1)))},[b,Q,t.children,t.path,i]),(0,D.W)(P,()=>L(null)),(0,r.vJ)(()=>{"idle"===z.state&&z.data&&z.data.success&&!z.data.type&&(R(!1),$(!1),h())},[z.state,z.data]);let X=e=>{l&&"."!==l&&e.append("repo",l),n&&e.append("root",n),z.submit(e,{method:"post",action:"/api/fs/action"})};return(0,a.FD)("div",{children:[(0,a.FD)("div",{className:"flex items-center space-x-1.5 py-1 px-2 hover:bg-ink/5 cursor-pointer rounded group",onClick:e=>{if(e.stopPropagation(),b){let e=!Q;y(e),void 0!==t.forceExpanded&&(t.forceExpanded=void 0),m?.(t.path,e),e&&i&&(!t.children||0===t.children.length)&&(A(!0),Promise.resolve(i(t.path)).finally(()=>A(!1)))}else s&&s({...t,root:n,repo:l||"."})},onContextMenu:e=>{e.preventDefault(),e.stopPropagation(),L({x:e.clientX,y:e.clientY})},children:[b?Q?(0,a.Y)(o.A,{size:12,className:"flex-shrink-0 text-ink/40"}):(0,a.Y)(c.A,{size:12,className:"flex-shrink-0 text-ink/40"}):(0,a.Y)("span",{className:"w-3 flex-shrink-0"}),(0,a.Y)(p.o,{name:t.name,isFolder:b,isOpen:Q,size:12,className:"flex-shrink-0"}),(0,a.Y)("span",{className:`truncate min-w-0 flex-1 ${B?B.colorClass:U?U.colorClass:""}`,children:t.name}),B&&(0,a.Y)("span",{className:`font-mono text-[9px] font-bold px-1 rounded flex-shrink-0 ${B.colorClass}`,title:`Git: ${B.label}`,children:B.charStatus}),U&&(0,a.Y)("span",{className:`w-1.5 h-1.5 rounded-full flex-shrink-0 ${U.hasDeleted?"bg-error":U.hasModified||U.hasStaged?"bg-info":"bg-success"}`,title:`${U.count} changed file${U.count>1?"s":""}`})]}),Q&&g&&(0,a.Y)("div",{className:"ml-3 border-l border-ink/10 pl-3 py-0.5 text-[10px] text-ink/30",children:"Loading…"}),Q&&!g&&_.length>0&&(0,a.Y)("div",{className:"ml-3 border-l border-ink/10 pl-1",children:_.map(e=>(0,a.Y)(C,{file:e,rootPath:n,repo:l,onLoadChildren:i,onOpenFile:s,onActionComplete:h,expandedPaths:x,onToggleFolder:m,gitFileMap:f,gitFolderMap:u},e.id))}),S&&j&&(0,a.Y)(v,{x:j.x,y:j.y,isFolder:b,hasGitStatus:W,onAction:e=>{if(L(null),"view"===e)s&&s({...t,root:n,repo:l||"."});else if("diff"===e)window.dispatchEvent(new CustomEvent("omp:open-diff",{detail:{file:t.path,staged:V?.staged||V?.status&&" "!==V.status[0]&&"?"!==V.status[0],status:B?.charStatus||"M",repo:l||".",root:n}}));else if("explorer"===e){let e=new FormData;e.append("actionType","open_explorer"),e.append("path",t.path),X(e)}else if("copy_path"===e)navigator.clipboard.writeText("/app/applet/examples/"+t.path);else if("copy_relative"===e)navigator.clipboard.writeText(t.path);else if("history"===e){H(!0);let e=new FormData;e.append("actionType","git_history"),e.append("path",t.path),X(e)}else"rename"===e?(O(t.path),R(!0)):"delete"===e&&$(!0)}}),S&&T&&(0,a.Y)(N,{fileName:t.name,isFolder:b,isLoading:"idle"!==z.state,onCancel:()=>$(!1),onConfirm:()=>{let e=new FormData;e.append("actionType","delete"),e.append("path",t.path),X(e)}}),S&&M&&(0,a.Y)(w,{isFolder:b,renameValue:G,originalPath:t.path,isLoading:"idle"!==z.state,onChange:O,onCancel:()=>R(!1),onSubmit:e=>{e.preventDefault();let n=new FormData;n.append("actionType","rename"),n.append("path",t.path),n.append("newPath",G),X(n)}}),S&&E&&(0,a.Y)(Y,{filePath:t.path,fetcherState:z.state,fetcherData:z.data,onClose:()=>H(!1)})]})}var A=n("jo"),z=n("FL"),S=n("so"),J=n("Af");function j(e){let{className:t="",enabled:n=!0,rootPath:o,onOpenFile:c,refreshKey:d=0,onRefresh:p}=e,[h,x]=(0,r.J0)([]),[m,f]=(0,z.bL)("files.searchQuery",""),[u,b]=(0,r.J0)(!1),[k,y,g]=(0,z.bL)("files.expandedPaths",[]),[v,N]=(0,r.J0)(()=>new Set(k)),w=(0,r.li)({}),[Y,F]=(0,z.bL)("files.activeRepo","."),{isScrolling:D,handleScroll:j}=(0,A.K)(),{fileMap:L,folderMap:P,refreshGitStatus:M}=(0,S.e)(o,Y,d,n);(0,r.vJ)(()=>{g&&N(e=>{let t=new Set(k);return e.size===t.size&&Array.from(t).every(t=>e.has(t))?e:t})},[g,k]);let R=e=>{let t=new URLSearchParams;return o&&t.set("root",o),Y&&"."!==Y&&t.set("repo",Y),e&&t.set("path",e),t.set("t",String(Date.now())),`/api/fs/dir?${t.toString()}`},T=e=>{n&&(e?.silent||b(!0),fetch(R()).then(e=>e.json()).then(e=>{Array.isArray(e.files)&&x(function e(t,n,a){return t.map(t=>{if("folder"!==t.type)return t;let r=n[t.path],l=a.has(t.path);return r?{...t,children:e(r,n,a),is_expanded:+!!l}:t})}(e.files,w.current,v))}).catch(()=>{}).finally(()=>{e?.silent||b(!1)}))};(0,r.vJ)(()=>{g&&T()},[d,o,n,Y,g]),(0,J.n)(()=>T({silent:!0}),n&&g),(0,J.w)(()=>T({silent:!0}),n&&g);let $=e=>fetch(R(e)).then(e=>e.json()).then(t=>{Array.isArray(t.files)&&(w.current[e]=t.files,x(n=>(function e(t,n,a){return t.map(t=>{if(t.path===n)return{...t,children:a,is_expanded:1};if(Array.isArray(t.children)){let r=e(t.children,n,a);if(r!==t.children)return{...t,children:r}}return t})})(n,e,t.files)))}).catch(()=>{}),E=(e,t)=>{let n=new Set(v);t?n.add(e):n.delete(e),N(n),y(Array.from(n))};if(!n)return(0,a.Y)("div",{className:`flex flex-col h-full bg-paper items-center justify-center text-ink/40 ${t}`,children:(0,a.Y)("span",{className:"text-xs font-mono",children:"No session selected"})});let H=(()=>{if(!m.trim())return h;let e=m.toLowerCase(),t=n=>{let a=n.name.toLowerCase().includes(e);if("folder"===n.type){let e=(n.children||[]).map(t).filter(Boolean);return a||e.length>0?{...n,children:a&&0===e.length?n.children:e,forceExpanded:!0}:null}return a?n:null};return h.map(t).filter(Boolean)})(),G=()=>{M(),p?p():T()};return(0,a.FD)("div",{className:`flex flex-col h-full bg-paper ${t}`,children:[(0,a.FD)("div",{className:"p-3 border-b border-ink/10 flex flex-col space-y-2",children:[(0,a.FD)("div",{className:"flex items-center justify-between",children:[(0,a.Y)(s.I,{rootPath:o,activeRepo:Y,onSelectRepo:e=>{e!==Y&&(w.current={},N(new Set),y([]),F(e))}}),(0,a.Y)("button",{onClick:G,className:"p-1.5 text-ink/40 hover:text-ink hover:bg-ink/5 rounded transition-colors",title:"Refresh",children:(0,a.Y)(l.A,{size:14,className:u?"animate-spin":""})})]}),(0,a.FD)("div",{className:"relative",children:[(0,a.Y)(i.A,{size:14,className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-ink/40"}),(0,a.Y)("input",{type:"text",placeholder:"Search files...",value:m,onChange:e=>f(e.currentTarget.value),className:"w-full bg-canvas border border-ink/20 rounded pl-8 pr-3 py-1.5 text-xs focus:outline-none focus:border-ink transition-colors text-ink placeholder-ink/40"})]})]}),(0,a.Y)("div",{className:`flex-1 scrollbar-overlay-container p-2 font-mono text-[11px] text-ink/80 ${(0,A.p)(D)}`,onContextMenu:e=>e.preventDefault(),onScroll:j,children:u&&0===H.length?(0,a.Y)("div",{className:"p-4 text-center text-ink/40",children:"Loading files..."}):0===H.length?(0,a.Y)("div",{className:"p-4 text-center text-ink/40",children:"No files found"}):H.map(e=>(0,a.Y)(C,{file:e,rootPath:o,repo:Y,onLoadChildren:$,onOpenFile:c,onActionComplete:G,expandedPaths:v,onToggleFolder:E,gitFileMap:L,gitFolderMap:P},e.id))})]})}},rm(e,t,n){let a=(0,n("y").A)({name:"folder-git-2",size:24,node:[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]});n.d(t,{},{A:a})},YOg(e,t,n){let a=(0,n("y").A)({name:"git-compare",size:24,node:[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]]});n.d(t,{},{A:a})}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([["bi"],{Rc(e,t,r){r.d(t,{UsagePanel:()=>v});var n=r("j"),i=r("p"),a=r("nV"),l=r("M"),s=r("hm"),o=r("TW"),c=r("H"),d=r("Go"),p=r("t"),x=r("z"),u=r("oj");let m="usage-provider-listbox";function f(e){let{providers:t,value:r,onChange:i}=e,[a,l]=(0,c.J0)(!1),[o,f]=(0,c.J0)(""),[h,k]=(0,c.J0)(0),b=(0,c.li)(null),v=(0,c.li)(null),g=(0,c.li)(null),w=(0,c.li)([]),N=t.find(e=>e.id===r)??t[0],y=(0,c.Kr)(()=>{let e=o.trim().toLowerCase();return e?t.filter(t=>`${t.name} ${(0,s.R)(t)} ${t.hint}`.toLowerCase().includes(e)):t},[t,o]),D=()=>{let e=Math.max(0,t.findIndex(e=>e.id===r));f(""),k(e),l(!0)},Y=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];l(!1),f(""),e&&v.current?.focus()},F=e=>{i(e),Y(!0)};return(0,c.vJ)(()=>{a&&w.current[h]?.scrollIntoView({block:"nearest"})},[a,h]),(0,u.W)(b,()=>l(!1)),(0,n.FD)("div",{className:"relative min-w-0",ref:b,onKeyDown:e=>{let t=e.target===g.current;if(!a){("ArrowDown"===e.key||"Enter"===e.key||" "===e.key)&&(e.preventDefault(),D());return}switch(e.key){case"Escape":e.preventDefault(),Y(!0);break;case"ArrowDown":e.preventDefault(),k(e=>Math.max(0,Math.min(y.length-1,e+1)));break;case"ArrowUp":e.preventDefault(),k(e=>Math.max(0,e-1));break;case"Home":e.preventDefault(),k(0);break;case"End":e.preventDefault(),k(Math.max(0,y.length-1));break;case"Enter":e.preventDefault(),y[h]&&F(y[h].id);break;case" ":if(t)return;e.preventDefault(),y[h]&&F(y[h].id)}},children:[(0,n.FD)("button",{ref:v,type:"button",onClick:()=>a?Y():D(),"aria-haspopup":"listbox","aria-expanded":a,"aria-controls":m,title:"Select usage provider",className:"flex w-full min-w-0 items-center justify-between gap-2 bg-paper border border-ink/15 rounded-lg px-3 py-1.5 text-xs text-ink hover:bg-ink/5 transition-colors",children:[(0,n.FD)("span",{className:"flex min-w-0 items-baseline gap-2",children:[(0,n.Y)("span",{className:"truncate font-medium",children:N?.name??"Select provider"}),N&&(0,n.Y)("span",{className:"truncate text-[10px] text-ink/50",children:(0,s.R)(N)})]}),(0,n.Y)(d.A,{size:12,className:`flex-shrink-0 text-ink/40 transition-transform ${a?"rotate-180":""}`})]}),a&&(0,n.FD)("div",{className:"absolute top-full left-0 mt-1 w-52 bg-paper border border-ink/20 rounded-md shadow-lg z-50 flex flex-col overflow-hidden text-xs",children:[(0,n.FD)("div",{className:"px-2 py-1.5 border-b border-ink/10 flex items-center gap-1.5",children:[(0,n.Y)(p.A,{size:11,className:"text-ink/40 flex-shrink-0"}),(0,n.Y)("input",{ref:g,type:"text",value:o,onChange:e=>{f(e.currentTarget.value),k(0)},placeholder:"Search providers...",title:"Search providers",className:"w-full min-w-0 bg-transparent outline-none text-xs text-ink placeholder-ink/40",autoFocus:!0}),o&&(0,n.Y)("button",{type:"button",onClick:()=>{f(""),k(0),g.current?.focus()},title:"Clear search",className:"text-ink/40 hover:text-ink flex-shrink-0",children:"×"})]}),(0,n.Y)("div",{id:m,role:"listbox","aria-label":"Usage providers",className:"max-h-48 scrollbar-overlay-container scrollbar-overlay-static py-1",children:0===y.length?(0,n.Y)("div",{className:"px-3 py-2 text-ink/40 italic",children:"No providers found"}):y.map((e,t)=>(0,n.FD)("button",{ref:e=>{w.current[t]=e},type:"button",role:"option","aria-selected":e.id===r,onClick:()=>F(e.id),onMouseEnter:()=>k(t),title:e.hint,className:`w-full text-left px-3 py-2 flex items-center justify-between gap-2 transition-colors ${t===h?"bg-ink/5":"hover:bg-ink/5"}`,children:[(0,n.FD)("span",{className:"min-w-0",children:[(0,n.Y)("span",{className:"block truncate font-medium text-ink",children:e.name}),(0,n.FD)("span",{className:"block truncate text-[10px] text-ink/50",children:[(0,s.R)(e)," · ",e.hint]})]}),e.id===r&&(0,n.Y)(x.A,{size:12,className:"flex-shrink-0 text-ink"})]},e.id))})]})]})}var h=r("uY"),k=r("FL"),b=r("Af");function v(e){let{className:t="",active:r=!0}=e,{report:c,isLoading:d,error:p,reload:x}=(0,h.N)(),[u,m]=(0,k.bL)("usage.selectedProviderId","kenari");if((0,b.n)(()=>x({silent:!0}),r),p&&!c)return(0,n.FD)("div",{className:`flex h-full w-full flex-col items-center justify-center gap-2 p-8 text-center text-xs ${t}`,children:[(0,n.Y)(i.A,{size:16,className:"text-error"}),(0,n.Y)("p",{className:"text-error text-xs",children:p}),(0,n.Y)("button",{type:"button",onClick:()=>x(),className:"text-[11px] font-semibold text-ink/70 hover:text-ink underline underline-offset-2",children:"Try again"})]});if(!c)return(0,n.Y)("div",{className:`flex h-full w-full items-center justify-center text-ink/40 text-xs ${t}`,children:"Loading provider usage..."});let v=(0,s.T)(c);return(0,n.FD)("div",{className:`flex h-full w-full min-w-0 min-h-0 flex-col overflow-hidden bg-paper text-xs text-ink ${t}`,children:[(0,n.FD)("div",{className:"px-3.5 py-2.5 border-b border-ink/10 flex items-center justify-between gap-3 flex-shrink-0 min-w-0",children:[(0,n.FD)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,n.Y)("h2",{className:"text-xs font-semibold text-ink uppercase tracking-wider",children:"Usage"}),(0,n.FD)("span",{className:"text-[11px] text-ink/50 truncate",children:["Updated ",(0,o.r6)(c.generatedAt)]}),c.isMock&&(0,n.Y)("span",{className:"text-[10px] font-mono uppercase tracking-wider bg-ink/5 border border-ink/15 rounded px-1.5 py-0.5 text-ink/60",children:"Mock"})]}),(0,n.Y)("button",{type:"button",onClick:()=>x(),disabled:d,className:"p-1.5 bg-paper border border-ink/15 rounded-md hover:bg-ink/5 text-ink/80 transition-colors disabled:opacity-50 flex-shrink-0",title:"Refresh usage",children:(0,n.Y)(a.A,{size:12,className:d?"animate-spin text-ink":""})})]}),(0,n.Y)("div",{className:"px-3.5 py-2.5 border-b border-ink/10 flex-shrink-0 min-w-0",children:(0,n.FD)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,n.Y)("span",{className:"text-[11px] font-semibold text-ink/60 flex-shrink-0",children:"Provider"}),(0,n.Y)(f,{providers:v,value:u,onChange:m})]})}),(0,n.FD)("div",{className:"flex-1 min-w-0 min-h-0 w-full overflow-y-auto scrollbar-overlay-container scrollbar-overlay-static p-3.5 space-y-4",children:[p&&(0,n.Y)("p",{className:"text-error text-xs",children:p}),(0,n.Y)(l.H,{providerId:u,report:c})]})]})}}}]);
|