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
164 lines
4.5 KiB
JavaScript
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 };
|