failproofai 1.0.4-beta.8 → 1.0.4
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/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +4 -4
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
- 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 +2 -2
- 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 +6 -6
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
- 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 +2 -2
- 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 +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- 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 +4 -4
- package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/audit/status/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/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js +1 -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/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +4 -37
- package/.next/standalone/.next/server/app/audit/page.js +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 +14 -14
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js +2 -2
- 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/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +14 -14
- package/.next/standalone/.next/server/app/policies/page.js +4 -4
- 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/build-manifest.json +2 -2
- 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 +4 -4
- 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/build-manifest.json +2 -2
- 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 -5
- 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/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js +3 -3
- 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/app/settings/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +4 -15
- package/.next/standalone/.next/server/app/settings/page.js +4 -4
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/{[externals]__0hmcwgg._.js → [externals]__0-9ti7z._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{[externals]__14b7cc6._.js → [externals]__0u3wrvq._.js} +1 -1
- 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]__08dchfu._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o07qi9._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0rv7m0k._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__17g9wh7._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1le9jqc._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1legmza._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1p-qi2t._.js +5 -0
- package/.next/standalone/.next/server/chunks/_0tovk6q._.js +1 -1
- package/.next/standalone/.next/server/chunks/_0trp3yc._.js +1 -1
- package/.next/standalone/.next/server/chunks/{_1_eakl4._.js → _1-akg6w._.js} +2 -2
- package/.next/standalone/.next/server/chunks/_1ek68ln._.js +10 -10
- package/.next/standalone/.next/server/chunks/_1vslkoe._.js +1 -1
- package/.next/standalone/.next/server/chunks/lib_telemetry_ts_0dctyyw._.js +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_hooks_fp-home_ts_09kv0bn._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__187jks6._.js → [root-of-the-server]__00-s7h8._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__013jr2b._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01wy8d-._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02npjtd._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1fa1jd9._.js → [root-of-the-server]__09flfsx._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0da85px._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ftmoxc._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0kokc8z._.js → [root-of-the-server]__0n_lxhg._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0oa1lav._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0p-5p8u._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s740oi._.js +6 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1kpd1za._.js → [root-of-the-server]__190won8._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1ctpynv._.js +3 -0
- 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]__1p2otjt._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__00y9ww2._.js → [root-of-the-server]__1sc84bb._.js} +2 -21
- package/.next/standalone/.next/server/chunks/ssr/_02yoeej._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_00bqkhj._.js → _04rbnaq._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_08x1r5t._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0s-77v5._.js → _0h_douw._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_1_ozgif._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_1ddpc5g._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_1es2j7i._.js +14 -51
- package/.next/standalone/.next/server/chunks/ssr/{_14c6q09._.js → _1if9ixi._.js} +2 -21
- package/.next/standalone/.next/server/chunks/ssr/{_07t3jol._.js → _1u8-lu2._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_1ylae7o._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_1zopuov._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_policies_page_actions_1sp2-yo.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47._.js +69 -1
- 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/app_settings_settings-client_tsx_20lq-mq._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/lib_openclaw-projects_ts_0qxq3bp._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_13n822a._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_html-to-image_es_index_1ao30b1.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_builtin-policies_ts_09j2ndl._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_fp-config_ts_04t589g._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_fp-home_ts_0je3xkv._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +5 -5
- 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 +21 -65
- package/.next/standalone/.next/static/chunks/{1302duobnz07l.js → 0-tyrpwuc3lla.js} +1 -1
- package/.next/standalone/.next/static/chunks/0ca7octhod0g2.js +69 -0
- package/.next/standalone/.next/static/chunks/0u64yey446k4f.css +1 -0
- package/.next/standalone/.next/static/chunks/{2n85g-crgcx5j.js → 1j6o9min_6qa9.js} +1 -1
- package/.next/standalone/.next/static/chunks/27cl8h-c2w7cd.js +1 -0
- package/.next/standalone/.next/static/chunks/{0jpd8dv2vk930.css → 29-iqnp9v_axt.css} +1 -1
- package/.next/standalone/.next/static/chunks/{3uyhmm01g64k4.css → 2k9f4tyv04809.css} +0 -1
- package/.next/standalone/.next/static/chunks/{1chm9piluggc-.js → 2lwipmv5etc8m.js} +1 -1
- package/.next/standalone/.next/static/chunks/2pd16tn5qmx13.js +1 -0
- package/.next/standalone/.next/static/chunks/{2ukucf6g-kbs5.js → 2u8vh73tpw28_.js} +1 -1
- package/.next/standalone/.next/static/chunks/{1_x7pqemw5n_w.js → 31u94yukw9fz-.js} +1 -1
- package/.next/standalone/.next/static/chunks/{2mizt96igig1y.js → 3p9_8x5ezce-9.js} +1 -1
- package/.next/standalone/.next/static/chunks/3qfoeqhy5l10x.js +1 -0
- package/.next/standalone/.next/static/chunks/{0vm4wdx3w-2_w.js → 3tjji451hrgc0.js} +1 -1
- package/.next/standalone/.next/static/chunks/3zkg2s2vzxc3d.js +1 -0
- package/.next/standalone/.next/static/chunks/{turbopack-3s3c-u_u_l0u9.js → turbopack-3p73obe0xmrxm.js} +1 -1
- package/.next/standalone/.opencode/plugins/failproofai.mjs +27 -51
- package/.next/standalone/app/actions/get-scheduled-audit.ts +0 -5
- package/.next/standalone/app/actions/update-scheduled-audit.ts +57 -18
- package/.next/standalone/app/api/auth/status/route.ts +2 -3
- package/.next/standalone/app/audit/_components/audit-dashboard.tsx +34 -140
- package/.next/standalone/app/audit/_components/audit-poster.tsx +10 -29
- package/.next/standalone/app/audit/_components/come-back-better-section.tsx +1 -6
- package/.next/standalone/app/audit/_components/empty-state.tsx +1 -4
- package/.next/standalone/app/audit/_components/how-to-improve-section.tsx +5 -19
- package/.next/standalone/app/audit/_components/share-templates.ts +44 -110
- package/.next/standalone/app/audit/audit-styles.css +1 -132
- package/.next/standalone/app/settings/page.tsx +1 -1
- package/.next/standalone/app/settings/settings-client.tsx +45 -50
- package/.next/standalone/lib/auth/api-server-client.ts +5 -33
- package/.next/standalone/lib/claude-sessions.ts +27 -101
- package/.next/standalone/lib/codex-sessions.ts +4 -20
- package/.next/standalone/lib/copilot-sessions.ts +1 -32
- package/.next/standalone/lib/cursor-sessions.ts +5 -62
- package/.next/standalone/lib/download-session.ts +13 -58
- package/.next/standalone/lib/openclaw-projects.ts +18 -54
- package/.next/standalone/lib/openclaw-sessions.ts +17 -75
- package/.next/standalone/lib/sqlite-reader.ts +1 -78
- package/.next/standalone/package.json +9 -9
- package/.next/standalone/server.js +1 -1
- package/bin/failproofai.mjs +1 -1
- package/dist/cli.mjs +664 -2121
- package/dist/worker.mjs +105 -422
- package/lib/auth/api-server-client.ts +5 -33
- package/lib/claude-sessions.ts +27 -101
- package/lib/codex-sessions.ts +4 -20
- package/lib/copilot-sessions.ts +1 -32
- package/lib/cursor-sessions.ts +5 -62
- package/lib/download-session.ts +13 -58
- package/lib/openclaw-projects.ts +18 -54
- package/lib/openclaw-sessions.ts +17 -75
- package/lib/sqlite-reader.ts +1 -78
- package/package.json +9 -9
- package/pi-extension/index.ts +5 -50
- package/src/audit/cache.ts +0 -6
- package/src/audit/cli-adapters/claude.ts +0 -13
- package/src/audit/cli-login.ts +1 -4
- package/src/audit/cli.ts +7 -157
- package/src/audit/harm-report.ts +4 -111
- package/src/audit/index.ts +15 -286
- package/src/audit/machine-store.ts +9 -8
- package/src/audit/redact-example.ts +15 -324
- package/src/audit/report-harm.ts +37 -33
- package/src/audit/report.ts +3 -6
- package/src/audit/schedule-cli.ts +33 -54
- package/src/audit/scoring.ts +0 -49
- package/src/audit/types.ts +0 -52
- package/src/hooks/builtin-policies.ts +2 -67
- package/src/hooks/configure-wizard.ts +0 -55
- package/src/hooks/fp-config.ts +48 -83
- package/src/hooks/fp-home.ts +0 -27
- package/src/hooks/integrations.ts +14 -51
- package/src/hooks/uninstall-cli.ts +2 -17
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0faqz9x._.js +0 -22
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zyc_nm._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__112b4go._.js +0 -24
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1l71g3y._.js +0 -22
- package/.next/standalone/.next/server/chunks/lib_openclaw-projects_ts_0gc-p24._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0-4ja6q._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__00cr3xu._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__04px77e._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0egr5s1._.js +0 -6
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0i0l1di._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0n2txhk._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0r3c1_0._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__17xnxlx._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1ckpmkk._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1kaotix._.js +0 -22
- package/.next/standalone/.next/server/chunks/ssr/_04ng_6x._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0l2hi_d._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/app_audit__components_rerun-button_tsx_0blihgw._.js +0 -3
- package/.next/standalone/.next/static/chunks/0igq884ziuv-8.js +0 -1
- package/.next/standalone/.next/static/chunks/349jkb79v5g6z.js +0 -1
- package/.next/standalone/.next/static/chunks/3a4gth64hwtwf.js +0 -1
- package/.next/standalone/app/actions/get-leaks.ts +0 -104
- package/.next/standalone/app/audit/_components/leak-section.tsx +0 -192
- package/.next/standalone/lib/openclaw-db.ts +0 -271
- package/lib/openclaw-db.ts +0 -271
- package/src/audit/desktop-notify.ts +0 -420
- package/src/audit/leak-fingerprint.ts +0 -198
- package/src/audit/leak-record.ts +0 -248
- package/src/audit/leak-scan.ts +0 -268
- package/src/audit/leak-store.ts +0 -220
- package/src/audit/macos-notifier.ts +0 -298
- package/src/hooks/notice.ts +0 -24
- /package/.next/standalone/.next/static/{DNhaAH8iPGH0tIuxee5_2 → dg8VQ7Ejlo0Qsh_x92oIt}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{DNhaAH8iPGH0tIuxee5_2 → dg8VQ7Ejlo0Qsh_x92oIt}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{DNhaAH8iPGH0tIuxee5_2 → dg8VQ7Ejlo0Qsh_x92oIt}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[35770,a=>{"use strict";a.s(["CopyButton",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call CopyButton() from the server but CopyButton is 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/copy-button.tsx","CopyButton")},893,a=>{"use strict";var b=a.i(35770);a.n(b)},19597,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/lazy-log-viewer.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/lazy-log-viewer.tsx","default")},71130,a=>{"use strict";var b=a.i(19597);a.n(b)},41190,a=>{"use strict";var b=a.i(7997),c=a.i(95936),d=a.i(717);let e=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var f=a.i(53808);let g=(a,b)=>{let c=(0,d.forwardRef)(({className:c,...g},h)=>(0,d.createElement)(f.default,{ref:h,iconNode:b,className:((...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim())(`lucide-${e(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,c),...g}));return c.displayName=e(a),c},h=g("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),i=g("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.i(70396);var j=a.i(73727),k=a.i(83397),l=a.i(2157),m=a.i(12714),n=a.i(50227),o=a.i(60526),p=a.i(34900),q=a.i(92246);let r=(0,a.i(75818).codexSessionPathsFile)();function s(){try{if(!(0,l.existsSync)(r))return{};return JSON.parse((0,l.readFileSync)(r,"utf-8"))}catch{return{}}}function t(a,b){try{(0,l.mkdirSync)((0,n.dirname)(r),{recursive:!0});let c=s();c[a]=b,(0,l.writeFileSync)(r,JSON.stringify(c),"utf-8")}catch{}}function u(a,b){try{for(let c of(0,l.readdirSync)(a,{withFileTypes:!0}))if(c.isFile()&&c.name.includes(b)&&c.name.endsWith(".jsonl"))return(0,n.join)(a,c.name)}catch{}return null}function v(a,b){return Array.isArray(a)?a.filter(a=>a?.type===b&&"string"==typeof a.text).map(a=>a.text).join("\n"):""}async function w(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=new Map,h=new Map,i=!1;for(let a=0;a<d.length;a++){let l;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let m=d[a];try{l=JSON.parse(m)}catch{continue}let n={...l,_source:b};f.push(n);let o=l.timestamp;if(!o)continue;let p=new Date(o);if(Number.isNaN(p.getTime()))continue;let r=l.type,s=l.payload??{};if("session_meta"===r){let a=s.cwd;"string"!=typeof a||c||(c=a),e.push({type:"system",...(0,k.baseEntry)(n,o,p,b),raw:n});continue}if("response_item"===r){let a=s.type;if("message"===a){let a=s.role,c=s.content;if("user"===a||"developer"===a){let d=v(c,"input_text");if(!d)continue;let f="developer"===a?`[developer] ${d}`:d;e.push({type:"user",...(0,k.baseEntry)(n,o,p,b),message:{role:"user",content:f}});continue}if("assistant"===a){let a=v(c,"output_text");if(!a)continue;let d=[{type:"text",text:a}];e.push({type:"assistant",...(0,k.baseEntry)(n,o,p,b),message:{role:"assistant",content:d}});continue}e.push({type:"system",...(0,k.baseEntry)(n,o,p,b),raw:n});continue}if("function_call"===a||"custom_tool_call"===a){let a=s.call_id,c=s.name??"function_call",d={type:"tool_use",id:a??`${o}-${c}`,name:c,input:function(a){if(!a)return{};try{return JSON.parse(a)}catch{return{}}}(s.arguments??s.input)},f={type:"assistant",...(0,k.baseEntry)(n,o,p,b),message:{role:"assistant",content:[d]}};e.push(f),a&&(g.set(a,d),h.set(a,p.getTime()));continue}if("function_call_output"===a||"custom_tool_call_output"===a){let a=s.call_id,c=a?g.get(a):void 0;if(c){var j;let b=h.get(a)??p.getTime(),d=Math.max(0,p.getTime()-b);c.result={timestamp:o,timestampFormatted:(0,k.formatTimestamp)(p),content:"string"==typeof(j=s.output)?j:Array.isArray(j)?j.filter(a=>!!a&&"object"==typeof a).map(a=>"string"==typeof a.text?a.text:"").filter(Boolean).join("\n"):void 0===j?"":JSON.stringify(j),durationMs:d,durationFormatted:(0,q.formatDuration)(d)};continue}e.push({type:"system",...(0,k.baseEntry)(n,o,p,b),raw:n});continue}e.push({type:"system",...(0,k.baseEntry)(n,o,p,b),raw:n});continue}if("event_msg"===r){let a=s.type;if("task_started"===a){let a=i?"Session Resumed":"Session Started";i=!0,e.push({type:"queue-operation",...(0,k.baseEntry)(n,o,p,b),label:a});continue}if("exec_command_end"===a){let a=s.call_id,c=a?g.get(a):void 0;if(c){let b=s.duration,d=b?(b.secs??0)*1e3+Math.round((b.nanos??0)/1e6):Math.max(0,p.getTime()-(h.get(a)??p.getTime())),e=s.aggregated_output;c.result={timestamp:o,timestampFormatted:(0,k.formatTimestamp)(p),content:"string"==typeof e?e:JSON.stringify(e),durationMs:d,durationFormatted:(0,q.formatDuration)(d)};continue}e.push({type:"system",...(0,k.baseEntry)(n,o,p,b),raw:n});continue}if("user_message"===a||"agent_message"===a)continue;e.push({type:"system",...(0,k.baseEntry)(n,o,p,b),raw:n});continue}e.push({type:"system",...(0,k.baseEntry)(n,o,p,b),raw:n})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function x(a){let b=function(a){let b=s()[a];if(b&&(0,l.existsSync)(b))return b;let c=(0,n.join)((0,o.homedir)(),".codex","sessions"),d=new Date,e=new Date(d.getTime()-864e5);for(let b of[d,e].map(a=>{let b=String(a.getUTCFullYear()),d=String(a.getUTCMonth()+1).padStart(2,"0"),e=String(a.getUTCDate()).padStart(2,"0");return(0,n.join)(c,b,d,e)})){let c=u(b,a);if(c)return t(a,c),c}try{for(let b of(0,l.readdirSync)(c,{withFileTypes:!0}))if(b.isDirectory()){for(let d of(0,l.readdirSync)((0,n.join)(c,b.name),{withFileTypes:!0}))if(d.isDirectory())for(let e of(0,l.readdirSync)((0,n.join)(c,b.name,d.name),{withFileTypes:!0})){if(!e.isDirectory())continue;let f=u((0,n.join)(c,b.name,d.name,e.name),a);if(f)return t(a,f),f}}}catch{}return null}(a);if(!b)return null;let c=await (0,m.readFile)(b,"utf-8"),{entries:d,rawLines:e,cwd:f}=await w(c,"session");return{entries:d,rawLines:e,cwd:f,filePath:b}}let y=(0,p.runtimeCache)(a=>x(a),60,{maxSize:50});function z(a,b){let c=function(a){if(!a)return null;let b=(0,n.resolve)((0,n.join)(process.env.COPILOT_HOME||(0,n.join)((0,o.homedir)(),".copilot"),"session-state")),c=(0,n.resolve)(b,a);return c!==b&&c.startsWith(`${b}${n.sep}`)?c:null}(a);return c?(0,n.join)(c,b):null}async function A(a,b="session"){let c,d,e=a.split("\n").filter(a=>""!==a.trim()),f=[],g=[],h=new Map,i=new Map,j=0,l=!1;for(let a=0;a<e.length;a++){let m;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let n=e[a];try{m=JSON.parse(n)}catch{continue}let o={...m,_source:b};g.push(o);let p=m.timestamp;if(!p)continue;let r=new Date(p);if(Number.isNaN(r.getTime()))continue;let s=r.toISOString(),t=m.type,u=m.data??{};if("session.start"===t){let a=u.context,c=a?.cwd;"string"!=typeof c||d||(d=c);let e=l?"Session Resumed":"Session Started";l=!0,f.push({type:"queue-operation",...(0,k.baseEntry)(o,s,r,b),label:e});continue}if("user.message"===t){let a=u.content??"";if(!a)continue;f.push({type:"user",...(0,k.baseEntry)(o,s,r,b),message:{role:"user",content:a}});continue}if("system.message"===t){f.push({type:"system",...(0,k.baseEntry)(o,s,r,b),raw:o});continue}if("assistant.message"===t){let a=u.content??"";if(!a){f.push({type:"system",...(0,k.baseEntry)(o,s,r,b),raw:o});continue}let c=[{type:"text",text:a}];f.push({type:"assistant",...(0,k.baseEntry)(o,s,r,b),message:{role:"assistant",content:c}});continue}if("tool.execution_start"===t){let a=u.toolCallId,d=u.toolName??"tool",e=u.arguments??{},g={type:"tool_use",id:a??`${r.getTime()}-${d}`,name:d,input:e},l={type:"assistant",...(0,k.baseEntry)(o,s,r,b),message:{role:"assistant",content:[g]}};f.push(l),a&&(h.set(a,g),i.set(a,r.getTime())),c=g,j=r.getTime();continue}if("hook.start"===t&&"postToolUse"===u.hookType&&c){let a=(u.input??{}).toolResult??{},b=a.textResultForLlm??a.sessionLog;"string"==typeof b&&b.length>0&&(c.result={timestamp:s,timestampFormatted:(0,k.formatTimestamp)(r),content:b,durationMs:Math.max(0,r.getTime()-j),durationFormatted:(0,q.formatDuration)(Math.max(0,r.getTime()-j))})}if("tool.execution_complete"===t){let a=u.toolCallId,c=a?h.get(a):void 0;if(c){let b=i.get(a)??r.getTime(),d=u.result??{},e=u.toolTelemetry??{},f=e.metrics?.commandTimeMs??e.metrics?.durationMs??null,g="number"==typeof f&&f>=0?f:Math.max(0,r.getTime()-b),h=d.detailedContent??d.content??"",j=c.result?.content||h;c.result={timestamp:s,timestampFormatted:(0,k.formatTimestamp)(r),content:"string"==typeof j?j:JSON.stringify(j),durationMs:g,durationFormatted:(0,q.formatDuration)(g)};continue}f.push({type:"system",...(0,k.baseEntry)(o,s,r,b),raw:o});continue}f.push({type:"system",...(0,k.baseEntry)(o,s,r,b),raw:o})}return f.length>500&&await new Promise(a=>setImmediate(a)),f.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:f,rawLines:g,cwd:d}}async function B(a){let b,c,d=(c=z(a,"events.jsonl"))&&(0,l.existsSync)(c)?c:null;if(!d)return null;try{b=await (0,m.readFile)(d,"utf-8")}catch{return null}let{entries:e,rawLines:f,cwd:g}=await A(b,"session");return{entries:e,rawLines:f,cwd:g??function(a){let b,c=(b=z(a,"workspace.yaml"))&&(0,l.existsSync)(b)?b:null;if(c)try{let a=(0,l.readFileSync)(c,"utf-8"),b=RegExp("^cwd\\s*:\\s*(.+?)\\s*$","m"),d=a.match(b);if(!d)return;return d[1].replace(/^['"]|['"]$/g,"")}catch{return}}(a),filePath:d}}let C=(0,p.runtimeCache)(a=>B(a),60,{maxSize:50}),D=["agent-sessions","conversations","sessions"],E=["events.jsonl","transcript.jsonl","messages.jsonl"],F="agent-transcripts";async function G(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=new Map,h=new Map,i=!1,j=Date.now();for(let a=0;a<d.length;a++){let l;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let m=d[a];try{l=JSON.parse(m)}catch{continue}let n={...l,_source:b};if(f.push(n),!l.type&&l.role&&l.message?.content){let c=new Date(j+a),d=c.toISOString(),f=l.message.content,i=f.filter(a=>a?.type==="text"&&"string"==typeof a.text).map(a=>a.text).join("");if("user"===l.role){let a=!1;for(let b of f){if(b?.type!=="tool_result")continue;let e="string"==typeof b.tool_use_id?b.tool_use_id:void 0,f=e?g.get(e):void 0;if(!f)continue;let i=Math.max(0,c.getTime()-(h.get(e)??c.getTime()));f.result={timestamp:d,timestampFormatted:(0,k.formatTimestamp)(c),content:"string"==typeof b.content?b.content:null==b.content?"":JSON.stringify(b.content),durationMs:i,durationFormatted:(0,q.formatDuration)(i)},a=!0}let j=/<user_query>\s*([\s\S]*?)\s*<\/user_query>/.exec(i),l=j?j[1]:i;l?e.push({type:"user",...(0,k.baseEntry)(n,d,c,b),message:{role:"user",content:l}}):a||e.push({type:"system",...(0,k.baseEntry)(n,d,c,b),raw:n});continue}if("assistant"===l.role){let j=[];i&&j.push({type:"text",text:i});for(let b=0;b<f.length;b++){let d=f[b];if(d?.type!=="tool_use")continue;let e="string"==typeof d.name?d.name:"tool",i="string"==typeof d.id&&d.id?d.id:`cursor-${a}-${e}-${b}`,k={type:"tool_use",id:i,name:e,input:d.input&&"object"==typeof d.input?d.input:{}};j.push(k),g.set(i,k),h.set(i,c.getTime())}0===j.length?e.push({type:"system",...(0,k.baseEntry)(n,d,c,b),raw:n}):e.push({type:"assistant",...(0,k.baseEntry)(n,d,c,b),message:{role:"assistant",content:j}});continue}e.push({type:"system",...(0,k.baseEntry)(n,d,c,b),raw:n});continue}let o=l.timestamp;if(!o)continue;let p=new Date(o);if(Number.isNaN(p.getTime()))continue;let r=p.toISOString(),s=l.type,t=l.data??{};if("session.start"===s||"sessionStart"===s||"session_start"===s){let a=t.context??t,d=a.cwd;"string"!=typeof d||c||(c=d),!c&&Array.isArray(a.workspace_roots)&&"string"==typeof a.workspace_roots[0]&&(c=a.workspace_roots[0]);let f=i?"Session Resumed":"Session Started";i=!0,e.push({type:"queue-operation",...(0,k.baseEntry)(n,r,p,b),label:f});continue}if("user.message"===s||"userMessage"===s){let a="string"==typeof t.content?t.content:"string"==typeof t.text?t.text:"";if(!a)continue;e.push({type:"user",...(0,k.baseEntry)(n,r,p,b),message:{role:"user",content:a}});continue}if("system.message"===s||"systemMessage"===s){e.push({type:"system",...(0,k.baseEntry)(n,r,p,b),raw:n});continue}if("assistant.message"===s||"assistantMessage"===s){let a="string"==typeof t.content?t.content:"string"==typeof t.text?t.text:"";if(!a){e.push({type:"system",...(0,k.baseEntry)(n,r,p,b),raw:n});continue}let c=[{type:"text",text:a}];e.push({type:"assistant",...(0,k.baseEntry)(n,r,p,b),message:{role:"assistant",content:c}});continue}if("tool.execution_start"===s||"tool.executionStart"===s||"preToolUse"===s){let a=t.toolCallId??t.tool_use_id,c=t.toolName??t.tool_name??"tool",d=t.arguments??t.tool_input??{},f={type:"tool_use",id:a??`${p.getTime()}-${c}`,name:c,input:d},i={type:"assistant",...(0,k.baseEntry)(n,r,p,b),message:{role:"assistant",content:[f]}};e.push(i),a&&(g.set(a,f),h.set(a,p.getTime()));continue}if("tool.execution_complete"===s||"tool.executionComplete"===s||"postToolUse"===s){let a=t.toolCallId??t.tool_use_id,c=a?g.get(a):void 0;if(c){let b=h.get(a)??p.getTime(),d=t.result??{},e=t.duration,f="number"==typeof e&&e>=0?e:Math.max(0,p.getTime()-b),g=d.detailedContent??d.content??t.tool_output??"";c.result={timestamp:r,timestampFormatted:(0,k.formatTimestamp)(p),content:"string"==typeof g?g:JSON.stringify(g),durationMs:f,durationFormatted:(0,q.formatDuration)(f)};continue}e.push({type:"system",...(0,k.baseEntry)(n,r,p,b),raw:n});continue}e.push({type:"system",...(0,k.baseEntry)(n,r,p,b),raw:n})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function H(a){let b,c=function(a){let b=function(a){if(!a)return null;let b=(0,n.resolve)(process.env.CURSOR_HOME||(0,n.join)((0,o.homedir)(),".cursor")),c=(0,n.resolve)(b,"projects"),d=[];try{d=(0,l.readdirSync)(c,{withFileTypes:!0})}catch{}for(let b of d){if(!b.isDirectory())continue;let d=(0,n.resolve)(c,b.name,F,a),e=(0,n.resolve)(c,b.name,F);if(d!==e&&d.startsWith(`${e}${n.sep}`)&&(0,l.existsSync)(d))return d}for(let c of D){let d=(0,n.resolve)(b,c),e=(0,n.resolve)(d,a);if(e!==d&&e.startsWith(`${d}${n.sep}`)&&(0,l.existsSync)(e))return e}return null}(a);if(!b)return null;let c=(0,n.join)(b,`${(0,n.basename)(b)}.jsonl`);if((0,l.existsSync)(c))return c;for(let a of E){let c=(0,n.join)(b,a);if((0,l.existsSync)(c))return c}return null}(a);if(!c)return null;try{b=await (0,m.readFile)(c,"utf-8")}catch{return null}let{entries:d,rawLines:e,cwd:f}=await G(b,"session");return{entries:d,rawLines:e,cwd:f,filePath:c}}let I=(0,p.runtimeCache)(a=>H(a),60,{maxSize:50});var J=a.i(84794);function K(a){try{return a()}catch{return null}}function L(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function M(a){if("string"!=typeof a||0===a.length)return null;try{let b=JSON.parse(a);return L(b)?b:null}catch{return null}}async function N(a){if(!a||!/^[A-Za-z0-9_-]+$/.test(a))return null;let b=await (0,J.withOpenCodeDb)(b=>({sessions:K(()=>b.query("SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session WHERE id = ?",[a])),messages:K(()=>b.query("SELECT id, session_id, time_created, time_updated, data FROM message WHERE session_id = ? ORDER BY time_created ASC",[a])),parts:K(()=>b.query("SELECT id, message_id, session_id, time_created, time_updated, data FROM part WHERE session_id = ? ORDER BY time_created ASC",[a]))})),c=b?.sessions??null;if(!c||0===c.length)return null;let d=c[0],e=b?.messages??null,f=b?.parts??null;if(!e)return{entries:[],rawLines:[],cwd:d.directory??void 0,filePath:`opencode://${a}`};let g=new Map;for(let a of f??[]){let b=g.get(a.message_id);b||(b=[],g.set(a.message_id,b)),b.push(a)}let h=[],i=[];for(let a of e){let b=g.get(a.id)??[];h.push(function(a,b,c){let d=M(a.data)??{},e="string"==typeof d.role?d.role:"system",f=new Date(a.time_created),g=f.toISOString(),h={uuid:a.id,parentUuid:null},i=(0,k.baseEntry)(h,g,f,c),j=[],l="";for(let a of b){let b=M(a.data);if(!b)continue;let c="string"==typeof b.type?b.type:"unknown";if("text"===c){let a="string"==typeof b.text?b.text:"string"==typeof b.content?b.content:"";a&&(j.push({type:"text",text:a}),l+=(l?"\n":"")+a);continue}if("tool"===c){let c="string"==typeof b.tool?b.tool:"string"==typeof b.name?b.name:"tool",d=L(b.state)?b.state:null,e=d&&L(d.input)?d.input:L(b.input)?b.input:L(b.args)?b.args:{},f={type:"tool_use",id:a.id,name:c,input:e},g=d&&"string"==typeof d.status?d.status:"";if(d&&("completed"===g||"error"===g)){let b=("error"===g&&"string"==typeof d.error?d.error:null)??d.output,c="string"==typeof b?b:null!=b?JSON.stringify(b):"",e=L(d.time)?d.time:{},h="number"==typeof e.start?e.start:a.time_created,i="number"==typeof e.end?e.end:a.time_updated,j=Math.max(0,i-h),l=new Date(i);f.result={timestamp:l.toISOString(),timestampFormatted:(0,k.formatTimestamp)(l),content:c,durationMs:j,durationFormatted:(0,q.formatDuration)(j)}}j.push(f);continue}j.push({type:"text",text:`[opencode ${c}]`})}if("user"===e)return{...i,type:"user",message:{role:"user",content:l}};if("assistant"===e){let a=L(d.model)?d.model:null,b=a&&"string"==typeof a.modelID?a.modelID:void 0;return{...i,type:"assistant",message:{role:"assistant",content:j,model:b}}}return{...i,type:"system",raw:{id:a.id,role:e,parts:j}}}(a,b,"session"));let c=M(a.data);i.push({id:a.id,session_id:a.session_id,time_created:a.time_created,data:c??a.data})}return{entries:h,rawLines:i,cwd:d.directory??void 0,filePath:`opencode://${a}`}}let O=(0,p.runtimeCache)(a=>N(a),30,{maxSize:50}),P=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Q=/^[\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 R(a){if(!Array.isArray(a))return"";let b=[];for(let c of a)c?.type==="text"&&"string"==typeof c.text&&b.push(c.text);return b.join("\n\n")}async function S(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=!1,h=new Map,i=new Map;for(let a=0;a<d.length;a++){let j;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let l=d[a];try{j=JSON.parse(l)}catch{continue}let m={...j,_source:b};f.push(m);let n=j.timestamp;if(!n)continue;let o=new Date(n);if(Number.isNaN(o.getTime()))continue;let p=o.toISOString(),r=j.type;if("session"===r){"string"!=typeof j.cwd||c||(c=j.cwd);let a=g?"Session Resumed":"Session Started";g=!0,e.push({type:"queue-operation",...(0,k.baseEntry)(m,p,o,b),label:a});continue}if("message"===r&&j.message&&"object"==typeof j.message){let a=j.message.role,c=j.message.content;if("user"===a){let a=R(c);if(!a)continue;e.push({type:"user",...(0,k.baseEntry)(m,p,o,b),message:{role:"user",content:a}});continue}if("assistant"===a){let a=function(a,b){if(!Array.isArray(a))return[];let c=[];for(let d of a)if(d?.type==="text"&&"string"==typeof d.text&&d.text.length>0&&c.push({type:"text",text:d.text}),d?.type==="thinking"&&"string"==typeof d.thinking&&d.thinking.length>0&&c.push({type:"text",text:`[thinking] ${d.thinking}`}),d?.type==="toolCall"){let a="string"==typeof d.id&&d.id.length>0?d.id:`${"string"==typeof d.name?d.name:"tool"}-${c.length}`,e={type:"tool_use",id:a,name:"string"==typeof d.name?d.name:"tool",input:d.arguments&&"object"==typeof d.arguments&&!Array.isArray(d.arguments)?d.arguments:{}};c.push(e),b?.(e)}return c}(c,a=>{h.set(a.id,a),i.set(a.id,o.getTime())});if(0===a.length){e.push({type:"system",...(0,k.baseEntry)(m,p,o,b),raw:m});continue}e.push({type:"assistant",...(0,k.baseEntry)(m,p,o,b),message:{role:"assistant",content:a}});continue}if("toolResult"===a){let a=j.message.toolCallId,b="string"==typeof a?h.get(a):void 0;if(b){let d="string"==typeof a&&i.get(a)||o.getTime(),e=Math.max(0,o.getTime()-d);b.result={timestamp:p,timestampFormatted:(0,k.formatTimestamp)(o),content:R(c),durationMs:e,durationFormatted:(0,q.formatDuration)(e)};continue}}e.push({type:"system",...(0,k.baseEntry)(m,p,o,b),raw:m});continue}e.push({type:"system",...(0,k.baseEntry)(m,p,o,b),raw:m})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function T(a){let b,c,d=function(a){let b;if(!P.test(a))return null;let c=(0,n.resolve)(process.env.PI_SESSIONS_DIR||(0,n.join)((0,o.homedir)(),".pi","agent","sessions"));try{b=(0,l.readdirSync)(c)}catch{return null}for(let d of b){let b,e=(0,n.resolve)(c,d);if(e.startsWith(`${c}${n.sep}`)){try{b=(0,l.readdirSync)(e)}catch{continue}for(let c of b){let b=Q.exec(c);if(!b||b[1].toLowerCase()!==a.toLowerCase())continue;let d=(0,n.resolve)(e,c);if(d.startsWith(`${e}${n.sep}`)&&(0,l.existsSync)(d))return d}}}return null}(a);if(!d)return null;try{b=await (0,m.readFile)(d,"utf-8")}catch{return null}try{c=await S(b,"session")}catch{return null}return{entries:c.entries,rawLines:c.rawLines,cwd:c.cwd,filePath:d}}let U=(0,p.runtimeCache)(a=>T(a),60,{maxSize:50});var V=a.i(54563),W=a.i(87488),X=a.i(89901),Y=a.i(33559),Z=a.i(99910),$=a.i(74615),_=a.i(90798),aa=a.i(69191),ab=a.i(71130),ac=a.i(893),ad=a.i(24282);function ae({cli:a}){let c=(0,ad.getCliLabel)(a),d=(0,ad.getCliBadgeClasses)(a);return(0,b.jsx)("span",{className:`inline-flex items-center rounded px-1.5 py-0.5 text-[0.6rem] font-mono font-medium uppercase tracking-wider border ${d}`,title:`Agent CLI: ${c}`,children:c})}async function af({params:a}){let d,e,{name:f,sessionId:g}=await a;try{(0,aa.resolveProjectPath)(f)}catch{(0,j.notFound)()}let l=(0,_.decodeFolderName)(f),m=-1===(e=g.indexOf("/"))?g:g.slice(0,e);aa.UUID_RE.test(m)||/^ses_[A-Za-z0-9]+$/.test(m)||/^[A-Za-z0-9_-]+$/.test(m)||(0,j.notFound)();let n=null,o=null,p=null,q="claude";try{let a=await (0,k.getCachedSessionLog)(f,m);n=a.entries,o=a.rawLines}catch(a){if("ENOENT"===a.code){let a=await y(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="codex";else{let a=await C(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="copilot";else{let a=await I(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="cursor";else{let a=await O(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="opencode";else{let a=await U(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="pi";else{let a=await (0,V.getCachedHermesSessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="hermes";else{let a=await (0,W.getCachedOpenClawSessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="openclaw";else{let a=await (0,X.getCachedFactorySessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="factory";else{let a=await (0,Y.getCachedDevinSessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="devin";else{let a=await (0,Z.getCachedAntigravitySessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="antigravity";else{let a=await (0,$.getCachedGooseSessionLog)(m);a?(n=a.entries,o=a.rawLines,d=a.cwd,q="goose"):p="Session log file not found."}}}}}}}}}}}else p="Failed to read session log."}let r="claude"!==q,s="codex"===q?`OpenAI Codex${d?` \xb7 ${d}`:""}`:"copilot"===q?`GitHub Copilot${d?` \xb7 ${d}`:""}`:"cursor"===q?`Cursor Agent${d?` \xb7 ${d}`:""}`:"opencode"===q?`OpenCode${d?` \xb7 ${d}`:""}`:"pi"===q?`Pi${d?` \xb7 ${d}`:""}`:"hermes"===q?`Hermes${d?` \xb7 ${d}`:""}`:"openclaw"===q?`OpenClaw${d?` \xb7 ${d}`:""}`:"factory"===q?`Factory Droid${d?` \xb7 ${d}`:""}`:"devin"===q?`Devin CLI${d?` \xb7 ${d}`:""}`:"antigravity"===q?`Antigravity CLI${d?` \xb7 ${d}`:""}`:"goose"===q?`Goose${d?` \xb7 ${d}`:""}`:l;return(0,b.jsx)("main",{className:"min-h-screen bg-background",children:(0,b.jsxs)("div",{className:"container mx-auto p-8",children:[(0,b.jsxs)(c.default,{href:r?"/policies?tab=activity":`/project/${encodeURIComponent(f)}`,className:"inline-flex items-center gap-2 text-muted-foreground hover:text-foreground mb-6 transition-colors",children:[(0,b.jsx)(h,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:r?"Back to Activity":"Back to Sessions"})]}),(0,b.jsxs)("div",{className:"mb-8",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3 mb-2",children:[(0,b.jsx)("h1",{className:"text-4xl font-bold text-foreground",children:"Session Log"}),(0,b.jsx)(ae,{cli:q})]}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("p",{className:"text-muted-foreground",children:[(0,b.jsxs)("span",{className:"font-medium",children:[r?"CLI":"Project",":"]})," ",s]}),(0,b.jsxs)("p",{className:"text-muted-foreground break-words break-all inline-flex items-center gap-1",children:[(0,b.jsx)("span",{className:"font-medium",children:"Session:"})," ",m,(0,b.jsx)(ac.CopyButton,{text:m})]}),n&&o&&(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("p",{className:"text-muted-foreground",children:[(0,b.jsx)("span",{className:"font-medium",children:o.length})," log lines"]}),(0,b.jsxs)("a",{href:`/api/download/${encodeURIComponent(f)}/${encodeURIComponent(m)}?cli=${q}`,download:!0,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-md bg-muted text-muted-foreground hover:bg-muted/80 hover:text-foreground transition-colors",children:[(0,b.jsx)(i,{className:"w-4 h-4"}),"Download Logs"]})]})]})]}),p&&(0,b.jsx)("div",{className:"bg-card text-card-foreground rounded-lg border border-destructive/50 p-6 shadow-sm",children:(0,b.jsx)("p",{className:"text-destructive text-center py-8",children:p})}),!p&&n&&(0,b.jsx)(ab.default,{entries:n,projectName:r?d??("codex"===q?"OpenAI Codex":"copilot"===q?"GitHub Copilot":"cursor"===q?"Cursor Agent":"opencode"===q?"OpenCode":"pi"===q?"Pi":"hermes"===q?"Hermes":"openclaw"===q?"OpenClaw":"factory"===q?"Factory Droid":"devin"===q?"Devin CLI":"Antigravity CLI"):l,sessionId:m})]})})}a.s(["default",0,af,"dynamic",0,"force-dynamic"],41190)},87330,function(a){a.n(a.i(41190))},90697,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]/node_modules/lucide-react/dist/esm/Icon.mjs 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]/node_modules/lucide-react/dist/esm/Icon.mjs","default")},53808,a=>{"use strict";var b=a.i(90697);a.n(b)}];
|
|
1
|
+
module.exports=[35770,a=>{"use strict";a.s(["CopyButton",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call CopyButton() from the server but CopyButton is 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/copy-button.tsx","CopyButton")},893,a=>{"use strict";var b=a.i(35770);a.n(b)},19597,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/lazy-log-viewer.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/lazy-log-viewer.tsx","default")},71130,a=>{"use strict";var b=a.i(19597);a.n(b)},41190,a=>{"use strict";var b=a.i(7997),c=a.i(95936),d=a.i(717);let e=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var f=a.i(53808);let g=(a,b)=>{let c=(0,d.forwardRef)(({className:c,...g},h)=>(0,d.createElement)(f.default,{ref:h,iconNode:b,className:((...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim())(`lucide-${e(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,c),...g}));return c.displayName=e(a),c},h=g("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),i=g("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.i(70396);var j=a.i(73727),k=a.i(83397),l=a.i(2157),m=a.i(12714),n=a.i(50227),o=a.i(60526),p=a.i(34900),q=a.i(92246);let r=(0,a.i(75818).codexSessionPathsFile)();function s(){try{if(!(0,l.existsSync)(r))return{};return JSON.parse((0,l.readFileSync)(r,"utf-8"))}catch{return{}}}function t(a,b){try{(0,l.mkdirSync)((0,n.dirname)(r),{recursive:!0});let c=s();c[a]=b,(0,l.writeFileSync)(r,JSON.stringify(c),"utf-8")}catch{}}function u(a,b){try{for(let c of(0,l.readdirSync)(a,{withFileTypes:!0}))if(c.isFile()&&c.name.includes(b)&&c.name.endsWith(".jsonl"))return(0,n.join)(a,c.name)}catch{}return null}function v(a,b){return Array.isArray(a)?a.filter(a=>a?.type===b&&"string"==typeof a.text).map(a=>a.text).join("\n"):""}async function w(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=new Map,h=new Map,i=!1;for(let a=0;a<d.length;a++){let j;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let l=d[a];try{j=JSON.parse(l)}catch{continue}let m={...j,_source:b};f.push(m);let n=j.timestamp;if(!n)continue;let o=new Date(n);if(Number.isNaN(o.getTime()))continue;let p=j.type,r=j.payload??{};if("session_meta"===p){let a=r.cwd;"string"!=typeof a||c||(c=a),e.push({type:"system",...(0,k.baseEntry)(m,n,o,b),raw:m});continue}if("response_item"===p){let a=r.type;if("message"===a){let a=r.role,c=r.content;if("user"===a||"developer"===a){let d=v(c,"input_text");if(!d)continue;let f="developer"===a?`[developer] ${d}`:d;e.push({type:"user",...(0,k.baseEntry)(m,n,o,b),message:{role:"user",content:f}});continue}if("assistant"===a){let a=v(c,"output_text");if(!a)continue;let d=[{type:"text",text:a}];e.push({type:"assistant",...(0,k.baseEntry)(m,n,o,b),message:{role:"assistant",content:d}});continue}e.push({type:"system",...(0,k.baseEntry)(m,n,o,b),raw:m});continue}if("function_call"===a){let a=r.call_id,c=r.name??"function_call",d={type:"tool_use",id:a??`${n}-${c}`,name:c,input:function(a){if(!a)return{};try{return JSON.parse(a)}catch{return{}}}(r.arguments)},f={type:"assistant",...(0,k.baseEntry)(m,n,o,b),message:{role:"assistant",content:[d]}};e.push(f),a&&(g.set(a,d),h.set(a,o.getTime()));continue}if("function_call_output"===a){let a=r.call_id,c=a?g.get(a):void 0;if(c){let b=h.get(a)??o.getTime(),d=Math.max(0,o.getTime()-b);c.result={timestamp:n,timestampFormatted:(0,k.formatTimestamp)(o),content:"string"==typeof r.output?r.output:JSON.stringify(r.output),durationMs:d,durationFormatted:(0,q.formatDuration)(d)};continue}e.push({type:"system",...(0,k.baseEntry)(m,n,o,b),raw:m});continue}e.push({type:"system",...(0,k.baseEntry)(m,n,o,b),raw:m});continue}if("event_msg"===p){let a=r.type;if("task_started"===a){let a=i?"Session Resumed":"Session Started";i=!0,e.push({type:"queue-operation",...(0,k.baseEntry)(m,n,o,b),label:a});continue}if("exec_command_end"===a){let a=r.call_id,c=a?g.get(a):void 0;if(c){let b=r.duration,d=b?(b.secs??0)*1e3+Math.round((b.nanos??0)/1e6):Math.max(0,o.getTime()-(h.get(a)??o.getTime())),e=r.aggregated_output;c.result={timestamp:n,timestampFormatted:(0,k.formatTimestamp)(o),content:"string"==typeof e?e:JSON.stringify(e),durationMs:d,durationFormatted:(0,q.formatDuration)(d)};continue}e.push({type:"system",...(0,k.baseEntry)(m,n,o,b),raw:m});continue}if("user_message"===a||"agent_message"===a)continue;e.push({type:"system",...(0,k.baseEntry)(m,n,o,b),raw:m});continue}e.push({type:"system",...(0,k.baseEntry)(m,n,o,b),raw:m})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function x(a){let b=function(a){let b=s()[a];if(b&&(0,l.existsSync)(b))return b;let c=(0,n.join)((0,o.homedir)(),".codex","sessions"),d=new Date,e=new Date(d.getTime()-864e5);for(let b of[d,e].map(a=>{let b=String(a.getUTCFullYear()),d=String(a.getUTCMonth()+1).padStart(2,"0"),e=String(a.getUTCDate()).padStart(2,"0");return(0,n.join)(c,b,d,e)})){let c=u(b,a);if(c)return t(a,c),c}try{for(let b of(0,l.readdirSync)(c,{withFileTypes:!0}))if(b.isDirectory()){for(let d of(0,l.readdirSync)((0,n.join)(c,b.name),{withFileTypes:!0}))if(d.isDirectory())for(let e of(0,l.readdirSync)((0,n.join)(c,b.name,d.name),{withFileTypes:!0})){if(!e.isDirectory())continue;let f=u((0,n.join)(c,b.name,d.name,e.name),a);if(f)return t(a,f),f}}}catch{}return null}(a);if(!b)return null;let c=await (0,m.readFile)(b,"utf-8"),{entries:d,rawLines:e,cwd:f}=await w(c,"session");return{entries:d,rawLines:e,cwd:f,filePath:b}}let y=(0,p.runtimeCache)(a=>x(a),60,{maxSize:50});function z(a,b){let c=function(a){if(!a)return null;let b=(0,n.resolve)((0,n.join)(process.env.COPILOT_HOME||(0,n.join)((0,o.homedir)(),".copilot"),"session-state")),c=(0,n.resolve)(b,a);return c!==b&&c.startsWith(`${b}${n.sep}`)?c:null}(a);return c?(0,n.join)(c,b):null}async function A(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=new Map,h=new Map,i=!1;for(let a=0;a<d.length;a++){let j;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let l=d[a];try{j=JSON.parse(l)}catch{continue}let m={...j,_source:b};f.push(m);let n=j.timestamp;if(!n)continue;let o=new Date(n);if(Number.isNaN(o.getTime()))continue;let p=o.toISOString(),r=j.type,s=j.data??{};if("session.start"===r){let a=s.context,d=a?.cwd;"string"!=typeof d||c||(c=d);let f=i?"Session Resumed":"Session Started";i=!0,e.push({type:"queue-operation",...(0,k.baseEntry)(m,p,o,b),label:f});continue}if("user.message"===r){let a=s.content??"";if(!a)continue;e.push({type:"user",...(0,k.baseEntry)(m,p,o,b),message:{role:"user",content:a}});continue}if("system.message"===r){e.push({type:"system",...(0,k.baseEntry)(m,p,o,b),raw:m});continue}if("assistant.message"===r){let a=s.content??"";if(!a){e.push({type:"system",...(0,k.baseEntry)(m,p,o,b),raw:m});continue}let c=[{type:"text",text:a}];e.push({type:"assistant",...(0,k.baseEntry)(m,p,o,b),message:{role:"assistant",content:c}});continue}if("tool.execution_start"===r){let a=s.toolCallId,c=s.toolName??"tool",d=s.arguments??{},f={type:"tool_use",id:a??`${o.getTime()}-${c}`,name:c,input:d},i={type:"assistant",...(0,k.baseEntry)(m,p,o,b),message:{role:"assistant",content:[f]}};e.push(i),a&&(g.set(a,f),h.set(a,o.getTime()));continue}if("tool.execution_complete"===r){let a=s.toolCallId,c=a?g.get(a):void 0;if(c){let b=h.get(a)??o.getTime(),d=s.result??{},e=s.toolTelemetry??{},f=e.metrics?.commandTimeMs??e.metrics?.durationMs??null,g="number"==typeof f&&f>=0?f:Math.max(0,o.getTime()-b),i=d.detailedContent??d.content??"";c.result={timestamp:p,timestampFormatted:(0,k.formatTimestamp)(o),content:"string"==typeof i?i:JSON.stringify(i),durationMs:g,durationFormatted:(0,q.formatDuration)(g)};continue}e.push({type:"system",...(0,k.baseEntry)(m,p,o,b),raw:m});continue}e.push({type:"system",...(0,k.baseEntry)(m,p,o,b),raw:m})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function B(a){let b,c,d=(c=z(a,"events.jsonl"))&&(0,l.existsSync)(c)?c:null;if(!d)return null;try{b=await (0,m.readFile)(d,"utf-8")}catch{return null}let{entries:e,rawLines:f,cwd:g}=await A(b,"session");return{entries:e,rawLines:f,cwd:g??function(a){let b,c=(b=z(a,"workspace.yaml"))&&(0,l.existsSync)(b)?b:null;if(c)try{let a=(0,l.readFileSync)(c,"utf-8"),b=RegExp("^cwd\\s*:\\s*(.+?)\\s*$","m"),d=a.match(b);if(!d)return;return d[1].replace(/^['"]|['"]$/g,"")}catch{return}}(a),filePath:d}}let C=(0,p.runtimeCache)(a=>B(a),60,{maxSize:50}),D=["agent-sessions","conversations","sessions"],E=["events.jsonl","transcript.jsonl","messages.jsonl"],F="agent-transcripts";async function G(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=new Map,h=new Map,i=!1,j=Date.now();for(let a=0;a<d.length;a++){let l;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let m=d[a];try{l=JSON.parse(m)}catch{continue}let n={...l,_source:b};if(f.push(n),!l.type&&l.role&&l.message?.content){let c=new Date(j+a),d=c.toISOString(),f=l.message.content.filter(a=>a?.type==="text"&&"string"==typeof a.text).map(a=>a.text).join("");if("user"===l.role){let a=/<user_query>\s*([\s\S]*?)\s*<\/user_query>/.exec(f),g=a?a[1]:f;g&&e.push({type:"user",...(0,k.baseEntry)(n,d,c,b),message:{role:"user",content:g}});continue}if("assistant"===l.role){let a=f?[{type:"text",text:f}]:[];0===a.length?e.push({type:"system",...(0,k.baseEntry)(n,d,c,b),raw:n}):e.push({type:"assistant",...(0,k.baseEntry)(n,d,c,b),message:{role:"assistant",content:a}});continue}e.push({type:"system",...(0,k.baseEntry)(n,d,c,b),raw:n});continue}let o=l.timestamp;if(!o)continue;let p=new Date(o);if(Number.isNaN(p.getTime()))continue;let r=p.toISOString(),s=l.type,t=l.data??{};if("session.start"===s||"sessionStart"===s||"session_start"===s){let a=t.context??t,d=a.cwd;"string"!=typeof d||c||(c=d),!c&&Array.isArray(a.workspace_roots)&&"string"==typeof a.workspace_roots[0]&&(c=a.workspace_roots[0]);let f=i?"Session Resumed":"Session Started";i=!0,e.push({type:"queue-operation",...(0,k.baseEntry)(n,r,p,b),label:f});continue}if("user.message"===s||"userMessage"===s){let a="string"==typeof t.content?t.content:"string"==typeof t.text?t.text:"";if(!a)continue;e.push({type:"user",...(0,k.baseEntry)(n,r,p,b),message:{role:"user",content:a}});continue}if("system.message"===s||"systemMessage"===s){e.push({type:"system",...(0,k.baseEntry)(n,r,p,b),raw:n});continue}if("assistant.message"===s||"assistantMessage"===s){let a="string"==typeof t.content?t.content:"string"==typeof t.text?t.text:"";if(!a){e.push({type:"system",...(0,k.baseEntry)(n,r,p,b),raw:n});continue}let c=[{type:"text",text:a}];e.push({type:"assistant",...(0,k.baseEntry)(n,r,p,b),message:{role:"assistant",content:c}});continue}if("tool.execution_start"===s||"tool.executionStart"===s||"preToolUse"===s){let a=t.toolCallId??t.tool_use_id,c=t.toolName??t.tool_name??"tool",d=t.arguments??t.tool_input??{},f={type:"tool_use",id:a??`${p.getTime()}-${c}`,name:c,input:d},i={type:"assistant",...(0,k.baseEntry)(n,r,p,b),message:{role:"assistant",content:[f]}};e.push(i),a&&(g.set(a,f),h.set(a,p.getTime()));continue}if("tool.execution_complete"===s||"tool.executionComplete"===s||"postToolUse"===s){let a=t.toolCallId??t.tool_use_id,c=a?g.get(a):void 0;if(c){let b=h.get(a)??p.getTime(),d=t.result??{},e=t.duration,f="number"==typeof e&&e>=0?e:Math.max(0,p.getTime()-b),g=d.detailedContent??d.content??t.tool_output??"";c.result={timestamp:r,timestampFormatted:(0,k.formatTimestamp)(p),content:"string"==typeof g?g:JSON.stringify(g),durationMs:f,durationFormatted:(0,q.formatDuration)(f)};continue}e.push({type:"system",...(0,k.baseEntry)(n,r,p,b),raw:n});continue}e.push({type:"system",...(0,k.baseEntry)(n,r,p,b),raw:n})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function H(a){let b,c=function(a){let b=function(a){if(!a)return null;let b=(0,n.resolve)(process.env.CURSOR_HOME||(0,n.join)((0,o.homedir)(),".cursor")),c=(0,n.resolve)(b,"projects"),d=[];try{d=(0,l.readdirSync)(c,{withFileTypes:!0})}catch{}for(let b of d){if(!b.isDirectory())continue;let d=(0,n.resolve)(c,b.name,F,a),e=(0,n.resolve)(c,b.name,F);if(d!==e&&d.startsWith(`${e}${n.sep}`)&&(0,l.existsSync)(d))return d}for(let c of D){let d=(0,n.resolve)(b,c),e=(0,n.resolve)(d,a);if(e!==d&&e.startsWith(`${d}${n.sep}`)&&(0,l.existsSync)(e))return e}return null}(a);if(!b)return null;let c=(0,n.join)(b,`${(0,n.basename)(b)}.jsonl`);if((0,l.existsSync)(c))return c;for(let a of E){let c=(0,n.join)(b,a);if((0,l.existsSync)(c))return c}return null}(a);if(!c)return null;try{b=await (0,m.readFile)(c,"utf-8")}catch{return null}let{entries:d,rawLines:e,cwd:f}=await G(b,"session");return{entries:d,rawLines:e,cwd:f,filePath:c}}let I=(0,p.runtimeCache)(a=>H(a),60,{maxSize:50});var J=a.i(84794);function K(a){try{return a()}catch{return null}}function L(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function M(a){if("string"!=typeof a||0===a.length)return null;try{let b=JSON.parse(a);return L(b)?b:null}catch{return null}}async function N(a){if(!a||!/^[A-Za-z0-9_-]+$/.test(a))return null;let b=await (0,J.withOpenCodeDb)(b=>({sessions:K(()=>b.query("SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session WHERE id = ?",[a])),messages:K(()=>b.query("SELECT id, session_id, time_created, time_updated, data FROM message WHERE session_id = ? ORDER BY time_created ASC",[a])),parts:K(()=>b.query("SELECT id, message_id, session_id, time_created, time_updated, data FROM part WHERE session_id = ? ORDER BY time_created ASC",[a]))})),c=b?.sessions??null;if(!c||0===c.length)return null;let d=c[0],e=b?.messages??null,f=b?.parts??null;if(!e)return{entries:[],rawLines:[],cwd:d.directory??void 0,filePath:`opencode://${a}`};let g=new Map;for(let a of f??[]){let b=g.get(a.message_id);b||(b=[],g.set(a.message_id,b)),b.push(a)}let h=[],i=[];for(let a of e){let b=g.get(a.id)??[];h.push(function(a,b,c){let d=M(a.data)??{},e="string"==typeof d.role?d.role:"system",f=new Date(a.time_created),g=f.toISOString(),h={uuid:a.id,parentUuid:null},i=(0,k.baseEntry)(h,g,f,c),j=[],l="";for(let a of b){let b=M(a.data);if(!b)continue;let c="string"==typeof b.type?b.type:"unknown";if("text"===c){let a="string"==typeof b.text?b.text:"string"==typeof b.content?b.content:"";a&&(j.push({type:"text",text:a}),l+=(l?"\n":"")+a);continue}if("tool"===c){let c="string"==typeof b.tool?b.tool:"string"==typeof b.name?b.name:"tool",d=L(b.state)?b.state:null,e=d&&L(d.input)?d.input:L(b.input)?b.input:L(b.args)?b.args:{},f={type:"tool_use",id:a.id,name:c,input:e},g=d&&"string"==typeof d.status?d.status:"";if(d&&("completed"===g||"error"===g)){let b=("error"===g&&"string"==typeof d.error?d.error:null)??d.output,c="string"==typeof b?b:null!=b?JSON.stringify(b):"",e=L(d.time)?d.time:{},h="number"==typeof e.start?e.start:a.time_created,i="number"==typeof e.end?e.end:a.time_updated,j=Math.max(0,i-h),l=new Date(i);f.result={timestamp:l.toISOString(),timestampFormatted:(0,k.formatTimestamp)(l),content:c,durationMs:j,durationFormatted:(0,q.formatDuration)(j)}}j.push(f);continue}j.push({type:"text",text:`[opencode ${c}]`})}if("user"===e)return{...i,type:"user",message:{role:"user",content:l}};if("assistant"===e){let a=L(d.model)?d.model:null,b=a&&"string"==typeof a.modelID?a.modelID:void 0;return{...i,type:"assistant",message:{role:"assistant",content:j,model:b}}}return{...i,type:"system",raw:{id:a.id,role:e,parts:j}}}(a,b,"session"));let c=M(a.data);i.push({id:a.id,session_id:a.session_id,time_created:a.time_created,data:c??a.data})}return{entries:h,rawLines:i,cwd:d.directory??void 0,filePath:`opencode://${a}`}}let O=(0,p.runtimeCache)(a=>N(a),30,{maxSize:50}),P=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Q=/^[\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 R(a){if(!Array.isArray(a))return"";let b=[];for(let c of a)c?.type==="text"&&"string"==typeof c.text&&b.push(c.text);return b.join("\n\n")}async function S(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=!1,h=new Map,i=new Map;for(let a=0;a<d.length;a++){let j;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let l=d[a];try{j=JSON.parse(l)}catch{continue}let m={...j,_source:b};f.push(m);let n=j.timestamp;if(!n)continue;let o=new Date(n);if(Number.isNaN(o.getTime()))continue;let p=o.toISOString(),r=j.type;if("session"===r){"string"!=typeof j.cwd||c||(c=j.cwd);let a=g?"Session Resumed":"Session Started";g=!0,e.push({type:"queue-operation",...(0,k.baseEntry)(m,p,o,b),label:a});continue}if("message"===r&&j.message&&"object"==typeof j.message){let a=j.message.role,c=j.message.content;if("user"===a){let a=R(c);if(!a)continue;e.push({type:"user",...(0,k.baseEntry)(m,p,o,b),message:{role:"user",content:a}});continue}if("assistant"===a){let a=function(a,b){if(!Array.isArray(a))return[];let c=[];for(let d of a)if(d?.type==="text"&&"string"==typeof d.text&&d.text.length>0&&c.push({type:"text",text:d.text}),d?.type==="thinking"&&"string"==typeof d.thinking&&d.thinking.length>0&&c.push({type:"text",text:`[thinking] ${d.thinking}`}),d?.type==="toolCall"){let a="string"==typeof d.id&&d.id.length>0?d.id:`${"string"==typeof d.name?d.name:"tool"}-${c.length}`,e={type:"tool_use",id:a,name:"string"==typeof d.name?d.name:"tool",input:d.arguments&&"object"==typeof d.arguments&&!Array.isArray(d.arguments)?d.arguments:{}};c.push(e),b?.(e)}return c}(c,a=>{h.set(a.id,a),i.set(a.id,o.getTime())});if(0===a.length){e.push({type:"system",...(0,k.baseEntry)(m,p,o,b),raw:m});continue}e.push({type:"assistant",...(0,k.baseEntry)(m,p,o,b),message:{role:"assistant",content:a}});continue}if("toolResult"===a){let a=j.message.toolCallId,b="string"==typeof a?h.get(a):void 0;if(b){let d="string"==typeof a&&i.get(a)||o.getTime(),e=Math.max(0,o.getTime()-d);b.result={timestamp:p,timestampFormatted:(0,k.formatTimestamp)(o),content:R(c),durationMs:e,durationFormatted:(0,q.formatDuration)(e)};continue}}e.push({type:"system",...(0,k.baseEntry)(m,p,o,b),raw:m});continue}e.push({type:"system",...(0,k.baseEntry)(m,p,o,b),raw:m})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function T(a){let b,c,d=function(a){let b;if(!P.test(a))return null;let c=(0,n.resolve)(process.env.PI_SESSIONS_DIR||(0,n.join)((0,o.homedir)(),".pi","agent","sessions"));try{b=(0,l.readdirSync)(c)}catch{return null}for(let d of b){let b,e=(0,n.resolve)(c,d);if(e.startsWith(`${c}${n.sep}`)){try{b=(0,l.readdirSync)(e)}catch{continue}for(let c of b){let b=Q.exec(c);if(!b||b[1].toLowerCase()!==a.toLowerCase())continue;let d=(0,n.resolve)(e,c);if(d.startsWith(`${e}${n.sep}`)&&(0,l.existsSync)(d))return d}}}return null}(a);if(!d)return null;try{b=await (0,m.readFile)(d,"utf-8")}catch{return null}try{c=await S(b,"session")}catch{return null}return{entries:c.entries,rawLines:c.rawLines,cwd:c.cwd,filePath:d}}let U=(0,p.runtimeCache)(a=>T(a),60,{maxSize:50});var V=a.i(54563),W=a.i(87488),X=a.i(89901),Y=a.i(33559),Z=a.i(99910),$=a.i(74615),_=a.i(90798),aa=a.i(69191),ab=a.i(71130),ac=a.i(893),ad=a.i(24282);function ae({cli:a}){let c=(0,ad.getCliLabel)(a),d=(0,ad.getCliBadgeClasses)(a);return(0,b.jsx)("span",{className:`inline-flex items-center rounded px-1.5 py-0.5 text-[0.6rem] font-mono font-medium uppercase tracking-wider border ${d}`,title:`Agent CLI: ${c}`,children:c})}async function af({params:a}){let d,e,{name:f,sessionId:g}=await a;try{(0,aa.resolveProjectPath)(f)}catch{(0,j.notFound)()}let l=(0,_.decodeFolderName)(f),m=-1===(e=g.indexOf("/"))?g:g.slice(0,e);aa.UUID_RE.test(m)||/^ses_[A-Za-z0-9]+$/.test(m)||/^[A-Za-z0-9_-]+$/.test(m)||(0,j.notFound)();let n=null,o=null,p=null,q="claude";try{let a=await (0,k.getCachedSessionLog)(f,m);n=a.entries,o=a.rawLines}catch(a){if("ENOENT"===a.code){let a=await y(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="codex";else{let a=await C(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="copilot";else{let a=await I(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="cursor";else{let a=await O(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="opencode";else{let a=await U(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="pi";else{let a=await (0,V.getCachedHermesSessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="hermes";else{let a=await (0,W.getCachedOpenClawSessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="openclaw";else{let a=await (0,X.getCachedFactorySessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="factory";else{let a=await (0,Y.getCachedDevinSessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="devin";else{let a=await (0,Z.getCachedAntigravitySessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="antigravity";else{let a=await (0,$.getCachedGooseSessionLog)(m);a?(n=a.entries,o=a.rawLines,d=a.cwd,q="goose"):p="Session log file not found."}}}}}}}}}}}else p="Failed to read session log."}let r="claude"!==q,s="codex"===q?`OpenAI Codex${d?` \xb7 ${d}`:""}`:"copilot"===q?`GitHub Copilot${d?` \xb7 ${d}`:""}`:"cursor"===q?`Cursor Agent${d?` \xb7 ${d}`:""}`:"opencode"===q?`OpenCode${d?` \xb7 ${d}`:""}`:"pi"===q?`Pi${d?` \xb7 ${d}`:""}`:"hermes"===q?`Hermes${d?` \xb7 ${d}`:""}`:"openclaw"===q?`OpenClaw${d?` \xb7 ${d}`:""}`:"factory"===q?`Factory Droid${d?` \xb7 ${d}`:""}`:"devin"===q?`Devin CLI${d?` \xb7 ${d}`:""}`:"antigravity"===q?`Antigravity CLI${d?` \xb7 ${d}`:""}`:"goose"===q?`Goose${d?` \xb7 ${d}`:""}`:l;return(0,b.jsx)("main",{className:"min-h-screen bg-background",children:(0,b.jsxs)("div",{className:"container mx-auto p-8",children:[(0,b.jsxs)(c.default,{href:r?"/policies?tab=activity":`/project/${encodeURIComponent(f)}`,className:"inline-flex items-center gap-2 text-muted-foreground hover:text-foreground mb-6 transition-colors",children:[(0,b.jsx)(h,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:r?"Back to Activity":"Back to Sessions"})]}),(0,b.jsxs)("div",{className:"mb-8",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3 mb-2",children:[(0,b.jsx)("h1",{className:"text-4xl font-bold text-foreground",children:"Session Log"}),(0,b.jsx)(ae,{cli:q})]}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("p",{className:"text-muted-foreground",children:[(0,b.jsxs)("span",{className:"font-medium",children:[r?"CLI":"Project",":"]})," ",s]}),(0,b.jsxs)("p",{className:"text-muted-foreground break-words break-all inline-flex items-center gap-1",children:[(0,b.jsx)("span",{className:"font-medium",children:"Session:"})," ",m,(0,b.jsx)(ac.CopyButton,{text:m})]}),n&&o&&(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("p",{className:"text-muted-foreground",children:[(0,b.jsx)("span",{className:"font-medium",children:o.length})," log lines"]}),(0,b.jsxs)("a",{href:`/api/download/${encodeURIComponent(f)}/${encodeURIComponent(m)}?cli=${q}`,download:!0,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-md bg-muted text-muted-foreground hover:bg-muted/80 hover:text-foreground transition-colors",children:[(0,b.jsx)(i,{className:"w-4 h-4"}),"Download Logs"]})]})]})]}),p&&(0,b.jsx)("div",{className:"bg-card text-card-foreground rounded-lg border border-destructive/50 p-6 shadow-sm",children:(0,b.jsx)("p",{className:"text-destructive text-center py-8",children:p})}),!p&&n&&(0,b.jsx)(ab.default,{entries:n,projectName:r?d??("codex"===q?"OpenAI Codex":"copilot"===q?"GitHub Copilot":"cursor"===q?"Cursor Agent":"opencode"===q?"OpenCode":"pi"===q?"Pi":"hermes"===q?"Hermes":"openclaw"===q?"OpenClaw":"factory"===q?"Factory Droid":"devin"===q?"Devin CLI":"Antigravity CLI"):l,sessionId:m})]})})}a.s(["default",0,af,"dynamic",0,"force-dynamic"],41190)},87330,function(a){a.n(a.i(41190))},90697,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]/node_modules/lucide-react/dist/esm/Icon.mjs 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]/node_modules/lucide-react/dist/esm/Icon.mjs","default")},53808,a=>{"use strict";var b=a.i(90697);a.n(b)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_1ddpc5g._.js.map
|
|
@@ -26,7 +26,7 @@ ${b.comment}`:b.comment}this.doc.range[2]=b.offset;break}default:this.errors.pus
|
|
|
26
26
|
// Re-generate via: failproofai policies --install --cli opencode
|
|
27
27
|
// Plugin shim that bridges OpenCode's plugin API to the failproofai binary.
|
|
28
28
|
// See: https://opencode.ai/docs/plugins/
|
|
29
|
-
import {
|
|
29
|
+
import { spawnSync } from "node:child_process";
|
|
30
30
|
|
|
31
31
|
// Map opencode bus-event types → canonical failproofai event names.
|
|
32
32
|
// (The binary sees PascalCase — the binary's --cli=opencode flag is for
|
|
@@ -89,52 +89,18 @@ function canonicalizeToolInput(canonicalToolName, args) {
|
|
|
89
89
|
const FAILPROOFAI_BIN = ${h};
|
|
90
90
|
const USE_NPX = ${g};
|
|
91
91
|
|
|
92
|
-
|
|
93
|
-
* Run failproofai for one event WITHOUT blocking opencode's event loop.
|
|
94
|
-
*
|
|
95
|
-
* This was spawnSync, and opencode loads the plugin in-process in the TUI —
|
|
96
|
-
* so every hook froze rendering and input for the subprocess's full duration,
|
|
97
|
-
* with a 60s ceiling. The verdicts are unchanged: every caller already awaits
|
|
98
|
-
* applyDecision, so the deny still lands before the tool runs. What changes
|
|
99
|
-
* is that the wait is now a promise rather than a blocked thread, and the TUI
|
|
100
|
-
* keeps painting while it happens.
|
|
101
|
-
*
|
|
102
|
-
* Fail-open on spawn error, and on the timeout — a policy that never ran must
|
|
103
|
-
* not read as a deny.
|
|
104
|
-
*/
|
|
105
|
-
async function runFailproofai(eventName, payload, directory) {
|
|
92
|
+
function runFailproofai(eventName, payload, directory) {
|
|
106
93
|
const cmd = USE_NPX ? "npx" : FAILPROOFAI_BIN;
|
|
107
94
|
const args = USE_NPX
|
|
108
95
|
? ["-y", "failproofai", "--hook", eventName, "--cli", "opencode"]
|
|
109
96
|
: ["--hook", eventName, "--cli", "opencode"];
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
resolveRun({ exitCode: 0, stdout: "", stderr: "" });
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
let stdout = "";
|
|
119
|
-
let stderr = "";
|
|
120
|
-
let settled = false;
|
|
121
|
-
const finish = (exitCode) => {
|
|
122
|
-
if (settled) return;
|
|
123
|
-
settled = true;
|
|
124
|
-
clearTimeout(timer);
|
|
125
|
-
resolveRun({ exitCode, stdout, stderr });
|
|
126
|
-
};
|
|
127
|
-
const timer = setTimeout(() => {
|
|
128
|
-
try { child.kill("SIGKILL"); } catch { /* already gone */ }
|
|
129
|
-
finish(0);
|
|
130
|
-
}, 60_000);
|
|
131
|
-
child.stdout.on("data", (d) => { stdout += d; });
|
|
132
|
-
child.stderr.on("data", (d) => { stderr += d; });
|
|
133
|
-
child.on("error", () => finish(0));
|
|
134
|
-
child.on("close", (code) => finish(code ?? 0));
|
|
135
|
-
child.stdin.on("error", () => {});
|
|
136
|
-
child.stdin.end(JSON.stringify(payload));
|
|
97
|
+
const r = spawnSync(cmd, args, {
|
|
98
|
+
input: JSON.stringify(payload),
|
|
99
|
+
encoding: "utf8",
|
|
100
|
+
timeout: 60_000,
|
|
101
|
+
cwd: directory,
|
|
137
102
|
});
|
|
103
|
+
return { exitCode: r.status ?? 0, stdout: r.stdout ?? "", stderr: r.stderr ?? "" };
|
|
138
104
|
}
|
|
139
105
|
|
|
140
106
|
async function applyDecision(result, ctx, eventName) {
|
|
@@ -199,7 +165,7 @@ export default async function failproofaiPlugin({ client, directory }) {
|
|
|
199
165
|
}
|
|
200
166
|
}
|
|
201
167
|
if (!prompt) prompt = (info.text || info.content || props.text || "").toString();
|
|
202
|
-
const r =
|
|
168
|
+
const r = runFailproofai("UserPromptSubmit", {
|
|
203
169
|
session_id: sessionID, cwd: directory, hook_event_name: "UserPromptSubmit", prompt,
|
|
204
170
|
}, directory);
|
|
205
171
|
await applyDecision(r, { client, sessionID }, "UserPromptSubmit");
|
|
@@ -209,11 +175,8 @@ export default async function failproofaiPlugin({ client, directory }) {
|
|
|
209
175
|
const claudeEvent = BUS_EVENT_MAP[event.type];
|
|
210
176
|
if (!claudeEvent) return;
|
|
211
177
|
const props = event.properties || {};
|
|
212
|
-
const
|
|
213
|
-
|
|
214
|
-
const sessionID = info.id || info.sessionID || info.sessionId || info.session_id ||
|
|
215
|
-
props.sessionID || props.sessionId || props.session_id || props.id;
|
|
216
|
-
const r = await runFailproofai(claudeEvent, {
|
|
178
|
+
const sessionID = props.sessionID || (props.session && props.session.id) || props.id;
|
|
179
|
+
const r = runFailproofai(claudeEvent, {
|
|
217
180
|
session_id: sessionID, cwd: directory, hook_event_name: claudeEvent,
|
|
218
181
|
}, directory);
|
|
219
182
|
await applyDecision(r, { client, sessionID }, claudeEvent);
|
|
@@ -222,7 +185,7 @@ export default async function failproofaiPlugin({ client, directory }) {
|
|
|
222
185
|
// First-class PreToolUse hook. Note: tool args live on output.args (mutable).
|
|
223
186
|
"tool.execute.before": async (input, output) => {
|
|
224
187
|
const canonicalTool = canonicalizeTool(input.tool);
|
|
225
|
-
const r =
|
|
188
|
+
const r = runFailproofai("PreToolUse", {
|
|
226
189
|
session_id: input.sessionID,
|
|
227
190
|
cwd: directory,
|
|
228
191
|
tool_name: canonicalTool,
|
|
@@ -235,7 +198,7 @@ export default async function failproofaiPlugin({ client, directory }) {
|
|
|
235
198
|
// First-class PostToolUse hook. Note: tool args live on input.args here.
|
|
236
199
|
"tool.execute.after": async (input, output) => {
|
|
237
200
|
const canonicalTool = canonicalizeTool(input.tool);
|
|
238
|
-
const r =
|
|
201
|
+
const r = runFailproofai("PostToolUse", {
|
|
239
202
|
session_id: input.sessionID,
|
|
240
203
|
cwd: directory,
|
|
241
204
|
tool_name: canonicalTool,
|
|
@@ -249,7 +212,7 @@ export default async function failproofaiPlugin({ client, directory }) {
|
|
|
249
212
|
// Cleaner deny UX for prompted tools — mutate output.status instead of throwing.
|
|
250
213
|
"permission.ask": async (input, output) => {
|
|
251
214
|
const canonicalTool = canonicalizeTool(input.tool);
|
|
252
|
-
const r =
|
|
215
|
+
const r = runFailproofai("PermissionRequest", {
|
|
253
216
|
session_id: input.sessionID,
|
|
254
217
|
cwd: directory,
|
|
255
218
|
tool_name: canonicalTool || input.command || "permission",
|
|
@@ -1,22 +1,3 @@
|
|
|
1
|
-
module.exports=[99910,a=>{"use strict";var b=a.i(12714),c=a.i(2157),d=a.i(60526),e=a.i(50227),f=a.i(34900),g=a.i(83397),h=a.i(92246);let i=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,j=new Set(["CONVERSATION_HISTORY","CHECKPOINT"]);function k(){return process.env.ANTIGRAVITY_HOME||(0,e.join)((0,d.homedir)(),".gemini","antigravity-cli")}function l(){return(0,e.join)(k(),"brain")}function m(){return(0,e.join)(".system_generated","logs","transcript_full.jsonl")}function n(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}async function o(a){let d,f=function(a){if(!i.test(a))return null;let b=(0,e.join)(l(),a,m());try{if((0,c.statSync)(b).isFile())return b}catch{}return null}(a);if(!f)return null;try{d=await (0,b.readFile)(f,"utf-8")}catch{return null}let k=(0,g.parseRawLines)(d,"session"),o=function(a,b="session"){let c=[],d=new Map,e=Date.now();for(let f=0;f<a.length;f++){let i=a[f];if(!n(i))continue;let k="string"==typeof i.type?i.type:"";if(!k||j.has(k))continue;let l=function(a,b){if("number"==typeof a&&Number.isFinite(a)){if(a>1e12)return new Date(a);if(a>1e9)return new Date(1e3*a)}if("string"==typeof a){let b=Date.parse(a);if(!Number.isNaN(b))return new Date(b)}return new Date(b)}(i.created_at,e+f),m=l.toISOString(),o="number"==typeof i.step_index?i.step_index:f,p={uuid:`antigravity-${o}`,parentUuid:null},q=(0,g.baseEntry)(p,m,l,b);if("USER_INPUT"===k){let a="string"==typeof i.content?i.content:"";c.push({type:"user",...q,message:{role:"user",content:a}});continue}if("PLANNER_RESPONSE"===k){let a=[];if("string"==typeof i.content&&i.content.length>0&&a.push({type:"text",text:i.content}),Array.isArray(i.tool_calls))for(let b=0;b<i.tool_calls.length;b++){let c=i.tool_calls[b];if(!n(c))continue;let e="string"==typeof c.name?c.name:"tool",f={type:"tool_use",id:`${e}-${o}-${b}`,name:e,input:n(c.args)?c.args:{}};a.push(f);let g=e.toUpperCase(),h=d.get(g)??[];h.push({block:f,startMs:l.getTime()}),d.set(g,h)}if(0===a.length)continue;c.push({type:"assistant",...q,message:{role:"assistant",content:a}});continue}let r=d.get(k);if(r&&r.length>0){let{block:a,startMs:b}=r.shift(),c=Math.max(0,l.getTime()-b);a.result={timestamp:m,timestampFormatted:(0,g.formatTimestamp)(l),content:"string"==typeof i.content?i.content:"",durationMs:c,durationFormatted:(0,h.formatDuration)(c)};continue}c.push({type:"system",...q,raw:p})}return c.sort((a,b)=>a.timestampMs-b.timestampMs),c}(k,"session"),p=function(a){for(let b of a)if(n(b)&&Array.isArray(b.tool_calls))for(let a of b.tool_calls){if(!n(a)||!n(a.args))continue;let b=a.args.Cwd??a.args.cwd;if("string"==typeof b&&b.length>0)return b}}(k);return{entries:o,rawLines:k,cwd:p,filePath:f}}let p=(0,f.runtimeCache)(a=>o(a),60,{maxSize:50});a.s(["antigravityHome",0,k,"getAntigravitySessionLog",0,o,"getCachedAntigravitySessionLog",0,p,"listAntigravityTranscripts",0,function(){let a,b=l(),d=m(),f=[];try{a=(0,c.readdirSync)(b,{withFileTypes:!0}).filter(a=>a.isDirectory())}catch{return f}for(let g of a){let a=g.name;if(!i.test(a))continue;let h=(0,e.join)(b,a,d);try{let b=(0,c.statSync)(h);if(!b.isFile())continue;f.push({conversationId:a,transcriptPath:h,mtimeMs:b.mtimeMs,sizeBytes:b.size})}catch{}}return f}])},33559,a=>{"use strict";var b=a.i(60526),c=a.i(50227),d=a.i(94431),e=a.i(34900),f=a.i(83397),g=a.i(92246);let h=/^[A-Za-z0-9_-]+$/;function i(){return process.env.DEVIN_DB_PATH||(0,c.join)(process.env.DEVIN_HOME||(0,c.join)((0,b.homedir)(),".local","share","devin"),"cli","sessions.db")}function j(a){if("string"==typeof a&&0!==a.length)try{return JSON.parse(a)}catch{return}}function k(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function l(a){return"string"==typeof a?a:Array.isArray(a)?a.map(a=>k(a)&&"string"==typeof a.text?a.text:"").filter(Boolean).join("\n"):""}function m(a,b){if("number"==typeof a&&Number.isFinite(a)){if(a>1e12)return new Date(a);if(a>1e9)return new Date(1e3*a)}if("string"==typeof a){let b=Date.parse(a);if(!Number.isNaN(b))return new Date(b)}return new Date(b)}async function n(a){if(!a||!h.test(a))return null;let b=await (0,d.openSqliteReadonly)(i());if(!b)return null;try{let c=b.query("SELECT working_directory FROM sessions WHERE id = ?",[a]);if(0===c.length)return null;let d=c[0].working_directory,e=b.query("SELECT node_id, parent_node_id, chat_message, created_at FROM message_nodes WHERE session_id = ? ORDER BY node_id ASC",[a]),h=function(a){let b=[];for(let c of a){let a=j(c.chat_message);k(a)&&(null!=c.created_at&&null==a._created_at&&(a._created_at=c.created_at),b.push(a))}return b}(function(a){if(0===a.length)return a;let b=new Map;for(let c of a)"number"==typeof c.node_id&&b.set(c.node_id,c);let c=a.reduce((a,b)=>(a.node_id??-1)>(b.node_id??-1)?a:b),d=[],e=new Set;for(;c&&"number"==typeof c.node_id&&!e.has(c.node_id);)e.add(c.node_id),d.push(c),c=null!=c.parent_node_id?b.get(c.parent_node_id):void 0;return d.reverse()}(e)),i=function(a,b="session"){let c=[],d=new Map,e=new Map,h=Date.now();for(let i=0;i<a.length;i++){let n=a[i];if(!k(n))continue;let o="string"==typeof n.role?n.role:"system",p=function(a,b){let c=k(a.metadata)?a.metadata:void 0;return c&&null!=c.created_at?m(c.created_at,b):null!=a._created_at?m(a._created_at,b):new Date(b)}(n,h+i),q=p.toISOString(),r={uuid:null!=n.message_id?String(n.message_id):`devin-${i}`,parentUuid:null},s=(0,f.baseEntry)(r,q,p,b);if("user"===o){c.push({type:"user",...s,message:{role:"user",content:l(n.content)}});continue}if("assistant"===o){let a=[],b=l(n.content);for(let c of(b&&a.push({type:"text",text:b}),function(a){let b=Array.isArray(a)?a:j(a);if(!Array.isArray(b))return[];let c=[];for(let a of b){if(!k(a))continue;let b=k(a.function)?a.function:{},d="string"==typeof a.name?a.name:"string"==typeof b.name?b.name:"tool",e="string"==typeof a.id&&a.id||"string"==typeof a.call_id&&a.call_id||`${d}-${c.length}`,f=a.arguments??b.arguments,g=k(f)?f:j(f);c.push({id:e,name:d,input:k(g)?g:{}})}return c}(n.tool_calls))){let b={type:"tool_use",id:c.id,name:c.name,input:c.input};a.push(b),d.set(c.id,b),e.set(c.id,p.getTime())}if(0===a.length)continue;c.push({type:"assistant",...s,message:{role:"assistant",content:a,model:"string"==typeof n.model?n.model:void 0}});continue}if("tool"===o){let a="string"==typeof n.tool_call_id?n.tool_call_id:void 0,b=a?d.get(a):void 0;if(b){let c=a&&e.get(a)||p.getTime(),d=Math.max(0,p.getTime()-c);b.result={timestamp:q,timestampFormatted:(0,f.formatTimestamp)(p),content:l(n.content),durationMs:d,durationFormatted:(0,g.formatDuration)(d)};continue}}c.push({type:"system",...s,raw:r})}return c.sort((a,b)=>a.timestampMs-b.timestampMs),c}(h,"session"),n=d&&d.length>0?d:void 0;return{entries:i,rawLines:h,cwd:n,filePath:`devin-db://${a}`}}catch{return null}finally{b.close()}}let o=(0,e.runtimeCache)(a=>n(a),2,{maxSize:50});a.s(["devinDbPath",0,i,"devinEpochToMs",0,function(a){if("number"==typeof a&&Number.isFinite(a)){if(a>1e12)return a;if(a>1e9)return 1e3*a}return Date.now()},"getCachedDevinSessionLog",0,o])},89901,a=>{"use strict";var b=a.i(12714),c=a.i(2157),d=a.i(60526),e=a.i(50227),f=a.i(90798),g=a.i(34900),h=a.i(83397),i=a.i(92246);let j=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;function k(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function l(a){return"string"==typeof a?a:Array.isArray(a)?a.map(a=>k(a)&&"string"==typeof a.text?a.text:"").filter(Boolean).join("\n"):""}function m(){let a,b=(0,e.join)(process.env.FACTORY_HOME||(0,e.join)((0,d.homedir)(),".factory"),"sessions"),g=[];try{a=(0,c.readdirSync)(b,{withFileTypes:!0}).filter(a=>a.isDirectory())}catch{return g}for(let d of a){let a,h=d.name,i=(0,f.decodeFolderName)(h),k=(0,e.join)(b,h);try{a=(0,c.readdirSync)(k)}catch{continue}for(let b of a){if(!b.endsWith(".jsonl"))continue;let a=b.slice(0,-6);if(!j.test(a))continue;let d=(0,e.join)(k,b);try{let b=(0,c.statSync)(d);g.push({projectName:h,cwd:i,sessionId:a,transcriptPath:d,mtimeMs:b.mtimeMs,sizeBytes:b.size})}catch{}}}return g}async function n(a){let c,d,e=function(a){if(!j.test(a))return null;for(let b of m())if(b.sessionId===a)return b.transcriptPath;return null}(a);if(!e)return null;try{c=await (0,b.readFile)(e,"utf-8")}catch{return null}let f=(0,h.parseRawLines)(c,"session"),g=function(a,b="session"){let c=[],d=new Map,e=new Map,f=Date.now();for(let g=0;g<a.length;g++){let j=a[g];if(!k(j)||"message"!==j.type)continue;let m=k(j.message)?j.message:void 0;if(!m)continue;let n="string"==typeof m.role?m.role:"system",o=function(a,b){if("number"==typeof a&&Number.isFinite(a)){if(a>1e12)return new Date(a);if(a>1e9)return new Date(1e3*a)}if("string"==typeof a){let b=Date.parse(a);if(!Number.isNaN(b))return new Date(b)}return new Date(b)}(j.timestamp??m.timestamp,f+g),p=o.toISOString(),q={uuid:null!=j.id?String(j.id):`factory-${g}`,parentUuid:null!=j.parentId?String(j.parentId):null},r=(0,h.baseEntry)(q,p,o,b),s=m.content;if("assistant"===n){let a=[];if(Array.isArray(s)){for(let b of s)if(k(b)){if("text"===b.type&&"string"==typeof b.text)a.push({type:"text",text:b.text});else if("tool_use"===b.type){let c="string"==typeof b.id?b.id:`${String(b.name??"tool")}-${a.length}`,f={type:"tool_use",id:c,name:"string"==typeof b.name?b.name:"tool",input:k(b.input)?b.input:{}};a.push(f),d.set(c,f),e.set(c,o.getTime())}}}else{let b=l(s);b&&a.push({type:"text",text:b})}if(0===a.length)continue;c.push({type:"assistant",...r,message:{role:"assistant",content:a,model:"string"==typeof m.model?m.model:void 0}});continue}if(Array.isArray(s)){let a=!1,b=[];for(let c of s)if(k(c)){if("tool_result"===c.type){let b="string"==typeof c.tool_use_id?c.tool_use_id:"string"==typeof c.toolUseId?c.toolUseId:void 0,f=b?d.get(b):void 0;if(f){let d=b&&e.get(b)||o.getTime(),g=Math.max(0,o.getTime()-d);f.result={timestamp:p,timestampFormatted:(0,h.formatTimestamp)(o),content:l(c.content),durationMs:g,durationFormatted:(0,i.formatDuration)(g)},a=!0;continue}}"text"===c.type&&"string"==typeof c.text&&b.push(c.text)}b.length>0?c.push({type:"user",...r,message:{role:"user",content:b.join("\n")}}):a||c.push({type:"system",...r,raw:q});continue}if("user"===n){c.push({type:"user",...r,message:{role:"user",content:l(s)}});continue}c.push({type:"system",...r,raw:q})}return c.sort((a,b)=>a.timestampMs-b.timestampMs),c}(f,"session");for(let a of f)if(k(a)&&"session_start"===a.type&&"string"==typeof a.cwd&&a.cwd.length>0){d=a.cwd;break}return{entries:g,rawLines:f,cwd:d,filePath:e}}let o=(0,g.runtimeCache)(a=>n(a),60,{maxSize:50});a.s(["getCachedFactorySessionLog",0,o,"getFactorySessionLog",0,n,"listFactoryTranscripts",0,m])},74615,a=>{"use strict";var b=a.i(60526),c=a.i(50227),d=a.i(94431),e=a.i(34900),f=a.i(83397),g=a.i(92246);let h=/^\d{8}_\d+$/;function i(){return process.env.GOOSE_DB_PATH||(0,c.join)(function(){if(process.env.GOOSE_HOME)return process.env.GOOSE_HOME;let a=process.env.XDG_DATA_HOME;return(0,c.join)(a&&a.length>0?a:(0,c.join)((0,b.homedir)(),".local","share"),"goose")}(),"sessions","sessions.db")}function j(a){if("number"==typeof a&&Number.isFinite(a)){if(a>1e12)return a;if(a>1e9)return 1e3*a}if("string"==typeof a&&a.length>0){let b=Date.parse(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(a)?a.replace(" ","T")+"Z":a);if(!Number.isNaN(b))return b}return Date.now()}function k(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function l(a){return"string"==typeof a?a:Array.isArray(a)?a.map(a=>k(a)&&"string"==typeof a.text?a.text:"").filter(Boolean).join("\n"):""}async function m(a){if(!a||!h.test(a))return null;let b=await (0,d.openSqliteReadonly)(i());if(!b)return null;try{let c=b.query("SELECT working_dir FROM sessions WHERE id = ?",[a]);if(0===c.length)return null;let d=c[0].working_dir,e=b.query("SELECT role, content_json, created_timestamp FROM messages WHERE session_id = ? ORDER BY id ASC",[a]),h=function(a,b="session"){let c=[],d=new Map,e=new Map,h=Date.now();for(let i=0;i<a.length;i++){let m=a[i],n=function(a){if("string"==typeof a&&0!==a.length)try{return JSON.parse(a)}catch{return}}(m.content_json);if(!Array.isArray(n))continue;let o="string"==typeof m.role?m.role:"system",p=function(a,b){let c="number"==typeof a||"string"==typeof a?j(a):NaN;return new Date(Number.isNaN(c)?b:c)}(m.created_timestamp,h+i),q=p.toISOString(),r={uuid:`goose-${i}`,parentUuid:null},s=(0,f.baseEntry)(r,q,p,b),t=[],u=[],v=[];for(let a of n)k(a)&&("text"===a.type&&"string"==typeof a.text?t.push(a.text):"toolRequest"===a.type?u.push(a):"toolResponse"===a.type&&v.push(a));for(let a of v){let b="string"==typeof a.id?a.id:void 0,c=b?d.get(b):void 0;if(!c)continue;let h=b&&e.get(b)||p.getTime(),i=Math.max(0,p.getTime()-h);c.result={timestamp:q,timestampFormatted:(0,f.formatTimestamp)(p),content:function(a){let b=(k(a.toolResult)?a.toolResult:{}).value;return k(b)&&Array.isArray(b.content)?l(b.content):"string"==typeof b?b:Array.isArray(b)?l(b):""}(a),durationMs:i,durationFormatted:(0,g.formatDuration)(i)}}let w=t.join("\n").trim();if(u.length>0||"assistant"===o&&w){let a=[];for(let b of(w&&a.push({type:"text",text:w}),u)){let{id:c,name:f,input:g}=function(a,b){let c="string"==typeof a.id&&a.id?a.id:`goose-tool-${b}`,d=k(a.toolCall)?a.toolCall:{},e=k(d.value)?d.value:{},f="string"==typeof e.name?e.name:"tool";return{id:c,name:f,input:k(e.arguments)?e.arguments:{}}}(b,a.length),h={type:"tool_use",id:c,name:f,input:g};a.push(h),d.set(c,h),e.set(c,p.getTime())}if(0===a.length)continue;c.push({type:"assistant",...s,message:{role:"assistant",content:a}});continue}if("user"===o&&w){c.push({type:"user",...s,message:{role:"user",content:w}});continue}w&&c.push({type:"system",...s,raw:r})}return c.sort((a,b)=>a.timestampMs-b.timestampMs),c}(e,"session"),i=d&&d.length>0?d:void 0;return{entries:h,rawLines:e,cwd:i,filePath:`goose-db://${a}`}}catch{return null}finally{b.close()}}let n=(0,e.runtimeCache)(a=>m(a),2,{maxSize:50});a.s(["getCachedGooseSessionLog",0,n,"gooseDbPath",0,i,"gooseTimestampToMs",0,j])},43600,a=>{"use strict";var b=a.i(2157),c=a.i(60526),d=a.i(50227);let e="profiles",f="default";function g(){let a=(process.env.HERMES_HOME||"").trim();if(a){let b=(0,d.resolve)(a),c=(0,d.dirname)(b);return(0,d.basename)(c)===e?(0,d.dirname)(c):b}return(0,d.join)((0,c.homedir)(),".hermes")}function h(){let a,c=g(),h=[{name:f,home:c}],i=new Set([f]);try{a=(0,b.readdirSync)((0,d.join)(c,e),{withFileTypes:!0}).filter(a=>(a.isDirectory()||a.isSymbolicLink())&&!a.name.startsWith(".")).map(a=>a.name).sort()}catch{return h}for(let b of a)i.has(b)||(i.add(b),h.push({name:b,home:(0,d.join)(c,e,b)}));return h}a.s(["HERMES_DEFAULT_PROFILE",0,f,"hermesProjectName",0,function(a,b){return`hermes-${a}-${b}`},"hermesProjectNameCandidates",0,function(a){if(!a.startsWith("hermes-"))return[];let b=a.slice(7);if(!b)return[];let c=[];for(let a of h().map(a=>a.name).sort((a,b)=>b.length-a.length)){let d=`${a}-`;b.startsWith(d)&&b.length>d.length&&c.push({profile:a,source:b.slice(d.length)})}return c.push({profile:f,source:b}),c},"hermesProjectPath",0,function(a,b){return`hermes:${a}:${b}`},"hermesRoot",0,g,"listHermesProfiles",0,h])},54563,a=>{"use strict";var b=a.i(50227),c=a.i(94431),d=a.i(43600),e=a.i(34900),f=a.i(83397),g=a.i(92246);function h(){let a=process.env.HERMES_DB_PATH;return a?[{profile:d.HERMES_DEFAULT_PROFILE,dbPath:a}]:(0,d.listHermesProfiles)().map(a=>({profile:a.name,dbPath:(0,b.join)(a.home,"state.db")}))}function i(a){if("string"==typeof a&&0!==a.length)try{return JSON.parse(a)}catch{return}}function j(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function k(a){return"string"==typeof a?a:Array.isArray(a)?a.map(a=>j(a)&&"string"==typeof a.text?a.text:"").filter(Boolean).join("\n"):""}async function l(a){if(!a||!/^[A-Za-z0-9_-]+$/.test(a))return null;for(let{profile:b,dbPath:c}of h()){let d=await m(c,b,a);if(d)return d}return null}async function m(a,b,e){let h=await (0,c.openSqliteReadonly)(a);if(!h)return null;try{let a=h.query("SELECT source, cwd FROM sessions WHERE id = ?",[e]);if(0===a.length)return null;let{source:c,cwd:l}=a[0],m=h.query("SELECT id, role, content, tool_call_id, tool_calls, tool_name, timestamp FROM messages WHERE session_id = ? ORDER BY timestamp ASC",[e]),n=function(a,b="session"){let c=[],d=new Map,e=new Map,h=Date.now();for(let l=0;l<a.length;l++){let m=a[l];if(!j(m))continue;let n="string"==typeof m.role?m.role:"system",o=function(a,b){if("number"==typeof a&&Number.isFinite(a)){if(a>1e12)return new Date(a);if(a>1e9)return new Date(1e3*a)}if("string"==typeof a){let b=Date.parse(a);if(!Number.isNaN(b))return new Date(b)}return new Date(b)}(m.timestamp??m.time_created,h+l),p=o.toISOString(),q={uuid:null!=m.id?String(m.id):`hermes-${l}`,parentUuid:null},r=(0,f.baseEntry)(q,p,o,b);if("user"===n){c.push({type:"user",...r,message:{role:"user",content:k(m.content)}});continue}if("assistant"===n){let a=[],b=k(m.content);for(let c of(b&&a.push({type:"text",text:b}),function(a){let b=Array.isArray(a)?a:i(a);if(!Array.isArray(b))return[];let c=[];for(let a of b){if(!j(a))continue;let b=j(a.function)?a.function:{},d="string"==typeof b.name?b.name:"string"==typeof a.name?a.name:"tool",e="string"==typeof a.id&&a.id||"string"==typeof a.call_id&&a.call_id||`${d}-${c.length}`,f=j(b.arguments)?b.arguments:i(b.arguments);c.push({id:e,name:d,input:j(f)?f:{}})}return c}(m.tool_calls))){let b={type:"tool_use",id:c.id,name:c.name,input:c.input};a.push(b),d.set(c.id,b),e.set(c.id,o.getTime())}if(0===a.length)continue;c.push({type:"assistant",...r,message:{role:"assistant",content:a}});continue}if("tool"===n){let a="string"==typeof m.tool_call_id?m.tool_call_id:void 0,b=a?d.get(a):void 0;if(b){let c=a&&e.get(a)||o.getTime(),d=Math.max(0,o.getTime()-c);b.result={timestamp:p,timestampFormatted:(0,f.formatTimestamp)(o),content:k(m.content),durationMs:d,durationFormatted:(0,g.formatDuration)(d)};continue}}c.push({type:"system",...r,raw:q})}return c.sort((a,b)=>a.timestampMs-b.timestampMs),c}(m,"session"),o=l&&l.length>0?l:c?(0,d.hermesProjectPath)(b,c):void 0;return{entries:n,rawLines:m,cwd:o,filePath:`hermes://${e}`,profile:b}}catch{return null}finally{h.close()}}let n=(0,e.runtimeCache)(a=>l(a),2,{maxSize:50});a.s(["epochToMs",0,function(a){if("number"==typeof a&&Number.isFinite(a)){if(a>1e12)return a;if(a>1e9)return 1e3*a}return Date.now()},"getCachedHermesSessionLog",0,n,"hermesDbPaths",0,h])},87488,32460,a=>{"use strict";var b=a.i(12714),c=a.i(2157),d=a.i(60526),e=a.i(50227),f=a.i(34900),g=a.i(83397),h=a.i(92246),i=a.i(94431);function j(a){return"string"==typeof a&&a.length>0?a:void 0}function k(a){try{let b=JSON.parse(a);return b&&"object"==typeof b&&!Array.isArray(b)?b:void 0}catch{return}}function l(a,b){return`openclaw-sqlite://${encodeURIComponent(a)}/${b}`}function m(a,b){let d=[];for(let f of b){let b=(0,e.join)(a,"agents",f,"agent","openclaw-agent.sqlite");(0,c.existsSync)(b)&&d.push({agentId:f,dbPath:b})}return d}async function n(a,b){let c=[];for(let{agentId:d,dbPath:e}of m(a,b)){let a=await (0,i.openSqliteReadonly)(e);if(a)try{let b;try{b=a.query(`SELECT w.session_id, w.session_key, w.updated_at,
|
|
2
|
-
w.transcript_updated_at, w.ended_at, w.channel,
|
|
3
|
-
w.chat_type, w.display_name,
|
|
4
|
-
COALESCE((SELECT MAX(e.created_at)
|
|
5
|
-
FROM transcript_events e
|
|
6
|
-
WHERE e.session_id = w.session_id), 0) AS event_updated_at,
|
|
7
|
-
COALESCE((SELECT SUM(length(e.event_json) + 1)
|
|
8
|
-
FROM transcript_events e
|
|
9
|
-
WHERE e.session_id = w.session_id), 0) AS size_bytes
|
|
10
|
-
FROM session_windows w
|
|
11
|
-
WHERE EXISTS (SELECT 1 FROM transcript_events e
|
|
12
|
-
WHERE e.session_id = w.session_id)`)}catch{continue}let f=function(a){let b,c=new Map;try{b=a.query(`SELECT current_session_id, entry_json, label, display_name
|
|
13
|
-
FROM session_nodes`)}catch{return c}for(let a of b){let b=k(a.entry_json)??{},d=b.origin&&"object"==typeof b.origin&&!Array.isArray(b.origin)?b.origin:{};c.set(a.current_session_id,{channel:j(b.lastChannel)??j(d.provider)??j(d.surface),label:j(a.label)??j(a.display_name)??j(b.displayName)??j(d.label),chatId:j(b.lastTo)??j(d.from),chatType:j(b.chatType)??j(d.chatType)})}return c}(a),g=function(a){let b,c=new Map;try{b=a.query(`SELECT sc.session_id, c.channel, c.kind, c.peer_id,
|
|
14
|
-
c.delivery_target, c.label
|
|
15
|
-
FROM session_conversations sc
|
|
16
|
-
JOIN conversations c ON c.conversation_id = sc.conversation_id
|
|
17
|
-
ORDER BY CASE sc.role WHEN 'primary' THEN 0 ELSE 1 END, sc.last_seen_at DESC`)}catch{return c}for(let a of b)c.has(a.session_id)||c.set(a.session_id,{channel:j(a.channel),label:j(a.label),chatId:j(a.delivery_target)??j(a.peer_id),chatType:j(a.kind)});return c}(a);for(let a of b){let b=f.get(a.session_id),h=g.get(a.session_id);c.push({sessionId:a.session_id,agentId:d,dbPath:e,transcriptPath:l(d,a.session_id),mtimeMs:Math.max(Number(a.updated_at)||0,Number(a.transcript_updated_at)||0,Number(a.ended_at)||0,Number(a.event_updated_at)||0),sizeBytes:Number(a.size_bytes)||0,channel:j(a.channel)??h?.channel??b?.channel??"local",label:j(a.display_name)??h?.label??b?.label,chatId:h?.chatId??b?.chatId,chatType:j(a.chat_type)??h?.chatType??b?.chatType})}}finally{a.close()}}return c}async function o(a,b,c){for(let{agentId:d,dbPath:e}of m(a,b)){let a=await (0,i.openSqliteReadonly)(e);if(a)try{let b;try{b=a.query(`SELECT event_json
|
|
18
|
-
FROM transcript_events
|
|
19
|
-
WHERE session_id = ?
|
|
20
|
-
ORDER BY seq ASC`,[c])}catch{continue}if(0===b.length)continue;let f=b.map(a=>a.event_json),g=f.map(k).filter(a=>void 0!==a);return{agentId:d,dbPath:e,filePath:l(d,c),rawLines:g,eventJsonLines:f}}finally{a.close()}}return null}a.s(["listOpenClawSqliteSessions",0,n,"readOpenClawSqliteTranscript",0,o],32460);let p=/^[0-9a-fA-F-]{36}$/;function q(){return process.env.OPENCLAW_STATE_DIR||process.env.OPENCLAW_HOME||(0,e.join)((0,d.homedir)(),".openclaw")}function r(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function s(a){return"string"==typeof a?a:Array.isArray(a)?a.map(a=>r(a)&&"string"==typeof a.text?a.text:"").filter(Boolean).join("\n"):""}function t(a,b="session"){let c=[],d=new Map,e=new Map,f=Date.now();for(let i=0;i<a.length;i++){let j=a[i];if(!r(j)||"message"!==j.type)continue;let k=r(j.message)?j.message:void 0;if(!k)continue;let l="string"==typeof k.role?k.role:"system",m=function(a,b){if("number"==typeof a&&Number.isFinite(a)){if(a>1e12)return new Date(a);if(a>1e9)return new Date(1e3*a)}if("string"==typeof a){let b=Date.parse(a);if(!Number.isNaN(b))return new Date(b)}return new Date(b)}(j.timestamp??k.timestamp,f+i),n=m.toISOString(),o={uuid:null!=j.id?String(j.id):`openclaw-${i}`,parentUuid:null!=j.parentId?String(j.parentId):null},p=(0,g.baseEntry)(o,n,m,b);if("user"===l){c.push({type:"user",...p,message:{role:"user",content:s(k.content)}});continue}if("assistant"===l){let a=[],b=k.content;if(Array.isArray(b)){for(let c of b)if(r(c)){if("text"===c.type&&"string"==typeof c.text)a.push({type:"text",text:c.text});else if("toolCall"===c.type){let b="string"==typeof c.id?c.id:`${String(c.name??"tool")}-${a.length}`,f={type:"tool_use",id:b,name:"string"==typeof c.name?c.name:"tool",input:r(c.arguments)?c.arguments:{}};a.push(f),d.set(b,f),e.set(b,m.getTime())}}}else{let c=s(b);c&&a.push({type:"text",text:c})}if(0===a.length)continue;c.push({type:"assistant",...p,message:{role:"assistant",content:a,model:"string"==typeof k.model?k.model:void 0}});continue}if("toolResult"===l){let a="string"==typeof k.toolCallId?k.toolCallId:void 0,b=a?d.get(a):void 0;if(b){let c=r(k.details)?k.details:void 0,d=a&&e.get(a)||m.getTime(),f=c&&"number"==typeof c.durationMs?c.durationMs:Math.max(0,m.getTime()-d);b.result={timestamp:n,timestampFormatted:(0,g.formatTimestamp)(m),content:s(k.content),durationMs:f,durationFormatted:(0,h.formatDuration)(f)};continue}}c.push({type:"system",...p,raw:o})}return c.sort((a,b)=>a.timestampMs-b.timestampMs),c}function u(){try{return(0,c.readdirSync)((0,e.join)(q(),"agents"),{withFileTypes:!0}).filter(a=>a.isDirectory()&&!a.name.startsWith(".")).map(a=>a.name).sort()}catch{return[]}}function v(){let a,b=(0,e.join)(q(),"agents"),d=[];try{a=(0,c.readdirSync)(b,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>a.name)}catch{return d}for(let f of a){let a,g=(0,e.join)(b,f,"sessions");try{a=(0,c.readdirSync)(g)}catch{continue}for(let b of a){if(!b.endsWith(".jsonl")||b.endsWith(".trajectory.jsonl"))continue;let a=b.slice(0,-6);if(!p.test(a))continue;let h=(0,e.join)(g,b);try{let b=(0,c.statSync)(h);d.push({agentId:f,sessionId:a,transcriptPath:h,mtimeMs:b.mtimeMs,sizeBytes:b.size})}catch{}}}return d}async function w(a){let c,d;if(!p.test(a))return null;let e=await o(q(),u(),a);if(e){let a,b=t(e.rawLines,"session");for(let b of e.rawLines)if("session"===b.type&&"string"==typeof b.cwd&&b.cwd.length>0){a=b.cwd;break}return{entries:b,rawLines:e.rawLines,cwd:a,filePath:e.filePath}}let f=function(a){if(!p.test(a))return null;for(let b of v())if(b.sessionId===a)return b.transcriptPath;return null}(a);if(!f)return null;try{c=await (0,b.readFile)(f,"utf-8")}catch{return null}let h=(0,g.parseRawLines)(c,"session"),i=t(h,"session");for(let a of h)if(r(a)&&"session"===a.type&&"string"==typeof a.cwd&&a.cwd.length>0){d=a.cwd;break}return{entries:i,rawLines:h,cwd:d,filePath:f}}let x=(0,f.runtimeCache)(a=>w(a),2,{maxSize:50});a.s(["getCachedOpenClawSessionLog",0,x,"listOpenClawAgents",0,u,"listOpenClawTranscripts",0,v,"openclawHome",0,q],87488)},84794,a=>{"use strict";var b=a.i(60526),c=a.i(50227),d=a.i(94431);async function e(a){let e=await (0,d.openSqliteReadonly)(function(){if(process.env.OPENCODE_DB_PATH)return process.env.OPENCODE_DB_PATH;let a=process.env.OPENCODE_HOME??(0,c.join)((0,b.homedir)(),".local","share","opencode");return(0,c.join)(a,"opencode.db")}());if(!e)return null;try{return a(e)}catch{return null}finally{try{e.close()}catch{}}}async function f(a,b=[]){return e(c=>c.query(a,b))}a.s(["queryOpenCodeDb",0,f,"withOpenCodeDb",0,e])},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}},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";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)}];
|
|
1
|
+
module.exports=[99910,a=>{"use strict";var b=a.i(12714),c=a.i(2157),d=a.i(60526),e=a.i(50227),f=a.i(34900),g=a.i(83397),h=a.i(92246);let i=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,j=new Set(["CONVERSATION_HISTORY","CHECKPOINT"]);function k(){return process.env.ANTIGRAVITY_HOME||(0,e.join)((0,d.homedir)(),".gemini","antigravity-cli")}function l(){return(0,e.join)(k(),"brain")}function m(){return(0,e.join)(".system_generated","logs","transcript_full.jsonl")}function n(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}async function o(a){let d,f=function(a){if(!i.test(a))return null;let b=(0,e.join)(l(),a,m());try{if((0,c.statSync)(b).isFile())return b}catch{}return null}(a);if(!f)return null;try{d=await (0,b.readFile)(f,"utf-8")}catch{return null}let k=(0,g.parseRawLines)(d,"session"),o=function(a,b="session"){let c=[],d=new Map,e=Date.now();for(let f=0;f<a.length;f++){let i=a[f];if(!n(i))continue;let k="string"==typeof i.type?i.type:"";if(!k||j.has(k))continue;let l=function(a,b){if("number"==typeof a&&Number.isFinite(a)){if(a>1e12)return new Date(a);if(a>1e9)return new Date(1e3*a)}if("string"==typeof a){let b=Date.parse(a);if(!Number.isNaN(b))return new Date(b)}return new Date(b)}(i.created_at,e+f),m=l.toISOString(),o="number"==typeof i.step_index?i.step_index:f,p={uuid:`antigravity-${o}`,parentUuid:null},q=(0,g.baseEntry)(p,m,l,b);if("USER_INPUT"===k){let a="string"==typeof i.content?i.content:"";c.push({type:"user",...q,message:{role:"user",content:a}});continue}if("PLANNER_RESPONSE"===k){let a=[];if("string"==typeof i.content&&i.content.length>0&&a.push({type:"text",text:i.content}),Array.isArray(i.tool_calls))for(let b=0;b<i.tool_calls.length;b++){let c=i.tool_calls[b];if(!n(c))continue;let e="string"==typeof c.name?c.name:"tool",f={type:"tool_use",id:`${e}-${o}-${b}`,name:e,input:n(c.args)?c.args:{}};a.push(f);let g=e.toUpperCase(),h=d.get(g)??[];h.push({block:f,startMs:l.getTime()}),d.set(g,h)}if(0===a.length)continue;c.push({type:"assistant",...q,message:{role:"assistant",content:a}});continue}let r=d.get(k);if(r&&r.length>0){let{block:a,startMs:b}=r.shift(),c=Math.max(0,l.getTime()-b);a.result={timestamp:m,timestampFormatted:(0,g.formatTimestamp)(l),content:"string"==typeof i.content?i.content:"",durationMs:c,durationFormatted:(0,h.formatDuration)(c)};continue}c.push({type:"system",...q,raw:p})}return c.sort((a,b)=>a.timestampMs-b.timestampMs),c}(k,"session"),p=function(a){for(let b of a)if(n(b)&&Array.isArray(b.tool_calls))for(let a of b.tool_calls){if(!n(a)||!n(a.args))continue;let b=a.args.Cwd??a.args.cwd;if("string"==typeof b&&b.length>0)return b}}(k);return{entries:o,rawLines:k,cwd:p,filePath:f}}let p=(0,f.runtimeCache)(a=>o(a),60,{maxSize:50});a.s(["antigravityHome",0,k,"getAntigravitySessionLog",0,o,"getCachedAntigravitySessionLog",0,p,"listAntigravityTranscripts",0,function(){let a,b=l(),d=m(),f=[];try{a=(0,c.readdirSync)(b,{withFileTypes:!0}).filter(a=>a.isDirectory())}catch{return f}for(let g of a){let a=g.name;if(!i.test(a))continue;let h=(0,e.join)(b,a,d);try{let b=(0,c.statSync)(h);if(!b.isFile())continue;f.push({conversationId:a,transcriptPath:h,mtimeMs:b.mtimeMs,sizeBytes:b.size})}catch{}}return f}])},33559,a=>{"use strict";var b=a.i(60526),c=a.i(50227),d=a.i(94431),e=a.i(34900),f=a.i(83397),g=a.i(92246);let h=/^[A-Za-z0-9_-]+$/;function i(){return process.env.DEVIN_DB_PATH||(0,c.join)(process.env.DEVIN_HOME||(0,c.join)((0,b.homedir)(),".local","share","devin"),"cli","sessions.db")}function j(a){if("string"==typeof a&&0!==a.length)try{return JSON.parse(a)}catch{return}}function k(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function l(a){return"string"==typeof a?a:Array.isArray(a)?a.map(a=>k(a)&&"string"==typeof a.text?a.text:"").filter(Boolean).join("\n"):""}function m(a,b){if("number"==typeof a&&Number.isFinite(a)){if(a>1e12)return new Date(a);if(a>1e9)return new Date(1e3*a)}if("string"==typeof a){let b=Date.parse(a);if(!Number.isNaN(b))return new Date(b)}return new Date(b)}async function n(a){if(!a||!h.test(a))return null;let b=await (0,d.openSqliteReadonly)(i());if(!b)return null;try{let c=b.query("SELECT working_directory FROM sessions WHERE id = ?",[a]);if(0===c.length)return null;let d=c[0].working_directory,e=b.query("SELECT node_id, parent_node_id, chat_message, created_at FROM message_nodes WHERE session_id = ? ORDER BY node_id ASC",[a]),h=function(a){let b=[];for(let c of a){let a=j(c.chat_message);k(a)&&(null!=c.created_at&&null==a._created_at&&(a._created_at=c.created_at),b.push(a))}return b}(function(a){if(0===a.length)return a;let b=new Map;for(let c of a)"number"==typeof c.node_id&&b.set(c.node_id,c);let c=a.reduce((a,b)=>(a.node_id??-1)>(b.node_id??-1)?a:b),d=[],e=new Set;for(;c&&"number"==typeof c.node_id&&!e.has(c.node_id);)e.add(c.node_id),d.push(c),c=null!=c.parent_node_id?b.get(c.parent_node_id):void 0;return d.reverse()}(e)),i=function(a,b="session"){let c=[],d=new Map,e=new Map,h=Date.now();for(let i=0;i<a.length;i++){let n=a[i];if(!k(n))continue;let o="string"==typeof n.role?n.role:"system",p=function(a,b){let c=k(a.metadata)?a.metadata:void 0;return c&&null!=c.created_at?m(c.created_at,b):null!=a._created_at?m(a._created_at,b):new Date(b)}(n,h+i),q=p.toISOString(),r={uuid:null!=n.message_id?String(n.message_id):`devin-${i}`,parentUuid:null},s=(0,f.baseEntry)(r,q,p,b);if("user"===o){c.push({type:"user",...s,message:{role:"user",content:l(n.content)}});continue}if("assistant"===o){let a=[],b=l(n.content);for(let c of(b&&a.push({type:"text",text:b}),function(a){let b=Array.isArray(a)?a:j(a);if(!Array.isArray(b))return[];let c=[];for(let a of b){if(!k(a))continue;let b=k(a.function)?a.function:{},d="string"==typeof a.name?a.name:"string"==typeof b.name?b.name:"tool",e="string"==typeof a.id&&a.id||"string"==typeof a.call_id&&a.call_id||`${d}-${c.length}`,f=a.arguments??b.arguments,g=k(f)?f:j(f);c.push({id:e,name:d,input:k(g)?g:{}})}return c}(n.tool_calls))){let b={type:"tool_use",id:c.id,name:c.name,input:c.input};a.push(b),d.set(c.id,b),e.set(c.id,p.getTime())}if(0===a.length)continue;c.push({type:"assistant",...s,message:{role:"assistant",content:a,model:"string"==typeof n.model?n.model:void 0}});continue}if("tool"===o){let a="string"==typeof n.tool_call_id?n.tool_call_id:void 0,b=a?d.get(a):void 0;if(b){let c=a&&e.get(a)||p.getTime(),d=Math.max(0,p.getTime()-c);b.result={timestamp:q,timestampFormatted:(0,f.formatTimestamp)(p),content:l(n.content),durationMs:d,durationFormatted:(0,g.formatDuration)(d)};continue}}c.push({type:"system",...s,raw:r})}return c.sort((a,b)=>a.timestampMs-b.timestampMs),c}(h,"session"),n=d&&d.length>0?d:void 0;return{entries:i,rawLines:h,cwd:n,filePath:`devin-db://${a}`}}catch{return null}finally{b.close()}}let o=(0,e.runtimeCache)(a=>n(a),2,{maxSize:50});a.s(["devinDbPath",0,i,"devinEpochToMs",0,function(a){if("number"==typeof a&&Number.isFinite(a)){if(a>1e12)return a;if(a>1e9)return 1e3*a}return Date.now()},"getCachedDevinSessionLog",0,o])},89901,a=>{"use strict";var b=a.i(12714),c=a.i(2157),d=a.i(60526),e=a.i(50227),f=a.i(90798),g=a.i(34900),h=a.i(83397),i=a.i(92246);let j=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;function k(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function l(a){return"string"==typeof a?a:Array.isArray(a)?a.map(a=>k(a)&&"string"==typeof a.text?a.text:"").filter(Boolean).join("\n"):""}function m(){let a,b=(0,e.join)(process.env.FACTORY_HOME||(0,e.join)((0,d.homedir)(),".factory"),"sessions"),g=[];try{a=(0,c.readdirSync)(b,{withFileTypes:!0}).filter(a=>a.isDirectory())}catch{return g}for(let d of a){let a,h=d.name,i=(0,f.decodeFolderName)(h),k=(0,e.join)(b,h);try{a=(0,c.readdirSync)(k)}catch{continue}for(let b of a){if(!b.endsWith(".jsonl"))continue;let a=b.slice(0,-6);if(!j.test(a))continue;let d=(0,e.join)(k,b);try{let b=(0,c.statSync)(d);g.push({projectName:h,cwd:i,sessionId:a,transcriptPath:d,mtimeMs:b.mtimeMs,sizeBytes:b.size})}catch{}}}return g}async function n(a){let c,d,e=function(a){if(!j.test(a))return null;for(let b of m())if(b.sessionId===a)return b.transcriptPath;return null}(a);if(!e)return null;try{c=await (0,b.readFile)(e,"utf-8")}catch{return null}let f=(0,h.parseRawLines)(c,"session"),g=function(a,b="session"){let c=[],d=new Map,e=new Map,f=Date.now();for(let g=0;g<a.length;g++){let j=a[g];if(!k(j)||"message"!==j.type)continue;let m=k(j.message)?j.message:void 0;if(!m)continue;let n="string"==typeof m.role?m.role:"system",o=function(a,b){if("number"==typeof a&&Number.isFinite(a)){if(a>1e12)return new Date(a);if(a>1e9)return new Date(1e3*a)}if("string"==typeof a){let b=Date.parse(a);if(!Number.isNaN(b))return new Date(b)}return new Date(b)}(j.timestamp??m.timestamp,f+g),p=o.toISOString(),q={uuid:null!=j.id?String(j.id):`factory-${g}`,parentUuid:null!=j.parentId?String(j.parentId):null},r=(0,h.baseEntry)(q,p,o,b),s=m.content;if("assistant"===n){let a=[];if(Array.isArray(s)){for(let b of s)if(k(b)){if("text"===b.type&&"string"==typeof b.text)a.push({type:"text",text:b.text});else if("tool_use"===b.type){let c="string"==typeof b.id?b.id:`${String(b.name??"tool")}-${a.length}`,f={type:"tool_use",id:c,name:"string"==typeof b.name?b.name:"tool",input:k(b.input)?b.input:{}};a.push(f),d.set(c,f),e.set(c,o.getTime())}}}else{let b=l(s);b&&a.push({type:"text",text:b})}if(0===a.length)continue;c.push({type:"assistant",...r,message:{role:"assistant",content:a,model:"string"==typeof m.model?m.model:void 0}});continue}if(Array.isArray(s)){let a=!1,b=[];for(let c of s)if(k(c)){if("tool_result"===c.type){let b="string"==typeof c.tool_use_id?c.tool_use_id:"string"==typeof c.toolUseId?c.toolUseId:void 0,f=b?d.get(b):void 0;if(f){let d=b&&e.get(b)||o.getTime(),g=Math.max(0,o.getTime()-d);f.result={timestamp:p,timestampFormatted:(0,h.formatTimestamp)(o),content:l(c.content),durationMs:g,durationFormatted:(0,i.formatDuration)(g)},a=!0;continue}}"text"===c.type&&"string"==typeof c.text&&b.push(c.text)}b.length>0?c.push({type:"user",...r,message:{role:"user",content:b.join("\n")}}):a||c.push({type:"system",...r,raw:q});continue}if("user"===n){c.push({type:"user",...r,message:{role:"user",content:l(s)}});continue}c.push({type:"system",...r,raw:q})}return c.sort((a,b)=>a.timestampMs-b.timestampMs),c}(f,"session");for(let a of f)if(k(a)&&"session_start"===a.type&&"string"==typeof a.cwd&&a.cwd.length>0){d=a.cwd;break}return{entries:g,rawLines:f,cwd:d,filePath:e}}let o=(0,g.runtimeCache)(a=>n(a),60,{maxSize:50});a.s(["getCachedFactorySessionLog",0,o,"getFactorySessionLog",0,n,"listFactoryTranscripts",0,m])},74615,a=>{"use strict";var b=a.i(60526),c=a.i(50227),d=a.i(94431),e=a.i(34900),f=a.i(83397),g=a.i(92246);let h=/^\d{8}_\d+$/;function i(){return process.env.GOOSE_DB_PATH||(0,c.join)(function(){if(process.env.GOOSE_HOME)return process.env.GOOSE_HOME;let a=process.env.XDG_DATA_HOME;return(0,c.join)(a&&a.length>0?a:(0,c.join)((0,b.homedir)(),".local","share"),"goose")}(),"sessions","sessions.db")}function j(a){if("number"==typeof a&&Number.isFinite(a)){if(a>1e12)return a;if(a>1e9)return 1e3*a}if("string"==typeof a&&a.length>0){let b=Date.parse(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(a)?a.replace(" ","T")+"Z":a);if(!Number.isNaN(b))return b}return Date.now()}function k(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function l(a){return"string"==typeof a?a:Array.isArray(a)?a.map(a=>k(a)&&"string"==typeof a.text?a.text:"").filter(Boolean).join("\n"):""}async function m(a){if(!a||!h.test(a))return null;let b=await (0,d.openSqliteReadonly)(i());if(!b)return null;try{let c=b.query("SELECT working_dir FROM sessions WHERE id = ?",[a]);if(0===c.length)return null;let d=c[0].working_dir,e=b.query("SELECT role, content_json, created_timestamp FROM messages WHERE session_id = ? ORDER BY id ASC",[a]),h=function(a,b="session"){let c=[],d=new Map,e=new Map,h=Date.now();for(let i=0;i<a.length;i++){let m=a[i],n=function(a){if("string"==typeof a&&0!==a.length)try{return JSON.parse(a)}catch{return}}(m.content_json);if(!Array.isArray(n))continue;let o="string"==typeof m.role?m.role:"system",p=function(a,b){let c="number"==typeof a||"string"==typeof a?j(a):NaN;return new Date(Number.isNaN(c)?b:c)}(m.created_timestamp,h+i),q=p.toISOString(),r={uuid:`goose-${i}`,parentUuid:null},s=(0,f.baseEntry)(r,q,p,b),t=[],u=[],v=[];for(let a of n)k(a)&&("text"===a.type&&"string"==typeof a.text?t.push(a.text):"toolRequest"===a.type?u.push(a):"toolResponse"===a.type&&v.push(a));for(let a of v){let b="string"==typeof a.id?a.id:void 0,c=b?d.get(b):void 0;if(!c)continue;let h=b&&e.get(b)||p.getTime(),i=Math.max(0,p.getTime()-h);c.result={timestamp:q,timestampFormatted:(0,f.formatTimestamp)(p),content:function(a){let b=(k(a.toolResult)?a.toolResult:{}).value;return k(b)&&Array.isArray(b.content)?l(b.content):"string"==typeof b?b:Array.isArray(b)?l(b):""}(a),durationMs:i,durationFormatted:(0,g.formatDuration)(i)}}let w=t.join("\n").trim();if(u.length>0||"assistant"===o&&w){let a=[];for(let b of(w&&a.push({type:"text",text:w}),u)){let{id:c,name:f,input:g}=function(a,b){let c="string"==typeof a.id&&a.id?a.id:`goose-tool-${b}`,d=k(a.toolCall)?a.toolCall:{},e=k(d.value)?d.value:{},f="string"==typeof e.name?e.name:"tool";return{id:c,name:f,input:k(e.arguments)?e.arguments:{}}}(b,a.length),h={type:"tool_use",id:c,name:f,input:g};a.push(h),d.set(c,h),e.set(c,p.getTime())}if(0===a.length)continue;c.push({type:"assistant",...s,message:{role:"assistant",content:a}});continue}if("user"===o&&w){c.push({type:"user",...s,message:{role:"user",content:w}});continue}w&&c.push({type:"system",...s,raw:r})}return c.sort((a,b)=>a.timestampMs-b.timestampMs),c}(e,"session"),i=d&&d.length>0?d:void 0;return{entries:h,rawLines:e,cwd:i,filePath:`goose-db://${a}`}}catch{return null}finally{b.close()}}let n=(0,e.runtimeCache)(a=>m(a),2,{maxSize:50});a.s(["getCachedGooseSessionLog",0,n,"gooseDbPath",0,i,"gooseTimestampToMs",0,j])},43600,a=>{"use strict";var b=a.i(2157),c=a.i(60526),d=a.i(50227);let e="profiles",f="default";function g(){let a=(process.env.HERMES_HOME||"").trim();if(a){let b=(0,d.resolve)(a),c=(0,d.dirname)(b);return(0,d.basename)(c)===e?(0,d.dirname)(c):b}return(0,d.join)((0,c.homedir)(),".hermes")}function h(){let a,c=g(),h=[{name:f,home:c}],i=new Set([f]);try{a=(0,b.readdirSync)((0,d.join)(c,e),{withFileTypes:!0}).filter(a=>(a.isDirectory()||a.isSymbolicLink())&&!a.name.startsWith(".")).map(a=>a.name).sort()}catch{return h}for(let b of a)i.has(b)||(i.add(b),h.push({name:b,home:(0,d.join)(c,e,b)}));return h}a.s(["HERMES_DEFAULT_PROFILE",0,f,"hermesProjectName",0,function(a,b){return`hermes-${a}-${b}`},"hermesProjectNameCandidates",0,function(a){if(!a.startsWith("hermes-"))return[];let b=a.slice(7);if(!b)return[];let c=[];for(let a of h().map(a=>a.name).sort((a,b)=>b.length-a.length)){let d=`${a}-`;b.startsWith(d)&&b.length>d.length&&c.push({profile:a,source:b.slice(d.length)})}return c.push({profile:f,source:b}),c},"hermesProjectPath",0,function(a,b){return`hermes:${a}:${b}`},"hermesRoot",0,g,"listHermesProfiles",0,h])},54563,a=>{"use strict";var b=a.i(50227),c=a.i(94431),d=a.i(43600),e=a.i(34900),f=a.i(83397),g=a.i(92246);function h(){let a=process.env.HERMES_DB_PATH;return a?[{profile:d.HERMES_DEFAULT_PROFILE,dbPath:a}]:(0,d.listHermesProfiles)().map(a=>({profile:a.name,dbPath:(0,b.join)(a.home,"state.db")}))}function i(a){if("string"==typeof a&&0!==a.length)try{return JSON.parse(a)}catch{return}}function j(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function k(a){return"string"==typeof a?a:Array.isArray(a)?a.map(a=>j(a)&&"string"==typeof a.text?a.text:"").filter(Boolean).join("\n"):""}async function l(a){if(!a||!/^[A-Za-z0-9_-]+$/.test(a))return null;for(let{profile:b,dbPath:c}of h()){let d=await m(c,b,a);if(d)return d}return null}async function m(a,b,e){let h=await (0,c.openSqliteReadonly)(a);if(!h)return null;try{let a=h.query("SELECT source, cwd FROM sessions WHERE id = ?",[e]);if(0===a.length)return null;let{source:c,cwd:l}=a[0],m=h.query("SELECT id, role, content, tool_call_id, tool_calls, tool_name, timestamp FROM messages WHERE session_id = ? ORDER BY timestamp ASC",[e]),n=function(a,b="session"){let c=[],d=new Map,e=new Map,h=Date.now();for(let l=0;l<a.length;l++){let m=a[l];if(!j(m))continue;let n="string"==typeof m.role?m.role:"system",o=function(a,b){if("number"==typeof a&&Number.isFinite(a)){if(a>1e12)return new Date(a);if(a>1e9)return new Date(1e3*a)}if("string"==typeof a){let b=Date.parse(a);if(!Number.isNaN(b))return new Date(b)}return new Date(b)}(m.timestamp??m.time_created,h+l),p=o.toISOString(),q={uuid:null!=m.id?String(m.id):`hermes-${l}`,parentUuid:null},r=(0,f.baseEntry)(q,p,o,b);if("user"===n){c.push({type:"user",...r,message:{role:"user",content:k(m.content)}});continue}if("assistant"===n){let a=[],b=k(m.content);for(let c of(b&&a.push({type:"text",text:b}),function(a){let b=Array.isArray(a)?a:i(a);if(!Array.isArray(b))return[];let c=[];for(let a of b){if(!j(a))continue;let b=j(a.function)?a.function:{},d="string"==typeof b.name?b.name:"string"==typeof a.name?a.name:"tool",e="string"==typeof a.id&&a.id||"string"==typeof a.call_id&&a.call_id||`${d}-${c.length}`,f=j(b.arguments)?b.arguments:i(b.arguments);c.push({id:e,name:d,input:j(f)?f:{}})}return c}(m.tool_calls))){let b={type:"tool_use",id:c.id,name:c.name,input:c.input};a.push(b),d.set(c.id,b),e.set(c.id,o.getTime())}if(0===a.length)continue;c.push({type:"assistant",...r,message:{role:"assistant",content:a}});continue}if("tool"===n){let a="string"==typeof m.tool_call_id?m.tool_call_id:void 0,b=a?d.get(a):void 0;if(b){let c=a&&e.get(a)||o.getTime(),d=Math.max(0,o.getTime()-c);b.result={timestamp:p,timestampFormatted:(0,f.formatTimestamp)(o),content:k(m.content),durationMs:d,durationFormatted:(0,g.formatDuration)(d)};continue}}c.push({type:"system",...r,raw:q})}return c.sort((a,b)=>a.timestampMs-b.timestampMs),c}(m,"session"),o=l&&l.length>0?l:c?(0,d.hermesProjectPath)(b,c):void 0;return{entries:n,rawLines:m,cwd:o,filePath:`hermes://${e}`,profile:b}}catch{return null}finally{h.close()}}let n=(0,e.runtimeCache)(a=>l(a),2,{maxSize:50});a.s(["epochToMs",0,function(a){if("number"==typeof a&&Number.isFinite(a)){if(a>1e12)return a;if(a>1e9)return 1e3*a}return Date.now()},"getCachedHermesSessionLog",0,n,"hermesDbPaths",0,h])},87488,a=>{"use strict";var b=a.i(12714),c=a.i(2157),d=a.i(60526),e=a.i(50227),f=a.i(34900),g=a.i(83397),h=a.i(92246);let i=/^[0-9a-fA-F-]{36}$/;function j(){return process.env.OPENCLAW_HOME||(0,e.join)((0,d.homedir)(),".openclaw")}function k(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function l(a){return"string"==typeof a?a:Array.isArray(a)?a.map(a=>k(a)&&"string"==typeof a.text?a.text:"").filter(Boolean).join("\n"):""}function m(){let a,b=(0,e.join)(j(),"agents"),d=[];try{a=(0,c.readdirSync)(b,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>a.name)}catch{return d}for(let f of a){let a,g=(0,e.join)(b,f,"sessions");try{a=(0,c.readdirSync)(g)}catch{continue}for(let b of a){if(!b.endsWith(".jsonl")||b.endsWith(".trajectory.jsonl"))continue;let a=b.slice(0,-6);if(!i.test(a))continue;let h=(0,e.join)(g,b);try{let b=(0,c.statSync)(h);d.push({agentId:f,sessionId:a,transcriptPath:h,mtimeMs:b.mtimeMs,sizeBytes:b.size})}catch{}}}return d}async function n(a){let c,d,e=function(a){if(!i.test(a))return null;for(let b of m())if(b.sessionId===a)return b.transcriptPath;return null}(a);if(!e)return null;try{c=await (0,b.readFile)(e,"utf-8")}catch{return null}let f=(0,g.parseRawLines)(c,"session"),j=function(a,b="session"){let c=[],d=new Map,e=new Map,f=Date.now();for(let i=0;i<a.length;i++){let j=a[i];if(!k(j)||"message"!==j.type)continue;let m=k(j.message)?j.message:void 0;if(!m)continue;let n="string"==typeof m.role?m.role:"system",o=function(a,b){if("number"==typeof a&&Number.isFinite(a)){if(a>1e12)return new Date(a);if(a>1e9)return new Date(1e3*a)}if("string"==typeof a){let b=Date.parse(a);if(!Number.isNaN(b))return new Date(b)}return new Date(b)}(j.timestamp??m.timestamp,f+i),p=o.toISOString(),q={uuid:null!=j.id?String(j.id):`openclaw-${i}`,parentUuid:null!=j.parentId?String(j.parentId):null},r=(0,g.baseEntry)(q,p,o,b);if("user"===n){c.push({type:"user",...r,message:{role:"user",content:l(m.content)}});continue}if("assistant"===n){let a=[],b=m.content;if(Array.isArray(b)){for(let c of b)if(k(c)){if("text"===c.type&&"string"==typeof c.text)a.push({type:"text",text:c.text});else if("toolCall"===c.type){let b="string"==typeof c.id?c.id:`${String(c.name??"tool")}-${a.length}`,f={type:"tool_use",id:b,name:"string"==typeof c.name?c.name:"tool",input:k(c.arguments)?c.arguments:{}};a.push(f),d.set(b,f),e.set(b,o.getTime())}}}else{let c=l(b);c&&a.push({type:"text",text:c})}if(0===a.length)continue;c.push({type:"assistant",...r,message:{role:"assistant",content:a,model:"string"==typeof m.model?m.model:void 0}});continue}if("toolResult"===n){let a="string"==typeof m.toolCallId?m.toolCallId:void 0,b=a?d.get(a):void 0;if(b){let c=k(m.details)?m.details:void 0,d=a&&e.get(a)||o.getTime(),f=c&&"number"==typeof c.durationMs?c.durationMs:Math.max(0,o.getTime()-d);b.result={timestamp:p,timestampFormatted:(0,g.formatTimestamp)(o),content:l(m.content),durationMs:f,durationFormatted:(0,h.formatDuration)(f)};continue}}c.push({type:"system",...r,raw:q})}return c.sort((a,b)=>a.timestampMs-b.timestampMs),c}(f,"session");for(let a of f)if(k(a)&&"session"===a.type&&"string"==typeof a.cwd&&a.cwd.length>0){d=a.cwd;break}return{entries:j,rawLines:f,cwd:d,filePath:e}}let o=(0,f.runtimeCache)(a=>n(a),2,{maxSize:50});a.s(["getCachedOpenClawSessionLog",0,o,"listOpenClawAgents",0,function(){try{return(0,c.readdirSync)((0,e.join)(j(),"agents"),{withFileTypes:!0}).filter(a=>a.isDirectory()&&!a.name.startsWith(".")).map(a=>a.name).sort()}catch{return[]}},"listOpenClawTranscripts",0,m,"openclawHome",0,j])},84794,a=>{"use strict";var b=a.i(60526),c=a.i(50227),d=a.i(94431);async function e(a){let e=await (0,d.openSqliteReadonly)(function(){if(process.env.OPENCODE_DB_PATH)return process.env.OPENCODE_DB_PATH;let a=process.env.OPENCODE_HOME??(0,c.join)((0,b.homedir)(),".local","share","opencode");return(0,c.join)(a,"opencode.db")}());if(!e)return null;try{return a(e)}catch{return null}finally{try{e.close()}catch{}}}async function f(a,b=[]){return e(c=>c.query(a,b))}a.s(["queryOpenCodeDb",0,f,"withOpenCodeDb",0,e])},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}},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";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)}];
|
|
21
2
|
|
|
22
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=_1if9ixi._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[21776,a=>{"use strict";var b=a.i(36359),c=a.i(7292);a.s([],84740),a.i(84740),a.s(["
|
|
1
|
+
module.exports=[21776,a=>{"use strict";var b=a.i(36359),c=a.i(7292);a.s([],84740),a.i(84740),a.s(["0065df1d37b4ffce8106114429f3fa2fbf48a7104b",()=>b.getTelemetryConfig,"6066699700f56c4fe942381d9b8e35b9a204b6e9b4",()=>c.searchHookActivityAction],21776)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0vmspq5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=_1u8-lu2._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[4543,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(10765),e=a.i(17094);let f=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function g(a){if((0,e.isAbortError)(a))return"request timed out. check your network and try again.";let b=a instanceof Error?a.message:String(a);return`network error: ${b}`}a.s(["AuthDialog",0,function({open:a,headline:h="where to route the reminder?",subhead:i="we'll send a one-time code to confirm.",onClose:j,onAuthed:k,source:l="unknown"}){let{capture:m}=(0,d.usePostHog)(),[n,o]=(0,c.useState)({kind:"email",error:null}),[p,q]=(0,c.useState)(!1),r=(0,c.useRef)(!1),s=(0,c.useRef)(null),t=(0,c.useRef)(null);(0,c.useEffect)(()=>{a&&(o({kind:"email",error:null}),q(!1),r.current=!1,m("audit_auth_dialog_opened",{source:l}))},[m,a,l]);let u=(0,c.useRef)(!1);(0,c.useEffect)(()=>{if(a){u.current=!0;return}u.current&&!r.current&&m("audit_auth_dialog_dismissed",{source:l,step:n.kind}),u.current=!1},[m,a,l,n.kind]),(0,c.useEffect)(()=>{if(!a)return;let b=setTimeout(()=>{"email"===n.kind?s.current?.focus():"code"===n.kind&&t.current?.focus()},50);return()=>clearTimeout(b)},[a,n.kind]),(0,c.useEffect)(()=>{if(!a)return;let b=a=>{"Escape"!==a.key||p||j()};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[a,p,j]);let v="code"===n.kind&&n.resendIn>0;(0,c.useEffect)(()=>{if(!v)return;let a=setInterval(()=>{o(a=>"code"===a.kind?{...a,resendIn:Math.max(0,a.resendIn-1)}:a)},1e3);return()=>clearInterval(a)},[v]);let w=(0,c.useCallback)(async(a,b={})=>{let{isResend:c=!1}=b,d=a=>{c?o(b=>"code"===b.kind?{...b,error:a}:b):o({kind:"email",error:a})};q(!0);try{let b=await (0,e.fetchWithTimeout)("/api/auth/login-request",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({email:a})}),c=await b.json().catch(()=>({}));if(!b.ok){let a=c.message??"could not send code.";"rate_limited"===c.code&&void 0!==c.retry_after_secs?a=`too many tries. wait ${c.retry_after_secs}s and try again.`:"upstream_unreachable"===c.code&&(a="api-server unreachable. check your network."),d(a);return}o({kind:"code",email:a,error:null,expiresIn:c.expires_in??600,resendIn:c.resend_available_in??30})}catch(a){d(g(a))}finally{q(!1)}},[]),x=(0,c.useCallback)(async(a,b)=>{q(!0);try{let c=await (0,e.fetchWithTimeout)("/api/auth/login-verify",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({email:a,code:b})}),d=await c.json().catch(()=>({}));if(!c.ok||!d.authenticated||!d.user){let a=d.message??"invalid code.";"invalid_code"===d.code&&(a="wrong code, or it expired. try again."),o(b=>"code"===b.kind?{...b,error:a}:b);return}r.current=!0,m("audit_auth_dialog_succeeded",{source:l}),o({kind:"done",user:d.user}),k(d.user)}catch(b){let a=g(b);o(b=>"code"===b.kind?{...b,error:a}:b)}finally{q(!1)}},[m,k,l]),y=(0,c.useCallback)(async a=>{if(a.preventDefault(),p||"email"!==n.kind)return;let b=String(new FormData(a.currentTarget).get("email")??"").trim().toLowerCase();f.test(b)?await w(b):o({kind:"email",error:"that doesn't look like an email."})},[p,n,w]),z=(0,c.useCallback)(async a=>{if(a.preventDefault(),p||"code"!==n.kind)return;let b=String(new FormData(a.currentTarget).get("code")??"").trim();b.length<4||b.length>12?o(a=>"code"===a.kind?{...a,error:"code is 4–12 characters."}:a):await x(n.email,b)},[p,n,x]),A=(0,c.useCallback)(async()=>{"code"!==n.kind||n.resendIn>0||p||await w(n.email,{isResend:!0})},[n,p,w]);return a?(0,b.jsx)("div",{className:"auth-dialog-backdrop",role:"dialog","aria-modal":"true","aria-labelledby":"auth-dialog-title",onClick:a=>{p||a.target!==a.currentTarget||j()},children:(0,b.jsxs)("div",{className:"auth-dialog",children:[(0,b.jsx)("button",{type:"button",className:"auth-close",onClick:j,disabled:p,"aria-label":"close",children:"×"}),(0,b.jsx)("h2",{id:"auth-dialog-title",className:"auth-headline",children:h}),"email"===n.kind&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"auth-sub",children:i}),(0,b.jsxs)("form",{onSubmit:y,className:"auth-form",children:[(0,b.jsx)("input",{ref:s,id:"auth-dialog-email",name:"email",type:"email",autoComplete:"email",inputMode:"email",spellCheck:!1,placeholder:"you@yourdomain.com",disabled:p,className:"auth-input",required:!0}),n.error&&(0,b.jsx)("div",{className:"auth-error",children:n.error}),(0,b.jsxs)("div",{className:"auth-actions",children:[(0,b.jsx)("button",{type:"submit",className:"auth-btn primary",disabled:p,children:p?"sending…":"send code"}),(0,b.jsx)("button",{type:"button",className:"auth-btn",onClick:j,disabled:p,children:"cancel"})]})]})]}),"code"===n.kind&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"auth-sub",children:["code sent to ",(0,b.jsx)("span",{className:"auth-email",children:n.email}),". expires in ",Math.ceil(n.expiresIn/60)," min."]}),(0,b.jsxs)("form",{onSubmit:z,className:"auth-form",children:[(0,b.jsx)("input",{ref:t,id:"auth-dialog-code",name:"code",type:"text",inputMode:"numeric",autoComplete:"one-time-code",spellCheck:!1,placeholder:"123456",disabled:p,className:"auth-input auth-input-code",maxLength:12,required:!0}),n.error&&(0,b.jsx)("div",{className:"auth-error",children:n.error}),(0,b.jsxs)("div",{className:"auth-actions",children:[(0,b.jsx)("button",{type:"submit",className:"auth-btn primary",disabled:p,children:p?"verifying…":"verify"}),(0,b.jsx)("button",{type:"button",className:"auth-btn",onClick:A,disabled:p||n.resendIn>0,children:n.resendIn>0?`resend in ${n.resendIn}s`:"resend code"})]}),(0,b.jsx)("button",{type:"button",className:"auth-back",onClick:()=>o({kind:"email",error:null}),disabled:p,children:"← use a different email"})]})]}),"done"===n.kind&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"auth-sub",children:[(0,b.jsx)("span",{className:"auth-ok",children:"✓"})," signed in as"," ",(0,b.jsx)("span",{className:"auth-email",children:n.user.email}),"."]}),(0,b.jsx)("div",{className:"auth-actions",children:(0,b.jsx)("button",{type:"button",className:"auth-btn primary",onClick:j,children:"continue"})})]})]})}):null}])},89564,a=>{"use strict";var b=a.i(17094);class c extends Error{kind;constructor(a,b){super(b),this.kind=a,this.name="RerunError"}}async function d(a){try{let d=await (0,b.fetchWithTimeout)("/api/audit/run",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({cli:a.cli.length>0?a.cli:void 0,since:"all"===a.since?void 0:a.since,noCache:!!a.noCache||void 0})});if(!d.ok&&409!==d.status){let a=await d.text().catch(()=>"");throw console.error("audit run failed:",d.status,a),new c("post_failed",`audit run failed (${d.status})`)}}catch(a){if(a instanceof c)throw a;throw console.error("audit run request failed:",a),new c((0,b.isAbortError)(a)?"timeout":"network","audit run request failed")}let d=0;for(;;){await new Promise(a=>setTimeout(a,1e3));let a=null;try{let c=await (0,b.fetchWithTimeout)("/api/audit/status",{cache:"no-store"});c.ok&&(a=await c.json())}catch{}if(null===a){if(++d>=10)throw new c("network","audit status poll lost the server");continue}if(d=0,!a.running){if(a.error)throw new c("post_failed",a.error);return}}}a.s(["RerunError",0,c,"triggerRun",0,d])},17094,a=>{"use strict";a.s(["fetchWithTimeout",0,function(a,b={},c=15e3){let d=AbortSignal.timeout(c),e=b.signal?AbortSignal.any([b.signal,d]):d;return fetch(a,{...b,signal:e})},"isAbortError",0,function(a){if(null===a||"object"!=typeof a)return!1;let b=a.name;return"AbortError"===b||"TimeoutError"===b}])},80977,a=>{"use strict";a.s(["formatRelativeTime",0,function(a){let b=Date.now()-a;return b<6e4?`${Math.max(1,Math.floor(b/1e3))}s ago`:b<36e5?`${Math.floor(b/6e4)}m ago`:b<864e5?`${Math.floor(b/36e5)}h ago`:`${Math.floor(b/864e5)}d ago`}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_1ylae7o._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[99558,a=>{"use strict";var b=a.i(36359),c=a.i(37936),d=a.i(15501);async function e(){let a=(0,d.readDashboardCache)();if(!a){let a=(0,d.readDashboardCacheMeta)();return{status:"empty",expired:null!==a,expiredAt:a?.cachedAt??null}}return{status:"cached",cachedAt:a.cachedAt,params:a.params,result:a.result}}(0,a.i(13095).ensureServerEntryExports)([e]),(0,c.registerServerReference)(e,"00d60f4e4f5435780a6fab786356b1eb3c1c9a8b87",null),a.s([],62946),a.i(62946),a.s(["0065df1d37b4ffce8106114429f3fa2fbf48a7104b",()=>b.getTelemetryConfig,"00d60f4e4f5435780a6fab786356b1eb3c1c9a8b87",0,e],99558)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0vmspq5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_1zopuov._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[73338,a=>{"use strict";var b=a.i(36359),c=a.i(7292),d=a.i(37936),e=a.i(2157);a.i(66680);var f=a.i(50227);a.i(8674),a.i(1144);var g=a.i(75818),h=a.i(13095);async function i(){return function(a=Date.now()){let b,c,d=(c=process.env.FAILPROOFAI_STATE_DIR)?(0,f.resolve)(c,"sessions"):(0,g.sessionPauseDir)();if(!(0,e.existsSync)(d))return[];let h=[];try{b=(0,e.readdirSync)(d)}catch{return[]}for(let c of b)if(c.endsWith(".json"))try{let b=function(a){if(!a||"object"!=typeof a||1!==a.schemaVersion||"string"!=typeof a.sessionId||0===a.sessionId.length||!Number.isFinite(a.pausedAt)||!Number.isFinite(a.expiresAt))return null;let b=a.pausedAt,c=Number.isFinite(a.firstPausedAt)?a.firstPausedAt:b;return{schemaVersion:1,sessionId:a.sessionId,pausedAt:b,firstPausedAt:c,expiresAt:Math.min(a.expiresAt,c+288e5),setBy:"string"==typeof a.setBy?a.setBy:"unknown",..."string"==typeof a.cwd?{cwd:a.cwd}:{}}}(JSON.parse((0,e.readFileSync)((0,f.join)(d,c),"utf8")));if(!b||b.expiresAt<=a)continue;let{schemaVersion:g,...i}=b;h.push(i)}catch{}return h.sort((a,b)=>b.pausedAt-a.pausedAt)}()}(0,h.ensureServerEntryExports)([i]),(0,d.registerServerReference)(i,"
|
|
1
|
+
module.exports=[73338,a=>{"use strict";var b=a.i(36359),c=a.i(7292),d=a.i(37936),e=a.i(2157);a.i(66680);var f=a.i(50227);a.i(8674),a.i(1144);var g=a.i(75818),h=a.i(13095);async function i(){return function(a=Date.now()){let b,c,d=(c=process.env.FAILPROOFAI_STATE_DIR)?(0,f.resolve)(c,"sessions"):(0,g.sessionPauseDir)();if(!(0,e.existsSync)(d))return[];let h=[];try{b=(0,e.readdirSync)(d)}catch{return[]}for(let c of b)if(c.endsWith(".json"))try{let b=function(a){if(!a||"object"!=typeof a||1!==a.schemaVersion||"string"!=typeof a.sessionId||0===a.sessionId.length||!Number.isFinite(a.pausedAt)||!Number.isFinite(a.expiresAt))return null;let b=a.pausedAt,c=Number.isFinite(a.firstPausedAt)?a.firstPausedAt:b;return{schemaVersion:1,sessionId:a.sessionId,pausedAt:b,firstPausedAt:c,expiresAt:Math.min(a.expiresAt,c+288e5),setBy:"string"==typeof a.setBy?a.setBy:"unknown",..."string"==typeof a.cwd?{cwd:a.cwd}:{}}}(JSON.parse((0,e.readFileSync)((0,f.join)(d,c),"utf8")));if(!b||b.expiresAt<=a)continue;let{schemaVersion:g,...i}=b;h.push(i)}catch{}return h.sort((a,b)=>b.pausedAt-a.pausedAt)}()}(0,h.ensureServerEntryExports)([i]),(0,d.registerServerReference)(i,"005610186235ab89441361e09ba0815153971ee99e",null);var j=a.i(17280);a.i(10695);var k=a.i(98378),l=a.i(69839),m=a.i(28120),n=a.i(74533),o=a.i(60526),p=a.i(91997),q=a.i(67121),r=a.i(92956),s=a.i(15638);class t extends Error{exitCode;constructor(a,b=1){super(a),this.name="CliError",this.exitCode=b}}a.i(89790);var u=a.i(9909);a.i(1459);let v=new Set(r.BUILTIN_POLICIES.map(a=>a.name));function w(a,b){return q.claudeCode.getSettingsPath(a,b)}function x(a){let b=[],c=[],d=[],e=[];try{e=(0,u.readInstalledPacks)().packs}catch{}let f=(a,b)=>e.filter(b=>null===a||b.id===a).filter(a=>a.policies.some(a=>a.name===b)).map(a=>({packId:a.id,packVersion:a.version,name:b,disabledKey:`pack:${a.id}@${a.version}:${b}`}));for(let e of a){let a=f(null,e);if(1===a.length){c.push(a[0]);continue}if(a.length>1)throw new t(`"${e}" is declared by ${a.length} installed packs.
|
|
2
2
|
Name the one you mean:
|
|
3
3
|
`+a.map(a=>` ${a.packId}:${a.name}`).join("\n"));if(v.has(e)){b.push(e);continue}let g=e.lastIndexOf(":"),h=g>0?{packId:e.slice(0,g),name:e.slice(g+1)}:null,i=h?f(h.packId,h.name):f(null,e);if(1===i.length){c.push(i[0]);continue}if(i.length>1)throw new t(`"${e}" is declared by ${i.length} installed packs.
|
|
4
4
|
Name the one you mean:
|
|
@@ -12,6 +12,6 @@ Run \`failproofai policies add FailproofAI/policies\` once you are online.`)}if(
|
|
|
12
12
|
Enabled ${E.length} policy(ies): ${E.join(", ")}
|
|
13
13
|
`),i)console.log("Custom hooks path cleared.");else if(K.customPoliciesPaths?.length||K.customPoliciesPath){let a=K.customPoliciesPaths??[K.customPoliciesPath];console.log(`Custom hooks paths: ${a.join(", ")}`)}let N=[];for(let a of G){let d=(0,q.getIntegration)(a),e=(0,q.settingsPathsFor)(d,b,c);try{for(let c of e){let e=d.readSettings(c);d.writeHookEntries(e,H,b),d.writeSettings(c,e),N.push({cli:a,path:c})}}catch(d){let c=d instanceof Error&&/EACCES|EPERM/.test(d.message)?"permission_denied":d instanceof Error&&/ENOENT|ENOTDIR/.test(d.message)?"path_not_found":"write_error";try{await (0,k.trackHookEvent)((0,l.getInstanceId)(),"hook_write_failed",{cli:a,scope:b,error_type:c})}catch{}throw d}}try{let a=new Set(E),c=E.filter(a=>!J.has(a)),e=[...J].filter(b=>!a.has(b)),f=(0,l.getInstanceId)();if(await (0,k.trackHookEvent)(f,"hooks_installed",{scope:b,cli:G,cli_count:G.length,policies:E,policy_count:E.length,policies_added:c,policies_removed:e,...g?{source:g}:{},platform:(0,o.platform)(),arch:(0,o.arch)(),os_release:(0,o.release)(),hostname_hash:(0,l.hashToId)((0,o.hostname)()),has_custom_hooks_path:!!(K.customPoliciesPaths?.length||K.customPoliciesPath),has_policy_params:!!(K.policyParams&&Object.keys(K.policyParams).length>0),param_policy_names:K.policyParams?Object.keys(K.policyParams):[],command_format:"project"===b?"npx":"absolute"}),d){let a=new Set(r.BUILTIN_POLICIES.filter(a=>a.beta).map(a=>a.name)),c=E.filter(b=>a.has(b));c.length>0&&await (0,k.trackHookEvent)(f,"beta_policies_installed",{scope:b,cli:G,beta_count:c.length,beta_policy_names:c,...g?{source:g}:{}})}}catch{}for(let{cli:a,path:c}of N){let d=(0,q.getIntegration)(a);console.log(`Failproof AI hooks installed for ${d.displayName} (${d.eventTypes.length} event types, scope: ${b}).`),console.log(`Settings: ${c}`)}"project"===b?(console.log("Command: npx -y failproofai"),console.log(`
|
|
14
14
|
This file can be committed to git — no machine-specific paths.`)):console.log(`Binary: ${H}`);let O=(D=p.HOOK_SCOPES,F=new Set,D.filter(a=>{let b=w(a,c);return!F.has(b)&&(F.add(b),!0)})).filter(a=>a!==b).filter(a=>z(a,c));if(O.length>0){let a=O.map(a=>`${a} (${function(a){switch(a){case"user":return"~/.claude/settings.json";case"project":return"{cwd}/.claude/settings.json";case"local":return"{cwd}/.claude/settings.local.json"}}(a)})`).join(", ");console.log(),console.log(`\x1b[33mWarning: Failproof AI hooks are also installed at ${a}.\x1b[0m`),console.log("Having hooks in multiple scopes may cause duplicate policy evaluation."),console.log(`Use \`failproofai policies --uninstall --scope ${O[0]}\` to remove the other installation,`),console.log("or `failproofai policies` to see all scopes.");try{await (0,k.trackHookEvent)((0,l.getInstanceId)(),"multi_scope_warning_shown",{new_scope:b,existing_scopes:O,cli:G})}catch{}}}async function C(a,b="user",c,d){let f="all"===b?"user":b,g=d?.cli&&d.cli.length>0?[...new Set(d.cli)]:["claude"];if(d?.removeCustomHooks){let a=(0,m.readScopedHooksConfig)(f,c);delete a.customPoliciesPath,delete a.customPoliciesPaths,(0,m.writeScopedHooksConfig)(a,f,c),console.log("Custom hooks path cleared.")}if(a&&a.length>0&&(1!==a.length||"all"!==a[0])){let b=x(a);y(b.packs,!1,f,c);var h=a=b.builtins;let d=new Set(r.BUILTIN_POLICIES.filter(a=>a.alwaysOn).map(a=>a.name)),e=h.filter(a=>d.has(a));if(e.length>0)throw new t(`Cannot disable: ${e.join(", ")}
|
|
15
|
-
This policy stops an agent from switching off failproofai itself, so it is always on and ships with the package. A guard the agent can disable by the means it is meant to prevent is not a guard.`);if(b.packs.length>0&&0===a.length)return}if(a&&a.length>0&&(1!==a.length||"all"!==a[0])){let e=(0,m.readScopedHooksConfig)(f,c),h=new Set(a),i=e.enabledPolicies.filter(a=>!h.has(a)),j=a.filter(a=>!e.enabledPolicies.includes(a));j.length>0&&console.log(`Warning: policy(ies) not currently enabled: ${j.join(", ")}`);let{policyParams:n,...p}=e,q=n?Object.fromEntries(Object.entries(n).filter(([a])=>!h.has(a))):null,r={...p,enabledPolicies:i,...q&&Object.keys(q).length>0?{policyParams:q}:{}};(0,m.writeScopedHooksConfig)(r,f,c);try{let c=(0,l.getInstanceId)(),f=a.filter(a=>e.enabledPolicies.includes(a));await (0,k.trackHookEvent)(c,"hooks_removed",{scope:b,cli:g,removal_mode:d?.betaOnly?"beta_policies":"policies",beta_only:d?.betaOnly??!1,policies_removed:f,removed_count:f.length,...d?.source?{source:d.source}:{},platform:(0,o.platform)(),arch:(0,o.arch)(),os_release:(0,o.release)(),hostname_hash:(0,l.hashToId)((0,o.hostname)())})}catch{}console.log(`Disabled ${a.length-j.length} policy(ies).`),console.log(`Remaining: ${i.length>0?i.join(", "):"(none)"}`);return}let i=(0,m.readScopedHooksConfig)(f,c),j=0,n=!1;for(let a of g){let d=(0,q.getIntegration)(a);for(let a of"all"===b?[...d.scopes]:d.scopes.includes(b)?[b]:[]){let f=(0,q.settingsPathsFor)(d,a,c).filter(a=>(0,e.existsSync)(a));if(0===f.length){"all"!==b&&1===g.length&&(console.log("No settings file found. Nothing to remove."),n=!0);continue}let h=0;for(let a of f){let c=d.removeHooksFromFile(a);h+=c,c>0&&"all"!==b&&(console.log(`Removed ${c} failproofai hook(s) from ${d.displayName} settings.`),console.log(`Settings: ${a}`))}if(0===h&&"all"!==b&&1===g.length){console.log("No hooks found in settings. Nothing to remove."),n=!0;continue}j+=h}}if(!n||0!==j){if("all"===b)for(let a of(console.log(`Removed ${j} failproofai hook(s) from all scopes.`),g)){let b=(0,q.getIntegration)(a);for(let a of b.scopes)for(let d of(0,q.settingsPathsFor)(b,a,c))console.log(` ${b.displayName} / ${a}: ${d}`)}try{let a=(0,l.getInstanceId)();await (0,k.trackHookEvent)(a,"hooks_removed",{scope:b,cli:g,removal_mode:"hooks",policies_removed:i.enabledPolicies,removed_count:j,...d?.source?{source:d.source}:{},platform:(0,o.platform)(),arch:(0,o.arch)(),os_release:(0,o.release)(),hostname_hash:(0,l.hashToId)((0,o.hostname)())})}catch{}if("all"===b)for(let a of p.HOOK_SCOPES){let b=(0,m.readScopedHooksConfig)(a,c);if(b.enabledPolicies.length>0||b.customPoliciesPaths?.length||b.customPoliciesPath||b.policyParams){let{customPoliciesPath:d,customPoliciesPaths:e,policyParams:f,...g}=b;(0,m.writeScopedHooksConfig)({...g,enabledPolicies:[]},a,c)}}else if(!p.HOOK_SCOPES.some(a=>z(a,c))){let{customPoliciesPath:a,customPoliciesPaths:b,policyParams:d,...e}=(0,m.readScopedHooksConfig)(f,c);(0,m.writeScopedHooksConfig)({...e,enabledPolicies:[]},f,c)}}}var D=a.i(24282),E=a.i(12714);async function F(a,b){let c=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd(),d=(0,f.resolve)((0,m.findProjectConfigDir)(c),".failproofai","policies"),e=(0,g.customPoliciesDir)(),h=[];for(let{scope:c,dir:g}of[{scope:"project",dir:d},...e===d?[]:[{scope:"user",dir:e}]]){let d=[];try{d=(0,s.discoverPolicyFiles)(g)}catch{continue}for(let e of d){if(b.has(e))continue;let d=[];try{d=(await G(e)).map(b=>{let d=(0,s.conventionPolicyId)(c,(0,f.basename)(e),b.name);return{...b,id:d,enabled:!a.has(d)}})}catch{}h.push({scope:c,file:(0,f.basename)(e),path:e,policies:d})}}return h}async function G(a){if(!(0,e.existsSync)(a))return[];let b=await (0,E.readFile)(a,"utf-8"),c=[],d=b.split(/customPolicies\.add\s*\(/);for(let a=1;a<d.length;a++){let b=d[a],e=b.match(/name:\s*["'`]([^"'`]+)["'`]/);if(!e)continue;let f=b.match(/description:\s*["'`]([^"'`]+)["'`]/),g=b.match(/events:\s*\[([^\]]+)\]/),h=g?g[1].replace(/["'`\s]/g,"").split(",").filter(Boolean).join(", "):void 0;c.push({name:e[1],description:f?.[1],eventScope:h,id:"",enabled:!0})}return c}async function H(){let a=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd(),b=(0,m.readMergedHooksConfig)(a),c=new Set(b.disabledCustomPolicies??[]),d=p.HOOK_SCOPES.filter(a=>z(a)),e=w(d[0]??"user"),g=(0,q.listIntegrations)().map(a=>({id:a.id,label:(0,D.getCliLabel)(a.id),installed:a.hooksInstalledInSettings("user"),settingsPath:a.getSettingsPath("user"),detected:a.detectInstalled()})),h=[],i=[];try{let a=(0,u.readInstalledPacks)();h=a.packs,i=a.errors}catch{}let k=[];for(let a of h){let d=a.enabled??a.policies.map(a=>a.name);for(let e of a.policies)k.push({name:e.name,description:e.description,category:e.category,defaultEnabled:e.defaultEnabled,beta:!1,enabled:d.includes(e.name)&&!c.has(`pack:${a.id}@${a.version}:${e.name}`),eventScope:function(a){let b=a.events?.join(", ")??"",c=a.toolNames?` \xb7 ${a.toolNames.join(", ")}`:"";return`${b}${c}`}(e.match),packId:a.id,packVersion:a.version,...e.params?{params:Object.fromEntries(Object.entries(e.params).map(([a,b])=>[a,{type:b.type,description:b.description,default:b.default}])),currentParams:function(a,b,c){if(!a)return;let d=a[`pack/${b}/${c}`];return d||(b.toLowerCase()===j.CORE_SOURCE.toLowerCase()?a[c]:void 0)}(b.policyParams,a.id,e.name)??{}}:{}})}let l=(0,m.configuredCustomPolicyPaths)(b),n=(0,m.findProjectConfigDir)(a),o=l.map(a=>(0,f.resolve)(n,a)),r=(await Promise.all(o.map(async a=>{try{return(await G(a)).map(b=>{let d=(0,s.customPolicyId)(a,b.name);return{...b,id:d,enabled:!c.has(d)}})}catch{return[]}}))).flat(),t=await F(c,new Set(o)),v=h.map(a=>{let b=a.enabled??a.policies.map(a=>a.name);return{id:a.id,version:a.version,source:a.source,effect:a.effect,policies:a.policies.map(d=>({name:d.name,description:d.description,category:d.category,enabled:b.includes(d.name)&&!c.has(`pack:${a.id}@${a.version}:${d.name}`)}))}});for(let a of i)v.push({id:a.id??"(unnamed pack)",version:"",source:"",effect:"enforce",policies:[],error:a.reason});return{enabledPolicies:b.enabledPolicies,installedScopes:d,settingsPath:e,clis:g,policies:k,customPoliciesPaths:l.length?l:void 0,customPoliciesPath:1===l.length?l[0]:void 0,customPolicies:r.length?r:void 0,conventionPolicies:t,packs:v}}async function I(a,b){let c=(0,m.readHooksConfig)(),d=new Set(c.enabledPolicies);b?d.add(a):d.delete(a),(0,m.writeHooksConfig)({...c,enabledPolicies:[...d]});try{let c=(0,l.getInstanceId)();await (0,k.trackHookEvent)(c,"policy_toggled",{policy_name:a,enabled:b,action:b?"enable":"disable",source:"web"})}catch{}}async function J(a,b){if(!a.startsWith("custom:")&&!a.startsWith("convention:"))throw Error("Invalid custom policy ID");let c=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd();if(b){for(let b of p.HOOK_SCOPES){let d=(0,m.readScopedHooksConfig)(b,c);if(!d.disabledCustomPolicies?.includes(a))continue;let e=d.disabledCustomPolicies.filter(b=>b!==a),f={...d,disabledCustomPolicies:e};e.length||delete f.disabledCustomPolicies,(0,m.writeScopedHooksConfig)(f,b,c)}return}let d=(0,m.readHooksConfig)(),e=new Set(d.disabledCustomPolicies??[]);e.add(a);let f={...d,disabledCustomPolicies:[...e]};e.size||delete f.disabledCustomPolicies,(0,m.writeHooksConfig)(f)}async function K(a,b){let c=a.trim();if(!c)return{ok:!1,error:"Enter a pack source, for example acme/ops"};try{let a=await (0,j.addPackFromSource)(c,b??{});return{ok:!0,id:a.id,version:a.version,enabled:a.enabled,available:a.available}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function L(){try{let a=await (0,j.addPack)(j.CORE_SOURCE);return{ok:!0,id:a.id,version:a.version,enabled:a.enabled,available:a.available}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function M(a){let b;try{b=(0,j.removePack)(a)}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}return b?{ok:!0,id:b}:{ok:!1,error:`No installed pack with id ${a}`}}async function N(a,b,c){let d=(0,j.setPackPolicyEnabled)(a,b,c);if(!d.ok)return{ok:!1,error:d.reason};if(c){let c=(0,u.readInstalledPacks)().packs.find(b=>b.id===a);if(c){let a=`pack:${c.id}@${c.version}:${b}`,d=(0,m.readHooksConfig)(),e=(d.disabledCustomPolicies??[]).filter(b=>b!==a);if(e.length!==(d.disabledCustomPolicies??[]).length){let{disabledCustomPolicies:a,...b}=d;(0,m.writeHooksConfig)(e.length>0?{...b,disabledCustomPolicies:e}:b)}}}return{ok:!0,id:a}}async function O(a){let b=a.trim();if(!b)return{ok:!1,error:"Enter a pack source, for example acme/ops"};try{let a=await (0,j.fetchPackPreview)(b);return{ok:!0,id:a.id,version:a.version,source:a.source,effect:a.effect,policies:a.policies.map(a=>({name:a.name,description:a.description,category:a.category,defaultEnabled:a.defaultEnabled}))}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function P(a="user",b){let c=(0,m.readHooksConfig)(),d=c.enabledPolicies.length>0?c.enabledPolicies:r.BUILTIN_POLICIES.filter(a=>a.defaultEnabled&&!a.beta).map(a=>a.name),e=b&&b.length>0?b:(0,q.detectInstalledClis)(),f=e.length>0?e:["claude"];await A(d,a,void 0,!1,"web",void 0,!1,f)}async function Q(a="user",b){let c=b&&b.length>0?b:(0,q.detectInstalledClis)(),d=c.length>0?c:["claude"];await C(void 0,a,void 0,{source:"web",cli:d})}async function R(a,b){let c=(0,m.readHooksConfig)(),d={...c.policyParams??{},[a]:b};(0,m.writeHooksConfig)({...c,policyParams:d});try{let c=(0,l.getInstanceId)();await (0,k.trackHookEvent)(c,"policy_params_updated",{policy_name:a,param_keys:Object.keys(b),source:"web"})}catch{}}(0,h.ensureServerEntryExports)([H]),(0,d.registerServerReference)(H,"0062a8777a4b000fe5f617c7e5471bbd285089b97f",null),(0,h.ensureServerEntryExports)([I,J]),(0,d.registerServerReference)(I,"60918955702119915522dd0b5705520d4248de0c6b",null),(0,d.registerServerReference)(J,"60e2cf3a86ebbe4ad3e2d657970b2358497c07b20c",null),(0,h.ensureServerEntryExports)([K,L,M,N,O]),(0,d.registerServerReference)(K,"60ad48fdea468f5ae4c353640261174f2047518146",null),(0,d.registerServerReference)(L,"003ab78e5eddde44534403c6b0def4b091d11a5af0",null),(0,d.registerServerReference)(M,"409b7bda877831500181af3aedcf194a91a6337d94",null),(0,d.registerServerReference)(N,"70463df0ecbc4bc6d438e54870e94b6194cfc6a6bd",null),(0,d.registerServerReference)(O,"40a7dd771f8579d2a2426bb0c88025105e1d2fa61f",null),(0,h.ensureServerEntryExports)([P,Q]),(0,d.registerServerReference)(P,"606e3c1c998f7256d6daed9d86e1ef932455f7e2a5",null),(0,d.registerServerReference)(Q,"60995f78f58277b970950dc85191cdb87fe61e933b",null),(0,h.ensureServerEntryExports)([R]),(0,d.registerServerReference)(R,"60ff73507db962048d82e9765b7fabb41d79f69054",null),a.s([],96801),a.i(96801),a.s(["003ab78e5eddde44534403c6b0def4b091d11a5af0",0,L,"005ceb2a7eaa70b7e3c1d3915f18442fcbb48fe574",0,i,"005fecc943663d936ee495883e98eee4e631b0edc7",()=>b.getTelemetryConfig,"0062a8777a4b000fe5f617c7e5471bbd285089b97f",0,H,"4071feb1420bce0d6dc75844a645a7f9dcad5dba45",()=>c.getHookActivityAction,"409b7bda877831500181af3aedcf194a91a6337d94",0,M,"40a7dd771f8579d2a2426bb0c88025105e1d2fa61f",0,O,"606e3c1c998f7256d6daed9d86e1ef932455f7e2a5",0,P,"608032e1b72e03062e83a23f42ce84947dae4dc870",()=>c.searchHookActivityAction,"60995f78f58277b970950dc85191cdb87fe61e933b",0,Q,"60ad48fdea468f5ae4c353640261174f2047518146",0,K,"60e2cf3a86ebbe4ad3e2d657970b2358497c07b20c",0,J,"60ff73507db962048d82e9765b7fabb41d79f69054",0,R,"70463df0ecbc4bc6d438e54870e94b6194cfc6a6bd",0,N],73338)}];
|
|
15
|
+
This policy stops an agent from switching off failproofai itself, so it is always on and ships with the package. A guard the agent can disable by the means it is meant to prevent is not a guard.`);if(b.packs.length>0&&0===a.length)return}if(a&&a.length>0&&(1!==a.length||"all"!==a[0])){let e=(0,m.readScopedHooksConfig)(f,c),h=new Set(a),i=e.enabledPolicies.filter(a=>!h.has(a)),j=a.filter(a=>!e.enabledPolicies.includes(a));j.length>0&&console.log(`Warning: policy(ies) not currently enabled: ${j.join(", ")}`);let{policyParams:n,...p}=e,q=n?Object.fromEntries(Object.entries(n).filter(([a])=>!h.has(a))):null,r={...p,enabledPolicies:i,...q&&Object.keys(q).length>0?{policyParams:q}:{}};(0,m.writeScopedHooksConfig)(r,f,c);try{let c=(0,l.getInstanceId)(),f=a.filter(a=>e.enabledPolicies.includes(a));await (0,k.trackHookEvent)(c,"hooks_removed",{scope:b,cli:g,removal_mode:d?.betaOnly?"beta_policies":"policies",beta_only:d?.betaOnly??!1,policies_removed:f,removed_count:f.length,...d?.source?{source:d.source}:{},platform:(0,o.platform)(),arch:(0,o.arch)(),os_release:(0,o.release)(),hostname_hash:(0,l.hashToId)((0,o.hostname)())})}catch{}console.log(`Disabled ${a.length-j.length} policy(ies).`),console.log(`Remaining: ${i.length>0?i.join(", "):"(none)"}`);return}let i=(0,m.readScopedHooksConfig)(f,c),j=0,n=!1;for(let a of g){let d=(0,q.getIntegration)(a);for(let a of"all"===b?[...d.scopes]:d.scopes.includes(b)?[b]:[]){let f=(0,q.settingsPathsFor)(d,a,c).filter(a=>(0,e.existsSync)(a));if(0===f.length){"all"!==b&&1===g.length&&(console.log("No settings file found. Nothing to remove."),n=!0);continue}let h=0;for(let a of f){let c=d.removeHooksFromFile(a);h+=c,c>0&&"all"!==b&&(console.log(`Removed ${c} failproofai hook(s) from ${d.displayName} settings.`),console.log(`Settings: ${a}`))}if(0===h&&"all"!==b&&1===g.length){console.log("No hooks found in settings. Nothing to remove."),n=!0;continue}j+=h}}if(!n||0!==j){if("all"===b)for(let a of(console.log(`Removed ${j} failproofai hook(s) from all scopes.`),g)){let b=(0,q.getIntegration)(a);for(let a of b.scopes)for(let d of(0,q.settingsPathsFor)(b,a,c))console.log(` ${b.displayName} / ${a}: ${d}`)}try{let a=(0,l.getInstanceId)();await (0,k.trackHookEvent)(a,"hooks_removed",{scope:b,cli:g,removal_mode:"hooks",policies_removed:i.enabledPolicies,removed_count:j,...d?.source?{source:d.source}:{},platform:(0,o.platform)(),arch:(0,o.arch)(),os_release:(0,o.release)(),hostname_hash:(0,l.hashToId)((0,o.hostname)())})}catch{}if("all"===b)for(let a of p.HOOK_SCOPES){let b=(0,m.readScopedHooksConfig)(a,c);if(b.enabledPolicies.length>0||b.customPoliciesPaths?.length||b.customPoliciesPath||b.policyParams){let{customPoliciesPath:d,customPoliciesPaths:e,policyParams:f,...g}=b;(0,m.writeScopedHooksConfig)({...g,enabledPolicies:[]},a,c)}}else if(!p.HOOK_SCOPES.some(a=>z(a,c))){let{customPoliciesPath:a,customPoliciesPaths:b,policyParams:d,...e}=(0,m.readScopedHooksConfig)(f,c);(0,m.writeScopedHooksConfig)({...e,enabledPolicies:[]},f,c)}}}var D=a.i(24282),E=a.i(12714);async function F(a,b){let c=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd(),d=(0,f.resolve)((0,m.findProjectConfigDir)(c),".failproofai","policies"),e=(0,g.customPoliciesDir)(),h=[];for(let{scope:c,dir:g}of[{scope:"project",dir:d},...e===d?[]:[{scope:"user",dir:e}]]){let d=[];try{d=(0,s.discoverPolicyFiles)(g)}catch{continue}for(let e of d){if(b.has(e))continue;let d=[];try{d=(await G(e)).map(b=>{let d=(0,s.conventionPolicyId)(c,(0,f.basename)(e),b.name);return{...b,id:d,enabled:!a.has(d)}})}catch{}h.push({scope:c,file:(0,f.basename)(e),path:e,policies:d})}}return h}async function G(a){if(!(0,e.existsSync)(a))return[];let b=await (0,E.readFile)(a,"utf-8"),c=[],d=b.split(/customPolicies\.add\s*\(/);for(let a=1;a<d.length;a++){let b=d[a],e=b.match(/name:\s*["'`]([^"'`]+)["'`]/);if(!e)continue;let f=b.match(/description:\s*["'`]([^"'`]+)["'`]/),g=b.match(/events:\s*\[([^\]]+)\]/),h=g?g[1].replace(/["'`\s]/g,"").split(",").filter(Boolean).join(", "):void 0;c.push({name:e[1],description:f?.[1],eventScope:h,id:"",enabled:!0})}return c}async function H(){let a=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd(),b=(0,m.readMergedHooksConfig)(a),c=new Set(b.disabledCustomPolicies??[]),d=p.HOOK_SCOPES.filter(a=>z(a)),e=w(d[0]??"user"),g=(0,q.listIntegrations)().map(a=>({id:a.id,label:(0,D.getCliLabel)(a.id),installed:a.hooksInstalledInSettings("user"),settingsPath:a.getSettingsPath("user"),detected:a.detectInstalled()})),h=[],i=[];try{let a=(0,u.readInstalledPacks)();h=a.packs,i=a.errors}catch{}let k=[];for(let a of h){let d=a.enabled??a.policies.map(a=>a.name);for(let e of a.policies)k.push({name:e.name,description:e.description,category:e.category,defaultEnabled:e.defaultEnabled,beta:!1,enabled:d.includes(e.name)&&!c.has(`pack:${a.id}@${a.version}:${e.name}`),eventScope:function(a){let b=a.events?.join(", ")??"",c=a.toolNames?` \xb7 ${a.toolNames.join(", ")}`:"";return`${b}${c}`}(e.match),packId:a.id,packVersion:a.version,...e.params?{params:Object.fromEntries(Object.entries(e.params).map(([a,b])=>[a,{type:b.type,description:b.description,default:b.default}])),currentParams:function(a,b,c){if(!a)return;let d=a[`pack/${b}/${c}`];return d||(b.toLowerCase()===j.CORE_SOURCE.toLowerCase()?a[c]:void 0)}(b.policyParams,a.id,e.name)??{}}:{}})}let l=(0,m.configuredCustomPolicyPaths)(b),n=(0,m.findProjectConfigDir)(a),o=l.map(a=>(0,f.resolve)(n,a)),r=(await Promise.all(o.map(async a=>{try{return(await G(a)).map(b=>{let d=(0,s.customPolicyId)(a,b.name);return{...b,id:d,enabled:!c.has(d)}})}catch{return[]}}))).flat(),t=await F(c,new Set(o)),v=h.map(a=>{let b=a.enabled??a.policies.map(a=>a.name);return{id:a.id,version:a.version,source:a.source,effect:a.effect,policies:a.policies.map(d=>({name:d.name,description:d.description,category:d.category,enabled:b.includes(d.name)&&!c.has(`pack:${a.id}@${a.version}:${d.name}`)}))}});for(let a of i)v.push({id:a.id??"(unnamed pack)",version:"",source:"",effect:"enforce",policies:[],error:a.reason});return{enabledPolicies:b.enabledPolicies,installedScopes:d,settingsPath:e,clis:g,policies:k,customPoliciesPaths:l.length?l:void 0,customPoliciesPath:1===l.length?l[0]:void 0,customPolicies:r.length?r:void 0,conventionPolicies:t,packs:v}}async function I(a,b){let c=(0,m.readHooksConfig)(),d=new Set(c.enabledPolicies);b?d.add(a):d.delete(a),(0,m.writeHooksConfig)({...c,enabledPolicies:[...d]});try{let c=(0,l.getInstanceId)();await (0,k.trackHookEvent)(c,"policy_toggled",{policy_name:a,enabled:b,action:b?"enable":"disable",source:"web"})}catch{}}async function J(a,b){if(!a.startsWith("custom:")&&!a.startsWith("convention:"))throw Error("Invalid custom policy ID");let c=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd();if(b){for(let b of p.HOOK_SCOPES){let d=(0,m.readScopedHooksConfig)(b,c);if(!d.disabledCustomPolicies?.includes(a))continue;let e=d.disabledCustomPolicies.filter(b=>b!==a),f={...d,disabledCustomPolicies:e};e.length||delete f.disabledCustomPolicies,(0,m.writeScopedHooksConfig)(f,b,c)}return}let d=(0,m.readHooksConfig)(),e=new Set(d.disabledCustomPolicies??[]);e.add(a);let f={...d,disabledCustomPolicies:[...e]};e.size||delete f.disabledCustomPolicies,(0,m.writeHooksConfig)(f)}async function K(a,b){let c=a.trim();if(!c)return{ok:!1,error:"Enter a pack source, for example acme/ops"};try{let a=await (0,j.addPackFromSource)(c,b??{});return{ok:!0,id:a.id,version:a.version,enabled:a.enabled,available:a.available}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function L(){try{let a=await (0,j.addPack)(j.CORE_SOURCE);return{ok:!0,id:a.id,version:a.version,enabled:a.enabled,available:a.available}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function M(a){let b;try{b=(0,j.removePack)(a)}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}return b?{ok:!0,id:b}:{ok:!1,error:`No installed pack with id ${a}`}}async function N(a,b,c){let d=(0,j.setPackPolicyEnabled)(a,b,c);if(!d.ok)return{ok:!1,error:d.reason};if(c){let c=(0,u.readInstalledPacks)().packs.find(b=>b.id===a);if(c){let a=`pack:${c.id}@${c.version}:${b}`,d=(0,m.readHooksConfig)(),e=(d.disabledCustomPolicies??[]).filter(b=>b!==a);if(e.length!==(d.disabledCustomPolicies??[]).length){let{disabledCustomPolicies:a,...b}=d;(0,m.writeHooksConfig)(e.length>0?{...b,disabledCustomPolicies:e}:b)}}}return{ok:!0,id:a}}async function O(a){let b=a.trim();if(!b)return{ok:!1,error:"Enter a pack source, for example acme/ops"};try{let a=await (0,j.fetchPackPreview)(b);return{ok:!0,id:a.id,version:a.version,source:a.source,effect:a.effect,policies:a.policies.map(a=>({name:a.name,description:a.description,category:a.category,defaultEnabled:a.defaultEnabled}))}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function P(a="user",b){let c=(0,m.readHooksConfig)(),d=c.enabledPolicies.length>0?c.enabledPolicies:r.BUILTIN_POLICIES.filter(a=>a.defaultEnabled&&!a.beta).map(a=>a.name),e=b&&b.length>0?b:(0,q.detectInstalledClis)(),f=e.length>0?e:["claude"];await A(d,a,void 0,!1,"web",void 0,!1,f)}async function Q(a="user",b){let c=b&&b.length>0?b:(0,q.detectInstalledClis)(),d=c.length>0?c:["claude"];await C(void 0,a,void 0,{source:"web",cli:d})}async function R(a,b){let c=(0,m.readHooksConfig)(),d={...c.policyParams??{},[a]:b};(0,m.writeHooksConfig)({...c,policyParams:d});try{let c=(0,l.getInstanceId)();await (0,k.trackHookEvent)(c,"policy_params_updated",{policy_name:a,param_keys:Object.keys(b),source:"web"})}catch{}}(0,h.ensureServerEntryExports)([H]),(0,d.registerServerReference)(H,"00c01b6599268fdd0d930a1b038f559659707a2b74",null),(0,h.ensureServerEntryExports)([I,J]),(0,d.registerServerReference)(I,"600d13eebc3fab0dd71b3923d507c7abad3c91bf1d",null),(0,d.registerServerReference)(J,"60688f75befca6ecdaafb0b81f376426179777bda6",null),(0,h.ensureServerEntryExports)([K,L,M,N,O]),(0,d.registerServerReference)(K,"607acd574fe38fa63a99554b7bb80cf9c0d60c5d16",null),(0,d.registerServerReference)(L,"00be79c3b9fc0016d37aa75af2201359e6fb854e79",null),(0,d.registerServerReference)(M,"403336e0b2c85449bce7e5343ed977c0e4395c90e1",null),(0,d.registerServerReference)(N,"700c537140825ecf1aaef6c61b34f974272f23a09f",null),(0,d.registerServerReference)(O,"40882d4e49d386871f18e6809cf455a4d2ac7b0384",null),(0,h.ensureServerEntryExports)([P,Q]),(0,d.registerServerReference)(P,"602b998488d36494409667f599efdbcc87c409718a",null),(0,d.registerServerReference)(Q,"608969940830789471c1547671ca5367fd6c7baa7c",null),(0,h.ensureServerEntryExports)([R]),(0,d.registerServerReference)(R,"6040917798947d82b906175855ea06023f4d3135b1",null),a.s([],96801),a.i(96801),a.s(["005610186235ab89441361e09ba0815153971ee99e",0,i,"0065df1d37b4ffce8106114429f3fa2fbf48a7104b",()=>b.getTelemetryConfig,"00be79c3b9fc0016d37aa75af2201359e6fb854e79",0,L,"00c01b6599268fdd0d930a1b038f559659707a2b74",0,H,"4005d9d558da94a2433ea474cf030624f434b0ea7e",()=>c.getHookActivityAction,"403336e0b2c85449bce7e5343ed977c0e4395c90e1",0,M,"40882d4e49d386871f18e6809cf455a4d2ac7b0384",0,O,"602b998488d36494409667f599efdbcc87c409718a",0,P,"6040917798947d82b906175855ea06023f4d3135b1",0,R,"6066699700f56c4fe942381d9b8e35b9a204b6e9b4",()=>c.searchHookActivityAction,"60688f75befca6ecdaafb0b81f376426179777bda6",0,J,"607acd574fe38fa63a99554b7bb80cf9c0d60c5d16",0,K,"608969940830789471c1547671ca5367fd6c7baa7c",0,Q,"700c537140825ecf1aaef6c61b34f974272f23a09f",0,N],73338)}];
|
|
16
16
|
|
|
17
17
|
//# sourceMappingURL=_next-internal_server_app_policies_page_actions_1sp2-yo.js.map
|