takt 0.1.5 → 0.1.7
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/agents/runner.d.ts +1 -1
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +13 -34
- package/dist/agents/runner.js.map +1 -1
- package/dist/cli.d.ts +2 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +5 -8
- package/dist/cli.js.map +1 -1
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +4 -8
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/index.d.ts +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/taskExecution.d.ts +1 -6
- package/dist/commands/taskExecution.d.ts.map +1 -1
- package/dist/commands/taskExecution.js +2 -6
- package/dist/commands/taskExecution.js.map +1 -1
- package/dist/commands/workflowExecution.d.ts +0 -2
- package/dist/commands/workflowExecution.d.ts.map +1 -1
- package/dist/commands/workflowExecution.js +9 -11
- package/dist/commands/workflowExecution.js.map +1 -1
- package/dist/mock/client.d.ts +27 -0
- package/dist/mock/client.d.ts.map +1 -0
- package/dist/mock/client.js +56 -0
- package/dist/mock/client.js.map +1 -0
- package/dist/models/schemas.d.ts +6 -0
- package/dist/models/schemas.d.ts.map +1 -1
- package/dist/models/schemas.js +9 -9
- package/dist/models/schemas.js.map +1 -1
- package/dist/models/types.d.ts +4 -4
- package/dist/models/types.d.ts.map +1 -1
- package/dist/providers/claude.d.ts +11 -0
- package/dist/providers/claude.d.ts.map +1 -0
- package/dist/providers/claude.js +37 -0
- package/dist/providers/claude.js.map +1 -0
- package/dist/providers/codex.d.ts +11 -0
- package/dist/providers/codex.d.ts.map +1 -0
- package/dist/providers/codex.js +29 -0
- package/dist/providers/codex.js.map +1 -0
- package/dist/providers/index.d.ts +39 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +32 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/mock.d.ts +11 -0
- package/dist/providers/mock.d.ts.map +1 -0
- package/dist/providers/mock.js +24 -0
- package/dist/providers/mock.js.map +1 -0
- package/package.json +1 -1
- package/resources/global/en/agents/default/architect.md +67 -6
- package/resources/global/en/agents/default/coder.md +155 -1
- package/resources/global/en/workflows/expert-review.yaml +1 -1
- package/resources/global/en/workflows/simple.yaml +594 -0
- package/resources/global/ja/agents/default/architect.md +62 -1
- package/resources/global/ja/agents/default/coder.md +156 -2
- package/resources/global/ja/agents/expert-review/cqrs-es-reviewer.md +328 -8
- package/resources/global/ja/agents/expert-review/frontend-reviewer.md +303 -33
- package/resources/global/ja/workflows/expert-review.yaml +1 -1
- package/resources/global/ja/workflows/simple.yaml +594 -0
package/dist/models/schemas.js
CHANGED
|
@@ -53,7 +53,7 @@ export const WorkflowStepRawSchema = z.object({
|
|
|
53
53
|
/** Display name for the agent (shown in output). Falls back to agent basename if not specified */
|
|
54
54
|
agent_name: z.string().optional(),
|
|
55
55
|
allowed_tools: z.array(z.string()).optional(),
|
|
56
|
-
provider: z.enum(['claude', 'codex']).optional(),
|
|
56
|
+
provider: z.enum(['claude', 'codex', 'mock']).optional(),
|
|
57
57
|
model: z.string().optional(),
|
|
58
58
|
instruction: z.string().optional(),
|
|
59
59
|
instruction_template: z.string().optional(),
|
|
@@ -83,7 +83,7 @@ export const CustomAgentConfigSchema = z.object({
|
|
|
83
83
|
status_patterns: z.record(z.string(), z.string()).optional(),
|
|
84
84
|
claude_agent: z.string().optional(),
|
|
85
85
|
claude_skill: z.string().optional(),
|
|
86
|
-
provider: z.enum(['claude', 'codex']).optional(),
|
|
86
|
+
provider: z.enum(['claude', 'codex', 'mock']).optional(),
|
|
87
87
|
model: z.string().optional(),
|
|
88
88
|
}).refine((data) => data.prompt_file || data.prompt || data.claude_agent || data.claude_skill, { message: 'Agent must have prompt_file, prompt, claude_agent, or claude_skill' });
|
|
89
89
|
/** Debug config schema */
|
|
@@ -99,7 +99,7 @@ export const GlobalConfigSchema = z.object({
|
|
|
99
99
|
trusted_directories: z.array(z.string()).optional().default([]),
|
|
100
100
|
default_workflow: z.string().optional().default('default'),
|
|
101
101
|
log_level: z.enum(['debug', 'info', 'warn', 'error']).optional().default('info'),
|
|
102
|
-
provider: z.enum(['claude', 'codex']).optional().default('claude'),
|
|
102
|
+
provider: z.enum(['claude', 'codex', 'mock']).optional().default('claude'),
|
|
103
103
|
model: z.string().optional(),
|
|
104
104
|
debug: DebugConfigSchema.optional(),
|
|
105
105
|
});
|
|
@@ -107,7 +107,7 @@ export const GlobalConfigSchema = z.object({
|
|
|
107
107
|
export const ProjectConfigSchema = z.object({
|
|
108
108
|
workflow: z.string().optional(),
|
|
109
109
|
agents: z.array(CustomAgentConfigSchema).optional(),
|
|
110
|
-
provider: z.enum(['claude', 'codex']).optional(),
|
|
110
|
+
provider: z.enum(['claude', 'codex', 'mock']).optional(),
|
|
111
111
|
});
|
|
112
112
|
/**
|
|
113
113
|
* Generic status patterns that match any role name
|
|
@@ -117,10 +117,10 @@ export const ProjectConfigSchema = z.object({
|
|
|
117
117
|
* Custom agents can override these patterns in their configuration.
|
|
118
118
|
*/
|
|
119
119
|
export const GENERIC_STATUS_PATTERNS = {
|
|
120
|
-
approved: '\\[\\w+:APPROVE\\]',
|
|
121
|
-
rejected: '\\[\\w+:REJECT\\]',
|
|
122
|
-
improve: '\\[\\w+:IMPROVE\\]',
|
|
123
|
-
done: '\\[\\w+:(DONE|FIXED)\\]',
|
|
124
|
-
blocked: '\\[\\w+:BLOCKED\\]',
|
|
120
|
+
approved: '\\[[\\w-]+:APPROVE\\]',
|
|
121
|
+
rejected: '\\[[\\w-]+:REJECT\\]',
|
|
122
|
+
improve: '\\[[\\w-]+:IMPROVE\\]',
|
|
123
|
+
done: '\\[[\\w-]+:(DONE|FIXED)\\]',
|
|
124
|
+
blocked: '\\[[\\w-]+:BLOCKED\\]',
|
|
125
125
|
};
|
|
126
126
|
//# sourceMappingURL=schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/models/schemas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,wBAAwB;AACxB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEtF,oBAAoB;AACpB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC;IACjC,SAAS;IACT,aAAa;IACb,MAAM;IACN,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,WAAW;IACX,aAAa;CACd,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC9C,MAAM;IACN,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;CACT,CAAC,CAAC;AAEH,mCAAmC;AACnC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAEjF,iCAAiC;AACjC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,yBAAyB;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5B,CAAC,CAAC;AAEH,6CAA6C;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,kGAAkG;IAClG,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/models/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/models/types.d.ts
CHANGED
|
@@ -42,7 +42,7 @@ export interface WorkflowStep {
|
|
|
42
42
|
/** Resolved absolute path to agent prompt file (set by loader) */
|
|
43
43
|
agentPath?: string;
|
|
44
44
|
/** Provider override for this step */
|
|
45
|
-
provider?: 'claude' | 'codex';
|
|
45
|
+
provider?: 'claude' | 'codex' | 'mock';
|
|
46
46
|
/** Model override for this step */
|
|
47
47
|
model?: string;
|
|
48
48
|
instructionTemplate: string;
|
|
@@ -102,7 +102,7 @@ export interface CustomAgentConfig {
|
|
|
102
102
|
statusPatterns?: Record<string, string>;
|
|
103
103
|
claudeAgent?: string;
|
|
104
104
|
claudeSkill?: string;
|
|
105
|
-
provider?: 'claude' | 'codex';
|
|
105
|
+
provider?: 'claude' | 'codex' | 'mock';
|
|
106
106
|
model?: string;
|
|
107
107
|
}
|
|
108
108
|
/** Debug configuration for takt */
|
|
@@ -118,7 +118,7 @@ export interface GlobalConfig {
|
|
|
118
118
|
trustedDirectories: string[];
|
|
119
119
|
defaultWorkflow: string;
|
|
120
120
|
logLevel: 'debug' | 'info' | 'warn' | 'error';
|
|
121
|
-
provider?: 'claude' | 'codex';
|
|
121
|
+
provider?: 'claude' | 'codex' | 'mock';
|
|
122
122
|
model?: string;
|
|
123
123
|
debug?: DebugConfig;
|
|
124
124
|
}
|
|
@@ -126,6 +126,6 @@ export interface GlobalConfig {
|
|
|
126
126
|
export interface ProjectConfig {
|
|
127
127
|
workflow?: string;
|
|
128
128
|
agents?: CustomAgentConfig[];
|
|
129
|
-
provider?: 'claude' | 'codex';
|
|
129
|
+
provider?: 'claude' | 'codex' | 'mock';
|
|
130
130
|
}
|
|
131
131
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,2BAA2B;AAC3B,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,CAAC;AAExE,gDAAgD;AAChD,MAAM,MAAM,MAAM,GACd,SAAS,GACT,aAAa,GACb,MAAM,GACN,SAAS,GACT,UAAU,GACV,UAAU,GACV,SAAS,GACT,WAAW,GACX,aAAa,CAAC;AAElB,+CAA+C;AAC/C,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,SAAS,GACT,UAAU,GACV,UAAU,GACV,SAAS,GACT,QAAQ,CAAC;AAEb,uCAAuC;AACvC,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2CAA2C;AAC3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,6CAA6C;AAC7C,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,8DAA8D;AAC9D,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAElE,gCAAgC;AAChC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,kGAAkG;IAClG,gBAAgB,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude provider implementation
|
|
3
|
+
*/
|
|
4
|
+
import type { AgentResponse } from '../models/types.js';
|
|
5
|
+
import type { Provider, ProviderCallOptions } from './index.js';
|
|
6
|
+
/** Claude provider - wraps existing Claude client */
|
|
7
|
+
export declare class ClaudeProvider implements Provider {
|
|
8
|
+
call(agentName: string, prompt: string, options: ProviderCallOptions): Promise<AgentResponse>;
|
|
9
|
+
callCustom(agentName: string, prompt: string, systemPrompt: string, options: ProviderCallOptions): Promise<AgentResponse>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=claude.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEhE,qDAAqD;AACrD,qBAAa,cAAe,YAAW,QAAQ;IACvC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAiB7F,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;CAehI"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude provider implementation
|
|
3
|
+
*/
|
|
4
|
+
import { callClaude, callClaudeCustom } from '../claude/client.js';
|
|
5
|
+
/** Claude provider - wraps existing Claude client */
|
|
6
|
+
export class ClaudeProvider {
|
|
7
|
+
async call(agentName, prompt, options) {
|
|
8
|
+
const callOptions = {
|
|
9
|
+
cwd: options.cwd,
|
|
10
|
+
sessionId: options.sessionId,
|
|
11
|
+
allowedTools: options.allowedTools,
|
|
12
|
+
model: options.model,
|
|
13
|
+
systemPrompt: options.systemPrompt,
|
|
14
|
+
statusPatterns: options.statusPatterns,
|
|
15
|
+
onStream: options.onStream,
|
|
16
|
+
onPermissionRequest: options.onPermissionRequest,
|
|
17
|
+
onAskUserQuestion: options.onAskUserQuestion,
|
|
18
|
+
bypassPermissions: options.bypassPermissions,
|
|
19
|
+
};
|
|
20
|
+
return callClaude(agentName, prompt, callOptions);
|
|
21
|
+
}
|
|
22
|
+
async callCustom(agentName, prompt, systemPrompt, options) {
|
|
23
|
+
const callOptions = {
|
|
24
|
+
cwd: options.cwd,
|
|
25
|
+
sessionId: options.sessionId,
|
|
26
|
+
allowedTools: options.allowedTools,
|
|
27
|
+
model: options.model,
|
|
28
|
+
statusPatterns: options.statusPatterns,
|
|
29
|
+
onStream: options.onStream,
|
|
30
|
+
onPermissionRequest: options.onPermissionRequest,
|
|
31
|
+
onAskUserQuestion: options.onAskUserQuestion,
|
|
32
|
+
bypassPermissions: options.bypassPermissions,
|
|
33
|
+
};
|
|
34
|
+
return callClaudeCustom(agentName, prompt, systemPrompt, callOptions);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=claude.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAA0B,MAAM,qBAAqB,CAAC;AAI3F,qDAAqD;AACrD,MAAM,OAAO,cAAc;IACzB,KAAK,CAAC,IAAI,CAAC,SAAiB,EAAE,MAAc,EAAE,OAA4B;QACxE,MAAM,WAAW,GAAsB;YACrC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;SAC7C,CAAC;QAEF,OAAO,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,MAAc,EAAE,YAAoB,EAAE,OAA4B;QACpG,MAAM,WAAW,GAAsB;YACrC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;SAC7C,CAAC;QAEF,OAAO,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC;CACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codex provider implementation
|
|
3
|
+
*/
|
|
4
|
+
import type { AgentResponse } from '../models/types.js';
|
|
5
|
+
import type { Provider, ProviderCallOptions } from './index.js';
|
|
6
|
+
/** Codex provider - wraps existing Codex client */
|
|
7
|
+
export declare class CodexProvider implements Provider {
|
|
8
|
+
call(agentName: string, prompt: string, options: ProviderCallOptions): Promise<AgentResponse>;
|
|
9
|
+
callCustom(agentName: string, prompt: string, systemPrompt: string, options: ProviderCallOptions): Promise<AgentResponse>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=codex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/providers/codex.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEhE,mDAAmD;AACnD,qBAAa,aAAc,YAAW,QAAQ;IACtC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAa7F,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;CAWhI"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codex provider implementation
|
|
3
|
+
*/
|
|
4
|
+
import { callCodex, callCodexCustom } from '../codex/client.js';
|
|
5
|
+
/** Codex provider - wraps existing Codex client */
|
|
6
|
+
export class CodexProvider {
|
|
7
|
+
async call(agentName, prompt, options) {
|
|
8
|
+
const callOptions = {
|
|
9
|
+
cwd: options.cwd,
|
|
10
|
+
sessionId: options.sessionId,
|
|
11
|
+
model: options.model,
|
|
12
|
+
systemPrompt: options.systemPrompt,
|
|
13
|
+
statusPatterns: options.statusPatterns,
|
|
14
|
+
onStream: options.onStream,
|
|
15
|
+
};
|
|
16
|
+
return callCodex(agentName, prompt, callOptions);
|
|
17
|
+
}
|
|
18
|
+
async callCustom(agentName, prompt, systemPrompt, options) {
|
|
19
|
+
const callOptions = {
|
|
20
|
+
cwd: options.cwd,
|
|
21
|
+
sessionId: options.sessionId,
|
|
22
|
+
model: options.model,
|
|
23
|
+
statusPatterns: options.statusPatterns,
|
|
24
|
+
onStream: options.onStream,
|
|
25
|
+
};
|
|
26
|
+
return callCodexCustom(agentName, prompt, systemPrompt, callOptions);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=codex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/providers/codex.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAyB,MAAM,oBAAoB,CAAC;AAIvF,mDAAmD;AACnD,MAAM,OAAO,aAAa;IACxB,KAAK,CAAC,IAAI,CAAC,SAAiB,EAAE,MAAc,EAAE,OAA4B;QACxE,MAAM,WAAW,GAAqB;YACpC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;QAEF,OAAO,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,MAAc,EAAE,YAAoB,EAAE,OAA4B;QACpG,MAAM,WAAW,GAAqB;YACpC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;QAEF,OAAO,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IACvE,CAAC;CACF"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider abstraction layer
|
|
3
|
+
*
|
|
4
|
+
* Provides a unified interface for different agent providers (Claude, Codex, Mock).
|
|
5
|
+
* This enables adding new providers without modifying the runner logic.
|
|
6
|
+
*/
|
|
7
|
+
import type { StreamCallback, PermissionHandler, AskUserQuestionHandler } from '../claude/process.js';
|
|
8
|
+
import type { AgentResponse } from '../models/types.js';
|
|
9
|
+
/** Common options for all providers */
|
|
10
|
+
export interface ProviderCallOptions {
|
|
11
|
+
cwd: string;
|
|
12
|
+
sessionId?: string;
|
|
13
|
+
model?: string;
|
|
14
|
+
systemPrompt?: string;
|
|
15
|
+
allowedTools?: string[];
|
|
16
|
+
statusPatterns?: Record<string, string>;
|
|
17
|
+
onStream?: StreamCallback;
|
|
18
|
+
onPermissionRequest?: PermissionHandler;
|
|
19
|
+
onAskUserQuestion?: AskUserQuestionHandler;
|
|
20
|
+
bypassPermissions?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/** Provider interface - all providers must implement this */
|
|
23
|
+
export interface Provider {
|
|
24
|
+
/** Call the provider with a prompt (using systemPrompt from options if provided) */
|
|
25
|
+
call(agentName: string, prompt: string, options: ProviderCallOptions): Promise<AgentResponse>;
|
|
26
|
+
/** Call the provider with explicit system prompt */
|
|
27
|
+
callCustom(agentName: string, prompt: string, systemPrompt: string, options: ProviderCallOptions): Promise<AgentResponse>;
|
|
28
|
+
}
|
|
29
|
+
/** Provider type */
|
|
30
|
+
export type ProviderType = 'claude' | 'codex' | 'mock';
|
|
31
|
+
/**
|
|
32
|
+
* Get a provider instance by type
|
|
33
|
+
*/
|
|
34
|
+
export declare function getProvider(type: ProviderType): Provider;
|
|
35
|
+
/**
|
|
36
|
+
* Register a custom provider
|
|
37
|
+
*/
|
|
38
|
+
export declare function registerProvider(type: string, provider: Provider): void;
|
|
39
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAKxD,uCAAuC;AACvC,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACxC,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,6DAA6D;AAC7D,MAAM,WAAW,QAAQ;IACvB,oFAAoF;IACpF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE9F,oDAAoD;IACpD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAC3H;AAED,oBAAoB;AACpB,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AASvD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ,CAMxD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAEvE"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider abstraction layer
|
|
3
|
+
*
|
|
4
|
+
* Provides a unified interface for different agent providers (Claude, Codex, Mock).
|
|
5
|
+
* This enables adding new providers without modifying the runner logic.
|
|
6
|
+
*/
|
|
7
|
+
import { ClaudeProvider } from './claude.js';
|
|
8
|
+
import { CodexProvider } from './codex.js';
|
|
9
|
+
import { MockProvider } from './mock.js';
|
|
10
|
+
/** Provider registry */
|
|
11
|
+
const providers = {
|
|
12
|
+
claude: new ClaudeProvider(),
|
|
13
|
+
codex: new CodexProvider(),
|
|
14
|
+
mock: new MockProvider(),
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Get a provider instance by type
|
|
18
|
+
*/
|
|
19
|
+
export function getProvider(type) {
|
|
20
|
+
const provider = providers[type];
|
|
21
|
+
if (!provider) {
|
|
22
|
+
throw new Error(`Unknown provider type: ${type}`);
|
|
23
|
+
}
|
|
24
|
+
return provider;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Register a custom provider
|
|
28
|
+
*/
|
|
29
|
+
export function registerProvider(type, provider) {
|
|
30
|
+
providers[type] = provider;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AA4BzC,wBAAwB;AACxB,MAAM,SAAS,GAAmC;IAChD,MAAM,EAAE,IAAI,cAAc,EAAE;IAC5B,KAAK,EAAE,IAAI,aAAa,EAAE;IAC1B,IAAI,EAAE,IAAI,YAAY,EAAE;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAkB;IAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,QAAkB;IAC9D,SAAsC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mock provider implementation
|
|
3
|
+
*/
|
|
4
|
+
import type { AgentResponse } from '../models/types.js';
|
|
5
|
+
import type { Provider, ProviderCallOptions } from './index.js';
|
|
6
|
+
/** Mock provider - wraps existing Mock client */
|
|
7
|
+
export declare class MockProvider implements Provider {
|
|
8
|
+
call(agentName: string, prompt: string, options: ProviderCallOptions): Promise<AgentResponse>;
|
|
9
|
+
callCustom(agentName: string, prompt: string, _systemPrompt: string, options: ProviderCallOptions): Promise<AgentResponse>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=mock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../src/providers/mock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEhE,iDAAiD;AACjD,qBAAa,YAAa,YAAW,QAAQ;IACrC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAU7F,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;CASjI"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mock provider implementation
|
|
3
|
+
*/
|
|
4
|
+
import { callMock, callMockCustom } from '../mock/client.js';
|
|
5
|
+
/** Mock provider - wraps existing Mock client */
|
|
6
|
+
export class MockProvider {
|
|
7
|
+
async call(agentName, prompt, options) {
|
|
8
|
+
const callOptions = {
|
|
9
|
+
cwd: options.cwd,
|
|
10
|
+
sessionId: options.sessionId,
|
|
11
|
+
onStream: options.onStream,
|
|
12
|
+
};
|
|
13
|
+
return callMock(agentName, prompt, callOptions);
|
|
14
|
+
}
|
|
15
|
+
async callCustom(agentName, prompt, _systemPrompt, options) {
|
|
16
|
+
const callOptions = {
|
|
17
|
+
cwd: options.cwd,
|
|
18
|
+
sessionId: options.sessionId,
|
|
19
|
+
onStream: options.onStream,
|
|
20
|
+
};
|
|
21
|
+
return callMockCustom(agentName, prompt, _systemPrompt, callOptions);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=mock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock.js","sourceRoot":"","sources":["../../src/providers/mock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAwB,MAAM,mBAAmB,CAAC;AAInF,iDAAiD;AACjD,MAAM,OAAO,YAAY;IACvB,KAAK,CAAC,IAAI,CAAC,SAAiB,EAAE,MAAc,EAAE,OAA4B;QACxE,MAAM,WAAW,GAAoB;YACnC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;QAEF,OAAO,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,MAAc,EAAE,aAAqB,EAAE,OAA4B;QACrG,MAAM,WAAW,GAAoB;YACnC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;QAEF,OAAO,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IACvE,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -159,7 +159,68 @@ Prohibited patterns:
|
|
|
159
159
|
| Hidden Dependencies | Child components implicitly calling APIs etc. |
|
|
160
160
|
| Non-idiomatic | Custom implementation ignoring language/FW conventions |
|
|
161
161
|
|
|
162
|
-
### 6.
|
|
162
|
+
### 6. Abstraction Level Evaluation
|
|
163
|
+
|
|
164
|
+
**Conditional Branch Proliferation Detection:**
|
|
165
|
+
|
|
166
|
+
| Pattern | Judgment |
|
|
167
|
+
|---------|----------|
|
|
168
|
+
| Same if-else pattern in 3+ places | Abstract with polymorphism → **REJECT** |
|
|
169
|
+
| switch/case with 5+ branches | Consider Strategy/Map pattern |
|
|
170
|
+
| Flag arguments changing behavior | Split into separate functions → **REJECT** |
|
|
171
|
+
| Type-based branching (instanceof/typeof) | Replace with polymorphism → **REJECT** |
|
|
172
|
+
| Nested conditionals (3+ levels) | Early return or extract → **REJECT** |
|
|
173
|
+
|
|
174
|
+
**Abstraction Level Mismatch Detection:**
|
|
175
|
+
|
|
176
|
+
| Pattern | Problem | Fix |
|
|
177
|
+
|---------|---------|-----|
|
|
178
|
+
| Low-level details in high-level processing | Hard to read | Extract details to functions |
|
|
179
|
+
| Mixed abstraction levels in one function | Cognitive load | Align to same granularity |
|
|
180
|
+
| DB operations mixed with business logic | Responsibility violation | Separate to Repository layer |
|
|
181
|
+
| Config values mixed with processing logic | Hard to change | Externalize configuration |
|
|
182
|
+
|
|
183
|
+
**Good Abstraction Examples:**
|
|
184
|
+
|
|
185
|
+
```typescript
|
|
186
|
+
// ❌ Proliferating conditionals
|
|
187
|
+
function process(type: string) {
|
|
188
|
+
if (type === 'A') { /* process A */ }
|
|
189
|
+
else if (type === 'B') { /* process B */ }
|
|
190
|
+
else if (type === 'C') { /* process C */ }
|
|
191
|
+
// ...continues
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// ✅ Abstract with Map pattern
|
|
195
|
+
const processors: Record<string, () => void> = {
|
|
196
|
+
A: processA,
|
|
197
|
+
B: processB,
|
|
198
|
+
C: processC,
|
|
199
|
+
};
|
|
200
|
+
function process(type: string) {
|
|
201
|
+
processors[type]?.();
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
```typescript
|
|
206
|
+
// ❌ Mixed abstraction levels
|
|
207
|
+
function createUser(data: UserData) {
|
|
208
|
+
// High level: business logic
|
|
209
|
+
validateUser(data);
|
|
210
|
+
// Low level: DB operation details
|
|
211
|
+
const conn = await pool.getConnection();
|
|
212
|
+
await conn.query('INSERT INTO users...');
|
|
213
|
+
conn.release();
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
// ✅ Aligned abstraction levels
|
|
217
|
+
function createUser(data: UserData) {
|
|
218
|
+
validateUser(data);
|
|
219
|
+
await userRepository.save(data); // Details hidden
|
|
220
|
+
}
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### 7. Unnecessary Backward Compatibility Code Detection
|
|
163
224
|
|
|
164
225
|
**AI tends to leave unnecessary code "for backward compatibility." Don't overlook this.**
|
|
165
226
|
|
|
@@ -188,7 +249,7 @@ Code that should be kept:
|
|
|
188
249
|
|
|
189
250
|
**Be suspicious when AI says "for backward compatibility."** Verify if it's really needed.
|
|
190
251
|
|
|
191
|
-
###
|
|
252
|
+
### 8. Workaround Detection
|
|
192
253
|
|
|
193
254
|
**Don't overlook compromises made to "just make it work."**
|
|
194
255
|
|
|
@@ -203,7 +264,7 @@ Code that should be kept:
|
|
|
203
264
|
|
|
204
265
|
**Always point these out.** Temporary fixes become permanent.
|
|
205
266
|
|
|
206
|
-
###
|
|
267
|
+
### 9. Quality Attributes
|
|
207
268
|
|
|
208
269
|
| Attribute | Review Point |
|
|
209
270
|
|-----------|--------------|
|
|
@@ -211,7 +272,7 @@ Code that should be kept:
|
|
|
211
272
|
| Maintainability | Easy to modify and fix |
|
|
212
273
|
| Observability | Logging and monitoring enabled |
|
|
213
274
|
|
|
214
|
-
###
|
|
275
|
+
### 10. Big Picture
|
|
215
276
|
|
|
216
277
|
**Caution**: Don't get lost in minor "clean code" nitpicks.
|
|
217
278
|
|
|
@@ -222,7 +283,7 @@ Verify:
|
|
|
222
283
|
- Does it align with business requirements
|
|
223
284
|
- Is naming consistent with the domain
|
|
224
285
|
|
|
225
|
-
###
|
|
286
|
+
### 11. Change Scope Assessment
|
|
226
287
|
|
|
227
288
|
**Check change scope and include in report (non-blocking).**
|
|
228
289
|
|
|
@@ -241,7 +302,7 @@ Verify:
|
|
|
241
302
|
**Include as suggestions (non-blocking):**
|
|
242
303
|
- If splittable, present splitting proposal
|
|
243
304
|
|
|
244
|
-
###
|
|
305
|
+
### 12. Circular Review Detection
|
|
245
306
|
|
|
246
307
|
When review count is provided (e.g., "Review count: 3rd"), adjust judgment accordingly.
|
|
247
308
|
|