Skip to content

Agent! 1.1.33.233

Latest

Choose a tag to compare

@AgentiLoop AgentiLoop released this 12 Sep 02:03
· 147 commits to main since this release

Celebrating 600 Stars

image

🧠 Context Compaction Rebuild

  • Compaction threshold = context window βˆ’ reserved output βˆ’ buffer; real input_tokens from the provider drive the trigger (766ad346)
  • Provider-side 9-section LLM summary (compactWithLLM) replaces on-device 4K summaries β€” cache-friendly append + frozen rebuild (8c2f60e6)
  • Open goal, plan checklist and edited files are re-attached after compaction; read-dedup resets (57d70491)
  • Goal/plan/ask_user results protected from microcompact; 413 overflow routes through forced LLM compaction with a shorter-request retry (7d1397f6)
  • Time-based microcompact at task start; oversized tool results persisted at emission (1ad1c821, eab1bde7)
  • max_tokens recovery: escalate first, then continue; lower max_tokens on "input + max_tokens exceed context limit" instead of pruning (0551063a, dc628bed)
  • Recoverable tool-result stubs now carry age + provenance β€” ToolResultCache spills a .meta sidecar (tool name, input, capture time); restore_tool_result prepends a provenance header and a STALE warning when the file changed since capture; Tier 0 (LLM summary) and Tier 2 (prune) now spill block-array tool results too (aa4f377f)
  • Cap the chat-history block in the system prompt β€” recent-task log to 40K chars (tail kept), older-task lines to 500 chars; fixes multi-MB system prompts (3.8M tokens) that message compaction could never shrink (0b4de3db)

πŸ›‘οΈ Edit Safety β€” Read-Before-Edit Gate

  • Edits to files that were never read, or changed on disk since the last read, are refused (sha256 gate) (ce84735f)
  • Refusal auto-reads the file so the very next call can be the edit; stronger prompt rule (cfd921f0)
  • Gate applied to tab tasks as well (5ddd408c)
  • Softer read-dedup: re-send content with a duplicate note instead of blocking (1ead45f8)

πŸ”’ Security & Robustness

  • Daemon-side ShellSafetyService enforcement in AgentHelper + AgentUser β€” same rules as the client, defense-in-depth (f9d22410)
  • XPCClientTrust: release builds reject un-teamed XPC clients (6f8ccb0e)
  • Fixed Process pipe deadlocks (read stdout before waitUntilExit) at 10 sites β€” batch cmds, FileTools, git status, osascript, gh release, swiftc runner, Ollama health-check (52b8c71d, 7a649a29)
  • WebAutomationService: cleanExpiredCache now takes cacheLock (f61f31e4)
  • Fixed crash in async tab render: attachment cells built on main (a36559a5)
  • Fixed services mutated-after-capture in overflowCompactor (64d74150)

πŸ”Œ Providers & Streaming

  • Claude / OpenAI-compatible / Ollama streams surface mid-stream error events and honor cancellation per line (65dbb751, 80cb837c, cfe7bb1c)
  • LLMRateLimiter.recordIfRateLimited dedupes 429/529 Retry-After handling across all services (2d32f4c7)
  • Jittered exponential retry delay + Retry-After (c45fff87)
  • Fixed 400 "text.content: Extra inputs are not permitted" β€” nudges no longer write content onto text blocks (55f91049)
  • Read-only tools start while the Claude response is still streaming (92895814)
  • One-shot cache-warmth note once a β‰₯1M window passes 25% usage (70474a3d)
  • OpenAIToolCallParsing extracted from OpenAICompatibleService; DSML non-string params parse JSON fragments (e708b6ec, 1c3d1c45)

πŸ” Task Loop & Completion Gates

  • task_complete runs completion gates and clears goal state; premature completion on narrated done/task_complete fixed (b5320050, beed0d35)
  • Drop bare stop-phrase completion; treat tool_use-without-results as text-only (487cb864)
  • Verify gate builds the open project related to the task's folder and recognizes every edit tool recorded in commandsRun (7c4acb7f, c37aa2bc)
  • XcodeService.buildProject emits BUILD SUCCEEDED / BUILD FAILED markers the gates actually check (778a12cd)
  • Never orphan a tool_use: blocks with unparsable name/input are dispatched; nudges appended onto tool_result content (5283b9da, 66fcec5a)
  • Completion-gate refusals capped at 3 per task; edit-cycle detector reset at task start; periodic goal-state reminder every 10 turns (877be7fb, 8f6a7d93, 2749be08)
  • Sub-agent results delivered honestly; external file changes surfaced each turn as diff snippets (8d39ba1e, 06039927)
  • Input-aware shell concurrency classification; stop pre-validating paths inside free-form shell text (4940a7e7, 35cafad3)

🧰 Tool Routing Fixes

  • file(action:"read_dir") routes to the read_dir handler; safari(action:"search") routes to in-browser search (8c4180f3, 9ea6756f)
  • accessibility(clipboard) reads the verb from sub_action (c8ef8a8b)
  • batch_tools / multi sub-tasks route through handleFileTool so read_file works (b5da6bb3)
  • Xcode tool gating walks up parent dirs; mkdir no longer switches the project folder into hidden dirs (1b256268)
  • Read-only tool batches stay filled up to the concurrency limit instead of dispatching short batches (d09a3dee)

πŸ–₯️ Activity Log & UI

  • Large tab logs render off-main with a determinate 0–100% "Processing tab data…" overlay; progress now chunked so the bar moves from 0% instead of stalling (1a41a107, 6446531d, 6a8c248a, d25a136d, e50bf353)
  • Activity log no longer truncates at 50K; render path is append-only; 500K restore-time trim removed (d118c12e, 22b67c62)
  • New "Activity Log Below HUD" option (832a2bef)
  • Steps list: drag-to-resize height + "Auto-scroll Steps" preference that follows the newest step unless the mouse hovers (6af19ee3)
  • Per-tab Steps list, HUD height and Steps expanded state persist across launches (145a2b98, cd76f04f)

πŸ“– READMEs

  • Overhauled English README (218 lines, v1.1.x What's New) and synced DE/ES/FR/ZH (c356ef28, 5c4ffbe1)
  • AgentScript fully documented: compile/dlopen model, script_main, AGENT_PROJECT_FOLDER / AGENT_SCRIPT_ARGS contract, <Name>_input/_output.json convention, real shipped examples (f40c541c, 17a92a91, 8c210bed, 817f1b52)
  • Headers renamed to "AgentiLoop Agent! for Mac" (b9154741, fe1a2f5b)

πŸ“¦ Dependencies

  • AgentiLoop packages updated to fixed releases β€” Access 2.10.13, Audit 1.3.3, ColorSyntax 1.2.4, D1F 1.0.8, EventBridges 1.1.3, LLM 1.0.4, MCP 1.6.4, Swift 1.1.5, TerminalNeo 1.37.5, Tools 2.53.9; AX success responses parsed as JSON instead of substring match (bfab6952)

βœ… Tests

  • Full suite green β€” 273/273 (deb72371, 28c92161)
  • New coverage: LLM compaction (threshold formula, usage-driven measure, frozen rebuild, failure no-op, protected microcompact), edit gate, ToolErrorClassifier, FallbackChainService, provider parsers (Ollama tool-call extractors, CodexJWT, CodexPatchApplier, OpenAIToolCallParsing), Apple AI (Tier 1) vs non-Apple (Tier 0/2) compaction ladder (8c4eaf88, f15abf7c, 51e02cfd, 1c3d1c45, e708b6ec, 43142745)
  • System prompt now documents the read-before-edit gate (d94b8271)
  • Thanks to @chiliec and @harshitethic for the test contributions (#40, #43)

πŸŽ‚ Repo

  • Track .claude/CLAUDE.md β€” record Agent! official birthday (April 1st) (9780eace)
  • New release at 600 stars (8653bc8f)

Full Changelog: v1.1.9.205...v1.1.33.233