@erenari/supercodex 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +228 -0
  2. package/dist/backup.d.ts +6 -0
  3. package/dist/backup.js +37 -0
  4. package/dist/backup.js.map +1 -0
  5. package/dist/cli.d.ts +4 -0
  6. package/dist/cli.js +63 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/commands/aliases.d.ts +2 -0
  9. package/dist/commands/aliases.js +141 -0
  10. package/dist/commands/aliases.js.map +1 -0
  11. package/dist/commands/catalog.d.ts +3 -0
  12. package/dist/commands/catalog.js +103 -0
  13. package/dist/commands/catalog.js.map +1 -0
  14. package/dist/commands/core.d.ts +2 -0
  15. package/dist/commands/core.js +111 -0
  16. package/dist/commands/core.js.map +1 -0
  17. package/dist/commands/doctor.d.ts +3 -0
  18. package/dist/commands/doctor.js +72 -0
  19. package/dist/commands/doctor.js.map +1 -0
  20. package/dist/commands/index.d.ts +9 -0
  21. package/dist/commands/index.js +26 -0
  22. package/dist/commands/index.js.map +1 -0
  23. package/dist/commands/mcp.d.ts +2 -0
  24. package/dist/commands/mcp.js +128 -0
  25. package/dist/commands/mcp.js.map +1 -0
  26. package/dist/commands/mode.d.ts +2 -0
  27. package/dist/commands/mode.js +73 -0
  28. package/dist/commands/mode.js.map +1 -0
  29. package/dist/commands/persona.d.ts +2 -0
  30. package/dist/commands/persona.js +70 -0
  31. package/dist/commands/persona.js.map +1 -0
  32. package/dist/commands/run.d.ts +2 -0
  33. package/dist/commands/run.js +50 -0
  34. package/dist/commands/run.js.map +1 -0
  35. package/dist/commands/utils.d.ts +4 -0
  36. package/dist/commands/utils.js +28 -0
  37. package/dist/commands/utils.js.map +1 -0
  38. package/dist/commands/validate.d.ts +2 -0
  39. package/dist/commands/validate.js +56 -0
  40. package/dist/commands/validate.js.map +1 -0
  41. package/dist/config.d.ts +33 -0
  42. package/dist/config.js +433 -0
  43. package/dist/config.js.map +1 -0
  44. package/dist/constants.d.ts +3 -0
  45. package/dist/constants.js +7 -0
  46. package/dist/constants.js.map +1 -0
  47. package/dist/doctor/checks.d.ts +18 -0
  48. package/dist/doctor/checks.js +100 -0
  49. package/dist/doctor/checks.js.map +1 -0
  50. package/dist/doctor/fix.d.ts +6 -0
  51. package/dist/doctor/fix.js +99 -0
  52. package/dist/doctor/fix.js.map +1 -0
  53. package/dist/doctor/index.d.ts +4 -0
  54. package/dist/doctor/index.js +21 -0
  55. package/dist/doctor/index.js.map +1 -0
  56. package/dist/doctor/report.d.ts +3 -0
  57. package/dist/doctor/report.js +21 -0
  58. package/dist/doctor/report.js.map +1 -0
  59. package/dist/doctor/types.d.ts +16 -0
  60. package/dist/doctor/types.js +3 -0
  61. package/dist/doctor/types.js.map +1 -0
  62. package/dist/fs-utils.d.ts +4 -0
  63. package/dist/fs-utils.js +31 -0
  64. package/dist/fs-utils.js.map +1 -0
  65. package/dist/mcp.d.ts +21 -0
  66. package/dist/mcp.js +222 -0
  67. package/dist/mcp.js.map +1 -0
  68. package/dist/operations.d.ts +108 -0
  69. package/dist/operations.js +388 -0
  70. package/dist/operations.js.map +1 -0
  71. package/dist/paths.d.ts +12 -0
  72. package/dist/paths.js +41 -0
  73. package/dist/paths.js.map +1 -0
  74. package/dist/project-init.d.ts +8 -0
  75. package/dist/project-init.js +92 -0
  76. package/dist/project-init.js.map +1 -0
  77. package/dist/prompts.d.ts +9 -0
  78. package/dist/prompts.js +157 -0
  79. package/dist/prompts.js.map +1 -0
  80. package/dist/registry/aliases.d.ts +16 -0
  81. package/dist/registry/aliases.js +347 -0
  82. package/dist/registry/aliases.js.map +1 -0
  83. package/dist/registry/builtins.d.ts +8 -0
  84. package/dist/registry/builtins.js +188 -0
  85. package/dist/registry/builtins.js.map +1 -0
  86. package/dist/registry/index.d.ts +4 -0
  87. package/dist/registry/index.js +21 -0
  88. package/dist/registry/index.js.map +1 -0
  89. package/dist/registry/loader.d.ts +16 -0
  90. package/dist/registry/loader.js +655 -0
  91. package/dist/registry/loader.js.map +1 -0
  92. package/dist/registry/types.d.ts +79 -0
  93. package/dist/registry/types.js +3 -0
  94. package/dist/registry/types.js.map +1 -0
  95. package/dist/runtime/alias-dispatch.d.ts +10 -0
  96. package/dist/runtime/alias-dispatch.js +119 -0
  97. package/dist/runtime/alias-dispatch.js.map +1 -0
  98. package/dist/runtime/compat.d.ts +6 -0
  99. package/dist/runtime/compat.js +23 -0
  100. package/dist/runtime/compat.js.map +1 -0
  101. package/dist/runtime/context.d.ts +23 -0
  102. package/dist/runtime/context.js +59 -0
  103. package/dist/runtime/context.js.map +1 -0
  104. package/dist/runtime/index.d.ts +4 -0
  105. package/dist/runtime/index.js +21 -0
  106. package/dist/runtime/index.js.map +1 -0
  107. package/dist/runtime/workflow.d.ts +18 -0
  108. package/dist/runtime/workflow.js +45 -0
  109. package/dist/runtime/workflow.js.map +1 -0
  110. package/package.json +57 -0
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerCoreCommands = registerCoreCommands;
7
+ const node_path_1 = __importDefault(require("node:path"));
8
+ const operations_1 = require("../operations");
9
+ const project_init_1 = require("../project-init");
10
+ const utils_1 = require("./utils");
11
+ function registerCoreCommands(program) {
12
+ program
13
+ .command("install")
14
+ .description("Install SuperCodex prompt pack and merge ~/.codex/config.toml safely")
15
+ .option("--codex-home <path>", "Override Codex home directory")
16
+ .option("--force", "Apply SuperCodex values into conflicting standard locations")
17
+ .action((options) => (0, utils_1.runCommand)(async () => {
18
+ const result = await (0, operations_1.installSupercodex)({
19
+ codexHome: options.codexHome,
20
+ force: Boolean(options.force)
21
+ });
22
+ console.log(`Backup: ${result.backup.backupDir}`);
23
+ console.log(`Config: ${result.paths.configPath}`);
24
+ console.log(result.configChanged ? "Config merged." : "Config already up to date.");
25
+ console.log(result.promptChanged
26
+ ? `Prompt pack installed at ${result.paths.promptPackDir}.`
27
+ : `Prompt pack already current at ${result.paths.promptPackDir}.`);
28
+ (0, utils_1.printWarnings)(result.warnings);
29
+ }));
30
+ program
31
+ .command("uninstall")
32
+ .description("Remove SuperCodex-managed config and prompt pack")
33
+ .option("--codex-home <path>", "Override Codex home directory")
34
+ .action((options) => (0, utils_1.runCommand)(async () => {
35
+ const result = await (0, operations_1.uninstallSupercodex)({
36
+ codexHome: options.codexHome
37
+ });
38
+ console.log(`Backup: ${result.backup.backupDir}`);
39
+ console.log(`Config: ${result.paths.configPath}`);
40
+ console.log(result.configChanged ? "SuperCodex-managed config removed." : "No managed config found.");
41
+ console.log(result.promptRemoved ? "Prompt pack removed." : "Prompt pack was not installed.");
42
+ console.log(result.removedAgents.length > 0
43
+ ? `Removed agents: ${result.removedAgents.join(", ")}`
44
+ : "Removed agents: (none)");
45
+ console.log(result.removedMcpServers.length > 0
46
+ ? `Removed MCP servers: ${result.removedMcpServers.join(", ")}`
47
+ : "Removed MCP servers: (none)");
48
+ }));
49
+ program
50
+ .command("list")
51
+ .description("List bundled prompt pack files and installed prompt files")
52
+ .option("--codex-home <path>", "Override Codex home directory")
53
+ .action((options) => (0, utils_1.runCommand)(async () => {
54
+ const result = await (0, operations_1.listPromptPackStatus)(options.codexHome);
55
+ const installed = new Set(result.installed);
56
+ console.log(`Prompt pack directory: ${result.promptPackDir}`);
57
+ console.log("Bundled prompts:");
58
+ for (const promptName of result.bundled) {
59
+ const state = installed.has(promptName) ? "installed" : "missing";
60
+ console.log(`- ${promptName} (${state})`);
61
+ }
62
+ }));
63
+ program
64
+ .command("status")
65
+ .description("Show SuperCodex install status and managed entries")
66
+ .option("--codex-home <path>", "Override Codex home directory")
67
+ .option("--json", "Output JSON")
68
+ .action((options) => (0, utils_1.runCommand)(async () => {
69
+ const result = await (0, operations_1.getSupercodexStatus)(options.codexHome);
70
+ if (Boolean(options.json)) {
71
+ console.log(JSON.stringify(result, null, 2));
72
+ return;
73
+ }
74
+ console.log(`Codex home: ${result.codexHome}`);
75
+ console.log(`Config path: ${result.configPath}`);
76
+ console.log(`Config exists: ${result.configExists ? "yes" : "no"}`);
77
+ console.log(`SuperCodex section installed: ${result.supercodexInstalled ? "yes" : "no"}`);
78
+ console.log(`Prompt pack: ${result.promptPackInstalled ? "installed" : "missing"} (${result.promptPackDir})`);
79
+ console.log(`Default mode: ${result.defaultMode ?? "(builtin)"}`);
80
+ console.log(`Default persona: ${result.defaultPersona ?? "(builtin)"}`);
81
+ console.log(`Catalog version: ${result.catalogVersion ?? "(unknown)"}`);
82
+ console.log(result.managedAgents.length > 0
83
+ ? `Managed agents: ${result.managedAgents.join(", ")}`
84
+ : "Managed agents: (none)");
85
+ console.log(result.managedMcpServers.length > 0
86
+ ? `Managed MCP servers: ${result.managedMcpServers.join(", ")}`
87
+ : "Managed MCP servers: (none)");
88
+ console.log(result.catalogInstalledIds.length > 0
89
+ ? `Catalog-installed MCP ids: ${result.catalogInstalledIds.join(", ")}`
90
+ : "Catalog-installed MCP ids: (none)");
91
+ console.log(result.overridePaths.length > 0
92
+ ? `Pending overrides: ${result.overridePaths.join(", ")}`
93
+ : "Pending overrides: (none)");
94
+ }));
95
+ program
96
+ .command("init")
97
+ .description("Create a project-scoped .codex template in the current directory")
98
+ .option("--dir <path>", "Project directory (default: cwd)")
99
+ .action((options) => (0, utils_1.runCommand)(async () => {
100
+ const projectRoot = options.dir ? node_path_1.default.resolve(options.dir) : process.cwd();
101
+ const result = await (0, project_init_1.initProjectTemplate)(projectRoot);
102
+ console.log(`Project config: ${result.configPath}`);
103
+ console.log(result.configChanged ? "Project config initialized." : "Project config already compatible.");
104
+ console.log(`Project README: ${result.readmePath}`);
105
+ console.log(result.readmeChanged ? "Project README created." : "Project README already exists.");
106
+ if (result.skippedPaths.length > 0) {
107
+ console.log(`Preserved existing values: ${result.skippedPaths.join(", ")}`);
108
+ }
109
+ }));
110
+ }
111
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/commands/core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerDoctorCommands(program: Command): void;
3
+ export declare function registerMcpDoctorCommand(parent: Command): void;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerDoctorCommands = registerDoctorCommands;
4
+ exports.registerMcpDoctorCommand = registerMcpDoctorCommand;
5
+ const doctor_1 = require("../doctor");
6
+ const config_1 = require("../config");
7
+ const operations_1 = require("../operations");
8
+ const paths_1 = require("../paths");
9
+ const fs_utils_1 = require("../fs-utils");
10
+ const utils_1 = require("./utils");
11
+ function registerDoctorCommands(program) {
12
+ program
13
+ .command("doctor")
14
+ .description("Run diagnostics (report-only by default)")
15
+ .option("--codex-home <path>", "Override Codex home directory")
16
+ .option("--json", "Output JSON")
17
+ .option("--strict", "Fail on warnings too")
18
+ .option("--fix", "Apply safe deterministic fixes")
19
+ .option("--mcp-connectivity", "Probe MCP command/url connectivity checks")
20
+ .action((options) => (0, utils_1.runCommand)(async () => {
21
+ const result = await (0, doctor_1.runDoctorChecks)({
22
+ codexHome: options.codexHome,
23
+ projectRoot: process.cwd(),
24
+ mcpConnectivity: Boolean(options.mcpConnectivity)
25
+ });
26
+ if (Boolean(options.fix)) {
27
+ await (0, doctor_1.applyDoctorFixes)(result.report, {
28
+ codexHome: options.codexHome,
29
+ doctorStatus: result.report.ok ? "ok" : "issues"
30
+ });
31
+ }
32
+ else {
33
+ await (0, operations_1.updateDoctorState)(result.report.ok ? "ok" : "issues", {
34
+ codexHome: options.codexHome
35
+ });
36
+ }
37
+ if (Boolean(options.json)) {
38
+ console.log((0, doctor_1.formatDoctorReportJson)(result.report));
39
+ }
40
+ else {
41
+ console.log((0, doctor_1.formatDoctorReport)(result.report));
42
+ }
43
+ const hasErrors = result.report.issues.some((issue) => issue.level === "error");
44
+ const hasWarnings = result.report.issues.some((issue) => issue.level === "warn");
45
+ if (hasErrors || (Boolean(options.strict) && hasWarnings)) {
46
+ process.exitCode = 1;
47
+ }
48
+ }));
49
+ }
50
+ function registerMcpDoctorCommand(parent) {
51
+ parent
52
+ .command("doctor")
53
+ .description("Run MCP-only diagnostics")
54
+ .option("--codex-home <path>", "Override Codex home directory")
55
+ .option("--json", "Output JSON")
56
+ .option("--connectivity", "Probe command/url reachability")
57
+ .action((options) => (0, utils_1.runCommand)(async () => {
58
+ const paths = (0, paths_1.getCodexPaths)(options.codexHome);
59
+ const config = (await (0, fs_utils_1.pathExists)(paths.configPath)) ? await (0, config_1.loadConfig)(paths.configPath) : {};
60
+ const report = await (0, doctor_1.runMcpDoctorChecks)(config, Boolean(options.connectivity));
61
+ if (Boolean(options.json)) {
62
+ console.log((0, doctor_1.formatDoctorReportJson)(report));
63
+ }
64
+ else {
65
+ console.log((0, doctor_1.formatDoctorReport)(report));
66
+ }
67
+ if (!report.ok) {
68
+ process.exitCode = 1;
69
+ }
70
+ }));
71
+ }
72
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export * from "./aliases";
2
+ export * from "./catalog";
3
+ export * from "./core";
4
+ export * from "./doctor";
5
+ export * from "./mcp";
6
+ export * from "./mode";
7
+ export * from "./persona";
8
+ export * from "./run";
9
+ export * from "./validate";
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./aliases"), exports);
18
+ __exportStar(require("./catalog"), exports);
19
+ __exportStar(require("./core"), exports);
20
+ __exportStar(require("./doctor"), exports);
21
+ __exportStar(require("./mcp"), exports);
22
+ __exportStar(require("./mode"), exports);
23
+ __exportStar(require("./persona"), exports);
24
+ __exportStar(require("./run"), exports);
25
+ __exportStar(require("./validate"), exports);
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB;AACzB,wCAAsB;AACtB,yCAAuB;AACvB,4CAA0B;AAC1B,wCAAsB;AACtB,6CAA2B"}
@@ -0,0 +1,2 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerMcpCommands(program: Command): void;
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerMcpCommands = registerMcpCommands;
4
+ const mcp_1 = require("../mcp");
5
+ const operations_1 = require("../operations");
6
+ const registry_1 = require("../registry");
7
+ const catalog_1 = require("./catalog");
8
+ const doctor_1 = require("./doctor");
9
+ const utils_1 = require("./utils");
10
+ function registerMcpCommands(program) {
11
+ const mcp = program.command("mcp").description("Manage MCP servers and catalog entries");
12
+ mcp
13
+ .command("add")
14
+ .description("Add an MCP server entry in ~/.codex/config.toml")
15
+ .argument("<name>", "MCP server name")
16
+ .argument("[command...]", "STDIO command (omit when --http is used)")
17
+ .option("--http <url>", "Use HTTP transport instead of STDIO")
18
+ .option("--env <key=value>", "Environment variable assignment", utils_1.collectRepeatedOption, [])
19
+ .option("--codex-home <path>", "Override Codex home directory")
20
+ .option("--force", "Apply values directly when conflicts exist")
21
+ .action((name, commandParts, options) => (0, utils_1.runCommand)(async () => {
22
+ const hasHttp = Boolean(options.http);
23
+ const command = commandParts ?? [];
24
+ if (hasHttp && command.length > 0) {
25
+ throw new Error("Do not pass <command...> when using --http.");
26
+ }
27
+ if (!hasHttp && command.length === 0) {
28
+ throw new Error("Provide <command...> for STDIO transport, or use --http <url>.");
29
+ }
30
+ const env = (0, mcp_1.parseEnvAssignments)(options.env ?? []);
31
+ const definition = hasHttp
32
+ ? (0, mcp_1.buildHttpServerDefinition)(options.http, env)
33
+ : (0, mcp_1.buildStdioServerDefinition)(command, env);
34
+ const result = await (0, operations_1.addMcpServer)(name, definition, {
35
+ codexHome: options.codexHome,
36
+ force: Boolean(options.force)
37
+ });
38
+ console.log(`Backup: ${result.backup.backupDir}`);
39
+ console.log(`Config: ${result.paths.configPath}`);
40
+ console.log(result.configChanged ? `MCP server "${name}" merged.` : `MCP server "${name}" already current.`);
41
+ (0, utils_1.printWarnings)(result.warnings);
42
+ }));
43
+ mcp
44
+ .command("list")
45
+ .description("List configured MCP servers")
46
+ .option("--codex-home <path>", "Override Codex home directory")
47
+ .option("--json", "Output JSON")
48
+ .action((options) => (0, utils_1.runCommand)(async () => {
49
+ const result = await (0, operations_1.listConfiguredMcpServers)(options.codexHome);
50
+ if (Boolean(options.json)) {
51
+ console.log(JSON.stringify(result.servers, null, 2));
52
+ return;
53
+ }
54
+ if (result.servers.length === 0) {
55
+ console.log("No MCP servers configured.");
56
+ return;
57
+ }
58
+ for (const server of result.servers) {
59
+ console.log(`${server.name} (${server.transport})`);
60
+ }
61
+ }));
62
+ mcp
63
+ .command("install")
64
+ .description("Install MCP server from bundled catalog")
65
+ .argument("<id>", "Catalog entry id")
66
+ .option("--codex-home <path>", "Override Codex home directory")
67
+ .option("--force", "Apply values directly when conflicts exist")
68
+ .action((id, options) => (0, utils_1.runCommand)(async () => {
69
+ const registry = await (0, registry_1.loadRegistry)({ codexHome: options.codexHome });
70
+ const entry = (0, registry_1.getCatalogEntry)(registry.registry, id);
71
+ if (!entry) {
72
+ throw new Error(`Catalog entry "${id}" not found.`);
73
+ }
74
+ const result = await (0, operations_1.installMcpFromCatalog)(entry, {
75
+ codexHome: options.codexHome,
76
+ force: Boolean(options.force)
77
+ });
78
+ console.log(`Backup: ${result.backup.backupDir}`);
79
+ console.log(result.configChanged
80
+ ? `Installed MCP catalog entry "${result.catalogId}" as server "${result.serverName}".`
81
+ : `MCP catalog entry "${result.catalogId}" is already current.`);
82
+ (0, utils_1.printWarnings)(result.warnings);
83
+ }));
84
+ mcp
85
+ .command("remove")
86
+ .description("Remove configured MCP server")
87
+ .argument("<name>", "MCP server name")
88
+ .option("--codex-home <path>", "Override Codex home directory")
89
+ .action((name, options) => (0, utils_1.runCommand)(async () => {
90
+ const result = await (0, operations_1.removeMcpServer)(name, {
91
+ codexHome: options.codexHome
92
+ });
93
+ console.log(`Backup: ${result.backup.backupDir}`);
94
+ console.log(result.removed ? `Removed MCP server "${name}".` : `MCP server "${name}" not found.`);
95
+ if (result.removedCatalogIds.length > 0) {
96
+ console.log(`Removed catalog ids: ${result.removedCatalogIds.join(", ")}`);
97
+ }
98
+ }));
99
+ mcp
100
+ .command("test")
101
+ .description("Test a configured MCP server")
102
+ .argument("<name>", "MCP server name")
103
+ .option("--codex-home <path>", "Override Codex home directory")
104
+ .option("--json", "Output JSON")
105
+ .action((name, options) => (0, utils_1.runCommand)(async () => {
106
+ const result = await (0, operations_1.testMcpServerByName)(name, {
107
+ codexHome: options.codexHome
108
+ });
109
+ if (!result.exists || !result.result) {
110
+ throw new Error(`MCP server "${name}" not found.`);
111
+ }
112
+ if (Boolean(options.json)) {
113
+ console.log(JSON.stringify(result.result, null, 2));
114
+ }
115
+ else {
116
+ console.log(`${result.result.name}: ${result.result.ok ? "ok" : "failed"}`);
117
+ for (const message of result.result.messages) {
118
+ console.log(`- ${message}`);
119
+ }
120
+ }
121
+ if (!result.result.ok) {
122
+ process.exitCode = 1;
123
+ }
124
+ }));
125
+ (0, doctor_1.registerMcpDoctorCommand)(mcp);
126
+ (0, catalog_1.registerMcpCatalogCommands)(mcp);
127
+ }
128
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerModeCommands(program: Command): void;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerModeCommands = registerModeCommands;
4
+ const operations_1 = require("../operations");
5
+ const registry_1 = require("../registry");
6
+ const utils_1 = require("./utils");
7
+ function registerModeCommands(program) {
8
+ const mode = program.command("mode").description("Manage SuperCodex modes");
9
+ mode
10
+ .command("list")
11
+ .description("List modes")
12
+ .option("--codex-home <path>", "Override Codex home directory")
13
+ .action((options) => (0, utils_1.runCommand)(async () => {
14
+ const registry = await (0, registry_1.loadRegistry)({ codexHome: options.codexHome });
15
+ for (const modeName of Object.keys(registry.registry.modes).sort()) {
16
+ const definition = registry.registry.modes[modeName];
17
+ console.log(`${modeName} - ${definition.description}`);
18
+ }
19
+ }));
20
+ mode
21
+ .command("show")
22
+ .description("Show mode details")
23
+ .argument("<name>", "Mode name")
24
+ .option("--codex-home <path>", "Override Codex home directory")
25
+ .option("--json", "Output JSON")
26
+ .action((name, options) => (0, utils_1.runCommand)(async () => {
27
+ const registry = await (0, registry_1.loadRegistry)({ codexHome: options.codexHome });
28
+ const definition = registry.registry.modes[name];
29
+ if (!definition) {
30
+ throw new Error(`Mode "${name}" not found.`);
31
+ }
32
+ if (Boolean(options.json)) {
33
+ console.log(JSON.stringify(definition, null, 2));
34
+ }
35
+ else {
36
+ console.log(`${definition.name} - ${definition.description}`);
37
+ if (definition.prompt_overlay) {
38
+ console.log(`Prompt overlay: ${definition.prompt_overlay}`);
39
+ }
40
+ if (definition.reasoning_budget) {
41
+ console.log(`Reasoning budget: ${definition.reasoning_budget}`);
42
+ }
43
+ }
44
+ }));
45
+ mode
46
+ .command("set")
47
+ .description("Set default mode")
48
+ .argument("<name>", "Mode name")
49
+ .option("--codex-home <path>", "Override Codex home directory")
50
+ .action((name, options) => (0, utils_1.runCommand)(async () => {
51
+ const registry = await (0, registry_1.loadRegistry)({ codexHome: options.codexHome });
52
+ if (!registry.registry.modes[name]) {
53
+ throw new Error(`Unknown mode "${name}".`);
54
+ }
55
+ const result = await (0, operations_1.setDefaultMode)(name, {
56
+ codexHome: options.codexHome
57
+ });
58
+ console.log(`Backup: ${result.backup.backupDir}`);
59
+ console.log(result.changed ? `Default mode set to "${name}".` : `Default mode already "${name}".`);
60
+ }));
61
+ mode
62
+ .command("unset")
63
+ .description("Unset default mode")
64
+ .option("--codex-home <path>", "Override Codex home directory")
65
+ .action((options) => (0, utils_1.runCommand)(async () => {
66
+ const result = await (0, operations_1.unsetDefaultMode)({
67
+ codexHome: options.codexHome
68
+ });
69
+ console.log(`Backup: ${result.backup.backupDir}`);
70
+ console.log(result.changed ? "Default mode unset." : "Default mode was already unset.");
71
+ }));
72
+ }
73
+ //# sourceMappingURL=mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode.js","sourceRoot":"","sources":["../../src/commands/mode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerPersonaCommands(program: Command): void;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerPersonaCommands = registerPersonaCommands;
4
+ const operations_1 = require("../operations");
5
+ const registry_1 = require("../registry");
6
+ const utils_1 = require("./utils");
7
+ function registerPersonaCommands(program) {
8
+ const persona = program.command("persona").description("Manage SuperCodex personas");
9
+ persona
10
+ .command("list")
11
+ .description("List personas")
12
+ .option("--codex-home <path>", "Override Codex home directory")
13
+ .action((options) => (0, utils_1.runCommand)(async () => {
14
+ const registry = await (0, registry_1.loadRegistry)({ codexHome: options.codexHome });
15
+ for (const personaName of Object.keys(registry.registry.personas).sort()) {
16
+ const definition = registry.registry.personas[personaName];
17
+ console.log(`${personaName} - ${definition.description}`);
18
+ }
19
+ }));
20
+ persona
21
+ .command("show")
22
+ .description("Show persona details")
23
+ .argument("<name>", "Persona name")
24
+ .option("--codex-home <path>", "Override Codex home directory")
25
+ .option("--json", "Output JSON")
26
+ .action((name, options) => (0, utils_1.runCommand)(async () => {
27
+ const registry = await (0, registry_1.loadRegistry)({ codexHome: options.codexHome });
28
+ const definition = registry.registry.personas[name];
29
+ if (!definition) {
30
+ throw new Error(`Persona "${name}" not found.`);
31
+ }
32
+ if (Boolean(options.json)) {
33
+ console.log(JSON.stringify(definition, null, 2));
34
+ }
35
+ else {
36
+ console.log(`${definition.name} - ${definition.description}`);
37
+ if (definition.system_prompt) {
38
+ console.log(`System prompt: ${definition.system_prompt}`);
39
+ }
40
+ }
41
+ }));
42
+ persona
43
+ .command("set")
44
+ .description("Set default persona")
45
+ .argument("<name>", "Persona name")
46
+ .option("--codex-home <path>", "Override Codex home directory")
47
+ .action((name, options) => (0, utils_1.runCommand)(async () => {
48
+ const registry = await (0, registry_1.loadRegistry)({ codexHome: options.codexHome });
49
+ if (!registry.registry.personas[name]) {
50
+ throw new Error(`Unknown persona "${name}".`);
51
+ }
52
+ const result = await (0, operations_1.setDefaultPersona)(name, {
53
+ codexHome: options.codexHome
54
+ });
55
+ console.log(`Backup: ${result.backup.backupDir}`);
56
+ console.log(result.changed ? `Default persona set to "${name}".` : `Default persona already "${name}".`);
57
+ }));
58
+ persona
59
+ .command("unset")
60
+ .description("Unset default persona")
61
+ .option("--codex-home <path>", "Override Codex home directory")
62
+ .action((options) => (0, utils_1.runCommand)(async () => {
63
+ const result = await (0, operations_1.unsetDefaultPersona)({
64
+ codexHome: options.codexHome
65
+ });
66
+ console.log(`Backup: ${result.backup.backupDir}`);
67
+ console.log(result.changed ? "Default persona unset." : "Default persona was already unset.");
68
+ }));
69
+ }
70
+ //# sourceMappingURL=persona.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persona.js","sourceRoot":"","sources":["../../src/commands/persona.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerRunCommands(program: Command): void;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerRunCommands = registerRunCommands;
4
+ const registry_1 = require("../registry");
5
+ const runtime_1 = require("../runtime");
6
+ const utils_1 = require("./utils");
7
+ function registerRunCommands(program) {
8
+ const run = program.command("run").description("Resolve workflow context");
9
+ for (const workflowName of ["plan", "review", "refactor", "debug"]) {
10
+ run
11
+ .command(workflowName)
12
+ .description(`Resolve ${workflowName} workflow context`)
13
+ .option("--codex-home <path>", "Override Codex home directory")
14
+ .option("--mode <name>", "Override mode")
15
+ .option("--persona <name>", "Override persona")
16
+ .option("--json", "Output JSON")
17
+ .action((options) => (0, utils_1.runCommand)(async () => {
18
+ const registry = await (0, registry_1.loadRegistry)({
19
+ codexHome: options.codexHome,
20
+ projectRoot: process.cwd()
21
+ });
22
+ const resolution = await (0, runtime_1.resolveWorkflow)(registry.registry, {
23
+ workflow: workflowName,
24
+ codexHome: options.codexHome,
25
+ mode: options.mode,
26
+ persona: options.persona,
27
+ projectRoot: process.cwd()
28
+ });
29
+ const compat = (0, runtime_1.checkCompatibility)(registry.registry, `run.${workflowName}`, resolution.mode, resolution.persona);
30
+ if (!compat.ok) {
31
+ throw new Error(compat.errors.join(" "));
32
+ }
33
+ if (Boolean(options.json)) {
34
+ console.log(JSON.stringify(resolution, null, 2));
35
+ return;
36
+ }
37
+ console.log(`Workflow: ${resolution.workflow}`);
38
+ console.log(`Prompt: ${resolution.promptPath}`);
39
+ console.log(`Mode: ${resolution.mode} (${resolution.modeSource})`);
40
+ console.log(`Persona: ${resolution.persona} (${resolution.personaSource})`);
41
+ if (resolution.overlays.modePrompt) {
42
+ console.log(`Mode overlay: ${resolution.overlays.modePrompt}`);
43
+ }
44
+ if (resolution.overlays.personaPrompt) {
45
+ console.log(`Persona overlay: ${resolution.overlays.personaPrompt}`);
46
+ }
47
+ }));
48
+ }
49
+ }
50
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":";;AAMA,kDAoDC;AAxDD,0CAA2C;AAC3C,wCAAiE;AACjE,mCAAqC;AAErC,SAAgB,mBAAmB,CAAC,OAAgB;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAE3E,KAAK,MAAM,YAAY,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAU,EAAE,CAAC;QAC5E,GAAG;aACA,OAAO,CAAC,YAAY,CAAC;aACrB,WAAW,CAAC,WAAW,YAAY,mBAAmB,CAAC;aACvD,MAAM,CAAC,qBAAqB,EAAE,+BAA+B,CAAC;aAC9D,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC;aACxC,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;aAC9C,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC;aAC/B,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAClB,IAAA,kBAAU,EAAC,KAAK,IAAI,EAAE;YACpB,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAY,EAAC;gBAClC,SAAS,EAAE,OAAO,CAAC,SAA+B;gBAClD,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE;aAC3B,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAA,yBAAe,EAAC,QAAQ,CAAC,QAAQ,EAAE;gBAC1D,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,OAAO,CAAC,SAA+B;gBAClD,IAAI,EAAE,OAAO,CAAC,IAA0B;gBACxC,OAAO,EAAE,OAAO,CAAC,OAA6B;gBAC9C,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE;aAC3B,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,4BAAkB,EAC/B,QAAQ,CAAC,QAAQ,EACjB,OAAO,YAAY,EAAE,EACrB,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,OAAO,CACnB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3C,CAAC;YAED,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,aAAa,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,SAAS,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,YAAY,UAAU,CAAC,OAAO,KAAK,UAAU,CAAC,aAAa,GAAG,CAAC,CAAC;YAC5E,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,oBAAoB,UAAU,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACN,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { MergeWarning } from "../config";
2
+ export declare function runCommand(task: () => Promise<void>): Promise<void>;
3
+ export declare function printWarnings(warnings: MergeWarning[]): void;
4
+ export declare function collectRepeatedOption(value: string, previous: string[]): string[];