failproofai 1.0.0-beta.11 → 1.0.0-beta.13

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 (177) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/required-server-files.json +1 -1
  5. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  6. package/.next/standalone/.next/server/app/_global-error/page.js +2 -3
  7. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  11. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  12. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  13. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  14. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  15. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  17. package/.next/standalone/.next/server/app/_not-found/page.js +2 -3
  18. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  21. package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
  22. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  23. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  24. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  25. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  26. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  27. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  28. package/.next/standalone/.next/server/app/api/audit/invite/route.js +2 -2
  29. package/.next/standalone/.next/server/app/api/audit/invite/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/audit/run/route.js +2 -2
  31. package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/audit/status/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/auth/login-request/route.js +3 -2
  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 +2 -2
  36. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/auth/logout/route.js +2 -2
  38. package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/auth/reminder/route.js +2 -2
  40. package/.next/standalone/.next/server/app/api/auth/reminder/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/auth/status/route.js +2 -2
  42. package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +2 -2
  45. package/.next/standalone/.next/server/app/audit/page.js +2 -3
  46. package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/index.html +1 -1
  49. package/.next/standalone/.next/server/app/index.rsc +15 -15
  50. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  51. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
  52. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  53. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
  54. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  55. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  56. package/.next/standalone/.next/server/app/page.js +2 -3
  57. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  58. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +10 -10
  60. package/.next/standalone/.next/server/app/policies/page.js +2 -3
  61. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  62. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  64. package/.next/standalone/.next/server/app/project/[name]/page.js +3 -4
  65. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  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 +3 -4
  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/server-reference-manifest.json +1 -1
  73. package/.next/standalone/.next/server/app/projects/page.js +3 -4
  74. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  75. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +4 -4
  77. package/.next/standalone/.next/server/app/settings/page.js +2 -3
  78. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  79. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__1a7i2q4._.js → [root-of-the-server]__00ni9za._.js} +1 -1
  81. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08y94xv._.js +3 -0
  82. package/.next/standalone/.next/server/chunks/[root-of-the-server]__094p1f1._.js +1 -1
  83. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_0xu5z._.js +1 -1
  84. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ed01_d._.js +1 -1
  85. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__1_ps0jw._.js → [root-of-the-server]__0effm9m._.js} +1 -1
  86. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0lk_935._.js → [root-of-the-server]__0ix8gm7._.js} +1 -1
  87. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ky_n0r._.js → [root-of-the-server]__0ji11a-._.js} +1 -1
  88. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0v2fpxe._.js → [root-of-the-server]__0ojwjxl._.js} +1 -1
  89. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vb5fl2._.js +3 -0
  90. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ibjy5x._.js +1 -1
  91. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1tvn4wf._.js +1 -1
  92. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1uyc-z4._.js +3 -0
  93. package/.next/standalone/.next/server/chunks/[root-of-the-server]__20d06rh._.js +3 -0
  94. package/.next/standalone/.next/server/chunks/_0lxbzdq._.js +1 -3
  95. package/.next/standalone/.next/server/chunks/_1zuiiy3._.js +1 -3
  96. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +1 -1
  97. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1rdruw4._.js → [root-of-the-server]__0_1tiya._.js} +1 -1
  98. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__20ie7me._.js → [root-of-the-server]__0eeipso._.js} +2 -2
  99. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0spkm68._.js +3 -3
  100. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1tyf0tc._.js → [root-of-the-server]__17itmx-._.js} +2 -2
  101. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1gwr8l-._.js → [root-of-the-server]__1dx-a-c._.js} +2 -2
  102. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1mmefsr._.js +5 -0
  103. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1yw368c._.js → [root-of-the-server]__1n2vcv4._.js} +1 -1
  104. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1rv-sc9._.js +1 -1
  105. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1a2hcb_._.js → [root-of-the-server]__1tlvv9a._.js} +1 -1
  106. package/.next/standalone/.next/server/chunks/ssr/_0rjgfln._.js +1 -1
  107. package/.next/standalone/.next/server/chunks/ssr/{_1fahg9e._.js → _0vo2qyt._.js} +2 -2
  108. package/.next/standalone/.next/server/chunks/ssr/{_0uz7o9y._.js → _0xej-0e._.js} +2 -2
  109. package/.next/standalone/.next/server/chunks/ssr/{_04mekdy._.js → _10399ge._.js} +2 -2
  110. package/.next/standalone/.next/server/chunks/ssr/{_0se484m._.js → _149k9oy._.js} +2 -2
  111. package/.next/standalone/.next/server/chunks/ssr/{_0n4bc3i._.js → _166jvu8._.js} +1 -1
  112. package/.next/standalone/.next/server/chunks/ssr/{_0r-dsre._.js → _1_hwp06._.js} +2 -2
  113. package/.next/standalone/.next/server/chunks/ssr/{_1w8sola._.js → _1mnhi_r._.js} +2 -2
  114. package/.next/standalone/.next/server/chunks/ssr/{_1w_6p9g._.js → _1ror7k9._.js} +2 -2
  115. package/.next/standalone/.next/server/chunks/ssr/{_1gmzkwj._.js → _1sdgprl._.js} +1 -1
  116. package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47._.js +1 -1
  117. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x._.js +1 -1
  118. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpc._.js +1 -1
  119. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  120. package/.next/standalone/.next/server/pages/404.html +1 -1
  121. package/.next/standalone/.next/server/pages/500.html +1 -1
  122. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/server-reference-manifest.json +15 -15
  124. package/.next/standalone/.next/static/chunks/{0-m1vctj2jny6.js → 01s3vpzky_qew.js} +1 -1
  125. package/.next/standalone/.next/static/chunks/0km-jn9o5xyqs.css +2 -0
  126. package/.next/standalone/.next/static/chunks/{0on899o88y54u.js → 0zbcd_n8ku2ov.js} +1 -1
  127. package/.next/standalone/.next/static/chunks/{04y6igmx5olt6.js → 1erji0ratofla.js} +1 -1
  128. package/.next/standalone/.next/static/chunks/{06abmgw7cvecc.js → 23hnlzqx44vbe.js} +1 -1
  129. package/.next/standalone/.next/static/chunks/{1a9qlmo5s678i.js → 2cwsiyhc7d2cw.js} +1 -1
  130. package/.next/standalone/.next/static/chunks/{37nu_nos28w1x.js → 2y42ebzynyxdv.js} +1 -1
  131. package/.next/standalone/.next/static/chunks/{0ug1y_6-uwu5t.js → 315lncj7dsp9c.js} +1 -1
  132. package/.next/standalone/.next/static/chunks/31_px0dfgdg9j.js +6 -0
  133. package/.next/standalone/.next/static/chunks/{43ylh_2r15k-w.js → 3l4-fu3xt75j8.js} +1 -1
  134. package/.next/standalone/.next/static/chunks/3poscoxn69x9g.js +1 -0
  135. package/.next/standalone/app/policies/hooks-client.tsx +4 -4
  136. package/.next/standalone/ino.ujh3/.failproofai/VERSION +4 -0
  137. package/.next/standalone/ino.ujh3/.failproofai/state/last-version +1 -0
  138. package/.next/standalone/ino.ujh3/.failproofai/state/telemetry-id +1 -0
  139. package/.next/standalone/package.json +10 -10
  140. package/.next/standalone/server.js +1 -1
  141. package/bin/failproofai-worker.mjs +1 -1
  142. package/bin/failproofai.mjs +186 -5
  143. package/dist/cli.mjs +1130 -1352
  144. package/dist/worker.mjs +171 -1010
  145. package/package.json +10 -10
  146. package/src/hooks/backfill-cli.ts +1 -1
  147. package/src/hooks/cloud-connection.ts +4 -4
  148. package/src/hooks/cloud-enrollment-cli.ts +1 -1
  149. package/src/hooks/cloud-enrollment.ts +3 -3
  150. package/src/hooks/cloud-managed-policies.ts +60 -22
  151. package/src/hooks/configure-wizard.ts +124 -53
  152. package/src/hooks/custom-hooks-loader.ts +57 -8
  153. package/src/hooks/daemon-service.ts +66 -11
  154. package/src/hooks/flush-cli.ts +180 -0
  155. package/src/hooks/fp-config.ts +242 -118
  156. package/src/hooks/fp-home.ts +138 -22
  157. package/src/hooks/fp-reset.ts +357 -43
  158. package/src/hooks/handler.ts +11 -11
  159. package/src/hooks/harness-cli.ts +309 -0
  160. package/src/hooks/hook-activity-store.ts +5 -5
  161. package/src/hooks/manager.ts +35 -0
  162. package/src/hooks/onboarding-attempt.ts +22 -6
  163. package/src/hooks/tui.ts +64 -7
  164. package/src/hooks/uninstall-cli.ts +1 -1
  165. package/src/hooks/worker-server.ts +69 -12
  166. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06hexd0._.js +0 -3
  167. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1iny24d._.js +0 -3
  168. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1tyedjt._.js +0 -3
  169. package/.next/standalone/.next/server/chunks/lib_telemetry_ts_0dctyyw._.js +0 -5
  170. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1u-wx42._.js +0 -4
  171. package/.next/standalone/.next/server/chunks/ssr/src_hooks_fp-config_ts_04t589g._.js +0 -5
  172. package/.next/standalone/.next/static/chunks/0p_y4ndalc68e.js +0 -6
  173. package/.next/standalone/.next/static/chunks/13vrxdsdihqd_.css +0 -2
  174. package/.next/standalone/.next/static/chunks/19lrnqxn7ni7i.js +0 -1
  175. /package/.next/standalone/.next/static/{BZDo0aAHzDwh5ntxgIgpc → ziAsXfNE0cH_S7LHK-Py3}/_buildManifest.js +0 -0
  176. /package/.next/standalone/.next/static/{BZDo0aAHzDwh5ntxgIgpc → ziAsXfNE0cH_S7LHK-Py3}/_clientMiddlewareManifest.js +0 -0
  177. /package/.next/standalone/.next/static/{BZDo0aAHzDwh5ntxgIgpc → ziAsXfNE0cH_S7LHK-Py3}/_ssgManifest.js +0 -0
@@ -19,7 +19,7 @@
19
19
  * correct with zero changes; a worker_threads/process pool is a valid
20
20
  * future enhancement if this becomes a real throughput bottleneck.
21
21
  */
22
- import { createServer, type Server, type Socket } from "node:net";
22
+ import { createConnection, createServer, type Server, type Socket } from "node:net";
23
23
  import { existsSync, unlinkSync } from "node:fs";
24
24
  import { evaluateHookEvent } from "./handler";
25
25
  import type { IntegrationType } from "./types";
@@ -125,7 +125,7 @@ function enqueue(task: () => Promise<void>): void {
125
125
  .catch(() => {});
126
126
  }
127
127
 
128
- function handleConnection(socket: Socket): void {
128
+ function handleConnection(socket: Socket, shutdown: () => void): void {
129
129
  let recvBuf = Buffer.alloc(0);
130
130
  let declaredLen: number | null = null;
131
131
 
@@ -163,6 +163,15 @@ function handleConnection(socket: Socket): void {
163
163
  continue;
164
164
  }
165
165
 
166
+ if (
167
+ message &&
168
+ typeof message === "object" &&
169
+ (message as Record<string, unknown>).type === "shutdown"
170
+ ) {
171
+ socket.end(encodeFrame({ type: "shutdownAccepted" }), shutdown);
172
+ return;
173
+ }
174
+
166
175
  if (!isWorkerHookRequest(message)) {
167
176
  socket.write(encodeFrame({ type: "error", message: "unrecognized request shape" }));
168
177
  continue;
@@ -201,16 +210,64 @@ function handleConnection(socket: Socket): void {
201
210
  });
202
211
  }
203
212
 
204
- export function startWorkerServer(socketPath: string): Server {
205
- if (existsSync(socketPath)) {
206
- try {
207
- unlinkSync(socketPath);
208
- } catch {
209
- // Racing with something else clearing it — fine, bind will surface
210
- // any real problem.
213
+ const STALE_WORKER_SHUTDOWN_TIMEOUT_MS = 2_000;
214
+
215
+ function requestExistingWorkerShutdown(socketPath: string): Promise<"stale" | "stopped"> {
216
+ return new Promise((resolvePromise, reject) => {
217
+ const socket = createConnection({ path: socketPath });
218
+ let recvBuf = Buffer.alloc(0);
219
+ let settled = false;
220
+ const timer = setTimeout(() => finish(new Error("existing worker did not acknowledge shutdown")), STALE_WORKER_SHUTDOWN_TIMEOUT_MS);
221
+ timer.unref?.();
222
+
223
+ const finish = (result: Error | "stale" | "stopped") => {
224
+ if (settled) return;
225
+ settled = true;
226
+ clearTimeout(timer);
227
+ socket.destroy();
228
+ if (result instanceof Error) reject(result);
229
+ else resolvePromise(result);
230
+ };
231
+
232
+ socket.on("connect", () => socket.write(encodeFrame({ type: "shutdown" })));
233
+ socket.on("data", (chunk: Buffer) => {
234
+ recvBuf = Buffer.concat([recvBuf, chunk]);
235
+ if (recvBuf.length < 4) return;
236
+ const len = recvBuf.readUInt32BE(0);
237
+ if (len > MAX_FRAME_LEN || recvBuf.length < 4 + len) return;
238
+ try {
239
+ const response = JSON.parse(recvBuf.subarray(4, 4 + len).toString("utf8")) as { type?: unknown };
240
+ if (response.type === "shutdownAccepted") finish("stopped");
241
+ else finish(new Error("existing socket belongs to a process that does not support shutdown"));
242
+ } catch {
243
+ finish(new Error("existing worker returned a malformed shutdown response"));
244
+ }
245
+ });
246
+ socket.on("error", (err: NodeJS.ErrnoException) => {
247
+ if (err.code === "ECONNREFUSED" || err.code === "ENOENT") finish("stale");
248
+ else finish(err);
249
+ });
250
+ });
251
+ }
252
+
253
+ export function startWorkerServer(socketPath: string, shutdown?: () => void): Server {
254
+ const server = createServer((socket) =>
255
+ handleConnection(socket, shutdown ?? (() => server.close())),
256
+ );
257
+
258
+ const listen = () => {
259
+ if (existsSync(socketPath)) {
260
+ try {
261
+ unlinkSync(socketPath);
262
+ } catch {
263
+ // Racing with the old worker clearing it is harmless; listen surfaces
264
+ // any remaining conflict.
265
+ }
211
266
  }
212
- }
213
- const server = createServer(handleConnection);
214
- server.listen(socketPath);
267
+ server.listen(socketPath);
268
+ };
269
+
270
+ if (!existsSync(socketPath)) listen();
271
+ else void requestExistingWorkerShutdown(socketPath).then(listen, (err) => server.emit("error", err));
215
272
  return server;
216
273
  }
@@ -1,3 +0,0 @@
1
- module.exports=[50227,(e,t,i)=>{t.exports=e.x("node:path",()=>require("node:path"))},60526,(e,t,i)=>{t.exports=e.x("node:os",()=>require("node:os"))},2157,(e,t,i)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},66680,(e,t,i)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,i)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},93133,(e,t,i)=>{t.exports={name:"failproofai",version:"1.0.0-beta.11",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",failproofaid:"./bin/failproofaid-shim.mjs"},files:["bin/","src/","scripts/","lib/","pi-extension/","openclaw-plugin/",".next/standalone/","dist/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{predev:"bun run build:cli && bun link",dev:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/dev.ts --port 8020","build:cli":"bun build --target=node --format=esm --outfile=dist/cli.mjs bin/failproofai.mjs --external posthog-node --external sql.js && node -e \"const fs=require('fs');const c=fs.readFileSync('dist/cli.mjs','utf8');fs.writeFileSync('dist/cli.mjs',c.replace('#!/usr/bin/env bun','#!/usr/bin/env node').replace('// @bun\\n',''))\"","build:worker":"bun build --target=node --format=esm --outfile=dist/worker.mjs bin/failproofai-worker.mjs --external posthog-node --external sql.js",build:"bun build --target=node --format=cjs --outfile=dist/index.js src/index.ts && bun run build:cli && bun run build:worker && bun --bun next build && node -e \"const {cpSync}=require('fs');cpSync('.next/static','.next/standalone/.next/static',{recursive:true});\" && node scripts/prune-standalone.mjs",prestart:"bun run build:cli && bun link",start:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepare:"bun run build","test:e2e":"vitest run --config vitest.config.e2e.mts","test:e2e:watch":"vitest --config vitest.config.e2e.mts",translate:"bun scripts/translate-docs/cli.ts","translate:readme":"bun scripts/translate-docs/cli.ts --readme-only","translate:docs":"bun scripts/translate-docs/cli.ts --docs-only","translate:dry-run":"bun scripts/translate-docs/cli.ts --dry-run","translate:validate":"bun scripts/translate-docs/cli.ts --validate","validate:mdx":"bun scripts/validate-mdx.ts"},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.115.0","@mdx-js/mdx":"^3.1.1","@tailwindcss/postcss":"^4.3.1","@tanstack/react-virtual":"^3.14.9","@testing-library/jest-dom":"^7.0.0","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"26.1.2","@types/react":"19.2.18","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.5",clsx:"^2.1.1",eslint:"^10.5.0","eslint-config-next":"^16.2.9",jsdom:"^30.0.1","lucide-react":"^1.28.0",next:"^16.2.11",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.47.7","smol-toml":"^1.7.1","sql.js":"^1.14.1",yaml:"^2.9.0"},overrides:{postcss:"8.5.23","eslint-plugin-react-hooks":"7.0.1",vite:"8.0.16",undici:"7.29.0","brace-expansion":"5.0.9",sharp:"0.35.0"},optionalDependencies:{"@failproofai/failproofaid-linux-x64":"1.0.0-beta.11","@failproofai/failproofaid-linux-arm64":"1.0.0-beta.11","@failproofai/failproofaid-darwin-x64":"1.0.0-beta.11","@failproofai/failproofaid-darwin-arm64":"1.0.0-beta.11"},failproofaidBinaries:{"linux-x64":"e0621c8dd2b5f20e82d14e0a818832a065fb88b025da2a1769f2f81ee903ba89","linux-arm64":"e15da1fab4d2655f587b5e8423e8b36058f839dbbbd5630fac5bad2b1a4a7ecf","darwin-x64":"d54d493e905db563b33c14ad0d5cb0f16579cf2b9ec558ae0276855f323668f6","darwin-arm64":"2b27fb6968d149dc9edf4d5f85d60df564dd13c3db011629e1789a487aa0a375"}}},15855,43477,e=>{"use strict";let t;var i=e.i(2157),r=e.i(50227),a=e.i(60526),s=e.i(66680);function n(e){return e?(0,r.resolve)(e,".failproofai"):process.env.FAILPROOFAI_HOME||(0,r.resolve)((0,a.homedir)(),".failproofai")}e.i(74533);let o=(e,...t)=>e?(0,r.resolve)(n(e),...t):((...e)=>(0,r.resolve)(n(),...e))(...t),l=e=>(0,r.resolve)(o(e,"state"),"telemetry-id");e.s(["configFile",0,e=>o(e,"config.toml"),"telemetryIdFile",0,l],43477);let d=r.default.join(a.default.homedir(),".failproofai"),c=r.default.join(d,"instance-id");function u(e){return s.default.createHmac("sha256","failproofai-telemetry-v1").update(e).digest("hex")}function f(e){let t;try{if(t=l(),i.default.readFileSync(t,"utf-8").trim()===e)return}catch{try{t=l()}catch{return}}try{i.default.mkdirSync(r.default.dirname(t),{recursive:!0});let a=`${t}.${process.pid}.tmp`;i.default.writeFileSync(a,e,{encoding:"utf-8",mode:384}),i.default.renameSync(a,t)}catch{}}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=i.default.readFileSync(e,"utf-8").trim();if(t)return t}catch{}}catch{}}();if(e)return f(t=u(e)),t;let r=[a.default.hostname(),a.default.homedir(),a.default.platform(),a.default.arch(),a.default.cpus()[0]?.model??""].join(":");return r?f(t=u(r)):f(t=function(){try{let e=i.default.readFileSync(c,"utf-8").trim();if(e)return e}catch{}let e=s.default.randomUUID();try{i.default.mkdirSync(d,{recursive:!0}),i.default.writeFileSync(c,e,"utf-8")}catch{}return e}()),t},"hashToId",0,u],15855)},37581,e=>{e.v(t=>Promise.all(["server/chunks/[externals]__1ifpkx-._.js","server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_09z9-p7._.js"].map(t=>e.l(t))).then(()=>t(28864)))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__06hexd0._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[50227,(e,t,n)=>{t.exports=e.x("node:path",()=>require("node:path"))},60526,(e,t,n)=>{t.exports=e.x("node:os",()=>require("node:os"))},2157,(e,t,n)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},66680,(e,t,n)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,n)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},18622,(e,t,n)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,n)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,n)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},79857,e=>{"use strict";var t=e.i(60526),n=e.i(50227);function i(e){return e?(0,n.resolve)(e,".failproofai"):process.env.FAILPROOFAI_HOME||(0,n.resolve)((0,t.homedir)(),".failproofai")}let s=(e,...t)=>e?(0,n.resolve)(i(e),...t):((...e)=>(0,n.resolve)(i(),...e))(...t),r=e=>s(e,"run");e.s(["auditCacheDir",0,e=>(0,n.resolve)(s(e,"audit"),"cache"),"auditDashboardFile",0,e=>(0,n.resolve)(s(e,"audit"),"dashboard.json"),"auditLockFile",0,e=>(0,n.resolve)(r(e),"audit.lock"),"codexSessionPathsFile",0,e=>(0,n.resolve)(s(e,"state"),"codex-session-paths.json"),"configFile",0,e=>s(e,"config.toml"),"failproofaiHome",0,i,"globalPolicyConfigFile",0,e=>(0,n.resolve)(s(e,"policies","local-policies"),"policies-config.json"),"logsDir",0,e=>s(e,"logs"),"runDir",0,r,"telemetryIdFile",0,e=>(0,n.resolve)(s(e,"state"),"telemetry-id")])},94930,e=>{"use strict";var t=e.i(2157),n=e.i(50227),i=e.i(66680);e.s(["writeJsonAtomically",0,function(e,s,r={}){let o=r.mode??384,a=r.dirMode??448,l=(0,n.dirname)(e);(0,t.existsSync)(l)||(0,t.mkdirSync)(l,{recursive:!0,mode:a});let u=`${e}.${process.pid}.${(0,i.randomBytes)(6).toString("hex")}.tmp`;try{(0,t.writeFileSync)(u,JSON.stringify(s,null,2),{mode:o});try{(63&(0,t.statSync)(u).mode)!=0&&(0,t.chmodSync)(u,o)}catch{}(0,t.renameSync)(u,e);try{(63&(0,t.statSync)(e).mode)!=0&&(0,t.chmodSync)(e,o)}catch{}}catch(e){try{(0,t.rmSync)(u,{force:!0})}catch{}throw e}}])},28246,e=>{"use strict";var t=e.i(12714),n=e.i(2157),i=e.i(60526),s=e.i(50227),r=e.i(81580),o=e.i(83534),a=e.i(54214),l=e.i(67405);let 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}$/;function c(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function d(e){return"string"==typeof e?e:Array.isArray(e)?e.map(e=>c(e)&&"string"==typeof e.text?e.text:"").filter(Boolean).join("\n"):""}function f(e,t="session"){let n=[],i=new Map,s=new Map,r=Date.now();for(let o=0;o<e.length;o++){let u=e[o];if(!c(u)||"message"!==u.type)continue;let f=c(u.message)?u.message:void 0;if(!f)continue;let m="string"==typeof f.role?f.role:"system",p=function(e,t){if("number"==typeof e&&Number.isFinite(e)){if(e>1e12)return new Date(e);if(e>1e9)return new Date(1e3*e)}if("string"==typeof e){let t=Date.parse(e);if(!Number.isNaN(t))return new Date(t)}return new Date(t)}(u.timestamp??f.timestamp,r+o),y=p.toISOString(),g={uuid:null!=u.id?String(u.id):`factory-${o}`,parentUuid:null!=u.parentId?String(u.parentId):null},h=(0,a.baseEntry)(g,y,p,t),w=f.content;if("assistant"===m){let e=[];if(Array.isArray(w)){for(let t of w)if(c(t)){if("text"===t.type&&"string"==typeof t.text)e.push({type:"text",text:t.text});else if("tool_use"===t.type){let n="string"==typeof t.id?t.id:`${String(t.name??"tool")}-${e.length}`,r={type:"tool_use",id:n,name:"string"==typeof t.name?t.name:"tool",input:c(t.input)?t.input:{}};e.push(r),i.set(n,r),s.set(n,p.getTime())}}}else{let t=d(w);t&&e.push({type:"text",text:t})}if(0===e.length)continue;n.push({type:"assistant",...h,message:{role:"assistant",content:e,model:"string"==typeof f.model?f.model:void 0}});continue}if(Array.isArray(w)){let e=!1,t=[];for(let n of w)if(c(n)){if("tool_result"===n.type){let t="string"==typeof n.tool_use_id?n.tool_use_id:"string"==typeof n.toolUseId?n.toolUseId:void 0,r=t?i.get(t):void 0;if(r){let i=t&&s.get(t)||p.getTime(),o=Math.max(0,p.getTime()-i);r.result={timestamp:y,timestampFormatted:(0,a.formatTimestamp)(p),content:d(n.content),durationMs:o,durationFormatted:(0,l.formatDuration)(o)},e=!0;continue}}"text"===n.type&&"string"==typeof n.text&&t.push(n.text)}t.length>0?n.push({type:"user",...h,message:{role:"user",content:t.join("\n")}}):e||n.push({type:"system",...h,raw:g});continue}if("user"===m){n.push({type:"user",...h,message:{role:"user",content:d(w)}});continue}n.push({type:"system",...h,raw:g})}return n.sort((e,t)=>e.timestampMs-t.timestampMs),n}function m(){let e,t=(0,s.join)(process.env.FACTORY_HOME||(0,s.join)((0,i.homedir)(),".factory"),"sessions"),o=[];try{e=(0,n.readdirSync)(t,{withFileTypes:!0}).filter(e=>e.isDirectory())}catch{return o}for(let i of e){let e,a=i.name,l=(0,r.decodeFolderName)(a),c=(0,s.join)(t,a);try{e=(0,n.readdirSync)(c)}catch{continue}for(let t of e){if(!t.endsWith(".jsonl"))continue;let e=t.slice(0,-6);if(!u.test(e))continue;let i=(0,s.join)(c,t);try{let t=(0,n.statSync)(i);o.push({projectName:a,cwd:l,sessionId:e,transcriptPath:i,mtimeMs:t.mtimeMs,sizeBytes:t.size})}catch{}}}return o}function p(e){if(!u.test(e))return null;for(let t of m())if(t.sessionId===e)return t.transcriptPath;return null}async function y(e){let n,i,s=p(e);if(!s)return null;try{n=await (0,t.readFile)(s,"utf-8")}catch{return null}let r=(0,a.parseRawLines)(n,"session"),o=f(r,"session");for(let e of r)if(c(e)&&"session_start"===e.type&&"string"==typeof e.cwd&&e.cwd.length>0){i=e.cwd;break}return{entries:o,rawLines:r,cwd:i,filePath:s}}(0,o.runtimeCache)(e=>y(e),60,{maxSize:50}),e.s(["factoryLinesToLogEntries",0,f,"findFactoryTranscript",0,p,"getFactorySessionLog",0,y,"listFactoryTranscripts",0,m])},35435,e=>{"use strict";var t=e.i(74533),n=e.i(81580),i=e.i(83534),s=e.i(28557),r=e.i(40911);function o(e){try{let n=(0,t.execFileSync)("opencode",["db","--format","json",e],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]});if(!n.trim())return[];let i=JSON.parse(n);if(!Array.isArray(i))return null;return i}catch{return null}}function a(){return o("SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session ORDER BY time_updated DESC LIMIT 1000")}function l(){return o("SELECT id, worktree, vcs, name, time_created, time_updated FROM project")}async function u(){let e=a(),t=l();if(null===e&&null===t)return[];let i=new Map;for(let e of t??[])i.set(e.id,e);let r=new Map;for(let t of e??[]){if(!t.project_id)continue;let e=r.get(t.project_id);e||(e={rows:[],latest:0},r.set(t.project_id,e)),e.rows.push(t),t.time_updated>e.latest&&(e.latest=t.time_updated)}let o=new Set,u=[];for(let[e,t]of r){o.add(e);let r=i.get(e),a=r?.worktree??t.rows[0]?.directory??null,l=a?(0,n.encodeFolderName)(a):e,c=a??"",d=new Date(Math.max(t.latest,r?.time_updated??0));u.push({name:l,path:c,isDirectory:!0,lastModified:d,lastModifiedFormatted:(0,s.formatDate)(d),cli:["opencode"]})}for(let e of t??[]){if(o.has(e.id))continue;let t=e.worktree??"",i=t?(0,n.encodeFolderName)(t):e.id,r=new Date(e.time_updated);u.push({name:i,path:t,isDirectory:!0,lastModified:r,lastModifiedFormatted:(0,s.formatDate)(r),cli:["opencode"]})}return u.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),u}async function c(e){let t=a();return t?t.filter(t=>t.directory===e).map(e=>{let t=new Date(e.time_updated);return{name:e.title??e.slug??e.id,path:`opencode://${e.id}`,lastModified:t,lastModifiedFormatted:(0,s.formatDate)(t),sessionId:e.id,cli:"opencode"}}):[]}async function d(e){let t,i;try{t=l(),i=a()}catch(e){return(0,r.logWarn)("Failed to read OpenCode DB:",e),{cwd:null,sessions:[]}}if(!t||!i)return{cwd:null,sessions:[]};let o=t.find(t=>t.worktree&&(0,n.encodeFolderName)(t.worktree)===e);if(!o||!o.worktree)return{cwd:null,sessions:[]};let u=i.filter(e=>e.project_id===o.id);return{cwd:o.worktree,sessions:u.map(e=>{let t=new Date(e.time_updated);return{name:e.title??e.slug??e.id,path:`opencode://${e.id}`,lastModified:t,lastModifiedFormatted:(0,s.formatDate)(t),sessionId:e.id,cli:"opencode"}})}}let f=(0,i.runtimeCache)(u,30),m=(0,i.runtimeCache)(e=>c(e),30,{maxSize:50}),p=(0,i.runtimeCache)(e=>d(e),30,{maxSize:50});e.s(["getCachedOpenCodeProjects",0,f,"getCachedOpenCodeSessionsByEncodedName",0,p,"getCachedOpenCodeSessionsForCwd",0,m,"getOpenCodeProjects",0,u,"getOpenCodeSessionsByEncodedName",0,d,"getOpenCodeSessionsForCwd",0,c])},55851,e=>{"use strict";var t=e.i(12714),n=e.i(60526),i=e.i(50227),s=e.i(81580),r=e.i(83534),o=e.i(71809),a=e.i(28557),l=e.i(40911);async function u(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function c(e){try{return(await (0,t.stat)(e)).mtime}catch{return null}}async function d(){let e=(0,i.join)(process.env.COPILOT_HOME||(0,i.join)((0,n.homedir)(),".copilot"),"session-state"),s=await u(e);if(!s)return[];let r=s.filter(e=>e.isDirectory()).map(t=>({sessionId:t.name,workspacePath:(0,i.join)(e,t.name,"workspace.yaml"),eventsPath:(0,i.join)(e,t.name,"events.jsonl")}));return(await (0,o.batchAll)(r.map(e=>async()=>{let n;try{n=await (0,t.readFile)(e.workspacePath,"utf-8")}catch{return null}let i=function(e){let t=e.match(/^cwd\s*:\s*(.+?)\s*$/m);if(t)return t[1].replace(/^['"]|['"]$/g,"")}(n);if(!i)return null;let s=await c(e.eventsPath),r=await c(e.workspacePath),o=null!==s,a=s&&r?new Date(Math.max(s.getTime(),r.getTime())):s??r??new Date(0);return{workspacePath:e.workspacePath,eventsPath:e.eventsPath,sessionId:e.sessionId,cwd:i,fileMtime:a,hasTranscript:o}}),16)).filter(e=>"fulfilled"===e.status).map(e=>e.value).filter(e=>null!==e)}let f=(0,r.runtimeCache)(d,30);async function m(){let e;try{e=await f()}catch(e){return(0,l.logWarn)("Failed to scan Copilot sessions:",e),[]}let t=new Map;for(let n of e){if(!n.hasTranscript)continue;let e=t.get(n.cwd);(!e||n.fileMtime.getTime()>e.latest.getTime())&&t.set(n.cwd,{latest:n.fileMtime,cwd:n.cwd})}let n=[];for(let{cwd:e,latest:i}of t.values())n.push({name:(0,s.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:i,lastModifiedFormatted:(0,a.formatDate)(i),cli:["copilot"]});return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}function p(e){let t=e.filter(e=>e.hasTranscript).map(e=>({name:e.sessionId,path:e.eventsPath,lastModified:e.fileMtime,lastModifiedFormatted:(0,a.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"copilot"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function y(e){let t;try{t=await f()}catch(e){return(0,l.logWarn)("Failed to scan Copilot sessions:",e),[]}return p(t.filter(t=>t.cwd===e))}async function g(e){let t;try{t=await f()}catch(e){return(0,l.logWarn)("Failed to scan Copilot sessions:",e),{cwd:null,sessions:[]}}let n=t.filter(t=>t.hasTranscript&&(0,s.encodeFolderName)(t.cwd)===e);return{cwd:n[0]?.cwd??null,sessions:p(n)}}let h=(0,r.runtimeCache)(m,30),w=(0,r.runtimeCache)(e=>y(e),30,{maxSize:50}),_=(0,r.runtimeCache)(e=>g(e),30,{maxSize:50});e.s(["getCachedCopilotProjects",0,h,"getCachedCopilotSessionsByEncodedName",0,_,"getCachedCopilotSessionsForCwd",0,w,"getCopilotProjects",0,m,"getCopilotSessionsByEncodedName",0,g,"getCopilotSessionsForCwd",0,y])},19791,e=>{"use strict";var t=e.i(12714),n=e.i(60526),i=e.i(50227),s=e.i(81580),r=e.i(83534),o=e.i(71809),a=e.i(28557),l=e.i(40911);let u=/^[\d-]+T[\d-]+Z_([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\.jsonl$/i;async function c(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function d(e){try{return(await (0,t.stat)(e)).mtime}catch{return null}}async function f(e){let n;try{n=await (0,t.readFile)(e,"utf-8")}catch{return null}let i=n.indexOf("\n")>=0?n.slice(0,n.indexOf("\n")):n;if(!i)return null;try{let e=JSON.parse(i);if("session"!==e.type||"string"!=typeof e.cwd||0===e.cwd.length)return null;return e.cwd}catch{return null}}async function m(){let e=process.env.PI_SESSIONS_DIR||(0,i.join)((0,n.homedir)(),".pi","agent","sessions"),t=await c(e);if(!t)return[];let s=[];for(let n of t){if(!n.isDirectory())continue;let t=(0,i.join)(e,n.name),r=await c(t);if(r)for(let e of r){if(!e.isFile())continue;let n=u.exec(e.name);n&&s.push({sessionId:n[1],filePath:(0,i.join)(t,e.name)})}}return 0===s.length?[]:(await (0,o.batchAll)(s.map(e=>async()=>{let t=await f(e.filePath);if(!t)return null;let n=await d(e.filePath);return n?{filePath:e.filePath,sessionId:e.sessionId,cwd:t,fileMtime:n}:null}),16)).filter(e=>"fulfilled"===e.status).map(e=>e.value).filter(e=>null!==e)}let p=(0,r.runtimeCache)(m,30);async function y(){let e;try{e=await p()}catch(e){return(0,l.logWarn)("Failed to scan Pi sessions:",e),[]}let t=new Map;for(let n of e){let e=t.get(n.cwd);(!e||n.fileMtime.getTime()>e.latest.getTime())&&t.set(n.cwd,{latest:n.fileMtime,cwd:n.cwd})}let n=[];for(let{cwd:e,latest:i}of t.values())n.push({name:(0,s.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:i,lastModifiedFormatted:(0,a.formatDate)(i),cli:["pi"]});return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}function g(e){let t=e.map(e=>({name:e.sessionId,path:e.filePath,lastModified:e.fileMtime,lastModifiedFormatted:(0,a.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"pi"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function h(e){let t;try{t=await p()}catch(e){return(0,l.logWarn)("Failed to scan Pi sessions:",e),[]}return g(t.filter(t=>t.cwd===e))}async function w(e){let t;try{t=await p()}catch(e){return(0,l.logWarn)("Failed to scan Pi sessions:",e),{cwd:null,sessions:[]}}let n=t.filter(t=>(0,s.encodeFolderName)(t.cwd)===e),i=Array.from(new Set(n.map(e=>e.cwd)));return 1!==i.length?{cwd:null,sessions:[]}:{cwd:i[0],sessions:g(n)}}let _=(0,r.runtimeCache)(y,30),S=(0,r.runtimeCache)(e=>h(e),30,{maxSize:50}),M=(0,r.runtimeCache)(e=>w(e),30,{maxSize:50});e.s(["getCachedPiProjects",0,_,"getCachedPiSessionsByEncodedName",0,M,"getCachedPiSessionsForCwd",0,S,"getPiProjects",0,y,"getPiSessionsByEncodedName",0,w,"getPiSessionsForCwd",0,h])},36203,e=>{"use strict";var t=e.i(12714),n=e.i(60526),i=e.i(50227),s=e.i(81580),r=e.i(83534),o=e.i(71809),a=e.i(28557),l=e.i(40911);let u=(0,i.join)((0,n.homedir)(),".codex","sessions"),c=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;async function d(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function f(e){let n=null;try{n=await (0,t.open)(e,"r");let i=Buffer.alloc(262144),{bytesRead:s}=await n.read(i,0,262144,0);if(0===s)return null;let r=i.subarray(0,s),o=r.indexOf(10),a=-1===o?s:o;return r.subarray(0,a).toString("utf-8")}catch{return null}finally{n&&await n.close().catch(()=>{})}}async function m(e){let t=await d(e);return t?t.filter(e=>e.isFile()&&e.name.endsWith(".jsonl")).map(t=>(0,i.join)(e,t.name)):[]}async function p(){let e=await d(u);if(!e)return[];let n=[];for(let t of e){if(!t.isDirectory())continue;let e=await d((0,i.join)(u,t.name));if(e)for(let s of e){if(!s.isDirectory())continue;let e=await d((0,i.join)(u,t.name,s.name));if(e)for(let r of e){if(!r.isDirectory())continue;let e=(0,i.join)(u,t.name,s.name,r.name);n.push(...await m(e))}}}return 0===n.length?[]:(await (0,o.batchAll)(n.map(e=>async()=>{let n,i,s=(i=(e.split("/").pop()??"").match(c))?i[0]:null;if(!s)return null;let r=await f(e);if(!r)return null;let{cwd:o}=function(e){try{let t=JSON.parse(e);if("session_meta"!==t.type)return{};let n=t.payload?.cwd;if("string"!=typeof n||0===n.length)return{};return{cwd:n}}catch{return{}}}(r);if(!o)return null;try{let i=await (0,t.open)(e,"r");try{n=(await i.stat()).mtime}finally{await i.close().catch(()=>{})}}catch{n=new Date(0)}return{filePath:e,fileName:e.split("/").pop()??"",cwd:o,sessionId:s,fileMtime:n}}),16)).filter(e=>"fulfilled"===e.status).map(e=>e.value).filter(e=>null!==e)}let y=(0,r.runtimeCache)(p,30);async function g(){let e;try{e=await y()}catch(e){return(0,l.logWarn)("Failed to scan Codex sessions:",e),[]}let t=new Map;for(let n of e){let e=t.get(n.cwd);(!e||n.fileMtime.getTime()>e.latest.getTime())&&t.set(n.cwd,{latest:n.fileMtime,cwd:n.cwd})}let n=[];for(let{cwd:e,latest:i}of t.values())n.push({name:(0,s.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:i,lastModifiedFormatted:(0,a.formatDate)(i),cli:["codex"]});return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}function h(e){let t=e.map(e=>({name:e.fileName.replace(/\.jsonl$/,""),path:e.filePath,lastModified:e.fileMtime,lastModifiedFormatted:(0,a.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"codex"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function w(e){let t;try{t=await y()}catch(e){return(0,l.logWarn)("Failed to scan Codex sessions:",e),[]}return h(t.filter(t=>t.cwd===e))}async function _(e){let t;try{t=await y()}catch(e){return(0,l.logWarn)("Failed to scan Codex sessions:",e),{cwd:null,sessions:[]}}let n=t.filter(t=>(0,s.encodeFolderName)(t.cwd)===e);return{cwd:n[0]?.cwd??null,sessions:h(n)}}let S=(0,r.runtimeCache)(g,30),M=(0,r.runtimeCache)(e=>w(e),30,{maxSize:50}),v=(0,r.runtimeCache)(e=>_(e),30,{maxSize:50});e.s(["getCachedCodexProjects",0,S,"getCachedCodexSessionsByEncodedName",0,v,"getCachedCodexSessionsForCwd",0,M,"getCodexProjects",0,g,"getCodexSessionsByEncodedName",0,_,"getCodexSessionsForCwd",0,w])},46413,e=>{"use strict";var t=e.i(12714),n=e.i(60526),i=e.i(50227),s=e.i(81580),r=e.i(83534),o=e.i(71809),a=e.i(28557),l=e.i(40911);let u=["agent-sessions","conversations","sessions"],c=["meta.json","session.json","workspace.json","workspace.yaml"],d=["events.jsonl","transcript.jsonl","messages.jsonl"];async function f(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function m(e){try{return(await (0,t.stat)(e)).mtime}catch{return null}}async function p(e,n){for(let s of n){let n,r=(0,i.join)(e,s);if(await m(r)===null)continue;try{n=await (0,t.readFile)(r,"utf-8")}catch{continue}let o=function(e){try{let t=JSON.parse(e);if("string"==typeof t.cwd&&t.cwd.length>0)return t.cwd}catch{}let t=e.match(/^\s*cwd\s*:\s*(.+?)\s*$/m);if(t){let e=t[1].replace(/^['"]|['"]$/g,"");if(e.length>0)return e}}(n);if(o)return{path:r,cwd:o}}return null}async function y(e,t){for(let n of t){let t=(0,i.join)(e,n);if(await m(t)!==null)return t}return null}async function g(){let e=process.env.CURSOR_HOME||(0,i.join)((0,n.homedir)(),".cursor"),t=[],r=[],a=(0,i.join)(e,"projects"),l=await f(a);if(l)for(let e of l){if(!e.isDirectory())continue;let n=(0,s.decodeFolderName)(e.name),r=n.startsWith("/")||/^[A-Za-z]:\//.test(n)?n:`/${n}`,o=(0,i.join)(a,e.name,"agent-transcripts"),l=await f(o);if(l)for(let e of l)e.isDirectory()&&t.push({sessionId:e.name,dir:(0,i.join)(o,e.name),cwd:r})}for(let t of u){let n=(0,i.join)(e,t),s=await f(n);if(s)for(let e of s)e.isDirectory()&&r.push({sessionId:e.name,dir:(0,i.join)(n,e.name)})}return 0===t.length&&0===r.length?[]:(await (0,o.batchAll)([...t.map(e=>async()=>{let t=(0,i.join)(e.dir,`${e.sessionId}.jsonl`),n=await m(t);return n?{metaPath:e.dir,transcriptPath:t,sessionId:e.sessionId,cwd:e.cwd,fileMtime:n,hasTranscript:!0}:null}),...r.map(e=>async()=>{let t=await p(e.dir,c);if(!t)return null;let n=await y(e.dir,d),i=n?await m(n):null,s=await m(t.path),r=i&&s?new Date(Math.max(i.getTime(),s.getTime())):i??s??new Date(0);return{metaPath:t.path,transcriptPath:n,sessionId:e.sessionId,cwd:t.cwd,fileMtime:r,hasTranscript:null!==n}})],16)).filter(e=>"fulfilled"===e.status).map(e=>e.value).filter(e=>null!==e)}let h=(0,r.runtimeCache)(g,30);async function w(){let e;try{e=await h()}catch(e){return(0,l.logWarn)("Failed to scan Cursor sessions:",e),[]}let t=new Map;for(let n of e){if(!n.hasTranscript)continue;let e=t.get(n.cwd);(!e||n.fileMtime.getTime()>e.latest.getTime())&&t.set(n.cwd,{latest:n.fileMtime,cwd:n.cwd})}let n=[];for(let{cwd:e,latest:i}of t.values())n.push({name:(0,s.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:i,lastModifiedFormatted:(0,a.formatDate)(i),cli:["cursor"]});return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}function _(e){let t=e.filter(e=>e.hasTranscript&&e.transcriptPath).map(e=>({name:e.sessionId,path:e.transcriptPath,lastModified:e.fileMtime,lastModifiedFormatted:(0,a.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"cursor"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function S(e){let t;try{t=await h()}catch(e){return(0,l.logWarn)("Failed to scan Cursor sessions:",e),[]}return _(t.filter(t=>t.cwd===e))}async function M(e){let t;try{t=await h()}catch(e){return(0,l.logWarn)("Failed to scan Cursor sessions:",e),{cwd:null,sessions:[]}}let n=t.filter(t=>t.hasTranscript&&(0,s.encodeFolderName)(t.cwd)===e);return{cwd:n[0]?.cwd??null,sessions:_(n)}}let v=(0,r.runtimeCache)(w,30),C=(0,r.runtimeCache)(e=>S(e),30,{maxSize:50}),x=(0,r.runtimeCache)(e=>M(e),30,{maxSize:50});e.s(["getCachedCursorProjects",0,v,"getCachedCursorSessionsByEncodedName",0,x,"getCachedCursorSessionsForCwd",0,C,"getCursorProjects",0,w,"getCursorSessionsByEncodedName",0,M,"getCursorSessionsForCwd",0,S])},99440,e=>{"use strict";var t=e.i(74533),n=e.i(83534),i=e.i(54214),s=e.i(67405);function r(e){try{let n=(0,t.execFileSync)("opencode",["db","--format","json",e],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]});if(!n.trim())return[];let i=JSON.parse(n);if(!Array.isArray(i))return null;return i}catch{return null}}function o(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function a(e){if("string"!=typeof e||0===e.length)return null;try{let t=JSON.parse(e);return o(t)?t:null}catch{return null}}async function l(e){if(!e||!/^[A-Za-z0-9_-]+$/.test(e))return null;let t=r(`SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session WHERE id = '${e}'`);if(!t||0===t.length)return null;let n=t[0],l=r(`SELECT id, session_id, time_created, time_updated, data FROM message WHERE session_id = '${e}' ORDER BY time_created ASC`),u=r(`SELECT id, message_id, session_id, time_created, time_updated, data FROM part WHERE session_id = '${e}' ORDER BY time_created ASC`);if(!l)return{entries:[],rawLines:[],cwd:n.directory??void 0,filePath:`opencode://${e}`};let c=new Map;for(let e of u??[]){let t=c.get(e.message_id);t||(t=[],c.set(e.message_id,t)),t.push(e)}let d=[],f=[];for(let e of l){let t=c.get(e.id)??[];d.push(function(e,t,n){let r=a(e.data)??{},l="string"==typeof r.role?r.role:"system",u=new Date(e.time_created),c=u.toISOString(),d={uuid:e.id,parentUuid:null},f=(0,i.baseEntry)(d,c,u,n),m=[],p="";for(let e of t){let t=a(e.data);if(!t)continue;let n="string"==typeof t.type?t.type:"unknown";if("text"===n){let e="string"==typeof t.text?t.text:"string"==typeof t.content?t.content:"";e&&(m.push({type:"text",text:e}),p+=(p?"\n":"")+e);continue}if("tool"===n){let n="string"==typeof t.tool?t.tool:"string"==typeof t.name?t.name:"tool",r=o(t.state)?t.state:null,a=r&&o(r.input)?r.input:o(t.input)?t.input:o(t.args)?t.args:{},l={type:"tool_use",id:e.id,name:n,input:a},u=r&&"string"==typeof r.status?r.status:"";if(r&&("completed"===u||"error"===u)){let t=("error"===u&&"string"==typeof r.error?r.error:null)??r.output,n="string"==typeof t?t:null!=t?JSON.stringify(t):"",a=o(r.time)?r.time:{},c="number"==typeof a.start?a.start:e.time_created,d="number"==typeof a.end?a.end:e.time_updated,f=Math.max(0,d-c),m=new Date(d);l.result={timestamp:m.toISOString(),timestampFormatted:(0,i.formatTimestamp)(m),content:n,durationMs:f,durationFormatted:(0,s.formatDuration)(f)}}m.push(l);continue}m.push({type:"text",text:`[opencode ${n}]`})}if("user"===l)return{...f,type:"user",message:{role:"user",content:p}};if("assistant"===l){let e=o(r.model)?r.model:null,t=e&&"string"==typeof e.modelID?e.modelID:void 0;return{...f,type:"assistant",message:{role:"assistant",content:m,model:t}}}return{...f,type:"system",raw:{id:e.id,role:l,parts:m}}}(e,t,"session"));let n=a(e.data);f.push({id:e.id,session_id:e.session_id,time_created:e.time_created,data:n??e.data})}return{entries:d,rawLines:f,cwd:n.directory??void 0,filePath:`opencode://${e}`}}async function u(e){if(!e||!/^[A-Za-z0-9_-]+$/.test(e))return null;let t=r(`SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session WHERE id = '${e}'`);if(!t||0===t.length)return null;let n=r(`SELECT id, session_id, time_created, time_updated, data FROM message WHERE session_id = '${e}' ORDER BY time_created ASC`),i=r(`SELECT id, message_id, session_id, time_created, time_updated, data FROM part WHERE session_id = '${e}' ORDER BY time_created ASC`);return null===n||null===i?null:{session:t[0],messages:n.map(e=>({...e,data:a(e.data)??e.data})),parts:i.map(e=>({...e,data:a(e.data)??e.data}))}}(0,n.runtimeCache)(e=>l(e),30,{maxSize:50}),e.s(["getOpenCodeSessionExport",0,u,"getOpenCodeSessionLog",0,l])},78166,e=>{"use strict";var t=e.i(2157),n=e.i(12714),i=e.i(50227),s=e.i(60526),r=e.i(83534),o=e.i(54214),a=e.i(67405);function l(e,t){let n=function(e){if(!e)return null;let t=(0,i.resolve)((0,i.join)(process.env.COPILOT_HOME||(0,i.join)((0,s.homedir)(),".copilot"),"session-state")),n=(0,i.resolve)(t,e);return n!==t&&n.startsWith(`${t}${i.sep}`)?n:null}(e);return n?(0,i.join)(n,t):null}function u(e){let n=l(e,"events.jsonl");return n&&(0,t.existsSync)(n)?n:null}async function c(e,t="session"){let n,i=e.split("\n").filter(e=>""!==e.trim()),s=[],r=[],l=new Map,u=new Map,d=!1;for(let e=0;e<i.length;e++){let c;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let f=i[e];try{c=JSON.parse(f)}catch{continue}let m={...c,_source:t};r.push(m);let p=c.timestamp;if(!p)continue;let y=new Date(p);if(Number.isNaN(y.getTime()))continue;let g=y.toISOString(),h=c.type,w=c.data??{};if("session.start"===h){let e=w.context,i=e?.cwd;"string"!=typeof i||n||(n=i);let r=d?"Session Resumed":"Session Started";d=!0,s.push({type:"queue-operation",...(0,o.baseEntry)(m,g,y,t),label:r});continue}if("user.message"===h){let e=w.content??"";if(!e)continue;s.push({type:"user",...(0,o.baseEntry)(m,g,y,t),message:{role:"user",content:e}});continue}if("system.message"===h){s.push({type:"system",...(0,o.baseEntry)(m,g,y,t),raw:m});continue}if("assistant.message"===h){let e=w.content??"";if(!e){s.push({type:"system",...(0,o.baseEntry)(m,g,y,t),raw:m});continue}let n=[{type:"text",text:e}];s.push({type:"assistant",...(0,o.baseEntry)(m,g,y,t),message:{role:"assistant",content:n}});continue}if("tool.execution_start"===h){let e=w.toolCallId,n=w.toolName??"tool",i=w.arguments??{},r={type:"tool_use",id:e??`${y.getTime()}-${n}`,name:n,input:i},a={type:"assistant",...(0,o.baseEntry)(m,g,y,t),message:{role:"assistant",content:[r]}};s.push(a),e&&(l.set(e,r),u.set(e,y.getTime()));continue}if("tool.execution_complete"===h){let e=w.toolCallId,n=e?l.get(e):void 0;if(n){let t=u.get(e)??y.getTime(),i=w.result??{},s=w.toolTelemetry??{},r=s.metrics?.commandTimeMs??s.metrics?.durationMs??null,l="number"==typeof r&&r>=0?r:Math.max(0,y.getTime()-t),c=i.detailedContent??i.content??"";n.result={timestamp:g,timestampFormatted:(0,o.formatTimestamp)(y),content:"string"==typeof c?c:JSON.stringify(c),durationMs:l,durationFormatted:(0,a.formatDuration)(l)};continue}s.push({type:"system",...(0,o.baseEntry)(m,g,y,t),raw:m});continue}s.push({type:"system",...(0,o.baseEntry)(m,g,y,t),raw:m})}return s.length>500&&await new Promise(e=>setImmediate(e)),s.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:s,rawLines:r,cwd:n}}async function d(e){let i,s=u(e);if(!s)return null;try{i=await (0,n.readFile)(s,"utf-8")}catch{return null}let{entries:r,rawLines:o,cwd:a}=await c(i,"session");return{entries:r,rawLines:o,cwd:a??function(e){let n,i=(n=l(e,"workspace.yaml"))&&(0,t.existsSync)(n)?n:null;if(i)try{let e=(0,t.readFileSync)(i,"utf-8"),n=RegExp("^cwd\\s*:\\s*(.+?)\\s*$","m"),s=e.match(n);if(!s)return;return s[1].replace(/^['"]|['"]$/g,"")}catch{return}}(e),filePath:s}}(0,r.runtimeCache)(e=>d(e),60,{maxSize:50}),e.s(["findCopilotTranscript",0,u,"getCopilotSessionLog",0,d])},57232,e=>{"use strict";var t=e.i(2157),n=e.i(12714),i=e.i(50227),s=e.i(60526),r=e.i(83534),o=e.i(54214),a=e.i(67405);let l=(0,e.i(79857).codexSessionPathsFile)();function u(){try{if(!(0,t.existsSync)(l))return{};return JSON.parse((0,t.readFileSync)(l,"utf-8"))}catch{return{}}}function c(e,n){try{(0,t.mkdirSync)((0,i.dirname)(l),{recursive:!0});let s=u();s[e]=n,(0,t.writeFileSync)(l,JSON.stringify(s),"utf-8")}catch{}}function d(e,n){try{for(let s of(0,t.readdirSync)(e,{withFileTypes:!0}))if(s.isFile()&&s.name.includes(n)&&s.name.endsWith(".jsonl"))return(0,i.join)(e,s.name)}catch{}return null}function f(e){let n=u()[e];if(n&&(0,t.existsSync)(n))return n;let r=(0,i.join)((0,s.homedir)(),".codex","sessions"),o=new Date,a=new Date(o.getTime()-864e5);for(let t of[o,a].map(e=>{let t=String(e.getUTCFullYear()),n=String(e.getUTCMonth()+1).padStart(2,"0"),s=String(e.getUTCDate()).padStart(2,"0");return(0,i.join)(r,t,n,s)})){let n=d(t,e);if(n)return c(e,n),n}try{for(let n of(0,t.readdirSync)(r,{withFileTypes:!0}))if(n.isDirectory()){for(let s of(0,t.readdirSync)((0,i.join)(r,n.name),{withFileTypes:!0}))if(s.isDirectory())for(let o of(0,t.readdirSync)((0,i.join)(r,n.name,s.name),{withFileTypes:!0})){if(!o.isDirectory())continue;let t=d((0,i.join)(r,n.name,s.name,o.name),e);if(t)return c(e,t),t}}}catch{}return null}function m(e,t){return Array.isArray(e)?e.filter(e=>e?.type===t&&"string"==typeof e.text).map(e=>e.text).join("\n"):""}async function p(e,t="session"){let n,i=e.split("\n").filter(e=>""!==e.trim()),s=[],r=[],l=new Map,u=new Map,c=!1;for(let e=0;e<i.length;e++){let d;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let f=i[e];try{d=JSON.parse(f)}catch{continue}let p={...d,_source:t};r.push(p);let y=d.timestamp;if(!y)continue;let g=new Date(y);if(Number.isNaN(g.getTime()))continue;let h=d.type,w=d.payload??{};if("session_meta"===h){let e=w.cwd;"string"!=typeof e||n||(n=e),s.push({type:"system",...(0,o.baseEntry)(p,y,g,t),raw:p});continue}if("response_item"===h){let e=w.type;if("message"===e){let e=w.role,n=w.content;if("user"===e||"developer"===e){let i=m(n,"input_text");if(!i)continue;let r="developer"===e?`[developer] ${i}`:i;s.push({type:"user",...(0,o.baseEntry)(p,y,g,t),message:{role:"user",content:r}});continue}if("assistant"===e){let e=m(n,"output_text");if(!e)continue;let i=[{type:"text",text:e}];s.push({type:"assistant",...(0,o.baseEntry)(p,y,g,t),message:{role:"assistant",content:i}});continue}s.push({type:"system",...(0,o.baseEntry)(p,y,g,t),raw:p});continue}if("function_call"===e){let e=w.call_id,n=w.name??"function_call",i={type:"tool_use",id:e??`${y}-${n}`,name:n,input:function(e){if(!e)return{};try{return JSON.parse(e)}catch{return{}}}(w.arguments)},r={type:"assistant",...(0,o.baseEntry)(p,y,g,t),message:{role:"assistant",content:[i]}};s.push(r),e&&(l.set(e,i),u.set(e,g.getTime()));continue}if("function_call_output"===e){let e=w.call_id,n=e?l.get(e):void 0;if(n){let t=u.get(e)??g.getTime(),i=Math.max(0,g.getTime()-t);n.result={timestamp:y,timestampFormatted:(0,o.formatTimestamp)(g),content:"string"==typeof w.output?w.output:JSON.stringify(w.output),durationMs:i,durationFormatted:(0,a.formatDuration)(i)};continue}s.push({type:"system",...(0,o.baseEntry)(p,y,g,t),raw:p});continue}s.push({type:"system",...(0,o.baseEntry)(p,y,g,t),raw:p});continue}if("event_msg"===h){let e=w.type;if("task_started"===e){let e=c?"Session Resumed":"Session Started";c=!0,s.push({type:"queue-operation",...(0,o.baseEntry)(p,y,g,t),label:e});continue}if("exec_command_end"===e){let e=w.call_id,n=e?l.get(e):void 0;if(n){let t=w.duration,i=t?(t.secs??0)*1e3+Math.round((t.nanos??0)/1e6):Math.max(0,g.getTime()-(u.get(e)??g.getTime())),s=w.aggregated_output;n.result={timestamp:y,timestampFormatted:(0,o.formatTimestamp)(g),content:"string"==typeof s?s:JSON.stringify(s),durationMs:i,durationFormatted:(0,a.formatDuration)(i)};continue}s.push({type:"system",...(0,o.baseEntry)(p,y,g,t),raw:p});continue}if("user_message"===e||"agent_message"===e)continue;s.push({type:"system",...(0,o.baseEntry)(p,y,g,t),raw:p});continue}s.push({type:"system",...(0,o.baseEntry)(p,y,g,t),raw:p})}return s.length>500&&await new Promise(e=>setImmediate(e)),s.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:s,rawLines:r,cwd:n}}async function y(e){let t=f(e);if(!t)return null;let i=await (0,n.readFile)(t,"utf-8"),{entries:s,rawLines:r,cwd:o}=await p(i,"session");return{entries:s,rawLines:r,cwd:o,filePath:t}}(0,r.runtimeCache)(e=>y(e),60,{maxSize:50}),e.s(["findCodexTranscript",0,f,"getCodexSessionLog",0,y])},40375,e=>{"use strict";var t=e.i(60526),n=e.i(50227),i=e.i(79708),s=e.i(83534),r=e.i(54214),o=e.i(67405);let a=/^[A-Za-z0-9_-]+$/;function l(){return process.env.DEVIN_DB_PATH||(0,n.join)(process.env.DEVIN_HOME||(0,n.join)((0,t.homedir)(),".local","share","devin"),"cli","sessions.db")}function u(e){if("string"==typeof e&&0!==e.length)try{return JSON.parse(e)}catch{return}}function c(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function d(e){return"string"==typeof e?e:Array.isArray(e)?e.map(e=>c(e)&&"string"==typeof e.text?e.text:"").filter(Boolean).join("\n"):""}function f(e,t){if("number"==typeof e&&Number.isFinite(e)){if(e>1e12)return new Date(e);if(e>1e9)return new Date(1e3*e)}if("string"==typeof e){let t=Date.parse(e);if(!Number.isNaN(t))return new Date(t)}return new Date(t)}async function m(e){if(!e||!a.test(e))return null;let t=await (0,i.openSqliteReadonly)(l());if(!t)return null;try{let n=t.query("SELECT working_directory FROM sessions WHERE id = ?",[e]);if(0===n.length)return null;let i=n[0].working_directory,s=t.query("SELECT node_id, parent_node_id, chat_message, created_at FROM message_nodes WHERE session_id = ? ORDER BY node_id ASC",[e]),a=function(e){let t=[];for(let n of e){let e=u(n.chat_message);c(e)&&(null!=n.created_at&&null==e._created_at&&(e._created_at=n.created_at),t.push(e))}return t}(function(e){if(0===e.length)return e;let t=new Map;for(let n of e)"number"==typeof n.node_id&&t.set(n.node_id,n);let n=e.reduce((e,t)=>(e.node_id??-1)>(t.node_id??-1)?e:t),i=[],s=new Set;for(;n&&"number"==typeof n.node_id&&!s.has(n.node_id);)s.add(n.node_id),i.push(n),n=null!=n.parent_node_id?t.get(n.parent_node_id):void 0;return i.reverse()}(s)),l=function(e,t="session"){let n=[],i=new Map,s=new Map,a=Date.now();for(let l=0;l<e.length;l++){let m=e[l];if(!c(m))continue;let p="string"==typeof m.role?m.role:"system",y=function(e,t){let n=c(e.metadata)?e.metadata:void 0;return n&&null!=n.created_at?f(n.created_at,t):null!=e._created_at?f(e._created_at,t):new Date(t)}(m,a+l),g=y.toISOString(),h={uuid:null!=m.message_id?String(m.message_id):`devin-${l}`,parentUuid:null},w=(0,r.baseEntry)(h,g,y,t);if("user"===p){n.push({type:"user",...w,message:{role:"user",content:d(m.content)}});continue}if("assistant"===p){let e=[],t=d(m.content);for(let n of(t&&e.push({type:"text",text:t}),function(e){let t=Array.isArray(e)?e:u(e);if(!Array.isArray(t))return[];let n=[];for(let e of t){if(!c(e))continue;let t=c(e.function)?e.function:{},i="string"==typeof e.name?e.name:"string"==typeof t.name?t.name:"tool",s="string"==typeof e.id&&e.id||"string"==typeof e.call_id&&e.call_id||`${i}-${n.length}`,r=e.arguments??t.arguments,o=c(r)?r:u(r);n.push({id:s,name:i,input:c(o)?o:{}})}return n}(m.tool_calls))){let t={type:"tool_use",id:n.id,name:n.name,input:n.input};e.push(t),i.set(n.id,t),s.set(n.id,y.getTime())}if(0===e.length)continue;n.push({type:"assistant",...w,message:{role:"assistant",content:e,model:"string"==typeof m.model?m.model:void 0}});continue}if("tool"===p){let e="string"==typeof m.tool_call_id?m.tool_call_id:void 0,t=e?i.get(e):void 0;if(t){let n=e&&s.get(e)||y.getTime(),i=Math.max(0,y.getTime()-n);t.result={timestamp:g,timestampFormatted:(0,r.formatTimestamp)(y),content:d(m.content),durationMs:i,durationFormatted:(0,o.formatDuration)(i)};continue}}n.push({type:"system",...w,raw:h})}return n.sort((e,t)=>e.timestampMs-t.timestampMs),n}(a,"session"),m=i&&i.length>0?i:void 0;return{entries:l,rawLines:a,cwd:m,filePath:`devin-db://${e}`}}catch{return null}finally{t.close()}}(0,s.runtimeCache)(e=>m(e),2,{maxSize:50}),e.s(["devinDbPath",0,l,"devinEpochToMs",0,function(e){if("number"==typeof e&&Number.isFinite(e)){if(e>1e12)return e;if(e>1e9)return 1e3*e}return Date.now()},"getDevinSessionLog",0,m])},79364,e=>{"use strict";var t=e.i(79708),n=e.i(40375),i=e.i(81580),s=e.i(83534),r=e.i(28557);async function o(){let e=await (0,t.openSqliteReadonly)((0,n.devinDbPath)());if(!e)return[];try{return e.query("SELECT id, working_directory, title, created_at, last_activity_at, hidden FROM sessions ORDER BY last_activity_at DESC").filter(e=>!e.hidden).map(e=>{let t=e.working_directory??void 0;return{sessionId:e.id,cwd:t,title:e.title??void 0,projectName:t?(0,i.encodeFolderName)(t):"devin",mtimeMs:(0,n.devinEpochToMs)(e.last_activity_at??e.created_at)}})}catch{return[]}finally{e.close()}}let a=(0,s.runtimeCache)(o,2);async function l(){let e=await o(),t=new Map;for(let n of e){if(!n.cwd)continue;let e=t.get(n.projectName);(!e||n.mtimeMs>e.latest)&&t.set(n.projectName,{latest:n.mtimeMs,cwd:n.cwd,name:n.projectName})}let n=[];for(let{name:e,cwd:i,latest:s}of t.values()){let t=new Date(s);n.push({name:e,path:i,isDirectory:!0,lastModified:t,lastModifiedFormatted:(0,r.formatDate)(t),cli:["devin"]})}return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}async function u(e){let t=(await o()).filter(t=>t.cwd&&t.projectName===e);if(0===t.length)return{cwd:null,sessions:[]};let n=[...t].sort((e,t)=>t.mtimeMs-e.mtimeMs);return{cwd:n[0].cwd??null,sessions:n.map(e=>{let t=new Date(e.mtimeMs);return{name:e.title??e.sessionId,path:`devin-db://${e.sessionId}`,lastModified:t,lastModifiedFormatted:(0,r.formatDate)(t),sessionId:e.sessionId,cli:"devin"}})}}let c=(0,s.runtimeCache)(l,2),d=(0,s.runtimeCache)(e=>u(e),2,{maxSize:50});e.s(["getCachedDevinProjects",0,c,"getCachedDevinSessions",0,a,"getCachedDevinSessionsByEncodedName",0,d,"getDevinProjects",0,l,"getDevinSessions",0,o,"getDevinSessionsByEncodedName",0,u])},85116,e=>{"use strict";var t=e.i(2157),n=e.i(12714),i=e.i(50227),s=e.i(60526),r=e.i(83534),o=e.i(54214),a=e.i(67405);let l=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,u=/^[\d-]+T[\d-]+Z_([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\.jsonl$/i;function c(e){let n;if(!l.test(e))return null;let r=(0,i.resolve)(process.env.PI_SESSIONS_DIR||(0,i.join)((0,s.homedir)(),".pi","agent","sessions"));try{n=(0,t.readdirSync)(r)}catch{return null}for(let s of n){let n,o=(0,i.resolve)(r,s);if(o.startsWith(`${r}${i.sep}`)){try{n=(0,t.readdirSync)(o)}catch{continue}for(let s of n){let n=u.exec(s);if(!n||n[1].toLowerCase()!==e.toLowerCase())continue;let r=(0,i.resolve)(o,s);if(r.startsWith(`${o}${i.sep}`)&&(0,t.existsSync)(r))return r}}}return null}function d(e){if(!Array.isArray(e))return"";let t=[];for(let n of e)n?.type==="text"&&"string"==typeof n.text&&t.push(n.text);return t.join("\n\n")}async function f(e,t="session"){let n,i=e.split("\n").filter(e=>""!==e.trim()),s=[],r=[],l=!1,u=new Map,c=new Map;for(let e=0;e<i.length;e++){let f;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let m=i[e];try{f=JSON.parse(m)}catch{continue}let p={...f,_source:t};r.push(p);let y=f.timestamp;if(!y)continue;let g=new Date(y);if(Number.isNaN(g.getTime()))continue;let h=g.toISOString(),w=f.type;if("session"===w){"string"!=typeof f.cwd||n||(n=f.cwd);let e=l?"Session Resumed":"Session Started";l=!0,s.push({type:"queue-operation",...(0,o.baseEntry)(p,h,g,t),label:e});continue}if("message"===w&&f.message&&"object"==typeof f.message){let e=f.message.role,n=f.message.content;if("user"===e){let e=d(n);if(!e)continue;s.push({type:"user",...(0,o.baseEntry)(p,h,g,t),message:{role:"user",content:e}});continue}if("assistant"===e){let e=function(e,t){if(!Array.isArray(e))return[];let n=[];for(let i of e)if(i?.type==="text"&&"string"==typeof i.text&&i.text.length>0&&n.push({type:"text",text:i.text}),i?.type==="thinking"&&"string"==typeof i.thinking&&i.thinking.length>0&&n.push({type:"text",text:`[thinking] ${i.thinking}`}),i?.type==="toolCall"){let e="string"==typeof i.id&&i.id.length>0?i.id:`${"string"==typeof i.name?i.name:"tool"}-${n.length}`,s={type:"tool_use",id:e,name:"string"==typeof i.name?i.name:"tool",input:i.arguments&&"object"==typeof i.arguments&&!Array.isArray(i.arguments)?i.arguments:{}};n.push(s),t?.(s)}return n}(n,e=>{u.set(e.id,e),c.set(e.id,g.getTime())});if(0===e.length){s.push({type:"system",...(0,o.baseEntry)(p,h,g,t),raw:p});continue}s.push({type:"assistant",...(0,o.baseEntry)(p,h,g,t),message:{role:"assistant",content:e}});continue}if("toolResult"===e){let e=f.message.toolCallId,t="string"==typeof e?u.get(e):void 0;if(t){let i="string"==typeof e&&c.get(e)||g.getTime(),s=Math.max(0,g.getTime()-i);t.result={timestamp:h,timestampFormatted:(0,o.formatTimestamp)(g),content:d(n),durationMs:s,durationFormatted:(0,a.formatDuration)(s)};continue}}s.push({type:"system",...(0,o.baseEntry)(p,h,g,t),raw:p});continue}s.push({type:"system",...(0,o.baseEntry)(p,h,g,t),raw:p})}return s.length>500&&await new Promise(e=>setImmediate(e)),s.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:s,rawLines:r,cwd:n}}async function m(e){let t,i,s=c(e);if(!s)return null;try{t=await (0,n.readFile)(s,"utf-8")}catch{return null}try{i=await f(t,"session")}catch{return null}return{entries:i.entries,rawLines:i.rawLines,cwd:i.cwd,filePath:s}}(0,r.runtimeCache)(e=>m(e),60,{maxSize:50}),e.s(["findPiTranscript",0,c,"getPiSessionLog",0,m])},72094,e=>{"use strict";var t=e.i(2157),n=e.i(12714),i=e.i(50227),s=e.i(60526),r=e.i(83534),o=e.i(54214),a=e.i(67405);let l=["agent-sessions","conversations","sessions"],u=["events.jsonl","transcript.jsonl","messages.jsonl"],c="agent-transcripts";function d(e){let n=function(e){if(!e)return null;let n=(0,i.resolve)(process.env.CURSOR_HOME||(0,i.join)((0,s.homedir)(),".cursor")),r=(0,i.resolve)(n,"projects"),o=[];try{o=(0,t.readdirSync)(r,{withFileTypes:!0})}catch{}for(let n of o){if(!n.isDirectory())continue;let s=(0,i.resolve)(r,n.name,c,e),o=(0,i.resolve)(r,n.name,c);if(s!==o&&s.startsWith(`${o}${i.sep}`)&&(0,t.existsSync)(s))return s}for(let s of l){let r=(0,i.resolve)(n,s),o=(0,i.resolve)(r,e);if(o!==r&&o.startsWith(`${r}${i.sep}`)&&(0,t.existsSync)(o))return o}return null}(e);if(!n)return null;let r=(0,i.join)(n,`${(0,i.basename)(n)}.jsonl`);if((0,t.existsSync)(r))return r;for(let e of u){let s=(0,i.join)(n,e);if((0,t.existsSync)(s))return s}return null}async function f(e,t="session"){let n,i=e.split("\n").filter(e=>""!==e.trim()),s=[],r=[],l=new Map,u=new Map,c=!1,d=Date.now();for(let e=0;e<i.length;e++){let f;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let m=i[e];try{f=JSON.parse(m)}catch{continue}let p={...f,_source:t};if(r.push(p),!f.type&&f.role&&f.message?.content){let n=new Date(d+e),i=n.toISOString(),r=f.message.content.filter(e=>e?.type==="text"&&"string"==typeof e.text).map(e=>e.text).join("");if("user"===f.role){let e=/<user_query>\s*([\s\S]*?)\s*<\/user_query>/.exec(r),a=e?e[1]:r;a&&s.push({type:"user",...(0,o.baseEntry)(p,i,n,t),message:{role:"user",content:a}});continue}if("assistant"===f.role){let e=r?[{type:"text",text:r}]:[];0===e.length?s.push({type:"system",...(0,o.baseEntry)(p,i,n,t),raw:p}):s.push({type:"assistant",...(0,o.baseEntry)(p,i,n,t),message:{role:"assistant",content:e}});continue}s.push({type:"system",...(0,o.baseEntry)(p,i,n,t),raw:p});continue}let y=f.timestamp;if(!y)continue;let g=new Date(y);if(Number.isNaN(g.getTime()))continue;let h=g.toISOString(),w=f.type,_=f.data??{};if("session.start"===w||"sessionStart"===w||"session_start"===w){let e=_.context??_,i=e.cwd;"string"!=typeof i||n||(n=i),!n&&Array.isArray(e.workspace_roots)&&"string"==typeof e.workspace_roots[0]&&(n=e.workspace_roots[0]);let r=c?"Session Resumed":"Session Started";c=!0,s.push({type:"queue-operation",...(0,o.baseEntry)(p,h,g,t),label:r});continue}if("user.message"===w||"userMessage"===w){let e="string"==typeof _.content?_.content:"string"==typeof _.text?_.text:"";if(!e)continue;s.push({type:"user",...(0,o.baseEntry)(p,h,g,t),message:{role:"user",content:e}});continue}if("system.message"===w||"systemMessage"===w){s.push({type:"system",...(0,o.baseEntry)(p,h,g,t),raw:p});continue}if("assistant.message"===w||"assistantMessage"===w){let e="string"==typeof _.content?_.content:"string"==typeof _.text?_.text:"";if(!e){s.push({type:"system",...(0,o.baseEntry)(p,h,g,t),raw:p});continue}let n=[{type:"text",text:e}];s.push({type:"assistant",...(0,o.baseEntry)(p,h,g,t),message:{role:"assistant",content:n}});continue}if("tool.execution_start"===w||"tool.executionStart"===w||"preToolUse"===w){let e=_.toolCallId??_.tool_use_id,n=_.toolName??_.tool_name??"tool",i=_.arguments??_.tool_input??{},r={type:"tool_use",id:e??`${g.getTime()}-${n}`,name:n,input:i},a={type:"assistant",...(0,o.baseEntry)(p,h,g,t),message:{role:"assistant",content:[r]}};s.push(a),e&&(l.set(e,r),u.set(e,g.getTime()));continue}if("tool.execution_complete"===w||"tool.executionComplete"===w||"postToolUse"===w){let e=_.toolCallId??_.tool_use_id,n=e?l.get(e):void 0;if(n){let t=u.get(e)??g.getTime(),i=_.result??{},s=_.duration,r="number"==typeof s&&s>=0?s:Math.max(0,g.getTime()-t),l=i.detailedContent??i.content??_.tool_output??"";n.result={timestamp:h,timestampFormatted:(0,o.formatTimestamp)(g),content:"string"==typeof l?l:JSON.stringify(l),durationMs:r,durationFormatted:(0,a.formatDuration)(r)};continue}s.push({type:"system",...(0,o.baseEntry)(p,h,g,t),raw:p});continue}s.push({type:"system",...(0,o.baseEntry)(p,h,g,t),raw:p})}return s.length>500&&await new Promise(e=>setImmediate(e)),s.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:s,rawLines:r,cwd:n}}async function m(e){let t,i=d(e);if(!i)return null;try{t=await (0,n.readFile)(i,"utf-8")}catch{return null}let{entries:s,rawLines:r,cwd:o}=await f(t,"session");return{entries:s,rawLines:r,cwd:o,filePath:i}}(0,r.runtimeCache)(e=>m(e),60,{maxSize:50}),e.s(["findCursorTranscript",0,d,"getCursorSessionLog",0,m])},36618,e=>{"use strict";var t=e.i(60526),n=e.i(50227),i=e.i(79708),s=e.i(83534),r=e.i(54214),o=e.i(67405);let a=/^\d{8}_\d+$/;function l(){return process.env.GOOSE_DB_PATH||(0,n.join)(function(){if(process.env.GOOSE_HOME)return process.env.GOOSE_HOME;let e=process.env.XDG_DATA_HOME;return(0,n.join)(e&&e.length>0?e:(0,n.join)((0,t.homedir)(),".local","share"),"goose")}(),"sessions","sessions.db")}function u(e){if("number"==typeof e&&Number.isFinite(e)){if(e>1e12)return e;if(e>1e9)return 1e3*e}if("string"==typeof e&&e.length>0){let t=Date.parse(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(e)?e.replace(" ","T")+"Z":e);if(!Number.isNaN(t))return t}return Date.now()}function c(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function d(e){return"string"==typeof e?e:Array.isArray(e)?e.map(e=>c(e)&&"string"==typeof e.text?e.text:"").filter(Boolean).join("\n"):""}async function f(e){if(!e||!a.test(e))return null;let t=await (0,i.openSqliteReadonly)(l());if(!t)return null;try{let n=t.query("SELECT working_dir FROM sessions WHERE id = ?",[e]);if(0===n.length)return null;let i=n[0].working_dir,s=t.query("SELECT role, content_json, created_timestamp FROM messages WHERE session_id = ? ORDER BY id ASC",[e]),a=function(e,t="session"){let n=[],i=new Map,s=new Map,a=Date.now();for(let l=0;l<e.length;l++){let f=e[l],m=function(e){if("string"==typeof e&&0!==e.length)try{return JSON.parse(e)}catch{return}}(f.content_json);if(!Array.isArray(m))continue;let p="string"==typeof f.role?f.role:"system",y=function(e,t){let n="number"==typeof e||"string"==typeof e?u(e):NaN;return new Date(Number.isNaN(n)?t:n)}(f.created_timestamp,a+l),g=y.toISOString(),h={uuid:`goose-${l}`,parentUuid:null},w=(0,r.baseEntry)(h,g,y,t),_=[],S=[],M=[];for(let e of m)c(e)&&("text"===e.type&&"string"==typeof e.text?_.push(e.text):"toolRequest"===e.type?S.push(e):"toolResponse"===e.type&&M.push(e));for(let e of M){let t="string"==typeof e.id?e.id:void 0,n=t?i.get(t):void 0;if(!n)continue;let a=t&&s.get(t)||y.getTime(),l=Math.max(0,y.getTime()-a);n.result={timestamp:g,timestampFormatted:(0,r.formatTimestamp)(y),content:function(e){let t=(c(e.toolResult)?e.toolResult:{}).value;return c(t)&&Array.isArray(t.content)?d(t.content):"string"==typeof t?t:Array.isArray(t)?d(t):""}(e),durationMs:l,durationFormatted:(0,o.formatDuration)(l)}}let v=_.join("\n").trim();if(S.length>0||"assistant"===p&&v){let e=[];for(let t of(v&&e.push({type:"text",text:v}),S)){let{id:n,name:r,input:o}=function(e,t){let n="string"==typeof e.id&&e.id?e.id:`goose-tool-${t}`,i=c(e.toolCall)?e.toolCall:{},s=c(i.value)?i.value:{},r="string"==typeof s.name?s.name:"tool";return{id:n,name:r,input:c(s.arguments)?s.arguments:{}}}(t,e.length),a={type:"tool_use",id:n,name:r,input:o};e.push(a),i.set(n,a),s.set(n,y.getTime())}if(0===e.length)continue;n.push({type:"assistant",...w,message:{role:"assistant",content:e}});continue}if("user"===p&&v){n.push({type:"user",...w,message:{role:"user",content:v}});continue}v&&n.push({type:"system",...w,raw:h})}return n.sort((e,t)=>e.timestampMs-t.timestampMs),n}(s,"session"),l=i&&i.length>0?i:void 0;return{entries:a,rawLines:s,cwd:l,filePath:`goose-db://${e}`}}catch{return null}finally{t.close()}}(0,s.runtimeCache)(e=>f(e),2,{maxSize:50}),e.s(["getGooseSessionLog",0,f,"gooseDbPath",0,l,"gooseTimestampToMs",0,u])},69164,e=>{"use strict";var t=e.i(79708),n=e.i(36618),i=e.i(81580),s=e.i(83534),r=e.i(28557);async function o(){let e=await (0,t.openSqliteReadonly)((0,n.gooseDbPath)());if(!e)return[];try{return e.query("SELECT id, working_dir, description, name, session_type, created_at, updated_at FROM sessions ORDER BY updated_at DESC").filter(e=>"hidden"!==e.session_type).map(e=>{let t=e.working_dir??void 0,s=(e.description&&e.description.length>0?e.description:e.name)??void 0;return{sessionId:e.id,cwd:t,title:s&&s.length>0?s:void 0,projectName:t?(0,i.encodeFolderName)(t):"goose",mtimeMs:(0,n.gooseTimestampToMs)(e.updated_at??e.created_at)}})}catch{return[]}finally{e.close()}}let a=(0,s.runtimeCache)(o,2);async function l(){let e=await o(),t=new Map;for(let n of e){if(!n.cwd)continue;let e=t.get(n.projectName);(!e||n.mtimeMs>e.latest)&&t.set(n.projectName,{latest:n.mtimeMs,cwd:n.cwd,name:n.projectName})}let n=[];for(let{name:e,cwd:i,latest:s}of t.values()){let t=new Date(s);n.push({name:e,path:i,isDirectory:!0,lastModified:t,lastModifiedFormatted:(0,r.formatDate)(t),cli:["goose"]})}return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}async function u(e){let t=(await o()).filter(t=>t.cwd&&t.projectName===e);if(0===t.length)return{cwd:null,sessions:[]};let n=[...t].sort((e,t)=>t.mtimeMs-e.mtimeMs);return{cwd:n[0].cwd??null,sessions:n.map(e=>{let t=new Date(e.mtimeMs);return{name:e.title??e.sessionId,path:`goose-db://${e.sessionId}`,lastModified:t,lastModifiedFormatted:(0,r.formatDate)(t),sessionId:e.sessionId,cli:"goose"}})}}let c=(0,s.runtimeCache)(l,2),d=(0,s.runtimeCache)(e=>u(e),2,{maxSize:50});e.s(["getCachedGooseProjects",0,c,"getCachedGooseSessions",0,a,"getCachedGooseSessionsByEncodedName",0,d,"getGooseProjects",0,l,"getGooseSessions",0,o,"getGooseSessionsByEncodedName",0,u])},47756,e=>{"use strict";var t=e.i(2157),n=e.i(94930),i=e.i(79857);function s(){return(0,i.auditDashboardFile)()}e.s(["readDashboardCache",0,function(){let e=s();if(!(0,t.existsSync)(e))return null;try{let n=(0,t.readFileSync)(e,"utf-8"),i=JSON.parse(n);if(!i||"object"!=typeof i||"string"!=typeof i.cachedAt||!i.params||"object"!=typeof i.params||!i.result||"object"!=typeof i.result||2!==i.schemaVersion||function(e,t=30){let n=new Date(e).getTime();return!!Number.isNaN(n)||Date.now()-n>6e4*t}(i.cachedAt,10080))return null;return i}catch{return null}},"writeDashboardCache",0,function(e,t){try{let i={schemaVersion:2,cachedAt:new Date().toISOString(),params:e,result:t};return(0,n.writeJsonAtomically)(s(),i),!0}catch{return!1}}])},48480,e=>{"use strict";let t={running:!1,error:null};e.s(["finishRun",0,function(e){t.running=!1,t.startedAt=void 0,t.error=e},"getRunState",0,function(){return{...t}},"tryAcquireRun",0,function(){return!t.running&&(t.running=!0,t.startedAt=Date.now(),t.error=null,!0)}])},29095,e=>{"use strict";var t=e.i(2157),n=e.i(79857);function i(e,t){return!(e&&function(e){if(!Number.isInteger(e)||e<=0)return!1;try{return process.kill(e,0),!0}catch(e){return"EPERM"===e.code}}(e.pid))||t-e.startedAt>36e5}function s(e,n){let i=!1,s=()=>{if(i)return;i=!0,process.removeListener("exit",s);let o=r(e);if(!o||o.pid===n.pid)try{(0,t.unlinkSync)(e)}catch{}};return process.once("exit",s),{info:n,release:s}}function r(e){try{let n=JSON.parse((0,t.readFileSync)(e,"utf8"));if("number"!=typeof n?.pid||"number"!=typeof n?.startedAt)return null;return{pid:n.pid,startedAt:n.startedAt,source:n.source??"cli"}}catch{return null}}function o(e,n){let i=JSON.stringify(n),s=`${e}.${process.pid}.tmp`;try{(0,t.writeFileSync)(s,i,{mode:384})}catch{return!1}try{return(0,t.linkSync)(s,e),!0}catch(s){let n;if("EEXIST"===s.code)return!1;var r=e,o=i;try{return n=(0,t.openSync)(r,"wx",384),(0,t.writeSync)(n,o),!0}catch{return!1}finally{if(void 0!==n)try{(0,t.closeSync)(n)}catch{}}}finally{try{(0,t.unlinkSync)(s)}catch{}}}e.s(["acquireAuditLock",0,function(e,a=Date.now()){let l=(0,n.auditLockFile)(),u={pid:process.pid,startedAt:a,source:e};try{(0,t.mkdirSync)((0,n.failproofaiHome)(),{recursive:!0}),(0,t.mkdirSync)((0,n.runDir)(),{recursive:!0,mode:448})}catch{return{ok:!1,heldBy:null}}if(o(l,u))return{ok:!0,lock:s(l,u)};let c=r(l);if(!i(c,a))return{ok:!1,heldBy:c};try{(0,t.unlinkSync)(l)}catch{}return o(l,u)?{ok:!0,lock:s(l,u)}:{ok:!1,heldBy:r(l)}},"readActiveAuditLock",0,function(e=Date.now()){let t=r((0,n.auditLockFile)());return i(t,e)?null:t}])},64199,e=>{"use strict";var t=e.i(12714),n=e.i(2157),i=e.i(60526),s=e.i(50227),r=e.i(83534),o=e.i(54214),a=e.i(67405);let l=/^[0-9a-fA-F-]{36}$/;function u(){return process.env.OPENCLAW_HOME||(0,s.join)((0,i.homedir)(),".openclaw")}function c(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function d(e){return"string"==typeof e?e:Array.isArray(e)?e.map(e=>c(e)&&"string"==typeof e.text?e.text:"").filter(Boolean).join("\n"):""}function f(){let e,t=(0,s.join)(u(),"agents"),i=[];try{e=(0,n.readdirSync)(t,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>e.name)}catch{return i}for(let r of e){let e,o=(0,s.join)(t,r,"sessions");try{e=(0,n.readdirSync)(o)}catch{continue}for(let t of e){if(!t.endsWith(".jsonl")||t.endsWith(".trajectory.jsonl"))continue;let e=t.slice(0,-6);if(!l.test(e))continue;let a=(0,s.join)(o,t);try{let t=(0,n.statSync)(a);i.push({agentId:r,sessionId:e,transcriptPath:a,mtimeMs:t.mtimeMs,sizeBytes:t.size})}catch{}}}return i}function m(e){if(!l.test(e))return null;for(let t of f())if(t.sessionId===e)return t.transcriptPath;return null}async function p(e){let n,i,s=m(e);if(!s)return null;try{n=await (0,t.readFile)(s,"utf-8")}catch{return null}let r=(0,o.parseRawLines)(n,"session"),l=function(e,t="session"){let n=[],i=new Map,s=new Map,r=Date.now();for(let l=0;l<e.length;l++){let u=e[l];if(!c(u)||"message"!==u.type)continue;let f=c(u.message)?u.message:void 0;if(!f)continue;let m="string"==typeof f.role?f.role:"system",p=function(e,t){if("number"==typeof e&&Number.isFinite(e)){if(e>1e12)return new Date(e);if(e>1e9)return new Date(1e3*e)}if("string"==typeof e){let t=Date.parse(e);if(!Number.isNaN(t))return new Date(t)}return new Date(t)}(u.timestamp??f.timestamp,r+l),y=p.toISOString(),g={uuid:null!=u.id?String(u.id):`openclaw-${l}`,parentUuid:null!=u.parentId?String(u.parentId):null},h=(0,o.baseEntry)(g,y,p,t);if("user"===m){n.push({type:"user",...h,message:{role:"user",content:d(f.content)}});continue}if("assistant"===m){let e=[],t=f.content;if(Array.isArray(t)){for(let n of t)if(c(n)){if("text"===n.type&&"string"==typeof n.text)e.push({type:"text",text:n.text});else if("toolCall"===n.type){let t="string"==typeof n.id?n.id:`${String(n.name??"tool")}-${e.length}`,r={type:"tool_use",id:t,name:"string"==typeof n.name?n.name:"tool",input:c(n.arguments)?n.arguments:{}};e.push(r),i.set(t,r),s.set(t,p.getTime())}}}else{let n=d(t);n&&e.push({type:"text",text:n})}if(0===e.length)continue;n.push({type:"assistant",...h,message:{role:"assistant",content:e,model:"string"==typeof f.model?f.model:void 0}});continue}if("toolResult"===m){let e="string"==typeof f.toolCallId?f.toolCallId:void 0,t=e?i.get(e):void 0;if(t){let n=c(f.details)?f.details:void 0,i=e&&s.get(e)||p.getTime(),r=n&&"number"==typeof n.durationMs?n.durationMs:Math.max(0,p.getTime()-i);t.result={timestamp:y,timestampFormatted:(0,o.formatTimestamp)(p),content:d(f.content),durationMs:r,durationFormatted:(0,a.formatDuration)(r)};continue}}n.push({type:"system",...h,raw:g})}return n.sort((e,t)=>e.timestampMs-t.timestampMs),n}(r,"session");for(let e of r)if(c(e)&&"session"===e.type&&"string"==typeof e.cwd&&e.cwd.length>0){i=e.cwd;break}return{entries:l,rawLines:r,cwd:i,filePath:s}}(0,r.runtimeCache)(e=>p(e),2,{maxSize:50}),e.s(["findOpenClawTranscript",0,m,"getOpenClawSessionLog",0,p,"listOpenClawAgents",0,function(){try{return(0,n.readdirSync)((0,s.join)(u(),"agents"),{withFileTypes:!0}).filter(e=>e.isDirectory()&&!e.name.startsWith(".")).map(e=>e.name).sort()}catch{return[]}},"listOpenClawTranscripts",0,f,"openclawHome",0,u])},90624,e=>{"use strict";var t=e.i(2157),n=e.i(50227),i=e.i(83534),s=e.i(64199),r=e.i(28557);function o(e){return"string"==typeof e&&e.length>0?e:void 0}async function a(){let e=(0,s.listOpenClawTranscripts)(),i=new Map,r=[];for(let a of e){let e=i.get(a.agentId);e||(e=function(e){let i,r=new Map,a=(0,n.join)((0,s.openclawHome)(),"agents",e,"sessions","sessions.json");try{i=JSON.parse((0,t.readFileSync)(a,"utf-8"))}catch{return r}if(!i||"object"!=typeof i)return r;for(let e of Object.values(i)){if(!e||"object"!=typeof e)continue;let t=o(e.sessionId);if(!t)continue;let n=e.origin&&"object"==typeof e.origin?e.origin:{},i="number"==typeof e.lastInteractionAt?e.lastInteractionAt:"number"==typeof e.updatedAt?e.updatedAt:void 0;r.set(t,{lastMs:i,channel:o(e.lastChannel)??o(n.provider)??o(n.surface),chatType:o(e.chatType)??o(n.chatType),label:o(n.label),chatId:o(e.lastTo)??o(n.from)})}return r}(a.agentId),i.set(a.agentId,e));let l=e.get(a.sessionId);r.push({sessionId:a.sessionId,agentId:a.agentId,channel:l?.channel??"local",label:l?.label,chatType:l?.chatType,chatId:l?.chatId,transcriptPath:a.transcriptPath,mtimeMs:l?.lastMs??a.mtimeMs,sizeBytes:a.sizeBytes})}return r.sort((e,t)=>t.mtimeMs-e.mtimeMs),r}let l=(0,i.runtimeCache)(a,2);function u(e,t){return`openclaw-${e}-${t}`}function c(e,t){return`openclaw:${e}:${t}`}function d(e){if(!e.startsWith("openclaw-"))return[];let t=e.slice(9);if(!t)return[];let n=[];for(let e of(0,s.listOpenClawAgents)().sort((e,t)=>t.length-e.length)){let i=`${e}-`;t.startsWith(i)&&t.length>i.length&&n.push({agentId:e,channel:t.slice(i.length)})}return n.push({agentId:null,channel:t}),n}async function f(){let e=await a(),t=new Map;for(let n of e){let e=JSON.stringify([n.agentId,n.channel]),i=t.get(e);i?(i.latest=Math.max(i.latest,n.mtimeMs),i.count+=1):t.set(e,{agentId:n.agentId,channel:n.channel,latest:n.mtimeMs,count:1})}let n=[];for(let{agentId:e,channel:i,latest:s,count:o}of t.values()){let t=new Date(s);n.push({name:u(e,i),path:c(e,i),isDirectory:!0,lastModified:t,lastModifiedFormatted:(0,r.formatDate)(t),cli:["openclaw"],sessionCount:o})}return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}async function m(e){let t=d(e);if(0===t.length)return{cwd:null,sessions:[]};let n=await a(),i=e=>n.filter(t=>t.channel===e.channel&&(null===e.agentId||t.agentId===e.agentId)),s=t[0],o=i(s);if(0===o.length)for(let e of t.slice(1)){let t=i(e);if(t.length>0){s=e,o=t;break}}let{agentId:l,channel:u}=s;return{cwd:null===l?`openclaw:${u}`:c(l,u),sessions:o.map(e=>{let t=new Date(e.mtimeMs);return{name:e.label??e.chatId??e.sessionId,path:e.sessionId,lastModified:t,lastModifiedFormatted:(0,r.formatDate)(t),sessionId:e.sessionId,cli:"openclaw",channelId:e.chatId,channelType:e.chatType}})}}let p=(0,i.runtimeCache)(f,2),y=(0,i.runtimeCache)(e=>m(e),2,{maxSize:50});e.s(["getCachedOpenClawProjects",0,p,"getCachedOpenClawSessions",0,l,"getCachedOpenClawSessionsByEncodedName",0,y,"getOpenClawProjects",0,f,"getOpenClawSessions",0,a,"getOpenClawSessionsByEncodedName",0,m,"openClawProjectName",0,u,"openClawProjectNameCandidates",0,d,"openClawProjectPath",0,c,"parseOpenClawProjectName",0,function(e){return d(e)[0]??null}])},3605,28898,e=>{"use strict";var t=e.i(50227),n=e.i(79708),i=e.i(2157),s=e.i(60526);let r="profiles",o="default";function a(){let e,n=function(){let e=(process.env.HERMES_HOME||"").trim();if(e){let n=(0,t.resolve)(e),i=(0,t.dirname)(n);return(0,t.basename)(i)===r?(0,t.dirname)(i):n}return(0,t.join)((0,s.homedir)(),".hermes")}(),a=[{name:o,home:n}],l=new Set([o]);try{e=(0,i.readdirSync)((0,t.join)(n,r),{withFileTypes:!0}).filter(e=>(e.isDirectory()||e.isSymbolicLink())&&!e.name.startsWith(".")).map(e=>e.name).sort()}catch{return a}for(let i of e)l.has(i)||(l.add(i),a.push({name:i,home:(0,t.join)(n,r,i)}));return a}function l(e,t){return`hermes:${e}:${t}`}e.s(["HERMES_DEFAULT_PROFILE",0,o,"hermesProjectName",0,function(e,t){return`hermes-${e}-${t}`},"hermesProjectNameCandidates",0,function(e){if(!e.startsWith("hermes-"))return[];let t=e.slice(7);if(!t)return[];let n=[];for(let e of a().map(e=>e.name).sort((e,t)=>t.length-e.length)){let i=`${e}-`;t.startsWith(i)&&t.length>i.length&&n.push({profile:e,source:t.slice(i.length)})}return n.push({profile:o,source:t}),n},"hermesProjectPath",0,l,"listHermesProfiles",0,a],28898);var u=e.i(83534),c=e.i(54214),d=e.i(67405);function f(){let e=process.env.HERMES_DB_PATH;return e?[{profile:o,dbPath:e}]:a().map(e=>({profile:e.name,dbPath:(0,t.join)(e.home,"state.db")}))}function m(e){if("string"==typeof e&&0!==e.length)try{return JSON.parse(e)}catch{return}}function p(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function y(e){return"string"==typeof e?e:Array.isArray(e)?e.map(e=>p(e)&&"string"==typeof e.text?e.text:"").filter(Boolean).join("\n"):""}async function g(e){if(!e||!/^[A-Za-z0-9_-]+$/.test(e))return null;for(let{profile:t,dbPath:n}of f()){let i=await h(n,t,e);if(i)return i}return null}async function h(e,t,i){let s=await (0,n.openSqliteReadonly)(e);if(!s)return null;try{let e=s.query("SELECT source, cwd FROM sessions WHERE id = ?",[i]);if(0===e.length)return null;let{source:n,cwd:r}=e[0],o=s.query("SELECT id, role, content, tool_call_id, tool_calls, tool_name, timestamp FROM messages WHERE session_id = ? ORDER BY timestamp ASC",[i]),a=function(e,t="session"){let n=[],i=new Map,s=new Map,r=Date.now();for(let o=0;o<e.length;o++){let a=e[o];if(!p(a))continue;let l="string"==typeof a.role?a.role:"system",u=function(e,t){if("number"==typeof e&&Number.isFinite(e)){if(e>1e12)return new Date(e);if(e>1e9)return new Date(1e3*e)}if("string"==typeof e){let t=Date.parse(e);if(!Number.isNaN(t))return new Date(t)}return new Date(t)}(a.timestamp??a.time_created,r+o),f=u.toISOString(),g={uuid:null!=a.id?String(a.id):`hermes-${o}`,parentUuid:null},h=(0,c.baseEntry)(g,f,u,t);if("user"===l){n.push({type:"user",...h,message:{role:"user",content:y(a.content)}});continue}if("assistant"===l){let e=[],t=y(a.content);for(let n of(t&&e.push({type:"text",text:t}),function(e){let t=Array.isArray(e)?e:m(e);if(!Array.isArray(t))return[];let n=[];for(let e of t){if(!p(e))continue;let t=p(e.function)?e.function:{},i="string"==typeof t.name?t.name:"string"==typeof e.name?e.name:"tool",s="string"==typeof e.id&&e.id||"string"==typeof e.call_id&&e.call_id||`${i}-${n.length}`,r=p(t.arguments)?t.arguments:m(t.arguments);n.push({id:s,name:i,input:p(r)?r:{}})}return n}(a.tool_calls))){let t={type:"tool_use",id:n.id,name:n.name,input:n.input};e.push(t),i.set(n.id,t),s.set(n.id,u.getTime())}if(0===e.length)continue;n.push({type:"assistant",...h,message:{role:"assistant",content:e}});continue}if("tool"===l){let e="string"==typeof a.tool_call_id?a.tool_call_id:void 0,t=e?i.get(e):void 0;if(t){let n=e&&s.get(e)||u.getTime(),i=Math.max(0,u.getTime()-n);t.result={timestamp:f,timestampFormatted:(0,c.formatTimestamp)(u),content:y(a.content),durationMs:i,durationFormatted:(0,d.formatDuration)(i)};continue}}n.push({type:"system",...h,raw:g})}return n.sort((e,t)=>e.timestampMs-t.timestampMs),n}(o,"session"),u=r&&r.length>0?r:n?l(t,n):void 0;return{entries:a,rawLines:o,cwd:u,filePath:`hermes://${i}`,profile:t}}catch{return null}finally{s.close()}}(0,u.runtimeCache)(e=>g(e),2,{maxSize:50}),e.s(["epochToMs",0,function(e){if("number"==typeof e&&Number.isFinite(e)){if(e>1e12)return e;if(e>1e9)return 1e3*e}return Date.now()},"getHermesSessionLog",0,g,"hermesDbPaths",0,f],3605)},64828,e=>{"use strict";var t=e.i(79708),n=e.i(3605),i=e.i(28898),s=e.i(83534),r=e.i(28557);async function o(){let e=[];for(let{profile:t,dbPath:i}of(0,n.hermesDbPaths)())e.push(...await a(i,t));return e.sort((e,t)=>t.mtimeMs-e.mtimeMs),e}async function a(e,i){let s=await (0,t.openSqliteReadonly)(e);if(!s)return[];try{return s.query("SELECT s.id, s.source, s.cwd, s.title, s.user_id, s.chat_id, s.chat_type, s.started_at, s.ended_at, s.message_count, lm.last_activity FROM sessions s LEFT JOIN (SELECT session_id, MAX(timestamp) AS last_activity FROM messages GROUP BY session_id) lm ON lm.session_id = s.id ORDER BY lm.last_activity DESC").map(e=>({sessionId:e.id,profile:i,source:e.source??void 0,cwd:e.cwd??void 0,title:e.title??void 0,userId:e.user_id??void 0,chatId:e.chat_id??void 0,chatType:e.chat_type??void 0,mtimeMs:(0,n.epochToMs)(e.last_activity??e.ended_at??e.started_at),messageCount:"number"==typeof e.message_count?e.message_count:0,hasMessages:null!=e.last_activity}))}catch{return[]}finally{s.close()}}let l=(0,s.runtimeCache)(o,2);async function u(){let e=await o(),t=new Map;for(let n of e){if(n.messageCount<=0&&!n.hasMessages)continue;let e=n.profile||i.HERMES_DEFAULT_PROFILE,s=n.source??"unknown",r=JSON.stringify([e,s]),o=t.get(r);o?(o.latest=Math.max(o.latest,n.mtimeMs),o.count+=1):t.set(r,{profile:e,source:s,latest:n.mtimeMs,count:1})}let n=[];for(let{profile:e,source:s,latest:o,count:a}of t.values()){let t=new Date(o);n.push({name:(0,i.hermesProjectName)(e,s),path:(0,i.hermesProjectPath)(e,s),isDirectory:!0,lastModified:t,lastModifiedFormatted:(0,r.formatDate)(t),cli:["hermes"],sessionCount:a})}return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}async function c(e){let t=(0,i.hermesProjectNameCandidates)(e);if(0===t.length)return{cwd:null,sessions:[]};let n=await o(),s=e=>n.filter(t=>(t.messageCount>0||t.hasMessages)&&(t.profile||i.HERMES_DEFAULT_PROFILE)===e.profile&&(t.source??"unknown")===e.source),a=t[0],l=s(a);if(0===l.length)for(let e of t.slice(1)){let t=s(e);if(t.length>0){a=e,l=t;break}}let{profile:u,source:c}=a;return{cwd:(0,i.hermesProjectPath)(u,c),sessions:l.map(e=>{let t=new Date(e.mtimeMs);return{name:e.title??e.sessionId,path:`hermes://${e.sessionId}`,lastModified:t,lastModifiedFormatted:(0,r.formatDate)(t),sessionId:e.sessionId,cli:"hermes",userId:e.userId,channelId:e.chatId,channelType:e.chatType}})}}let d=(0,s.runtimeCache)(u,2),f=(0,s.runtimeCache)(e=>c(e),2,{maxSize:50});e.s(["getCachedHermesProjects",0,d,"getCachedHermesSessions",0,l,"getCachedHermesSessionsByEncodedName",0,f,"getHermesProjects",0,u,"getHermesSessions",0,o,"getHermesSessionsByEncodedName",0,c])},93114,e=>{"use strict";var t=e.i(12714),n=e.i(2157),i=e.i(60526),s=e.i(50227),r=e.i(83534),o=e.i(54214),a=e.i(67405);let l=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,u=new Set(["CONVERSATION_HISTORY","CHECKPOINT"]);function c(){return process.env.ANTIGRAVITY_HOME||(0,s.join)((0,i.homedir)(),".gemini","antigravity-cli")}function d(){return(0,s.join)(c(),"brain")}function f(){return(0,s.join)(".system_generated","logs","transcript_full.jsonl")}function m(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function p(e,t="session"){let n=[],i=new Map,s=Date.now();for(let r=0;r<e.length;r++){let l=e[r];if(!m(l))continue;let c="string"==typeof l.type?l.type:"";if(!c||u.has(c))continue;let d=function(e,t){if("number"==typeof e&&Number.isFinite(e)){if(e>1e12)return new Date(e);if(e>1e9)return new Date(1e3*e)}if("string"==typeof e){let t=Date.parse(e);if(!Number.isNaN(t))return new Date(t)}return new Date(t)}(l.created_at,s+r),f=d.toISOString(),p="number"==typeof l.step_index?l.step_index:r,y={uuid:`antigravity-${p}`,parentUuid:null},g=(0,o.baseEntry)(y,f,d,t);if("USER_INPUT"===c){let e="string"==typeof l.content?l.content:"";n.push({type:"user",...g,message:{role:"user",content:e}});continue}if("PLANNER_RESPONSE"===c){let e=[];if("string"==typeof l.content&&l.content.length>0&&e.push({type:"text",text:l.content}),Array.isArray(l.tool_calls))for(let t=0;t<l.tool_calls.length;t++){let n=l.tool_calls[t];if(!m(n))continue;let s="string"==typeof n.name?n.name:"tool",r={type:"tool_use",id:`${s}-${p}-${t}`,name:s,input:m(n.args)?n.args:{}};e.push(r);let o=s.toUpperCase(),a=i.get(o)??[];a.push({block:r,startMs:d.getTime()}),i.set(o,a)}if(0===e.length)continue;n.push({type:"assistant",...g,message:{role:"assistant",content:e}});continue}let h=i.get(c);if(h&&h.length>0){let{block:e,startMs:t}=h.shift(),n=Math.max(0,d.getTime()-t);e.result={timestamp:f,timestampFormatted:(0,o.formatTimestamp)(d),content:"string"==typeof l.content?l.content:"",durationMs:n,durationFormatted:(0,a.formatDuration)(n)};continue}n.push({type:"system",...g,raw:y})}return n.sort((e,t)=>e.timestampMs-t.timestampMs),n}function y(e){if(!l.test(e))return null;let t=(0,s.join)(d(),e,f());try{if((0,n.statSync)(t).isFile())return t}catch{}return null}async function g(e){let n,i=y(e);if(!i)return null;try{n=await (0,t.readFile)(i,"utf-8")}catch{return null}let s=(0,o.parseRawLines)(n,"session"),r=p(s,"session"),a=function(e){for(let t of e)if(m(t)&&Array.isArray(t.tool_calls))for(let e of t.tool_calls){if(!m(e)||!m(e.args))continue;let t=e.args.Cwd??e.args.cwd;if("string"==typeof t&&t.length>0)return t}}(s);return{entries:r,rawLines:s,cwd:a,filePath:i}}(0,r.runtimeCache)(e=>g(e),60,{maxSize:50}),e.s(["antigravityHome",0,c,"antigravityLinesToLogEntries",0,p,"findAntigravityTranscript",0,y,"getAntigravitySessionLog",0,g,"listAntigravityTranscripts",0,function(){let e,t=d(),i=f(),r=[];try{e=(0,n.readdirSync)(t,{withFileTypes:!0}).filter(e=>e.isDirectory())}catch{return r}for(let o of e){let e=o.name;if(!l.test(e))continue;let a=(0,s.join)(t,e,i);try{let t=(0,n.statSync)(a);if(!t.isFile())continue;r.push({conversationId:e,transcriptPath:a,mtimeMs:t.mtimeMs,sizeBytes:t.size})}catch{}}return r}])},30441,e=>{"use strict";var t=e.i(50227),n=e.i(79708),i=e.i(93114),s=e.i(83534),r=e.i(81580),o=e.i(28557),a=e.i(40911);function l(){return(0,t.join)((0,i.antigravityHome)(),"conversation_summaries.db")}async function u(){let e=new Map,t=await (0,n.openSqliteReadonly)(l());if(!t)return e;try{for(let n of t.query("SELECT conversation_id, title, step_count, workspace_uris, last_modified_time FROM conversation_summaries"))n.conversation_id&&e.set(n.conversation_id,{title:n.title??void 0,cwd:function(e){let t;if(!e)return;try{let n=JSON.parse(e);Array.isArray(n)&&"string"==typeof n[0]?t=n[0]:"string"==typeof n&&(t=n)}catch{t=e}if(!t)return;let n=t.replace(/^file:\/\//,"");return n.length>0?n:void 0}(n.workspace_uris),stepCount:"number"==typeof n.step_count?n.step_count:void 0,lastMs:function(e){if("number"==typeof e&&Number.isFinite(e))return e>1e12?e:e>1e9?1e3*e:void 0;if("string"==typeof e){let t=Date.parse(e);if(!Number.isNaN(t))return t}}(n.last_modified_time)})}catch{}finally{t.close()}return e}async function c(){let e;try{e=(0,i.listAntigravityTranscripts)()}catch(e){return(0,a.logWarn)("Failed to scan Antigravity brain dir:",e),[]}let t=await u(),n=[];for(let s of e){let e=t.get(s.conversationId),r=e?.cwd??null;if(!r)try{let e=await (0,i.getAntigravitySessionLog)(s.conversationId);r=e?.cwd??null}catch{r=null}n.push({conversationId:s.conversationId,cwd:r,title:e?.title,mtimeMs:e?.lastMs??s.mtimeMs})}return n}let d="antigravity";async function f(){let e=await c(),t=new Map;for(let n of e){let e=n.cwd?(0,r.encodeFolderName)(n.cwd):d,i=n.cwd??"antigravity",s=t.get(e);(!s||n.mtimeMs>s.latest)&&t.set(e,{latest:n.mtimeMs,path:i})}let n=[];for(let[e,{latest:i,path:s}]of t){let t=new Date(i);n.push({name:e,path:s,isDirectory:!0,lastModified:t,lastModifiedFormatted:(0,o.formatDate)(t),cli:["antigravity"]})}return n.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),n}async function m(e){let t=(await c()).filter(t=>(t.cwd?(0,r.encodeFolderName)(t.cwd):d)===e);if(0===t.length)return{cwd:null,sessions:[]};let n=[...t].sort((e,t)=>t.mtimeMs-e.mtimeMs);return{cwd:n.find(e=>e.cwd)?.cwd??(e===d?null:(0,r.decodeFolderName)(e)),sessions:n.map(e=>{let t=new Date(e.mtimeMs);return{name:e.title??e.conversationId,path:`antigravity://${e.conversationId}`,lastModified:t,lastModifiedFormatted:(0,o.formatDate)(t),sessionId:e.conversationId,cli:"antigravity"}})}}let p=(0,s.runtimeCache)(f,30),y=(0,s.runtimeCache)(e=>m(e),30,{maxSize:50});e.s(["antigravitySummariesDbPath",0,l,"getAntigravityIndex",0,u,"getAntigravityProjects",0,f,"getAntigravitySessionsByEncodedName",0,m,"getCachedAntigravityProjects",0,p,"getCachedAntigravitySessionsByEncodedName",0,y])},37352,e=>{e.v(e=>Promise.resolve().then(()=>e(36203)))},5807,e=>{e.v(e=>Promise.resolve().then(()=>e(55851)))},97452,e=>{e.v(e=>Promise.resolve().then(()=>e(46413)))},82978,e=>{e.v(e=>Promise.resolve().then(()=>e(35435)))},45093,e=>{e.v(e=>Promise.resolve().then(()=>e(19791)))},67347,e=>{e.v(e=>Promise.resolve().then(()=>e(64828)))},38978,e=>{e.v(e=>Promise.resolve().then(()=>e(90624)))},62998,e=>{e.v(t=>Promise.all(["server/chunks/lib_factory-projects_ts_1eo_bk-._.js"].map(t=>e.l(t))).then(()=>t(69391)))},52400,e=>{e.v(e=>Promise.resolve().then(()=>e(79364)))},91301,e=>{e.v(e=>Promise.resolve().then(()=>e(30441)))},31854,e=>{e.v(e=>Promise.resolve().then(()=>e(69164)))},78081,e=>{e.v(t=>Promise.all(["server/chunks/[externals]__1_g_b3t._.js","server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js"].map(t=>e.l(t))).then(()=>t(39702)))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1iny24d._.js.map
@@ -1,3 +0,0 @@
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"))},79857,e=>{"use strict";var t=e.i(60526),r=e.i(50227);function a(e){return e?(0,r.resolve)(e,".failproofai"):process.env.FAILPROOFAI_HOME||(0,r.resolve)((0,t.homedir)(),".failproofai")}let s=(e,...t)=>e?(0,r.resolve)(a(e),...t):((...e)=>(0,r.resolve)(a(),...e))(...t),n=e=>s(e,"run");e.s(["auditCacheDir",0,e=>(0,r.resolve)(s(e,"audit"),"cache"),"auditDashboardFile",0,e=>(0,r.resolve)(s(e,"audit"),"dashboard.json"),"auditLockFile",0,e=>(0,r.resolve)(n(e),"audit.lock"),"codexSessionPathsFile",0,e=>(0,r.resolve)(s(e,"state"),"codex-session-paths.json"),"configFile",0,e=>s(e,"config.toml"),"failproofaiHome",0,a,"globalPolicyConfigFile",0,e=>(0,r.resolve)(s(e,"policies","local-policies"),"policies-config.json"),"logsDir",0,e=>s(e,"logs"),"runDir",0,n,"telemetryIdFile",0,e=>(0,r.resolve)(s(e,"state"),"telemetry-id")])},6375,e=>{"use strict";var t=e.i(46501);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 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",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 a(e.status,r,s,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 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(n){let s=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: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 a(0,"timeout",`request to ${e} timed out after 10000ms`);throw n}}async function o(e,t,a){let o={"content-type":"application/json"};a?.accessToken&&(o.authorization=`Bearer ${a.accessToken}`);let i=await n(`${r()}${e}`,{method:"POST",headers:o,body:JSON.stringify(t)});if(204!==i.status){if(!i.ok)throw await s(i);return await i.json()}}async function i(e,t){let a=await n(`${r()}${e}`,{method:"GET",headers:{authorization:`Bearer ${t}`}});if(!a.ok)throw await s(a);return await a.json()}async function l(e){return o("/v0/auth/login/request",{email:e})}async function u(e,t){return o("/v0/auth/login/verify",{email:e,code:t})}async function d(e){return o("/v0/auth/token/refresh",{refresh_token:e})}async function c(e,t){await o("/v0/auth/logout",{refresh_token:t},{accessToken:e})}async function p(e){return i("/v0/auth/me",e)}async function h(e,t){return(await o("/v0/reminders",t,{accessToken:e})).reminder}async function f(e){let t=await n(`${r()}/v0/reminders`,{method:"DELETE",headers:{authorization:`Bearer ${e}`}});if(204!==t.status&&!t.ok)throw await s(t)}async function v(e,t,r){return o("/v0/invite",void 0===r?{to:t}:{to:t,score:r},{accessToken:e})}e.s(["AuthApiError",0,a,"cancelReminder",0,f,"fetchMe",0,p,"logoutSession",0,c,"refreshAccessToken",0,d,"requestLoginCode",0,l,"scheduleReminder",0,h,"sendInvites",0,v,"verifyLoginCode",0,u],6375)},51481,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(26937),v=e.i(10372),m=e.i(93695);e.i(20232);var x=e.i(220),_=e.i(89171),g=e.i(6375),y=e.i(46501);async function R(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,g.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 g.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,R,"dynamic",0,"force-dynamic"],61403);var w=e.i(61403);let b=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:w,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:A,serverHooks:q}=b;async function C(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/auth/login-request/route";_=_.replace(/\/index$/,"")||"/";let g=await b.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:R,params:w,nextConfig:E,parsedUrl:A,isDraftMode:q,prerenderManifest:C,routerServerContext:k,isOnDemandRevalidate:S,revalidateOnlyGenerated:T,resolvedPathname:j,clientReferenceManifest:N,serverActionsManifest:P}=g,O=(0,i.normalizeAppPath)(_),I=!!(C.dynamicRoutes[O]||C.routes[j]),F=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,A,!1):t.end("This page could not be found"),null);if(I&&!q){let e=!!C.routes[j],t=C.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await F();throw new m.NoFallbackError}}let $=null;!I||b.isDev||q||($="/index"===($=j)?"/":$);let H=!0===b.isDev||!I,L=I&&!H;P&&N&&(0,o.setManifestsSingleton)({page:_,clientReferenceManifest:N,serverActionsManifest:P});let M=e.method||"GET",U=(0,n.getTracer)(),D=U.getActiveScopeSpan(),B=!!(null==k?void 0:k.isWrappedByNextServer),K=!!(0,s.getRequestMeta)(e,"minimalMode"),G=(0,s.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,E,C,K);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let z={params:w,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:H,incrementalCache:G,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>b.onRequestError(e,t,a,s,k)},sharedContext:{buildId:y,deploymentId:R}},V=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),X=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t));try{let s,o=async e=>b.handle(X,z).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")!==d.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),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${M} ${_}`)}),i=async s=>{var n,i;let l=async({previousCacheEntry:r})=>{try{if(!K&&S&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(s);e.fetchMetrics=z.renderOpts.fetchMetrics;let i=z.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let l=z.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(V,W,n,z.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:S})},!1,k),t}},u=await b.handleResponse({req:e,nextConfig:E,cacheKey:$,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:K});if(!I)return null;if((null==u||null==(n=u.value)?void 0:n.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(i=u.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",S?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),q&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&I||d.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(V,W,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};B&&D?await i(D):(s=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${_}`,kind:n.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},i),void 0,!B))}catch(t){if(t instanceof m.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:S})},!1,k),I)throw t;return await (0,p.sendResponse)(V,W,new Response(null,{status:500})),null}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:A})},"routeModule",0,b,"serverHooks",0,q,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,A],51481)},78081,e=>{e.v(t=>Promise.all(["server/chunks/[externals]__0h9_83k._.js","server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js"].map(t=>e.l(t))).then(()=>t(39702)))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1tyedjt._.js.map
@@ -1,5 +0,0 @@
1
- module.exports=[34324,e=>{"use strict";var t=e.i(15855),n=e.i(2157);e.i(50227);let r=/^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i;class i extends Date{#e=!1;#t=!1;#n=null;constructor(e){let t=!0,n=!0,i="Z";if("string"==typeof e){let o=e.match(r);o?(o[1]||(t=!1,e=`0000-01-01T${e}`),(n=!!o[2])&&" "===e[10]&&(e=e.replace(" ","T")),o[2]&&+o[2]>23?e="":(i=o[3]||null,e=e.toUpperCase(),!i&&n&&(e+="Z"))):e=""}super(e),isNaN(this.getTime())||(this.#e=t,this.#t=n,this.#n=i)}isDateTime(){return this.#e&&this.#t}isLocal(){return!this.#e||!this.#t||!this.#n}isDate(){return this.#e&&!this.#t}isTime(){return this.#t&&!this.#e}isValid(){return this.#e||this.#t}toISOString(){let e=super.toISOString();if(this.isDate())return e.slice(0,10);if(this.isTime())return e.slice(11,23);if(null===this.#n)return e.slice(0,-1);if("Z"===this.#n)return e;let t=60*this.#n.slice(1,3)+ +this.#n.slice(4,6);return t="-"===this.#n[0]?t:-t,new Date(this.getTime()-6e4*t).toISOString().slice(0,-1)+this.#n}static wrapAsOffsetDateTime(e,t="Z"){let n=new i(e);return n.#n=t,n}static wrapAsLocalDateTime(e){let t=new i(e);return t.#n=null,t}static wrapAsLocalDate(e){let t=new i(e);return t.#t=!1,t.#n=null,t}static wrapAsLocalTime(e){let t=new i(e);return t.#e=!1,t.#n=null,t}}class o extends Error{line;column;codeblock;constructor(e,t){const[n,r]=function(e,t){let n=e.slice(0,t).split(/\r\n|\n|\r/g);return[n.length,n.pop().length+1]}(t.toml,t.ptr),i=function(e,t,n){let r=e.split(/\r\n|\n|\r/g),i="",o=(0|Math.log10(t+1))+1;for(let e=t-1;e<=t+1;e++){let l=r[e-1];l&&(i+=e.toString().padEnd(o," "),i+=": ",i+=l,i+="\n",e===t&&(i+=" ".repeat(o+n+2),i+="^\n"))}return i}(t.toml,n,r);super(`Invalid TOML document: ${e}
2
-
3
- ${i}`,t),this.line=n,this.column=r,this.codeblock=i}}let l=/^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/,s=/^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/,a=/^[+-]?0[0-9_]/;function f(e,t){let n=e[t++],r=n,i="'"===n,l=n===e[t]&&n===e[t+1];l&&("\n"===e[t+=2]?t++:"\r"===e[t]&&"\n"===e[t+1]&&(t+=2));let s="",a=t,f=0;for(let c=t;c<e.length;c++)if(n=e[c],l&&("\n"===n||"\r"===n&&"\n"===e[c+1]))f=f&&3;else if(n<" "&&" "!==n||""===n)throw new o("control characters are not allowed in strings",{toml:e,ptr:c});else if((!f||3===f)&&n===r&&(!l||e[c+1]===r&&e[c+2]===r))return l&&(e[c+3]===r&&c++,e[c+3]===r&&c++),[f?s:s+e.slice(a,c),c+(l?3:1)];else if(f){if(1===f)if("x"===n||"u"===n||"U"===n){let t=0,r="x"===n?2:"u"===n?4:8;for(let n=0;n<r;n++,c++){let n=e.charCodeAt(c+1),r=n>=48&&n<=57?n-48:n>=65&&n<=70?n-65+10:n>=97&&n<=102?n-97+10:-1;if(r<0)throw new o("invalid non-hex character in unicode escape",{toml:e,ptr:c+1});t=t<<4|r}if(t<0||t>1114111||t>=55296&&t<=57343)throw new o("invalid unicode escape",{toml:e,ptr:c});s+=String.fromCodePoint(t),a=c+1,f=0}else if(" "===n||" "===n)f=2;else{if("b"===n)s+="\b";else if("t"===n)s+=" ";else if("n"===n)s+="\n";else if("f"===n)s+="\f";else if("r"===n)s+="\r";else if("e"===n)s+="\x1b";else if('"'===n)s+='"';else if("\\"===n)s+="\\";else throw new o("unrecognized escape sequence",{toml:e,ptr:c});a=c+1,f=0}else if(" "!==n&&" "!==n){if(2===f)throw new o("invalid escape: only line-ending whitespace may be escaped",{toml:e,ptr:a});f=+(!i&&"\\"===n),a=c}}else i||"\\"!==n||(s+=e.slice(a,a=c),f=1);throw new o("unfinished string",{toml:e,ptr:t})}function c(e,t=0,n=e.length){let r=e.indexOf("\n",t);return"\r"===e[r-1]&&r--,r<=n?r:-1}function u(e,t){for(let n=t;n<e.length;n++){let r=e[n];if("\n"===r)return n;if("\r"===r&&"\n"===e[n+1])return n+1;if(r<" "&&" "!==r||""===r)throw new o("control characters are not allowed in comments",{toml:e,ptr:t})}return e.length}function d(e,t,n,r){let i;for(;;){for(;" "===(i=e[t])||" "===i||!n&&("\n"===i||"\r"===i&&"\n"===e[t+1]);)t++;if(r||"#"!==i)break;t=u(e,t)}return t}let h=/^[a-zA-Z0-9-_]+[ \t]*$/;function m(e,t,n="="){let r=t-1,i=[],l=e.indexOf(n,t);if(l<0)throw new o("incomplete key-value: cannot find end of key",{toml:e,ptr:t});do{let s=e[t=++r];if(" "!==s&&" "!==s)if('"'===s||"'"===s){if(s===e[t+1]&&s===e[t+2])throw new o("multiline strings are not allowed in keys",{toml:e,ptr:t});let[a,u]=f(e,t);r=e.indexOf(".",u);let d=e.slice(u,r<0||r>l?l:r),h=c(d);if(h>-1)throw new o("newlines are not allowed in keys",{toml:e,ptr:t+r+h});if(d.trimStart())throw new o("found extra tokens after the string part",{toml:e,ptr:u});if(l<u&&(l=e.indexOf(n,u))<0)throw new o("incomplete key-value: cannot find end of key",{toml:e,ptr:t});i.push(a)}else{r=e.indexOf(".",t);let n=e.slice(t,r<0||r>l?l:r);if(!h.test(n))throw new o("only letter, numbers, dashes and underscores are allowed in keys",{toml:e,ptr:t});i.push(n.trimEnd())}}while(r+1&&r<l)return[i,d(e,l+1,!0,!0)]}function w(e,t,n,r){let i,o,l=t,s=n,a=!1;for(let t=0;t<e.length;t++){if(t){if(l=a?l[i]:l[i]={},s=(o=s[i]).c,0===r&&(1===o.t||2===o.t))return null;if(2===o.t){let e=l.length-1;l=l[e],s=s[e].c}}if((a=Object.hasOwn(l,i=e[t]))&&s[i]?.t===0&&s[i]?.d)return null;a||("__proto__"===i&&(Object.defineProperty(l,i,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(s,i,{enumerable:!0,configurable:!0,writable:!0})),s[i]={t:t<e.length-1&&2===r?3:r,d:!1,i:0,c:{}})}if((o=s[i]).t!==r&&(1!==r||3!==o.t)||(2===r&&(o.d||(o.d=!0,l[i]=[]),l[i].push(l={}),o.c[o.i++]=o={t:1,d:!1,i:0,c:{}}),o.d))return null;if(o.d=!0,1===r)l=a?l[i]:l[i]={};else if(0===r&&a)return null;return[i,l,o.c]}var p=e.i(43477);let g={mode:"oss",daemon:{configured:!1},collector:{sessions:!1,hooks:!0,hooksVerbosity:"decisions",redact:"minimal",environment:"local"},telemetry:{enabled:!0},audit:{auto:!1,intervalDays:7}};function y(){if("1"===process.env.FAILPROOFAI_TELEMETRY_DISABLED)return!1;try{return function(){try{let e=function(e,{maxDepth:t=1e3,integersAsBigInt:n}={}){let r={},h={},p=r,g=h;for(let y=d(e,0);y<e.length;){if("["===e[y]){let t="["===e[++y],n=m(e,y+=+t,"]");if(t){if("]"!==e[n[1]-1])throw new o("expected end of table declaration",{toml:e,ptr:n[1]-1});n[1]++}let i=w(n[0],r,h,t?2:1);if(!i)throw new o("trying to redefine an already defined table or value",{toml:e,ptr:y});g=i[2],p=i[1],y=n[1]}else{let r=m(e,y),h=w(r[0],p,g,0);if(!h)throw new o("trying to redefine an already defined table or value",{toml:e,ptr:y});let _=function e(t,n,r,h,w){var p;let g,y;if(0===h)throw new o("document contains excessively nested structures. aborting.",{toml:t,ptr:n});let _=t[n];if("["===_||"{"===_){let[i,l]="["===_?function(t,n,r,i){let l,s=[];for(n++;"]"!==(l=t[n++])&&l;)if(","===l)throw new o("expected value, found comma",{toml:t,ptr:n-1});else if("#"===l)n=u(t,n);else if(" "!==l&&" "!==l&&"\n"!==l&&"\r"!==l){let o=e(t,n-1,"]",r-1,i);s.push(o[0]),n=o[1]}if(!l)throw new o("unfinished array encountered",{toml:t,ptr:n});return[s,n]}(t,n,h,w):function(t,n,r,i){let l,s={},a=new Set;for(n++;"}"!==(l=t[n++])&&l;)if(","===l)throw new o("expected value, found comma",{toml:t,ptr:n-1});else if("#"===l)n=u(t,n);else if(" "!==l&&" "!==l&&"\n"!==l&&"\r"!==l){let l,f=s,c=!1,[u,d]=m(t,n-1);for(let e=0;e<u.length;e++){if(e&&(f=c?f[l]:f[l]={}),(c=Object.hasOwn(f,l=u[e]))&&("object"!=typeof f[l]||a.has(f[l])))throw new o("trying to redefine an already defined value",{toml:t,ptr:n});c||"__proto__"!==l||Object.defineProperty(f,l,{enumerable:!0,configurable:!0,writable:!0})}if(c)throw new o("trying to redefine an already defined value",{toml:t,ptr:n});let[h,w]=e(t,d,"}",r-1,i);a.add(h),f[l]=h,n=w}if(!l)throw new o("unfinished table encountered",{toml:t,ptr:n});return[s,n]}(t,n,h,w);if(r){if(l=d(t,l),","===t[l])l++;else if(t[l]!==r)throw new o("expected comma or end of structure",{toml:t,ptr:l})}return[i,l]}if('"'===_||"'"===_){let[e,i]=f(t,n);if(r){if(i=d(t,i),t[i]&&","!==t[i]&&t[i]!==r&&"\n"!==t[i]&&"\r"!==t[i])throw new o("unexpected character encountered",{toml:t,ptr:i});","===t[i]&&i++}return[e,i]}let b=function(e,t,n,r=!1){if(!n)return(t=c(e,t))<0?e.length:t;for(let i=t;i<e.length;i++){let t=e[i];if("#"===t){if((i=c(e,i))<0)break}else if(","===t)return i+1;else if(t===n||r&&("\n"===t||"\r"===t&&"\n"===e[i+1]))return i}throw new o("cannot find end of structure",{toml:e,ptr:t})}(t,n,r),O=(p=b-(","===t[b-1]),(y=(g=t.slice(n,p)).indexOf("#"))>-1&&(u(t,y),g=g.slice(0,y)),[g.trimEnd(),y]);if(!O[0])throw new o("incomplete key-value declaration: no value specified",{toml:t,ptr:n});return r&&O[1]>-1&&(b=d(t,n+O[1]),","===t[b]&&b++),[function(e,t,n,r){if("true"===e)return!0;if("false"===e)return!1;if("-inf"===e)return-1/0;if("inf"===e||"+inf"===e)return 1/0;if("nan"===e||"+nan"===e||"-nan"===e)return NaN;if("-0"===e)return r?0n:0;let f=l.test(e);if(f||s.test(e)){if(a.test(e))throw new o("leading zeroes are not allowed",{toml:t,ptr:n});let i=+(e=e.replace(/_/g,""));if(isNaN(i))throw new o("invalid number",{toml:t,ptr:n});if(f){if((f=!Number.isSafeInteger(i))&&!r)throw new o("integer value cannot be represented losslessly",{toml:t,ptr:n});(f||!0===r)&&(i=BigInt(e))}return i}let c=new i(e);if(!c.isValid())throw new o("invalid value",{toml:t,ptr:n});return c}(O[0],t,n,w),b]}(e,r[1],void 0,t,n);h[1][h[0]]=_[0],y=_[1]}if(y=d(e,y,!0),e[y]&&"\n"!==e[y]&&"\r"!==e[y])throw new o("each key-value declaration must be followed by an end-of-line",{toml:e,ptr:y});y=d(e,y)}return r}((0,n.readFileSync)((0,p.configFile)(),"utf8")),t=e.mode?.kind,r=e.daemon??{},h=e.collector??{},g=e.telemetry??{},y=e.audit??{};return{mode:"cloud"===t?"cloud":"oss",daemon:{configured:!0===r.configured},collector:{sessions:!0===h.sessions,hooks:!1!==h.hooks,hooksVerbosity:"all"===h.hooks_verbosity||"off"===h.hooks_verbosity?h.hooks_verbosity:"decisions",redact:"off"===h.redact?"off":"minimal",environment:"string"==typeof h.environment?h.environment:"local",machineId:"string"==typeof h.machine_id?h.machine_id:void 0},telemetry:{enabled:!1!==g.enabled},audit:{auto:!0===y.auto,intervalDays:function(e){if("number"!=typeof e||!Number.isFinite(e))return 7;let t=Math.floor(e);return t<1?7:Math.min(t,90)}(y.interval_days)}}}catch{return structuredClone(g)}}().telemetry.enabled}catch{return!0}}var _=e.i(93133);async function b(e,t){for(let n=1;n<=5;n++){try{let{signal:n,...r}=t,i=await fetch(e,{...r,signal:AbortSignal.timeout(5e3)});if(i.ok)return i}catch{}if(n<5){let e=Math.min(1e3*2**(n-1),8e3);await new Promise(t=>setTimeout(t,e))}}return new Response("{}",{status:200})}async function O(){try{if(!y()||globalThis.__FAILPROOFAI_POSTHOG__)return;let t=await e.A(37581),n=process.env.FAILPROOFAI_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",r=process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com";globalThis.__FAILPROOFAI_POSTHOG__=new t.PostHog(n,{host:r,flushAt:1,flushInterval:0,requestTimeout:5e3,fetchRetryCount:0,fetch:b});let i=()=>{globalThis.__FAILPROOFAI_POSTHOG__?.shutdown().catch(()=>{})};process.on("beforeExit",i),process.on("SIGTERM",i),process.on("SIGINT",i)}catch(e){console.warn("[failproofai:telemetry] init failed:",e instanceof Error?e.message:e)}}function T(e,n){if(!y())return;let r=globalThis.__FAILPROOFAI_POSTHOG__;r&&r.capture({distinctId:(0,t.getInstanceId)(),event:e,properties:{...n,$lib:"failproofai",failproofai_version:_.version,product:"failproofai-oss"}})}async function v(){let e=globalThis.__FAILPROOFAI_POSTHOG__;e&&await e.flush()}async function I(){let e=globalThis.__FAILPROOFAI_POSTHOG__;e&&await e.shutdown()}e.s(["flushTelemetry",0,v,"initTelemetry",0,O,"shutdownTelemetry",0,I,"trackEvent",0,T],2477),e.i(2477),e.s(["flushTelemetry",0,v,"initTelemetry",0,O,"trackEvent",0,T],34324)}];
4
-
5
- //# sourceMappingURL=lib_telemetry_ts_0dctyyw._.js.map
@@ -1,4 +0,0 @@
1
- module.exports=[50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},75818,a=>{"use strict";var b=a.i(60526),c=a.i(50227);function d(a){return a?(0,c.resolve)(a,".failproofai"):process.env.FAILPROOFAI_HOME||(0,c.resolve)((0,b.homedir)(),".failproofai")}let e=(a,...b)=>a?(0,c.resolve)(d(a),...b):((...a)=>(0,c.resolve)(d(),...a))(...b);a.s(["auditDashboardFile",0,a=>(0,c.resolve)(e(a,"audit"),"dashboard.json"),"auditScheduleFile",0,a=>(0,c.resolve)(e(a,"state"),"audit-schedule.json"),"codexSessionPathsFile",0,a=>(0,c.resolve)(e(a,"state"),"codex-session-paths.json"),"configFile",0,a=>e(a,"config.toml"),"customPoliciesDir",0,a=>(0,c.resolve)(e(a,"policies"),"custom-policies"),"daemonSocket",0,()=>process.env.FAILPROOFAI_DAEMON_SOCKET||(0,c.resolve)(e(void 0,"run"),"failproofaid.sock"),"globalPolicyConfigFile",0,a=>(0,c.resolve)(e(a,"policies","local-policies"),"policies-config.json"),"hookActivityDir",0,a=>e(a,"hook-activity"),"logsDir",0,a=>e(a,"logs"),"sessionPauseDir",0,()=>(0,c.resolve)(e(void 0,"state"),"sessions"),"shimsDir",0,a=>(0,c.resolve)(e(a,"state"),"shims"),"telemetryIdFile",0,a=>(0,c.resolve)(e(a,"state"),"telemetry-id")])},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},12072,(a,b,c)=>{b.exports={name:"failproofai",version:"1.0.0-beta.11",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",failproofaid:"./bin/failproofaid-shim.mjs"},files:["bin/","src/","scripts/","lib/","pi-extension/","openclaw-plugin/",".next/standalone/","dist/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{predev:"bun run build:cli && bun link",dev:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/dev.ts --port 8020","build:cli":"bun build --target=node --format=esm --outfile=dist/cli.mjs bin/failproofai.mjs --external posthog-node --external sql.js && node -e \"const fs=require('fs');const c=fs.readFileSync('dist/cli.mjs','utf8');fs.writeFileSync('dist/cli.mjs',c.replace('#!/usr/bin/env bun','#!/usr/bin/env node').replace('// @bun\\n',''))\"","build:worker":"bun build --target=node --format=esm --outfile=dist/worker.mjs bin/failproofai-worker.mjs --external posthog-node --external sql.js",build:"bun build --target=node --format=cjs --outfile=dist/index.js src/index.ts && bun run build:cli && bun run build:worker && bun --bun next build && node -e \"const {cpSync}=require('fs');cpSync('.next/static','.next/standalone/.next/static',{recursive:true});\" && node scripts/prune-standalone.mjs",prestart:"bun run build:cli && bun link",start:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepare:"bun run build","test:e2e":"vitest run --config vitest.config.e2e.mts","test:e2e:watch":"vitest --config vitest.config.e2e.mts",translate:"bun scripts/translate-docs/cli.ts","translate:readme":"bun scripts/translate-docs/cli.ts --readme-only","translate:docs":"bun scripts/translate-docs/cli.ts --docs-only","translate:dry-run":"bun scripts/translate-docs/cli.ts --dry-run","translate:validate":"bun scripts/translate-docs/cli.ts --validate","validate:mdx":"bun scripts/validate-mdx.ts"},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.115.0","@mdx-js/mdx":"^3.1.1","@tailwindcss/postcss":"^4.3.1","@tanstack/react-virtual":"^3.14.9","@testing-library/jest-dom":"^7.0.0","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"26.1.2","@types/react":"19.2.18","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.5",clsx:"^2.1.1",eslint:"^10.5.0","eslint-config-next":"^16.2.9",jsdom:"^30.0.1","lucide-react":"^1.28.0",next:"^16.2.11",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.47.7","smol-toml":"^1.7.1","sql.js":"^1.14.1",yaml:"^2.9.0"},overrides:{postcss:"8.5.23","eslint-plugin-react-hooks":"7.0.1",vite:"8.0.16",undici:"7.29.0","brace-expansion":"5.0.9",sharp:"0.35.0"},optionalDependencies:{"@failproofai/failproofaid-linux-x64":"1.0.0-beta.11","@failproofai/failproofaid-linux-arm64":"1.0.0-beta.11","@failproofai/failproofaid-darwin-x64":"1.0.0-beta.11","@failproofai/failproofaid-darwin-arm64":"1.0.0-beta.11"},failproofaidBinaries:{"linux-x64":"e0621c8dd2b5f20e82d14e0a818832a065fb88b025da2a1769f2f81ee903ba89","linux-arm64":"e15da1fab4d2655f587b5e8423e8b36058f839dbbbd5630fac5bad2b1a4a7ecf","darwin-x64":"d54d493e905db563b33c14ad0d5cb0f16579cf2b9ec558ae0276855f323668f6","darwin-arm64":"2b27fb6968d149dc9edf4d5f85d60df564dd13c3db011629e1789a487aa0a375"}}},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},36359,69839,31920,79779,a=>{"use strict";let b;var c=a.i(37936),d=a.i(2157),e=a.i(50227),f=a.i(60526),g=a.i(66680);a.i(74533);var h=a.i(75818);let i=e.default.join(f.default.homedir(),".failproofai"),j=e.default.join(i,"instance-id");function k(a){return g.default.createHmac("sha256","failproofai-telemetry-v1").update(a).digest("hex")}function l(a){let b;try{if(b=(0,h.telemetryIdFile)(),d.default.readFileSync(b,"utf-8").trim()===a)return}catch{try{b=(0,h.telemetryIdFile)()}catch{return}}try{d.default.mkdirSync(e.default.dirname(b),{recursive:!0});let c=`${b}.${process.pid}.tmp`;d.default.writeFileSync(c,a,{encoding:"utf-8",mode:384}),d.default.renameSync(c,b)}catch{}}function m(){if(b)return b;let a=function(){try{for(let a of(f.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=d.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return l(b=k(a)),b;let c=[f.default.hostname(),f.default.homedir(),f.default.platform(),f.default.arch(),f.default.cpus()[0]?.model??""].join(":");return c?l(b=k(c)):l(b=function(){try{let a=d.default.readFileSync(j,"utf-8").trim();if(a)return a}catch{}let a=g.default.randomUUID();try{d.default.mkdirSync(i,{recursive:!0}),d.default.writeFileSync(j,a,"utf-8")}catch{}return a}()),b}a.s(["getInstanceId",0,m,"hashToId",0,k],69839);var n=a.i(21572);function o(){if("1"===process.env.FAILPROOFAI_TELEMETRY_DISABLED)return!1;try{return(0,n.readConfig)().telemetry.enabled}catch{return!0}}a.s(["isTelemetryEnabled",0,o],31920),a.s(["POSTHOG_API_KEY",0,"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX","POSTHOG_PRODUCT",0,"failproofai-oss"],79779);var p=a.i(12072);async function q(){let a=o();return{enabled:a,distinctId:a?m():"",apiKey:process.env.FAILPROOFAI_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com",version:p.version}}(0,a.i(13095).ensureServerEntryExports)([q]),(0,c.registerServerReference)(q,"00362600632eb0fb184d8e302589fcf71a3f5996f5",null),a.s(["getTelemetryConfig",0,q],36359)}];
3
-
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__1u-wx42._.js.map
@@ -1,5 +0,0 @@
1
- module.exports=[21572,a=>{"use strict";var b=a.i(2157),c=a.i(50227);let d=/^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i;class e extends Date{#a=!1;#b=!1;#c=null;constructor(a){let b=!0,c=!0,e="Z";if("string"==typeof a){let f=a.match(d);f?(f[1]||(b=!1,a=`0000-01-01T${a}`),(c=!!f[2])&&" "===a[10]&&(a=a.replace(" ","T")),f[2]&&+f[2]>23?a="":(e=f[3]||null,a=a.toUpperCase(),!e&&c&&(a+="Z"))):a=""}super(a),isNaN(this.getTime())||(this.#a=b,this.#b=c,this.#c=e)}isDateTime(){return this.#a&&this.#b}isLocal(){return!this.#a||!this.#b||!this.#c}isDate(){return this.#a&&!this.#b}isTime(){return this.#b&&!this.#a}isValid(){return this.#a||this.#b}toISOString(){let a=super.toISOString();if(this.isDate())return a.slice(0,10);if(this.isTime())return a.slice(11,23);if(null===this.#c)return a.slice(0,-1);if("Z"===this.#c)return a;let b=60*this.#c.slice(1,3)+ +this.#c.slice(4,6);return b="-"===this.#c[0]?b:-b,new Date(this.getTime()-6e4*b).toISOString().slice(0,-1)+this.#c}static wrapAsOffsetDateTime(a,b="Z"){let c=new e(a);return c.#c=b,c}static wrapAsLocalDateTime(a){let b=new e(a);return b.#c=null,b}static wrapAsLocalDate(a){let b=new e(a);return b.#b=!1,b.#c=null,b}static wrapAsLocalTime(a){let b=new e(a);return b.#a=!1,b.#c=null,b}}class f extends Error{line;column;codeblock;constructor(a,b){const[c,d]=function(a,b){let c=a.slice(0,b).split(/\r\n|\n|\r/g);return[c.length,c.pop().length+1]}(b.toml,b.ptr),e=function(a,b,c){let d=a.split(/\r\n|\n|\r/g),e="",f=(0|Math.log10(b+1))+1;for(let a=b-1;a<=b+1;a++){let g=d[a-1];g&&(e+=a.toString().padEnd(f," "),e+=": ",e+=g,e+="\n",a===b&&(e+=" ".repeat(f+c+2),e+="^\n"))}return e}(b.toml,c,d);super(`Invalid TOML document: ${a}
2
-
3
- ${e}`,b),this.line=c,this.column=d,this.codeblock=e}}let g=/^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/,h=/^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/,i=/^[+-]?0[0-9_]/;function j(a,b){let c=a[b++],d=c,e="'"===c,g=c===a[b]&&c===a[b+1];g&&("\n"===a[b+=2]?b++:"\r"===a[b]&&"\n"===a[b+1]&&(b+=2));let h="",i=b,j=0;for(let k=b;k<a.length;k++)if(c=a[k],g&&("\n"===c||"\r"===c&&"\n"===a[k+1]))j=j&&3;else if(c<" "&&" "!==c||""===c)throw new f("control characters are not allowed in strings",{toml:a,ptr:k});else if((!j||3===j)&&c===d&&(!g||a[k+1]===d&&a[k+2]===d))return g&&(a[k+3]===d&&k++,a[k+3]===d&&k++),[j?h:h+a.slice(i,k),k+(g?3:1)];else if(j){if(1===j)if("x"===c||"u"===c||"U"===c){let b=0,d="x"===c?2:"u"===c?4:8;for(let c=0;c<d;c++,k++){let c=a.charCodeAt(k+1),d=c>=48&&c<=57?c-48:c>=65&&c<=70?c-65+10:c>=97&&c<=102?c-97+10:-1;if(d<0)throw new f("invalid non-hex character in unicode escape",{toml:a,ptr:k+1});b=b<<4|d}if(b<0||b>1114111||b>=55296&&b<=57343)throw new f("invalid unicode escape",{toml:a,ptr:k});h+=String.fromCodePoint(b),i=k+1,j=0}else if(" "===c||" "===c)j=2;else{if("b"===c)h+="\b";else if("t"===c)h+=" ";else if("n"===c)h+="\n";else if("f"===c)h+="\f";else if("r"===c)h+="\r";else if("e"===c)h+="\x1b";else if('"'===c)h+='"';else if("\\"===c)h+="\\";else throw new f("unrecognized escape sequence",{toml:a,ptr:k});i=k+1,j=0}else if(" "!==c&&" "!==c){if(2===j)throw new f("invalid escape: only line-ending whitespace may be escaped",{toml:a,ptr:i});j=+(!e&&"\\"===c),i=k}}else e||"\\"!==c||(h+=a.slice(i,i=k),j=1);throw new f("unfinished string",{toml:a,ptr:b})}function k(a,b=0,c=a.length){let d=a.indexOf("\n",b);return"\r"===a[d-1]&&d--,d<=c?d:-1}function l(a,b){for(let c=b;c<a.length;c++){let d=a[c];if("\n"===d)return c;if("\r"===d&&"\n"===a[c+1])return c+1;if(d<" "&&" "!==d||""===d)throw new f("control characters are not allowed in comments",{toml:a,ptr:b})}return a.length}function m(a,b,c,d){let e;for(;;){for(;" "===(e=a[b])||" "===e||!c&&("\n"===e||"\r"===e&&"\n"===a[b+1]);)b++;if(d||"#"!==e)break;b=l(a,b)}return b}let n=/^[a-zA-Z0-9-_]+[ \t]*$/;function o(a,b,c="="){let d=b-1,e=[],g=a.indexOf(c,b);if(g<0)throw new f("incomplete key-value: cannot find end of key",{toml:a,ptr:b});do{let h=a[b=++d];if(" "!==h&&" "!==h)if('"'===h||"'"===h){if(h===a[b+1]&&h===a[b+2])throw new f("multiline strings are not allowed in keys",{toml:a,ptr:b});let[i,l]=j(a,b);d=a.indexOf(".",l);let m=a.slice(l,d<0||d>g?g:d),n=k(m);if(n>-1)throw new f("newlines are not allowed in keys",{toml:a,ptr:b+d+n});if(m.trimStart())throw new f("found extra tokens after the string part",{toml:a,ptr:l});if(g<l&&(g=a.indexOf(c,l))<0)throw new f("incomplete key-value: cannot find end of key",{toml:a,ptr:b});e.push(i)}else{d=a.indexOf(".",b);let c=a.slice(b,d<0||d>g?g:d);if(!n.test(c))throw new f("only letter, numbers, dashes and underscores are allowed in keys",{toml:a,ptr:b});e.push(c.trimEnd())}}while(d+1&&d<g)return[e,m(a,g+1,!0,!0)]}function p(a,b,c,d){let e,f,g=b,h=c,i=!1;for(let b=0;b<a.length;b++){if(b){if(g=i?g[e]:g[e]={},h=(f=h[e]).c,0===d&&(1===f.t||2===f.t))return null;if(2===f.t){let a=g.length-1;g=g[a],h=h[a].c}}if((i=Object.hasOwn(g,e=a[b]))&&h[e]?.t===0&&h[e]?.d)return null;i||("__proto__"===e&&(Object.defineProperty(g,e,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(h,e,{enumerable:!0,configurable:!0,writable:!0})),h[e]={t:b<a.length-1&&2===d?3:d,d:!1,i:0,c:{}})}if((f=h[e]).t!==d&&(1!==d||3!==f.t)||(2===d&&(f.d||(f.d=!0,g[e]=[]),g[e].push(g={}),f.c[f.i++]=f={t:1,d:!1,i:0,c:{}}),f.d))return null;if(f.d=!0,1===d)g=i?g[e]:g[e]={};else if(0===d&&i)return null;return[e,g,f.c]}var q=a.i(75818);let r={mode:"oss",daemon:{configured:!1},collector:{sessions:!1,hooks:!0,hooksVerbosity:"decisions",redact:"minimal",environment:"local"},telemetry:{enabled:!0},audit:{auto:!1,intervalDays:7}};function s(){try{let a=function(a,{maxDepth:b=1e3,integersAsBigInt:c}={}){let d={},n={},q=d,r=n;for(let s=m(a,0);s<a.length;){if("["===a[s]){let b="["===a[++s],c=o(a,s+=+b,"]");if(b){if("]"!==a[c[1]-1])throw new f("expected end of table declaration",{toml:a,ptr:c[1]-1});c[1]++}let e=p(c[0],d,n,b?2:1);if(!e)throw new f("trying to redefine an already defined table or value",{toml:a,ptr:s});r=e[2],q=e[1],s=c[1]}else{let d=o(a,s),n=p(d[0],q,r,0);if(!n)throw new f("trying to redefine an already defined table or value",{toml:a,ptr:s});let t=function a(b,c,d,n,p){var q;let r,s;if(0===n)throw new f("document contains excessively nested structures. aborting.",{toml:b,ptr:c});let t=b[c];if("["===t||"{"===t){let[e,g]="["===t?function(b,c,d,e){let g,h=[];for(c++;"]"!==(g=b[c++])&&g;)if(","===g)throw new f("expected value, found comma",{toml:b,ptr:c-1});else if("#"===g)c=l(b,c);else if(" "!==g&&" "!==g&&"\n"!==g&&"\r"!==g){let f=a(b,c-1,"]",d-1,e);h.push(f[0]),c=f[1]}if(!g)throw new f("unfinished array encountered",{toml:b,ptr:c});return[h,c]}(b,c,n,p):function(b,c,d,e){let g,h={},i=new Set;for(c++;"}"!==(g=b[c++])&&g;)if(","===g)throw new f("expected value, found comma",{toml:b,ptr:c-1});else if("#"===g)c=l(b,c);else if(" "!==g&&" "!==g&&"\n"!==g&&"\r"!==g){let g,j=h,k=!1,[l,m]=o(b,c-1);for(let a=0;a<l.length;a++){if(a&&(j=k?j[g]:j[g]={}),(k=Object.hasOwn(j,g=l[a]))&&("object"!=typeof j[g]||i.has(j[g])))throw new f("trying to redefine an already defined value",{toml:b,ptr:c});k||"__proto__"!==g||Object.defineProperty(j,g,{enumerable:!0,configurable:!0,writable:!0})}if(k)throw new f("trying to redefine an already defined value",{toml:b,ptr:c});let[n,p]=a(b,m,"}",d-1,e);i.add(n),j[g]=n,c=p}if(!g)throw new f("unfinished table encountered",{toml:b,ptr:c});return[h,c]}(b,c,n,p);if(d){if(g=m(b,g),","===b[g])g++;else if(b[g]!==d)throw new f("expected comma or end of structure",{toml:b,ptr:g})}return[e,g]}if('"'===t||"'"===t){let[a,e]=j(b,c);if(d){if(e=m(b,e),b[e]&&","!==b[e]&&b[e]!==d&&"\n"!==b[e]&&"\r"!==b[e])throw new f("unexpected character encountered",{toml:b,ptr:e});","===b[e]&&e++}return[a,e]}let u=function(a,b,c,d=!1){if(!c)return(b=k(a,b))<0?a.length:b;for(let e=b;e<a.length;e++){let b=a[e];if("#"===b){if((e=k(a,e))<0)break}else if(","===b)return e+1;else if(b===c||d&&("\n"===b||"\r"===b&&"\n"===a[e+1]))return e}throw new f("cannot find end of structure",{toml:a,ptr:b})}(b,c,d),v=(q=u-(","===b[u-1]),(s=(r=b.slice(c,q)).indexOf("#"))>-1&&(l(b,s),r=r.slice(0,s)),[r.trimEnd(),s]);if(!v[0])throw new f("incomplete key-value declaration: no value specified",{toml:b,ptr:c});return d&&v[1]>-1&&(u=m(b,c+v[1]),","===b[u]&&u++),[function(a,b,c,d){if("true"===a)return!0;if("false"===a)return!1;if("-inf"===a)return-1/0;if("inf"===a||"+inf"===a)return 1/0;if("nan"===a||"+nan"===a||"-nan"===a)return NaN;if("-0"===a)return d?0n:0;let j=g.test(a);if(j||h.test(a)){if(i.test(a))throw new f("leading zeroes are not allowed",{toml:b,ptr:c});let e=+(a=a.replace(/_/g,""));if(isNaN(e))throw new f("invalid number",{toml:b,ptr:c});if(j){if((j=!Number.isSafeInteger(e))&&!d)throw new f("integer value cannot be represented losslessly",{toml:b,ptr:c});(j||!0===d)&&(e=BigInt(a))}return e}let k=new e(a);if(!k.isValid())throw new f("invalid value",{toml:b,ptr:c});return k}(v[0],b,c,p),u]}(a,d[1],void 0,b,c);n[1][n[0]]=t[0],s=t[1]}if(s=m(a,s,!0),a[s]&&"\n"!==a[s]&&"\r"!==a[s])throw new f("each key-value declaration must be followed by an end-of-line",{toml:a,ptr:s});s=m(a,s)}return d}((0,b.readFileSync)((0,q.configFile)(),"utf8")),c=a.mode?.kind,d=a.daemon??{},n=a.collector??{},r=a.telemetry??{},s=a.audit??{};return{mode:"cloud"===c?"cloud":"oss",daemon:{configured:!0===d.configured},collector:{sessions:!0===n.sessions,hooks:!1!==n.hooks,hooksVerbosity:"all"===n.hooks_verbosity||"off"===n.hooks_verbosity?n.hooks_verbosity:"decisions",redact:"off"===n.redact?"off":"minimal",environment:"string"==typeof n.environment?n.environment:"local",machineId:"string"==typeof n.machine_id?n.machine_id:void 0},telemetry:{enabled:!1!==r.enabled},audit:{auto:!0===s.auto,intervalDays:function(a){if("number"!=typeof a||!Number.isFinite(a))return 7;let b=Math.floor(a);return b<1?7:Math.min(b,90)}(s.interval_days)}}}catch{return structuredClone(r)}}a.s(["readConfig",0,s,"updateConfig",0,function(a){var d,e;let f,g,h=s(),i={mode:a.mode??h.mode,daemon:{...h.daemon,...a.daemon},collector:{...h.collector,...a.collector},telemetry:{...h.telemetry,...a.telemetry},audit:{...h.audit,...a.audit}};return f=i.collector,(g=["# failproofai configuration. Safe to edit by hand.","# Credentials are NOT here — see credentials.toml (owner-only).","","[mode]",'# "oss" — fully local. No transcripts, hook activity or policy leave',"# this machine.",'# "cloud" — reports to, and receives policy from, Failproof Cloud.',`kind = ${JSON.stringify(i.mode)}`,"","[daemon]","# When true, hooks route through failproofaid AND FAIL CLOSED if it is","# unreachable. Never set this by hand: `failproofai config` sets it only","# after verifying the service is genuinely running.",`configured = ${i.daemon.configured}`]).push("","[collector]","# Session transcripts carry prompts, file contents and command output.",`sessions = ${f.sessions}`,"# Hook decisions: which policy fired and what it decided. No file contents.",`hooks = ${f.hooks}`,`hooks_verbosity = ${JSON.stringify(f.hooksVerbosity)}`,`redact = ${JSON.stringify(f.redact)}`,`environment = ${JSON.stringify(f.environment)}`),f.machineId&&g.push(`machine_id = ${JSON.stringify(f.machineId)}`),i.telemetry.enabled||g.push("","[telemetry]","enabled = false"),g.push("","[audit]","# Scan this machine's agent history on a schedule and refresh the audit","# dashboard. OFF by default: the scan reads the CONTENTS of every session","# transcript on disk, so it waits to be asked. It runs as a separate","# short-lived process — never on the hook path.",`auto = ${i.audit.auto}`,`interval_days = ${i.audit.intervalDays}`),d=(0,q.configFile)(),e=g.join("\n")+"\n",(0,b.mkdirSync)((0,c.dirname)(d),{recursive:!0}),(0,b.writeFileSync)(d,e,"utf8"),i}],21572)}];
4
-
5
- //# sourceMappingURL=src_hooks_fp-config_ts_04t589g._.js.map