ssh-mcp-pro 1.5.0 → 1.6.0

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 (91) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/MIGRATION.md +1 -1
  3. package/README.md +1 -1
  4. package/dist/agent-bin.js +2 -2
  5. package/dist/agent-bin.js.map +1 -1
  6. package/dist/mcp.d.ts +1 -1
  7. package/dist/mcp.js +1 -1
  8. package/dist/remote/action-record-sanitize.d.ts +4 -0
  9. package/dist/remote/action-record-sanitize.d.ts.map +1 -0
  10. package/dist/remote/action-record-sanitize.js +11 -0
  11. package/dist/remote/action-record-sanitize.js.map +1 -0
  12. package/dist/remote/agent-bounded-io.d.ts +10 -0
  13. package/dist/remote/agent-bounded-io.d.ts.map +1 -1
  14. package/dist/remote/agent-bounded-io.js +34 -0
  15. package/dist/remote/agent-bounded-io.js.map +1 -1
  16. package/dist/remote/agent-browser-enrollment.d.ts +16 -0
  17. package/dist/remote/agent-browser-enrollment.d.ts.map +1 -0
  18. package/dist/remote/agent-browser-enrollment.js +190 -0
  19. package/dist/remote/agent-browser-enrollment.js.map +1 -0
  20. package/dist/remote/agent-cli.d.ts +5 -0
  21. package/dist/remote/agent-cli.d.ts.map +1 -1
  22. package/dist/remote/agent-cli.js +91 -14
  23. package/dist/remote/agent-cli.js.map +1 -1
  24. package/dist/remote/agent-content-search.d.ts +20 -0
  25. package/dist/remote/agent-content-search.d.ts.map +1 -0
  26. package/dist/remote/agent-content-search.js +61 -0
  27. package/dist/remote/agent-content-search.js.map +1 -0
  28. package/dist/remote/agent-executor.d.ts +5 -0
  29. package/dist/remote/agent-executor.d.ts.map +1 -1
  30. package/dist/remote/agent-executor.js +98 -10
  31. package/dist/remote/agent-executor.js.map +1 -1
  32. package/dist/remote/agent-file-search.d.ts +22 -0
  33. package/dist/remote/agent-file-search.d.ts.map +1 -0
  34. package/dist/remote/agent-file-search.js +243 -0
  35. package/dist/remote/agent-file-search.js.map +1 -0
  36. package/dist/remote/agent-managed-process.d.ts +43 -0
  37. package/dist/remote/agent-managed-process.d.ts.map +1 -0
  38. package/dist/remote/agent-managed-process.js +291 -0
  39. package/dist/remote/agent-managed-process.js.map +1 -0
  40. package/dist/remote/control-plane.d.ts.map +1 -1
  41. package/dist/remote/control-plane.js +2 -1
  42. package/dist/remote/control-plane.js.map +1 -1
  43. package/dist/remote/dashboard-enrollment-commands.d.ts +1 -0
  44. package/dist/remote/dashboard-enrollment-commands.d.ts.map +1 -1
  45. package/dist/remote/dashboard-enrollment-commands.js +8 -0
  46. package/dist/remote/dashboard-enrollment-commands.js.map +1 -1
  47. package/dist/remote/dashboard-enrollment-feedback-script.d.ts +3 -0
  48. package/dist/remote/dashboard-enrollment-feedback-script.d.ts.map +1 -0
  49. package/dist/remote/dashboard-enrollment-feedback-script.js +227 -0
  50. package/dist/remote/dashboard-enrollment-feedback-script.js.map +1 -0
  51. package/dist/remote/mcp-tools.d.ts +1 -0
  52. package/dist/remote/mcp-tools.d.ts.map +1 -1
  53. package/dist/remote/mcp-tools.js +207 -3
  54. package/dist/remote/mcp-tools.js.map +1 -1
  55. package/dist/remote/safe-file.d.ts +19 -1
  56. package/dist/remote/safe-file.d.ts.map +1 -1
  57. package/dist/remote/safe-file.js +77 -3
  58. package/dist/remote/safe-file.js.map +1 -1
  59. package/dist/remote/schemas.d.ts +16 -0
  60. package/dist/remote/schemas.d.ts.map +1 -1
  61. package/dist/remote/schemas.js +1 -0
  62. package/dist/remote/schemas.js.map +1 -1
  63. package/dist/remote/store.d.ts +2 -3
  64. package/dist/remote/store.d.ts.map +1 -1
  65. package/dist/remote/store.js +15 -3
  66. package/dist/remote/store.js.map +1 -1
  67. package/dist/remote/types.d.ts +3 -2
  68. package/dist/remote/types.d.ts.map +1 -1
  69. package/dist/remote/types.js +15 -0
  70. package/dist/remote/types.js.map +1 -1
  71. package/dist/remote/web-dashboard-html.d.ts.map +1 -1
  72. package/dist/remote/web-dashboard-html.js +25 -27
  73. package/dist/remote/web-dashboard-html.js.map +1 -1
  74. package/dist/remote/web-dashboard-styles.d.ts +1 -1
  75. package/dist/remote/web-dashboard-styles.d.ts.map +1 -1
  76. package/dist/remote/web-dashboard-styles.js +2 -0
  77. package/dist/remote/web-dashboard-styles.js.map +1 -1
  78. package/dist/remote/web-dashboard.d.ts.map +1 -1
  79. package/dist/remote/web-dashboard.js +9 -2
  80. package/dist/remote/web-dashboard.js.map +1 -1
  81. package/dist/types.d.ts +1 -1
  82. package/docs/adding-a-device.md +187 -11
  83. package/docs/backup-restore-verification.md +45 -0
  84. package/docs/coolify.md +9 -0
  85. package/docs/development/local-setup.md +1 -1
  86. package/docs/reference/compatibility.md +1 -1
  87. package/docs/tutorials/getting-started.md +1 -1
  88. package/mcp.json +1 -1
  89. package/package.json +2 -2
  90. package/registry/ssh-mcp-pro/mcp.json +1 -1
  91. package/server.json +3 -3
@@ -9,6 +9,61 @@ const limitSchema = {
9
9
  maximum: 200,
10
10
  default: 50,
11
11
  };
12
+ // Every hosted MCP tool returns structuredContent. Exposing the actual
13
+ // top-level result shape helps clients validate responses and plan follow-up
14
+ // calls without assuming an arbitrary JSON blob.
15
+ const ACTION_OUTPUT_SCHEMA = {
16
+ type: "object",
17
+ properties: { action: { type: "object" } },
18
+ required: ["action"],
19
+ };
20
+ const REMOTE_OUTPUT_SCHEMAS = {
21
+ list_hosts: {
22
+ type: "object",
23
+ properties: { hosts: { type: "array", items: { type: "object" } } },
24
+ required: ["hosts"],
25
+ },
26
+ list_agents: {
27
+ type: "object",
28
+ properties: { agents: { type: "array", items: { type: "object" } } },
29
+ required: ["agents"],
30
+ },
31
+ create_enrollment_token: {
32
+ type: "object",
33
+ properties: {
34
+ agent_id: { type: "string" },
35
+ alias: { type: "string" },
36
+ commands: { type: "object" },
37
+ enrollment_token: { type: "string" },
38
+ },
39
+ required: ["agent_id", "alias", "commands", "enrollment_token"],
40
+ },
41
+ get_agent_install_command: {
42
+ type: "object",
43
+ properties: {
44
+ agent_id: { type: "string" },
45
+ alias: { type: "string" },
46
+ commands: { type: "object" },
47
+ token_recoverable: { type: "boolean" },
48
+ },
49
+ required: ["agent_id", "alias", "commands", "token_recoverable"],
50
+ },
51
+ update_agent_policy: {
52
+ type: "object",
53
+ properties: { agent: { type: "object" } },
54
+ required: ["agent"],
55
+ },
56
+ revoke_agent: {
57
+ type: "object",
58
+ properties: { agent: { type: "object" } },
59
+ required: ["agent"],
60
+ },
61
+ get_audit_events: {
62
+ type: "object",
63
+ properties: { events: { type: "array", items: { type: "object" } } },
64
+ required: ["events"],
65
+ },
66
+ };
12
67
  const descriptors = {
13
68
  list_hosts: {
14
69
  description: "List enrolled host aliases available through outbound agents.",
@@ -106,12 +161,76 @@ const descriptors = {
106
161
  additionalProperties: false,
107
162
  },
108
163
  },
164
+ file_search: {
165
+ description: "Find file names in locally allowed folders without reading file contents. Optional root_path narrows the search; results and scan depth are bounded.",
166
+ inputSchema: {
167
+ type: "object",
168
+ required: ["agent_id_or_alias", "name_pattern"],
169
+ properties: {
170
+ agent_id_or_alias: agentSelector,
171
+ name_pattern: {
172
+ type: "string",
173
+ minLength: 1,
174
+ maxLength: 100,
175
+ description: "Case-insensitive name fragment or * / ? wildcard pattern; cannot contain directory separators.",
176
+ },
177
+ root_path: {
178
+ type: "string",
179
+ minLength: 1,
180
+ description: "Optional allowed folder. Omit to search all policy-allowed roots.",
181
+ },
182
+ max_depth: { type: "integer", minimum: 0, maximum: 5, default: 3 },
183
+ max_results: { type: "integer", minimum: 1, maximum: 50, default: 20 },
184
+ include_hidden: { type: "boolean", default: false },
185
+ },
186
+ additionalProperties: false,
187
+ },
188
+ },
189
+ file_content_search: {
190
+ description: "Find which allowed text files contain a literal phrase, with the first matching line and short snippet. " +
191
+ "Defaults to all names; optional name_pattern narrows files. Case-insensitive by default. " +
192
+ "Only scans up to 128 text files (128 KiB each); returns truncated when scan/output limits apply.",
193
+ inputSchema: {
194
+ type: "object",
195
+ required: ["agent_id_or_alias", "query"],
196
+ properties: {
197
+ agent_id_or_alias: agentSelector,
198
+ query: {
199
+ type: "string",
200
+ minLength: 1,
201
+ maxLength: 200,
202
+ description: "Single-line literal text to find (not a regex).",
203
+ },
204
+ name_pattern: {
205
+ type: "string",
206
+ minLength: 1,
207
+ maxLength: 100,
208
+ description: "Optional filename fragment or * / ? wildcard; defaults to *.",
209
+ },
210
+ root_path: {
211
+ type: "string",
212
+ minLength: 1,
213
+ description: "Optional allowed folder. Omit to search all locally approved roots.",
214
+ },
215
+ max_depth: { type: "integer", minimum: 0, maximum: 5, default: 3 },
216
+ max_results: { type: "integer", minimum: 1, maximum: 50, default: 20 },
217
+ include_hidden: { type: "boolean", default: false },
218
+ case_sensitive: { type: "boolean", default: false },
219
+ },
220
+ additionalProperties: false,
221
+ },
222
+ },
109
223
  file_read: {
110
- description: "Read a bounded text file from an allowed path.",
224
+ description: "Read an allowed text file; optional byte offsets and limits page large files.",
111
225
  inputSchema: {
112
226
  type: "object",
113
227
  required: ["agent_id_or_alias", "path"],
114
- properties: { agent_id_or_alias: agentSelector, path: { type: "string", minLength: 1 } },
228
+ properties: {
229
+ agent_id_or_alias: agentSelector,
230
+ path: { type: "string", minLength: 1 },
231
+ offset_bytes: { type: "integer", minimum: 0, maximum: 2147483647 },
232
+ max_bytes: { type: "integer", minimum: 4, maximum: 1048576 },
233
+ },
115
234
  additionalProperties: false,
116
235
  },
117
236
  },
@@ -129,6 +248,22 @@ const descriptors = {
129
248
  additionalProperties: false,
130
249
  },
131
250
  },
251
+ file_replace: {
252
+ description: "Preview or apply one exact text replacement in an allowed existing file. Preview first (default); apply requires expected_sha256 from preview. Both files.read and files.write must be granted.",
253
+ inputSchema: {
254
+ type: "object",
255
+ required: ["agent_id_or_alias", "path", "old_text", "new_text"],
256
+ properties: {
257
+ agent_id_or_alias: agentSelector,
258
+ path: { type: "string", minLength: 1 },
259
+ old_text: { type: "string", minLength: 1, maxLength: 20000 },
260
+ new_text: { type: "string", maxLength: 20000 },
261
+ dry_run: { type: "boolean", default: true },
262
+ expected_sha256: { type: "string", pattern: "^[a-f0-9]{64}$" },
263
+ },
264
+ additionalProperties: false,
265
+ },
266
+ },
132
267
  run_shell: {
133
268
  description: "Run a bounded shell command. Disabled unless shell.exec is explicitly granted.",
134
269
  inputSchema: {
@@ -143,6 +278,60 @@ const descriptors = {
143
278
  additionalProperties: false,
144
279
  },
145
280
  },
281
+ process_start: {
282
+ description: "Start a bounded interactive shell process on an enrolled agent. Use process_read to view output and process_stop to cancel. Requires shell.exec.",
283
+ inputSchema: {
284
+ type: "object",
285
+ required: ["agent_id_or_alias", "command"],
286
+ properties: {
287
+ agent_id_or_alias: agentSelector,
288
+ command: { type: "string", minLength: 1, maxLength: 4096 },
289
+ cwd: { type: "string", minLength: 1 },
290
+ max_runtime_seconds: { type: "integer", minimum: 1, maximum: 600, default: 300 },
291
+ },
292
+ additionalProperties: false,
293
+ },
294
+ },
295
+ process_read: {
296
+ description: "Read cursor-paged output and status for a managed shell process owned by the current user.",
297
+ inputSchema: {
298
+ type: "object",
299
+ required: ["agent_id_or_alias", "process_id"],
300
+ properties: {
301
+ agent_id_or_alias: agentSelector,
302
+ process_id: { type: "string", minLength: 1 },
303
+ cursor: { type: "integer", minimum: 0, default: 0 },
304
+ max_bytes: { type: "integer", minimum: 1024, maximum: 32768, default: 8192 },
305
+ },
306
+ additionalProperties: false,
307
+ },
308
+ },
309
+ process_input: {
310
+ description: "Send limited text to stdin of a running shell process owned by the current user.",
311
+ inputSchema: {
312
+ type: "object",
313
+ required: ["agent_id_or_alias", "process_id", "input"],
314
+ properties: {
315
+ agent_id_or_alias: agentSelector,
316
+ process_id: { type: "string", minLength: 1 },
317
+ input: { type: "string", maxLength: 4096 },
318
+ close_stdin: { type: "boolean", default: false },
319
+ },
320
+ additionalProperties: false,
321
+ },
322
+ },
323
+ process_stop: {
324
+ description: "Terminate a managed shell process owned by the current user.",
325
+ inputSchema: {
326
+ type: "object",
327
+ required: ["agent_id_or_alias", "process_id"],
328
+ properties: {
329
+ agent_id_or_alias: agentSelector,
330
+ process_id: { type: "string", minLength: 1 },
331
+ },
332
+ additionalProperties: false,
333
+ },
334
+ },
146
335
  run_shell_as_root: {
147
336
  description: "Run a bounded privileged command. Disabled unless sudo.exec is explicitly granted.",
148
337
  inputSchema: {
@@ -198,13 +387,26 @@ const READ_ONLY_REMOTE_TOOLS = new Set([
198
387
  "tail_logs",
199
388
  "docker_ps",
200
389
  "docker_logs",
390
+ "file_search",
391
+ "file_content_search",
201
392
  "file_read",
393
+ "process_read",
202
394
  "get_audit_events",
203
395
  ]);
396
+ // These hints communicate potential impact to AI clients, not the permission
397
+ // decision. Arbitrary shell commands and administrative enrollment/policy
398
+ // changes can mutate state even when an individual invocation does not.
204
399
  const DESTRUCTIVE_REMOTE_TOOLS = new Set([
400
+ "create_enrollment_token",
401
+ "run_shell",
402
+ "process_start",
403
+ "process_input",
404
+ "process_stop",
205
405
  "run_shell_as_root",
406
+ "update_agent_policy",
206
407
  "revoke_agent",
207
408
  "file_write",
409
+ "file_replace",
208
410
  "restart_service",
209
411
  "docker_restart",
210
412
  ]);
@@ -219,9 +421,11 @@ export function remoteToolAnnotations(name) {
219
421
  }
220
422
  export function listRemoteToolDescriptors(capabilities) {
221
423
  const allowed = new Set(capabilities);
222
- return REMOTE_TOOLS.filter((name) => allowed.has(TOOL_CAPABILITY_MAP[name])).map((name) => ({
424
+ return REMOTE_TOOLS.filter((name) => allowed.has(TOOL_CAPABILITY_MAP[name]) &&
425
+ (name !== "file_replace" || allowed.has("files.read"))).map((name) => ({
223
426
  name,
224
427
  capability: TOOL_CAPABILITY_MAP[name],
428
+ outputSchema: REMOTE_OUTPUT_SCHEMAS[name] ?? ACTION_OUTPUT_SCHEMA,
225
429
  annotations: remoteToolAnnotations(name),
226
430
  ...descriptors[name],
227
431
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tools.js","sourceRoot":"","sources":["../../src/remote/mcp-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-tools.js","sourceRoot":"","sources":["../../src/remote/mcp-tools.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,23 @@ import type { FileHandle } from "node:fs/promises";
2
2
  import type { AgentPolicy } from "./types.js";
3
3
  export declare function withAuthorizedRead<T>(policy: AgentPolicy, requestedPath: string, denialMessage: string, operationMessage: string, operation: (file: FileHandle) => Promise<T>): Promise<T>;
4
4
  /** Stage verified writes in the destination directory before atomic replacement. */
5
- export declare function writeAuthorizedFileAtomic(policy: AgentPolicy, requestedPath: string, content: string, denialMessage: string, operationMessage: string): Promise<void>;
5
+ export declare function writeAuthorizedFileAtomic(policy: AgentPolicy, requestedPath: string, content: string, denialMessage: string, operationMessage: string, expectedSha256?: string): Promise<void>;
6
+ export interface SafeTextReplacement {
7
+ path: string;
8
+ oldText: string;
9
+ newText: string;
10
+ dryRun: unknown;
11
+ expectedSha256?: string | undefined;
12
+ }
13
+ /**
14
+ * Exact, one-occurrence text editing. Dry run is the default.
15
+ * The expected digest is checked again immediately before the staged
16
+ * replacement is renamed; this is optimistic concurrency, not a kernel CAS.
17
+ */
18
+ export declare function replaceAuthorizedText(policy: AgentPolicy, input: SafeTextReplacement): Promise<{
19
+ applied: boolean;
20
+ before_sha256: string;
21
+ after_sha256: string;
22
+ diff: string;
23
+ }>;
6
24
  //# sourceMappingURL=safe-file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"safe-file.d.ts","sourceRoot":"","sources":["../../src/remote/safe-file.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;AA0J/D,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GAC1C,OAAO,CAAC,CAAC,CAAC,CAcZ;AAED,oFAAoF;AACpF,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CA8Df"}
1
+ {"version":3,"file":"safe-file.d.ts","sourceRoot":"","sources":["../../src/remote/safe-file.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;AA0J/D,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GAC1C,OAAO,CAAC,CAAC,CAAC,CAcZ;AA4BD,oFAAoF;AACpF,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CA+Df;AAKD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAyED"}
@@ -1,5 +1,5 @@
1
1
  import { constants } from "node:fs";
2
- import { randomUUID } from "node:crypto";
2
+ import { randomUUID, createHash } from "node:crypto";
3
3
  import { open, realpath, rename, stat, unlink } from "node:fs/promises";
4
4
  import path from "node:path";
5
5
  import { isPathAllowed } from "./policy.js";
@@ -133,8 +133,18 @@ export async function withAuthorizedRead(policy, requestedPath, denialMessage, o
133
133
  await closeQuietly(authorized.file);
134
134
  }
135
135
  }
136
+ async function verifyExpectedFileDigest(policy, target, expectedSha256, denialMessage, operationMessage) {
137
+ if (expectedSha256 === undefined)
138
+ return;
139
+ const currentSha = await withAuthorizedRead(policy, target, denialMessage, operationMessage, async (file) => createHash("sha256")
140
+ .update(await file.readFile())
141
+ .digest("hex"));
142
+ if (currentSha !== expectedSha256) {
143
+ throw codedError("File changed since preview; inspect it again before replacing", "FILE_CONFLICT");
144
+ }
145
+ }
136
146
  /** Stage verified writes in the destination directory before atomic replacement. */
137
- export async function writeAuthorizedFileAtomic(policy, requestedPath, content, denialMessage, operationMessage) {
147
+ export async function writeAuthorizedFileAtomic(policy, requestedPath, content, denialMessage, operationMessage, expectedSha256) {
138
148
  assertRequestedPath(policy, requestedPath, denialMessage);
139
149
  let target;
140
150
  let mode = OWNER_READ_WRITE;
@@ -172,13 +182,14 @@ export async function writeAuthorizedFileAtomic(policy, requestedPath, content,
172
182
  await temporary.sync();
173
183
  await temporary.close();
174
184
  temporary = undefined;
185
+ await verifyExpectedFileDigest(policy, target, expectedSha256, denialMessage, operationMessage);
175
186
  await rename(temporaryPath, path.join(anchor, leaf));
176
187
  temporaryPath = undefined;
177
188
  if (parent)
178
189
  await parent.sync();
179
190
  }
180
191
  catch (error) {
181
- if (errorCode(error) === "POLICY_DENIED")
192
+ if (errorCode(error) === "POLICY_DENIED" || errorCode(error) === "FILE_CONFLICT")
182
193
  throw error;
183
194
  throw operationFailed(operationMessage);
184
195
  }
@@ -189,4 +200,67 @@ export async function writeAuthorizedFileAtomic(policy, requestedPath, content,
189
200
  await closeQuietly(parent);
190
201
  }
191
202
  }
203
+ const MAX_EDIT_FILE_BYTES = 1_048_576;
204
+ const MAX_EDIT_TEXT_BYTES = 20_000;
205
+ /**
206
+ * Exact, one-occurrence text editing. Dry run is the default.
207
+ * The expected digest is checked again immediately before the staged
208
+ * replacement is renamed; this is optimistic concurrency, not a kernel CAS.
209
+ */
210
+ export async function replaceAuthorizedText(policy, input) {
211
+ if (!input.oldText ||
212
+ input.oldText === input.newText ||
213
+ Buffer.byteLength(input.oldText, "utf8") > MAX_EDIT_TEXT_BYTES ||
214
+ Buffer.byteLength(input.newText, "utf8") > MAX_EDIT_TEXT_BYTES ||
215
+ typeof input.dryRun !== "boolean") {
216
+ throw policyDenied("Provide distinct, bounded old_text/new_text and boolean dry_run");
217
+ }
218
+ const sha256 = (value) => createHash("sha256").update(value).digest("hex");
219
+ const before = await withAuthorizedRead(policy, input.path, "Path is not allowed by local policy", "File edit preflight failed", async (file) => {
220
+ if ((await file.stat()).size > MAX_EDIT_FILE_BYTES)
221
+ throw new Error("File is too large to edit");
222
+ const bytes = await file.readFile();
223
+ if (bytes.length > MAX_EDIT_FILE_BYTES)
224
+ throw new Error("File grew while reading");
225
+ const content = bytes.toString("utf8");
226
+ if (!Buffer.from(content, "utf8").equals(bytes) || content.includes("\u0000")) {
227
+ throw new Error("Only valid UTF-8 text files can be edited");
228
+ }
229
+ return content;
230
+ });
231
+ const matches = before.split(input.oldText).length - 1;
232
+ if (matches !== 1) {
233
+ throw policyDenied("Expected exactly one old_text match; narrow the selection and retry");
234
+ }
235
+ const beforeSha = sha256(before);
236
+ const after = before.replace(input.oldText, input.newText);
237
+ if (Buffer.byteLength(after, "utf8") > MAX_EDIT_FILE_BYTES) {
238
+ throw policyDenied("Edited file would exceed the one-megabyte safety limit");
239
+ }
240
+ const afterSha = sha256(after);
241
+ const excerpt = (value) => value
242
+ .replaceAll("\r", String.raw `\r`)
243
+ .replaceAll("\n", String.raw `\n`)
244
+ .slice(0, 120);
245
+ const diff = `-${excerpt(input.oldText)}\n+${excerpt(input.newText)}`;
246
+ const response = {
247
+ applied: !input.dryRun,
248
+ before_sha256: beforeSha,
249
+ after_sha256: afterSha,
250
+ diff,
251
+ };
252
+ if (Buffer.byteLength(JSON.stringify(response), "utf8") > policy.maxOutputBytes) {
253
+ throw policyDenied("Agent output limit is too low for the edit preview");
254
+ }
255
+ if (!input.dryRun) {
256
+ if (!input.expectedSha256 || !/^[a-f0-9]{64}$/u.test(input.expectedSha256)) {
257
+ throw policyDenied("Applying changes requires expected_sha256 from the preview");
258
+ }
259
+ if (beforeSha !== input.expectedSha256) {
260
+ throw codedError("File changed since preview; inspect it again before replacing", "FILE_CONFLICT");
261
+ }
262
+ await writeAuthorizedFileAtomic(policy, input.path, after, "Path is not allowed by local policy", "File edit commit failed", beforeSha);
263
+ }
264
+ return response;
265
+ }
192
266
  //# sourceMappingURL=safe-file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"safe-file.js","sourceRoot":"","sources":["../../src/remote/safe-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"safe-file.js","sourceRoot":"","sources":["../../src/remote/safe-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAExE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAO5C,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACtF,MAAM,cAAc,GAAG,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;AAE/D,SAAS,UAAU,CAAC,OAAe,EAAE,IAAqB;IACxD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK;QAC1D,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,IAAI,CAAC;QAC5C,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CACvB,MAAwC,EACxC,QAA0C;IAE1C,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAA8B;IACxD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,+EAA+E;IACjF,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAmB,EAAE,aAAqB,EAAE,OAAe;IACtF,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;QAC5D,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,MAAkB,EAAE,YAAoB;IACzE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,MAAM,QAAQ,CAAC,iBAAiB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,MAAmB,EACnB,MAAkB,EAClB,YAAoB,EACpB,YAAkC,EAClC,OAAe;IAEf,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACnE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;YACvC,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1F,MAAM,WAAW,GAAG,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAC/F,IAAI,CAAC,WAAW,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC;YAClE,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,eAAe,EAAE,CAAC;YACzC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,MAAmB,EACnB,aAAqB,EACrB,OAAe;IAEf,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;YAC1C,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,eAAe,EAAE,CAAC;YACzC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,MAAmB,EACnB,aAAqB,EACrB,KAAa,EACb,OAAe;IAEf,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IACjF,IAAI,IAA4B,CAAC;IACjC,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;QACpD,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACvE,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,eAAe,EAAE,CAAC;YACzC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,MAAmB,EACnB,aAAqB,EACrB,OAAe;IAEf,IAAI,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC3C,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;QACxD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC;YAC5C,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,eAAe,EAAE,CAAC;YACzC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAmB,EACnB,aAAqB,EACrB,aAAqB,EACrB,gBAAwB,EACxB,SAA2C;IAE3C,MAAM,UAAU,GAAG,MAAM,gBAAgB,CACvC,MAAM,EACN,aAAa,EACb,SAAS,CAAC,QAAQ,EAClB,aAAa,CACd,CAAC;IACF,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,eAAe,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,MAAM,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,MAAmB,EACnB,MAAc,EACd,cAAkC,EAClC,aAAqB,EACrB,gBAAwB;IAExB,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO;IACzC,MAAM,UAAU,GAAG,MAAM,kBAAkB,CACzC,MAAM,EACN,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,KAAK,EAAE,IAAI,EAAE,EAAE,CACb,UAAU,CAAC,QAAQ,CAAC;SACjB,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;SAC7B,MAAM,CAAC,KAAK,CAAC,CACnB,CAAC;IACF,IAAI,UAAU,KAAK,cAAc,EAAE,CAAC;QAClC,MAAM,UAAU,CACd,+DAA+D,EAC/D,eAAe,CAChB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAmB,EACnB,aAAqB,EACrB,OAAe,EACf,aAAqB,EACrB,gBAAwB,EACxB,cAAuB;IAEvB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IAC1D,IAAI,MAAc,CAAC;IACnB,IAAI,IAAI,GAAG,gBAAgB,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CACrC,MAAM,EACN,aAAa,EACb,SAAS,CAAC,QAAQ,EAClB,aAAa,CACd,CAAC;QACF,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;QACnD,CAAC;gBAAS,CAAC;YACT,MAAM,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,SAAS,CAAC,KAAK,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,GAAG,aAAa,CAAC;IACzB,CAAC;IACD,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3F,IAAI,MAA8B,CAAC;IACnC,IAAI,SAAiC,CAAC;IACtC,IAAI,aAAiC,CAAC;IACtC,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,QAAQ,GAAG,cAAc,GAAG,SAAS,CAAC,CAAC;YACtF,MAAM,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,iBAAiB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;QACvE,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,UAAU,EAAE,MAAM,CAAC,CAAC;QAClE,SAAS,GAAG,MAAM,IAAI,CACpB,aAAa,EACb,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,EACrE,IAAI,CACL,CAAC;QACF,MAAM,kBAAkB,CACtB,MAAM,EACN,SAAS,EACT,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EACxD,MAAM,EACN,aAAa,CACd,CAAC;QACF,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QACxB,SAAS,GAAG,SAAS,CAAC;QACtB,MAAM,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAChG,MAAM,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACrD,aAAa,GAAG,SAAS,CAAC;QAC1B,IAAI,MAAM;YAAE,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,eAAe,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,eAAe;YAAE,MAAM,KAAK,CAAC;QAC9F,MAAM,eAAe,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,aAAa;YAAE,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACtE,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,MAAM,mBAAmB,GAAG,SAAS,CAAC;AACtC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAUnC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAmB,EACnB,KAA0B;IAO1B,IACE,CAAC,KAAK,CAAC,OAAO;QACd,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;QAC/B,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,mBAAmB;QAC9D,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,mBAAmB;QAC9D,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS,EACjC,CAAC;QACD,MAAM,YAAY,CAAC,iEAAiE,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,KAAsB,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5F,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACrC,MAAM,EACN,KAAK,CAAC,IAAI,EACV,qCAAqC,EACrC,4BAA4B,EAC5B,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,mBAAmB;YAChD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,GAAG,mBAAmB;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACnF,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CACF,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACvD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,MAAM,YAAY,CAAC,qEAAqE,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,mBAAmB,EAAE,CAAC;QAC3D,MAAM,YAAY,CAAC,wDAAwD,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE,CAChC,KAAK;SACF,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAA,IAAI,CAAC;SAChC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAA,IAAI,CAAC;SAChC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnB,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IACtE,MAAM,QAAQ,GAAG;QACf,OAAO,EAAE,CAAC,KAAK,CAAC,MAAM;QACtB,aAAa,EAAE,SAAS;QACxB,YAAY,EAAE,QAAQ;QACtB,IAAI;KACL,CAAC;IACF,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;QAChF,MAAM,YAAY,CAAC,oDAAoD,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;YAC3E,MAAM,YAAY,CAAC,4DAA4D,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,SAAS,KAAK,KAAK,CAAC,cAAc,EAAE,CAAC;YACvC,MAAM,UAAU,CACd,+DAA+D,EAC/D,eAAe,CAChB,CAAC;QACJ,CAAC;QACD,MAAM,yBAAyB,CAC7B,MAAM,EACN,KAAK,CAAC,IAAI,EACV,KAAK,EACL,qCAAqC,EACrC,yBAAyB,EACzB,SAAS,CACV,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -96,9 +96,16 @@ export declare const actionRequestEnvelopeSchema: z.ZodObject<{
96
96
  docker_ps: "docker_ps";
97
97
  docker_logs: "docker_logs";
98
98
  docker_restart: "docker_restart";
99
+ file_search: "file_search";
100
+ file_content_search: "file_content_search";
99
101
  file_read: "file_read";
100
102
  file_write: "file_write";
103
+ file_replace: "file_replace";
101
104
  run_shell: "run_shell";
105
+ process_start: "process_start";
106
+ process_read: "process_read";
107
+ process_input: "process_input";
108
+ process_stop: "process_stop";
102
109
  run_shell_as_root: "run_shell_as_root";
103
110
  update_agent_policy: "update_agent_policy";
104
111
  revoke_agent: "revoke_agent";
@@ -141,6 +148,7 @@ export declare const actionResultEnvelopeSchema: z.ZodObject<{
141
148
  started_at: z.ZodISODateTime;
142
149
  finished_at: z.ZodISODateTime;
143
150
  truncated: z.ZodBoolean;
151
+ next_offset_bytes: z.ZodOptional<z.ZodNumber>;
144
152
  error_code: z.ZodOptional<z.ZodEnum<{
145
153
  UNAUTHORIZED: "UNAUTHORIZED";
146
154
  FORBIDDEN: "FORBIDDEN";
@@ -160,6 +168,7 @@ export declare const actionResultEnvelopeSchema: z.ZodObject<{
160
168
  SIGNATURE_INVALID: "SIGNATURE_INVALID";
161
169
  COMMAND_TIMEOUT: "COMMAND_TIMEOUT";
162
170
  OUTPUT_TRUNCATED: "OUTPUT_TRUNCATED";
171
+ FILE_CONFLICT: "FILE_CONFLICT";
163
172
  UNSUPPORTED_PLATFORM: "UNSUPPORTED_PLATFORM";
164
173
  UNSUPPORTED_PLATFORM_OR_PRIVILEGE: "UNSUPPORTED_PLATFORM_OR_PRIVILEGE";
165
174
  INTERNAL_ERROR: "INTERNAL_ERROR";
@@ -221,9 +230,16 @@ export declare const controlPlaneEnvelopeSchema: z.ZodDiscriminatedUnion<[z.ZodO
221
230
  docker_ps: "docker_ps";
222
231
  docker_logs: "docker_logs";
223
232
  docker_restart: "docker_restart";
233
+ file_search: "file_search";
234
+ file_content_search: "file_content_search";
224
235
  file_read: "file_read";
225
236
  file_write: "file_write";
237
+ file_replace: "file_replace";
226
238
  run_shell: "run_shell";
239
+ process_start: "process_start";
240
+ process_read: "process_read";
241
+ process_input: "process_input";
242
+ process_stop: "process_stop";
227
243
  run_shell_as_root: "run_shell_as_root";
228
244
  update_agent_policy: "update_agent_policy";
229
245
  revoke_agent: "revoke_agent";
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/remote/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AAMpB,eAAO,MAAM,uBAAuB;;;;;kBAOzB,CAAC;AAMZ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;kBAA2C,CAAC;AAE/E,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAYnB,CAAC;AAEZ,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAW1B,CAAC;AAEZ,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAe7B,CAAC;AAEZ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiB5B,CAAC;AAEZ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAU5B,CAAC;AAEZ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAGrC,CAAC;AAEH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAExE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAE5D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAE1E;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CAEhF;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAE9E;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAE9E;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,GACb,qBAAqB,GAAG,oBAAoB,CAE9C"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/remote/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AAMpB,eAAO,MAAM,uBAAuB;;;;;kBAOzB,CAAC;AAMZ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;kBAA2C,CAAC;AAE/E,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAYnB,CAAC;AAEZ,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAW1B,CAAC;AAEZ,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAe7B,CAAC;AAEZ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkB5B,CAAC;AAEZ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAU5B,CAAC;AAEZ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAGrC,CAAC;AAEH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAExE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAE5D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAE1E;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CAEhF;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAE9E;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAE9E;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,GACb,qBAAqB,GAAG,oBAAoB,CAE9C"}
@@ -67,6 +67,7 @@ export const actionResultEnvelopeSchema = z
67
67
  started_at: z.iso.datetime(),
68
68
  finished_at: z.iso.datetime(),
69
69
  truncated: z.boolean(),
70
+ next_offset_bytes: z.number().int().nonnegative().optional(),
70
71
  error_code: errorCodeSchema.optional(),
71
72
  message: z.string().optional(),
72
73
  signature: z.string().min(1),
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/remote/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/remote/schemas.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,8 @@ export declare class RemoteStore {
11
11
  constructor(databaseUrl: string, options?: RemoteStoreOptions);
12
12
  close(): void;
13
13
  /**
14
- * Reclaim only records whose time-limited credentials have expired.
15
- * Device, account, action and security audit history is intentionally
16
- * outside this cleanup policy.
14
+ * Reclaim expired credentials and unclaimed device placeholders. Real
15
+ * devices, accounts, actions and security audit history are preserved.
17
16
  */
18
17
  pruneExpiredTransientRecords(now: string): void;
19
18
  createDashboardSession(tokenHash: string, userId: string, expiresAt: string, createdAt: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/remote/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/remote/store.ts"],"names":[],"mappings":"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"}
@@ -65,11 +65,23 @@ export class RemoteStore {
65
65
  this.db.close();
66
66
  }
67
67
  /**
68
- * Reclaim only records whose time-limited credentials have expired.
69
- * Device, account, action and security audit history is intentionally
70
- * outside this cleanup policy.
68
+ * Reclaim expired credentials and unclaimed device placeholders. Real
69
+ * devices, accounts, actions and security audit history are preserved.
71
70
  */
72
71
  pruneExpiredTransientRecords(now) {
72
+ // Remove only placeholders that have never enrolled and have no usable
73
+ // token. Do this before pruning expired tokens, preserving their expiry
74
+ // distinction and making an abandoned alias available for retry.
75
+ this.db
76
+ .prepare(`DELETE FROM agents
77
+ WHERE status = 'pending'
78
+ AND public_key IS NULL AND last_seen_at IS NULL
79
+ AND created_at < ?
80
+ AND NOT EXISTS (
81
+ SELECT 1 FROM agent_enrollment_tokens AS t
82
+ WHERE t.agent_id = agents.id AND t.expires_at > ?
83
+ )`)
84
+ .run(now, now);
73
85
  this.db.prepare("DELETE FROM dashboard_sessions WHERE expires_at <= ?").run(now);
74
86
  this.db.prepare("DELETE FROM oauth_authorization_codes WHERE expires_at <= ?").run(now);
75
87
  this.db.prepare("DELETE FROM oauth_refresh_tokens WHERE expires_at <= ?").run(now);