Commit Graph

4676 Commits

Author SHA1 Message Date
Peter Steinberger
78e9e6ef50 refactor(ios): require bridge stable ID 2026-01-10 16:23:53 +00:00
Peter Steinberger
f012e08074 refactor(shared): default ToolDisplay config 2026-01-10 16:23:53 +00:00
Peter Steinberger
68927ca21c refactor(apple): share AsyncTimeout helper 2026-01-10 16:23:53 +00:00
Peter Steinberger
e55a72e3ea fix(gateway): harden chat abort semantics 2026-01-10 17:23:27 +01:00
Peter Steinberger
d793546d1c Merge pull request #446 from tony-freedomology/feat/human-delay
feat(agent): add human-like delay between block replies
2026-01-10 16:16:52 +00:00
Peter Steinberger
501677d142 fix: finalize human delay config typing (#446) (thanks @tony-freedomology) 2026-01-10 17:15:27 +01:00
Lloyd
f0fe89439a feat(agent): add human-like delay between block replies
Adds `agent.humanDelay` config option to create natural rhythm between
streamed message bubbles. When enabled, introduces a random delay
(default 800-2500ms) between block replies, making multi-message
responses feel more like natural human texting.

Config example:
```json
{
  "agent": {
    "blockStreamingDefault": "on",
    "humanDelay": {
      "enabled": true,
      "minMs": 800,
      "maxMs": 2500
    }
  }
}
```

- First message sends immediately
- Subsequent messages wait a random delay before sending
- Works with iMessage, Signal, and Discord providers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 17:12:50 +01:00
Peter Steinberger
4110df284e Merge pull request #642 from mukhtharcm/fix/workspace-path-resolution
fix(tools): resolve Read/Write/Edit paths against workspace directory
2026-01-10 16:11:13 +00:00
Peter Steinberger
7b0e236bca fix: log workspace tool path resolution (#642) (thanks @mukhtharcm) 2026-01-10 17:09:56 +01:00
Muhammed Mukhthar CM
d9fdd6e189 fix(tools): resolve Read/Write/Edit paths against workspace directory
Previously, Read/Write/Edit tools used the global tool instances from
pi-coding-agent which had process.cwd() baked in at import time. Since
the gateway starts from /root/dev/ai/clawdbot, relative paths like
'SOUL.md' would incorrectly resolve there instead of the agent's
workspace (/root/clawd).

This fix:
- Adds workspaceDir option to createClawdbotCodingTools
- Creates fresh Read/Write/Edit tools bound to workspaceDir
- Adds cwd option to Bash tool defaults for consistency
- Passes effectiveWorkspace from pi-embedded-runner

Absolute paths and ~/... paths are unaffected. Sandboxed sessions
continue to use sandbox root as before.

Includes tests for Read/Write/Edit workspace path resolution.
2026-01-10 17:08:56 +01:00
Peter Steinberger
40b7c10e17 docs: update changelog (#662) 2026-01-10 16:04:32 +00:00
Peter Steinberger
3e38e020ef chore(docs): quiet docs build output 2026-01-10 16:04:32 +00:00
Peter Steinberger
845c60bcdb fix(android): enforce strict lint checks 2026-01-10 16:04:32 +00:00
Peter Steinberger
b530f4d437 fix(macos): improve activity tool labels 2026-01-10 16:04:32 +00:00
Peter Steinberger
12e600152b fix(ios): enable strict concurrency checks 2026-01-10 16:04:32 +00:00
Kristijan Jovanovski
81ff2f2736 fix(ios): add Swift 6 strict concurrency compatibility
Applies the same Swift 6 compatibility patterns from PR #166 (macOS) to the iOS app.

Changes:
- LocationService.swift: Added Sendable constraint to withTimeout<T> generic,
  made CLLocationManagerDelegate methods nonisolated with Task { @MainActor in }
  pattern to safely access MainActor state
- TalkModeManager.swift: Fixed OSLog string interpolation to avoid operator
  overload issues with OSLogMessage in Swift 6

Addresses #164

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 16:04:32 +00:00
Peter Steinberger
37fb47f572 chore: format reply session 2026-01-10 17:03:17 +01:00
Peter Steinberger
a8461114a3 fix: make chat.send non-blocking 2026-01-10 17:02:28 +01:00
Peter Steinberger
0078ddb13b docs(changelog): note native /model fix 2026-01-10 16:52:14 +01:00
Peter Steinberger
8cf9106819 test(auto-reply): cover native /model session routing 2026-01-10 16:50:32 +01:00
Peter Steinberger
ba6869a708 fix(auto-reply): apply native commands to target session 2026-01-10 16:48:53 +01:00
Peter Steinberger
1f0d451dec docs: use providers login 2026-01-10 16:44:59 +01:00
Peter Steinberger
2b478b2e0b fix: harden cli credential sync 2026-01-10 16:37:54 +01:00
Peter Steinberger
f5023e9ee8 fix(pairing): accept positional provider args 2026-01-10 16:36:43 +01:00
Peter Steinberger
23935ee3b1 feat: add ZAI auth choice 2026-01-10 16:32:21 +01:00
Peter Steinberger
7b0c891be9 fix: harden cli credential sync 2026-01-10 16:25:40 +01:00
Peter Steinberger
c5dce1a023 fix: doctor ignore install dir in legacy workspace check 2026-01-10 16:23:35 +01:00
Peter Steinberger
c4a0601feb Merge pull request #650 from henrino3/showcase-2026-01-10
docs(showcase): add ParentPay, R2 Upload, iOS TestFlight, Oura Health
2026-01-10 15:18:03 +00:00
Peter Steinberger
171682b20a test: clean up lint warnings 2026-01-10 16:17:02 +01:00
Peter Steinberger
689fbdb591 fix: update showcase changelog (#650) (thanks @henrino3) 2026-01-10 16:16:48 +01:00
henrymascot
fb1fdb9c6f docs(showcase): add ParentPay, R2 Upload, iOS TestFlight, Oura Health
New community showcase entries from Discord #showcase:
- ParentPay School Meals (@George5562) - UK school meal automation
- R2 Upload (@julianengel) - presigned URL file sharing
- iOS App via Telegram (@coard) - full iOS app built via chat
- Oura Ring Health Assistant (@AS) - health/calendar integration
2026-01-10 16:15:55 +01:00
Peter Steinberger
170bb437c5 refactor: unify configure auth choice 2026-01-10 16:14:49 +01:00
Peter Steinberger
293a4f2005 docs: remove legacy bundled gateway doc 2026-01-10 16:03:36 +01:00
Peter Steinberger
58b6c95098 refactor: tidy mac bundled gateway packaging 2026-01-10 16:03:36 +01:00
Peter Steinberger
ca9dbffa31 fix(agents): suppress partial replies with reasoning 2026-01-10 16:03:17 +01:00
Peter Steinberger
058dff59a7 refactor(sessions): add mergeSessionEntry 2026-01-10 16:03:17 +01:00
Peter Steinberger
1b556c089b refactor: centralize messaging dedupe helpers 2026-01-10 16:02:56 +01:00
Peter Steinberger
a40edcf4f9 Merge pull request #654 from radek-paclt/fix/claude-cli-oauth-refresh
fix(auth): enable OAuth refresh for Claude CLI credentials
2026-01-10 14:51:29 +00:00
Peter Steinberger
77daccd335 fix: prevent claude-cli oauth downgrade (#654) (thanks @radek-paclt) 2026-01-10 15:50:25 +01:00
Radek Paclt
71bca07533 fix(auth): enable OAuth refresh for Claude CLI credentials
When Claude CLI credentials (anthropic:claude-cli) expire, automatically
refresh using the stored refresh token instead of failing with
"No credentials found" error.

Changes:
- Read refreshToken from Claude CLI and store as OAuth credential type
- Implement bidirectional sync: after refresh, write new tokens back to
  Claude Code storage (file on Linux/Windows, Keychain on macOS)
- Prefer OAuth over Token credentials (enables auto-refresh capability)
- Maintain backward compatibility for credentials without refreshToken

This enables long-running agents to operate autonomously without manual
re-authentication when OAuth tokens expire.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-10 15:40:27 +01:00
Peter Steinberger
cb749abf53 Merge pull request #655 from antons/fix/reasoning-imsg
Fix reasoning in iMessage
2026-01-10 14:39:14 +00:00
Peter Steinberger
1377842748 fix: reasoning iMessage sessions + final reply (#655) (thanks @antons) 2026-01-10 15:31:57 +01:00
Peter Steinberger
f5a2b40e71 Merge pull request #659 from mickahouan/fix/dedupe-message-tool
Fix: avoid duplicate replies when message tool sends
2026-01-10 14:30:02 +00:00
Peter Steinberger
c65b75ee8f fix: bundle node runtime for mac app 2026-01-10 15:28:37 +01:00
Peter Steinberger
71d1d91d32 fix: dedupe message tool replies (#659) (thanks @mickahouan) 2026-01-10 15:28:13 +01:00
Anton Sotkov
a8ace08e40 fix: send only final answer with reasoning
When reasoning is enabled on non‑block providers, we now ignore interim streaming chunks and send only the final assistant answer at completion, so replies aren’t partial or duplicated.
2026-01-10 15:28:04 +01:00
Anton Sotkov
8f4567d02c fix(sessions): persist reasoning/elevated across DMs 2026-01-10 15:28:04 +01:00
Mickaël Ahouansou
34d3bfbf8e Fix: dedupe message tool sends 2026-01-10 15:25:20 +01:00
henrymascot
6bbac66a27 docs(showcase): add Adam H's multi-agent swarm
- 14+ Clawdbot agents under single gateway
- Opus 4.5 orchestrator + Codex workers
- Self-maintaining agent architecture
- Open-sourced clawdspace sandbox
2026-01-10 14:21:18 +00:00
Peter Steinberger
add33d126b Merge pull request #656 from mneves75/feat/minimax-api-auth-v2
Config: add MiniMax direct API authentication option
2026-01-10 14:13:24 +00:00