failproofai 0.0.13 → 0.0.14-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (310) hide show
  1. package/.next/standalone/.codex/hooks.json +6 -6
  2. package/.next/standalone/.cursor/hooks.json +6 -6
  3. package/.next/standalone/.factory/hooks.json +112 -0
  4. package/.next/standalone/.next/BUILD_ID +1 -1
  5. package/.next/standalone/.next/build-manifest.json +5 -5
  6. package/.next/standalone/.next/prerender-manifest.json +3 -3
  7. package/.next/standalone/.next/required-server-files.json +1 -1
  8. package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
  9. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  10. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  14. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  15. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  16. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  17. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  18. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
  20. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  21. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  24. package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
  25. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  26. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  27. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  28. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  29. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  30. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  31. package/.next/standalone/.next/server/app/api/audit/invite/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/audit/run/route.js +3 -3
  33. package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/auth/login-request/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/auth/reminder/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js +2 -1
  40. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/audit/page/build-manifest.json +2 -2
  42. package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +2 -2
  43. package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/index.html +1 -1
  46. package/.next/standalone/.next/server/app/index.rsc +15 -15
  47. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  48. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
  49. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  50. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
  51. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  52. package/.next/standalone/.next/server/app/page/build-manifest.json +2 -2
  53. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  54. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/policies/page/build-manifest.json +2 -2
  57. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  58. package/.next/standalone/.next/server/app/policies/page.js +1 -1
  59. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  60. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +2 -2
  62. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  63. package/.next/standalone/.next/server/app/project/[name]/page.js +3 -2
  64. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  65. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +2 -2
  67. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  68. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  69. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js +5 -3
  70. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  71. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/projects/page/build-manifest.json +2 -2
  73. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  74. package/.next/standalone/.next/server/app/projects/page.js +1 -1
  75. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0--lkk6._.js +3 -0
  78. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-219ec._.js +3 -0
  79. package/.next/standalone/.next/server/chunks/[root-of-the-server]__04_h-a5._.js +3 -0
  80. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06cuf1y._.js +3 -0
  81. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08w4wmd._.js +3 -0
  82. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g6bbuw._.js +3 -0
  83. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0jllheg._.js +3 -0
  84. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0jnjf2t._.js +3 -0
  85. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0q-v9z2._.js +1 -1
  86. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0q0qzx1._.js +3 -0
  87. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0q2nbsl._.js +3 -0
  88. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0rv7m0k._.js +1 -1
  89. package/.next/standalone/.next/server/chunks/[root-of-the-server]__16le-kd._.js +3 -0
  90. package/.next/standalone/.next/server/chunks/[root-of-the-server]__17g9wh7._.js +1 -1
  91. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1d9qen3._.js +3 -0
  92. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ffkmds._.js +3 -0
  93. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1fwl2mz._.js +1 -1
  94. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1legmza._.js +1 -1
  95. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1mrihkj._.js +1 -1
  96. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1myjm-d._.js +1 -1
  97. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qb590j._.js +3 -0
  98. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qxztj-._.js +1 -1
  99. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1shcqgr._.js +3 -0
  100. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1xuedea._.js +3 -0
  101. package/.next/standalone/.next/server/chunks/{_1z062h5._.js → _1vslkoe._.js} +2 -2
  102. package/.next/standalone/.next/server/chunks/lib_factory-projects_ts_1eo_bk-._.js +3 -0
  103. package/.next/standalone/.next/server/chunks/lib_openclaw-projects_ts_0gc-p24._.js +3 -0
  104. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_17k9e3w.js +24 -12
  105. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js +1 -1
  106. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_09z9-p7._.js +1 -1
  107. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +1 -1
  108. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__00cz9as._.js +3 -0
  109. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__015_i4t._.js +2 -2
  110. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__030k0c6._.js +3 -0
  111. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__03lv-pe._.js +2 -2
  112. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__042d3cd._.js +3 -0
  113. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05r_17v._.js +3 -0
  114. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09q1168._.js +3 -0
  115. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__108slqn._.js → [root-of-the-server]__0brjczq._.js} +2 -2
  116. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e2l3c1._.js +3 -0
  117. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0hci7t3._.js +3 -0
  118. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0hdsupo._.js +2 -2
  119. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0p84xee._.js +3 -0
  120. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qeuy9c._.js +2 -2
  121. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s89hoe._.js +2 -2
  122. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__07iom4f._.js → [root-of-the-server]__0wp9w6i._.js} +2 -2
  123. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ynf7tx._.js +2 -2
  124. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__170799-._.js +12 -9
  125. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__17ai7sy._.js +4 -0
  126. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1d8omgc._.js +1 -1
  127. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1nq7ivq._.js +3 -0
  128. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1tkjqka._.js +2 -2
  129. package/.next/standalone/.next/server/chunks/ssr/_05whahf._.js +1 -1
  130. package/.next/standalone/.next/server/chunks/ssr/_0_9_ytf._.js +3 -0
  131. package/.next/standalone/.next/server/chunks/ssr/_11_p9y8._.js +1 -1
  132. package/.next/standalone/.next/server/chunks/ssr/{_0ul5rf_._.js → _1_ozgif._.js} +2 -2
  133. package/.next/standalone/.next/server/chunks/ssr/_1p0-leb._.js +1 -1
  134. package/.next/standalone/.next/server/chunks/ssr/app_087bt9w._.js +1 -1
  135. package/.next/standalone/.next/server/chunks/ssr/app_1fvisnp._.js +1 -1
  136. package/.next/standalone/.next/server/chunks/ssr/app_209u41o._.js +1 -1
  137. package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47._.js +2 -2
  138. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x._.js +1 -1
  139. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpc._.js +1 -1
  140. package/.next/standalone/.next/server/chunks/ssr/lib_0xkhw_v._.js +3 -0
  141. package/.next/standalone/.next/server/chunks/ssr/lib_antigravity-projects_ts_0_6zf11._.js +3 -0
  142. package/.next/standalone/.next/server/chunks/ssr/lib_devin-projects_ts_0a64qdy._.js +3 -0
  143. package/.next/standalone/.next/server/chunks/ssr/lib_factory-projects_ts_1uyaahq._.js +3 -0
  144. package/.next/standalone/.next/server/chunks/ssr/lib_goose-projects_ts_0zkscri._.js +3 -0
  145. package/.next/standalone/.next/server/chunks/ssr/lib_openclaw-projects_ts_0qxq3bp._.js +3 -0
  146. package/.next/standalone/.next/server/chunks/ssr/{node_modules_html-to-image_es_index_13p7zob.js → node_modules_html-to-image_es_index_12rjfea.js} +1 -1
  147. package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js +1 -1
  148. package/.next/standalone/.next/server/chunks/ssr/src_hooks_1ezd2jf._.js +1 -1
  149. package/.next/standalone/.next/server/chunks/ssr/src_hooks_1tnuifj._.js +1 -1
  150. package/.next/standalone/.next/server/middleware-build-manifest.js +5 -5
  151. package/.next/standalone/.next/server/pages/404.html +1 -1
  152. package/.next/standalone/.next/server/pages/500.html +1 -1
  153. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/server-reference-manifest.json +10 -10
  155. package/.next/standalone/.next/static/chunks/{13f1kmjea-0md.js → 02jcotghcxrbu.js} +1 -1
  156. package/.next/standalone/.next/static/chunks/{30ysv-_8jj052.js → 0d5lypu1zs21r.js} +1 -1
  157. package/.next/standalone/.next/static/chunks/0emg30_6svycu.js +1 -0
  158. package/.next/standalone/.next/static/chunks/0o9wpnze1ey8y.js +6 -0
  159. package/.next/standalone/.next/static/chunks/{05apzuand0c22.js → 1359o5785rmve.js} +2 -2
  160. package/.next/standalone/.next/static/chunks/20tuctw38jbgw.js +1 -0
  161. package/.next/standalone/.next/static/chunks/{0vc0eak148vo6.js → 2ldhnaweu9ew3.js} +1 -1
  162. package/.next/standalone/.next/static/chunks/{23c7v2svx90dp.js → 2vav_x0_336ds.js} +1 -1
  163. package/.next/standalone/.next/static/chunks/3-ogr79xqbw0h.js +1 -0
  164. package/.next/standalone/.next/static/chunks/36j05kb2x323i.css +2 -0
  165. package/.next/standalone/.next/static/chunks/3cg7x0joi2b98.js +1 -0
  166. package/.next/standalone/.next/static/chunks/{36wdtkgdf0zrd.js → 3k87p-tijud-4.js} +1 -1
  167. package/.next/standalone/.next/static/chunks/{2cejn75gug3j8.js → 3kmaqcp7rldad.js} +1 -1
  168. package/.next/standalone/.next/static/chunks/{turbopack-0vavqo2d-tlt3.js → turbopack-10hj8t5pf33tu.js} +1 -1
  169. package/.next/standalone/.opencode/plugins/failproofai.mjs +30 -11
  170. package/.next/standalone/app/api/audit/run/route.ts +2 -0
  171. package/.next/standalone/app/audit/_components/empty-state.tsx +1 -1
  172. package/.next/standalone/app/components/global-error-listeners.tsx +27 -0
  173. package/.next/standalone/app/globals.css +25 -1
  174. package/.next/standalone/app/policies/hooks-client.tsx +2 -4
  175. package/.next/standalone/app/project/[name]/page.tsx +30 -10
  176. package/.next/standalone/app/project/[name]/session/[sessionId]/page.tsx +71 -21
  177. package/.next/standalone/assets/logos/antigravity.svg +1 -0
  178. package/.next/standalone/assets/logos/devin.svg +1 -0
  179. package/.next/standalone/assets/logos/factory-dark.png +0 -0
  180. package/.next/standalone/assets/logos/factory-light.png +0 -0
  181. package/.next/standalone/assets/logos/goose-dark.svg +1 -0
  182. package/.next/standalone/assets/logos/goose-light.svg +1 -0
  183. package/.next/standalone/assets/logos/openclaw.svg +22 -0
  184. package/.next/standalone/ci/cli-integration/Dockerfile +47 -0
  185. package/.next/standalone/ci/cli-integration/README.md +69 -0
  186. package/.next/standalone/ci/cli-integration/canary-policies.mjs +45 -0
  187. package/.next/standalone/ci/cli-integration/capture-tokens.sh +48 -0
  188. package/.next/standalone/ci/cli-integration/inject-tokens.sh +44 -0
  189. package/.next/standalone/ci/cli-integration/install-clis.sh +91 -0
  190. package/.next/standalone/ci/cli-integration/probe-cli.sh +208 -0
  191. package/.next/standalone/ci/cli-integration/report.js +74 -0
  192. package/.next/standalone/ci/cli-integration/run.sh +107 -0
  193. package/.next/standalone/components/navbar.tsx +5 -11
  194. package/.next/standalone/components/reach-developers.tsx +2 -2
  195. package/.next/standalone/docker-hook-sync/Dockerfile +8 -4
  196. package/.next/standalone/lib/antigravity-projects.ts +224 -0
  197. package/.next/standalone/lib/antigravity-sessions.ts +283 -0
  198. package/.next/standalone/lib/cli-registry.ts +26 -6
  199. package/.next/standalone/lib/devin-projects.ts +141 -0
  200. package/.next/standalone/lib/devin-sessions.ts +343 -0
  201. package/.next/standalone/lib/download-session.ts +56 -5
  202. package/.next/standalone/lib/error-origin.ts +67 -0
  203. package/.next/standalone/lib/factory-projects.ts +109 -0
  204. package/.next/standalone/lib/factory-sessions.ts +312 -0
  205. package/.next/standalone/lib/goose-projects.ts +148 -0
  206. package/.next/standalone/lib/goose-sessions.ts +296 -0
  207. package/.next/standalone/lib/install-check.ts +231 -0
  208. package/.next/standalone/lib/openclaw-projects.ts +182 -0
  209. package/.next/standalone/lib/openclaw-sessions.ts +284 -0
  210. package/.next/standalone/lib/projects.ts +33 -9
  211. package/.next/standalone/lib/telemetry-sanitize.ts +43 -0
  212. package/.next/standalone/openclaw-plugin/index.js +223 -0
  213. package/.next/standalone/openclaw-plugin/openclaw.plugin.json +6 -0
  214. package/.next/standalone/openclaw-plugin/package.json +12 -0
  215. package/.next/standalone/package.json +2 -3
  216. package/.next/standalone/server.js +1 -1
  217. package/README.md +94 -62
  218. package/bin/failproofai.mjs +98 -30
  219. package/dist/cli.mjs +12499 -9243
  220. package/lib/antigravity-projects.ts +224 -0
  221. package/lib/antigravity-sessions.ts +283 -0
  222. package/lib/cli-registry.ts +26 -6
  223. package/lib/devin-projects.ts +141 -0
  224. package/lib/devin-sessions.ts +343 -0
  225. package/lib/download-session.ts +56 -5
  226. package/lib/error-origin.ts +67 -0
  227. package/lib/factory-projects.ts +109 -0
  228. package/lib/factory-sessions.ts +312 -0
  229. package/lib/goose-projects.ts +148 -0
  230. package/lib/goose-sessions.ts +296 -0
  231. package/lib/install-check.ts +231 -0
  232. package/lib/openclaw-projects.ts +182 -0
  233. package/lib/openclaw-sessions.ts +284 -0
  234. package/lib/projects.ts +33 -9
  235. package/lib/telemetry-sanitize.ts +43 -0
  236. package/openclaw-plugin/index.js +223 -0
  237. package/openclaw-plugin/openclaw.plugin.json +6 -0
  238. package/openclaw-plugin/package.json +12 -0
  239. package/package.json +2 -3
  240. package/scripts/dev-hook.mjs +292 -0
  241. package/scripts/install-diagnosis.mjs +5 -8
  242. package/scripts/install-telemetry.mjs +12 -4
  243. package/scripts/launch.ts +4 -8
  244. package/scripts/sync-agent-cli-harnesses-prompt.md +7 -10
  245. package/scripts/translate-docs/cli.ts +120 -53
  246. package/scripts/translate-docs/config.ts +57 -13
  247. package/scripts/translate-docs/mdx-translator.ts +177 -28
  248. package/scripts/translate-docs/mintlify-nav.ts +91 -10
  249. package/scripts/translate-docs/readme-translator.ts +13 -5
  250. package/scripts/translate-docs/translator.ts +38 -2
  251. package/scripts/translate-docs/types.ts +3 -0
  252. package/scripts/validate-mdx.ts +12 -4
  253. package/src/audit/cli-adapters/antigravity.ts +87 -0
  254. package/src/audit/cli-adapters/devin.ts +53 -0
  255. package/src/audit/cli-adapters/factory.ts +75 -0
  256. package/src/audit/cli-adapters/goose.ts +53 -0
  257. package/src/audit/cli-adapters/index.ts +30 -6
  258. package/src/audit/cli-adapters/openclaw.ts +56 -0
  259. package/src/audit/cli.ts +83 -8
  260. package/src/audit/report.ts +1 -1
  261. package/src/audit/types.ts +1 -1
  262. package/src/hooks/builtin-policies.ts +5 -5
  263. package/src/hooks/configure-wizard.ts +356 -0
  264. package/src/hooks/handler.ts +283 -218
  265. package/src/hooks/hook-telemetry.ts +43 -3
  266. package/src/hooks/install-prompt.ts +92 -173
  267. package/src/hooks/integrations.ts +739 -138
  268. package/src/hooks/manager.ts +46 -2
  269. package/src/hooks/policy-evaluator.ts +301 -121
  270. package/src/hooks/policy-presets.ts +71 -0
  271. package/src/hooks/resolve-cwd.ts +1 -1
  272. package/src/hooks/resolve-permission-mode.ts +1 -5
  273. package/src/hooks/resolve-transcript-path.ts +25 -7
  274. package/src/hooks/tool-name-canonicalize.ts +36 -3
  275. package/src/hooks/tui.ts +578 -0
  276. package/src/hooks/types.ts +447 -109
  277. package/.next/standalone/.gemini/settings.json +0 -147
  278. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cag8qd._.js +0 -3
  279. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cefjd9._.js +0 -3
  280. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ekj92q._.js +0 -3
  281. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12v-lma._.js +0 -3
  282. package/.next/standalone/.next/server/chunks/[root-of-the-server]__136y39g._.js +0 -3
  283. package/.next/standalone/.next/server/chunks/[root-of-the-server]__13h8pzr._.js +0 -3
  284. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1hgv_75._.js +0 -3
  285. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__04bqvos._.js +0 -3
  286. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dqgs96._.js +0 -3
  287. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0q5rfxg._.js +0 -3
  288. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qukut7._.js +0 -4
  289. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1ql-mch._.js +0 -3
  290. package/.next/standalone/.next/server/chunks/ssr/_11v0g3z._.js +0 -3
  291. package/.next/standalone/.next/server/chunks/ssr/lib_gemini-projects_ts_1c7bgx-._.js +0 -3
  292. package/.next/standalone/.next/static/chunks/0fa7j157kg9_d.js +0 -1
  293. package/.next/standalone/.next/static/chunks/0nrah-qv6smeg.js +0 -6
  294. package/.next/standalone/.next/static/chunks/0wtagd8a5gwq-.js +0 -1
  295. package/.next/standalone/.next/static/chunks/1c8i78p7t1i-5.js +0 -1
  296. package/.next/standalone/.next/static/chunks/25qr0e6ez0ei0.js +0 -1
  297. package/.next/standalone/.next/static/chunks/25s52un3k_wht.css +0 -2
  298. package/.next/standalone/assets/logos/gemini-dark.svg +0 -13
  299. package/.next/standalone/assets/logos/gemini-light.svg +0 -13
  300. package/.next/standalone/lib/gemini-projects.ts +0 -243
  301. package/.next/standalone/lib/gemini-sessions.ts +0 -365
  302. package/lib/gemini-projects.ts +0 -243
  303. package/lib/gemini-sessions.ts +0 -365
  304. package/scripts/postinstall.mjs +0 -243
  305. package/scripts/preuninstall.mjs +0 -131
  306. package/src/audit/cli-adapters/gemini.ts +0 -51
  307. package/src/hooks/first-run-nudge.ts +0 -146
  308. /package/.next/standalone/.next/static/{kmzdjTLVs6LqsfyOaUf69 → LkN-JjmhKGmL-WklH7WVi}/_buildManifest.js +0 -0
  309. /package/.next/standalone/.next/static/{kmzdjTLVs6LqsfyOaUf69 → LkN-JjmhKGmL-WklH7WVi}/_clientMiddlewareManifest.js +0 -0
  310. /package/.next/standalone/.next/static/{kmzdjTLVs6LqsfyOaUf69 → LkN-JjmhKGmL-WklH7WVi}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},10659,e=>{"use strict";let t;var r=e.i(2157),s=e.i(50227),a=e.i(60526),n=e.i(66680);e.i(74533);let i=s.default.join(a.default.homedir(),".failproofai"),o=s.default.join(i,"instance-id");function l(e){return n.default.createHmac("sha256","failproofai-telemetry-v1").update(e).digest("hex")}e.s(["getInstanceId",0,function(){if(t)return t;let e=function(){try{for(let e of(a.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let t=r.default.readFileSync(e,"utf-8").trim();if(t)return t}catch{}}catch{}}();if(e)return t=l(e);let s=[a.default.hostname(),a.default.homedir(),a.default.platform(),a.default.arch(),a.default.cpus()[0]?.model??""].join(":");return t=s?l(s):function(){try{let e=r.default.readFileSync(o,"utf-8").trim();if(e)return e}catch{}let e=n.default.randomUUID();try{r.default.mkdirSync(i,{recursive:!0}),r.default.writeFileSync(o,e,"utf-8")}catch{}return e}()}])},24214,(e,t,r)=>{t.exports={name:"failproofai",version:"0.0.13",description:"The easiest way to manage policies that keep your AI agents reliable, on-task, and running autonomously — for Claude Code & the Agents SDK",bin:{failproofai:"./dist/cli.mjs"},files:["bin/","src/","scripts/","lib/","pi-extension/",".next/standalone/","dist/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{predev:"bun run build:cli && bun link",dev:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/dev.ts --port 8020","build:cli":"bun build --target=node --format=esm --outfile=dist/cli.mjs bin/failproofai.mjs --external posthog-node --external sql.js && node -e \"const fs=require('fs');const c=fs.readFileSync('dist/cli.mjs','utf8');fs.writeFileSync('dist/cli.mjs',c.replace('#!/usr/bin/env bun','#!/usr/bin/env node').replace('// @bun\\n',''))\"",build:"bun build --target=node --format=cjs --outfile=dist/index.js src/index.ts && bun run build:cli && bun --bun next build && node -e \"const {cpSync}=require('fs');cpSync('.next/static','.next/standalone/.next/static',{recursive:true});\" && node scripts/prune-standalone.mjs",prestart:"bun run build:cli && bun link",start:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",postinstall:"node scripts/postinstall.mjs",preuninstall:"node scripts/preuninstall.mjs",prepare:"bun run build","test:e2e":"vitest run --config vitest.config.e2e.mts","test:e2e:watch":"vitest --config vitest.config.e2e.mts",translate:"bun scripts/translate-docs/cli.ts","translate:readme":"bun scripts/translate-docs/cli.ts --readme-only","translate:docs":"bun scripts/translate-docs/cli.ts --docs-only","translate:dry-run":"bun scripts/translate-docs/cli.ts --dry-run","translate:validate":"bun scripts/translate-docs/cli.ts --validate","validate:mdx":"bun scripts/validate-mdx.ts"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","agent-reliability","agent-monitoring","autonomous-agent","failure-prevention","developer-tools","devtools","cli","local-first","hooks","policies"],author:"ExosphereHost Inc. <failproofai@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://github.com/FailproofAI/failproofai",repository:{type:"git",url:"https://github.com/FailproofAI/failproofai.git"},bugs:{url:"https://github.com/FailproofAI/failproofai/issues"},publishConfig:{access:"public"},devDependencies:{"@anthropic-ai/sdk":"^0.111.0","@mdx-js/mdx":"^3.1.1","@tailwindcss/postcss":"^4.3.1","@tanstack/react-virtual":"^3.14.3","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"26.1.1","@types/react":"19.2.17","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",clsx:"^2.1.1",eslint:"^10.5.0","eslint-config-next":"^16.2.9",jsdom:"^29.1.1","lucide-react":"^1.18.0",next:"^16.2.9",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.3.1",typescript:"6.0.3",vitest:"^4.1.9"},dependencies:{"html-to-image":"^1.11.13",html2canvas:"^1.4.1","posthog-node":"^5.37.1","sql.js":"^1.14.1",yaml:"^2.9.0"},overrides:{postcss:"8.5.14","eslint-plugin-react-hooks":"7.0.1",vite:"8.0.16",undici:"7.28.0"}}},28067,e=>{"use strict";e.s(["POSTHOG_API_KEY",0,"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX","POSTHOG_PRODUCT",0,"failproofai-oss"])},72561,e=>{"use strict";var t=e.i(10659),r=e.i(24214),s=e.i(28067);let a=s.POSTHOG_API_KEY;async function n(e,t){for(let r=1;r<=5;r++){try{let{signal:r,...s}=t,a=await fetch(e,{...s,signal:AbortSignal.timeout(5e3)});if(a.ok)return a}catch{}if(r<5){let e=Math.min(1e3*2**(r-1),8e3);await new Promise(t=>setTimeout(t,e))}}return new Response("{}",{status:200})}function i(){return"1"!==process.env.FAILPROOFAI_TELEMETRY_DISABLED}async function o(){try{if(!i()||globalThis.__FAILPROOFAI_POSTHOG__)return;let t=await e.A(78081),r=process.env.FAILPROOFAI_POSTHOG_KEY??a,s=process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com";globalThis.__FAILPROOFAI_POSTHOG__=new t.PostHog(r,{host:s,flushAt:1,flushInterval:0,requestTimeout:5e3,fetchRetryCount:0,fetch:n});let o=()=>{globalThis.__FAILPROOFAI_POSTHOG__?.shutdown().catch(()=>{})};process.on("beforeExit",o),process.on("SIGTERM",o),process.on("SIGINT",o)}catch(e){console.warn("[failproofai:telemetry] init failed:",e instanceof Error?e.message:e)}}e.s(["initTelemetry",0,o,"trackEvent",0,function(e,a){if(!i())return;let n=globalThis.__FAILPROOFAI_POSTHOG__;n&&n.capture({distinctId:(0,t.getInstanceId)(),event:e,properties:{...a,$lib:"failproofai",failproofai_version:r.version,product:s.POSTHOG_PRODUCT}})}])},6375,e=>{"use strict";var t=e.i(72561);function r(){return(process.env.FAILPROOF_API_URL??process.env.FAILPROOFAI_API_URL??"https://api.befailproof.ai").replace(/\/+$/,"")}class s extends Error{status;code;retryAfterSecs;constructor(e,t,r,s){super(r),this.status=e,this.code=t,this.retryAfterSecs=s,this.name="AuthApiError"}}async function a(e){let t={};try{t=await e.json()}catch{}let r=t.code??`http_${e.status}`,a=t.message??t.detail??e.statusText??"request failed",n=t.retry_after_secs;if(void 0===n){let t=e.headers.get("retry-after");if(t){let e=Number(t);Number.isFinite(e)&&(n=e)}}return void 0!==n&&(n=Math.max(0,Math.min(86400,n))),new s(e.status,r,a,n)}async function n(e,r){try{return await fetch(e,{...r,signal:function(e){let t=AbortSignal.timeout(1e4);if(!e)return t;let r=AbortSignal.any;if(r)return r([t,e]);let s=new AbortController;if(t.aborted)s.abort(t.reason);else t.addEventListener("abort",()=>s.abort(t.reason),{once:!0});if(e.aborted)s.abort(e.reason);else e.addEventListener("abort",()=>s.abort(e.reason),{once:!0});return s.signal}(r.signal??void 0)})}catch(n){let a=function(e){if(null===e||"object"!=typeof e)return!1;let t=e.name;return"AbortError"===t||"TimeoutError"===t}(n);if((0,t.trackEvent)("api_server_unreachable",{kind:a?"timeout":"network",path:function(e){try{return new URL(e).pathname}catch{return e}}(e),method:"string"==typeof r.method?r.method:"GET"}),a)throw new s(0,"timeout",`request to ${e} timed out after 10000ms`);throw n}}async function i(e,t,s){let i={"content-type":"application/json"};s?.accessToken&&(i.authorization=`Bearer ${s.accessToken}`);let o=await n(`${r()}${e}`,{method:"POST",headers:i,body:JSON.stringify(t)});if(204!==o.status){if(!o.ok)throw await a(o);return await o.json()}}async function o(e,t){let s=await n(`${r()}${e}`,{method:"GET",headers:{authorization:`Bearer ${t}`}});if(!s.ok)throw await a(s);return await s.json()}async function l(e){return i("/v0/auth/login/request",{email:e})}async function u(e,t){return i("/v0/auth/login/verify",{email:e,code:t})}async function c(e){return i("/v0/auth/token/refresh",{refresh_token:e})}async function d(e,t){await i("/v0/auth/logout",{refresh_token:t},{accessToken:e})}async function p(e){return o("/v0/auth/me",e)}async function f(e,t){return(await i("/v0/reminders",t,{accessToken:e})).reminder}async function h(e){let t=await n(`${r()}/v0/reminders`,{method:"DELETE",headers:{authorization:`Bearer ${e}`}});if(204!==t.status&&!t.ok)throw await a(t)}async function m(e,t,r){return i("/v0/invite",void 0===r?{to:t}:{to:t,score:r},{accessToken:e})}e.s(["AuthApiError",0,s,"cancelReminder",0,h,"fetchMe",0,p,"logoutSession",0,d,"refreshAccessToken",0,c,"requestLoginCode",0,l,"scheduleReminder",0,f,"sendInvites",0,m,"verifyLoginCode",0,u],6375)},51481,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),c=e.i(95169),d=e.i(47587),p=e.i(66012),f=e.i(70101),h=e.i(26937),m=e.i(10372),v=e.i(93695);e.i(20232);var g=e.i(220),_=e.i(89171),y=e.i(6375),b=e.i(72561);async function x(e){await (0,b.initTelemetry)();let t={};try{t=await e.json()}catch{return(0,b.trackEvent)("audit_otp_requested",{status:"validation_error",source:"dashboard",reason:"invalid_json"}),_.NextResponse.json({code:"validation_error",message:"Invalid JSON body"},{status:400})}if("string"!=typeof t.email||!t.email.trim())return(0,b.trackEvent)("audit_otp_requested",{status:"validation_error",source:"dashboard",reason:"missing_email"}),_.NextResponse.json({code:"validation_error",message:"email is required"},{status:400});let r=t.email.trim().toLowerCase();try{let e=await (0,y.requestLoginCode)(t.email);return(0,b.trackEvent)("audit_otp_requested",{status:"success",email:r,source:"dashboard",expires_in:e.expires_in,resend_available_in:e.resend_available_in}),_.NextResponse.json({status:e.status,expires_in:e.expires_in,resend_available_in:e.resend_available_in},{status:200})}catch(t){if(t instanceof y.AuthApiError){(0,b.trackEvent)("audit_otp_requested",{status:"failed",email:r,source:"dashboard",error_code:t.code,http_status:t.status,retry_after_secs:t.retryAfterSecs??null});let e=t.status>=200&&t.status<600?t.status:504;return _.NextResponse.json({code:t.code,message:t.message,...void 0!==t.retryAfterSecs?{retry_after_secs:t.retryAfterSecs}:{}},{status:e})}let e=t instanceof Error?t.message:String(t);return(0,b.trackEvent)("audit_otp_requested",{status:"failed",email:r,source:"dashboard",error_code:"upstream_unreachable",error_message:e.slice(0,200)}),_.NextResponse.json({code:"upstream_unreachable",message:`api-server unreachable: ${e}`},{status:502})}}e.s(["POST",0,x,"dynamic",0,"force-dynamic"],61403);var E=e.i(61403);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/auth/login-request/route",pathname:"/api/auth/login-request",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/auth/login-request/route.ts",nextConfigOutput:"standalone",userland:E,...{}}),{workAsyncStorage:w,workUnitAsyncStorage:A,serverHooks:O}=R;async function I(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),R.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/auth/login-request/route";_=_.replace(/\/index$/,"")||"/";let y=await R.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:b,deploymentId:x,params:E,nextConfig:w,parsedUrl:A,isDraftMode:O,prerenderManifest:I,routerServerContext:S,isOnDemandRevalidate:T,revalidateOnlyGenerated:P,resolvedPathname:j,clientReferenceManifest:k,serverActionsManifest:q}=y,C=(0,o.normalizeAppPath)(_),F=!!(I.dynamicRoutes[C]||I.routes[j]),N=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,A,!1):t.end("This page could not be found"),null);if(F&&!O){let e=!!I.routes[j],t=I.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(w.adapterPath)return await N();throw new v.NoFallbackError}}let L=null;!F||R.isDev||O||(L="/index"===(L=j)?"/":L);let H=!0===R.isDev||!F,D=F&&!H;q&&k&&(0,i.setManifestsSingleton)({page:_,clientReferenceManifest:k,serverActionsManifest:q});let M=e.method||"GET",U=(0,n.getTracer)(),$=U.getActiveScopeSpan(),G=!!(null==S?void 0:S.isWrappedByNextServer),K=!!(0,a.getRequestMeta)(e,"minimalMode"),B=(0,a.getRequestMeta)(e,"incrementalCache")||await R.getIncrementalCache(e,w,I,K);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let Y={params:E,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:H,incrementalCache:B,cacheLifeProfiles:w.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>R.onRequestError(e,t,s,a,S)},sharedContext:{buildId:b,deploymentId:x}},z=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),X=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t));try{let a,i=async e=>R.handle(X,Y).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${M} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",s),a.updateName(t))}else e.updateName(`${M} ${_}`)}),o=async a=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!K&&T&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(a);e.fetchMetrics=Y.renderOpts.fetchMetrics;let o=Y.renderOpts.pendingWaitUntil;o&&s.waitUntil&&(s.waitUntil(o),o=void 0);let l=Y.renderOpts.collectedTags;if(!F)return await (0,p.sendResponse)(z,W,n,Y.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==Y.renderOpts.collectedRevalidate&&!(Y.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&Y.renderOpts.collectedRevalidate,s=void 0===Y.renderOpts.collectedExpire||Y.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:Y.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:T})},!1,S),t}},u=await R.handleResponse({req:e,nextConfig:w,cacheKey:L,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:P,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:K});if(!F)return null;if((null==u||null==(n=u.value)?void 0:n.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",T?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&F||c.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(z,W,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};G&&$?await o($):(a=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(c.BaseServerSpan.handleRequest,{spanName:`${M} ${_}`,kind:n.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o),void 0,!G))}catch(t){if(t instanceof v.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:T})},!1,S),F)throw t;return await (0,p.sendResponse)(z,W,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:A})},"routeModule",0,R,"serverHooks",0,O,"workAsyncStorage",0,w,"workUnitAsyncStorage",0,A],51481)},78081,e=>{e.v(t=>Promise.all(["server/chunks/[externals]__14odj07._.js","server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js"].map(t=>e.l(t))).then(()=>t(39702)))}];
1
+ module.exports=[50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},10659,e=>{"use strict";let t;var r=e.i(2157),a=e.i(50227),n=e.i(60526),s=e.i(66680);e.i(74533);let i=a.default.join(n.default.homedir(),".failproofai"),o=a.default.join(i,"instance-id");function l(e){return s.default.createHmac("sha256","failproofai-telemetry-v1").update(e).digest("hex")}e.s(["getInstanceId",0,function(){if(t)return t;let e=function(){try{for(let e of(n.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let t=r.default.readFileSync(e,"utf-8").trim();if(t)return t}catch{}}catch{}}();if(e)return t=l(e);let a=[n.default.hostname(),n.default.homedir(),n.default.platform(),n.default.arch(),n.default.cpus()[0]?.model??""].join(":");return t=a?l(a):function(){try{let e=r.default.readFileSync(o,"utf-8").trim();if(e)return e}catch{}let e=s.default.randomUUID();try{r.default.mkdirSync(i,{recursive:!0}),r.default.writeFileSync(o,e,"utf-8")}catch{}return e}()}])},24214,(e,t,r)=>{t.exports={name:"failproofai",version:"0.0.14-beta.1",description:"The easiest way to manage policies that keep your AI agents reliable, on-task, and running autonomously — for Claude Code & the Agents SDK",bin:{failproofai:"./dist/cli.mjs"},files:["bin/","src/","scripts/","lib/","pi-extension/","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:"bun build --target=node --format=cjs --outfile=dist/index.js src/index.ts && bun run build:cli && bun --bun next build && node -e \"const {cpSync}=require('fs');cpSync('.next/static','.next/standalone/.next/static',{recursive:true});\" && node scripts/prune-standalone.mjs",prestart:"bun run build:cli && bun link",start:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepare:"bun run build","test:e2e":"vitest run --config vitest.config.e2e.mts","test:e2e:watch":"vitest --config vitest.config.e2e.mts",translate:"bun scripts/translate-docs/cli.ts","translate:readme":"bun scripts/translate-docs/cli.ts --readme-only","translate:docs":"bun scripts/translate-docs/cli.ts --docs-only","translate:dry-run":"bun scripts/translate-docs/cli.ts --dry-run","translate:validate":"bun scripts/translate-docs/cli.ts --validate","validate:mdx":"bun scripts/validate-mdx.ts"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","agent-reliability","agent-monitoring","autonomous-agent","failure-prevention","developer-tools","devtools","cli","local-first","hooks","policies"],author:"ExosphereHost Inc. <failproofai@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://github.com/FailproofAI/failproofai",repository:{type:"git",url:"https://github.com/FailproofAI/failproofai.git"},bugs:{url:"https://github.com/FailproofAI/failproofai/issues"},publishConfig:{access:"public"},devDependencies:{"@anthropic-ai/sdk":"^0.111.0","@mdx-js/mdx":"^3.1.1","@tailwindcss/postcss":"^4.3.1","@tanstack/react-virtual":"^3.14.3","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"26.1.1","@types/react":"19.2.17","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",clsx:"^2.1.1",eslint:"^10.5.0","eslint-config-next":"^16.2.9",jsdom:"^29.1.1","lucide-react":"^1.18.0",next:"^16.2.9",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.3.1",typescript:"6.0.3",vitest:"^4.1.9"},dependencies:{"html-to-image":"^1.11.13",html2canvas:"^1.4.1","posthog-node":"^5.37.1","sql.js":"^1.14.1",yaml:"^2.9.0"},overrides:{postcss:"8.5.14","eslint-plugin-react-hooks":"7.0.1",vite:"8.0.16",undici:"7.28.0"}}},28067,e=>{"use strict";e.s(["POSTHOG_API_KEY",0,"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX","POSTHOG_PRODUCT",0,"failproofai-oss"])},72561,e=>{"use strict";var t=e.i(10659),r=e.i(24214),a=e.i(28067);let n=a.POSTHOG_API_KEY;async function s(e,t){for(let r=1;r<=5;r++){try{let{signal:r,...a}=t,n=await fetch(e,{...a,signal:AbortSignal.timeout(5e3)});if(n.ok)return n}catch{}if(r<5){let e=Math.min(1e3*2**(r-1),8e3);await new Promise(t=>setTimeout(t,e))}}return new Response("{}",{status:200})}function i(){return"1"!==process.env.FAILPROOFAI_TELEMETRY_DISABLED}async function o(){try{if(!i()||globalThis.__FAILPROOFAI_POSTHOG__)return;let t=await e.A(78081),r=process.env.FAILPROOFAI_POSTHOG_KEY??n,a=process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com";globalThis.__FAILPROOFAI_POSTHOG__=new t.PostHog(r,{host:a,flushAt:1,flushInterval:0,requestTimeout:5e3,fetchRetryCount:0,fetch:s});let o=()=>{globalThis.__FAILPROOFAI_POSTHOG__?.shutdown().catch(()=>{})};process.on("beforeExit",o),process.on("SIGTERM",o),process.on("SIGINT",o)}catch(e){console.warn("[failproofai:telemetry] init failed:",e instanceof Error?e.message:e)}}e.s(["initTelemetry",0,o,"trackEvent",0,function(e,n){if(!i())return;let s=globalThis.__FAILPROOFAI_POSTHOG__;s&&s.capture({distinctId:(0,t.getInstanceId)(),event:e,properties:{...n,$lib:"failproofai",failproofai_version:r.version,product:a.POSTHOG_PRODUCT}})}])},6375,e=>{"use strict";var t=e.i(72561);function r(){return(process.env.FAILPROOF_API_URL??process.env.FAILPROOFAI_API_URL??"https://api.befailproof.ai").replace(/\/+$/,"")}class a extends Error{status;code;retryAfterSecs;constructor(e,t,r,a){super(r),this.status=e,this.code=t,this.retryAfterSecs=a,this.name="AuthApiError"}}async function n(e){let t={};try{t=await e.json()}catch{}let r=t.code??`http_${e.status}`,n=t.message??t.detail??e.statusText??"request failed",s=t.retry_after_secs;if(void 0===s){let t=e.headers.get("retry-after");if(t){let e=Number(t);Number.isFinite(e)&&(s=e)}}return void 0!==s&&(s=Math.max(0,Math.min(86400,s))),new a(e.status,r,n,s)}async function s(e,r){try{return await fetch(e,{...r,signal:function(e){let t=AbortSignal.timeout(1e4);if(!e)return t;let r=AbortSignal.any;if(r)return r([t,e]);let a=new AbortController;if(t.aborted)a.abort(t.reason);else t.addEventListener("abort",()=>a.abort(t.reason),{once:!0});if(e.aborted)a.abort(e.reason);else e.addEventListener("abort",()=>a.abort(e.reason),{once:!0});return a.signal}(r.signal??void 0)})}catch(s){let n=function(e){if(null===e||"object"!=typeof e)return!1;let t=e.name;return"AbortError"===t||"TimeoutError"===t}(s);if((0,t.trackEvent)("api_server_unreachable",{kind:n?"timeout":"network",path:function(e){try{return new URL(e).pathname}catch{return e}}(e),method:"string"==typeof r.method?r.method:"GET"}),n)throw new a(0,"timeout",`request to ${e} timed out after 10000ms`);throw s}}async function i(e,t,a){let i={"content-type":"application/json"};a?.accessToken&&(i.authorization=`Bearer ${a.accessToken}`);let o=await s(`${r()}${e}`,{method:"POST",headers:i,body:JSON.stringify(t)});if(204!==o.status){if(!o.ok)throw await n(o);return await o.json()}}async function o(e,t){let a=await s(`${r()}${e}`,{method:"GET",headers:{authorization:`Bearer ${t}`}});if(!a.ok)throw await n(a);return await a.json()}async function l(e){return i("/v0/auth/login/request",{email:e})}async function u(e,t){return i("/v0/auth/login/verify",{email:e,code:t})}async function c(e){return i("/v0/auth/token/refresh",{refresh_token:e})}async function d(e,t){await i("/v0/auth/logout",{refresh_token:t},{accessToken:e})}async function p(e){return o("/v0/auth/me",e)}async function f(e,t){return(await i("/v0/reminders",t,{accessToken:e})).reminder}async function h(e){let t=await s(`${r()}/v0/reminders`,{method:"DELETE",headers:{authorization:`Bearer ${e}`}});if(204!==t.status&&!t.ok)throw await n(t)}async function m(e,t,r){return i("/v0/invite",void 0===r?{to:t}:{to:t,score:r},{accessToken:e})}e.s(["AuthApiError",0,a,"cancelReminder",0,h,"fetchMe",0,p,"logoutSession",0,d,"refreshAccessToken",0,c,"requestLoginCode",0,l,"scheduleReminder",0,f,"sendInvites",0,m,"verifyLoginCode",0,u],6375)},51481,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),c=e.i(95169),d=e.i(47587),p=e.i(66012),f=e.i(70101),h=e.i(26937),m=e.i(10372),v=e.i(93695);e.i(20232);var g=e.i(220),_=e.i(89171),b=e.i(6375),y=e.i(72561);async function x(e){await (0,y.initTelemetry)();let t={};try{t=await e.json()}catch{return(0,y.trackEvent)("audit_otp_requested",{status:"validation_error",source:"dashboard",reason:"invalid_json"}),_.NextResponse.json({code:"validation_error",message:"Invalid JSON body"},{status:400})}if("string"!=typeof t.email||!t.email.trim())return(0,y.trackEvent)("audit_otp_requested",{status:"validation_error",source:"dashboard",reason:"missing_email"}),_.NextResponse.json({code:"validation_error",message:"email is required"},{status:400});let r=t.email.trim().toLowerCase();try{let e=await (0,b.requestLoginCode)(t.email);return(0,y.trackEvent)("audit_otp_requested",{status:"success",email:r,source:"dashboard",expires_in:e.expires_in,resend_available_in:e.resend_available_in}),_.NextResponse.json({status:e.status,expires_in:e.expires_in,resend_available_in:e.resend_available_in},{status:200})}catch(t){if(t instanceof b.AuthApiError){(0,y.trackEvent)("audit_otp_requested",{status:"failed",email:r,source:"dashboard",error_code:t.code,http_status:t.status,retry_after_secs:t.retryAfterSecs??null});let e=t.status>=200&&t.status<600?t.status:504;return _.NextResponse.json({code:t.code,message:t.message,...void 0!==t.retryAfterSecs?{retry_after_secs:t.retryAfterSecs}:{}},{status:e})}let e=t instanceof Error?t.message:String(t);return(0,y.trackEvent)("audit_otp_requested",{status:"failed",email:r,source:"dashboard",error_code:"upstream_unreachable",error_message:e.slice(0,200)}),_.NextResponse.json({code:"upstream_unreachable",message:`api-server unreachable: ${e}`},{status:502})}}e.s(["POST",0,x,"dynamic",0,"force-dynamic"],61403);var E=e.i(61403);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/auth/login-request/route",pathname:"/api/auth/login-request",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/auth/login-request/route.ts",nextConfigOutput:"standalone",userland:E,...{}}),{workAsyncStorage:w,workUnitAsyncStorage:A,serverHooks:O}=R;async function I(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),R.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/auth/login-request/route";_=_.replace(/\/index$/,"")||"/";let b=await R.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!b)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:x,params:E,nextConfig:w,parsedUrl:A,isDraftMode:O,prerenderManifest:I,routerServerContext:S,isOnDemandRevalidate:T,revalidateOnlyGenerated:P,resolvedPathname:k,clientReferenceManifest:j,serverActionsManifest:q}=b,C=(0,o.normalizeAppPath)(_),F=!!(I.dynamicRoutes[C]||I.routes[k]),N=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,A,!1):t.end("This page could not be found"),null);if(F&&!O){let e=!!I.routes[k],t=I.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(w.adapterPath)return await N();throw new v.NoFallbackError}}let L=null;!F||R.isDev||O||(L="/index"===(L=k)?"/":L);let H=!0===R.isDev||!F,D=F&&!H;q&&j&&(0,i.setManifestsSingleton)({page:_,clientReferenceManifest:j,serverActionsManifest:q});let M=e.method||"GET",U=(0,s.getTracer)(),$=U.getActiveScopeSpan(),G=!!(null==S?void 0:S.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),B=(0,n.getRequestMeta)(e,"incrementalCache")||await R.getIncrementalCache(e,w,I,K);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let Y={params:E,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:H,incrementalCache:B,cacheLifeProfiles:w.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>R.onRequestError(e,t,a,n,S)},sharedContext:{buildId:y,deploymentId:x}},z=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),X=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>R.handle(X,Y).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${M} ${_}`)}),o=async n=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!K&&T&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=Y.renderOpts.fetchMetrics;let o=Y.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=Y.renderOpts.collectedTags;if(!F)return await (0,p.sendResponse)(z,W,s,Y.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==Y.renderOpts.collectedRevalidate&&!(Y.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&Y.renderOpts.collectedRevalidate,a=void 0===Y.renderOpts.collectedExpire||Y.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:Y.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:T})},!1,S),t}},u=await R.handleResponse({req:e,nextConfig:w,cacheKey:L,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:P,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:K});if(!F)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",T?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&F||c.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(z,W,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};G&&$?await o($):(n=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(c.BaseServerSpan.handleRequest,{spanName:`${M} ${_}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o),void 0,!G))}catch(t){if(t instanceof v.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:T})},!1,S),F)throw t;return await (0,p.sendResponse)(z,W,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:A})},"routeModule",0,R,"serverHooks",0,O,"workAsyncStorage",0,w,"workUnitAsyncStorage",0,A],51481)},78081,e=>{e.v(t=>Promise.all(["server/chunks/[externals]__14odj07._.js","server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js"].map(t=>e.l(t))).then(()=>t(39702)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__1mrihkj._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},94930,e=>{"use strict";var t=e.i(2157),r=e.i(50227),n=e.i(66680);e.s(["writeJsonAtomically",0,function(e,s,i={}){let a=i.mode??384,o=i.dirMode??448,c=(0,r.dirname)(e);(0,t.existsSync)(c)||(0,t.mkdirSync)(c,{recursive:!0,mode:o});let u=`${e}.${process.pid}.${(0,n.randomBytes)(6).toString("hex")}.tmp`;try{(0,t.writeFileSync)(u,JSON.stringify(s,null,2),{mode:a});try{(63&(0,t.statSync)(u).mode)!=0&&(0,t.chmodSync)(u,a)}catch{}(0,t.renameSync)(u,e);try{(63&(0,t.statSync)(e).mode)!=0&&(0,t.chmodSync)(e,a)}catch{}}catch(e){try{(0,t.rmSync)(u,{force:!0})}catch{}throw e}}])},10659,e=>{"use strict";let t;var r=e.i(2157),n=e.i(50227),s=e.i(60526),i=e.i(66680);e.i(74533);let a=n.default.join(s.default.homedir(),".failproofai"),o=n.default.join(a,"instance-id");function c(e){return i.default.createHmac("sha256","failproofai-telemetry-v1").update(e).digest("hex")}e.s(["getInstanceId",0,function(){if(t)return t;let e=function(){try{for(let e of(s.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let t=r.default.readFileSync(e,"utf-8").trim();if(t)return t}catch{}}catch{}}();if(e)return t=c(e);let n=[s.default.hostname(),s.default.homedir(),s.default.platform(),s.default.arch(),s.default.cpus()[0]?.model??""].join(":");return t=n?c(n):function(){try{let e=r.default.readFileSync(o,"utf-8").trim();if(e)return e}catch{}let e=i.default.randomUUID();try{r.default.mkdirSync(a,{recursive:!0}),r.default.writeFileSync(o,e,"utf-8")}catch{}return e}()}])},24214,(e,t,r)=>{t.exports={name:"failproofai",version:"0.0.13",description:"The easiest way to manage policies that keep your AI agents reliable, on-task, and running autonomously — for Claude Code & the Agents SDK",bin:{failproofai:"./dist/cli.mjs"},files:["bin/","src/","scripts/","lib/","pi-extension/",".next/standalone/","dist/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{predev:"bun run build:cli && bun link",dev:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/dev.ts --port 8020","build:cli":"bun build --target=node --format=esm --outfile=dist/cli.mjs bin/failproofai.mjs --external posthog-node --external sql.js && node -e \"const fs=require('fs');const c=fs.readFileSync('dist/cli.mjs','utf8');fs.writeFileSync('dist/cli.mjs',c.replace('#!/usr/bin/env bun','#!/usr/bin/env node').replace('// @bun\\n',''))\"",build:"bun build --target=node --format=cjs --outfile=dist/index.js src/index.ts && bun run build:cli && bun --bun next build && node -e \"const {cpSync}=require('fs');cpSync('.next/static','.next/standalone/.next/static',{recursive:true});\" && node scripts/prune-standalone.mjs",prestart:"bun run build:cli && bun link",start:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",postinstall:"node scripts/postinstall.mjs",preuninstall:"node scripts/preuninstall.mjs",prepare:"bun run build","test:e2e":"vitest run --config vitest.config.e2e.mts","test:e2e:watch":"vitest --config vitest.config.e2e.mts",translate:"bun scripts/translate-docs/cli.ts","translate:readme":"bun scripts/translate-docs/cli.ts --readme-only","translate:docs":"bun scripts/translate-docs/cli.ts --docs-only","translate:dry-run":"bun scripts/translate-docs/cli.ts --dry-run","translate:validate":"bun scripts/translate-docs/cli.ts --validate","validate:mdx":"bun scripts/validate-mdx.ts"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","agent-reliability","agent-monitoring","autonomous-agent","failure-prevention","developer-tools","devtools","cli","local-first","hooks","policies"],author:"ExosphereHost Inc. <failproofai@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://github.com/FailproofAI/failproofai",repository:{type:"git",url:"https://github.com/FailproofAI/failproofai.git"},bugs:{url:"https://github.com/FailproofAI/failproofai/issues"},publishConfig:{access:"public"},devDependencies:{"@anthropic-ai/sdk":"^0.111.0","@mdx-js/mdx":"^3.1.1","@tailwindcss/postcss":"^4.3.1","@tanstack/react-virtual":"^3.14.3","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"26.1.1","@types/react":"19.2.17","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",clsx:"^2.1.1",eslint:"^10.5.0","eslint-config-next":"^16.2.9",jsdom:"^29.1.1","lucide-react":"^1.18.0",next:"^16.2.9",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.3.1",typescript:"6.0.3",vitest:"^4.1.9"},dependencies:{"html-to-image":"^1.11.13",html2canvas:"^1.4.1","posthog-node":"^5.37.1","sql.js":"^1.14.1",yaml:"^2.9.0"},overrides:{postcss:"8.5.14","eslint-plugin-react-hooks":"7.0.1",vite:"8.0.16",undici:"7.28.0"}}},28067,e=>{"use strict";e.s(["POSTHOG_API_KEY",0,"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX","POSTHOG_PRODUCT",0,"failproofai-oss"])},72561,e=>{"use strict";var t=e.i(10659),r=e.i(24214),n=e.i(28067);let s=n.POSTHOG_API_KEY;async function i(e,t){for(let r=1;r<=5;r++){try{let{signal:r,...n}=t,s=await fetch(e,{...n,signal:AbortSignal.timeout(5e3)});if(s.ok)return s}catch{}if(r<5){let e=Math.min(1e3*2**(r-1),8e3);await new Promise(t=>setTimeout(t,e))}}return new Response("{}",{status:200})}function a(){return"1"!==process.env.FAILPROOFAI_TELEMETRY_DISABLED}async function o(){try{if(!a()||globalThis.__FAILPROOFAI_POSTHOG__)return;let t=await e.A(78081),r=process.env.FAILPROOFAI_POSTHOG_KEY??s,n=process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com";globalThis.__FAILPROOFAI_POSTHOG__=new t.PostHog(r,{host:n,flushAt:1,flushInterval:0,requestTimeout:5e3,fetchRetryCount:0,fetch:i});let o=()=>{globalThis.__FAILPROOFAI_POSTHOG__?.shutdown().catch(()=>{})};process.on("beforeExit",o),process.on("SIGTERM",o),process.on("SIGINT",o)}catch(e){console.warn("[failproofai:telemetry] init failed:",e instanceof Error?e.message:e)}}e.s(["initTelemetry",0,o,"trackEvent",0,function(e,s){if(!a())return;let i=globalThis.__FAILPROOFAI_POSTHOG__;i&&i.capture({distinctId:(0,t.getInstanceId)(),event:e,properties:{...s,$lib:"failproofai",failproofai_version:r.version,product:n.POSTHOG_PRODUCT}})}])},6375,e=>{"use strict";var t=e.i(72561);function r(){return(process.env.FAILPROOF_API_URL??process.env.FAILPROOFAI_API_URL??"https://api.befailproof.ai").replace(/\/+$/,"")}class n extends Error{status;code;retryAfterSecs;constructor(e,t,r,n){super(r),this.status=e,this.code=t,this.retryAfterSecs=n,this.name="AuthApiError"}}async function s(e){let t={};try{t=await e.json()}catch{}let r=t.code??`http_${e.status}`,s=t.message??t.detail??e.statusText??"request failed",i=t.retry_after_secs;if(void 0===i){let t=e.headers.get("retry-after");if(t){let e=Number(t);Number.isFinite(e)&&(i=e)}}return void 0!==i&&(i=Math.max(0,Math.min(86400,i))),new n(e.status,r,s,i)}async function i(e,r){try{return await fetch(e,{...r,signal:function(e){let t=AbortSignal.timeout(1e4);if(!e)return t;let r=AbortSignal.any;if(r)return r([t,e]);let n=new AbortController;if(t.aborted)n.abort(t.reason);else t.addEventListener("abort",()=>n.abort(t.reason),{once:!0});if(e.aborted)n.abort(e.reason);else e.addEventListener("abort",()=>n.abort(e.reason),{once:!0});return n.signal}(r.signal??void 0)})}catch(i){let s=function(e){if(null===e||"object"!=typeof e)return!1;let t=e.name;return"AbortError"===t||"TimeoutError"===t}(i);if((0,t.trackEvent)("api_server_unreachable",{kind:s?"timeout":"network",path:function(e){try{return new URL(e).pathname}catch{return e}}(e),method:"string"==typeof r.method?r.method:"GET"}),s)throw new n(0,"timeout",`request to ${e} timed out after 10000ms`);throw i}}async function a(e,t,n){let a={"content-type":"application/json"};n?.accessToken&&(a.authorization=`Bearer ${n.accessToken}`);let o=await i(`${r()}${e}`,{method:"POST",headers:a,body:JSON.stringify(t)});if(204!==o.status){if(!o.ok)throw await s(o);return await o.json()}}async function o(e,t){let n=await i(`${r()}${e}`,{method:"GET",headers:{authorization:`Bearer ${t}`}});if(!n.ok)throw await s(n);return await n.json()}async function c(e){return a("/v0/auth/login/request",{email:e})}async function u(e,t){return a("/v0/auth/login/verify",{email:e,code:t})}async function l(e){return a("/v0/auth/token/refresh",{refresh_token:e})}async function d(e,t){await a("/v0/auth/logout",{refresh_token:t},{accessToken:e})}async function f(e){return o("/v0/auth/me",e)}async function p(e,t){return(await a("/v0/reminders",t,{accessToken:e})).reminder}async function h(e){let t=await i(`${r()}/v0/reminders`,{method:"DELETE",headers:{authorization:`Bearer ${e}`}});if(204!==t.status&&!t.ok)throw await s(t)}async function m(e,t,r){return a("/v0/invite",void 0===r?{to:t}:{to:t,score:r},{accessToken:e})}e.s(["AuthApiError",0,n,"cancelReminder",0,h,"fetchMe",0,f,"logoutSession",0,d,"refreshAccessToken",0,l,"requestLoginCode",0,c,"scheduleReminder",0,p,"sendInvites",0,m,"verifyLoginCode",0,u],6375)},17707,e=>{"use strict";var t=e.i(2157),r=e.i(60526),n=e.i(50227),s=e.i(94930),i=e.i(6375);function a(){let e=process.env.FAILPROOFAI_AUTH_DIR;return e||(0,n.join)((0,r.homedir)(),".failproofai")}function o(){return(0,n.join)(a(),"auth.json")}function c(){return(0,n.join)(a(),"next-audit.json")}function u(){let e=o();if(!(0,t.existsSync)(e))return null;try{let r=(0,t.readFileSync)(e,"utf-8"),n=JSON.parse(r);if("string"!=typeof n.access_token||"string"!=typeof n.refresh_token||"number"!=typeof n.access_expires_at||"object"!=typeof n.user||!n.user||"string"!=typeof n.user.id||"string"!=typeof n.user.email)return null;return{access_token:n.access_token,refresh_token:n.refresh_token,access_expires_at:n.access_expires_at,refresh_expires_at:"number"==typeof n.refresh_expires_at?n.refresh_expires_at:n.access_expires_at,user:{id:n.user.id,email:n.user.email}}}catch{return null}}function l(e){(0,s.writeJsonAtomically)(o(),e)}function d(){let e=o();(0,t.existsSync)(e)&&(0,t.rmSync)(e,{force:!0})}function f(e,t){let r=Math.floor(Date.now()/1e3),n=e.user??t;if(!n)throw Error("authFromTokenResponse: missing user identity");return{access_token:e.access_token,refresh_token:e.refresh_token,access_expires_at:r+e.access_expires_in,refresh_expires_at:r+e.refresh_expires_in,user:n}}let p=new Map;async function h(e){let t=p.get(e.refresh_token);if(t)return t;let r=(async()=>{let t=f(await (0,i.refreshAccessToken)(e.refresh_token),e.user);return l(t),t})();p.set(e.refresh_token,r);try{return await r}finally{p.delete(e.refresh_token)}}async function m(){let e=u();if(!e)return null;let t=Math.floor(Date.now()/1e3);if(e.access_expires_at-t>60)return e;try{return await h(e)}catch(e){return e instanceof i.AuthApiError&&401===e.status&&d(),null}}async function y(){let e=await m();if(!e)return null;try{return{me:await (0,i.fetchMe)(e.access_token),auth:e}}catch(e){if(e instanceof i.AuthApiError&&401===e.status){let e=u();if(!e)return null;try{let t=await h(e);return{me:await (0,i.fetchMe)(t.access_token),auth:t}}catch(e){e instanceof i.AuthApiError&&401===e.status&&d()}}return null}}e.s(["authFromTokenResponse",0,f,"deleteAuth",0,d,"deleteReminder",0,function(){let e=c();(0,t.existsSync)(e)&&(0,t.rmSync)(e,{force:!0})},"readAuth",0,u,"readReminder",0,function(){let e=c();if(!(0,t.existsSync)(e))return null;try{let r=(0,t.readFileSync)(e,"utf-8"),n=JSON.parse(r);if("number"!=typeof n.next_audit_at||"string"!=typeof n.user_email||"number"!=typeof n.set_at)return null;return{next_audit_at:n.next_audit_at,user_email:n.user_email,set_at:n.set_at}}catch{return null}},"whoAmI",0,y,"writeAuth",0,l,"writeReminder",0,function(e){(0,s.writeJsonAtomically)(c(),e)}])}];
1
+ module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},94930,e=>{"use strict";var t=e.i(2157),r=e.i(50227),n=e.i(66680);e.s(["writeJsonAtomically",0,function(e,s,i={}){let a=i.mode??384,o=i.dirMode??448,c=(0,r.dirname)(e);(0,t.existsSync)(c)||(0,t.mkdirSync)(c,{recursive:!0,mode:o});let u=`${e}.${process.pid}.${(0,n.randomBytes)(6).toString("hex")}.tmp`;try{(0,t.writeFileSync)(u,JSON.stringify(s,null,2),{mode:a});try{(63&(0,t.statSync)(u).mode)!=0&&(0,t.chmodSync)(u,a)}catch{}(0,t.renameSync)(u,e);try{(63&(0,t.statSync)(e).mode)!=0&&(0,t.chmodSync)(e,a)}catch{}}catch(e){try{(0,t.rmSync)(u,{force:!0})}catch{}throw e}}])},10659,e=>{"use strict";let t;var r=e.i(2157),n=e.i(50227),s=e.i(60526),i=e.i(66680);e.i(74533);let a=n.default.join(s.default.homedir(),".failproofai"),o=n.default.join(a,"instance-id");function c(e){return i.default.createHmac("sha256","failproofai-telemetry-v1").update(e).digest("hex")}e.s(["getInstanceId",0,function(){if(t)return t;let e=function(){try{for(let e of(s.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let t=r.default.readFileSync(e,"utf-8").trim();if(t)return t}catch{}}catch{}}();if(e)return t=c(e);let n=[s.default.hostname(),s.default.homedir(),s.default.platform(),s.default.arch(),s.default.cpus()[0]?.model??""].join(":");return t=n?c(n):function(){try{let e=r.default.readFileSync(o,"utf-8").trim();if(e)return e}catch{}let e=i.default.randomUUID();try{r.default.mkdirSync(a,{recursive:!0}),r.default.writeFileSync(o,e,"utf-8")}catch{}return e}()}])},24214,(e,t,r)=>{t.exports={name:"failproofai",version:"0.0.14-beta.1",description:"The easiest way to manage policies that keep your AI agents reliable, on-task, and running autonomously — for Claude Code & the Agents SDK",bin:{failproofai:"./dist/cli.mjs"},files:["bin/","src/","scripts/","lib/","pi-extension/","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:"bun build --target=node --format=cjs --outfile=dist/index.js src/index.ts && bun run build:cli && bun --bun next build && node -e \"const {cpSync}=require('fs');cpSync('.next/static','.next/standalone/.next/static',{recursive:true});\" && node scripts/prune-standalone.mjs",prestart:"bun run build:cli && bun link",start:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepare:"bun run build","test:e2e":"vitest run --config vitest.config.e2e.mts","test:e2e:watch":"vitest --config vitest.config.e2e.mts",translate:"bun scripts/translate-docs/cli.ts","translate:readme":"bun scripts/translate-docs/cli.ts --readme-only","translate:docs":"bun scripts/translate-docs/cli.ts --docs-only","translate:dry-run":"bun scripts/translate-docs/cli.ts --dry-run","translate:validate":"bun scripts/translate-docs/cli.ts --validate","validate:mdx":"bun scripts/validate-mdx.ts"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","agent-reliability","agent-monitoring","autonomous-agent","failure-prevention","developer-tools","devtools","cli","local-first","hooks","policies"],author:"ExosphereHost Inc. <failproofai@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://github.com/FailproofAI/failproofai",repository:{type:"git",url:"https://github.com/FailproofAI/failproofai.git"},bugs:{url:"https://github.com/FailproofAI/failproofai/issues"},publishConfig:{access:"public"},devDependencies:{"@anthropic-ai/sdk":"^0.111.0","@mdx-js/mdx":"^3.1.1","@tailwindcss/postcss":"^4.3.1","@tanstack/react-virtual":"^3.14.3","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"26.1.1","@types/react":"19.2.17","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",clsx:"^2.1.1",eslint:"^10.5.0","eslint-config-next":"^16.2.9",jsdom:"^29.1.1","lucide-react":"^1.18.0",next:"^16.2.9",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.3.1",typescript:"6.0.3",vitest:"^4.1.9"},dependencies:{"html-to-image":"^1.11.13",html2canvas:"^1.4.1","posthog-node":"^5.37.1","sql.js":"^1.14.1",yaml:"^2.9.0"},overrides:{postcss:"8.5.14","eslint-plugin-react-hooks":"7.0.1",vite:"8.0.16",undici:"7.28.0"}}},28067,e=>{"use strict";e.s(["POSTHOG_API_KEY",0,"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX","POSTHOG_PRODUCT",0,"failproofai-oss"])},72561,e=>{"use strict";var t=e.i(10659),r=e.i(24214),n=e.i(28067);let s=n.POSTHOG_API_KEY;async function i(e,t){for(let r=1;r<=5;r++){try{let{signal:r,...n}=t,s=await fetch(e,{...n,signal:AbortSignal.timeout(5e3)});if(s.ok)return s}catch{}if(r<5){let e=Math.min(1e3*2**(r-1),8e3);await new Promise(t=>setTimeout(t,e))}}return new Response("{}",{status:200})}function a(){return"1"!==process.env.FAILPROOFAI_TELEMETRY_DISABLED}async function o(){try{if(!a()||globalThis.__FAILPROOFAI_POSTHOG__)return;let t=await e.A(78081),r=process.env.FAILPROOFAI_POSTHOG_KEY??s,n=process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com";globalThis.__FAILPROOFAI_POSTHOG__=new t.PostHog(r,{host:n,flushAt:1,flushInterval:0,requestTimeout:5e3,fetchRetryCount:0,fetch:i});let o=()=>{globalThis.__FAILPROOFAI_POSTHOG__?.shutdown().catch(()=>{})};process.on("beforeExit",o),process.on("SIGTERM",o),process.on("SIGINT",o)}catch(e){console.warn("[failproofai:telemetry] init failed:",e instanceof Error?e.message:e)}}e.s(["initTelemetry",0,o,"trackEvent",0,function(e,s){if(!a())return;let i=globalThis.__FAILPROOFAI_POSTHOG__;i&&i.capture({distinctId:(0,t.getInstanceId)(),event:e,properties:{...s,$lib:"failproofai",failproofai_version:r.version,product:n.POSTHOG_PRODUCT}})}])},6375,e=>{"use strict";var t=e.i(72561);function r(){return(process.env.FAILPROOF_API_URL??process.env.FAILPROOFAI_API_URL??"https://api.befailproof.ai").replace(/\/+$/,"")}class n extends Error{status;code;retryAfterSecs;constructor(e,t,r,n){super(r),this.status=e,this.code=t,this.retryAfterSecs=n,this.name="AuthApiError"}}async function s(e){let t={};try{t=await e.json()}catch{}let r=t.code??`http_${e.status}`,s=t.message??t.detail??e.statusText??"request failed",i=t.retry_after_secs;if(void 0===i){let t=e.headers.get("retry-after");if(t){let e=Number(t);Number.isFinite(e)&&(i=e)}}return void 0!==i&&(i=Math.max(0,Math.min(86400,i))),new n(e.status,r,s,i)}async function i(e,r){try{return await fetch(e,{...r,signal:function(e){let t=AbortSignal.timeout(1e4);if(!e)return t;let r=AbortSignal.any;if(r)return r([t,e]);let n=new AbortController;if(t.aborted)n.abort(t.reason);else t.addEventListener("abort",()=>n.abort(t.reason),{once:!0});if(e.aborted)n.abort(e.reason);else e.addEventListener("abort",()=>n.abort(e.reason),{once:!0});return n.signal}(r.signal??void 0)})}catch(i){let s=function(e){if(null===e||"object"!=typeof e)return!1;let t=e.name;return"AbortError"===t||"TimeoutError"===t}(i);if((0,t.trackEvent)("api_server_unreachable",{kind:s?"timeout":"network",path:function(e){try{return new URL(e).pathname}catch{return e}}(e),method:"string"==typeof r.method?r.method:"GET"}),s)throw new n(0,"timeout",`request to ${e} timed out after 10000ms`);throw i}}async function a(e,t,n){let a={"content-type":"application/json"};n?.accessToken&&(a.authorization=`Bearer ${n.accessToken}`);let o=await i(`${r()}${e}`,{method:"POST",headers:a,body:JSON.stringify(t)});if(204!==o.status){if(!o.ok)throw await s(o);return await o.json()}}async function o(e,t){let n=await i(`${r()}${e}`,{method:"GET",headers:{authorization:`Bearer ${t}`}});if(!n.ok)throw await s(n);return await n.json()}async function c(e){return a("/v0/auth/login/request",{email:e})}async function u(e,t){return a("/v0/auth/login/verify",{email:e,code:t})}async function l(e){return a("/v0/auth/token/refresh",{refresh_token:e})}async function f(e,t){await a("/v0/auth/logout",{refresh_token:t},{accessToken:e})}async function d(e){return o("/v0/auth/me",e)}async function p(e,t){return(await a("/v0/reminders",t,{accessToken:e})).reminder}async function h(e){let t=await i(`${r()}/v0/reminders`,{method:"DELETE",headers:{authorization:`Bearer ${e}`}});if(204!==t.status&&!t.ok)throw await s(t)}async function m(e,t,r){return a("/v0/invite",void 0===r?{to:t}:{to:t,score:r},{accessToken:e})}e.s(["AuthApiError",0,n,"cancelReminder",0,h,"fetchMe",0,d,"logoutSession",0,f,"refreshAccessToken",0,l,"requestLoginCode",0,c,"scheduleReminder",0,p,"sendInvites",0,m,"verifyLoginCode",0,u],6375)},17707,e=>{"use strict";var t=e.i(2157),r=e.i(60526),n=e.i(50227),s=e.i(94930),i=e.i(6375);function a(){let e=process.env.FAILPROOFAI_AUTH_DIR;return e||(0,n.join)((0,r.homedir)(),".failproofai")}function o(){return(0,n.join)(a(),"auth.json")}function c(){return(0,n.join)(a(),"next-audit.json")}function u(){let e=o();if(!(0,t.existsSync)(e))return null;try{let r=(0,t.readFileSync)(e,"utf-8"),n=JSON.parse(r);if("string"!=typeof n.access_token||"string"!=typeof n.refresh_token||"number"!=typeof n.access_expires_at||"object"!=typeof n.user||!n.user||"string"!=typeof n.user.id||"string"!=typeof n.user.email)return null;return{access_token:n.access_token,refresh_token:n.refresh_token,access_expires_at:n.access_expires_at,refresh_expires_at:"number"==typeof n.refresh_expires_at?n.refresh_expires_at:n.access_expires_at,user:{id:n.user.id,email:n.user.email}}}catch{return null}}function l(e){(0,s.writeJsonAtomically)(o(),e)}function f(){let e=o();(0,t.existsSync)(e)&&(0,t.rmSync)(e,{force:!0})}function d(e,t){let r=Math.floor(Date.now()/1e3),n=e.user??t;if(!n)throw Error("authFromTokenResponse: missing user identity");return{access_token:e.access_token,refresh_token:e.refresh_token,access_expires_at:r+e.access_expires_in,refresh_expires_at:r+e.refresh_expires_in,user:n}}let p=new Map;async function h(e){let t=p.get(e.refresh_token);if(t)return t;let r=(async()=>{let t=d(await (0,i.refreshAccessToken)(e.refresh_token),e.user);return l(t),t})();p.set(e.refresh_token,r);try{return await r}finally{p.delete(e.refresh_token)}}async function m(){let e=u();if(!e)return null;let t=Math.floor(Date.now()/1e3);if(e.access_expires_at-t>60)return e;try{return await h(e)}catch(e){return e instanceof i.AuthApiError&&401===e.status&&f(),null}}async function y(){let e=await m();if(!e)return null;try{return{me:await (0,i.fetchMe)(e.access_token),auth:e}}catch(e){if(e instanceof i.AuthApiError&&401===e.status){let e=u();if(!e)return null;try{let t=await h(e);return{me:await (0,i.fetchMe)(t.access_token),auth:t}}catch(e){e instanceof i.AuthApiError&&401===e.status&&f()}}return null}}e.s(["authFromTokenResponse",0,d,"deleteAuth",0,f,"deleteReminder",0,function(){let e=c();(0,t.existsSync)(e)&&(0,t.rmSync)(e,{force:!0})},"readAuth",0,u,"readReminder",0,function(){let e=c();if(!(0,t.existsSync)(e))return null;try{let r=(0,t.readFileSync)(e,"utf-8"),n=JSON.parse(r);if("number"!=typeof n.next_audit_at||"string"!=typeof n.user_email||"number"!=typeof n.set_at)return null;return{next_audit_at:n.next_audit_at,user_email:n.user_email,set_at:n.set_at}}catch{return null}},"whoAmI",0,y,"writeAuth",0,l,"writeReminder",0,function(e){(0,s.writeJsonAtomically)(c(),e)}])}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__1myjm-d._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[60526,(t,e,i)=>{e.exports=t.x("node:os",()=>require("node:os"))},2157,(t,e,i)=>{e.exports=t.x("node:fs",()=>require("node:fs"))},66680,(t,e,i)=>{e.exports=t.x("node:crypto",()=>require("node:crypto"))},54214,67405,t=>{"use strict";var e=t.i(24868),i=t.i(14747),n=t.i(81580),r=t.i(56936);async function s(t,n,r,s){let a=`agent-${s}.jsonl`;for(let s of[(0,i.join)(t,n,a),(0,i.join)(t,n,r,a),(0,i.join)(t,n,r,"subagents",a)])if(!(0,i.relative)(t,s).startsWith(".."))try{return await (0,e.access)(s),s}catch(t){if("ENOENT"===t.code)continue;break}return null}var a=t.i(83534),o=t.i(71809),l=t.i(28557);function u(t){if(t<1e3)return`${t}ms`;let e=t/1e3;if(e<60)return`${e.toFixed(1)}s`;let i=Math.floor(e/60);if(i>=60){let t=Math.floor(i/60);return`${t}h ${i%60}m`}let n=(e%60).toFixed(0);return`${i}m ${n}s`}function c(t){let e=(0,l.formatDate)(t),i=t.getMilliseconds().toString().padStart(3,"0");return`${e}.${i}`}function f(t,e,i,n){return{_source:n,uuid:t.uuid||"",parentUuid:t.parentUuid??null,timestamp:e,timestampMs:i.getTime(),timestampFormatted:c(i)}}async function m(t,e){let i=t.split("\n").filter(t=>""!==t.trim()),n=new Map,r=[],s=[],a=new Set,o=!1;for(let t=0;t<i.length;t++){let l;t>0&&t%200==0&&await new Promise(t=>setImmediate(t));let u=i[t];try{l=JSON.parse(u)}catch{continue}let c={...l,_source:e};s.push(c);let m=l.type,p=l.timestamp;if(!p)continue;let d=new Date(p),y=d.getTime();if("user"===m){let t=l.message;if(Array.isArray(t?.content)){let e=t.content;if(e.some(t=>"tool_result"===t.type)){let t=l.toolUseResult,i="string"==typeof t?.agentId?t.agentId:void 0;for(let t of(i&&/^[a-f0-9]+$/.test(i)&&a.add(i),e)){if("tool_result"!==t.type)continue;let e=t.tool_use_id;if(!e)continue;let{text:r,images:s}=function(t){let e=t.content;if("string"==typeof e)return{text:e};if(Array.isArray(e)){let t=e.filter(t=>"text"===t.type).map(t=>t.text),i=e.filter(t=>"image"===t.type).map(t=>{let e=t.source;return{base64:e.data,mediaType:e.media_type}}).filter(t=>t.base64&&t.mediaType);return{text:t.length>0?t.join("\n"):void 0,images:i.length>0?i:void 0}}return{}}(t);n.set(e,{timestamp:p,timestampMs:y,content:r,images:s,agentId:i})}continue}}let i="string"==typeof t?.content?t.content:"";r.push({type:"user",...f(l,p,d,e),message:{role:"user",content:i}});continue}if("assistant"===m){let t=l.message,i=[];if(Array.isArray(t?.content)&&(i=t.content.filter(t=>["text","tool_use","thinking"].includes(t.type)).map(t=>{if("text"===t.type)return{type:"text",text:t.text};if("tool_use"===t.type){let e=t.input;return{type:"tool_use",id:t.id,name:t.name,input:t.input??{},..."Task"===t.name&&e?{subagentType:e.subagent_type,subagentDescription:e.description}:{}}}return{type:"thinking",thinking:t.thinking,signature:t.signature}})),0===i.length)continue;r.push({type:"assistant",...f(l,p,d,e),message:{role:"assistant",content:i,model:t?.model}});continue}if("file-history-snapshot"===m||"progress"===m||"system"===m){r.push({type:m,...f(l,p,d,e),raw:{...l}});continue}if("queue-operation"===m){let t=o?"Session Resumed":"Session Started";o=!0,r.push({type:"queue-operation",...f(l,p,d,e),label:t});continue}}let l=0;for(let t of r)if("assistant"===t.type)for(let e of(++l%200==0&&await new Promise(t=>setImmediate(t)),t.message.content)){if("tool_use"!==e.type)continue;let i=n.get(e.id);if(!i)continue;let r=new Date(i.timestamp),s=Math.max(0,i.timestampMs-t.timestampMs);e.result={timestamp:i.timestamp,timestampFormatted:c(r),content:i.content,images:i.images,durationMs:s,durationFormatted:u(s)},i.agentId&&(e.subagentId=i.agentId)}return r.length>500&&await new Promise(t=>setImmediate(t)),r.sort((t,e)=>t.timestampMs-e.timestampMs),{entries:r,rawLines:s,subagentIds:Array.from(a)}}async function p(t,e="session"){return(await m(t,e)).entries}async function d(t,a){let l=(0,r.resolveProjectPath)(t),u=(0,n.getClaudeProjectsPath)(),c=(0,i.join)(l,`${a}.jsonl`),f=await (0,e.readFile)(c,"utf-8"),{entries:p,rawLines:d,subagentIds:y}=await m(f,"session");if(0===y.length)return{entries:p,rawLines:d,subagentIds:[]};let g=await (0,o.batchAll)(y.map(i=>async()=>{let n=`agent-${i}`,r=await s(u,t,a,i);if(!r)return null;let o=await (0,e.readFile)(r,"utf-8"),{entries:l,rawLines:c}=await m(o,n);return{entries:l,rawLines:c}}),4),h=[...p],w=[...d];for(let t of g)"fulfilled"===t.status&&t.value&&(h.push(...t.value.entries),w.push(...t.value.rawLines));return h.length>500&&await new Promise(t=>setImmediate(t)),h.sort((t,e)=>t.timestampMs-e.timestampMs),{entries:h,rawLines:w,subagentIds:y}}t.s(["formatDuration",0,u],67405),(0,a.runtimeCache)((t,e)=>d(t,e),60,{maxSize:50}),t.s(["baseEntry",0,f,"formatTimestamp",0,c,"parseLogContent",0,p,"parseRawLines",0,function(t,e){return t.split("\n").filter(t=>""!==t.trim()).flatMap(t=>{try{let i=JSON.parse(t);return void 0!==e&&(i._source=e),[i]}catch{return[]}})}],54214)},93114,t=>{"use strict";var e=t.i(12714),i=t.i(2157),n=t.i(60526),r=t.i(50227),s=t.i(83534),a=t.i(54214),o=t.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}$/,u=new Set(["CONVERSATION_HISTORY","CHECKPOINT"]);function c(){return process.env.ANTIGRAVITY_HOME||(0,r.join)((0,n.homedir)(),".gemini","antigravity-cli")}function f(){return(0,r.join)(c(),"brain")}function m(){return(0,r.join)(".system_generated","logs","transcript_full.jsonl")}function p(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}function d(t,e="session"){let i=[],n=new Map,r=Date.now();for(let s=0;s<t.length;s++){let l=t[s];if(!p(l))continue;let c="string"==typeof l.type?l.type:"";if(!c||u.has(c))continue;let f=function(t,e){if("number"==typeof t&&Number.isFinite(t)){if(t>1e12)return new Date(t);if(t>1e9)return new Date(1e3*t)}if("string"==typeof t){let e=Date.parse(t);if(!Number.isNaN(e))return new Date(e)}return new Date(e)}(l.created_at,r+s),m=f.toISOString(),d="number"==typeof l.step_index?l.step_index:s,y={uuid:`antigravity-${d}`,parentUuid:null},g=(0,a.baseEntry)(y,m,f,e);if("USER_INPUT"===c){let t="string"==typeof l.content?l.content:"";i.push({type:"user",...g,message:{role:"user",content:t}});continue}if("PLANNER_RESPONSE"===c){let t=[];if("string"==typeof l.content&&l.content.length>0&&t.push({type:"text",text:l.content}),Array.isArray(l.tool_calls))for(let e=0;e<l.tool_calls.length;e++){let i=l.tool_calls[e];if(!p(i))continue;let r="string"==typeof i.name?i.name:"tool",s={type:"tool_use",id:`${r}-${d}-${e}`,name:r,input:p(i.args)?i.args:{}};t.push(s);let a=r.toUpperCase(),o=n.get(a)??[];o.push({block:s,startMs:f.getTime()}),n.set(a,o)}if(0===t.length)continue;i.push({type:"assistant",...g,message:{role:"assistant",content:t}});continue}let h=n.get(c);if(h&&h.length>0){let{block:t,startMs:e}=h.shift(),i=Math.max(0,f.getTime()-e);t.result={timestamp:m,timestampFormatted:(0,a.formatTimestamp)(f),content:"string"==typeof l.content?l.content:"",durationMs:i,durationFormatted:(0,o.formatDuration)(i)};continue}i.push({type:"system",...g,raw:y})}return i.sort((t,e)=>t.timestampMs-e.timestampMs),i}function y(t){if(!l.test(t))return null;let e=(0,r.join)(f(),t,m());try{if((0,i.statSync)(e).isFile())return e}catch{}return null}async function g(t){let i,n=y(t);if(!n)return null;try{i=await (0,e.readFile)(n,"utf-8")}catch{return null}let r=(0,a.parseRawLines)(i,"session"),s=d(r,"session"),o=function(t){for(let e of t)if(p(e)&&Array.isArray(e.tool_calls))for(let t of e.tool_calls){if(!p(t)||!p(t.args))continue;let e=t.args.Cwd??t.args.cwd;if("string"==typeof e&&e.length>0)return e}}(r);return{entries:s,rawLines:r,cwd:o,filePath:n}}(0,s.runtimeCache)(t=>g(t),60,{maxSize:50}),t.s(["antigravityHome",0,c,"antigravityLinesToLogEntries",0,d,"findAntigravityTranscript",0,y,"getAntigravitySessionLog",0,g,"listAntigravityTranscripts",0,function(){let t,e=f(),n=m(),s=[];try{t=(0,i.readdirSync)(e,{withFileTypes:!0}).filter(t=>t.isDirectory())}catch{return s}for(let a of t){let t=a.name;if(!l.test(t))continue;let o=(0,r.join)(e,t,n);try{let e=(0,i.statSync)(o);if(!e.isFile())continue;s.push({conversationId:t,transcriptPath:o,mtimeMs:e.mtimeMs,sizeBytes:e.size})}catch{}}return s}])},30441,t=>{"use strict";var e=t.i(50227),i=t.i(79708),n=t.i(93114),r=t.i(83534),s=t.i(81580),a=t.i(28557),o=t.i(40911);function l(){return(0,e.join)((0,n.antigravityHome)(),"conversation_summaries.db")}async function u(){let t=new Map,e=await (0,i.openSqliteReadonly)(l());if(!e)return t;try{for(let i of e.query("SELECT conversation_id, title, step_count, workspace_uris, last_modified_time FROM conversation_summaries"))i.conversation_id&&t.set(i.conversation_id,{title:i.title??void 0,cwd:function(t){let e;if(!t)return;try{let i=JSON.parse(t);Array.isArray(i)&&"string"==typeof i[0]?e=i[0]:"string"==typeof i&&(e=i)}catch{e=t}if(!e)return;let i=e.replace(/^file:\/\//,"");return i.length>0?i:void 0}(i.workspace_uris),stepCount:"number"==typeof i.step_count?i.step_count:void 0,lastMs:function(t){if("number"==typeof t&&Number.isFinite(t))return t>1e12?t:t>1e9?1e3*t:void 0;if("string"==typeof t){let e=Date.parse(t);if(!Number.isNaN(e))return e}}(i.last_modified_time)})}catch{}finally{e.close()}return t}async function c(){let t;try{t=(0,n.listAntigravityTranscripts)()}catch(t){return(0,o.logWarn)("Failed to scan Antigravity brain dir:",t),[]}let e=await u(),i=[];for(let r of t){let t=e.get(r.conversationId),s=t?.cwd??null;if(!s)try{let t=await (0,n.getAntigravitySessionLog)(r.conversationId);s=t?.cwd??null}catch{s=null}i.push({conversationId:r.conversationId,cwd:s,title:t?.title,mtimeMs:t?.lastMs??r.mtimeMs})}return i}let f="antigravity";async function m(){let t=await c(),e=new Map;for(let i of t){let t=i.cwd?(0,s.encodeFolderName)(i.cwd):f,n=i.cwd??"antigravity",r=e.get(t);(!r||i.mtimeMs>r.latest)&&e.set(t,{latest:i.mtimeMs,path:n})}let i=[];for(let[t,{latest:n,path:r}]of e){let e=new Date(n);i.push({name:t,path:r,isDirectory:!0,lastModified:e,lastModifiedFormatted:(0,a.formatDate)(e),cli:["antigravity"]})}return i.sort((t,e)=>e.lastModified.getTime()-t.lastModified.getTime()),i}async function p(t){let e=(await c()).filter(e=>(e.cwd?(0,s.encodeFolderName)(e.cwd):f)===t);if(0===e.length)return{cwd:null,sessions:[]};let i=[...e].sort((t,e)=>e.mtimeMs-t.mtimeMs);return{cwd:i.find(t=>t.cwd)?.cwd??(t===f?null:(0,s.decodeFolderName)(t)),sessions:i.map(t=>{let e=new Date(t.mtimeMs);return{name:t.title??t.conversationId,path:`antigravity://${t.conversationId}`,lastModified:e,lastModifiedFormatted:(0,a.formatDate)(e),sessionId:t.conversationId,cli:"antigravity"}})}}let d=(0,r.runtimeCache)(m,30),y=(0,r.runtimeCache)(t=>p(t),30,{maxSize:50});t.s(["antigravitySummariesDbPath",0,l,"getAntigravityIndex",0,u,"getAntigravityProjects",0,m,"getAntigravitySessionsByEncodedName",0,p,"getCachedAntigravityProjects",0,d,"getCachedAntigravitySessionsByEncodedName",0,y])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1qb590j._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[74533,(t,e,i)=>{e.exports=t.x("node:child_process",()=>require("node:child_process"))},54214,67405,t=>{"use strict";var e=t.i(24868),i=t.i(14747),n=t.i(81580),s=t.i(56936);async function r(t,n,s,r){let a=`agent-${r}.jsonl`;for(let r of[(0,i.join)(t,n,a),(0,i.join)(t,n,s,a),(0,i.join)(t,n,s,"subagents",a)])if(!(0,i.relative)(t,r).startsWith(".."))try{return await (0,e.access)(r),r}catch(t){if("ENOENT"===t.code)continue;break}return null}var a=t.i(83534),o=t.i(71809),u=t.i(28557);function l(t){if(t<1e3)return`${t}ms`;let e=t/1e3;if(e<60)return`${e.toFixed(1)}s`;let i=Math.floor(e/60);if(i>=60){let t=Math.floor(i/60);return`${t}h ${i%60}m`}let n=(e%60).toFixed(0);return`${i}m ${n}s`}function d(t){let e=(0,u.formatDate)(t),i=t.getMilliseconds().toString().padStart(3,"0");return`${e}.${i}`}function m(t,e,i,n){return{_source:n,uuid:t.uuid||"",parentUuid:t.parentUuid??null,timestamp:e,timestampMs:i.getTime(),timestampFormatted:d(i)}}async function p(t,e){let i=t.split("\n").filter(t=>""!==t.trim()),n=new Map,s=[],r=[],a=new Set,o=!1;for(let t=0;t<i.length;t++){let u;t>0&&t%200==0&&await new Promise(t=>setImmediate(t));let l=i[t];try{u=JSON.parse(l)}catch{continue}let d={...u,_source:e};r.push(d);let p=u.type,c=u.timestamp;if(!c)continue;let f=new Date(c),g=f.getTime();if("user"===p){let t=u.message;if(Array.isArray(t?.content)){let e=t.content;if(e.some(t=>"tool_result"===t.type)){let t=u.toolUseResult,i="string"==typeof t?.agentId?t.agentId:void 0;for(let t of(i&&/^[a-f0-9]+$/.test(i)&&a.add(i),e)){if("tool_result"!==t.type)continue;let e=t.tool_use_id;if(!e)continue;let{text:s,images:r}=function(t){let e=t.content;if("string"==typeof e)return{text:e};if(Array.isArray(e)){let t=e.filter(t=>"text"===t.type).map(t=>t.text),i=e.filter(t=>"image"===t.type).map(t=>{let e=t.source;return{base64:e.data,mediaType:e.media_type}}).filter(t=>t.base64&&t.mediaType);return{text:t.length>0?t.join("\n"):void 0,images:i.length>0?i:void 0}}return{}}(t);n.set(e,{timestamp:c,timestampMs:g,content:s,images:r,agentId:i})}continue}}let i="string"==typeof t?.content?t.content:"";s.push({type:"user",...m(u,c,f,e),message:{role:"user",content:i}});continue}if("assistant"===p){let t=u.message,i=[];if(Array.isArray(t?.content)&&(i=t.content.filter(t=>["text","tool_use","thinking"].includes(t.type)).map(t=>{if("text"===t.type)return{type:"text",text:t.text};if("tool_use"===t.type){let e=t.input;return{type:"tool_use",id:t.id,name:t.name,input:t.input??{},..."Task"===t.name&&e?{subagentType:e.subagent_type,subagentDescription:e.description}:{}}}return{type:"thinking",thinking:t.thinking,signature:t.signature}})),0===i.length)continue;s.push({type:"assistant",...m(u,c,f,e),message:{role:"assistant",content:i,model:t?.model}});continue}if("file-history-snapshot"===p||"progress"===p||"system"===p){s.push({type:p,...m(u,c,f,e),raw:{...u}});continue}if("queue-operation"===p){let t=o?"Session Resumed":"Session Started";o=!0,s.push({type:"queue-operation",...m(u,c,f,e),label:t});continue}}let u=0;for(let t of s)if("assistant"===t.type)for(let e of(++u%200==0&&await new Promise(t=>setImmediate(t)),t.message.content)){if("tool_use"!==e.type)continue;let i=n.get(e.id);if(!i)continue;let s=new Date(i.timestamp),r=Math.max(0,i.timestampMs-t.timestampMs);e.result={timestamp:i.timestamp,timestampFormatted:d(s),content:i.content,images:i.images,durationMs:r,durationFormatted:l(r)},i.agentId&&(e.subagentId=i.agentId)}return s.length>500&&await new Promise(t=>setImmediate(t)),s.sort((t,e)=>t.timestampMs-e.timestampMs),{entries:s,rawLines:r,subagentIds:Array.from(a)}}async function c(t,e="session"){return(await p(t,e)).entries}async function f(t,a){let u=(0,s.resolveProjectPath)(t),l=(0,n.getClaudeProjectsPath)(),d=(0,i.join)(u,`${a}.jsonl`),m=await (0,e.readFile)(d,"utf-8"),{entries:c,rawLines:f,subagentIds:g}=await p(m,"session");if(0===g.length)return{entries:c,rawLines:f,subagentIds:[]};let y=await (0,o.batchAll)(g.map(i=>async()=>{let n=`agent-${i}`,s=await r(l,t,a,i);if(!s)return null;let o=await (0,e.readFile)(s,"utf-8"),{entries:u,rawLines:d}=await p(o,n);return{entries:u,rawLines:d}}),4),_=[...c],h=[...f];for(let t of y)"fulfilled"===t.status&&t.value&&(_.push(...t.value.entries),h.push(...t.value.rawLines));return _.length>500&&await new Promise(t=>setImmediate(t)),_.sort((t,e)=>t.timestampMs-e.timestampMs),{entries:_,rawLines:h,subagentIds:g}}t.s(["formatDuration",0,l],67405),(0,a.runtimeCache)((t,e)=>f(t,e),60,{maxSize:50}),t.s(["baseEntry",0,m,"formatTimestamp",0,d,"parseLogContent",0,c],54214)},99440,t=>{"use strict";var e=t.i(74533),i=t.i(83534),n=t.i(54214),s=t.i(67405);function r(t){try{let i=(0,e.execFileSync)("opencode",["db","--format","json",t],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]});if(!i.trim())return[];let n=JSON.parse(i);if(!Array.isArray(n))return null;return n}catch{return null}}function a(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}function o(t){if("string"!=typeof t||0===t.length)return null;try{let e=JSON.parse(t);return a(e)?e:null}catch{return null}}async function u(t){if(!t||!/^[A-Za-z0-9_-]+$/.test(t))return null;let e=r(`SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session WHERE id = '${t}'`);if(!e||0===e.length)return null;let i=e[0],u=r(`SELECT id, session_id, time_created, time_updated, data FROM message WHERE session_id = '${t}' ORDER BY time_created ASC`),l=r(`SELECT id, message_id, session_id, time_created, time_updated, data FROM part WHERE session_id = '${t}' ORDER BY time_created ASC`);if(!u)return{entries:[],rawLines:[],cwd:i.directory??void 0,filePath:`opencode://${t}`};let d=new Map;for(let t of l??[]){let e=d.get(t.message_id);e||(e=[],d.set(t.message_id,e)),e.push(t)}let m=[],p=[];for(let t of u){let e=d.get(t.id)??[];m.push(function(t,e,i){let r=o(t.data)??{},u="string"==typeof r.role?r.role:"system",l=new Date(t.time_created),d=l.toISOString(),m={uuid:t.id,parentUuid:null},p=(0,n.baseEntry)(m,d,l,i),c=[],f="";for(let t of e){let e=o(t.data);if(!e)continue;let i="string"==typeof e.type?e.type:"unknown";if("text"===i){let t="string"==typeof e.text?e.text:"string"==typeof e.content?e.content:"";t&&(c.push({type:"text",text:t}),f+=(f?"\n":"")+t);continue}if("tool"===i){let i="string"==typeof e.tool?e.tool:"string"==typeof e.name?e.name:"tool",r=a(e.state)?e.state:null,o=r&&a(r.input)?r.input:a(e.input)?e.input:a(e.args)?e.args:{},u={type:"tool_use",id:t.id,name:i,input:o},l=r&&"string"==typeof r.status?r.status:"";if(r&&("completed"===l||"error"===l)){let e=("error"===l&&"string"==typeof r.error?r.error:null)??r.output,i="string"==typeof e?e:null!=e?JSON.stringify(e):"",o=a(r.time)?r.time:{},d="number"==typeof o.start?o.start:t.time_created,m="number"==typeof o.end?o.end:t.time_updated,p=Math.max(0,m-d),c=new Date(m);u.result={timestamp:c.toISOString(),timestampFormatted:(0,n.formatTimestamp)(c),content:i,durationMs:p,durationFormatted:(0,s.formatDuration)(p)}}c.push(u);continue}c.push({type:"text",text:`[opencode ${i}]`})}if("user"===u)return{...p,type:"user",message:{role:"user",content:f}};if("assistant"===u){let t=a(r.model)?r.model:null,e=t&&"string"==typeof t.modelID?t.modelID:void 0;return{...p,type:"assistant",message:{role:"assistant",content:c,model:e}}}return{...p,type:"system",raw:{id:t.id,role:u,parts:c}}}(t,e,"session"));let i=o(t.data);p.push({id:t.id,session_id:t.session_id,time_created:t.time_created,data:i??t.data})}return{entries:m,rawLines:p,cwd:i.directory??void 0,filePath:`opencode://${t}`}}async function l(t){if(!t||!/^[A-Za-z0-9_-]+$/.test(t))return null;let e=r(`SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session WHERE id = '${t}'`);if(!e||0===e.length)return null;let i=r(`SELECT id, session_id, time_created, time_updated, data FROM message WHERE session_id = '${t}' ORDER BY time_created ASC`),n=r(`SELECT id, message_id, session_id, time_created, time_updated, data FROM part WHERE session_id = '${t}' ORDER BY time_created ASC`);return null===i||null===n?null:{session:e[0],messages:i.map(t=>({...t,data:o(t.data)??t.data})),parts:n.map(t=>({...t,data:o(t.data)??t.data}))}}(0,i.runtimeCache)(t=>u(t),30,{maxSize:50}),t.s(["getOpenCodeSessionExport",0,l,"getOpenCodeSessionLog",0,u])}];
1
+ module.exports=[74533,(t,e,i)=>{e.exports=t.x("node:child_process",()=>require("node:child_process"))},54214,67405,t=>{"use strict";var e=t.i(24868),i=t.i(14747),n=t.i(81580),s=t.i(56936);async function r(t,n,s,r){let a=`agent-${r}.jsonl`;for(let r of[(0,i.join)(t,n,a),(0,i.join)(t,n,s,a),(0,i.join)(t,n,s,"subagents",a)])if(!(0,i.relative)(t,r).startsWith(".."))try{return await (0,e.access)(r),r}catch(t){if("ENOENT"===t.code)continue;break}return null}var a=t.i(83534),o=t.i(71809),u=t.i(28557);function l(t){if(t<1e3)return`${t}ms`;let e=t/1e3;if(e<60)return`${e.toFixed(1)}s`;let i=Math.floor(e/60);if(i>=60){let t=Math.floor(i/60);return`${t}h ${i%60}m`}let n=(e%60).toFixed(0);return`${i}m ${n}s`}function d(t){let e=(0,u.formatDate)(t),i=t.getMilliseconds().toString().padStart(3,"0");return`${e}.${i}`}function m(t,e,i,n){return{_source:n,uuid:t.uuid||"",parentUuid:t.parentUuid??null,timestamp:e,timestampMs:i.getTime(),timestampFormatted:d(i)}}async function p(t,e){let i=t.split("\n").filter(t=>""!==t.trim()),n=new Map,s=[],r=[],a=new Set,o=!1;for(let t=0;t<i.length;t++){let u;t>0&&t%200==0&&await new Promise(t=>setImmediate(t));let l=i[t];try{u=JSON.parse(l)}catch{continue}let d={...u,_source:e};r.push(d);let p=u.type,c=u.timestamp;if(!c)continue;let f=new Date(c),g=f.getTime();if("user"===p){let t=u.message;if(Array.isArray(t?.content)){let e=t.content;if(e.some(t=>"tool_result"===t.type)){let t=u.toolUseResult,i="string"==typeof t?.agentId?t.agentId:void 0;for(let t of(i&&/^[a-f0-9]+$/.test(i)&&a.add(i),e)){if("tool_result"!==t.type)continue;let e=t.tool_use_id;if(!e)continue;let{text:s,images:r}=function(t){let e=t.content;if("string"==typeof e)return{text:e};if(Array.isArray(e)){let t=e.filter(t=>"text"===t.type).map(t=>t.text),i=e.filter(t=>"image"===t.type).map(t=>{let e=t.source;return{base64:e.data,mediaType:e.media_type}}).filter(t=>t.base64&&t.mediaType);return{text:t.length>0?t.join("\n"):void 0,images:i.length>0?i:void 0}}return{}}(t);n.set(e,{timestamp:c,timestampMs:g,content:s,images:r,agentId:i})}continue}}let i="string"==typeof t?.content?t.content:"";s.push({type:"user",...m(u,c,f,e),message:{role:"user",content:i}});continue}if("assistant"===p){let t=u.message,i=[];if(Array.isArray(t?.content)&&(i=t.content.filter(t=>["text","tool_use","thinking"].includes(t.type)).map(t=>{if("text"===t.type)return{type:"text",text:t.text};if("tool_use"===t.type){let e=t.input;return{type:"tool_use",id:t.id,name:t.name,input:t.input??{},..."Task"===t.name&&e?{subagentType:e.subagent_type,subagentDescription:e.description}:{}}}return{type:"thinking",thinking:t.thinking,signature:t.signature}})),0===i.length)continue;s.push({type:"assistant",...m(u,c,f,e),message:{role:"assistant",content:i,model:t?.model}});continue}if("file-history-snapshot"===p||"progress"===p||"system"===p){s.push({type:p,...m(u,c,f,e),raw:{...u}});continue}if("queue-operation"===p){let t=o?"Session Resumed":"Session Started";o=!0,s.push({type:"queue-operation",...m(u,c,f,e),label:t});continue}}let u=0;for(let t of s)if("assistant"===t.type)for(let e of(++u%200==0&&await new Promise(t=>setImmediate(t)),t.message.content)){if("tool_use"!==e.type)continue;let i=n.get(e.id);if(!i)continue;let s=new Date(i.timestamp),r=Math.max(0,i.timestampMs-t.timestampMs);e.result={timestamp:i.timestamp,timestampFormatted:d(s),content:i.content,images:i.images,durationMs:r,durationFormatted:l(r)},i.agentId&&(e.subagentId=i.agentId)}return s.length>500&&await new Promise(t=>setImmediate(t)),s.sort((t,e)=>t.timestampMs-e.timestampMs),{entries:s,rawLines:r,subagentIds:Array.from(a)}}async function c(t,e="session"){return(await p(t,e)).entries}async function f(t,a){let u=(0,s.resolveProjectPath)(t),l=(0,n.getClaudeProjectsPath)(),d=(0,i.join)(u,`${a}.jsonl`),m=await (0,e.readFile)(d,"utf-8"),{entries:c,rawLines:f,subagentIds:g}=await p(m,"session");if(0===g.length)return{entries:c,rawLines:f,subagentIds:[]};let y=await (0,o.batchAll)(g.map(i=>async()=>{let n=`agent-${i}`,s=await r(l,t,a,i);if(!s)return null;let o=await (0,e.readFile)(s,"utf-8"),{entries:u,rawLines:d}=await p(o,n);return{entries:u,rawLines:d}}),4),_=[...c],h=[...f];for(let t of y)"fulfilled"===t.status&&t.value&&(_.push(...t.value.entries),h.push(...t.value.rawLines));return _.length>500&&await new Promise(t=>setImmediate(t)),_.sort((t,e)=>t.timestampMs-e.timestampMs),{entries:_,rawLines:h,subagentIds:g}}t.s(["formatDuration",0,l],67405),(0,a.runtimeCache)((t,e)=>f(t,e),60,{maxSize:50}),t.s(["baseEntry",0,m,"formatTimestamp",0,d,"parseLogContent",0,c,"parseRawLines",0,function(t,e){return t.split("\n").filter(t=>""!==t.trim()).flatMap(t=>{try{let i=JSON.parse(t);return void 0!==e&&(i._source=e),[i]}catch{return[]}})}],54214)},99440,t=>{"use strict";var e=t.i(74533),i=t.i(83534),n=t.i(54214),s=t.i(67405);function r(t){try{let i=(0,e.execFileSync)("opencode",["db","--format","json",t],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]});if(!i.trim())return[];let n=JSON.parse(i);if(!Array.isArray(n))return null;return n}catch{return null}}function a(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}function o(t){if("string"!=typeof t||0===t.length)return null;try{let e=JSON.parse(t);return a(e)?e:null}catch{return null}}async function u(t){if(!t||!/^[A-Za-z0-9_-]+$/.test(t))return null;let e=r(`SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session WHERE id = '${t}'`);if(!e||0===e.length)return null;let i=e[0],u=r(`SELECT id, session_id, time_created, time_updated, data FROM message WHERE session_id = '${t}' ORDER BY time_created ASC`),l=r(`SELECT id, message_id, session_id, time_created, time_updated, data FROM part WHERE session_id = '${t}' ORDER BY time_created ASC`);if(!u)return{entries:[],rawLines:[],cwd:i.directory??void 0,filePath:`opencode://${t}`};let d=new Map;for(let t of l??[]){let e=d.get(t.message_id);e||(e=[],d.set(t.message_id,e)),e.push(t)}let m=[],p=[];for(let t of u){let e=d.get(t.id)??[];m.push(function(t,e,i){let r=o(t.data)??{},u="string"==typeof r.role?r.role:"system",l=new Date(t.time_created),d=l.toISOString(),m={uuid:t.id,parentUuid:null},p=(0,n.baseEntry)(m,d,l,i),c=[],f="";for(let t of e){let e=o(t.data);if(!e)continue;let i="string"==typeof e.type?e.type:"unknown";if("text"===i){let t="string"==typeof e.text?e.text:"string"==typeof e.content?e.content:"";t&&(c.push({type:"text",text:t}),f+=(f?"\n":"")+t);continue}if("tool"===i){let i="string"==typeof e.tool?e.tool:"string"==typeof e.name?e.name:"tool",r=a(e.state)?e.state:null,o=r&&a(r.input)?r.input:a(e.input)?e.input:a(e.args)?e.args:{},u={type:"tool_use",id:t.id,name:i,input:o},l=r&&"string"==typeof r.status?r.status:"";if(r&&("completed"===l||"error"===l)){let e=("error"===l&&"string"==typeof r.error?r.error:null)??r.output,i="string"==typeof e?e:null!=e?JSON.stringify(e):"",o=a(r.time)?r.time:{},d="number"==typeof o.start?o.start:t.time_created,m="number"==typeof o.end?o.end:t.time_updated,p=Math.max(0,m-d),c=new Date(m);u.result={timestamp:c.toISOString(),timestampFormatted:(0,n.formatTimestamp)(c),content:i,durationMs:p,durationFormatted:(0,s.formatDuration)(p)}}c.push(u);continue}c.push({type:"text",text:`[opencode ${i}]`})}if("user"===u)return{...p,type:"user",message:{role:"user",content:f}};if("assistant"===u){let t=a(r.model)?r.model:null,e=t&&"string"==typeof t.modelID?t.modelID:void 0;return{...p,type:"assistant",message:{role:"assistant",content:c,model:e}}}return{...p,type:"system",raw:{id:t.id,role:u,parts:c}}}(t,e,"session"));let i=o(t.data);p.push({id:t.id,session_id:t.session_id,time_created:t.time_created,data:i??t.data})}return{entries:m,rawLines:p,cwd:i.directory??void 0,filePath:`opencode://${t}`}}async function l(t){if(!t||!/^[A-Za-z0-9_-]+$/.test(t))return null;let e=r(`SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session WHERE id = '${t}'`);if(!e||0===e.length)return null;let i=r(`SELECT id, session_id, time_created, time_updated, data FROM message WHERE session_id = '${t}' ORDER BY time_created ASC`),n=r(`SELECT id, message_id, session_id, time_created, time_updated, data FROM part WHERE session_id = '${t}' ORDER BY time_created ASC`);return null===i||null===n?null:{session:e[0],messages:i.map(t=>({...t,data:o(t.data)??t.data})),parts:n.map(t=>({...t,data:o(t.data)??t.data}))}}(0,i.runtimeCache)(t=>u(t),30,{maxSize:50}),t.s(["getOpenCodeSessionExport",0,l,"getOpenCodeSessionLog",0,u])}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__1qxztj-._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[60526,(t,e,n)=>{e.exports=t.x("node:os",()=>require("node:os"))},2157,(t,e,n)=>{e.exports=t.x("node:fs",()=>require("node:fs"))},54214,67405,t=>{"use strict";var e=t.i(24868),n=t.i(14747),i=t.i(81580),r=t.i(56936);async function s(t,i,r,s){let a=`agent-${s}.jsonl`;for(let s of[(0,n.join)(t,i,a),(0,n.join)(t,i,r,a),(0,n.join)(t,i,r,"subagents",a)])if(!(0,n.relative)(t,s).startsWith(".."))try{return await (0,e.access)(s),s}catch(t){if("ENOENT"===t.code)continue;break}return null}var a=t.i(83534),o=t.i(71809),u=t.i(28557);function l(t){if(t<1e3)return`${t}ms`;let e=t/1e3;if(e<60)return`${e.toFixed(1)}s`;let n=Math.floor(e/60);if(n>=60){let t=Math.floor(n/60);return`${t}h ${n%60}m`}let i=(e%60).toFixed(0);return`${n}m ${i}s`}function f(t){let e=(0,u.formatDate)(t),n=t.getMilliseconds().toString().padStart(3,"0");return`${e}.${n}`}function c(t,e,n,i){return{_source:i,uuid:t.uuid||"",parentUuid:t.parentUuid??null,timestamp:e,timestampMs:n.getTime(),timestampFormatted:f(n)}}async function m(t,e){let n=t.split("\n").filter(t=>""!==t.trim()),i=new Map,r=[],s=[],a=new Set,o=!1;for(let t=0;t<n.length;t++){let u;t>0&&t%200==0&&await new Promise(t=>setImmediate(t));let l=n[t];try{u=JSON.parse(l)}catch{continue}let f={...u,_source:e};s.push(f);let m=u.type,p=u.timestamp;if(!p)continue;let y=new Date(p),g=y.getTime();if("user"===m){let t=u.message;if(Array.isArray(t?.content)){let e=t.content;if(e.some(t=>"tool_result"===t.type)){let t=u.toolUseResult,n="string"==typeof t?.agentId?t.agentId:void 0;for(let t of(n&&/^[a-f0-9]+$/.test(n)&&a.add(n),e)){if("tool_result"!==t.type)continue;let e=t.tool_use_id;if(!e)continue;let{text:r,images:s}=function(t){let e=t.content;if("string"==typeof e)return{text:e};if(Array.isArray(e)){let t=e.filter(t=>"text"===t.type).map(t=>t.text),n=e.filter(t=>"image"===t.type).map(t=>{let e=t.source;return{base64:e.data,mediaType:e.media_type}}).filter(t=>t.base64&&t.mediaType);return{text:t.length>0?t.join("\n"):void 0,images:n.length>0?n:void 0}}return{}}(t);i.set(e,{timestamp:p,timestampMs:g,content:r,images:s,agentId:n})}continue}}let n="string"==typeof t?.content?t.content:"";r.push({type:"user",...c(u,p,y,e),message:{role:"user",content:n}});continue}if("assistant"===m){let t=u.message,n=[];if(Array.isArray(t?.content)&&(n=t.content.filter(t=>["text","tool_use","thinking"].includes(t.type)).map(t=>{if("text"===t.type)return{type:"text",text:t.text};if("tool_use"===t.type){let e=t.input;return{type:"tool_use",id:t.id,name:t.name,input:t.input??{},..."Task"===t.name&&e?{subagentType:e.subagent_type,subagentDescription:e.description}:{}}}return{type:"thinking",thinking:t.thinking,signature:t.signature}})),0===n.length)continue;r.push({type:"assistant",...c(u,p,y,e),message:{role:"assistant",content:n,model:t?.model}});continue}if("file-history-snapshot"===m||"progress"===m||"system"===m){r.push({type:m,...c(u,p,y,e),raw:{...u}});continue}if("queue-operation"===m){let t=o?"Session Resumed":"Session Started";o=!0,r.push({type:"queue-operation",...c(u,p,y,e),label:t});continue}}let u=0;for(let t of r)if("assistant"===t.type)for(let e of(++u%200==0&&await new Promise(t=>setImmediate(t)),t.message.content)){if("tool_use"!==e.type)continue;let n=i.get(e.id);if(!n)continue;let r=new Date(n.timestamp),s=Math.max(0,n.timestampMs-t.timestampMs);e.result={timestamp:n.timestamp,timestampFormatted:f(r),content:n.content,images:n.images,durationMs:s,durationFormatted:l(s)},n.agentId&&(e.subagentId=n.agentId)}return r.length>500&&await new Promise(t=>setImmediate(t)),r.sort((t,e)=>t.timestampMs-e.timestampMs),{entries:r,rawLines:s,subagentIds:Array.from(a)}}async function p(t,e="session"){return(await m(t,e)).entries}async function y(t,a){let u=(0,r.resolveProjectPath)(t),l=(0,i.getClaudeProjectsPath)(),f=(0,n.join)(u,`${a}.jsonl`),c=await (0,e.readFile)(f,"utf-8"),{entries:p,rawLines:y,subagentIds:g}=await m(c,"session");if(0===g.length)return{entries:p,rawLines:y,subagentIds:[]};let d=await (0,o.batchAll)(g.map(n=>async()=>{let i=`agent-${n}`,r=await s(l,t,a,n);if(!r)return null;let o=await (0,e.readFile)(r,"utf-8"),{entries:u,rawLines:f}=await m(o,i);return{entries:u,rawLines:f}}),4),h=[...p],w=[...y];for(let t of d)"fulfilled"===t.status&&t.value&&(h.push(...t.value.entries),w.push(...t.value.rawLines));return h.length>500&&await new Promise(t=>setImmediate(t)),h.sort((t,e)=>t.timestampMs-e.timestampMs),{entries:h,rawLines:w,subagentIds:g}}t.s(["formatDuration",0,l],67405),(0,a.runtimeCache)((t,e)=>y(t,e),60,{maxSize:50}),t.s(["baseEntry",0,c,"formatTimestamp",0,f,"parseLogContent",0,p,"parseRawLines",0,function(t,e){return t.split("\n").filter(t=>""!==t.trim()).flatMap(t=>{try{let n=JSON.parse(t);return void 0!==e&&(n._source=e),[n]}catch{return[]}})}],54214)},93114,t=>{"use strict";var e=t.i(12714),n=t.i(2157),i=t.i(60526),r=t.i(50227),s=t.i(83534),a=t.i(54214),o=t.i(67405);let u=/^[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}$/,l=new Set(["CONVERSATION_HISTORY","CHECKPOINT"]);function f(){return process.env.ANTIGRAVITY_HOME||(0,r.join)((0,i.homedir)(),".gemini","antigravity-cli")}function c(){return(0,r.join)(f(),"brain")}function m(){return(0,r.join)(".system_generated","logs","transcript_full.jsonl")}function p(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}function y(t,e="session"){let n=[],i=new Map,r=Date.now();for(let s=0;s<t.length;s++){let u=t[s];if(!p(u))continue;let f="string"==typeof u.type?u.type:"";if(!f||l.has(f))continue;let c=function(t,e){if("number"==typeof t&&Number.isFinite(t)){if(t>1e12)return new Date(t);if(t>1e9)return new Date(1e3*t)}if("string"==typeof t){let e=Date.parse(t);if(!Number.isNaN(e))return new Date(e)}return new Date(e)}(u.created_at,r+s),m=c.toISOString(),y="number"==typeof u.step_index?u.step_index:s,g={uuid:`antigravity-${y}`,parentUuid:null},d=(0,a.baseEntry)(g,m,c,e);if("USER_INPUT"===f){let t="string"==typeof u.content?u.content:"";n.push({type:"user",...d,message:{role:"user",content:t}});continue}if("PLANNER_RESPONSE"===f){let t=[];if("string"==typeof u.content&&u.content.length>0&&t.push({type:"text",text:u.content}),Array.isArray(u.tool_calls))for(let e=0;e<u.tool_calls.length;e++){let n=u.tool_calls[e];if(!p(n))continue;let r="string"==typeof n.name?n.name:"tool",s={type:"tool_use",id:`${r}-${y}-${e}`,name:r,input:p(n.args)?n.args:{}};t.push(s);let a=r.toUpperCase(),o=i.get(a)??[];o.push({block:s,startMs:c.getTime()}),i.set(a,o)}if(0===t.length)continue;n.push({type:"assistant",...d,message:{role:"assistant",content:t}});continue}let h=i.get(f);if(h&&h.length>0){let{block:t,startMs:e}=h.shift(),n=Math.max(0,c.getTime()-e);t.result={timestamp:m,timestampFormatted:(0,a.formatTimestamp)(c),content:"string"==typeof u.content?u.content:"",durationMs:n,durationFormatted:(0,o.formatDuration)(n)};continue}n.push({type:"system",...d,raw:g})}return n.sort((t,e)=>t.timestampMs-e.timestampMs),n}function g(t){if(!u.test(t))return null;let e=(0,r.join)(c(),t,m());try{if((0,n.statSync)(e).isFile())return e}catch{}return null}async function d(t){let n,i=g(t);if(!i)return null;try{n=await (0,e.readFile)(i,"utf-8")}catch{return null}let r=(0,a.parseRawLines)(n,"session"),s=y(r,"session"),o=function(t){for(let e of t)if(p(e)&&Array.isArray(e.tool_calls))for(let t of e.tool_calls){if(!p(t)||!p(t.args))continue;let e=t.args.Cwd??t.args.cwd;if("string"==typeof e&&e.length>0)return e}}(r);return{entries:s,rawLines:r,cwd:o,filePath:i}}(0,s.runtimeCache)(t=>d(t),60,{maxSize:50}),t.s(["antigravityHome",0,f,"antigravityLinesToLogEntries",0,y,"findAntigravityTranscript",0,g,"getAntigravitySessionLog",0,d,"listAntigravityTranscripts",0,function(){let t,e=c(),i=m(),s=[];try{t=(0,n.readdirSync)(e,{withFileTypes:!0}).filter(t=>t.isDirectory())}catch{return s}for(let a of t){let t=a.name;if(!u.test(t))continue;let o=(0,r.join)(e,t,i);try{let e=(0,n.statSync)(o);if(!e.isFile())continue;s.push({conversationId:t,transcriptPath:o,mtimeMs:e.mtimeMs,sizeBytes:e.size})}catch{}}return s}])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1shcqgr._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[60526,(t,e,n)=>{e.exports=t.x("node:os",()=>require("node:os"))},2157,(t,e,n)=>{e.exports=t.x("node:fs",()=>require("node:fs"))},66680,(t,e,n)=>{e.exports=t.x("node:crypto",()=>require("node:crypto"))},54214,67405,t=>{"use strict";var e=t.i(24868),n=t.i(14747),i=t.i(81580),s=t.i(56936);async function r(t,i,s,r){let o=`agent-${r}.jsonl`;for(let r of[(0,n.join)(t,i,o),(0,n.join)(t,i,s,o),(0,n.join)(t,i,s,"subagents",o)])if(!(0,n.relative)(t,r).startsWith(".."))try{return await (0,e.access)(r),r}catch(t){if("ENOENT"===t.code)continue;break}return null}var o=t.i(83534),a=t.i(71809),u=t.i(28557);function l(t){if(t<1e3)return`${t}ms`;let e=t/1e3;if(e<60)return`${e.toFixed(1)}s`;let n=Math.floor(e/60);if(n>=60){let t=Math.floor(n/60);return`${t}h ${n%60}m`}let i=(e%60).toFixed(0);return`${n}m ${i}s`}function p(t){let e=(0,u.formatDate)(t),n=t.getMilliseconds().toString().padStart(3,"0");return`${e}.${n}`}function m(t,e,n,i){return{_source:i,uuid:t.uuid||"",parentUuid:t.parentUuid??null,timestamp:e,timestampMs:n.getTime(),timestampFormatted:p(n)}}async function f(t,e){let n=t.split("\n").filter(t=>""!==t.trim()),i=new Map,s=[],r=[],o=new Set,a=!1;for(let t=0;t<n.length;t++){let u;t>0&&t%200==0&&await new Promise(t=>setImmediate(t));let l=n[t];try{u=JSON.parse(l)}catch{continue}let p={...u,_source:e};r.push(p);let f=u.type,c=u.timestamp;if(!c)continue;let d=new Date(c),g=d.getTime();if("user"===f){let t=u.message;if(Array.isArray(t?.content)){let e=t.content;if(e.some(t=>"tool_result"===t.type)){let t=u.toolUseResult,n="string"==typeof t?.agentId?t.agentId:void 0;for(let t of(n&&/^[a-f0-9]+$/.test(n)&&o.add(n),e)){if("tool_result"!==t.type)continue;let e=t.tool_use_id;if(!e)continue;let{text:s,images:r}=function(t){let e=t.content;if("string"==typeof e)return{text:e};if(Array.isArray(e)){let t=e.filter(t=>"text"===t.type).map(t=>t.text),n=e.filter(t=>"image"===t.type).map(t=>{let e=t.source;return{base64:e.data,mediaType:e.media_type}}).filter(t=>t.base64&&t.mediaType);return{text:t.length>0?t.join("\n"):void 0,images:n.length>0?n:void 0}}return{}}(t);i.set(e,{timestamp:c,timestampMs:g,content:s,images:r,agentId:n})}continue}}let n="string"==typeof t?.content?t.content:"";s.push({type:"user",...m(u,c,d,e),message:{role:"user",content:n}});continue}if("assistant"===f){let t=u.message,n=[];if(Array.isArray(t?.content)&&(n=t.content.filter(t=>["text","tool_use","thinking"].includes(t.type)).map(t=>{if("text"===t.type)return{type:"text",text:t.text};if("tool_use"===t.type){let e=t.input;return{type:"tool_use",id:t.id,name:t.name,input:t.input??{},..."Task"===t.name&&e?{subagentType:e.subagent_type,subagentDescription:e.description}:{}}}return{type:"thinking",thinking:t.thinking,signature:t.signature}})),0===n.length)continue;s.push({type:"assistant",...m(u,c,d,e),message:{role:"assistant",content:n,model:t?.model}});continue}if("file-history-snapshot"===f||"progress"===f||"system"===f){s.push({type:f,...m(u,c,d,e),raw:{...u}});continue}if("queue-operation"===f){let t=a?"Session Resumed":"Session Started";a=!0,s.push({type:"queue-operation",...m(u,c,d,e),label:t});continue}}let u=0;for(let t of s)if("assistant"===t.type)for(let e of(++u%200==0&&await new Promise(t=>setImmediate(t)),t.message.content)){if("tool_use"!==e.type)continue;let n=i.get(e.id);if(!n)continue;let s=new Date(n.timestamp),r=Math.max(0,n.timestampMs-t.timestampMs);e.result={timestamp:n.timestamp,timestampFormatted:p(s),content:n.content,images:n.images,durationMs:r,durationFormatted:l(r)},n.agentId&&(e.subagentId=n.agentId)}return s.length>500&&await new Promise(t=>setImmediate(t)),s.sort((t,e)=>t.timestampMs-e.timestampMs),{entries:s,rawLines:r,subagentIds:Array.from(o)}}async function c(t,e="session"){return(await f(t,e)).entries}async function d(t,o){let u=(0,s.resolveProjectPath)(t),l=(0,i.getClaudeProjectsPath)(),p=(0,n.join)(u,`${o}.jsonl`),m=await (0,e.readFile)(p,"utf-8"),{entries:c,rawLines:d,subagentIds:g}=await f(m,"session");if(0===g.length)return{entries:c,rawLines:d,subagentIds:[]};let y=await (0,a.batchAll)(g.map(n=>async()=>{let i=`agent-${n}`,s=await r(l,t,o,n);if(!s)return null;let a=await (0,e.readFile)(s,"utf-8"),{entries:u,rawLines:p}=await f(a,i);return{entries:u,rawLines:p}}),4),h=[...c],w=[...d];for(let t of y)"fulfilled"===t.status&&t.value&&(h.push(...t.value.entries),w.push(...t.value.rawLines));return h.length>500&&await new Promise(t=>setImmediate(t)),h.sort((t,e)=>t.timestampMs-e.timestampMs),{entries:h,rawLines:w,subagentIds:g}}t.s(["formatDuration",0,l],67405),(0,o.runtimeCache)((t,e)=>d(t,e),60,{maxSize:50}),t.s(["baseEntry",0,m,"formatTimestamp",0,p,"parseLogContent",0,c,"parseRawLines",0,function(t,e){return t.split("\n").filter(t=>""!==t.trim()).flatMap(t=>{try{let n=JSON.parse(t);return void 0!==e&&(n._source=e),[n]}catch{return[]}})}],54214)},36618,t=>{"use strict";var e=t.i(60526),n=t.i(50227),i=t.i(79708),s=t.i(83534),r=t.i(54214),o=t.i(67405);let a=/^\d{8}_\d+$/;function u(){return process.env.GOOSE_DB_PATH||(0,n.join)(function(){if(process.env.GOOSE_HOME)return process.env.GOOSE_HOME;let t=process.env.XDG_DATA_HOME;return(0,n.join)(t&&t.length>0?t:(0,n.join)((0,e.homedir)(),".local","share"),"goose")}(),"sessions","sessions.db")}function l(t){if("number"==typeof t&&Number.isFinite(t)){if(t>1e12)return t;if(t>1e9)return 1e3*t}if("string"==typeof t&&t.length>0){let e=Date.parse(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(t)?t.replace(" ","T")+"Z":t);if(!Number.isNaN(e))return e}return Date.now()}function p(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}function m(t){return"string"==typeof t?t:Array.isArray(t)?t.map(t=>p(t)&&"string"==typeof t.text?t.text:"").filter(Boolean).join("\n"):""}async function f(t){if(!t||!a.test(t))return null;let e=await (0,i.openSqliteReadonly)(u());if(!e)return null;try{let n=e.query("SELECT working_dir FROM sessions WHERE id = ?",[t]);if(0===n.length)return null;let i=n[0].working_dir,s=e.query("SELECT role, content_json, created_timestamp FROM messages WHERE session_id = ? ORDER BY id ASC",[t]),a=function(t,e="session"){let n=[],i=new Map,s=new Map,a=Date.now();for(let u=0;u<t.length;u++){let f=t[u],c=function(t){if("string"==typeof t&&0!==t.length)try{return JSON.parse(t)}catch{return}}(f.content_json);if(!Array.isArray(c))continue;let d="string"==typeof f.role?f.role:"system",g=function(t,e){let n="number"==typeof t||"string"==typeof t?l(t):NaN;return new Date(Number.isNaN(n)?e:n)}(f.created_timestamp,a+u),y=g.toISOString(),h={uuid:`goose-${u}`,parentUuid:null},w=(0,r.baseEntry)(h,y,g,e),x=[],_=[],M=[];for(let t of c)p(t)&&("text"===t.type&&"string"==typeof t.text?x.push(t.text):"toolRequest"===t.type?_.push(t):"toolResponse"===t.type&&M.push(t));for(let t of M){let e="string"==typeof t.id?t.id:void 0,n=e?i.get(e):void 0;if(!n)continue;let a=e&&s.get(e)||g.getTime(),u=Math.max(0,g.getTime()-a);n.result={timestamp:y,timestampFormatted:(0,r.formatTimestamp)(g),content:function(t){let e=(p(t.toolResult)?t.toolResult:{}).value;return p(e)&&Array.isArray(e.content)?m(e.content):"string"==typeof e?e:Array.isArray(e)?m(e):""}(t),durationMs:u,durationFormatted:(0,o.formatDuration)(u)}}let b=x.join("\n").trim();if(_.length>0||"assistant"===d&&b){let t=[];for(let e of(b&&t.push({type:"text",text:b}),_)){let{id:n,name:r,input:o}=function(t,e){let n="string"==typeof t.id&&t.id?t.id:`goose-tool-${e}`,i=p(t.toolCall)?t.toolCall:{},s=p(i.value)?i.value:{},r="string"==typeof s.name?s.name:"tool";return{id:n,name:r,input:p(s.arguments)?s.arguments:{}}}(e,t.length),a={type:"tool_use",id:n,name:r,input:o};t.push(a),i.set(n,a),s.set(n,g.getTime())}if(0===t.length)continue;n.push({type:"assistant",...w,message:{role:"assistant",content:t}});continue}if("user"===d&&b){n.push({type:"user",...w,message:{role:"user",content:b}});continue}b&&n.push({type:"system",...w,raw:h})}return n.sort((t,e)=>t.timestampMs-e.timestampMs),n}(s,"session"),u=i&&i.length>0?i:void 0;return{entries:a,rawLines:s,cwd:u,filePath:`goose-db://${t}`}}catch{return null}finally{e.close()}}(0,s.runtimeCache)(t=>f(t),2,{maxSize:50}),t.s(["getGooseSessionLog",0,f,"gooseDbPath",0,u,"gooseTimestampToMs",0,l])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1xuedea._.js.map