failproofai 0.0.13 → 0.0.14-beta.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/.next/standalone/.factory/hooks.json +112 -0
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/audit/invite/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/audit/run/route.js +3 -3
- package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/login-request/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/reminder/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js +2 -1
- package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
- package/.next/standalone/.next/server/app/policies/page.js +1 -1
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page.js +3 -2
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js +5 -3
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js +1 -1
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0--lkk6._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-219ec._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__04_h-a5._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__06cuf1y._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__08w4wmd._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g6bbuw._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0jllheg._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0jnjf2t._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0q-v9z2._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0q0qzx1._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0q2nbsl._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0rv7m0k._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xuaoik._.js +3 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__16le-kd._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__17g9wh7._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1d9qen3._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ffkmds._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1fwl2mz._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1legmza._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1mrihkj._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1myjm-d._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qb590j._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qxztj-._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1shcqgr._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1xuedea._.js +3 -0
- package/.next/standalone/.next/server/chunks/{_1z062h5._.js → _1vslkoe._.js} +2 -2
- package/.next/standalone/.next/server/chunks/lib_factory-projects_ts_1eo_bk-._.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_openclaw-projects_ts_0gc-p24._.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_17k9e3w.js +24 -12
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__00cz9as._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__015_i4t._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__030k0c6._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__03lv-pe._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__042d3cd._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05r_17v._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__07iom4f._.js → [root-of-the-server]__07qfsfa._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09q1168._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e2l3c1._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ge8e7w._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h12me5._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0hci7t3._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0hdsupo._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0p84xee._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qeuy9c._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s89hoe._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ynf7tx._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11rtg6s._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__14dd6h8._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__170799-._.js +12 -9
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__17ai7sy._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1d8omgc._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1dky4g0._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1nq7ivq._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1tkjqka._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__212nf49._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_05whahf._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0_9_ytf._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_11_p9y8._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0ul5rf_._.js → _1_ozgif._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_1p0-leb._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpc._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/lib_0xkhw_v._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/lib_antigravity-projects_ts_0_6zf11._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/lib_devin-projects_ts_0a64qdy._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/lib_factory-projects_ts_1uyaahq._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/lib_goose-projects_ts_0zkscri._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/lib_openclaw-projects_ts_0qxq3bp._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_html-to-image_es_index_13p7zob.js → node_modules_html-to-image_es_index_0g5r64e.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-uvagv.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_03c7gi5.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_09p-8om.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0v-kfiu.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0xrgzyz.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1806lsc.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1j6dd-e.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1sa65r-.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_1ezd2jf._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_1tnuifj._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +10 -10
- package/.next/standalone/.next/static/chunks/{23c7v2svx90dp.js → 003uz088wbmz7.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0vc0eak148vo6.js → 0405htbxay9vd.js} +1 -1
- package/.next/standalone/.next/static/chunks/0iinhn4417nk1.js +1 -0
- package/.next/standalone/.next/static/chunks/1374x9bv_s_vg.js +6 -0
- package/.next/standalone/.next/static/chunks/{30ysv-_8jj052.js → 17sdztgbcc0fi.js} +1 -1
- package/.next/standalone/.next/static/chunks/{2cejn75gug3j8.js → 2m_tbl39fcedn.js} +1 -1
- package/.next/standalone/.next/static/chunks/{36wdtkgdf0zrd.js → 2o3ql0n5owqsw.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0wtagd8a5gwq-.js → 2ufuwhv03yvtb.js} +1 -1
- package/.next/standalone/.next/static/chunks/35-90m9py64d4.js +1 -0
- package/.next/standalone/.next/static/chunks/3r--yyjkp9_7b.css +2 -0
- package/.next/standalone/.next/static/chunks/43weu8f59tlix.js +1 -0
- package/.next/standalone/.next/static/chunks/{05apzuand0c22.js → 454dyizqik6t9.js} +2 -2
- package/.next/standalone/app/api/audit/run/route.ts +2 -0
- package/.next/standalone/app/audit/_components/empty-state.tsx +1 -1
- package/.next/standalone/app/globals.css +25 -1
- package/.next/standalone/app/policies/hooks-client.tsx +2 -4
- package/.next/standalone/app/project/[name]/page.tsx +30 -10
- package/.next/standalone/app/project/[name]/session/[sessionId]/page.tsx +71 -21
- package/.next/standalone/assets/logos/antigravity.svg +1 -0
- package/.next/standalone/assets/logos/devin.svg +1 -0
- package/.next/standalone/assets/logos/factory-dark.png +0 -0
- package/.next/standalone/assets/logos/factory-light.png +0 -0
- package/.next/standalone/assets/logos/goose-dark.svg +1 -0
- package/.next/standalone/assets/logos/goose-light.svg +1 -0
- package/.next/standalone/assets/logos/openclaw.svg +22 -0
- package/.next/standalone/components/navbar.tsx +5 -11
- package/.next/standalone/components/reach-developers.tsx +1 -1
- package/.next/standalone/lib/antigravity-projects.ts +224 -0
- package/.next/standalone/lib/antigravity-sessions.ts +283 -0
- package/.next/standalone/lib/cli-registry.ts +26 -6
- package/.next/standalone/lib/devin-projects.ts +141 -0
- package/.next/standalone/lib/devin-sessions.ts +343 -0
- package/.next/standalone/lib/download-session.ts +56 -5
- package/.next/standalone/lib/factory-projects.ts +109 -0
- package/.next/standalone/lib/factory-sessions.ts +312 -0
- package/.next/standalone/lib/goose-projects.ts +148 -0
- package/.next/standalone/lib/goose-sessions.ts +296 -0
- package/.next/standalone/lib/openclaw-projects.ts +182 -0
- package/.next/standalone/lib/openclaw-sessions.ts +284 -0
- package/.next/standalone/lib/projects.ts +33 -9
- package/.next/standalone/lib/telemetry-sanitize.ts +43 -0
- package/.next/standalone/openclaw-plugin/index.js +223 -0
- package/.next/standalone/openclaw-plugin/openclaw.plugin.json +6 -0
- package/.next/standalone/openclaw-plugin/package.json +12 -0
- package/.next/standalone/package.json +2 -1
- package/.next/standalone/server.js +1 -1
- package/README.md +105 -57
- package/bin/failproofai.mjs +87 -29
- package/dist/cli.mjs +12803 -9809
- package/lib/antigravity-projects.ts +224 -0
- package/lib/antigravity-sessions.ts +283 -0
- package/lib/cli-registry.ts +26 -6
- package/lib/devin-projects.ts +141 -0
- package/lib/devin-sessions.ts +343 -0
- package/lib/download-session.ts +56 -5
- package/lib/factory-projects.ts +109 -0
- package/lib/factory-sessions.ts +312 -0
- package/lib/goose-projects.ts +148 -0
- package/lib/goose-sessions.ts +296 -0
- package/lib/openclaw-projects.ts +182 -0
- package/lib/openclaw-sessions.ts +284 -0
- package/lib/projects.ts +33 -9
- package/lib/telemetry-sanitize.ts +43 -0
- package/openclaw-plugin/index.js +223 -0
- package/openclaw-plugin/openclaw.plugin.json +6 -0
- package/openclaw-plugin/package.json +12 -0
- package/package.json +2 -1
- package/scripts/launch.ts +4 -8
- package/scripts/postinstall.mjs +3 -4
- package/scripts/sync-agent-cli-harnesses-prompt.md +7 -10
- package/scripts/translate-docs/cli.ts +73 -52
- package/scripts/translate-docs/config.ts +57 -13
- package/scripts/translate-docs/mdx-translator.ts +51 -31
- package/scripts/translate-docs/mintlify-nav.ts +91 -10
- package/scripts/translate-docs/types.ts +3 -0
- package/src/audit/cli-adapters/antigravity.ts +87 -0
- package/src/audit/cli-adapters/devin.ts +53 -0
- package/src/audit/cli-adapters/factory.ts +75 -0
- package/src/audit/cli-adapters/goose.ts +53 -0
- package/src/audit/cli-adapters/index.ts +30 -6
- package/src/audit/cli-adapters/openclaw.ts +56 -0
- package/src/audit/cli.ts +44 -1
- package/src/audit/report.ts +1 -1
- package/src/audit/types.ts +1 -1
- package/src/hooks/builtin-policies.ts +5 -5
- package/src/hooks/configure-wizard.ts +356 -0
- package/src/hooks/handler.ts +283 -218
- package/src/hooks/hook-telemetry.ts +43 -3
- package/src/hooks/install-prompt.ts +92 -173
- package/src/hooks/integrations.ts +739 -138
- package/src/hooks/manager.ts +46 -2
- package/src/hooks/policy-evaluator.ts +301 -121
- package/src/hooks/policy-presets.ts +71 -0
- package/src/hooks/resolve-cwd.ts +1 -1
- package/src/hooks/resolve-permission-mode.ts +1 -5
- package/src/hooks/resolve-transcript-path.ts +25 -7
- package/src/hooks/tool-name-canonicalize.ts +36 -3
- package/src/hooks/tui.ts +578 -0
- package/src/hooks/types.ts +447 -109
- package/.next/standalone/.gemini/settings.json +0 -147
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cag8qd._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cefjd9._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ekj92q._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__12v-lma._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__136y39g._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__13h8pzr._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1hgv_75._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__04bqvos._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dqgs96._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0q5rfxg._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qukut7._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__108slqn._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1ql-mch._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_11v0g3z._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/lib_gemini-projects_ts_1c7bgx-._.js +0 -3
- package/.next/standalone/.next/static/chunks/0fa7j157kg9_d.js +0 -1
- package/.next/standalone/.next/static/chunks/0nrah-qv6smeg.js +0 -6
- package/.next/standalone/.next/static/chunks/1c8i78p7t1i-5.js +0 -1
- package/.next/standalone/.next/static/chunks/25qr0e6ez0ei0.js +0 -1
- package/.next/standalone/.next/static/chunks/25s52un3k_wht.css +0 -2
- package/.next/standalone/assets/logos/gemini-dark.svg +0 -13
- package/.next/standalone/assets/logos/gemini-light.svg +0 -13
- package/.next/standalone/lib/gemini-projects.ts +0 -243
- package/.next/standalone/lib/gemini-sessions.ts +0 -365
- package/lib/gemini-projects.ts +0 -243
- package/lib/gemini-sessions.ts +0 -365
- package/src/audit/cli-adapters/gemini.ts +0 -51
- package/src/hooks/first-run-nudge.ts +0 -146
- /package/.next/standalone/.next/static/{kmzdjTLVs6LqsfyOaUf69 → MNJWFb2jLRrxRKGFNK6Hy}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{kmzdjTLVs6LqsfyOaUf69 → MNJWFb2jLRrxRKGFNK6Hy}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{kmzdjTLVs6LqsfyOaUf69 → MNJWFb2jLRrxRKGFNK6Hy}/_ssgManifest.js +0 -0
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"hooks": {
|
|
3
|
-
"SessionStart": [
|
|
4
|
-
{
|
|
5
|
-
"matcher": "*",
|
|
6
|
-
"hooks": [
|
|
7
|
-
{
|
|
8
|
-
"type": "command",
|
|
9
|
-
"command": "bun $GEMINI_PROJECT_DIR/bin/failproofai.mjs --hook SessionStart --cli gemini",
|
|
10
|
-
"timeout": 60000,
|
|
11
|
-
"__failproofai_hook__": true
|
|
12
|
-
}
|
|
13
|
-
]
|
|
14
|
-
}
|
|
15
|
-
],
|
|
16
|
-
"SessionEnd": [
|
|
17
|
-
{
|
|
18
|
-
"matcher": "*",
|
|
19
|
-
"hooks": [
|
|
20
|
-
{
|
|
21
|
-
"type": "command",
|
|
22
|
-
"command": "bun $GEMINI_PROJECT_DIR/bin/failproofai.mjs --hook SessionEnd --cli gemini",
|
|
23
|
-
"timeout": 60000,
|
|
24
|
-
"__failproofai_hook__": true
|
|
25
|
-
}
|
|
26
|
-
]
|
|
27
|
-
}
|
|
28
|
-
],
|
|
29
|
-
"BeforeAgent": [
|
|
30
|
-
{
|
|
31
|
-
"matcher": "*",
|
|
32
|
-
"hooks": [
|
|
33
|
-
{
|
|
34
|
-
"type": "command",
|
|
35
|
-
"command": "bun $GEMINI_PROJECT_DIR/bin/failproofai.mjs --hook BeforeAgent --cli gemini",
|
|
36
|
-
"timeout": 60000,
|
|
37
|
-
"__failproofai_hook__": true
|
|
38
|
-
}
|
|
39
|
-
]
|
|
40
|
-
}
|
|
41
|
-
],
|
|
42
|
-
"AfterAgent": [
|
|
43
|
-
{
|
|
44
|
-
"matcher": "*",
|
|
45
|
-
"hooks": [
|
|
46
|
-
{
|
|
47
|
-
"type": "command",
|
|
48
|
-
"command": "bun $GEMINI_PROJECT_DIR/bin/failproofai.mjs --hook AfterAgent --cli gemini",
|
|
49
|
-
"timeout": 60000,
|
|
50
|
-
"__failproofai_hook__": true
|
|
51
|
-
}
|
|
52
|
-
]
|
|
53
|
-
}
|
|
54
|
-
],
|
|
55
|
-
"BeforeModel": [
|
|
56
|
-
{
|
|
57
|
-
"matcher": "*",
|
|
58
|
-
"hooks": [
|
|
59
|
-
{
|
|
60
|
-
"type": "command",
|
|
61
|
-
"command": "bun $GEMINI_PROJECT_DIR/bin/failproofai.mjs --hook BeforeModel --cli gemini",
|
|
62
|
-
"timeout": 60000,
|
|
63
|
-
"__failproofai_hook__": true
|
|
64
|
-
}
|
|
65
|
-
]
|
|
66
|
-
}
|
|
67
|
-
],
|
|
68
|
-
"AfterModel": [
|
|
69
|
-
{
|
|
70
|
-
"matcher": "*",
|
|
71
|
-
"hooks": [
|
|
72
|
-
{
|
|
73
|
-
"type": "command",
|
|
74
|
-
"command": "bun $GEMINI_PROJECT_DIR/bin/failproofai.mjs --hook AfterModel --cli gemini",
|
|
75
|
-
"timeout": 60000,
|
|
76
|
-
"__failproofai_hook__": true
|
|
77
|
-
}
|
|
78
|
-
]
|
|
79
|
-
}
|
|
80
|
-
],
|
|
81
|
-
"BeforeToolSelection": [
|
|
82
|
-
{
|
|
83
|
-
"matcher": "*",
|
|
84
|
-
"hooks": [
|
|
85
|
-
{
|
|
86
|
-
"type": "command",
|
|
87
|
-
"command": "bun $GEMINI_PROJECT_DIR/bin/failproofai.mjs --hook BeforeToolSelection --cli gemini",
|
|
88
|
-
"timeout": 60000,
|
|
89
|
-
"__failproofai_hook__": true
|
|
90
|
-
}
|
|
91
|
-
]
|
|
92
|
-
}
|
|
93
|
-
],
|
|
94
|
-
"BeforeTool": [
|
|
95
|
-
{
|
|
96
|
-
"matcher": "*",
|
|
97
|
-
"hooks": [
|
|
98
|
-
{
|
|
99
|
-
"type": "command",
|
|
100
|
-
"command": "bun $GEMINI_PROJECT_DIR/bin/failproofai.mjs --hook BeforeTool --cli gemini",
|
|
101
|
-
"timeout": 60000,
|
|
102
|
-
"__failproofai_hook__": true
|
|
103
|
-
}
|
|
104
|
-
]
|
|
105
|
-
}
|
|
106
|
-
],
|
|
107
|
-
"AfterTool": [
|
|
108
|
-
{
|
|
109
|
-
"matcher": "*",
|
|
110
|
-
"hooks": [
|
|
111
|
-
{
|
|
112
|
-
"type": "command",
|
|
113
|
-
"command": "bun $GEMINI_PROJECT_DIR/bin/failproofai.mjs --hook AfterTool --cli gemini",
|
|
114
|
-
"timeout": 60000,
|
|
115
|
-
"__failproofai_hook__": true
|
|
116
|
-
}
|
|
117
|
-
]
|
|
118
|
-
}
|
|
119
|
-
],
|
|
120
|
-
"PreCompress": [
|
|
121
|
-
{
|
|
122
|
-
"matcher": "*",
|
|
123
|
-
"hooks": [
|
|
124
|
-
{
|
|
125
|
-
"type": "command",
|
|
126
|
-
"command": "bun $GEMINI_PROJECT_DIR/bin/failproofai.mjs --hook PreCompress --cli gemini",
|
|
127
|
-
"timeout": 60000,
|
|
128
|
-
"__failproofai_hook__": true
|
|
129
|
-
}
|
|
130
|
-
]
|
|
131
|
-
}
|
|
132
|
-
],
|
|
133
|
-
"Notification": [
|
|
134
|
-
{
|
|
135
|
-
"matcher": "*",
|
|
136
|
-
"hooks": [
|
|
137
|
-
{
|
|
138
|
-
"type": "command",
|
|
139
|
-
"command": "bun $GEMINI_PROJECT_DIR/bin/failproofai.mjs --hook Notification --cli gemini",
|
|
140
|
-
"timeout": 60000,
|
|
141
|
-
"__failproofai_hook__": true
|
|
142
|
-
}
|
|
143
|
-
]
|
|
144
|
-
}
|
|
145
|
-
]
|
|
146
|
-
}
|
|
147
|
-
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[60526,(t,e,n)=>{e.exports=t.x("node:os",()=>require("node:os"))},2157,(t,e,n)=>{e.exports=t.x("node:fs",()=>require("node:fs"))},54214,67405,t=>{"use strict";var e=t.i(24868),n=t.i(14747),i=t.i(81580),s=t.i(56936);async function r(t,i,s,r){let a=`agent-${r}.jsonl`;for(let r of[(0,n.join)(t,i,a),(0,n.join)(t,i,s,a),(0,n.join)(t,i,s,"subagents",a)])if(!(0,n.relative)(t,r).startsWith(".."))try{return await (0,e.access)(r),r}catch(t){if("ENOENT"===t.code)continue;break}return null}var a=t.i(83534),o=t.i(71809),u=t.i(28557);function l(t){if(t<1e3)return`${t}ms`;let e=t/1e3;if(e<60)return`${e.toFixed(1)}s`;let n=Math.floor(e/60);if(n>=60){let t=Math.floor(n/60);return`${t}h ${n%60}m`}let i=(e%60).toFixed(0);return`${n}m ${i}s`}function c(t){let e=(0,u.formatDate)(t),n=t.getMilliseconds().toString().padStart(3,"0");return`${e}.${n}`}function f(t,e,n,i){return{_source:i,uuid:t.uuid||"",parentUuid:t.parentUuid??null,timestamp:e,timestampMs:n.getTime(),timestampFormatted:c(n)}}async function m(t,e){let n=t.split("\n").filter(t=>""!==t.trim()),i=new Map,s=[],r=[],a=new Set,o=!1;for(let t=0;t<n.length;t++){let u;t>0&&t%200==0&&await new Promise(t=>setImmediate(t));let l=n[t];try{u=JSON.parse(l)}catch{continue}let c={...u,_source:e};r.push(c);let m=u.type,p=u.timestamp;if(!p)continue;let y=new Date(p),d=y.getTime();if("user"===m){let t=u.message;if(Array.isArray(t?.content)){let e=t.content;if(e.some(t=>"tool_result"===t.type)){let t=u.toolUseResult,n="string"==typeof t?.agentId?t.agentId:void 0;for(let t of(n&&/^[a-f0-9]+$/.test(n)&&a.add(n),e)){if("tool_result"!==t.type)continue;let e=t.tool_use_id;if(!e)continue;let{text:s,images:r}=function(t){let e=t.content;if("string"==typeof e)return{text:e};if(Array.isArray(e)){let t=e.filter(t=>"text"===t.type).map(t=>t.text),n=e.filter(t=>"image"===t.type).map(t=>{let e=t.source;return{base64:e.data,mediaType:e.media_type}}).filter(t=>t.base64&&t.mediaType);return{text:t.length>0?t.join("\n"):void 0,images:n.length>0?n:void 0}}return{}}(t);i.set(e,{timestamp:p,timestampMs:d,content:s,images:r,agentId:n})}continue}}let n="string"==typeof t?.content?t.content:"";s.push({type:"user",...f(u,p,y,e),message:{role:"user",content:n}});continue}if("assistant"===m){let t=u.message,n=[];if(Array.isArray(t?.content)&&(n=t.content.filter(t=>["text","tool_use","thinking"].includes(t.type)).map(t=>{if("text"===t.type)return{type:"text",text:t.text};if("tool_use"===t.type){let e=t.input;return{type:"tool_use",id:t.id,name:t.name,input:t.input??{},..."Task"===t.name&&e?{subagentType:e.subagent_type,subagentDescription:e.description}:{}}}return{type:"thinking",thinking:t.thinking,signature:t.signature}})),0===n.length)continue;s.push({type:"assistant",...f(u,p,y,e),message:{role:"assistant",content:n,model:t?.model}});continue}if("file-history-snapshot"===m||"progress"===m||"system"===m){s.push({type:m,...f(u,p,y,e),raw:{...u}});continue}if("queue-operation"===m){let t=o?"Session Resumed":"Session Started";o=!0,s.push({type:"queue-operation",...f(u,p,y,e),label:t});continue}}let u=0;for(let t of s)if("assistant"===t.type)for(let e of(++u%200==0&&await new Promise(t=>setImmediate(t)),t.message.content)){if("tool_use"!==e.type)continue;let n=i.get(e.id);if(!n)continue;let s=new Date(n.timestamp),r=Math.max(0,n.timestampMs-t.timestampMs);e.result={timestamp:n.timestamp,timestampFormatted:c(s),content:n.content,images:n.images,durationMs:r,durationFormatted:l(r)},n.agentId&&(e.subagentId=n.agentId)}return s.length>500&&await new Promise(t=>setImmediate(t)),s.sort((t,e)=>t.timestampMs-e.timestampMs),{entries:s,rawLines:r,subagentIds:Array.from(a)}}async function p(t,e="session"){return(await m(t,e)).entries}async function y(t,a){let u=(0,s.resolveProjectPath)(t),l=(0,i.getClaudeProjectsPath)(),c=(0,n.join)(u,`${a}.jsonl`),f=await (0,e.readFile)(c,"utf-8"),{entries:p,rawLines:y,subagentIds:d}=await m(f,"session");if(0===d.length)return{entries:p,rawLines:y,subagentIds:[]};let g=await (0,o.batchAll)(d.map(n=>async()=>{let i=`agent-${n}`,s=await r(l,t,a,n);if(!s)return null;let o=await (0,e.readFile)(s,"utf-8"),{entries:u,rawLines:c}=await m(o,i);return{entries:u,rawLines:c}}),4),h=[...p],w=[...y];for(let t of g)"fulfilled"===t.status&&t.value&&(h.push(...t.value.entries),w.push(...t.value.rawLines));return h.length>500&&await new Promise(t=>setImmediate(t)),h.sort((t,e)=>t.timestampMs-e.timestampMs),{entries:h,rawLines:w,subagentIds:d}}t.s(["formatDuration",0,l],67405),(0,a.runtimeCache)((t,e)=>y(t,e),60,{maxSize:50}),t.s(["baseEntry",0,f,"formatTimestamp",0,c,"parseLogContent",0,p],54214)},88153,t=>{"use strict";var e=t.i(2157),n=t.i(12714),i=t.i(50227),s=t.i(60526),r=t.i(83534),a=t.i(54214);let o=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,u=/^session-(.+)-([0-9a-f]{8})\.jsonl$/i;function l(t){let n;if(!o.test(t))return null;let r=(0,i.resolve)(process.env.GEMINI_SESSIONS_DIR||(0,i.join)((0,s.homedir)(),".gemini","tmp")),a=t.slice(0,8).toLowerCase();try{n=(0,e.readdirSync)(r)}catch{return null}for(let s of n){let n,o=(0,i.resolve)(r,s);if(!o.startsWith(`${r}${i.sep}`))continue;let l=(0,i.resolve)(o,"chats");try{n=(0,e.readdirSync)(l)}catch{continue}for(let s of n){let n=u.exec(s);if(!n||n[2].toLowerCase()!==a)continue;let r=(0,i.resolve)(l,s);if(!r.startsWith(`${l}${i.sep}`)||!(0,e.existsSync)(r))continue;let o=function(t){let n;try{n=(0,e.openSync)(t,"r")}catch{return null}try{let t=Buffer.alloc(4096),i=(0,e.readSync)(n,t,0,t.length,0);if(0===i)return null;let s=t.subarray(0,i).toString("utf-8"),r=s.indexOf("\n");return r>=0?s.slice(0,r):s}catch{return null}finally{try{(0,e.closeSync)(n)}catch{}}}(r);if(o)try{let e=JSON.parse(o);if("string"==typeof e.sessionId&&e.sessionId.toLowerCase()===t.toLowerCase())return r}catch{continue}}}return null}async function c(t,e="session",n){let i=t.split("\n").filter(t=>""!==t.trim()),s=[],r=[],o=!1;for(let t=0;t<i.length;t++){let n;t>0&&t%200==0&&await new Promise(t=>setImmediate(t));let u=i[t];try{n=JSON.parse(u)}catch{continue}let l={...n,_source:e};if(r.push(l),"string"==typeof n.sessionId&&"string"==typeof n.startTime){let t=new Date(n.startTime);if(!Number.isNaN(t.getTime())){let n=o?"Session Resumed":"Session Started";o=!0,s.push({type:"queue-operation",...(0,a.baseEntry)(l,t.toISOString(),t,e),label:n})}continue}if(n.$set)continue;let c=n.timestamp;if(!c)continue;let f=new Date(c);if(Number.isNaN(f.getTime()))continue;let m=f.toISOString(),p=n.type;if("user"===p){let t=function(t){if(!Array.isArray(t))return"";let e=[];for(let n of t)"string"==typeof n?.text&&e.push(n.text);return e.join("\n\n")}(n.content);if(!t)continue;s.push({type:"user",...(0,a.baseEntry)(l,m,f,e),message:{role:"user",content:t}});continue}if("assistant"===p||"model"===p){let t=function(t){if(!Array.isArray(t))return[];let e=[];for(let n of t)"string"==typeof n?.text&&n.text.length>0&&e.push({type:"text",text:n.text});return e}(n.content);if(0===t.length){s.push({type:"system",...(0,a.baseEntry)(l,m,f,e),raw:l});continue}s.push({type:"assistant",...(0,a.baseEntry)(l,m,f,e),message:{role:"assistant",content:t}});continue}s.push({type:"system",...(0,a.baseEntry)(l,m,f,e),raw:l})}return s.length>500&&await new Promise(t=>setImmediate(t)),s.sort((t,e)=>t.timestampMs-e.timestampMs),{entries:s,rawLines:r,cwd:n}}async function f(t){let s,r,a=l(t);if(!a)return null;try{s=await (0,n.readFile)(a,"utf-8")}catch{return null}let o=function(t){let n=(0,i.resolve)(t,".."),s=(0,i.resolve)(n,".."),r=(0,i.join)(s,".project_root");try{let t=(0,e.readFileSync)(r,"utf-8").trim();return t.length>0?t:void 0}catch{return}}(a);try{r=await c(s,"session",o)}catch{return null}return{entries:r.entries,rawLines:r.rawLines,cwd:r.cwd,filePath:a}}(0,r.runtimeCache)(t=>f(t),60,{maxSize:50}),t.s(["findGeminiTranscript",0,l,"getGeminiSessionLog",0,f])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0cag8qd._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},40911,e=>{"use strict";let t={info:0,warn:1,error:2};function r(e){return t[e]>=t.warn}function a(e){return`[failproofai${new Date().toISOString()}] ${e}`}e.s(["logActivity",0,function(e,t,n){if(!r("info"))return;let o=[`user=${e}`,`action=${t}`];n&&o.push(n),console.log(a("ACTIVITY"),o.join(" "))},"logError",0,function(e,t){void 0!==t?console.error(a("ERROR"),e,t):console.error(a("ERROR"),e)},"logWarn",0,function(e,t){r("warn")&&(void 0!==t?console.warn(a("WARN"),e,t):console.warn(a("WARN"),e))}])},81580,e=>{"use strict";var t=e.i(46786),r=e.i(14747);e.s(["decodeFolderName",0,function(e){return/^[A-Za-z]--/.test(e)?e[0]+":/"+e.slice(3).replace(/-/g,"/"):e.replace(/-/g,"/")},"encodeFolderName",0,function(e){let t=/^([A-Za-z]):[\\/](.*)$/.exec(e);return t?t[1]+"--"+t[2].replace(/[\\/]/g,"-"):e.replace(/[\\/]/g,"-")},"getClaudeProjectsPath",0,function(){let e=process.env.CLAUDE_PROJECTS_PATH;return e||(0,r.join)((0,t.homedir)(),".claude","projects")}])},83534,e=>{"use strict";e.s(["runtimeCache",0,function(e,t,r){let a=new Map,n=new Map,o=r?.maxSize;return async(...r)=>{let s=JSON.stringify(r),i=a.get(s);if(i&&Date.now()<i.expiry)return i.data;let l=n.get(s);if(l)return l;let d=e(...r).then(e=>{if(n.delete(s),o&&a.size>=o){let e=a.keys().next().value;a.delete(e)}return a.set(s,{data:e,expiry:Date.now()+1e3*t}),e},e=>{throw n.delete(s),e});return n.set(s,d),d}}])},28557,e=>{"use strict";e.s(["formatDate",0,function(e){return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0}).format(e)}])},71809,e=>{"use strict";async function t(e,t){let r=Array(e.length),a=0;async function n(){for(;a<e.length;){let t=a++;try{r[t]={status:"fulfilled",value:await e[t]()}}catch(e){r[t]={status:"rejected",reason:e}}}}let o=Array.from({length:Math.min(t,e.length)},()=>n());return await Promise.all(o),r}e.s(["batchAll",0,t])},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},56936,e=>{"use strict";var t=e.i(12714),r=e.i(50227),a=e.i(81580),n=e.i(83534),o=e.i(71809),s=e.i(40911),i=e.i(28557);let l=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;async function d(e,r){try{return(await (0,t.stat)(e)).mtime}catch(e){return(0,s.logWarn)(`Failed to stat ${r}:`,e),new Date(0)}}async function u(e){try{if(!(await (0,t.stat)(e)).isDirectory())return null;return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function c(){try{let e=(0,a.getClaudeProjectsPath)(),t=await u(e);if(!t)return[];let n=(await (0,o.batchAll)(t.filter(e=>e.isDirectory()).map(t=>async()=>{let a=(0,r.join)(e,t.name),n=await d(a,t.name);return{name:t.name,path:a,isDirectory:!0,lastModified:n,lastModifiedFormatted:(0,i.formatDate)(n),cli:["claude"]}}),16)).filter(e=>"fulfilled"===e.status).map(e=>e.value);return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}catch(e){return(0,s.logError)("Error reading Claude project folders:",e),[]}}async function p(){let[{getCodexProjects:t},{getCopilotProjects:r},{getCursorProjects:a},{getOpenCodeProjects:n},{getPiProjects:o},{getGeminiProjects:i},{getHermesProjects:l}]=await Promise.all([e.A(37352),e.A(5807),e.A(97452),e.A(82978),e.A(45093),e.A(61489),e.A(67347)]),[d,u,p,h,f,m,g,v]=await Promise.all([c(),t().catch(e=>((0,s.logError)("Error reading Codex projects:",e),[])),r().catch(e=>((0,s.logError)("Error reading Copilot projects:",e),[])),a().catch(e=>((0,s.logError)("Error reading Cursor projects:",e),[])),n().catch(e=>((0,s.logError)("Error reading OpenCode projects:",e),[])),o().catch(e=>((0,s.logError)("Error reading Pi projects:",e),[])),i().catch(e=>((0,s.logError)("Error reading Gemini projects:",e),[])),l().catch(e=>((0,s.logError)("Error reading Hermes projects:",e),[]))]);return function(...e){let t=new Map;for(let r of e)for(let e of r){let r=t.get(e.name);if(!r){t.set(e.name,{...e,cli:[...e.cli]});continue}let a=[...r.cli];for(let t of e.cli)a.includes(t)||a.push(t);let n=e.lastModified.getTime()>r.lastModified.getTime()?e:r;t.set(e.name,{...r,cli:a,lastModified:n.lastModified,lastModifiedFormatted:n.lastModifiedFormatted})}let r=Array.from(t.values());return r.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),r}(d,u,p,h,f,m,g,v)}function h(e){if(!e)throw RangeError("Empty project name");if(/^[/\\]/.test(e))throw RangeError("Absolute project name");let t=(0,r.resolve)((0,a.getClaudeProjectsPath)()),n=(0,r.resolve)((0,r.join)(t,e));if(!n.startsWith(t+r.sep))throw RangeError("Project path escapes root");return n}function f(e){let t=e.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return t?t[0]:void 0}async function m(e){try{let t=await u(e);if(!t)return[];let a=t.filter(e=>e.isFile()&&e.name.endsWith(".jsonl")&&f(e.name)),n=(await (0,o.batchAll)(a.map(t=>async()=>{let a=(0,r.join)(e,t.name),n=await d(a,t.name);return{name:t.name,path:a,lastModified:n,lastModifiedFormatted:(0,i.formatDate)(n),sessionId:f(t.name),cli:"claude"}}),16)).filter(e=>"fulfilled"===e.status).map(e=>e.value);return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}catch(e){return(0,s.logError)("Error reading session files:",e),[]}}(0,n.runtimeCache)(p,30),(0,n.runtimeCache)(e=>m(e),30),e.s(["UUID_RE",0,l,"resolveProjectPath",0,h,"resolveSessionFilePath",0,function(e,t){if(!l.test(t))throw RangeError("Invalid session ID");let a=h(e);return(0,r.join)(a,`${t}.jsonl`)}])},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},88947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},9311,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),o=e.i(61916),s=e.i(74677),i=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(26937),m=e.i(10372),g=e.i(93695);e.i(20232);var v=e.i(220),x=e.i(89171),w=e.i(22734),y=e.i(24868),R=e.i(88947),b=e.i(40911);let E={claude:{id:"claude",label:"Claude Code",badgeClasses:"bg-orange-500/10 text-orange-400 border-orange-500/20"},codex:{id:"codex",label:"OpenAI Codex",badgeClasses:"bg-purple-500/10 text-purple-400 border-purple-500/20"},copilot:{id:"copilot",label:"GitHub Copilot",badgeClasses:"bg-blue-500/10 text-blue-400 border-blue-500/20"},cursor:{id:"cursor",label:"Cursor Agent",badgeClasses:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20"},opencode:{id:"opencode",label:"OpenCode",badgeClasses:"bg-amber-500/10 text-amber-400 border-amber-500/20"},pi:{id:"pi",label:"Pi",badgeClasses:"bg-pink-500/10 text-pink-400 border-pink-500/20"},gemini:{id:"gemini",label:"Gemini CLI",badgeClasses:"bg-sky-500/10 text-sky-400 border-sky-500/20"},hermes:{id:"hermes",label:"Hermes",badgeClasses:"bg-indigo-500/10 text-indigo-400 border-indigo-500/20"}};var j=e.i(56936);let _=/^ses_[A-Za-z0-9]+$/,C=/^[A-Za-z0-9_-]+$/;async function A(t,r,a){if("opencode"===t?!_.test(a):"hermes"===t?!C.test(a):!j.UUID_RE.test(a))throw RangeError("Invalid session ID");if("claude"===t)return{kind:"file",path:(0,j.resolveSessionFilePath)(r,a)};if("codex"===t){let{findCodexTranscript:t}=await e.A(18944),r=t(a);return r?{kind:"file",path:r}:null}if("copilot"===t){let{findCopilotTranscript:t}=await e.A(21476),r=t(a);return r?{kind:"file",path:r}:null}if("cursor"===t){let{findCursorTranscript:t}=await e.A(23414),r=t(a);return r?{kind:"file",path:r}:null}if("pi"===t){let{findPiTranscript:t}=await e.A(41330),r=t(a);return r?{kind:"file",path:r}:null}if("gemini"===t){let{findGeminiTranscript:t}=await e.A(82912),r=t(a);return r?{kind:"file",path:r}:null}if("opencode"===t){let{getOpenCodeSessionExport:t}=await e.A(82859),r=await t(a);return r?{kind:"synthesized",body:JSON.stringify(r,null,2)+"\n",contentType:"application/json",extension:"json"}:null}if("hermes"===t){let{getHermesSessionLog:t}=await e.A(32359),r=await t(a);return r?{kind:"synthesized",body:r.rawLines.map(e=>JSON.stringify(e)).join("\n")+"\n",contentType:"application/x-ndjson",extension:"jsonl"}:null}return t}function P(e,t){return x.NextResponse.json({error:e},{status:t})}async function k(e,{params:t}){let r,{project:a,session:n}=await t,o=e.nextUrl.searchParams.get("cli")??"claude";if(!("string"==typeof o&&Object.prototype.hasOwnProperty.call(E,o)))return P("Unknown cli",400);try{r=await A(o,a,n)}catch(e){if(e instanceof RangeError)return P("Invalid project or session",400);return P("Failed to resolve session log",500)}if(!r)return P("Session log not found",404);if((0,b.logActivity)("anonymous","download-log",`cli=${o} project=${a} session=${n}`),"synthesized"===r.kind)return new x.NextResponse(r.body,{headers:{"Content-Type":r.contentType,"Content-Disposition":`attachment; filename="${n}.${r.extension}"`}});try{await (0,y.stat)(r.path);let e=(0,w.createReadStream)(r.path),t=R.Readable.toWeb(e);return new x.NextResponse(t,{headers:{"Content-Type":"application/x-ndjson","Content-Disposition":`attachment; filename="${n}.jsonl"`}})}catch(e){if("ENOENT"===e.code||e instanceof RangeError)return P("Session log not found",404);return P("Failed to read session log",500)}}e.s(["GET",0,k],32525);var T=e.i(32525);let N=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/download/[project]/[session]/route",pathname:"/api/download/[project]/[session]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/download/[project]/[session]/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:M,workUnitAsyncStorage:S,serverHooks:q}=N;async function O(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),N.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/download/[project]/[session]/route";x=x.replace(/\/index$/,"")||"/";let w=await N.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:R,params:b,nextConfig:E,parsedUrl:j,isDraftMode:_,prerenderManifest:C,routerServerContext:A,isOnDemandRevalidate:P,revalidateOnlyGenerated:k,resolvedPathname:T,clientReferenceManifest:M,serverActionsManifest:S}=w,q=(0,i.normalizeAppPath)(x),O=!!(C.dynamicRoutes[q]||C.routes[T]),D=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,j,!1):t.end("This page could not be found"),null);if(O&&!_){let e=!!C.routes[T],t=C.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await D();throw new g.NoFallbackError}}let I=null;!O||N.isDev||_||(I="/index"===(I=T)?"/":I);let $=!0===N.isDev||!O,U=O&&!$;S&&M&&(0,s.setManifestsSingleton)({page:x,clientReferenceManifest:M,serverActionsManifest:S});let F=e.method||"GET",H=(0,o.getTracer)(),z=H.getActiveScopeSpan(),W=!!(null==A?void 0:A.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),L=(0,n.getRequestMeta)(e,"incrementalCache")||await N.getIncrementalCache(e,E,C,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let G={params:b,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:$,incrementalCache:L,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>N.onRequestError(e,t,a,n,A)},sharedContext:{buildId:y,deploymentId:R}},B=new l.NodeNextRequest(e),Z=new l.NodeNextResponse(t),J=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let n,s=async e=>N.handle(J,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${F} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${F} ${x}`)}),i=async n=>{var o,i;let l=async({previousCacheEntry:r})=>{try{if(!K&&P&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await s(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let i=G.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let l=G.renderOpts.collectedTags;if(!O)return await (0,p.sendResponse)(B,Z,o,G.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(o.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await N.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:P})},!1,A),t}},d=await N.handleResponse({req:e,nextConfig:E,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:k,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:K});if(!O)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",P?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return K&&O||u.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(B,Z,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};W&&z?await i(z):(n=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${x}`,kind:o.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},i),void 0,!W))}catch(t){if(t instanceof g.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:P})},!1,A),O)throw t;return await (0,p.sendResponse)(B,Z,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:M,workUnitAsyncStorage:S})},"routeModule",0,N,"serverHooks",0,q,"workAsyncStorage",0,M,"workUnitAsyncStorage",0,S],9311)},37352,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__1jm9fw6._.js"].map(t=>e.l(t))).then(()=>t(36203)))},5807,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__1w9zl9-._.js"].map(t=>e.l(t))).then(()=>t(55851)))},97452,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__1ou2ehh._.js"].map(t=>e.l(t))).then(()=>t(46413)))},82978,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__1mhmdzs._.js"].map(t=>e.l(t))).then(()=>t(35435)))},45093,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0f7mikp._.js"].map(t=>e.l(t))).then(()=>t(19791)))},61489,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__1hgv_75._.js"].map(t=>e.l(t))).then(()=>t(90172)))},67347,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__12v-lma._.js","server/chunks/_1z062h5._.js"].map(t=>e.l(t))).then(()=>t(64828)))},32359,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__136y39g._.js","server/chunks/_1z062h5._.js"].map(t=>e.l(t))).then(()=>t(3605)))},82859,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__1qxztj-._.js"].map(t=>e.l(t))).then(()=>t(99440)))},82912,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0cag8qd._.js"].map(t=>e.l(t))).then(()=>t(88153)))},41330,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0q-v9z2._.js"].map(t=>e.l(t))).then(()=>t(85116)))},23414,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0rv7m0k._.js"].map(t=>e.l(t))).then(()=>t(72094)))},21476,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__1legmza._.js"].map(t=>e.l(t))).then(()=>t(78166)))},18944,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__17g9wh7._.js"].map(t=>e.l(t))).then(()=>t(57232)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0cefjd9._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[50227,(e,t,i)=>{t.exports=e.x("node:path",()=>require("node:path"))},60526,(e,t,i)=>{t.exports=e.x("node:os",()=>require("node:os"))},2157,(e,t,i)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},66680,(e,t,i)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,i)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},18622,(e,t,i)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,i)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,i)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,i)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,i)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,i)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},94930,e=>{"use strict";var t=e.i(2157),i=e.i(50227),s=e.i(66680);e.s(["writeJsonAtomically",0,function(e,n,r={}){let a=r.mode??384,o=r.dirMode??448,l=(0,i.dirname)(e);(0,t.existsSync)(l)||(0,t.mkdirSync)(l,{recursive:!0,mode:o});let c=`${e}.${process.pid}.${(0,s.randomBytes)(6).toString("hex")}.tmp`;try{(0,t.writeFileSync)(c,JSON.stringify(n,null,2),{mode:a});try{(63&(0,t.statSync)(c).mode)!=0&&(0,t.chmodSync)(c,a)}catch{}(0,t.renameSync)(c,e);try{(63&(0,t.statSync)(e).mode)!=0&&(0,t.chmodSync)(e,a)}catch{}}catch(e){try{(0,t.rmSync)(c,{force:!0})}catch{}throw e}}])},24214,(e,t,i)=>{t.exports={name:"failproofai",version:"0.0.13",description:"The easiest way to manage policies that keep your AI agents reliable, on-task, and running autonomously — for Claude Code & the Agents SDK",bin:{failproofai:"./dist/cli.mjs"},files:["bin/","src/","scripts/","lib/","pi-extension/",".next/standalone/","dist/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{predev:"bun run build:cli && bun link",dev:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/dev.ts --port 8020","build:cli":"bun build --target=node --format=esm --outfile=dist/cli.mjs bin/failproofai.mjs --external posthog-node --external sql.js && node -e \"const fs=require('fs');const c=fs.readFileSync('dist/cli.mjs','utf8');fs.writeFileSync('dist/cli.mjs',c.replace('#!/usr/bin/env bun','#!/usr/bin/env node').replace('// @bun\\n',''))\"",build:"bun build --target=node --format=cjs --outfile=dist/index.js src/index.ts && bun run build:cli && bun --bun next build && node -e \"const {cpSync}=require('fs');cpSync('.next/static','.next/standalone/.next/static',{recursive:true});\" && node scripts/prune-standalone.mjs",prestart:"bun run build:cli && bun link",start:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",postinstall:"node scripts/postinstall.mjs",preuninstall:"node scripts/preuninstall.mjs",prepare:"bun run build","test:e2e":"vitest run --config vitest.config.e2e.mts","test:e2e:watch":"vitest --config vitest.config.e2e.mts",translate:"bun scripts/translate-docs/cli.ts","translate:readme":"bun scripts/translate-docs/cli.ts --readme-only","translate:docs":"bun scripts/translate-docs/cli.ts --docs-only","translate:dry-run":"bun scripts/translate-docs/cli.ts --dry-run","translate:validate":"bun scripts/translate-docs/cli.ts --validate","validate:mdx":"bun scripts/validate-mdx.ts"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","agent-reliability","agent-monitoring","autonomous-agent","failure-prevention","developer-tools","devtools","cli","local-first","hooks","policies"],author:"ExosphereHost Inc. <failproofai@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://github.com/FailproofAI/failproofai",repository:{type:"git",url:"https://github.com/FailproofAI/failproofai.git"},bugs:{url:"https://github.com/FailproofAI/failproofai/issues"},publishConfig:{access:"public"},devDependencies:{"@anthropic-ai/sdk":"^0.111.0","@mdx-js/mdx":"^3.1.1","@tailwindcss/postcss":"^4.3.1","@tanstack/react-virtual":"^3.14.3","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"26.1.1","@types/react":"19.2.17","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",clsx:"^2.1.1",eslint:"^10.5.0","eslint-config-next":"^16.2.9",jsdom:"^29.1.1","lucide-react":"^1.18.0",next:"^16.2.9",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.3.1",typescript:"6.0.3",vitest:"^4.1.9"},dependencies:{"html-to-image":"^1.11.13",html2canvas:"^1.4.1","posthog-node":"^5.37.1","sql.js":"^1.14.1",yaml:"^2.9.0"},overrides:{postcss:"8.5.14","eslint-plugin-react-hooks":"7.0.1",vite:"8.0.16",undici:"7.28.0"}}},28067,e=>{"use strict";e.s(["POSTHOG_API_KEY",0,"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX","POSTHOG_PRODUCT",0,"failproofai-oss"])},10659,e=>{"use strict";let t;var i=e.i(2157),s=e.i(50227),n=e.i(60526),r=e.i(66680);e.i(74533);let a=s.default.join(n.default.homedir(),".failproofai"),o=s.default.join(a,"instance-id");function l(e){return r.default.createHmac("sha256","failproofai-telemetry-v1").update(e).digest("hex")}e.s(["getInstanceId",0,function(){if(t)return t;let e=function(){try{for(let e of(n.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let t=i.default.readFileSync(e,"utf-8").trim();if(t)return t}catch{}}catch{}}();if(e)return t=l(e);let s=[n.default.hostname(),n.default.homedir(),n.default.platform(),n.default.arch(),n.default.cpus()[0]?.model??""].join(":");return t=s?l(s):function(){try{let e=i.default.readFileSync(o,"utf-8").trim();if(e)return e}catch{}let e=r.default.randomUUID();try{i.default.mkdirSync(a,{recursive:!0}),i.default.writeFileSync(o,e,"utf-8")}catch{}return e}()}])},72561,e=>{"use strict";var t=e.i(10659),i=e.i(24214),s=e.i(28067);let n=s.POSTHOG_API_KEY;async function r(e,t){for(let i=1;i<=5;i++){try{let{signal:i,...s}=t,n=await fetch(e,{...s,signal:AbortSignal.timeout(5e3)});if(n.ok)return n}catch{}if(i<5){let e=Math.min(1e3*2**(i-1),8e3);await new Promise(t=>setTimeout(t,e))}}return new Response("{}",{status:200})}function a(){return"1"!==process.env.FAILPROOFAI_TELEMETRY_DISABLED}async function o(){try{if(!a()||globalThis.__FAILPROOFAI_POSTHOG__)return;let t=await e.A(78081),i=process.env.FAILPROOFAI_POSTHOG_KEY??n,s=process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com";globalThis.__FAILPROOFAI_POSTHOG__=new t.PostHog(i,{host:s,flushAt:1,flushInterval:0,requestTimeout:5e3,fetchRetryCount:0,fetch:r});let o=()=>{globalThis.__FAILPROOFAI_POSTHOG__?.shutdown().catch(()=>{})};process.on("beforeExit",o),process.on("SIGTERM",o),process.on("SIGINT",o)}catch(e){console.warn("[failproofai:telemetry] init failed:",e instanceof Error?e.message:e)}}e.s(["initTelemetry",0,o,"trackEvent",0,function(e,n){if(!a())return;let r=globalThis.__FAILPROOFAI_POSTHOG__;r&&r.capture({distinctId:(0,t.getInstanceId)(),event:e,properties:{...n,$lib:"failproofai",failproofai_version:i.version,product:s.POSTHOG_PRODUCT}})}])},64828,e=>{"use strict";var t=e.i(79708),i=e.i(3605),s=e.i(83534),n=e.i(28557);async function r(){let e=await (0,t.openSqliteReadonly)((0,i.hermesDbPath)());if(!e)return[];try{return e.query("SELECT s.id, s.source, s.cwd, s.title, s.user_id, s.chat_id, s.chat_type, s.started_at, s.ended_at, s.message_count, lm.last_activity FROM sessions s LEFT JOIN (SELECT session_id, MAX(timestamp) AS last_activity FROM messages GROUP BY session_id) lm ON lm.session_id = s.id ORDER BY lm.last_activity DESC").map(e=>({sessionId:e.id,source:e.source??void 0,cwd:e.cwd??void 0,title:e.title??void 0,userId:e.user_id??void 0,chatId:e.chat_id??void 0,chatType:e.chat_type??void 0,mtimeMs:(0,i.epochToMs)(e.last_activity??e.ended_at??e.started_at),messageCount:"number"==typeof e.message_count?e.message_count:0,hasMessages:null!=e.last_activity}))}catch{return[]}finally{e.close()}}let a=(0,s.runtimeCache)(r,2);async function o(){let e=await r(),t=new Map;for(let i of e){if(i.messageCount<=0&&!i.hasMessages)continue;let e=i.source??"unknown";t.set(e,Math.max(t.get(e)??0,i.mtimeMs))}let i=[];for(let[e,s]of t){let t=new Date(s);i.push({name:`hermes-${e}`,path:`hermes:${e}`,isDirectory:!0,lastModified:t,lastModifiedFormatted:(0,n.formatDate)(t),cli:["hermes"]})}return i.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),i}async function l(e){if(!e.startsWith("hermes-"))return{cwd:null,sessions:[]};let t=e.slice(7),i=(await r()).filter(e=>(e.messageCount>0||e.hasMessages)&&(e.source??"unknown")===t);return{cwd:`hermes:${t}`,sessions:i.map(e=>{let t=new Date(e.mtimeMs);return{name:e.title??e.sessionId,path:`hermes://${e.sessionId}`,lastModified:t,lastModifiedFormatted:(0,n.formatDate)(t),sessionId:e.sessionId,cli:"hermes",userId:e.userId,channelId:e.chatId,channelType:e.chatType}})}}let c=(0,s.runtimeCache)(o,2),u=(0,s.runtimeCache)(e=>l(e),2,{maxSize:50});e.s(["getCachedHermesProjects",0,c,"getCachedHermesSessions",0,a,"getCachedHermesSessionsByEncodedName",0,u,"getHermesProjects",0,o,"getHermesSessions",0,r,"getHermesSessionsByEncodedName",0,l])},47756,48480,e=>{"use strict";var t=e.i(2157),i=e.i(50227),s=e.i(60526),n=e.i(94930);function r(){return(0,i.join)((0,s.homedir)(),".failproofai","audit-dashboard.json")}e.s(["readDashboardCache",0,function(){let e=r();if(!(0,t.existsSync)(e))return null;try{let i=(0,t.readFileSync)(e,"utf-8"),s=JSON.parse(i);if(!s||"object"!=typeof s||"string"!=typeof s.cachedAt||!s.params||"object"!=typeof s.params||!s.result||"object"!=typeof s.result||2!==s.schemaVersion||function(e,t=30){let i=new Date(e).getTime();return!!Number.isNaN(i)||Date.now()-i>6e4*t}(s.cachedAt,10080))return null;return s}catch{return null}},"writeDashboardCache",0,function(e,t){try{let i={schemaVersion:2,cachedAt:new Date().toISOString(),params:e,result:t};return(0,n.writeJsonAtomically)(r(),i),!0}catch{return!1}}],47756);let a={running:!1,error:null};e.s(["finishRun",0,function(e){a.running=!1,a.startedAt=void 0,a.error=e},"getRunState",0,function(){return{...a}},"tryAcquireRun",0,function(){return!a.running&&(a.running=!0,a.startedAt=Date.now(),a.error=null,!0)}],48480)},55851,e=>{"use strict";var t=e.i(12714),i=e.i(60526),s=e.i(50227),n=e.i(81580),r=e.i(83534),a=e.i(71809),o=e.i(28557),l=e.i(40911);async function c(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function u(e){try{return(await (0,t.stat)(e)).mtime}catch{return null}}async function d(){let e=(0,s.join)(process.env.COPILOT_HOME||(0,s.join)((0,i.homedir)(),".copilot"),"session-state"),n=await c(e);if(!n)return[];let r=n.filter(e=>e.isDirectory()).map(t=>({sessionId:t.name,workspacePath:(0,s.join)(e,t.name,"workspace.yaml"),eventsPath:(0,s.join)(e,t.name,"events.jsonl")}));return(await (0,a.batchAll)(r.map(e=>async()=>{let i;try{i=await (0,t.readFile)(e.workspacePath,"utf-8")}catch{return null}let s=function(e){let t=e.match(/^cwd\s*:\s*(.+?)\s*$/m);if(t)return t[1].replace(/^['"]|['"]$/g,"")}(i);if(!s)return null;let n=await u(e.eventsPath),r=await u(e.workspacePath),a=null!==n,o=n&&r?new Date(Math.max(n.getTime(),r.getTime())):n??r??new Date(0);return{workspacePath:e.workspacePath,eventsPath:e.eventsPath,sessionId:e.sessionId,cwd:s,fileMtime:o,hasTranscript:a}}),16)).filter(e=>"fulfilled"===e.status).map(e=>e.value).filter(e=>null!==e)}let f=(0,r.runtimeCache)(d,30);async function m(){let e;try{e=await f()}catch(e){return(0,l.logWarn)("Failed to scan Copilot sessions:",e),[]}let t=new Map;for(let i of e){if(!i.hasTranscript)continue;let e=t.get(i.cwd);(!e||i.fileMtime.getTime()>e.latest.getTime())&&t.set(i.cwd,{latest:i.fileMtime,cwd:i.cwd})}let i=[];for(let{cwd:e,latest:s}of t.values())i.push({name:(0,n.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:s,lastModifiedFormatted:(0,o.formatDate)(s),cli:["copilot"]});return i.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),i}function p(e){let t=e.filter(e=>e.hasTranscript).map(e=>({name:e.sessionId,path:e.eventsPath,lastModified:e.fileMtime,lastModifiedFormatted:(0,o.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"copilot"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function y(e){let t;try{t=await f()}catch(e){return(0,l.logWarn)("Failed to scan Copilot sessions:",e),[]}return p(t.filter(t=>t.cwd===e))}async function h(e){let t;try{t=await f()}catch(e){return(0,l.logWarn)("Failed to scan Copilot sessions:",e),{cwd:null,sessions:[]}}let i=t.filter(t=>t.hasTranscript&&(0,n.encodeFolderName)(t.cwd)===e);return{cwd:i[0]?.cwd??null,sessions:p(i)}}let g=(0,r.runtimeCache)(m,30),w=(0,r.runtimeCache)(e=>y(e),30,{maxSize:50}),S=(0,r.runtimeCache)(e=>h(e),30,{maxSize:50});e.s(["getCachedCopilotProjects",0,g,"getCachedCopilotSessionsByEncodedName",0,S,"getCachedCopilotSessionsForCwd",0,w,"getCopilotProjects",0,m,"getCopilotSessionsByEncodedName",0,h,"getCopilotSessionsForCwd",0,y])},36203,e=>{"use strict";var t=e.i(12714),i=e.i(60526),s=e.i(50227),n=e.i(81580),r=e.i(83534),a=e.i(71809),o=e.i(28557),l=e.i(40911);let c=(0,s.join)((0,i.homedir)(),".codex","sessions"),u=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;async function d(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function f(e){let i=null;try{i=await (0,t.open)(e,"r");let s=Buffer.alloc(262144),{bytesRead:n}=await i.read(s,0,262144,0);if(0===n)return null;let r=s.subarray(0,n),a=r.indexOf(10),o=-1===a?n:a;return r.subarray(0,o).toString("utf-8")}catch{return null}finally{i&&await i.close().catch(()=>{})}}async function m(e){let t=await d(e);return t?t.filter(e=>e.isFile()&&e.name.endsWith(".jsonl")).map(t=>(0,s.join)(e,t.name)):[]}async function p(){let e=await d(c);if(!e)return[];let i=[];for(let t of e){if(!t.isDirectory())continue;let e=await d((0,s.join)(c,t.name));if(e)for(let n of e){if(!n.isDirectory())continue;let e=await d((0,s.join)(c,t.name,n.name));if(e)for(let r of e){if(!r.isDirectory())continue;let e=(0,s.join)(c,t.name,n.name,r.name);i.push(...await m(e))}}}return 0===i.length?[]:(await (0,a.batchAll)(i.map(e=>async()=>{let i,s,n=(s=(e.split("/").pop()??"").match(u))?s[0]:null;if(!n)return null;let r=await f(e);if(!r)return null;let{cwd:a}=function(e){try{let t=JSON.parse(e);if("session_meta"!==t.type)return{};let i=t.payload?.cwd;if("string"!=typeof i||0===i.length)return{};return{cwd:i}}catch{return{}}}(r);if(!a)return null;try{let s=await (0,t.open)(e,"r");try{i=(await s.stat()).mtime}finally{await s.close().catch(()=>{})}}catch{i=new Date(0)}return{filePath:e,fileName:e.split("/").pop()??"",cwd:a,sessionId:n,fileMtime:i}}),16)).filter(e=>"fulfilled"===e.status).map(e=>e.value).filter(e=>null!==e)}let y=(0,r.runtimeCache)(p,30);async function h(){let e;try{e=await y()}catch(e){return(0,l.logWarn)("Failed to scan Codex sessions:",e),[]}let t=new Map;for(let i of e){let e=t.get(i.cwd);(!e||i.fileMtime.getTime()>e.latest.getTime())&&t.set(i.cwd,{latest:i.fileMtime,cwd:i.cwd})}let i=[];for(let{cwd:e,latest:s}of t.values())i.push({name:(0,n.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:s,lastModifiedFormatted:(0,o.formatDate)(s),cli:["codex"]});return i.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),i}function g(e){let t=e.map(e=>({name:e.fileName.replace(/\.jsonl$/,""),path:e.filePath,lastModified:e.fileMtime,lastModifiedFormatted:(0,o.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"codex"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function w(e){let t;try{t=await y()}catch(e){return(0,l.logWarn)("Failed to scan Codex sessions:",e),[]}return g(t.filter(t=>t.cwd===e))}async function S(e){let t;try{t=await y()}catch(e){return(0,l.logWarn)("Failed to scan Codex sessions:",e),{cwd:null,sessions:[]}}let i=t.filter(t=>(0,n.encodeFolderName)(t.cwd)===e);return{cwd:i[0]?.cwd??null,sessions:g(i)}}let _=(0,r.runtimeCache)(h,30),x=(0,r.runtimeCache)(e=>w(e),30,{maxSize:50}),v=(0,r.runtimeCache)(e=>S(e),30,{maxSize:50});e.s(["getCachedCodexProjects",0,_,"getCachedCodexSessionsByEncodedName",0,v,"getCachedCodexSessionsForCwd",0,x,"getCodexProjects",0,h,"getCodexSessionsByEncodedName",0,S,"getCodexSessionsForCwd",0,w])},35435,e=>{"use strict";var t=e.i(74533),i=e.i(81580),s=e.i(83534),n=e.i(28557),r=e.i(40911);function a(e){try{let i=(0,t.execFileSync)("opencode",["db","--format","json",e],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]});if(!i.trim())return[];let s=JSON.parse(i);if(!Array.isArray(s))return null;return s}catch{return null}}function o(){return a("SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session ORDER BY time_updated DESC LIMIT 1000")}function l(){return a("SELECT id, worktree, vcs, name, time_created, time_updated FROM project")}async function c(){let e=o(),t=l();if(null===e&&null===t)return[];let s=new Map;for(let e of t??[])s.set(e.id,e);let r=new Map;for(let t of e??[]){if(!t.project_id)continue;let e=r.get(t.project_id);e||(e={rows:[],latest:0},r.set(t.project_id,e)),e.rows.push(t),t.time_updated>e.latest&&(e.latest=t.time_updated)}let a=new Set,c=[];for(let[e,t]of r){a.add(e);let r=s.get(e),o=r?.worktree??t.rows[0]?.directory??null,l=o?(0,i.encodeFolderName)(o):e,u=o??"",d=new Date(Math.max(t.latest,r?.time_updated??0));c.push({name:l,path:u,isDirectory:!0,lastModified:d,lastModifiedFormatted:(0,n.formatDate)(d),cli:["opencode"]})}for(let e of t??[]){if(a.has(e.id))continue;let t=e.worktree??"",s=t?(0,i.encodeFolderName)(t):e.id,r=new Date(e.time_updated);c.push({name:s,path:t,isDirectory:!0,lastModified:r,lastModifiedFormatted:(0,n.formatDate)(r),cli:["opencode"]})}return c.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),c}async function u(e){let t=o();return t?t.filter(t=>t.directory===e).map(e=>{let t=new Date(e.time_updated);return{name:e.title??e.slug??e.id,path:`opencode://${e.id}`,lastModified:t,lastModifiedFormatted:(0,n.formatDate)(t),sessionId:e.id,cli:"opencode"}}):[]}async function d(e){let t,s;try{t=l(),s=o()}catch(e){return(0,r.logWarn)("Failed to read OpenCode DB:",e),{cwd:null,sessions:[]}}if(!t||!s)return{cwd:null,sessions:[]};let a=t.find(t=>t.worktree&&(0,i.encodeFolderName)(t.worktree)===e);if(!a||!a.worktree)return{cwd:null,sessions:[]};let c=s.filter(e=>e.project_id===a.id);return{cwd:a.worktree,sessions:c.map(e=>{let t=new Date(e.time_updated);return{name:e.title??e.slug??e.id,path:`opencode://${e.id}`,lastModified:t,lastModifiedFormatted:(0,n.formatDate)(t),sessionId:e.id,cli:"opencode"}})}}let f=(0,s.runtimeCache)(c,30),m=(0,s.runtimeCache)(e=>u(e),30,{maxSize:50}),p=(0,s.runtimeCache)(e=>d(e),30,{maxSize:50});e.s(["getCachedOpenCodeProjects",0,f,"getCachedOpenCodeSessionsByEncodedName",0,p,"getCachedOpenCodeSessionsForCwd",0,m,"getOpenCodeProjects",0,c,"getOpenCodeSessionsByEncodedName",0,d,"getOpenCodeSessionsForCwd",0,u])},19791,e=>{"use strict";var t=e.i(12714),i=e.i(60526),s=e.i(50227),n=e.i(81580),r=e.i(83534),a=e.i(71809),o=e.i(28557),l=e.i(40911);let c=/^[\d-]+T[\d-]+Z_([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\.jsonl$/i;async function u(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function d(e){try{return(await (0,t.stat)(e)).mtime}catch{return null}}async function f(e){let i;try{i=await (0,t.readFile)(e,"utf-8")}catch{return null}let s=i.indexOf("\n")>=0?i.slice(0,i.indexOf("\n")):i;if(!s)return null;try{let e=JSON.parse(s);if("session"!==e.type||"string"!=typeof e.cwd||0===e.cwd.length)return null;return e.cwd}catch{return null}}async function m(){let e=process.env.PI_SESSIONS_DIR||(0,s.join)((0,i.homedir)(),".pi","agent","sessions"),t=await u(e);if(!t)return[];let n=[];for(let i of t){if(!i.isDirectory())continue;let t=(0,s.join)(e,i.name),r=await u(t);if(r)for(let e of r){if(!e.isFile())continue;let i=c.exec(e.name);i&&n.push({sessionId:i[1],filePath:(0,s.join)(t,e.name)})}}return 0===n.length?[]:(await (0,a.batchAll)(n.map(e=>async()=>{let t=await f(e.filePath);if(!t)return null;let i=await d(e.filePath);return i?{filePath:e.filePath,sessionId:e.sessionId,cwd:t,fileMtime:i}:null}),16)).filter(e=>"fulfilled"===e.status).map(e=>e.value).filter(e=>null!==e)}let p=(0,r.runtimeCache)(m,30);async function y(){let e;try{e=await p()}catch(e){return(0,l.logWarn)("Failed to scan Pi sessions:",e),[]}let t=new Map;for(let i of e){let e=t.get(i.cwd);(!e||i.fileMtime.getTime()>e.latest.getTime())&&t.set(i.cwd,{latest:i.fileMtime,cwd:i.cwd})}let i=[];for(let{cwd:e,latest:s}of t.values())i.push({name:(0,n.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:s,lastModifiedFormatted:(0,o.formatDate)(s),cli:["pi"]});return i.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),i}function h(e){let t=e.map(e=>({name:e.sessionId,path:e.filePath,lastModified:e.fileMtime,lastModifiedFormatted:(0,o.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"pi"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function g(e){let t;try{t=await p()}catch(e){return(0,l.logWarn)("Failed to scan Pi sessions:",e),[]}return h(t.filter(t=>t.cwd===e))}async function w(e){let t;try{t=await p()}catch(e){return(0,l.logWarn)("Failed to scan Pi sessions:",e),{cwd:null,sessions:[]}}let i=t.filter(t=>(0,n.encodeFolderName)(t.cwd)===e),s=Array.from(new Set(i.map(e=>e.cwd)));return 1!==s.length?{cwd:null,sessions:[]}:{cwd:s[0],sessions:h(i)}}let S=(0,r.runtimeCache)(y,30),_=(0,r.runtimeCache)(e=>g(e),30,{maxSize:50}),x=(0,r.runtimeCache)(e=>w(e),30,{maxSize:50});e.s(["getCachedPiProjects",0,S,"getCachedPiSessionsByEncodedName",0,x,"getCachedPiSessionsForCwd",0,_,"getPiProjects",0,y,"getPiSessionsByEncodedName",0,w,"getPiSessionsForCwd",0,g])},78166,e=>{"use strict";var t=e.i(2157),i=e.i(12714),s=e.i(50227),n=e.i(60526),r=e.i(83534),a=e.i(54214),o=e.i(67405);function l(e,t){let i=function(e){if(!e)return null;let t=(0,s.resolve)((0,s.join)(process.env.COPILOT_HOME||(0,s.join)((0,n.homedir)(),".copilot"),"session-state")),i=(0,s.resolve)(t,e);return i!==t&&i.startsWith(`${t}${s.sep}`)?i:null}(e);return i?(0,s.join)(i,t):null}function c(e){let i=l(e,"events.jsonl");return i&&(0,t.existsSync)(i)?i:null}async function u(e,t="session"){let i,s=e.split("\n").filter(e=>""!==e.trim()),n=[],r=[],l=new Map,c=new Map,d=!1;for(let e=0;e<s.length;e++){let u;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let f=s[e];try{u=JSON.parse(f)}catch{continue}let m={...u,_source:t};r.push(m);let p=u.timestamp;if(!p)continue;let y=new Date(p);if(Number.isNaN(y.getTime()))continue;let h=y.toISOString(),g=u.type,w=u.data??{};if("session.start"===g){let e=w.context,s=e?.cwd;"string"!=typeof s||i||(i=s);let r=d?"Session Resumed":"Session Started";d=!0,n.push({type:"queue-operation",...(0,a.baseEntry)(m,h,y,t),label:r});continue}if("user.message"===g){let e=w.content??"";if(!e)continue;n.push({type:"user",...(0,a.baseEntry)(m,h,y,t),message:{role:"user",content:e}});continue}if("system.message"===g){n.push({type:"system",...(0,a.baseEntry)(m,h,y,t),raw:m});continue}if("assistant.message"===g){let e=w.content??"";if(!e){n.push({type:"system",...(0,a.baseEntry)(m,h,y,t),raw:m});continue}let i=[{type:"text",text:e}];n.push({type:"assistant",...(0,a.baseEntry)(m,h,y,t),message:{role:"assistant",content:i}});continue}if("tool.execution_start"===g){let e=w.toolCallId,i=w.toolName??"tool",s=w.arguments??{},r={type:"tool_use",id:e??`${y.getTime()}-${i}`,name:i,input:s},o={type:"assistant",...(0,a.baseEntry)(m,h,y,t),message:{role:"assistant",content:[r]}};n.push(o),e&&(l.set(e,r),c.set(e,y.getTime()));continue}if("tool.execution_complete"===g){let e=w.toolCallId,i=e?l.get(e):void 0;if(i){let t=c.get(e)??y.getTime(),s=w.result??{},n=w.toolTelemetry??{},r=n.metrics?.commandTimeMs??n.metrics?.durationMs??null,l="number"==typeof r&&r>=0?r:Math.max(0,y.getTime()-t),u=s.detailedContent??s.content??"";i.result={timestamp:h,timestampFormatted:(0,a.formatTimestamp)(y),content:"string"==typeof u?u:JSON.stringify(u),durationMs:l,durationFormatted:(0,o.formatDuration)(l)};continue}n.push({type:"system",...(0,a.baseEntry)(m,h,y,t),raw:m});continue}n.push({type:"system",...(0,a.baseEntry)(m,h,y,t),raw:m})}return n.length>500&&await new Promise(e=>setImmediate(e)),n.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:n,rawLines:r,cwd:i}}async function d(e){let s,n=c(e);if(!n)return null;try{s=await (0,i.readFile)(n,"utf-8")}catch{return null}let{entries:r,rawLines:a,cwd:o}=await u(s,"session");return{entries:r,rawLines:a,cwd:o??function(e){let i,s=(i=l(e,"workspace.yaml"))&&(0,t.existsSync)(i)?i:null;if(s)try{let e=(0,t.readFileSync)(s,"utf-8"),i=RegExp("^cwd\\s*:\\s*(.+?)\\s*$","m"),n=e.match(i);if(!n)return;return n[1].replace(/^['"]|['"]$/g,"")}catch{return}}(e),filePath:n}}(0,r.runtimeCache)(e=>d(e),60,{maxSize:50}),e.s(["findCopilotTranscript",0,c,"getCopilotSessionLog",0,d])},85116,e=>{"use strict";var t=e.i(2157),i=e.i(12714),s=e.i(50227),n=e.i(60526),r=e.i(83534),a=e.i(54214);let o=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,l=/^[\d-]+T[\d-]+Z_([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\.jsonl$/i;function c(e){let i;if(!o.test(e))return null;let r=(0,s.resolve)(process.env.PI_SESSIONS_DIR||(0,s.join)((0,n.homedir)(),".pi","agent","sessions"));try{i=(0,t.readdirSync)(r)}catch{return null}for(let n of i){let i,a=(0,s.resolve)(r,n);if(a.startsWith(`${r}${s.sep}`)){try{i=(0,t.readdirSync)(a)}catch{continue}for(let n of i){let i=l.exec(n);if(!i||i[1].toLowerCase()!==e.toLowerCase())continue;let r=(0,s.resolve)(a,n);if(r.startsWith(`${a}${s.sep}`)&&(0,t.existsSync)(r))return r}}}return null}async function u(e,t="session"){let i,s=e.split("\n").filter(e=>""!==e.trim()),n=[],r=[],o=!1;for(let e=0;e<s.length;e++){let l;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let c=s[e];try{l=JSON.parse(c)}catch{continue}let u={...l,_source:t};r.push(u);let d=l.timestamp;if(!d)continue;let f=new Date(d);if(Number.isNaN(f.getTime()))continue;let m=f.toISOString(),p=l.type;if("session"===p){"string"!=typeof l.cwd||i||(i=l.cwd);let e=o?"Session Resumed":"Session Started";o=!0,n.push({type:"queue-operation",...(0,a.baseEntry)(u,m,f,t),label:e});continue}if("message"===p&&l.message&&"object"==typeof l.message){let e=l.message.role,i=l.message.content;if("user"===e){let e=function(e){if(!Array.isArray(e))return"";let t=[];for(let i of e)i?.type==="text"&&"string"==typeof i.text&&t.push(i.text);return t.join("\n\n")}(i);if(!e)continue;n.push({type:"user",...(0,a.baseEntry)(u,m,f,t),message:{role:"user",content:e}});continue}if("assistant"===e){let e=function(e){if(!Array.isArray(e))return[];let t=[];for(let i of e)i?.type==="text"&&"string"==typeof i.text&&i.text.length>0&&t.push({type:"text",text:i.text}),i?.type==="thinking"&&"string"==typeof i.thinking&&i.thinking.length>0&&t.push({type:"text",text:`[thinking] ${i.thinking}`});return t}(i);if(0===e.length){n.push({type:"system",...(0,a.baseEntry)(u,m,f,t),raw:u});continue}n.push({type:"assistant",...(0,a.baseEntry)(u,m,f,t),message:{role:"assistant",content:e}});continue}n.push({type:"system",...(0,a.baseEntry)(u,m,f,t),raw:u});continue}n.push({type:"system",...(0,a.baseEntry)(u,m,f,t),raw:u})}return n.length>500&&await new Promise(e=>setImmediate(e)),n.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:n,rawLines:r,cwd:i}}async function d(e){let t,s,n=c(e);if(!n)return null;try{t=await (0,i.readFile)(n,"utf-8")}catch{return null}try{s=await u(t,"session")}catch{return null}return{entries:s.entries,rawLines:s.rawLines,cwd:s.cwd,filePath:n}}(0,r.runtimeCache)(e=>d(e),60,{maxSize:50}),a.formatTimestamp,e.s(["findPiTranscript",0,c,"getPiSessionLog",0,d])},99440,e=>{"use strict";var t=e.i(74533),i=e.i(83534),s=e.i(54214),n=e.i(67405);function r(e){try{let i=(0,t.execFileSync)("opencode",["db","--format","json",e],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]});if(!i.trim())return[];let s=JSON.parse(i);if(!Array.isArray(s))return null;return s}catch{return null}}function a(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function o(e){if("string"!=typeof e||0===e.length)return null;try{let t=JSON.parse(e);return a(t)?t:null}catch{return null}}async function l(e){if(!e||!/^[A-Za-z0-9_-]+$/.test(e))return null;let t=r(`SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session WHERE id = '${e}'`);if(!t||0===t.length)return null;let i=t[0],l=r(`SELECT id, session_id, time_created, time_updated, data FROM message WHERE session_id = '${e}' ORDER BY time_created ASC`),c=r(`SELECT id, message_id, session_id, time_created, time_updated, data FROM part WHERE session_id = '${e}' ORDER BY time_created ASC`);if(!l)return{entries:[],rawLines:[],cwd:i.directory??void 0,filePath:`opencode://${e}`};let u=new Map;for(let e of c??[]){let t=u.get(e.message_id);t||(t=[],u.set(e.message_id,t)),t.push(e)}let d=[],f=[];for(let e of l){let t=u.get(e.id)??[];d.push(function(e,t,i){let r=o(e.data)??{},l="string"==typeof r.role?r.role:"system",c=new Date(e.time_created),u=c.toISOString(),d={uuid:e.id,parentUuid:null},f=(0,s.baseEntry)(d,u,c,i),m=[],p="";for(let e of t){let t=o(e.data);if(!t)continue;let i="string"==typeof t.type?t.type:"unknown";if("text"===i){let e="string"==typeof t.text?t.text:"string"==typeof t.content?t.content:"";e&&(m.push({type:"text",text:e}),p+=(p?"\n":"")+e);continue}if("tool"===i){let i="string"==typeof t.tool?t.tool:"string"==typeof t.name?t.name:"tool",r=a(t.state)?t.state:null,o=r&&a(r.input)?r.input:a(t.input)?t.input:a(t.args)?t.args:{},l={type:"tool_use",id:e.id,name:i,input:o},c=r&&"string"==typeof r.status?r.status:"";if(r&&("completed"===c||"error"===c)){let t=("error"===c&&"string"==typeof r.error?r.error:null)??r.output,i="string"==typeof t?t:null!=t?JSON.stringify(t):"",o=a(r.time)?r.time:{},u="number"==typeof o.start?o.start:e.time_created,d="number"==typeof o.end?o.end:e.time_updated,f=Math.max(0,d-u),m=new Date(d);l.result={timestamp:m.toISOString(),timestampFormatted:(0,s.formatTimestamp)(m),content:i,durationMs:f,durationFormatted:(0,n.formatDuration)(f)}}m.push(l);continue}m.push({type:"text",text:`[opencode ${i}]`})}if("user"===l)return{...f,type:"user",message:{role:"user",content:p}};if("assistant"===l){let e=a(r.model)?r.model:null,t=e&&"string"==typeof e.modelID?e.modelID:void 0;return{...f,type:"assistant",message:{role:"assistant",content:m,model:t}}}return{...f,type:"system",raw:{id:e.id,role:l,parts:m}}}(e,t,"session"));let i=o(e.data);f.push({id:e.id,session_id:e.session_id,time_created:e.time_created,data:i??e.data})}return{entries:d,rawLines:f,cwd:i.directory??void 0,filePath:`opencode://${e}`}}async function c(e){if(!e||!/^[A-Za-z0-9_-]+$/.test(e))return null;let t=r(`SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session WHERE id = '${e}'`);if(!t||0===t.length)return null;let i=r(`SELECT id, session_id, time_created, time_updated, data FROM message WHERE session_id = '${e}' ORDER BY time_created ASC`),s=r(`SELECT id, message_id, session_id, time_created, time_updated, data FROM part WHERE session_id = '${e}' ORDER BY time_created ASC`);return null===i||null===s?null:{session:t[0],messages:i.map(e=>({...e,data:o(e.data)??e.data})),parts:s.map(e=>({...e,data:o(e.data)??e.data}))}}(0,i.runtimeCache)(e=>l(e),30,{maxSize:50}),e.s(["getOpenCodeSessionExport",0,c,"getOpenCodeSessionLog",0,l])},46413,e=>{"use strict";var t=e.i(12714),i=e.i(60526),s=e.i(50227),n=e.i(81580),r=e.i(83534),a=e.i(71809),o=e.i(28557),l=e.i(40911);let c=["agent-sessions","conversations","sessions"],u=["meta.json","session.json","workspace.json","workspace.yaml"],d=["events.jsonl","transcript.jsonl","messages.jsonl"];async function f(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function m(e){try{return(await (0,t.stat)(e)).mtime}catch{return null}}async function p(e,i){for(let n of i){let i,r=(0,s.join)(e,n);if(await m(r)===null)continue;try{i=await (0,t.readFile)(r,"utf-8")}catch{continue}let a=function(e){try{let t=JSON.parse(e);if("string"==typeof t.cwd&&t.cwd.length>0)return t.cwd}catch{}let t=e.match(/^\s*cwd\s*:\s*(.+?)\s*$/m);if(t){let e=t[1].replace(/^['"]|['"]$/g,"");if(e.length>0)return e}}(i);if(a)return{path:r,cwd:a}}return null}async function y(e,t){for(let i of t){let t=(0,s.join)(e,i);if(await m(t)!==null)return t}return null}async function h(){let e=process.env.CURSOR_HOME||(0,s.join)((0,i.homedir)(),".cursor"),t=[],r=[],o=(0,s.join)(e,"projects"),l=await f(o);if(l)for(let e of l){if(!e.isDirectory())continue;let i=(0,n.decodeFolderName)(e.name),r=i.startsWith("/")||/^[A-Za-z]:\//.test(i)?i:`/${i}`,a=(0,s.join)(o,e.name,"agent-transcripts"),l=await f(a);if(l)for(let e of l)e.isDirectory()&&t.push({sessionId:e.name,dir:(0,s.join)(a,e.name),cwd:r})}for(let t of c){let i=(0,s.join)(e,t),n=await f(i);if(n)for(let e of n)e.isDirectory()&&r.push({sessionId:e.name,dir:(0,s.join)(i,e.name)})}return 0===t.length&&0===r.length?[]:(await (0,a.batchAll)([...t.map(e=>async()=>{let t=(0,s.join)(e.dir,`${e.sessionId}.jsonl`),i=await m(t);return i?{metaPath:e.dir,transcriptPath:t,sessionId:e.sessionId,cwd:e.cwd,fileMtime:i,hasTranscript:!0}:null}),...r.map(e=>async()=>{let t=await p(e.dir,u);if(!t)return null;let i=await y(e.dir,d),s=i?await m(i):null,n=await m(t.path),r=s&&n?new Date(Math.max(s.getTime(),n.getTime())):s??n??new Date(0);return{metaPath:t.path,transcriptPath:i,sessionId:e.sessionId,cwd:t.cwd,fileMtime:r,hasTranscript:null!==i}})],16)).filter(e=>"fulfilled"===e.status).map(e=>e.value).filter(e=>null!==e)}let g=(0,r.runtimeCache)(h,30);async function w(){let e;try{e=await g()}catch(e){return(0,l.logWarn)("Failed to scan Cursor sessions:",e),[]}let t=new Map;for(let i of e){if(!i.hasTranscript)continue;let e=t.get(i.cwd);(!e||i.fileMtime.getTime()>e.latest.getTime())&&t.set(i.cwd,{latest:i.fileMtime,cwd:i.cwd})}let i=[];for(let{cwd:e,latest:s}of t.values())i.push({name:(0,n.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:s,lastModifiedFormatted:(0,o.formatDate)(s),cli:["cursor"]});return i.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),i}function S(e){let t=e.filter(e=>e.hasTranscript&&e.transcriptPath).map(e=>({name:e.sessionId,path:e.transcriptPath,lastModified:e.fileMtime,lastModifiedFormatted:(0,o.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"cursor"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function _(e){let t;try{t=await g()}catch(e){return(0,l.logWarn)("Failed to scan Cursor sessions:",e),[]}return S(t.filter(t=>t.cwd===e))}async function x(e){let t;try{t=await g()}catch(e){return(0,l.logWarn)("Failed to scan Cursor sessions:",e),{cwd:null,sessions:[]}}let i=t.filter(t=>t.hasTranscript&&(0,n.encodeFolderName)(t.cwd)===e);return{cwd:i[0]?.cwd??null,sessions:S(i)}}let v=(0,r.runtimeCache)(w,30),M=(0,r.runtimeCache)(e=>_(e),30,{maxSize:50}),C=(0,r.runtimeCache)(e=>x(e),30,{maxSize:50});e.s(["getCachedCursorProjects",0,v,"getCachedCursorSessionsByEncodedName",0,C,"getCachedCursorSessionsForCwd",0,M,"getCursorProjects",0,w,"getCursorSessionsByEncodedName",0,x,"getCursorSessionsForCwd",0,_])},88153,e=>{"use strict";var t=e.i(2157),i=e.i(12714),s=e.i(50227),n=e.i(60526),r=e.i(83534),a=e.i(54214);let o=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,l=/^session-(.+)-([0-9a-f]{8})\.jsonl$/i;function c(e){let i;if(!o.test(e))return null;let r=(0,s.resolve)(process.env.GEMINI_SESSIONS_DIR||(0,s.join)((0,n.homedir)(),".gemini","tmp")),a=e.slice(0,8).toLowerCase();try{i=(0,t.readdirSync)(r)}catch{return null}for(let n of i){let i,o=(0,s.resolve)(r,n);if(!o.startsWith(`${r}${s.sep}`))continue;let c=(0,s.resolve)(o,"chats");try{i=(0,t.readdirSync)(c)}catch{continue}for(let n of i){let i=l.exec(n);if(!i||i[2].toLowerCase()!==a)continue;let r=(0,s.resolve)(c,n);if(!r.startsWith(`${c}${s.sep}`)||!(0,t.existsSync)(r))continue;let o=function(e){let i;try{i=(0,t.openSync)(e,"r")}catch{return null}try{let e=Buffer.alloc(4096),s=(0,t.readSync)(i,e,0,e.length,0);if(0===s)return null;let n=e.subarray(0,s).toString("utf-8"),r=n.indexOf("\n");return r>=0?n.slice(0,r):n}catch{return null}finally{try{(0,t.closeSync)(i)}catch{}}}(r);if(o)try{let t=JSON.parse(o);if("string"==typeof t.sessionId&&t.sessionId.toLowerCase()===e.toLowerCase())return r}catch{continue}}}return null}async function u(e,t="session",i){let s=e.split("\n").filter(e=>""!==e.trim()),n=[],r=[],o=!1;for(let e=0;e<s.length;e++){let i;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let l=s[e];try{i=JSON.parse(l)}catch{continue}let c={...i,_source:t};if(r.push(c),"string"==typeof i.sessionId&&"string"==typeof i.startTime){let e=new Date(i.startTime);if(!Number.isNaN(e.getTime())){let i=o?"Session Resumed":"Session Started";o=!0,n.push({type:"queue-operation",...(0,a.baseEntry)(c,e.toISOString(),e,t),label:i})}continue}if(i.$set)continue;let u=i.timestamp;if(!u)continue;let d=new Date(u);if(Number.isNaN(d.getTime()))continue;let f=d.toISOString(),m=i.type;if("user"===m){let e=function(e){if(!Array.isArray(e))return"";let t=[];for(let i of e)"string"==typeof i?.text&&t.push(i.text);return t.join("\n\n")}(i.content);if(!e)continue;n.push({type:"user",...(0,a.baseEntry)(c,f,d,t),message:{role:"user",content:e}});continue}if("assistant"===m||"model"===m){let e=function(e){if(!Array.isArray(e))return[];let t=[];for(let i of e)"string"==typeof i?.text&&i.text.length>0&&t.push({type:"text",text:i.text});return t}(i.content);if(0===e.length){n.push({type:"system",...(0,a.baseEntry)(c,f,d,t),raw:c});continue}n.push({type:"assistant",...(0,a.baseEntry)(c,f,d,t),message:{role:"assistant",content:e}});continue}n.push({type:"system",...(0,a.baseEntry)(c,f,d,t),raw:c})}return n.length>500&&await new Promise(e=>setImmediate(e)),n.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:n,rawLines:r,cwd:i}}async function d(e){let n,r,a=c(e);if(!a)return null;try{n=await (0,i.readFile)(a,"utf-8")}catch{return null}let o=function(e){let i=(0,s.resolve)(e,".."),n=(0,s.resolve)(i,".."),r=(0,s.join)(n,".project_root");try{let e=(0,t.readFileSync)(r,"utf-8").trim();return e.length>0?e:void 0}catch{return}}(a);try{r=await u(n,"session",o)}catch{return null}return{entries:r.entries,rawLines:r.rawLines,cwd:r.cwd,filePath:a}}(0,r.runtimeCache)(e=>d(e),60,{maxSize:50}),e.s(["findGeminiTranscript",0,c,"getGeminiSessionLog",0,d])},57232,e=>{"use strict";var t=e.i(2157),i=e.i(12714),s=e.i(50227),n=e.i(60526),r=e.i(83534),a=e.i(54214),o=e.i(67405);let l=(0,s.join)((0,n.homedir)(),".failproofai","cache","codex-session-paths.json");function c(){try{if(!(0,t.existsSync)(l))return{};return JSON.parse((0,t.readFileSync)(l,"utf-8"))}catch{return{}}}function u(e,i){try{(0,t.mkdirSync)((0,s.dirname)(l),{recursive:!0});let n=c();n[e]=i,(0,t.writeFileSync)(l,JSON.stringify(n),"utf-8")}catch{}}function d(e,i){try{for(let n of(0,t.readdirSync)(e,{withFileTypes:!0}))if(n.isFile()&&n.name.includes(i)&&n.name.endsWith(".jsonl"))return(0,s.join)(e,n.name)}catch{}return null}function f(e){let i=c()[e];if(i&&(0,t.existsSync)(i))return i;let r=(0,s.join)((0,n.homedir)(),".codex","sessions"),a=new Date,o=new Date(a.getTime()-864e5);for(let t of[a,o].map(e=>{let t=String(e.getUTCFullYear()),i=String(e.getUTCMonth()+1).padStart(2,"0"),n=String(e.getUTCDate()).padStart(2,"0");return(0,s.join)(r,t,i,n)})){let i=d(t,e);if(i)return u(e,i),i}try{for(let i of(0,t.readdirSync)(r,{withFileTypes:!0}))if(i.isDirectory()){for(let n of(0,t.readdirSync)((0,s.join)(r,i.name),{withFileTypes:!0}))if(n.isDirectory())for(let a of(0,t.readdirSync)((0,s.join)(r,i.name,n.name),{withFileTypes:!0})){if(!a.isDirectory())continue;let t=d((0,s.join)(r,i.name,n.name,a.name),e);if(t)return u(e,t),t}}}catch{}return null}function m(e,t){return Array.isArray(e)?e.filter(e=>e?.type===t&&"string"==typeof e.text).map(e=>e.text).join("\n"):""}async function p(e,t="session"){let i,s=e.split("\n").filter(e=>""!==e.trim()),n=[],r=[],l=new Map,c=new Map,u=!1;for(let e=0;e<s.length;e++){let d;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let f=s[e];try{d=JSON.parse(f)}catch{continue}let p={...d,_source:t};r.push(p);let y=d.timestamp;if(!y)continue;let h=new Date(y);if(Number.isNaN(h.getTime()))continue;let g=d.type,w=d.payload??{};if("session_meta"===g){let e=w.cwd;"string"!=typeof e||i||(i=e),n.push({type:"system",...(0,a.baseEntry)(p,y,h,t),raw:p});continue}if("response_item"===g){let e=w.type;if("message"===e){let e=w.role,i=w.content;if("user"===e||"developer"===e){let s=m(i,"input_text");if(!s)continue;let r="developer"===e?`[developer] ${s}`:s;n.push({type:"user",...(0,a.baseEntry)(p,y,h,t),message:{role:"user",content:r}});continue}if("assistant"===e){let e=m(i,"output_text");if(!e)continue;let s=[{type:"text",text:e}];n.push({type:"assistant",...(0,a.baseEntry)(p,y,h,t),message:{role:"assistant",content:s}});continue}n.push({type:"system",...(0,a.baseEntry)(p,y,h,t),raw:p});continue}if("function_call"===e){let e=w.call_id,i=w.name??"function_call",s={type:"tool_use",id:e??`${y}-${i}`,name:i,input:function(e){if(!e)return{};try{return JSON.parse(e)}catch{return{}}}(w.arguments)},r={type:"assistant",...(0,a.baseEntry)(p,y,h,t),message:{role:"assistant",content:[s]}};n.push(r),e&&(l.set(e,s),c.set(e,h.getTime()));continue}if("function_call_output"===e){let e=w.call_id,i=e?l.get(e):void 0;if(i){let t=c.get(e)??h.getTime(),s=Math.max(0,h.getTime()-t);i.result={timestamp:y,timestampFormatted:(0,a.formatTimestamp)(h),content:"string"==typeof w.output?w.output:JSON.stringify(w.output),durationMs:s,durationFormatted:(0,o.formatDuration)(s)};continue}n.push({type:"system",...(0,a.baseEntry)(p,y,h,t),raw:p});continue}n.push({type:"system",...(0,a.baseEntry)(p,y,h,t),raw:p});continue}if("event_msg"===g){let e=w.type;if("task_started"===e){let e=u?"Session Resumed":"Session Started";u=!0,n.push({type:"queue-operation",...(0,a.baseEntry)(p,y,h,t),label:e});continue}if("exec_command_end"===e){let e=w.call_id,i=e?l.get(e):void 0;if(i){let t=w.duration,s=t?(t.secs??0)*1e3+Math.round((t.nanos??0)/1e6):Math.max(0,h.getTime()-(c.get(e)??h.getTime())),n=w.aggregated_output;i.result={timestamp:y,timestampFormatted:(0,a.formatTimestamp)(h),content:"string"==typeof n?n:JSON.stringify(n),durationMs:s,durationFormatted:(0,o.formatDuration)(s)};continue}n.push({type:"system",...(0,a.baseEntry)(p,y,h,t),raw:p});continue}if("user_message"===e||"agent_message"===e)continue;n.push({type:"system",...(0,a.baseEntry)(p,y,h,t),raw:p});continue}n.push({type:"system",...(0,a.baseEntry)(p,y,h,t),raw:p})}return n.length>500&&await new Promise(e=>setImmediate(e)),n.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:n,rawLines:r,cwd:i}}async function y(e){let t=f(e);if(!t)return null;let s=await (0,i.readFile)(t,"utf-8"),{entries:n,rawLines:r,cwd:a}=await p(s,"session");return{entries:n,rawLines:r,cwd:a,filePath:t}}(0,r.runtimeCache)(e=>y(e),60,{maxSize:50}),e.s(["findCodexTranscript",0,f,"getCodexSessionLog",0,y])},90172,e=>{"use strict";var t=e.i(12714),i=e.i(60526),s=e.i(50227),n=e.i(83534),r=e.i(71809),a=e.i(28557),o=e.i(81580),l=e.i(40911);let c=/^session-(\d{4}-\d{2}-\d{2}T\d{2}-\d{2})-([0-9a-f]{8})\.jsonl$/i,u=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function d(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function f(e){try{return(await (0,t.stat)(e)).mtime}catch{return null}}async function m(e){let i=null;try{i=await (0,t.open)(e,"r");let s=Buffer.alloc(4096),{bytesRead:n}=await i.read(s,0,4096,0);if(0===n)return null;let r=s.subarray(0,n),a=r.indexOf(10),o=-1===a?n:a;return r.subarray(0,o).toString("utf-8")}catch{return null}finally{i&&await i.close().catch(()=>{})}}async function p(e){try{let i=(await (0,t.readFile)((0,s.join)(e,".project_root"),"utf-8")).trim();return i.length>0?i:null}catch{return null}}async function y(){let e=process.env.GEMINI_SESSIONS_DIR||(0,s.join)((0,i.homedir)(),".gemini","tmp"),t=await d(e);if(!t)return[];let n=[];return await (0,r.batchAll)(t.filter(e=>e.isDirectory()).map(t=>async()=>{let i=(0,s.join)(e,t.name),r=await p(i);if(!r)return;let a=(0,s.join)(i,"chats"),o=await d(a);if(o)for(let e of o){if(!e.isFile()||!c.test(e.name))continue;let t=(0,s.join)(a,e.name),i=await f(t);if(!i)continue;let o=function(e){if(e)try{let t=JSON.parse(e);if("string"!=typeof t.sessionId)return;return u.test(t.sessionId)?t.sessionId:void 0}catch{return}}(await m(t));n.push({filePath:t,sessionFilename:e.name,cwd:r,fileMtime:i,sessionId:o})}}),16),n}async function h(){let e=await y(),t=new Map;for(let i of e){let e=t.get(i.cwd);(!e||i.fileMtime.getTime()>e.mtime.getTime())&&t.set(i.cwd,{mtime:i.fileMtime})}let i=[...t.entries()].map(([e,{mtime:t}])=>({name:(0,o.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:t,lastModifiedFormatted:(0,a.formatDate)(t),cli:["gemini"]}));return i.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),i}async function g(e){let t=(await y()).filter(t=>t.cwd===e).map(e=>({name:e.sessionFilename,path:e.filePath,lastModified:e.fileMtime,lastModifiedFormatted:(0,a.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"gemini"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function w(e){let t;try{t=await y()}catch(e){return(0,l.logWarn)("Failed to scan Gemini sessions:",e),{cwd:null,sessions:[]}}let i=t.filter(t=>(0,o.encodeFolderName)(t.cwd)===e),s=Array.from(new Set(i.map(e=>e.cwd)));if(1!==s.length)return{cwd:null,sessions:[]};let n=i.map(e=>({name:e.sessionFilename,path:e.filePath,lastModified:e.fileMtime,lastModifiedFormatted:(0,a.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"gemini"}));return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),{cwd:s[0],sessions:n}}let S=(0,n.runtimeCache)(h,30),_=(0,n.runtimeCache)(e=>w(e),30,{maxSize:50});e.s(["getCachedGeminiProjects",0,S,"getCachedGeminiSessionsByEncodedName",0,_,"getGeminiProjects",0,h,"getGeminiSessionsByEncodedName",0,w,"getGeminiSessionsForCwd",0,g])},72094,e=>{"use strict";var t=e.i(2157),i=e.i(12714),s=e.i(50227),n=e.i(60526),r=e.i(83534),a=e.i(54214),o=e.i(67405);let l=["agent-sessions","conversations","sessions"],c=["events.jsonl","transcript.jsonl","messages.jsonl"],u="agent-transcripts";function d(e){let i=function(e){if(!e)return null;let i=(0,s.resolve)(process.env.CURSOR_HOME||(0,s.join)((0,n.homedir)(),".cursor")),r=(0,s.resolve)(i,"projects"),a=[];try{a=(0,t.readdirSync)(r,{withFileTypes:!0})}catch{}for(let i of a){if(!i.isDirectory())continue;let n=(0,s.resolve)(r,i.name,u,e),a=(0,s.resolve)(r,i.name,u);if(n!==a&&n.startsWith(`${a}${s.sep}`)&&(0,t.existsSync)(n))return n}for(let n of l){let r=(0,s.resolve)(i,n),a=(0,s.resolve)(r,e);if(a!==r&&a.startsWith(`${r}${s.sep}`)&&(0,t.existsSync)(a))return a}return null}(e);if(!i)return null;let r=(0,s.join)(i,`${(0,s.basename)(i)}.jsonl`);if((0,t.existsSync)(r))return r;for(let e of c){let n=(0,s.join)(i,e);if((0,t.existsSync)(n))return n}return null}async function f(e,t="session"){let i,s=e.split("\n").filter(e=>""!==e.trim()),n=[],r=[],l=new Map,c=new Map,u=!1,d=Date.now();for(let e=0;e<s.length;e++){let f;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let m=s[e];try{f=JSON.parse(m)}catch{continue}let p={...f,_source:t};if(r.push(p),!f.type&&f.role&&f.message?.content){let i=new Date(d+e),s=i.toISOString(),r=f.message.content.filter(e=>e?.type==="text"&&"string"==typeof e.text).map(e=>e.text).join("");if("user"===f.role){let e=/<user_query>\s*([\s\S]*?)\s*<\/user_query>/.exec(r),o=e?e[1]:r;o&&n.push({type:"user",...(0,a.baseEntry)(p,s,i,t),message:{role:"user",content:o}});continue}if("assistant"===f.role){let e=r?[{type:"text",text:r}]:[];0===e.length?n.push({type:"system",...(0,a.baseEntry)(p,s,i,t),raw:p}):n.push({type:"assistant",...(0,a.baseEntry)(p,s,i,t),message:{role:"assistant",content:e}});continue}n.push({type:"system",...(0,a.baseEntry)(p,s,i,t),raw:p});continue}let y=f.timestamp;if(!y)continue;let h=new Date(y);if(Number.isNaN(h.getTime()))continue;let g=h.toISOString(),w=f.type,S=f.data??{};if("session.start"===w||"sessionStart"===w||"session_start"===w){let e=S.context??S,s=e.cwd;"string"!=typeof s||i||(i=s),!i&&Array.isArray(e.workspace_roots)&&"string"==typeof e.workspace_roots[0]&&(i=e.workspace_roots[0]);let r=u?"Session Resumed":"Session Started";u=!0,n.push({type:"queue-operation",...(0,a.baseEntry)(p,g,h,t),label:r});continue}if("user.message"===w||"userMessage"===w){let e="string"==typeof S.content?S.content:"string"==typeof S.text?S.text:"";if(!e)continue;n.push({type:"user",...(0,a.baseEntry)(p,g,h,t),message:{role:"user",content:e}});continue}if("system.message"===w||"systemMessage"===w){n.push({type:"system",...(0,a.baseEntry)(p,g,h,t),raw:p});continue}if("assistant.message"===w||"assistantMessage"===w){let e="string"==typeof S.content?S.content:"string"==typeof S.text?S.text:"";if(!e){n.push({type:"system",...(0,a.baseEntry)(p,g,h,t),raw:p});continue}let i=[{type:"text",text:e}];n.push({type:"assistant",...(0,a.baseEntry)(p,g,h,t),message:{role:"assistant",content:i}});continue}if("tool.execution_start"===w||"tool.executionStart"===w||"preToolUse"===w){let e=S.toolCallId??S.tool_use_id,i=S.toolName??S.tool_name??"tool",s=S.arguments??S.tool_input??{},r={type:"tool_use",id:e??`${h.getTime()}-${i}`,name:i,input:s},o={type:"assistant",...(0,a.baseEntry)(p,g,h,t),message:{role:"assistant",content:[r]}};n.push(o),e&&(l.set(e,r),c.set(e,h.getTime()));continue}if("tool.execution_complete"===w||"tool.executionComplete"===w||"postToolUse"===w){let e=S.toolCallId??S.tool_use_id,i=e?l.get(e):void 0;if(i){let t=c.get(e)??h.getTime(),s=S.result??{},n=S.duration,r="number"==typeof n&&n>=0?n:Math.max(0,h.getTime()-t),l=s.detailedContent??s.content??S.tool_output??"";i.result={timestamp:g,timestampFormatted:(0,a.formatTimestamp)(h),content:"string"==typeof l?l:JSON.stringify(l),durationMs:r,durationFormatted:(0,o.formatDuration)(r)};continue}n.push({type:"system",...(0,a.baseEntry)(p,g,h,t),raw:p});continue}n.push({type:"system",...(0,a.baseEntry)(p,g,h,t),raw:p})}return n.length>500&&await new Promise(e=>setImmediate(e)),n.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:n,rawLines:r,cwd:i}}async function m(e){let t,s=d(e);if(!s)return null;try{t=await (0,i.readFile)(s,"utf-8")}catch{return null}let{entries:n,rawLines:r,cwd:a}=await f(t,"session");return{entries:n,rawLines:r,cwd:a,filePath:s}}(0,r.runtimeCache)(e=>m(e),60,{maxSize:50}),e.s(["findCursorTranscript",0,d,"getCursorSessionLog",0,m])},37352,e=>{e.v(e=>Promise.resolve().then(()=>e(36203)))},5807,e=>{e.v(e=>Promise.resolve().then(()=>e(55851)))},97452,e=>{e.v(e=>Promise.resolve().then(()=>e(46413)))},82978,e=>{e.v(e=>Promise.resolve().then(()=>e(35435)))},45093,e=>{e.v(e=>Promise.resolve().then(()=>e(19791)))},61489,e=>{e.v(e=>Promise.resolve().then(()=>e(90172)))},67347,e=>{e.v(e=>Promise.resolve().then(()=>e(64828)))},78081,e=>{e.v(t=>Promise.all(["server/chunks/[externals]__1_g_b3t._.js","server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js"].map(t=>e.l(t))).then(()=>t(39702)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0ekj92q._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[60526,(e,t,s)=>{t.exports=e.x("node:os",()=>require("node:os"))},2157,(e,t,s)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},66680,(e,t,s)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},54214,67405,e=>{"use strict";var t=e.i(24868),s=e.i(14747),i=e.i(81580),n=e.i(56936);async function a(e,i,n,a){let r=`agent-${a}.jsonl`;for(let a of[(0,s.join)(e,i,r),(0,s.join)(e,i,n,r),(0,s.join)(e,i,n,"subagents",r)])if(!(0,s.relative)(e,a).startsWith(".."))try{return await (0,t.access)(a),a}catch(e){if("ENOENT"===e.code)continue;break}return null}var r=e.i(83534),o=e.i(71809),u=e.i(28557);function l(e){if(e<1e3)return`${e}ms`;let t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;let s=Math.floor(t/60);if(s>=60){let e=Math.floor(s/60);return`${e}h ${s%60}m`}let i=(t%60).toFixed(0);return`${s}m ${i}s`}function m(e){let t=(0,u.formatDate)(e),s=e.getMilliseconds().toString().padStart(3,"0");return`${t}.${s}`}function c(e,t,s,i){return{_source:i,uuid:e.uuid||"",parentUuid:e.parentUuid??null,timestamp:t,timestampMs:s.getTime(),timestampFormatted:m(s)}}async function d(e,t){let s=e.split("\n").filter(e=>""!==e.trim()),i=new Map,n=[],a=[],r=new Set,o=!1;for(let e=0;e<s.length;e++){let u;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let l=s[e];try{u=JSON.parse(l)}catch{continue}let m={...u,_source:t};a.push(m);let d=u.type,p=u.timestamp;if(!p)continue;let f=new Date(p),h=f.getTime();if("user"===d){let e=u.message;if(Array.isArray(e?.content)){let t=e.content;if(t.some(e=>"tool_result"===e.type)){let e=u.toolUseResult,s="string"==typeof e?.agentId?e.agentId:void 0;for(let e of(s&&/^[a-f0-9]+$/.test(s)&&r.add(s),t)){if("tool_result"!==e.type)continue;let t=e.tool_use_id;if(!t)continue;let{text:n,images:a}=function(e){let t=e.content;if("string"==typeof t)return{text:t};if(Array.isArray(t)){let e=t.filter(e=>"text"===e.type).map(e=>e.text),s=t.filter(e=>"image"===e.type).map(e=>{let t=e.source;return{base64:t.data,mediaType:t.media_type}}).filter(e=>e.base64&&e.mediaType);return{text:e.length>0?e.join("\n"):void 0,images:s.length>0?s:void 0}}return{}}(e);i.set(t,{timestamp:p,timestampMs:h,content:n,images:a,agentId:s})}continue}}let s="string"==typeof e?.content?e.content:"";n.push({type:"user",...c(u,p,f,t),message:{role:"user",content:s}});continue}if("assistant"===d){let e=u.message,s=[];if(Array.isArray(e?.content)&&(s=e.content.filter(e=>["text","tool_use","thinking"].includes(e.type)).map(e=>{if("text"===e.type)return{type:"text",text:e.text};if("tool_use"===e.type){let t=e.input;return{type:"tool_use",id:e.id,name:e.name,input:e.input??{},..."Task"===e.name&&t?{subagentType:t.subagent_type,subagentDescription:t.description}:{}}}return{type:"thinking",thinking:e.thinking,signature:e.signature}})),0===s.length)continue;n.push({type:"assistant",...c(u,p,f,t),message:{role:"assistant",content:s,model:e?.model}});continue}if("file-history-snapshot"===d||"progress"===d||"system"===d){n.push({type:d,...c(u,p,f,t),raw:{...u}});continue}if("queue-operation"===d){let e=o?"Session Resumed":"Session Started";o=!0,n.push({type:"queue-operation",...c(u,p,f,t),label:e});continue}}let u=0;for(let e of n)if("assistant"===e.type)for(let t of(++u%200==0&&await new Promise(e=>setImmediate(e)),e.message.content)){if("tool_use"!==t.type)continue;let s=i.get(t.id);if(!s)continue;let n=new Date(s.timestamp),a=Math.max(0,s.timestampMs-e.timestampMs);t.result={timestamp:s.timestamp,timestampFormatted:m(n),content:s.content,images:s.images,durationMs:a,durationFormatted:l(a)},s.agentId&&(t.subagentId=s.agentId)}return n.length>500&&await new Promise(e=>setImmediate(e)),n.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:n,rawLines:a,subagentIds:Array.from(r)}}async function p(e,t="session"){return(await d(e,t)).entries}async function f(e,r){let u=(0,n.resolveProjectPath)(e),l=(0,i.getClaudeProjectsPath)(),m=(0,s.join)(u,`${r}.jsonl`),c=await (0,t.readFile)(m,"utf-8"),{entries:p,rawLines:f,subagentIds:h}=await d(c,"session");if(0===h.length)return{entries:p,rawLines:f,subagentIds:[]};let g=await (0,o.batchAll)(h.map(s=>async()=>{let i=`agent-${s}`,n=await a(l,e,r,s);if(!n)return null;let o=await (0,t.readFile)(n,"utf-8"),{entries:u,rawLines:m}=await d(o,i);return{entries:u,rawLines:m}}),4),y=[...p],w=[...f];for(let e of g)"fulfilled"===e.status&&e.value&&(y.push(...e.value.entries),w.push(...e.value.rawLines));return y.length>500&&await new Promise(e=>setImmediate(e)),y.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:y,rawLines:w,subagentIds:h}}e.s(["formatDuration",0,l],67405),(0,r.runtimeCache)((e,t)=>f(e,t),60,{maxSize:50}),e.s(["baseEntry",0,c,"formatTimestamp",0,m,"parseLogContent",0,p],54214)},64828,e=>{"use strict";var t=e.i(79708),s=e.i(3605),i=e.i(83534),n=e.i(28557);async function a(){let e=await (0,t.openSqliteReadonly)((0,s.hermesDbPath)());if(!e)return[];try{return e.query("SELECT s.id, s.source, s.cwd, s.title, s.user_id, s.chat_id, s.chat_type, s.started_at, s.ended_at, s.message_count, lm.last_activity FROM sessions s LEFT JOIN (SELECT session_id, MAX(timestamp) AS last_activity FROM messages GROUP BY session_id) lm ON lm.session_id = s.id ORDER BY lm.last_activity DESC").map(e=>({sessionId:e.id,source:e.source??void 0,cwd:e.cwd??void 0,title:e.title??void 0,userId:e.user_id??void 0,chatId:e.chat_id??void 0,chatType:e.chat_type??void 0,mtimeMs:(0,s.epochToMs)(e.last_activity??e.ended_at??e.started_at),messageCount:"number"==typeof e.message_count?e.message_count:0,hasMessages:null!=e.last_activity}))}catch{return[]}finally{e.close()}}let r=(0,i.runtimeCache)(a,2);async function o(){let e=await a(),t=new Map;for(let s of e){if(s.messageCount<=0&&!s.hasMessages)continue;let e=s.source??"unknown";t.set(e,Math.max(t.get(e)??0,s.mtimeMs))}let s=[];for(let[e,i]of t){let t=new Date(i);s.push({name:`hermes-${e}`,path:`hermes:${e}`,isDirectory:!0,lastModified:t,lastModifiedFormatted:(0,n.formatDate)(t),cli:["hermes"]})}return s.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),s}async function u(e){if(!e.startsWith("hermes-"))return{cwd:null,sessions:[]};let t=e.slice(7),s=(await a()).filter(e=>(e.messageCount>0||e.hasMessages)&&(e.source??"unknown")===t);return{cwd:`hermes:${t}`,sessions:s.map(e=>{let t=new Date(e.mtimeMs);return{name:e.title??e.sessionId,path:`hermes://${e.sessionId}`,lastModified:t,lastModifiedFormatted:(0,n.formatDate)(t),sessionId:e.sessionId,cli:"hermes",userId:e.userId,channelId:e.chatId,channelType:e.chatType}})}}let l=(0,i.runtimeCache)(o,2),m=(0,i.runtimeCache)(e=>u(e),2,{maxSize:50});e.s(["getCachedHermesProjects",0,l,"getCachedHermesSessions",0,r,"getCachedHermesSessionsByEncodedName",0,m,"getHermesProjects",0,o,"getHermesSessions",0,a,"getHermesSessionsByEncodedName",0,u])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__12v-lma._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[60526,(t,e,n)=>{e.exports=t.x("node:os",()=>require("node:os"))},2157,(t,e,n)=>{e.exports=t.x("node:fs",()=>require("node:fs"))},66680,(t,e,n)=>{e.exports=t.x("node:crypto",()=>require("node:crypto"))},54214,67405,t=>{"use strict";var e=t.i(24868),n=t.i(14747),i=t.i(81580),s=t.i(56936);async function a(t,i,s,a){let r=`agent-${a}.jsonl`;for(let a of[(0,n.join)(t,i,r),(0,n.join)(t,i,s,r),(0,n.join)(t,i,s,"subagents",r)])if(!(0,n.relative)(t,a).startsWith(".."))try{return await (0,e.access)(a),a}catch(t){if("ENOENT"===t.code)continue;break}return null}var r=t.i(83534),o=t.i(71809),u=t.i(28557);function l(t){if(t<1e3)return`${t}ms`;let e=t/1e3;if(e<60)return`${e.toFixed(1)}s`;let n=Math.floor(e/60);if(n>=60){let t=Math.floor(n/60);return`${t}h ${n%60}m`}let i=(e%60).toFixed(0);return`${n}m ${i}s`}function m(t){let e=(0,u.formatDate)(t),n=t.getMilliseconds().toString().padStart(3,"0");return`${e}.${n}`}function p(t,e,n,i){return{_source:i,uuid:t.uuid||"",parentUuid:t.parentUuid??null,timestamp:e,timestampMs:n.getTime(),timestampFormatted:m(n)}}async function f(t,e){let n=t.split("\n").filter(t=>""!==t.trim()),i=new Map,s=[],a=[],r=new Set,o=!1;for(let t=0;t<n.length;t++){let u;t>0&&t%200==0&&await new Promise(t=>setImmediate(t));let l=n[t];try{u=JSON.parse(l)}catch{continue}let m={...u,_source:e};a.push(m);let f=u.type,c=u.timestamp;if(!c)continue;let d=new Date(c),g=d.getTime();if("user"===f){let t=u.message;if(Array.isArray(t?.content)){let e=t.content;if(e.some(t=>"tool_result"===t.type)){let t=u.toolUseResult,n="string"==typeof t?.agentId?t.agentId:void 0;for(let t of(n&&/^[a-f0-9]+$/.test(n)&&r.add(n),e)){if("tool_result"!==t.type)continue;let e=t.tool_use_id;if(!e)continue;let{text:s,images:a}=function(t){let e=t.content;if("string"==typeof e)return{text:e};if(Array.isArray(e)){let t=e.filter(t=>"text"===t.type).map(t=>t.text),n=e.filter(t=>"image"===t.type).map(t=>{let e=t.source;return{base64:e.data,mediaType:e.media_type}}).filter(t=>t.base64&&t.mediaType);return{text:t.length>0?t.join("\n"):void 0,images:n.length>0?n:void 0}}return{}}(t);i.set(e,{timestamp:c,timestampMs:g,content:s,images:a,agentId:n})}continue}}let n="string"==typeof t?.content?t.content:"";s.push({type:"user",...p(u,c,d,e),message:{role:"user",content:n}});continue}if("assistant"===f){let t=u.message,n=[];if(Array.isArray(t?.content)&&(n=t.content.filter(t=>["text","tool_use","thinking"].includes(t.type)).map(t=>{if("text"===t.type)return{type:"text",text:t.text};if("tool_use"===t.type){let e=t.input;return{type:"tool_use",id:t.id,name:t.name,input:t.input??{},..."Task"===t.name&&e?{subagentType:e.subagent_type,subagentDescription:e.description}:{}}}return{type:"thinking",thinking:t.thinking,signature:t.signature}})),0===n.length)continue;s.push({type:"assistant",...p(u,c,d,e),message:{role:"assistant",content:n,model:t?.model}});continue}if("file-history-snapshot"===f||"progress"===f||"system"===f){s.push({type:f,...p(u,c,d,e),raw:{...u}});continue}if("queue-operation"===f){let t=o?"Session Resumed":"Session Started";o=!0,s.push({type:"queue-operation",...p(u,c,d,e),label:t});continue}}let u=0;for(let t of s)if("assistant"===t.type)for(let e of(++u%200==0&&await new Promise(t=>setImmediate(t)),t.message.content)){if("tool_use"!==e.type)continue;let n=i.get(e.id);if(!n)continue;let s=new Date(n.timestamp),a=Math.max(0,n.timestampMs-t.timestampMs);e.result={timestamp:n.timestamp,timestampFormatted:m(s),content:n.content,images:n.images,durationMs:a,durationFormatted:l(a)},n.agentId&&(e.subagentId=n.agentId)}return s.length>500&&await new Promise(t=>setImmediate(t)),s.sort((t,e)=>t.timestampMs-e.timestampMs),{entries:s,rawLines:a,subagentIds:Array.from(r)}}async function c(t,e="session"){return(await f(t,e)).entries}async function d(t,r){let u=(0,s.resolveProjectPath)(t),l=(0,i.getClaudeProjectsPath)(),m=(0,n.join)(u,`${r}.jsonl`),p=await (0,e.readFile)(m,"utf-8"),{entries:c,rawLines:d,subagentIds:g}=await f(p,"session");if(0===g.length)return{entries:c,rawLines:d,subagentIds:[]};let y=await (0,o.batchAll)(g.map(n=>async()=>{let i=`agent-${n}`,s=await a(l,t,r,n);if(!s)return null;let o=await (0,e.readFile)(s,"utf-8"),{entries:u,rawLines:m}=await f(o,i);return{entries:u,rawLines:m}}),4),h=[...c],w=[...d];for(let t of y)"fulfilled"===t.status&&t.value&&(h.push(...t.value.entries),w.push(...t.value.rawLines));return h.length>500&&await new Promise(t=>setImmediate(t)),h.sort((t,e)=>t.timestampMs-e.timestampMs),{entries:h,rawLines:w,subagentIds:g}}t.s(["formatDuration",0,l],67405),(0,r.runtimeCache)((t,e)=>d(t,e),60,{maxSize:50}),t.s(["baseEntry",0,p,"formatTimestamp",0,m,"parseLogContent",0,c],54214)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__136y39g._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},81580,e=>{"use strict";var t=e.i(46786),r=e.i(14747);e.s(["decodeFolderName",0,function(e){return/^[A-Za-z]--/.test(e)?e[0]+":/"+e.slice(3).replace(/-/g,"/"):e.replace(/-/g,"/")},"encodeFolderName",0,function(e){let t=/^([A-Za-z]):[\\/](.*)$/.exec(e);return t?t[1]+"--"+t[2].replace(/[\\/]/g,"-"):e.replace(/[\\/]/g,"-")},"getClaudeProjectsPath",0,function(){let e=process.env.CLAUDE_PROJECTS_PATH;return e||(0,r.join)((0,t.homedir)(),".claude","projects")}])},83534,e=>{"use strict";e.s(["runtimeCache",0,function(e,t,r){let i=new Map,n=new Map,a=r?.maxSize;return async(...r)=>{let o=JSON.stringify(r),s=i.get(o);if(s&&Date.now()<s.expiry)return s.data;let l=n.get(o);if(l)return l;let u=e(...r).then(e=>{if(n.delete(o),a&&i.size>=a){let e=i.keys().next().value;i.delete(e)}return i.set(o,{data:e,expiry:Date.now()+1e3*t}),e},e=>{throw n.delete(o),e});return n.set(o,u),u}}])},40911,e=>{"use strict";let t={info:0,warn:1,error:2};function r(e){return t[e]>=t.warn}function i(e){return`[failproofai${new Date().toISOString()}] ${e}`}e.s(["logActivity",0,function(e,t,n){if(!r("info"))return;let a=[`user=${e}`,`action=${t}`];n&&a.push(n),console.log(i("ACTIVITY"),a.join(" "))},"logError",0,function(e,t){void 0!==t?console.error(i("ERROR"),e,t):console.error(i("ERROR"),e)},"logWarn",0,function(e,t){r("warn")&&(void 0!==t?console.warn(i("WARN"),e,t):console.warn(i("WARN"),e))}])},28557,e=>{"use strict";e.s(["formatDate",0,function(e){return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0}).format(e)}])},71809,e=>{"use strict";async function t(e,t){let r=Array(e.length),i=0;async function n(){for(;i<e.length;){let t=i++;try{r[t]={status:"fulfilled",value:await e[t]()}}catch(e){r[t]={status:"rejected",reason:e}}}}let a=Array.from({length:Math.min(t,e.length)},()=>n());return await Promise.all(a),r}e.s(["batchAll",0,t])},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},56936,e=>{"use strict";var t=e.i(12714),r=e.i(50227),i=e.i(81580),n=e.i(83534),a=e.i(71809),o=e.i(40911),s=e.i(28557);let l=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;async function u(e,r){try{return(await (0,t.stat)(e)).mtime}catch(e){return(0,o.logWarn)(`Failed to stat ${r}:`,e),new Date(0)}}async function c(e){try{if(!(await (0,t.stat)(e)).isDirectory())return null;return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function f(){try{let e=(0,i.getClaudeProjectsPath)(),t=await c(e);if(!t)return[];let n=(await (0,a.batchAll)(t.filter(e=>e.isDirectory()).map(t=>async()=>{let i=(0,r.join)(e,t.name),n=await u(i,t.name);return{name:t.name,path:i,isDirectory:!0,lastModified:n,lastModifiedFormatted:(0,s.formatDate)(n),cli:["claude"]}}),16)).filter(e=>"fulfilled"===e.status).map(e=>e.value);return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}catch(e){return(0,o.logError)("Error reading Claude project folders:",e),[]}}async function m(){let[{getCodexProjects:t},{getCopilotProjects:r},{getCursorProjects:i},{getOpenCodeProjects:n},{getPiProjects:a},{getGeminiProjects:s},{getHermesProjects:l}]=await Promise.all([e.A(37352),e.A(5807),e.A(97452),e.A(82978),e.A(45093),e.A(61489),e.A(67347)]),[u,c,m,d,p,g,h,y]=await Promise.all([f(),t().catch(e=>((0,o.logError)("Error reading Codex projects:",e),[])),r().catch(e=>((0,o.logError)("Error reading Copilot projects:",e),[])),i().catch(e=>((0,o.logError)("Error reading Cursor projects:",e),[])),n().catch(e=>((0,o.logError)("Error reading OpenCode projects:",e),[])),a().catch(e=>((0,o.logError)("Error reading Pi projects:",e),[])),s().catch(e=>((0,o.logError)("Error reading Gemini projects:",e),[])),l().catch(e=>((0,o.logError)("Error reading Hermes projects:",e),[]))]);return function(...e){let t=new Map;for(let r of e)for(let e of r){let r=t.get(e.name);if(!r){t.set(e.name,{...e,cli:[...e.cli]});continue}let i=[...r.cli];for(let t of e.cli)i.includes(t)||i.push(t);let n=e.lastModified.getTime()>r.lastModified.getTime()?e:r;t.set(e.name,{...r,cli:i,lastModified:n.lastModified,lastModifiedFormatted:n.lastModifiedFormatted})}let r=Array.from(t.values());return r.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),r}(u,c,m,d,p,g,h,y)}function d(e){if(!e)throw RangeError("Empty project name");if(/^[/\\]/.test(e))throw RangeError("Absolute project name");let t=(0,r.resolve)((0,i.getClaudeProjectsPath)()),n=(0,r.resolve)((0,r.join)(t,e));if(!n.startsWith(t+r.sep))throw RangeError("Project path escapes root");return n}function p(e){let t=e.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return t?t[0]:void 0}async function g(e){try{let t=await c(e);if(!t)return[];let i=t.filter(e=>e.isFile()&&e.name.endsWith(".jsonl")&&p(e.name)),n=(await (0,a.batchAll)(i.map(t=>async()=>{let i=(0,r.join)(e,t.name),n=await u(i,t.name);return{name:t.name,path:i,lastModified:n,lastModifiedFormatted:(0,s.formatDate)(n),sessionId:p(t.name),cli:"claude"}}),16)).filter(e=>"fulfilled"===e.status).map(e=>e.value);return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}catch(e){return(0,o.logError)("Error reading session files:",e),[]}}(0,n.runtimeCache)(m,30),(0,n.runtimeCache)(e=>g(e),30),e.s(["UUID_RE",0,l,"resolveProjectPath",0,d,"resolveSessionFilePath",0,function(e,t){if(!l.test(t))throw RangeError("Invalid session ID");let i=d(e);return(0,r.join)(i,`${t}.jsonl`)}])},54214,67405,e=>{"use strict";var t=e.i(24868),r=e.i(14747),i=e.i(81580),n=e.i(56936);async function a(e,i,n,a){let o=`agent-${a}.jsonl`;for(let a of[(0,r.join)(e,i,o),(0,r.join)(e,i,n,o),(0,r.join)(e,i,n,"subagents",o)])if(!(0,r.relative)(e,a).startsWith(".."))try{return await (0,t.access)(a),a}catch(e){if("ENOENT"===e.code)continue;break}return null}var o=e.i(83534),s=e.i(71809),l=e.i(28557);function u(e){if(e<1e3)return`${e}ms`;let t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;let r=Math.floor(t/60);if(r>=60){let e=Math.floor(r/60);return`${e}h ${r%60}m`}let i=(t%60).toFixed(0);return`${r}m ${i}s`}function c(e){let t=(0,l.formatDate)(e),r=e.getMilliseconds().toString().padStart(3,"0");return`${t}.${r}`}function f(e,t,r,i){return{_source:i,uuid:e.uuid||"",parentUuid:e.parentUuid??null,timestamp:t,timestampMs:r.getTime(),timestampFormatted:c(r)}}async function m(e,t){let r=e.split("\n").filter(e=>""!==e.trim()),i=new Map,n=[],a=[],o=new Set,s=!1;for(let e=0;e<r.length;e++){let l;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let u=r[e];try{l=JSON.parse(u)}catch{continue}let c={...l,_source:t};a.push(c);let m=l.type,d=l.timestamp;if(!d)continue;let p=new Date(d),g=p.getTime();if("user"===m){let e=l.message;if(Array.isArray(e?.content)){let t=e.content;if(t.some(e=>"tool_result"===e.type)){let e=l.toolUseResult,r="string"==typeof e?.agentId?e.agentId:void 0;for(let e of(r&&/^[a-f0-9]+$/.test(r)&&o.add(r),t)){if("tool_result"!==e.type)continue;let t=e.tool_use_id;if(!t)continue;let{text:n,images:a}=function(e){let t=e.content;if("string"==typeof t)return{text:t};if(Array.isArray(t)){let e=t.filter(e=>"text"===e.type).map(e=>e.text),r=t.filter(e=>"image"===e.type).map(e=>{let t=e.source;return{base64:t.data,mediaType:t.media_type}}).filter(e=>e.base64&&e.mediaType);return{text:e.length>0?e.join("\n"):void 0,images:r.length>0?r:void 0}}return{}}(e);i.set(t,{timestamp:d,timestampMs:g,content:n,images:a,agentId:r})}continue}}let r="string"==typeof e?.content?e.content:"";n.push({type:"user",...f(l,d,p,t),message:{role:"user",content:r}});continue}if("assistant"===m){let e=l.message,r=[];if(Array.isArray(e?.content)&&(r=e.content.filter(e=>["text","tool_use","thinking"].includes(e.type)).map(e=>{if("text"===e.type)return{type:"text",text:e.text};if("tool_use"===e.type){let t=e.input;return{type:"tool_use",id:e.id,name:e.name,input:e.input??{},..."Task"===e.name&&t?{subagentType:t.subagent_type,subagentDescription:t.description}:{}}}return{type:"thinking",thinking:e.thinking,signature:e.signature}})),0===r.length)continue;n.push({type:"assistant",...f(l,d,p,t),message:{role:"assistant",content:r,model:e?.model}});continue}if("file-history-snapshot"===m||"progress"===m||"system"===m){n.push({type:m,...f(l,d,p,t),raw:{...l}});continue}if("queue-operation"===m){let e=s?"Session Resumed":"Session Started";s=!0,n.push({type:"queue-operation",...f(l,d,p,t),label:e});continue}}let l=0;for(let e of n)if("assistant"===e.type)for(let t of(++l%200==0&&await new Promise(e=>setImmediate(e)),e.message.content)){if("tool_use"!==t.type)continue;let r=i.get(t.id);if(!r)continue;let n=new Date(r.timestamp),a=Math.max(0,r.timestampMs-e.timestampMs);t.result={timestamp:r.timestamp,timestampFormatted:c(n),content:r.content,images:r.images,durationMs:a,durationFormatted:u(a)},r.agentId&&(t.subagentId=r.agentId)}return n.length>500&&await new Promise(e=>setImmediate(e)),n.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:n,rawLines:a,subagentIds:Array.from(o)}}async function d(e,t="session"){return(await m(e,t)).entries}async function p(e,o){let l=(0,n.resolveProjectPath)(e),u=(0,i.getClaudeProjectsPath)(),c=(0,r.join)(l,`${o}.jsonl`),f=await (0,t.readFile)(c,"utf-8"),{entries:d,rawLines:p,subagentIds:g}=await m(f,"session");if(0===g.length)return{entries:d,rawLines:p,subagentIds:[]};let h=await (0,s.batchAll)(g.map(r=>async()=>{let i=`agent-${r}`,n=await a(u,e,o,r);if(!n)return null;let s=await (0,t.readFile)(n,"utf-8"),{entries:l,rawLines:c}=await m(s,i);return{entries:l,rawLines:c}}),4),y=[...d],w=[...p];for(let e of h)"fulfilled"===e.status&&e.value&&(y.push(...e.value.entries),w.push(...e.value.rawLines));return y.length>500&&await new Promise(e=>setImmediate(e)),y.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:y,rawLines:w,subagentIds:g}}e.s(["formatDuration",0,u],67405),(0,o.runtimeCache)((e,t)=>p(e,t),60,{maxSize:50}),e.s(["baseEntry",0,f,"formatTimestamp",0,c,"parseLogContent",0,d],54214)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__13h8pzr._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[60526,(e,t,i)=>{t.exports=e.x("node:os",()=>require("node:os"))},90172,e=>{"use strict";var t=e.i(12714),i=e.i(60526),n=e.i(50227),a=e.i(83534),s=e.i(71809),r=e.i(28557),o=e.i(81580),l=e.i(40911);let d=/^session-(\d{4}-\d{2}-\d{2}T\d{2}-\d{2})-([0-9a-f]{8})\.jsonl$/i,c=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function m(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function f(e){try{return(await (0,t.stat)(e)).mtime}catch{return null}}async function u(e){let i=null;try{i=await (0,t.open)(e,"r");let n=Buffer.alloc(4096),{bytesRead:a}=await i.read(n,0,4096,0);if(0===a)return null;let s=n.subarray(0,a),r=s.indexOf(10),o=-1===r?a:r;return s.subarray(0,o).toString("utf-8")}catch{return null}finally{i&&await i.close().catch(()=>{})}}async function w(e){try{let i=(await (0,t.readFile)((0,n.join)(e,".project_root"),"utf-8")).trim();return i.length>0?i:null}catch{return null}}async function y(){let e=process.env.GEMINI_SESSIONS_DIR||(0,n.join)((0,i.homedir)(),".gemini","tmp"),t=await m(e);if(!t)return[];let a=[];return await (0,s.batchAll)(t.filter(e=>e.isDirectory()).map(t=>async()=>{let i=(0,n.join)(e,t.name),s=await w(i);if(!s)return;let r=(0,n.join)(i,"chats"),o=await m(r);if(o)for(let e of o){if(!e.isFile()||!d.test(e.name))continue;let t=(0,n.join)(r,e.name),i=await f(t);if(!i)continue;let o=function(e){if(e)try{let t=JSON.parse(e);if("string"!=typeof t.sessionId)return;return c.test(t.sessionId)?t.sessionId:void 0}catch{return}}(await u(t));a.push({filePath:t,sessionFilename:e.name,cwd:s,fileMtime:i,sessionId:o})}}),16),a}async function g(){let e=await y(),t=new Map;for(let i of e){let e=t.get(i.cwd);(!e||i.fileMtime.getTime()>e.mtime.getTime())&&t.set(i.cwd,{mtime:i.fileMtime})}let i=[...t.entries()].map(([e,{mtime:t}])=>({name:(0,o.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:t,lastModifiedFormatted:(0,r.formatDate)(t),cli:["gemini"]}));return i.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),i}async function h(e){let t=(await y()).filter(t=>t.cwd===e).map(e=>({name:e.sessionFilename,path:e.filePath,lastModified:e.fileMtime,lastModifiedFormatted:(0,r.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"gemini"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function M(e){let t;try{t=await y()}catch(e){return(0,l.logWarn)("Failed to scan Gemini sessions:",e),{cwd:null,sessions:[]}}let i=t.filter(t=>(0,o.encodeFolderName)(t.cwd)===e),n=Array.from(new Set(i.map(e=>e.cwd)));if(1!==n.length)return{cwd:null,sessions:[]};let a=i.map(e=>({name:e.sessionFilename,path:e.filePath,lastModified:e.fileMtime,lastModifiedFormatted:(0,r.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"gemini"}));return a.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),{cwd:n[0],sessions:a}}let p=(0,a.runtimeCache)(g,30),F=(0,a.runtimeCache)(e=>M(e),30,{maxSize:50});e.s(["getCachedGeminiProjects",0,p,"getCachedGeminiSessionsByEncodedName",0,F,"getGeminiProjects",0,g,"getGeminiSessionsByEncodedName",0,M,"getGeminiSessionsForCwd",0,h])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__1hgv_75._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[46786,(a,b,c)=>{b.exports=a.x("os",()=>require("os"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},24868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},71306,(a,b,c)=>{b.exports=a.r(18622)},79847,a=>{a.n(a.i(3343))},9185,a=>{a.n(a.i(29432))},72842,a=>{a.n(a.i(75164))},54897,a=>{a.n(a.i(30106))},56157,a=>{a.n(a.i(18970))},94331,a=>{a.n(a.i(60644))},15988,a=>{a.n(a.i(56952))},25766,a=>{a.n(a.i(77341))},29725,a=>{a.n(a.i(94290))},90833,a=>{a.n(a.i(46994))},5785,a=>{a.n(a.i(90588))},74793,a=>{a.n(a.i(33169))},85826,a=>{a.n(a.i(37111))},21565,a=>{a.n(a.i(41763))},65911,a=>{a.n(a.i(8950))},25128,a=>{a.n(a.i(91562))},40781,a=>{a.n(a.i(49670))},69411,a=>{a.n(a.i(75700))},63081,a=>{a.n(a.i(276))},62837,a=>{a.n(a.i(40795))},34607,a=>{a.n(a.i(11614))},96338,a=>{a.n(a.i(21751))},50642,a=>{a.n(a.i(12213))},32242,a=>{a.n(a.i(22693))},88530,a=>{a.n(a.i(10531))},8583,a=>{a.n(a.i(1082))},38534,a=>{a.n(a.i(98175))},70408,a=>{a.n(a.i(9095))},22922,a=>{a.n(a.i(96772))},78294,a=>{a.n(a.i(71717))},16625,a=>{a.n(a.i(85034))},88648,a=>{a.n(a.i(68113))},51914,a=>{a.n(a.i(66482))},25466,a=>{a.n(a.i(91505))},90798,a=>{"use strict";var b=a.i(46786),c=a.i(14747);a.s(["decodeFolderName",0,function(a){return/^[A-Za-z]--/.test(a)?a[0]+":/"+a.slice(3).replace(/-/g,"/"):a.replace(/-/g,"/")},"encodeFolderName",0,function(a){let b=/^([A-Za-z]):[\\/](.*)$/.exec(a);return b?b[1]+"--"+b[2].replace(/[\\/]/g,"-"):a.replace(/[\\/]/g,"-")},"getClaudeProjectsPath",0,function(){let a=process.env.CLAUDE_PROJECTS_PATH;return a||(0,c.join)((0,b.homedir)(),".claude","projects")}])},34900,a=>{"use strict";a.s(["runtimeCache",0,function(a,b,c){let d=new Map,e=new Map,f=c?.maxSize;return async(...c)=>{let g=JSON.stringify(c),h=d.get(g);if(h&&Date.now()<h.expiry)return h.data;let i=e.get(g);if(i)return i;let j=a(...c).then(a=>{if(e.delete(g),f&&d.size>=f){let a=d.keys().next().value;d.delete(a)}return d.set(g,{data:a,expiry:Date.now()+1e3*b}),a},a=>{throw e.delete(g),a});return e.set(g,j),j}}])},76668,a=>{"use strict";let b=1;function c(a){return`[failproofai${new Date().toISOString()}] ${a}`}a.s(["logError",0,function(a,b){void 0!==b?console.error(c("ERROR"),a,b):console.error(c("ERROR"),a)},"logWarn",0,function(a,d){b>=b&&(void 0!==d?console.warn(c("WARN"),a,d):console.warn(c("WARN"),a))}])},33432,a=>{"use strict";a.s(["formatDate",0,function(a){return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0}).format(a)}])},26192,a=>{"use strict";async function b(a,b){let c=Array(a.length),d=0;async function e(){for(;d<a.length;){let b=d++;try{c[b]={status:"fulfilled",value:await a[b]()}}catch(a){c[b]={status:"rejected",reason:a}}}}let f=Array.from({length:Math.min(b,a.length)},()=>e());return await Promise.all(f),c}a.s(["batchAll",0,b])},69191,a=>{"use strict";var b=a.i(12714),c=a.i(50227),d=a.i(90798),e=a.i(34900),f=a.i(26192),g=a.i(76668),h=a.i(33432);async function i(a,c){try{return(await (0,b.stat)(a)).mtime}catch(a){return(0,g.logWarn)(`Failed to stat ${c}:`,a),new Date(0)}}async function j(a){try{if(!(await (0,b.stat)(a)).isDirectory())return null;return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function k(){try{let a=(0,d.getClaudeProjectsPath)(),b=await j(a);if(!b)return[];let e=(await (0,f.batchAll)(b.filter(a=>a.isDirectory()).map(b=>async()=>{let d=(0,c.join)(a,b.name),e=await i(d,b.name);return{name:b.name,path:d,isDirectory:!0,lastModified:e,lastModifiedFormatted:(0,h.formatDate)(e),cli:["claude"]}}),16)).filter(a=>"fulfilled"===a.status).map(a=>a.value);return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,g.logError)("Error reading Claude project folders:",a),[]}}async function l(){let[{getCodexProjects:b},{getCopilotProjects:c},{getCursorProjects:d},{getOpenCodeProjects:e},{getPiProjects:f},{getGeminiProjects:h},{getHermesProjects:i}]=await Promise.all([a.A(93658),a.A(60956),a.A(26244),a.A(2164),a.A(92351),a.A(26396),a.A(84789)]),[j,l,m,n,o,p,q,r]=await Promise.all([k(),b().catch(a=>((0,g.logError)("Error reading Codex projects:",a),[])),c().catch(a=>((0,g.logError)("Error reading Copilot projects:",a),[])),d().catch(a=>((0,g.logError)("Error reading Cursor projects:",a),[])),e().catch(a=>((0,g.logError)("Error reading OpenCode projects:",a),[])),f().catch(a=>((0,g.logError)("Error reading Pi projects:",a),[])),h().catch(a=>((0,g.logError)("Error reading Gemini projects:",a),[])),i().catch(a=>((0,g.logError)("Error reading Hermes projects:",a),[]))]);return function(...a){let b=new Map;for(let c of a)for(let a of c){let c=b.get(a.name);if(!c){b.set(a.name,{...a,cli:[...a.cli]});continue}let d=[...c.cli];for(let b of a.cli)d.includes(b)||d.push(b);let e=a.lastModified.getTime()>c.lastModified.getTime()?a:c;b.set(a.name,{...c,cli:d,lastModified:e.lastModified,lastModifiedFormatted:e.lastModifiedFormatted})}let c=Array.from(b.values());return c.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),c}(j,l,m,n,o,p,q,r)}function m(a){let b=a.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return b?b[0]:void 0}async function n(a){try{let b=await j(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&m(a.name)),e=(await (0,f.batchAll)(d.map(b=>async()=>{let d=(0,c.join)(a,b.name),e=await i(d,b.name);return{name:b.name,path:d,lastModified:e,lastModifiedFormatted:(0,h.formatDate)(e),sessionId:m(b.name),cli:"claude"}}),16)).filter(a=>"fulfilled"===a.status).map(a=>a.value);return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,g.logError)("Error reading session files:",a),[]}}let o=(0,e.runtimeCache)(l,30),p=(0,e.runtimeCache)(a=>n(a),30);a.s(["UUID_RE",0,/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,"getCachedProjectFolders",0,o,"getCachedSessionFiles",0,p,"resolveProjectPath",0,function(a){if(!a)throw RangeError("Empty project name");if(/^[/\\]/.test(a))throw RangeError("Absolute project name");let b=(0,c.resolve)((0,d.getClaudeProjectsPath)()),e=(0,c.resolve)((0,c.join)(b,a));if(!e.startsWith(b+c.sep))throw RangeError("Project path escapes root");return e}])},24282,a=>{"use strict";let b={claude:{id:"claude",label:"Claude Code",badgeClasses:"bg-orange-500/10 text-orange-400 border-orange-500/20"},codex:{id:"codex",label:"OpenAI Codex",badgeClasses:"bg-purple-500/10 text-purple-400 border-purple-500/20"},copilot:{id:"copilot",label:"GitHub Copilot",badgeClasses:"bg-blue-500/10 text-blue-400 border-blue-500/20"},cursor:{id:"cursor",label:"Cursor Agent",badgeClasses:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20"},opencode:{id:"opencode",label:"OpenCode",badgeClasses:"bg-amber-500/10 text-amber-400 border-amber-500/20"},pi:{id:"pi",label:"Pi",badgeClasses:"bg-pink-500/10 text-pink-400 border-pink-500/20"},gemini:{id:"gemini",label:"Gemini CLI",badgeClasses:"bg-sky-500/10 text-sky-400 border-sky-500/20"},hermes:{id:"hermes",label:"Hermes",badgeClasses:"bg-indigo-500/10 text-indigo-400 border-indigo-500/20"}};a.s(["getCliBadgeClasses",0,function(a){return b[a]?.badgeClasses??b.claude.badgeClasses},"getCliLabel",0,function(a){return b[a]?.label??a}])},64240,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},790,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(11857);a.n(d("[project]/node_modules/next/dist/client/app-dir/link.js <module evaluation>"))},84707,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(11857);a.n(d("[project]/node_modules/next/dist/client/app-dir/link.js"))},97647,a=>{"use strict";a.i(790);var b=a.i(84707);a.n(b)},95936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return i},useLinkStatus:function(){return h.useLinkStatus}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(64240),g=a.r(7997),h=f._(a.r(97647));function i(a){let b=a.legacyBehavior,c="string"==typeof a.children||"number"==typeof a.children||"string"==typeof a.children?.type,d=a.children?.type?.$$typeof===Symbol.for("react.client.reference");return!b||c||d||(a.children?.type?.$$typeof===Symbol.for("react.lazy")?console.error("Using a Lazy Component as a direct child of `<Link legacyBehavior>` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's `<a>` tag."):console.error("Using a Server Component as a direct child of `<Link legacyBehavior>` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's `<a>` tag.")),(0,g.jsx)(h.default,{...a})}("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)},93658,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_codex-projects_ts_0pqlw37._.js"].map(b=>a.l(b))).then(()=>b(1024)))},60956,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_copilot-projects_ts_19wl7tp._.js"].map(b=>a.l(b))).then(()=>b(88890)))},26244,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_cursor-projects_ts_18-iwyk._.js"].map(b=>a.l(b))).then(()=>b(93087)))},2164,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_opencode-projects_ts_15bjxkm._.js"].map(b=>a.l(b))).then(()=>b(64458)))},92351,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_pi-projects_ts_1wikofb._.js"].map(b=>a.l(b))).then(()=>b(2727)))},26396,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_gemini-projects_ts_1c7bgx-._.js"].map(b=>a.l(b))).then(()=>b(62074)))},84789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_hermes-projects_ts_05b8-it._.js"].map(b=>a.l(b))).then(()=>b(83884)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__04bqvos._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[46786,(a,b,c)=>{b.exports=a.x("os",()=>require("os"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},24868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},71306,(a,b,c)=>{b.exports=a.r(18622)},79847,a=>{a.n(a.i(3343))},9185,a=>{a.n(a.i(29432))},72842,a=>{a.n(a.i(75164))},54897,a=>{a.n(a.i(30106))},56157,a=>{a.n(a.i(18970))},94331,a=>{a.n(a.i(60644))},15988,a=>{a.n(a.i(56952))},25766,a=>{a.n(a.i(77341))},29725,a=>{a.n(a.i(94290))},90833,a=>{a.n(a.i(46994))},5785,a=>{a.n(a.i(90588))},74793,a=>{a.n(a.i(33169))},85826,a=>{a.n(a.i(37111))},21565,a=>{a.n(a.i(41763))},65911,a=>{a.n(a.i(8950))},25128,a=>{a.n(a.i(91562))},40781,a=>{a.n(a.i(49670))},69411,a=>{a.n(a.i(75700))},63081,a=>{a.n(a.i(276))},62837,a=>{a.n(a.i(40795))},34607,a=>{a.n(a.i(11614))},96338,a=>{a.n(a.i(21751))},50642,a=>{a.n(a.i(12213))},32242,a=>{a.n(a.i(22693))},88530,a=>{a.n(a.i(10531))},8583,a=>{a.n(a.i(1082))},38534,a=>{a.n(a.i(98175))},70408,a=>{a.n(a.i(9095))},22922,a=>{a.n(a.i(96772))},78294,a=>{a.n(a.i(71717))},16625,a=>{a.n(a.i(85034))},88648,a=>{a.n(a.i(68113))},51914,a=>{a.n(a.i(66482))},25466,a=>{a.n(a.i(91505))},90798,a=>{"use strict";var b=a.i(46786),c=a.i(14747);a.s(["decodeFolderName",0,function(a){return/^[A-Za-z]--/.test(a)?a[0]+":/"+a.slice(3).replace(/-/g,"/"):a.replace(/-/g,"/")},"encodeFolderName",0,function(a){let b=/^([A-Za-z]):[\\/](.*)$/.exec(a);return b?b[1]+"--"+b[2].replace(/[\\/]/g,"-"):a.replace(/[\\/]/g,"-")},"getClaudeProjectsPath",0,function(){let a=process.env.CLAUDE_PROJECTS_PATH;return a||(0,c.join)((0,b.homedir)(),".claude","projects")}])},34900,a=>{"use strict";a.s(["runtimeCache",0,function(a,b,c){let d=new Map,e=new Map,f=c?.maxSize;return async(...c)=>{let g=JSON.stringify(c),h=d.get(g);if(h&&Date.now()<h.expiry)return h.data;let i=e.get(g);if(i)return i;let j=a(...c).then(a=>{if(e.delete(g),f&&d.size>=f){let a=d.keys().next().value;d.delete(a)}return d.set(g,{data:a,expiry:Date.now()+1e3*b}),a},a=>{throw e.delete(g),a});return e.set(g,j),j}}])},76668,a=>{"use strict";let b=1;function c(a){return`[failproofai${new Date().toISOString()}] ${a}`}a.s(["logError",0,function(a,b){void 0!==b?console.error(c("ERROR"),a,b):console.error(c("ERROR"),a)},"logWarn",0,function(a,d){b>=b&&(void 0!==d?console.warn(c("WARN"),a,d):console.warn(c("WARN"),a))}])},33432,a=>{"use strict";a.s(["formatDate",0,function(a){return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0}).format(a)}])},26192,a=>{"use strict";async function b(a,b){let c=Array(a.length),d=0;async function e(){for(;d<a.length;){let b=d++;try{c[b]={status:"fulfilled",value:await a[b]()}}catch(a){c[b]={status:"rejected",reason:a}}}}let f=Array.from({length:Math.min(b,a.length)},()=>e());return await Promise.all(f),c}a.s(["batchAll",0,b])},69191,a=>{"use strict";var b=a.i(12714),c=a.i(50227),d=a.i(90798),e=a.i(34900),f=a.i(26192),g=a.i(76668),h=a.i(33432);async function i(a,c){try{return(await (0,b.stat)(a)).mtime}catch(a){return(0,g.logWarn)(`Failed to stat ${c}:`,a),new Date(0)}}async function j(a){try{if(!(await (0,b.stat)(a)).isDirectory())return null;return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function k(){try{let a=(0,d.getClaudeProjectsPath)(),b=await j(a);if(!b)return[];let e=(await (0,f.batchAll)(b.filter(a=>a.isDirectory()).map(b=>async()=>{let d=(0,c.join)(a,b.name),e=await i(d,b.name);return{name:b.name,path:d,isDirectory:!0,lastModified:e,lastModifiedFormatted:(0,h.formatDate)(e),cli:["claude"]}}),16)).filter(a=>"fulfilled"===a.status).map(a=>a.value);return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,g.logError)("Error reading Claude project folders:",a),[]}}async function l(){let[{getCodexProjects:b},{getCopilotProjects:c},{getCursorProjects:d},{getOpenCodeProjects:e},{getPiProjects:f},{getGeminiProjects:h},{getHermesProjects:i}]=await Promise.all([a.A(93658),a.A(60956),a.A(26244),a.A(2164),a.A(92351),a.A(26396),a.A(84789)]),[j,l,m,n,o,p,q,r]=await Promise.all([k(),b().catch(a=>((0,g.logError)("Error reading Codex projects:",a),[])),c().catch(a=>((0,g.logError)("Error reading Copilot projects:",a),[])),d().catch(a=>((0,g.logError)("Error reading Cursor projects:",a),[])),e().catch(a=>((0,g.logError)("Error reading OpenCode projects:",a),[])),f().catch(a=>((0,g.logError)("Error reading Pi projects:",a),[])),h().catch(a=>((0,g.logError)("Error reading Gemini projects:",a),[])),i().catch(a=>((0,g.logError)("Error reading Hermes projects:",a),[]))]);return function(...a){let b=new Map;for(let c of a)for(let a of c){let c=b.get(a.name);if(!c){b.set(a.name,{...a,cli:[...a.cli]});continue}let d=[...c.cli];for(let b of a.cli)d.includes(b)||d.push(b);let e=a.lastModified.getTime()>c.lastModified.getTime()?a:c;b.set(a.name,{...c,cli:d,lastModified:e.lastModified,lastModifiedFormatted:e.lastModifiedFormatted})}let c=Array.from(b.values());return c.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),c}(j,l,m,n,o,p,q,r)}function m(a){let b=a.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return b?b[0]:void 0}async function n(a){try{let b=await j(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&m(a.name)),e=(await (0,f.batchAll)(d.map(b=>async()=>{let d=(0,c.join)(a,b.name),e=await i(d,b.name);return{name:b.name,path:d,lastModified:e,lastModifiedFormatted:(0,h.formatDate)(e),sessionId:m(b.name),cli:"claude"}}),16)).filter(a=>"fulfilled"===a.status).map(a=>a.value);return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,g.logError)("Error reading session files:",a),[]}}let o=(0,e.runtimeCache)(l,30),p=(0,e.runtimeCache)(a=>n(a),30);a.s(["UUID_RE",0,/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,"getCachedProjectFolders",0,o,"getCachedSessionFiles",0,p,"resolveProjectPath",0,function(a){if(!a)throw RangeError("Empty project name");if(/^[/\\]/.test(a))throw RangeError("Absolute project name");let b=(0,c.resolve)((0,d.getClaudeProjectsPath)()),e=(0,c.resolve)((0,c.join)(b,a));if(!e.startsWith(b+c.sep))throw RangeError("Project path escapes root");return e}])},22734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},64240,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},790,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(11857);a.n(d("[project]/node_modules/next/dist/client/app-dir/link.js <module evaluation>"))},84707,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(11857);a.n(d("[project]/node_modules/next/dist/client/app-dir/link.js"))},97647,a=>{"use strict";a.i(790);var b=a.i(84707);a.n(b)},95936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return i},useLinkStatus:function(){return h.useLinkStatus}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(64240),g=a.r(7997),h=f._(a.r(97647));function i(a){let b=a.legacyBehavior,c="string"==typeof a.children||"number"==typeof a.children||"string"==typeof a.children?.type,d=a.children?.type?.$$typeof===Symbol.for("react.client.reference");return!b||c||d||(a.children?.type?.$$typeof===Symbol.for("react.lazy")?console.error("Using a Lazy Component as a direct child of `<Link legacyBehavior>` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's `<a>` tag."):console.error("Using a Server Component as a direct child of `<Link legacyBehavior>` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's `<a>` tag.")),(0,g.jsx)(h.default,{...a})}("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)},83884,a=>{"use strict";var b=a.i(94431),c=a.i(54563),d=a.i(34900),e=a.i(33432);async function f(){let a=await (0,b.openSqliteReadonly)((0,c.hermesDbPath)());if(!a)return[];try{return a.query("SELECT s.id, s.source, s.cwd, s.title, s.user_id, s.chat_id, s.chat_type, s.started_at, s.ended_at, s.message_count, lm.last_activity FROM sessions s LEFT JOIN (SELECT session_id, MAX(timestamp) AS last_activity FROM messages GROUP BY session_id) lm ON lm.session_id = s.id ORDER BY lm.last_activity DESC").map(a=>({sessionId:a.id,source:a.source??void 0,cwd:a.cwd??void 0,title:a.title??void 0,userId:a.user_id??void 0,chatId:a.chat_id??void 0,chatType:a.chat_type??void 0,mtimeMs:(0,c.epochToMs)(a.last_activity??a.ended_at??a.started_at),messageCount:"number"==typeof a.message_count?a.message_count:0,hasMessages:null!=a.last_activity}))}catch{return[]}finally{a.close()}}let g=(0,d.runtimeCache)(f,2);async function h(){let a=await f(),b=new Map;for(let c of a){if(c.messageCount<=0&&!c.hasMessages)continue;let a=c.source??"unknown";b.set(a,Math.max(b.get(a)??0,c.mtimeMs))}let c=[];for(let[a,d]of b){let b=new Date(d);c.push({name:`hermes-${a}`,path:`hermes:${a}`,isDirectory:!0,lastModified:b,lastModifiedFormatted:(0,e.formatDate)(b),cli:["hermes"]})}return c.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),c}async function i(a){if(!a.startsWith("hermes-"))return{cwd:null,sessions:[]};let b=a.slice(7),c=(await f()).filter(a=>(a.messageCount>0||a.hasMessages)&&(a.source??"unknown")===b);return{cwd:`hermes:${b}`,sessions:c.map(a=>{let b=new Date(a.mtimeMs);return{name:a.title??a.sessionId,path:`hermes://${a.sessionId}`,lastModified:b,lastModifiedFormatted:(0,e.formatDate)(b),sessionId:a.sessionId,cli:"hermes",userId:a.userId,channelId:a.chatId,channelType:a.chatType}})}}let j=(0,d.runtimeCache)(h,2),k=(0,d.runtimeCache)(a=>i(a),2,{maxSize:50});a.s(["getCachedHermesProjects",0,j,"getCachedHermesSessions",0,g,"getCachedHermesSessionsByEncodedName",0,k,"getHermesProjects",0,h,"getHermesSessions",0,f,"getHermesSessionsByEncodedName",0,i])},1024,a=>{"use strict";var b=a.i(12714),c=a.i(60526),d=a.i(50227),e=a.i(90798),f=a.i(34900),g=a.i(26192),h=a.i(33432),i=a.i(76668);let j=(0,d.join)((0,c.homedir)(),".codex","sessions"),k=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;async function l(a){try{return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function m(a){let c=null;try{c=await (0,b.open)(a,"r");let d=Buffer.alloc(262144),{bytesRead:e}=await c.read(d,0,262144,0);if(0===e)return null;let f=d.subarray(0,e),g=f.indexOf(10),h=-1===g?e:g;return f.subarray(0,h).toString("utf-8")}catch{return null}finally{c&&await c.close().catch(()=>{})}}async function n(a){let b=await l(a);return b?b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")).map(b=>(0,d.join)(a,b.name)):[]}async function o(){let a=await l(j);if(!a)return[];let c=[];for(let b of a){if(!b.isDirectory())continue;let a=await l((0,d.join)(j,b.name));if(a)for(let e of a){if(!e.isDirectory())continue;let a=await l((0,d.join)(j,b.name,e.name));if(a)for(let f of a){if(!f.isDirectory())continue;let a=(0,d.join)(j,b.name,e.name,f.name);c.push(...await n(a))}}}return 0===c.length?[]:(await (0,g.batchAll)(c.map(a=>async()=>{let c,d,e=(d=(a.split("/").pop()??"").match(k))?d[0]:null;if(!e)return null;let f=await m(a);if(!f)return null;let{cwd:g}=function(a){try{let b=JSON.parse(a);if("session_meta"!==b.type)return{};let c=b.payload?.cwd;if("string"!=typeof c||0===c.length)return{};return{cwd:c}}catch{return{}}}(f);if(!g)return null;try{let d=await (0,b.open)(a,"r");try{c=(await d.stat()).mtime}finally{await d.close().catch(()=>{})}}catch{c=new Date(0)}return{filePath:a,fileName:a.split("/").pop()??"",cwd:g,sessionId:e,fileMtime:c}}),16)).filter(a=>"fulfilled"===a.status).map(a=>a.value).filter(a=>null!==a)}let p=(0,f.runtimeCache)(o,30);async function q(){let a;try{a=await p()}catch(a){return(0,i.logWarn)("Failed to scan Codex sessions:",a),[]}let b=new Map;for(let c of a){let a=b.get(c.cwd);(!a||c.fileMtime.getTime()>a.latest.getTime())&&b.set(c.cwd,{latest:c.fileMtime,cwd:c.cwd})}let c=[];for(let{cwd:a,latest:d}of b.values())c.push({name:(0,e.encodeFolderName)(a),path:a,isDirectory:!0,lastModified:d,lastModifiedFormatted:(0,h.formatDate)(d),cli:["codex"]});return c.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),c}function r(a){let b=a.map(a=>({name:a.fileName.replace(/\.jsonl$/,""),path:a.filePath,lastModified:a.fileMtime,lastModifiedFormatted:(0,h.formatDate)(a.fileMtime),sessionId:a.sessionId,cli:"codex"}));return b.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),b}async function s(a){let b;try{b=await p()}catch(a){return(0,i.logWarn)("Failed to scan Codex sessions:",a),[]}return r(b.filter(b=>b.cwd===a))}async function t(a){let b;try{b=await p()}catch(a){return(0,i.logWarn)("Failed to scan Codex sessions:",a),{cwd:null,sessions:[]}}let c=b.filter(b=>(0,e.encodeFolderName)(b.cwd)===a);return{cwd:c[0]?.cwd??null,sessions:r(c)}}let u=(0,f.runtimeCache)(q,30),v=(0,f.runtimeCache)(a=>s(a),30,{maxSize:50}),w=(0,f.runtimeCache)(a=>t(a),30,{maxSize:50});a.s(["getCachedCodexProjects",0,u,"getCachedCodexSessionsByEncodedName",0,w,"getCachedCodexSessionsForCwd",0,v,"getCodexProjects",0,q,"getCodexSessionsByEncodedName",0,t,"getCodexSessionsForCwd",0,s])},88890,a=>{"use strict";var b=a.i(12714),c=a.i(60526),d=a.i(50227),e=a.i(90798),f=a.i(34900),g=a.i(26192),h=a.i(33432),i=a.i(76668);async function j(a){try{return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function k(a){try{return(await (0,b.stat)(a)).mtime}catch{return null}}async function l(){let a=(0,d.join)(process.env.COPILOT_HOME||(0,d.join)((0,c.homedir)(),".copilot"),"session-state"),e=await j(a);if(!e)return[];let f=e.filter(a=>a.isDirectory()).map(b=>({sessionId:b.name,workspacePath:(0,d.join)(a,b.name,"workspace.yaml"),eventsPath:(0,d.join)(a,b.name,"events.jsonl")}));return(await (0,g.batchAll)(f.map(a=>async()=>{let c;try{c=await (0,b.readFile)(a.workspacePath,"utf-8")}catch{return null}let d=function(a){let b=a.match(/^cwd\s*:\s*(.+?)\s*$/m);if(b)return b[1].replace(/^['"]|['"]$/g,"")}(c);if(!d)return null;let e=await k(a.eventsPath),f=await k(a.workspacePath),g=null!==e,h=e&&f?new Date(Math.max(e.getTime(),f.getTime())):e??f??new Date(0);return{workspacePath:a.workspacePath,eventsPath:a.eventsPath,sessionId:a.sessionId,cwd:d,fileMtime:h,hasTranscript:g}}),16)).filter(a=>"fulfilled"===a.status).map(a=>a.value).filter(a=>null!==a)}let m=(0,f.runtimeCache)(l,30);async function n(){let a;try{a=await m()}catch(a){return(0,i.logWarn)("Failed to scan Copilot sessions:",a),[]}let b=new Map;for(let c of a){if(!c.hasTranscript)continue;let a=b.get(c.cwd);(!a||c.fileMtime.getTime()>a.latest.getTime())&&b.set(c.cwd,{latest:c.fileMtime,cwd:c.cwd})}let c=[];for(let{cwd:a,latest:d}of b.values())c.push({name:(0,e.encodeFolderName)(a),path:a,isDirectory:!0,lastModified:d,lastModifiedFormatted:(0,h.formatDate)(d),cli:["copilot"]});return c.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),c}function o(a){let b=a.filter(a=>a.hasTranscript).map(a=>({name:a.sessionId,path:a.eventsPath,lastModified:a.fileMtime,lastModifiedFormatted:(0,h.formatDate)(a.fileMtime),sessionId:a.sessionId,cli:"copilot"}));return b.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),b}async function p(a){let b;try{b=await m()}catch(a){return(0,i.logWarn)("Failed to scan Copilot sessions:",a),[]}return o(b.filter(b=>b.cwd===a))}async function q(a){let b;try{b=await m()}catch(a){return(0,i.logWarn)("Failed to scan Copilot sessions:",a),{cwd:null,sessions:[]}}let c=b.filter(b=>b.hasTranscript&&(0,e.encodeFolderName)(b.cwd)===a);return{cwd:c[0]?.cwd??null,sessions:o(c)}}let r=(0,f.runtimeCache)(n,30),s=(0,f.runtimeCache)(a=>p(a),30,{maxSize:50}),t=(0,f.runtimeCache)(a=>q(a),30,{maxSize:50});a.s(["getCachedCopilotProjects",0,r,"getCachedCopilotSessionsByEncodedName",0,t,"getCachedCopilotSessionsForCwd",0,s,"getCopilotProjects",0,n,"getCopilotSessionsByEncodedName",0,q,"getCopilotSessionsForCwd",0,p])},64458,a=>{"use strict";var b=a.i(74533),c=a.i(90798),d=a.i(34900),e=a.i(33432),f=a.i(76668);function g(a){try{let c=(0,b.execFileSync)("opencode",["db","--format","json",a],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]});if(!c.trim())return[];let d=JSON.parse(c);if(!Array.isArray(d))return null;return d}catch{return null}}function h(){return g("SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session ORDER BY time_updated DESC LIMIT 1000")}function i(){return g("SELECT id, worktree, vcs, name, time_created, time_updated FROM project")}async function j(){let a=h(),b=i();if(null===a&&null===b)return[];let d=new Map;for(let a of b??[])d.set(a.id,a);let f=new Map;for(let b of a??[]){if(!b.project_id)continue;let a=f.get(b.project_id);a||(a={rows:[],latest:0},f.set(b.project_id,a)),a.rows.push(b),b.time_updated>a.latest&&(a.latest=b.time_updated)}let g=new Set,j=[];for(let[a,b]of f){g.add(a);let f=d.get(a),h=f?.worktree??b.rows[0]?.directory??null,i=h?(0,c.encodeFolderName)(h):a,k=h??"",l=new Date(Math.max(b.latest,f?.time_updated??0));j.push({name:i,path:k,isDirectory:!0,lastModified:l,lastModifiedFormatted:(0,e.formatDate)(l),cli:["opencode"]})}for(let a of b??[]){if(g.has(a.id))continue;let b=a.worktree??"",d=b?(0,c.encodeFolderName)(b):a.id,f=new Date(a.time_updated);j.push({name:d,path:b,isDirectory:!0,lastModified:f,lastModifiedFormatted:(0,e.formatDate)(f),cli:["opencode"]})}return j.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),j}async function k(a){let b=h();return b?b.filter(b=>b.directory===a).map(a=>{let b=new Date(a.time_updated);return{name:a.title??a.slug??a.id,path:`opencode://${a.id}`,lastModified:b,lastModifiedFormatted:(0,e.formatDate)(b),sessionId:a.id,cli:"opencode"}}):[]}async function l(a){let b,d;try{b=i(),d=h()}catch(a){return(0,f.logWarn)("Failed to read OpenCode DB:",a),{cwd:null,sessions:[]}}if(!b||!d)return{cwd:null,sessions:[]};let g=b.find(b=>b.worktree&&(0,c.encodeFolderName)(b.worktree)===a);if(!g||!g.worktree)return{cwd:null,sessions:[]};let j=d.filter(a=>a.project_id===g.id);return{cwd:g.worktree,sessions:j.map(a=>{let b=new Date(a.time_updated);return{name:a.title??a.slug??a.id,path:`opencode://${a.id}`,lastModified:b,lastModifiedFormatted:(0,e.formatDate)(b),sessionId:a.id,cli:"opencode"}})}}let m=(0,d.runtimeCache)(j,30),n=(0,d.runtimeCache)(a=>k(a),30,{maxSize:50}),o=(0,d.runtimeCache)(a=>l(a),30,{maxSize:50});a.s(["getCachedOpenCodeProjects",0,m,"getCachedOpenCodeSessionsByEncodedName",0,o,"getCachedOpenCodeSessionsForCwd",0,n,"getOpenCodeProjects",0,j,"getOpenCodeSessionsByEncodedName",0,l,"getOpenCodeSessionsForCwd",0,k])},2727,a=>{"use strict";var b=a.i(12714),c=a.i(60526),d=a.i(50227),e=a.i(90798),f=a.i(34900),g=a.i(26192),h=a.i(33432),i=a.i(76668);let j=/^[\d-]+T[\d-]+Z_([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\.jsonl$/i;async function k(a){try{return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function l(a){try{return(await (0,b.stat)(a)).mtime}catch{return null}}async function m(a){let c;try{c=await (0,b.readFile)(a,"utf-8")}catch{return null}let d=c.indexOf("\n")>=0?c.slice(0,c.indexOf("\n")):c;if(!d)return null;try{let a=JSON.parse(d);if("session"!==a.type||"string"!=typeof a.cwd||0===a.cwd.length)return null;return a.cwd}catch{return null}}async function n(){let a=process.env.PI_SESSIONS_DIR||(0,d.join)((0,c.homedir)(),".pi","agent","sessions"),b=await k(a);if(!b)return[];let e=[];for(let c of b){if(!c.isDirectory())continue;let b=(0,d.join)(a,c.name),f=await k(b);if(f)for(let a of f){if(!a.isFile())continue;let c=j.exec(a.name);c&&e.push({sessionId:c[1],filePath:(0,d.join)(b,a.name)})}}return 0===e.length?[]:(await (0,g.batchAll)(e.map(a=>async()=>{let b=await m(a.filePath);if(!b)return null;let c=await l(a.filePath);return c?{filePath:a.filePath,sessionId:a.sessionId,cwd:b,fileMtime:c}:null}),16)).filter(a=>"fulfilled"===a.status).map(a=>a.value).filter(a=>null!==a)}let o=(0,f.runtimeCache)(n,30);async function p(){let a;try{a=await o()}catch(a){return(0,i.logWarn)("Failed to scan Pi sessions:",a),[]}let b=new Map;for(let c of a){let a=b.get(c.cwd);(!a||c.fileMtime.getTime()>a.latest.getTime())&&b.set(c.cwd,{latest:c.fileMtime,cwd:c.cwd})}let c=[];for(let{cwd:a,latest:d}of b.values())c.push({name:(0,e.encodeFolderName)(a),path:a,isDirectory:!0,lastModified:d,lastModifiedFormatted:(0,h.formatDate)(d),cli:["pi"]});return c.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),c}function q(a){let b=a.map(a=>({name:a.sessionId,path:a.filePath,lastModified:a.fileMtime,lastModifiedFormatted:(0,h.formatDate)(a.fileMtime),sessionId:a.sessionId,cli:"pi"}));return b.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),b}async function r(a){let b;try{b=await o()}catch(a){return(0,i.logWarn)("Failed to scan Pi sessions:",a),[]}return q(b.filter(b=>b.cwd===a))}async function s(a){let b;try{b=await o()}catch(a){return(0,i.logWarn)("Failed to scan Pi sessions:",a),{cwd:null,sessions:[]}}let c=b.filter(b=>(0,e.encodeFolderName)(b.cwd)===a),d=Array.from(new Set(c.map(a=>a.cwd)));return 1!==d.length?{cwd:null,sessions:[]}:{cwd:d[0],sessions:q(c)}}let t=(0,f.runtimeCache)(p,30),u=(0,f.runtimeCache)(a=>r(a),30,{maxSize:50}),v=(0,f.runtimeCache)(a=>s(a),30,{maxSize:50});a.s(["getCachedPiProjects",0,t,"getCachedPiSessionsByEncodedName",0,v,"getCachedPiSessionsForCwd",0,u,"getPiProjects",0,p,"getPiSessionsByEncodedName",0,s,"getPiSessionsForCwd",0,r])},62074,a=>{"use strict";var b=a.i(12714),c=a.i(60526),d=a.i(50227),e=a.i(34900),f=a.i(26192),g=a.i(33432),h=a.i(90798),i=a.i(76668);let j=/^session-(\d{4}-\d{2}-\d{2}T\d{2}-\d{2})-([0-9a-f]{8})\.jsonl$/i,k=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function l(a){try{return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function m(a){try{return(await (0,b.stat)(a)).mtime}catch{return null}}async function n(a){let c=null;try{c=await (0,b.open)(a,"r");let d=Buffer.alloc(4096),{bytesRead:e}=await c.read(d,0,4096,0);if(0===e)return null;let f=d.subarray(0,e),g=f.indexOf(10),h=-1===g?e:g;return f.subarray(0,h).toString("utf-8")}catch{return null}finally{c&&await c.close().catch(()=>{})}}async function o(a){try{let c=(await (0,b.readFile)((0,d.join)(a,".project_root"),"utf-8")).trim();return c.length>0?c:null}catch{return null}}async function p(){let a=process.env.GEMINI_SESSIONS_DIR||(0,d.join)((0,c.homedir)(),".gemini","tmp"),b=await l(a);if(!b)return[];let e=[];return await (0,f.batchAll)(b.filter(a=>a.isDirectory()).map(b=>async()=>{let c=(0,d.join)(a,b.name),f=await o(c);if(!f)return;let g=(0,d.join)(c,"chats"),h=await l(g);if(h)for(let a of h){if(!a.isFile()||!j.test(a.name))continue;let b=(0,d.join)(g,a.name),c=await m(b);if(!c)continue;let h=function(a){if(a)try{let b=JSON.parse(a);if("string"!=typeof b.sessionId)return;return k.test(b.sessionId)?b.sessionId:void 0}catch{return}}(await n(b));e.push({filePath:b,sessionFilename:a.name,cwd:f,fileMtime:c,sessionId:h})}}),16),e}async function q(){let a=await p(),b=new Map;for(let c of a){let a=b.get(c.cwd);(!a||c.fileMtime.getTime()>a.mtime.getTime())&&b.set(c.cwd,{mtime:c.fileMtime})}let c=[...b.entries()].map(([a,{mtime:b}])=>({name:(0,h.encodeFolderName)(a),path:a,isDirectory:!0,lastModified:b,lastModifiedFormatted:(0,g.formatDate)(b),cli:["gemini"]}));return c.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),c}async function r(a){let b=(await p()).filter(b=>b.cwd===a).map(a=>({name:a.sessionFilename,path:a.filePath,lastModified:a.fileMtime,lastModifiedFormatted:(0,g.formatDate)(a.fileMtime),sessionId:a.sessionId,cli:"gemini"}));return b.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),b}async function s(a){let b;try{b=await p()}catch(a){return(0,i.logWarn)("Failed to scan Gemini sessions:",a),{cwd:null,sessions:[]}}let c=b.filter(b=>(0,h.encodeFolderName)(b.cwd)===a),d=Array.from(new Set(c.map(a=>a.cwd)));if(1!==d.length)return{cwd:null,sessions:[]};let e=c.map(a=>({name:a.sessionFilename,path:a.filePath,lastModified:a.fileMtime,lastModifiedFormatted:(0,g.formatDate)(a.fileMtime),sessionId:a.sessionId,cli:"gemini"}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),{cwd:d[0],sessions:e}}let t=(0,e.runtimeCache)(q,30),u=(0,e.runtimeCache)(a=>s(a),30,{maxSize:50});a.s(["getCachedGeminiProjects",0,t,"getCachedGeminiSessionsByEncodedName",0,u,"getGeminiProjects",0,q,"getGeminiSessionsByEncodedName",0,s,"getGeminiSessionsForCwd",0,r])},93087,a=>{"use strict";var b=a.i(12714),c=a.i(60526),d=a.i(50227),e=a.i(90798),f=a.i(34900),g=a.i(26192),h=a.i(33432),i=a.i(76668);let j=["agent-sessions","conversations","sessions"],k=["meta.json","session.json","workspace.json","workspace.yaml"],l=["events.jsonl","transcript.jsonl","messages.jsonl"];async function m(a){try{return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function n(a){try{return(await (0,b.stat)(a)).mtime}catch{return null}}async function o(a,c){for(let e of c){let c,f=(0,d.join)(a,e);if(await n(f)===null)continue;try{c=await (0,b.readFile)(f,"utf-8")}catch{continue}let g=function(a){try{let b=JSON.parse(a);if("string"==typeof b.cwd&&b.cwd.length>0)return b.cwd}catch{}let b=a.match(/^\s*cwd\s*:\s*(.+?)\s*$/m);if(b){let a=b[1].replace(/^['"]|['"]$/g,"");if(a.length>0)return a}}(c);if(g)return{path:f,cwd:g}}return null}async function p(a,b){for(let c of b){let b=(0,d.join)(a,c);if(await n(b)!==null)return b}return null}async function q(){let a=process.env.CURSOR_HOME||(0,d.join)((0,c.homedir)(),".cursor"),b=[],f=[],h=(0,d.join)(a,"projects"),i=await m(h);if(i)for(let a of i){if(!a.isDirectory())continue;let c=(0,e.decodeFolderName)(a.name),f=c.startsWith("/")||/^[A-Za-z]:\//.test(c)?c:`/${c}`,g=(0,d.join)(h,a.name,"agent-transcripts"),i=await m(g);if(i)for(let a of i)a.isDirectory()&&b.push({sessionId:a.name,dir:(0,d.join)(g,a.name),cwd:f})}for(let b of j){let c=(0,d.join)(a,b),e=await m(c);if(e)for(let a of e)a.isDirectory()&&f.push({sessionId:a.name,dir:(0,d.join)(c,a.name)})}return 0===b.length&&0===f.length?[]:(await (0,g.batchAll)([...b.map(a=>async()=>{let b=(0,d.join)(a.dir,`${a.sessionId}.jsonl`),c=await n(b);return c?{metaPath:a.dir,transcriptPath:b,sessionId:a.sessionId,cwd:a.cwd,fileMtime:c,hasTranscript:!0}:null}),...f.map(a=>async()=>{let b=await o(a.dir,k);if(!b)return null;let c=await p(a.dir,l),d=c?await n(c):null,e=await n(b.path),f=d&&e?new Date(Math.max(d.getTime(),e.getTime())):d??e??new Date(0);return{metaPath:b.path,transcriptPath:c,sessionId:a.sessionId,cwd:b.cwd,fileMtime:f,hasTranscript:null!==c}})],16)).filter(a=>"fulfilled"===a.status).map(a=>a.value).filter(a=>null!==a)}let r=(0,f.runtimeCache)(q,30);async function s(){let a;try{a=await r()}catch(a){return(0,i.logWarn)("Failed to scan Cursor sessions:",a),[]}let b=new Map;for(let c of a){if(!c.hasTranscript)continue;let a=b.get(c.cwd);(!a||c.fileMtime.getTime()>a.latest.getTime())&&b.set(c.cwd,{latest:c.fileMtime,cwd:c.cwd})}let c=[];for(let{cwd:a,latest:d}of b.values())c.push({name:(0,e.encodeFolderName)(a),path:a,isDirectory:!0,lastModified:d,lastModifiedFormatted:(0,h.formatDate)(d),cli:["cursor"]});return c.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),c}function t(a){let b=a.filter(a=>a.hasTranscript&&a.transcriptPath).map(a=>({name:a.sessionId,path:a.transcriptPath,lastModified:a.fileMtime,lastModifiedFormatted:(0,h.formatDate)(a.fileMtime),sessionId:a.sessionId,cli:"cursor"}));return b.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),b}async function u(a){let b;try{b=await r()}catch(a){return(0,i.logWarn)("Failed to scan Cursor sessions:",a),[]}return t(b.filter(b=>b.cwd===a))}async function v(a){let b;try{b=await r()}catch(a){return(0,i.logWarn)("Failed to scan Cursor sessions:",a),{cwd:null,sessions:[]}}let c=b.filter(b=>b.hasTranscript&&(0,e.encodeFolderName)(b.cwd)===a);return{cwd:c[0]?.cwd??null,sessions:t(c)}}let w=(0,f.runtimeCache)(s,30),x=(0,f.runtimeCache)(a=>u(a),30,{maxSize:50}),y=(0,f.runtimeCache)(a=>v(a),30,{maxSize:50});a.s(["getCachedCursorProjects",0,w,"getCachedCursorSessionsByEncodedName",0,y,"getCachedCursorSessionsForCwd",0,x,"getCursorProjects",0,s,"getCursorSessionsByEncodedName",0,v,"getCursorSessionsForCwd",0,u])},34417,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/app/components/sessions-list.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/sessions-list.tsx <module evaluation>","default")},46201,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/app/components/sessions-list.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/sessions-list.tsx","default")},13853,a=>{"use strict";a.i(34417);var b=a.i(46201);a.n(b)},80776,a=>{"use strict";var b=a.i(7997),c=a.i(717),d=a.i(69191),e=a.i(1024),f=a.i(88890),g=a.i(93087),h=a.i(64458),i=a.i(2727),j=a.i(62074),k=a.i(83884),l=a.i(76668),m=a.i(90798);a.i(70396);var n=a.i(73727),o=a.i(22734),p=a.i(24868),q=a.i(95936),r=a.i(33432),s=a.i(13853);async function t({params:a}){let{name:u}=await a,v=null;try{v=(0,d.resolveProjectPath)(u)}catch{v=null}let w=(0,m.decodeFolderName)(u),x=!!v&&(0,o.existsSync)(v),y=[];x&&v&&(y=await (0,d.getCachedSessionFiles)(v));let[z,A,B,C,D,E,F]=await Promise.all([(0,e.getCachedCodexSessionsByEncodedName)(u),(0,f.getCachedCopilotSessionsByEncodedName)(u),(0,g.getCachedCursorSessionsByEncodedName)(u),(0,h.getCachedOpenCodeSessionsByEncodedName)(u),(0,i.getCachedPiSessionsByEncodedName)(u),(0,j.getCachedGeminiSessionsByEncodedName)(u),(0,k.getCachedHermesSessionsByEncodedName)(u)]),G=z.sessions,H=A.sessions,I=B.sessions,J=C.sessions,K=D.sessions,L=E.sessions,M=F.sessions;x||0!==G.length||0!==H.length||0!==I.length||0!==J.length||0!==K.length||0!==L.length||0!==M.length||(0,n.notFound)();let N=z.cwd??A.cwd??B.cwd??C.cwd??D.cwd??E.cwd??F.cwd??w,O=null,P=null;if(x&&v)try{let a=await (0,p.stat)(v);O=a.mtime,P=(0,r.formatDate)(a.mtime)}catch(a){(0,l.logWarn)(`Failed to get stats for project ${w}:`,a)}let Q=[G[0],H[0],I[0],J[0],K[0],L[0],M[0]].filter(a=>!!a).map(a=>a.lastModified).reduce((a,b)=>!a||b.getTime()>a.getTime()?b:a,null);Q&&(!O||Q.getTime()>O.getTime())&&(O=Q,P=(0,r.formatDate)(Q));let R=[...y,...G,...H,...I,...J,...K,...L,...M].sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),S=x&&v?v:N;return(0,b.jsx)("main",{className:"report",children:(0,b.jsxs)("section",{className:"section","data-screen-label":"project",children:[(0,b.jsxs)(q.default,{href:"/projects",className:"project-page-back","aria-label":"Back to projects",children:[(0,b.jsx)("span",{className:"arrow",children:"←"}),"back to projects"]}),(0,b.jsx)("h1",{className:"project-page-title",children:N}),(0,b.jsxs)("div",{className:"project-page-meta",children:[(0,b.jsx)("span",{className:"label",children:"path"}),(0,b.jsx)("span",{className:"path",children:S}),P&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"sep",children:"·"}),(0,b.jsx)("span",{className:"label",children:"modified"}),P]}),(0,b.jsx)("span",{className:"sep",children:"·"}),(0,b.jsx)("span",{className:"label",children:"sessions"}),R.length]}),0===R.length?(0,b.jsxs)("div",{className:"project-page-empty",children:["no .jsonl files found in this project.",(0,b.jsx)("div",{className:"hint",children:"session files will appear here once they are created."})]}):(0,b.jsx)(c.Suspense,{children:(0,b.jsx)(s.default,{files:R,projectName:u})})]})})}a.s(["default",0,t,"dynamic",0,"force-dynamic"])},11363,a=>{a.n(a.i(80776))},93658,a=>{a.v(a=>Promise.resolve().then(()=>a(1024)))},60956,a=>{a.v(a=>Promise.resolve().then(()=>a(88890)))},26244,a=>{a.v(a=>Promise.resolve().then(()=>a(93087)))},2164,a=>{a.v(a=>Promise.resolve().then(()=>a(64458)))},92351,a=>{a.v(a=>Promise.resolve().then(()=>a(2727)))},26396,a=>{a.v(a=>Promise.resolve().then(()=>a(62074)))},84789,a=>{a.v(a=>Promise.resolve().then(()=>a(83884)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0dqgs96._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[24868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},83884,a=>{"use strict";var b=a.i(94431),c=a.i(54563),d=a.i(34900),e=a.i(33432);async function f(){let a=await (0,b.openSqliteReadonly)((0,c.hermesDbPath)());if(!a)return[];try{return a.query("SELECT s.id, s.source, s.cwd, s.title, s.user_id, s.chat_id, s.chat_type, s.started_at, s.ended_at, s.message_count, lm.last_activity FROM sessions s LEFT JOIN (SELECT session_id, MAX(timestamp) AS last_activity FROM messages GROUP BY session_id) lm ON lm.session_id = s.id ORDER BY lm.last_activity DESC").map(a=>({sessionId:a.id,source:a.source??void 0,cwd:a.cwd??void 0,title:a.title??void 0,userId:a.user_id??void 0,chatId:a.chat_id??void 0,chatType:a.chat_type??void 0,mtimeMs:(0,c.epochToMs)(a.last_activity??a.ended_at??a.started_at),messageCount:"number"==typeof a.message_count?a.message_count:0,hasMessages:null!=a.last_activity}))}catch{return[]}finally{a.close()}}let g=(0,d.runtimeCache)(f,2);async function h(){let a=await f(),b=new Map;for(let c of a){if(c.messageCount<=0&&!c.hasMessages)continue;let a=c.source??"unknown";b.set(a,Math.max(b.get(a)??0,c.mtimeMs))}let c=[];for(let[a,d]of b){let b=new Date(d);c.push({name:`hermes-${a}`,path:`hermes:${a}`,isDirectory:!0,lastModified:b,lastModifiedFormatted:(0,e.formatDate)(b),cli:["hermes"]})}return c.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),c}async function i(a){if(!a.startsWith("hermes-"))return{cwd:null,sessions:[]};let b=a.slice(7),c=(await f()).filter(a=>(a.messageCount>0||a.hasMessages)&&(a.source??"unknown")===b);return{cwd:`hermes:${b}`,sessions:c.map(a=>{let b=new Date(a.mtimeMs);return{name:a.title??a.sessionId,path:`hermes://${a.sessionId}`,lastModified:b,lastModifiedFormatted:(0,e.formatDate)(b),sessionId:a.sessionId,cli:"hermes",userId:a.userId,channelId:a.chatId,channelType:a.chatType}})}}let j=(0,d.runtimeCache)(h,2),k=(0,d.runtimeCache)(a=>i(a),2,{maxSize:50});a.s(["getCachedHermesProjects",0,j,"getCachedHermesSessions",0,g,"getCachedHermesSessionsByEncodedName",0,k,"getHermesProjects",0,h,"getHermesSessions",0,f,"getHermesSessionsByEncodedName",0,i])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0q5rfxg._.js.map
|