69 Commits
Author SHA1 Message Date
Kaede Akino 3601bd0963 chore: add GPL-3.0-only license and source headers 2026-10-20 12:05:32 +08:00
Kaede AkinoandClaude Code f117777ef8 fix(assistant): unify tool rendering and stack detail fields
Use generic MCP result rendering and place labels above values on macOS and iOS. Update existing presentation expectations.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-19 16:39:10 +08:00
Kaede Akino 11e6c7ca1c chore: prune redundant tests and maintenance scripts
Remove low-value rendering, dependency-owned and script tests together with orphaned test scaffolding and obsolete wrappers. Keep state-driven visual coverage and release screenshot workflows.

Preserve incoming message origins on preparation failures, refresh tool presentation fixtures, and move shared SSH import coverage out of the iOS host test bundle to avoid duplicate static types.

Relocate the host icon input manifest, remove the heuristic AppStrings checker, and simplify localization CI.
2026-10-19 10:45:11 +08:00
Kaede AkinoandClaude Code 52ced1d570 refactor(assistant): decouple tool presentation policies
Inject tool-owned presentation profiles and semantic vocabulary, remove legacy inference and stream compatibility, and update AgentKit to 3.1.0.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-19 02:47:06 +08:00
Kaede Akino b2b3927db0 fix: mcp 2026-10-19 02:17:05 +08:00
Kaede AkinoandClaude Code c97f389bff refactor: remove verified unused Swift code
Remove unused helpers, payload fields, string accessors, imports, and test fixture storage identified by cross-platform Periphery scans.

Preserve historical SwiftData storage schemas, wire formats, and runtime lifetime anchors.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-18 16:57:37 +08:00
Kaede AkinoandClaude Code c43e5bc311 fix(assistant): preserve transcript continuity across run transitions
Separate interaction refreshes from layout invalidation on macOS and iOS. Retain active editors across edit-eligibility changes and cover hosting identity, input composition, navigation controls, and model-driven streaming replay.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-18 14:15:04 +08:00
Kaede Akino 286045ab24 refactor: ui perf 2026-10-18 12:44:38 +08:00
Kaede AkinoandClaude Code 72eaa65caf refactor: share connection and assistant policies
Centralize Journey mapping, interaction ordering, and localized tool presentation; remove redundant multiplexer and paywall state. Consume AgentKit 2.2.0 for shared operation, output, and transcript contracts, and correct its maintenance checkout documentation.

Validation: AgentKit 304 tests and local-package macOS/shared 215 regressions passed. iOS app built; 38 focused tests reported passing with an existing broken fixture excluded, but Xcode finalization stalled. Default macOS tests retain timeouts and Secure Enclave failures. A subsequent remote-pin build reported AgentTranscriptMessage.toolResult unavailable; it has not been diagnosed.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-18 09:49:24 +08:00
Kaede Akino 3d246294bf refactor(assistant): use tool-registered presentation policies 2026-10-17 23:50:26 +08:00
Kaede Akino 60e9f59b48 fix(assistant): unify expandable tool output details 2026-10-17 23:17:15 +08:00
Kaede Akino dfc1a3171c fix(assistant): align SSH status label typography 2026-10-17 23:10:02 +08:00
Kaede Akino 7e78bc00c4 feat(agent): unify output truncation and scratch capture
Integrate AgentKit 2.0.1 with shared scratch storage, whole-line tool policies, generated capture paths, and external MCP projection bypass. Update ssh-exec instructions and document the complete tool policy inventory.

Keep compact expansion controls left aligned and display the AgentKit truncation marker above them on both platforms. Cover narrow and wide native layouts, both button states, and marker ordering.
2026-10-17 22:51:26 +08:00
Kaede Akino 9f41e09e12 fix: ui and live activity 2026-10-17 18:39:00 +08:00
Kaede Akino ebeb0027d4 feat(ssh)!: redesign command execution tools
Split command execution into run, output, stdin, cancel and list tools for the assistant and MCP. Preserve bounded output tails and use conversation-scoped handles and secret storage with AgentKit 1.20.0.

Add the built-in ssh-exec skill with timestamped log redirection and text/secret stdin workflows. Expand long tool output without adjacent copy controls, update localized presentation, and refresh regression coverage and the website tool name.

BREAKING CHANGE: Replace ssh_exec and ssh_wait with ssh_exec_run and ssh_exec_output. Move stdin to ssh_exec_stdin and remove execution timeout and cwd arguments. Use run_in_background to control foreground execution.
2026-10-17 12:26:48 +08:00
Kaede Akino d2cce7d2ce feat: make core features free and add host-based Pro limits
Make AI, MCP, Metrics, and Wake-on-LAN free while retaining iCloud sync as a Pro feature. Limit free accounts to three saved hosts and preserve excess hosts with remote-operation locks.

Gate host creation, import, and runtime access; preserve stable host admission across persistence and sync. Add upgrade states on macOS and iOS, open the paywall from locked Wake actions, and use wrench icons for MCP.

Include regression coverage, opt-in UI review fixtures, localized copy, and the updated pricing website revision.
2026-10-17 06:13:38 +08:00
Kaede AkinoandClaude Code 975358f98a refactor: remove redundant code and over-defensive branches
Consolidate code that existed twice and drop code nothing reaches.

- SSH: hoist the duplicated ASCII hex-nibble decoder out of
  RemoteCharsetConverter and SSHPTYChannel into SSHWireEncoding.hexDigit.
- Transcript: AgentToolDetail.Tint shares BatchTint's vocabulary, so the
  byte-identical detailColor map now delegates to batchColor.
- Commerce: replace ProPaywallState's unreachable default branch and its
  `preconditionFailure("Handled above")` with an exhaustive switch the
  compiler can prove complete.
- Strings: delete the unreferenced Workspace.closePaneAction (the live help
  text uses closePane) and its orphan catalog entry.
- Drop the unused SwiftData and UniformTypeIdentifiers imports.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-08 11:01:27 +08:00
Kaede Akino 9666308c8e feat(assistant): animate copy confirmation icons 2026-10-05 06:45:38 +08:00
Kaede Akino 981106f687 fix(assistant): align markdown and command rendering with upstream 2026-10-04 11:11:50 +08:00
Kaede Akino beea076810 fix(assistant): correct terminal tool targeting and presentation 2026-10-02 19:58:09 +08:00
Kaede Akino 82d871c4fe refactor: separate feature policies and UI workflows
Move connection policy out of ProAccess, keep terminal uploads with their
session, and share question interaction and highlight editing operations.
Consolidate CPU usage and settings snapshot handling, and remove obsolete
terminal selection, theme helpers, and hard-coded latest-schema assertions.

Fix draining connection-pool recovery and stale pane upload bindings. Keep
screenshot matrices opt-in and retain behavioral migration coverage.

Validation: 2468 macOS tests passed serially, 31 iOS tests passed, and both
SSH forwarding regressions passed against the local OpenSSH fixture.
Both app builds, Swift formatting, AppStrings, and Chinese localization
checks passed. Parallel test runs still exhibit intermittent timeouts.
2026-10-02 16:40:27 +08:00
Kaede Akino 6af6b7fbaf feat(assistant): add voice input to question answers 2026-10-02 16:02:53 +08:00
Kaede Akino 7084145c47 feat(assistant): remove todo tool and task list UI 2026-09-30 14:12:16 +08:00
Kaede Akino 816a6ff121 feat(ssh): support hardware security key authentication
Add native security key registration, reference import, and signing on macOS and iOS. Store references in Vault metadata and route authentication through connection, Assistant, MCP, and agent forwarding flows.

Preserve signing cancellation and actionable authentication errors for security keys and Secure Enclave. Pin the released libssh2 forks as nested submodules and refresh package resolution.
2026-09-28 23:37:49 +08:00
Kaede Akino 7e54f68330 fix(forms): match secret fields to grouped form styling 2026-09-28 20:17:37 +08:00
Kaede Akino 4d6e4481c0 feat(mcp): add OAuth and 2025-03-26 compatibility
Integrate AgentKit 0.18.1 with native authorization on macOS and iOS, device-local OAuth credentials, V43 configuration persistence, and Assistant authorization prompts.

Add HTTPS callback metadata, keep native callbacks safe across actor boundaries, and distinguish authorization setup failures from cancellation. Extend the external MCP server to negotiate 2025-03-26.
2026-09-28 12:36:32 +08:00
Kaede Akino 054f5de7b2 fix(assistant): left-align tool detail link titles 2026-09-28 01:37:36 +08:00
Kaede Akino 7f1eec4ba3 feat(assistant): add chat creator attribution and source icons 2026-09-27 19:54:56 +08:00
Kaede Akino c1ae0dc0a2 feat(assistant): add cross-chat agent collaboration
Add host-owned chat creation, model discovery, messaging, reading, and waiting with durable delivery receipts. Keep tool presentation compact, mark agent-authored messages, and prevent edits that would remove tool activity.

Adopt the signed AgentKit 0.16.0 release in the package requirement, resolved revision, and submodule.
2026-09-27 19:08:29 +08:00
Kaede Akino b6ff9fd7d1 feat(assistant): add terminal pane reading tools 2026-09-27 13:00:15 +08:00
Kaede Akino acdfc9ab72 fix(localization): pass resources directly to dialog titles 2026-09-26 01:58:08 +08:00
Kaede Akino 54d1bb4396 fix(mcp): refine client setup and token controls 2026-09-25 22:51:17 +08:00
Kaede Akino 867ab9b00b feat(assistant): persist fixed chat model selection 2026-09-25 19:14:57 +08:00
Kaede Akino 2abed0eca6 Rename TermindCopy to AppStrings 2026-09-23 22:54:10 +08:00
Kaede Akino 76c4e9872f Merge copywright 2026-09-23 20:07:12 +08:00
Kaede Akino cc4be70498 Freeze Assistant turns before preparation 2026-09-23 18:08:12 +08:00
Kaede Akino a7d0d6a355 Clarify agent tool availability contracts 2026-09-23 18:08:12 +08:00
Kaede Akino b69881eb41 Add host-owned custom identities 2026-09-21 16:48:50 +08:00
Kaede Akino f1796d879a Remove useless code 2026-09-19 12:30:16 +08:00
Kaede Akino ec0f685cfe Add SSH keyboard-interactive authentication across connection flows 2026-09-18 14:22:11 +08:00
Kaede Akino e49d942465 Add macOS multiwindow workspace support 2026-09-18 11:06:47 +08:00
Kaede Akino 299bc10d50 Fix transcript resizing and support 360-point content widths 2026-09-18 10:04:27 +08:00
Kaede Akino 21597fecaf Fix chat composer scroll 2026-09-18 09:07:28 +08:00
Kaede Akino d15a36d98b Fix Markdown horizontal scrolling 2026-09-17 23:13:59 +08:00
Kaede Akino 7cdb755d5f Bulk: Vertex AI & Better Memory 2026-09-17 12:47:14 +08:00
Kaede Akino 8d591dd0f6 Add global Hermes memory and skill package tools
Add opt-in GRDB memory with frozen conversation snapshots, background learning, session search, and a user-only Destroy action on both platforms. Persist and synchronize complete skill packages with the new AgentKit management tools.

Pin signed AgentKit 0.12.3 and GRDB 7.11.1. Add the V18 package migration, regression coverage, bilingual UI snapshots, and architecture records.

Validation: AgentKit and iOS suites, focused macOS skills/memory/architecture/localization tests, Swift formatting, and Chinese localization checks passed. Full macOS runs exposed intermittent existing waveform-rendering and metrics-timing failures.
2026-09-17 07:54:04 +08:00
Kaede Akino d0ce28a87d Add synced Workspace templates 2026-09-16 11:56:04 +08:00
Kaede Akino 04b676bf06 Add Model retry 2026-09-15 09:21:25 +08:00
Kaede Akino 28574285f0 Move Assistant review icon before chevron 2026-09-15 08:42:40 +08:00
Kaede Akino 69baee9c1d Refine web search permissions 2026-09-15 08:34:34 +08:00