sjw1231
8f798da97d
fix(tool-fs): leave sandbox decisions to providers and bound patch diffs
...
Drop the preflight sandbox fence. It derived writable roots in the local
process, so under the SSH provider it threw on remote additionalWritableRoots
and compared remote targets against local temp roots; write and edit never
fenced in the tool layer. The provider now refuses a denied operation at
commit, and a commit whose first operation failed without any change rejects
like a preflight refusal so the sandbox escalation path keeps its error code.
Classify FS_ABORTED as unknown: a cancelled remote request rejects while the
provider may still be writing, so no stat comparison can settle it. Document
that a cancelled call receives the registry's abort result like every tool.
Store no diff for creations, matching write, and bound the move source basis
by diffBasisMaxBytes so persisted metadata never holds whole files;
FsMoveOutcome.sourceBefore becomes nullable. Omit deletions from the call
preview and from result diffs without a basis instead of rendering them as
empty creations, and count distinct files in the preview title.
Reject a NUL byte beyond the read sampling window in preflight, name targets
by display path in atomic-write diagnostics, align the apply_patch guidance
with the edit wording and mention delete and move, read the stopped flag and
applied diffs tool-agnostically in the client models, skip the permission-bit
snapshot under root, list fs/delete-intent in the tool catalog, and refresh
the fs-patch description, group README, fs-sandbox summary, and ui-tool README.
2026-10-21 17:21:01 +08:00
..
2026-09-21 08:24:18 +00:00
2026-10-16 15:48:08 +08:00
2026-10-12 16:07:23 +08:00
2026-10-19 22:11:22 +08:00
2026-10-21 16:18:47 +08:00
2026-09-23 19:16:59 +08:00
2026-10-11 22:16:47 +08:00
2026-10-20 02:13:37 +08:00
2026-08-29 15:31:12 +08:00
2026-09-25 21:59:34 +08:00
2026-09-25 21:59:34 +08:00
2026-09-22 21:14:06 +08:00
2026-10-15 03:56:26 +08:00
2026-08-29 20:19:38 +08:00
2026-09-28 16:04:06 +08:00
2026-09-12 22:04:16 +08:00
2026-09-12 21:30:51 +08:00
2026-10-06 23:48:59 +08:00
2026-09-23 19:16:59 +08:00
2026-10-09 15:52:59 +08:00
2026-10-09 15:52:59 +08:00
2026-10-01 03:02:51 +08:00
2026-10-01 03:02:51 +08:00
2026-10-07 13:51:48 +08:00
2026-10-08 15:06:19 +08:00
2026-10-18 00:28:33 +08:00
2026-10-18 00:28:33 +08:00
2026-10-08 15:06:19 +08:00
2026-10-10 13:12:10 +08:00
2026-10-18 14:29:23 +08:00
2026-10-18 14:29:23 +08:00
2026-10-06 16:42:25 +08:00
2026-09-03 11:16:34 +08:00
2026-10-20 02:14:32 +08:00
2026-10-20 02:13:37 +08:00
2026-10-15 23:33:49 +08:00
2026-09-07 12:41:23 +08:00
2026-10-20 17:46:59 +08:00
2026-09-28 15:42:08 +08:00
2026-09-28 15:42:08 +08:00
2026-10-20 02:13:37 +08:00
2026-10-18 15:06:16 +08:00
2026-10-20 02:14:33 +08:00
2026-10-20 05:17:58 +08:00
2026-10-19 13:51:40 +08:00
2026-10-15 23:33:49 +08:00
2026-10-18 14:29:23 +08:00
2026-10-18 14:29:23 +08:00
2026-08-24 22:02:44 +08:00
2026-10-15 16:47:43 +08:00
2026-09-21 08:24:18 +00:00
2026-09-13 15:17:06 +08:00
2026-09-08 22:31:16 +08:00
2026-09-23 22:32:06 +08:00
2026-10-08 14:55:10 +08:00
2026-10-08 14:55:10 +08:00
2026-10-11 03:28:22 +08:00
2026-10-08 19:59:17 +08:00
2026-10-08 14:55:10 +08:00
2026-10-08 14:55:10 +08:00
2026-09-13 15:13:59 +08:00
2026-08-27 23:14:31 +08:00
2026-10-15 14:03:50 +08:00
2026-10-15 17:40:38 +08:00
2026-10-07 14:07:28 +08:00
2026-10-11 18:19:23 +08:00
2026-10-11 22:16:47 +08:00
2026-10-20 19:09:02 +08:00
2026-10-21 17:21:01 +08:00
2026-10-03 06:33:11 +08:00
2026-10-03 06:33:11 +08:00
2026-10-18 14:29:23 +08:00
2026-09-23 19:16:59 +08:00
2026-10-08 15:06:19 +08:00
2026-10-08 15:06:19 +08:00
2026-10-06 16:42:25 +08:00
2026-10-19 19:46:13 +08:00
2026-10-06 16:41:04 +08:00
2026-10-12 11:06:54 +08:00
2026-10-12 11:06:54 +08:00
2026-09-23 16:11:44 +08:00
2026-10-13 23:03:15 +08:00
2026-10-12 12:03:37 +08:00
2026-10-15 18:18:58 +08:00
2026-10-20 20:25:24 +08:00
2026-09-17 23:23:48 +08:00
2026-09-12 17:06:38 +08:00
2026-09-12 17:06:38 +08:00
2026-10-12 11:06:54 +08:00
2026-10-20 19:09:02 +08:00
2026-09-23 22:32:06 +08:00
2026-10-07 01:26:00 +08:00
2026-10-07 01:26:00 +08:00
2026-10-05 18:09:01 +08:00
2026-09-21 21:28:35 +08:00
2026-09-06 02:05:27 +08:00
2026-09-16 22:00:38 +08:00
2026-10-18 00:28:33 +08:00
2026-10-18 00:28:33 +08:00
2026-10-21 17:21:01 +08:00
2026-09-23 22:32:06 +08:00
2026-09-30 12:52:18 +08:00
2026-09-30 12:52:18 +08:00
2026-09-13 14:47:56 +08:00
2026-09-13 14:47:56 +08:00
2026-10-18 14:29:23 +08:00
2026-10-18 14:29:23 +08:00
2026-09-17 00:12:27 +08:00
2026-09-25 22:19:27 +08:00
2026-09-26 22:56:57 +08:00
2026-09-28 14:18:03 +08:00
2026-09-23 08:32:15 +00:00
2026-09-23 08:32:15 +00:00
2026-09-23 08:32:15 +00:00
2026-09-09 13:16:09 +08:00
2026-09-21 00:04:06 +08:00
2026-09-21 00:04:06 +08:00
2026-10-07 14:07:28 +08:00
2026-10-07 14:07:28 +08:00
2026-10-15 18:19:27 +08:00
2026-10-12 11:06:53 +08:00
2026-10-12 11:06:53 +08:00
2026-08-18 18:27:01 +08:00
2026-10-09 15:10:49 +08:00
2026-10-09 15:10:49 +08:00
2026-09-19 20:00:11 +08:00
2026-09-19 20:00:11 +08:00
2026-10-20 20:25:24 +08:00
2026-09-12 20:56:26 +08:00
2026-09-12 20:56:26 +08:00
2026-10-09 12:12:02 +08:00
2026-09-30 23:20:22 +08:00
2026-10-19 20:06:23 +08:00
2026-08-29 14:26:42 +08:00
2026-08-23 16:28:19 +08:00
2026-10-12 11:06:50 +08:00
2026-10-12 11:06:50 +08:00
2026-10-12 11:06:53 +08:00
2026-10-05 08:57:58 +08:00
2026-10-05 18:09:01 +08:00
2026-10-08 20:26:57 +08:00
2026-10-08 20:26:57 +08:00
2026-10-08 20:26:57 +08:00
2026-10-08 20:26:57 +08:00
2026-10-08 20:26:57 +08:00
2026-09-13 12:19:46 +08:00
2026-09-13 12:19:46 +08:00
2026-09-25 01:09:44 +08:00
2026-10-08 20:26:57 +08:00
2026-10-08 20:26:57 +08:00
2026-09-13 12:08:08 +08:00
2026-10-08 20:26:57 +08:00
2026-10-08 20:26:57 +08:00
2026-09-18 19:05:32 +08:00
2026-09-25 01:09:44 +08:00
2026-09-25 01:09:44 +08:00
2026-10-08 20:26:57 +08:00
2026-09-25 01:09:44 +08:00
2026-09-18 19:05:32 +08:00
2026-09-13 12:08:08 +08:00
2026-09-18 19:07:12 +08:00
2026-10-18 00:28:33 +08:00
2026-10-19 23:00:32 +08:00
2026-10-06 16:42:25 +08:00
2026-10-06 16:42:25 +08:00
2026-08-21 11:09:25 +08:00
2026-08-21 11:09:25 +08:00
2026-09-19 11:39:05 +08:00
2026-09-23 19:16:59 +08:00
2026-10-11 22:16:47 +08:00
2026-10-09 15:46:42 +08:00
2026-09-30 12:52:18 +08:00
2026-09-15 16:15:11 +08:00
2026-10-15 23:33:49 +08:00
2026-10-14 14:43:59 +08:00
2026-10-14 14:43:59 +08:00
2026-09-30 12:52:18 +08:00
2026-10-09 15:52:59 +08:00
2026-10-06 10:52:35 +08:00
2026-09-18 19:05:32 +08:00
2026-09-18 19:05:32 +08:00
2026-10-12 11:06:53 +08:00
2026-10-12 11:06:53 +08:00
2026-09-18 19:08:11 +08:00
2026-09-12 22:25:10 +08:00
2026-10-20 20:25:24 +08:00
2026-10-07 21:04:13 +08:00
2026-09-28 13:37:20 +08:00
2026-10-15 23:33:49 +08:00
2026-10-15 23:33:49 +08:00
2026-10-07 21:20:08 +08:00
2026-10-07 21:20:08 +08:00
2026-10-12 11:06:50 +08:00
2026-10-12 11:06:50 +08:00
2026-09-21 22:41:17 +08:00
2026-09-20 13:09:14 +08:00
2026-09-19 20:13:58 +08:00
2026-09-17 16:48:06 +08:00
2026-10-09 19:14:55 +08:00
2026-10-09 19:14:55 +08:00
2026-10-13 14:10:56 +08:00
2026-09-17 14:06:14 +08:00
2026-10-19 16:59:40 +08:00
2026-08-29 11:50:13 +08:00
2026-09-17 16:48:06 +08:00
2026-09-08 13:52:08 +08:00
2026-09-09 14:46:41 +08:00
2026-09-09 14:46:41 +08:00
2026-09-06 22:44:54 +08:00
2026-09-06 22:16:00 +08:00
2026-09-22 21:44:39 +08:00
2026-10-08 18:25:43 +08:00
2026-10-08 18:25:43 +08:00
2026-09-30 12:52:18 +08:00
2026-09-01 11:01:05 +08:00
2026-08-19 03:01:11 +08:00
2026-08-19 03:01:11 +08:00
2026-10-05 12:07:57 +08:00
2026-10-12 11:06:53 +08:00
2026-09-23 22:32:06 +08:00
2026-10-12 11:06:53 +08:00
2026-09-29 10:34:29 +08:00
2026-10-19 22:23:13 +08:00
2026-10-05 17:45:17 +08:00
2026-08-24 21:37:14 +08:00
2026-08-19 02:26:57 +08:00
2026-09-17 16:00:36 +08:00
2026-10-12 11:06:53 +08:00
2026-10-12 11:06:53 +08:00
2026-10-20 20:25:24 +08:00
2026-10-18 14:29:23 +08:00
2026-10-12 11:06:56 +08:00
2026-09-20 15:50:41 +08:00
2026-09-20 15:50:41 +08:00
2026-10-20 04:00:23 +08:00
2026-10-20 04:00:23 +08:00
2026-09-18 20:06:44 +08:00
2026-09-30 23:20:22 +08:00
2026-09-01 20:22:05 +08:00
2026-09-04 16:23:37 +08:00
2026-09-23 22:32:06 +08:00
2026-09-23 22:32:06 +08:00
2026-09-21 08:24:18 +00:00
2026-10-19 21:30:07 +08:00
2026-10-19 21:30:07 +08:00
2026-10-19 11:15:00 +08:00
2026-10-19 11:15:00 +08:00
2026-10-12 11:06:53 +08:00
2026-08-20 22:10:15 +08:00
2026-08-20 22:10:35 +08:00
2026-08-21 22:22:23 +08:00
2026-10-19 22:23:13 +08:00
2026-10-19 22:23:13 +08:00
2026-10-19 22:23:13 +08:00
2026-08-24 22:02:44 +08:00
2026-10-20 12:44:14 +08:00
2026-10-20 12:44:14 +08:00
2026-10-15 03:56:25 +08:00
2026-10-15 03:56:25 +08:00
2026-09-19 20:13:58 +08:00
2026-09-19 20:13:58 +08:00
2026-09-28 16:04:06 +08:00
2026-09-28 16:18:09 +08:00
2026-08-21 22:22:23 +08:00
2026-10-20 02:13:37 +08:00
2026-10-20 02:13:37 +08:00
2026-10-09 17:58:18 +08:00
2026-10-09 17:58:18 +08:00
2026-09-17 00:12:27 +08:00
2026-09-17 00:12:27 +08:00
2026-10-12 11:06:53 +08:00
2026-10-21 17:21:01 +08:00
2026-09-08 13:52:40 +08:00
2026-09-08 13:52:40 +08:00
2026-10-05 17:20:26 +08:00
2026-10-05 18:09:01 +08:00
2026-10-07 21:27:38 +08:00
2026-10-07 01:26:00 +08:00
2026-09-12 18:37:56 +08:00
2026-10-12 11:06:56 +08:00
2026-10-12 11:06:56 +08:00
2026-09-23 19:16:59 +08:00
2026-09-23 19:16:59 +08:00
2026-09-23 19:16:59 +08:00
2026-09-23 19:16:59 +08:00
2026-08-23 16:02:32 +08:00
2026-10-06 16:41:04 +08:00
2026-10-12 11:06:53 +08:00
2026-10-12 11:06:53 +08:00
2026-09-29 10:34:29 +08:00
2026-09-29 10:34:29 +08:00
2026-09-19 15:43:10 +08:00
2026-09-19 15:43:09 +08:00
2026-09-22 21:44:39 +08:00
2026-09-21 00:04:06 +08:00
2026-09-21 00:04:06 +08:00
2026-10-06 16:42:25 +08:00
2026-09-12 20:56:26 +08:00
2026-10-15 17:52:13 +08:00
2026-10-19 11:12:07 +00:00
2026-10-12 17:50:31 +08:00
2026-10-12 17:46:09 +08:00