UNPKG

aiwg

Version:

Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 6 more) so one source of truth works across 10 platfo

280 lines 10.1 kB
/** * CLI Handler Index * * Aggregates all extracted command handlers for registry-based routing. * * @implements @.aiwg/architecture/decisions/ADR-001-unified-extension-system.md * @tests @test/unit/cli/handlers/index.test.ts * @issue #42 */ // Re-export types export * from './types.js'; export { createScriptRunner, DefaultScriptRunner } from './script-runner.js'; // Import all handlers import { helpHandler } from './help.js'; import { versionHandler } from './version.js'; import { useHandler } from './use.js'; import { statusHandler, wizardHandler, migrateWorkspaceHandler, rollbackWorkspaceHandler, workspaceHandlers, } from './workspace.js'; import { prefillCardsHandler, contributeStartHandler, validateMetadataHandler, doctorHandler, updateHandler, utilityHandlers, } from './utilities.js'; import { skillLintHandler } from './skill-lint.js'; import { addAgentHandler, addCommandHandler, addSkillHandler, addBehaviorHandler, addTemplateHandler, scaffoldAddonHandler, scaffoldExtensionHandler, scaffoldFrameworkHandler, scaffoldingHandlers, } from './scaffolding.js'; import { behaviorHandler, daemonInitHandler, daemonHandlers, } from './daemon.js'; import { ralphHandler, ralphStatusHandler, ralphAbortHandler, ralphResumeHandler, ralphAttachHandler, ralphExternalHandler, ralphMemoryHandler, ralphConfigHandler, ralphHandlers, } from './ralph.js'; import { mcpHandler, catalogHandler, listHandler, removeHandler, promoteHandler, newBundleHandler, newProjectHandler, installPluginHandler, uninstallPluginHandler, pluginStatusHandler, packagePluginHandler, packageAllPluginsHandler, indexHandler, discoverHandler, showHandler, featuresHandler, skillsHandler, configHandler, opsHandler, storageHandler, activityLogHandler, kbHandler, memoryHandler, reflectionsHandler, provenanceHandler, researchStoreHandler, chunkHandler, fanoutHandler, rlmPrepHandler, rlmSearchHandler, rlmStatusCliHandler, rlmCacheHandler, subcommandHandlers, } from './subcommands.js'; import { runtimeInfoHandler } from './runtime-info.js'; import { agentcardHandler } from './agentcard.js'; import { bestPracticesAuditHandler } from './best-practices-audit.js'; // sync was renamed to refresh (#694). refreshHandler exposes both 'refresh' // (primary) and 'sync' (deprecated alias) to preserve backward compatibility. import { refreshHandler } from './refresh.js'; import { regenerateHandler, regenerateHandlers } from './regenerate.js'; import { mcHandler, mcHandlers } from './mc.js'; import { sdlcAccelerateHandler } from './sdlc-accelerate.js'; import { teamHandler, teamHandlers } from './team.js'; import { installHandler } from './install.js'; import { packagesHandler } from './packages.js'; import { marketplaceHandler } from './marketplace.js'; import { initHandler } from './init.js'; import { runHandler } from './run.js'; import { stewardHandler, stewardHandlers } from './steward.js'; import { serveHandler } from './serve.js'; import { lintHandler } from './lint.js'; import { feedbackHandler } from './feedback.js'; import { sessionHandler } from './session.js'; import { sandboxHandler, sandboxHandlers } from './sandbox.js'; import { diagnoseHandler } from './diagnose.js'; import { localExecutorHandler, localExecutorServeHandler } from './local-executor.js'; import { executionModeHandler } from './execution-mode.js'; import { repoAccessHandler, repoAccessHandlers } from './repo-access.js'; // Re-export individual handlers export { // Maintenance helpHandler, versionHandler, doctorHandler, updateHandler, refreshHandler, regenerateHandler, // Framework management useHandler, listHandler, removeHandler, promoteHandler, installHandler, packagesHandler, marketplaceHandler, initHandler, runHandler, // Project newBundleHandler, newProjectHandler, // Workspace statusHandler, wizardHandler, migrateWorkspaceHandler, rollbackWorkspaceHandler, // Subcommands mcpHandler, catalogHandler, indexHandler, discoverHandler, showHandler, featuresHandler, skillsHandler, configHandler, opsHandler, storageHandler, activityLogHandler, kbHandler, memoryHandler, reflectionsHandler, provenanceHandler, researchStoreHandler, runtimeInfoHandler, agentcardHandler, // Agentic Tools (RLM) chunkHandler, fanoutHandler, rlmPrepHandler, rlmSearchHandler, rlmStatusCliHandler, rlmCacheHandler, // Utilities prefillCardsHandler, contributeStartHandler, validateMetadataHandler, skillLintHandler, // Plugin installPluginHandler, uninstallPluginHandler, pluginStatusHandler, packagePluginHandler, packageAllPluginsHandler, // Scaffolding addAgentHandler, addCommandHandler, addSkillHandler, addBehaviorHandler, addTemplateHandler, scaffoldAddonHandler, scaffoldExtensionHandler, scaffoldFrameworkHandler, // Daemon behaviorHandler, daemonInitHandler, // Ralph ralphHandler, ralphStatusHandler, ralphAbortHandler, ralphResumeHandler, ralphAttachHandler, ralphExternalHandler, ralphMemoryHandler, ralphConfigHandler, // Mission Control mcHandler, // SDLC Orchestration sdlcAccelerateHandler, // Research / Validation bestPracticesAuditHandler, // Agent Teams teamHandler, // Steward stewardHandler, // Serve serveHandler, // Local Executor (#1181) localExecutorHandler, localExecutorServeHandler, // Sandbox management sandboxHandler, // Diagnose diagnoseHandler, executionModeHandler, // Repo Access repoAccessHandler, // Lint lintHandler, }; // Re-export handler arrays export { workspaceHandlers, utilityHandlers, scaffoldingHandlers, ralphHandlers, subcommandHandlers, mcHandlers, teamHandlers, stewardHandlers, regenerateHandlers, daemonHandlers, sandboxHandlers, repoAccessHandlers, }; /** * All registered command handlers * * Used by the registry to build the command routing table. */ export const allHandlers = [ // Maintenance (shown first in help) helpHandler, versionHandler, doctorHandler, updateHandler, refreshHandler, regenerateHandler, // Framework management useHandler, listHandler, removeHandler, promoteHandler, installHandler, packagesHandler, marketplaceHandler, // Project setup newBundleHandler, newProjectHandler, initHandler, runHandler, // Workspace management ...workspaceHandlers, // Subcommand handlers (MCP, catalog, index, skills) mcpHandler, catalogHandler, indexHandler, discoverHandler, showHandler, featuresHandler, skillsHandler, runtimeInfoHandler, agentcardHandler, // Utilities prefillCardsHandler, contributeStartHandler, validateMetadataHandler, skillLintHandler, // Plugin packaging installPluginHandler, uninstallPluginHandler, pluginStatusHandler, packagePluginHandler, packageAllPluginsHandler, // Scaffolding ...scaffoldingHandlers, // Agent loop ...ralphHandlers, // Mission Control ...mcHandlers, // Agent Teams ...teamHandlers, // Steward (capability awareness) ...stewardHandlers, // SDLC Orchestration sdlcAccelerateHandler, // Research / Validation bestPracticesAuditHandler, // Daemon ...daemonHandlers, // Config configHandler, executionModeHandler, // Ops opsHandler, // Storage (#934) storageHandler, // Activity Log (#934, #964) activityLogHandler, // Knowledge Base (#934, #965) kbHandler, // Memory subsystem (#934, #966) memoryHandler, // Reflections subsystem (#934, #967) reflectionsHandler, // Provenance subsystem (#934, #968) provenanceHandler, // Research subsystem (#934, #968) researchStoreHandler, // Agentic Tools (RLM support tools) chunkHandler, fanoutHandler, rlmPrepHandler, rlmSearchHandler, rlmStatusCliHandler, rlmCacheHandler, // Web dashboard serveHandler, // Local Executor (#1181) localExecutorHandler, localExecutorServeHandler, // Sandbox management (#917) ...sandboxHandlers, // Diagnose bundle (#925) diagnoseHandler, // Lint lintHandler, // Feedback (#885) feedbackHandler, // Session (#884) sessionHandler, // Repo access policy (#1376) ...repoAccessHandlers, ]; /** * Build alias map from all handlers * * Maps command aliases to canonical handler IDs. * * @returns Map of alias -> handler ID */ export function buildAliasMap() { const aliasMap = new Map(); for (const handler of allHandlers) { // Add canonical ID aliasMap.set(handler.id, handler.id); // Add all aliases for (const alias of handler.aliases) { aliasMap.set(alias, handler.id); } } return aliasMap; } /** * Build handler map for O(1) lookup * * @returns Map of handler ID -> handler */ export function buildHandlerMap() { const handlerMap = new Map(); for (const handler of allHandlers) { handlerMap.set(handler.id, handler); } return handlerMap; } /** * Resolve a command to its handler * * @param command - Raw command from CLI (may be alias) * @param aliasMap - Alias map from buildAliasMap() * @param handlerMap - Handler map from buildHandlerMap() * @returns Handler or undefined if not found */ export function resolveHandler(command, aliasMap, handlerMap) { const canonicalId = aliasMap.get(command); if (!canonicalId) return undefined; return handlerMap.get(canonicalId); } /** * Get handlers grouped by category * * Used for generating organized help text. * * @returns Map of category -> handlers */ export function getHandlersByCategory() { const categoryMap = new Map(); for (const handler of allHandlers) { const category = handler.category; const handlers = categoryMap.get(category) || []; handlers.push(handler); categoryMap.set(category, handlers); } return categoryMap; } /** * Get total handler count */ export function getHandlerCount() { return allHandlers.length; } /** * Get total alias count (including canonical IDs) */ export function getAliasCount() { return buildAliasMap().size; } //# sourceMappingURL=index.js.map