You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`App.tsx` wires hooks to components; no business logic should live in components beyond view glue.
23
23
- Local storage keys are centralized in `infrastructure/config/storageKeys.ts`; avoid ad-hoc `localStorage` calls elsewhere.
24
24
@@ -44,6 +44,12 @@ This project is wired around three layers: domain (pure logic), application stat
44
44
- Avoid direct network/fetch in components; add a service/adaptor first.
45
45
- Maintain ASCII-only unless required by existing file content.
46
46
47
+
## Review Boundaries
48
+
- Treat `electron/cli/*`, `netcatty-tool-cli`, the CLI discovery file, and the local TCP bridge as internal Netcatty integration surfaces unless a task explicitly says otherwise.
49
+
- Do not review those surfaces as public APIs by default, and do not assume they must support third-party callers, manual launches, or non-Netcatty agents.
50
+
- On supported first-party paths, assume Netcatty's own launcher provides required integration environment such as `NETCATTY_TOOL_CLI_DISCOVERY_FILE`.
51
+
- If a review concern depends on external exposure, third-party compatibility, or public API stability, call it out as out of scope unless the task explicitly includes that contract.
52
+
47
53
---
48
54
49
55
## Aside Panel Design System
@@ -54,20 +60,20 @@ VaultView subpages (Hosts, Keychain, Port Forwarding, Snippets, Known Hosts) sha
Copy file name to clipboardExpand all lines: application/i18n/locales/en.ts
+7-2Lines changed: 7 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1777,6 +1777,11 @@ const en: Messages = {
1777
1777
'ai.defaultAgent': 'Default Agent',
1778
1778
'ai.defaultAgent.description': 'Agent to use when starting a new AI session',
1779
1779
'ai.defaultAgent.catty': 'Catty (Built-in)',
1780
+
'ai.toolAccess.title': 'Tool Access',
1781
+
'ai.toolAccess.mode': 'Netcatty Access Mode',
1782
+
'ai.toolAccess.description': 'Choose how external ACP agents access Netcatty sessions. MCP exposes the built-in server, while Skills + CLI points agents to the local Netcatty skill and CLI commands.',
1783
+
'ai.toolAccess.mode.mcp': 'MCP',
1784
+
'ai.toolAccess.mode.skills': 'Skills + CLI',
1780
1785
1781
1786
// AI Chat
1782
1787
'ai.chat.noProvider': 'No AI provider is configured. Go to **Settings → AI → Providers** to add and enable a provider.',
@@ -1853,7 +1858,7 @@ const en: Messages = {
1853
1858
// AI Safety Settings
1854
1859
'ai.safety.title': 'Safety',
1855
1860
'ai.safety.permissionMode': 'Permission Mode',
1856
-
'ai.safety.permissionMode.description': 'Controls how the AI interacts with your terminals. Observer mode blocks all write operations via MCP Server, enforced for both built-in and ACP agents. Confirm mode is advisory for ACP agents (they control their own tool approval flow).',
1861
+
'ai.safety.permissionMode.description': 'Controls how the AI interacts with your terminals. Observer mode blocks all write operations through Netcatty, enforced for both built-in and ACP agents. Confirm mode is advisory for ACP agents (they control their own tool approval flow).',
1857
1862
'ai.safety.permissionMode.observer': 'Observer - Read only, no actions',
1858
1863
'ai.safety.permissionMode.confirm': 'Confirm - Ask before actions',
'ai.safety.maxIterations.description': 'Maximum number of AI tool-use loops to prevent runaway execution. ACP agents may have their own internal iteration limits that take precedence.',
1865
1870
'ai.safety.blocklist': 'Command Blocklist',
1866
-
'ai.safety.blocklist.description': 'Regex patterns to block dangerous commands. Applies to both built-in and ACP agents via MCP Server.',
1871
+
'ai.safety.blocklist.description': 'Regex patterns to block dangerous commands. Applies to both built-in and ACP agents through Netcatty execution.',
0 commit comments