@kosuke-ai/cli 0.0.43 → 0.0.45

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 (86) hide show
  1. package/README.md +94 -1
  2. package/claude.costs.json +34 -0
  3. package/dist/index.js +55 -9
  4. package/dist/index.js.map +1 -1
  5. package/dist/kosuke/commands/build.d.ts +5 -1
  6. package/dist/kosuke/commands/build.d.ts.map +1 -1
  7. package/dist/kosuke/commands/build.js +300 -4
  8. package/dist/kosuke/commands/build.js.map +1 -1
  9. package/dist/kosuke/commands/migrate.d.ts +6 -1
  10. package/dist/kosuke/commands/migrate.d.ts.map +1 -1
  11. package/dist/kosuke/commands/migrate.js +124 -37
  12. package/dist/kosuke/commands/migrate.js.map +1 -1
  13. package/dist/kosuke/commands/plan.d.ts +4 -20
  14. package/dist/kosuke/commands/plan.d.ts.map +1 -1
  15. package/dist/kosuke/commands/plan.js +471 -679
  16. package/dist/kosuke/commands/plan.js.map +1 -1
  17. package/dist/kosuke/commands/requirements.js +2 -2
  18. package/dist/kosuke/commands/requirements.js.map +1 -1
  19. package/dist/kosuke/commands/review.d.ts +6 -1
  20. package/dist/kosuke/commands/review.d.ts.map +1 -1
  21. package/dist/kosuke/commands/review.js +168 -68
  22. package/dist/kosuke/commands/review.js.map +1 -1
  23. package/dist/kosuke/commands/serve.d.ts +9 -0
  24. package/dist/kosuke/commands/serve.d.ts.map +1 -0
  25. package/dist/kosuke/commands/serve.js +17 -0
  26. package/dist/kosuke/commands/serve.js.map +1 -0
  27. package/dist/kosuke/commands/ship.d.ts +6 -1
  28. package/dist/kosuke/commands/ship.d.ts.map +1 -1
  29. package/dist/kosuke/commands/ship.js +226 -67
  30. package/dist/kosuke/commands/ship.js.map +1 -1
  31. package/dist/kosuke/commands/test.d.ts +11 -6
  32. package/dist/kosuke/commands/test.d.ts.map +1 -1
  33. package/dist/kosuke/commands/test.js +438 -105
  34. package/dist/kosuke/commands/test.js.map +1 -1
  35. package/dist/kosuke/commands/tickets.d.ts +7 -15
  36. package/dist/kosuke/commands/tickets.d.ts.map +1 -1
  37. package/dist/kosuke/commands/tickets.js +17 -61
  38. package/dist/kosuke/commands/tickets.js.map +1 -1
  39. package/dist/kosuke/serve/middleware/error-handler.d.ts +13 -0
  40. package/dist/kosuke/serve/middleware/error-handler.d.ts.map +1 -0
  41. package/dist/kosuke/serve/middleware/error-handler.js +34 -0
  42. package/dist/kosuke/serve/middleware/error-handler.js.map +1 -0
  43. package/dist/kosuke/serve/middleware/validation.d.ts +13 -0
  44. package/dist/kosuke/serve/middleware/validation.d.ts.map +1 -0
  45. package/dist/kosuke/serve/middleware/validation.js +39 -0
  46. package/dist/kosuke/serve/middleware/validation.js.map +1 -0
  47. package/dist/kosuke/serve/routes/build.d.ts +6 -0
  48. package/dist/kosuke/serve/routes/build.d.ts.map +1 -0
  49. package/dist/kosuke/serve/routes/build.js +224 -0
  50. package/dist/kosuke/serve/routes/build.js.map +1 -0
  51. package/dist/kosuke/serve/routes/health.d.ts +6 -0
  52. package/dist/kosuke/serve/routes/health.d.ts.map +1 -0
  53. package/dist/kosuke/serve/routes/health.js +11 -0
  54. package/dist/kosuke/serve/routes/health.js.map +1 -0
  55. package/dist/kosuke/serve/routes/plan.d.ts +6 -0
  56. package/dist/kosuke/serve/routes/plan.d.ts.map +1 -0
  57. package/dist/kosuke/serve/routes/plan.js +104 -0
  58. package/dist/kosuke/serve/routes/plan.js.map +1 -0
  59. package/dist/kosuke/serve/server.d.ts +16 -0
  60. package/dist/kosuke/serve/server.d.ts.map +1 -0
  61. package/dist/kosuke/serve/server.js +63 -0
  62. package/dist/kosuke/serve/server.js.map +1 -0
  63. package/dist/kosuke/serve/validation/build.d.ts +41 -0
  64. package/dist/kosuke/serve/validation/build.d.ts.map +1 -0
  65. package/dist/kosuke/serve/validation/build.js +20 -0
  66. package/dist/kosuke/serve/validation/build.js.map +1 -0
  67. package/dist/kosuke/serve/validation/plan.d.ts +26 -0
  68. package/dist/kosuke/serve/validation/plan.d.ts.map +1 -0
  69. package/dist/kosuke/serve/validation/plan.js +15 -0
  70. package/dist/kosuke/serve/validation/plan.js.map +1 -0
  71. package/dist/kosuke/types.d.ts +217 -1
  72. package/dist/kosuke/types.d.ts.map +1 -1
  73. package/dist/kosuke/utils/claude-agent.d.ts +82 -6
  74. package/dist/kosuke/utils/claude-agent.d.ts.map +1 -1
  75. package/dist/kosuke/utils/claude-agent.js +381 -180
  76. package/dist/kosuke/utils/claude-agent.js.map +1 -1
  77. package/dist/kosuke/utils/playwright-mcp-client.d.ts +45 -0
  78. package/dist/kosuke/utils/playwright-mcp-client.d.ts.map +1 -0
  79. package/dist/kosuke/utils/playwright-mcp-client.js +131 -0
  80. package/dist/kosuke/utils/playwright-mcp-client.js.map +1 -0
  81. package/dist/lib.d.ts +4 -4
  82. package/dist/lib.d.ts.map +1 -1
  83. package/dist/lib.js +2 -1
  84. package/dist/lib.js.map +1 -1
  85. package/dist/package.json +7 -3
  86. package/package.json +7 -3
@@ -12,6 +12,40 @@ import { type PermissionMode, type SettingSource } from '@anthropic-ai/claude-ag
12
12
  * - verbose: Show all text output + tool usage
13
13
  */
14
14
  export type AgentVerbosity = 'minimal' | 'normal' | 'verbose';
15
+ /**
16
+ * Claude SDK message structure (subset of properties we use)
17
+ */
18
+ export interface ClaudeMessage {
19
+ session_id?: string;
20
+ type?: string;
21
+ subtype?: string;
22
+ text?: string;
23
+ message?: {
24
+ content?: Array<{
25
+ type: string;
26
+ text?: string;
27
+ name?: string;
28
+ input?: unknown;
29
+ }>;
30
+ };
31
+ usage?: {
32
+ input_tokens?: number;
33
+ output_tokens?: number;
34
+ cache_creation_input_tokens?: number;
35
+ cache_read_input_tokens?: number;
36
+ };
37
+ [key: string]: unknown;
38
+ }
39
+ /**
40
+ * Agent stream event - either a Claude message or final result
41
+ */
42
+ export type AgentStreamEvent = {
43
+ type: 'message';
44
+ data: ClaudeMessage;
45
+ } | {
46
+ type: 'agent_result';
47
+ data: AgentResult;
48
+ };
15
49
  /**
16
50
  * Configuration for agent execution
17
51
  */
@@ -24,6 +58,9 @@ export interface AgentConfig {
24
58
  permissionMode?: PermissionMode;
25
59
  captureConversation?: boolean;
26
60
  settingSources?: SettingSource[];
61
+ resume?: string;
62
+ allowedTools?: string[];
63
+ disallowedTools?: string[];
27
64
  }
28
65
  /**
29
66
  * Result from agent execution
@@ -39,6 +76,7 @@ export interface AgentResult {
39
76
  cost: number;
40
77
  fixCount: number;
41
78
  filesReferenced: Set<string>;
79
+ sessionId?: string;
42
80
  conversationMessages?: Array<{
43
81
  role: 'user' | 'assistant';
44
82
  content: string;
@@ -51,19 +89,57 @@ export interface AgentResult {
51
89
  }>;
52
90
  }
53
91
  /**
54
- * Calculate cost based on Claude Sonnet 4.5 pricing
55
- * - $3 per million input tokens
56
- * - $15 per million output tokens
57
- * - $3.75 per million cache creation tokens (input + 25% overhead)
58
- * - $0.30 per million cache read tokens (90% discount from input)
92
+ * Parsed tool action with structured parameters
59
93
  */
60
- export declare function calculateCost(inputTokens: number, outputTokens: number, cacheCreationTokens?: number, cacheReadTokens?: number): number;
94
+ export interface ParsedToolAction {
95
+ action: string;
96
+ params: Record<string, unknown>;
97
+ }
98
+ /**
99
+ * Parse tool usage into structured action and params for streaming/display
100
+ *
101
+ * @param toolName - Name of the tool being used
102
+ * @param toolInput - Input parameters for the tool
103
+ * @returns Structured action and params object
104
+ *
105
+ * @example
106
+ * parseToolAction('Read', { file_path: '/path/to/file.ts' })
107
+ * // Returns: { action: 'Read', params: { path: '/path/to/file.ts' } }
108
+ */
109
+ export declare function parseToolAction(toolName: string, toolInput: Record<string, unknown>): ParsedToolAction;
110
+ /**
111
+ * Log tool usage
112
+ */
113
+ export declare function logToolUsage(toolName: string, toolInput: unknown, filesReferenced: Set<string>): void;
114
+ /**
115
+ * Calculate cost based on Claude pricing from claude.costs.json
116
+ *
117
+ * Costs are loaded from:
118
+ * 1. claude.costs.json model-specific costs (if model provided)
119
+ * 2. claude.costs.json default costs (fallback)
120
+ */
121
+ export declare function calculateCost(inputTokens: number, outputTokens: number, cacheCreationTokens?: number, cacheReadTokens?: number, model?: string): number;
61
122
  /**
62
123
  * Format cost breakdown as human-readable string
63
124
  */
64
125
  export declare function formatCostBreakdown(result: AgentResult): string;
126
+ /**
127
+ * Log assistant message based on verbosity
128
+ */
129
+ export declare function logAssistantMessage(text: string, verbosity: AgentVerbosity): void;
130
+ /**
131
+ * Run agent in streaming mode with typed events
132
+ * Yields Claude messages + final AgentResult with metrics
133
+ * For SSE integration and programmatic consumption
134
+ *
135
+ * @param prompt - User prompt/instruction
136
+ * @param config - Agent configuration
137
+ * @returns AsyncGenerator yielding AgentStreamEvent (messages + final result)
138
+ */
139
+ export declare function runAgentStream(prompt: string, config: AgentConfig): AsyncGenerator<AgentStreamEvent, void, void>;
65
140
  /**
66
141
  * Run Claude agent with unified configuration and logging
142
+ * Processes stream and returns final result
67
143
  */
68
144
  export declare function runAgent(prompt: string, config: AgentConfig): Promise<AgentResult>;
69
145
  //# sourceMappingURL=claude-agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-agent.d.ts","sourceRoot":"","sources":["../../../kosuke/utils/claude-agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,gCAAgC,CAAC;AAIxC;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,oBAAoB,CAAC,EAAE,KAAK,CAAC;QAC3B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,KAAK,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,OAAO,CAAC;YACf,MAAM,CAAC,EAAE,OAAO,CAAC;SAClB,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,mBAAmB,GAAE,MAAU,EAC/B,eAAe,GAAE,MAAU,GAC1B,MAAM,CAYR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAgB/D;AAqGD;;GAEG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CA8MxF"}
1
+ {"version":3,"file":"claude-agent.d.ts","sourceRoot":"","sources":["../../../kosuke/utils/claude-agent.ts"],"names":[],"mappings":"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"}