Commit 1a09a69
fix(cli/mock): #19 codex P2 fixes — credential cache + audit DENIED row
P2-1 (cli): cmd_run was issuing two GET /credential/read calls when an
--env override targeted a service that auto-injection had already
fetched. Cache successful reads in a HashMap<service, ciphertext> and
reuse the cached value during --env resolution. Halves credential RTTs
for the common "auto-inject + override" flow.
P2-2 (mock): list_credentials returned 403 on cross-agent attempts
without leaving an audit trail, so probing through the new
/credential/list endpoint stayed invisible. Mirror the read_credential
contract by inserting a 'list' / 'DENIED' audit row (service_name='*')
before the 403 return. Extend integration test
list_credentials_ownership_enforced to assert the DENIED row appears.
Test: cargo test -p agentkeys-cli -p agentkeys-mock-server -- --test-threads=1
mock-server: 40 passed; cli: 18 passed.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 11e35e7 commit 1a09a69
3 files changed
Lines changed: 57 additions & 7 deletions
File tree
- crates
- agentkeys-cli/src
- agentkeys-mock-server
- src/handlers
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
183 | 183 | | |
184 | 184 | | |
185 | 185 | | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
186 | 192 | | |
187 | 193 | | |
188 | 194 | | |
| |||
191 | 197 | | |
192 | 198 | | |
193 | 199 | | |
| 200 | + | |
194 | 201 | | |
195 | 202 | | |
196 | 203 | | |
| |||
215 | 222 | | |
216 | 223 | | |
217 | 224 | | |
218 | | - | |
219 | | - | |
220 | | - | |
221 | | - | |
222 | | - | |
223 | | - | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
224 | 245 | | |
225 | 246 | | |
226 | 247 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
201 | 201 | | |
202 | 202 | | |
203 | 203 | | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
204 | 216 | | |
205 | 217 | | |
206 | 218 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1349 | 1349 | | |
1350 | 1350 | | |
1351 | 1351 | | |
1352 | | - | |
| 1352 | + | |
1353 | 1353 | | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
| 1365 | + | |
| 1366 | + | |
| 1367 | + | |
| 1368 | + | |
| 1369 | + | |
| 1370 | + | |
1354 | 1371 | | |
0 commit comments