@lousy-agents/cli 2.0.0 → 2.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 (181) hide show
  1. package/dist/145.js +29 -0
  2. package/dist/145.js.map +1 -0
  3. package/dist/190.js +1765 -0
  4. package/dist/190.js.map +1 -0
  5. package/dist/255.js +1850 -0
  6. package/dist/255.js.map +1 -0
  7. package/dist/31.js +127 -0
  8. package/dist/31.js.map +1 -0
  9. package/dist/399.js +13 -0
  10. package/dist/399.js.map +1 -0
  11. package/dist/610.js +254 -0
  12. package/dist/610.js.map +1 -0
  13. package/dist/651.js +39 -0
  14. package/dist/651.js.map +1 -0
  15. package/dist/659.js +16 -0
  16. package/dist/659.js.map +1 -0
  17. package/dist/709.js +47 -0
  18. package/dist/709.js.map +1 -0
  19. package/dist/835.js +298 -0
  20. package/dist/835.js.map +1 -0
  21. package/dist/index.js +30651 -9
  22. package/dist/index.js.map +1 -1
  23. package/dist/mcp-server.js +46530 -5
  24. package/dist/mcp-server.js.map +1 -1
  25. package/package.json +4 -2
  26. package/dist/commands/copilot-setup.d.ts +0 -5
  27. package/dist/commands/copilot-setup.d.ts.map +0 -1
  28. package/dist/commands/copilot-setup.js +0 -97
  29. package/dist/commands/copilot-setup.js.map +0 -1
  30. package/dist/commands/init.d.ts +0 -13
  31. package/dist/commands/init.d.ts.map +0 -1
  32. package/dist/commands/init.js +0 -109
  33. package/dist/commands/init.js.map +0 -1
  34. package/dist/commands/new.d.ts +0 -21
  35. package/dist/commands/new.d.ts.map +0 -1
  36. package/dist/commands/new.js +0 -94
  37. package/dist/commands/new.js.map +0 -1
  38. package/dist/entities/copilot-agent.d.ts +0 -15
  39. package/dist/entities/copilot-agent.d.ts.map +0 -1
  40. package/dist/entities/copilot-agent.js +0 -53
  41. package/dist/entities/copilot-agent.js.map +0 -1
  42. package/dist/entities/copilot-setup.d.ts +0 -65
  43. package/dist/entities/copilot-setup.d.ts.map +0 -1
  44. package/dist/entities/copilot-setup.js +0 -6
  45. package/dist/entities/copilot-setup.js.map +0 -1
  46. package/dist/entities/index.d.ts +0 -7
  47. package/dist/entities/index.d.ts.map +0 -1
  48. package/dist/entities/index.js +0 -7
  49. package/dist/entities/index.js.map +0 -1
  50. package/dist/entities/skill.d.ts +0 -15
  51. package/dist/entities/skill.d.ts.map +0 -1
  52. package/dist/entities/skill.js +0 -63
  53. package/dist/entities/skill.js.map +0 -1
  54. package/dist/gateways/action-version-gateway.d.ts +0 -39
  55. package/dist/gateways/action-version-gateway.d.ts.map +0 -1
  56. package/dist/gateways/action-version-gateway.js +0 -47
  57. package/dist/gateways/action-version-gateway.js.map +0 -1
  58. package/dist/gateways/agent-file-gateway.d.ts +0 -50
  59. package/dist/gateways/agent-file-gateway.d.ts.map +0 -1
  60. package/dist/gateways/agent-file-gateway.js +0 -34
  61. package/dist/gateways/agent-file-gateway.js.map +0 -1
  62. package/dist/gateways/environment-gateway.d.ts +0 -30
  63. package/dist/gateways/environment-gateway.d.ts.map +0 -1
  64. package/dist/gateways/environment-gateway.js +0 -56
  65. package/dist/gateways/environment-gateway.js.map +0 -1
  66. package/dist/gateways/file-system-utils.d.ts +0 -8
  67. package/dist/gateways/file-system-utils.d.ts.map +0 -1
  68. package/dist/gateways/file-system-utils.js +0 -17
  69. package/dist/gateways/file-system-utils.js.map +0 -1
  70. package/dist/gateways/file-system-workflow-gateway.d.ts +0 -27
  71. package/dist/gateways/file-system-workflow-gateway.d.ts.map +0 -1
  72. package/dist/gateways/file-system-workflow-gateway.js +0 -99
  73. package/dist/gateways/file-system-workflow-gateway.js.map +0 -1
  74. package/dist/gateways/index.d.ts +0 -10
  75. package/dist/gateways/index.d.ts.map +0 -1
  76. package/dist/gateways/index.js +0 -10
  77. package/dist/gateways/index.js.map +0 -1
  78. package/dist/gateways/skill-file-gateway.d.ts +0 -59
  79. package/dist/gateways/skill-file-gateway.d.ts.map +0 -1
  80. package/dist/gateways/skill-file-gateway.js +0 -37
  81. package/dist/gateways/skill-file-gateway.js.map +0 -1
  82. package/dist/gateways/workflow-gateway.d.ts +0 -43
  83. package/dist/gateways/workflow-gateway.d.ts.map +0 -1
  84. package/dist/gateways/workflow-gateway.js +0 -6
  85. package/dist/gateways/workflow-gateway.js.map +0 -1
  86. package/dist/index.d.ts +0 -3
  87. package/dist/index.d.ts.map +0 -1
  88. package/dist/lib/config.d.ts +0 -28
  89. package/dist/lib/config.d.ts.map +0 -1
  90. package/dist/lib/config.js +0 -406
  91. package/dist/lib/config.js.map +0 -1
  92. package/dist/lib/copilot-setup-config.d.ts +0 -79
  93. package/dist/lib/copilot-setup-config.d.ts.map +0 -1
  94. package/dist/lib/copilot-setup-config.js +0 -119
  95. package/dist/lib/copilot-setup-config.js.map +0 -1
  96. package/dist/lib/filesystem-structure.d.ts +0 -45
  97. package/dist/lib/filesystem-structure.d.ts.map +0 -1
  98. package/dist/lib/filesystem-structure.js +0 -69
  99. package/dist/lib/filesystem-structure.js.map +0 -1
  100. package/dist/lib/mcp-test-client.d.ts +0 -43
  101. package/dist/lib/mcp-test-client.d.ts.map +0 -1
  102. package/dist/lib/mcp-test-client.js +0 -167
  103. package/dist/lib/mcp-test-client.js.map +0 -1
  104. package/dist/lib/project-name-validation.d.ts +0 -43
  105. package/dist/lib/project-name-validation.d.ts.map +0 -1
  106. package/dist/lib/project-name-validation.js +0 -131
  107. package/dist/lib/project-name-validation.js.map +0 -1
  108. package/dist/mcp/index.d.ts +0 -5
  109. package/dist/mcp/index.d.ts.map +0 -1
  110. package/dist/mcp/index.js +0 -5
  111. package/dist/mcp/index.js.map +0 -1
  112. package/dist/mcp/server.d.ts +0 -15
  113. package/dist/mcp/server.d.ts.map +0 -1
  114. package/dist/mcp/server.js +0 -120
  115. package/dist/mcp/server.js.map +0 -1
  116. package/dist/mcp/tools/analyze-action-versions.d.ts +0 -9
  117. package/dist/mcp/tools/analyze-action-versions.d.ts.map +0 -1
  118. package/dist/mcp/tools/analyze-action-versions.js +0 -81
  119. package/dist/mcp/tools/analyze-action-versions.js.map +0 -1
  120. package/dist/mcp/tools/create-copilot-setup-workflow.d.ts +0 -9
  121. package/dist/mcp/tools/create-copilot-setup-workflow.d.ts.map +0 -1
  122. package/dist/mcp/tools/create-copilot-setup-workflow.js +0 -121
  123. package/dist/mcp/tools/create-copilot-setup-workflow.js.map +0 -1
  124. package/dist/mcp/tools/discover-environment.d.ts +0 -9
  125. package/dist/mcp/tools/discover-environment.d.ts.map +0 -1
  126. package/dist/mcp/tools/discover-environment.js +0 -30
  127. package/dist/mcp/tools/discover-environment.js.map +0 -1
  128. package/dist/mcp/tools/discover-workflow-setup-actions.d.ts +0 -9
  129. package/dist/mcp/tools/discover-workflow-setup-actions.d.ts.map +0 -1
  130. package/dist/mcp/tools/discover-workflow-setup-actions.js +0 -37
  131. package/dist/mcp/tools/discover-workflow-setup-actions.js.map +0 -1
  132. package/dist/mcp/tools/index.d.ts +0 -11
  133. package/dist/mcp/tools/index.d.ts.map +0 -1
  134. package/dist/mcp/tools/index.js +0 -11
  135. package/dist/mcp/tools/index.js.map +0 -1
  136. package/dist/mcp/tools/read-copilot-setup-workflow.d.ts +0 -9
  137. package/dist/mcp/tools/read-copilot-setup-workflow.d.ts.map +0 -1
  138. package/dist/mcp/tools/read-copilot-setup-workflow.js +0 -38
  139. package/dist/mcp/tools/read-copilot-setup-workflow.js.map +0 -1
  140. package/dist/mcp/tools/resolve-action-versions.d.ts +0 -10
  141. package/dist/mcp/tools/resolve-action-versions.d.ts.map +0 -1
  142. package/dist/mcp/tools/resolve-action-versions.js +0 -61
  143. package/dist/mcp/tools/resolve-action-versions.js.map +0 -1
  144. package/dist/mcp/tools/types.d.ts +0 -67
  145. package/dist/mcp/tools/types.d.ts.map +0 -1
  146. package/dist/mcp/tools/types.js +0 -24
  147. package/dist/mcp/tools/types.js.map +0 -1
  148. package/dist/mcp-server.d.ts +0 -7
  149. package/dist/mcp-server.d.ts.map +0 -1
  150. package/dist/use-cases/action-resolution.d.ts +0 -66
  151. package/dist/use-cases/action-resolution.d.ts.map +0 -1
  152. package/dist/use-cases/action-resolution.js +0 -107
  153. package/dist/use-cases/action-resolution.js.map +0 -1
  154. package/dist/use-cases/candidate-builder.d.ts +0 -17
  155. package/dist/use-cases/candidate-builder.d.ts.map +0 -1
  156. package/dist/use-cases/candidate-builder.js +0 -67
  157. package/dist/use-cases/candidate-builder.js.map +0 -1
  158. package/dist/use-cases/copilot-setup.d.ts +0 -8
  159. package/dist/use-cases/copilot-setup.d.ts.map +0 -1
  160. package/dist/use-cases/copilot-setup.js +0 -10
  161. package/dist/use-cases/copilot-setup.js.map +0 -1
  162. package/dist/use-cases/create-copilot-agent.d.ts +0 -29
  163. package/dist/use-cases/create-copilot-agent.d.ts.map +0 -1
  164. package/dist/use-cases/create-copilot-agent.js +0 -73
  165. package/dist/use-cases/create-copilot-agent.js.map +0 -1
  166. package/dist/use-cases/create-skill.d.ts +0 -30
  167. package/dist/use-cases/create-skill.d.ts.map +0 -1
  168. package/dist/use-cases/create-skill.js +0 -75
  169. package/dist/use-cases/create-skill.js.map +0 -1
  170. package/dist/use-cases/index.d.ts +0 -10
  171. package/dist/use-cases/index.d.ts.map +0 -1
  172. package/dist/use-cases/index.js +0 -10
  173. package/dist/use-cases/index.js.map +0 -1
  174. package/dist/use-cases/setup-step-discovery.d.ts +0 -87
  175. package/dist/use-cases/setup-step-discovery.d.ts.map +0 -1
  176. package/dist/use-cases/setup-step-discovery.js +0 -202
  177. package/dist/use-cases/setup-step-discovery.js.map +0 -1
  178. package/dist/use-cases/workflow-generator.d.ts +0 -34
  179. package/dist/use-cases/workflow-generator.d.ts.map +0 -1
  180. package/dist/use-cases/workflow-generator.js +0 -195
  181. package/dist/use-cases/workflow-generator.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
package/dist/mcp/index.js DELETED
@@ -1,5 +0,0 @@
1
- /**
2
- * MCP Server exports
3
- */
4
- export { createMcpServer } from "./server.js";
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
@@ -1,15 +0,0 @@
1
- /**
2
- * MCP Server for Copilot Setup Steps workflow management.
3
- *
4
- * This is a Layer 3 (Adapters) component that:
5
- * - Handles MCP protocol communication
6
- * - Routes tool calls to appropriate handlers
7
- * - Does NOT contain business logic
8
- */
9
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
10
- /**
11
- * Creates and configures the MCP server with all tools.
12
- */
13
- export declare function createMcpServer(): McpServer;
14
- export { analyzeActionVersionsHandler, createCopilotSetupWorkflowHandler, discoverEnvironmentHandler, discoverWorkflowSetupActionsHandler, readCopilotSetupWorkflowHandler, resolveActionVersionsHandler, } from "./tools/index.js";
15
- //# sourceMappingURL=server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqJpE;;GAEG;AACH,wBAAgB,eAAe,IAAI,SAAS,CAS3C;AAGD,OAAO,EACH,4BAA4B,EAC5B,iCAAiC,EACjC,0BAA0B,EAC1B,mCAAmC,EACnC,+BAA+B,EAC/B,4BAA4B,GAC/B,MAAM,kBAAkB,CAAC"}
@@ -1,120 +0,0 @@
1
- /**
2
- * MCP Server for Copilot Setup Steps workflow management.
3
- *
4
- * This is a Layer 3 (Adapters) component that:
5
- * - Handles MCP protocol communication
6
- * - Routes tool calls to appropriate handlers
7
- * - Does NOT contain business logic
8
- */
9
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
10
- import { z } from "zod";
11
- import { analyzeActionVersionsHandler, createCopilotSetupWorkflowHandler, discoverEnvironmentHandler, discoverWorkflowSetupActionsHandler, readCopilotSetupWorkflowHandler, resolveActionVersionsHandler, } from "./tools/index.js";
12
- /**
13
- * Resolved version schema for input validation.
14
- */
15
- const resolvedVersionSchema = z.object({
16
- action: z.string().describe("Action name (e.g., 'actions/setup-node')"),
17
- sha: z.string().describe("Commit SHA for the action version"),
18
- versionTag: z.string().describe("Version tag (e.g., 'v4.0.0')"),
19
- });
20
- /**
21
- * Shared input schema for tools that operate on a target directory.
22
- */
23
- const targetDirInputSchema = {
24
- targetDir: z
25
- .string()
26
- .optional()
27
- .describe("Target directory to operate on. Defaults to current working directory."),
28
- };
29
- /**
30
- * Extended input schema for create_copilot_setup_workflow tool.
31
- */
32
- const createWorkflowInputSchema = {
33
- ...targetDirInputSchema,
34
- resolvedVersions: z
35
- .array(resolvedVersionSchema)
36
- .optional()
37
- .describe("Array of resolved action versions with SHA and tag. Use this to provide SHA-pinned versions after looking them up."),
38
- };
39
- /**
40
- * Input schema for resolve_action_versions tool.
41
- */
42
- const resolveActionsInputSchema = {
43
- ...targetDirInputSchema,
44
- actions: z
45
- .array(z.string())
46
- .optional()
47
- .describe("List of action names to resolve (e.g., ['actions/setup-node']). If not provided, returns common setup actions."),
48
- resolvedVersions: z
49
- .array(resolvedVersionSchema)
50
- .optional()
51
- .describe("Array of already-resolved versions to filter out."),
52
- };
53
- /**
54
- * All available MCP tools.
55
- */
56
- const TOOLS = [
57
- {
58
- name: "discover_environment",
59
- description: "Discover environment configuration files (mise.toml, version files like .nvmrc, .python-version, etc.) in a target directory",
60
- handler: discoverEnvironmentHandler,
61
- inputSchema: targetDirInputSchema,
62
- },
63
- {
64
- name: "discover_workflow_setup_actions",
65
- description: "Discover setup actions used in existing GitHub Actions workflows in a target directory",
66
- handler: discoverWorkflowSetupActionsHandler,
67
- inputSchema: targetDirInputSchema,
68
- },
69
- {
70
- name: "read_copilot_setup_workflow",
71
- description: "Read the existing Copilot Setup Steps workflow (copilot-setup-steps.yml or .yaml) from a target directory",
72
- handler: readCopilotSetupWorkflowHandler,
73
- inputSchema: targetDirInputSchema,
74
- },
75
- {
76
- name: "create_copilot_setup_workflow",
77
- description: "Create or update the Copilot Setup Steps workflow (copilot-setup-steps.yml) based on detected environment configuration. Returns actions needing version resolution and instructions for SHA-pinning.",
78
- handler: createCopilotSetupWorkflowHandler,
79
- inputSchema: createWorkflowInputSchema,
80
- },
81
- {
82
- name: "analyze_action_versions",
83
- description: "Analyze GitHub Action versions used across all workflow files in a target directory",
84
- handler: analyzeActionVersionsHandler,
85
- inputSchema: targetDirInputSchema,
86
- },
87
- {
88
- name: "resolve_action_versions",
89
- description: "Get version resolution metadata for GitHub Actions. Returns lookup URLs and instructions for the LLM to fetch latest versions and SHA-pin them. Can be called independently of workflow creation.",
90
- handler: resolveActionVersionsHandler,
91
- inputSchema: resolveActionsInputSchema,
92
- },
93
- ];
94
- /**
95
- * Registers all MCP tools on the server.
96
- */
97
- function registerTools(server) {
98
- // TypeScript has deep type inference issues with MCP SDK generics
99
- const registerTool = server.registerTool.bind(server);
100
- for (const tool of TOOLS) {
101
- registerTool(tool.name, {
102
- description: tool.description,
103
- inputSchema: tool.inputSchema,
104
- }, tool.handler);
105
- }
106
- }
107
- /**
108
- * Creates and configures the MCP server with all tools.
109
- */
110
- export function createMcpServer() {
111
- const server = new McpServer({
112
- name: "lousy-agents",
113
- version: "0.1.0",
114
- });
115
- registerTools(server);
116
- return server;
117
- }
118
- // Re-export tool handlers for testing
119
- export { analyzeActionVersionsHandler, createCopilotSetupWorkflowHandler, discoverEnvironmentHandler, discoverWorkflowSetupActionsHandler, readCopilotSetupWorkflowHandler, resolveActionVersionsHandler, } from "./tools/index.js";
120
- //# sourceMappingURL=server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * MCP tool handler for analyzing GitHub Action versions across workflows.
3
- */
4
- import { type ToolHandler } from "./types.js";
5
- /**
6
- * Analyzes GitHub Action versions used across all workflow files.
7
- */
8
- export declare const analyzeActionVersionsHandler: ToolHandler;
9
- //# sourceMappingURL=analyze-action-versions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyze-action-versions.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/analyze-action-versions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EAIH,KAAK,WAAW,EACnB,MAAM,YAAY,CAAC;AA8CpB;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,WAyD1C,CAAC"}
@@ -1,81 +0,0 @@
1
- /**
2
- * MCP tool handler for analyzing GitHub Action versions across workflows.
3
- */
4
- import { readdir, readFile } from "node:fs/promises";
5
- import { join } from "node:path";
6
- import { parse as parseYaml } from "yaml";
7
- import { fileExists } from "../../gateways/index.js";
8
- import { extractActionsFromWorkflow, } from "../../use-cases/setup-step-discovery.js";
9
- import { errorResponse, successResponse, } from "./types.js";
10
- /**
11
- * Parses a workflow file and extracts action references.
12
- */
13
- async function parseWorkflowFile(filePath) {
14
- try {
15
- const content = await readFile(filePath, "utf-8");
16
- const workflow = parseYaml(content);
17
- return extractActionsFromWorkflow(workflow);
18
- }
19
- catch {
20
- // Intentionally ignore parse errors for malformed YAML files
21
- return null;
22
- }
23
- }
24
- /**
25
- * Builds a map of unique actions to their versions.
26
- */
27
- function buildUniqueActionsMap(workflows) {
28
- const actionVersions = new Map();
29
- for (const workflow of workflows) {
30
- for (const action of workflow.actions) {
31
- if (!actionVersions.has(action.name)) {
32
- actionVersions.set(action.name, new Set());
33
- }
34
- actionVersions.get(action.name)?.add(action.version);
35
- }
36
- }
37
- return actionVersions;
38
- }
39
- /**
40
- * Analyzes GitHub Action versions used across all workflow files.
41
- */
42
- export const analyzeActionVersionsHandler = async (args) => {
43
- const dir = args.targetDir || process.cwd();
44
- if (!(await fileExists(dir))) {
45
- return errorResponse(`Target directory does not exist: ${dir}`);
46
- }
47
- const workflowsDir = join(dir, ".github", "workflows");
48
- if (!(await fileExists(workflowsDir))) {
49
- return successResponse({
50
- workflows: [],
51
- uniqueActions: [],
52
- message: "No .github/workflows directory found - no workflows to analyze",
53
- });
54
- }
55
- // Read all workflow files
56
- const files = await readdir(workflowsDir);
57
- const yamlFiles = files.filter((f) => f.endsWith(".yml") || f.endsWith(".yaml"));
58
- const workflows = [];
59
- for (const file of yamlFiles) {
60
- const filePath = join(workflowsDir, file);
61
- const actions = await parseWorkflowFile(filePath);
62
- if (actions && actions.length > 0) {
63
- workflows.push({ file, actions });
64
- }
65
- }
66
- // Build unique actions map
67
- const actionVersionsMap = buildUniqueActionsMap(workflows);
68
- const uniqueActions = Array.from(actionVersionsMap.entries()).map(([name, versions]) => ({
69
- name,
70
- versions: Array.from(versions),
71
- }));
72
- const totalActions = workflows.reduce((sum, w) => sum + w.actions.length, 0);
73
- return successResponse({
74
- workflows,
75
- uniqueActions,
76
- message: workflows.length > 0
77
- ? `Found ${totalActions} action reference(s) across ${workflows.length} workflow(s), ${uniqueActions.length} unique action(s)`
78
- : "No action references found in workflows",
79
- });
80
- };
81
- //# sourceMappingURL=analyze-action-versions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyze-action-versions.js","sourceRoot":"","sources":["../../../src/mcp/tools/analyze-action-versions.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * MCP tool handler for creating or updating Copilot Setup Steps workflow.
3
- */
4
- import { type CreateWorkflowHandler } from "./types.js";
5
- /**
6
- * Creates or updates the Copilot Setup Steps workflow.
7
- */
8
- export declare const createCopilotSetupWorkflowHandler: CreateWorkflowHandler;
9
- //# sourceMappingURL=create-copilot-setup-workflow.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-copilot-setup-workflow.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/create-copilot-setup-workflow.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwBH,OAAO,EAEH,KAAK,qBAAqB,EAI7B,MAAM,YAAY,CAAC;AAyIpB;;GAEG;AACH,eAAO,MAAM,iCAAiC,EAAE,qBAiC/C,CAAC"}
@@ -1,121 +0,0 @@
1
- /**
2
- * MCP tool handler for creating or updating Copilot Setup Steps workflow.
3
- */
4
- import { mkdir } from "node:fs/promises";
5
- import { join } from "node:path";
6
- import { createEnvironmentGateway, createWorkflowGateway, fileExists, } from "../../gateways/index.js";
7
- import { buildActionsToResolve, VERSION_RESOLUTION_INSTRUCTIONS, } from "../../use-cases/action-resolution.js";
8
- import { buildCandidatesFromEnvironment, generateWorkflowContent, updateWorkflowWithMissingSteps, } from "../../use-cases/copilot-setup.js";
9
- import { findMissingCandidates, getExistingActionsFromWorkflow, mergeCandidates, } from "../../use-cases/setup-step-discovery.js";
10
- import { errorResponse, successResponse, } from "./types.js";
11
- /**
12
- * Gathers setup step candidates from environment and existing workflows.
13
- */
14
- async function gatherCandidates(dir, workflowsDirExists) {
15
- const environmentGateway = createEnvironmentGateway();
16
- const workflowGateway = createWorkflowGateway();
17
- // Detect environment configuration
18
- const environment = await environmentGateway.detectEnvironment(dir);
19
- // Parse existing workflows for setup actions
20
- const workflowCandidates = workflowsDirExists
21
- ? await workflowGateway.parseWorkflowsForSetupActions(dir)
22
- : [];
23
- // Build candidates from environment
24
- const envCandidates = await buildCandidatesFromEnvironment(environment);
25
- // Merge candidates (workflow takes precedence)
26
- return mergeCandidates(workflowCandidates, envCandidates);
27
- }
28
- /**
29
- * Updates an existing workflow with missing steps.
30
- */
31
- async function updateExistingWorkflow(dir, workflowPath, allCandidates, args) {
32
- const workflowGateway = createWorkflowGateway();
33
- const existingWorkflow = await workflowGateway.readCopilotSetupWorkflow(dir);
34
- const existingActions = getExistingActionsFromWorkflow(existingWorkflow);
35
- const missingCandidates = findMissingCandidates(allCandidates, existingActions);
36
- if (missingCandidates.length === 0) {
37
- // Build actions to resolve for version resolution metadata
38
- const actionsToResolve = buildActionsToResolve(allCandidates, args.resolvedVersions);
39
- return successResponse({
40
- action: "no_changes_needed",
41
- workflowPath,
42
- stepsAdded: [],
43
- message: "Copilot Setup Steps workflow already contains all detected setup steps. No changes needed.",
44
- actionsToResolve,
45
- instructions: actionsToResolve.length > 0
46
- ? VERSION_RESOLUTION_INSTRUCTIONS
47
- : undefined,
48
- });
49
- }
50
- // Generate workflow with placeholder mode and resolved versions
51
- const updatedContent = await updateWorkflowWithMissingSteps(existingWorkflow, missingCandidates, undefined, {
52
- usePlaceholders: true,
53
- resolvedVersions: args.resolvedVersions,
54
- });
55
- await workflowGateway.writeCopilotSetupWorkflow(dir, updatedContent);
56
- // Build actions to resolve
57
- const actionsToResolve = buildActionsToResolve(allCandidates, args.resolvedVersions);
58
- return successResponse({
59
- action: "updated",
60
- workflowPath,
61
- stepsAdded: missingCandidates.map((c) => c.action),
62
- message: `Updated workflow with ${missingCandidates.length} new step(s)`,
63
- workflowTemplate: updatedContent,
64
- actionsToResolve,
65
- instructions: actionsToResolve.length > 0
66
- ? VERSION_RESOLUTION_INSTRUCTIONS
67
- : undefined,
68
- });
69
- }
70
- /**
71
- * Creates a new workflow with the provided candidates.
72
- */
73
- async function createNewWorkflow(dir, workflowPath, allCandidates, args) {
74
- const workflowGateway = createWorkflowGateway();
75
- // Generate workflow with placeholder mode and resolved versions
76
- const content = await generateWorkflowContent(allCandidates, undefined, {
77
- usePlaceholders: true,
78
- resolvedVersions: args.resolvedVersions,
79
- });
80
- await workflowGateway.writeCopilotSetupWorkflow(dir, content);
81
- // Build actions to resolve
82
- const actionsToResolve = buildActionsToResolve(allCandidates, args.resolvedVersions);
83
- return successResponse({
84
- action: "created",
85
- workflowPath,
86
- stepsAdded: allCandidates.map((c) => c.action),
87
- message: `Created workflow with ${allCandidates.length + 1} step(s) (including checkout)`,
88
- workflowTemplate: content,
89
- actionsToResolve,
90
- instructions: actionsToResolve.length > 0
91
- ? VERSION_RESOLUTION_INSTRUCTIONS
92
- : undefined,
93
- });
94
- }
95
- /**
96
- * Creates or updates the Copilot Setup Steps workflow.
97
- */
98
- export const createCopilotSetupWorkflowHandler = async (args) => {
99
- const dir = args.targetDir || process.cwd();
100
- if (!(await fileExists(dir))) {
101
- return errorResponse(`Target directory does not exist: ${dir}`);
102
- }
103
- const workflowGateway = createWorkflowGateway();
104
- const workflowsDir = join(dir, ".github", "workflows");
105
- const workflowsDirExists = await fileExists(workflowsDir);
106
- // Gather all candidates
107
- const allCandidates = await gatherCandidates(dir, workflowsDirExists);
108
- // Ensure workflows directory exists
109
- if (!workflowsDirExists) {
110
- await mkdir(workflowsDir, { recursive: true });
111
- }
112
- // Get the correct workflow path (supports both .yml and .yaml extensions)
113
- const workflowPath = await workflowGateway.getCopilotSetupWorkflowPath(dir);
114
- // Check if workflow exists and create/update accordingly
115
- const workflowExists = await workflowGateway.copilotSetupWorkflowExists(dir);
116
- if (workflowExists) {
117
- return updateExistingWorkflow(dir, workflowPath, allCandidates, args);
118
- }
119
- return createNewWorkflow(dir, workflowPath, allCandidates, args);
120
- };
121
- //# sourceMappingURL=create-copilot-setup-workflow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-copilot-setup-workflow.js","sourceRoot":"","sources":["../../../src/mcp/tools/create-copilot-setup-workflow.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * MCP tool handler for discovering environment configuration files.
3
- */
4
- import { type ToolHandler } from "./types.js";
5
- /**
6
- * Discovers environment configuration files (mise.toml, version files) in a directory.
7
- */
8
- export declare const discoverEnvironmentHandler: ToolHandler;
9
- //# sourceMappingURL=discover-environment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"discover-environment.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/discover-environment.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAIH,KAAK,WAAW,EACnB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,WAyBxC,CAAC"}
@@ -1,30 +0,0 @@
1
- /**
2
- * MCP tool handler for discovering environment configuration files.
3
- */
4
- import { createEnvironmentGateway, fileExists } from "../../gateways/index.js";
5
- import { errorResponse, successResponse, } from "./types.js";
6
- /**
7
- * Discovers environment configuration files (mise.toml, version files) in a directory.
8
- */
9
- export const discoverEnvironmentHandler = async (args) => {
10
- const dir = args.targetDir || process.cwd();
11
- if (!(await fileExists(dir))) {
12
- return errorResponse(`Target directory does not exist: ${dir}`);
13
- }
14
- const environmentGateway = createEnvironmentGateway();
15
- const environment = await environmentGateway.detectEnvironment(dir);
16
- return successResponse({
17
- hasMise: environment.hasMise,
18
- versionFiles: environment.versionFiles.map((vf) => ({
19
- type: vf.type,
20
- filename: vf.filename,
21
- version: vf.version,
22
- })),
23
- message: environment.hasMise
24
- ? "Found mise.toml - mise will manage all tool versions"
25
- : environment.versionFiles.length > 0
26
- ? `Found ${environment.versionFiles.length} version file(s)`
27
- : "No environment configuration files found",
28
- });
29
- };
30
- //# sourceMappingURL=discover-environment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"discover-environment.js","sourceRoot":"","sources":["../../../src/mcp/tools/discover-environment.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EACH,aAAa,EACb,eAAe,GAGlB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAgB,KAAK,EACxD,IAAc,EAChB,EAAE;IACA,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAE5C,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO,aAAa,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,kBAAkB,GAAG,wBAAwB,EAAE,CAAC;IACtD,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAEpE,OAAO,eAAe,CAAC;QACnB,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAChD,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,OAAO,EAAE,EAAE,CAAC,OAAO;SACtB,CAAC,CAAC;QACH,OAAO,EAAE,WAAW,CAAC,OAAO;YACxB,CAAC,CAAC,sDAAsD;YACxD,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;gBACnC,CAAC,CAAC,SAAS,WAAW,CAAC,YAAY,CAAC,MAAM,kBAAkB;gBAC5D,CAAC,CAAC,0CAA0C;KACrD,CAAC,CAAC;AACP,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * MCP tool handler for discovering setup actions in existing workflows.
3
- */
4
- import { type ToolHandler } from "./types.js";
5
- /**
6
- * Discovers setup actions used in existing GitHub Actions workflows.
7
- */
8
- export declare const discoverWorkflowSetupActionsHandler: ToolHandler;
9
- //# sourceMappingURL=discover-workflow-setup-actions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"discover-workflow-setup-actions.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/discover-workflow-setup-actions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAIH,KAAK,WAAW,EACnB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,eAAO,MAAM,mCAAmC,EAAE,WAmCjD,CAAC"}
@@ -1,37 +0,0 @@
1
- /**
2
- * MCP tool handler for discovering setup actions in existing workflows.
3
- */
4
- import { join } from "node:path";
5
- import { createWorkflowGateway, fileExists } from "../../gateways/index.js";
6
- import { errorResponse, successResponse, } from "./types.js";
7
- /**
8
- * Discovers setup actions used in existing GitHub Actions workflows.
9
- */
10
- export const discoverWorkflowSetupActionsHandler = async (args) => {
11
- const dir = args.targetDir || process.cwd();
12
- if (!(await fileExists(dir))) {
13
- return errorResponse(`Target directory does not exist: ${dir}`);
14
- }
15
- const workflowGateway = createWorkflowGateway();
16
- const workflowsDir = join(dir, ".github", "workflows");
17
- const workflowsDirExists = await fileExists(workflowsDir);
18
- if (!workflowsDirExists) {
19
- return successResponse({
20
- actions: [],
21
- message: "No .github/workflows directory found - no workflows to analyze",
22
- });
23
- }
24
- const candidates = await workflowGateway.parseWorkflowsForSetupActions(dir);
25
- return successResponse({
26
- actions: candidates.map((c) => ({
27
- action: c.action,
28
- version: c.version,
29
- config: c.config,
30
- source: c.source,
31
- })),
32
- message: candidates.length > 0
33
- ? `Found ${candidates.length} setup action(s) in workflows`
34
- : "No setup actions found in existing workflows",
35
- });
36
- };
37
- //# sourceMappingURL=discover-workflow-setup-actions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"discover-workflow-setup-actions.js","sourceRoot":"","sources":["../../../src/mcp/tools/discover-workflow-setup-actions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EACH,aAAa,EACb,eAAe,GAGlB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAgB,KAAK,EACjE,IAAc,EAChB,EAAE;IACA,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAE5C,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO,aAAa,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,eAAe,GAAG,qBAAqB,EAAE,CAAC;IAChD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;IAE1D,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtB,OAAO,eAAe,CAAC;YACnB,OAAO,EAAE,EAAE;YACX,OAAO,EACH,gEAAgE;SACvE,CAAC,CAAC;IACP,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;IAE5E,OAAO,eAAe,CAAC;QACnB,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;SACnB,CAAC,CAAC;QACH,OAAO,EACH,UAAU,CAAC,MAAM,GAAG,CAAC;YACjB,CAAC,CAAC,SAAS,UAAU,CAAC,MAAM,+BAA+B;YAC3D,CAAC,CAAC,8CAA8C;KAC3D,CAAC,CAAC;AACP,CAAC,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * MCP tool handlers module exports.
3
- */
4
- export { analyzeActionVersionsHandler } from "./analyze-action-versions.js";
5
- export { createCopilotSetupWorkflowHandler } from "./create-copilot-setup-workflow.js";
6
- export { discoverEnvironmentHandler } from "./discover-environment.js";
7
- export { discoverWorkflowSetupActionsHandler } from "./discover-workflow-setup-actions.js";
8
- export { readCopilotSetupWorkflowHandler } from "./read-copilot-setup-workflow.js";
9
- export { resolveActionVersionsHandler } from "./resolve-action-versions.js";
10
- export { type CreateWorkflowArgs, type CreateWorkflowHandler, errorResponse, type ResolveActionsArgs, type ResolveActionsHandler, successResponse, type ToolArgs, type ToolHandler, type ToolResult, type VersionResolutionResponse, } from "./types.js";
11
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,mCAAmC,EAAE,MAAM,sCAAsC,CAAC;AAC3F,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EACH,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,eAAe,EACf,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,yBAAyB,GACjC,MAAM,YAAY,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * MCP tool handlers module exports.
3
- */
4
- export { analyzeActionVersionsHandler } from "./analyze-action-versions.js";
5
- export { createCopilotSetupWorkflowHandler } from "./create-copilot-setup-workflow.js";
6
- export { discoverEnvironmentHandler } from "./discover-environment.js";
7
- export { discoverWorkflowSetupActionsHandler } from "./discover-workflow-setup-actions.js";
8
- export { readCopilotSetupWorkflowHandler } from "./read-copilot-setup-workflow.js";
9
- export { resolveActionVersionsHandler } from "./resolve-action-versions.js";
10
- export { errorResponse, successResponse, } from "./types.js";
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,mCAAmC,EAAE,MAAM,sCAAsC,CAAC;AAC3F,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAGH,aAAa,EAGb,eAAe,GAKlB,MAAM,YAAY,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * MCP tool handler for reading existing Copilot Setup Steps workflow.
3
- */
4
- import { type ToolHandler } from "./types.js";
5
- /**
6
- * Reads the existing Copilot Setup Steps workflow.
7
- */
8
- export declare const readCopilotSetupWorkflowHandler: ToolHandler;
9
- //# sourceMappingURL=read-copilot-setup-workflow.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"read-copilot-setup-workflow.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/read-copilot-setup-workflow.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAIH,KAAK,WAAW,EACnB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,eAAO,MAAM,+BAA+B,EAAE,WAmC7C,CAAC"}
@@ -1,38 +0,0 @@
1
- /**
2
- * MCP tool handler for reading existing Copilot Setup Steps workflow.
3
- */
4
- import { createWorkflowGateway, fileExists } from "../../gateways/index.js";
5
- import { extractAllWorkflowSteps } from "../../use-cases/setup-step-discovery.js";
6
- import { errorResponse, successResponse, } from "./types.js";
7
- /**
8
- * Reads the existing Copilot Setup Steps workflow.
9
- */
10
- export const readCopilotSetupWorkflowHandler = async (args) => {
11
- const dir = args.targetDir || process.cwd();
12
- if (!(await fileExists(dir))) {
13
- return errorResponse(`Target directory does not exist: ${dir}`);
14
- }
15
- const workflowGateway = createWorkflowGateway();
16
- const exists = await workflowGateway.copilotSetupWorkflowExists(dir);
17
- const workflowPath = await workflowGateway.getCopilotSetupWorkflowPath(dir);
18
- if (!exists) {
19
- return successResponse({
20
- exists: false,
21
- workflowPath,
22
- message: "Copilot Setup Steps workflow does not exist. Use create_copilot_setup_workflow to create it.",
23
- });
24
- }
25
- const workflow = await workflowGateway.readCopilotSetupWorkflow(dir);
26
- const workflowObj = workflow;
27
- const steps = extractAllWorkflowSteps(workflow);
28
- return successResponse({
29
- exists: true,
30
- workflowPath,
31
- workflow: {
32
- name: workflowObj?.name || "Copilot Setup Steps",
33
- steps,
34
- },
35
- message: `Found Copilot Setup Steps workflow with ${steps.length} step(s)`,
36
- });
37
- };
38
- //# sourceMappingURL=read-copilot-setup-workflow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"read-copilot-setup-workflow.js","sourceRoot":"","sources":["../../../src/mcp/tools/read-copilot-setup-workflow.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EACH,aAAa,EACb,eAAe,GAGlB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAgB,KAAK,EAC7D,IAAc,EAChB,EAAE;IACA,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAE5C,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO,aAAa,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,eAAe,GAAG,qBAAqB,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;IAE5E,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,eAAe,CAAC;YACnB,MAAM,EAAE,KAAK;YACb,YAAY;YACZ,OAAO,EACH,8FAA8F;SACrG,CAAC,CAAC;IACP,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,QAAmC,CAAC;IACxD,MAAM,KAAK,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAEhD,OAAO,eAAe,CAAC;QACnB,MAAM,EAAE,IAAI;QACZ,YAAY;QACZ,QAAQ,EAAE;YACN,IAAI,EAAE,WAAW,EAAE,IAAI,IAAI,qBAAqB;YAChD,KAAK;SACR;QACD,OAAO,EAAE,2CAA2C,KAAK,CAAC,MAAM,UAAU;KAC7E,CAAC,CAAC;AACP,CAAC,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * MCP tool handler for resolving GitHub Action versions.
3
- * This is a standalone tool for version resolution without workflow creation.
4
- */
5
- import { type ResolveActionsHandler } from "./types.js";
6
- /**
7
- * Resolves action versions for the provided actions or detected candidates.
8
- */
9
- export declare const resolveActionVersionsHandler: ResolveActionsHandler;
10
- //# sourceMappingURL=resolve-action-versions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-action-versions.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/resolve-action-versions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAEH,KAAK,qBAAqB,EAG7B,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,qBAoE1C,CAAC"}