delegate-agent-cli 0.15.0__tar.gz → 0.16.0__tar.gz
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.
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/CHANGELOG.md +36 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/PKG-INFO +2 -2
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/README.md +1 -1
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/config.example.json +1 -1
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/docs/cli-reference.md +44 -38
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/docs/configuration.md +3 -3
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/docs/troubleshooting.md +1 -1
- delegate_agent_cli-0.16.0/examples/task.kimi.json +7 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/pyproject.toml +1 -1
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/__init__.py +1 -1
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/bundled_models.py +2 -1
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/cli.py +4 -3
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/cli_parser.py +12 -4
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/command_help.py +47 -45
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/config.py +1 -1
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/harness_events.py +92 -2
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/request_build.py +9 -4
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/runner.py +281 -158
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/wait_cancel_commands.py +199 -137
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/workflows/runtime.py +8 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/worktree_execution.py +53 -21
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent_cli.egg-info/PKG-INFO +2 -2
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent_cli.egg-info/SOURCES.txt +2 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_delegate_parser.py +19 -2
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_harness_events.py +342 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_kimi_commands.py +2 -1
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_model_discovery.py +5 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_runner_capture.py +622 -0
- delegate_agent_cli-0.16.0/tests/test_tracked_timeout.py +377 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_utility_modules.py +1 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_wait_cancel_commands.py +444 -1
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_workflow_commands.py +15 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/CONTRIBUTING.md +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/LICENSE +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/MANIFEST.in +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/SECURITY.md +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/bin/delegate-profile-shim +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/bin/delegate.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/docs/agent-setup.md +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/docs/assets/delegate-agent-header.png +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/docs/development.md +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/docs/live-runtime.md +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/docs/publishing-checklist.md +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/docs/security-model.md +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/docs/worktrees.md +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/examples/task.claude.json +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/examples/task.codex.json +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/examples/task.cursor.json +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/examples/task.droid.json +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/examples/task.grok.json +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/examples/task.judge.json +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/setup.cfg +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/archived_logs.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/argv_builders.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/argv_utils.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/capability_commands.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/command_errors.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/config_commands.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/constants.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/describe_payload.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/errors.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/git_utils.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/inspection_commands.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/isolation.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/json_types.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/log_output.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/model_discovery.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/private_io.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/profile_commands.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/profile_guard.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/profiles.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/prompt_instructions.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/prompt_transport.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/reasoning.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/redaction.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/rendering.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/request_models.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/retention.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/run_metadata.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/run_output_commands.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/run_registry.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/run_status.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/safe_workspace.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/seatbelt.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/snapshot_view.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/workflows/__init__.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/workflows/commands.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/workflows/registry.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/workflows/schema.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/workflows/script.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/worktree_commands.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/worktree_gc.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/worktree_mgmt.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/worktree_records.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/worktree_remove.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/worktree_summary.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/wsl.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent_cli.egg-info/dependency_links.txt +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent_cli.egg-info/entry_points.txt +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent_cli.egg-info/requires.txt +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent_cli.egg-info/top_level.txt +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_capability_commands.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_codex_pure_sandbox.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_command_help.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_config_commands.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_delegate_help_cli.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_delegate_isolation.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_delegate_validation.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_end_to_end_tracking.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_engine_argv.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_execution_argv_and_prompt.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_execution_dry_run.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_execution_worktree_failure_cleanup.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_execution_worktree_preflight.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_execution_worktree_run.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_inspection_commands.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_model_selection_wave1a.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_model_selection_wave1b.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_packaging.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_profiles.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_pure_call.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_reasoning_capabilities.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_retention.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_run_registry.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_safe_workspace_isolation.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_slash_passthrough.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_snapshot_redaction.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_snapshot_rendering.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_snapshot_run_output.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_snapshot_view.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_wave4_launch_features.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_worktree_list_show.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_worktree_prune_gc.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_worktree_remove.py +0 -0
- {delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/tests/test_wsl_guardrails.py +0 -0
|
@@ -5,6 +5,41 @@ All notable changes to this project are documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
## [0.16.0] - 2026-07-16
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- `--timeout` is now accepted and enforced on tracked `safe` and `work` runs
|
|
15
|
+
across engines. It remains rejected with `--pass-through`, and deadline
|
|
16
|
+
failures keep the historical `call_timeout` error code.
|
|
17
|
+
- Kimi tool-call activity is normalized into `tool.started`/`tool.completed`
|
|
18
|
+
events with id correlation; `status` stays unset because Kimi tool results
|
|
19
|
+
carry no result-status signal.
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- Persistent-worktree runs that fail after the worktree is realized
|
|
24
|
+
(child-launch errors, timeouts) now keep `worktreeStatus: present`,
|
|
25
|
+
`executionCwd`, `branch`, and `worktreeCleanupCommands` in the failed-run
|
|
26
|
+
record, so the preserved worktree stays inspectable and removable via
|
|
27
|
+
`delegate worktree show|remove` instead of being orphaned.
|
|
28
|
+
- The Kimi default model is now `kimi-code/k3`, and the bundled Kimi catalog
|
|
29
|
+
lists exactly the three real model IDs (`kimi-code/k3`,
|
|
30
|
+
`kimi-code/kimi-for-coding`, `kimi-code/kimi-for-coding-highspeed`); the
|
|
31
|
+
stale `kimi-k2.7` entry was removed.
|
|
32
|
+
- Docs clarifications: Kimi reasoning-effort wording now states that the Kimi
|
|
33
|
+
CLI exposes no effort flag (k3 supports effort internally via
|
|
34
|
+
`~/.kimi-code/config.toml`) and that Delegate rejects `--reasoning-effort`
|
|
35
|
+
for Kimi; the CLI reference notes that `usage: unavailable` in Kimi run JSON
|
|
36
|
+
is expected because the Kimi CLI emits no usage/token lines in stream-json
|
|
37
|
+
output.
|
|
38
|
+
- Kimi work-mode docs restate current behavior: Delegate emits no `--yolo` —
|
|
39
|
+
Kimi prompt mode auto-approves tool actions, and work mode edits the real
|
|
40
|
+
workspace by default. Temporary safe isolation or explicit worktree
|
|
41
|
+
isolation provides a workspace boundary, not a complete host sandbox.
|
|
42
|
+
|
|
8
43
|
## [0.15.0] - 2026-07-16
|
|
9
44
|
|
|
10
45
|
### Added
|
|
@@ -390,6 +425,7 @@ Usage-audit fix wave: 82 sessions and 1,241 delegate invocations from one week o
|
|
|
390
425
|
|
|
391
426
|
- Releases before 0.1.3 predate this changelog.
|
|
392
427
|
|
|
428
|
+
[0.16.0]: https://github.com/treygoff24/delegate-agent/compare/v0.15.0...v0.16.0
|
|
393
429
|
[0.15.0]: https://github.com/treygoff24/delegate-agent/compare/v0.14.0...v0.15.0
|
|
394
430
|
[0.14.0]: https://github.com/treygoff24/delegate-agent/compare/v0.13.1...v0.14.0
|
|
395
431
|
[0.13.1]: https://github.com/treygoff24/delegate-agent/compare/v0.13.0...v0.13.1
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: delegate-agent-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.16.0
|
|
4
4
|
Summary: A tiny CLI for delegating bounded agent tasks to Cursor, Droid, OpenAI Codex, Claude Code, Grok Build, or Kimi Code runtimes.
|
|
5
5
|
Author: Trey Goff
|
|
6
6
|
License-Expression: MIT
|
|
@@ -229,7 +229,7 @@ prompt framing, and no session persistence or tools according to the engine
|
|
|
229
229
|
capability contract. Claude receives the prompt only on stdin and is
|
|
230
230
|
schema-capable via `--output-schema`; `delegate --json describe` reports
|
|
231
231
|
`pureCall`, `structuredOutput`, `noSessionPersistence`, `usageEvents`, and
|
|
232
|
-
`promptStdin` per engine. `--timeout SECONDS` applies to every
|
|
232
|
+
`promptStdin` per engine. `--timeout SECONDS` applies to every engine in any mode (calls and tracked safe/work runs, but not `--pass-through`).
|
|
233
233
|
|
|
234
234
|
For multi-step fan-out or gated review flows, use Delegate Workflows. A workflow
|
|
235
235
|
is a Python script that launches normal Delegate child runs, journals progress,
|
|
@@ -196,7 +196,7 @@ prompt framing, and no session persistence or tools according to the engine
|
|
|
196
196
|
capability contract. Claude receives the prompt only on stdin and is
|
|
197
197
|
schema-capable via `--output-schema`; `delegate --json describe` reports
|
|
198
198
|
`pureCall`, `structuredOutput`, `noSessionPersistence`, `usageEvents`, and
|
|
199
|
-
`promptStdin` per engine. `--timeout SECONDS` applies to every
|
|
199
|
+
`promptStdin` per engine. `--timeout SECONDS` applies to every engine in any mode (calls and tracked safe/work runs, but not `--pass-through`).
|
|
200
200
|
|
|
201
201
|
For multi-step fan-out or gated review flows, use Delegate Workflows. A workflow
|
|
202
202
|
is a Python script that launches normal Delegate child runs, journals progress,
|
|
@@ -20,33 +20,33 @@ Use `delegate --help` for the exact command list from the installed version. Glo
|
|
|
20
20
|
### Direct runtime commands
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
delegate cursor safe [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
24
|
-
delegate cursor work [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
25
|
-
delegate cursor call [--read-only] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--prompt-file PATH] [prompt...]
|
|
23
|
+
delegate cursor safe [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
24
|
+
delegate cursor work [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
25
|
+
delegate cursor call [--read-only] [--timeout SECONDS] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--prompt-file PATH] [prompt...]
|
|
26
26
|
|
|
27
|
-
delegate droid [MODEL_ALIAS] safe [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
28
|
-
delegate droid [MODEL_ALIAS] work [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
29
|
-
delegate droid [MODEL_ALIAS] call [--read-only] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--prompt-file PATH] [prompt...]
|
|
27
|
+
delegate droid [MODEL_ALIAS] safe [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
28
|
+
delegate droid [MODEL_ALIAS] work [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
29
|
+
delegate droid [MODEL_ALIAS] call [--read-only] [--timeout SECONDS] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--prompt-file PATH] [prompt...]
|
|
30
30
|
|
|
31
|
-
delegate codex safe [--model <alias-or-model>] [--reasoning-effort LEVEL] [--fast|--no-fast] [--progress] [--forbid-commit] [--prompt-file PATH] [--output-schema FILE] [prompt...]
|
|
32
|
-
delegate codex work [--model <alias-or-model>] [--reasoning-effort LEVEL] [--fast|--no-fast] [--progress] [--forbid-commit] [--prompt-file PATH] [--output-schema FILE] [prompt...]
|
|
33
|
-
delegate codex call [--read-only] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--fast|--no-fast] [--prompt-file PATH] [--output-schema FILE] [prompt...]
|
|
31
|
+
delegate codex safe [--model <alias-or-model>] [--reasoning-effort LEVEL] [--fast|--no-fast] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [--output-schema FILE] [prompt...]
|
|
32
|
+
delegate codex work [--model <alias-or-model>] [--reasoning-effort LEVEL] [--fast|--no-fast] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [--output-schema FILE] [prompt...]
|
|
33
|
+
delegate codex call [--read-only] [--timeout SECONDS] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--fast|--no-fast] [--prompt-file PATH] [--output-schema FILE] [prompt...]
|
|
34
34
|
|
|
35
|
-
delegate claude safe [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
36
|
-
delegate claude work [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
37
|
-
delegate claude call [--read-only] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--prompt-file PATH] [prompt...]
|
|
35
|
+
delegate claude safe [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
36
|
+
delegate claude work [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
37
|
+
delegate claude call [--read-only] [--timeout SECONDS] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--prompt-file PATH] [prompt...]
|
|
38
38
|
|
|
39
|
-
delegate grok safe [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
40
|
-
delegate grok work [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
41
|
-
delegate grok call [--read-only] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--prompt-file PATH] [prompt...]
|
|
39
|
+
delegate grok safe [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
40
|
+
delegate grok work [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
41
|
+
delegate grok call [--read-only] [--timeout SECONDS] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--prompt-file PATH] [prompt...]
|
|
42
42
|
|
|
43
|
-
delegate opencode safe [--model <alias-or-model>] [--reasoning-effort LEVEL] [--agent NAME] [--progress] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
44
|
-
delegate opencode work [--model <alias-or-model>] [--reasoning-effort LEVEL] [--agent NAME] [--progress] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
45
|
-
delegate opencode call [--read-only] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--agent NAME] [--prompt-file PATH] [prompt...]
|
|
43
|
+
delegate opencode safe [--model <alias-or-model>] [--reasoning-effort LEVEL] [--agent NAME] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
44
|
+
delegate opencode work [--model <alias-or-model>] [--reasoning-effort LEVEL] [--agent NAME] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
45
|
+
delegate opencode call [--read-only] [--timeout SECONDS] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--agent NAME] [--prompt-file PATH] [prompt...]
|
|
46
46
|
|
|
47
|
-
delegate kimi safe [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
48
|
-
delegate kimi work [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
49
|
-
delegate kimi call [--read-only] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--prompt-file PATH] [prompt...]
|
|
47
|
+
delegate kimi safe [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
48
|
+
delegate kimi work [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
49
|
+
delegate kimi call [--read-only] [--timeout SECONDS] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--prompt-file PATH] [prompt...]
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
Prompt sources are direct arguments, `--prompt-file`, or Delegate stdin. Raw C0 control characters other than newline, carriage return, and tab are stripped before launch; a prompt that becomes empty fails fast. After
|
|
@@ -82,7 +82,7 @@ and advisory catalogs with `delegate models`, `delegate models <engine>`, and
|
|
|
82
82
|
`delegate models <engine> --live` (live probes for cursor/droid/devin/opencode; other
|
|
83
83
|
engines report live unsupported).
|
|
84
84
|
|
|
85
|
-
`--reasoning-effort LEVEL` is optional and parsed only before prompt text begins. Engines with capability metadata reject unsupported model/effort pairs before launch with `unsupported_reasoning_effort`. It affects only model reasoning depth, cost, or latency; it does not change `safe`/`work`/`call` permissions, sandboxing, approvals, network policy, or edit capability. Cursor effort is model-selection based and requires `cursor.reasoningEffortModels`; an explicit `--model` wins over effort→model routing. Droid emits `--reasoning-effort LEVEL`; Codex emits a `model_reasoning_effort` config override for the resolved model, or for the Codex harness default model when no `codex.defaultModel` is configured and the request was explicit; Claude emits Claude Code `--effort LEVEL`; Grok emits Grok `--effort LEVEL` (`low`, `medium`, `high`, `xhigh`, `max`); OpenCode emits `--variant LEVEL` without validating it against the selected model. Kimi
|
|
85
|
+
`--reasoning-effort LEVEL` is optional and parsed only before prompt text begins. Engines with capability metadata reject unsupported model/effort pairs before launch with `unsupported_reasoning_effort`. It affects only model reasoning depth, cost, or latency; it does not change `safe`/`work`/`call` permissions, sandboxing, approvals, network policy, or edit capability. Cursor effort is model-selection based and requires `cursor.reasoningEffortModels`; an explicit `--model` wins over effort→model routing. Droid emits `--reasoning-effort LEVEL`; Codex emits a `model_reasoning_effort` config override for the resolved model, or for the Codex harness default model when no `codex.defaultModel` is configured and the request was explicit; Claude emits Claude Code `--effort LEVEL`; Grok emits Grok `--effort LEVEL` (`low`, `medium`, `high`, `xhigh`, `max`); OpenCode emits `--variant LEVEL` without validating it against the selected model. The Kimi CLI exposes no effort flag; k3 supports effort internally via `~/.kimi-code/config.toml`, so Delegate rejects `--reasoning-effort` for Kimi.
|
|
86
86
|
|
|
87
87
|
`--fast` and `--no-fast` are Codex-only, mutually exclusive per-run service-tier overrides. `--fast` emits `service_tier="fast"` plus `features.fast_mode=true` (Codex silently drops a Fast tier when that feature flag is off in the ambient config, so Delegate enables it explicitly); `--no-fast` emits `service_tier="default"` so a globally enabled Fast setting can be turned off for one child. Omitting both emits no override and inherits Codex configuration. Fast is orthogonal to model selection, reasoning effort, and Delegate safety policy. Two upstream caveats: Codex strips the service tier when authenticated with an API key (Fast is a ChatGPT-plan feature), and neither Codex nor the API fails on a tier the model does not offer — Delegate's flag validation is the only fail-closed layer, so an unsupported combination degrades silently to standard routing rather than erroring.
|
|
88
88
|
|
|
@@ -150,8 +150,8 @@ auth/env selection happens.
|
|
|
150
150
|
Usage:
|
|
151
151
|
|
|
152
152
|
```bash
|
|
153
|
-
delegate [--json] [--isolation auto|none|worktree] codex {safe,work} [--model <alias-or-model>] [--reasoning-effort LEVEL] [--fast|--no-fast] [--progress] [--forbid-commit] [--prompt-file PATH] [--output-schema FILE] [prompt...]
|
|
154
|
-
delegate [--json] codex call [--read-only] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--fast|--no-fast] [--prompt-file PATH] [--output-schema FILE] [prompt...]
|
|
153
|
+
delegate [--json] [--isolation auto|none|worktree] codex {safe,work} [--model <alias-or-model>] [--reasoning-effort LEVEL] [--fast|--no-fast] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [--output-schema FILE] [prompt...]
|
|
154
|
+
delegate [--json] codex call [--read-only] [--timeout SECONDS] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--fast|--no-fast] [--prompt-file PATH] [--output-schema FILE] [prompt...]
|
|
155
155
|
```
|
|
156
156
|
|
|
157
157
|
- Safe mode reviews your **current working tree** — uncommitted tracked edits and untracked, non-ignored files are mirrored into an isolated throwaway copy (only gitignored paths are excluded), so you can review local changes without committing first or pasting a diff. Codex safe always uses `--sandbox read-only`. Under `--isolation auto`, Codex safe is the only safe harness that may opt out with `--isolation none`, because Codex still keeps its read-only sandbox active.
|
|
@@ -178,8 +178,8 @@ delegate --isolation worktree codex work "Implement the feature in a persistent
|
|
|
178
178
|
Usage:
|
|
179
179
|
|
|
180
180
|
```bash
|
|
181
|
-
delegate [--json] [--isolation auto|none|worktree] claude {safe,work} [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
182
|
-
delegate [--json] claude call [--read-only] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--prompt-file PATH] [prompt...]
|
|
181
|
+
delegate [--json] [--isolation auto|none|worktree] claude {safe,work} [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
182
|
+
delegate [--json] claude call [--read-only] [--timeout SECONDS] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--prompt-file PATH] [prompt...]
|
|
183
183
|
```
|
|
184
184
|
|
|
185
185
|
- Safe mode reviews your **current working tree** — uncommitted tracked edits and untracked, non-ignored files are mirrored into an isolated throwaway copy (only gitignored paths are excluded), so you can review local changes without committing first or pasting a diff. Under `--isolation auto`, Claude safe uses `--permission-mode plan`, `--strict-mcp-config`, Read/Grep/Glob, and selected read-only Bash tools such as `git diff`/`git status`.
|
|
@@ -204,8 +204,8 @@ delegate --isolation worktree claude work "Implement the feature in a persistent
|
|
|
204
204
|
Usage:
|
|
205
205
|
|
|
206
206
|
```bash
|
|
207
|
-
delegate [--json] [--isolation auto|none|worktree] grok {safe,work} [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
208
|
-
delegate [--json] grok call [--read-only] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--prompt-file PATH] [prompt...]
|
|
207
|
+
delegate [--json] [--isolation auto|none|worktree] grok {safe,work} [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
208
|
+
delegate [--json] grok call [--read-only] [--timeout SECONDS] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--prompt-file PATH] [prompt...]
|
|
209
209
|
```
|
|
210
210
|
|
|
211
211
|
- Safe mode reviews your **current working tree** in an isolated throwaway copy plus Grok read-only controls (`--sandbox read-only`, `--permission-mode dontAsk` by default). Delegate does not use Grok `plan` mode for safe review.
|
|
@@ -229,8 +229,8 @@ delegate --isolation worktree grok work "Implement the feature in a persistent w
|
|
|
229
229
|
Wraps OpenCode's non-interactive `run` command.
|
|
230
230
|
|
|
231
231
|
```bash
|
|
232
|
-
delegate [--json] [--isolation auto|none|worktree] opencode {safe,work} [--model <alias-or-model>] [--reasoning-effort LEVEL] [--agent NAME] [--progress] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
233
|
-
delegate [--json] opencode call [--read-only] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--agent NAME] [--prompt-file PATH] [prompt...]
|
|
232
|
+
delegate [--json] [--isolation auto|none|worktree] opencode {safe,work} [--model <alias-or-model>] [--reasoning-effort LEVEL] [--agent NAME] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
233
|
+
delegate [--json] opencode call [--read-only] [--timeout SECONDS] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--agent NAME] [--prompt-file PATH] [prompt...]
|
|
234
234
|
```
|
|
235
235
|
|
|
236
236
|
- Safe mode reviews the current working tree in an isolated throwaway copy. It
|
|
@@ -272,7 +272,8 @@ delegate [--json] opencode call [--read-only] [--model <alias-or-model>] [--reas
|
|
|
272
272
|
`workflows.engineCaps` like other engines.
|
|
273
273
|
- OpenCode currently buffers stdout until completion, so progress can remain
|
|
274
274
|
silent even though `--print-logs` stderr is visible. Sessions accumulate in
|
|
275
|
-
the user's global OpenCode state. Call mode has no Delegate timeout
|
|
275
|
+
the user's global OpenCode state. Call mode has no Delegate timeout unless
|
|
276
|
+
`--timeout` is set.
|
|
276
277
|
|
|
277
278
|
Examples:
|
|
278
279
|
|
|
@@ -288,15 +289,16 @@ delegate --isolation worktree opencode work "Implement the feature in a persiste
|
|
|
288
289
|
Usage:
|
|
289
290
|
|
|
290
291
|
```bash
|
|
291
|
-
delegate [--json] [--isolation auto|none|worktree] kimi {safe,work} [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
292
|
-
delegate [--json] kimi call [--read-only] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--prompt-file PATH] [prompt...]
|
|
292
|
+
delegate [--json] [--isolation auto|none|worktree] kimi {safe,work} [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH] [prompt...]
|
|
293
|
+
delegate [--json] kimi call [--read-only] [--timeout SECONDS] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--prompt-file PATH] [prompt...]
|
|
293
294
|
```
|
|
294
295
|
|
|
295
296
|
- Safe mode reviews your **current working tree** — uncommitted tracked edits and untracked, non-ignored files are mirrored into an isolated throwaway copy (only gitignored paths are excluded), so you can review local changes without committing first or pasting a diff. Under `--isolation auto`, Kimi safe uses a read-only safety prompt. Delegate intentionally avoids Kimi `--plan` in safe mode. Kimi prompt mode auto-approves tool actions, so the isolation is the effective write boundary; the safety prompt is advisory.
|
|
296
297
|
- Work mode uses Kimi prompt mode and runs in the real workspace unless you opt into worktree isolation. Delegate does not emit `--yolo` because Kimi rejects combining `--yolo` with `--prompt`.
|
|
297
298
|
- Model selection uses `--model` (alias from `kimi.models` or a raw model ID), the run-input JSON `model`, or `kimi.defaultModel`.
|
|
298
|
-
- `--reasoning-effort` is
|
|
299
|
+
- `--reasoning-effort` is rejected for Kimi: the Kimi CLI exposes no effort flag, and k3 supports effort internally via `~/.kimi-code/config.toml`.
|
|
299
300
|
- Kimi prompt text is passed via argv.
|
|
301
|
+
- Run JSON reports `usage: unavailable` for Kimi — expected: the Kimi CLI (verified 0.26.0) emits no usage/token lines in stream-json output, so there is nothing to parse.
|
|
300
302
|
|
|
301
303
|
Examples:
|
|
302
304
|
|
|
@@ -430,11 +432,13 @@ and ambient customization, disables session persistence, and receives the prompt
|
|
|
430
432
|
only on stdin. Use `--output-schema FILE` with Claude (schema contents inline)
|
|
431
433
|
or with ordinary Codex call mode (schema path).
|
|
432
434
|
|
|
433
|
-
`--timeout SECONDS` is a positive integer
|
|
434
|
-
|
|
435
|
-
`call_timeout`
|
|
435
|
+
`--timeout SECONDS` is a positive integer accepted in every mode. It bounds
|
|
436
|
+
calls and tracked `safe`/`work` runs alike: on expiry Delegate terminates the
|
|
437
|
+
whole child process group and returns `call_timeout` (a historical error-code
|
|
438
|
+
name kept for API stability) with exit code 1. `--timeout` is not supported
|
|
439
|
+
with `--pass-through`, which streams the child without a tracked deadline.
|
|
436
440
|
|
|
437
|
-
`--read-only
|
|
441
|
+
`--read-only` and `--pure` apply only to `call`; passing them with
|
|
438
442
|
`safe`/`work` is rejected. Empty-result retry applies to safe runs and read-only
|
|
439
443
|
calls when the prompt can be safely extended; write-capable, pure, and verbatim
|
|
440
444
|
calls are not retried.
|
|
@@ -579,6 +583,7 @@ Supported input keys:
|
|
|
579
583
|
"progress": true,
|
|
580
584
|
"forbidCommit": true,
|
|
581
585
|
"includeDirty": true,
|
|
586
|
+
"timeout": 30,
|
|
582
587
|
"outputSchema": "/path/to/schema.json",
|
|
583
588
|
"prompt": "Implement the scoped task and report changed files."
|
|
584
589
|
}
|
|
@@ -595,6 +600,7 @@ Supported input keys:
|
|
|
595
600
|
- `progress`: optional boolean. `true` enables parent progress heartbeats on stderr; `false` disables them even when `progress.enabled` is true in config. When omitted, config `progress.enabled` applies (default `false`). `mode: "call"` rejects progress.
|
|
596
601
|
- `forbidCommit`: optional boolean. `true` requires `mode: "work"` with persistent worktree isolation and fails the run if the child creates commits. `mode: "call"` rejects commit policy.
|
|
597
602
|
- `includeDirty`: optional boolean. `true` requires `mode: "work"` with persistent worktree isolation and syncs tracked edits plus untracked non-ignored files into the new worktree before launch.
|
|
603
|
+
- `timeout`: optional positive integer seconds, with the same semantics as `--timeout`. Non-integer, boolean, or non-positive values fail with `invalid_timeout`; combining it with pass-through is rejected.
|
|
598
604
|
- `outputSchema`: optional path to a JSON Schema for the final message. Supported for Codex and Claude call mode (same semantics as `--output-schema`). Other engines fail with `unsupported_output_schema`.
|
|
599
605
|
- `prompt`: required task prompt.
|
|
600
606
|
|
|
@@ -123,7 +123,7 @@ layers. This is read-only observability; inspecting it does not modify
|
|
|
123
123
|
},
|
|
124
124
|
"kimi": {
|
|
125
125
|
"binary": "kimi",
|
|
126
|
-
"defaultModel": "kimi-code/
|
|
126
|
+
"defaultModel": "kimi-code/k3",
|
|
127
127
|
"defaultReasoningEffort": null
|
|
128
128
|
},
|
|
129
129
|
"workflows": {
|
|
@@ -353,7 +353,7 @@ Controls local run recording.
|
|
|
353
353
|
{
|
|
354
354
|
"kimi": {
|
|
355
355
|
"binary": "kimi",
|
|
356
|
-
"defaultModel": "kimi-code/
|
|
356
|
+
"defaultModel": "kimi-code/k3",
|
|
357
357
|
"defaultReasoningEffort": null,
|
|
358
358
|
"models": {}
|
|
359
359
|
}
|
|
@@ -361,7 +361,7 @@ Controls local run recording.
|
|
|
361
361
|
```
|
|
362
362
|
|
|
363
363
|
- `binary`: path to the `kimi` executable.
|
|
364
|
-
- `defaultModel`: default Kimi model alias (e.g. `kimi-code/
|
|
364
|
+
- `defaultModel`: default Kimi model alias (e.g. `kimi-code/k3`). Set to `null` to let Kimi use its own configured default.
|
|
365
365
|
- `models`: optional map of local aliases to Kimi model IDs for `--model` / JSON `model`. Alias keys must not collide with mode names, equal the engine's own name, or start with `-`.
|
|
366
366
|
- `defaultReasoningEffort`: not supported in v1; must be `null`.
|
|
367
367
|
- Kimi's thinking/effort level is configured in `~/.kimi-code/config.toml`, not through Delegate.
|
|
@@ -99,7 +99,7 @@ Common causes:
|
|
|
99
99
|
- Droid or Codex model support is not in config, the workspace cache, or bundled fallback data.
|
|
100
100
|
- The effort string is misspelled. Delegate treats labels literally and does not translate between provider naming schemes.
|
|
101
101
|
|
|
102
|
-
These failures apply to explicit per-run effort (`--reasoning-effort` or JSON run input). For Cursor, Droid, and Codex, a config `defaultReasoningEffort` that cannot be satisfied does not fail the run; the run proceeds without reasoning effort and records a warning in the dry-run payload, manifest, and snapshot. Claude config defaults are validated against its static native labels at config load. Kimi
|
|
102
|
+
These failures apply to explicit per-run effort (`--reasoning-effort` or JSON run input). For Cursor, Droid, and Codex, a config `defaultReasoningEffort` that cannot be satisfied does not fail the run; the run proceeds without reasoning effort and records a warning in the dry-run payload, manifest, and snapshot. Claude config defaults are validated against its static native labels at config load. For Kimi, `--reasoning-effort` is rejected outright: the Kimi CLI exposes no effort flag (k3 supports effort internally via `~/.kimi-code/config.toml`), so `kimi.defaultReasoningEffort` must stay `null`.
|
|
103
103
|
|
|
104
104
|
For private or newly released models, declare support in `reasoning.capabilities` in config. Inspect first with plain `capabilities`. To refresh workspace-local discovered data, run:
|
|
105
105
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "delegate-agent-cli"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.16.0"
|
|
8
8
|
description = "A tiny CLI for delegating bounded agent tasks to Cursor, Droid, OpenAI Codex, Claude Code, Grok Build, or Kimi Code runtimes."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
{delegate_agent_cli-0.15.0 → delegate_agent_cli-0.16.0}/src/delegate_agent/bundled_models.py
RENAMED
|
@@ -70,8 +70,9 @@ BUNDLED_MODELS: dict[str, tuple[BundledModelEntry, ...]] = {
|
|
|
70
70
|
{"id": "grok-4.5-fast"},
|
|
71
71
|
),
|
|
72
72
|
"kimi": (
|
|
73
|
+
{"id": "kimi-code/k3"},
|
|
73
74
|
{"id": "kimi-code/kimi-for-coding"},
|
|
74
|
-
{"id": "kimi-
|
|
75
|
+
{"id": "kimi-code/kimi-for-coding-highspeed"},
|
|
75
76
|
),
|
|
76
77
|
"opencode": (
|
|
77
78
|
{"id": "opencode/claude-opus-4-5"},
|
|
@@ -669,7 +669,7 @@ def execute_request(
|
|
|
669
669
|
timeout=request.timeout,
|
|
670
670
|
)
|
|
671
671
|
except delegate_runner.RunnerLaunchError as exc:
|
|
672
|
-
raise DelegateError(exc.error, exc.message) from exc
|
|
672
|
+
raise DelegateError(exc.error, exc.message, exc.exit_code) from exc
|
|
673
673
|
try:
|
|
674
674
|
sensitive_texts = [request.prompt]
|
|
675
675
|
if "--json-schema" in request.argv:
|
|
@@ -802,7 +802,7 @@ def execute_request(
|
|
|
802
802
|
)
|
|
803
803
|
)
|
|
804
804
|
except worktree_execution.PersistentWorktreeError as exc:
|
|
805
|
-
raise DelegateError(exc.error, exc.message) from exc
|
|
805
|
+
raise DelegateError(exc.error, exc.message, exc.exit_code) from exc
|
|
806
806
|
|
|
807
807
|
with safe_isolated_request(request) as isolated_request:
|
|
808
808
|
_set_child_root_env(isolated_request, source_workspace)
|
|
@@ -879,9 +879,10 @@ def execute_request(
|
|
|
879
879
|
progress=isolated_request.progress,
|
|
880
880
|
progress_initial_delay_sec=isolated_request.progress_initial_delay_sec,
|
|
881
881
|
progress_interval_sec=isolated_request.progress_interval_sec,
|
|
882
|
+
timeout=isolated_request.timeout,
|
|
882
883
|
)
|
|
883
884
|
except delegate_runner.RunnerLaunchError as exc:
|
|
884
|
-
raise DelegateError(exc.error, exc.message) from exc
|
|
885
|
+
raise DelegateError(exc.error, exc.message, exc.exit_code) from exc
|
|
885
886
|
|
|
886
887
|
|
|
887
888
|
def shell_join(argv: list[str]) -> str:
|
|
@@ -727,8 +727,12 @@ def parse_modeless_engine(
|
|
|
727
727
|
if fast is not None and engine != "codex":
|
|
728
728
|
raise DelegateError("unsupported_fast", "--fast and --no-fast are only supported by codex.")
|
|
729
729
|
_validate_pure_options(engine, mode, pure=pure, read_only=read_only, group=group)
|
|
730
|
-
if timeout is not None and
|
|
731
|
-
raise DelegateError(
|
|
730
|
+
if timeout is not None and pass_through:
|
|
731
|
+
raise DelegateError(
|
|
732
|
+
"invalid_option_combination",
|
|
733
|
+
"--timeout is not supported with --pass-through; "
|
|
734
|
+
"pass-through runs have no tracked deadline.",
|
|
735
|
+
)
|
|
732
736
|
forbid_commit_implied_isolation = False
|
|
733
737
|
if forbid_commit and mode == "work" and isolation is None:
|
|
734
738
|
isolation = "worktree"
|
|
@@ -848,8 +852,12 @@ def parse_droid(
|
|
|
848
852
|
if fast is not None:
|
|
849
853
|
raise DelegateError("unsupported_fast", "--fast and --no-fast are only supported by codex.")
|
|
850
854
|
_validate_pure_options("droid", mode, pure=pure, read_only=read_only, group=group)
|
|
851
|
-
if timeout is not None and
|
|
852
|
-
raise DelegateError(
|
|
855
|
+
if timeout is not None and pass_through:
|
|
856
|
+
raise DelegateError(
|
|
857
|
+
"invalid_option_combination",
|
|
858
|
+
"--timeout is not supported with --pass-through; "
|
|
859
|
+
"pass-through runs have no tracked deadline.",
|
|
860
|
+
)
|
|
853
861
|
forbid_commit_implied_isolation = False
|
|
854
862
|
if forbid_commit and mode == "work" and isolation is None:
|
|
855
863
|
isolation = "worktree"
|