@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.
- package/README.md +31 -448
- package/dist/commands/auth.js +117 -0
- package/dist/generated/commands/deploy/cancel.js +17 -0
- package/dist/generated/commands/deploy/messages.js +17 -0
- package/dist/generated/commands/deploy/run.js +60 -0
- package/dist/generated/commands/index.js +132 -0
- package/dist/generated/commands/preview/get.js +25 -0
- package/dist/generated/commands/preview/health.js +25 -0
- package/dist/generated/commands/preview/reset.js +27 -0
- package/dist/generated/commands/preview/share-create.js +36 -0
- package/dist/generated/commands/preview/share-delete.js +26 -0
- package/dist/generated/commands/preview/share-get.js +26 -0
- package/dist/generated/commands/preview/shared.js +17 -0
- package/dist/generated/commands/projects/create.js +37 -0
- package/dist/generated/commands/projects/delete.js +17 -0
- package/dist/generated/commands/projects/env-vars-add.js +21 -0
- package/dist/generated/commands/projects/env-vars-remove.js +21 -0
- package/dist/generated/commands/projects/get.js +17 -0
- package/dist/generated/commands/projects/list.js +15 -0
- package/dist/generated/commands/projects/services-add.js +87 -0
- package/dist/generated/commands/projects/services-list.js +18 -0
- package/dist/generated/commands/projects/services-remove.js +19 -0
- package/dist/generated/commands/projects/services-update.js +81 -0
- package/dist/generated/commands/projects/settings-get.js +18 -0
- package/dist/generated/commands/projects/settings-import.js +91 -0
- package/dist/generated/commands/projects/settings-update.js +77 -0
- package/dist/generated/commands/projects/skills.js +35 -0
- package/dist/generated/commands/projects/update.js +27 -0
- package/dist/generated/commands/sessions/activate.js +18 -0
- package/dist/generated/commands/sessions/checklist-generate.js +19 -0
- package/dist/generated/commands/sessions/checklist-get.js +19 -0
- package/dist/generated/commands/sessions/comments-add.js +63 -0
- package/dist/generated/commands/sessions/comments-delete.js +20 -0
- package/dist/generated/commands/sessions/comments-list.js +19 -0
- package/dist/generated/commands/sessions/comments-update.js +23 -0
- package/dist/generated/commands/sessions/create.js +126 -0
- package/dist/generated/commands/sessions/delete.js +18 -0
- package/dist/generated/commands/sessions/diff-files.js +19 -0
- package/dist/generated/commands/sessions/diff-patch.js +86 -0
- package/dist/generated/commands/sessions/edit-prompt.js +59 -0
- package/dist/generated/commands/sessions/files-get.js +27 -0
- package/dist/generated/commands/sessions/files-list.js +19 -0
- package/dist/generated/commands/sessions/files-write.js +41 -0
- package/dist/generated/commands/sessions/get.js +18 -0
- package/dist/generated/commands/sessions/git-commit-message.js +19 -0
- package/dist/generated/commands/sessions/git-commit.js +29 -0
- package/dist/generated/commands/sessions/git-push.js +19 -0
- package/dist/generated/commands/sessions/git-state.js +19 -0
- package/dist/generated/commands/sessions/jobs-cancel.js +20 -0
- package/dist/generated/commands/sessions/jobs-get.js +20 -0
- package/dist/generated/commands/sessions/list.js +81 -0
- package/dist/generated/commands/sessions/messages.js +18 -0
- package/dist/generated/commands/sessions/search.js +23 -0
- package/dist/generated/commands/sessions/send.js +98 -0
- package/dist/generated/commands/sessions/update.js +72 -0
- package/dist/generated/commands/workspaces/access-status.js +29 -0
- package/dist/generated/commands/workspaces/ai-provider-get.js +18 -0
- package/dist/generated/commands/workspaces/ai-provider-remove.js +42 -0
- package/dist/generated/commands/workspaces/ai-provider-set.js +21 -0
- package/dist/generated/commands/workspaces/credits.js +17 -0
- package/dist/generated/commands/workspaces/get.js +17 -0
- package/dist/generated/commands/workspaces/getting-started-get.js +18 -0
- package/dist/generated/commands/workspaces/getting-started-update.js +32 -0
- package/dist/generated/commands/workspaces/list.js +15 -0
- package/dist/generated/commands/workspaces/members.js +25 -0
- package/dist/generated/commands/workspaces/sandbox-limit.js +17 -0
- package/dist/generated/commands/workspaces/stop-sandboxes.js +27 -0
- package/dist/generated/commands/workspaces/usage.js +32 -0
- package/dist/index.js +5 -595
- package/dist/program.js +46 -0
- package/dist/runtime/attach.js +139 -0
- package/dist/runtime/attachments.js +58 -0
- package/dist/runtime/client.js +12 -0
- package/dist/runtime/config.js +49 -0
- package/dist/runtime/credentials.js +24 -0
- package/dist/runtime/descriptor.js +7 -0
- package/dist/runtime/invoke.js +152 -0
- package/dist/runtime/runtime.js +41 -0
- package/dist/runtime/version.js +5 -0
- package/openapi.json +5222 -0
- package/package.json +21 -79
- package/LICENSE +0 -21
- package/claude.costs.json +0 -34
- package/dist/__tests__/utils/file-discovery.test.d.ts +0 -5
- package/dist/__tests__/utils/file-discovery.test.d.ts.map +0 -1
- package/dist/__tests__/utils/file-discovery.test.js +0 -51
- package/dist/__tests__/utils/file-discovery.test.js.map +0 -1
- package/dist/__tests__/utils/logger-nologs.test.d.ts +0 -5
- package/dist/__tests__/utils/logger-nologs.test.d.ts.map +0 -1
- package/dist/__tests__/utils/logger-nologs.test.js +0 -34
- package/dist/__tests__/utils/logger-nologs.test.js.map +0 -1
- package/dist/__tests__/utils/logger.test.d.ts +0 -5
- package/dist/__tests__/utils/logger.test.d.ts.map +0 -1
- package/dist/__tests__/utils/logger.test.js +0 -243
- package/dist/__tests__/utils/logger.test.js.map +0 -1
- package/dist/__tests__/utils/validator.test.d.ts +0 -5
- package/dist/__tests__/utils/validator.test.d.ts.map +0 -1
- package/dist/__tests__/utils/validator.test.js +0 -206
- package/dist/__tests__/utils/validator.test.js.map +0 -1
- package/dist/index.d.ts +0 -37
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/kosuke/commands/analyse.d.ts +0 -15
- package/dist/kosuke/commands/analyse.d.ts.map +0 -1
- package/dist/kosuke/commands/analyse.js +0 -304
- package/dist/kosuke/commands/analyse.js.map +0 -1
- package/dist/kosuke/commands/build.d.ts +0 -35
- package/dist/kosuke/commands/build.d.ts.map +0 -1
- package/dist/kosuke/commands/build.js +0 -660
- package/dist/kosuke/commands/build.js.map +0 -1
- package/dist/kosuke/commands/fix.d.ts +0 -21
- package/dist/kosuke/commands/fix.d.ts.map +0 -1
- package/dist/kosuke/commands/fix.js +0 -256
- package/dist/kosuke/commands/fix.js.map +0 -1
- package/dist/kosuke/commands/getcode.d.ts +0 -29
- package/dist/kosuke/commands/getcode.d.ts.map +0 -1
- package/dist/kosuke/commands/getcode.js +0 -248
- package/dist/kosuke/commands/getcode.js.map +0 -1
- package/dist/kosuke/commands/lint.d.ts +0 -21
- package/dist/kosuke/commands/lint.d.ts.map +0 -1
- package/dist/kosuke/commands/lint.js +0 -342
- package/dist/kosuke/commands/lint.js.map +0 -1
- package/dist/kosuke/commands/migrate.d.ts +0 -38
- package/dist/kosuke/commands/migrate.d.ts.map +0 -1
- package/dist/kosuke/commands/migrate.js +0 -284
- package/dist/kosuke/commands/migrate.js.map +0 -1
- package/dist/kosuke/commands/plan.d.ts +0 -28
- package/dist/kosuke/commands/plan.d.ts.map +0 -1
- package/dist/kosuke/commands/plan.js +0 -684
- package/dist/kosuke/commands/plan.js.map +0 -1
- package/dist/kosuke/commands/requirements.d.ts +0 -52
- package/dist/kosuke/commands/requirements.d.ts.map +0 -1
- package/dist/kosuke/commands/requirements.js +0 -615
- package/dist/kosuke/commands/requirements.js.map +0 -1
- package/dist/kosuke/commands/review.d.ts +0 -26
- package/dist/kosuke/commands/review.d.ts.map +0 -1
- package/dist/kosuke/commands/review.js +0 -303
- package/dist/kosuke/commands/review.js.map +0 -1
- package/dist/kosuke/commands/serve.d.ts +0 -9
- package/dist/kosuke/commands/serve.d.ts.map +0 -1
- package/dist/kosuke/commands/serve.js +0 -17
- package/dist/kosuke/commands/serve.js.map +0 -1
- package/dist/kosuke/commands/ship.d.ts +0 -37
- package/dist/kosuke/commands/ship.d.ts.map +0 -1
- package/dist/kosuke/commands/ship.js +0 -375
- package/dist/kosuke/commands/ship.js.map +0 -1
- package/dist/kosuke/commands/sync-rules.d.ts +0 -9
- package/dist/kosuke/commands/sync-rules.d.ts.map +0 -1
- package/dist/kosuke/commands/sync-rules.js +0 -414
- package/dist/kosuke/commands/sync-rules.js.map +0 -1
- package/dist/kosuke/commands/test.d.ts +0 -42
- package/dist/kosuke/commands/test.d.ts.map +0 -1
- package/dist/kosuke/commands/test.js +0 -540
- package/dist/kosuke/commands/test.js.map +0 -1
- package/dist/kosuke/commands/tickets.d.ts +0 -43
- package/dist/kosuke/commands/tickets.d.ts.map +0 -1
- package/dist/kosuke/commands/tickets.js +0 -876
- package/dist/kosuke/commands/tickets.js.map +0 -1
- package/dist/kosuke/commands/validate-tickets.d.ts +0 -23
- package/dist/kosuke/commands/validate-tickets.d.ts.map +0 -1
- package/dist/kosuke/commands/validate-tickets.js +0 -360
- package/dist/kosuke/commands/validate-tickets.js.map +0 -1
- package/dist/kosuke/serve/middleware/error-handler.d.ts +0 -14
- package/dist/kosuke/serve/middleware/error-handler.d.ts.map +0 -1
- package/dist/kosuke/serve/middleware/error-handler.js +0 -42
- package/dist/kosuke/serve/middleware/error-handler.js.map +0 -1
- package/dist/kosuke/serve/middleware/validation.d.ts +0 -13
- package/dist/kosuke/serve/middleware/validation.d.ts.map +0 -1
- package/dist/kosuke/serve/middleware/validation.js +0 -38
- package/dist/kosuke/serve/middleware/validation.js.map +0 -1
- package/dist/kosuke/serve/routes/build.d.ts +0 -6
- package/dist/kosuke/serve/routes/build.d.ts.map +0 -1
- package/dist/kosuke/serve/routes/build.js +0 -226
- package/dist/kosuke/serve/routes/build.js.map +0 -1
- package/dist/kosuke/serve/routes/health.d.ts +0 -6
- package/dist/kosuke/serve/routes/health.d.ts.map +0 -1
- package/dist/kosuke/serve/routes/health.js +0 -11
- package/dist/kosuke/serve/routes/health.js.map +0 -1
- package/dist/kosuke/serve/routes/plan.d.ts +0 -6
- package/dist/kosuke/serve/routes/plan.d.ts.map +0 -1
- package/dist/kosuke/serve/routes/plan.js +0 -106
- package/dist/kosuke/serve/routes/plan.js.map +0 -1
- package/dist/kosuke/serve/server.d.ts +0 -16
- package/dist/kosuke/serve/server.d.ts.map +0 -1
- package/dist/kosuke/serve/server.js +0 -67
- package/dist/kosuke/serve/server.js.map +0 -1
- package/dist/kosuke/serve/validation/build.d.ts +0 -41
- package/dist/kosuke/serve/validation/build.d.ts.map +0 -1
- package/dist/kosuke/serve/validation/build.js +0 -20
- package/dist/kosuke/serve/validation/build.js.map +0 -1
- package/dist/kosuke/serve/validation/plan.d.ts +0 -26
- package/dist/kosuke/serve/validation/plan.d.ts.map +0 -1
- package/dist/kosuke/serve/validation/plan.js +0 -15
- package/dist/kosuke/serve/validation/plan.js.map +0 -1
- package/dist/kosuke/types.d.ts +0 -539
- package/dist/kosuke/types.d.ts.map +0 -1
- package/dist/kosuke/types.js +0 -5
- package/dist/kosuke/types.js.map +0 -1
- package/dist/kosuke/utils/batch-creator.d.ts +0 -14
- package/dist/kosuke/utils/batch-creator.d.ts.map +0 -1
- package/dist/kosuke/utils/batch-creator.js +0 -76
- package/dist/kosuke/utils/batch-creator.js.map +0 -1
- package/dist/kosuke/utils/claude-agent.d.ts +0 -140
- package/dist/kosuke/utils/claude-agent.d.ts.map +0 -1
- package/dist/kosuke/utils/claude-agent.js +0 -388
- package/dist/kosuke/utils/claude-agent.js.map +0 -1
- package/dist/kosuke/utils/constants.d.ts +0 -40
- package/dist/kosuke/utils/constants.d.ts.map +0 -1
- package/dist/kosuke/utils/constants.js +0 -54
- package/dist/kosuke/utils/constants.js.map +0 -1
- package/dist/kosuke/utils/file-discovery.d.ts +0 -15
- package/dist/kosuke/utils/file-discovery.d.ts.map +0 -1
- package/dist/kosuke/utils/file-discovery.js +0 -80
- package/dist/kosuke/utils/file-discovery.js.map +0 -1
- package/dist/kosuke/utils/git.d.ts +0 -41
- package/dist/kosuke/utils/git.d.ts.map +0 -1
- package/dist/kosuke/utils/git.js +0 -145
- package/dist/kosuke/utils/git.js.map +0 -1
- package/dist/kosuke/utils/github.d.ts +0 -17
- package/dist/kosuke/utils/github.d.ts.map +0 -1
- package/dist/kosuke/utils/github.js +0 -22
- package/dist/kosuke/utils/github.js.map +0 -1
- package/dist/kosuke/utils/interactive-input.d.ts +0 -22
- package/dist/kosuke/utils/interactive-input.d.ts.map +0 -1
- package/dist/kosuke/utils/interactive-input.js +0 -124
- package/dist/kosuke/utils/interactive-input.js.map +0 -1
- package/dist/kosuke/utils/json-parser.d.ts +0 -14
- package/dist/kosuke/utils/json-parser.d.ts.map +0 -1
- package/dist/kosuke/utils/json-parser.js +0 -40
- package/dist/kosuke/utils/json-parser.js.map +0 -1
- package/dist/kosuke/utils/logger.d.ts +0 -161
- package/dist/kosuke/utils/logger.d.ts.map +0 -1
- package/dist/kosuke/utils/logger.js +0 -234
- package/dist/kosuke/utils/logger.js.map +0 -1
- package/dist/kosuke/utils/playwright-mcp-client.d.ts +0 -46
- package/dist/kosuke/utils/playwright-mcp-client.d.ts.map +0 -1
- package/dist/kosuke/utils/playwright-mcp-client.js +0 -135
- package/dist/kosuke/utils/playwright-mcp-client.js.map +0 -1
- package/dist/kosuke/utils/pr-orchestrator.d.ts +0 -49
- package/dist/kosuke/utils/pr-orchestrator.d.ts.map +0 -1
- package/dist/kosuke/utils/pr-orchestrator.js +0 -154
- package/dist/kosuke/utils/pr-orchestrator.js.map +0 -1
- package/dist/kosuke/utils/repository-manager.d.ts +0 -13
- package/dist/kosuke/utils/repository-manager.d.ts.map +0 -1
- package/dist/kosuke/utils/repository-manager.js +0 -94
- package/dist/kosuke/utils/repository-manager.js.map +0 -1
- package/dist/kosuke/utils/repository-resolver.d.ts +0 -12
- package/dist/kosuke/utils/repository-resolver.d.ts.map +0 -1
- package/dist/kosuke/utils/repository-resolver.js +0 -186
- package/dist/kosuke/utils/repository-resolver.js.map +0 -1
- package/dist/kosuke/utils/tickets-manager.d.ts +0 -34
- package/dist/kosuke/utils/tickets-manager.d.ts.map +0 -1
- package/dist/kosuke/utils/tickets-manager.js +0 -106
- package/dist/kosuke/utils/tickets-manager.js.map +0 -1
- package/dist/kosuke/utils/validator.d.ts +0 -45
- package/dist/kosuke/utils/validator.d.ts.map +0 -1
- package/dist/kosuke/utils/validator.js +0 -248
- package/dist/kosuke/utils/validator.js.map +0 -1
- package/dist/lib.d.ts +0 -104
- package/dist/lib.d.ts.map +0 -1
- package/dist/lib.js +0 -104
- package/dist/lib.js.map +0 -1
- 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;AAiXrE;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4FpF"}
|