@kosuke-ai/cli 0.0.57 → 1.0.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 (263) hide show
  1. package/README.md +31 -448
  2. package/dist/commands/auth.js +117 -0
  3. package/dist/generated/commands/deploy/cancel.js +17 -0
  4. package/dist/generated/commands/deploy/messages.js +17 -0
  5. package/dist/generated/commands/deploy/run.js +60 -0
  6. package/dist/generated/commands/index.js +132 -0
  7. package/dist/generated/commands/preview/get.js +25 -0
  8. package/dist/generated/commands/preview/health.js +25 -0
  9. package/dist/generated/commands/preview/reset.js +27 -0
  10. package/dist/generated/commands/preview/share-create.js +36 -0
  11. package/dist/generated/commands/preview/share-delete.js +26 -0
  12. package/dist/generated/commands/preview/share-get.js +26 -0
  13. package/dist/generated/commands/preview/shared.js +17 -0
  14. package/dist/generated/commands/projects/create.js +37 -0
  15. package/dist/generated/commands/projects/delete.js +17 -0
  16. package/dist/generated/commands/projects/env-vars-add.js +21 -0
  17. package/dist/generated/commands/projects/env-vars-remove.js +21 -0
  18. package/dist/generated/commands/projects/get.js +17 -0
  19. package/dist/generated/commands/projects/list.js +15 -0
  20. package/dist/generated/commands/projects/services-add.js +87 -0
  21. package/dist/generated/commands/projects/services-list.js +18 -0
  22. package/dist/generated/commands/projects/services-remove.js +19 -0
  23. package/dist/generated/commands/projects/services-update.js +81 -0
  24. package/dist/generated/commands/projects/settings-get.js +18 -0
  25. package/dist/generated/commands/projects/settings-import.js +91 -0
  26. package/dist/generated/commands/projects/settings-update.js +77 -0
  27. package/dist/generated/commands/projects/skills.js +35 -0
  28. package/dist/generated/commands/projects/update.js +27 -0
  29. package/dist/generated/commands/sessions/activate.js +18 -0
  30. package/dist/generated/commands/sessions/checklist-generate.js +19 -0
  31. package/dist/generated/commands/sessions/checklist-get.js +19 -0
  32. package/dist/generated/commands/sessions/comments-add.js +63 -0
  33. package/dist/generated/commands/sessions/comments-delete.js +20 -0
  34. package/dist/generated/commands/sessions/comments-list.js +19 -0
  35. package/dist/generated/commands/sessions/comments-update.js +23 -0
  36. package/dist/generated/commands/sessions/create.js +126 -0
  37. package/dist/generated/commands/sessions/delete.js +18 -0
  38. package/dist/generated/commands/sessions/diff-files.js +19 -0
  39. package/dist/generated/commands/sessions/diff-patch.js +86 -0
  40. package/dist/generated/commands/sessions/edit-prompt.js +59 -0
  41. package/dist/generated/commands/sessions/files-get.js +27 -0
  42. package/dist/generated/commands/sessions/files-list.js +19 -0
  43. package/dist/generated/commands/sessions/files-write.js +41 -0
  44. package/dist/generated/commands/sessions/get.js +18 -0
  45. package/dist/generated/commands/sessions/git-commit-message.js +19 -0
  46. package/dist/generated/commands/sessions/git-commit.js +29 -0
  47. package/dist/generated/commands/sessions/git-push.js +19 -0
  48. package/dist/generated/commands/sessions/git-state.js +19 -0
  49. package/dist/generated/commands/sessions/jobs-cancel.js +20 -0
  50. package/dist/generated/commands/sessions/jobs-get.js +20 -0
  51. package/dist/generated/commands/sessions/list.js +81 -0
  52. package/dist/generated/commands/sessions/messages.js +18 -0
  53. package/dist/generated/commands/sessions/search.js +23 -0
  54. package/dist/generated/commands/sessions/send.js +98 -0
  55. package/dist/generated/commands/sessions/update.js +72 -0
  56. package/dist/generated/commands/workspaces/access-status.js +29 -0
  57. package/dist/generated/commands/workspaces/ai-provider-get.js +18 -0
  58. package/dist/generated/commands/workspaces/ai-provider-remove.js +42 -0
  59. package/dist/generated/commands/workspaces/ai-provider-set.js +21 -0
  60. package/dist/generated/commands/workspaces/credits.js +17 -0
  61. package/dist/generated/commands/workspaces/get.js +17 -0
  62. package/dist/generated/commands/workspaces/getting-started-get.js +18 -0
  63. package/dist/generated/commands/workspaces/getting-started-update.js +32 -0
  64. package/dist/generated/commands/workspaces/list.js +15 -0
  65. package/dist/generated/commands/workspaces/members.js +25 -0
  66. package/dist/generated/commands/workspaces/sandbox-limit.js +17 -0
  67. package/dist/generated/commands/workspaces/stop-sandboxes.js +27 -0
  68. package/dist/generated/commands/workspaces/usage.js +32 -0
  69. package/dist/index.js +5 -595
  70. package/dist/program.js +46 -0
  71. package/dist/runtime/attach.js +139 -0
  72. package/dist/runtime/attachments.js +58 -0
  73. package/dist/runtime/client.js +12 -0
  74. package/dist/runtime/config.js +49 -0
  75. package/dist/runtime/credentials.js +24 -0
  76. package/dist/runtime/descriptor.js +7 -0
  77. package/dist/runtime/invoke.js +152 -0
  78. package/dist/runtime/runtime.js +41 -0
  79. package/dist/runtime/version.js +5 -0
  80. package/openapi.json +5222 -0
  81. package/package.json +21 -79
  82. package/LICENSE +0 -21
  83. package/claude.costs.json +0 -34
  84. package/dist/__tests__/utils/file-discovery.test.d.ts +0 -5
  85. package/dist/__tests__/utils/file-discovery.test.d.ts.map +0 -1
  86. package/dist/__tests__/utils/file-discovery.test.js +0 -51
  87. package/dist/__tests__/utils/file-discovery.test.js.map +0 -1
  88. package/dist/__tests__/utils/logger-nologs.test.d.ts +0 -5
  89. package/dist/__tests__/utils/logger-nologs.test.d.ts.map +0 -1
  90. package/dist/__tests__/utils/logger-nologs.test.js +0 -34
  91. package/dist/__tests__/utils/logger-nologs.test.js.map +0 -1
  92. package/dist/__tests__/utils/logger.test.d.ts +0 -5
  93. package/dist/__tests__/utils/logger.test.d.ts.map +0 -1
  94. package/dist/__tests__/utils/logger.test.js +0 -243
  95. package/dist/__tests__/utils/logger.test.js.map +0 -1
  96. package/dist/__tests__/utils/validator.test.d.ts +0 -5
  97. package/dist/__tests__/utils/validator.test.d.ts.map +0 -1
  98. package/dist/__tests__/utils/validator.test.js +0 -206
  99. package/dist/__tests__/utils/validator.test.js.map +0 -1
  100. package/dist/index.d.ts +0 -37
  101. package/dist/index.d.ts.map +0 -1
  102. package/dist/index.js.map +0 -1
  103. package/dist/kosuke/commands/analyse.d.ts +0 -15
  104. package/dist/kosuke/commands/analyse.d.ts.map +0 -1
  105. package/dist/kosuke/commands/analyse.js +0 -304
  106. package/dist/kosuke/commands/analyse.js.map +0 -1
  107. package/dist/kosuke/commands/build.d.ts +0 -35
  108. package/dist/kosuke/commands/build.d.ts.map +0 -1
  109. package/dist/kosuke/commands/build.js +0 -660
  110. package/dist/kosuke/commands/build.js.map +0 -1
  111. package/dist/kosuke/commands/fix.d.ts +0 -21
  112. package/dist/kosuke/commands/fix.d.ts.map +0 -1
  113. package/dist/kosuke/commands/fix.js +0 -256
  114. package/dist/kosuke/commands/fix.js.map +0 -1
  115. package/dist/kosuke/commands/getcode.d.ts +0 -29
  116. package/dist/kosuke/commands/getcode.d.ts.map +0 -1
  117. package/dist/kosuke/commands/getcode.js +0 -248
  118. package/dist/kosuke/commands/getcode.js.map +0 -1
  119. package/dist/kosuke/commands/lint.d.ts +0 -21
  120. package/dist/kosuke/commands/lint.d.ts.map +0 -1
  121. package/dist/kosuke/commands/lint.js +0 -342
  122. package/dist/kosuke/commands/lint.js.map +0 -1
  123. package/dist/kosuke/commands/migrate.d.ts +0 -38
  124. package/dist/kosuke/commands/migrate.d.ts.map +0 -1
  125. package/dist/kosuke/commands/migrate.js +0 -284
  126. package/dist/kosuke/commands/migrate.js.map +0 -1
  127. package/dist/kosuke/commands/plan.d.ts +0 -28
  128. package/dist/kosuke/commands/plan.d.ts.map +0 -1
  129. package/dist/kosuke/commands/plan.js +0 -684
  130. package/dist/kosuke/commands/plan.js.map +0 -1
  131. package/dist/kosuke/commands/requirements.d.ts +0 -52
  132. package/dist/kosuke/commands/requirements.d.ts.map +0 -1
  133. package/dist/kosuke/commands/requirements.js +0 -615
  134. package/dist/kosuke/commands/requirements.js.map +0 -1
  135. package/dist/kosuke/commands/review.d.ts +0 -26
  136. package/dist/kosuke/commands/review.d.ts.map +0 -1
  137. package/dist/kosuke/commands/review.js +0 -303
  138. package/dist/kosuke/commands/review.js.map +0 -1
  139. package/dist/kosuke/commands/serve.d.ts +0 -9
  140. package/dist/kosuke/commands/serve.d.ts.map +0 -1
  141. package/dist/kosuke/commands/serve.js +0 -17
  142. package/dist/kosuke/commands/serve.js.map +0 -1
  143. package/dist/kosuke/commands/ship.d.ts +0 -37
  144. package/dist/kosuke/commands/ship.d.ts.map +0 -1
  145. package/dist/kosuke/commands/ship.js +0 -375
  146. package/dist/kosuke/commands/ship.js.map +0 -1
  147. package/dist/kosuke/commands/sync-rules.d.ts +0 -9
  148. package/dist/kosuke/commands/sync-rules.d.ts.map +0 -1
  149. package/dist/kosuke/commands/sync-rules.js +0 -414
  150. package/dist/kosuke/commands/sync-rules.js.map +0 -1
  151. package/dist/kosuke/commands/test.d.ts +0 -42
  152. package/dist/kosuke/commands/test.d.ts.map +0 -1
  153. package/dist/kosuke/commands/test.js +0 -540
  154. package/dist/kosuke/commands/test.js.map +0 -1
  155. package/dist/kosuke/commands/tickets.d.ts +0 -43
  156. package/dist/kosuke/commands/tickets.d.ts.map +0 -1
  157. package/dist/kosuke/commands/tickets.js +0 -876
  158. package/dist/kosuke/commands/tickets.js.map +0 -1
  159. package/dist/kosuke/commands/validate-tickets.d.ts +0 -23
  160. package/dist/kosuke/commands/validate-tickets.d.ts.map +0 -1
  161. package/dist/kosuke/commands/validate-tickets.js +0 -360
  162. package/dist/kosuke/commands/validate-tickets.js.map +0 -1
  163. package/dist/kosuke/serve/middleware/error-handler.d.ts +0 -14
  164. package/dist/kosuke/serve/middleware/error-handler.d.ts.map +0 -1
  165. package/dist/kosuke/serve/middleware/error-handler.js +0 -42
  166. package/dist/kosuke/serve/middleware/error-handler.js.map +0 -1
  167. package/dist/kosuke/serve/middleware/validation.d.ts +0 -13
  168. package/dist/kosuke/serve/middleware/validation.d.ts.map +0 -1
  169. package/dist/kosuke/serve/middleware/validation.js +0 -38
  170. package/dist/kosuke/serve/middleware/validation.js.map +0 -1
  171. package/dist/kosuke/serve/routes/build.d.ts +0 -6
  172. package/dist/kosuke/serve/routes/build.d.ts.map +0 -1
  173. package/dist/kosuke/serve/routes/build.js +0 -226
  174. package/dist/kosuke/serve/routes/build.js.map +0 -1
  175. package/dist/kosuke/serve/routes/health.d.ts +0 -6
  176. package/dist/kosuke/serve/routes/health.d.ts.map +0 -1
  177. package/dist/kosuke/serve/routes/health.js +0 -11
  178. package/dist/kosuke/serve/routes/health.js.map +0 -1
  179. package/dist/kosuke/serve/routes/plan.d.ts +0 -6
  180. package/dist/kosuke/serve/routes/plan.d.ts.map +0 -1
  181. package/dist/kosuke/serve/routes/plan.js +0 -106
  182. package/dist/kosuke/serve/routes/plan.js.map +0 -1
  183. package/dist/kosuke/serve/server.d.ts +0 -16
  184. package/dist/kosuke/serve/server.d.ts.map +0 -1
  185. package/dist/kosuke/serve/server.js +0 -67
  186. package/dist/kosuke/serve/server.js.map +0 -1
  187. package/dist/kosuke/serve/validation/build.d.ts +0 -41
  188. package/dist/kosuke/serve/validation/build.d.ts.map +0 -1
  189. package/dist/kosuke/serve/validation/build.js +0 -20
  190. package/dist/kosuke/serve/validation/build.js.map +0 -1
  191. package/dist/kosuke/serve/validation/plan.d.ts +0 -26
  192. package/dist/kosuke/serve/validation/plan.d.ts.map +0 -1
  193. package/dist/kosuke/serve/validation/plan.js +0 -15
  194. package/dist/kosuke/serve/validation/plan.js.map +0 -1
  195. package/dist/kosuke/types.d.ts +0 -539
  196. package/dist/kosuke/types.d.ts.map +0 -1
  197. package/dist/kosuke/types.js +0 -5
  198. package/dist/kosuke/types.js.map +0 -1
  199. package/dist/kosuke/utils/batch-creator.d.ts +0 -14
  200. package/dist/kosuke/utils/batch-creator.d.ts.map +0 -1
  201. package/dist/kosuke/utils/batch-creator.js +0 -76
  202. package/dist/kosuke/utils/batch-creator.js.map +0 -1
  203. package/dist/kosuke/utils/claude-agent.d.ts +0 -140
  204. package/dist/kosuke/utils/claude-agent.d.ts.map +0 -1
  205. package/dist/kosuke/utils/claude-agent.js +0 -388
  206. package/dist/kosuke/utils/claude-agent.js.map +0 -1
  207. package/dist/kosuke/utils/constants.d.ts +0 -40
  208. package/dist/kosuke/utils/constants.d.ts.map +0 -1
  209. package/dist/kosuke/utils/constants.js +0 -54
  210. package/dist/kosuke/utils/constants.js.map +0 -1
  211. package/dist/kosuke/utils/file-discovery.d.ts +0 -15
  212. package/dist/kosuke/utils/file-discovery.d.ts.map +0 -1
  213. package/dist/kosuke/utils/file-discovery.js +0 -80
  214. package/dist/kosuke/utils/file-discovery.js.map +0 -1
  215. package/dist/kosuke/utils/git.d.ts +0 -41
  216. package/dist/kosuke/utils/git.d.ts.map +0 -1
  217. package/dist/kosuke/utils/git.js +0 -145
  218. package/dist/kosuke/utils/git.js.map +0 -1
  219. package/dist/kosuke/utils/github.d.ts +0 -17
  220. package/dist/kosuke/utils/github.d.ts.map +0 -1
  221. package/dist/kosuke/utils/github.js +0 -22
  222. package/dist/kosuke/utils/github.js.map +0 -1
  223. package/dist/kosuke/utils/interactive-input.d.ts +0 -22
  224. package/dist/kosuke/utils/interactive-input.d.ts.map +0 -1
  225. package/dist/kosuke/utils/interactive-input.js +0 -124
  226. package/dist/kosuke/utils/interactive-input.js.map +0 -1
  227. package/dist/kosuke/utils/json-parser.d.ts +0 -14
  228. package/dist/kosuke/utils/json-parser.d.ts.map +0 -1
  229. package/dist/kosuke/utils/json-parser.js +0 -40
  230. package/dist/kosuke/utils/json-parser.js.map +0 -1
  231. package/dist/kosuke/utils/logger.d.ts +0 -161
  232. package/dist/kosuke/utils/logger.d.ts.map +0 -1
  233. package/dist/kosuke/utils/logger.js +0 -234
  234. package/dist/kosuke/utils/logger.js.map +0 -1
  235. package/dist/kosuke/utils/playwright-mcp-client.d.ts +0 -46
  236. package/dist/kosuke/utils/playwright-mcp-client.d.ts.map +0 -1
  237. package/dist/kosuke/utils/playwright-mcp-client.js +0 -135
  238. package/dist/kosuke/utils/playwright-mcp-client.js.map +0 -1
  239. package/dist/kosuke/utils/pr-orchestrator.d.ts +0 -49
  240. package/dist/kosuke/utils/pr-orchestrator.d.ts.map +0 -1
  241. package/dist/kosuke/utils/pr-orchestrator.js +0 -154
  242. package/dist/kosuke/utils/pr-orchestrator.js.map +0 -1
  243. package/dist/kosuke/utils/repository-manager.d.ts +0 -13
  244. package/dist/kosuke/utils/repository-manager.d.ts.map +0 -1
  245. package/dist/kosuke/utils/repository-manager.js +0 -94
  246. package/dist/kosuke/utils/repository-manager.js.map +0 -1
  247. package/dist/kosuke/utils/repository-resolver.d.ts +0 -12
  248. package/dist/kosuke/utils/repository-resolver.d.ts.map +0 -1
  249. package/dist/kosuke/utils/repository-resolver.js +0 -186
  250. package/dist/kosuke/utils/repository-resolver.js.map +0 -1
  251. package/dist/kosuke/utils/tickets-manager.d.ts +0 -34
  252. package/dist/kosuke/utils/tickets-manager.d.ts.map +0 -1
  253. package/dist/kosuke/utils/tickets-manager.js +0 -106
  254. package/dist/kosuke/utils/tickets-manager.js.map +0 -1
  255. package/dist/kosuke/utils/validator.d.ts +0 -45
  256. package/dist/kosuke/utils/validator.d.ts.map +0 -1
  257. package/dist/kosuke/utils/validator.js +0 -248
  258. package/dist/kosuke/utils/validator.js.map +0 -1
  259. package/dist/lib.d.ts +0 -104
  260. package/dist/lib.d.ts.map +0 -1
  261. package/dist/lib.js +0 -104
  262. package/dist/lib.js.map +0 -1
  263. package/dist/package.json +0 -99
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../kosuke/commands/build.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Fix command - Extract and fix malformed JSON from LLM responses
3
- *
4
- * Takes raw text from an LLM response and attempts to extract and fix JSON.
5
- * Useful when LLM returns JSON with syntax errors or wrapped in markdown.
6
- *
7
- * Usage:
8
- * kosuke fix --format=json --file=raw-response.txt
9
- * kosuke fix --format=json --file=response.txt --output=tickets.json
10
- * kosuke fix --format=json --file=tickets.json --directory=./project
11
- */
12
- import type { FixOptions, FixStreamEvent } from '../types.js';
13
- /**
14
- * Core fix logic - streaming version (exported for programmatic use)
15
- */
16
- export declare function fixCoreStream(options: FixOptions): AsyncGenerator<FixStreamEvent, void, void>;
17
- /**
18
- * CLI wrapper for fix command
19
- */
20
- export declare function fixCommand(options: FixOptions): Promise<void>;
21
- //# sourceMappingURL=fix.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/fix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAqC9D;;GAEG;AACH,wBAAuB,aAAa,CAClC,OAAO,EAAE,UAAU,GAClB,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,CAuJ5C;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAsFnE"}
@@ -1,256 +0,0 @@
1
- /**
2
- * Fix command - Extract and fix malformed JSON from LLM responses
3
- *
4
- * Takes raw text from an LLM response and attempts to extract and fix JSON.
5
- * Useful when LLM returns JSON with syntax errors or wrapped in markdown.
6
- *
7
- * Usage:
8
- * kosuke fix --format=json --file=raw-response.txt
9
- * kosuke fix --format=json --file=response.txt --output=tickets.json
10
- * kosuke fix --format=json --file=tickets.json --directory=./project
11
- */
12
- import { existsSync, readFileSync, writeFileSync } from 'fs';
13
- import { resolve } from 'path';
14
- import { formatCostBreakdown, runAgentStream } from '../utils/claude-agent.js';
15
- import { logger, setupCancellationHandler } from '../utils/logger.js';
16
- import { extractTicketsJSON } from '../utils/json-parser.js';
17
- /**
18
- * Build fix prompt for JSON extraction and repair
19
- */
20
- function buildFixPrompt(rawContent) {
21
- return `You are a JSON extraction and repair expert.
22
-
23
- **Raw Response:**
24
- ${rawContent}
25
-
26
- **Your Task:**
27
- Extract the ticket array from the response above and return ONLY a valid JSON array of tickets.
28
- Fix any JSON syntax errors (trailing commas, unescaped quotes, missing brackets, etc.).
29
-
30
- **Expected Ticket Structure:**
31
- Each ticket should have:
32
- - id: string (e.g., "LOGIC-BACKEND-1", "PLAN-FRONTEND-2")
33
- - title: string
34
- - description: string
35
- - type: "schema" | "engine" | "backend" | "frontend" | "test" | "refactor"
36
- - estimatedEffort: number (1-10)
37
- - status: "Todo" | "InProgress" | "Done" | "Error"
38
- - category: string (optional)
39
-
40
- **OUTPUT FORMAT:**
41
- Return ONLY the raw JSON array, nothing else:
42
- [{...},{...}]
43
-
44
- NO markdown code blocks, NO explanations, just the JSON array.
45
- START YOUR RESPONSE WITH: [
46
- END YOUR RESPONSE WITH: ]`;
47
- }
48
- /**
49
- * Core fix logic - streaming version (exported for programmatic use)
50
- */
51
- export async function* fixCoreStream(options) {
52
- const { format, file, output, directory } = options;
53
- try {
54
- // Validate format
55
- if (format !== 'json') {
56
- yield {
57
- type: 'done',
58
- data: {
59
- status: 'error',
60
- ticketsExtracted: 0,
61
- tokensUsed: { input: 0, output: 0, cacheCreation: 0, cacheRead: 0 },
62
- cost: 0,
63
- error: `Unsupported format: ${format}. Currently only 'json' is supported.`,
64
- },
65
- };
66
- return;
67
- }
68
- // Resolve paths
69
- const cwd = directory ? resolve(directory) : process.cwd();
70
- const inputPath = resolve(cwd, file);
71
- const outputPath = output ? resolve(cwd, output) : inputPath;
72
- // Validate input file exists
73
- if (!existsSync(inputPath)) {
74
- yield {
75
- type: 'done',
76
- data: {
77
- status: 'error',
78
- ticketsExtracted: 0,
79
- tokensUsed: { input: 0, output: 0, cacheCreation: 0, cacheRead: 0 },
80
- cost: 0,
81
- error: `Input file not found: ${inputPath}`,
82
- },
83
- };
84
- return;
85
- }
86
- // Read raw content
87
- const rawContent = readFileSync(inputPath, 'utf-8');
88
- // Try simple extraction first
89
- let tickets = extractTicketsJSON(rawContent);
90
- if (tickets) {
91
- // Write to output
92
- writeFileSync(outputPath, JSON.stringify(tickets, null, 2), 'utf-8');
93
- yield {
94
- type: 'done',
95
- data: {
96
- status: 'success',
97
- ticketsExtracted: tickets.length,
98
- tokensUsed: { input: 0, output: 0, cacheCreation: 0, cacheRead: 0 },
99
- cost: 0,
100
- },
101
- };
102
- return;
103
- }
104
- // Simple extraction failed, use Claude
105
- const fixPrompt = buildFixPrompt(rawContent);
106
- const stream = runAgentStream('Fix malformed JSON', {
107
- systemPrompt: fixPrompt,
108
- maxTurns: 5,
109
- verbosity: 'normal',
110
- cwd,
111
- });
112
- let fullResponse = '';
113
- let tokensUsed = { input: 0, output: 0, cacheCreation: 0, cacheRead: 0 };
114
- let cost = 0;
115
- // Yield events from stream
116
- for await (const event of stream) {
117
- if (event.type === 'message') {
118
- yield { type: 'message', data: event.data };
119
- // Accumulate response text
120
- const claudeMessage = event.data;
121
- if (claudeMessage.type === 'assistant' && claudeMessage.message) {
122
- const msg = claudeMessage.message;
123
- if (msg.content && Array.isArray(msg.content)) {
124
- for (const block of msg.content) {
125
- if (block.type === 'text' && block.text) {
126
- fullResponse += block.text;
127
- }
128
- else if (block.type === 'tool_use' && block.name) {
129
- yield {
130
- type: 'tool_call',
131
- data: { name: block.name, input: block.input || {} },
132
- };
133
- }
134
- }
135
- }
136
- }
137
- }
138
- else if (event.type === 'agent_result') {
139
- tokensUsed = event.data.tokensUsed;
140
- cost = event.data.cost;
141
- }
142
- }
143
- // Extract JSON from Claude's response
144
- tickets = extractTicketsJSON(fullResponse);
145
- if (!tickets) {
146
- yield {
147
- type: 'done',
148
- data: {
149
- status: 'error',
150
- ticketsExtracted: 0,
151
- tokensUsed,
152
- cost,
153
- error: 'Failed to extract valid JSON even after Claude fix attempt.\n' +
154
- 'Original content preview: ' +
155
- rawContent.substring(0, 300) +
156
- '\n\nClaude response preview: ' +
157
- fullResponse.substring(0, 300),
158
- },
159
- };
160
- return;
161
- }
162
- // Write to output
163
- writeFileSync(outputPath, JSON.stringify(tickets, null, 2), 'utf-8');
164
- yield {
165
- type: 'done',
166
- data: {
167
- status: 'success',
168
- ticketsExtracted: tickets.length,
169
- tokensUsed,
170
- cost,
171
- },
172
- };
173
- }
174
- catch (error) {
175
- yield {
176
- type: 'done',
177
- data: {
178
- status: 'error',
179
- ticketsExtracted: 0,
180
- tokensUsed: { input: 0, output: 0, cacheCreation: 0, cacheRead: 0 },
181
- cost: 0,
182
- error: error instanceof Error ? error.message : String(error),
183
- },
184
- };
185
- }
186
- }
187
- /**
188
- * CLI wrapper for fix command
189
- */
190
- export async function fixCommand(options) {
191
- const { noLogs = false, file, directory } = options;
192
- console.log('šŸ”§ Starting JSON Fix...\n');
193
- // Initialize logging context
194
- const logContext = logger.createContext('fix', { noLogs });
195
- const cleanupHandler = setupCancellationHandler(logContext);
196
- try {
197
- // Validate environment
198
- if (!process.env.ANTHROPIC_API_KEY) {
199
- throw new Error('ANTHROPIC_API_KEY environment variable is required');
200
- }
201
- // Resolve paths for display
202
- const cwd = directory ? resolve(directory) : process.cwd();
203
- const inputPath = resolve(cwd, file);
204
- // Read file to check size
205
- const rawContent = readFileSync(inputPath, 'utf-8');
206
- console.log(`šŸ“„ Read ${rawContent.length} characters from: ${inputPath}\n`);
207
- // Consume stream
208
- const stream = fixCoreStream(options);
209
- let finalResult = null;
210
- for await (const event of stream) {
211
- if (event.type === 'done') {
212
- finalResult = event.data;
213
- }
214
- // Messages are already logged by runAgentStream with verbosity
215
- }
216
- if (!finalResult || finalResult.status === 'error') {
217
- throw new Error(finalResult?.error || 'Unknown error during fix');
218
- }
219
- // Now TypeScript knows finalResult.status === 'success'
220
- const { ticketsExtracted, tokensUsed, cost } = finalResult;
221
- // Track metrics
222
- logger.trackTokens(logContext, tokensUsed);
223
- // Display success message
224
- if (cost === 0) {
225
- console.log(`āœ… Successfully extracted ${ticketsExtracted} tickets (no AI needed)\n`);
226
- }
227
- else {
228
- console.log(`āœ… Successfully fixed and extracted ${ticketsExtracted} tickets\n`);
229
- }
230
- const outputPath = options.output ? resolve(cwd, options.output) : inputPath;
231
- console.log(`šŸ’¾ Saved to: ${outputPath}\n`);
232
- // Display cost breakdown
233
- if (cost > 0) {
234
- const costBreakdown = formatCostBreakdown({
235
- cost,
236
- tokensUsed,
237
- fixCount: 0,
238
- response: '',
239
- filesReferenced: new Set(),
240
- });
241
- console.log(`šŸ’° Cost: ${costBreakdown}\n`);
242
- }
243
- console.log('āœ… Fix completed successfully!');
244
- // Log successful execution
245
- await logger.complete(logContext, 'success');
246
- cleanupHandler();
247
- }
248
- catch (error) {
249
- console.error('\nāŒ Fix command failed:', error);
250
- // Log failed execution
251
- await logger.complete(logContext, 'error', error);
252
- cleanupHandler();
253
- throw error;
254
- }
255
- }
256
- //# sourceMappingURL=fix.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../../kosuke/commands/fix.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- /**
2
- * GetCode command - Explore GitHub repositories and fetch code implementations
3
- *
4
- * This command uses Claude Code Agent to explore any GitHub repository and
5
- * fetch code implementations based on natural language queries.
6
- *
7
- * Usage:
8
- * kosuke getcode "owner/repo" "query" # Explicit repository
9
- * kosuke getcode "query" # Infer from query
10
- * kosuke getcode --template "query" # Use kosuke-template
11
- */
12
- import type { GetCodeOptions, CodeExplorationResult } from '../types.js';
13
- /**
14
- * Parse arguments for getcode command
15
- * Handles multiple argument patterns:
16
- * kosuke getcode "query"
17
- * kosuke getcode "owner/repo" "query"
18
- * kosuke getcode --template "query"
19
- */
20
- export declare function parseGetCodeArgs(args: string[]): GetCodeOptions;
21
- /**
22
- * Core getcode logic (can be used programmatically by other commands)
23
- */
24
- export declare function getCodeCore(options: GetCodeOptions): Promise<CodeExplorationResult>;
25
- /**
26
- * Main getcode command
27
- */
28
- export declare function getCodeCommand(options: GetCodeOptions): Promise<void>;
29
- //# sourceMappingURL=getcode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getcode.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/getcode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAwC/D;AAkDD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAgEzF;AAsCD;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA2D3E"}
@@ -1,248 +0,0 @@
1
- /**
2
- * GetCode command - Explore GitHub repositories and fetch code implementations
3
- *
4
- * This command uses Claude Code Agent to explore any GitHub repository and
5
- * fetch code implementations based on natural language queries.
6
- *
7
- * Usage:
8
- * kosuke getcode "owner/repo" "query" # Explicit repository
9
- * kosuke getcode "query" # Infer from query
10
- * kosuke getcode --template "query" # Use kosuke-template
11
- */
12
- import { writeFileSync } from 'fs';
13
- import { resolveRepository } from '../utils/repository-resolver.js';
14
- import { ensureRepoReady } from '../utils/repository-manager.js';
15
- import { runAgentStream, formatCostBreakdown, logAssistantMessage, logToolUsage, } from '../utils/claude-agent.js';
16
- import { logger, setupCancellationHandler } from '../utils/logger.js';
17
- /**
18
- * Parse arguments for getcode command
19
- * Handles multiple argument patterns:
20
- * kosuke getcode "query"
21
- * kosuke getcode "owner/repo" "query"
22
- * kosuke getcode --template "query"
23
- */
24
- export function parseGetCodeArgs(args) {
25
- const flags = {
26
- template: args.includes('--template') || args.includes('-t'),
27
- output: args.find((arg) => arg.startsWith('--output='))?.split('=')[1],
28
- noLogs: args.includes('--no-logs'),
29
- };
30
- // Remove flags from args to get positional arguments
31
- const positionalArgs = args.filter((arg) => !arg.startsWith('--') && !arg.startsWith('-') && arg !== 'getcode');
32
- // Determine repo and query based on number of positional args
33
- let repo;
34
- let query;
35
- if (positionalArgs.length === 0) {
36
- throw new Error('Missing query argument.\n' +
37
- 'Usage:\n' +
38
- ' kosuke getcode "query"\n' +
39
- ' kosuke getcode "owner/repo" "query"\n' +
40
- ' kosuke getcode --template "query"');
41
- }
42
- else if (positionalArgs.length === 1) {
43
- // Single argument: treat as query
44
- query = positionalArgs[0];
45
- }
46
- else {
47
- // Two or more arguments: first is repo, second is query
48
- repo = positionalArgs[0];
49
- query = positionalArgs[1];
50
- }
51
- return {
52
- repo,
53
- query,
54
- template: flags.template,
55
- output: flags.output,
56
- noLogs: flags.noLogs,
57
- };
58
- }
59
- /**
60
- * Build system prompt for code exploration
61
- */
62
- function buildExplorationSystemPrompt(repoName, repoPath) {
63
- return `You are an expert code exploration agent analyzing the repository: ${repoName}
64
-
65
- **Your Purpose:**
66
- Users will ask you to find reference implementations they can learn from and adapt for
67
- their own projects. Your job is to provide COMPLETE, USABLE code examples with full context.
68
-
69
- **When a user asks about a feature/implementation:**
70
-
71
- 1. **Locate ALL relevant files** - Find the complete implementation, not just snippets
72
- 2. **Show COMPLETE code** - Include entire files or substantial sections, never truncate
73
- 3. **Include dependencies** - Show imports, types, configurations, utilities used
74
- 4. **Explain architecture** - How components connect, data flow, design patterns
75
- 5. **Provide context** - Related files, setup requirements, usage examples
76
-
77
- **Response Structure:**
78
-
79
- 1. **Overview** - What you found and where it's located
80
- 2. **Complete Code Snippets** - Full, copy-ready implementations with file paths
81
- 3. **Implementation Details** - How it works, key patterns, important decisions
82
- 4. **Dependencies & Setup** - Required imports, configurations, related utilities
83
- 5. **Usage Examples** - How the feature is actually used in the codebase
84
-
85
- **Critical Rules:**
86
- - NEVER truncate code - show complete implementations
87
- - ALWAYS include file paths in code blocks
88
- - ALWAYS show imports and type definitions
89
- - ALWAYS explain what makes this implementation work
90
- - If a feature spans multiple files, show ALL of them
91
- - Include configuration, setup, and initialization code
92
-
93
- **Format all code snippets as:**
94
- \`\`\`language
95
- // Complete implementation from: path/to/file.ext
96
- [full code here]
97
- \`\`\`
98
-
99
- Your goal: Provide reference implementations so complete that users can understand and
100
- adapt them immediately.
101
-
102
- **Repository Details:**
103
- - Name: ${repoName}
104
- - Local Path: ${repoPath}`;
105
- }
106
- /**
107
- * Core getcode logic (can be used programmatically by other commands)
108
- */
109
- export async function getCodeCore(options) {
110
- const { repo, query, template = false } = options;
111
- console.log('šŸ” Resolving repository...');
112
- // Resolve repository (infer if needed)
113
- const repoIdentifier = await resolveRepository(repo, query, template, process.env.GITHUB_TOKEN);
114
- console.log(` āœ… Repository: ${repoIdentifier}\n`);
115
- // Ensure repository is ready (clone or update)
116
- console.log('šŸ“„ Preparing repository...');
117
- const repoInfo = await ensureRepoReady(repoIdentifier);
118
- // Explore code with Claude
119
- console.log(`šŸ¤– Exploring code with Claude...\n`);
120
- const systemPrompt = buildExplorationSystemPrompt(repoIdentifier, repoInfo.localPath);
121
- const stream = runAgentStream(query, {
122
- systemPrompt,
123
- cwd: repoInfo.localPath,
124
- maxTurns: 20,
125
- verbosity: 'normal',
126
- settingSources: [], // Don't load CLAUDE.md from external repos
127
- });
128
- let response = '';
129
- let filesReferenced = new Set();
130
- let tokensUsed = { input: 0, output: 0, cacheCreation: 0, cacheRead: 0 };
131
- let cost = 0;
132
- // Process stream
133
- filesReferenced = new Set();
134
- for await (const event of stream) {
135
- if (event.type === 'message') {
136
- const message = event.data;
137
- if (message.type === 'assistant' && message.message?.content) {
138
- for (const block of message.message.content) {
139
- if (block.type === 'text' && block.text) {
140
- logAssistantMessage(block.text, 'normal');
141
- }
142
- else if (block.type === 'tool_use' && block.name) {
143
- logToolUsage(block.name, block.input, filesReferenced);
144
- }
145
- }
146
- }
147
- }
148
- else if (event.type === 'agent_result') {
149
- response = event.data.response;
150
- filesReferenced = event.data.filesReferenced;
151
- tokensUsed = event.data.tokensUsed;
152
- cost = event.data.cost;
153
- }
154
- }
155
- console.log(`\nāœ… Exploration complete!\n`);
156
- return {
157
- repository: repoIdentifier,
158
- query,
159
- response,
160
- filesReferenced: Array.from(filesReferenced),
161
- tokensUsed,
162
- cost,
163
- };
164
- }
165
- /**
166
- * Format exploration result for display
167
- */
168
- function formatExplorationResult(result) {
169
- const header = `# Code from ${result.repository}
170
-
171
- **Query:** ${result.query}
172
-
173
- ---
174
-
175
- `;
176
- const footer = `
177
-
178
- ---
179
-
180
- ## Token Usage
181
-
182
- - **Input:** ${result.tokensUsed.input.toLocaleString()} tokens
183
- - **Output:** ${result.tokensUsed.output.toLocaleString()} tokens${result.tokensUsed.cacheCreation > 0
184
- ? `\n- **Cache Creation:** ${result.tokensUsed.cacheCreation.toLocaleString()} tokens`
185
- : ''}${result.tokensUsed.cacheRead > 0
186
- ? `\n- **Cache Read:** ${result.tokensUsed.cacheRead.toLocaleString()} tokens`
187
- : ''}
188
- - **Cost:** $${result.cost.toFixed(4)}
189
-
190
- ${result.filesReferenced.length > 0 ? `**Files Referenced:** ${result.filesReferenced.join(', ')}` : ''}
191
- `;
192
- return header + result.response + footer;
193
- }
194
- /**
195
- * Main getcode command
196
- */
197
- export async function getCodeCommand(options) {
198
- const { noLogs = false } = options;
199
- console.log('šŸš€ Starting Code Exploration...\n');
200
- // Initialize logging context
201
- const logContext = logger.createContext('getcode', { noLogs });
202
- const cleanupHandler = setupCancellationHandler(logContext);
203
- try {
204
- // Validate environment
205
- if (!process.env.ANTHROPIC_API_KEY) {
206
- throw new Error('ANTHROPIC_API_KEY environment variable is required');
207
- }
208
- // Execute core logic
209
- const result = await getCodeCore(options);
210
- // Track metrics
211
- logger.trackTokens(logContext, result.tokensUsed);
212
- logContext.filesModified = result.filesReferenced;
213
- // Display cost breakdown
214
- const costBreakdown = formatCostBreakdown({
215
- cost: result.cost,
216
- tokensUsed: result.tokensUsed,
217
- fixCount: 0,
218
- response: '',
219
- filesReferenced: new Set(result.filesReferenced),
220
- });
221
- console.log(`šŸ’° Cost: ${costBreakdown}\n`);
222
- // Format and display result
223
- const formattedOutput = formatExplorationResult(result);
224
- // Save to file if --output flag is provided
225
- if (options.output) {
226
- writeFileSync(options.output, formattedOutput, 'utf-8');
227
- console.log(`šŸ“„ Output saved to: ${options.output}\n`);
228
- }
229
- else {
230
- // Display to stdout
231
- console.log('─'.repeat(60));
232
- console.log(formattedOutput);
233
- console.log('─'.repeat(60));
234
- }
235
- console.log('\nāœ… Code exploration completed successfully!');
236
- // Log successful execution
237
- await logger.complete(logContext, 'success');
238
- cleanupHandler();
239
- }
240
- catch (error) {
241
- console.error('\nāŒ Code exploration failed:', error);
242
- // Log failed execution
243
- await logger.complete(logContext, 'error', error);
244
- cleanupHandler();
245
- throw error;
246
- }
247
- }
248
- //# sourceMappingURL=getcode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getcode.js","sourceRoot":"","sources":["../../../kosuke/commands/getcode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAGtE;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAc;IAC7C,MAAM,KAAK,GAAG;QACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC5D,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;KACnC,CAAC;IAEF,qDAAqD;IACrD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAChC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,SAAS,CAC5E,CAAC;IAEF,8DAA8D;IAC9D,IAAI,IAAwB,CAAC;IAC7B,IAAI,KAAa,CAAC;IAElB,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,2BAA2B;YACzB,UAAU;YACV,4BAA4B;YAC5B,yCAAyC;YACzC,qCAAqC,CACxC,CAAC;IACJ,CAAC;SAAM,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,kCAAkC;QAClC,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,wDAAwD;QACxD,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QACzB,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,IAAI;QACJ,KAAK;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,4BAA4B,CAAC,QAAgB,EAAE,QAAgB;IACtE,OAAO,sEAAsE,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAwC7E,QAAQ;gBACF,QAAQ,EAAE,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAuB;IACvD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAElD,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAE1C,uCAAuC;IACvC,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEhG,OAAO,CAAC,GAAG,CAAC,oBAAoB,cAAc,IAAI,CAAC,CAAC;IAEpD,+CAA+C;IAC/C,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,CAAC;IAEvD,2BAA2B;IAC3B,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAElD,MAAM,YAAY,GAAG,4BAA4B,CAAC,cAAc,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEtF,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE;QACnC,YAAY;QACZ,GAAG,EAAE,QAAQ,CAAC,SAAS;QACvB,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,QAAQ;QACnB,cAAc,EAAE,EAAE,EAAE,2CAA2C;KAChE,CAAC,CAAC;IAEH,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,IAAI,UAAU,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACzE,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,iBAAiB;IACjB,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;YAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;gBAC7D,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;wBACxC,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC5C,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;wBACnD,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;oBACzD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC/B,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;YAC7C,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YACnC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE3C,OAAO;QACL,UAAU,EAAE,cAAc;QAC1B,KAAK;QACL,QAAQ;QACR,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;QAC5C,UAAU;QACV,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,MAA6B;IAC5D,MAAM,MAAM,GAAG,eAAe,MAAM,CAAC,UAAU;;aAEpC,MAAM,CAAC,KAAK;;;;CAIxB,CAAC;IAEA,MAAM,MAAM,GAAG;;;;;;eAMF,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE;gBACvC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,UACrD,MAAM,CAAC,UAAU,CAAC,aAAa,GAAG,CAAC;QACjC,CAAC,CAAC,2BAA2B,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,SAAS;QACtF,CAAC,CAAC,EACN,GACE,MAAM,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC;QAC7B,CAAC,CAAC,uBAAuB,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS;QAC9E,CAAC,CAAC,EACN;eACa,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;;EAEnC,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,yBAAyB,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;CACtG,CAAC;IAEA,OAAO,MAAM,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAuB;IAC1D,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IAEjD,6BAA6B;IAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAE5D,IAAI,CAAC;QACH,uBAAuB;QACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QAED,qBAAqB;QACrB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QAE1C,gBAAgB;QAChB,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAClD,UAAU,CAAC,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC;QAElD,yBAAyB;QACzB,MAAM,aAAa,GAAG,mBAAmB,CAAC;YACxC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,EAAE;YACZ,eAAe,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC;SACjD,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,YAAY,aAAa,IAAI,CAAC,CAAC;QAE3C,4BAA4B;QAC5B,MAAM,eAAe,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAExD,4CAA4C;QAC5C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,oBAAoB;YACpB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAE5D,2BAA2B;QAC3B,MAAM,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC7C,cAAc,EAAE,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QAErD,uBAAuB;QACvB,MAAM,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,KAAc,CAAC,CAAC;QAC3D,cAAc,EAAE,CAAC;QAEjB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Lint command - Comprehensive code quality validation and fixing
3
- *
4
- * Strategy: Run all validation steps (format, lint, typecheck, test, knip),
5
- * give errors to Claude, let it fix them
6
- */
7
- import type { LintOptions } from '../types.js';
8
- /**
9
- * Run Claude to fix code quality errors
10
- * Exported so other commands can use it
11
- */
12
- export declare function fixCodeQualityErrors(stepName: string, errors: string, cwd?: string): Promise<boolean>;
13
- /**
14
- * Legacy export for backward compatibility
15
- */
16
- export declare function fixLintErrors(lintErrors: string, cwd?: string): Promise<boolean>;
17
- /**
18
- * Main lint command (now runs comprehensive validation)
19
- */
20
- export declare function lintCommand(options?: LintOptions): Promise<void>;
21
- //# sourceMappingURL=lint.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/lint.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA2I/C;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,OAAO,CAAC,CA+DlB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,OAAO,CAAC,CAElB;AA6GD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuF1E"}