52 lines
1.4 KiB
JavaScript
52 lines
1.4 KiB
JavaScript
|
|
"use strict";
|
||
|
|
|
||
|
|
/** @typedef {'builtin' | 'public' | 'cli' | 'global' | 'catty' | 'globalAgent'} CapabilitySurface */
|
||
|
|
/** @typedef {'implemented' | 'planned'} CapabilityStatus */
|
||
|
|
/** @typedef {'observer' | 'confirm' | 'auto'} PermissionMode */
|
||
|
|
/** @typedef {'sidebar' | 'global'} AgentKind */
|
||
|
|
|
||
|
|
const CAPABILITY_SURFACES = Object.freeze({
|
||
|
|
BUILTIN: "builtin",
|
||
|
|
PUBLIC: "public",
|
||
|
|
CLI: "cli",
|
||
|
|
GLOBAL: "global",
|
||
|
|
/** Renderer-local sidebar (Catty) harness tools (no MCP/CLI exposure). */
|
||
|
|
CATTY: "catty",
|
||
|
|
/** Renderer-local global agent tools (no MCP/CLI exposure). */
|
||
|
|
GLOBAL_AGENT: "globalAgent",
|
||
|
|
});
|
||
|
|
|
||
|
|
/** Where in the app an agent runs — orthogonal to RPC/MCP/CLI capability surfaces. */
|
||
|
|
const AGENT_KINDS = Object.freeze({
|
||
|
|
/** Chat side panel (Catty). */
|
||
|
|
SIDEBAR: "sidebar",
|
||
|
|
/** Future app-wide agent (cross-window / proactive). */
|
||
|
|
GLOBAL: "global",
|
||
|
|
});
|
||
|
|
|
||
|
|
const CAPABILITY_STATUS = Object.freeze({
|
||
|
|
IMPLEMENTED: "implemented",
|
||
|
|
PLANNED: "planned",
|
||
|
|
});
|
||
|
|
|
||
|
|
const PERMISSION_MODES = Object.freeze({
|
||
|
|
OBSERVER: "observer",
|
||
|
|
CONFIRM: "confirm",
|
||
|
|
AUTO: "auto",
|
||
|
|
});
|
||
|
|
|
||
|
|
const RPC_TIMEOUT_DEFAULTS = Object.freeze({
|
||
|
|
DEFAULT_RPC_TIMEOUT_MS: 30_000,
|
||
|
|
DEFAULT_OPERATION_TIMEOUT_MS: 60_000,
|
||
|
|
RPC_TIMEOUT_BUFFER_MS: 5_000,
|
||
|
|
DEFAULT_APPROVAL_TIMEOUT_MS: 110_000,
|
||
|
|
});
|
||
|
|
|
||
|
|
module.exports = {
|
||
|
|
AGENT_KINDS,
|
||
|
|
CAPABILITY_SURFACES,
|
||
|
|
CAPABILITY_STATUS,
|
||
|
|
PERMISSION_MODES,
|
||
|
|
RPC_TIMEOUT_DEFAULTS,
|
||
|
|
};
|