@oneciel-ai/claude-any 0.1.46 → 0.1.62

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.
package/README.md CHANGED
@@ -48,7 +48,7 @@ arguments through unchanged.
48
48
 
49
49
  Credits: One Ciel LLC
50
50
 
51
- Current version: `0.1.46`
51
+ Current version: `0.1.62`
52
52
 
53
53
  ## Why This Exists
54
54
 
@@ -338,9 +338,13 @@ steps under that larger model's supervision.
338
338
  native compatibility.
339
339
  - Compatibility test before launch, including text response, tool use, and
340
340
  tool-result round trip checks.
341
- - Runtime context reporting for vLLM/NIM when `/v1/models` exposes
342
- `max_model_len`.
343
- - Console-first pre-launch menu for SSH and terminal workflows.
341
+ - Runtime context reporting for vLLM/NIM when `/v1/models` exposes
342
+ `max_model_len`.
343
+ - Ollama model-context catalog: `claude-any ollama-catalog` downloads
344
+ `https://ollama.com/api/tags` and Ollama library tag pages, then caches real
345
+ context windows such as 256K Kimi and 1M DeepSeek models for preset filtering
346
+ and status display.
347
+ - Console-first pre-launch menu for SSH and terminal workflows.
344
348
  - Native paths where providers expose Claude/Anthropic-compatible endpoints.
345
349
  - Router mode for providers that need request/response adaptation.
346
350
  - DuckDuckGo and fetch MCP wiring for non-native providers.
@@ -381,6 +385,51 @@ steps under that larger model's supervision.
381
385
 
382
386
  ## Changelog
383
387
 
388
+ ### 0.1.62
389
+
390
+ - **Ollama context catalog**: added `claude-any ollama-catalog`, which downloads
391
+ Ollama's model list and library tag pages, strips suffixes such as `:cloud`
392
+ and `:latest`, and caches per-model context windows under
393
+ `~/.config/claude-any/ollama-model-catalog.json`.
394
+ - **Context-aware presets**: the pre-launch menu now uses the selected model's
395
+ known context capacity to hide impossible presets and expose 1M-context
396
+ presets only for models that can actually use them.
397
+ - **Native Claude Code compacting preserved**: removed the
398
+ `CLAUDE_CODE_AUTO_COMPACT_WINDOW` override so Claude Code's own compact
399
+ behavior stays in control instead of being capped too early by claude-any.
400
+ - **Live context/status accounting**: the statusline prefers Claude Code's
401
+ current session context-window telemetry when available, while router mode
402
+ continues to report upstream request tokens, retries, RPM usage, and errors.
403
+ - **Advisor and plan-mode hardening**: kept Advisor review support, stale
404
+ `ExitPlanMode` recovery, queued-command handling, and broader Claude Code hook
405
+ coverage for agent/task/team workflows on non-Anthropic providers.
406
+
407
+ ### 0.1.50
408
+
409
+ - **Dynamic timeout help**: the LLM options panel now describes
410
+ `request_timeout_ms` using the currently selected value instead of always
411
+ showing the old `300000 ms = 5 minutes` example.
412
+
413
+ ### 0.1.49
414
+
415
+ - **Streaming buffer fix**: Ollama/OpenAI-compatible streams now flush any
416
+ briefly held plan-detection text as soon as normal text streaming resumes,
417
+ instead of replaying it at the end of the response.
418
+ - **Plan mode guard**: `ExitPlanMode` tool calls are dropped when Claude Code is
419
+ no longer in plan mode, avoiding the “You are not in plan mode” dead end.
420
+
421
+ ### 0.1.48
422
+
423
+ - **Unreachable model list fix**: when a provider model endpoint cannot be
424
+ reached, the model picker no longer repopulates stale `current_model` or
425
+ `custom_models` entries from config as if they came from the new endpoint.
426
+
427
+ ### 0.1.47
428
+
429
+ - **Base URL model reset**: changing a provider Base URL now clears stale
430
+ custom/current model entries and refreshes model caches, so the model picker
431
+ cannot keep showing models from the previous endpoint.
432
+
384
433
  ### 0.1.46
385
434
 
386
435
  - **Cleaner stream options**: the LLM options menu now hides `Stream word
@@ -419,7 +468,9 @@ steps under that larger model's supervision.
419
468
  ### 0.1.40
420
469
 
421
470
  - **RPM 0 is preserved**: setting `rate_limit_rpm=0` now stores an explicit
422
- unlimited mode instead of falling back to the provider default.
471
+ unmanaged router mode instead of falling back to the provider default.
472
+ Claude Any still shows recent 60-second request usage when enabled, but it
473
+ does not claim the upstream provider is unlimited.
423
474
 
424
475
  ### 0.1.39
425
476
 
@@ -413,6 +413,25 @@ def handle_pre_tool(event: dict[str, Any]) -> None:
413
413
  )
414
414
  return
415
415
 
416
+ if tool in {"EnterPlanMode", "ExitPlanMode"}:
417
+ transcript_path = str(event.get("transcript_path") or "")
418
+ if transcript_path:
419
+ in_plan_mode = transcript_plan_mode_active(transcript_path)
420
+ if tool == "EnterPlanMode" and in_plan_mode:
421
+ log_event(f"PreToolUse denied repeated EnterPlanMode transcript={transcript_path}")
422
+ pre_deny(
423
+ "Claude Code is already in plan mode.",
424
+ "Continue the current plan-mode exploration. Do not call EnterPlanMode again.",
425
+ )
426
+ return
427
+ if tool == "ExitPlanMode" and not in_plan_mode:
428
+ log_event(f"PreToolUse denied stale ExitPlanMode transcript={transcript_path}")
429
+ pre_deny(
430
+ "Claude Code is not currently in plan mode.",
431
+ "If the plan was already approved or plan mode was exited, continue with concrete work instead of calling ExitPlanMode. If planning is required again, enter plan mode first.",
432
+ )
433
+ return
434
+
416
435
  if tool == "TaskUpdate":
417
436
  task_id = raw.get("taskId")
418
437
  status = raw.get("status")