re2zero
9d0699e070
fix(coding-agent): resolve xd:// device dispatches against device user policy first
...
When an xd:// device is dispatched through the write tool, the outer
approval gate now consults tools.approval.<deviceName> before falling
back to tools.approval.write. This lets users scope allow/deny/prompt
to a single device mount without changing the blanket write tool policy.
The write tool's approval function returns { tier, policyKey: deviceName }
for xd:// device dispatches. resolveApproval uses the policyKey to look
up the user override on the device name, falling back to the invoking
tool's own policy when the device has none configured.
Adds:
- ToolApprovalDecision.policyKey field (optional, additive)
- policyKey-aware lookup in resolveApproval and requiresApproval
- Updated error messages naming the correct config key
- Unit tests for policyKey resolution and WriteTool integration
Fixes can1357/oh-my-pi#7923
2026-08-08 02:45:19 +08:00
..
2026-08-03 01:31:39 -07:00
2026-06-14 07:54:04 +02:00
2026-07-05 16:53:07 +02:00
2026-07-15 18:39:36 +02:00
2026-08-08 02:45:19 +08:00
2026-08-03 21:56:48 +02:00
2026-07-15 15:16:29 +02:00
2026-07-15 19:16:41 +02:00
2026-07-24 22:42:38 +00:00
2026-08-03 12:45:50 +00:00
2026-08-05 03:07:27 -04:00
2026-07-23 22:15:23 +02:00
2026-07-18 20:13:44 +02:00
2026-08-02 05:00:26 -07:00
2026-07-11 05:47:55 +02:00
2026-08-02 09:37:17 +00:00
2026-06-13 17:35:56 +02:00
2026-06-13 17:35:56 +02:00
2026-08-05 17:47:03 +08:00
2026-07-17 03:42:01 +00:00
2026-07-24 16:26:03 +02:00
2026-07-14 17:48:18 +00:00
2026-08-05 11:10:20 +00:00
2026-07-14 17:37:01 +00:00
2026-07-31 19:51:52 +02:00
2026-07-23 19:02:38 +00:00
2026-07-30 05:22:14 +00:00
2026-08-02 18:07:07 +02:00
2026-08-02 05:33:07 +02:00
2026-08-02 05:33:07 +02:00
2026-08-05 16:44:41 +08:00
2026-07-11 07:33:19 +02:00
2026-08-03 05:06:49 +02:00
2026-07-14 18:14:14 +00:00
2026-08-05 17:47:03 +08:00
2026-08-02 19:46:25 +02:00
2026-06-08 19:03:55 +02:00
2026-08-02 05:00:26 -07:00
2026-08-03 21:56:48 +02:00
2026-07-11 17:04:23 +02:00
2026-07-14 18:46:14 +02:00
2026-07-23 01:35:31 +02:00
2026-08-05 13:39:09 +02:00
2026-06-19 07:57:15 +02:00
2026-07-13 09:57:20 -04:00
2026-06-23 00:59:58 +02:00
2026-07-05 16:53:07 +02:00
2026-07-27 16:43:53 +02:00
2026-07-15 03:28:21 +02:00
2026-07-24 16:26:03 +02:00
2026-06-23 00:59:58 +02:00
2026-06-23 00:59:58 +02:00
2026-07-24 21:52:29 +02:00
2026-07-24 21:52:29 +02:00
2026-07-24 16:26:03 +02:00
2026-07-24 16:49:31 +02:00
2026-07-16 03:32:03 +02:00
2026-07-14 17:33:56 +00:00
2026-06-23 15:28:05 -07:00
2026-06-09 04:51:17 +02:00
2026-07-17 22:16:21 +02:00
2026-07-17 07:45:06 +00:00
2026-06-04 00:59:59 +02:00
2026-06-23 15:28:05 -07:00
2026-07-29 23:08:21 +02:00
2026-06-23 15:28:05 -07:00
2026-07-11 05:47:55 +02:00
2026-08-04 06:07:42 +00:00
2026-07-27 16:43:53 +02:00
2026-07-10 15:14:06 +00:00
2026-08-05 01:11:59 +02:00
2026-06-27 00:57:55 +02:00
2026-06-18 21:32:38 -07:00
2026-07-17 15:20:43 +00:00
2026-07-15 15:16:29 +02:00
2026-07-23 20:44:50 +02:00
2026-08-01 20:39:08 +02:00
2026-08-03 21:56:48 +02:00
2026-07-15 15:16:29 +02:00
2026-07-15 15:16:29 +02:00
2026-07-18 14:41:19 +00:00
2026-07-27 16:43:53 +02:00
2026-08-07 00:17:38 +07:00
2026-07-16 13:55:22 +00:00
2026-07-22 16:43:35 +00:00
2026-08-03 01:31:39 -07:00
2026-07-30 17:02:16 +08:00
2026-06-01 18:04:05 +02:00
2026-08-04 23:53:08 +00:00
2026-08-02 18:15:22 +02:00
2026-07-24 15:52:01 +00:00
2026-07-02 08:30:33 +02:00
2026-07-02 17:48:46 +02:00
2026-06-19 04:35:18 +02:00
2026-06-30 06:20:03 +00:00
2026-08-04 06:07:42 +00:00
2026-07-04 15:47:52 +00:00
2026-06-04 01:35:39 +02:00
2026-06-23 15:28:05 -07:00
2026-08-08 02:45:19 +08:00
2026-07-17 17:38:12 +02:00
2026-07-14 18:50:47 +02:00
2026-08-05 01:11:59 +02:00
2026-06-23 15:28:05 -07:00
2026-06-23 15:28:05 -07:00
2026-07-27 23:53:47 +02:00
2026-08-06 03:40:10 +00:00
2026-07-18 22:04:43 +02:00
2026-08-04 04:13:35 +00:00
2026-07-23 17:30:33 +02:00
2026-06-26 16:23:22 +00:00
2026-07-15 19:08:37 +02:00
2026-07-23 13:24:45 +02:00
2026-07-15 15:16:29 +02:00
2026-07-15 15:16:29 +02:00
2026-07-15 15:16:29 +02:00
2026-07-16 04:08:59 +02:00
2026-07-17 07:45:06 +00:00
2026-08-07 13:39:54 +02:00
2026-06-26 20:41:35 +02:00
2026-06-23 15:28:05 -07:00
2026-07-02 17:48:46 +02:00
2026-06-27 02:06:38 +02:00
2026-07-02 08:30:33 +02:00
2026-07-02 08:30:33 +02:00
2026-06-19 04:35:18 +02:00
2026-07-15 18:39:36 +02:00
2026-07-11 19:10:40 +02:00
2026-07-11 13:44:04 +02:00
2026-08-03 21:56:48 +02:00
2026-07-06 08:07:24 +02:00
2026-06-27 02:06:38 +02:00
2026-07-22 15:18:27 +00:00
2026-07-27 16:43:53 +02:00
2026-08-05 13:39:09 +02:00
2026-08-05 02:02:35 +00:00
2026-07-31 19:32:42 +02:00
2026-07-24 16:05:14 +02:00
2026-07-24 16:05:14 +02:00
2026-07-24 16:05:14 +02:00
2026-07-31 16:37:22 -04:00
2026-07-24 16:05:14 +02:00
2026-07-24 16:05:14 +02:00
2026-07-24 16:05:14 +02:00
2026-07-13 00:34:27 +02:00
2026-07-24 16:05:14 +02:00
2026-06-27 05:58:58 +00:00
2026-07-24 16:05:14 +02:00
2026-07-24 16:05:14 +02:00
2026-06-15 13:44:44 +02:00
2026-06-28 07:27:01 +02:00
2026-07-23 00:13:14 +02:00