[pull] main from ultraworkers:main#1
Open
pull[bot] wants to merge 1662 commits into
Open
Conversation
8cadf36 to
0e12d15
Compare
…t now parse normally
…r_kind and non-null hint
…mit typed error_kind and hint
…ing_flag_value prefix + hint
…tor so hint is non-null
…gs with hint; track #767 session subcommand gap
…_resume_argument + hint
… falling to credential check
…eractive_only instead of falling to credential check
…ve_only instead of credential check
…teractive_only guidance
…ngs in warnings[] array instead of only stderr text
#774 hint fields; fix stale classifier unit test string
…ll hint (invalid_history_count, session action errors)
…ind + non-null hint instead of unknown+null
…le remediation text for warn/fail checks
…kind + non-null hint
…binding and no_managed_sessions shadowed by generic session_load_failed arm
…http_error; add fallback_hint_for_error_kind for hint-less API errors
Top-level 'claw --output-format json help' now includes a 'commands' array with name, summary, and resume_supported for each registered slash command, plus 'total_commands' count. Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
/config help now returns a list of available config sections in both text and JSON mode instead of treating 'help' as an unsupported section. Text mode shows available sections with descriptions. JSON mode returns available_sections array with loaded_keys count. Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
- /config help now returns available_sections array and loaded_keys count instead of treating 'help' as an unsupported section - Updated test to exclude 'help' from unsupported sections test - Added new test config_help_returns_structured_section_list_344 Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
/tasks was marked resume_supported but rejected in resume mode. Now returns a structured JSON response with kind:'tasks' and note that background tasks are only available in the interactive REPL. Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
--compact was silently ignored when used with non-prompt commands like claw --compact status or claw --compact config. Now returns a typed error with guidance on proper usage. Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
/model was in the unsupported resume group but is a read-only command that can safely return model configuration. Now returns default_model, configured_model, resolved_model, and requested_model in JSON mode. Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
342: /commands command-index alias is now covered by /help --output-format json which returns structured commands array with 139 entries (name, summary, resume_supported per command). Implemented in #325. Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
Add friendly_cwd() helper that strips /private prefix on macOS so status, doctor, and diff JSON output matches user-visible invocation cwd instead of the canonicalized /private/tmp path. Applied to status_context() and render_doctor_report(). Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
Verified with a roundtrip test: creating a session with usage data
({input_tokens:100, output_tokens:50}), saving to JSONL, loading via
--resume, and running /cost and /stats both return correct values.
The UsageTracker::from_session reads message.usage which is properly
serialized/deserialized by ConversationMessage::to_json/from_json.
Generated with https://github.com/Yeachan-Heo/gajae-code
Co-authored-by: Gajae Code <[email protected]>
…me mode (#113) /session switch and /session fork now return structured JSON with kind:error, error_kind:unsupported_resumed_command, and actionable hint instead of a raw error string that resume callers couldn't parse. Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
/resume mode /clear now preserves the original session_id instead of generating a new one. This prevents the filename/meta-header divergence where /session list reported an id that --resume couldn't find. Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
PermissionRule::parse now normalizes tool_name to lowercase, matching the runtime convention. Previously "Bash(rm:*)" would never match because the runtime tool name is lowercase "bash". Same fix applied to denied_tools list. Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
deep_merge_objects now concatenates arrays when both layers provide the same key. Previously permissions.allow, hooks.PreToolUse, etc. from earlier config layers (e.g. ~/.claw/settings.json) were silently discarded when a later layer (e.g. project .claw/settings.json) set the same key. Now arrays are merged additively across layers. Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
MCP server config now expands ${VAR} environment variable references
and ~/ home directory prefix in command, args, and url fields. Previously
these values were passed verbatim to execve/URL-parse, causing silent
"No such file or directory" failures for standard config patterns.
Generated with https://github.com/Yeachan-Heo/gajae-code
Co-authored-by: Gajae Code <[email protected]>
claw skills install --project <path> now installs to .claw/skills/ in the current project instead of the user-level registry. Skills installed at project level are already discovered by the existing registry system. Both text and JSON handlers updated. Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
401 and 403 errors now include a hint explaining which env vars to check for each provider (OPENAI_API_KEY, ANTHROPIC_API_KEY, etc.) and suggesting claw doctor for credential verification. Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
SessionLifecycleSummary now collects all matching tmux panes into an all_panes field and includes them in the JSON output. Previously the status command returned on the first non-idle pane, losing all other active panes in the same workspace/session. Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
Session save_to_path now wraps ENOENT errors from rotate and atomic write with a clear "possible concurrent modification" message instead of surfacing raw OS errno. Helps operators debugging race conditions when multiple claw invocations touch the same session file. Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
Updated the agents_and_skills_usage_support_help_and_unexpected_args test to match the new skills help text that includes [--project]. Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
fix: recover from llama.cpp context overflow and reqwest SSE decode failures
Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
Harden permission enforcement against sandbox bypasses
…ry-v2 feat: API timeout config, Retry-After header, configurable retry, and 400 transient retry
…fixes fix: session resume — scan all workspaces, skip current empty session
Fix formatting inconsistencies introduced by merged external PRs. Generated with https://github.com/Yeachan-Heo/gajae-code Co-authored-by: Gajae Code <[email protected]>
- OLLAMA_HOST takes priority over OPENAI_BASE_URL for local Ollama instances - No API key required; placeholder token used for Authorization header - Model names like 'qwen3:8b' bypass strict provider/model syntax validation - detect_provider_kind() checks OLLAMA_HOST first in routing cascade - ProviderClient dispatch uses from_ollama_env() when OLLAMA_HOST is set - Updated USAGE.md and docs with OLLAMA_HOST as preferred env var - Added OLLAMA_CONFIG constant and from_ollama_env() to openai_compat - Added test_ollama_host_bypasses_model_validation unit test - Supersedes PR #3213 (which had a duplicate if-let bug in mod.rs)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )