@kosuke-ai/cli 0.0.57 → 1.0.1-next.2

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 +47 -434
  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":"tickets.js","sourceRoot":"","sources":["../../../kosuke/commands/tickets.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- /**
2
- * Validate-tickets command - Validate and fix ticket structure using Claude
3
- *
4
- * Validates tickets.json structure and optionally fixes issues.
5
- * In normal mode, auto-fixes issues and saves back to file.
6
- * In strict mode, reports issues without fixing (useful for CI/CD).
7
- *
8
- * Usage:
9
- * kosuke validate-tickets # Auto-fix mode (current directory)
10
- * kosuke validate-tickets --directory=./idealista-clone # Auto-fix mode (specific directory)
11
- * kosuke validate-tickets --tickets=./path/to/tickets.json # Custom tickets file
12
- * kosuke validate-tickets --directory=./project --strict # Strict mode (fail on issues)
13
- */
14
- import type { ValidateTicketsOptions, ValidateTicketsStreamEvent } from '../types.js';
15
- /**
16
- * Core validation logic - streaming version (exported for programmatic use)
17
- */
18
- export declare function validateTicketsCoreStream(options: ValidateTicketsOptions): AsyncGenerator<ValidateTicketsStreamEvent, void, void>;
19
- /**
20
- * CLI wrapper for validate-tickets command
21
- */
22
- export declare function validateTicketsCommand(options: ValidateTicketsOptions): Promise<void>;
23
- //# sourceMappingURL=validate-tickets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-tickets.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/validate-tickets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAU,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAwD9F;;GAEG;AACH,wBAAuB,yBAAyB,CAC9C,OAAO,EAAE,sBAAsB,GAC9B,cAAc,CAAC,0BAA0B,EAAE,IAAI,EAAE,IAAI,CAAC,CAqOxD;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoG3F"}
@@ -1,360 +0,0 @@
1
- /**
2
- * Validate-tickets command - Validate and fix ticket structure using Claude
3
- *
4
- * Validates tickets.json structure and optionally fixes issues.
5
- * In normal mode, auto-fixes issues and saves back to file.
6
- * In strict mode, reports issues without fixing (useful for CI/CD).
7
- *
8
- * Usage:
9
- * kosuke validate-tickets # Auto-fix mode (current directory)
10
- * kosuke validate-tickets --directory=./idealista-clone # Auto-fix mode (specific directory)
11
- * kosuke validate-tickets --tickets=./path/to/tickets.json # Custom tickets file
12
- * kosuke validate-tickets --directory=./project --strict # Strict mode (fail on issues)
13
- */
14
- import { existsSync, statSync } from 'fs';
15
- import { join, resolve } from 'path';
16
- import { formatCostBreakdown, runAgentStream } from '../utils/claude-agent.js';
17
- import { logger, setupCancellationHandler } from '../utils/logger.js';
18
- import { loadTicketsFile, saveTicketsFile } from '../utils/tickets-manager.js';
19
- /**
20
- * Build validation prompt for structural fixes only
21
- */
22
- function buildValidationPrompt(tickets) {
23
- return `You are a ticket structure validator. Fix ONLY structural issues, preserve all content.
24
-
25
- **Tickets to Validate:**
26
- ${JSON.stringify(tickets, null, 2)}
27
-
28
- **STRUCTURAL RULES TO ENFORCE:**
29
-
30
- 1. **Ticket ID Format**: {BATCH}-{TYPE}-{NUMBER}
31
- - Examples: SCAFFOLD-SCHEMA-1, LOGIC-BACKEND-2, PLAN-FRONTEND-3
32
- - Fix: SCAFFOLD-1 → SCAFFOLD-SCHEMA-1 (based on type field)
33
-
34
- 2. **Batch-Specific Type Sequences**:
35
- - **SCAFFOLD**: SCHEMA → REFACTOR → TEST (no backend/frontend/engine)
36
- - **LOGIC**: SCHEMA → ENGINE → BACKEND → FRONTEND → TEST
37
- - **PLAN**: SCHEMA → ENGINE → BACKEND → FRONTEND → TEST
38
- - Fix: Remove invalid types from batch or move to correct batch
39
-
40
- 3. **ONE Schema Per Batch**: Merge multiple schema tickets in same batch
41
- - Fix: [LOGIC-SCHEMA-1, LOGIC-SCHEMA-2] → [LOGIC-SCHEMA-1 (merged)]
42
- - Fix: [SCAFFOLD-SCHEMA-1, SCAFFOLD-SCHEMA-2] → [SCAFFOLD-SCHEMA-1 (merged)]
43
-
44
- 4. **Feature-by-Feature Ordering**: For LOGIC/PLAN batches only
45
- - Order: BACKEND → FRONTEND → TEST for each feature
46
- - Fix: [B1, B2, F1, F2, T1, T2] → [B1, F1, T1, B2, F2, T2]
47
- - Note: SCAFFOLD batch uses SCHEMA → REFACTOR → TEST (different pattern)
48
-
49
- 5. **Sequential Numbering**: No gaps in numbering within batch and type
50
- - Fix: LOGIC-BACKEND-1, LOGIC-BACKEND-5 → LOGIC-BACKEND-1, LOGIC-BACKEND-2
51
- - Fix: SCAFFOLD-REFACTOR-1, SCAFFOLD-REFACTOR-3 → SCAFFOLD-REFACTOR-1, SCAFFOLD-REFACTOR-2
52
-
53
- 6. **Required Fields**: id, title, description, type, estimatedEffort, status
54
- - Fix: Add placeholders for missing fields only
55
-
56
- **PRESERVE UNCHANGED:**
57
- - All descriptions (don't modify content)
58
- - All effort estimates
59
- - All categories
60
- - All ticket details
61
-
62
- **OUTPUT FORMAT (CRITICAL):**
63
- Return ONLY raw JSON object (no markdown, no text):
64
- {"validationIssues":["issue1","issue2"],"fixedTickets":[{...}]}
65
-
66
- START YOUR RESPONSE WITH: {
67
- END YOUR RESPONSE WITH: }`;
68
- }
69
- /**
70
- * Core validation logic - streaming version (exported for programmatic use)
71
- */
72
- export async function* validateTicketsCoreStream(options) {
73
- const { directory, tickets: ticketsPath, strict = false } = options;
74
- try {
75
- // Resolve directory
76
- const cwd = directory ? resolve(directory) : process.cwd();
77
- if (!existsSync(cwd)) {
78
- yield {
79
- type: 'done',
80
- data: {
81
- status: 'error',
82
- valid: false,
83
- issuesFixed: 0,
84
- tokensUsed: { input: 0, output: 0, cacheCreation: 0, cacheRead: 0 },
85
- cost: 0,
86
- error: `Directory not found: ${cwd}`,
87
- },
88
- };
89
- return;
90
- }
91
- const stats = statSync(cwd);
92
- if (!stats.isDirectory()) {
93
- yield {
94
- type: 'done',
95
- data: {
96
- status: 'error',
97
- valid: false,
98
- issuesFixed: 0,
99
- tokensUsed: { input: 0, output: 0, cacheCreation: 0, cacheRead: 0 },
100
- cost: 0,
101
- error: `Path is not a directory: ${cwd}`,
102
- },
103
- };
104
- return;
105
- }
106
- // Resolve tickets file path
107
- const resolvedTicketsPath = ticketsPath ? resolve(cwd, ticketsPath) : join(cwd, 'tickets.json');
108
- if (!existsSync(resolvedTicketsPath)) {
109
- yield {
110
- type: 'done',
111
- data: {
112
- status: 'error',
113
- valid: false,
114
- issuesFixed: 0,
115
- tokensUsed: { input: 0, output: 0, cacheCreation: 0, cacheRead: 0 },
116
- cost: 0,
117
- error: `Tickets file not found: ${resolvedTicketsPath}\nPlease generate tickets first using: kosuke tickets`,
118
- },
119
- };
120
- return;
121
- }
122
- // Load tickets from file
123
- const ticketsData = loadTicketsFile(resolvedTicketsPath);
124
- const tickets = ticketsData.tickets;
125
- // Send to Claude for structural validation
126
- const validationPrompt = buildValidationPrompt(tickets);
127
- const stream = runAgentStream('Validate and fix ticket structure', {
128
- systemPrompt: validationPrompt,
129
- maxTurns: 10,
130
- verbosity: 'normal',
131
- cwd,
132
- });
133
- let fullResponse = '';
134
- let tokensUsed = { input: 0, output: 0, cacheCreation: 0, cacheRead: 0 };
135
- let cost = 0;
136
- // Yield events from stream
137
- for await (const event of stream) {
138
- if (event.type === 'message') {
139
- yield { type: 'message', data: event.data };
140
- // Accumulate response text
141
- const claudeMessage = event.data;
142
- if (claudeMessage.type === 'assistant' && claudeMessage.message) {
143
- const msg = claudeMessage.message;
144
- if (msg.content && Array.isArray(msg.content)) {
145
- for (const block of msg.content) {
146
- if (block.type === 'text' && block.text) {
147
- fullResponse += block.text;
148
- }
149
- else if (block.type === 'tool_use' && block.name) {
150
- yield {
151
- type: 'tool_call',
152
- data: { name: block.name, input: block.input || {} },
153
- };
154
- }
155
- }
156
- }
157
- }
158
- }
159
- else if (event.type === 'agent_result') {
160
- tokensUsed = event.data.tokensUsed;
161
- cost = event.data.cost;
162
- }
163
- }
164
- // Extract JSON from response
165
- const startIdx = fullResponse.indexOf('{');
166
- const endIdx = fullResponse.lastIndexOf('}');
167
- if (startIdx === -1 || endIdx === -1) {
168
- yield {
169
- type: 'done',
170
- data: {
171
- status: 'error',
172
- valid: false,
173
- issuesFixed: 0,
174
- tokensUsed,
175
- cost,
176
- error: 'Validation failed: Could not find JSON in Claude response.\nResponse preview: ' +
177
- fullResponse.substring(0, 200),
178
- },
179
- };
180
- return;
181
- }
182
- const jsonStr = fullResponse.substring(startIdx, endIdx + 1);
183
- let validationResult;
184
- try {
185
- validationResult = JSON.parse(jsonStr);
186
- }
187
- catch (parseError) {
188
- yield {
189
- type: 'done',
190
- data: {
191
- status: 'error',
192
- valid: false,
193
- issuesFixed: 0,
194
- tokensUsed,
195
- cost,
196
- error: `Validation failed: Invalid JSON in Claude response.\nParse error: ${parseError instanceof Error ? parseError.message : String(parseError)}\nResponse preview: ${fullResponse.substring(0, 200)}`,
197
- },
198
- };
199
- return;
200
- }
201
- // Validate structure of result
202
- if (!validationResult.fixedTickets || !Array.isArray(validationResult.fixedTickets)) {
203
- yield {
204
- type: 'done',
205
- data: {
206
- status: 'error',
207
- valid: false,
208
- issuesFixed: 0,
209
- tokensUsed,
210
- cost,
211
- error: 'Validation failed: Response missing fixedTickets array.\nResponse: ' +
212
- JSON.stringify(validationResult, null, 2).substring(0, 200),
213
- },
214
- };
215
- return;
216
- }
217
- if (validationResult.fixedTickets.length === 0) {
218
- yield {
219
- type: 'done',
220
- data: {
221
- status: 'error',
222
- valid: false,
223
- issuesFixed: 0,
224
- tokensUsed,
225
- cost,
226
- error: 'Validation failed: No tickets in validation result',
227
- },
228
- };
229
- return;
230
- }
231
- const issues = validationResult.validationIssues || [];
232
- const hasIssues = issues.length > 0;
233
- // Strict mode: report issues and exit without fixing
234
- if (strict && hasIssues) {
235
- yield {
236
- type: 'done',
237
- data: {
238
- status: 'error',
239
- valid: false,
240
- issuesFixed: issues.length,
241
- tokensUsed,
242
- cost,
243
- error: `Validation failed in strict mode: ${issues.length} issue(s) found`,
244
- },
245
- };
246
- return;
247
- }
248
- // Normal mode: write fixed tickets back to file
249
- const updatedData = {
250
- generatedAt: ticketsData.generatedAt,
251
- totalTickets: validationResult.fixedTickets.length,
252
- tickets: validationResult.fixedTickets,
253
- };
254
- saveTicketsFile(resolvedTicketsPath, updatedData);
255
- yield {
256
- type: 'done',
257
- data: {
258
- status: 'success',
259
- valid: true,
260
- issuesFixed: issues.length,
261
- tokensUsed,
262
- cost,
263
- },
264
- };
265
- }
266
- catch (error) {
267
- yield {
268
- type: 'done',
269
- data: {
270
- status: 'error',
271
- valid: false,
272
- issuesFixed: 0,
273
- tokensUsed: { input: 0, output: 0, cacheCreation: 0, cacheRead: 0 },
274
- cost: 0,
275
- error: error instanceof Error ? error.message : String(error),
276
- },
277
- };
278
- }
279
- }
280
- /**
281
- * CLI wrapper for validate-tickets command
282
- */
283
- export async function validateTicketsCommand(options) {
284
- const { noLogs = false, strict = false, directory, tickets: ticketsPath } = options;
285
- console.log('🔍 Starting Ticket Validation...\n');
286
- // Initialize logging context
287
- const logContext = logger.createContext('validate-tickets', { noLogs });
288
- const cleanupHandler = setupCancellationHandler(logContext);
289
- try {
290
- // Validate environment
291
- if (!process.env.ANTHROPIC_API_KEY) {
292
- throw new Error('ANTHROPIC_API_KEY environment variable is required');
293
- }
294
- // Resolve paths for display
295
- const cwd = directory ? resolve(directory) : process.cwd();
296
- const resolvedTicketsPath = ticketsPath ? resolve(cwd, ticketsPath) : join(cwd, 'tickets.json');
297
- console.log(`${'─'.repeat(60)}`);
298
- console.log('🔍 Validating ticket structure...');
299
- console.log(`${'─'.repeat(60)}\n`);
300
- console.log(`📁 Project directory: ${cwd}`);
301
- console.log(`📄 Tickets file: ${resolvedTicketsPath}\n`);
302
- // Load tickets for display
303
- const ticketsData = loadTicketsFile(resolvedTicketsPath);
304
- console.log(`📋 Loaded ${ticketsData.tickets.length} tickets\n`);
305
- // Consume stream
306
- const stream = validateTicketsCoreStream(options);
307
- let finalResult = null;
308
- for await (const event of stream) {
309
- if (event.type === 'done') {
310
- finalResult = event.data;
311
- }
312
- // Messages are already logged by runAgentStream with verbosity
313
- }
314
- if (!finalResult) {
315
- throw new Error('Validation failed: No result received');
316
- }
317
- if (finalResult.status === 'error') {
318
- throw new Error(finalResult.error || 'Validation failed');
319
- }
320
- // Now TypeScript knows finalResult.status === 'success'
321
- const { valid, issuesFixed, tokensUsed, cost } = finalResult;
322
- // Track metrics
323
- logger.trackTokens(logContext, tokensUsed);
324
- // Display validation results
325
- if (issuesFixed > 0) {
326
- console.log(`✅ Fixed ${issuesFixed} issue(s) and saved to: ${resolvedTicketsPath}\n`);
327
- }
328
- else {
329
- console.log(`✅ No structural issues found\n`);
330
- }
331
- // Display cost breakdown
332
- const costBreakdown = formatCostBreakdown({
333
- cost,
334
- tokensUsed,
335
- fixCount: 0,
336
- response: '',
337
- filesReferenced: new Set(),
338
- });
339
- console.log(`💰 Cost: ${costBreakdown}\n`);
340
- // Strict mode: exit with error if issues found
341
- if (strict && !valid) {
342
- console.log(`❌ Validation failed: ${issuesFixed} issue(s) found\n`);
343
- await logger.complete(logContext, 'error', new Error('Validation failed in strict mode'));
344
- cleanupHandler();
345
- process.exit(1);
346
- }
347
- console.log('✅ Validation completed successfully!');
348
- // Log successful execution
349
- await logger.complete(logContext, 'success');
350
- cleanupHandler();
351
- }
352
- catch (error) {
353
- console.error('\n❌ Validation command failed:', error);
354
- // Log failed execution
355
- await logger.complete(logContext, 'error', error);
356
- cleanupHandler();
357
- throw error;
358
- }
359
- }
360
- //# sourceMappingURL=validate-tickets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-tickets.js","sourceRoot":"","sources":["../../../kosuke/commands/validate-tickets.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Error handling middleware
3
- */
4
- import type { FastifyRequest, FastifyReply } from 'fastify';
5
- import type { FastifyError } from 'fastify';
6
- /**
7
- * 404 handler for unknown routes
8
- */
9
- export declare function notFoundHandler(req: FastifyRequest, reply: FastifyReply): void;
10
- /**
11
- * Global error handler
12
- */
13
- export declare function errorHandler(error: FastifyError, _req: FastifyRequest, reply: FastifyReply): void;
14
- //# sourceMappingURL=error-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../../../kosuke/serve/middleware/error-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAM9E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CA0BjG"}
@@ -1,42 +0,0 @@
1
- /**
2
- * Error handling middleware
3
- */
4
- /**
5
- * 404 handler for unknown routes
6
- */
7
- export function notFoundHandler(req, reply) {
8
- reply.code(404).send({
9
- error: 'Not Found',
10
- message: `Route ${req.method} ${req.url} not found`,
11
- availableRoutes: ['GET /health', 'POST /api/plan', 'POST /api/build'],
12
- });
13
- }
14
- /**
15
- * Global error handler
16
- */
17
- export function errorHandler(error, _req, reply) {
18
- // JSON parsing errors
19
- if (error.statusCode === 400 && error.code === 'FST_ERR_CTP_INVALID_MEDIA_TYPE') {
20
- reply.code(400).send({
21
- error: 'Invalid Content-Type',
22
- message: 'Expected application/json',
23
- details: error.message,
24
- });
25
- return;
26
- }
27
- if (error.statusCode === 400 && error.message.includes('JSON')) {
28
- reply.code(400).send({
29
- error: 'Invalid JSON',
30
- message: 'Request body contains invalid JSON syntax',
31
- details: error.message,
32
- });
33
- return;
34
- }
35
- // Generic error handler
36
- console.error('Server error:', error);
37
- reply.code(error.statusCode || 500).send({
38
- error: 'Internal Server Error',
39
- message: error.message || 'An unexpected error occurred',
40
- });
41
- }
42
- //# sourceMappingURL=error-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../../../kosuke/serve/middleware/error-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAmB,EAAE,KAAmB;IACtE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,SAAS,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,YAAY;QACnD,eAAe,EAAE,CAAC,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,CAAC;KACtE,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAmB,EAAE,IAAoB,EAAE,KAAmB;IACzF,sBAAsB;IACtB,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,gCAAgC,EAAE,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE,sBAAsB;YAC7B,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE,2CAA2C;YACpD,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,wBAAwB;IACxB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QACvC,KAAK,EAAE,uBAAuB;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,8BAA8B;KACzD,CAAC,CAAC;AACL,CAAC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Generic validation middleware
3
- */
4
- import type { preHandlerHookHandler } from 'fastify';
5
- import { z } from 'zod';
6
- /**
7
- * Generic validation middleware factory
8
- *
9
- * Validates request body against a Zod schema and returns 400 if invalid.
10
- * Replaces req.body with validated data on success.
11
- */
12
- export declare function validateRequest(schema: z.ZodSchema): preHandlerHookHandler;
13
- //# sourceMappingURL=validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../kosuke/serve/middleware/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,GAAG,qBAAqB,CA6B1E"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Generic validation middleware
3
- */
4
- /**
5
- * Generic validation middleware factory
6
- *
7
- * Validates request body against a Zod schema and returns 400 if invalid.
8
- * Replaces req.body with validated data on success.
9
- */
10
- export function validateRequest(schema) {
11
- return async (req, reply) => {
12
- try {
13
- const result = schema.safeParse(req.body);
14
- if (!result.success) {
15
- // Format Zod errors into readable format
16
- const errors = result.error.issues.map((err) => ({
17
- field: err.path.join('.'),
18
- message: err.message,
19
- }));
20
- reply.code(400).send({
21
- error: 'Validation Error',
22
- message: 'Request validation failed',
23
- details: errors,
24
- });
25
- return;
26
- }
27
- // Replace req.body with validated data
28
- req.body = result.data;
29
- }
30
- catch (error) {
31
- reply.code(500).send({
32
- error: 'Internal Server Error',
33
- message: error instanceof Error ? error.message : 'Unknown error',
34
- });
35
- }
36
- };
37
- }
38
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../kosuke/serve/middleware/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,OAAO,KAAK,EAAE,GAAmB,EAAE,KAAmB,EAAiB,EAAE;QACvE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE1C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,yCAAyC;gBACzC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC/C,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;oBACzB,OAAO,EAAE,GAAG,CAAC,OAAO;iBACrB,CAAC,CAAC,CAAC;gBAEJ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,KAAK,EAAE,kBAAkB;oBACzB,OAAO,EAAE,2BAA2B;oBACpC,OAAO,EAAE,MAAM;iBAChB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,uCAAuC;YACvC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAClE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Build command SSE route
3
- */
4
- import type { FastifyRequest, FastifyReply } from 'fastify';
5
- export declare function buildRoute(req: FastifyRequest, reply: FastifyReply): Promise<void>;
6
- //# sourceMappingURL=build.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../kosuke/serve/routes/build.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAO5D,wBAAsB,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6PxF"}