@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,140 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude Agent - Centralized Claude SDK integration
|
|
3
|
-
*
|
|
4
|
-
* Provides unified agent initialization, execution, logging, and cost tracking
|
|
5
|
-
* for all commands that use Claude Code Agent SDK.
|
|
6
|
-
*/
|
|
7
|
-
import { type PermissionMode, type SettingSource } from '@anthropic-ai/claude-agent-sdk';
|
|
8
|
-
/**
|
|
9
|
-
* Verbosity levels for agent execution
|
|
10
|
-
* - minimal: Only show tool usage (fixes, file reads)
|
|
11
|
-
* - normal: Show tool usage + key insights
|
|
12
|
-
* - verbose: Show all text output + tool usage
|
|
13
|
-
*/
|
|
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
|
-
};
|
|
49
|
-
/**
|
|
50
|
-
* Configuration for agent execution
|
|
51
|
-
*/
|
|
52
|
-
export interface AgentConfig {
|
|
53
|
-
systemPrompt: string;
|
|
54
|
-
maxTurns?: number;
|
|
55
|
-
model?: string;
|
|
56
|
-
cwd?: string;
|
|
57
|
-
verbosity?: AgentVerbosity;
|
|
58
|
-
permissionMode?: PermissionMode;
|
|
59
|
-
captureConversation?: boolean;
|
|
60
|
-
settingSources?: SettingSource[];
|
|
61
|
-
resume?: string;
|
|
62
|
-
allowedTools?: string[];
|
|
63
|
-
disallowedTools?: string[];
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Result from agent execution
|
|
67
|
-
*/
|
|
68
|
-
export interface AgentResult {
|
|
69
|
-
response: string;
|
|
70
|
-
tokensUsed: {
|
|
71
|
-
input: number;
|
|
72
|
-
output: number;
|
|
73
|
-
cacheCreation: number;
|
|
74
|
-
cacheRead: number;
|
|
75
|
-
};
|
|
76
|
-
cost: number;
|
|
77
|
-
fixCount: number;
|
|
78
|
-
filesReferenced: Set<string>;
|
|
79
|
-
sessionId?: string;
|
|
80
|
-
conversationMessages?: Array<{
|
|
81
|
-
role: 'user' | 'assistant';
|
|
82
|
-
content: string;
|
|
83
|
-
timestamp: string;
|
|
84
|
-
toolCalls?: Array<{
|
|
85
|
-
name: string;
|
|
86
|
-
input: unknown;
|
|
87
|
-
output?: unknown;
|
|
88
|
-
}>;
|
|
89
|
-
}>;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Parsed tool action with structured parameters
|
|
93
|
-
*/
|
|
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;
|
|
122
|
-
/**
|
|
123
|
-
* Format cost breakdown as human-readable string
|
|
124
|
-
*/
|
|
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>;
|
|
140
|
-
//# sourceMappingURL=claude-agent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claude-agent.d.ts","sourceRoot":"","sources":["../../../kosuke/utils/claude-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,388 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude Agent - Centralized Claude SDK integration
|
|
3
|
-
*
|
|
4
|
-
* Provides unified agent initialization, execution, logging, and cost tracking
|
|
5
|
-
* for all commands that use Claude Code Agent SDK.
|
|
6
|
-
*/
|
|
7
|
-
import { query, } from '@anthropic-ai/claude-agent-sdk';
|
|
8
|
-
import { readFileSync } from 'fs';
|
|
9
|
-
import { dirname, join } from 'path';
|
|
10
|
-
import { fileURLToPath } from 'url';
|
|
11
|
-
import { DEFAULT_ANTHROPIC_MODEL } from './constants.js';
|
|
12
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
13
|
-
const __dirname = dirname(__filename);
|
|
14
|
-
/**
|
|
15
|
-
* Load costs configuration from claude.costs.json
|
|
16
|
-
*/
|
|
17
|
-
let costsCache = null;
|
|
18
|
-
function loadCosts() {
|
|
19
|
-
if (costsCache)
|
|
20
|
-
return costsCache;
|
|
21
|
-
try {
|
|
22
|
-
// Look for claude.costs.json in the package root (three levels up from dist/kosuke/utils)
|
|
23
|
-
const costsPath = join(__dirname, '..', '..', '..', 'claude.costs.json');
|
|
24
|
-
const costsContent = readFileSync(costsPath, 'utf-8');
|
|
25
|
-
costsCache = JSON.parse(costsContent);
|
|
26
|
-
return costsCache;
|
|
27
|
-
}
|
|
28
|
-
catch {
|
|
29
|
-
// Fallback to default Haiku costs if file not found
|
|
30
|
-
return {
|
|
31
|
-
models: {},
|
|
32
|
-
default: {
|
|
33
|
-
name: 'Claude Haiku 4.5',
|
|
34
|
-
input: 1.0,
|
|
35
|
-
output: 5.0,
|
|
36
|
-
cacheCreation: 1.25,
|
|
37
|
-
cacheRead: 0.1,
|
|
38
|
-
},
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Get cost configuration for a specific model
|
|
44
|
-
*/
|
|
45
|
-
function getModelCosts(model) {
|
|
46
|
-
const costs = loadCosts();
|
|
47
|
-
return costs.models[model] || costs.default;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Parse tool usage into structured action and params for streaming/display
|
|
51
|
-
*
|
|
52
|
-
* @param toolName - Name of the tool being used
|
|
53
|
-
* @param toolInput - Input parameters for the tool
|
|
54
|
-
* @returns Structured action and params object
|
|
55
|
-
*
|
|
56
|
-
* @example
|
|
57
|
-
* parseToolAction('Read', { file_path: '/path/to/file.ts' })
|
|
58
|
-
* // Returns: { action: 'Read', params: { path: '/path/to/file.ts' } }
|
|
59
|
-
*/
|
|
60
|
-
export function parseToolAction(toolName, toolInput) {
|
|
61
|
-
const params = {};
|
|
62
|
-
switch (toolName) {
|
|
63
|
-
case 'Read':
|
|
64
|
-
params.path = toolInput.file_path || toolInput.target_file;
|
|
65
|
-
break;
|
|
66
|
-
case 'Grep':
|
|
67
|
-
params.pattern = toolInput.pattern;
|
|
68
|
-
if (toolInput.type)
|
|
69
|
-
params.type = toolInput.type;
|
|
70
|
-
if (toolInput.glob)
|
|
71
|
-
params.glob = toolInput.glob;
|
|
72
|
-
if (toolInput.path)
|
|
73
|
-
params.path = toolInput.path;
|
|
74
|
-
break;
|
|
75
|
-
case 'Glob':
|
|
76
|
-
params.pattern = toolInput.glob_pattern || toolInput.pattern;
|
|
77
|
-
if (toolInput.target_directory)
|
|
78
|
-
params.directory = toolInput.target_directory;
|
|
79
|
-
break;
|
|
80
|
-
case 'LS':
|
|
81
|
-
params.path = toolInput.target_directory;
|
|
82
|
-
break;
|
|
83
|
-
case 'Task':
|
|
84
|
-
{
|
|
85
|
-
const description = toolInput.description;
|
|
86
|
-
params.description = description;
|
|
87
|
-
if (toolInput.subagent_type)
|
|
88
|
-
params.type = toolInput.subagent_type;
|
|
89
|
-
}
|
|
90
|
-
break;
|
|
91
|
-
case 'WebSearch':
|
|
92
|
-
params.query = toolInput.search_term;
|
|
93
|
-
break;
|
|
94
|
-
case 'WebFetch':
|
|
95
|
-
{
|
|
96
|
-
const url = toolInput.url;
|
|
97
|
-
params.url = url;
|
|
98
|
-
if (url) {
|
|
99
|
-
try {
|
|
100
|
-
params.domain = new URL(url).hostname;
|
|
101
|
-
}
|
|
102
|
-
catch {
|
|
103
|
-
params.domain = undefined;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
break;
|
|
108
|
-
case 'Edit':
|
|
109
|
-
case 'StrReplace':
|
|
110
|
-
case 'Write':
|
|
111
|
-
case 'Delete':
|
|
112
|
-
params.path = toolInput.file_path || toolInput.path;
|
|
113
|
-
break;
|
|
114
|
-
case 'Bash':
|
|
115
|
-
case 'Shell':
|
|
116
|
-
{
|
|
117
|
-
const command = toolInput.command;
|
|
118
|
-
params.command = command;
|
|
119
|
-
}
|
|
120
|
-
break;
|
|
121
|
-
case 'CodebaseSearch':
|
|
122
|
-
params.query = toolInput.query;
|
|
123
|
-
if (toolInput.target_directories) {
|
|
124
|
-
params.directories = toolInput.target_directories;
|
|
125
|
-
}
|
|
126
|
-
break;
|
|
127
|
-
default:
|
|
128
|
-
// For unknown tools, include all input params as fallback
|
|
129
|
-
Object.assign(params, toolInput);
|
|
130
|
-
break;
|
|
131
|
-
}
|
|
132
|
-
return { action: toolName, params };
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Check if a tool is a file modification tool
|
|
136
|
-
* Based on actual tool names used in the codebase
|
|
137
|
-
*/
|
|
138
|
-
function isFileModificationTool(toolName) {
|
|
139
|
-
return (toolName === 'Write' ||
|
|
140
|
-
toolName === 'StrReplace' ||
|
|
141
|
-
toolName === 'Edit' ||
|
|
142
|
-
toolName === 'Delete');
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Log tool usage
|
|
146
|
-
*/
|
|
147
|
-
export function logToolUsage(toolName, toolInput, filesReferenced) {
|
|
148
|
-
// Parse tool action using shared utility (handles normalization and params)
|
|
149
|
-
const input = toolInput && typeof toolInput === 'object' ? toolInput : {};
|
|
150
|
-
const parsed = parseToolAction(toolName, input);
|
|
151
|
-
// Track file references for Read operations
|
|
152
|
-
if (parsed.action === 'Read' && parsed.params.path) {
|
|
153
|
-
filesReferenced.add(parsed.params.path);
|
|
154
|
-
}
|
|
155
|
-
// Format log output based on tool type
|
|
156
|
-
let logMsg = '';
|
|
157
|
-
switch (parsed.action) {
|
|
158
|
-
case 'Write':
|
|
159
|
-
logMsg = ` ✍️ Writing ${parsed.params.path || 'file'}`;
|
|
160
|
-
break;
|
|
161
|
-
case 'StrReplace':
|
|
162
|
-
case 'Edit':
|
|
163
|
-
logMsg = ` ✏️ Editing ${parsed.params.path || 'file'}`;
|
|
164
|
-
break;
|
|
165
|
-
case 'Delete':
|
|
166
|
-
logMsg = ` 🗑️ Deleting ${parsed.params.path || 'file'}`;
|
|
167
|
-
break;
|
|
168
|
-
case 'Read':
|
|
169
|
-
logMsg = ` 📄 Reading ${parsed.params.path || 'file'}`;
|
|
170
|
-
break;
|
|
171
|
-
case 'Grep':
|
|
172
|
-
{
|
|
173
|
-
const pathInfo = parsed.params.path ? ` in ${parsed.params.path}` : '';
|
|
174
|
-
logMsg = ` 🔍 Searching: ${parsed.params.pattern}${pathInfo}`;
|
|
175
|
-
}
|
|
176
|
-
break;
|
|
177
|
-
case 'Glob':
|
|
178
|
-
{
|
|
179
|
-
const dirInfo = parsed.params.directory ? ` in ${parsed.params.directory}` : '';
|
|
180
|
-
logMsg = ` 📁 Finding: ${parsed.params.pattern}${dirInfo}`;
|
|
181
|
-
}
|
|
182
|
-
break;
|
|
183
|
-
case 'LS':
|
|
184
|
-
logMsg = ` 📂 Listing: ${parsed.params.path || 'directory'}`;
|
|
185
|
-
break;
|
|
186
|
-
case 'Task':
|
|
187
|
-
{
|
|
188
|
-
const taskType = parsed.params.type || 'Task';
|
|
189
|
-
logMsg = ` 🤖 ${taskType}: ${parsed.params.description || ''}`;
|
|
190
|
-
}
|
|
191
|
-
break;
|
|
192
|
-
case 'WebSearch':
|
|
193
|
-
logMsg = ` 🌐 Search: ${parsed.params.query}`;
|
|
194
|
-
break;
|
|
195
|
-
case 'WebFetch':
|
|
196
|
-
logMsg = ` 🌐 Fetching: ${parsed.params.domain || parsed.params.url}`;
|
|
197
|
-
break;
|
|
198
|
-
case 'Bash':
|
|
199
|
-
case 'Shell':
|
|
200
|
-
{
|
|
201
|
-
const cmd = parsed.params.command;
|
|
202
|
-
logMsg = ` 💻 Running: ${cmd}`;
|
|
203
|
-
}
|
|
204
|
-
break;
|
|
205
|
-
case 'CodebaseSearch':
|
|
206
|
-
{
|
|
207
|
-
const dirInfo = parsed.params.directories && Array.isArray(parsed.params.directories)
|
|
208
|
-
? ` in ${parsed.params.directories.join(', ')}`
|
|
209
|
-
: '';
|
|
210
|
-
logMsg = ` 🔎 Codebase search: ${parsed.params.query || 'query'}${dirInfo}`;
|
|
211
|
-
}
|
|
212
|
-
break;
|
|
213
|
-
default:
|
|
214
|
-
// Fallback: show full tool info for unknown tools
|
|
215
|
-
const args = formatToolArgs(toolInput);
|
|
216
|
-
logMsg = ` 🔧 ${parsed.action}(${args})`;
|
|
217
|
-
break;
|
|
218
|
-
}
|
|
219
|
-
console.log(logMsg);
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Calculate cost based on Claude pricing from claude.costs.json
|
|
223
|
-
*
|
|
224
|
-
* Costs are loaded from:
|
|
225
|
-
* 1. claude.costs.json model-specific costs (if model provided)
|
|
226
|
-
* 2. claude.costs.json default costs (fallback)
|
|
227
|
-
*/
|
|
228
|
-
export function calculateCost(inputTokens, outputTokens, cacheCreationTokens = 0, cacheReadTokens = 0, model) {
|
|
229
|
-
// Get costs from JSON (uses model if provided, otherwise default)
|
|
230
|
-
const costs = model ? getModelCosts(model) : loadCosts().default;
|
|
231
|
-
const inputCost = (inputTokens / 1000000) * costs.input;
|
|
232
|
-
const outputCost = (outputTokens / 1000000) * costs.output;
|
|
233
|
-
const cacheCreationCost = (cacheCreationTokens / 1000000) * costs.cacheCreation;
|
|
234
|
-
const cacheReadCost = (cacheReadTokens / 1000000) * costs.cacheRead;
|
|
235
|
-
return inputCost + outputCost + cacheCreationCost + cacheReadCost;
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* Format cost breakdown as human-readable string
|
|
239
|
-
*/
|
|
240
|
-
export function formatCostBreakdown(result) {
|
|
241
|
-
const tokenBreakdown = [];
|
|
242
|
-
if (result.tokensUsed.input > 0) {
|
|
243
|
-
tokenBreakdown.push(`${result.tokensUsed.input.toLocaleString()} input`);
|
|
244
|
-
}
|
|
245
|
-
if (result.tokensUsed.output > 0) {
|
|
246
|
-
tokenBreakdown.push(`${result.tokensUsed.output.toLocaleString()} output`);
|
|
247
|
-
}
|
|
248
|
-
if (result.tokensUsed.cacheCreation > 0) {
|
|
249
|
-
tokenBreakdown.push(`${result.tokensUsed.cacheCreation.toLocaleString()} cache write`);
|
|
250
|
-
}
|
|
251
|
-
if (result.tokensUsed.cacheRead > 0) {
|
|
252
|
-
tokenBreakdown.push(`${result.tokensUsed.cacheRead.toLocaleString()} cache read`);
|
|
253
|
-
}
|
|
254
|
-
return `$${result.cost.toFixed(4)} (${tokenBreakdown.join(' + ')} tokens)`;
|
|
255
|
-
}
|
|
256
|
-
/**
|
|
257
|
-
* Determine if text should be logged based on verbosity level
|
|
258
|
-
*/
|
|
259
|
-
function shouldLogText(text, verbosity) {
|
|
260
|
-
if (verbosity === 'verbose') {
|
|
261
|
-
return true;
|
|
262
|
-
}
|
|
263
|
-
if (verbosity === 'minimal') {
|
|
264
|
-
return false;
|
|
265
|
-
}
|
|
266
|
-
// Normal: Log key insights only
|
|
267
|
-
const keywords = [
|
|
268
|
-
'violation',
|
|
269
|
-
'fix',
|
|
270
|
-
'issue',
|
|
271
|
-
'error',
|
|
272
|
-
'found',
|
|
273
|
-
'located',
|
|
274
|
-
'implementation',
|
|
275
|
-
'✅',
|
|
276
|
-
'❌',
|
|
277
|
-
];
|
|
278
|
-
const lowerText = text.toLowerCase();
|
|
279
|
-
return keywords.some((keyword) => lowerText.includes(keyword)) || text.length < 200;
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* Log assistant message based on verbosity
|
|
283
|
-
*/
|
|
284
|
-
export function logAssistantMessage(text, verbosity) {
|
|
285
|
-
const trimmed = text.trim();
|
|
286
|
-
if (!trimmed || !shouldLogText(trimmed, verbosity)) {
|
|
287
|
-
return;
|
|
288
|
-
}
|
|
289
|
-
// Show full message without truncation
|
|
290
|
-
console.log(` 💭 ${trimmed}`);
|
|
291
|
-
}
|
|
292
|
-
/**
|
|
293
|
-
* Format tool arguments for display (no truncation)
|
|
294
|
-
*/
|
|
295
|
-
function formatToolArgs(input) {
|
|
296
|
-
if (!input || typeof input !== 'object') {
|
|
297
|
-
return JSON.stringify(input);
|
|
298
|
-
}
|
|
299
|
-
return JSON.stringify(input);
|
|
300
|
-
}
|
|
301
|
-
/**
|
|
302
|
-
* Run agent in streaming mode with typed events
|
|
303
|
-
* Yields Claude messages + final AgentResult with metrics
|
|
304
|
-
* For SSE integration and programmatic consumption
|
|
305
|
-
*
|
|
306
|
-
* @param prompt - User prompt/instruction
|
|
307
|
-
* @param config - Agent configuration
|
|
308
|
-
* @returns AsyncGenerator yielding AgentStreamEvent (messages + final result)
|
|
309
|
-
*/
|
|
310
|
-
export async function* runAgentStream(prompt, config) {
|
|
311
|
-
const { systemPrompt, maxTurns = 20, model = DEFAULT_ANTHROPIC_MODEL, cwd = process.cwd(), permissionMode = 'bypassPermissions', settingSources = ['project'], resume, allowedTools, disallowedTools, } = config;
|
|
312
|
-
// Create AbortController for SDK cleanup
|
|
313
|
-
const abortController = new AbortController();
|
|
314
|
-
const options = {
|
|
315
|
-
model,
|
|
316
|
-
systemPrompt,
|
|
317
|
-
maxTurns,
|
|
318
|
-
cwd,
|
|
319
|
-
permissionMode,
|
|
320
|
-
settingSources,
|
|
321
|
-
abortController,
|
|
322
|
-
...(resume && { resume }),
|
|
323
|
-
...(allowedTools && { allowedTools }),
|
|
324
|
-
...(disallowedTools && { disallowedTools }),
|
|
325
|
-
};
|
|
326
|
-
const responseStream = query({ prompt, options });
|
|
327
|
-
let response = '';
|
|
328
|
-
let inputTokens = 0;
|
|
329
|
-
let outputTokens = 0;
|
|
330
|
-
let cacheCreationTokens = 0;
|
|
331
|
-
let cacheReadTokens = 0;
|
|
332
|
-
let fixCount = 0;
|
|
333
|
-
const filesReferenced = new Set();
|
|
334
|
-
let sessionId;
|
|
335
|
-
// Process the response stream
|
|
336
|
-
for await (const message of responseStream) {
|
|
337
|
-
const claudeMessage = message;
|
|
338
|
-
// Yield the message
|
|
339
|
-
yield { type: 'message', data: claudeMessage };
|
|
340
|
-
// Capture session ID
|
|
341
|
-
if (!sessionId && claudeMessage.session_id) {
|
|
342
|
-
sessionId = claudeMessage.session_id;
|
|
343
|
-
}
|
|
344
|
-
// Track metrics from assistant messages
|
|
345
|
-
if (claudeMessage.type === 'assistant' && claudeMessage.message?.content) {
|
|
346
|
-
for (const block of claudeMessage.message.content) {
|
|
347
|
-
if (block.type === 'text' && block.text) {
|
|
348
|
-
response += block.text;
|
|
349
|
-
}
|
|
350
|
-
else if (block.type === 'tool_use' && block.name) {
|
|
351
|
-
// Track fixes - count all file modification tools
|
|
352
|
-
if (isFileModificationTool(block.name)) {
|
|
353
|
-
fixCount++;
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
// Track token usage
|
|
359
|
-
if (claudeMessage.type === 'result' &&
|
|
360
|
-
claudeMessage.subtype === 'success' &&
|
|
361
|
-
claudeMessage.usage) {
|
|
362
|
-
inputTokens += claudeMessage.usage.input_tokens || 0;
|
|
363
|
-
outputTokens += claudeMessage.usage.output_tokens || 0;
|
|
364
|
-
cacheCreationTokens += claudeMessage.usage.cache_creation_input_tokens || 0;
|
|
365
|
-
cacheReadTokens += claudeMessage.usage.cache_read_input_tokens || 0;
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
// Calculate cost
|
|
369
|
-
const cost = calculateCost(inputTokens, outputTokens, cacheCreationTokens, cacheReadTokens);
|
|
370
|
-
// Yield final result
|
|
371
|
-
yield {
|
|
372
|
-
type: 'agent_result',
|
|
373
|
-
data: {
|
|
374
|
-
response: response.trim(),
|
|
375
|
-
tokensUsed: {
|
|
376
|
-
input: inputTokens,
|
|
377
|
-
output: outputTokens,
|
|
378
|
-
cacheCreation: cacheCreationTokens,
|
|
379
|
-
cacheRead: cacheReadTokens,
|
|
380
|
-
},
|
|
381
|
-
cost,
|
|
382
|
-
fixCount,
|
|
383
|
-
filesReferenced,
|
|
384
|
-
sessionId,
|
|
385
|
-
},
|
|
386
|
-
};
|
|
387
|
-
}
|
|
388
|
-
//# sourceMappingURL=claude-agent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claude-agent.js","sourceRoot":"","sources":["../../../kosuke/utils/claude-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Constants used across Kosuke CLI
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Directory for cached GitHub repositories and local project workspaces
|
|
6
|
-
*/
|
|
7
|
-
export declare const REPOS_DIR: string;
|
|
8
|
-
/**
|
|
9
|
-
* Directory for Playwright trace files (video/screenshots)
|
|
10
|
-
*/
|
|
11
|
-
export declare const TRACES_DIR: string;
|
|
12
|
-
/**
|
|
13
|
-
* Default Anthropic Claude model (can be overridden via ANTHROPIC_MODEL env var)
|
|
14
|
-
*/
|
|
15
|
-
export declare const DEFAULT_ANTHROPIC_MODEL: string;
|
|
16
|
-
/**
|
|
17
|
-
* Default database URL for PostgreSQL (can be overridden via POSTGRES_URL env var)
|
|
18
|
-
*/
|
|
19
|
-
export declare const DEFAULT_DB_URL: string;
|
|
20
|
-
/**
|
|
21
|
-
* Default test URL for E2E tests (can be overridden via TEST_URL env var)
|
|
22
|
-
*/
|
|
23
|
-
export declare const DEFAULT_TEST_URL: string;
|
|
24
|
-
/**
|
|
25
|
-
* Default server port for serve command (can be overridden via PORT env var)
|
|
26
|
-
*/
|
|
27
|
-
export declare const DEFAULT_SERVER_PORT: number;
|
|
28
|
-
/**
|
|
29
|
-
* Kosuke API base URL for logging (optional)
|
|
30
|
-
*/
|
|
31
|
-
export declare const KOSUKE_BASE_URL: string;
|
|
32
|
-
/**
|
|
33
|
-
* Kosuke API key for logging (optional)
|
|
34
|
-
*/
|
|
35
|
-
export declare const KOSUKE_API_KEY: string;
|
|
36
|
-
/**
|
|
37
|
-
* Kosuke project ID for logging (optional)
|
|
38
|
-
*/
|
|
39
|
-
export declare const KOSUKE_PROJECT_ID: string;
|
|
40
|
-
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../kosuke/utils/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH;;GAEG;AACH,eAAO,MAAM,SAAS,QAA0B,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,UAAU,QAAwB,CAAC;AAMhD;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAA6D,CAAC;AAElG;;GAEG;AACH,eAAO,MAAM,cAAc,QACyD,CAAC;AAErF;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAkD,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAA2D,CAAC;AAM5F;;GAEG;AACH,eAAO,MAAM,eAAe,QAAoC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,cAAc,QAAmC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAsC,CAAC"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Constants used across Kosuke CLI
|
|
3
|
-
*/
|
|
4
|
-
// ============================================================================
|
|
5
|
-
// File System & Cache Directories
|
|
6
|
-
// ============================================================================
|
|
7
|
-
/**
|
|
8
|
-
* Base cache directory for Kosuke CLI (can be overridden via KOSUKE_CACHE_DIR env var)
|
|
9
|
-
* Internal constant - not exported
|
|
10
|
-
*/
|
|
11
|
-
const CACHE_DIR = process.env.KOSUKE_CACHE_DIR || '.kosuke';
|
|
12
|
-
/**
|
|
13
|
-
* Directory for cached GitHub repositories and local project workspaces
|
|
14
|
-
*/
|
|
15
|
-
export const REPOS_DIR = `${CACHE_DIR}/projects`;
|
|
16
|
-
/**
|
|
17
|
-
* Directory for Playwright trace files (video/screenshots)
|
|
18
|
-
*/
|
|
19
|
-
export const TRACES_DIR = `${CACHE_DIR}/traces`;
|
|
20
|
-
// ============================================================================
|
|
21
|
-
// API & Service Configuration
|
|
22
|
-
// ============================================================================
|
|
23
|
-
/**
|
|
24
|
-
* Default Anthropic Claude model (can be overridden via ANTHROPIC_MODEL env var)
|
|
25
|
-
*/
|
|
26
|
-
export const DEFAULT_ANTHROPIC_MODEL = process.env.ANTHROPIC_MODEL || 'claude-haiku-4-5-20251001';
|
|
27
|
-
/**
|
|
28
|
-
* Default database URL for PostgreSQL (can be overridden via POSTGRES_URL env var)
|
|
29
|
-
*/
|
|
30
|
-
export const DEFAULT_DB_URL = process.env.POSTGRES_URL || 'postgres://postgres:postgres@localhost:5432/postgres';
|
|
31
|
-
/**
|
|
32
|
-
* Default test URL for E2E tests (can be overridden via TEST_URL env var)
|
|
33
|
-
*/
|
|
34
|
-
export const DEFAULT_TEST_URL = process.env.TEST_URL || 'http://localhost:3000';
|
|
35
|
-
/**
|
|
36
|
-
* Default server port for serve command (can be overridden via PORT env var)
|
|
37
|
-
*/
|
|
38
|
-
export const DEFAULT_SERVER_PORT = process.env.PORT ? parseInt(process.env.PORT, 10) : 3000;
|
|
39
|
-
// ============================================================================
|
|
40
|
-
// Kosuke API Configuration (Optional Logging)
|
|
41
|
-
// ============================================================================
|
|
42
|
-
/**
|
|
43
|
-
* Kosuke API base URL for logging (optional)
|
|
44
|
-
*/
|
|
45
|
-
export const KOSUKE_BASE_URL = process.env.KOSUKE_BASE_URL || '';
|
|
46
|
-
/**
|
|
47
|
-
* Kosuke API key for logging (optional)
|
|
48
|
-
*/
|
|
49
|
-
export const KOSUKE_API_KEY = process.env.KOSUKE_API_KEY || '';
|
|
50
|
-
/**
|
|
51
|
-
* Kosuke project ID for logging (optional)
|
|
52
|
-
*/
|
|
53
|
-
export const KOSUKE_PROJECT_ID = process.env.KOSUKE_PROJECT_ID || '';
|
|
54
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../kosuke/utils/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,SAAS,WAAW,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,SAAS,SAAS,CAAC;AAEhD,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,2BAA2B,CAAC;AAElG;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GACzB,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,sDAAsD,CAAC;AAErF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,uBAAuB,CAAC;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAE5F,+EAA+E;AAC/E,8CAA8C;AAC9C,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* File discovery utilities for Kosuke CLI
|
|
3
|
-
*/
|
|
4
|
-
interface DiscoverFilesOptions {
|
|
5
|
-
include?: string[];
|
|
6
|
-
scope?: string;
|
|
7
|
-
types?: string[];
|
|
8
|
-
cwd?: string;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Discover files to analyze, respecting .kosukeignore
|
|
12
|
-
*/
|
|
13
|
-
export declare function discoverFiles(options?: DiscoverFilesOptions): Promise<string[]>;
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=file-discovery.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-discovery.d.ts","sourceRoot":"","sources":["../../../kosuke/utils/file-discovery.ts"],"names":[],"mappings":"AAAA;;GAEG;AA0BH,UAAU,oBAAoB;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA8DzF"}
|