@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,303 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Review command - Review git diff against CLAUDE.md rules
|
|
3
|
-
*
|
|
4
|
-
* This command reviews only the current git diff (uncommitted changes)
|
|
5
|
-
* for compliance with CLAUDE.md rules, fixes any issues found,
|
|
6
|
-
* and runs comprehensive linting afterwards.
|
|
7
|
-
* Note: This command does NOT support --pr flag (changes applied locally only).
|
|
8
|
-
*
|
|
9
|
-
* Usage:
|
|
10
|
-
* kosuke review # Review current git diff
|
|
11
|
-
*/
|
|
12
|
-
import { formatCostBreakdown, logAssistantMessage, logToolUsage, runAgentStream, } from '../utils/claude-agent.js';
|
|
13
|
-
import { getGitDiff, hasUncommittedChanges, stageAllChanges } from '../utils/git.js';
|
|
14
|
-
import { logger, setupCancellationHandler } from '../utils/logger.js';
|
|
15
|
-
import { runComprehensiveLinting } from '../utils/validator.js';
|
|
16
|
-
/**
|
|
17
|
-
* Build system prompt for code review (git diff only)
|
|
18
|
-
*/
|
|
19
|
-
function buildReviewSystemPrompt(gitDiff, context) {
|
|
20
|
-
const ticketContextSection = context
|
|
21
|
-
? `
|
|
22
|
-
**š« Ticket Being Implemented:**
|
|
23
|
-
- ID: ${context.ticketId}
|
|
24
|
-
- Title: ${context.ticketTitle}
|
|
25
|
-
- Description:
|
|
26
|
-
${context.ticketDescription}
|
|
27
|
-
|
|
28
|
-
**Ticket-Specific Review Requirements:**
|
|
29
|
-
- Verify changes align with the ticket description above
|
|
30
|
-
- Ensure all requirements from the ticket are addressed in the diff
|
|
31
|
-
- Check that the implementation matches the intended feature/fix
|
|
32
|
-
- Look for any obvious missing functionality described in the ticket
|
|
33
|
-
- Fix any misalignments between the code changes and ticket requirements
|
|
34
|
-
|
|
35
|
-
`
|
|
36
|
-
: '';
|
|
37
|
-
return `You are a senior code reviewer conducting a code quality review of recent changes.
|
|
38
|
-
|
|
39
|
-
**Your Task:**
|
|
40
|
-
Review the git diff below for compliance with the project's coding guidelines (CLAUDE.md will be loaded automatically).
|
|
41
|
-
${ticketContextSection}
|
|
42
|
-
**Git Diff to Review:**
|
|
43
|
-
\`\`\`diff
|
|
44
|
-
${gitDiff}
|
|
45
|
-
\`\`\`
|
|
46
|
-
|
|
47
|
-
**Review Scope:**
|
|
48
|
-
1. **Code Quality**: Check for violations of CLAUDE.md guidelines
|
|
49
|
-
2. **Type Safety**: Ensure proper TypeScript usage
|
|
50
|
-
3. **Best Practices**: Verify coding patterns and conventions
|
|
51
|
-
4. **Error Handling**: Ensure proper error handling
|
|
52
|
-
5. **Documentation**: Check for adequate comments and docs
|
|
53
|
-
6. **Security**: Identify potential security issues
|
|
54
|
-
7. **Performance**: Look for obvious performance issues
|
|
55
|
-
|
|
56
|
-
**Critical Instructions:**
|
|
57
|
-
- Focus ONLY on the files and changes shown in the git diff above
|
|
58
|
-
- Identify ALL violations of CLAUDE.md rules in the changed code
|
|
59
|
-
- For EACH issue found, FIX it immediately using search_replace or write tools
|
|
60
|
-
- Don't just report issues - FIX them!
|
|
61
|
-
- Make minimal necessary changes
|
|
62
|
-
- Ensure fixes don't break functionality
|
|
63
|
-
- If you need to see more context from a file, use the read_file tool
|
|
64
|
-
|
|
65
|
-
**What to Look For in the Changes:**
|
|
66
|
-
- Use of \`any\` type (should be avoided)
|
|
67
|
-
- Missing error handling
|
|
68
|
-
- Inconsistent naming conventions
|
|
69
|
-
- Poor code organization
|
|
70
|
-
- Missing JSDoc comments on exported functions
|
|
71
|
-
- Improper use of dependencies
|
|
72
|
-
- Code duplication
|
|
73
|
-
- Overly complex functions
|
|
74
|
-
- Missing type exports
|
|
75
|
-
|
|
76
|
-
Review the changes shown in the diff and fix any issues you find.`;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Streaming version of reviewCore - yields events for SSE integration
|
|
80
|
-
*/
|
|
81
|
-
export async function* reviewCoreStream(options = {}) {
|
|
82
|
-
const cwd = options.directory || process.cwd();
|
|
83
|
-
const { context } = options;
|
|
84
|
-
try {
|
|
85
|
-
// 1. Check for uncommitted changes
|
|
86
|
-
const hasChanges = await hasUncommittedChanges(cwd);
|
|
87
|
-
if (!hasChanges) {
|
|
88
|
-
yield {
|
|
89
|
-
type: 'done',
|
|
90
|
-
data: {
|
|
91
|
-
success: true,
|
|
92
|
-
issuesFound: 0,
|
|
93
|
-
fixesApplied: 0,
|
|
94
|
-
response: '',
|
|
95
|
-
tokensUsed: {
|
|
96
|
-
input: 0,
|
|
97
|
-
output: 0,
|
|
98
|
-
cacheCreation: 0,
|
|
99
|
-
cacheRead: 0,
|
|
100
|
-
},
|
|
101
|
-
cost: 0,
|
|
102
|
-
},
|
|
103
|
-
};
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
// 2. Stage all changes so untracked files appear in diff
|
|
107
|
-
await stageAllChanges(cwd);
|
|
108
|
-
// 3. Get git diff
|
|
109
|
-
const gitDiff = await getGitDiff(cwd);
|
|
110
|
-
if (!gitDiff || gitDiff.trim().length === 0) {
|
|
111
|
-
yield {
|
|
112
|
-
type: 'done',
|
|
113
|
-
data: {
|
|
114
|
-
success: true,
|
|
115
|
-
issuesFound: 0,
|
|
116
|
-
fixesApplied: 0,
|
|
117
|
-
response: '',
|
|
118
|
-
tokensUsed: {
|
|
119
|
-
input: 0,
|
|
120
|
-
output: 0,
|
|
121
|
-
cacheCreation: 0,
|
|
122
|
-
cacheRead: 0,
|
|
123
|
-
},
|
|
124
|
-
cost: 0,
|
|
125
|
-
},
|
|
126
|
-
};
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
// Yield git diff event
|
|
130
|
-
yield {
|
|
131
|
-
type: 'git_diff_generated',
|
|
132
|
-
data: { diffSize: gitDiff.length },
|
|
133
|
-
};
|
|
134
|
-
// 4. Review phase - stream Claude messages
|
|
135
|
-
const systemPrompt = buildReviewSystemPrompt(gitDiff, context);
|
|
136
|
-
const stream = runAgentStream('Review the git diff for compliance with CLAUDE.md rules and fix all issues found', {
|
|
137
|
-
systemPrompt,
|
|
138
|
-
cwd,
|
|
139
|
-
maxTurns: 30,
|
|
140
|
-
verbosity: 'normal',
|
|
141
|
-
});
|
|
142
|
-
let agentResult = null;
|
|
143
|
-
// Yield events from stream
|
|
144
|
-
for await (const event of stream) {
|
|
145
|
-
if (event.type === 'message') {
|
|
146
|
-
yield { type: 'message', data: event.data };
|
|
147
|
-
}
|
|
148
|
-
else if (event.type === 'agent_result') {
|
|
149
|
-
agentResult = event.data;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
if (!agentResult) {
|
|
153
|
-
throw new Error('Review stream ended without result');
|
|
154
|
-
}
|
|
155
|
-
// 5. Linting phase (not streamed, just run it)
|
|
156
|
-
const lintResult = await runComprehensiveLinting(cwd);
|
|
157
|
-
yield {
|
|
158
|
-
type: 'done',
|
|
159
|
-
data: {
|
|
160
|
-
success: true,
|
|
161
|
-
issuesFound: agentResult.fixCount,
|
|
162
|
-
fixesApplied: agentResult.fixCount + lintResult.fixCount,
|
|
163
|
-
response: agentResult.response,
|
|
164
|
-
tokensUsed: agentResult.tokensUsed,
|
|
165
|
-
cost: agentResult.cost,
|
|
166
|
-
},
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
catch (error) {
|
|
170
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
171
|
-
yield {
|
|
172
|
-
type: 'done',
|
|
173
|
-
data: {
|
|
174
|
-
success: false,
|
|
175
|
-
issuesFound: 0,
|
|
176
|
-
fixesApplied: 0,
|
|
177
|
-
response: '',
|
|
178
|
-
tokensUsed: {
|
|
179
|
-
input: 0,
|
|
180
|
-
output: 0,
|
|
181
|
-
cacheCreation: 0,
|
|
182
|
-
cacheRead: 0,
|
|
183
|
-
},
|
|
184
|
-
cost: 0,
|
|
185
|
-
error: errorMessage,
|
|
186
|
-
},
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Core review logic - reviews git diff only
|
|
192
|
-
* Consumes reviewCoreStream and adds console logging
|
|
193
|
-
*/
|
|
194
|
-
export async function reviewCore(options = {}) {
|
|
195
|
-
const { context } = options;
|
|
196
|
-
// Log ticket context if provided
|
|
197
|
-
if (context) {
|
|
198
|
-
console.log(`š« Reviewing changes for: ${context.ticketId} - ${context.ticketTitle}\n`);
|
|
199
|
-
}
|
|
200
|
-
console.log('š Checking for uncommitted changes...');
|
|
201
|
-
let diffSize = 0;
|
|
202
|
-
let reviewPhaseStarted = false;
|
|
203
|
-
let result = null;
|
|
204
|
-
// Consume the stream and add console logging
|
|
205
|
-
for await (const event of reviewCoreStream(options)) {
|
|
206
|
-
if (event.type === 'git_diff_generated') {
|
|
207
|
-
diffSize = event.data.diffSize;
|
|
208
|
-
console.log(' ā
Found uncommitted changes\n');
|
|
209
|
-
console.log(`š Getting git diff...`);
|
|
210
|
-
console.log(` ā
Got diff (${diffSize} characters)\n`);
|
|
211
|
-
console.log(`\n${'='.repeat(60)}`);
|
|
212
|
-
console.log(`š Phase 1: Code Review of Git Diff`);
|
|
213
|
-
console.log(`${'='.repeat(60)}\n`);
|
|
214
|
-
reviewPhaseStarted = true;
|
|
215
|
-
}
|
|
216
|
-
else if (event.type === 'message') {
|
|
217
|
-
// Log Claude messages for CLI context
|
|
218
|
-
const msg = event.data;
|
|
219
|
-
if (msg.type === 'assistant' && msg.message?.content) {
|
|
220
|
-
for (const block of msg.message.content) {
|
|
221
|
-
if (block.type === 'text' && block.text) {
|
|
222
|
-
// Use shared logging with verbosity: 'normal'
|
|
223
|
-
logAssistantMessage(block.text, 'normal');
|
|
224
|
-
}
|
|
225
|
-
else if (block.type === 'tool_use' && block.name) {
|
|
226
|
-
// Log tool usage (logToolUsage filters file modifications internally)
|
|
227
|
-
const filesReferenced = new Set();
|
|
228
|
-
logToolUsage(block.name, block.input, filesReferenced);
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
else if (event.type === 'done') {
|
|
234
|
-
result = event.data;
|
|
235
|
-
if (!reviewPhaseStarted && result.issuesFound === 0) {
|
|
236
|
-
console.log(' ā¹ļø No uncommitted changes found. Nothing to review.\n');
|
|
237
|
-
}
|
|
238
|
-
else if (reviewPhaseStarted) {
|
|
239
|
-
console.log(`\n⨠Review completed`);
|
|
240
|
-
console.log(` š Issues found and fixed: ${result.issuesFound}`);
|
|
241
|
-
console.log(` š° Review cost: ${formatCostBreakdown({
|
|
242
|
-
tokensUsed: result.tokensUsed,
|
|
243
|
-
cost: result.cost,
|
|
244
|
-
response: result.response,
|
|
245
|
-
fixCount: result.issuesFound,
|
|
246
|
-
filesReferenced: new Set(),
|
|
247
|
-
})}`);
|
|
248
|
-
console.log(`\n${'='.repeat(60)}`);
|
|
249
|
-
console.log(`š§ Phase 2: Linting & Quality Checks`);
|
|
250
|
-
console.log(`${'='.repeat(60)}\n`);
|
|
251
|
-
console.log(`\nā
Linting completed (${result.fixesApplied - result.issuesFound} additional fixes applied)`);
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
return result;
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Main review command
|
|
259
|
-
*/
|
|
260
|
-
export async function reviewCommand(options = {}) {
|
|
261
|
-
const { noLogs = false } = options;
|
|
262
|
-
console.log('š Starting Code Review (Git Diff)...\n');
|
|
263
|
-
// Initialize logging context
|
|
264
|
-
const logContext = logger.createContext('review', { noLogs });
|
|
265
|
-
const cleanupHandler = setupCancellationHandler(logContext);
|
|
266
|
-
try {
|
|
267
|
-
// Validate environment
|
|
268
|
-
if (!process.env.ANTHROPIC_API_KEY) {
|
|
269
|
-
throw new Error('ANTHROPIC_API_KEY environment variable is required');
|
|
270
|
-
}
|
|
271
|
-
// Execute core logic (no PR support for review command)
|
|
272
|
-
const result = await reviewCore(options);
|
|
273
|
-
// Track metrics
|
|
274
|
-
logger.trackTokens(logContext, result.tokensUsed);
|
|
275
|
-
logContext.fixesApplied = result.fixesApplied;
|
|
276
|
-
if (result.issuesFound === 0 && result.fixesApplied === 0) {
|
|
277
|
-
console.log('\nā
Review completed - no issues found!');
|
|
278
|
-
await logger.complete(logContext, 'success');
|
|
279
|
-
cleanupHandler();
|
|
280
|
-
return;
|
|
281
|
-
}
|
|
282
|
-
console.log('\n' + '='.repeat(60));
|
|
283
|
-
console.log('š Review Summary');
|
|
284
|
-
console.log('='.repeat(60));
|
|
285
|
-
console.log(`š Issues found: ${result.issuesFound}`);
|
|
286
|
-
console.log(`š§ Total fixes applied: ${result.fixesApplied}`);
|
|
287
|
-
console.log(`š° Total cost: $${result.cost.toFixed(4)}`);
|
|
288
|
-
console.log('='.repeat(60));
|
|
289
|
-
console.log('\nā
Review completed successfully!');
|
|
290
|
-
console.log('ā¹ļø All changes applied locally.');
|
|
291
|
-
// Log successful execution
|
|
292
|
-
await logger.complete(logContext, 'success');
|
|
293
|
-
cleanupHandler();
|
|
294
|
-
}
|
|
295
|
-
catch (error) {
|
|
296
|
-
console.error('\nā Review failed:', error);
|
|
297
|
-
// Log failed execution
|
|
298
|
-
await logger.complete(logContext, 'error', error);
|
|
299
|
-
cleanupHandler();
|
|
300
|
-
throw error;
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
//# sourceMappingURL=review.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../kosuke/commands/review.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Serve command - HTTP server for Kosuke CLI commands
|
|
3
|
-
*/
|
|
4
|
-
import type { ServeOptions } from '../serve/server.js';
|
|
5
|
-
/**
|
|
6
|
-
* Main serve command
|
|
7
|
-
*/
|
|
8
|
-
export declare function serveCommand(options?: ServeOptions): Promise<void>;
|
|
9
|
-
//# sourceMappingURL=serve.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/serve.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAO5E"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Serve command - HTTP server for Kosuke CLI commands
|
|
3
|
-
*/
|
|
4
|
-
import { startServer } from '../serve/server.js';
|
|
5
|
-
/**
|
|
6
|
-
* Main serve command
|
|
7
|
-
*/
|
|
8
|
-
export async function serveCommand(options = {}) {
|
|
9
|
-
try {
|
|
10
|
-
await startServer(options);
|
|
11
|
-
}
|
|
12
|
-
catch (error) {
|
|
13
|
-
console.error('\nā Serve command failed:', error);
|
|
14
|
-
throw error;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=serve.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../kosuke/commands/serve.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAAwB,EAAE;IAC3D,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1,37 +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 type { ShipOptions, ShipResult, ShipStreamEvent } from '../types.js';
|
|
27
|
-
/**
|
|
28
|
-
* Streaming version of shipCore - yields events for SSE integration
|
|
29
|
-
*/
|
|
30
|
-
export declare function shipCoreStream(options: ShipOptions): AsyncGenerator<ShipStreamEvent, void, void>;
|
|
31
|
-
/**
|
|
32
|
-
* Core ship logic (ticket-agnostic, reusable)
|
|
33
|
-
* Implements a ticket without managing its lifecycle (status updates, etc.)
|
|
34
|
-
* Consumes shipCoreStream and adds console logging
|
|
35
|
-
*/
|
|
36
|
-
export declare function shipCore(options: ShipOptions): Promise<ShipResult>;
|
|
37
|
-
//# sourceMappingURL=ship.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ship.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/ship.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAU,MAAM,aAAa,CAAC;AAgFpF;;GAEG;AACH,wBAAuB,cAAc,CACnC,OAAO,EAAE,WAAW,GACnB,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,CAgN7C;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAoFxE"}
|