Files
zhaolei 3c72efcb7f
Some checks failed
build-packages / resolve bundled mosh-client (push) Has been cancelled
build-packages / resolve bundled et-client (push) Has been cancelled
build-packages / build-macos (push) Has been cancelled
build-packages / build-windows (push) Has been cancelled
build-packages / build-linux-x64 (push) Has been cancelled
build-packages / build-linux-arm64 (push) Has been cancelled
build-packages / release (push) Has been cancelled
build-packages / update Nix release metadata (push) Has been cancelled
build-packages / bump homebrew tap (push) Has been cancelled
test / lint-and-test (push) Has been cancelled
AI automation / Route event (push) Has been cancelled
AI automation / Hand reopened issue to maintainers (push) Has been cancelled
AI automation / Clean source issue state (push) Has been cancelled
AI automation / Reconcile handoffs (push) Has been cancelled
AI automation / Classify issue (push) Has been cancelled
AI automation / Claude Code smoke (push) Has been cancelled
AI automation / Review issue follow-up (push) Has been cancelled
AI automation / Publish issue follow-up (push) Has been cancelled
AI automation / Implement with Claude Code (push) Has been cancelled
AI automation / Publish implement PR (push) Has been cancelled
AI automation / Continue queued issue comments (push) Has been cancelled
AI automation / Codex review loop (push) Has been cancelled
AI automation / Publish Codex fix (push) Has been cancelled
AI automation / Clear Codex dispatch marker (push) Has been cancelled
AI automation / Own PR re-request Codex (push) Has been cancelled
AI automation / External PR re-request Codex (push) Has been cancelled
AI automation / Poll Codex reaction / retry (push) Has been cancelled
build-et-binaries / build-linux-x64 (push) Has been cancelled
build-et-binaries / build-linux-arm64 (push) Has been cancelled
build-et-binaries / build-macos-universal (push) Has been cancelled
build-et-binaries / build-windows-x64 (push) Has been cancelled
build-et-binaries / release (push) Has been cancelled
[Init] Initial commit - NetMesh terminal manager
2026-09-13 18:24:01 +08:00

164 lines
4.5 KiB
JavaScript

"use strict";
const { CAPABILITY_STATUS } = require("../constants.cjs");
/** @type {import("../types.cjs").CapabilityDefinition[]} */
const META_CAPABILITIES = [
{
id: "session.environment",
domain: "session",
status: CAPABILITY_STATUS.IMPLEMENTED,
description: "List scoped terminal sessions available to the agent.",
policy: {
write: false,
sensitiveRead: false,
longRunning: false,
requiresChatSession: true,
bypassesObserverBlock: false,
bypassesApproval: true,
bypassesChatCancel: true,
},
surfaces: {
builtin: { rpcMethod: "netcatty/getContext", mcpTool: "get_environment" },
public: { rpcMethod: "public/getEnvironment", mcpTool: "get_environment" },
cli: { command: ["env"] },
},
},
{
id: "meta.status",
domain: "meta",
status: CAPABILITY_STATUS.IMPLEMENTED,
description: "Return bridge runtime status and policy configuration.",
policy: {
write: false,
sensitiveRead: false,
longRunning: false,
requiresChatSession: false,
bypassesObserverBlock: false,
bypassesApproval: true,
bypassesChatCancel: true,
},
surfaces: {
builtin: { rpcMethod: "netcatty/getStatus" },
public: { rpcMethod: "public/getStatus" },
cli: { command: ["status"] },
},
},
{
id: "attachment.list",
domain: "attachment",
status: CAPABILITY_STATUS.IMPLEMENTED,
description: "List user-attached files in the current AI chat scope.",
policy: {
write: false,
sensitiveRead: false,
longRunning: false,
requiresChatSession: true,
bypassesObserverBlock: false,
bypassesApproval: true,
bypassesChatCancel: true,
},
surfaces: {
builtin: { rpcMethod: "netcatty/listAttachments", mcpTool: "list_attachments" },
cli: { command: ["attachment", "list"] },
},
},
{
id: "attachment.read",
domain: "attachment",
status: CAPABILITY_STATUS.IMPLEMENTED,
description: "Read a user-attached file from the current AI chat scope.",
policy: {
write: false,
sensitiveRead: true,
longRunning: false,
requiresChatSession: true,
bypassesObserverBlock: false,
bypassesApproval: true,
bypassesChatCancel: true,
},
surfaces: {
builtin: { rpcMethod: "netcatty/readAttachment", mcpTool: "read_attachment" },
cli: { command: ["attachment", "read"] },
},
},
{
id: "session.cancel",
domain: "session",
status: CAPABILITY_STATUS.IMPLEMENTED,
description: "Cancel in-flight operations for a chat session.",
policy: {
write: false,
sensitiveRead: false,
longRunning: false,
requiresChatSession: true,
bypassesObserverBlock: false,
bypassesApproval: true,
bypassesChatCancel: true,
},
surfaces: {
builtin: { rpcMethod: "netcatty/setCancelled" },
cli: { command: ["cancel"] },
},
},
{
id: "session.resume",
domain: "session",
status: CAPABILITY_STATUS.IMPLEMENTED,
description: "Resume write operations for a cancelled chat session.",
policy: {
write: false,
sensitiveRead: false,
longRunning: false,
requiresChatSession: true,
bypassesObserverBlock: false,
bypassesApproval: true,
bypassesChatCancel: true,
},
surfaces: {
builtin: { rpcMethod: "netcatty/setCancelled" },
cli: { command: ["resume"] },
},
},
{
id: "session.get",
domain: "session",
status: CAPABILITY_STATUS.IMPLEMENTED,
description: "Get metadata for a single scoped session.",
policy: {
write: false,
sensitiveRead: false,
longRunning: false,
requiresChatSession: true,
bypassesObserverBlock: false,
bypassesApproval: true,
bypassesChatCancel: true,
},
surfaces: {
builtin: { rpcMethod: "netcatty/getContext" },
cli: { command: ["session"] },
},
},
{
id: "session.close",
domain: "session",
status: CAPABILITY_STATUS.IMPLEMENTED,
description: "Close a terminal session previously opened by host_open in the current AI scope.",
policy: {
write: true,
sensitiveRead: false,
longRunning: false,
requiresChatSession: true,
bypassesObserverBlock: true,
bypassesApproval: true,
bypassesChatCancel: true,
},
surfaces: {
global: { rpcMethod: "session/close" },
public: { rpcMethod: "public/session/close", mcpTool: "session_close" },
},
},
];
module.exports = { META_CAPABILITIES };