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
package/src/hooks/fp-home.ts
CHANGED
|
@@ -299,31 +299,6 @@ export const auditSessionFile = (home?: string) => resolve(auditDir(home), "sess
|
|
|
299
299
|
*/
|
|
300
300
|
export const auditMachineFile = (home?: string) => resolve(auditDir(home), "machine.json");
|
|
301
301
|
|
|
302
|
-
/**
|
|
303
|
-
* The leak record: one entry per DISTINCT credential seen in a transcript.
|
|
304
|
-
*
|
|
305
|
-
* `derived` — every finding in it is reproducible by rescanning, so a reset
|
|
306
|
-
* costs a rescan and nothing else. What is NOT reproducible lives next door in
|
|
307
|
-
* `auditLeakIdentityFile`, because the two have opposite reset semantics and
|
|
308
|
-
* this directory's own header says to classify the children, never the parent.
|
|
309
|
-
*/
|
|
310
|
-
export const auditLeaksFile = (home?: string) => resolve(auditDir(home), "leaks.json");
|
|
311
|
-
|
|
312
|
-
/**
|
|
313
|
-
* The two things about a leak that a rescan cannot recreate: the HMAC salt that
|
|
314
|
-
* gives each finding its stable id, and the ids the user has dismissed.
|
|
315
|
-
*
|
|
316
|
-
* `identity`, and both halves for the same reason. Regenerate the salt and every
|
|
317
|
-
* id changes, so every previously-seen credential reads as brand new and the
|
|
318
|
-
* machine re-alerts for all of them at once. Drop the dismissals and the
|
|
319
|
-
* findings a human already judged not-a-secret come back — which is worse than
|
|
320
|
-
* a missed alert, because it teaches them the tool does not listen.
|
|
321
|
-
*
|
|
322
|
-
* Small by construction: a 32-byte salt and a list of 16-char ids.
|
|
323
|
-
*/
|
|
324
|
-
export const auditLeakIdentityFile = (home?: string) =>
|
|
325
|
-
resolve(auditDir(home), "leak-identity.json");
|
|
326
|
-
|
|
327
302
|
|
|
328
303
|
// ── fp-cloud-cli ───────────────────────────────────────────────────────────────────
|
|
329
304
|
|
|
@@ -653,7 +628,6 @@ export const HOME_CLASSES: readonly { path: (home?: string) => string; class: Da
|
|
|
653
628
|
// history the user was already told about. Kept OUT of `auditSessionFile`
|
|
654
629
|
// precisely so both survive a sign-out.
|
|
655
630
|
{ path: auditMachineFile, class: "identity" },
|
|
656
|
-
{ path: auditLeakIdentityFile, class: "identity" },
|
|
657
631
|
|
|
658
632
|
// ── May be dropped: rebuilt on demand ──
|
|
659
633
|
// NOTE: `auditDir` itself is deliberately absent. Layout 4 made it MIXED — it
|
|
@@ -663,7 +637,6 @@ export const HOME_CLASSES: readonly { path: (home?: string) => string; class: Da
|
|
|
663
637
|
// the delete list.
|
|
664
638
|
{ path: auditDashboardFile, class: "derived" },
|
|
665
639
|
{ path: auditCacheDir, class: "derived" },
|
|
666
|
-
{ path: auditLeaksFile, class: "derived" },
|
|
667
640
|
{ path: auditScheduleFile, class: "derived" },
|
|
668
641
|
{ path: collectorHealthFile, class: "derived" },
|
|
669
642
|
{ path: codexSessionPathsFile, class: "derived" },
|
|
@@ -828,7 +828,7 @@ function buildOpenCodePluginShim(binaryPath: string, scope: HookScope): string {
|
|
|
828
828
|
// Re-generate via: failproofai policies --install --cli opencode
|
|
829
829
|
// Plugin shim that bridges OpenCode's plugin API to the failproofai binary.
|
|
830
830
|
// See: https://opencode.ai/docs/plugins/
|
|
831
|
-
import {
|
|
831
|
+
import { spawnSync } from "node:child_process";
|
|
832
832
|
|
|
833
833
|
// Map opencode bus-event types → canonical failproofai event names.
|
|
834
834
|
// (The binary sees PascalCase — the binary's --cli=opencode flag is for
|
|
@@ -891,52 +891,18 @@ function canonicalizeToolInput(canonicalToolName, args) {
|
|
|
891
891
|
const FAILPROOFAI_BIN = ${escapedBin};
|
|
892
892
|
const USE_NPX = ${useNpx};
|
|
893
893
|
|
|
894
|
-
|
|
895
|
-
* Run failproofai for one event WITHOUT blocking opencode's event loop.
|
|
896
|
-
*
|
|
897
|
-
* This was spawnSync, and opencode loads the plugin in-process in the TUI —
|
|
898
|
-
* so every hook froze rendering and input for the subprocess's full duration,
|
|
899
|
-
* with a 60s ceiling. The verdicts are unchanged: every caller already awaits
|
|
900
|
-
* applyDecision, so the deny still lands before the tool runs. What changes
|
|
901
|
-
* is that the wait is now a promise rather than a blocked thread, and the TUI
|
|
902
|
-
* keeps painting while it happens.
|
|
903
|
-
*
|
|
904
|
-
* Fail-open on spawn error, and on the timeout — a policy that never ran must
|
|
905
|
-
* not read as a deny.
|
|
906
|
-
*/
|
|
907
|
-
async function runFailproofai(eventName, payload, directory) {
|
|
894
|
+
function runFailproofai(eventName, payload, directory) {
|
|
908
895
|
const cmd = USE_NPX ? "npx" : FAILPROOFAI_BIN;
|
|
909
896
|
const args = USE_NPX
|
|
910
897
|
? ["-y", "failproofai", "--hook", eventName, "--cli", "opencode"]
|
|
911
898
|
: ["--hook", eventName, "--cli", "opencode"];
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
resolveRun({ exitCode: 0, stdout: "", stderr: "" });
|
|
918
|
-
return;
|
|
919
|
-
}
|
|
920
|
-
let stdout = "";
|
|
921
|
-
let stderr = "";
|
|
922
|
-
let settled = false;
|
|
923
|
-
const finish = (exitCode) => {
|
|
924
|
-
if (settled) return;
|
|
925
|
-
settled = true;
|
|
926
|
-
clearTimeout(timer);
|
|
927
|
-
resolveRun({ exitCode, stdout, stderr });
|
|
928
|
-
};
|
|
929
|
-
const timer = setTimeout(() => {
|
|
930
|
-
try { child.kill("SIGKILL"); } catch { /* already gone */ }
|
|
931
|
-
finish(0);
|
|
932
|
-
}, 60_000);
|
|
933
|
-
child.stdout.on("data", (d) => { stdout += d; });
|
|
934
|
-
child.stderr.on("data", (d) => { stderr += d; });
|
|
935
|
-
child.on("error", () => finish(0));
|
|
936
|
-
child.on("close", (code) => finish(code ?? 0));
|
|
937
|
-
child.stdin.on("error", () => {});
|
|
938
|
-
child.stdin.end(JSON.stringify(payload));
|
|
899
|
+
const r = spawnSync(cmd, args, {
|
|
900
|
+
input: JSON.stringify(payload),
|
|
901
|
+
encoding: "utf8",
|
|
902
|
+
timeout: 60_000,
|
|
903
|
+
cwd: directory,
|
|
939
904
|
});
|
|
905
|
+
return { exitCode: r.status ?? 0, stdout: r.stdout ?? "", stderr: r.stderr ?? "" };
|
|
940
906
|
}
|
|
941
907
|
|
|
942
908
|
async function applyDecision(result, ctx, eventName) {
|
|
@@ -1001,7 +967,7 @@ export default async function failproofaiPlugin({ client, directory }) {
|
|
|
1001
967
|
}
|
|
1002
968
|
}
|
|
1003
969
|
if (!prompt) prompt = (info.text || info.content || props.text || "").toString();
|
|
1004
|
-
const r =
|
|
970
|
+
const r = runFailproofai("UserPromptSubmit", {
|
|
1005
971
|
session_id: sessionID, cwd: directory, hook_event_name: "UserPromptSubmit", prompt,
|
|
1006
972
|
}, directory);
|
|
1007
973
|
await applyDecision(r, { client, sessionID }, "UserPromptSubmit");
|
|
@@ -1011,11 +977,8 @@ export default async function failproofaiPlugin({ client, directory }) {
|
|
|
1011
977
|
const claudeEvent = BUS_EVENT_MAP[event.type];
|
|
1012
978
|
if (!claudeEvent) return;
|
|
1013
979
|
const props = event.properties || {};
|
|
1014
|
-
const
|
|
1015
|
-
|
|
1016
|
-
const sessionID = info.id || info.sessionID || info.sessionId || info.session_id ||
|
|
1017
|
-
props.sessionID || props.sessionId || props.session_id || props.id;
|
|
1018
|
-
const r = await runFailproofai(claudeEvent, {
|
|
980
|
+
const sessionID = props.sessionID || (props.session && props.session.id) || props.id;
|
|
981
|
+
const r = runFailproofai(claudeEvent, {
|
|
1019
982
|
session_id: sessionID, cwd: directory, hook_event_name: claudeEvent,
|
|
1020
983
|
}, directory);
|
|
1021
984
|
await applyDecision(r, { client, sessionID }, claudeEvent);
|
|
@@ -1024,7 +987,7 @@ export default async function failproofaiPlugin({ client, directory }) {
|
|
|
1024
987
|
// First-class PreToolUse hook. Note: tool args live on output.args (mutable).
|
|
1025
988
|
"tool.execute.before": async (input, output) => {
|
|
1026
989
|
const canonicalTool = canonicalizeTool(input.tool);
|
|
1027
|
-
const r =
|
|
990
|
+
const r = runFailproofai("PreToolUse", {
|
|
1028
991
|
session_id: input.sessionID,
|
|
1029
992
|
cwd: directory,
|
|
1030
993
|
tool_name: canonicalTool,
|
|
@@ -1037,7 +1000,7 @@ export default async function failproofaiPlugin({ client, directory }) {
|
|
|
1037
1000
|
// First-class PostToolUse hook. Note: tool args live on input.args here.
|
|
1038
1001
|
"tool.execute.after": async (input, output) => {
|
|
1039
1002
|
const canonicalTool = canonicalizeTool(input.tool);
|
|
1040
|
-
const r =
|
|
1003
|
+
const r = runFailproofai("PostToolUse", {
|
|
1041
1004
|
session_id: input.sessionID,
|
|
1042
1005
|
cwd: directory,
|
|
1043
1006
|
tool_name: canonicalTool,
|
|
@@ -1051,7 +1014,7 @@ export default async function failproofaiPlugin({ client, directory }) {
|
|
|
1051
1014
|
// Cleaner deny UX for prompted tools — mutate output.status instead of throwing.
|
|
1052
1015
|
"permission.ask": async (input, output) => {
|
|
1053
1016
|
const canonicalTool = canonicalizeTool(input.tool);
|
|
1054
|
-
const r =
|
|
1017
|
+
const r = runFailproofai("PermissionRequest", {
|
|
1055
1018
|
session_id: input.sessionID,
|
|
1056
1019
|
cwd: directory,
|
|
1057
1020
|
tool_name: canonicalTool || input.command || "permission",
|
|
@@ -47,7 +47,6 @@ import {
|
|
|
47
47
|
import { listInstallableIds, getIntegration } from "./integrations";
|
|
48
48
|
import type { IntegrationType } from "./types";
|
|
49
49
|
import { removeHooks } from "./manager";
|
|
50
|
-
import { uninstallMacNotifier } from "../audit/macos-notifier";
|
|
51
50
|
|
|
52
51
|
export interface UninstallOptions {
|
|
53
52
|
/** Also delete ~/.failproofai (config, credentials, state, audit cache, daemon binary). */
|
|
@@ -193,7 +192,6 @@ export async function runUninstallCommand(opts: UninstallOptions = {}): Promise<
|
|
|
193
192
|
if (found.daemonConfigured) {
|
|
194
193
|
plan.push(` • stop requiring the daemon (policies go back to evaluating in-process)`);
|
|
195
194
|
}
|
|
196
|
-
let removeDaemon = opts.purge === true;
|
|
197
195
|
if (found.serviceInstalled) {
|
|
198
196
|
plan.push(
|
|
199
197
|
opts.purge || opts.yes
|
|
@@ -306,7 +304,8 @@ export async function runUninstallCommand(opts: UninstallOptions = {}): Promise<
|
|
|
306
304
|
//
|
|
307
305
|
// So the only case that keeps it is an INTERACTIVE run where the person said no
|
|
308
306
|
// (or could not be asked).
|
|
309
|
-
removeDaemon =
|
|
307
|
+
const removeDaemon =
|
|
308
|
+
opts.purge || opts.yes ? true : ((await opts.confirmDaemon?.()) ?? false);
|
|
310
309
|
|
|
311
310
|
if (!removeDaemon) {
|
|
312
311
|
lines.push(
|
|
@@ -347,20 +346,6 @@ export async function runUninstallCommand(opts: UninstallOptions = {}): Promise<
|
|
|
347
346
|
}
|
|
348
347
|
}
|
|
349
348
|
|
|
350
|
-
// The macOS notification agent, which is the one thing `--purge` alone cannot
|
|
351
|
-
// reach: its bundle lives inside `~/.failproofai` and goes with the home, but
|
|
352
|
-
// its LaunchAgent plist sits in `~/Library/LaunchAgents`, outside everything
|
|
353
|
-
// this command otherwise deletes. Left behind, launchd keeps trying to start
|
|
354
|
-
// an applet that is no longer on disk and logs the failure at every login —
|
|
355
|
-
// precisely the class of leftover an uninstall exists to prevent.
|
|
356
|
-
//
|
|
357
|
-
// No-ops on every other platform, and needs no elevation on macOS: a per-user
|
|
358
|
-
// agent is the user's own to load and unload. Tied to the daemon's removal
|
|
359
|
-
// because it exists only to deliver what the daemon's scheduled audit finds.
|
|
360
|
-
if (opts.purge || removeDaemon) {
|
|
361
|
-
uninstallMacNotifier();
|
|
362
|
-
}
|
|
363
|
-
|
|
364
349
|
if (opts.purge && found.homeExists) {
|
|
365
350
|
// Last, and only after the service is down: the daemon binary and its
|
|
366
351
|
// socket live here, and deleting them out from under a running unit is how
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
module.exports=[66680,(e,t,n)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},2157,(e,t,n)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},96878,e=>{"use strict";var t=e.i(2157),n=e.i(50227),s=e.i(79708);function i(e){return"string"==typeof e&&e.length>0?e:void 0}function a(e){try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:void 0}catch{return}}function r(e,t){return`openclaw-sqlite://${encodeURIComponent(e)}/${t}`}function o(e,s){let i=[];for(let a of s){let s=(0,n.join)(e,"agents",a,"agent","openclaw-agent.sqlite");(0,t.existsSync)(s)&&i.push({agentId:a,dbPath:s})}return i}async function l(e,t){let n=[];for(let{agentId:l,dbPath:c}of o(e,t)){let e=await (0,s.openSqliteReadonly)(c);if(e)try{let t;try{t=e.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 s=function(e){let t,n=new Map;try{t=e.query(`SELECT current_session_id, entry_json, label, display_name
|
|
13
|
-
FROM session_nodes`)}catch{return n}for(let e of t){let t=a(e.entry_json)??{},s=t.origin&&"object"==typeof t.origin&&!Array.isArray(t.origin)?t.origin:{};n.set(e.current_session_id,{channel:i(t.lastChannel)??i(s.provider)??i(s.surface),label:i(e.label)??i(e.display_name)??i(t.displayName)??i(s.label),chatId:i(t.lastTo)??i(s.from),chatType:i(t.chatType)??i(s.chatType)})}return n}(e),o=function(e){let t,n=new Map;try{t=e.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 n}for(let e of t)n.has(e.session_id)||n.set(e.session_id,{channel:i(e.channel),label:i(e.label),chatId:i(e.delivery_target)??i(e.peer_id),chatType:i(e.kind)});return n}(e);for(let e of t){let t=s.get(e.session_id),a=o.get(e.session_id);n.push({sessionId:e.session_id,agentId:l,dbPath:c,transcriptPath:r(l,e.session_id),mtimeMs:Math.max(Number(e.updated_at)||0,Number(e.transcript_updated_at)||0,Number(e.ended_at)||0,Number(e.event_updated_at)||0),sizeBytes:Number(e.size_bytes)||0,channel:i(e.channel)??a?.channel??t?.channel??"local",label:i(e.display_name)??a?.label??t?.label,chatId:a?.chatId??t?.chatId,chatType:i(e.chat_type)??a?.chatType??t?.chatType})}}finally{e.close()}}return n}async function c(e,t,n){for(let{agentId:i,dbPath:l}of o(e,t)){let e=await (0,s.openSqliteReadonly)(l);if(e)try{let t;try{t=e.query(`SELECT event_json
|
|
18
|
-
FROM transcript_events
|
|
19
|
-
WHERE session_id = ?
|
|
20
|
-
ORDER BY seq ASC`,[n])}catch{continue}if(0===t.length)continue;let s=t.map(e=>e.event_json),o=s.map(a).filter(e=>void 0!==e);return{agentId:i,dbPath:l,filePath:r(i,n),rawLines:o,eventJsonLines:s}}finally{e.close()}}return null}e.s(["listOpenClawSqliteSessions",0,l,"readOpenClawSqliteTranscript",0,c])}];
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0faqz9x._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[22734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},24868,(e,r,t)=>{r.exports=e.x("fs/promises",()=>require("fs/promises"))},70406,(e,r,t)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,r,t)=>{r.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},56704,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,r,t)=>{r.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},12714,(e,r,t)=>{r.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,r,t)=>{r.exports=e.x("node:path",()=>require("node:path"))},81111,(e,r,t)=>{r.exports=e.x("node:stream",()=>require("node:stream"))},46786,(e,r,t)=>{r.exports=e.x("os",()=>require("os"))},14747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},91301,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__1qb590j._.js","server/chunks/_1vslkoe._.js"].map(r=>e.l(r))).then(()=>r(30441)))},16341,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__1shcqgr._.js"].map(r=>e.l(r))).then(()=>r(93114)))},37352,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__1jm9fw6._.js"].map(r=>e.l(r))).then(()=>r(36203)))},18944,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__17g9wh7._.js","server/chunks/src_hooks_fp-home_ts_09kv0bn._.js"].map(r=>e.l(r))).then(()=>r(57232)))},71809,e=>{"use strict";async function r(e,r){let t=Array(e.length),s=0;async function o(){for(;s<e.length;){let r=s++;try{t[r]={status:"fulfilled",value:await e[r]()}}catch(e){t[r]={status:"rejected",reason:e}}}}let a=Array.from({length:Math.min(r,e.length)},()=>o());return await Promise.all(a),t}e.s(["batchAll",0,r])},5807,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__1w9zl9-._.js"].map(r=>e.l(r))).then(()=>r(55851)))},21476,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__1legmza._.js"].map(r=>e.l(r))).then(()=>r(78166)))},97452,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__1ou2ehh._.js"].map(r=>e.l(r))).then(()=>r(46413)))},23414,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__0rv7m0k._.js"].map(r=>e.l(r))).then(()=>r(72094)))},52400,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__0g6bbuw._.js","server/chunks/_1vslkoe._.js"].map(r=>e.l(r))).then(()=>r(79364)))},53229,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__1ffkmds._.js","server/chunks/_1vslkoe._.js"].map(r=>e.l(r))).then(()=>r(40375)))},62998,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__0q0qzx1._.js"].map(r=>e.l(r))).then(()=>r(69391)))},95231,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__0--lkk6._.js"].map(r=>e.l(r))).then(()=>r(28246)))},28557,e=>{"use strict";e.s(["formatDate",0,function(e){return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0}).format(e)}])},31854,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__08w4wmd._.js","server/chunks/_1vslkoe._.js"].map(r=>e.l(r))).then(()=>r(69164)))},49081,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__1xuedea._.js","server/chunks/_1vslkoe._.js"].map(r=>e.l(r))).then(()=>r(36618)))},67347,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__1anxb5k._.js","server/chunks/_1vslkoe._.js"].map(r=>e.l(r))).then(()=>r(64828)))},32359,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__0zlqo2t._.js","server/chunks/_1vslkoe._.js"].map(r=>e.l(r))).then(()=>r(3605)))},40911,e=>{"use strict";let r={info:0,warn:1,error:2};function t(e){return r[e]>=r.warn}function s(e){return`[failproofai${new Date().toISOString()}] ${e}`}e.s(["logActivity",0,function(e,r,o){if(!t("info"))return;let a=[`user=${e}`,`action=${r}`];o&&a.push(o),console.log(s("ACTIVITY"),a.join(" "))},"logError",0,function(e,r){void 0!==r?console.error(s("ERROR"),e,r):console.error(s("ERROR"),e)},"logWarn",0,function(e,r){t("warn")&&(void 0!==r?console.warn(s("WARN"),e,r):console.warn(s("WARN"),e))}])},3959,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__0faqz9x._.js","server/chunks/_1vslkoe._.js"].map(r=>e.l(r))).then(()=>r(96878)))},38978,e=>{e.v(r=>Promise.all(["server/chunks/lib_openclaw-projects_ts_0gc-p24._.js","server/chunks/_1vslkoe._.js","server/chunks/[root-of-the-server]__1l71g3y._.js"].map(r=>e.l(r))).then(()=>r(90624)))},26435,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__1l71g3y._.js","server/chunks/_1vslkoe._.js"].map(r=>e.l(r))).then(()=>r(64199)))},82978,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__03r-lqq._.js","server/chunks/_1vslkoe._.js"].map(r=>e.l(r))).then(()=>r(35435)))},82859,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__12021ot._.js","server/chunks/_1vslkoe._.js"].map(r=>e.l(r))).then(()=>r(99440)))},81580,e=>{"use strict";var r=e.i(46786),t=e.i(14747);e.s(["decodeFolderName",0,function(e){return/^[A-Za-z]--/.test(e)?e[0]+":/"+e.slice(3).replace(/-/g,"/"):e.replace(/-/g,"/")},"encodeFolderName",0,function(e){let r=/^([A-Za-z]):[\\/](.*)$/.exec(e);return r?r[1]+"--"+r[2].replace(/[\\/]/g,"-"):e.replace(/[\\/]/g,"-")},"getClaudeProjectsPath",0,function(){let e=process.env.CLAUDE_PROJECTS_PATH;return e||(0,t.join)((0,r.homedir)(),".claude","projects")}])},45093,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__0f7mikp._.js"].map(r=>e.l(r))).then(()=>r(19791)))},41330,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__0q-v9z2._.js"].map(r=>e.l(r))).then(()=>r(85116)))},56936,e=>{"use strict";var r=e.i(12714),t=e.i(50227),s=e.i(81580),o=e.i(83534),a=e.i(71809),n=e.i(40911),i=e.i(28557);let l=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;async function c(e,t){try{return(await (0,r.stat)(e)).mtime}catch(e){return(0,n.logWarn)(`Failed to stat ${t}:`,e),new Date(0)}}async function u(e){try{if(!(await (0,r.stat)(e)).isDirectory())return null;return await (0,r.readdir)(e,{withFileTypes:!0})}catch{return null}}async function h(){try{let e=(0,s.getClaudeProjectsPath)(),r=await u(e);if(!r)return[];let o=(await (0,a.batchAll)(r.filter(e=>e.isDirectory()).map(r=>async()=>{let s=(0,t.join)(e,r.name),o=await c(s,r.name);return{name:r.name,path:s,isDirectory:!0,lastModified:o,lastModifiedFormatted:(0,i.formatDate)(o),cli:["claude"]}}),16)).filter(e=>"fulfilled"===e.status).map(e=>e.value);return o.sort((e,r)=>r.lastModified.getTime()-e.lastModified.getTime()),o}catch(e){return(0,n.logError)("Error reading Claude project folders:",e),[]}}async function v(){let[{getCodexProjects:r},{getCopilotProjects:t},{getCursorProjects:s},{getOpenCodeProjects:o},{getPiProjects:a},{getHermesProjects:i},{getOpenClawProjects:l},{getFactoryProjects:c},{getDevinProjects:u},{getAntigravityProjects:v},{getGooseProjects:m}]=await Promise.all([e.A(37352),e.A(5807),e.A(97452),e.A(82978),e.A(45093),e.A(67347),e.A(38978),e.A(62998),e.A(52400),e.A(91301),e.A(31854)]),[d,f,p,_,j,g,x,k,w,y,P,E]=await Promise.all([h(),r().catch(e=>((0,n.logError)("Error reading Codex projects:",e),[])),t().catch(e=>((0,n.logError)("Error reading Copilot projects:",e),[])),s().catch(e=>((0,n.logError)("Error reading Cursor projects:",e),[])),o().catch(e=>((0,n.logError)("Error reading OpenCode projects:",e),[])),a().catch(e=>((0,n.logError)("Error reading Pi projects:",e),[])),i().catch(e=>((0,n.logError)("Error reading Hermes projects:",e),[])),l().catch(e=>((0,n.logError)("Error reading OpenClaw projects:",e),[])),c().catch(e=>((0,n.logError)("Error reading Factory projects:",e),[])),u().catch(e=>((0,n.logError)("Error reading Devin projects:",e),[])),v().catch(e=>((0,n.logError)("Error reading Antigravity projects:",e),[])),m().catch(e=>((0,n.logError)("Error reading Goose projects:",e),[]))]);return function(...e){let r=new Map;for(let t of e)for(let e of t){let t=r.get(e.name);if(!t){r.set(e.name,{...e,cli:[...e.cli]});continue}let s=[...t.cli];for(let r of e.cli)s.includes(r)||s.push(r);let o=e.lastModified.getTime()>t.lastModified.getTime()?e:t;r.set(e.name,{...t,cli:s,lastModified:o.lastModified,lastModifiedFormatted:o.lastModifiedFormatted,sessionCount:void 0===t.sessionCount&&void 0===e.sessionCount?void 0:(t.sessionCount??0)+(e.sessionCount??0)})}let t=Array.from(r.values());return t.sort((e,r)=>r.lastModified.getTime()-e.lastModified.getTime()),t}(d,f,p,_,j,g,x,k,w,y,P,E)}function m(e){if(!e)throw RangeError("Empty project name");if(/^[/\\]/.test(e))throw RangeError("Absolute project name");let r=(0,t.resolve)((0,s.getClaudeProjectsPath)()),o=(0,t.resolve)((0,t.join)(r,e));if(!o.startsWith(r+t.sep))throw RangeError("Project path escapes root");return o}function d(e){let r=e.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return r?r[0]:void 0}async function f(e){try{let r=await u(e);if(!r)return[];let s=r.filter(e=>e.isFile()&&e.name.endsWith(".jsonl")&&d(e.name)),o=(await (0,a.batchAll)(s.map(r=>async()=>{let s=(0,t.join)(e,r.name),o=await c(s,r.name);return{name:r.name,path:s,lastModified:o,lastModifiedFormatted:(0,i.formatDate)(o),sessionId:d(r.name),cli:"claude"}}),16)).filter(e=>"fulfilled"===e.status).map(e=>e.value);return o.sort((e,r)=>r.lastModified.getTime()-e.lastModified.getTime()),o}catch(e){return(0,n.logError)("Error reading session files:",e),[]}}(0,o.runtimeCache)(v,30),(0,o.runtimeCache)(e=>f(e),30),e.s(["UUID_RE",0,l,"resolveProjectPath",0,m,"resolveSessionFilePath",0,function(e,r){if(!l.test(r))throw RangeError("Invalid session ID");let s=m(e);return(0,t.join)(s,`${r}.jsonl`)}])},83534,e=>{"use strict";e.s(["runtimeCache",0,function(e,r,t){let s=new Map,o=new Map,a=t?.maxSize;return async(...t)=>{let n=JSON.stringify(t),i=s.get(n);if(i&&Date.now()<i.expiry)return i.data;let l=o.get(n);if(l)return l;let c=e(...t).then(e=>{if(o.delete(n),a&&s.size>=a){let e=s.keys().next().value;s.delete(e)}return s.set(n,{data:e,expiry:Date.now()+1e3*r}),e},e=>{throw o.delete(n),e});return o.set(n,c),c}}])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0zyc_nm._.js.map
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
module.exports=[70406,(e,t,n)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,n)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},56704,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,n)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,n)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},74533,(e,t,n)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},66680,(e,t,n)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},2157,(e,t,n)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,n)=>{t.exports=e.x("node:os",()=>require("node:os"))},50227,(e,t,n)=>{t.exports=e.x("node:path",()=>require("node:path"))},81111,(e,t,n)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},48480,e=>{"use strict";let t={running:!1,error:null};e.s(["finishRun",0,function(e){t.running=!1,t.startedAt=void 0,t.error=e},"getRunState",0,function(){return{...t}},"tryAcquireRun",0,function(){return!t.running&&(t.running=!0,t.startedAt=Date.now(),t.error=null,!0)}])},30441,e=>{"use strict";var t=e.i(50227),n=e.i(79708),i=e.i(93114),s=e.i(83534),r=e.i(81580),o=e.i(28557),a=e.i(40911);function l(){return(0,t.join)((0,i.antigravityHome)(),"conversation_summaries.db")}async function c(){let e=new Map,t=await (0,n.openSqliteReadonly)(l());if(!t)return e;try{for(let n of t.query("SELECT conversation_id, title, step_count, workspace_uris, last_modified_time FROM conversation_summaries"))n.conversation_id&&e.set(n.conversation_id,{title:n.title??void 0,cwd:function(e){let t;if(!e)return;try{let n=JSON.parse(e);Array.isArray(n)&&"string"==typeof n[0]?t=n[0]:"string"==typeof n&&(t=n)}catch{t=e}if(!t)return;let n=t.replace(/^file:\/\//,"");return n.length>0?n:void 0}(n.workspace_uris),stepCount:"number"==typeof n.step_count?n.step_count:void 0,lastMs:function(e){if("number"==typeof e&&Number.isFinite(e))return e>1e12?e:e>1e9?1e3*e:void 0;if("string"==typeof e){let t=Date.parse(e);if(!Number.isNaN(t))return t}}(n.last_modified_time)})}catch{}finally{t.close()}return e}async function u(){let e;try{e=(0,i.listAntigravityTranscripts)()}catch(e){return(0,a.logWarn)("Failed to scan Antigravity brain dir:",e),[]}let t=await c(),n=[];for(let s of e){let e=t.get(s.conversationId),r=e?.cwd??null;if(!r)try{let e=await (0,i.getAntigravitySessionLog)(s.conversationId);r=e?.cwd??null}catch{r=null}n.push({conversationId:s.conversationId,cwd:r,title:e?.title,mtimeMs:e?.lastMs??s.mtimeMs})}return n}let d="antigravity";async function f(){let e=await u(),t=new Map;for(let n of e){let e=n.cwd?(0,r.encodeFolderName)(n.cwd):d,i=n.cwd??"antigravity",s=t.get(e);(!s||n.mtimeMs>s.latest)&&t.set(e,{latest:n.mtimeMs,path:i})}let n=[];for(let[e,{latest:i,path:s}]of t){let t=new Date(i);n.push({name:e,path:s,isDirectory:!0,lastModified:t,lastModifiedFormatted:(0,o.formatDate)(t),cli:["antigravity"]})}return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}async function m(e){let t=(await u()).filter(t=>(t.cwd?(0,r.encodeFolderName)(t.cwd):d)===e);if(0===t.length)return{cwd:null,sessions:[]};let n=[...t].sort((e,t)=>t.mtimeMs-e.mtimeMs);return{cwd:n.find(e=>e.cwd)?.cwd??(e===d?null:(0,r.decodeFolderName)(e)),sessions:n.map(e=>{let t=new Date(e.mtimeMs);return{name:e.title??e.conversationId,path:`antigravity://${e.conversationId}`,lastModified:t,lastModifiedFormatted:(0,o.formatDate)(t),sessionId:e.conversationId,cli:"antigravity"}})}}let p=(0,s.runtimeCache)(f,30),y=(0,s.runtimeCache)(e=>m(e),30,{maxSize:50});e.s(["antigravitySummariesDbPath",0,l,"getAntigravityIndex",0,c,"getAntigravityProjects",0,f,"getAntigravitySessionsByEncodedName",0,m,"getCachedAntigravityProjects",0,p,"getCachedAntigravitySessionsByEncodedName",0,y])},93114,e=>{"use strict";var t=e.i(12714),n=e.i(2157),i=e.i(60526),s=e.i(50227),r=e.i(83534),o=e.i(54214),a=e.i(67405);let l=/^[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}$/,c=new Set(["CONVERSATION_HISTORY","CHECKPOINT"]);function u(){return process.env.ANTIGRAVITY_HOME||(0,s.join)((0,i.homedir)(),".gemini","antigravity-cli")}function d(){return(0,s.join)(u(),"brain")}function f(){return(0,s.join)(".system_generated","logs","transcript_full.jsonl")}function m(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function p(e,t="session"){let n=[],i=new Map,s=Date.now();for(let r=0;r<e.length;r++){let l=e[r];if(!m(l))continue;let u="string"==typeof l.type?l.type:"";if(!u||c.has(u))continue;let d=function(e,t){if("number"==typeof e&&Number.isFinite(e)){if(e>1e12)return new Date(e);if(e>1e9)return new Date(1e3*e)}if("string"==typeof e){let t=Date.parse(e);if(!Number.isNaN(t))return new Date(t)}return new Date(t)}(l.created_at,s+r),f=d.toISOString(),p="number"==typeof l.step_index?l.step_index:r,y={uuid:`antigravity-${p}`,parentUuid:null},g=(0,o.baseEntry)(y,f,d,t);if("USER_INPUT"===u){let e="string"==typeof l.content?l.content:"";n.push({type:"user",...g,message:{role:"user",content:e}});continue}if("PLANNER_RESPONSE"===u){let e=[];if("string"==typeof l.content&&l.content.length>0&&e.push({type:"text",text:l.content}),Array.isArray(l.tool_calls))for(let t=0;t<l.tool_calls.length;t++){let n=l.tool_calls[t];if(!m(n))continue;let s="string"==typeof n.name?n.name:"tool",r={type:"tool_use",id:`${s}-${p}-${t}`,name:s,input:m(n.args)?n.args:{}};e.push(r);let o=s.toUpperCase(),a=i.get(o)??[];a.push({block:r,startMs:d.getTime()}),i.set(o,a)}if(0===e.length)continue;n.push({type:"assistant",...g,message:{role:"assistant",content:e}});continue}let h=i.get(u);if(h&&h.length>0){let{block:e,startMs:t}=h.shift(),n=Math.max(0,d.getTime()-t);e.result={timestamp:f,timestampFormatted:(0,o.formatTimestamp)(d),content:"string"==typeof l.content?l.content:"",durationMs:n,durationFormatted:(0,a.formatDuration)(n)};continue}n.push({type:"system",...g,raw:y})}return n.sort((e,t)=>e.timestampMs-t.timestampMs),n}function y(e){if(!l.test(e))return null;let t=(0,s.join)(d(),e,f());try{if((0,n.statSync)(t).isFile())return t}catch{}return null}async function g(e){let n,i=y(e);if(!i)return null;try{n=await (0,t.readFile)(i,"utf-8")}catch{return null}let s=(0,o.parseRawLines)(n,"session"),r=p(s,"session"),a=function(e){for(let t of e)if(m(t)&&Array.isArray(t.tool_calls))for(let e of t.tool_calls){if(!m(e)||!m(e.args))continue;let t=e.args.Cwd??e.args.cwd;if("string"==typeof t&&t.length>0)return t}}(s);return{entries:r,rawLines:s,cwd:a,filePath:i}}(0,r.runtimeCache)(e=>g(e),60,{maxSize:50}),e.s(["antigravityHome",0,u,"antigravityLinesToLogEntries",0,p,"findAntigravityTranscript",0,y,"getAntigravitySessionLog",0,g,"listAntigravityTranscripts",0,function(){let e,t=d(),i=f(),r=[];try{e=(0,n.readdirSync)(t,{withFileTypes:!0}).filter(e=>e.isDirectory())}catch{return r}for(let o of e){let e=o.name;if(!l.test(e))continue;let a=(0,s.join)(t,e,i);try{let t=(0,n.statSync)(a);if(!t.isFile())continue;r.push({conversationId:e,transcriptPath:a,mtimeMs:t.mtimeMs,sizeBytes:t.size})}catch{}}return r}])},94930,e=>{"use strict";var t=e.i(2157),n=e.i(50227),i=e.i(66680);e.s(["writeJsonAtomically",0,function(e,s,r={}){let o=r.mode??384,a=r.dirMode??448,l=(0,n.dirname)(e);(0,t.existsSync)(l)||(0,t.mkdirSync)(l,{recursive:!0,mode:a});let c=`${e}.${process.pid}.${(0,i.randomBytes)(6).toString("hex")}.tmp`;try{(0,t.writeFileSync)(c,JSON.stringify(s,null,2),{mode:o});try{(63&(0,t.statSync)(c).mode)!=0&&(0,t.chmodSync)(c,o)}catch{}(0,t.renameSync)(c,e);try{(63&(0,t.statSync)(e).mode)!=0&&(0,t.chmodSync)(e,o)}catch{}}catch(e){try{(0,t.rmSync)(c,{force:!0})}catch{}throw e}}])},36203,e=>{"use strict";var t=e.i(12714),n=e.i(60526),i=e.i(50227),s=e.i(81580),r=e.i(83534),o=e.i(71809),a=e.i(28557),l=e.i(40911);let c=(0,i.join)((0,n.homedir)(),".codex","sessions"),u=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;async function d(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function f(e){let n=null;try{n=await (0,t.open)(e,"r");let i=Buffer.alloc(262144),{bytesRead:s}=await n.read(i,0,262144,0);if(0===s)return null;let r=i.subarray(0,s),o=r.indexOf(10),a=-1===o?s:o;return r.subarray(0,a).toString("utf-8")}catch{return null}finally{n&&await n.close().catch(()=>{})}}async function m(e){let t=await d(e);return t?t.filter(e=>e.isFile()&&e.name.endsWith(".jsonl")).map(t=>(0,i.join)(e,t.name)):[]}async function p(){let e=await d(c);if(!e)return[];let n=[];for(let t of e){if(!t.isDirectory())continue;let e=await d((0,i.join)(c,t.name));if(e)for(let s of e){if(!s.isDirectory())continue;let e=await d((0,i.join)(c,t.name,s.name));if(e)for(let r of e){if(!r.isDirectory())continue;let e=(0,i.join)(c,t.name,s.name,r.name);n.push(...await m(e))}}}return 0===n.length?[]:(await (0,o.batchAll)(n.map(e=>async()=>{let n,i,s=(i=(e.split("/").pop()??"").match(u))?i[0]:null;if(!s)return null;let r=await f(e);if(!r)return null;let{cwd:o}=function(e){try{let t=JSON.parse(e);if("session_meta"!==t.type)return{};let n=t.payload?.cwd;if("string"!=typeof n||0===n.length)return{};return{cwd:n}}catch{return{}}}(r);if(!o)return null;try{let i=await (0,t.open)(e,"r");try{n=(await i.stat()).mtime}finally{await i.close().catch(()=>{})}}catch{n=new Date(0)}return{filePath:e,fileName:e.split("/").pop()??"",cwd:o,sessionId:s,fileMtime:n}}),16)).filter(e=>"fulfilled"===e.status).map(e=>e.value).filter(e=>null!==e)}let y=(0,r.runtimeCache)(p,30);async function g(){let e;try{e=await y()}catch(e){return(0,l.logWarn)("Failed to scan Codex sessions:",e),[]}let t=new Map;for(let n of e){let e=t.get(n.cwd);(!e||n.fileMtime.getTime()>e.latest.getTime())&&t.set(n.cwd,{latest:n.fileMtime,cwd:n.cwd})}let n=[];for(let{cwd:e,latest:i}of t.values())n.push({name:(0,s.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:i,lastModifiedFormatted:(0,a.formatDate)(i),cli:["codex"]});return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}function h(e){let t=e.map(e=>({name:e.fileName.replace(/\.jsonl$/,""),path:e.filePath,lastModified:e.fileMtime,lastModifiedFormatted:(0,a.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"codex"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function w(e){let t;try{t=await y()}catch(e){return(0,l.logWarn)("Failed to scan Codex sessions:",e),[]}return h(t.filter(t=>t.cwd===e))}async function _(e){let t;try{t=await y()}catch(e){return(0,l.logWarn)("Failed to scan Codex sessions:",e),{cwd:null,sessions:[]}}let n=t.filter(t=>(0,s.encodeFolderName)(t.cwd)===e);return{cwd:n[0]?.cwd??null,sessions:h(n)}}let S=(0,r.runtimeCache)(g,30),v=(0,r.runtimeCache)(e=>w(e),30,{maxSize:50}),M=(0,r.runtimeCache)(e=>_(e),30,{maxSize:50});e.s(["getCachedCodexProjects",0,S,"getCachedCodexSessionsByEncodedName",0,M,"getCachedCodexSessionsForCwd",0,v,"getCodexProjects",0,g,"getCodexSessionsByEncodedName",0,_,"getCodexSessionsForCwd",0,w])},57232,e=>{"use strict";var t=e.i(2157),n=e.i(12714),i=e.i(50227),s=e.i(60526),r=e.i(83534),o=e.i(54214),a=e.i(67405);let l=(0,e.i(79857).codexSessionPathsFile)();function c(){try{if(!(0,t.existsSync)(l))return{};return JSON.parse((0,t.readFileSync)(l,"utf-8"))}catch{return{}}}function u(e,n){try{(0,t.mkdirSync)((0,i.dirname)(l),{recursive:!0});let s=c();s[e]=n,(0,t.writeFileSync)(l,JSON.stringify(s),"utf-8")}catch{}}function d(e,n){try{for(let s of(0,t.readdirSync)(e,{withFileTypes:!0}))if(s.isFile()&&s.name.includes(n)&&s.name.endsWith(".jsonl"))return(0,i.join)(e,s.name)}catch{}return null}function f(e){let n=c()[e];if(n&&(0,t.existsSync)(n))return n;let r=(0,i.join)((0,s.homedir)(),".codex","sessions"),o=new Date,a=new Date(o.getTime()-864e5);for(let t of[o,a].map(e=>{let t=String(e.getUTCFullYear()),n=String(e.getUTCMonth()+1).padStart(2,"0"),s=String(e.getUTCDate()).padStart(2,"0");return(0,i.join)(r,t,n,s)})){let n=d(t,e);if(n)return u(e,n),n}try{for(let n of(0,t.readdirSync)(r,{withFileTypes:!0}))if(n.isDirectory()){for(let s of(0,t.readdirSync)((0,i.join)(r,n.name),{withFileTypes:!0}))if(s.isDirectory())for(let o of(0,t.readdirSync)((0,i.join)(r,n.name,s.name),{withFileTypes:!0})){if(!o.isDirectory())continue;let t=d((0,i.join)(r,n.name,s.name,o.name),e);if(t)return u(e,t),t}}}catch{}return null}function m(e,t){return Array.isArray(e)?e.filter(e=>e?.type===t&&"string"==typeof e.text).map(e=>e.text).join("\n"):""}async function p(e,t="session"){let n,i=e.split("\n").filter(e=>""!==e.trim()),s=[],r=[],l=new Map,c=new Map,u=!1;for(let e=0;e<i.length;e++){let f;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let p=i[e];try{f=JSON.parse(p)}catch{continue}let y={...f,_source:t};r.push(y);let g=f.timestamp;if(!g)continue;let h=new Date(g);if(Number.isNaN(h.getTime()))continue;let w=f.type,_=f.payload??{};if("session_meta"===w){let e=_.cwd;"string"!=typeof e||n||(n=e),s.push({type:"system",...(0,o.baseEntry)(y,g,h,t),raw:y});continue}if("response_item"===w){let e=_.type;if("message"===e){let e=_.role,n=_.content;if("user"===e||"developer"===e){let i=m(n,"input_text");if(!i)continue;let r="developer"===e?`[developer] ${i}`:i;s.push({type:"user",...(0,o.baseEntry)(y,g,h,t),message:{role:"user",content:r}});continue}if("assistant"===e){let e=m(n,"output_text");if(!e)continue;let i=[{type:"text",text:e}];s.push({type:"assistant",...(0,o.baseEntry)(y,g,h,t),message:{role:"assistant",content:i}});continue}s.push({type:"system",...(0,o.baseEntry)(y,g,h,t),raw:y});continue}if("function_call"===e||"custom_tool_call"===e){let e=_.call_id,n=_.name??"function_call",i={type:"tool_use",id:e??`${g}-${n}`,name:n,input:function(e){if(!e)return{};try{return JSON.parse(e)}catch{return{}}}(_.arguments??_.input)},r={type:"assistant",...(0,o.baseEntry)(y,g,h,t),message:{role:"assistant",content:[i]}};s.push(r),e&&(l.set(e,i),c.set(e,h.getTime()));continue}if("function_call_output"===e||"custom_tool_call_output"===e){let e=_.call_id,n=e?l.get(e):void 0;if(n){var d;let t=c.get(e)??h.getTime(),i=Math.max(0,h.getTime()-t);n.result={timestamp:g,timestampFormatted:(0,o.formatTimestamp)(h),content:"string"==typeof(d=_.output)?d:Array.isArray(d)?d.filter(e=>!!e&&"object"==typeof e).map(e=>"string"==typeof e.text?e.text:"").filter(Boolean).join("\n"):void 0===d?"":JSON.stringify(d),durationMs:i,durationFormatted:(0,a.formatDuration)(i)};continue}s.push({type:"system",...(0,o.baseEntry)(y,g,h,t),raw:y});continue}s.push({type:"system",...(0,o.baseEntry)(y,g,h,t),raw:y});continue}if("event_msg"===w){let e=_.type;if("task_started"===e){let e=u?"Session Resumed":"Session Started";u=!0,s.push({type:"queue-operation",...(0,o.baseEntry)(y,g,h,t),label:e});continue}if("exec_command_end"===e){let e=_.call_id,n=e?l.get(e):void 0;if(n){let t=_.duration,i=t?(t.secs??0)*1e3+Math.round((t.nanos??0)/1e6):Math.max(0,h.getTime()-(c.get(e)??h.getTime())),s=_.aggregated_output;n.result={timestamp:g,timestampFormatted:(0,o.formatTimestamp)(h),content:"string"==typeof s?s:JSON.stringify(s),durationMs:i,durationFormatted:(0,a.formatDuration)(i)};continue}s.push({type:"system",...(0,o.baseEntry)(y,g,h,t),raw:y});continue}if("user_message"===e||"agent_message"===e)continue;s.push({type:"system",...(0,o.baseEntry)(y,g,h,t),raw:y});continue}s.push({type:"system",...(0,o.baseEntry)(y,g,h,t),raw:y})}return s.length>500&&await new Promise(e=>setImmediate(e)),s.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:s,rawLines:r,cwd:n}}async function y(e){let t=f(e);if(!t)return null;let i=await (0,n.readFile)(t,"utf-8"),{entries:s,rawLines:r,cwd:o}=await p(i,"session");return{entries:s,rawLines:r,cwd:o,filePath:t}}(0,r.runtimeCache)(e=>y(e),60,{maxSize:50}),e.s(["findCodexTranscript",0,f,"getCodexSessionLog",0,y])},55851,e=>{"use strict";var t=e.i(12714),n=e.i(60526),i=e.i(50227),s=e.i(81580),r=e.i(83534),o=e.i(71809),a=e.i(28557),l=e.i(40911);async function c(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function u(e){try{return(await (0,t.stat)(e)).mtime}catch{return null}}async function d(){let e=(0,i.join)(process.env.COPILOT_HOME||(0,i.join)((0,n.homedir)(),".copilot"),"session-state"),s=await c(e);if(!s)return[];let r=s.filter(e=>e.isDirectory()).map(t=>({sessionId:t.name,workspacePath:(0,i.join)(e,t.name,"workspace.yaml"),eventsPath:(0,i.join)(e,t.name,"events.jsonl")}));return(await (0,o.batchAll)(r.map(e=>async()=>{let n;try{n=await (0,t.readFile)(e.workspacePath,"utf-8")}catch{return null}let i=function(e){let t=e.match(/^cwd\s*:\s*(.+?)\s*$/m);if(t)return t[1].replace(/^['"]|['"]$/g,"")}(n);if(!i)return null;let s=await u(e.eventsPath),r=await u(e.workspacePath),o=null!==s,a=s&&r?new Date(Math.max(s.getTime(),r.getTime())):s??r??new Date(0);return{workspacePath:e.workspacePath,eventsPath:e.eventsPath,sessionId:e.sessionId,cwd:i,fileMtime:a,hasTranscript:o}}),16)).filter(e=>"fulfilled"===e.status).map(e=>e.value).filter(e=>null!==e)}let f=(0,r.runtimeCache)(d,30);async function m(){let e;try{e=await f()}catch(e){return(0,l.logWarn)("Failed to scan Copilot sessions:",e),[]}let t=new Map;for(let n of e){if(!n.hasTranscript)continue;let e=t.get(n.cwd);(!e||n.fileMtime.getTime()>e.latest.getTime())&&t.set(n.cwd,{latest:n.fileMtime,cwd:n.cwd})}let n=[];for(let{cwd:e,latest:i}of t.values())n.push({name:(0,s.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:i,lastModifiedFormatted:(0,a.formatDate)(i),cli:["copilot"]});return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}function p(e){let t=e.filter(e=>e.hasTranscript).map(e=>({name:e.sessionId,path:e.eventsPath,lastModified:e.fileMtime,lastModifiedFormatted:(0,a.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"copilot"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function y(e){let t;try{t=await f()}catch(e){return(0,l.logWarn)("Failed to scan Copilot sessions:",e),[]}return p(t.filter(t=>t.cwd===e))}async function g(e){let t;try{t=await f()}catch(e){return(0,l.logWarn)("Failed to scan Copilot sessions:",e),{cwd:null,sessions:[]}}let n=t.filter(t=>t.hasTranscript&&(0,s.encodeFolderName)(t.cwd)===e);return{cwd:n[0]?.cwd??null,sessions:p(n)}}let h=(0,r.runtimeCache)(m,30),w=(0,r.runtimeCache)(e=>y(e),30,{maxSize:50}),_=(0,r.runtimeCache)(e=>g(e),30,{maxSize:50});e.s(["getCachedCopilotProjects",0,h,"getCachedCopilotSessionsByEncodedName",0,_,"getCachedCopilotSessionsForCwd",0,w,"getCopilotProjects",0,m,"getCopilotSessionsByEncodedName",0,g,"getCopilotSessionsForCwd",0,y])},78166,e=>{"use strict";var t=e.i(2157),n=e.i(12714),i=e.i(50227),s=e.i(60526),r=e.i(83534),o=e.i(54214),a=e.i(67405);function l(e,t){let n=function(e){if(!e)return null;let t=(0,i.resolve)((0,i.join)(process.env.COPILOT_HOME||(0,i.join)((0,s.homedir)(),".copilot"),"session-state")),n=(0,i.resolve)(t,e);return n!==t&&n.startsWith(`${t}${i.sep}`)?n:null}(e);return n?(0,i.join)(n,t):null}function c(e){let n=l(e,"events.jsonl");return n&&(0,t.existsSync)(n)?n:null}async function u(e,t="session"){let n,i,s=e.split("\n").filter(e=>""!==e.trim()),r=[],l=[],c=new Map,d=new Map,f=0,m=!1;for(let e=0;e<s.length;e++){let u;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let p=s[e];try{u=JSON.parse(p)}catch{continue}let y={...u,_source:t};l.push(y);let g=u.timestamp;if(!g)continue;let h=new Date(g);if(Number.isNaN(h.getTime()))continue;let w=h.toISOString(),_=u.type,S=u.data??{};if("session.start"===_){let e=S.context,n=e?.cwd;"string"!=typeof n||i||(i=n);let s=m?"Session Resumed":"Session Started";m=!0,r.push({type:"queue-operation",...(0,o.baseEntry)(y,w,h,t),label:s});continue}if("user.message"===_){let e=S.content??"";if(!e)continue;r.push({type:"user",...(0,o.baseEntry)(y,w,h,t),message:{role:"user",content:e}});continue}if("system.message"===_){r.push({type:"system",...(0,o.baseEntry)(y,w,h,t),raw:y});continue}if("assistant.message"===_){let e=S.content??"";if(!e){r.push({type:"system",...(0,o.baseEntry)(y,w,h,t),raw:y});continue}let n=[{type:"text",text:e}];r.push({type:"assistant",...(0,o.baseEntry)(y,w,h,t),message:{role:"assistant",content:n}});continue}if("tool.execution_start"===_){let e=S.toolCallId,i=S.toolName??"tool",s=S.arguments??{},a={type:"tool_use",id:e??`${h.getTime()}-${i}`,name:i,input:s},l={type:"assistant",...(0,o.baseEntry)(y,w,h,t),message:{role:"assistant",content:[a]}};r.push(l),e&&(c.set(e,a),d.set(e,h.getTime())),n=a,f=h.getTime();continue}if("hook.start"===_&&"postToolUse"===S.hookType&&n){let e=(S.input??{}).toolResult??{},t=e.textResultForLlm??e.sessionLog;"string"==typeof t&&t.length>0&&(n.result={timestamp:w,timestampFormatted:(0,o.formatTimestamp)(h),content:t,durationMs:Math.max(0,h.getTime()-f),durationFormatted:(0,a.formatDuration)(Math.max(0,h.getTime()-f))})}if("tool.execution_complete"===_){let e=S.toolCallId,n=e?c.get(e):void 0;if(n){let t=d.get(e)??h.getTime(),i=S.result??{},s=S.toolTelemetry??{},r=s.metrics?.commandTimeMs??s.metrics?.durationMs??null,l="number"==typeof r&&r>=0?r:Math.max(0,h.getTime()-t),c=i.detailedContent??i.content??"",u=n.result?.content||c;n.result={timestamp:w,timestampFormatted:(0,o.formatTimestamp)(h),content:"string"==typeof u?u:JSON.stringify(u),durationMs:l,durationFormatted:(0,a.formatDuration)(l)};continue}r.push({type:"system",...(0,o.baseEntry)(y,w,h,t),raw:y});continue}r.push({type:"system",...(0,o.baseEntry)(y,w,h,t),raw:y})}return r.length>500&&await new Promise(e=>setImmediate(e)),r.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:r,rawLines:l,cwd:i}}async function d(e){let i,s=c(e);if(!s)return null;try{i=await (0,n.readFile)(s,"utf-8")}catch{return null}let{entries:r,rawLines:o,cwd:a}=await u(i,"session");return{entries:r,rawLines:o,cwd:a??function(e){let n,i=(n=l(e,"workspace.yaml"))&&(0,t.existsSync)(n)?n:null;if(i)try{let e=(0,t.readFileSync)(i,"utf-8"),n=RegExp("^cwd\\s*:\\s*(.+?)\\s*$","m"),s=e.match(n);if(!s)return;return s[1].replace(/^['"]|['"]$/g,"")}catch{return}}(e),filePath:s}}(0,r.runtimeCache)(e=>d(e),60,{maxSize:50}),e.s(["findCopilotTranscript",0,c,"getCopilotSessionLog",0,d])},46413,e=>{"use strict";var t=e.i(12714),n=e.i(60526),i=e.i(50227),s=e.i(81580),r=e.i(83534),o=e.i(71809),a=e.i(28557),l=e.i(40911);let c=["agent-sessions","conversations","sessions"],u=["meta.json","session.json","workspace.json","workspace.yaml"],d=["events.jsonl","transcript.jsonl","messages.jsonl"];async function f(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function m(e){try{return(await (0,t.stat)(e)).mtime}catch{return null}}async function p(e,n){for(let s of n){let n,r=(0,i.join)(e,s);if(await m(r)===null)continue;try{n=await (0,t.readFile)(r,"utf-8")}catch{continue}let o=function(e){try{let t=JSON.parse(e);if("string"==typeof t.cwd&&t.cwd.length>0)return t.cwd}catch{}let t=e.match(/^\s*cwd\s*:\s*(.+?)\s*$/m);if(t){let e=t[1].replace(/^['"]|['"]$/g,"");if(e.length>0)return e}}(n);if(o)return{path:r,cwd:o}}return null}async function y(e,t){for(let n of t){let t=(0,i.join)(e,n);if(await m(t)!==null)return t}return null}async function g(){let e=process.env.CURSOR_HOME||(0,i.join)((0,n.homedir)(),".cursor"),t=[],r=[],a=(0,i.join)(e,"projects"),l=await f(a);if(l)for(let e of l){if(!e.isDirectory())continue;let n=(0,s.decodeFolderName)(e.name),r=n.startsWith("/")||/^[A-Za-z]:\//.test(n)?n:`/${n}`,o=(0,i.join)(a,e.name,"agent-transcripts"),l=await f(o);if(l)for(let e of l)e.isDirectory()&&t.push({sessionId:e.name,dir:(0,i.join)(o,e.name),cwd:r})}for(let t of c){let n=(0,i.join)(e,t),s=await f(n);if(s)for(let e of s)e.isDirectory()&&r.push({sessionId:e.name,dir:(0,i.join)(n,e.name)})}return 0===t.length&&0===r.length?[]:(await (0,o.batchAll)([...t.map(e=>async()=>{let t=(0,i.join)(e.dir,`${e.sessionId}.jsonl`),n=await m(t);return n?{metaPath:e.dir,transcriptPath:t,sessionId:e.sessionId,cwd:e.cwd,fileMtime:n,hasTranscript:!0}:null}),...r.map(e=>async()=>{let t=await p(e.dir,u);if(!t)return null;let n=await y(e.dir,d),i=n?await m(n):null,s=await m(t.path),r=i&&s?new Date(Math.max(i.getTime(),s.getTime())):i??s??new Date(0);return{metaPath:t.path,transcriptPath:n,sessionId:e.sessionId,cwd:t.cwd,fileMtime:r,hasTranscript:null!==n}})],16)).filter(e=>"fulfilled"===e.status).map(e=>e.value).filter(e=>null!==e)}let h=(0,r.runtimeCache)(g,30);async function w(){let e;try{e=await h()}catch(e){return(0,l.logWarn)("Failed to scan Cursor sessions:",e),[]}let t=new Map;for(let n of e){if(!n.hasTranscript)continue;let e=t.get(n.cwd);(!e||n.fileMtime.getTime()>e.latest.getTime())&&t.set(n.cwd,{latest:n.fileMtime,cwd:n.cwd})}let n=[];for(let{cwd:e,latest:i}of t.values())n.push({name:(0,s.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:i,lastModifiedFormatted:(0,a.formatDate)(i),cli:["cursor"]});return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}function _(e){let t=e.filter(e=>e.hasTranscript&&e.transcriptPath).map(e=>({name:e.sessionId,path:e.transcriptPath,lastModified:e.fileMtime,lastModifiedFormatted:(0,a.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"cursor"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function S(e){let t;try{t=await h()}catch(e){return(0,l.logWarn)("Failed to scan Cursor sessions:",e),[]}return _(t.filter(t=>t.cwd===e))}async function v(e){let t;try{t=await h()}catch(e){return(0,l.logWarn)("Failed to scan Cursor sessions:",e),{cwd:null,sessions:[]}}let n=t.filter(t=>t.hasTranscript&&(0,s.encodeFolderName)(t.cwd)===e);return{cwd:n[0]?.cwd??null,sessions:_(n)}}let M=(0,r.runtimeCache)(w,30),E=(0,r.runtimeCache)(e=>S(e),30,{maxSize:50}),T=(0,r.runtimeCache)(e=>v(e),30,{maxSize:50});e.s(["getCachedCursorProjects",0,M,"getCachedCursorSessionsByEncodedName",0,T,"getCachedCursorSessionsForCwd",0,E,"getCursorProjects",0,w,"getCursorSessionsByEncodedName",0,v,"getCursorSessionsForCwd",0,S])},72094,e=>{"use strict";var t=e.i(2157),n=e.i(12714),i=e.i(50227),s=e.i(60526),r=e.i(83534),o=e.i(54214),a=e.i(67405);let l=["agent-sessions","conversations","sessions"],c=["events.jsonl","transcript.jsonl","messages.jsonl"],u="agent-transcripts";function d(e){let n=function(e){if(!e)return null;let n=(0,i.resolve)(process.env.CURSOR_HOME||(0,i.join)((0,s.homedir)(),".cursor")),r=(0,i.resolve)(n,"projects"),o=[];try{o=(0,t.readdirSync)(r,{withFileTypes:!0})}catch{}for(let n of o){if(!n.isDirectory())continue;let s=(0,i.resolve)(r,n.name,u,e),o=(0,i.resolve)(r,n.name,u);if(s!==o&&s.startsWith(`${o}${i.sep}`)&&(0,t.existsSync)(s))return s}for(let s of l){let r=(0,i.resolve)(n,s),o=(0,i.resolve)(r,e);if(o!==r&&o.startsWith(`${r}${i.sep}`)&&(0,t.existsSync)(o))return o}return null}(e);if(!n)return null;let r=(0,i.join)(n,`${(0,i.basename)(n)}.jsonl`);if((0,t.existsSync)(r))return r;for(let e of c){let s=(0,i.join)(n,e);if((0,t.existsSync)(s))return s}return null}async function f(e,t="session"){let n,i=e.split("\n").filter(e=>""!==e.trim()),s=[],r=[],l=new Map,c=new Map,u=!1,d=Date.now();for(let e=0;e<i.length;e++){let f;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let m=i[e];try{f=JSON.parse(m)}catch{continue}let p={...f,_source:t};if(r.push(p),!f.type&&f.role&&f.message?.content){let n=new Date(d+e),i=n.toISOString(),r=f.message.content,u=r.filter(e=>e?.type==="text"&&"string"==typeof e.text).map(e=>e.text).join("");if("user"===f.role){let e=!1;for(let t of r){if(t?.type!=="tool_result")continue;let s="string"==typeof t.tool_use_id?t.tool_use_id:void 0,r=s?l.get(s):void 0;if(!r)continue;let u=Math.max(0,n.getTime()-(c.get(s)??n.getTime()));r.result={timestamp:i,timestampFormatted:(0,o.formatTimestamp)(n),content:"string"==typeof t.content?t.content:null==t.content?"":JSON.stringify(t.content),durationMs:u,durationFormatted:(0,a.formatDuration)(u)},e=!0}let d=/<user_query>\s*([\s\S]*?)\s*<\/user_query>/.exec(u),f=d?d[1]:u;f?s.push({type:"user",...(0,o.baseEntry)(p,i,n,t),message:{role:"user",content:f}}):e||s.push({type:"system",...(0,o.baseEntry)(p,i,n,t),raw:p});continue}if("assistant"===f.role){let a=[];u&&a.push({type:"text",text:u});for(let t=0;t<r.length;t++){let i=r[t];if(i?.type!=="tool_use")continue;let s="string"==typeof i.name?i.name:"tool",o="string"==typeof i.id&&i.id?i.id:`cursor-${e}-${s}-${t}`,u={type:"tool_use",id:o,name:s,input:i.input&&"object"==typeof i.input?i.input:{}};a.push(u),l.set(o,u),c.set(o,n.getTime())}0===a.length?s.push({type:"system",...(0,o.baseEntry)(p,i,n,t),raw:p}):s.push({type:"assistant",...(0,o.baseEntry)(p,i,n,t),message:{role:"assistant",content:a}});continue}s.push({type:"system",...(0,o.baseEntry)(p,i,n,t),raw:p});continue}let y=f.timestamp;if(!y)continue;let g=new Date(y);if(Number.isNaN(g.getTime()))continue;let h=g.toISOString(),w=f.type,_=f.data??{};if("session.start"===w||"sessionStart"===w||"session_start"===w){let e=_.context??_,i=e.cwd;"string"!=typeof i||n||(n=i),!n&&Array.isArray(e.workspace_roots)&&"string"==typeof e.workspace_roots[0]&&(n=e.workspace_roots[0]);let r=u?"Session Resumed":"Session Started";u=!0,s.push({type:"queue-operation",...(0,o.baseEntry)(p,h,g,t),label:r});continue}if("user.message"===w||"userMessage"===w){let e="string"==typeof _.content?_.content:"string"==typeof _.text?_.text:"";if(!e)continue;s.push({type:"user",...(0,o.baseEntry)(p,h,g,t),message:{role:"user",content:e}});continue}if("system.message"===w||"systemMessage"===w){s.push({type:"system",...(0,o.baseEntry)(p,h,g,t),raw:p});continue}if("assistant.message"===w||"assistantMessage"===w){let e="string"==typeof _.content?_.content:"string"==typeof _.text?_.text:"";if(!e){s.push({type:"system",...(0,o.baseEntry)(p,h,g,t),raw:p});continue}let n=[{type:"text",text:e}];s.push({type:"assistant",...(0,o.baseEntry)(p,h,g,t),message:{role:"assistant",content:n}});continue}if("tool.execution_start"===w||"tool.executionStart"===w||"preToolUse"===w){let e=_.toolCallId??_.tool_use_id,n=_.toolName??_.tool_name??"tool",i=_.arguments??_.tool_input??{},r={type:"tool_use",id:e??`${g.getTime()}-${n}`,name:n,input:i},a={type:"assistant",...(0,o.baseEntry)(p,h,g,t),message:{role:"assistant",content:[r]}};s.push(a),e&&(l.set(e,r),c.set(e,g.getTime()));continue}if("tool.execution_complete"===w||"tool.executionComplete"===w||"postToolUse"===w){let e=_.toolCallId??_.tool_use_id,n=e?l.get(e):void 0;if(n){let t=c.get(e)??g.getTime(),i=_.result??{},s=_.duration,r="number"==typeof s&&s>=0?s:Math.max(0,g.getTime()-t),l=i.detailedContent??i.content??_.tool_output??"";n.result={timestamp:h,timestampFormatted:(0,o.formatTimestamp)(g),content:"string"==typeof l?l:JSON.stringify(l),durationMs:r,durationFormatted:(0,a.formatDuration)(r)};continue}s.push({type:"system",...(0,o.baseEntry)(p,h,g,t),raw:p});continue}s.push({type:"system",...(0,o.baseEntry)(p,h,g,t),raw:p})}return s.length>500&&await new Promise(e=>setImmediate(e)),s.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:s,rawLines:r,cwd:n}}async function m(e){let t,i=d(e);if(!i)return null;try{t=await (0,n.readFile)(i,"utf-8")}catch{return null}let{entries:s,rawLines:r,cwd:o}=await f(t,"session");return{entries:s,rawLines:r,cwd:o,filePath:i}}(0,r.runtimeCache)(e=>m(e),60,{maxSize:50}),e.s(["findCursorTranscript",0,d,"getCursorSessionLog",0,m])},79364,e=>{"use strict";var t=e.i(79708),n=e.i(40375),i=e.i(81580),s=e.i(83534),r=e.i(28557);async function o(){let e=await (0,t.openSqliteReadonly)((0,n.devinDbPath)());if(!e)return[];try{return e.query("SELECT id, working_directory, title, created_at, last_activity_at, hidden FROM sessions ORDER BY last_activity_at DESC").filter(e=>!e.hidden).map(e=>{let t=e.working_directory??void 0;return{sessionId:e.id,cwd:t,title:e.title??void 0,projectName:t?(0,i.encodeFolderName)(t):"devin",mtimeMs:(0,n.devinEpochToMs)(e.last_activity_at??e.created_at)}})}catch{return[]}finally{e.close()}}let a=(0,s.runtimeCache)(o,2);async function l(){let e=await o(),t=new Map;for(let n of e){if(!n.cwd)continue;let e=t.get(n.projectName);(!e||n.mtimeMs>e.latest)&&t.set(n.projectName,{latest:n.mtimeMs,cwd:n.cwd,name:n.projectName})}let n=[];for(let{name:e,cwd:i,latest:s}of t.values()){let t=new Date(s);n.push({name:e,path:i,isDirectory:!0,lastModified:t,lastModifiedFormatted:(0,r.formatDate)(t),cli:["devin"]})}return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}async function c(e){let t=(await o()).filter(t=>t.cwd&&t.projectName===e);if(0===t.length)return{cwd:null,sessions:[]};let n=[...t].sort((e,t)=>t.mtimeMs-e.mtimeMs);return{cwd:n[0].cwd??null,sessions:n.map(e=>{let t=new Date(e.mtimeMs);return{name:e.title??e.sessionId,path:`devin-db://${e.sessionId}`,lastModified:t,lastModifiedFormatted:(0,r.formatDate)(t),sessionId:e.sessionId,cli:"devin"}})}}let u=(0,s.runtimeCache)(l,2),d=(0,s.runtimeCache)(e=>c(e),2,{maxSize:50});e.s(["getCachedDevinProjects",0,u,"getCachedDevinSessions",0,a,"getCachedDevinSessionsByEncodedName",0,d,"getDevinProjects",0,l,"getDevinSessions",0,o,"getDevinSessionsByEncodedName",0,c])},40375,e=>{"use strict";var t=e.i(60526),n=e.i(50227),i=e.i(79708),s=e.i(83534),r=e.i(54214),o=e.i(67405);let a=/^[A-Za-z0-9_-]+$/;function l(){return process.env.DEVIN_DB_PATH||(0,n.join)(process.env.DEVIN_HOME||(0,n.join)((0,t.homedir)(),".local","share","devin"),"cli","sessions.db")}function c(e){if("string"==typeof e&&0!==e.length)try{return JSON.parse(e)}catch{return}}function u(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function d(e){return"string"==typeof e?e:Array.isArray(e)?e.map(e=>u(e)&&"string"==typeof e.text?e.text:"").filter(Boolean).join("\n"):""}function f(e,t){if("number"==typeof e&&Number.isFinite(e)){if(e>1e12)return new Date(e);if(e>1e9)return new Date(1e3*e)}if("string"==typeof e){let t=Date.parse(e);if(!Number.isNaN(t))return new Date(t)}return new Date(t)}async function m(e){if(!e||!a.test(e))return null;let t=await (0,i.openSqliteReadonly)(l());if(!t)return null;try{let n=t.query("SELECT working_directory FROM sessions WHERE id = ?",[e]);if(0===n.length)return null;let i=n[0].working_directory,s=t.query("SELECT node_id, parent_node_id, chat_message, created_at FROM message_nodes WHERE session_id = ? ORDER BY node_id ASC",[e]),a=function(e){let t=[];for(let n of e){let e=c(n.chat_message);u(e)&&(null!=n.created_at&&null==e._created_at&&(e._created_at=n.created_at),t.push(e))}return t}(function(e){if(0===e.length)return e;let t=new Map;for(let n of e)"number"==typeof n.node_id&&t.set(n.node_id,n);let n=e.reduce((e,t)=>(e.node_id??-1)>(t.node_id??-1)?e:t),i=[],s=new Set;for(;n&&"number"==typeof n.node_id&&!s.has(n.node_id);)s.add(n.node_id),i.push(n),n=null!=n.parent_node_id?t.get(n.parent_node_id):void 0;return i.reverse()}(s)),l=function(e,t="session"){let n=[],i=new Map,s=new Map,a=Date.now();for(let l=0;l<e.length;l++){let m=e[l];if(!u(m))continue;let p="string"==typeof m.role?m.role:"system",y=function(e,t){let n=u(e.metadata)?e.metadata:void 0;return n&&null!=n.created_at?f(n.created_at,t):null!=e._created_at?f(e._created_at,t):new Date(t)}(m,a+l),g=y.toISOString(),h={uuid:null!=m.message_id?String(m.message_id):`devin-${l}`,parentUuid:null},w=(0,r.baseEntry)(h,g,y,t);if("user"===p){n.push({type:"user",...w,message:{role:"user",content:d(m.content)}});continue}if("assistant"===p){let e=[],t=d(m.content);for(let n of(t&&e.push({type:"text",text:t}),function(e){let t=Array.isArray(e)?e:c(e);if(!Array.isArray(t))return[];let n=[];for(let e of t){if(!u(e))continue;let t=u(e.function)?e.function:{},i="string"==typeof e.name?e.name:"string"==typeof t.name?t.name:"tool",s="string"==typeof e.id&&e.id||"string"==typeof e.call_id&&e.call_id||`${i}-${n.length}`,r=e.arguments??t.arguments,o=u(r)?r:c(r);n.push({id:s,name:i,input:u(o)?o:{}})}return n}(m.tool_calls))){let t={type:"tool_use",id:n.id,name:n.name,input:n.input};e.push(t),i.set(n.id,t),s.set(n.id,y.getTime())}if(0===e.length)continue;n.push({type:"assistant",...w,message:{role:"assistant",content:e,model:"string"==typeof m.model?m.model:void 0}});continue}if("tool"===p){let e="string"==typeof m.tool_call_id?m.tool_call_id:void 0,t=e?i.get(e):void 0;if(t){let n=e&&s.get(e)||y.getTime(),i=Math.max(0,y.getTime()-n);t.result={timestamp:g,timestampFormatted:(0,r.formatTimestamp)(y),content:d(m.content),durationMs:i,durationFormatted:(0,o.formatDuration)(i)};continue}}n.push({type:"system",...w,raw:h})}return n.sort((e,t)=>e.timestampMs-t.timestampMs),n}(a,"session"),m=i&&i.length>0?i:void 0;return{entries:l,rawLines:a,cwd:m,filePath:`devin-db://${e}`}}catch{return null}finally{t.close()}}(0,s.runtimeCache)(e=>m(e),2,{maxSize:50}),e.s(["devinDbPath",0,l,"devinEpochToMs",0,function(e){if("number"==typeof e&&Number.isFinite(e)){if(e>1e12)return e;if(e>1e9)return 1e3*e}return Date.now()},"getDevinSessionLog",0,m])},28246,e=>{"use strict";var t=e.i(12714),n=e.i(2157),i=e.i(60526),s=e.i(50227),r=e.i(81580),o=e.i(83534),a=e.i(54214),l=e.i(67405);let c=/^[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 u(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function d(e){return"string"==typeof e?e:Array.isArray(e)?e.map(e=>u(e)&&"string"==typeof e.text?e.text:"").filter(Boolean).join("\n"):""}function f(e,t="session"){let n=[],i=new Map,s=new Map,r=Date.now();for(let o=0;o<e.length;o++){let c=e[o];if(!u(c)||"message"!==c.type)continue;let f=u(c.message)?c.message:void 0;if(!f)continue;let m="string"==typeof f.role?f.role:"system",p=function(e,t){if("number"==typeof e&&Number.isFinite(e)){if(e>1e12)return new Date(e);if(e>1e9)return new Date(1e3*e)}if("string"==typeof e){let t=Date.parse(e);if(!Number.isNaN(t))return new Date(t)}return new Date(t)}(c.timestamp??f.timestamp,r+o),y=p.toISOString(),g={uuid:null!=c.id?String(c.id):`factory-${o}`,parentUuid:null!=c.parentId?String(c.parentId):null},h=(0,a.baseEntry)(g,y,p,t),w=f.content;if("assistant"===m){let e=[];if(Array.isArray(w)){for(let t of w)if(u(t)){if("text"===t.type&&"string"==typeof t.text)e.push({type:"text",text:t.text});else if("tool_use"===t.type){let n="string"==typeof t.id?t.id:`${String(t.name??"tool")}-${e.length}`,r={type:"tool_use",id:n,name:"string"==typeof t.name?t.name:"tool",input:u(t.input)?t.input:{}};e.push(r),i.set(n,r),s.set(n,p.getTime())}}}else{let t=d(w);t&&e.push({type:"text",text:t})}if(0===e.length)continue;n.push({type:"assistant",...h,message:{role:"assistant",content:e,model:"string"==typeof f.model?f.model:void 0}});continue}if(Array.isArray(w)){let e=!1,t=[];for(let n of w)if(u(n)){if("tool_result"===n.type){let t="string"==typeof n.tool_use_id?n.tool_use_id:"string"==typeof n.toolUseId?n.toolUseId:void 0,r=t?i.get(t):void 0;if(r){let i=t&&s.get(t)||p.getTime(),o=Math.max(0,p.getTime()-i);r.result={timestamp:y,timestampFormatted:(0,a.formatTimestamp)(p),content:d(n.content),durationMs:o,durationFormatted:(0,l.formatDuration)(o)},e=!0;continue}}"text"===n.type&&"string"==typeof n.text&&t.push(n.text)}t.length>0?n.push({type:"user",...h,message:{role:"user",content:t.join("\n")}}):e||n.push({type:"system",...h,raw:g});continue}if("user"===m){n.push({type:"user",...h,message:{role:"user",content:d(w)}});continue}n.push({type:"system",...h,raw:g})}return n.sort((e,t)=>e.timestampMs-t.timestampMs),n}function m(){let e,t=(0,s.join)(process.env.FACTORY_HOME||(0,s.join)((0,i.homedir)(),".factory"),"sessions"),o=[];try{e=(0,n.readdirSync)(t,{withFileTypes:!0}).filter(e=>e.isDirectory())}catch{return o}for(let i of e){let e,a=i.name,l=(0,r.decodeFolderName)(a),u=(0,s.join)(t,a);try{e=(0,n.readdirSync)(u)}catch{continue}for(let t of e){if(!t.endsWith(".jsonl"))continue;let e=t.slice(0,-6);if(!c.test(e))continue;let i=(0,s.join)(u,t);try{let t=(0,n.statSync)(i);o.push({projectName:a,cwd:l,sessionId:e,transcriptPath:i,mtimeMs:t.mtimeMs,sizeBytes:t.size})}catch{}}}return o}function p(e){if(!c.test(e))return null;for(let t of m())if(t.sessionId===e)return t.transcriptPath;return null}async function y(e){let n,i,s=p(e);if(!s)return null;try{n=await (0,t.readFile)(s,"utf-8")}catch{return null}let r=(0,a.parseRawLines)(n,"session"),o=f(r,"session");for(let e of r)if(u(e)&&"session_start"===e.type&&"string"==typeof e.cwd&&e.cwd.length>0){i=e.cwd;break}return{entries:o,rawLines:r,cwd:i,filePath:s}}(0,o.runtimeCache)(e=>y(e),60,{maxSize:50}),e.s(["factoryLinesToLogEntries",0,f,"findFactoryTranscript",0,p,"getFactorySessionLog",0,y,"listFactoryTranscripts",0,m])},69164,e=>{"use strict";var t=e.i(79708),n=e.i(36618),i=e.i(81580),s=e.i(83534),r=e.i(28557);async function o(){let e=await (0,t.openSqliteReadonly)((0,n.gooseDbPath)());if(!e)return[];try{return e.query("SELECT id, working_dir, description, name, session_type, created_at, updated_at FROM sessions ORDER BY updated_at DESC").filter(e=>"hidden"!==e.session_type).map(e=>{let t=e.working_dir??void 0,s=(e.description&&e.description.length>0?e.description:e.name)??void 0;return{sessionId:e.id,cwd:t,title:s&&s.length>0?s:void 0,projectName:t?(0,i.encodeFolderName)(t):"goose",mtimeMs:(0,n.gooseTimestampToMs)(e.updated_at??e.created_at)}})}catch{return[]}finally{e.close()}}let a=(0,s.runtimeCache)(o,2);async function l(){let e=await o(),t=new Map;for(let n of e){if(!n.cwd)continue;let e=t.get(n.projectName);(!e||n.mtimeMs>e.latest)&&t.set(n.projectName,{latest:n.mtimeMs,cwd:n.cwd,name:n.projectName})}let n=[];for(let{name:e,cwd:i,latest:s}of t.values()){let t=new Date(s);n.push({name:e,path:i,isDirectory:!0,lastModified:t,lastModifiedFormatted:(0,r.formatDate)(t),cli:["goose"]})}return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}async function c(e){let t=(await o()).filter(t=>t.cwd&&t.projectName===e);if(0===t.length)return{cwd:null,sessions:[]};let n=[...t].sort((e,t)=>t.mtimeMs-e.mtimeMs);return{cwd:n[0].cwd??null,sessions:n.map(e=>{let t=new Date(e.mtimeMs);return{name:e.title??e.sessionId,path:`goose-db://${e.sessionId}`,lastModified:t,lastModifiedFormatted:(0,r.formatDate)(t),sessionId:e.sessionId,cli:"goose"}})}}let u=(0,s.runtimeCache)(l,2),d=(0,s.runtimeCache)(e=>c(e),2,{maxSize:50});e.s(["getCachedGooseProjects",0,u,"getCachedGooseSessions",0,a,"getCachedGooseSessionsByEncodedName",0,d,"getGooseProjects",0,l,"getGooseSessions",0,o,"getGooseSessionsByEncodedName",0,c])},36618,e=>{"use strict";var t=e.i(60526),n=e.i(50227),i=e.i(79708),s=e.i(83534),r=e.i(54214),o=e.i(67405);let a=/^\d{8}_\d+$/;function l(){return process.env.GOOSE_DB_PATH||(0,n.join)(function(){if(process.env.GOOSE_HOME)return process.env.GOOSE_HOME;let e=process.env.XDG_DATA_HOME;return(0,n.join)(e&&e.length>0?e:(0,n.join)((0,t.homedir)(),".local","share"),"goose")}(),"sessions","sessions.db")}function c(e){if("number"==typeof e&&Number.isFinite(e)){if(e>1e12)return e;if(e>1e9)return 1e3*e}if("string"==typeof e&&e.length>0){let t=Date.parse(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(e)?e.replace(" ","T")+"Z":e);if(!Number.isNaN(t))return t}return Date.now()}function u(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function d(e){return"string"==typeof e?e:Array.isArray(e)?e.map(e=>u(e)&&"string"==typeof e.text?e.text:"").filter(Boolean).join("\n"):""}async function f(e){if(!e||!a.test(e))return null;let t=await (0,i.openSqliteReadonly)(l());if(!t)return null;try{let n=t.query("SELECT working_dir FROM sessions WHERE id = ?",[e]);if(0===n.length)return null;let i=n[0].working_dir,s=t.query("SELECT role, content_json, created_timestamp FROM messages WHERE session_id = ? ORDER BY id ASC",[e]),a=function(e,t="session"){let n=[],i=new Map,s=new Map,a=Date.now();for(let l=0;l<e.length;l++){let f=e[l],m=function(e){if("string"==typeof e&&0!==e.length)try{return JSON.parse(e)}catch{return}}(f.content_json);if(!Array.isArray(m))continue;let p="string"==typeof f.role?f.role:"system",y=function(e,t){let n="number"==typeof e||"string"==typeof e?c(e):NaN;return new Date(Number.isNaN(n)?t:n)}(f.created_timestamp,a+l),g=y.toISOString(),h={uuid:`goose-${l}`,parentUuid:null},w=(0,r.baseEntry)(h,g,y,t),_=[],S=[],v=[];for(let e of m)u(e)&&("text"===e.type&&"string"==typeof e.text?_.push(e.text):"toolRequest"===e.type?S.push(e):"toolResponse"===e.type&&v.push(e));for(let e of v){let t="string"==typeof e.id?e.id:void 0,n=t?i.get(t):void 0;if(!n)continue;let a=t&&s.get(t)||y.getTime(),l=Math.max(0,y.getTime()-a);n.result={timestamp:g,timestampFormatted:(0,r.formatTimestamp)(y),content:function(e){let t=(u(e.toolResult)?e.toolResult:{}).value;return u(t)&&Array.isArray(t.content)?d(t.content):"string"==typeof t?t:Array.isArray(t)?d(t):""}(e),durationMs:l,durationFormatted:(0,o.formatDuration)(l)}}let M=_.join("\n").trim();if(S.length>0||"assistant"===p&&M){let e=[];for(let t of(M&&e.push({type:"text",text:M}),S)){let{id:n,name:r,input:o}=function(e,t){let n="string"==typeof e.id&&e.id?e.id:`goose-tool-${t}`,i=u(e.toolCall)?e.toolCall:{},s=u(i.value)?i.value:{},r="string"==typeof s.name?s.name:"tool";return{id:n,name:r,input:u(s.arguments)?s.arguments:{}}}(t,e.length),a={type:"tool_use",id:n,name:r,input:o};e.push(a),i.set(n,a),s.set(n,y.getTime())}if(0===e.length)continue;n.push({type:"assistant",...w,message:{role:"assistant",content:e}});continue}if("user"===p&&M){n.push({type:"user",...w,message:{role:"user",content:M}});continue}M&&n.push({type:"system",...w,raw:h})}return n.sort((e,t)=>e.timestampMs-t.timestampMs),n}(s,"session"),l=i&&i.length>0?i:void 0;return{entries:a,rawLines:s,cwd:l,filePath:`goose-db://${e}`}}catch{return null}finally{t.close()}}(0,s.runtimeCache)(e=>f(e),2,{maxSize:50}),e.s(["getGooseSessionLog",0,f,"gooseDbPath",0,l,"gooseTimestampToMs",0,c])},28898,e=>{"use strict";var t=e.i(2157),n=e.i(60526),i=e.i(50227);let s="profiles",r="default";function o(){let e=(process.env.HERMES_HOME||"").trim();if(e){let t=(0,i.resolve)(e),n=(0,i.dirname)(t);return(0,i.basename)(n)===s?(0,i.dirname)(n):t}return(0,i.join)((0,n.homedir)(),".hermes")}function a(){let e,n=o(),a=[{name:r,home:n}],l=new Set([r]);try{e=(0,t.readdirSync)((0,i.join)(n,s),{withFileTypes:!0}).filter(e=>(e.isDirectory()||e.isSymbolicLink())&&!e.name.startsWith(".")).map(e=>e.name).sort()}catch{return a}for(let t of e)l.has(t)||(l.add(t),a.push({name:t,home:(0,i.join)(n,s,t)}));return a}e.s(["HERMES_DEFAULT_PROFILE",0,r,"hermesProjectName",0,function(e,t){return`hermes-${e}-${t}`},"hermesProjectNameCandidates",0,function(e){if(!e.startsWith("hermes-"))return[];let t=e.slice(7);if(!t)return[];let n=[];for(let e of a().map(e=>e.name).sort((e,t)=>t.length-e.length)){let i=`${e}-`;t.startsWith(i)&&t.length>i.length&&n.push({profile:e,source:t.slice(i.length)})}return n.push({profile:r,source:t}),n},"hermesProjectPath",0,function(e,t){return`hermes:${e}:${t}`},"hermesRoot",0,o,"listHermesProfiles",0,a])},64828,e=>{"use strict";var t=e.i(79708),n=e.i(3605),i=e.i(28898),s=e.i(83534),r=e.i(28557);async function o(){let e=[];for(let{profile:t,dbPath:i}of(0,n.hermesDbPaths)())e.push(...await a(i,t));return e.sort((e,t)=>t.mtimeMs-e.mtimeMs),e}async function a(e,i){let s=await (0,t.openSqliteReadonly)(e);if(!s)return[];try{return s.query("SELECT s.id, s.source, s.cwd, s.title, s.user_id, s.chat_id, s.chat_type, s.started_at, s.ended_at, s.message_count, lm.last_activity FROM sessions s LEFT JOIN (SELECT session_id, MAX(timestamp) AS last_activity FROM messages GROUP BY session_id) lm ON lm.session_id = s.id ORDER BY lm.last_activity DESC").map(e=>({sessionId:e.id,profile:i,source:e.source??void 0,cwd:e.cwd??void 0,title:e.title??void 0,userId:e.user_id??void 0,chatId:e.chat_id??void 0,chatType:e.chat_type??void 0,mtimeMs:(0,n.epochToMs)(e.last_activity??e.ended_at??e.started_at),messageCount:"number"==typeof e.message_count?e.message_count:0,hasMessages:null!=e.last_activity}))}catch{return[]}finally{s.close()}}let l=(0,s.runtimeCache)(o,2);async function c(){let e=await o(),t=new Map;for(let n of e){if(n.messageCount<=0&&!n.hasMessages)continue;let e=n.profile||i.HERMES_DEFAULT_PROFILE,s=n.source??"unknown",r=JSON.stringify([e,s]),o=t.get(r);o?(o.latest=Math.max(o.latest,n.mtimeMs),o.count+=1):t.set(r,{profile:e,source:s,latest:n.mtimeMs,count:1})}let n=[];for(let{profile:e,source:s,latest:o,count:a}of t.values()){let t=new Date(o);n.push({name:(0,i.hermesProjectName)(e,s),path:(0,i.hermesProjectPath)(e,s),isDirectory:!0,lastModified:t,lastModifiedFormatted:(0,r.formatDate)(t),cli:["hermes"],sessionCount:a})}return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}async function u(e){let t=(0,i.hermesProjectNameCandidates)(e);if(0===t.length)return{cwd:null,sessions:[]};let n=await o(),s=e=>n.filter(t=>(t.messageCount>0||t.hasMessages)&&(t.profile||i.HERMES_DEFAULT_PROFILE)===e.profile&&(t.source??"unknown")===e.source),a=t[0],l=s(a);if(0===l.length)for(let e of t.slice(1)){let t=s(e);if(t.length>0){a=e,l=t;break}}let{profile:c,source:u}=a;return{cwd:(0,i.hermesProjectPath)(c,u),sessions:l.map(e=>{let t=new Date(e.mtimeMs);return{name:e.title??e.sessionId,path:`hermes://${e.sessionId}`,lastModified:t,lastModifiedFormatted:(0,r.formatDate)(t),sessionId:e.sessionId,cli:"hermes",userId:e.userId,channelId:e.chatId,channelType:e.chatType}})}}let d=(0,s.runtimeCache)(c,2),f=(0,s.runtimeCache)(e=>u(e),2,{maxSize:50});e.s(["getCachedHermesProjects",0,d,"getCachedHermesSessions",0,l,"getCachedHermesSessionsByEncodedName",0,f,"getHermesProjects",0,c,"getHermesSessions",0,o,"getHermesSessionsByEncodedName",0,u])},3605,e=>{"use strict";var t=e.i(50227),n=e.i(79708),i=e.i(28898),s=e.i(83534),r=e.i(54214),o=e.i(67405);function a(){let e=process.env.HERMES_DB_PATH;return e?[{profile:i.HERMES_DEFAULT_PROFILE,dbPath:e}]:(0,i.listHermesProfiles)().map(e=>({profile:e.name,dbPath:(0,t.join)(e.home,"state.db")}))}function l(e){if("string"==typeof e&&0!==e.length)try{return JSON.parse(e)}catch{return}}function c(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function u(e){return"string"==typeof e?e:Array.isArray(e)?e.map(e=>c(e)&&"string"==typeof e.text?e.text:"").filter(Boolean).join("\n"):""}async function d(e){if(!e||!/^[A-Za-z0-9_-]+$/.test(e))return null;for(let{profile:t,dbPath:n}of a()){let i=await f(n,t,e);if(i)return i}return null}async function f(e,t,s){let a=await (0,n.openSqliteReadonly)(e);if(!a)return null;try{let e=a.query("SELECT source, cwd FROM sessions WHERE id = ?",[s]);if(0===e.length)return null;let{source:n,cwd:d}=e[0],f=a.query("SELECT id, role, content, tool_call_id, tool_calls, tool_name, timestamp FROM messages WHERE session_id = ? ORDER BY timestamp ASC",[s]),m=function(e,t="session"){let n=[],i=new Map,s=new Map,a=Date.now();for(let d=0;d<e.length;d++){let f=e[d];if(!c(f))continue;let m="string"==typeof f.role?f.role:"system",p=function(e,t){if("number"==typeof e&&Number.isFinite(e)){if(e>1e12)return new Date(e);if(e>1e9)return new Date(1e3*e)}if("string"==typeof e){let t=Date.parse(e);if(!Number.isNaN(t))return new Date(t)}return new Date(t)}(f.timestamp??f.time_created,a+d),y=p.toISOString(),g={uuid:null!=f.id?String(f.id):`hermes-${d}`,parentUuid:null},h=(0,r.baseEntry)(g,y,p,t);if("user"===m){n.push({type:"user",...h,message:{role:"user",content:u(f.content)}});continue}if("assistant"===m){let e=[],t=u(f.content);for(let n of(t&&e.push({type:"text",text:t}),function(e){let t=Array.isArray(e)?e:l(e);if(!Array.isArray(t))return[];let n=[];for(let e of t){if(!c(e))continue;let t=c(e.function)?e.function:{},i="string"==typeof t.name?t.name:"string"==typeof e.name?e.name:"tool",s="string"==typeof e.id&&e.id||"string"==typeof e.call_id&&e.call_id||`${i}-${n.length}`,r=c(t.arguments)?t.arguments:l(t.arguments);n.push({id:s,name:i,input:c(r)?r:{}})}return n}(f.tool_calls))){let t={type:"tool_use",id:n.id,name:n.name,input:n.input};e.push(t),i.set(n.id,t),s.set(n.id,p.getTime())}if(0===e.length)continue;n.push({type:"assistant",...h,message:{role:"assistant",content:e}});continue}if("tool"===m){let e="string"==typeof f.tool_call_id?f.tool_call_id:void 0,t=e?i.get(e):void 0;if(t){let n=e&&s.get(e)||p.getTime(),i=Math.max(0,p.getTime()-n);t.result={timestamp:y,timestampFormatted:(0,r.formatTimestamp)(p),content:u(f.content),durationMs:i,durationFormatted:(0,o.formatDuration)(i)};continue}}n.push({type:"system",...h,raw:g})}return n.sort((e,t)=>e.timestampMs-t.timestampMs),n}(f,"session"),p=d&&d.length>0?d:n?(0,i.hermesProjectPath)(t,n):void 0;return{entries:m,rawLines:f,cwd:p,filePath:`hermes://${s}`,profile:t}}catch{return null}finally{a.close()}}(0,s.runtimeCache)(e=>d(e),2,{maxSize:50}),e.s(["epochToMs",0,function(e){if("number"==typeof e&&Number.isFinite(e)){if(e>1e12)return e;if(e>1e9)return 1e3*e}return Date.now()},"getHermesSessionLog",0,d,"hermesDbPaths",0,a])},96878,e=>{"use strict";var t=e.i(2157),n=e.i(50227),i=e.i(79708);function s(e){return"string"==typeof e&&e.length>0?e:void 0}function r(e){try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:void 0}catch{return}}function o(e,t){return`openclaw-sqlite://${encodeURIComponent(e)}/${t}`}function a(e,i){let s=[];for(let r of i){let i=(0,n.join)(e,"agents",r,"agent","openclaw-agent.sqlite");(0,t.existsSync)(i)&&s.push({agentId:r,dbPath:i})}return s}async function l(e,t){let n=[];for(let{agentId:l,dbPath:c}of a(e,t)){let e=await (0,i.openSqliteReadonly)(c);if(e)try{let t;try{t=e.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 i=function(e){let t,n=new Map;try{t=e.query(`SELECT current_session_id, entry_json, label, display_name
|
|
13
|
-
FROM session_nodes`)}catch{return n}for(let e of t){let t=r(e.entry_json)??{},i=t.origin&&"object"==typeof t.origin&&!Array.isArray(t.origin)?t.origin:{};n.set(e.current_session_id,{channel:s(t.lastChannel)??s(i.provider)??s(i.surface),label:s(e.label)??s(e.display_name)??s(t.displayName)??s(i.label),chatId:s(t.lastTo)??s(i.from),chatType:s(t.chatType)??s(i.chatType)})}return n}(e),a=function(e){let t,n=new Map;try{t=e.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 n}for(let e of t)n.has(e.session_id)||n.set(e.session_id,{channel:s(e.channel),label:s(e.label),chatId:s(e.delivery_target)??s(e.peer_id),chatType:s(e.kind)});return n}(e);for(let e of t){let t=i.get(e.session_id),r=a.get(e.session_id);n.push({sessionId:e.session_id,agentId:l,dbPath:c,transcriptPath:o(l,e.session_id),mtimeMs:Math.max(Number(e.updated_at)||0,Number(e.transcript_updated_at)||0,Number(e.ended_at)||0,Number(e.event_updated_at)||0),sizeBytes:Number(e.size_bytes)||0,channel:s(e.channel)??r?.channel??t?.channel??"local",label:s(e.display_name)??r?.label??t?.label,chatId:r?.chatId??t?.chatId,chatType:s(e.chat_type)??r?.chatType??t?.chatType})}}finally{e.close()}}return n}async function c(e,t,n){for(let{agentId:s,dbPath:l}of a(e,t)){let e=await (0,i.openSqliteReadonly)(l);if(e)try{let t;try{t=e.query(`SELECT event_json
|
|
18
|
-
FROM transcript_events
|
|
19
|
-
WHERE session_id = ?
|
|
20
|
-
ORDER BY seq ASC`,[n])}catch{continue}if(0===t.length)continue;let i=t.map(e=>e.event_json),a=i.map(r).filter(e=>void 0!==e);return{agentId:s,dbPath:l,filePath:o(s,n),rawLines:a,eventJsonLines:i}}finally{e.close()}}return null}e.s(["listOpenClawSqliteSessions",0,l,"readOpenClawSqliteTranscript",0,c])},90624,e=>{"use strict";var t=e.i(2157),n=e.i(50227),i=e.i(83534),s=e.i(64199),r=e.i(28557),o=e.i(96878);function a(e){return"string"==typeof e&&e.length>0?e:void 0}async function l(){let e=(0,s.listOpenClawTranscripts)(),i=new Map,r=new Map;for(let o of e){let e=i.get(o.agentId);e||(e=function(e){let i,r=new Map,o=(0,n.join)((0,s.openclawHome)(),"agents",e,"sessions","sessions.json");try{i=JSON.parse((0,t.readFileSync)(o,"utf-8"))}catch{return r}if(!i||"object"!=typeof i)return r;for(let e of Object.values(i)){if(!e||"object"!=typeof e)continue;let t=a(e.sessionId);if(!t)continue;let n=e.origin&&"object"==typeof e.origin?e.origin:{},i="number"==typeof e.lastInteractionAt?e.lastInteractionAt:"number"==typeof e.updatedAt?e.updatedAt:void 0;r.set(t,{lastMs:i,channel:a(e.lastChannel)??a(n.provider)??a(n.surface),chatType:a(e.chatType)??a(n.chatType),label:a(n.label),chatId:a(e.lastTo)??a(n.from)})}return r}(o.agentId),i.set(o.agentId,e));let l=e.get(o.sessionId);r.set(`${o.agentId}\0${o.sessionId}`,{sessionId:o.sessionId,agentId:o.agentId,channel:l?.channel??"local",label:l?.label,chatType:l?.chatType,chatId:l?.chatId,transcriptPath:o.transcriptPath,mtimeMs:l?.lastMs??o.mtimeMs,sizeBytes:o.sizeBytes})}for(let e of(await (0,o.listOpenClawSqliteSessions)((0,s.openclawHome)(),(0,s.listOpenClawAgents)())))r.set(`${e.agentId}\0${e.sessionId}`,e);return[...r.values()].sort((e,t)=>t.mtimeMs-e.mtimeMs)}let c=(0,i.runtimeCache)(l,2);function u(e,t){return`openclaw-${e}-${t}`}function d(e,t){return`openclaw:${e}:${t}`}function f(e){if(!e.startsWith("openclaw-"))return[];let t=e.slice(9);if(!t)return[];let n=[];for(let e of(0,s.listOpenClawAgents)().sort((e,t)=>t.length-e.length)){let i=`${e}-`;t.startsWith(i)&&t.length>i.length&&n.push({agentId:e,channel:t.slice(i.length)})}return n.push({agentId:null,channel:t}),n}async function m(){let e=await l(),t=new Map;for(let n of e){let e=JSON.stringify([n.agentId,n.channel]),i=t.get(e);i?(i.latest=Math.max(i.latest,n.mtimeMs),i.count+=1):t.set(e,{agentId:n.agentId,channel:n.channel,latest:n.mtimeMs,count:1})}let n=[];for(let{agentId:e,channel:i,latest:s,count:o}of t.values()){let t=new Date(s);n.push({name:u(e,i),path:d(e,i),isDirectory:!0,lastModified:t,lastModifiedFormatted:(0,r.formatDate)(t),cli:["openclaw"],sessionCount:o})}return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}async function p(e){let t=f(e);if(0===t.length)return{cwd:null,sessions:[]};let n=await l(),i=e=>n.filter(t=>t.channel===e.channel&&(null===e.agentId||t.agentId===e.agentId)),s=t[0],o=i(s);if(0===o.length)for(let e of t.slice(1)){let t=i(e);if(t.length>0){s=e,o=t;break}}let{agentId:a,channel:c}=s;return{cwd:null===a?`openclaw:${c}`:d(a,c),sessions:o.map(e=>{let t=new Date(e.mtimeMs);return{name:e.label??e.chatId??e.sessionId,path:e.sessionId,lastModified:t,lastModifiedFormatted:(0,r.formatDate)(t),sessionId:e.sessionId,cli:"openclaw",channelId:e.chatId,channelType:e.chatType}})}}let y=(0,i.runtimeCache)(m,2),g=(0,i.runtimeCache)(e=>p(e),2,{maxSize:50});e.s(["getCachedOpenClawProjects",0,y,"getCachedOpenClawSessions",0,c,"getCachedOpenClawSessionsByEncodedName",0,g,"getOpenClawProjects",0,m,"getOpenClawSessions",0,l,"getOpenClawSessionsByEncodedName",0,p,"openClawProjectName",0,u,"openClawProjectNameCandidates",0,f,"openClawProjectPath",0,d,"parseOpenClawProjectName",0,function(e){return f(e)[0]??null}])},64199,e=>{"use strict";var t=e.i(12714),n=e.i(2157),i=e.i(60526),s=e.i(50227),r=e.i(83534),o=e.i(54214),a=e.i(67405),l=e.i(96878);let c=/^[0-9a-fA-F-]{36}$/;function u(){return process.env.OPENCLAW_STATE_DIR||process.env.OPENCLAW_HOME||(0,s.join)((0,i.homedir)(),".openclaw")}function d(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function f(e){return"string"==typeof e?e:Array.isArray(e)?e.map(e=>d(e)&&"string"==typeof e.text?e.text:"").filter(Boolean).join("\n"):""}function m(e,t="session"){let n=[],i=new Map,s=new Map,r=Date.now();for(let l=0;l<e.length;l++){let c=e[l];if(!d(c)||"message"!==c.type)continue;let u=d(c.message)?c.message:void 0;if(!u)continue;let m="string"==typeof u.role?u.role:"system",p=function(e,t){if("number"==typeof e&&Number.isFinite(e)){if(e>1e12)return new Date(e);if(e>1e9)return new Date(1e3*e)}if("string"==typeof e){let t=Date.parse(e);if(!Number.isNaN(t))return new Date(t)}return new Date(t)}(c.timestamp??u.timestamp,r+l),y=p.toISOString(),g={uuid:null!=c.id?String(c.id):`openclaw-${l}`,parentUuid:null!=c.parentId?String(c.parentId):null},h=(0,o.baseEntry)(g,y,p,t);if("user"===m){n.push({type:"user",...h,message:{role:"user",content:f(u.content)}});continue}if("assistant"===m){let e=[],t=u.content;if(Array.isArray(t)){for(let n of t)if(d(n)){if("text"===n.type&&"string"==typeof n.text)e.push({type:"text",text:n.text});else if("toolCall"===n.type){let t="string"==typeof n.id?n.id:`${String(n.name??"tool")}-${e.length}`,r={type:"tool_use",id:t,name:"string"==typeof n.name?n.name:"tool",input:d(n.arguments)?n.arguments:{}};e.push(r),i.set(t,r),s.set(t,p.getTime())}}}else{let n=f(t);n&&e.push({type:"text",text:n})}if(0===e.length)continue;n.push({type:"assistant",...h,message:{role:"assistant",content:e,model:"string"==typeof u.model?u.model:void 0}});continue}if("toolResult"===m){let e="string"==typeof u.toolCallId?u.toolCallId:void 0,t=e?i.get(e):void 0;if(t){let n=d(u.details)?u.details:void 0,i=e&&s.get(e)||p.getTime(),r=n&&"number"==typeof n.durationMs?n.durationMs:Math.max(0,p.getTime()-i);t.result={timestamp:y,timestampFormatted:(0,o.formatTimestamp)(p),content:f(u.content),durationMs:r,durationFormatted:(0,a.formatDuration)(r)};continue}}n.push({type:"system",...h,raw:g})}return n.sort((e,t)=>e.timestampMs-t.timestampMs),n}function p(){try{return(0,n.readdirSync)((0,s.join)(u(),"agents"),{withFileTypes:!0}).filter(e=>e.isDirectory()&&!e.name.startsWith(".")).map(e=>e.name).sort()}catch{return[]}}function y(){let e,t=(0,s.join)(u(),"agents"),i=[];try{e=(0,n.readdirSync)(t,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>e.name)}catch{return i}for(let r of e){let e,o=(0,s.join)(t,r,"sessions");try{e=(0,n.readdirSync)(o)}catch{continue}for(let t of e){if(!t.endsWith(".jsonl")||t.endsWith(".trajectory.jsonl"))continue;let e=t.slice(0,-6);if(!c.test(e))continue;let a=(0,s.join)(o,t);try{let t=(0,n.statSync)(a);i.push({agentId:r,sessionId:e,transcriptPath:a,mtimeMs:t.mtimeMs,sizeBytes:t.size})}catch{}}}return i}function g(e){if(!c.test(e))return null;for(let t of y())if(t.sessionId===e)return t.transcriptPath;return null}async function h(e){let n,i;if(!c.test(e))return null;let s=await (0,l.readOpenClawSqliteTranscript)(u(),p(),e);if(s){let e,t=m(s.rawLines,"session");for(let t of s.rawLines)if("session"===t.type&&"string"==typeof t.cwd&&t.cwd.length>0){e=t.cwd;break}return{entries:t,rawLines:s.rawLines,cwd:e,filePath:s.filePath}}let r=g(e);if(!r)return null;try{n=await (0,t.readFile)(r,"utf-8")}catch{return null}let a=(0,o.parseRawLines)(n,"session"),f=m(a,"session");for(let e of a)if(d(e)&&"session"===e.type&&"string"==typeof e.cwd&&e.cwd.length>0){i=e.cwd;break}return{entries:f,rawLines:a,cwd:i,filePath:r}}(0,r.runtimeCache)(e=>h(e),2,{maxSize:50}),e.s(["findOpenClawTranscript",0,g,"getOpenClawSessionLog",0,h,"listOpenClawAgents",0,p,"listOpenClawTranscripts",0,y,"openclawHome",0,u])},40759,e=>{"use strict";var t=e.i(60526),n=e.i(50227),i=e.i(79708);async function s(e){let s=await (0,i.openSqliteReadonly)(function(){if(process.env.OPENCODE_DB_PATH)return process.env.OPENCODE_DB_PATH;let e=process.env.OPENCODE_HOME??(0,n.join)((0,t.homedir)(),".local","share","opencode");return(0,n.join)(e,"opencode.db")}());if(!s)return null;try{return e(s)}catch{return null}finally{try{s.close()}catch{}}}async function r(e,t=[]){return s(n=>n.query(e,t))}e.s(["queryOpenCodeDb",0,r,"withOpenCodeDb",0,s])},35435,e=>{"use strict";var t=e.i(40759),n=e.i(81580),i=e.i(83534),s=e.i(28557),r=e.i(40911);async function o(){return(0,t.queryOpenCodeDb)("SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session ORDER BY time_updated DESC LIMIT ?",[1e3])}async function a(){let e=await (0,t.withOpenCodeDb)(e=>({sessions:e.query("SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session ORDER BY time_updated DESC LIMIT ?",[1e3]),projects:e.query("SELECT id, worktree, vcs, name, time_created, time_updated FROM project")}));return{sessions:e?.sessions??null,projects:e?.projects??null}}async function l(){let{sessions:e,projects:t}=await a();if(null===e&&null===t)return[];let i=new Map;for(let e of t??[])i.set(e.id,e);let r=new Map;for(let t of e??[]){if(!t.project_id)continue;let e=r.get(t.project_id);e||(e={rows:[],latest:0},r.set(t.project_id,e)),e.rows.push(t),t.time_updated>e.latest&&(e.latest=t.time_updated)}let o=new Set,l=[];for(let[e,t]of r){o.add(e);let r=i.get(e),a=r?.worktree??t.rows[0]?.directory??null,c=a?(0,n.encodeFolderName)(a):e,u=a??"",d=new Date(Math.max(t.latest,r?.time_updated??0));l.push({name:c,path:u,isDirectory:!0,lastModified:d,lastModifiedFormatted:(0,s.formatDate)(d),cli:["opencode"]})}for(let e of t??[]){if(o.has(e.id))continue;let t=e.worktree??"",i=t?(0,n.encodeFolderName)(t):e.id,r=new Date(e.time_updated);l.push({name:i,path:t,isDirectory:!0,lastModified:r,lastModifiedFormatted:(0,s.formatDate)(r),cli:["opencode"]})}return l.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),l}async function c(e){let t=await o();return t?t.filter(t=>t.directory===e).map(e=>{let t=new Date(e.time_updated);return{name:e.title??e.slug??e.id,path:`opencode://${e.id}`,lastModified:t,lastModifiedFormatted:(0,s.formatDate)(t),sessionId:e.id,cli:"opencode"}}):[]}async function u(e){let t,i;try{({projects:t,sessions:i}=await a())}catch(e){return(0,r.logWarn)("Failed to read OpenCode DB:",e),{cwd:null,sessions:[]}}if(!t||!i)return{cwd:null,sessions:[]};let o=t.find(t=>t.worktree&&(0,n.encodeFolderName)(t.worktree)===e);if(!o||!o.worktree)return{cwd:null,sessions:[]};let l=i.filter(e=>e.project_id===o.id);return{cwd:o.worktree,sessions:l.map(e=>{let t=new Date(e.time_updated);return{name:e.title??e.slug??e.id,path:`opencode://${e.id}`,lastModified:t,lastModifiedFormatted:(0,s.formatDate)(t),sessionId:e.id,cli:"opencode"}})}}let d=(0,i.runtimeCache)(l,30),f=(0,i.runtimeCache)(e=>c(e),30,{maxSize:50}),m=(0,i.runtimeCache)(e=>u(e),30,{maxSize:50});e.s(["getCachedOpenCodeProjects",0,d,"getCachedOpenCodeSessionsByEncodedName",0,m,"getCachedOpenCodeSessionsForCwd",0,f,"getOpenCodeProjects",0,l,"getOpenCodeSessionsByEncodedName",0,u,"getOpenCodeSessionsForCwd",0,c])},99440,e=>{"use strict";var t=e.i(40759),n=e.i(83534),i=e.i(54214),s=e.i(67405);function r(e){try{return e()}catch{return null}}function o(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function a(e){if("string"!=typeof e||0===e.length)return null;try{let t=JSON.parse(e);return o(t)?t:null}catch{return null}}async function l(e){if(!e||!/^[A-Za-z0-9_-]+$/.test(e))return null;let n=await (0,t.withOpenCodeDb)(t=>({sessions:r(()=>t.query("SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session WHERE id = ?",[e])),messages:r(()=>t.query("SELECT id, session_id, time_created, time_updated, data FROM message WHERE session_id = ? ORDER BY time_created ASC",[e])),parts:r(()=>t.query("SELECT id, message_id, session_id, time_created, time_updated, data FROM part WHERE session_id = ? ORDER BY time_created ASC",[e]))})),l=n?.sessions??null;if(!l||0===l.length)return null;let c=l[0],u=n?.messages??null,d=n?.parts??null;if(!u)return{entries:[],rawLines:[],cwd:c.directory??void 0,filePath:`opencode://${e}`};let f=new Map;for(let e of d??[]){let t=f.get(e.message_id);t||(t=[],f.set(e.message_id,t)),t.push(e)}let m=[],p=[];for(let e of u){let t=f.get(e.id)??[];m.push(function(e,t,n){let r=a(e.data)??{},l="string"==typeof r.role?r.role:"system",c=new Date(e.time_created),u=c.toISOString(),d={uuid:e.id,parentUuid:null},f=(0,i.baseEntry)(d,u,c,n),m=[],p="";for(let e of t){let t=a(e.data);if(!t)continue;let n="string"==typeof t.type?t.type:"unknown";if("text"===n){let e="string"==typeof t.text?t.text:"string"==typeof t.content?t.content:"";e&&(m.push({type:"text",text:e}),p+=(p?"\n":"")+e);continue}if("tool"===n){let n="string"==typeof t.tool?t.tool:"string"==typeof t.name?t.name:"tool",r=o(t.state)?t.state:null,a=r&&o(r.input)?r.input:o(t.input)?t.input:o(t.args)?t.args:{},l={type:"tool_use",id:e.id,name:n,input:a},c=r&&"string"==typeof r.status?r.status:"";if(r&&("completed"===c||"error"===c)){let t=("error"===c&&"string"==typeof r.error?r.error:null)??r.output,n="string"==typeof t?t:null!=t?JSON.stringify(t):"",a=o(r.time)?r.time:{},u="number"==typeof a.start?a.start:e.time_created,d="number"==typeof a.end?a.end:e.time_updated,f=Math.max(0,d-u),m=new Date(d);l.result={timestamp:m.toISOString(),timestampFormatted:(0,i.formatTimestamp)(m),content:n,durationMs:f,durationFormatted:(0,s.formatDuration)(f)}}m.push(l);continue}m.push({type:"text",text:`[opencode ${n}]`})}if("user"===l)return{...f,type:"user",message:{role:"user",content:p}};if("assistant"===l){let e=o(r.model)?r.model:null,t=e&&"string"==typeof e.modelID?e.modelID:void 0;return{...f,type:"assistant",message:{role:"assistant",content:m,model:t}}}return{...f,type:"system",raw:{id:e.id,role:l,parts:m}}}(e,t,"session"));let n=a(e.data);p.push({id:e.id,session_id:e.session_id,time_created:e.time_created,data:n??e.data})}return{entries:m,rawLines:p,cwd:c.directory??void 0,filePath:`opencode://${e}`}}async function c(e){if(!e||!/^[A-Za-z0-9_-]+$/.test(e))return null;let n=await (0,t.withOpenCodeDb)(t=>({sessions:r(()=>t.query("SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session WHERE id = ?",[e])),messages:r(()=>t.query("SELECT id, session_id, time_created, time_updated, data FROM message WHERE session_id = ? ORDER BY time_created ASC",[e])),parts:r(()=>t.query("SELECT id, message_id, session_id, time_created, time_updated, data FROM part WHERE session_id = ? ORDER BY time_created ASC",[e]))})),i=n?.sessions??null;if(!i||0===i.length)return null;let s=n?.messages??null,o=n?.parts??null;return null===s||null===o?null:{session:i[0],messages:s.map(e=>({...e,data:a(e.data)??e.data})),parts:o.map(e=>({...e,data:a(e.data)??e.data}))}}(0,n.runtimeCache)(e=>l(e),30,{maxSize:50}),e.s(["getOpenCodeSessionExport",0,c,"getOpenCodeSessionLog",0,l])},19791,e=>{"use strict";var t=e.i(12714),n=e.i(60526),i=e.i(50227),s=e.i(81580),r=e.i(83534),o=e.i(71809),a=e.i(28557),l=e.i(40911);let c=/^[\d-]+T[\d-]+Z_([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\.jsonl$/i;async function u(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function d(e){try{return(await (0,t.stat)(e)).mtime}catch{return null}}async function f(e){let n;try{n=await (0,t.readFile)(e,"utf-8")}catch{return null}let i=n.indexOf("\n")>=0?n.slice(0,n.indexOf("\n")):n;if(!i)return null;try{let e=JSON.parse(i);if("session"!==e.type||"string"!=typeof e.cwd||0===e.cwd.length)return null;return e.cwd}catch{return null}}async function m(){let e=process.env.PI_SESSIONS_DIR||(0,i.join)((0,n.homedir)(),".pi","agent","sessions"),t=await u(e);if(!t)return[];let s=[];for(let n of t){if(!n.isDirectory())continue;let t=(0,i.join)(e,n.name),r=await u(t);if(r)for(let e of r){if(!e.isFile())continue;let n=c.exec(e.name);n&&s.push({sessionId:n[1],filePath:(0,i.join)(t,e.name)})}}return 0===s.length?[]:(await (0,o.batchAll)(s.map(e=>async()=>{let t=await f(e.filePath);if(!t)return null;let n=await d(e.filePath);return n?{filePath:e.filePath,sessionId:e.sessionId,cwd:t,fileMtime:n}:null}),16)).filter(e=>"fulfilled"===e.status).map(e=>e.value).filter(e=>null!==e)}let p=(0,r.runtimeCache)(m,30);async function y(){let e;try{e=await p()}catch(e){return(0,l.logWarn)("Failed to scan Pi sessions:",e),[]}let t=new Map;for(let n of e){let e=t.get(n.cwd);(!e||n.fileMtime.getTime()>e.latest.getTime())&&t.set(n.cwd,{latest:n.fileMtime,cwd:n.cwd})}let n=[];for(let{cwd:e,latest:i}of t.values())n.push({name:(0,s.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:i,lastModifiedFormatted:(0,a.formatDate)(i),cli:["pi"]});return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}function g(e){let t=e.map(e=>({name:e.sessionId,path:e.filePath,lastModified:e.fileMtime,lastModifiedFormatted:(0,a.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"pi"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function h(e){let t;try{t=await p()}catch(e){return(0,l.logWarn)("Failed to scan Pi sessions:",e),[]}return g(t.filter(t=>t.cwd===e))}async function w(e){let t;try{t=await p()}catch(e){return(0,l.logWarn)("Failed to scan Pi sessions:",e),{cwd:null,sessions:[]}}let n=t.filter(t=>(0,s.encodeFolderName)(t.cwd)===e),i=Array.from(new Set(n.map(e=>e.cwd)));return 1!==i.length?{cwd:null,sessions:[]}:{cwd:i[0],sessions:g(n)}}let _=(0,r.runtimeCache)(y,30),S=(0,r.runtimeCache)(e=>h(e),30,{maxSize:50}),v=(0,r.runtimeCache)(e=>w(e),30,{maxSize:50});e.s(["getCachedPiProjects",0,_,"getCachedPiSessionsByEncodedName",0,v,"getCachedPiSessionsForCwd",0,S,"getPiProjects",0,y,"getPiSessionsByEncodedName",0,w,"getPiSessionsForCwd",0,h])},85116,e=>{"use strict";var t=e.i(2157),n=e.i(12714),i=e.i(50227),s=e.i(60526),r=e.i(83534),o=e.i(54214),a=e.i(67405);let l=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,c=/^[\d-]+T[\d-]+Z_([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\.jsonl$/i;function u(e){let n;if(!l.test(e))return null;let r=(0,i.resolve)(process.env.PI_SESSIONS_DIR||(0,i.join)((0,s.homedir)(),".pi","agent","sessions"));try{n=(0,t.readdirSync)(r)}catch{return null}for(let s of n){let n,o=(0,i.resolve)(r,s);if(o.startsWith(`${r}${i.sep}`)){try{n=(0,t.readdirSync)(o)}catch{continue}for(let s of n){let n=c.exec(s);if(!n||n[1].toLowerCase()!==e.toLowerCase())continue;let r=(0,i.resolve)(o,s);if(r.startsWith(`${o}${i.sep}`)&&(0,t.existsSync)(r))return r}}}return null}function d(e){if(!Array.isArray(e))return"";let t=[];for(let n of e)n?.type==="text"&&"string"==typeof n.text&&t.push(n.text);return t.join("\n\n")}async function f(e,t="session"){let n,i=e.split("\n").filter(e=>""!==e.trim()),s=[],r=[],l=!1,c=new Map,u=new Map;for(let e=0;e<i.length;e++){let f;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let m=i[e];try{f=JSON.parse(m)}catch{continue}let p={...f,_source:t};r.push(p);let y=f.timestamp;if(!y)continue;let g=new Date(y);if(Number.isNaN(g.getTime()))continue;let h=g.toISOString(),w=f.type;if("session"===w){"string"!=typeof f.cwd||n||(n=f.cwd);let e=l?"Session Resumed":"Session Started";l=!0,s.push({type:"queue-operation",...(0,o.baseEntry)(p,h,g,t),label:e});continue}if("message"===w&&f.message&&"object"==typeof f.message){let e=f.message.role,n=f.message.content;if("user"===e){let e=d(n);if(!e)continue;s.push({type:"user",...(0,o.baseEntry)(p,h,g,t),message:{role:"user",content:e}});continue}if("assistant"===e){let e=function(e,t){if(!Array.isArray(e))return[];let n=[];for(let i of e)if(i?.type==="text"&&"string"==typeof i.text&&i.text.length>0&&n.push({type:"text",text:i.text}),i?.type==="thinking"&&"string"==typeof i.thinking&&i.thinking.length>0&&n.push({type:"text",text:`[thinking] ${i.thinking}`}),i?.type==="toolCall"){let e="string"==typeof i.id&&i.id.length>0?i.id:`${"string"==typeof i.name?i.name:"tool"}-${n.length}`,s={type:"tool_use",id:e,name:"string"==typeof i.name?i.name:"tool",input:i.arguments&&"object"==typeof i.arguments&&!Array.isArray(i.arguments)?i.arguments:{}};n.push(s),t?.(s)}return n}(n,e=>{c.set(e.id,e),u.set(e.id,g.getTime())});if(0===e.length){s.push({type:"system",...(0,o.baseEntry)(p,h,g,t),raw:p});continue}s.push({type:"assistant",...(0,o.baseEntry)(p,h,g,t),message:{role:"assistant",content:e}});continue}if("toolResult"===e){let e=f.message.toolCallId,t="string"==typeof e?c.get(e):void 0;if(t){let i="string"==typeof e&&u.get(e)||g.getTime(),s=Math.max(0,g.getTime()-i);t.result={timestamp:h,timestampFormatted:(0,o.formatTimestamp)(g),content:d(n),durationMs:s,durationFormatted:(0,a.formatDuration)(s)};continue}}s.push({type:"system",...(0,o.baseEntry)(p,h,g,t),raw:p});continue}s.push({type:"system",...(0,o.baseEntry)(p,h,g,t),raw:p})}return s.length>500&&await new Promise(e=>setImmediate(e)),s.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:s,rawLines:r,cwd:n}}async function m(e){let t,i,s=u(e);if(!s)return null;try{t=await (0,n.readFile)(s,"utf-8")}catch{return null}try{i=await f(t,"session")}catch{return null}return{entries:i.entries,rawLines:i.rawLines,cwd:i.cwd,filePath:s}}(0,r.runtimeCache)(e=>m(e),60,{maxSize:50}),e.s(["findPiTranscript",0,u,"getPiSessionLog",0,m])},46501,e=>{"use strict";var t=e.i(10659),n=e.i(17694),i=e.i(24214),s=e.i(28067);let r=s.POSTHOG_API_KEY;async function o(){try{if(!(0,n.isTelemetryEnabled)()||globalThis.__FAILPROOFAI_POSTHOG__)return;let t=await e.A(78081),i=process.env.FAILPROOFAI_POSTHOG_KEY??r,s=process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com";globalThis.__FAILPROOFAI_POSTHOG__=new t.PostHog(i,{host:s,flushAt:1,flushInterval:1e4,requestTimeout:1e4,fetchRetryCount:3,fetchRetryDelay:3e3});let o=!1,a=()=>{o||(o=!0,globalThis.__FAILPROOFAI_POSTHOG__?.shutdown().catch(()=>{}))};process.on("beforeExit",a),process.on("SIGTERM",a),process.on("SIGINT",a)}catch(e){console.warn("[failproofai:telemetry] init failed:",e instanceof Error?e.message:e)}}e.s(["initTelemetry",0,o,"trackEvent",0,function(e,r){if(!(0,n.isTelemetryEnabled)())return;let o=globalThis.__FAILPROOFAI_POSTHOG__;o&&o.capture({distinctId:(0,t.getInstanceId)(),event:e,properties:{...r,$lib:"failproofai",failproofai_version:i.version,product:s.POSTHOG_PRODUCT}})}])},29095,e=>{"use strict";var t=e.i(2157),n=e.i(79857);function i(e,t){return!(e&&function(e){if(!Number.isInteger(e)||e<=0)return!1;try{return process.kill(e,0),!0}catch(e){return"EPERM"===e.code}}(e.pid))||t-e.startedAt>36e5}function s(e,n){let i=!1,s=()=>{if(i)return;i=!0,process.removeListener("exit",s);let o=r(e);if(!o||o.pid===n.pid)try{(0,t.unlinkSync)(e)}catch{}};return process.once("exit",s),{info:n,release:s}}function r(e){try{let n=JSON.parse((0,t.readFileSync)(e,"utf8"));if("number"!=typeof n?.pid||"number"!=typeof n?.startedAt)return null;return{pid:n.pid,startedAt:n.startedAt,source:n.source??"cli"}}catch{return null}}function o(e,n){let i=JSON.stringify(n),s=`${e}.${process.pid}.tmp`;try{(0,t.writeFileSync)(s,i,{mode:384})}catch{return!1}try{return(0,t.linkSync)(s,e),!0}catch(s){let n;if("EEXIST"===s.code)return!1;var r=e,o=i;try{return n=(0,t.openSync)(r,"wx",384),(0,t.writeSync)(n,o),!0}catch{return!1}finally{if(void 0!==n)try{(0,t.closeSync)(n)}catch{}}}finally{try{(0,t.unlinkSync)(s)}catch{}}}e.s(["acquireAuditLock",0,function(e,a=Date.now()){let l=(0,n.auditLockFile)(),c={pid:process.pid,startedAt:a,source:e};try{(0,t.mkdirSync)((0,n.failproofaiHome)(),{recursive:!0}),(0,t.mkdirSync)((0,n.runDir)(),{recursive:!0,mode:448})}catch{return{ok:!1,heldBy:null}}if(o(l,c))return{ok:!0,lock:s(l,c)};let u=r(l);if(!i(u,a))return{ok:!1,heldBy:u};try{(0,t.unlinkSync)(l)}catch{}return o(l,c)?{ok:!0,lock:s(l,c)}:{ok:!1,heldBy:r(l)}},"readActiveAuditLock",0,function(e=Date.now()){let t=r((0,n.auditLockFile)());return i(t,e)?null:t}])},47756,e=>{"use strict";var t=e.i(2157),n=e.i(94930),i=e.i(79857);function s(){return(0,i.auditDashboardFile)()}e.s(["readDashboardCache",0,function(){let e=s();if(!(0,t.existsSync)(e))return null;try{let n=(0,t.readFileSync)(e,"utf-8"),i=JSON.parse(n);if(!i||"object"!=typeof i||"string"!=typeof i.cachedAt||!i.params||"object"!=typeof i.params||!i.result||"object"!=typeof i.result||2!==i.schemaVersion||function(e,t=30){let n=new Date(e).getTime();return!!Number.isNaN(n)||Date.now()-n>6e4*t}(i.cachedAt,10080))return null;return i}catch{return null}},"writeDashboardCache",0,function(e,t){try{let i={schemaVersion:2,cachedAt:new Date().toISOString(),params:e,result:t};return(0,n.writeJsonAtomically)(s(),i),!0}catch{return!1}}])},97348,73136,49335,e=>{"use strict";var t=e.i(2157),n=e.i(50227),i=e.i(79857);let s={info:0,warn:1,error:2},r=(0,i.logsDir)(),o=!1,a="warn",l=!1,c=r;function u(e){return!function(){if(o)return;o=!0;let e=(process.env.FAILPROOFAI_LOG_LEVEL??"").toLowerCase();("info"===e||"warn"===e||"error"===e)&&(a=e);let t=(process.env.FAILPROOFAI_HOOK_LOG_FILE??"").trim();t&&(l=!0,"1"!==t&&"true"!==t&&(c=t))}(),s[e]>=s[a]}function d(e,t){process.stderr.write(`[failproofai:hook] ${e} ${t}
|
|
21
|
-
`)}function f(e,i){if(l)try{(0,t.existsSync)(c)||(0,t.mkdirSync)(c,{recursive:!0});let s=(0,n.join)(c,"hooks.log");try{if((0,t.statSync)(s).size>=524288){let e=`hooks-${Date.now()}.log`;(0,t.renameSync)(s,(0,n.join)(c,e))}}catch{}let r=new Date().toISOString(),o=`[${r}] ${e} ${i}
|
|
22
|
-
`;(0,t.appendFileSync)(s,o,"utf-8")}catch{}}function m(e){u("warn")&&(d("WARN",e),f("WARN",e))}e.s(["hookLogError",0,function(e){u("error")&&(d("ERROR",e),f("ERROR",e))},"hookLogInfo",0,function(e){u("info")&&(d("INFO",e),f("INFO",e))},"hookLogWarn",0,m],97348);var p=e.i(60526);function y(e){if(!(0,t.existsSync)(e))return{};try{let n=(0,t.readFileSync)(e,"utf8");return JSON.parse(n)}catch(t){return m(`failed to parse config at ${e}: ${t instanceof Error?t.message:String(t)}`),{}}}e.s(["readMergedHooksConfig",0,function(e){let s=function(e){let i=(0,p.homedir)(),s=(0,n.resolve)(e);for(;s!==i;){let e=(0,n.resolve)(s,".failproofai");try{if((0,t.statSync)(e).isDirectory())return s}catch{}let i=(0,n.dirname)(s);if(i===s)break;s=i}return(0,n.resolve)(e)}(e??process.cwd()),r=(0,n.resolve)(s,".failproofai","policies-config.json"),o=(0,n.resolve)(s,".failproofai","policies-config.local.json"),a=(0,i.globalPolicyConfigFile)(),l=y(r),c=y(o),u=y(a),d=new Set([...l.enabledPolicies??[],...c.enabledPolicies??[],...u.enabledPolicies??[]]),f={};for(let e of[l,c,u])if(e.policyParams)for(let[t,n]of Object.entries(e.policyParams))t in f||(f[t]=n);let m=[l,c,u].map(e=>void 0!==e.customPoliciesPaths?e.customPoliciesPaths:void 0!==e.customPoliciesPath?[e.customPoliciesPath]:void 0).find(e=>void 0!==e),g=new Set([...l.disabledCustomPolicies??[],...c.disabledCustomPolicies??[],...u.disabledCustomPolicies??[]]),h=l.customPoliciesEnabled??c.customPoliciesEnabled??u.customPoliciesEnabled,w=l.llm??c.llm??u.llm;return{enabledPolicies:[...d],...Object.keys(f).length>0?{policyParams:f}:{},...void 0!==m?{customPoliciesPaths:m}:{},...g.size?{disabledCustomPolicies:[...g]}:{},...void 0!==h?{customPoliciesEnabled:h}:{},...void 0!==w?{llm:w}:{}}}],73136);var g=e.i(24214),h=e.i(28067),w=e.i(17694);let _=h.POSTHOG_API_KEY,S=new Set;async function v(e,t,n){let i=JSON.stringify({api_key:process.env.FAILPROOFAI_POSTHOG_KEY??_,event:t,distinct_id:e,properties:{...n,$lib:"failproofai-hooks",failproofai_version:g.version,product:h.POSTHOG_PRODUCT}});try{await fetch(process.env.FAILPROOFAI_POSTHOG_HOST?`${process.env.FAILPROOFAI_POSTHOG_HOST}/capture/`:"https://us.i.posthog.com/capture/",{method:"POST",headers:{"Content-Type":"application/json"},body:i,signal:AbortSignal.timeout(5e3)})}catch{}}async function M(e,t,n){if(!(0,w.isTelemetryEnabled)())return;let i=v(e,t,n);S.add(i),i.finally(()=>S.delete(i)),await i}e.s(["trackHookEvent",0,M],49335)}];
|
|
23
|
-
|
|
24
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__112b4go._.js.map
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
module.exports=[66680,(e,t,n)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},2157,(e,t,n)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,n)=>{t.exports=e.x("node:os",()=>require("node:os"))},54214,67405,e=>{"use strict";var t=e.i(24868),n=e.i(14747),i=e.i(81580),s=e.i(56936);async function r(e,i,s,r){let a=`agent-${r}.jsonl`;for(let r of[(0,n.join)(e,i,a),(0,n.join)(e,i,s,a),(0,n.join)(e,i,s,"subagents",a)])if(!(0,n.relative)(e,r).startsWith(".."))try{return await (0,t.access)(r),r}catch(e){if("ENOENT"===e.code)continue;break}return null}var a=e.i(83534),o=e.i(71809),l=e.i(28557);function u(e){if(e<1e3)return`${e}ms`;let t=Math.round(e/100);if(t<600)return`${(t/10).toFixed(1)}s`;let n=Math.round(e/1e3);if(n<3600){let e=Math.floor(n/60);return`${e}m ${n%60}s`}let i=Math.round(e/6e4),s=Math.floor(i/60);return`${s}h ${i%60}m`}function c(e){let t=(0,l.formatDate)(e),n=e.getMilliseconds().toString().padStart(3,"0");return`${t}.${n}`}function p(e,t,n,i){return{_source:i,uuid:e.uuid||"",parentUuid:e.parentUuid??null,timestamp:t,timestampMs:n.getTime(),timestampFormatted:c(n)}}async function f(e,t){let n=e.split("\n").filter(e=>""!==e.trim()),i=new Map,s=[],r=[],a=new Set,o=!1;for(let e=0;e<n.length;e++){let l;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let u=n[e];try{l=JSON.parse(u)}catch{continue}let c={...l,_source:t};r.push(c);let f=l.type,d=l.timestamp;if(!d)continue;let m=new Date(d),y=m.getTime();if("user"===f){let e=l.message;if(Array.isArray(e?.content)){let t=e.content;if(t.some(e=>"tool_result"===e.type)){let e=l.toolUseResult,n="string"==typeof e?.agentId?e.agentId:void 0;for(let e of(n&&/^[a-f0-9]+$/.test(n)&&a.add(n),t)){if("tool_result"!==e.type)continue;let t=e.tool_use_id;if(!t)continue;let{text:s,images:r}=function(e){let t=e.content;if("string"==typeof t)return{text:t};if(Array.isArray(t)){let e=t.filter(e=>"text"===e.type).map(e=>e.text),n=t.filter(e=>"image"===e.type).map(e=>{let t=e.source;return{base64:t.data,mediaType:t.media_type}}).filter(e=>e.base64&&e.mediaType);return{text:e.length>0?e.join("\n"):void 0,images:n.length>0?n:void 0}}return{}}(e);i.set(t,{timestamp:d,timestampMs:y,content:s,images:r,agentId:n})}continue}}let n="string"==typeof e?.content?e.content:"";s.push({type:"user",...p(l,d,m,t),message:{role:"user",content:n}});continue}if("assistant"===f){let e=l.message,n=[];if(Array.isArray(e?.content)&&(n=e.content.filter(e=>["text","tool_use","thinking"].includes(e.type)).map(e=>{if("text"===e.type)return{type:"text",text:e.text};if("tool_use"===e.type){let t=e.input;return{type:"tool_use",id:e.id,name:e.name,input:e.input??{},..."Task"===e.name&&t?{subagentType:t.subagent_type,subagentDescription:t.description}:{}}}return{type:"thinking",thinking:e.thinking,signature:e.signature}})),0===n.length)continue;s.push({type:"assistant",...p(l,d,m,t),message:{role:"assistant",content:n,model:e?.model}});continue}if("file-history-snapshot"===f||"progress"===f||"system"===f){s.push({type:f,...p(l,d,m,t),raw:{...l}});continue}if("queue-operation"===f){let e=o?"Session Resumed":"Session Started";o=!0,s.push({type:"queue-operation",...p(l,d,m,t),label:e});continue}}let l=0;for(let e of s)if("assistant"===e.type)for(let t of(++l%200==0&&await new Promise(e=>setImmediate(e)),e.message.content)){if("tool_use"!==t.type)continue;let n=i.get(t.id);if(!n)continue;let s=new Date(n.timestamp),r=Math.max(0,n.timestampMs-e.timestampMs);t.result={timestamp:n.timestamp,timestampFormatted:c(s),content:n.content,images:n.images,durationMs:r,durationFormatted:u(r)},n.agentId&&(t.subagentId=n.agentId)}return s.length>500&&await new Promise(e=>setImmediate(e)),s.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:s,rawLines:r,subagentIds:Array.from(a)}}async function d(e,t="session"){return(await f(e,t)).entries}async function m(e,a){let l=(0,s.resolveProjectPath)(e),u=(0,i.getClaudeProjectsPath)(),c=(0,n.join)(l,`${a}.jsonl`),p=await (0,t.readFile)(c,"utf-8"),{entries:d,rawLines:m,subagentIds:y}=await f(p,"session");if(0===y.length)return{entries:d,rawLines:m,subagentIds:[]};let h=await (0,o.batchAll)(y.map(n=>async()=>{let i=`agent-${n}`,s=await r(u,e,a,n);if(!s)return null;let o=await (0,t.readFile)(s,"utf-8"),{entries:l,rawLines:c}=await f(o,i);return{entries:l,rawLines:c}}),4),g=[...d],w=[...m];for(let e of h)"fulfilled"===e.status&&e.value&&(g.push(...e.value.entries),w.push(...e.value.rawLines));return g.length>500&&await new Promise(e=>setImmediate(e)),g.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:g,rawLines:w,subagentIds:y}}e.s(["formatDuration",0,u],67405),(0,a.runtimeCache)((e,t)=>m(e,t),60,{maxSize:50}),e.s(["baseEntry",0,p,"formatTimestamp",0,c,"parseLogContent",0,d,"parseRawLines",0,function(e,t){return e.split("\n").filter(e=>""!==e.trim()).flatMap(e=>{try{let n=JSON.parse(e);return void 0!==t&&(n._source=t),[n]}catch{return[]}})}],54214)},96878,e=>{"use strict";var t=e.i(2157),n=e.i(50227),i=e.i(79708);function s(e){return"string"==typeof e&&e.length>0?e:void 0}function r(e){try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:void 0}catch{return}}function a(e,t){return`openclaw-sqlite://${encodeURIComponent(e)}/${t}`}function o(e,i){let s=[];for(let r of i){let i=(0,n.join)(e,"agents",r,"agent","openclaw-agent.sqlite");(0,t.existsSync)(i)&&s.push({agentId:r,dbPath:i})}return s}async function l(e,t){let n=[];for(let{agentId:l,dbPath:u}of o(e,t)){let e=await (0,i.openSqliteReadonly)(u);if(e)try{let t;try{t=e.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 i=function(e){let t,n=new Map;try{t=e.query(`SELECT current_session_id, entry_json, label, display_name
|
|
13
|
-
FROM session_nodes`)}catch{return n}for(let e of t){let t=r(e.entry_json)??{},i=t.origin&&"object"==typeof t.origin&&!Array.isArray(t.origin)?t.origin:{};n.set(e.current_session_id,{channel:s(t.lastChannel)??s(i.provider)??s(i.surface),label:s(e.label)??s(e.display_name)??s(t.displayName)??s(i.label),chatId:s(t.lastTo)??s(i.from),chatType:s(t.chatType)??s(i.chatType)})}return n}(e),o=function(e){let t,n=new Map;try{t=e.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 n}for(let e of t)n.has(e.session_id)||n.set(e.session_id,{channel:s(e.channel),label:s(e.label),chatId:s(e.delivery_target)??s(e.peer_id),chatType:s(e.kind)});return n}(e);for(let e of t){let t=i.get(e.session_id),r=o.get(e.session_id);n.push({sessionId:e.session_id,agentId:l,dbPath:u,transcriptPath:a(l,e.session_id),mtimeMs:Math.max(Number(e.updated_at)||0,Number(e.transcript_updated_at)||0,Number(e.ended_at)||0,Number(e.event_updated_at)||0),sizeBytes:Number(e.size_bytes)||0,channel:s(e.channel)??r?.channel??t?.channel??"local",label:s(e.display_name)??r?.label??t?.label,chatId:r?.chatId??t?.chatId,chatType:s(e.chat_type)??r?.chatType??t?.chatType})}}finally{e.close()}}return n}async function u(e,t,n){for(let{agentId:s,dbPath:l}of o(e,t)){let e=await (0,i.openSqliteReadonly)(l);if(e)try{let t;try{t=e.query(`SELECT event_json
|
|
18
|
-
FROM transcript_events
|
|
19
|
-
WHERE session_id = ?
|
|
20
|
-
ORDER BY seq ASC`,[n])}catch{continue}if(0===t.length)continue;let i=t.map(e=>e.event_json),o=i.map(r).filter(e=>void 0!==e);return{agentId:s,dbPath:l,filePath:a(s,n),rawLines:o,eventJsonLines:i}}finally{e.close()}}return null}e.s(["listOpenClawSqliteSessions",0,l,"readOpenClawSqliteTranscript",0,u])},64199,e=>{"use strict";var t=e.i(12714),n=e.i(2157),i=e.i(60526),s=e.i(50227),r=e.i(83534),a=e.i(54214),o=e.i(67405),l=e.i(96878);let u=/^[0-9a-fA-F-]{36}$/;function c(){return process.env.OPENCLAW_STATE_DIR||process.env.OPENCLAW_HOME||(0,s.join)((0,i.homedir)(),".openclaw")}function p(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function f(e){return"string"==typeof e?e:Array.isArray(e)?e.map(e=>p(e)&&"string"==typeof e.text?e.text:"").filter(Boolean).join("\n"):""}function d(e,t="session"){let n=[],i=new Map,s=new Map,r=Date.now();for(let l=0;l<e.length;l++){let u=e[l];if(!p(u)||"message"!==u.type)continue;let c=p(u.message)?u.message:void 0;if(!c)continue;let d="string"==typeof c.role?c.role:"system",m=function(e,t){if("number"==typeof e&&Number.isFinite(e)){if(e>1e12)return new Date(e);if(e>1e9)return new Date(1e3*e)}if("string"==typeof e){let t=Date.parse(e);if(!Number.isNaN(t))return new Date(t)}return new Date(t)}(u.timestamp??c.timestamp,r+l),y=m.toISOString(),h={uuid:null!=u.id?String(u.id):`openclaw-${l}`,parentUuid:null!=u.parentId?String(u.parentId):null},g=(0,a.baseEntry)(h,y,m,t);if("user"===d){n.push({type:"user",...g,message:{role:"user",content:f(c.content)}});continue}if("assistant"===d){let e=[],t=c.content;if(Array.isArray(t)){for(let n of t)if(p(n)){if("text"===n.type&&"string"==typeof n.text)e.push({type:"text",text:n.text});else if("toolCall"===n.type){let t="string"==typeof n.id?n.id:`${String(n.name??"tool")}-${e.length}`,r={type:"tool_use",id:t,name:"string"==typeof n.name?n.name:"tool",input:p(n.arguments)?n.arguments:{}};e.push(r),i.set(t,r),s.set(t,m.getTime())}}}else{let n=f(t);n&&e.push({type:"text",text:n})}if(0===e.length)continue;n.push({type:"assistant",...g,message:{role:"assistant",content:e,model:"string"==typeof c.model?c.model:void 0}});continue}if("toolResult"===d){let e="string"==typeof c.toolCallId?c.toolCallId:void 0,t=e?i.get(e):void 0;if(t){let n=p(c.details)?c.details:void 0,i=e&&s.get(e)||m.getTime(),r=n&&"number"==typeof n.durationMs?n.durationMs:Math.max(0,m.getTime()-i);t.result={timestamp:y,timestampFormatted:(0,a.formatTimestamp)(m),content:f(c.content),durationMs:r,durationFormatted:(0,o.formatDuration)(r)};continue}}n.push({type:"system",...g,raw:h})}return n.sort((e,t)=>e.timestampMs-t.timestampMs),n}function m(){try{return(0,n.readdirSync)((0,s.join)(c(),"agents"),{withFileTypes:!0}).filter(e=>e.isDirectory()&&!e.name.startsWith(".")).map(e=>e.name).sort()}catch{return[]}}function y(){let e,t=(0,s.join)(c(),"agents"),i=[];try{e=(0,n.readdirSync)(t,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>e.name)}catch{return i}for(let r of e){let e,a=(0,s.join)(t,r,"sessions");try{e=(0,n.readdirSync)(a)}catch{continue}for(let t of e){if(!t.endsWith(".jsonl")||t.endsWith(".trajectory.jsonl"))continue;let e=t.slice(0,-6);if(!u.test(e))continue;let o=(0,s.join)(a,t);try{let t=(0,n.statSync)(o);i.push({agentId:r,sessionId:e,transcriptPath:o,mtimeMs:t.mtimeMs,sizeBytes:t.size})}catch{}}}return i}function h(e){if(!u.test(e))return null;for(let t of y())if(t.sessionId===e)return t.transcriptPath;return null}async function g(e){let n,i;if(!u.test(e))return null;let s=await (0,l.readOpenClawSqliteTranscript)(c(),m(),e);if(s){let e,t=d(s.rawLines,"session");for(let t of s.rawLines)if("session"===t.type&&"string"==typeof t.cwd&&t.cwd.length>0){e=t.cwd;break}return{entries:t,rawLines:s.rawLines,cwd:e,filePath:s.filePath}}let r=h(e);if(!r)return null;try{n=await (0,t.readFile)(r,"utf-8")}catch{return null}let o=(0,a.parseRawLines)(n,"session"),f=d(o,"session");for(let e of o)if(p(e)&&"session"===e.type&&"string"==typeof e.cwd&&e.cwd.length>0){i=e.cwd;break}return{entries:f,rawLines:o,cwd:i,filePath:r}}(0,r.runtimeCache)(e=>g(e),2,{maxSize:50}),e.s(["findOpenClawTranscript",0,h,"getOpenClawSessionLog",0,g,"listOpenClawAgents",0,m,"listOpenClawTranscripts",0,y,"openclawHome",0,c])}];
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__1l71g3y._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[90624,e=>{"use strict";var t=e.i(2157),n=e.i(50227),a=e.i(83534),s=e.i(64199),l=e.i(28557),i=e.i(96878);function o(e){return"string"==typeof e&&e.length>0?e:void 0}async function r(){let e=(0,s.listOpenClawTranscripts)(),a=new Map,l=new Map;for(let i of e){let e=a.get(i.agentId);e||(e=function(e){let a,l=new Map,i=(0,n.join)((0,s.openclawHome)(),"agents",e,"sessions","sessions.json");try{a=JSON.parse((0,t.readFileSync)(i,"utf-8"))}catch{return l}if(!a||"object"!=typeof a)return l;for(let e of Object.values(a)){if(!e||"object"!=typeof e)continue;let t=o(e.sessionId);if(!t)continue;let n=e.origin&&"object"==typeof e.origin?e.origin:{},a="number"==typeof e.lastInteractionAt?e.lastInteractionAt:"number"==typeof e.updatedAt?e.updatedAt:void 0;l.set(t,{lastMs:a,channel:o(e.lastChannel)??o(n.provider)??o(n.surface),chatType:o(e.chatType)??o(n.chatType),label:o(n.label),chatId:o(e.lastTo)??o(n.from)})}return l}(i.agentId),a.set(i.agentId,e));let r=e.get(i.sessionId);l.set(`${i.agentId}\0${i.sessionId}`,{sessionId:i.sessionId,agentId:i.agentId,channel:r?.channel??"local",label:r?.label,chatType:r?.chatType,chatId:r?.chatId,transcriptPath:i.transcriptPath,mtimeMs:r?.lastMs??i.mtimeMs,sizeBytes:i.sizeBytes})}for(let e of(await (0,i.listOpenClawSqliteSessions)((0,s.openclawHome)(),(0,s.listOpenClawAgents)())))l.set(`${e.agentId}\0${e.sessionId}`,e);return[...l.values()].sort((e,t)=>t.mtimeMs-e.mtimeMs)}let c=(0,a.runtimeCache)(r,2);function d(e,t){return`openclaw-${e}-${t}`}function p(e,t){return`openclaw:${e}:${t}`}function h(e){if(!e.startsWith("openclaw-"))return[];let t=e.slice(9);if(!t)return[];let n=[];for(let e of(0,s.listOpenClawAgents)().sort((e,t)=>t.length-e.length)){let a=`${e}-`;t.startsWith(a)&&t.length>a.length&&n.push({agentId:e,channel:t.slice(a.length)})}return n.push({agentId:null,channel:t}),n}async function u(){let e=await r(),t=new Map;for(let n of e){let e=JSON.stringify([n.agentId,n.channel]),a=t.get(e);a?(a.latest=Math.max(a.latest,n.mtimeMs),a.count+=1):t.set(e,{agentId:n.agentId,channel:n.channel,latest:n.mtimeMs,count:1})}let n=[];for(let{agentId:e,channel:a,latest:s,count:i}of t.values()){let t=new Date(s);n.push({name:d(e,a),path:p(e,a),isDirectory:!0,lastModified:t,lastModifiedFormatted:(0,l.formatDate)(t),cli:["openclaw"],sessionCount:i})}return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}async function f(e){let t=h(e);if(0===t.length)return{cwd:null,sessions:[]};let n=await r(),a=e=>n.filter(t=>t.channel===e.channel&&(null===e.agentId||t.agentId===e.agentId)),s=t[0],i=a(s);if(0===i.length)for(let e of t.slice(1)){let t=a(e);if(t.length>0){s=e,i=t;break}}let{agentId:o,channel:c}=s;return{cwd:null===o?`openclaw:${c}`:p(o,c),sessions:i.map(e=>{let t=new Date(e.mtimeMs);return{name:e.label??e.chatId??e.sessionId,path:e.sessionId,lastModified:t,lastModifiedFormatted:(0,l.formatDate)(t),sessionId:e.sessionId,cli:"openclaw",channelId:e.chatId,channelType:e.chatType}})}}let g=(0,a.runtimeCache)(u,2),m=(0,a.runtimeCache)(e=>f(e),2,{maxSize:50});e.s(["getCachedOpenClawProjects",0,g,"getCachedOpenClawSessions",0,c,"getCachedOpenClawSessionsByEncodedName",0,m,"getOpenClawProjects",0,u,"getOpenClawSessions",0,r,"getOpenClawSessionsByEncodedName",0,f,"openClawProjectName",0,d,"openClawProjectNameCandidates",0,h,"openClawProjectPath",0,p,"parseOpenClawProjectName",0,function(e){return h(e)[0]??null}])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=lib_openclaw-projects_ts_0gc-p24._.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
module.exports=[74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},24190,a=>{"use strict";var b=a.i(36359);a.s([],40488),a.i(40488),a.s(["005fecc943663d936ee495883e98eee4e631b0edc7",()=>b.getTelemetryConfig],24190)},36359,a=>{"use strict";var b=a.i(37936),c=a.i(69839);a.i(93328);var d=a.i(31920),e=a.i(12072);async function f(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.FAILPROOFAI_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,a.i(13095).ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"005fecc943663d936ee495883e98eee4e631b0edc7",null),a.s(["getTelemetryConfig",0,f])},31920,a=>{"use strict";var b=a.i(21572);a.s(["isTelemetryEnabled",0,function(){if("1"===process.env.FAILPROOFAI_TELEMETRY_DISABLED)return!1;try{return(0,b.readConfig)().telemetry.enabled}catch{return!0}}])},69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);var g=a.i(75818);let h=d.default.join(e.default.homedir(),".failproofai"),i=d.default.join(h,"instance-id");function j(a){return f.default.createHmac("sha256","failproofai-telemetry-v1").update(a).digest("hex")}function k(a){let b;try{if(b=(0,g.telemetryIdFile)(),c.default.readFileSync(b,"utf-8").trim()===a)return}catch{try{b=(0,g.telemetryIdFile)()}catch{return}}try{c.default.mkdirSync(d.default.dirname(b),{recursive:!0});let e=`${b}.${process.pid}.tmp`;c.default.writeFileSync(e,a,{encoding:"utf-8",mode:384}),c.default.renameSync(e,b)}catch{}}a.s(["getInstanceId",0,function(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return k(b=j(a)),b;let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return d?k(b=j(d)):k(b=function(){try{let a=c.default.readFileSync(i,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(h,{recursive:!0}),c.default.writeFileSync(i,a,"utf-8")}catch{}return a}()),b},"hashToId",0,j])},93328,a=>{"use strict";a.i(69839),a.i(31920),a.i(79779).POSTHOG_API_KEY,a.s([])},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},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)))},12072,(a,b,c)=>{b.exports={name:"failproofai",version:"1.0.4-beta.8",description:"Observability and enforcement for AI agent harnesses. 39 built-in policies hooked into 12 of them — Claude Code, Codex, Cursor, Hermes, OpenClaw and more — blocking the tool call before it runs. Local dashboard included, no account needed.",bin:{failproofai:"./dist/cli.mjs",failproofaid:"./bin/failproofaid-shim.mjs"},files:["bin/","src/","scripts/","lib/","pi-extension/","openclaw-plugin/",".next/standalone/","dist/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{predev:"bun run build:cli && bun link",dev:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/dev.ts --port 8020","build:cli":"bun build --target=node --format=esm --outfile=dist/cli.mjs bin/failproofai.mjs --external posthog-node --external sql.js && node -e \"const fs=require('fs');const c=fs.readFileSync('dist/cli.mjs','utf8');fs.writeFileSync('dist/cli.mjs',c.replace('#!/usr/bin/env bun','#!/usr/bin/env node').replace('// @bun\\n',''))\"","build:worker":"bun build --target=node --format=esm --outfile=dist/worker.mjs bin/failproofai-worker.mjs --external posthog-node --external sql.js",build:"bun build --target=node --format=cjs --outfile=dist/index.js src/index.ts && bun run build:cli && bun run build:worker && bun --bun next build && node -e \"const {cpSync}=require('fs');cpSync('.next/static','.next/standalone/.next/static',{recursive:true});\" && node scripts/prune-standalone.mjs",prestart:"bun run build:cli && bun link",start:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepare:"bun run build","test:e2e":"vitest run --config vitest.config.e2e.mts","test:e2e:watch":"vitest --config vitest.config.e2e.mts",translate:"bun scripts/translate-docs/cli.ts","translate:readme":"bun scripts/translate-docs/cli.ts --readme-only","translate:docs":"bun scripts/translate-docs/cli.ts --docs-only","translate:dry-run":"bun scripts/translate-docs/cli.ts --dry-run","translate:validate":"bun scripts/translate-docs/cli.ts --validate","validate:mdx":"bun scripts/validate-mdx.ts","docs:audit":"bun scripts/docs-audit.ts","build:pack":"bun scripts/build-policy-pack.mjs"},keywords:["agent-observability","llm-observability","agent-tracing","agent-monitoring","agent-harness","guardrails","enforcement","policies","evals","ai-agent","autonomous-agent","agent-reliability","failure-prevention","claude-code","codex","hermes","openclaw","cli","local-first","hooks"],author:"ExosphereHost Inc. <failproofai@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://github.com/FailproofAI/failproofai",repository:{type:"git",url:"https://github.com/FailproofAI/failproofai.git"},bugs:{url:"https://github.com/FailproofAI/failproofai/issues"},publishConfig:{access:"public"},devDependencies:{"@anthropic-ai/sdk":"^0.123.0","@mdx-js/mdx":"^3.1.1","@tailwindcss/postcss":"^4.3.1","@tanstack/react-virtual":"^3.14.10","@testing-library/jest-dom":"^7.0.0","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.5","@types/node":"26.4.1","@types/react":"19.2.18","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.1.0",clsx:"^2.1.1",eslint:"^10.9.0","eslint-config-next":"^16.3.2",jsdom:"^30.0.1","lucide-react":"^1.33.0",next:"^16.3.2",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.3.1",typescript:"6.0.3",vitest:"^5.0.0"},dependencies:{"html-to-image":"^1.11.13","posthog-node":"^5.50.0","sql.js":"^1.14.1",yaml:"^2.9.0"},overrides:{nanoid:"3.3.18",postcss:"8.5.26","eslint-plugin-react-hooks":"7.0.1",vite:"8.0.16",undici:"7.29.0","brace-expansion":"5.0.9",sharp:"0.35.4",browserslist:"4.28.8"},optionalDependencies:{"@failproofai/failproofaid-linux-x64":"1.0.4-beta.8","@failproofai/failproofaid-linux-arm64":"1.0.4-beta.8","@failproofai/failproofaid-darwin-x64":"1.0.4-beta.8","@failproofai/failproofaid-darwin-arm64":"1.0.4-beta.8"},failproofaidBinaries:{"linux-x64":"17274c1da30675b49de74953a4ce2777e09ba07b9da79250ab155e5fdb316a0a","linux-arm64":"a07b228d899914baca1c75024be19c0319eb4fc40c6d5a303ba733bf6721924a","darwin-x64":"d170fd5604cb419bc83f4a5ab1a6cb5be2f9aec957aed99ce237990aa5d3966f","darwin-arm64":"0e2bde5bd0762641fa072a6640e485c637b2102f2fb6c1afeca679f005e89679"}}},79779,a=>{"use strict";a.s(["POSTHOG_API_KEY",0,"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX","POSTHOG_PRODUCT",0,"failproofai-oss"])}];
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0-4ja6q._.js.map
|