@seawork/server 1.0.4 → 1.0.10-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/dist/server/client/daemon-client.d.ts +32 -1
  2. package/dist/server/client/daemon-client.d.ts.map +1 -1
  3. package/dist/server/client/daemon-client.js +69 -0
  4. package/dist/server/client/daemon-client.js.map +1 -1
  5. package/dist/server/server/agent/agent-management-mcp.d.ts.map +1 -1
  6. package/dist/server/server/agent/agent-management-mcp.js +6 -5
  7. package/dist/server/server/agent/agent-management-mcp.js.map +1 -1
  8. package/dist/server/server/agent/agent-response-loop.d.ts.map +1 -1
  9. package/dist/server/server/agent/agent-response-loop.js +0 -1
  10. package/dist/server/server/agent/agent-response-loop.js.map +1 -1
  11. package/dist/server/server/agent/agent-storage.d.ts +68 -68
  12. package/dist/server/server/agent/mcp-server.d.ts.map +1 -1
  13. package/dist/server/server/agent/mcp-server.js +6 -5
  14. package/dist/server/server/agent/mcp-server.js.map +1 -1
  15. package/dist/server/server/agent/mcp-shared.d.ts +30 -30
  16. package/dist/server/server/agent/provider-manifest.d.ts +2 -1
  17. package/dist/server/server/agent/provider-manifest.d.ts.map +1 -1
  18. package/dist/server/server/agent/provider-manifest.js +8 -69
  19. package/dist/server/server/agent/provider-manifest.js.map +1 -1
  20. package/dist/server/server/agent/provider-registry.d.ts.map +1 -1
  21. package/dist/server/server/agent/provider-registry.js +2 -10
  22. package/dist/server/server/agent/provider-registry.js.map +1 -1
  23. package/dist/server/server/agent/providers/claude/claude-models.d.ts +1 -1
  24. package/dist/server/server/agent/providers/claude/claude-models.d.ts.map +1 -1
  25. package/dist/server/server/agent/providers/claude/claude-models.js +4 -39
  26. package/dist/server/server/agent/providers/claude/claude-models.js.map +1 -1
  27. package/dist/server/server/agent/providers/claude/task-notification-tool-call.d.ts +2 -2
  28. package/dist/server/server/agent/providers/claude-agent.d.ts +2 -1
  29. package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
  30. package/dist/server/server/agent/providers/claude-agent.js +175 -46
  31. package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
  32. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -1
  33. package/dist/server/server/agent/providers/codex-app-server-agent.js +128 -72
  34. package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -1
  35. package/dist/server/server/agent/providers/codex-rollout-timeline.d.ts.map +1 -1
  36. package/dist/server/server/agent/providers/codex-rollout-timeline.js +76 -0
  37. package/dist/server/server/agent/providers/codex-rollout-timeline.js.map +1 -1
  38. package/dist/server/server/agent/providers/seawork-models.d.ts +4 -0
  39. package/dist/server/server/agent/providers/seawork-models.d.ts.map +1 -0
  40. package/dist/server/server/agent/providers/seawork-models.js +128 -0
  41. package/dist/server/server/agent/providers/seawork-models.js.map +1 -0
  42. package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts +16 -16
  43. package/dist/server/server/bootstrap.d.ts.map +1 -1
  44. package/dist/server/server/bootstrap.js +35 -1
  45. package/dist/server/server/bootstrap.js.map +1 -1
  46. package/dist/server/server/bug-report-handler.d.ts +9 -0
  47. package/dist/server/server/bug-report-handler.d.ts.map +1 -0
  48. package/dist/server/server/bug-report-handler.js +111 -0
  49. package/dist/server/server/bug-report-handler.js.map +1 -0
  50. package/dist/server/server/bug-report-redact.d.ts +12 -0
  51. package/dist/server/server/bug-report-redact.d.ts.map +1 -0
  52. package/dist/server/server/bug-report-redact.js +63 -0
  53. package/dist/server/server/bug-report-redact.js.map +1 -0
  54. package/dist/server/server/chat/chat-rpc-schemas.d.ts +26 -26
  55. package/dist/server/server/chat/chat-types.d.ts +2 -2
  56. package/dist/server/server/config.d.ts.map +1 -1
  57. package/dist/server/server/config.js +6 -1
  58. package/dist/server/server/config.js.map +1 -1
  59. package/dist/server/server/exports.d.ts +4 -2
  60. package/dist/server/server/exports.d.ts.map +1 -1
  61. package/dist/server/server/exports.js +3 -0
  62. package/dist/server/server/exports.js.map +1 -1
  63. package/dist/server/server/index.js +54 -0
  64. package/dist/server/server/index.js.map +1 -1
  65. package/dist/server/server/loop/rpc-schemas.d.ts +775 -775
  66. package/dist/server/server/loop-service.d.ts +108 -108
  67. package/dist/server/server/persisted-config.d.ts +121 -121
  68. package/dist/server/server/pid-lock.d.ts.map +1 -1
  69. package/dist/server/server/pid-lock.js +35 -2
  70. package/dist/server/server/pid-lock.js.map +1 -1
  71. package/dist/server/server/sac/auth.d.ts +41 -0
  72. package/dist/server/server/sac/auth.d.ts.map +1 -0
  73. package/dist/server/server/sac/auth.js +103 -0
  74. package/dist/server/server/sac/auth.js.map +1 -0
  75. package/dist/server/server/sac/client.d.ts +15 -0
  76. package/dist/server/server/sac/client.d.ts.map +1 -0
  77. package/dist/server/server/sac/client.js +70 -0
  78. package/dist/server/server/sac/client.js.map +1 -0
  79. package/dist/server/server/sac/download.d.ts +10 -0
  80. package/dist/server/server/sac/download.d.ts.map +1 -0
  81. package/dist/server/server/sac/download.js +67 -0
  82. package/dist/server/server/sac/download.js.map +1 -0
  83. package/dist/server/server/sac/endpoints.d.ts +13 -0
  84. package/dist/server/server/sac/endpoints.d.ts.map +1 -0
  85. package/dist/server/server/sac/endpoints.js +16 -0
  86. package/dist/server/server/sac/endpoints.js.map +1 -0
  87. package/dist/server/server/sac/errors.d.ts +40 -0
  88. package/dist/server/server/sac/errors.d.ts.map +1 -0
  89. package/dist/server/server/sac/errors.js +47 -0
  90. package/dist/server/server/sac/errors.js.map +1 -0
  91. package/dist/server/server/sac/generate.d.ts +43 -0
  92. package/dist/server/server/sac/generate.d.ts.map +1 -0
  93. package/dist/server/server/sac/generate.js +206 -0
  94. package/dist/server/server/sac/generate.js.map +1 -0
  95. package/dist/server/server/sac/index.d.ts +22 -0
  96. package/dist/server/server/sac/index.d.ts.map +1 -0
  97. package/dist/server/server/sac/index.js +14 -0
  98. package/dist/server/server/sac/index.js.map +1 -0
  99. package/dist/server/server/sac/output.d.ts +22 -0
  100. package/dist/server/server/sac/output.d.ts.map +1 -0
  101. package/dist/server/server/sac/output.js +142 -0
  102. package/dist/server/server/sac/output.js.map +1 -0
  103. package/dist/server/server/sac/poll.d.ts +12 -0
  104. package/dist/server/server/sac/poll.d.ts.map +1 -0
  105. package/dist/server/server/sac/poll.js +67 -0
  106. package/dist/server/server/sac/poll.js.map +1 -0
  107. package/dist/server/server/sac/providers/alibaba.d.ts +2 -0
  108. package/dist/server/server/sac/providers/alibaba.d.ts.map +1 -0
  109. package/dist/server/server/sac/providers/alibaba.js +506 -0
  110. package/dist/server/server/sac/providers/alibaba.js.map +1 -0
  111. package/dist/server/server/sac/providers/audio.d.ts +2 -0
  112. package/dist/server/server/sac/providers/audio.d.ts.map +1 -0
  113. package/dist/server/server/sac/providers/audio.js +57 -0
  114. package/dist/server/server/sac/providers/audio.js.map +1 -0
  115. package/dist/server/server/sac/providers/index.d.ts +19 -0
  116. package/dist/server/server/sac/providers/index.d.ts.map +1 -0
  117. package/dist/server/server/sac/providers/index.js +32 -0
  118. package/dist/server/server/sac/providers/index.js.map +1 -0
  119. package/dist/server/server/sac/providers/kling.d.ts +2 -0
  120. package/dist/server/server/sac/providers/kling.d.ts.map +1 -0
  121. package/dist/server/server/sac/providers/kling.js +589 -0
  122. package/dist/server/server/sac/providers/kling.js.map +1 -0
  123. package/dist/server/server/sac/providers/nano.d.ts +2 -0
  124. package/dist/server/server/sac/providers/nano.d.ts.map +1 -0
  125. package/dist/server/server/sac/providers/nano.js +37 -0
  126. package/dist/server/server/sac/providers/nano.js.map +1 -0
  127. package/dist/server/server/sac/providers/pixverse.d.ts +2 -0
  128. package/dist/server/server/sac/providers/pixverse.d.ts.map +1 -0
  129. package/dist/server/server/sac/providers/pixverse.js +1017 -0
  130. package/dist/server/server/sac/providers/pixverse.js.map +1 -0
  131. package/dist/server/server/sac/providers/registry.d.ts +34 -0
  132. package/dist/server/server/sac/providers/registry.d.ts.map +1 -0
  133. package/dist/server/server/sac/providers/registry.js +57 -0
  134. package/dist/server/server/sac/providers/registry.js.map +1 -0
  135. package/dist/server/server/sac/providers/seaart.d.ts +4 -0
  136. package/dist/server/server/sac/providers/seaart.d.ts.map +1 -0
  137. package/dist/server/server/sac/providers/seaart.js +57 -0
  138. package/dist/server/server/sac/providers/seaart.js.map +1 -0
  139. package/dist/server/server/sac/providers/store.d.ts +12 -0
  140. package/dist/server/server/sac/providers/store.d.ts.map +1 -0
  141. package/dist/server/server/sac/providers/store.js +7 -0
  142. package/dist/server/server/sac/providers/store.js.map +1 -0
  143. package/dist/server/server/sac/providers/tencent-3d.d.ts +2 -0
  144. package/dist/server/server/sac/providers/tencent-3d.d.ts.map +1 -0
  145. package/dist/server/server/sac/providers/tencent-3d.js +210 -0
  146. package/dist/server/server/sac/providers/tencent-3d.js.map +1 -0
  147. package/dist/server/server/sac/providers/tencent-image.d.ts +2 -0
  148. package/dist/server/server/sac/providers/tencent-image.d.ts.map +1 -0
  149. package/dist/server/server/sac/providers/tencent-image.js +90 -0
  150. package/dist/server/server/sac/providers/tencent-image.js.map +1 -0
  151. package/dist/server/server/sac/providers/tencent-video.d.ts +2 -0
  152. package/dist/server/server/sac/providers/tencent-video.d.ts.map +1 -0
  153. package/dist/server/server/sac/providers/tencent-video.js +103 -0
  154. package/dist/server/server/sac/providers/tencent-video.js.map +1 -0
  155. package/dist/server/server/sac/providers/tripo3d.d.ts +2 -0
  156. package/dist/server/server/sac/providers/tripo3d.d.ts.map +1 -0
  157. package/dist/server/server/sac/providers/tripo3d.js +302 -0
  158. package/dist/server/server/sac/providers/tripo3d.js.map +1 -0
  159. package/dist/server/server/sac/providers/vidu.d.ts +2 -0
  160. package/dist/server/server/sac/providers/vidu.d.ts.map +1 -0
  161. package/dist/server/server/sac/providers/vidu.js +965 -0
  162. package/dist/server/server/sac/providers/vidu.js.map +1 -0
  163. package/dist/server/server/sac/providers/volces-3d.d.ts +2 -0
  164. package/dist/server/server/sac/providers/volces-3d.d.ts.map +1 -0
  165. package/dist/server/server/sac/providers/volces-3d.js +77 -0
  166. package/dist/server/server/sac/providers/volces-3d.js.map +1 -0
  167. package/dist/server/server/sac/providers/volces-video.d.ts +2 -0
  168. package/dist/server/server/sac/providers/volces-video.d.ts.map +1 -0
  169. package/dist/server/server/sac/providers/volces-video.js +392 -0
  170. package/dist/server/server/sac/providers/volces-video.js.map +1 -0
  171. package/dist/server/server/sac/providers/volces.d.ts +2 -0
  172. package/dist/server/server/sac/providers/volces.d.ts.map +1 -0
  173. package/dist/server/server/sac/providers/volces.js +301 -0
  174. package/dist/server/server/sac/providers/volces.js.map +1 -0
  175. package/dist/server/server/sac/types.d.ts +59 -0
  176. package/dist/server/server/sac/types.d.ts.map +1 -0
  177. package/dist/server/server/sac/types.js +5 -0
  178. package/dist/server/server/sac/types.js.map +1 -0
  179. package/dist/server/server/schedule/rpc-schemas.d.ts +493 -493
  180. package/dist/server/server/schedule/types.d.ts +140 -140
  181. package/dist/server/server/session.d.ts +9 -2
  182. package/dist/server/server/session.d.ts.map +1 -1
  183. package/dist/server/server/session.js +137 -19
  184. package/dist/server/server/session.js.map +1 -1
  185. package/dist/server/server/speech/speech-types.d.ts +2 -2
  186. package/dist/server/server/workspace-registry.d.ts +4 -4
  187. package/dist/server/shared/messages.d.ts +17455 -15917
  188. package/dist/server/shared/messages.d.ts.map +1 -1
  189. package/dist/server/shared/messages.js +83 -0
  190. package/dist/server/shared/messages.js.map +1 -1
  191. package/dist/server/utils/spawn.d.ts.map +1 -1
  192. package/dist/server/utils/spawn.js +8 -3
  193. package/dist/server/utils/spawn.js.map +1 -1
  194. package/dist/server/utils/worktree-metadata.d.ts +4 -4
  195. package/dist/src/server/pid-lock.js +35 -2
  196. package/dist/src/server/pid-lock.js.map +1 -1
  197. package/package.json +14 -9
  198. package/dist/server/server/agent/providers/acp-agent.d.ts +0 -202
  199. package/dist/server/server/agent/providers/acp-agent.d.ts.map +0 -1
  200. package/dist/server/server/agent/providers/acp-agent.js +0 -1650
  201. package/dist/server/server/agent/providers/acp-agent.js.map +0 -1
  202. package/dist/server/server/agent/providers/copilot-acp-agent.d.ts +0 -16
  203. package/dist/server/server/agent/providers/copilot-acp-agent.d.ts.map +0 -1
  204. package/dist/server/server/agent/providers/copilot-acp-agent.js +0 -95
  205. package/dist/server/server/agent/providers/copilot-acp-agent.js.map +0 -1
  206. package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.d.ts +0 -3
  207. package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.d.ts.map +0 -1
  208. package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.js +0 -39
  209. package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.js.map +0 -1
  210. package/dist/server/server/agent/providers/opencode/tool-call-mapper.d.ts +0 -13
  211. package/dist/server/server/agent/providers/opencode/tool-call-mapper.d.ts.map +0 -1
  212. package/dist/server/server/agent/providers/opencode/tool-call-mapper.js +0 -144
  213. package/dist/server/server/agent/providers/opencode/tool-call-mapper.js.map +0 -1
  214. package/dist/server/server/agent/providers/opencode-agent.d.ts +0 -121
  215. package/dist/server/server/agent/providers/opencode-agent.d.ts.map +0 -1
  216. package/dist/server/server/agent/providers/opencode-agent.js +0 -1649
  217. package/dist/server/server/agent/providers/opencode-agent.js.map +0 -1
  218. package/dist/server/server/agent/providers/pi-acp-agent.d.ts +0 -28
  219. package/dist/server/server/agent/providers/pi-acp-agent.d.ts.map +0 -1
  220. package/dist/server/server/agent/providers/pi-acp-agent.js +0 -302
  221. package/dist/server/server/agent/providers/pi-acp-agent.js.map +0 -1
@@ -0,0 +1,111 @@
1
+ import { constants as fsConstants } from "node:fs";
2
+ import fs from "node:fs/promises";
3
+ import os from "node:os";
4
+ import path from "node:path";
5
+ import { redactClientLogs, redactDaemonLogTail } from "./bug-report-redact.js";
6
+ const DAEMON_LOG_TAIL_BYTES = 32 * 1024;
7
+ // Defaults to the intranet deployment. Override via BUG_INTAKE_URL env for
8
+ // local development against a sibling bug-intake on 127.0.0.1:6790.
9
+ const BUG_INTAKE_URL = process.env.BUG_INTAKE_URL?.replace(/\/+$/, "") || "http://172.16.12.143:6790";
10
+ async function readLogTail(logPath, maxBytes) {
11
+ try {
12
+ await fs.access(logPath, fsConstants.R_OK);
13
+ }
14
+ catch {
15
+ return undefined;
16
+ }
17
+ const handle = await fs.open(logPath, "r");
18
+ try {
19
+ const stat = await handle.stat();
20
+ const start = Math.max(0, stat.size - maxBytes);
21
+ const length = stat.size - start;
22
+ const buffer = Buffer.alloc(length);
23
+ await handle.read(buffer, 0, length, start);
24
+ return buffer.toString("utf8");
25
+ }
26
+ finally {
27
+ await handle.close();
28
+ }
29
+ }
30
+ export async function handleSubmitBugReport(msg, deps) {
31
+ const { logger, getSeaworkHome, fetchLastAgentTimeline } = deps;
32
+ const email = msg.email?.trim();
33
+ if (!email) {
34
+ return {
35
+ type: "submit_bug_report_response",
36
+ requestId: msg.requestId,
37
+ ok: false,
38
+ error: "missing_email",
39
+ };
40
+ }
41
+ const title = msg.title?.trim() || "(no title)";
42
+ const seaworkHome = getSeaworkHome() || path.join(os.homedir(), ".seawork");
43
+ const daemonLogTail = await readLogTail(path.join(seaworkHome, "daemon.log"), DAEMON_LOG_TAIL_BYTES).catch((err) => {
44
+ logger.warn({ err }, "failed to read daemon.log tail");
45
+ return undefined;
46
+ });
47
+ let agentTimeline;
48
+ if (fetchLastAgentTimeline) {
49
+ try {
50
+ agentTimeline = await fetchLastAgentTimeline();
51
+ }
52
+ catch (err) {
53
+ logger.warn({ err }, "failed to fetch last agent timeline");
54
+ }
55
+ }
56
+ const payload = {
57
+ title,
58
+ description: msg.description ?? "",
59
+ email,
60
+ clientId: msg.clientId,
61
+ appVersion: msg.appVersion,
62
+ device: msg.device,
63
+ clientLogs: redactClientLogs(msg.clientLogs),
64
+ daemonLogTail: redactDaemonLogTail(daemonLogTail),
65
+ agentTimeline,
66
+ attachmentIds: msg.attachmentIds,
67
+ };
68
+ try {
69
+ const res = await fetch(BUG_INTAKE_URL + "/bugs", {
70
+ method: "POST",
71
+ headers: { "content-type": "application/json" },
72
+ body: JSON.stringify(payload),
73
+ });
74
+ if (!res.ok) {
75
+ const text = await res.text().catch(() => "");
76
+ logger.error({ status: res.status, text }, "bug-intake rejected payload");
77
+ return {
78
+ type: "submit_bug_report_response",
79
+ requestId: msg.requestId,
80
+ ok: false,
81
+ error: "intake_error_" + res.status,
82
+ };
83
+ }
84
+ const body = (await res.json());
85
+ if (!body.ok) {
86
+ return {
87
+ type: "submit_bug_report_response",
88
+ requestId: msg.requestId,
89
+ ok: false,
90
+ error: body.error ?? "intake_error",
91
+ };
92
+ }
93
+ return {
94
+ type: "submit_bug_report_response",
95
+ requestId: msg.requestId,
96
+ ok: true,
97
+ issueNumber: body.issueNumber,
98
+ issueUrl: body.issueUrl,
99
+ };
100
+ }
101
+ catch (err) {
102
+ logger.error({ err, url: BUG_INTAKE_URL }, "bug-intake fetch failed");
103
+ return {
104
+ type: "submit_bug_report_response",
105
+ requestId: msg.requestId,
106
+ ok: false,
107
+ error: err.message || "intake_unreachable",
108
+ };
109
+ }
110
+ }
111
+ //# sourceMappingURL=bug-report-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bug-report-handler.js","sourceRoot":"","sources":["../../../src/server/bug-report-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAM7B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAQ/E,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC;AACxC,2EAA2E;AAC3E,oEAAoE;AACpE,MAAM,cAAc,GAClB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,2BAA2B,CAAC;AAEjF,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,QAAgB;IAC1D,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAkC,EAClC,IAA0B;IAE1B,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IAChE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,IAAI,EAAE,4BAA4B;YAClC,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,eAAe;SACvB,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,YAAY,CAAC;IAEhD,MAAM,WAAW,GAAG,cAAc,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,MAAM,WAAW,CACrC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EACpC,qBAAqB,CACtB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACd,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,gCAAgC,CAAC,CAAC;QACvD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,IAAI,aAAsB,CAAC;IAC3B,IAAI,sBAAsB,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,sBAAsB,EAAE,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,qCAAqC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG;QACd,KAAK;QACL,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;QAClC,KAAK;QACL,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC;QAC5C,aAAa,EAAE,mBAAmB,CAAC,aAAa,CAAC;QACjD,aAAa;QACb,aAAa,EAAE,GAAG,CAAC,aAAa;KACjC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,cAAc,GAAG,OAAO,EAAE;YAChD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,6BAA6B,CAAC,CAAC;YAC1E,OAAO;gBACL,IAAI,EAAE,4BAA4B;gBAClC,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,eAAe,GAAG,GAAG,CAAC,MAAM;aACpC,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAK7B,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO;gBACL,IAAI,EAAE,4BAA4B;gBAClC,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,cAAc;aACpC,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI,EAAE,4BAA4B;YAClC,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,EAAE,EAAE,IAAI;YACR,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,yBAAyB,CAAC,CAAC;QACtE,OAAO;YACL,IAAI,EAAE,4BAA4B;YAClC,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,EAAE,EAAE,KAAK;YACT,KAAK,EAAG,GAAa,CAAC,OAAO,IAAI,oBAAoB;SACtD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ export declare function redactLogLine(msg: string): string;
2
+ export declare function redactClientLogs(logs: {
3
+ level: string;
4
+ ts: number;
5
+ msg: string;
6
+ }[] | undefined): {
7
+ level: string;
8
+ ts: number;
9
+ msg: string;
10
+ }[] | undefined;
11
+ export declare function redactDaemonLogTail(tail: string | undefined): string | undefined;
12
+ //# sourceMappingURL=bug-report-redact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bug-report-redact.d.ts","sourceRoot":"","sources":["../../../src/server/bug-report-redact.ts"],"names":[],"mappings":"AAiDA,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,SAAS,GAC7D;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,SAAS,CAI1D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAMhF"}
@@ -0,0 +1,63 @@
1
+ const MAX_LINE_LENGTH = 2000;
2
+ const MAX_CLIENT_LOGS = 200;
3
+ const REDACTIONS = [
4
+ // Bearer / Basic auth headers
5
+ { pattern: /\b(Bearer|Basic)\s+[A-Za-z0-9._\-+/=]{8,}/gi, replace: "$1 <redacted>" },
6
+ // Authorization: header value
7
+ { pattern: /(authorization"?\s*[:=]\s*"?)([^",\s]{8,})/gi, replace: "$1<redacted>" },
8
+ // Key/token/secret in KEY=value, "key":"value", key: value (JSON + env style)
9
+ {
10
+ pattern: /((?:api[_-]?key|access[_-]?token|secret|password|passwd|github[_-]?token|auth[_-]?token|session[_-]?id|cookie|refresh[_-]?token|client[_-]?secret)"?\s*[:=]\s*"?)([^",\s}]{4,})/gi,
11
+ replace: "$1<redacted>",
12
+ },
13
+ // GitHub tokens
14
+ { pattern: /\bgh[pousr]_[A-Za-z0-9]{20,}/g, replace: "<redacted-gh-token>" },
15
+ // Generic high-entropy *_KEY / *_TOKEN env-style values
16
+ {
17
+ pattern: /\b([A-Z][A-Z0-9_]*(?:KEY|TOKEN|SECRET|PASSWORD))=([^\s"]{4,})/g,
18
+ replace: "$1=<redacted>",
19
+ },
20
+ // JWT (3 dot-separated base64url segments)
21
+ {
22
+ pattern: /\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\b/g,
23
+ replace: "<redacted-jwt>",
24
+ },
25
+ // Emails (except the reporter's — reporter is handled separately upstream)
26
+ {
27
+ pattern: /\b([A-Za-z0-9_.+-]{1,3})[A-Za-z0-9_.+-]*(@[A-Za-z0-9.-]+\.[A-Za-z]{2,})/g,
28
+ replace: "$1***$2",
29
+ },
30
+ // macOS / Linux user home paths
31
+ { pattern: /\/Users\/[^/\s"']+/g, replace: "/Users/<user>" },
32
+ { pattern: /\/home\/[^/\s"']+/g, replace: "/home/<user>" },
33
+ // Windows user path
34
+ { pattern: /C:\\Users\\[^\\\s"']+/g, replace: "C:\\Users\\<user>" },
35
+ ];
36
+ function redactString(raw) {
37
+ let out = raw;
38
+ for (const { pattern, replace } of REDACTIONS) {
39
+ out = out.replace(pattern, replace);
40
+ }
41
+ if (out.length > MAX_LINE_LENGTH) {
42
+ out = out.slice(0, MAX_LINE_LENGTH) + "…[truncated]";
43
+ }
44
+ return out;
45
+ }
46
+ export function redactLogLine(msg) {
47
+ return redactString(msg);
48
+ }
49
+ export function redactClientLogs(logs) {
50
+ if (!logs)
51
+ return undefined;
52
+ const tail = logs.slice(-MAX_CLIENT_LOGS);
53
+ return tail.map((l) => ({ level: l.level, ts: l.ts, msg: redactString(l.msg) }));
54
+ }
55
+ export function redactDaemonLogTail(tail) {
56
+ if (!tail)
57
+ return undefined;
58
+ return tail
59
+ .split("\n")
60
+ .map((line) => redactString(line))
61
+ .join("\n");
62
+ }
63
+ //# sourceMappingURL=bug-report-redact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bug-report-redact.js","sourceRoot":"","sources":["../../../src/server/bug-report-redact.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,IAAK,CAAC;AAC9B,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,MAAM,UAAU,GAA2C;IACzD,8BAA8B;IAC9B,EAAE,OAAO,EAAE,6CAA6C,EAAE,OAAO,EAAE,eAAe,EAAE;IACpF,8BAA8B;IAC9B,EAAE,OAAO,EAAE,8CAA8C,EAAE,OAAO,EAAE,cAAc,EAAE;IACpF,8EAA8E;IAC9E;QACE,OAAO,EACL,mLAAmL;QACrL,OAAO,EAAE,cAAc;KACxB;IACD,gBAAgB;IAChB,EAAE,OAAO,EAAE,+BAA+B,EAAE,OAAO,EAAE,qBAAqB,EAAE;IAC5E,wDAAwD;IACxD;QACE,OAAO,EAAE,gEAAgE;QACzE,OAAO,EAAE,eAAe;KACzB;IACD,2CAA2C;IAC3C;QACE,OAAO,EAAE,oEAAoE;QAC7E,OAAO,EAAE,gBAAgB;KAC1B;IACD,2EAA2E;IAC3E;QACE,OAAO,EAAE,0EAA0E;QACnF,OAAO,EAAE,SAAS;KACnB;IACD,gCAAgC;IAChC,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,eAAe,EAAE;IAC5D,EAAE,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,cAAc,EAAE;IAC1D,oBAAoB;IACpB,EAAE,OAAO,EAAE,wBAAwB,EAAE,OAAO,EAAE,mBAAmB,EAAE;CACpE,CAAC;AAEF,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,EAAE,CAAC;QAC9C,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,GAAG,cAAc,CAAC;IACvD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,IAA8D;IAE9D,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAwB;IAC1D,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,IAAI;SACR,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SACjC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
@@ -60,15 +60,15 @@ export declare const ChatPostRequestSchema: z.ZodObject<{
60
60
  replyToMessageId: z.ZodOptional<z.ZodString>;
61
61
  }, "strip", z.ZodTypeAny, {
62
62
  type: "chat/post";
63
- body: string;
64
63
  requestId: string;
64
+ body: string;
65
65
  room: string;
66
66
  authorAgentId?: string | undefined;
67
67
  replyToMessageId?: string | undefined;
68
68
  }, {
69
69
  type: "chat/post";
70
- body: string;
71
70
  requestId: string;
71
+ body: string;
72
72
  room: string;
73
73
  authorAgentId?: string | undefined;
74
74
  replyToMessageId?: string | undefined;
@@ -105,14 +105,14 @@ export declare const ChatWaitRequestSchema: z.ZodObject<{
105
105
  type: "chat/wait";
106
106
  requestId: string;
107
107
  room: string;
108
- afterMessageId?: string | undefined;
109
108
  timeoutMs?: number | undefined;
109
+ afterMessageId?: string | undefined;
110
110
  }, {
111
111
  type: "chat/wait";
112
112
  requestId: string;
113
113
  room: string;
114
- afterMessageId?: string | undefined;
115
114
  timeoutMs?: number | undefined;
115
+ afterMessageId?: string | undefined;
116
116
  }>;
117
117
  export declare const ChatCreateResponseSchema: z.ZodObject<{
118
118
  type: z.ZodLiteral<"chat/create/response">;
@@ -477,74 +477,74 @@ export declare const ChatPostResponseSchema: z.ZodObject<{
477
477
  }, "strip", z.ZodTypeAny, {
478
478
  id: string;
479
479
  createdAt: string;
480
+ body: string;
480
481
  roomId: string;
481
482
  authorAgentId: string;
482
- body: string;
483
483
  replyToMessageId: string | null;
484
484
  mentionAgentIds: string[];
485
485
  }, {
486
486
  id: string;
487
487
  createdAt: string;
488
+ body: string;
488
489
  roomId: string;
489
490
  authorAgentId: string;
490
- body: string;
491
491
  replyToMessageId: string | null;
492
492
  mentionAgentIds: string[];
493
493
  }>>;
494
494
  error: z.ZodNullable<z.ZodString>;
495
495
  }, "strip", z.ZodTypeAny, {
496
- error: string | null;
497
496
  message: {
498
497
  id: string;
499
498
  createdAt: string;
499
+ body: string;
500
500
  roomId: string;
501
501
  authorAgentId: string;
502
- body: string;
503
502
  replyToMessageId: string | null;
504
503
  mentionAgentIds: string[];
505
504
  } | null;
505
+ error: string | null;
506
506
  requestId: string;
507
507
  }, {
508
- error: string | null;
509
508
  message: {
510
509
  id: string;
511
510
  createdAt: string;
511
+ body: string;
512
512
  roomId: string;
513
513
  authorAgentId: string;
514
- body: string;
515
514
  replyToMessageId: string | null;
516
515
  mentionAgentIds: string[];
517
516
  } | null;
517
+ error: string | null;
518
518
  requestId: string;
519
519
  }>;
520
520
  }, "strip", z.ZodTypeAny, {
521
521
  type: "chat/post/response";
522
522
  payload: {
523
- error: string | null;
524
523
  message: {
525
524
  id: string;
526
525
  createdAt: string;
526
+ body: string;
527
527
  roomId: string;
528
528
  authorAgentId: string;
529
- body: string;
530
529
  replyToMessageId: string | null;
531
530
  mentionAgentIds: string[];
532
531
  } | null;
532
+ error: string | null;
533
533
  requestId: string;
534
534
  };
535
535
  }, {
536
536
  type: "chat/post/response";
537
537
  payload: {
538
- error: string | null;
539
538
  message: {
540
539
  id: string;
541
540
  createdAt: string;
541
+ body: string;
542
542
  roomId: string;
543
543
  authorAgentId: string;
544
- body: string;
545
544
  replyToMessageId: string | null;
546
545
  mentionAgentIds: string[];
547
546
  } | null;
547
+ error: string | null;
548
548
  requestId: string;
549
549
  };
550
550
  }>;
@@ -563,17 +563,17 @@ export declare const ChatReadResponseSchema: z.ZodObject<{
563
563
  }, "strip", z.ZodTypeAny, {
564
564
  id: string;
565
565
  createdAt: string;
566
+ body: string;
566
567
  roomId: string;
567
568
  authorAgentId: string;
568
- body: string;
569
569
  replyToMessageId: string | null;
570
570
  mentionAgentIds: string[];
571
571
  }, {
572
572
  id: string;
573
573
  createdAt: string;
574
+ body: string;
574
575
  roomId: string;
575
576
  authorAgentId: string;
576
- body: string;
577
577
  replyToMessageId: string | null;
578
578
  mentionAgentIds: string[];
579
579
  }>, "many">;
@@ -584,9 +584,9 @@ export declare const ChatReadResponseSchema: z.ZodObject<{
584
584
  messages: {
585
585
  id: string;
586
586
  createdAt: string;
587
+ body: string;
587
588
  roomId: string;
588
589
  authorAgentId: string;
589
- body: string;
590
590
  replyToMessageId: string | null;
591
591
  mentionAgentIds: string[];
592
592
  }[];
@@ -596,9 +596,9 @@ export declare const ChatReadResponseSchema: z.ZodObject<{
596
596
  messages: {
597
597
  id: string;
598
598
  createdAt: string;
599
+ body: string;
599
600
  roomId: string;
600
601
  authorAgentId: string;
601
- body: string;
602
602
  replyToMessageId: string | null;
603
603
  mentionAgentIds: string[];
604
604
  }[];
@@ -611,9 +611,9 @@ export declare const ChatReadResponseSchema: z.ZodObject<{
611
611
  messages: {
612
612
  id: string;
613
613
  createdAt: string;
614
+ body: string;
614
615
  roomId: string;
615
616
  authorAgentId: string;
616
- body: string;
617
617
  replyToMessageId: string | null;
618
618
  mentionAgentIds: string[];
619
619
  }[];
@@ -626,9 +626,9 @@ export declare const ChatReadResponseSchema: z.ZodObject<{
626
626
  messages: {
627
627
  id: string;
628
628
  createdAt: string;
629
+ body: string;
629
630
  roomId: string;
630
631
  authorAgentId: string;
631
- body: string;
632
632
  replyToMessageId: string | null;
633
633
  mentionAgentIds: string[];
634
634
  }[];
@@ -649,17 +649,17 @@ export declare const ChatWaitResponseSchema: z.ZodObject<{
649
649
  }, "strip", z.ZodTypeAny, {
650
650
  id: string;
651
651
  createdAt: string;
652
+ body: string;
652
653
  roomId: string;
653
654
  authorAgentId: string;
654
- body: string;
655
655
  replyToMessageId: string | null;
656
656
  mentionAgentIds: string[];
657
657
  }, {
658
658
  id: string;
659
659
  createdAt: string;
660
+ body: string;
660
661
  roomId: string;
661
662
  authorAgentId: string;
662
- body: string;
663
663
  replyToMessageId: string | null;
664
664
  mentionAgentIds: string[];
665
665
  }>, "many">;
@@ -671,9 +671,9 @@ export declare const ChatWaitResponseSchema: z.ZodObject<{
671
671
  messages: {
672
672
  id: string;
673
673
  createdAt: string;
674
+ body: string;
674
675
  roomId: string;
675
676
  authorAgentId: string;
676
- body: string;
677
677
  replyToMessageId: string | null;
678
678
  mentionAgentIds: string[];
679
679
  }[];
@@ -684,9 +684,9 @@ export declare const ChatWaitResponseSchema: z.ZodObject<{
684
684
  messages: {
685
685
  id: string;
686
686
  createdAt: string;
687
+ body: string;
687
688
  roomId: string;
688
689
  authorAgentId: string;
689
- body: string;
690
690
  replyToMessageId: string | null;
691
691
  mentionAgentIds: string[];
692
692
  }[];
@@ -700,9 +700,9 @@ export declare const ChatWaitResponseSchema: z.ZodObject<{
700
700
  messages: {
701
701
  id: string;
702
702
  createdAt: string;
703
+ body: string;
703
704
  roomId: string;
704
705
  authorAgentId: string;
705
- body: string;
706
706
  replyToMessageId: string | null;
707
707
  mentionAgentIds: string[];
708
708
  }[];
@@ -716,9 +716,9 @@ export declare const ChatWaitResponseSchema: z.ZodObject<{
716
716
  messages: {
717
717
  id: string;
718
718
  createdAt: string;
719
+ body: string;
719
720
  roomId: string;
720
721
  authorAgentId: string;
721
- body: string;
722
722
  replyToMessageId: string | null;
723
723
  mentionAgentIds: string[];
724
724
  }[];
@@ -30,17 +30,17 @@ export declare const ChatMessageSchema: z.ZodObject<{
30
30
  }, "strip", z.ZodTypeAny, {
31
31
  id: string;
32
32
  createdAt: string;
33
+ body: string;
33
34
  roomId: string;
34
35
  authorAgentId: string;
35
- body: string;
36
36
  replyToMessageId: string | null;
37
37
  mentionAgentIds: string[];
38
38
  }, {
39
39
  id: string;
40
40
  createdAt: string;
41
+ body: string;
41
42
  roomId: string;
42
43
  authorAgentId: string;
43
- body: string;
44
44
  replyToMessageId: string | null;
45
45
  mentionAgentIds: string[];
46
46
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/server/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAK1D,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAwB5B,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,EAAE,kBAAkB,CAAC;CAClC,CAAC,CAAC;AAcH,wBAAgB,UAAU,CACxB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IACR,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,kBAAkB,CAAC;CAC1B,GACA,mBAAmB,CAoFrB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/server/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAK1D,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAwB5B,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,EAAE,kBAAkB,CAAC;CAClC,CAAC,CAAC;AAcH,wBAAgB,UAAU,CACxB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IACR,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,kBAAkB,CAAC;CAC1B,GACA,mBAAmB,CA2FrB"}
@@ -73,7 +73,12 @@ export function loadConfig(seaworkHome, options) {
73
73
  return {
74
74
  listen,
75
75
  seaworkHome,
76
- corsAllowedOrigins: Array.from(new Set([...persistedCorsOrigins, ...envCorsOrigins].filter((s) => s.length > 0))),
76
+ corsAllowedOrigins: Array.from(new Set([
77
+ // Always allow the hosted web app regardless of persisted config
78
+ "https://app.seawork.ai",
79
+ ...persistedCorsOrigins,
80
+ ...envCorsOrigins,
81
+ ].filter((s) => s.length > 0))),
77
82
  allowedHosts,
78
83
  mcpEnabled,
79
84
  mcpInjectIntoAgents,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/server/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/server/config.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,10 @@ export { applyProviderEnv } from "./agent/provider-launch-config.js";
12
12
  export { findExecutable, findExecutableSync, quoteWindowsArgument, quoteWindowsCommand, } from "../utils/executable.js";
13
13
  export { spawnProcess } from "../utils/spawn.js";
14
14
  export { AGENT_PROVIDER_DEFINITIONS, type AgentProviderDefinition, } from "./agent/provider-manifest.js";
15
- export type { AgentMode, AgentUsage, AgentCapabilityFlags, AgentPermissionRequest, AgentTimelineItem, } from "./agent/agent-sdk-types.js";
15
+ export type { AgentMode, AgentProvider, AgentUsage, AgentCapabilityFlags, AgentPermissionRequest, AgentTimelineItem, } from "./agent/agent-sdk-types.js";
16
16
  export { curateAgentActivity } from "./agent/activity-curator.js";
17
17
  export { getStructuredAgentResponse, StructuredAgentResponseError, StructuredAgentFallbackError, DEFAULT_STRUCTURED_GENERATION_PROVIDERS, generateStructuredAgentResponseWithFallback, type AgentCaller, type JsonSchema, type StructuredGenerationAttempt, type StructuredGenerationProvider, type StructuredAgentGenerationOptions, type StructuredAgentGenerationWithFallbackOptions, type StructuredAgentResponseOptions, } from "./agent/agent-response-loop.js";
18
- export type { AgentSnapshotPayload, AgentStreamEventPayload, AgentStreamMessage, } from "../shared/messages.js";
18
+ export type { AgentSnapshotPayload, AgentStreamEventPayload, AgentStreamMessage, PersistedAgentDescriptorPayload, } from "../shared/messages.js";
19
+ export { ConnectionOfferV2Schema, ConnectionOfferSchema, type ConnectionOfferV2, type ConnectionOffer, } from "../shared/connection-offer.js";
20
+ export { buildRelayWebSocketUrl } from "../shared/daemon-endpoints.js";
19
21
  //# sourceMappingURL=exports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../src/server/exports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EACL,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,WAAW,GACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,GAC/B,MAAM,uDAAuD,CAAC;AAG/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EACL,0BAA0B,EAC1B,KAAK,uBAAuB,GAC7B,MAAM,8BAA8B,CAAC;AAGtC,YAAY,EACV,SAAS,EACT,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,uCAAuC,EACvC,2CAA2C,EAC3C,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,gCAAgC,EACrC,KAAK,4CAA4C,EACjD,KAAK,8BAA8B,GACpC,MAAM,gCAAgC,CAAC;AAGxC,YAAY,EACV,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../src/server/exports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EACL,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,WAAW,GACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,GAC/B,MAAM,uDAAuD,CAAC;AAG/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EACL,0BAA0B,EAC1B,KAAK,uBAAuB,GAC7B,MAAM,8BAA8B,CAAC;AAGtC,YAAY,EACV,SAAS,EACT,aAAa,EACb,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,uCAAuC,EACvC,2CAA2C,EAC3C,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,gCAAgC,EACrC,KAAK,4CAA4C,EACjD,KAAK,8BAA8B,GACpC,MAAM,gCAAgC,CAAC;AAGxC,YAAY,EACV,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,+BAA+B,GAChC,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,KAAK,eAAe,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -18,4 +18,7 @@ export { AGENT_PROVIDER_DEFINITIONS, } from "./agent/provider-manifest.js";
18
18
  // Agent activity curator for CLI logs
19
19
  export { curateAgentActivity } from "./agent/activity-curator.js";
20
20
  export { getStructuredAgentResponse, StructuredAgentResponseError, StructuredAgentFallbackError, DEFAULT_STRUCTURED_GENERATION_PROVIDERS, generateStructuredAgentResponseWithFallback, } from "./agent/agent-response-loop.js";
21
+ // Pairing offer + relay URL for CLI remote-debug subcommand
22
+ export { ConnectionOfferV2Schema, ConnectionOfferSchema, } from "../shared/connection-offer.js";
23
+ export { buildRelayWebSocketUrl } from "../shared/daemon-endpoints.js";
21
24
  //# sourceMappingURL=exports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../src/server/exports.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,EAAE,mBAAmB,EAAgD,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,UAAU,EAA2B,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAiC,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAA0B,MAAM,oBAAoB,CAAC;AACvF,OAAO,EACL,YAAY,GAIb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GAItB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,GAG1B,MAAM,uDAAuD,CAAC;AAE/D,6BAA6B;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,+DAA+D;AAC/D,OAAO,EACL,0BAA0B,GAE3B,MAAM,8BAA8B,CAAC;AAWtC,sCAAsC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,uCAAuC,EACvC,2CAA2C,GAQ5C,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../src/server/exports.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,EAAE,mBAAmB,EAAgD,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,UAAU,EAA2B,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAiC,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAA0B,MAAM,oBAAoB,CAAC;AACvF,OAAO,EACL,YAAY,GAIb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GAItB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,GAG1B,MAAM,uDAAuD,CAAC;AAE/D,6BAA6B;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,+DAA+D;AAC/D,OAAO,EACL,0BAA0B,GAE3B,MAAM,8BAA8B,CAAC;AAYtC,sCAAsC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,uCAAuC,EACvC,2CAA2C,GAQ5C,MAAM,gCAAgC,CAAC;AAUxC,4DAA4D;AAC5D,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GAGtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -1,3 +1,5 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
1
3
  import { createSeaworkDaemon } from "./bootstrap.js";
2
4
  import { loadConfig } from "./config.js";
3
5
  import { resolveSeaworkHome } from "./seawork-home.js";
@@ -108,6 +110,58 @@ async function main() {
108
110
  }
109
111
  beginShutdown("restart lifecycle intent", { successExitCode: 0 });
110
112
  };
113
+ logger.info({
114
+ hasAnthropicKey: !!process.env.ANTHROPIC_API_KEY,
115
+ anthropicKeyPrefix: process.env.ANTHROPIC_API_KEY?.slice(0, 10) ?? null,
116
+ anthropicBaseUrl: process.env.ANTHROPIC_BASE_URL ?? null,
117
+ openaiBaseUrl: process.env.OPENAI_BASE_URL ?? null,
118
+ seaworkApiBaseUrl: process.env.SEAWORK_API_BASE_URL ?? null,
119
+ }, "daemon_env_check");
120
+ // Write/remove a settings file for spawned claude CLI processes so they use
121
+ // our gateway auth regardless of the user's ~/.claude/settings.json.
122
+ const claudeSettingsPath = path.join(seaworkHome, "claude-settings.json");
123
+ if (process.env.ANTHROPIC_API_KEY) {
124
+ const settings = {
125
+ // Override user-level auth helpers so the spawned claude CLI authenticates
126
+ // purely via ANTHROPIC_API_KEY below. If a user has e.g. a Vtrix/Bedrock
127
+ // helper in ~/.claude/settings.json, the SDK's f$() key resolution would
128
+ // otherwise prefer apiKeyHelper over ANTHROPIC_API_KEY and send a wrong
129
+ // token to the Seawork gateway, producing "API key not found" 401s.
130
+ apiKeyHelper: "",
131
+ awsAuthRefresh: "",
132
+ awsCredentialExport: "",
133
+ env: {
134
+ ANTHROPIC_API_KEY: process.env.ANTHROPIC_API_KEY,
135
+ ...(process.env.ANTHROPIC_BASE_URL
136
+ ? { ANTHROPIC_BASE_URL: process.env.ANTHROPIC_BASE_URL }
137
+ : {}),
138
+ // Explicitly clear conflicting auth vars from user settings
139
+ // (flag settings has highest priority and overrides user settings.env)
140
+ ANTHROPIC_AUTH_TOKEN: "",
141
+ ANTHROPIC_MODEL: "",
142
+ ANTHROPIC_SMALL_FAST_MODEL: "",
143
+ CLAUDE_CODE_USE_BEDROCK: "",
144
+ CLAUDE_CODE_USE_VERTEX: "",
145
+ AWS_BEARER_TOKEN_BEDROCK: "",
146
+ },
147
+ };
148
+ try {
149
+ fs.writeFileSync(claudeSettingsPath, JSON.stringify(settings, null, 2));
150
+ logger.info({ settingsPath: claudeSettingsPath }, "claude_settings_written");
151
+ }
152
+ catch (err) {
153
+ logger.warn({ err, settingsPath: claudeSettingsPath }, "claude_settings_write_failed");
154
+ }
155
+ }
156
+ else {
157
+ // No API key — remove stale settings file to prevent credential pollution
158
+ try {
159
+ fs.unlinkSync(claudeSettingsPath);
160
+ }
161
+ catch {
162
+ // File doesn't exist, fine
163
+ }
164
+ }
111
165
  try {
112
166
  if (!supervised) {
113
167
  await acquirePidLock(seaworkHome, null);