openmausbot 0.1.83 → 0.1.85

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 (76) hide show
  1. package/dist/assets/index-Ba9G44HI.js +310 -0
  2. package/dist/assets/{index-nqTFZTxg.js → index-CTNNoqSJ.js} +1 -1
  3. package/dist/assets/index-CkRNp7wX.css +1 -0
  4. package/dist/index.html +2 -2
  5. package/dist-server/companion/src/routes.js +1 -0
  6. package/dist-server/container-mcp.js +212 -7
  7. package/dist-server/drivers/agents-proxy.js +161 -12
  8. package/dist-server/enterprise/server/index.js +1 -0
  9. package/dist-server/hooks/omb-hook.js +74 -0
  10. package/dist-server/index.js +8025 -5661
  11. package/dist-server/local-computer-proxy.js +83 -1
  12. package/dist-server/local-computer.js +14 -2
  13. package/dist-server/openmausbot.js +796 -309
  14. package/dist-server/pair-cli.js +796 -309
  15. package/dist-server/proxy-paths.js +1 -0
  16. package/dist-server/server/agent-tool-policy.js +1 -0
  17. package/dist-server/server/bot-package.js +2 -0
  18. package/dist-server/server/box.js +23 -4
  19. package/dist-server/server/browser-engine.js +87 -10
  20. package/dist-server/server/browser-live.js +7 -5
  21. package/dist-server/server/browser-runtime.js +65 -10
  22. package/dist-server/server/checkpoints.js +71 -23
  23. package/dist-server/server/chief-of-staff.js +3 -0
  24. package/dist-server/server/cli-prompts.js +3 -1
  25. package/dist-server/server/commands.js +27 -0
  26. package/dist-server/server/compaction-summary.js +78 -0
  27. package/dist-server/server/computer-wait.js +33 -0
  28. package/dist-server/server/config.js +84 -3
  29. package/dist-server/server/context-budget.js +29 -0
  30. package/dist-server/server/context-rebuild.js +72 -0
  31. package/dist-server/server/delta-context.js +258 -0
  32. package/dist-server/server/digest.js +130 -0
  33. package/dist-server/server/drivers/acp/core.js +540 -229
  34. package/dist-server/server/drivers/agents-proxy.js +79 -12
  35. package/dist-server/server/drivers/agents-result.js +23 -0
  36. package/dist-server/server/drivers/claude.js +84 -15
  37. package/dist-server/server/drivers/codex.js +19 -5
  38. package/dist-server/server/drivers/openai-chat.js +66 -45
  39. package/dist-server/server/drivers/openai-compat.js +1 -0
  40. package/dist-server/server/hooks/omb-hook.js +103 -0
  41. package/dist-server/server/incidents.js +104 -0
  42. package/dist-server/server/index.js +1382 -318
  43. package/dist-server/server/local-computer.js +21 -2
  44. package/dist-server/server/mcp-bridge.js +10 -2
  45. package/dist-server/server/mcp-tool-images.js +37 -0
  46. package/dist-server/server/mcp-tool-schema.js +108 -0
  47. package/dist-server/server/message-db.js +80 -21
  48. package/dist-server/server/message-file.js +3 -2
  49. package/dist-server/server/notify.js +3 -1
  50. package/dist-server/server/package-export.js +1 -0
  51. package/dist-server/server/peer-roster.js +4 -2
  52. package/dist-server/server/provider-icon.js +20 -0
  53. package/dist-server/server/proxy-paths.js +1 -0
  54. package/dist-server/server/request-auth.js +1 -0
  55. package/dist-server/server/room-handoffs.js +16 -2
  56. package/dist-server/server/routine-requests.js +39 -1
  57. package/dist-server/server/routines.js +43 -9
  58. package/dist-server/server/shared-computer-control.js +31 -4
  59. package/dist-server/server/steer-queue.js +6 -0
  60. package/dist-server/server/store.js +111 -14
  61. package/dist-server/server/system-prompt.js +4 -4
  62. package/dist-server/server/team-backup.js +9 -1
  63. package/dist-server/server/tool-results.js +72 -0
  64. package/dist-server/server/tts/grok.js +74 -0
  65. package/dist-server/server/tts/index.js +19 -1
  66. package/dist-server/server/webhooks.js +28 -0
  67. package/dist-server/shared/approval-mode.js +7 -1
  68. package/dist-server/shared/digest.js +1 -0
  69. package/dist-server/shared/markdown-windows-paths.js +36 -0
  70. package/dist-server/shared/provider-icon.js +110 -0
  71. package/dist-server/shared/team-backup.js +3 -0
  72. package/dist-server/vps-container-mcp.js +217 -12
  73. package/enterprise/server/index.js +1 -0
  74. package/package.json +1 -1
  75. package/dist/assets/index-CKysBq-V.css +0 -1
  76. package/dist/assets/index-DSvqfBOf.js +0 -309
@@ -0,0 +1,74 @@
1
+ // server/hooks/omb-hook.ts
2
+ import { readFileSync } from "node:fs";
3
+ var CONTEXT_EVENTS = /* @__PURE__ */ new Set(["SessionStart", "UserPromptSubmit"]);
4
+ var requestedBudget = Number(process.env.OMB_HOOK_TIMEOUT_MS);
5
+ var budgetMs = Number.isFinite(requestedBudget) && requestedBudget > 0 ? Math.min(requestedBudget, 4e3) : 4e3;
6
+ var MAX_INPUT_BYTES = 1024 * 1024;
7
+ var url = process.env.OMB_HOOK_URL ?? "";
8
+ var tokenFile = process.env.OMB_HOOK_TOKEN_FILE ?? "";
9
+ var done = (out) => {
10
+ if (out === void 0) process.exit(0);
11
+ process.stdout.write(out, () => process.exit(0));
12
+ };
13
+ process.stdout.on("error", () => process.exit(0));
14
+ var fuse = setTimeout(() => done(), budgetMs);
15
+ fuse.unref();
16
+ function readStdin() {
17
+ return new Promise((resolve) => {
18
+ let data = "";
19
+ let bytes = 0;
20
+ process.stdin.setEncoding("utf8");
21
+ process.stdin.on("data", (chunk) => {
22
+ bytes += Buffer.byteLength(chunk);
23
+ if (bytes > MAX_INPUT_BYTES) return done();
24
+ data += chunk;
25
+ });
26
+ process.stdin.on("end", () => resolve(data));
27
+ process.stdin.on("error", () => resolve(data));
28
+ });
29
+ }
30
+ async function main() {
31
+ const raw = await readStdin();
32
+ let payload;
33
+ try {
34
+ const parsed = JSON.parse(raw);
35
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) return done();
36
+ payload = parsed;
37
+ } catch {
38
+ return done();
39
+ }
40
+ const event = typeof payload.hook_event_name === "string" ? payload.hook_event_name : "";
41
+ if (!event || !/^https?:\/\/127\.0\.0\.1(:\d+)?$/.test(url) || !tokenFile) return done();
42
+ let token = "";
43
+ try {
44
+ token = readFileSync(tokenFile, "utf8").trim();
45
+ } catch {
46
+ return done();
47
+ }
48
+ if (!token) return done();
49
+ const controller = new AbortController();
50
+ const timer = setTimeout(() => controller.abort(), Math.max(200, budgetMs - 300));
51
+ try {
52
+ const response = await fetch(`${url}/api/internal/hook`, {
53
+ method: "POST",
54
+ headers: { "content-type": "application/json", authorization: `Bearer ${token}` },
55
+ body: JSON.stringify({ event, payload }),
56
+ redirect: "error",
57
+ signal: controller.signal
58
+ });
59
+ if (!response.ok) return done();
60
+ const body = await response.json().catch(() => null);
61
+ if (body && typeof body === "object" && body.hookSpecificOutput && typeof body.hookSpecificOutput === "object") {
62
+ return done(JSON.stringify({ hookSpecificOutput: body.hookSpecificOutput }));
63
+ }
64
+ if (body && typeof body === "object" && typeof body.context === "string" && body.context && CONTEXT_EVENTS.has(event)) {
65
+ return done(body.context);
66
+ }
67
+ return done();
68
+ } catch {
69
+ return done();
70
+ } finally {
71
+ clearTimeout(timer);
72
+ }
73
+ }
74
+ void main();