@kosuke-ai/cli 0.0.56 → 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 (251) 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 -516
  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 -35
  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 -273
  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 -659
  110. package/dist/kosuke/commands/build.js.map +0 -1
  111. package/dist/kosuke/commands/getcode.d.ts +0 -29
  112. package/dist/kosuke/commands/getcode.d.ts.map +0 -1
  113. package/dist/kosuke/commands/getcode.js +0 -221
  114. package/dist/kosuke/commands/getcode.js.map +0 -1
  115. package/dist/kosuke/commands/lint.d.ts +0 -21
  116. package/dist/kosuke/commands/lint.d.ts.map +0 -1
  117. package/dist/kosuke/commands/lint.js +0 -321
  118. package/dist/kosuke/commands/lint.js.map +0 -1
  119. package/dist/kosuke/commands/migrate.d.ts +0 -38
  120. package/dist/kosuke/commands/migrate.d.ts.map +0 -1
  121. package/dist/kosuke/commands/migrate.js +0 -284
  122. package/dist/kosuke/commands/migrate.js.map +0 -1
  123. package/dist/kosuke/commands/plan.d.ts +0 -28
  124. package/dist/kosuke/commands/plan.d.ts.map +0 -1
  125. package/dist/kosuke/commands/plan.js +0 -630
  126. package/dist/kosuke/commands/plan.js.map +0 -1
  127. package/dist/kosuke/commands/requirements.d.ts +0 -52
  128. package/dist/kosuke/commands/requirements.d.ts.map +0 -1
  129. package/dist/kosuke/commands/requirements.js +0 -615
  130. package/dist/kosuke/commands/requirements.js.map +0 -1
  131. package/dist/kosuke/commands/review.d.ts +0 -26
  132. package/dist/kosuke/commands/review.d.ts.map +0 -1
  133. package/dist/kosuke/commands/review.js +0 -303
  134. package/dist/kosuke/commands/review.js.map +0 -1
  135. package/dist/kosuke/commands/serve.d.ts +0 -9
  136. package/dist/kosuke/commands/serve.d.ts.map +0 -1
  137. package/dist/kosuke/commands/serve.js +0 -17
  138. package/dist/kosuke/commands/serve.js.map +0 -1
  139. package/dist/kosuke/commands/ship.d.ts +0 -37
  140. package/dist/kosuke/commands/ship.d.ts.map +0 -1
  141. package/dist/kosuke/commands/ship.js +0 -375
  142. package/dist/kosuke/commands/ship.js.map +0 -1
  143. package/dist/kosuke/commands/sync-rules.d.ts +0 -9
  144. package/dist/kosuke/commands/sync-rules.d.ts.map +0 -1
  145. package/dist/kosuke/commands/sync-rules.js +0 -379
  146. package/dist/kosuke/commands/sync-rules.js.map +0 -1
  147. package/dist/kosuke/commands/test.d.ts +0 -42
  148. package/dist/kosuke/commands/test.d.ts.map +0 -1
  149. package/dist/kosuke/commands/test.js +0 -540
  150. package/dist/kosuke/commands/test.js.map +0 -1
  151. package/dist/kosuke/commands/tickets.d.ts +0 -43
  152. package/dist/kosuke/commands/tickets.d.ts.map +0 -1
  153. package/dist/kosuke/commands/tickets.js +0 -499
  154. package/dist/kosuke/commands/tickets.js.map +0 -1
  155. package/dist/kosuke/serve/middleware/error-handler.d.ts +0 -14
  156. package/dist/kosuke/serve/middleware/error-handler.d.ts.map +0 -1
  157. package/dist/kosuke/serve/middleware/error-handler.js +0 -42
  158. package/dist/kosuke/serve/middleware/error-handler.js.map +0 -1
  159. package/dist/kosuke/serve/middleware/validation.d.ts +0 -13
  160. package/dist/kosuke/serve/middleware/validation.d.ts.map +0 -1
  161. package/dist/kosuke/serve/middleware/validation.js +0 -38
  162. package/dist/kosuke/serve/middleware/validation.js.map +0 -1
  163. package/dist/kosuke/serve/routes/build.d.ts +0 -6
  164. package/dist/kosuke/serve/routes/build.d.ts.map +0 -1
  165. package/dist/kosuke/serve/routes/build.js +0 -226
  166. package/dist/kosuke/serve/routes/build.js.map +0 -1
  167. package/dist/kosuke/serve/routes/health.d.ts +0 -6
  168. package/dist/kosuke/serve/routes/health.d.ts.map +0 -1
  169. package/dist/kosuke/serve/routes/health.js +0 -11
  170. package/dist/kosuke/serve/routes/health.js.map +0 -1
  171. package/dist/kosuke/serve/routes/plan.d.ts +0 -6
  172. package/dist/kosuke/serve/routes/plan.d.ts.map +0 -1
  173. package/dist/kosuke/serve/routes/plan.js +0 -106
  174. package/dist/kosuke/serve/routes/plan.js.map +0 -1
  175. package/dist/kosuke/serve/server.d.ts +0 -16
  176. package/dist/kosuke/serve/server.d.ts.map +0 -1
  177. package/dist/kosuke/serve/server.js +0 -67
  178. package/dist/kosuke/serve/server.js.map +0 -1
  179. package/dist/kosuke/serve/validation/build.d.ts +0 -41
  180. package/dist/kosuke/serve/validation/build.d.ts.map +0 -1
  181. package/dist/kosuke/serve/validation/build.js +0 -20
  182. package/dist/kosuke/serve/validation/build.js.map +0 -1
  183. package/dist/kosuke/serve/validation/plan.d.ts +0 -26
  184. package/dist/kosuke/serve/validation/plan.d.ts.map +0 -1
  185. package/dist/kosuke/serve/validation/plan.js +0 -15
  186. package/dist/kosuke/serve/validation/plan.js.map +0 -1
  187. package/dist/kosuke/types.d.ts +0 -469
  188. package/dist/kosuke/types.d.ts.map +0 -1
  189. package/dist/kosuke/types.js +0 -5
  190. package/dist/kosuke/types.js.map +0 -1
  191. package/dist/kosuke/utils/batch-creator.d.ts +0 -14
  192. package/dist/kosuke/utils/batch-creator.d.ts.map +0 -1
  193. package/dist/kosuke/utils/batch-creator.js +0 -76
  194. package/dist/kosuke/utils/batch-creator.js.map +0 -1
  195. package/dist/kosuke/utils/claude-agent.d.ts +0 -145
  196. package/dist/kosuke/utils/claude-agent.d.ts.map +0 -1
  197. package/dist/kosuke/utils/claude-agent.js +0 -504
  198. package/dist/kosuke/utils/claude-agent.js.map +0 -1
  199. package/dist/kosuke/utils/constants.d.ts +0 -40
  200. package/dist/kosuke/utils/constants.d.ts.map +0 -1
  201. package/dist/kosuke/utils/constants.js +0 -54
  202. package/dist/kosuke/utils/constants.js.map +0 -1
  203. package/dist/kosuke/utils/file-discovery.d.ts +0 -15
  204. package/dist/kosuke/utils/file-discovery.d.ts.map +0 -1
  205. package/dist/kosuke/utils/file-discovery.js +0 -80
  206. package/dist/kosuke/utils/file-discovery.js.map +0 -1
  207. package/dist/kosuke/utils/git.d.ts +0 -41
  208. package/dist/kosuke/utils/git.d.ts.map +0 -1
  209. package/dist/kosuke/utils/git.js +0 -145
  210. package/dist/kosuke/utils/git.js.map +0 -1
  211. package/dist/kosuke/utils/github.d.ts +0 -17
  212. package/dist/kosuke/utils/github.d.ts.map +0 -1
  213. package/dist/kosuke/utils/github.js +0 -22
  214. package/dist/kosuke/utils/github.js.map +0 -1
  215. package/dist/kosuke/utils/interactive-input.d.ts +0 -22
  216. package/dist/kosuke/utils/interactive-input.d.ts.map +0 -1
  217. package/dist/kosuke/utils/interactive-input.js +0 -124
  218. package/dist/kosuke/utils/interactive-input.js.map +0 -1
  219. package/dist/kosuke/utils/logger.d.ts +0 -161
  220. package/dist/kosuke/utils/logger.d.ts.map +0 -1
  221. package/dist/kosuke/utils/logger.js +0 -234
  222. package/dist/kosuke/utils/logger.js.map +0 -1
  223. package/dist/kosuke/utils/playwright-mcp-client.d.ts +0 -46
  224. package/dist/kosuke/utils/playwright-mcp-client.d.ts.map +0 -1
  225. package/dist/kosuke/utils/playwright-mcp-client.js +0 -135
  226. package/dist/kosuke/utils/playwright-mcp-client.js.map +0 -1
  227. package/dist/kosuke/utils/pr-orchestrator.d.ts +0 -49
  228. package/dist/kosuke/utils/pr-orchestrator.d.ts.map +0 -1
  229. package/dist/kosuke/utils/pr-orchestrator.js +0 -154
  230. package/dist/kosuke/utils/pr-orchestrator.js.map +0 -1
  231. package/dist/kosuke/utils/repository-manager.d.ts +0 -13
  232. package/dist/kosuke/utils/repository-manager.d.ts.map +0 -1
  233. package/dist/kosuke/utils/repository-manager.js +0 -94
  234. package/dist/kosuke/utils/repository-manager.js.map +0 -1
  235. package/dist/kosuke/utils/repository-resolver.d.ts +0 -12
  236. package/dist/kosuke/utils/repository-resolver.d.ts.map +0 -1
  237. package/dist/kosuke/utils/repository-resolver.js +0 -186
  238. package/dist/kosuke/utils/repository-resolver.js.map +0 -1
  239. package/dist/kosuke/utils/tickets-manager.d.ts +0 -64
  240. package/dist/kosuke/utils/tickets-manager.d.ts.map +0 -1
  241. package/dist/kosuke/utils/tickets-manager.js +0 -331
  242. package/dist/kosuke/utils/tickets-manager.js.map +0 -1
  243. package/dist/kosuke/utils/validator.d.ts +0 -45
  244. package/dist/kosuke/utils/validator.d.ts.map +0 -1
  245. package/dist/kosuke/utils/validator.js +0 -248
  246. package/dist/kosuke/utils/validator.js.map +0 -1
  247. package/dist/lib.d.ts +0 -96
  248. package/dist/lib.d.ts.map +0 -1
  249. package/dist/lib.js +0 -95
  250. package/dist/lib.js.map +0 -1
  251. package/dist/package.json +0 -99
@@ -1,375 +0,0 @@
1
- /**
2
- * Ship Core - Ticket-agnostic implementation engine
3
- *
4
- * This module provides the core implementation logic for tickets.
5
- * It is designed to be called programmatically with ticket data,
6
- * making it independent of tickets.json or any ticket management system.
7
- *
8
- * Features:
9
- * - Implements tickets following CLAUDE.md rules
10
- * - Runs comprehensive linting
11
- * - Optionally performs code review with ticket context
12
- * - Does NOT manage ticket lifecycle (status updates, commits, etc.)
13
- *
14
- * Usage (Programmatic):
15
- * import { shipCore } from './commands/ship.js';
16
- *
17
- * const result = await shipCore({
18
- * ticketData: { id: 'SCHEMA-1', title: '...', description: '...' },
19
- * review: true,
20
- * directory: './my-project',
21
- * });
22
- *
23
- * Note: The CLI command 'kosuke ship' is deprecated.
24
- * Use 'kosuke build' instead for complete ticket workflow.
25
- */
26
- import { existsSync, statSync } from 'fs';
27
- import { resolve } from 'path';
28
- import { DEFAULT_DB_URL } from '../utils/constants.js';
29
- import { formatCostBreakdown, logAssistantMessage, logToolUsage, runAgentStream, } from '../utils/claude-agent.js';
30
- import { runComprehensiveLinting } from '../utils/validator.js';
31
- import { reviewCoreStream } from './review.js';
32
- /**
33
- * Validate ticket data has all required fields
34
- */
35
- function validateTicketData(ticketData) {
36
- if (!ticketData.id || typeof ticketData.id !== 'string') {
37
- throw new Error('Invalid ticket: id is required and must be a string');
38
- }
39
- if (!ticketData.title || typeof ticketData.title !== 'string') {
40
- throw new Error('Invalid ticket: title is required and must be a string');
41
- }
42
- if (!ticketData.description || typeof ticketData.description !== 'string') {
43
- throw new Error('Invalid ticket: description is required and must be a string');
44
- }
45
- }
46
- /**
47
- * Build system prompt for ticket implementation
48
- */
49
- function buildImplementationPrompt(ticket, _dbUrl) {
50
- const isSchemaTicket = ticket.id.toUpperCase().startsWith('SCHEMA-');
51
- const schemaMigrationInstructions = isSchemaTicket
52
- ? `
53
-
54
- **Database Schema Changes (CRITICAL FOR SCHEMA TICKETS):**
55
- This is a SCHEMA ticket. After making changes to database schema files:
56
- 1. Run \`bun run db:generate\` to generate Drizzle migrations
57
- 2. Verify migration files were created in lib/db/migrations/
58
- 3. Ensure schema changes follow Drizzle ORM best practices from project guidelines
59
-
60
- ā›” **FORBIDDEN COMMANDS** (will be run automatically in a later phase):
61
- - DO NOT run \`db:migrate\` or \`bun run db:migrate\`
62
- - DO NOT run \`db:seed\` or \`bun run db:seed\`
63
- - DO NOT run \`db:push\` or \`bun run db:push\`
64
- - DO NOT connect to or query the database directly
65
- Only run \`db:generate\` - the build system handles migrations separately.
66
- `
67
- : '';
68
- return `You are an expert software engineer implementing a feature ticket.
69
-
70
- **Your Task:**
71
- Implement the following ticket according to the project's coding standards and architecture patterns (CLAUDE.md will be loaded automatically).
72
-
73
- **Ticket Information:**
74
- - ID: ${ticket.id}
75
- - Title: ${ticket.title}
76
- - Description:
77
- ${ticket.description}
78
-
79
- **Implementation Requirements:**
80
- 1. Follow ALL project guidelines from CLAUDE.md
81
- 2. Explore the current codebase to understand existing patterns and architecture
82
- 3. Write clean, well-documented code
83
- 4. Ensure TypeScript type safety
84
- 5. Add error handling where appropriate
85
- 6. Make the implementation production-ready${schemaMigrationInstructions}
86
-
87
- **Critical Instructions:**
88
- - Read relevant files in the current workspace to understand the codebase
89
- - Learn from existing code patterns and conventions
90
- - Implement ALL requirements from the ticket description
91
- - Use search_replace or write tools to create/modify files
92
- - Ensure acceptance criteria are met
93
- - Maintain consistency with the existing codebase style
94
-
95
- Begin by exploring the current codebase, then implement the ticket systematically.`;
96
- }
97
- /**
98
- * Streaming version of shipCore - yields events for SSE integration
99
- */
100
- export async function* shipCoreStream(options) {
101
- // Validate ticket data
102
- try {
103
- validateTicketData(options.ticketData);
104
- }
105
- catch (error) {
106
- const errorMessage = error instanceof Error ? error.message : String(error);
107
- yield {
108
- type: 'done',
109
- data: {
110
- success: false,
111
- implementationFixCount: 0,
112
- lintFixCount: 0,
113
- reviewFixCount: 0,
114
- tokensUsed: { input: 0, output: 0, cacheCreation: 0, cacheRead: 0 },
115
- cost: 0,
116
- error: errorMessage,
117
- },
118
- };
119
- return;
120
- }
121
- const ticket = options.ticketData;
122
- const { review = false, directory, dbUrl = DEFAULT_DB_URL } = options;
123
- // 1. Validate and resolve directory
124
- const cwd = directory ? resolve(directory) : process.cwd();
125
- if (directory) {
126
- if (!existsSync(cwd)) {
127
- yield {
128
- type: 'done',
129
- data: {
130
- success: false,
131
- implementationFixCount: 0,
132
- lintFixCount: 0,
133
- reviewFixCount: 0,
134
- tokensUsed: { input: 0, output: 0, cacheCreation: 0, cacheRead: 0 },
135
- cost: 0,
136
- error: `Directory not found: ${cwd}`,
137
- },
138
- };
139
- return;
140
- }
141
- const stats = statSync(cwd);
142
- if (!stats.isDirectory()) {
143
- yield {
144
- type: 'done',
145
- data: {
146
- success: false,
147
- implementationFixCount: 0,
148
- lintFixCount: 0,
149
- reviewFixCount: 0,
150
- tokensUsed: { input: 0, output: 0, cacheCreation: 0, cacheRead: 0 },
151
- cost: 0,
152
- error: `Path is not a directory: ${cwd}`,
153
- },
154
- };
155
- return;
156
- }
157
- }
158
- // Determine ticket type
159
- const isSchemaTicket = ticket.id.toUpperCase().startsWith('SCHEMA-');
160
- // Track metrics
161
- let totalInputTokens = 0;
162
- let totalOutputTokens = 0;
163
- let totalCacheCreationTokens = 0;
164
- let totalCacheReadTokens = 0;
165
- let totalCost = 0;
166
- let implementationFixCount = 0;
167
- let reviewFixCount = 0;
168
- let lintFixCount = 0;
169
- try {
170
- // 2. Implementation phase
171
- yield { type: 'phase', data: { phase: 'implementation', status: 'started' } };
172
- const systemPrompt = buildImplementationPrompt(ticket, dbUrl);
173
- const implementationStream = runAgentStream(`Implement ticket ${ticket.id}: ${ticket.title}`, {
174
- systemPrompt,
175
- cwd,
176
- maxTurns: 40,
177
- verbosity: 'normal',
178
- });
179
- let implementationResult = null;
180
- // Yield events from implementation stream
181
- for await (const event of implementationStream) {
182
- if (event.type === 'message') {
183
- yield { type: 'message', data: event.data };
184
- }
185
- else if (event.type === 'agent_result') {
186
- implementationResult = event.data;
187
- }
188
- }
189
- if (!implementationResult) {
190
- throw new Error('Implementation stream ended without result');
191
- }
192
- implementationFixCount = implementationResult.fixCount;
193
- totalInputTokens = implementationResult.tokensUsed.input;
194
- totalOutputTokens = implementationResult.tokensUsed.output;
195
- totalCacheCreationTokens = implementationResult.tokensUsed.cacheCreation;
196
- totalCacheReadTokens = implementationResult.tokensUsed.cacheRead;
197
- totalCost = implementationResult.cost;
198
- yield {
199
- type: 'phase',
200
- data: {
201
- phase: 'implementation',
202
- status: 'completed',
203
- result: {
204
- implementationFixCount,
205
- tokensUsed: {
206
- input: totalInputTokens,
207
- output: totalOutputTokens,
208
- cacheCreation: totalCacheCreationTokens,
209
- cacheRead: totalCacheReadTokens,
210
- },
211
- cost: totalCost,
212
- },
213
- },
214
- };
215
- // 3. Linting phase
216
- yield { type: 'phase', data: { phase: 'linting', status: 'started' } };
217
- const lintResult = await runComprehensiveLinting(cwd);
218
- lintFixCount = lintResult.fixCount;
219
- yield {
220
- type: 'phase',
221
- data: { phase: 'linting', status: 'completed', result: { lintFixCount } },
222
- };
223
- // 4. Review phase (if review flag is set) - SKIP for SCHEMA tickets
224
- if (review && !isSchemaTicket) {
225
- yield { type: 'phase', data: { phase: 'review', status: 'started' } };
226
- // Stream review events
227
- for await (const event of reviewCoreStream({
228
- directory: cwd,
229
- context: {
230
- ticketId: ticket.id,
231
- ticketTitle: ticket.title,
232
- ticketDescription: ticket.description,
233
- },
234
- })) {
235
- if (event.type === 'message') {
236
- yield { type: 'message', data: event.data };
237
- }
238
- else if (event.type === 'done') {
239
- const reviewResult = event.data;
240
- reviewFixCount = reviewResult.fixesApplied;
241
- totalInputTokens += reviewResult.tokensUsed.input;
242
- totalOutputTokens += reviewResult.tokensUsed.output;
243
- totalCacheCreationTokens += reviewResult.tokensUsed.cacheCreation;
244
- totalCacheReadTokens += reviewResult.tokensUsed.cacheRead;
245
- totalCost += reviewResult.cost;
246
- }
247
- }
248
- yield {
249
- type: 'phase',
250
- data: { phase: 'review', status: 'completed', result: { reviewFixCount } },
251
- };
252
- }
253
- // 5. Return success result
254
- yield {
255
- type: 'done',
256
- data: {
257
- success: true,
258
- implementationFixCount,
259
- lintFixCount,
260
- reviewFixCount,
261
- tokensUsed: {
262
- input: totalInputTokens,
263
- output: totalOutputTokens,
264
- cacheCreation: totalCacheCreationTokens,
265
- cacheRead: totalCacheReadTokens,
266
- },
267
- cost: totalCost,
268
- },
269
- };
270
- }
271
- catch (error) {
272
- const errorMessage = error instanceof Error ? error.message : String(error);
273
- yield {
274
- type: 'done',
275
- data: {
276
- success: false,
277
- implementationFixCount,
278
- lintFixCount,
279
- reviewFixCount,
280
- tokensUsed: {
281
- input: totalInputTokens,
282
- output: totalOutputTokens,
283
- cacheCreation: totalCacheCreationTokens,
284
- cacheRead: totalCacheReadTokens,
285
- },
286
- cost: totalCost,
287
- error: errorMessage,
288
- },
289
- };
290
- }
291
- }
292
- /**
293
- * Core ship logic (ticket-agnostic, reusable)
294
- * Implements a ticket without managing its lifecycle (status updates, etc.)
295
- * Consumes shipCoreStream and adds console logging
296
- */
297
- export async function shipCore(options) {
298
- const ticket = options.ticketData;
299
- const { review = false, directory } = options;
300
- if (directory) {
301
- const cwd = directory ? resolve(directory) : process.cwd();
302
- console.log(`šŸ“ Using project directory: ${cwd}\n`);
303
- }
304
- console.log(`šŸ“‹ Implementing ticket: ${ticket.id} - ${ticket.title}\n`);
305
- // Determine ticket type
306
- const isSchemaTicket = ticket.id.toUpperCase().startsWith('SCHEMA-');
307
- let result = null;
308
- // Consume the stream and add console logging
309
- for await (const event of shipCoreStream(options)) {
310
- if (event.type === 'phase') {
311
- const { phase, status, result: phaseResult } = event.data;
312
- if (status === 'started') {
313
- if (phase === 'implementation') {
314
- console.log(`\n${'='.repeat(60)}`);
315
- console.log(`šŸš€ Phase 1: Implementation`);
316
- console.log(`${'='.repeat(60)}\n`);
317
- }
318
- else if (phase === 'linting') {
319
- console.log(`\n${'='.repeat(60)}`);
320
- console.log(`šŸ”§ Phase 2: Linting & Quality Checks`);
321
- console.log(`${'='.repeat(60)}\n`);
322
- }
323
- else if (phase === 'review') {
324
- console.log(`\n${'='.repeat(60)}`);
325
- console.log(`šŸ” Phase 3: Code Review (Git Diff)`);
326
- console.log(`${'='.repeat(60)}\n`);
327
- }
328
- }
329
- else if (status === 'completed' && phaseResult) {
330
- if (phase === 'implementation') {
331
- console.log(`\n✨ Implementation completed (${phaseResult.implementationFixCount} changes made)`);
332
- console.log(`šŸ’° Implementation cost: ${formatCostBreakdown({
333
- tokensUsed: phaseResult.tokensUsed,
334
- cost: phaseResult.cost,
335
- response: '',
336
- fixCount: phaseResult.implementationFixCount,
337
- filesReferenced: new Set(),
338
- })}`);
339
- }
340
- else if (phase === 'linting') {
341
- console.log(`\nāœ… Linting completed (${phaseResult.lintFixCount} fixes applied)`);
342
- }
343
- else if (phase === 'review') {
344
- console.log(`\n✨ Review completed (${phaseResult.reviewFixCount} fixes applied)`);
345
- }
346
- }
347
- }
348
- else if (event.type === 'message') {
349
- // Log Claude messages for CLI context
350
- const msg = event.data;
351
- if (msg.type === 'assistant' && msg.message?.content) {
352
- for (const block of msg.message.content) {
353
- if (block.type === 'text' && block.text) {
354
- // Use shared logging with verbosity: 'normal'
355
- logAssistantMessage(block.text, 'normal');
356
- }
357
- else if (block.type === 'tool_use' && block.name) {
358
- // Log tool usage (logToolUsage filters file modifications internally)
359
- const filesReferenced = new Set();
360
- logToolUsage(block.name, block.input, filesReferenced);
361
- }
362
- }
363
- }
364
- }
365
- else if (event.type === 'done') {
366
- result = event.data;
367
- // Show skip message for SCHEMA tickets
368
- if (review && isSchemaTicket) {
369
- console.log('\nā„¹ļø Skipping code review for SCHEMA ticket (review focuses on application code, not database migrations)');
370
- }
371
- }
372
- }
373
- return result;
374
- }
375
- //# sourceMappingURL=ship.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ship.js","sourceRoot":"","sources":["../../../kosuke/commands/ship.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Sync rules command - Syncs rules and documentation from kosuke-template
3
- */
4
- import type { SyncRulesOptions } from '../types.js';
5
- /**
6
- * Main sync-rules command
7
- */
8
- export declare function syncRulesCommand(options?: SyncRulesOptions): Promise<void>;
9
- //# sourceMappingURL=sync-rules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-rules.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/sync-rules.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA6UrE;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4FpF"}