@getpaseo/server 0.1.72 → 0.1.73

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 (55) hide show
  1. package/dist/server/server/agent/agent-archive.d.ts +11 -0
  2. package/dist/server/server/agent/agent-archive.d.ts.map +1 -0
  3. package/dist/server/server/agent/agent-archive.js +16 -0
  4. package/dist/server/server/agent/agent-archive.js.map +1 -0
  5. package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
  6. package/dist/server/server/agent/agent-manager.js +3 -23
  7. package/dist/server/server/agent/agent-manager.js.map +1 -1
  8. package/dist/server/server/agent/provider-launch-config.d.ts.map +1 -1
  9. package/dist/server/server/agent/provider-launch-config.js +1 -0
  10. package/dist/server/server/agent/provider-launch-config.js.map +1 -1
  11. package/dist/server/server/agent/providers/codex/test-utils/fake-app-server.d.ts +31 -0
  12. package/dist/server/server/agent/providers/codex/test-utils/fake-app-server.d.ts.map +1 -0
  13. package/dist/server/server/agent/providers/codex/test-utils/fake-app-server.js +172 -0
  14. package/dist/server/server/agent/providers/codex/test-utils/fake-app-server.js.map +1 -0
  15. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -1
  16. package/dist/server/server/agent/providers/codex-app-server-agent.js +1 -1
  17. package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -1
  18. package/dist/server/server/agent/providers/opencode-agent.d.ts +33 -1
  19. package/dist/server/server/agent/providers/opencode-agent.d.ts.map +1 -1
  20. package/dist/server/server/agent/providers/opencode-agent.js +528 -9
  21. package/dist/server/server/agent/providers/opencode-agent.js.map +1 -1
  22. package/dist/server/server/bootstrap.d.ts +2 -0
  23. package/dist/server/server/bootstrap.d.ts.map +1 -1
  24. package/dist/server/server/bootstrap.js +45 -8
  25. package/dist/server/server/bootstrap.js.map +1 -1
  26. package/dist/server/server/file-explorer/service.d.ts.map +1 -1
  27. package/dist/server/server/file-explorer/service.js +84 -67
  28. package/dist/server/server/file-explorer/service.js.map +1 -1
  29. package/dist/server/server/push/notifications.d.ts +9 -0
  30. package/dist/server/server/push/notifications.d.ts.map +1 -0
  31. package/dist/server/server/push/notifications.js +15 -0
  32. package/dist/server/server/push/notifications.js.map +1 -0
  33. package/dist/server/server/push/push-service.d.ts +1 -2
  34. package/dist/server/server/push/push-service.d.ts.map +1 -1
  35. package/dist/server/server/relay-transport.d.ts +7 -1
  36. package/dist/server/server/relay-transport.d.ts.map +1 -1
  37. package/dist/server/server/relay-transport.js +10 -5
  38. package/dist/server/server/relay-transport.js.map +1 -1
  39. package/dist/server/server/websocket/runtime-metrics.d.ts +71 -0
  40. package/dist/server/server/websocket/runtime-metrics.d.ts.map +1 -0
  41. package/dist/server/server/websocket/runtime-metrics.js +148 -0
  42. package/dist/server/server/websocket/runtime-metrics.js.map +1 -0
  43. package/dist/server/server/websocket-server.d.ts +4 -21
  44. package/dist/server/server/websocket-server.d.ts.map +1 -1
  45. package/dist/server/server/websocket-server.js +28 -137
  46. package/dist/server/server/websocket-server.js.map +1 -1
  47. package/dist/server/shared/connection-offer.d.ts +6 -6
  48. package/dist/server/shared/connection-offer.js +1 -1
  49. package/dist/server/shared/connection-offer.js.map +1 -1
  50. package/dist/server/utils/run-git-command.d.ts.map +1 -1
  51. package/dist/server/utils/run-git-command.js +1 -0
  52. package/dist/server/utils/run-git-command.js.map +1 -1
  53. package/dist/src/server/agent/provider-launch-config.js +1 -0
  54. package/dist/src/server/agent/provider-launch-config.js.map +1 -1
  55. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/server/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/server/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/server/file-explorer/service.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,WAAW,CAAC;AACrD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC3D,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC7B,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AA6BD,wBAAsB,oBAAoB,CAAC,EACzC,IAAI,EACJ,YAAkB,GACnB,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA6CtD;AAED,wBAAsB,gBAAgB,CAAC,EACrC,IAAI,EACJ,YAAY,GACb,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmC5C;AAED,wBAAsB,qBAAqB,CAAC,EAC1C,IAAI,EACJ,YAAY,GACb,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA4CjD;AAED,wBAAsB,uBAAuB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC;IAC7F,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAkCD"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/server/file-explorer/service.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,WAAW,CAAC;AACrD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC3D,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC7B,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAsCD,wBAAsB,oBAAoB,CAAC,EACzC,IAAI,EACJ,YAAkB,GACnB,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA6CtD;AAED,wBAAsB,gBAAgB,CAAC,EACrC,IAAI,EACJ,YAAY,GACb,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmC5C;AAED,wBAAsB,qBAAqB,CAAC,EAC1C,IAAI,EACJ,YAAY,GACb,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAiDjD;AAED,wBAAsB,uBAAuB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC;IAC7F,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAkCD"}
@@ -1,10 +1,13 @@
1
- import { promises as fs } from "fs";
1
+ import { constants, promises as fs } from "fs";
2
2
  import path from "path";
3
3
  import { resolvePathFromBase } from "../path-utils.js";
4
4
  const TEXT_MIME_TYPES = {
5
5
  ".json": "application/json",
6
6
  };
7
7
  const DEFAULT_TEXT_MIME_TYPE = "text/plain";
8
+ const FILE_TYPE_SAMPLE_BYTES = 8192;
9
+ const READ_FILE_OPEN_FLAGS = process.platform === "win32" ? constants.O_RDONLY : constants.O_RDONLY | constants.O_NOFOLLOW;
10
+ const ACCESS_OUTSIDE_WORKSPACE_MESSAGE = "Access outside of workspace is not allowed";
8
11
  const IMAGE_MIME_TYPES = {
9
12
  ".png": "image/png",
10
13
  ".jpg": "image/jpeg",
@@ -15,13 +18,13 @@ const IMAGE_MIME_TYPES = {
15
18
  };
16
19
  export async function listDirectoryEntries({ root, relativePath = ".", }) {
17
20
  const directoryPath = await resolveScopedPath({ root, relativePath });
18
- const stats = await fs.stat(directoryPath);
21
+ const stats = await fs.stat(directoryPath.resolvedPath);
19
22
  if (!stats.isDirectory()) {
20
23
  throw new Error("Requested path is not a directory");
21
24
  }
22
- const dirents = await fs.readdir(directoryPath, { withFileTypes: true });
25
+ const dirents = await fs.readdir(directoryPath.resolvedPath, { withFileTypes: true });
23
26
  const entriesWithNulls = await Promise.all(dirents.map(async (dirent) => {
24
- const targetPath = path.join(directoryPath, dirent.name);
27
+ const targetPath = path.join(directoryPath.requestedPath, dirent.name);
25
28
  const kind = dirent.isDirectory() ? "directory" : "file";
26
29
  try {
27
30
  return await buildEntryPayload({
@@ -34,7 +37,7 @@ export async function listDirectoryEntries({ root, relativePath = ".", }) {
34
37
  catch (error) {
35
38
  // Directories can contain dangling links (e.g. AGENTS.md -> CLAUDE.md).
36
39
  // Skip entries whose targets disappeared instead of failing the whole listing.
37
- if (isMissingEntryError(error)) {
40
+ if (isMissingEntryError(error) || isOutsideWorkspaceError(error)) {
38
41
  return null;
39
42
  }
40
43
  throw error;
@@ -49,7 +52,7 @@ export async function listDirectoryEntries({ root, relativePath = ".", }) {
49
52
  return a.name.localeCompare(b.name);
50
53
  });
51
54
  return {
52
- path: normalizeRelativePath({ root, targetPath: directoryPath }),
55
+ path: normalizeRelativePath({ root, targetPath: directoryPath.requestedPath }),
53
56
  entries,
54
57
  };
55
58
  }
@@ -88,103 +91,114 @@ export async function readExplorerFile({ root, relativePath, }) {
88
91
  }
89
92
  export async function readExplorerFileBytes({ root, relativePath, }) {
90
93
  const filePath = await resolveScopedPath({ root, relativePath });
91
- const stats = await fs.stat(filePath);
92
- if (!stats.isFile()) {
93
- throw new Error("Requested path is not a file");
94
- }
95
- const ext = path.extname(filePath).toLowerCase();
96
- const basePayload = {
97
- path: normalizeRelativePath({ root, targetPath: filePath }),
98
- size: stats.size,
99
- modifiedAt: stats.mtime.toISOString(),
100
- };
101
- if (ext in IMAGE_MIME_TYPES) {
102
- const buffer = await fs.readFile(filePath);
103
- return {
104
- ...basePayload,
105
- kind: "image",
106
- encoding: "binary",
107
- bytes: buffer,
108
- mimeType: IMAGE_MIME_TYPES[ext],
94
+ const handle = await openFileForRead(filePath.resolvedPath);
95
+ try {
96
+ const stats = await handle.stat();
97
+ if (!stats.isFile()) {
98
+ throw new Error("Requested path is not a file");
99
+ }
100
+ const ext = path.extname(filePath.resolvedPath).toLowerCase();
101
+ const basePayload = {
102
+ path: normalizeRelativePath({ root, targetPath: filePath.requestedPath }),
103
+ size: stats.size,
104
+ modifiedAt: stats.mtime.toISOString(),
109
105
  };
110
- }
111
- const buffer = await fs.readFile(filePath);
112
- if (isLikelyBinary(buffer)) {
106
+ const buffer = await handle.readFile();
107
+ if (ext in IMAGE_MIME_TYPES) {
108
+ return {
109
+ ...basePayload,
110
+ kind: "image",
111
+ encoding: "binary",
112
+ bytes: buffer,
113
+ mimeType: IMAGE_MIME_TYPES[ext],
114
+ };
115
+ }
116
+ if (isLikelyBinary(buffer)) {
117
+ return {
118
+ ...basePayload,
119
+ kind: "binary",
120
+ encoding: "binary",
121
+ bytes: buffer,
122
+ mimeType: "application/octet-stream",
123
+ };
124
+ }
113
125
  return {
114
126
  ...basePayload,
115
- kind: "binary",
116
- encoding: "binary",
127
+ kind: "text",
128
+ encoding: "utf-8",
117
129
  bytes: buffer,
118
- mimeType: "application/octet-stream",
130
+ mimeType: textMimeTypeForExtension(ext),
119
131
  };
120
132
  }
121
- return {
122
- ...basePayload,
123
- kind: "text",
124
- encoding: "utf-8",
125
- bytes: buffer,
126
- mimeType: textMimeTypeForExtension(ext),
127
- };
133
+ finally {
134
+ await handle.close();
135
+ }
128
136
  }
129
137
  export async function getDownloadableFileInfo({ root, relativePath }) {
130
138
  const filePath = await resolveScopedPath({ root, relativePath });
131
- const stats = await fs.stat(filePath);
132
- if (!stats.isFile()) {
133
- throw new Error("Requested path is not a file");
134
- }
135
- const ext = path.extname(filePath).toLowerCase();
136
- let mimeType = "application/octet-stream";
137
- if (ext in IMAGE_MIME_TYPES) {
138
- mimeType = IMAGE_MIME_TYPES[ext];
139
- }
140
- else {
141
- // Read only a small prefix to classify likely text vs binary.
142
- const handle = await fs.open(filePath, "r");
143
- const sample = Buffer.alloc(8192);
144
- try {
139
+ const handle = await openFileForRead(filePath.resolvedPath);
140
+ try {
141
+ const stats = await handle.stat();
142
+ if (!stats.isFile()) {
143
+ throw new Error("Requested path is not a file");
144
+ }
145
+ const ext = path.extname(filePath.resolvedPath).toLowerCase();
146
+ let mimeType = "application/octet-stream";
147
+ if (ext in IMAGE_MIME_TYPES) {
148
+ mimeType = IMAGE_MIME_TYPES[ext];
149
+ }
150
+ else {
151
+ const sample = Buffer.alloc(FILE_TYPE_SAMPLE_BYTES);
145
152
  const { bytesRead } = await handle.read(sample, 0, sample.length, 0);
146
153
  const chunk = bytesRead < sample.length ? sample.subarray(0, bytesRead) : sample;
147
154
  if (!isLikelyBinary(chunk)) {
148
155
  mimeType = textMimeTypeForExtension(ext);
149
156
  }
150
157
  }
151
- finally {
152
- await handle.close();
153
- }
158
+ return {
159
+ path: normalizeRelativePath({ root, targetPath: filePath.requestedPath }),
160
+ absolutePath: filePath.resolvedPath,
161
+ fileName: path.basename(filePath.requestedPath),
162
+ mimeType,
163
+ size: stats.size,
164
+ };
165
+ }
166
+ finally {
167
+ await handle.close();
154
168
  }
155
- return {
156
- path: normalizeRelativePath({ root, targetPath: filePath }),
157
- absolutePath: filePath,
158
- fileName: path.basename(filePath),
159
- mimeType,
160
- size: stats.size,
161
- };
162
169
  }
163
- async function resolveScopedPath({ root, relativePath = "." }) {
170
+ async function resolveScopedPath({ root, relativePath = ".", }) {
164
171
  const normalizedRoot = path.resolve(root);
165
172
  const requestedPath = resolvePathFromBase(normalizedRoot, relativePath);
166
173
  const relative = path.relative(normalizedRoot, requestedPath);
167
174
  if (relative !== "" && (relative.startsWith("..") || path.isAbsolute(relative))) {
168
- throw new Error("Access outside of workspace is not allowed");
175
+ throw new Error(ACCESS_OUTSIDE_WORKSPACE_MESSAGE);
169
176
  }
170
177
  const realRoot = await fs.realpath(normalizedRoot);
171
178
  try {
172
179
  const realPath = await fs.realpath(requestedPath);
173
180
  const realRelative = path.relative(realRoot, realPath);
174
181
  if (realRelative !== "" && (realRelative.startsWith("..") || path.isAbsolute(realRelative))) {
175
- throw new Error("Access outside of workspace is not allowed");
182
+ throw new Error(ACCESS_OUTSIDE_WORKSPACE_MESSAGE);
176
183
  }
177
- return requestedPath;
184
+ return { requestedPath, resolvedPath: realPath };
178
185
  }
179
186
  catch (error) {
180
187
  if (isMissingEntryError(error)) {
181
- return requestedPath;
188
+ return { requestedPath, resolvedPath: requestedPath };
182
189
  }
183
190
  throw error;
184
191
  }
185
192
  }
193
+ async function openFileForRead(filePath) {
194
+ return fs.open(filePath, READ_FILE_OPEN_FLAGS);
195
+ }
186
196
  async function buildEntryPayload({ root, targetPath, name, kind, }) {
187
- const stats = await fs.stat(targetPath);
197
+ const entryPath = await resolveScopedPath({
198
+ root,
199
+ relativePath: normalizeRelativePath({ root, targetPath }),
200
+ });
201
+ const stats = await fs.stat(entryPath.resolvedPath);
188
202
  return {
189
203
  name,
190
204
  path: normalizeRelativePath({ root, targetPath }),
@@ -197,6 +211,9 @@ function isMissingEntryError(error) {
197
211
  const code = error?.code;
198
212
  return code === "ENOENT" || code === "ENOTDIR" || code === "ELOOP";
199
213
  }
214
+ function isOutsideWorkspaceError(error) {
215
+ return error instanceof Error && error.message === ACCESS_OUTSIDE_WORKSPACE_MESSAGE;
216
+ }
200
217
  function normalizeRelativePath({ root, targetPath }) {
201
218
  const normalizedRoot = path.resolve(root);
202
219
  const normalizedTarget = path.resolve(targetPath);
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/server/file-explorer/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/server/file-explorer/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type pino from "pino";
2
+ import { type PushPayload } from "./push-service.js";
3
+ import type { PushTokenStore } from "./token-store.js";
4
+ export type { PushPayload };
5
+ export interface PushNotificationSender {
6
+ send(payload: PushPayload): Promise<void>;
7
+ }
8
+ export declare function createPushNotificationSender(logger: pino.Logger, tokenStore: PushTokenStore): PushNotificationSender;
9
+ //# sourceMappingURL=notifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../../../src/server/push/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,UAAU,EAAE,cAAc,GACzB,sBAAsB,CAcxB"}
@@ -0,0 +1,15 @@
1
+ import { PushService } from "./push-service.js";
2
+ export function createPushNotificationSender(logger, tokenStore) {
3
+ const pushService = new PushService(logger, tokenStore);
4
+ return {
5
+ async send(payload) {
6
+ const tokens = tokenStore.getAllTokens();
7
+ logger.info({ tokenCount: tokens.length }, "Sending push notification");
8
+ if (tokens.length === 0) {
9
+ return;
10
+ }
11
+ await pushService.sendPush(tokens, payload);
12
+ },
13
+ };
14
+ }
15
+ //# sourceMappingURL=notifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../../../src/server/push/notifications.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAoB,MAAM,mBAAmB,CAAC;AASlE,MAAM,UAAU,4BAA4B,CAC1C,MAAmB,EACnB,UAA0B;IAE1B,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAExD,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,OAAO;YAChB,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,2BAA2B,CAAC,CAAC;YACxE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,MAAM,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { PushTokenStore } from "./token-store.js";
2
2
  import type pino from "pino";
3
- interface PushPayload {
3
+ export interface PushPayload {
4
4
  title: string;
5
5
  body: string;
6
6
  data?: Record<string, unknown>;
@@ -17,5 +17,4 @@ export declare class PushService {
17
17
  private sendBatch;
18
18
  private handleTickets;
19
19
  }
20
- export {};
21
20
  //# sourceMappingURL=push-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"push-service.d.ts","sourceRoot":"","sources":["../../../../src/server/push/push-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAoBD;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;gBAEhC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc;IAKrD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAsBvD,SAAS;IA0BvB,OAAO,CAAC,aAAa;CAqBtB"}
1
+ {"version":3,"file":"push-service.d.ts","sourceRoot":"","sources":["../../../../src/server/push/push-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAoBD;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;gBAEhC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc;IAKrD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAsBvD,SAAS;IA0BvB,OAAO,CAAC,aAAa;CAqBtB"}
@@ -8,6 +8,7 @@ interface RelayTransportOptions {
8
8
  relayUseTls: boolean;
9
9
  serverId: string;
10
10
  daemonKeyPair?: KeyPair;
11
+ createWebSocket?: RelayWebSocketFactory;
11
12
  }
12
13
  export interface RelayTransportController {
13
14
  stop: () => Promise<void>;
@@ -19,6 +20,11 @@ interface RelaySocketLike {
19
20
  on: (event: "message" | "close" | "error", listener: (...args: unknown[]) => void) => void;
20
21
  once: (event: "close" | "error", listener: (...args: unknown[]) => void) => void;
21
22
  }
22
- export declare function startRelayTransport({ logger, attachSocket, relayEndpoint, relayUseTls, serverId, daemonKeyPair, }: RelayTransportOptions): RelayTransportController;
23
+ interface RelayWebSocketLike extends RelaySocketLike {
24
+ terminate: () => void;
25
+ on: (event: "open" | "message" | "close" | "error", listener: (...args: unknown[]) => void) => void;
26
+ }
27
+ type RelayWebSocketFactory = (url: string) => RelayWebSocketLike;
28
+ export declare function startRelayTransport({ logger, attachSocket, relayEndpoint, relayUseTls, serverId, daemonKeyPair, createWebSocket, }: RelayTransportOptions): RelayTransportController;
23
29
  export {};
24
30
  //# sourceMappingURL=relay-transport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"relay-transport.d.ts","sourceRoot":"","sources":["../../../src/server/relay-transport.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,UAAU,qBAAqB;IAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,YAAY,EAAE,CAAC,EAAE,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,UAAU,eAAe;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,KAAK,IAAI,CAAC;IACxD,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC;IAC3F,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC;CAClF;AAqED,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,YAAY,EACZ,aAAa,EACb,WAAW,EACX,QAAQ,EACR,aAAa,GACd,EAAE,qBAAqB,GAAG,wBAAwB,CAgSlD"}
1
+ {"version":3,"file":"relay-transport.d.ts","sourceRoot":"","sources":["../../../src/server/relay-transport.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,UAAU,qBAAqB;IAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,YAAY,EAAE,CAAC,EAAE,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,UAAU,eAAe;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,KAAK,IAAI,CAAC;IACxD,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC;IAC3F,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC;CAClF;AAED,UAAU,kBAAmB,SAAQ,eAAe;IAClD,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,EAAE,EAAE,CACF,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,EAC7C,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,KACnC,IAAI,CAAC;CACX;AAED,KAAK,qBAAqB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,kBAAkB,CAAC;AA0EjE,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,YAAY,EACZ,aAAa,EACb,WAAW,EACX,QAAQ,EACR,aAAa,EACb,eAA6C,GAC9C,EAAE,qBAAqB,GAAG,wBAAwB,CAgSlD"}
@@ -6,6 +6,10 @@ import { buildRelayWebSocketUrl } from "../shared/daemon-endpoints.js";
6
6
  const CONTROL_PING_INTERVAL_MS = 10000;
7
7
  const CONTROL_STALE_TIMEOUT_MS = 30000;
8
8
  const CONTROL_READY_TIMEOUT_MS = 8000;
9
+ const RELAY_WEBSOCKET_OPTIONS = { handshakeTimeout: 10000, perMessageDeflate: false };
10
+ function createDefaultRelayWebSocket(url) {
11
+ return new WebSocket(url, RELAY_WEBSOCKET_OPTIONS);
12
+ }
9
13
  function normalizeRelaySendPayload(data) {
10
14
  if (typeof data === "string")
11
15
  return data;
@@ -61,7 +65,7 @@ function tryParseControlMessage(raw) {
61
65
  return null;
62
66
  }
63
67
  }
64
- export function startRelayTransport({ logger, attachSocket, relayEndpoint, relayUseTls, serverId, daemonKeyPair, }) {
68
+ export function startRelayTransport({ logger, attachSocket, relayEndpoint, relayUseTls, serverId, daemonKeyPair, createWebSocket = createDefaultRelayWebSocket, }) {
65
69
  const relayLogger = logger.child({ module: "relay-transport" });
66
70
  let stopped = false;
67
71
  let controlWs = null;
@@ -115,7 +119,7 @@ export function startRelayTransport({ logger, attachSocket, relayEndpoint, relay
115
119
  serverId,
116
120
  role: "server",
117
121
  });
118
- const socket = new WebSocket(url, { handshakeTimeout: 10000, perMessageDeflate: false });
122
+ const socket = createWebSocket(url);
119
123
  controlWs = socket;
120
124
  let controlConnected = false;
121
125
  const markControlReady = () => {
@@ -298,7 +302,7 @@ export function startRelayTransport({ logger, attachSocket, relayEndpoint, relay
298
302
  role: "server",
299
303
  connectionId,
300
304
  });
301
- const socket = new WebSocket(url, { handshakeTimeout: 10000, perMessageDeflate: false });
305
+ const socket = createWebSocket(url);
302
306
  dataSockets.set(connectionId, socket);
303
307
  let attached = false;
304
308
  const openTimeout = setTimeout(() => {
@@ -389,10 +393,11 @@ function createRelayTransportAdapter(socket, logger) {
389
393
  onerror: null,
390
394
  };
391
395
  socket.on("message", (data, isBinary) => {
392
- relayTransport.onmessage?.(normalizeMessageData(data, isBinary));
396
+ relayTransport.onmessage?.(normalizeMessageData(data, isBinary === true));
393
397
  });
394
398
  socket.on("close", (code, reason) => {
395
- relayTransport.onclose?.(code, reason.toString());
399
+ const closeCode = typeof code === "number" ? code : 1006;
400
+ relayTransport.onclose?.(closeCode, String(reason ?? ""));
396
401
  });
397
402
  socket.on("error", (err) => {
398
403
  relayTransport.onerror?.(err instanceof Error ? err : new Error(String(err)));