26 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 Akino d41f236220 refactor: centralize tool names in TermindToolName registry
Tool names are protocol surface: they appear in the MCP export list,
persisted disabled-tool preferences, audit records, and presentation
registries. Spelling them as literals at each of those sites let one
place drift from another with no compile error to catch it.

Add TermindToolName as the single source of truth for the 25 names
Termind owns, and route every non-documentation reference through it.
The registry lives in TermindApplication because presentation cannot
import TermindRemoteInfrastructure, and TermindApplication cannot depend
on it either.

Names owned by AgentKit (request_user_secret, present_plan, the
scratch_* build tools) and retired aliases (ssh_exec, ssh_wait) stay as
literals, as do the prose in MCP instructions and descriptor summaries.
The legacyToolNames compatibility list is a historical data contract and
is unchanged.

This also removes the sshExecRunToolName and sshExecStdinToolName
constants from TermindAgentPolicy, which the registry replaces.
2026-10-18 18:20:51 +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 aa5a92c352 feat: remove persistence connection and SFTP history 2026-10-03 04:18:14 +08:00
Kaede Akino 3708a7c54f refactor: remove obsolete code and redundant tests
Remove legacy Commerce types, unused helpers, duplicate SFTP progress code, and 28 unreferenced strings. Drop fixture-only tests and arbitrary screenshot size assertions while retaining behavioral coverage.

Validation: 2,592 macOS tests, 40 focused macOS tests, and 53 iOS tests passed. Swift formatting, AppStrings, and Chinese localization checks passed.
2026-10-02 17:50:47 +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 644bfa761c fix(mcp): remove MCP client count for stateless 2026-09-28 10:13:52 +08:00
Kaede Akino 8c785aefcd feat(mcp): support modern requests and legacy compatibility 2026-09-28 09:37:13 +08:00
Kaede Akino 2abed0eca6 Rename TermindCopy to AppStrings 2026-09-23 22:54:10 +08:00
Kaede Akino e4f00922ce Move tool audit persistence into shared layers 2026-09-23 21:21:28 +08:00
Kaede Akino 76c4e9872f Merge copywright 2026-09-23 20:07:12 +08:00
Kaede Akino 7252149c3f Hosts & Snippets collapes in Memory 2026-09-20 21:01:33 +08:00
Kaede Akino e0ee4641bf Clarify SSH tool selection and authentication guidance 2026-09-18 11:21:25 +08:00
Kaede Akino 6493dda7c7 Add in-process SFTP and HTTP resume support 2026-09-16 21:27:23 +08:00
Kaede Akino d51696e017 Add HTTP-backed SFTP downloads
Add one-use download tickets, bounded HTTP file responses, source validation, shared transfer capacity, cancellation, and metadata-only audit.

Verification: 181 focused tests, macOS/iOS builds, Swift formatting, and Chinese localization checks passed. Full test run: 1430 tests with five failures in unchanged areas; no live-server integration performed.
2026-09-16 21:03:57 +08:00
Kaede Akino d5f27bfe88 Add HTTP Upload MCP 2026-09-16 19:46:35 +08:00
Kaede Akino de89c37aec Add cross-host SFTP copy to Assistant and MCP 2026-09-16 17:57:38 +08:00
Kaede Akino ad4e72e35d Adopt AgentKit approval policies 2026-09-14 17:33:57 +08:00
Kaede Akino 83b54be813 Remove useless code 2026-09-12 23:57:33 +08:00
Kaede Akino e7105ed45d TFI Snippets and History 2026-09-12 13:10:55 +08:00
Kaede Akino 5ee3cded0a Keep built-in MCP server settings local 2026-09-12 12:03:02 +08:00
Kaede Akino 5eefc33cb0 Refactor TFI for project structure 2026-09-12 01:21:51 +08:00
Kaede Akino 7bbfeb79e2 Bulk iOS 2026-09-11 21:07:44 +08:00
Kaede Akino 1b835a5df4 Continue iOS port with shared settings and Metrics 2026-09-11 15:12:37 +08:00
Kaede Akino c2958a05b3 Add iOS workspaces and shared feature services
Share Vault, persistence, SSH/SFTP, forwarding, and SwiftUI components across platforms. Add mobile editors, terminal input, standalone Assistant, Metrics navigation, transfers, and a unified Live Activity with host system icons.

Validation: 35 iOS tests and 100 focused macOS tests pass; formatting and zh-Hans checks pass. The full macOS run reports 14 issues in the documented timing, Keychain, and popover suites. Remaining Assistant tool and CloudKit work is tracked in Memory/MOBILE_ROLLOUT.md.
2026-09-11 13:47:16 +08:00
Kaede Akino 66890792b8 Split macOS and iOS targets into shared frameworks 2026-09-11 10:59:38 +08:00