agmon 0.2.0 → 0.2.1
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/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-manifest.json +8 -8
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +15 -14
- package/.next/server/app/_not-found.segments/_full.segment.rsc +15 -14
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +4 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/media/route.js.nft.json +1 -1
- package/.next/server/app/api/reports/tokens/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/transcript/route.js.nft.json +1 -1
- package/.next/server/app/api/traces/stream/route.js.nft.json +1 -1
- package/.next/server/app/api/version/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/file-content/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
- package/.next/server/app/chat/page.js.nft.json +1 -1
- package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/chat.html +1 -1
- package/.next/server/app/chat.rsc +20 -19
- package/.next/server/app/chat.segments/_full.segment.rsc +20 -19
- package/.next/server/app/chat.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +21 -20
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +20 -18
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/index.segments/_full.segment.rsc +20 -18
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/reports/page.js.nft.json +1 -1
- package/.next/server/app/reports/page_client-reference-manifest.js +1 -1
- package/.next/server/app/reports.html +1 -1
- package/.next/server/app/reports.rsc +4 -4
- package/.next/server/app/reports.segments/_full.segment.rsc +4 -4
- package/.next/server/app/reports.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/reports.segments/reports/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/store/page.js.nft.json +1 -1
- package/.next/server/app/store/page_client-reference-manifest.js +1 -1
- package/.next/server/app/store.html +1 -1
- package/.next/server/app/store.rsc +5 -5
- package/.next/server/app/store.segments/_full.segment.rsc +5 -5
- package/.next/server/app/store.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/store.segments/store/__PAGE__.segment.rsc +5 -5
- package/.next/server/chunks/_0ao-_t4jkb46h._.js +2 -2
- package/.next/server/chunks/_0ao-_t4jkb46h._.js.map +1 -1
- package/.next/server/chunks/src_lib_watchers_antigravityWatcher_0w1-atg39y__p.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0i2rbwbkxbdog._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0i2rbwbkxbdog._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0qzscpxebh28_._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0qzscpxebh28_._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1jwplflwix8wi._.js +427 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1jwplflwix8wi._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1kt7h7bz59mdn._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1kt7h7bz59mdn._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1otsvjy81s8my._.js +427 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1otsvjy81s8my._.js.map +1 -0
- package/.next/server/chunks/ssr/_0--937zhi743v._.js +3 -0
- package/.next/server/chunks/ssr/_0--937zhi743v._.js.map +1 -0
- package/.next/server/chunks/ssr/_0e3frtjrk-wi9._.js +3 -0
- package/.next/server/chunks/ssr/_0e3frtjrk-wi9._.js.map +1 -0
- package/.next/server/chunks/ssr/_0h29jdf4relbq._.js +3 -0
- package/.next/server/chunks/ssr/_0h29jdf4relbq._.js.map +1 -0
- package/.next/server/chunks/ssr/_1487-zi23c5eb._.js +1 -1
- package/.next/server/chunks/ssr/_1487-zi23c5eb._.js.map +1 -1
- package/.next/server/chunks/ssr/_1vgwoe-shb9z7._.js +3 -0
- package/.next/server/chunks/ssr/_1vgwoe-shb9z7._.js.map +1 -0
- package/.next/server/chunks/ssr/_1zm4m-s8k7oe3._.js +3 -0
- package/.next/server/chunks/ssr/_1zm4m-s8k7oe3._.js.map +1 -0
- package/.next/server/chunks/ssr/_202tntue-jj6s._.js +3 -0
- package/.next/server/chunks/ssr/_202tntue-jj6s._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules_1wlwrgnt65zus._.js → node_modules_00ebs67b4u61w._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0m3ihe65818y_._.js → node_modules_01p9ctt-n2dxp._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1kr1c-ncf8q9t._.js → node_modules_05i69rc9pwcdx._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_02jwra-d9iqim._.js → node_modules_06mgkab1v5iox._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_1dff7b_kvngr-._.js → node_modules_07bjxeq9dfgn1._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_02vtgweceovke._.js → node_modules_08q6a-f2itxyo._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_13nsmuhey_ti_._.js → node_modules_09v49jhajmvl4._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_0oukyh0iq21ow._.js → node_modules_0b8zi3pbl-y9n._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_061uaylfjwqk7._.js → node_modules_0d2ios01ot1in._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0b8ndnuql44z1._.js → node_modules_0dw0vozejrnml._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_05w7qhtrzvnk6._.js → node_modules_0e3njj436xau-._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0z7rdbaf13024._.js → node_modules_0e6qoh__e4a69._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1ll-58c1c-qab._.js → node_modules_0hb0q0epwvp--._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0f773uqgzj7y7._.js → node_modules_0jla9ugf1y6rb._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0fd1swhk15cx3._.js → node_modules_0l-y0kqtu_r3o._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1zs2nou5uogby._.js → node_modules_0l814qpw677vm._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1c8i3jrmo4393._.js → node_modules_0lqovp8j8ld76._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0z3elum1675ve._.js → node_modules_0o63z1gd17rhb._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1xyxigbqzb8vs._.js → node_modules_0sjdrli5douui._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1iovyom0-y7o_._.js → node_modules_0xh8tnq1niblb._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0nde84kzuwv2n._.js → node_modules_0yayrqhzfk8wy._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0__m9_odts7_e._.js → node_modules_0z1e37smavebg._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_0f4xh33v3iltc._.js → node_modules_0zb0i39mnjdf3._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_02nv3yff2pqh8._.js → node_modules_10g1mmrf63d8a._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_0-6sb1gkbjo93._.js → node_modules_152txg4c7ose3._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_12qn4bepdou5v._.js → node_modules_185fuy4cv7loa._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_0dq0dsblt-q0g._.js → node_modules_1aqaelh-8fme6._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1-iyhsn_1p9nx._.js → node_modules_1d4sreyq0ubqg._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_0hqa9oxz17hip._.js → node_modules_1e_nc2eyg4djz._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1rlnehdn16ay-._.js → node_modules_1hd7j-tdb8drq._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_12qw2ucebdvol._.js → node_modules_1i3x2csuq_-jt._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0zc49fdcopqu9._.js → node_modules_1l2g7btuh3e4s._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_1-sz_-qddwilq._.js → node_modules_1l46or7mgko0z._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0fs8mckuwk2tj._.js → node_modules_1ltys5mwtcv-n._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0vn0kjn_84lmn._.js → node_modules_1nz3ckv6tu_66._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0t4h1rucl35hl._.js → node_modules_1pquu5wprusnc._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_0-nvg0c4pgfb8._.js → node_modules_1qnypguag6s_l._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1v4lexrfhnlhs._.js → node_modules_1r6w-jlme6d10._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1f4geuvkvlxj1._.js → node_modules_1st9dwe66yx93._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0kovk4b6czb22._.js → node_modules_1tskcaktx6ods._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_07maxxr-t28ql._.js → node_modules_1wew4nn7i1uup._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1216007ogd5om._.js → node_modules_1zbmc81s-4zsm._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1kv6lsckqs-m0._.js → node_modules_1zii7uk468cay._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_0bmuudv_6eypr._.js → node_modules_katex_dist_katex_mjs_0kqo9zl9cgwbo._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_0qyy6pq9uzpk0._.js → node_modules_katex_dist_katex_mjs_1604s1ky8db8u._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_lucide-react_dist_esm_1d8fezw1qsiob._.js → node_modules_lucide-react_dist_esm_0-5bcc79665lq._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_0-5bcc79665lq._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules_lucide-react_dist_esm_0pezg1352q13j._.js → node_modules_lucide-react_dist_esm_0axoa1eg51x1-._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_0axoa1eg51x1-._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules_lucide-react_dist_esm_131i-tjzse3ye._.js → node_modules_lucide-react_dist_esm_18ei1-na3kusb._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_18ei1-na3kusb._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules_lucide-react_dist_esm_1to-9cv1ysvs6._.js → node_modules_lucide-react_dist_esm_1tx493x2_auzs._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_1tx493x2_auzs._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_mermaid_dist_mermaid_core_mjs_06it7ktosm1dr._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_mermaid_dist_mermaid_core_mjs_06it7ktosm1dr._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_page_1vqfk0-j72fp6.js +1 -1
- package/.next/server/chunks/ssr/src_app_page_1vqfk0-j72fp6.js.map +1 -1
- package/.next/server/chunks/ssr/src_components_reports_TokenReportView_jsx_1g3p_enbbsadt._.js +1 -1
- package/.next/server/chunks/ssr/src_components_reports_TokenReportView_jsx_1g3p_enbbsadt._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/preview-props.json +3 -3
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/0r9apkv3exqv-.js +1 -0
- package/.next/static/chunks/17jorrh_pfel_.js +1 -0
- package/.next/static/chunks/1n_lb7wmn81jj.js +1 -0
- package/.next/static/chunks/2-w116ewoshm1.js +1 -0
- package/.next/static/chunks/23uup1e8841av.js +1 -0
- package/.next/static/chunks/25l0z48vlvdu4.css +1 -0
- package/.next/static/chunks/2rx7xvi55ohln.js +1 -0
- package/.next/static/chunks/3og0e9qcff393.js +425 -0
- package/.next/static/chunks/3rtpnpqd981z9.js +1 -0
- package/.next/trace +1 -1
- package/.next/trace-build +1 -1
- package/bin/cli.js +12 -0
- package/package.json +1 -1
- package/src/app/chat/page.js +14 -14
- package/src/app/globals.css +128 -0
- package/src/app/layout.js +6 -1
- package/src/app/page.js +1 -1
- package/src/components/chat/ChatMessageItem.js +12 -12
- package/src/components/chat/CodeBlock.js +5 -5
- package/src/components/chat/DiffViewer.js +27 -27
- package/src/components/chat/MarkdownRenderer.js +19 -19
- package/src/components/chat/SessionChatView.js +41 -41
- package/src/components/chat/SessionSearch.js +8 -8
- package/src/components/chat/ThinkingAccordion.js +3 -3
- package/src/components/chat/ToolCallCard.js +6 -6
- package/src/components/chat/ToolOutputView.js +19 -19
- package/src/components/factory/office-canvas.js +134 -3
- package/src/components/factory/scene/characters.js +267 -32
- package/src/components/layout/CommandPalette.jsx +12 -0
- package/src/components/layout/EditorTabs.jsx +17 -0
- package/src/components/layout/LayoutToggles.jsx +31 -2
- package/src/components/layout/LeftSidebar.jsx +27 -3
- package/src/components/layout/RightSidebar.jsx +8 -8
- package/src/components/layout/TitleBar.jsx +5 -1
- package/src/components/layout/VSCodeWorkbench.jsx +78 -14
- package/src/components/store/Item3DRenderer.jsx +602 -48
- package/src/components/store/LiveFittingRoom.jsx +55 -791
- package/src/components/store/LiveReactAgent.jsx +1637 -0
- package/src/components/store/SupporterStoreModal.jsx +3 -2
- package/src/components/store/SupporterStoreView.jsx +94 -34
- package/src/components/theme/ThemeSettingsModal.jsx +40 -40
- package/src/components/ui/Button.jsx +4 -4
- package/src/components/ui/Input.jsx +1 -1
- package/src/components/ui/Modal.jsx +6 -6
- package/src/components/ui/Select.jsx +3 -3
- package/src/lib/catalog/auras.js +226 -1199
- package/src/lib/catalog/index.js +60 -1
- package/src/lib/catalog/pets.js +291 -2398
- package/src/lib/catalog/props.js +488 -4199
- package/src/lib/catalog/skins.js +773 -3249
- package/src/lib/catalog/trophies.js +226 -1199
- package/src/lib/mockTraces.js +15 -15
- package/src/lib/supporterStore.js +1 -1
- package/src/lib/traceContract.js +1 -1
- package/src/lib/watchers/claudeWatcher.js +24 -19
- package/.next/server/chunks/ssr/[root-of-the-server]__19s2v5rryc14o._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__19s2v5rryc14o._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1_jerxrctq6ev._.js +0 -427
- package/.next/server/chunks/ssr/[root-of-the-server]__1_jerxrctq6ev._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1pvso-uyf--97._.js +0 -427
- package/.next/server/chunks/ssr/[root-of-the-server]__1pvso-uyf--97._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1y78dc7oiz7ks._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1y78dc7oiz7ks._.js.map +0 -1
- package/.next/server/chunks/ssr/_0ozao7omdwbvd._.js +0 -3
- package/.next/server/chunks/ssr/_0ozao7omdwbvd._.js.map +0 -1
- package/.next/server/chunks/ssr/_0rcmpdyxc1qwj._.js +0 -3
- package/.next/server/chunks/ssr/_0rcmpdyxc1qwj._.js.map +0 -1
- package/.next/server/chunks/ssr/_0wv0xnhun3mk7._.js +0 -3
- package/.next/server/chunks/ssr/_0wv0xnhun3mk7._.js.map +0 -1
- package/.next/server/chunks/ssr/_17rmaft1zusua._.js +0 -3
- package/.next/server/chunks/ssr/_17rmaft1zusua._.js.map +0 -1
- package/.next/server/chunks/ssr/_1e-d4pcj59a7a._.js +0 -3
- package/.next/server/chunks/ssr/_1e-d4pcj59a7a._.js.map +0 -1
- package/.next/server/chunks/ssr/_1qr5gnh64z8pg._.js +0 -3
- package/.next/server/chunks/ssr/_1qr5gnh64z8pg._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_0pezg1352q13j._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_131i-tjzse3ye._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_1d8fezw1qsiob._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_1to-9cv1ysvs6._.js.map +0 -1
- package/.next/static/chunks/0_3s_e4gd9xl0.js +0 -1
- package/.next/static/chunks/0i4kx4yl-dwfg.js +0 -425
- package/.next/static/chunks/0z0jbobmmvqoc.js +0 -1
- package/.next/static/chunks/1_a_gmob5qzho.js +0 -1
- package/.next/static/chunks/1ifqr4qo4697b.js +0 -1
- package/.next/static/chunks/2ccq9i8ev4dsx.js +0 -1
- package/.next/static/chunks/2mif7onk_9jy-.css +0 -1
- package/.next/static/chunks/40wyf-mv0tiu3.js +0 -1
- /package/.next/server/chunks/ssr/{node_modules_1c8i3jrmo4393._.js.map → node_modules_00ebs67b4u61w._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_02vtgweceovke._.js.map → node_modules_01p9ctt-n2dxp._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_1kr1c-ncf8q9t._.js.map → node_modules_05i69rc9pwcdx._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_02jwra-d9iqim._.js.map → node_modules_06mgkab1v5iox._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_1dff7b_kvngr-._.js.map → node_modules_07bjxeq9dfgn1._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0m3ihe65818y_._.js.map → node_modules_08q6a-f2itxyo._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0-6sb1gkbjo93._.js.map → node_modules_09v49jhajmvl4._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0oukyh0iq21ow._.js.map → node_modules_0b8zi3pbl-y9n._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_061uaylfjwqk7._.js.map → node_modules_0d2ios01ot1in._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_02nv3yff2pqh8._.js.map → node_modules_0dw0vozejrnml._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0-nvg0c4pgfb8._.js.map → node_modules_0e3njj436xau-._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0fs8mckuwk2tj._.js.map → node_modules_0e6qoh__e4a69._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0t4h1rucl35hl._.js.map → node_modules_0hb0q0epwvp--._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0f773uqgzj7y7._.js.map → node_modules_0jla9ugf1y6rb._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0dq0dsblt-q0g._.js.map → node_modules_0l-y0kqtu_r3o._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0zc49fdcopqu9._.js.map → node_modules_0l814qpw677vm._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_1wlwrgnt65zus._.js.map → node_modules_0lqovp8j8ld76._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0z3elum1675ve._.js.map → node_modules_0o63z1gd17rhb._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_1xyxigbqzb8vs._.js.map → node_modules_0sjdrli5douui._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_1-iyhsn_1p9nx._.js.map → node_modules_0xh8tnq1niblb._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0nde84kzuwv2n._.js.map → node_modules_0yayrqhzfk8wy._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0__m9_odts7_e._.js.map → node_modules_0z1e37smavebg._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0f4xh33v3iltc._.js.map → node_modules_0zb0i39mnjdf3._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0b8ndnuql44z1._.js.map → node_modules_10g1mmrf63d8a._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_1-sz_-qddwilq._.js.map → node_modules_152txg4c7ose3._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_12qn4bepdou5v._.js.map → node_modules_185fuy4cv7loa._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0fd1swhk15cx3._.js.map → node_modules_1aqaelh-8fme6._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_13nsmuhey_ti_._.js.map → node_modules_1d4sreyq0ubqg._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0hqa9oxz17hip._.js.map → node_modules_1e_nc2eyg4djz._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_1rlnehdn16ay-._.js.map → node_modules_1hd7j-tdb8drq._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_07maxxr-t28ql._.js.map → node_modules_1i3x2csuq_-jt._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_1iovyom0-y7o_._.js.map → node_modules_1l2g7btuh3e4s._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_1ll-58c1c-qab._.js.map → node_modules_1l46or7mgko0z._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0z7rdbaf13024._.js.map → node_modules_1ltys5mwtcv-n._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0vn0kjn_84lmn._.js.map → node_modules_1nz3ckv6tu_66._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_1zs2nou5uogby._.js.map → node_modules_1pquu5wprusnc._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_05w7qhtrzvnk6._.js.map → node_modules_1qnypguag6s_l._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_1v4lexrfhnlhs._.js.map → node_modules_1r6w-jlme6d10._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_1f4geuvkvlxj1._.js.map → node_modules_1st9dwe66yx93._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_0kovk4b6czb22._.js.map → node_modules_1tskcaktx6ods._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_12qw2ucebdvol._.js.map → node_modules_1wew4nn7i1uup._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_1216007ogd5om._.js.map → node_modules_1zbmc81s-4zsm._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_1kv6lsckqs-m0._.js.map → node_modules_1zii7uk468cay._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_0bmuudv_6eypr._.js.map → node_modules_katex_dist_katex_mjs_0kqo9zl9cgwbo._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_0qyy6pq9uzpk0._.js.map → node_modules_katex_dist_katex_mjs_1604s1ky8db8u._.js.map} +0 -0
- /package/.next/static/{sQnXeiP8rV6y2v0az_xw3 → 1y6Da0YgnPr2_6ncpWrbV}/_buildManifest.js +0 -0
- /package/.next/static/{sQnXeiP8rV6y2v0az_xw3 → 1y6Da0YgnPr2_6ncpWrbV}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{sQnXeiP8rV6y2v0az_xw3 → 1y6Da0YgnPr2_6ncpWrbV}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/watchers/antigravityWatcher.js","../../../src/lib/traceContract.js"],"sourcesContent":["import fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport os from \"node:os\";\nimport { normalizeTrace } from \"../traceContract.js\";\n\nconst TOOL_MAP = {\n view_file: \"read\",\n read_file: \"read\",\n replace_file_content: \"edit\",\n write_to_file: \"edit\",\n call_mcp_tool: \"mcp\",\n list_resources: \"mcp\",\n invoke_subagent: \"agent\",\n grep_search: \"search\",\n list_dir: \"read\",\n find_by_name: \"read\",\n define_subagent: \"agent\",\n};\n\nfunction normalizeToolCall(tc) {\n if (!tc || !tc.name) return { type: \"mcp\", detail: null };\n const name = tc.name;\n const args = tc.args || {};\n\n // 1. MCP Tools inspection\n if (name === \"call_mcp_tool\") {\n const srv = String(args.ServerName || \"\").toLowerCase();\n const tool = String(args.ToolName || \"\").toLowerCase();\n if (srv.includes(\"gitnexus\") || tool.includes(\"cypher\") || tool.includes(\"pdg_query\") || tool.includes(\"impact\")) {\n return { type: \"gitnexus\", detail: `GitNexus: ${tool}` };\n }\n if (srv.includes(\"playwright\") || srv.includes(\"browser\") || tool.startsWith(\"browser_\")) {\n return { type: \"browser\", detail: `Browser: ${tool}` };\n }\n return { type: \"mcp\", detail: `MCP: ${srv}/${tool}` };\n }\n\n // 2. Terminal commands inspection\n if (name === \"run_command\") {\n const cmd = String(args.CommandLine || \"\").trim();\n const cmdLower = cmd.toLowerCase();\n if (cmdLower.startsWith(\"docker\") || cmdLower.includes(\"docker exec\") || cmdLower.includes(\"docker-compose\")) {\n return { type: \"docker\", detail: cmd.length > 50 ? `${cmd.slice(0, 47)}...` : cmd };\n }\n if (cmdLower.startsWith(\"git \") || cmdLower.startsWith(\"gh \") || cmdLower.includes(\"git commit\") || cmdLower.includes(\"git push\")) {\n return { type: \"git\", detail: cmd.length > 50 ? `${cmd.slice(0, 47)}...` : cmd };\n }\n if (cmdLower.includes(\"gitnexus\")) {\n return { type: \"gitnexus\", detail: cmd.length > 50 ? `${cmd.slice(0, 47)}...` : cmd };\n }\n return { type: \"bash\", detail: cmd.length > 50 ? `${cmd.slice(0, 47)}...` : cmd };\n }\n\n // 3. Native tools mapping\n const mapped = TOOL_MAP[name];\n const target = args.TargetFile || args.AbsolutePath || args.query || \"\";\n const detail = target ? `${name}: ${path.basename(target)}` : name;\n\n if (mapped) return { type: mapped, detail };\n if (name.includes(\"read\") || name.includes(\"find\") || name.includes(\"dir\") || name.includes(\"list\")) return { type: \"read\", detail };\n if (name.includes(\"edit\") || name.includes(\"write\") || name.includes(\"patch\")) return { type: \"edit\", detail };\n if (name.includes(\"search\") || name.includes(\"grep\")) return { type: \"search\", detail };\n if (name.includes(\"agent\") || name.includes(\"message\")) return { type: \"agent\", detail };\n\n return { type: \"mcp\", detail };\n}\n\nexport function extractModelFromTranscript(content) {\n if (!content) return null;\n const match = content.match(/Model Selection` from [^ ]+ to (.*?)(?:\\.\\s+No need|\\.\\s*\\n|<\\/USER_SETTINGS_CHANGE>)/i);\n if (match && match[1]) return match[1].trim();\n const matchFallback = content.match(/Model Selection`? from .*? to ([^\\n<.]+)/i);\n if (matchFallback && matchFallback[1]) return matchFallback[1].trim();\n return null;\n}\n\nexport function normalizeModel(raw) {\n if (!raw) return null;\n const lower = raw.toLowerCase();\n if (lower.includes(\"3.8\") && lower.includes(\"flash\")) return \"gemini-3.8-flash\";\n if (lower.includes(\"3.5\") && lower.includes(\"flash\")) return \"gemini-3.5-flash\";\n if (lower.includes(\"3.8\") && lower.includes(\"pro\")) return \"gemini-3.8-pro\";\n if (lower.includes(\"3.1\") && lower.includes(\"pro\")) return \"gemini-3.1-pro\";\n if (lower.includes(\"2.5\") && lower.includes(\"pro\")) return \"gemini-2.5-pro\";\n if (lower.includes(\"2.5\") && lower.includes(\"flash\")) return \"gemini-2.5-flash\";\n if (lower.includes(\"sonnet\") && lower.includes(\"5.5\")) return \"claude-sonnet-5.5\";\n if (lower.includes(\"sonnet\") && lower.includes(\"3.7\")) return \"claude-3.7-sonnet\";\n if (lower.includes(\"sonnet\") && lower.includes(\"3.5\")) return \"claude-3.5-sonnet\";\n return raw.replace(/[()]/g, \"\").trim().toLowerCase().replace(/\\s+/g, \"-\");\n}\n\nfunction compactText(value, maxLength = 160) {\n const text = String(value || \"\").replace(/\\s+/g, \" \").trim();\n return text ? text.slice(0, maxLength) : null;\n}\n\nfunction getProviderFromModel(modelName, clientType) {\n const model = String(modelName || \"\").toLowerCase();\n let provider = null;\n if (model.includes(\"gemini\")) provider = \"gemini\";\n else if (model.includes(\"claude\")) provider = \"anthropic\";\n else if (model.includes(\"gpt\") || model.includes(\"o1\") || model.includes(\"o3\")) provider = \"openai\";\n else if (model.includes(\"minimax\")) provider = \"minimax\";\n else if (model.includes(\"deepseek\")) provider = \"deepseek\";\n return provider ? `${provider} (${clientType})` : null;\n}\n\nfunction cleanUserPrompt(content) {\n if (!content) return null;\n let text = String(content);\n // If there are explicit <USER_REQUEST> tags, extract the actual user request\n const userRequestMatches = [...text.matchAll(/<USER_REQUEST>([\\s\\S]*?)<\\/USER_REQUEST>/gi)];\n if (userRequestMatches.length > 0) {\n text = userRequestMatches[userRequestMatches.length - 1][1];\n } else {\n text = text\n .replace(/<CONTEXT_SUMMARY>[\\s\\S]*?<\\/CONTEXT_SUMMARY>/gi, \"\")\n .replace(/<ADDITIONAL_METADATA>[\\s\\S]*?<\\/ADDITIONAL_METADATA>/gi, \"\")\n .replace(/<USER_SETTINGS_CHANGE>[\\s\\S]*?<\\/USER_SETTINGS_CHANGE>/gi, \"\")\n .replace(/<system-reminder>[\\s\\S]*?<\\/system-reminder>/gi, \"\");\n }\n return compactText(text);\n}\n\nasync function discoverAntigravityBrainDirs() {\n const homeDir = os.homedir();\n const geminiDir = path.join(homeDir, \".gemini\");\n const discovered = [];\n const seen = new Set();\n\n const addDir = (dirPath, defaultSource) => {\n if (seen.has(dirPath)) return;\n seen.add(dirPath);\n discovered.push({ dir: dirPath, source: defaultSource });\n };\n\n // 1. Standard paths\n addDir(path.join(geminiDir, \"antigravity-cli\", \"brain\"), \"cli\");\n addDir(path.join(geminiDir, \"antigravity\", \"brain\"), \"app\");\n addDir(path.join(geminiDir, \"antigravity-ide\", \"brain\"), \"ide\");\n\n // 2. Dynamic discovery of any sibling folders in ~/.gemini\n try {\n const entries = await fs.readdir(geminiDir, { withFileTypes: true });\n for (const ent of entries) {\n if (!ent.isDirectory()) continue;\n const bPath = path.join(geminiDir, ent.name, \"brain\");\n if (seen.has(bPath)) continue;\n try {\n const s = await fs.stat(bPath);\n if (s.isDirectory()) {\n const lower = ent.name.toLowerCase();\n const source = lower.includes(\"ide\") ? \"ide\" : lower.includes(\"app\") || lower === \"antigravity\" ? \"app\" : \"cli\";\n addDir(bPath, source);\n }\n } catch {}\n }\n } catch {}\n\n const validDirs = [];\n for (const item of discovered) {\n try {\n const s = await fs.stat(item.dir);\n if (s.isDirectory()) validDirs.push(item);\n } catch {}\n }\n return validDirs;\n}\n\nexport async function getAntigravityTraces(maxAgeMs = 24 * 60 * 60 * 1000) {\n const homeDir = os.homedir();\n const searchDirs = await discoverAntigravityBrainDirs();\n\n let defaultCliModel = null;\n try {\n const cliSettingsRaw = await fs.readFile(path.join(homeDir, \".gemini\", \"antigravity-cli\", \"settings.json\"), \"utf-8\");\n const cliSettings = JSON.parse(cliSettingsRaw);\n if (cliSettings.model) defaultCliModel = cliSettings.model;\n } catch {}\n\n try {\n const now = Date.now();\n const traces = [];\n const seenConvIds = new Set();\n\n for (const { dir: brainDir, source } of searchDirs) {\n let entries;\n try {\n entries = await fs.readdir(brainDir, { withFileTypes: true });\n } catch {\n continue;\n }\n\n for (const ent of entries) {\n if (!ent.isDirectory()) continue;\n const convId = ent.name;\n if (seenConvIds.has(convId)) continue;\n const transcriptPath = path.join(brainDir, convId, \".system_generated\", \"logs\", \"transcript.jsonl\");\n\n try {\n const stat = await fs.stat(transcriptPath);\n const mtime = stat.mtimeMs;\n if (now - mtime > maxAgeMs) continue;\n\n const content = await fs.readFile(transcriptPath, \"utf-8\");\n const lines = content.trim().split(\"\\n\");\n if (lines.length === 0) continue;\n\n let totalIn = 0;\n let totalOut = 0;\n let totalCached = 0;\n let hasUsage = false;\n let lastToolEntry = null;\n let lastStep = null;\n const toolSet = new Set();\n let firstTime = null;\n let lastTime = null;\n let activeCommandDetail = null;\n let detectedCwd = null;\n let sessionTitle = null;\n let lastText = null;\n let lastTextRole = null;\n const toolInvocations = [];\n const recentLogs = [];\n\n for (const line of lines) {\n if (!line) continue;\n try {\n const entry = JSON.parse(line);\n const entryTime = entry.created_at ? new Date(entry.created_at).getTime() : Date.now();\n if (!firstTime && entry.created_at) firstTime = entryTime;\n if (entry.created_at) lastTime = entryTime;\n\n if (\n Number.isFinite(entry.input_tokens) ||\n Number.isFinite(entry.output_tokens) ||\n Number.isFinite(entry.cache_read_tokens)\n ) {\n hasUsage = true;\n totalIn += entry.input_tokens || 0;\n totalOut += entry.output_tokens || 0;\n totalCached += entry.cache_read_tokens || 0;\n }\n\n if (entry.type === \"USER_INPUT\" && entry.content) {\n const cleanPrompt = cleanUserPrompt(entry.content);\n if (cleanPrompt) {\n sessionTitle ||= compactText(cleanPrompt, 80);\n lastText = cleanPrompt;\n lastTextRole = \"user\";\n recentLogs.push({\n timestamp: entry.created_at || new Date().toISOString(),\n type: \"prompt\",\n summary: \"User Prompt\",\n detail: cleanPrompt.slice(0, 100),\n });\n }\n } else if (entry.type === \"PLANNER_RESPONSE\" && entry.content) {\n const response = compactText(entry.content);\n if (response) {\n lastText = response;\n lastTextRole = \"assistant\";\n }\n }\n\n if (Array.isArray(entry.tool_calls) && entry.tool_calls.length > 0) {\n lastToolEntry = entry;\n for (const tc of entry.tool_calls) {\n if (tc.args?.Cwd && !detectedCwd) detectedCwd = tc.args.Cwd;\n if (!detectedCwd && (tc.args?.TargetFile || tc.args?.AbsolutePath)) {\n const p = tc.args.TargetFile || tc.args.AbsolutePath;\n if (p.includes(\"/Projects/\")) detectedCwd = p.split(\"/\").slice(0, 5).join(\"/\");\n }\n const { type, detail } = normalizeToolCall(tc);\n if (type) toolSet.add(type);\n if (detail) activeCommandDetail = detail;\n\n toolInvocations.push({\n name: tc.name,\n time: entryTime,\n detail: detail || tc.name,\n });\n\n recentLogs.push({\n timestamp: entry.created_at || new Date().toISOString(),\n type: type || \"tool\",\n summary: tc.name,\n detail: detail || tc.name,\n });\n }\n }\n\n if (entry.status === \"ERROR\" || (entry.type === \"GENERIC\" && entry.content && entry.content.includes(\"error\"))) {\n recentLogs.push({\n timestamp: entry.created_at || new Date().toISOString(),\n type: \"error\",\n summary: \"Error\",\n detail: String(entry.content || \"Command failed\").slice(0, 100),\n });\n }\n\n lastStep = entry;\n } catch {\n // ignore malformed line\n }\n }\n\n let state = \"done\";\n if (lastToolEntry?.status === \"RUNNING\") {\n state = \"streaming\";\n } else if (lastStep?.type === \"USER_INPUT\") {\n state = \"pending\";\n } else if (now - mtime < 45 * 1000) {\n state = \"idle\";\n }\n\n // Loop detection: 5 consecutive identical tool calls (same tool and target) within 60s\n let isLooping = false;\n if (toolInvocations.length >= 5) {\n const lastN = toolInvocations.slice(-10);\n for (let s = 0; s <= lastN.length - 5; s++) {\n const window = lastN.slice(s, s + 5);\n const targetKey = `${window[0].name}:${window[0].detail}`;\n const sameCall = window.every((w) => `${w.name}:${w.detail}` === targetKey);\n const timeSpan = (window[window.length - 1].time || 0) - (window[0].time || 0);\n if (sameCall && (timeSpan <= 60000 || timeSpan === 0)) {\n isLooping = true;\n break;\n }\n }\n }\n\n let activeTool = null;\n if (lastToolEntry && Array.isArray(lastToolEntry.tool_calls) && lastToolEntry.tool_calls.length > 0) {\n const lastTc = lastToolEntry.tool_calls[lastToolEntry.tool_calls.length - 1];\n activeTool = normalizeToolCall(lastTc).type;\n }\n\n const elapsedMs = (lastTime && firstTime) ? Math.max(0, lastTime - firstTime) : (now - mtime);\n const rawFolder = detectedCwd ? path.basename(detectedCwd) : `agy-${convId.slice(0, 6)}`;\n const folderName = rawFolder.replace(/[\"'\\\\]/g, \"\").trim();\n\n seenConvIds.add(convId);\n const clientType = source === \"app\" ? \"app\" : source === \"ide\" ? \"ide\" : \"cli\";\n const appLabel = source === \"app\" ? \"Antigravity App\" : source === \"ide\" ? \"Antigravity IDE\" : \"Antigravity\";\n const rawModel = extractModelFromTranscript(content) || (source === \"cli\" ? defaultCliModel : null);\n const modelName = normalizeModel(rawModel);\n const providerName = getProviderFromModel(modelName, clientType);\n\n const fallbackWorkspace = path.basename(process.cwd()) || \"agent-factory\";\n const finalAccount = folderName || fallbackWorkspace;\n const finalSessionTitle = sessionTitle || finalAccount;\n\n traces.push(normalizeTrace({\n traceId: `agy-${convId.slice(0, 8)}`,\n cli: \"antigravity\",\n clientType,\n source,\n connectionId: `${appLabel} (${convId.slice(0, 6)})`,\n account: finalAccount,\n model: modelName,\n provider: providerName,\n state,\n startedAt: firstTime || (now - elapsedMs),\n elapsedMs,\n tokens: {\n input: hasUsage ? totalIn : null,\n output: hasUsage ? totalOut : null,\n cached: hasUsage ? totalCached : null,\n },\n cost: null,\n status: isLooping ? \"error\" : null,\n tools: Array.from(toolSet),\n activeTool,\n currentCommand: activeCommandDetail,\n sessionTitle: finalSessionTitle,\n lastText,\n lastTextRole,\n isLooping,\n logs: recentLogs.slice(-25),\n }));\n } catch {\n // file missing or unreadable\n }\n }\n }\n\n // Sort: active (streaming/pending) first, then by most recent startedAt\n traces.sort((a, b) => {\n const activeA = (a.state === \"streaming\" || a.state === \"pending\") ? 1 : 0;\n const activeB = (b.state === \"streaming\" || b.state === \"pending\") ? 1 : 0;\n if (activeA !== activeB) return activeB - activeA;\n return (b.startedAt || 0) - (a.startedAt || 0);\n });\n\n return traces;\n } catch {\n return [];\n }\n}\n","/**\n * Standard Trace Contract for Agent Factory.\n * All watchers normalize their session logs into this uniform schema.\n */\n\nexport function normalizeTrace(raw) {\n const tokens = raw.tokens || {};\n const asNumberOrNull = (value) => (Number.isFinite(value) ? Number(value) : null);\n const inputTokens = asNumberOrNull(tokens.input);\n const outputTokens = asNumberOrNull(tokens.output);\n const cachedTokens = asNumberOrNull(tokens.cached);\n const explicitTotal = asNumberOrNull(raw.totalTokens ?? tokens.total);\n const totalTokens = explicitTotal ?? (\n inputTokens !== null && outputTokens !== null && cachedTokens !== null\n ? inputTokens + outputTokens + cachedTokens\n : null\n );\n const lowerConn = String(raw.connectionId || \"\").toLowerCase();\n const clientType = raw.clientType || (\n raw.source === \"app\" || lowerConn.includes(\"app\") ? \"app\" :\n raw.source === \"extension\" || lowerConn.includes(\"extension\") || raw.source === \"ide\" || lowerConn.includes(\"ide\") ? \"extension\" : \"cli\"\n );\n return {\n traceId: String(raw.traceId || `trace-${Math.random().toString(36).slice(2, 9)}`),\n cli: raw.cli || \"agent\", // \"antigravity\" | \"claude\" | \"cursor\" | etc.\n clientType, // \"app\" | \"cli\" | \"ide\" | \"extension\"\n source: raw.source || clientType,\n connectionId: String(raw.connectionId || \"Agent Desk\"),\n account: String(raw.account || \"Default Workspace\"),\n model: raw.model ? String(raw.model) : null,\n provider: raw.provider ? String(raw.provider).toLowerCase() : null,\n state: [\"streaming\", \"pending\", \"idle\", \"done\", \"error\"].includes(raw.state) ? raw.state : \"idle\",\n startedAt: typeof raw.startedAt === \"number\" ? raw.startedAt : null,\n elapsedMs: typeof raw.elapsedMs === \"number\" ? raw.elapsedMs : null,\n tokens: {\n input: inputTokens,\n output: outputTokens,\n cached: cachedTokens,\n },\n totalTokens,\n cost: asNumberOrNull(raw.cost),\n status: raw.status ? String(raw.status) : null,\n tools: Array.isArray(raw.tools) ? raw.tools : [],\n activeTool: raw.activeTool || null,\n currentCommand: raw.currentCommand || null,\n sessionTitle: raw.sessionTitle ? String(raw.sessionTitle) : null,\n lastText: raw.lastText ? String(raw.lastText) : null,\n lastTextRole: [\"user\", \"assistant\"].includes(raw.lastTextRole) ? raw.lastTextRole : null,\n error: raw.error ? String(raw.error) : null,\n isLooping: Boolean(raw.isLooping || false),\n logs: Array.isArray(raw.logs) ? raw.logs : [],\n };\n}\n\nexport function extractProviders(traces) {\n const seen = new Set();\n const list = [];\n for (const t of traces) {\n const p = (t.provider || \"other\").toLowerCase();\n if (!seen.has(p)) {\n seen.add(p);\n list.push({\n provider: p,\n name: p.charAt(0).toUpperCase() + p.slice(1),\n });\n }\n }\n return list;\n}\n"],"names":["normalizeTrace","raw","tokens","asNumberOrNull","value","Number","isFinite","inputTokens","input","outputTokens","output","cachedTokens","cached","explicitTotal","totalTokens","total","lowerConn","String","connectionId","toLowerCase","clientType","source","includes","traceId","Math","random","toString","slice","cli","account","model","provider","state","startedAt","elapsedMs","cost","status","tools","Array","isArray","activeTool","currentCommand","sessionTitle","lastText","lastTextRole","error","isLooping","Boolean","logs","extractProviders","traces","seen","Set","list","t","p","has","add","push","name","charAt","toUpperCase"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/watchers/antigravityWatcher.js","../../../src/lib/traceContract.js"],"sourcesContent":["import fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport os from \"node:os\";\nimport { normalizeTrace } from \"../traceContract.js\";\n\nconst TOOL_MAP = {\n view_file: \"read\",\n read_file: \"read\",\n replace_file_content: \"edit\",\n write_to_file: \"edit\",\n call_mcp_tool: \"mcp\",\n list_resources: \"mcp\",\n invoke_subagent: \"agent\",\n grep_search: \"search\",\n list_dir: \"read\",\n find_by_name: \"read\",\n define_subagent: \"agent\",\n};\n\nfunction normalizeToolCall(tc) {\n if (!tc || !tc.name) return { type: \"mcp\", detail: null };\n const name = tc.name;\n const args = tc.args || {};\n\n // 1. MCP Tools inspection\n if (name === \"call_mcp_tool\") {\n const srv = String(args.ServerName || \"\").toLowerCase();\n const tool = String(args.ToolName || \"\").toLowerCase();\n if (srv.includes(\"gitnexus\") || tool.includes(\"cypher\") || tool.includes(\"pdg_query\") || tool.includes(\"impact\")) {\n return { type: \"gitnexus\", detail: `GitNexus: ${tool}` };\n }\n if (srv.includes(\"playwright\") || srv.includes(\"browser\") || tool.startsWith(\"browser_\")) {\n return { type: \"browser\", detail: `Browser: ${tool}` };\n }\n return { type: \"mcp\", detail: `MCP: ${srv}/${tool}` };\n }\n\n // 2. Terminal commands inspection\n if (name === \"run_command\") {\n const cmd = String(args.CommandLine || \"\").trim();\n const cmdLower = cmd.toLowerCase();\n if (cmdLower.startsWith(\"docker\") || cmdLower.includes(\"docker exec\") || cmdLower.includes(\"docker-compose\")) {\n return { type: \"docker\", detail: cmd.length > 50 ? `${cmd.slice(0, 47)}...` : cmd };\n }\n if (cmdLower.startsWith(\"git \") || cmdLower.startsWith(\"gh \") || cmdLower.includes(\"git commit\") || cmdLower.includes(\"git push\")) {\n return { type: \"git\", detail: cmd.length > 50 ? `${cmd.slice(0, 47)}...` : cmd };\n }\n if (cmdLower.includes(\"gitnexus\")) {\n return { type: \"gitnexus\", detail: cmd.length > 50 ? `${cmd.slice(0, 47)}...` : cmd };\n }\n return { type: \"bash\", detail: cmd.length > 50 ? `${cmd.slice(0, 47)}...` : cmd };\n }\n\n // 3. Native tools mapping\n const mapped = TOOL_MAP[name];\n const target = args.TargetFile || args.AbsolutePath || args.query || \"\";\n const detail = target ? `${name}: ${path.basename(target)}` : name;\n\n if (mapped) return { type: mapped, detail };\n if (name.includes(\"read\") || name.includes(\"find\") || name.includes(\"dir\") || name.includes(\"list\")) return { type: \"read\", detail };\n if (name.includes(\"edit\") || name.includes(\"write\") || name.includes(\"patch\")) return { type: \"edit\", detail };\n if (name.includes(\"search\") || name.includes(\"grep\")) return { type: \"search\", detail };\n if (name.includes(\"agent\") || name.includes(\"message\")) return { type: \"agent\", detail };\n\n return { type: \"mcp\", detail };\n}\n\nexport function extractModelFromTranscript(content) {\n if (!content) return null;\n const match = content.match(/Model Selection` from [^ ]+ to (.*?)(?:\\.\\s+No need|\\.\\s*\\n|<\\/USER_SETTINGS_CHANGE>)/i);\n if (match && match[1]) return match[1].trim();\n const matchFallback = content.match(/Model Selection`? from .*? to ([^\\n<.]+)/i);\n if (matchFallback && matchFallback[1]) return matchFallback[1].trim();\n return null;\n}\n\nexport function normalizeModel(raw) {\n if (!raw) return null;\n const lower = raw.toLowerCase();\n if (lower.includes(\"3.8\") && lower.includes(\"flash\")) return \"gemini-3.8-flash\";\n if (lower.includes(\"3.5\") && lower.includes(\"flash\")) return \"gemini-3.5-flash\";\n if (lower.includes(\"3.8\") && lower.includes(\"pro\")) return \"gemini-3.8-pro\";\n if (lower.includes(\"3.1\") && lower.includes(\"pro\")) return \"gemini-3.1-pro\";\n if (lower.includes(\"2.5\") && lower.includes(\"pro\")) return \"gemini-2.5-pro\";\n if (lower.includes(\"2.5\") && lower.includes(\"flash\")) return \"gemini-2.5-flash\";\n if (lower.includes(\"sonnet\") && lower.includes(\"5.5\")) return \"claude-sonnet-5.5\";\n if (lower.includes(\"sonnet\") && lower.includes(\"3.7\")) return \"claude-3.7-sonnet\";\n if (lower.includes(\"sonnet\") && lower.includes(\"3.5\")) return \"claude-3.5-sonnet\";\n return raw.replace(/[()]/g, \"\").trim().toLowerCase().replace(/\\s+/g, \"-\");\n}\n\nfunction compactText(value, maxLength = 160) {\n const text = String(value || \"\").replace(/\\s+/g, \" \").trim();\n return text ? text.slice(0, maxLength) : null;\n}\n\nfunction getProviderFromModel(modelName, clientType) {\n const model = String(modelName || \"\").toLowerCase();\n let provider = null;\n if (model.includes(\"gemini\")) provider = \"gemini\";\n else if (model.includes(\"claude\")) provider = \"anthropic\";\n else if (model.includes(\"gpt\") || model.includes(\"o1\") || model.includes(\"o3\")) provider = \"openai\";\n else if (model.includes(\"minimax\")) provider = \"minimax\";\n else if (model.includes(\"deepseek\")) provider = \"deepseek\";\n return provider ? `${provider} (${clientType})` : null;\n}\n\nfunction cleanUserPrompt(content) {\n if (!content) return null;\n let text = String(content);\n // If there are explicit <USER_REQUEST> tags, extract the actual user request\n const userRequestMatches = [...text.matchAll(/<USER_REQUEST>([\\s\\S]*?)<\\/USER_REQUEST>/gi)];\n if (userRequestMatches.length > 0) {\n text = userRequestMatches[userRequestMatches.length - 1][1];\n } else {\n text = text\n .replace(/<CONTEXT_SUMMARY>[\\s\\S]*?<\\/CONTEXT_SUMMARY>/gi, \"\")\n .replace(/<ADDITIONAL_METADATA>[\\s\\S]*?<\\/ADDITIONAL_METADATA>/gi, \"\")\n .replace(/<USER_SETTINGS_CHANGE>[\\s\\S]*?<\\/USER_SETTINGS_CHANGE>/gi, \"\")\n .replace(/<system-reminder>[\\s\\S]*?<\\/system-reminder>/gi, \"\");\n }\n return compactText(text);\n}\n\nasync function discoverAntigravityBrainDirs() {\n const homeDir = os.homedir();\n const geminiDir = path.join(homeDir, \".gemini\");\n const discovered = [];\n const seen = new Set();\n\n const addDir = (dirPath, defaultSource) => {\n if (seen.has(dirPath)) return;\n seen.add(dirPath);\n discovered.push({ dir: dirPath, source: defaultSource });\n };\n\n // 1. Standard paths\n addDir(path.join(geminiDir, \"antigravity-cli\", \"brain\"), \"cli\");\n addDir(path.join(geminiDir, \"antigravity\", \"brain\"), \"app\");\n addDir(path.join(geminiDir, \"antigravity-ide\", \"brain\"), \"ide\");\n\n // 2. Dynamic discovery of any sibling folders in ~/.gemini\n try {\n const entries = await fs.readdir(geminiDir, { withFileTypes: true });\n for (const ent of entries) {\n if (!ent.isDirectory()) continue;\n const bPath = path.join(geminiDir, ent.name, \"brain\");\n if (seen.has(bPath)) continue;\n try {\n const s = await fs.stat(bPath);\n if (s.isDirectory()) {\n const lower = ent.name.toLowerCase();\n const source = lower.includes(\"ide\") ? \"ide\" : lower.includes(\"app\") || lower === \"antigravity\" ? \"app\" : \"cli\";\n addDir(bPath, source);\n }\n } catch {}\n }\n } catch {}\n\n const validDirs = [];\n for (const item of discovered) {\n try {\n const s = await fs.stat(item.dir);\n if (s.isDirectory()) validDirs.push(item);\n } catch {}\n }\n return validDirs;\n}\n\nexport async function getAntigravityTraces(maxAgeMs = 24 * 60 * 60 * 1000) {\n const homeDir = os.homedir();\n const searchDirs = await discoverAntigravityBrainDirs();\n\n let defaultCliModel = null;\n try {\n const cliSettingsRaw = await fs.readFile(path.join(homeDir, \".gemini\", \"antigravity-cli\", \"settings.json\"), \"utf-8\");\n const cliSettings = JSON.parse(cliSettingsRaw);\n if (cliSettings.model) defaultCliModel = cliSettings.model;\n } catch {}\n\n try {\n const now = Date.now();\n const traces = [];\n const seenConvIds = new Set();\n\n for (const { dir: brainDir, source } of searchDirs) {\n let entries;\n try {\n entries = await fs.readdir(brainDir, { withFileTypes: true });\n } catch {\n continue;\n }\n\n for (const ent of entries) {\n if (!ent.isDirectory()) continue;\n const convId = ent.name;\n if (seenConvIds.has(convId)) continue;\n const transcriptPath = path.join(brainDir, convId, \".system_generated\", \"logs\", \"transcript.jsonl\");\n\n try {\n const stat = await fs.stat(transcriptPath);\n const mtime = stat.mtimeMs;\n if (now - mtime > maxAgeMs) continue;\n\n const content = await fs.readFile(transcriptPath, \"utf-8\");\n const lines = content.trim().split(\"\\n\");\n if (lines.length === 0) continue;\n\n let totalIn = 0;\n let totalOut = 0;\n let totalCached = 0;\n let hasUsage = false;\n let lastToolEntry = null;\n let lastStep = null;\n const toolSet = new Set();\n let firstTime = null;\n let lastTime = null;\n let activeCommandDetail = null;\n let detectedCwd = null;\n let sessionTitle = null;\n let lastText = null;\n let lastTextRole = null;\n const toolInvocations = [];\n const recentLogs = [];\n\n for (const line of lines) {\n if (!line) continue;\n try {\n const entry = JSON.parse(line);\n const entryTime = entry.created_at ? new Date(entry.created_at).getTime() : Date.now();\n if (!firstTime && entry.created_at) firstTime = entryTime;\n if (entry.created_at) lastTime = entryTime;\n\n if (\n Number.isFinite(entry.input_tokens) ||\n Number.isFinite(entry.output_tokens) ||\n Number.isFinite(entry.cache_read_tokens)\n ) {\n hasUsage = true;\n totalIn += entry.input_tokens || 0;\n totalOut += entry.output_tokens || 0;\n totalCached += entry.cache_read_tokens || 0;\n }\n\n if (entry.type === \"USER_INPUT\" && entry.content) {\n const cleanPrompt = cleanUserPrompt(entry.content);\n if (cleanPrompt) {\n sessionTitle ||= compactText(cleanPrompt, 80);\n lastText = cleanPrompt;\n lastTextRole = \"user\";\n recentLogs.push({\n timestamp: entry.created_at || new Date().toISOString(),\n type: \"prompt\",\n summary: \"User Prompt\",\n detail: cleanPrompt.slice(0, 100),\n });\n }\n } else if (entry.type === \"PLANNER_RESPONSE\" && entry.content) {\n const response = compactText(entry.content);\n if (response) {\n lastText = response;\n lastTextRole = \"assistant\";\n }\n }\n\n if (Array.isArray(entry.tool_calls) && entry.tool_calls.length > 0) {\n lastToolEntry = entry;\n for (const tc of entry.tool_calls) {\n if (tc.args?.Cwd && !detectedCwd) detectedCwd = tc.args.Cwd;\n if (!detectedCwd && (tc.args?.TargetFile || tc.args?.AbsolutePath)) {\n const p = tc.args.TargetFile || tc.args.AbsolutePath;\n if (p.includes(\"/Projects/\")) detectedCwd = p.split(\"/\").slice(0, 5).join(\"/\");\n }\n const { type, detail } = normalizeToolCall(tc);\n if (type) toolSet.add(type);\n if (detail) activeCommandDetail = detail;\n\n toolInvocations.push({\n name: tc.name,\n time: entryTime,\n detail: detail || tc.name,\n });\n\n recentLogs.push({\n timestamp: entry.created_at || new Date().toISOString(),\n type: type || \"tool\",\n summary: tc.name,\n detail: detail || tc.name,\n });\n }\n }\n\n if (entry.status === \"ERROR\" || (entry.type === \"GENERIC\" && entry.content && entry.content.includes(\"error\"))) {\n recentLogs.push({\n timestamp: entry.created_at || new Date().toISOString(),\n type: \"error\",\n summary: \"Error\",\n detail: String(entry.content || \"Command failed\").slice(0, 100),\n });\n }\n\n lastStep = entry;\n } catch {\n // ignore malformed line\n }\n }\n\n let state = \"done\";\n if (lastToolEntry?.status === \"RUNNING\") {\n state = \"streaming\";\n } else if (lastStep?.type === \"USER_INPUT\") {\n state = \"pending\";\n } else if (now - mtime < 45 * 1000) {\n state = \"idle\";\n }\n\n // Loop detection: 5 consecutive identical tool calls (same tool and target) within 60s\n let isLooping = false;\n if (toolInvocations.length >= 5) {\n const lastN = toolInvocations.slice(-10);\n for (let s = 0; s <= lastN.length - 5; s++) {\n const window = lastN.slice(s, s + 5);\n const targetKey = `${window[0].name}:${window[0].detail}`;\n const sameCall = window.every((w) => `${w.name}:${w.detail}` === targetKey);\n const timeSpan = (window[window.length - 1].time || 0) - (window[0].time || 0);\n if (sameCall && (timeSpan <= 60000 || timeSpan === 0)) {\n isLooping = true;\n break;\n }\n }\n }\n\n let activeTool = null;\n if (lastToolEntry && Array.isArray(lastToolEntry.tool_calls) && lastToolEntry.tool_calls.length > 0) {\n const lastTc = lastToolEntry.tool_calls[lastToolEntry.tool_calls.length - 1];\n activeTool = normalizeToolCall(lastTc).type;\n }\n\n const elapsedMs = (lastTime && firstTime) ? Math.max(0, lastTime - firstTime) : (now - mtime);\n const rawFolder = detectedCwd ? path.basename(detectedCwd) : `agy-${convId.slice(0, 6)}`;\n const folderName = rawFolder.replace(/[\"'\\\\]/g, \"\").trim();\n\n seenConvIds.add(convId);\n const clientType = source === \"app\" ? \"app\" : source === \"ide\" ? \"ide\" : \"cli\";\n const appLabel = source === \"app\" ? \"Antigravity App\" : source === \"ide\" ? \"Antigravity IDE\" : \"Antigravity\";\n const rawModel = extractModelFromTranscript(content) || (source === \"cli\" ? defaultCliModel : null);\n const modelName = normalizeModel(rawModel);\n const providerName = getProviderFromModel(modelName, clientType);\n\n const fallbackWorkspace = path.basename(process.cwd()) || \"agent-factory\";\n const finalAccount = folderName || fallbackWorkspace;\n const finalSessionTitle = sessionTitle || finalAccount;\n\n traces.push(normalizeTrace({\n traceId: `agy-${convId.slice(0, 8)}`,\n cli: \"antigravity\",\n clientType,\n source,\n connectionId: `${appLabel} (${convId.slice(0, 6)})`,\n account: finalAccount,\n model: modelName,\n provider: providerName,\n state,\n startedAt: firstTime || (now - elapsedMs),\n elapsedMs,\n tokens: {\n input: hasUsage ? totalIn : null,\n output: hasUsage ? totalOut : null,\n cached: hasUsage ? totalCached : null,\n },\n cost: null,\n status: isLooping ? \"error\" : null,\n tools: Array.from(toolSet),\n activeTool,\n currentCommand: activeCommandDetail,\n sessionTitle: finalSessionTitle,\n lastText,\n lastTextRole,\n isLooping,\n logs: recentLogs.slice(-25),\n }));\n } catch {\n // file missing or unreadable\n }\n }\n }\n\n // Sort: active (streaming/pending) first, then by most recent startedAt\n traces.sort((a, b) => {\n const activeA = (a.state === \"streaming\" || a.state === \"pending\") ? 1 : 0;\n const activeB = (b.state === \"streaming\" || b.state === \"pending\") ? 1 : 0;\n if (activeA !== activeB) return activeB - activeA;\n return (b.startedAt || 0) - (a.startedAt || 0);\n });\n\n return traces;\n } catch {\n return [];\n }\n}\n","/**\n * Standard Trace Contract for Agent Factory.\n * All watchers normalize their session logs into this uniform schema.\n */\n\nexport function normalizeTrace(raw) {\n const tokens = raw.tokens || {};\n const asNumberOrNull = (value) => (Number.isFinite(value) ? Number(value) : null);\n const inputTokens = asNumberOrNull(tokens.input);\n const outputTokens = asNumberOrNull(tokens.output);\n const cachedTokens = asNumberOrNull(tokens.cached);\n const explicitTotal = asNumberOrNull(raw.totalTokens ?? tokens.total);\n const totalTokens = explicitTotal ?? (\n inputTokens !== null && outputTokens !== null && cachedTokens !== null\n ? inputTokens + outputTokens + cachedTokens\n : null\n );\n const lowerConn = String(raw.connectionId || \"\").toLowerCase();\n const clientType = raw.clientType || (\n raw.source === \"app\" || lowerConn.includes(\"app\") ? \"app\" :\n raw.source === \"extension\" || lowerConn.includes(\"extension\") || raw.source === \"ide\" || lowerConn.includes(\"ide\") ? \"extension\" : \"cli\"\n );\n return {\n traceId: String(raw.traceId || `trace-${Math.random().toString(36).slice(2, 9)}`),\n cli: raw.cli || \"agent\", // \"antigravity\" | \"claude\" | \"cursor\" | etc.\n clientType, // \"app\" | \"cli\" | \"ide\" | \"extension\" | \"desktop\"\n source: raw.source || clientType,\n connectionId: String(raw.connectionId || \"Agent Desk\"),\n account: String(raw.account || \"Default Workspace\"),\n model: raw.model ? String(raw.model) : null,\n provider: raw.provider ? String(raw.provider).toLowerCase() : null,\n state: [\"streaming\", \"pending\", \"idle\", \"done\", \"error\"].includes(raw.state) ? raw.state : \"idle\",\n startedAt: typeof raw.startedAt === \"number\" ? raw.startedAt : null,\n elapsedMs: typeof raw.elapsedMs === \"number\" ? raw.elapsedMs : null,\n tokens: {\n input: inputTokens,\n output: outputTokens,\n cached: cachedTokens,\n },\n totalTokens,\n cost: asNumberOrNull(raw.cost),\n status: raw.status ? String(raw.status) : null,\n tools: Array.isArray(raw.tools) ? raw.tools : [],\n activeTool: raw.activeTool || null,\n currentCommand: raw.currentCommand || null,\n sessionTitle: raw.sessionTitle ? String(raw.sessionTitle) : null,\n lastText: raw.lastText ? String(raw.lastText) : null,\n lastTextRole: [\"user\", \"assistant\"].includes(raw.lastTextRole) ? raw.lastTextRole : null,\n error: raw.error ? String(raw.error) : null,\n isLooping: Boolean(raw.isLooping || false),\n logs: Array.isArray(raw.logs) ? raw.logs : [],\n };\n}\n\nexport function extractProviders(traces) {\n const seen = new Set();\n const list = [];\n for (const t of traces) {\n const p = (t.provider || \"other\").toLowerCase();\n if (!seen.has(p)) {\n seen.add(p);\n list.push({\n provider: p,\n name: p.charAt(0).toUpperCase() + p.slice(1),\n });\n }\n }\n return list;\n}\n"],"names":["normalizeTrace","raw","tokens","asNumberOrNull","value","Number","isFinite","inputTokens","input","outputTokens","output","cachedTokens","cached","explicitTotal","totalTokens","total","lowerConn","String","connectionId","toLowerCase","clientType","source","includes","traceId","Math","random","toString","slice","cli","account","model","provider","state","startedAt","elapsedMs","cost","status","tools","Array","isArray","activeTool","currentCommand","sessionTitle","lastText","lastTextRole","error","isLooping","Boolean","logs","extractProviders","traces","seen","Set","list","t","p","has","add","push","name","charAt","toUpperCase"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[[97546,a=>{var b=a.i(64831);let c={name:"circle-alert",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],aliases:["alert-circle"]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],97546)},13412,a=>{var b=a.i(64831);let c={name:"circle-check",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 9-5.5 5.5L8 12",key:"xofnsj"}]],aliases:["check-circle-2"]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],13412)},85650,a=>{var b=a.i(64831);let c={name:"copy",size:24,node:[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],85650)},86708,a=>{var b=a.i(64831);let c={name:"sparkles",size:24,node:[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],aliases:["stars"]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],86708)},19895,a=>{var b=a.i(64831);let c={name:"square",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],19895)},69789,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0});var d={actionAsyncStorage:function(){return f.actionAsyncStorage},workAsyncStorage:function(){return g.workAsyncStorage},workUnitAsyncStorage:function(){return h.workUnitAsyncStorage}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(20635),g=a.r(56704),h=a.r(32319);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)}],50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0i2rbwbkxbdog._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/lucide-react/src/icons/circle-alert.ts","../../../../node_modules/lucide-react/src/icons/circle-check.ts","../../../../node_modules/lucide-react/src/icons/copy.ts","../../../../node_modules/lucide-react/src/icons/sparkles.ts","../../../../node_modules/lucide-react/src/icons/square.ts","../../../../node_modules/next/src/client/components/server-async-storage.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'circle-alert',\n size: 24,\n node: [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['line', { x1: '12', x2: '12', y1: '8', y2: '12', key: '1pkeuh' }],\n ['line', { x1: '12', x2: '12.01', y1: '16', y2: '16', key: '4dfq90' }],\n ],\n aliases: ['alert-circle'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name CircleAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/circle-alert\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CircleAlert = createLucideIcon(__iconData);\n\nexport default CircleAlert;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'circle-check',\n size: 24,\n node: [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'm16 9-5.5 5.5L8 12', key: 'xofnsj' }],\n ],\n aliases: ['check-circle-2'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name CircleCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/circle-check\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CircleCheck = createLucideIcon(__iconData);\n\nexport default CircleCheck;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'copy',\n size: 24,\n node: [\n ['rect', { width: '14', height: '14', x: '8', y: '8', rx: '2', ry: '2', key: '17jyea' }],\n ['path', { d: 'M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2', key: 'zix9uf' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Copy\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/copy\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Copy = createLucideIcon(__iconData);\n\nexport default Copy;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'sparkles',\n size: 24,\n node: [\n [\n 'path',\n {\n d: 'M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z',\n key: '1s2grr',\n },\n ],\n ['path', { d: 'M20 2v4', key: '1rf3ol' }],\n ['path', { d: 'M22 4h-4', key: 'gwowj6' }],\n ['circle', { cx: '4', cy: '20', r: '2', key: '6kqj1y' }],\n ],\n aliases: ['stars'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Sparkles\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/sparkles\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Sparkles = createLucideIcon(__iconData);\n\nexport default Sparkles;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'square',\n size: 24,\n node: [['rect', { width: '18', height: '18', x: '3', y: '3', rx: '2', key: 'afitv7' }]],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Square\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/square\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Square = createLucideIcon(__iconData);\n\nexport default Square;\n","// Client-safe access to the server-only async-storage singletons. On the\n// server these re-export the real storages; in the browser bundle this module\n// is aliased to `./server-async-storage.browser` (see\n// scripts/generate-browser-variant-aliases.mjs), which exports `undefined`\n// stubs so the AsyncLocalStorage modules are never bundled into the client.\n// Consumers must guard usage so the stubs are not dereferenced in the browser.\nexport { actionAsyncStorage } from '../../server/app-render/action-async-storage.external'\nexport { workAsyncStorage } from '../../server/app-render/work-async-storage.external'\nexport { workUnitAsyncStorage } from '../../server/app-render/work-unit-async-storage.external'\n"],"names":["actionAsyncStorage","workAsyncStorage","workUnitAsyncStorage"],"mappings":"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","ignoreList":[0,1,2,3,4,5]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[[7963,a=>{var b=a.i(64831);let c={name:"chevron-left",size:24,node:[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],7963)},97546,a=>{var b=a.i(64831);let c={name:"circle-alert",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],aliases:["alert-circle"]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],97546)},13412,a=>{var b=a.i(64831);let c={name:"circle-check",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 9-5.5 5.5L8 12",key:"xofnsj"}]],aliases:["check-circle-2"]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],13412)},85650,a=>{var b=a.i(64831);let c={name:"copy",size:24,node:[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],85650)},21612,a=>{var b=a.i(64831);let c={name:"funnel",size:24,node:[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],aliases:["filter"]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],21612)},86708,a=>{var b=a.i(64831);let c={name:"sparkles",size:24,node:[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],aliases:["stars"]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],86708)},19895,a=>{var b=a.i(64831);let c={name:"square",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],19895)},2780,a=>{var b=a.i(74395),c=a.i(71805);let d={};a.s(["f",0,function(a,e,f){let g=0x811c9dc5;for(let b=0;b<e;b++)g^=a[b].uid,g=Math.imul(g,0x1000193)>>>0;return d[g]||function(a,e,f,g){let h={},i=0;for(let b=0;b<g;b++){let d=b<e?a[b]:c.f.EMPTY.source;h[i++]=d.source,h[i++]=d.style}let j=new b.f(h);return d[f]=j,j}(a,e,g,f)}])}],50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0qzscpxebh28_._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/lucide-react/src/icons/chevron-left.ts","../../../../node_modules/lucide-react/src/icons/circle-alert.ts","../../../../node_modules/lucide-react/src/icons/circle-check.ts","../../../../node_modules/lucide-react/src/icons/copy.ts","../../../../node_modules/lucide-react/src/icons/funnel.ts","../../../../node_modules/lucide-react/src/icons/sparkles.ts","../../../../node_modules/lucide-react/src/icons/square.ts","../../../../node_modules/pixi.js/src/rendering/batcher/gpu/getTextureBatchBindGroup.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'chevron-left',\n size: 24,\n node: [['path', { d: 'm15 18-6-6 6-6', key: '1wnfg3' }]],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name ChevronLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevron-left\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronLeft = createLucideIcon(__iconData);\n\nexport default ChevronLeft;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'circle-alert',\n size: 24,\n node: [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['line', { x1: '12', x2: '12', y1: '8', y2: '12', key: '1pkeuh' }],\n ['line', { x1: '12', x2: '12.01', y1: '16', y2: '16', key: '4dfq90' }],\n ],\n aliases: ['alert-circle'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name CircleAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/circle-alert\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CircleAlert = createLucideIcon(__iconData);\n\nexport default CircleAlert;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'circle-check',\n size: 24,\n node: [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'm16 9-5.5 5.5L8 12', key: 'xofnsj' }],\n ],\n aliases: ['check-circle-2'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name CircleCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/circle-check\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CircleCheck = createLucideIcon(__iconData);\n\nexport default CircleCheck;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'copy',\n size: 24,\n node: [\n ['rect', { width: '14', height: '14', x: '8', y: '8', rx: '2', ry: '2', key: '17jyea' }],\n ['path', { d: 'M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2', key: 'zix9uf' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Copy\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/copy\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Copy = createLucideIcon(__iconData);\n\nexport default Copy;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'funnel',\n size: 24,\n node: [\n [\n 'path',\n {\n d: 'M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z',\n key: 'sc7q7i',\n },\n ],\n ],\n aliases: ['filter'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Funnel\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/funnel\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Funnel = createLucideIcon(__iconData);\n\nexport default Funnel;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'sparkles',\n size: 24,\n node: [\n [\n 'path',\n {\n d: 'M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z',\n key: '1s2grr',\n },\n ],\n ['path', { d: 'M20 2v4', key: '1rf3ol' }],\n ['path', { d: 'M22 4h-4', key: 'gwowj6' }],\n ['circle', { cx: '4', cy: '20', r: '2', key: '6kqj1y' }],\n ],\n aliases: ['stars'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Sparkles\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/sparkles\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Sparkles = createLucideIcon(__iconData);\n\nexport default Sparkles;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'square',\n size: 24,\n node: [['rect', { width: '18', height: '18', x: '3', y: '3', rx: '2', key: 'afitv7' }]],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Square\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/square\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Square = createLucideIcon(__iconData);\n\nexport default Square;\n","import { BindGroup } from '../../renderers/gpu/shader/BindGroup';\nimport { Texture } from '../../renderers/shared/texture/Texture';\n\nimport type { TextureSource } from '../../renderers/shared/texture/sources/TextureSource';\n\nconst cachedGroups: Record<number, BindGroup> = {};\n\n/**\n * @param textures\n * @param size\n * @param maxTextures\n * @internal\n */\nexport function getTextureBatchBindGroup(textures: TextureSource[], size: number, maxTextures: number)\n{\n let uid = 2166136261; // FNV-1a 32-bit offset basis\n\n for (let i = 0; i < size; i++)\n {\n uid ^= textures[i].uid;\n uid = Math.imul(uid, 16777619);\n uid >>>= 0;\n }\n\n return cachedGroups[uid] || generateTextureBatchBindGroup(textures, size, uid, maxTextures);\n}\n\nfunction generateTextureBatchBindGroup(textures: TextureSource[], size: number, key: number, maxTextures: number): BindGroup\n{\n const bindGroupResources: Record<string, any> = {};\n\n let bindIndex = 0;\n\n for (let i = 0; i < maxTextures; i++)\n {\n const texture = i < size ? textures[i] : Texture.EMPTY.source;\n\n bindGroupResources[bindIndex++] = texture.source;\n bindGroupResources[bindIndex++] = texture.style;\n }\n\n // pad out with empty textures\n const bindGroup = new BindGroup(bindGroupResources);\n\n cachedGroups[key] = bindGroup;\n\n return bindGroup;\n}\n\n"],"names":[],"mappings":"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","ignoreList":[0,1,2,3,4,5,6]}
|