Commit bbef5b9
fix(agent_runtime): use effective config for workspace name resolution
PR #102 Copilot review surfaced two issues in the new workspace_name
resolution path:
1. workspace_name resolution only used the method-level `config`, ignoring
`self.config`. When a caller built `AgentRuntimeClient(config=...)` and
then called `create(input)` without a method-level config, the resolver
fell back to env credentials/region while the subsequent OpenAPI call
used `self.config` — possibly resolving a workspace under the wrong
account/region. Now passes `Config.with_configs(self.config, config)`
to the resolver, matching the merge done in `ControlAPI._get_client`.
2. `if input.workspace_name:` silently skipped resolution for empty
strings instead of surfacing the resolver's existing
`ValueError("workspace_name must be non-empty")`. Switched the
singular checks to `is not None` so empty strings now raise.
Applied to create / create_async / list / list_async in client.py and
mirrored into the codegen template. Plural `workspace_names` keeps the
truthy check since empty-string plural is a benign "no filter".
Added 8 unit tests covering effective-config propagation (client.config
used when method config=None; method config overrides client.config) and
empty-string ValueError across all four entry points. agent_runtime
suite 262 passed / 2 skipped; `_workspace.py` 95.24% line/branch.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Sodawyx <sodawyx@126.com>1 parent 6cc91e1 commit bbef5b9
3 files changed
Lines changed: 302 additions & 44 deletions
File tree
- agentrun/agent_runtime
- tests/unittests/agent_runtime
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | | - | |
| 91 | + | |
| 92 | + | |
92 | 93 | | |
93 | | - | |
| 94 | + | |
94 | 95 | | |
95 | 96 | | |
96 | 97 | | |
| |||
241 | 242 | | |
242 | 243 | | |
243 | 244 | | |
244 | | - | |
245 | | - | |
246 | | - | |
247 | | - | |
248 | | - | |
249 | | - | |
250 | | - | |
251 | | - | |
252 | | - | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
253 | 252 | | |
254 | | - | |
255 | | - | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
256 | 261 | | |
257 | 262 | | |
258 | 263 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
101 | | - | |
| 101 | + | |
| 102 | + | |
102 | 103 | | |
103 | | - | |
| 104 | + | |
104 | 105 | | |
105 | 106 | | |
106 | 107 | | |
| |||
156 | 157 | | |
157 | 158 | | |
158 | 159 | | |
159 | | - | |
| 160 | + | |
| 161 | + | |
160 | 162 | | |
161 | | - | |
| 163 | + | |
162 | 164 | | |
163 | 165 | | |
164 | 166 | | |
| |||
390 | 392 | | |
391 | 393 | | |
392 | 394 | | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | | - | |
397 | | - | |
398 | | - | |
399 | | - | |
400 | | - | |
401 | | - | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
402 | 402 | | |
403 | | - | |
404 | | - | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
405 | 411 | | |
406 | 412 | | |
407 | 413 | | |
| |||
450 | 456 | | |
451 | 457 | | |
452 | 458 | | |
453 | | - | |
454 | | - | |
455 | | - | |
456 | | - | |
457 | | - | |
458 | | - | |
459 | | - | |
460 | | - | |
461 | | - | |
462 | | - | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
463 | 471 | | |
464 | 472 | | |
465 | 473 | | |
| |||
0 commit comments