[Init] Initial commit - NetMesh terminal manager
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
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
This commit is contained in:
86
electron/capabilities/catalog/integrity.test.cjs
Normal file
86
electron/capabilities/catalog/integrity.test.cjs
Normal file
@@ -0,0 +1,86 @@
|
||||
"use strict";
|
||||
|
||||
const test = require("node:test");
|
||||
const assert = require("node:assert/strict");
|
||||
|
||||
const { ALL_CAPABILITIES } = require("../index.cjs");
|
||||
const { CAPABILITY_STATUS, CAPABILITY_SURFACES } = require("../constants.cjs");
|
||||
const { getCliRpcMethod } = require("../adapters/cliAdapter.cjs");
|
||||
|
||||
const IMPLEMENTED_CLI_COMMANDS = [
|
||||
["status"],
|
||||
["env"],
|
||||
["session"],
|
||||
["exec"],
|
||||
["job-start"],
|
||||
["job-poll"],
|
||||
["job-stop"],
|
||||
["sftp", "list"],
|
||||
["sftp", "read"],
|
||||
["sftp", "write"],
|
||||
["sftp", "download"],
|
||||
["sftp", "upload"],
|
||||
["sftp", "mkdir"],
|
||||
["sftp", "delete"],
|
||||
["sftp", "rename"],
|
||||
["sftp", "stat"],
|
||||
["sftp", "chmod"],
|
||||
["sftp", "home"],
|
||||
["cancel"],
|
||||
["resume"],
|
||||
["vault", "host", "get"],
|
||||
["vault", "host", "open"],
|
||||
["vault", "host-notes", "get"],
|
||||
["vault", "host-notes", "set"],
|
||||
["snippets", "list"],
|
||||
["snippets", "get"],
|
||||
["snippets", "run"],
|
||||
["snippets", "create"],
|
||||
["snippets", "update"],
|
||||
["snippets", "delete"],
|
||||
["scripts", "list"],
|
||||
["scripts", "get"],
|
||||
["scripts", "run"],
|
||||
["scripts", "create"],
|
||||
["scripts", "update"],
|
||||
["scripts", "delete"],
|
||||
["scripts", "reference"],
|
||||
["scripts", "runs", "list"],
|
||||
["scripts", "run", "stop"],
|
||||
["scripts", "run", "pause"],
|
||||
["scripts", "run", "resume"],
|
||||
["scripts", "targets", "set"],
|
||||
["vault", "host", "connect-scripts", "list"],
|
||||
["vault", "host", "connect-scripts", "set"],
|
||||
["portforward", "rules", "list"],
|
||||
["portforward", "tunnels", "list"],
|
||||
["portforward", "start"],
|
||||
["portforward", "stop"],
|
||||
];
|
||||
|
||||
test("every implemented cli command maps to an rpc method", () => {
|
||||
for (const command of IMPLEMENTED_CLI_COMMANDS) {
|
||||
const rpcMethod = getCliRpcMethod(command);
|
||||
assert.ok(rpcMethod, `missing rpc mapping for ${command.join(" ")}`);
|
||||
}
|
||||
});
|
||||
|
||||
test("implemented capabilities expose at least one surface binding", () => {
|
||||
for (const capability of ALL_CAPABILITIES) {
|
||||
if (capability.status !== CAPABILITY_STATUS.IMPLEMENTED) continue;
|
||||
const surfaces = Object.keys(capability.surfaces || {});
|
||||
assert.ok(surfaces.length > 0, `${capability.id} has no surfaces`);
|
||||
const hasRpc = surfaces.some((surface) => capability.surfaces[surface]?.rpcMethod);
|
||||
const hasCli = surfaces.some((surface) => capability.surfaces[surface]?.command);
|
||||
const hasCatty = Boolean(capability.surfaces[CAPABILITY_SURFACES.CATTY]?.toolName);
|
||||
assert.ok(
|
||||
hasRpc || hasCli || hasCatty || capability.surfaces[CAPABILITY_SURFACES.BUILTIN]?.mcpTool,
|
||||
`${capability.id} has no rpc/cli/catty/mcp binding`,
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
test("capability ids are unique", () => {
|
||||
const ids = ALL_CAPABILITIES.map((capability) => capability.id);
|
||||
assert.equal(new Set(ids).size, ids.length);
|
||||
});
|
||||
Reference in New Issue
Block a user