@kosuke-ai/cli 0.0.56 → 0.0.57
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/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +82 -3
- package/dist/index.js.map +1 -1
- package/dist/kosuke/commands/analyse.d.ts.map +1 -1
- package/dist/kosuke/commands/analyse.js +42 -11
- package/dist/kosuke/commands/analyse.js.map +1 -1
- package/dist/kosuke/commands/build.d.ts.map +1 -1
- package/dist/kosuke/commands/build.js +4 -3
- package/dist/kosuke/commands/build.js.map +1 -1
- package/dist/kosuke/commands/fix.d.ts +21 -0
- package/dist/kosuke/commands/fix.d.ts.map +1 -0
- package/dist/kosuke/commands/fix.js +256 -0
- package/dist/kosuke/commands/fix.js.map +1 -0
- package/dist/kosuke/commands/getcode.d.ts.map +1 -1
- package/dist/kosuke/commands/getcode.js +33 -6
- package/dist/kosuke/commands/getcode.js.map +1 -1
- package/dist/kosuke/commands/lint.d.ts.map +1 -1
- package/dist/kosuke/commands/lint.js +25 -4
- package/dist/kosuke/commands/lint.js.map +1 -1
- package/dist/kosuke/commands/plan.d.ts +2 -2
- package/dist/kosuke/commands/plan.d.ts.map +1 -1
- package/dist/kosuke/commands/plan.js +98 -44
- package/dist/kosuke/commands/plan.js.map +1 -1
- package/dist/kosuke/commands/sync-rules.d.ts.map +1 -1
- package/dist/kosuke/commands/sync-rules.js +39 -4
- package/dist/kosuke/commands/sync-rules.js.map +1 -1
- package/dist/kosuke/commands/tickets.d.ts +6 -6
- package/dist/kosuke/commands/tickets.d.ts.map +1 -1
- package/dist/kosuke/commands/tickets.js +593 -216
- package/dist/kosuke/commands/tickets.js.map +1 -1
- package/dist/kosuke/commands/validate-tickets.d.ts +23 -0
- package/dist/kosuke/commands/validate-tickets.d.ts.map +1 -0
- package/dist/kosuke/commands/validate-tickets.js +360 -0
- package/dist/kosuke/commands/validate-tickets.js.map +1 -0
- package/dist/kosuke/types.d.ts +97 -27
- package/dist/kosuke/types.d.ts.map +1 -1
- package/dist/kosuke/utils/claude-agent.d.ts +0 -5
- package/dist/kosuke/utils/claude-agent.d.ts.map +1 -1
- package/dist/kosuke/utils/claude-agent.js +1 -117
- package/dist/kosuke/utils/claude-agent.js.map +1 -1
- package/dist/kosuke/utils/json-parser.d.ts +14 -0
- package/dist/kosuke/utils/json-parser.d.ts.map +1 -0
- package/dist/kosuke/utils/json-parser.js +40 -0
- package/dist/kosuke/utils/json-parser.js.map +1 -0
- package/dist/kosuke/utils/logger.d.ts +1 -1
- package/dist/kosuke/utils/logger.d.ts.map +1 -1
- package/dist/kosuke/utils/logger.js.map +1 -1
- package/dist/kosuke/utils/tickets-manager.d.ts +3 -33
- package/dist/kosuke/utils/tickets-manager.d.ts.map +1 -1
- package/dist/kosuke/utils/tickets-manager.js +12 -237
- package/dist/kosuke/utils/tickets-manager.js.map +1 -1
- package/dist/lib.d.ts +32 -24
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +29 -20
- package/dist/lib.js.map +1 -1
- package/dist/package.json +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tickets file management utilities
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Core file I/O and ticket management operations.
|
|
5
|
+
* For JSON parsing, use json-parser.ts
|
|
6
|
+
* For validation, use validate-tickets command
|
|
5
7
|
*/
|
|
6
8
|
import { existsSync, readFileSync, writeFileSync } from 'fs';
|
|
7
|
-
import { runAgent } from './claude-agent.js';
|
|
8
9
|
// ============================================================================
|
|
9
10
|
// File Operations
|
|
10
11
|
// ============================================================================
|
|
@@ -70,208 +71,6 @@ export function updateTicketStatus(ticketsPath, ticketId, status, error) {
|
|
|
70
71
|
saveTicketsFile(ticketsPath, ticketsData);
|
|
71
72
|
}
|
|
72
73
|
// ============================================================================
|
|
73
|
-
// Parsing & Sorting
|
|
74
|
-
// ============================================================================
|
|
75
|
-
/**
|
|
76
|
-
* Parse tickets from a JSON string or response
|
|
77
|
-
* Validates basic structure and normalizes data
|
|
78
|
-
*/
|
|
79
|
-
export function parseTickets(response) {
|
|
80
|
-
// Extract JSON from response (in case Claude includes extra text)
|
|
81
|
-
const jsonMatch = response.match(/\[[\s\S]*\]/);
|
|
82
|
-
if (!jsonMatch) {
|
|
83
|
-
throw new Error('No JSON array found in response');
|
|
84
|
-
}
|
|
85
|
-
const tickets = JSON.parse(jsonMatch[0]);
|
|
86
|
-
if (!Array.isArray(tickets)) {
|
|
87
|
-
throw new Error(`Expected array of tickets, got ${typeof tickets}`);
|
|
88
|
-
}
|
|
89
|
-
const validTypes = ['schema', 'engine', 'backend', 'frontend', 'test'];
|
|
90
|
-
for (const ticket of tickets) {
|
|
91
|
-
if (!ticket.id || !ticket.title || !ticket.description) {
|
|
92
|
-
throw new Error(`Invalid ticket structure: ${JSON.stringify(ticket)}`);
|
|
93
|
-
}
|
|
94
|
-
if (!ticket.type || !validTypes.includes(ticket.type)) {
|
|
95
|
-
throw new Error(`Invalid or missing type for ticket ${ticket.id}: ${ticket.type}`);
|
|
96
|
-
}
|
|
97
|
-
if (typeof ticket.estimatedEffort !== 'number' ||
|
|
98
|
-
ticket.estimatedEffort < 1 ||
|
|
99
|
-
ticket.estimatedEffort > 10) {
|
|
100
|
-
throw new Error(`Invalid estimatedEffort for ticket ${ticket.id}: ${ticket.estimatedEffort}`);
|
|
101
|
-
}
|
|
102
|
-
if (!ticket.status) {
|
|
103
|
-
ticket.status = 'Todo';
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return tickets;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Sort tickets by processing order
|
|
110
|
-
*/
|
|
111
|
-
export function sortTicketsByOrder(tickets) {
|
|
112
|
-
return [...tickets].sort((a, b) => {
|
|
113
|
-
const getPhaseOrder = (id) => {
|
|
114
|
-
const upper = id.toUpperCase();
|
|
115
|
-
// SCAFFOLD batch first: schema → engine → backend → frontend → test
|
|
116
|
-
if (upper.startsWith('SCAFFOLD-SCHEMA-'))
|
|
117
|
-
return 1;
|
|
118
|
-
if (upper.startsWith('SCAFFOLD-ENGINE-'))
|
|
119
|
-
return 2;
|
|
120
|
-
if (upper.startsWith('SCAFFOLD-BACKEND-'))
|
|
121
|
-
return 3;
|
|
122
|
-
if (upper.startsWith('SCAFFOLD-FRONTEND-'))
|
|
123
|
-
return 4;
|
|
124
|
-
if (upper.startsWith('SCAFFOLD-WEB-TEST-'))
|
|
125
|
-
return 5;
|
|
126
|
-
// LOGIC batch second: schema → engine → backend → frontend → test
|
|
127
|
-
if (upper.startsWith('LOGIC-SCHEMA-'))
|
|
128
|
-
return 6;
|
|
129
|
-
if (upper.startsWith('LOGIC-ENGINE-'))
|
|
130
|
-
return 7;
|
|
131
|
-
if (upper.startsWith('LOGIC-BACKEND-'))
|
|
132
|
-
return 8;
|
|
133
|
-
if (upper.startsWith('LOGIC-FRONTEND-'))
|
|
134
|
-
return 9;
|
|
135
|
-
if (upper.startsWith('LOGIC-WEB-TEST-'))
|
|
136
|
-
return 10;
|
|
137
|
-
// PLAN batch (from plan command): schema → engine → backend → frontend → test
|
|
138
|
-
if (upper.startsWith('PLAN-SCHEMA-'))
|
|
139
|
-
return 11;
|
|
140
|
-
if (upper.startsWith('PLAN-ENGINE-'))
|
|
141
|
-
return 12;
|
|
142
|
-
if (upper.startsWith('PLAN-BACKEND-'))
|
|
143
|
-
return 13;
|
|
144
|
-
if (upper.startsWith('PLAN-FRONTEND-'))
|
|
145
|
-
return 14;
|
|
146
|
-
if (upper.startsWith('PLAN-WEB-TEST-'))
|
|
147
|
-
return 15;
|
|
148
|
-
return 16;
|
|
149
|
-
};
|
|
150
|
-
return getPhaseOrder(a.id) - getPhaseOrder(b.id);
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
// ============================================================================
|
|
154
|
-
// Validation
|
|
155
|
-
// ============================================================================
|
|
156
|
-
/**
|
|
157
|
-
* Build the review/fix prompt for ticket validation
|
|
158
|
-
*/
|
|
159
|
-
function buildReviewPrompt(tickets) {
|
|
160
|
-
return `You are a ticket validation and correction expert.
|
|
161
|
-
|
|
162
|
-
**Generated Tickets to Review:**
|
|
163
|
-
${JSON.stringify(tickets, null, 2)}
|
|
164
|
-
|
|
165
|
-
**Your Task: VALIDATE AND FIX the tickets according to these rules:**
|
|
166
|
-
|
|
167
|
-
**RULE 1: ONE Schema Ticket Per Batch**
|
|
168
|
-
- Each batch (SCAFFOLD, LOGIC, or simple SCHEMA) should have at most ONE schema ticket
|
|
169
|
-
- If multiple schema tickets exist, merge them into one
|
|
170
|
-
- ❌ WRONG: SCHEMA-1, SCHEMA-2, SCHEMA-3
|
|
171
|
-
- ✅ CORRECT: SCHEMA-1 (combines ALL schemas)
|
|
172
|
-
|
|
173
|
-
**RULE 2: Feature-by-Feature Ordering**
|
|
174
|
-
Each feature should follow this pattern when possible:
|
|
175
|
-
1. Backend ticket
|
|
176
|
-
2. Frontend ticket
|
|
177
|
-
3. Test ticket (if applicable)
|
|
178
|
-
|
|
179
|
-
**RULE 3: Sequential Numbering**
|
|
180
|
-
- Ensure ticket IDs are numbered sequentially
|
|
181
|
-
- Example: BACKEND-1, BACKEND-2 (not BACKEND-1, BACKEND-5)
|
|
182
|
-
|
|
183
|
-
**RULE 4: Test Tickets Must Include Credentials**
|
|
184
|
-
- Every WEB-TEST ticket should include test user credentials if available
|
|
185
|
-
- Format: "**Test User Credentials:**\\n- Email: user+kosuke_test@example.com\\n- OTP Code: 424242"
|
|
186
|
-
|
|
187
|
-
**AUTOMATIC FIXES TO APPLY:**
|
|
188
|
-
|
|
189
|
-
1. **Combine Schema Tickets** if multiple exist
|
|
190
|
-
2. **Reorder Tickets** to follow feature-by-feature pattern
|
|
191
|
-
3. **Renumber Ticket IDs** to be sequential
|
|
192
|
-
4. **Add placeholder credentials** to test tickets if missing
|
|
193
|
-
|
|
194
|
-
**OUTPUT FORMAT:**
|
|
195
|
-
Return ONLY a valid JSON object with this exact structure:
|
|
196
|
-
{
|
|
197
|
-
"validationIssues": [
|
|
198
|
-
"Issue 1 found and fixed",
|
|
199
|
-
"Issue 2 found and fixed"
|
|
200
|
-
],
|
|
201
|
-
"fixedTickets": [
|
|
202
|
-
{ /* all ticket objects in corrected order */ }
|
|
203
|
-
]
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
**CRITICAL:**
|
|
207
|
-
- Return ONLY valid JSON (no markdown, no code blocks)
|
|
208
|
-
- fixedTickets array must contain ALL tickets
|
|
209
|
-
- Preserve all ticket content (descriptions, effort, category)
|
|
210
|
-
- Only fix structure, ordering, and numbering issues
|
|
211
|
-
- If no issues found, return empty validationIssues with original tickets`;
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
* Validate and fix tickets using Claude
|
|
215
|
-
* Returns fixed tickets and list of issues found
|
|
216
|
-
*/
|
|
217
|
-
export async function validateAndFixTickets(tickets, projectPath) {
|
|
218
|
-
console.log(`\n${'─'.repeat(60)}`);
|
|
219
|
-
console.log('🔍 Validating ticket structure...');
|
|
220
|
-
console.log(`${'─'.repeat(60)}\n`);
|
|
221
|
-
const reviewPrompt = buildReviewPrompt(tickets);
|
|
222
|
-
const reviewResult = await runAgent('Validate and fix ticket structure', {
|
|
223
|
-
systemPrompt: reviewPrompt,
|
|
224
|
-
maxTurns: 10,
|
|
225
|
-
verbosity: 'minimal',
|
|
226
|
-
cwd: projectPath,
|
|
227
|
-
});
|
|
228
|
-
try {
|
|
229
|
-
const jsonMatch = reviewResult.response.match(/\{[\s\S]*"fixedTickets"[\s\S]*\}/);
|
|
230
|
-
if (!jsonMatch) {
|
|
231
|
-
throw new Error('No valid review result found');
|
|
232
|
-
}
|
|
233
|
-
const parsed = JSON.parse(jsonMatch[0]);
|
|
234
|
-
if (!parsed.fixedTickets || !Array.isArray(parsed.fixedTickets)) {
|
|
235
|
-
throw new Error('Invalid review result: fixedTickets must be an array');
|
|
236
|
-
}
|
|
237
|
-
// Validate fixed tickets
|
|
238
|
-
const validTypes = ['schema', 'engine', 'backend', 'frontend', 'test'];
|
|
239
|
-
for (const ticket of parsed.fixedTickets) {
|
|
240
|
-
if (!ticket.id || !ticket.title || !ticket.description || !ticket.type) {
|
|
241
|
-
throw new Error(`Invalid ticket in review result: ${JSON.stringify(ticket)}`);
|
|
242
|
-
}
|
|
243
|
-
if (!validTypes.includes(ticket.type)) {
|
|
244
|
-
throw new Error(`Invalid type in ticket ${ticket.id}: ${ticket.type}`);
|
|
245
|
-
}
|
|
246
|
-
// Ensure status is set
|
|
247
|
-
if (!ticket.status) {
|
|
248
|
-
ticket.status = 'Todo';
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
// Display validation results
|
|
252
|
-
if (parsed.validationIssues.length > 0) {
|
|
253
|
-
console.log('🔧 Issues found and fixed:');
|
|
254
|
-
parsed.validationIssues.forEach((issue, idx) => {
|
|
255
|
-
console.log(` ${idx + 1}. ${issue}`);
|
|
256
|
-
});
|
|
257
|
-
console.log('');
|
|
258
|
-
}
|
|
259
|
-
else {
|
|
260
|
-
console.log('✅ No validation issues - tickets are correctly structured\n');
|
|
261
|
-
}
|
|
262
|
-
return parsed;
|
|
263
|
-
}
|
|
264
|
-
catch (error) {
|
|
265
|
-
// If validation fails, return original tickets with warning
|
|
266
|
-
console.warn('⚠️ Ticket validation failed, using original tickets');
|
|
267
|
-
console.warn(` Error: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
268
|
-
return {
|
|
269
|
-
validationIssues: [],
|
|
270
|
-
fixedTickets: tickets,
|
|
271
|
-
};
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
// ============================================================================
|
|
275
74
|
// Display
|
|
276
75
|
// ============================================================================
|
|
277
76
|
/**
|
|
@@ -284,13 +83,15 @@ export function displayTicketsSummary(tickets) {
|
|
|
284
83
|
for (const ticket of tickets) {
|
|
285
84
|
const emoji = ticket.type === 'schema'
|
|
286
85
|
? '🗄️'
|
|
287
|
-
: ticket.type === '
|
|
288
|
-
? '
|
|
289
|
-
: ticket.type === '
|
|
290
|
-
? '
|
|
291
|
-
: ticket.type === '
|
|
292
|
-
? '
|
|
293
|
-
: '
|
|
86
|
+
: ticket.type === 'refactor'
|
|
87
|
+
? '🔄'
|
|
88
|
+
: ticket.type === 'engine'
|
|
89
|
+
? '🐍'
|
|
90
|
+
: ticket.type === 'backend'
|
|
91
|
+
? '⚙️'
|
|
92
|
+
: ticket.type === 'frontend'
|
|
93
|
+
? '🎨'
|
|
94
|
+
: '🧪';
|
|
294
95
|
console.log(`${emoji} ${ticket.id}: ${ticket.title}`);
|
|
295
96
|
console.log(` Type: ${ticket.type} | Effort: ${ticket.estimatedEffort}/10`);
|
|
296
97
|
if (ticket.category) {
|
|
@@ -302,30 +103,4 @@ export function displayTicketsSummary(tickets) {
|
|
|
302
103
|
console.log(`✅ Total: ${tickets.length} ticket(s)`);
|
|
303
104
|
console.log(`${'='.repeat(60)}\n`);
|
|
304
105
|
}
|
|
305
|
-
// ============================================================================
|
|
306
|
-
// Pipeline
|
|
307
|
-
// ============================================================================
|
|
308
|
-
/**
|
|
309
|
-
* Full pipeline: parse, validate, sort, and write tickets
|
|
310
|
-
* Used by both plan.ts and tickets.ts
|
|
311
|
-
*/
|
|
312
|
-
export async function processAndWriteTickets(rawTickets, outputPath, projectPath, options = {}) {
|
|
313
|
-
const { skipValidation = false, displaySummary = true } = options;
|
|
314
|
-
let finalTickets = sortTicketsByOrder(rawTickets);
|
|
315
|
-
let validationIssues = [];
|
|
316
|
-
// Run validation unless skipped
|
|
317
|
-
if (!skipValidation) {
|
|
318
|
-
const reviewResult = await validateAndFixTickets(finalTickets, projectPath);
|
|
319
|
-
finalTickets = reviewResult.fixedTickets;
|
|
320
|
-
validationIssues = reviewResult.validationIssues;
|
|
321
|
-
}
|
|
322
|
-
// Display summary
|
|
323
|
-
if (displaySummary) {
|
|
324
|
-
displayTicketsSummary(finalTickets);
|
|
325
|
-
}
|
|
326
|
-
// Write to file
|
|
327
|
-
writeTicketsFile(outputPath, finalTickets);
|
|
328
|
-
console.log(`💾 Saved to: ${outputPath}\n`);
|
|
329
|
-
return { tickets: finalTickets, validationIssues };
|
|
330
|
-
}
|
|
331
106
|
//# sourceMappingURL=tickets-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tickets-manager.js","sourceRoot":"","sources":["../../../kosuke/utils/tickets-manager.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tickets-manager.js","sourceRoot":"","sources":["../../../kosuke/utils/tickets-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/lib.d.ts
CHANGED
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
* analyseCommand,
|
|
11
11
|
* getCodeCore,
|
|
12
12
|
* shipCore,
|
|
13
|
-
*
|
|
13
|
+
* ticketsCoreStream,
|
|
14
|
+
* fixCoreStream,
|
|
14
15
|
* discoverFiles,
|
|
15
16
|
* runLint,
|
|
16
17
|
* logger,
|
|
@@ -43,13 +44,18 @@
|
|
|
43
44
|
* directory: './my-project'
|
|
44
45
|
* });
|
|
45
46
|
*
|
|
46
|
-
* //
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
47
|
+
* // Generate tickets with streaming (recommended)
|
|
48
|
+
* for await (const event of ticketsCoreStream({ directory: './my-project' })) {
|
|
49
|
+
* if (event.type === 'done' && event.data.status === 'success') {
|
|
50
|
+
* console.log(`Generated ${event.data.totalTickets} tickets`);
|
|
51
|
+
* }
|
|
52
|
+
* }
|
|
53
|
+
*
|
|
54
|
+
* // Fix malformed JSON with streaming
|
|
55
|
+
* for await (const event of fixCoreStream({ format: 'json', file: 'raw.txt' })) {
|
|
56
|
+
* if (event.type === 'done' && event.data.status === 'success') {
|
|
57
|
+
* console.log(`Extracted ${event.data.ticketsExtracted} tickets`);
|
|
58
|
+
* }
|
|
53
59
|
* }
|
|
54
60
|
*
|
|
55
61
|
* // Use validation utilities
|
|
@@ -67,30 +73,32 @@
|
|
|
67
73
|
* ```
|
|
68
74
|
*/
|
|
69
75
|
export { analyseCommand } from './kosuke/commands/analyse.js';
|
|
70
|
-
export { lintCommand, fixCodeQualityErrors, fixLintErrors } from './kosuke/commands/lint.js';
|
|
71
|
-
export { syncRulesCommand } from './kosuke/commands/sync-rules.js';
|
|
72
|
-
export { requirementsCommand, requirementsCore } from './kosuke/commands/requirements.js';
|
|
73
|
-
export { planCommand, planCoreStream } from './kosuke/commands/plan.js';
|
|
74
|
-
export { getCodeCore } from './kosuke/commands/getcode.js';
|
|
75
|
-
export { ticketsCore } from './kosuke/commands/tickets.js';
|
|
76
|
-
export { shipCore } from './kosuke/commands/ship.js';
|
|
77
76
|
export { buildCommand } from './kosuke/commands/build.js';
|
|
77
|
+
export { fixCommand, fixCoreStream } from './kosuke/commands/fix.js';
|
|
78
|
+
export { getCodeCore } from './kosuke/commands/getcode.js';
|
|
79
|
+
export { fixCodeQualityErrors, fixLintErrors, lintCommand } from './kosuke/commands/lint.js';
|
|
78
80
|
export { migrateCommand, migrateCore } from './kosuke/commands/migrate.js';
|
|
81
|
+
export { planCommand, planCoreStream } from './kosuke/commands/plan.js';
|
|
82
|
+
export { requirementsCommand, requirementsCore } from './kosuke/commands/requirements.js';
|
|
79
83
|
export { reviewCommand, reviewCore } from './kosuke/commands/review.js';
|
|
84
|
+
export { shipCore } from './kosuke/commands/ship.js';
|
|
85
|
+
export { syncRulesCommand } from './kosuke/commands/sync-rules.js';
|
|
80
86
|
export { testCommand, testCore } from './kosuke/commands/test.js';
|
|
81
|
-
export {
|
|
87
|
+
export { ticketsCoreStream } from './kosuke/commands/tickets.js';
|
|
88
|
+
export { validateTicketsCommand, validateTicketsCoreStream, } from './kosuke/commands/validate-tickets.js';
|
|
82
89
|
export { createBatches } from './kosuke/utils/batch-creator.js';
|
|
83
|
-
export {
|
|
90
|
+
export { discoverFiles } from './kosuke/utils/file-discovery.js';
|
|
91
|
+
export { askQuestion } from './kosuke/utils/interactive-input.js';
|
|
92
|
+
export { extractTicketsJSON } from './kosuke/utils/json-parser.js';
|
|
93
|
+
export { logger, setupCancellationHandler, withCommandTracking } from './kosuke/utils/logger.js';
|
|
84
94
|
export { getRepoLocalPath } from './kosuke/utils/repository-manager.js';
|
|
85
95
|
export { validateRepoAccess } from './kosuke/utils/repository-resolver.js';
|
|
86
|
-
export {
|
|
87
|
-
export {
|
|
88
|
-
export {
|
|
89
|
-
export type { Batch, Fix, AnalyseOptions, LintOptions, SyncRulesOptions, RulesAdaptation, GitInfo, GetCodeOptions, CodeExplorationResult, TicketsOptions, TicketsResult, Ticket, ShipOptions, ShipResult, BuildOptions, BuildResult, MigrateOptions, MigrateResult, PlanOptions, PlanResult, ReviewContext, ReviewOptions, ReviewResult, TestContext, TestOptions, TestResult, MCPToolUsage, TestRunnerOptions, TestRunnerResult, CommandName, ExecutionStatus, CliLogData, CommandExecutionContext, PlanStreamEvent, BuildStreamEvent, ShipStreamEvent, TestStreamEvent, MigrateStreamEvent, ReviewStreamEvent, } from './kosuke/types.js';
|
|
90
|
-
export type { ValidationResult } from './kosuke/utils/validator.js';
|
|
91
|
-
export type { AgentVerbosity, AgentConfig, AgentResult, ClaudeMessage, ParsedToolAction, AgentStreamEvent, } from './kosuke/utils/claude-agent.js';
|
|
96
|
+
export { displayTicketsSummary, loadTicketsFile, saveTicketsFile, writeTicketsFile, } from './kosuke/utils/tickets-manager.js';
|
|
97
|
+
export { detectPackageManager, readPackageJsonScripts, runComprehensiveLinting, runFormat, runLint, runTests, runTypecheck, } from './kosuke/utils/validator.js';
|
|
98
|
+
export type { AnalyseOptions, Batch, BuildOptions, BuildResult, BuildStreamEvent, CliLogData, CodeExplorationResult, CommandExecutionContext, CommandName, ExecutionStatus, Fix, FixOptions, FixStreamEvent, GetCodeOptions, GitInfo, LintOptions, MCPToolUsage, MigrateOptions, MigrateResult, MigrateStreamEvent, PlanOptions, PlanResult, PlanStreamEvent, ReviewContext, ReviewOptions, ReviewResult, ReviewStreamEvent, RulesAdaptation, ShipOptions, ShipResult, ShipStreamEvent, SyncRulesOptions, TestContext, TestOptions, TestResult, TestRunnerOptions, TestRunnerResult, TestStreamEvent, Ticket, TicketsOptions, TicketsStreamEvent, ValidateTicketsOptions, ValidateTicketsStreamEvent, } from './kosuke/types.js';
|
|
92
99
|
export type { RequirementsOptions, RequirementsResult } from './kosuke/commands/requirements.js';
|
|
93
|
-
export type { TicketReviewResult } from './kosuke/utils/tickets-manager.js';
|
|
94
100
|
export { createServer, startServer, type ServeOptions } from './kosuke/serve/server.js';
|
|
101
|
+
export type { AgentConfig, AgentResult, AgentStreamEvent, AgentVerbosity, ClaudeMessage, ParsedToolAction, } from './kosuke/utils/claude-agent.js';
|
|
102
|
+
export type { ValidationResult } from './kosuke/utils/validator.js';
|
|
95
103
|
export declare const version: string;
|
|
96
104
|
//# sourceMappingURL=lib.d.ts.map
|
package/dist/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../lib.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../lib.ts"],"names":[],"mappings":"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"}
|
package/dist/lib.js
CHANGED
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
* analyseCommand,
|
|
11
11
|
* getCodeCore,
|
|
12
12
|
* shipCore,
|
|
13
|
-
*
|
|
13
|
+
* ticketsCoreStream,
|
|
14
|
+
* fixCoreStream,
|
|
14
15
|
* discoverFiles,
|
|
15
16
|
* runLint,
|
|
16
17
|
* logger,
|
|
@@ -43,13 +44,18 @@
|
|
|
43
44
|
* directory: './my-project'
|
|
44
45
|
* });
|
|
45
46
|
*
|
|
46
|
-
* //
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
47
|
+
* // Generate tickets with streaming (recommended)
|
|
48
|
+
* for await (const event of ticketsCoreStream({ directory: './my-project' })) {
|
|
49
|
+
* if (event.type === 'done' && event.data.status === 'success') {
|
|
50
|
+
* console.log(`Generated ${event.data.totalTickets} tickets`);
|
|
51
|
+
* }
|
|
52
|
+
* }
|
|
53
|
+
*
|
|
54
|
+
* // Fix malformed JSON with streaming
|
|
55
|
+
* for await (const event of fixCoreStream({ format: 'json', file: 'raw.txt' })) {
|
|
56
|
+
* if (event.type === 'done' && event.data.status === 'success') {
|
|
57
|
+
* console.log(`Extracted ${event.data.ticketsExtracted} tickets`);
|
|
58
|
+
* }
|
|
53
59
|
* }
|
|
54
60
|
*
|
|
55
61
|
* // Use validation utilities
|
|
@@ -69,26 +75,29 @@
|
|
|
69
75
|
import packageJson from './package.json';
|
|
70
76
|
// Re-export commands
|
|
71
77
|
export { analyseCommand } from './kosuke/commands/analyse.js';
|
|
72
|
-
export { lintCommand, fixCodeQualityErrors, fixLintErrors } from './kosuke/commands/lint.js';
|
|
73
|
-
export { syncRulesCommand } from './kosuke/commands/sync-rules.js';
|
|
74
|
-
export { requirementsCommand, requirementsCore } from './kosuke/commands/requirements.js';
|
|
75
|
-
export { planCommand, planCoreStream } from './kosuke/commands/plan.js';
|
|
76
|
-
export { getCodeCore } from './kosuke/commands/getcode.js';
|
|
77
|
-
export { ticketsCore } from './kosuke/commands/tickets.js';
|
|
78
|
-
export { shipCore } from './kosuke/commands/ship.js';
|
|
79
78
|
export { buildCommand } from './kosuke/commands/build.js';
|
|
79
|
+
export { fixCommand, fixCoreStream } from './kosuke/commands/fix.js';
|
|
80
|
+
export { getCodeCore } from './kosuke/commands/getcode.js';
|
|
81
|
+
export { fixCodeQualityErrors, fixLintErrors, lintCommand } from './kosuke/commands/lint.js';
|
|
80
82
|
export { migrateCommand, migrateCore } from './kosuke/commands/migrate.js';
|
|
83
|
+
export { planCommand, planCoreStream } from './kosuke/commands/plan.js';
|
|
84
|
+
export { requirementsCommand, requirementsCore } from './kosuke/commands/requirements.js';
|
|
81
85
|
export { reviewCommand, reviewCore } from './kosuke/commands/review.js';
|
|
86
|
+
export { shipCore } from './kosuke/commands/ship.js';
|
|
87
|
+
export { syncRulesCommand } from './kosuke/commands/sync-rules.js';
|
|
82
88
|
export { testCommand, testCore } from './kosuke/commands/test.js';
|
|
89
|
+
export { ticketsCoreStream } from './kosuke/commands/tickets.js';
|
|
90
|
+
export { validateTicketsCommand, validateTicketsCoreStream, } from './kosuke/commands/validate-tickets.js';
|
|
83
91
|
// Re-export utilities
|
|
84
|
-
export { discoverFiles } from './kosuke/utils/file-discovery.js';
|
|
85
92
|
export { createBatches } from './kosuke/utils/batch-creator.js';
|
|
86
|
-
export {
|
|
93
|
+
export { discoverFiles } from './kosuke/utils/file-discovery.js';
|
|
94
|
+
export { askQuestion } from './kosuke/utils/interactive-input.js';
|
|
95
|
+
export { extractTicketsJSON } from './kosuke/utils/json-parser.js';
|
|
96
|
+
export { logger, setupCancellationHandler, withCommandTracking } from './kosuke/utils/logger.js';
|
|
87
97
|
export { getRepoLocalPath } from './kosuke/utils/repository-manager.js';
|
|
88
98
|
export { validateRepoAccess } from './kosuke/utils/repository-resolver.js';
|
|
89
|
-
export {
|
|
90
|
-
export {
|
|
91
|
-
export { parseTickets, sortTicketsByOrder, validateAndFixTickets, writeTicketsFile, displayTicketsSummary, processAndWriteTickets, } from './kosuke/utils/tickets-manager.js';
|
|
99
|
+
export { displayTicketsSummary, loadTicketsFile, saveTicketsFile, writeTicketsFile, } from './kosuke/utils/tickets-manager.js';
|
|
100
|
+
export { detectPackageManager, readPackageJsonScripts, runComprehensiveLinting, runFormat, runLint, runTests, runTypecheck, } from './kosuke/utils/validator.js';
|
|
92
101
|
export { createServer, startServer } from './kosuke/serve/server.js';
|
|
93
102
|
// Export version from package.json
|
|
94
103
|
export const version = packageJson.version;
|
package/dist/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../lib.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AAEH,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,qBAAqB;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACL,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,uCAAuC,CAAC;AAE/C,sBAAsB;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,gBAAgB,GACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,YAAY,GACb,MAAM,6BAA6B,CAAC;AAoDrC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,0BAA0B,CAAC;AAWxF,mCAAmC;AACnC,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC"}
|
package/dist/package.json
CHANGED