takt 0.1.5 → 0.1.6
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 +4 -4
- 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/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
|
@@ -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
|
|
|
@@ -105,7 +105,45 @@ Perform self-check after implementation.
|
|
|
105
105
|
| Boy Scout | Leave touched areas slightly improved |
|
|
106
106
|
| Fail Fast | Detect errors early. Don't swallow them |
|
|
107
107
|
|
|
108
|
-
**When in doubt**: Choose Simple.
|
|
108
|
+
**When in doubt**: Choose Simple.
|
|
109
|
+
|
|
110
|
+
## Abstraction Principles
|
|
111
|
+
|
|
112
|
+
**Before adding conditional branches, consider:**
|
|
113
|
+
- Does this condition exist elsewhere? → Abstract with a pattern
|
|
114
|
+
- Will more branches be added? → Use Strategy/Map pattern
|
|
115
|
+
- Branching on type? → Replace with polymorphism
|
|
116
|
+
|
|
117
|
+
```typescript
|
|
118
|
+
// ❌ Adding more conditionals
|
|
119
|
+
if (type === 'A') { ... }
|
|
120
|
+
else if (type === 'B') { ... }
|
|
121
|
+
else if (type === 'C') { ... } // Yet another one
|
|
122
|
+
|
|
123
|
+
// ✅ Abstract with Map
|
|
124
|
+
const handlers = { A: handleA, B: handleB, C: handleC };
|
|
125
|
+
handlers[type]?.();
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Align abstraction levels:**
|
|
129
|
+
- Keep same granularity of operations within one function
|
|
130
|
+
- Extract detailed processing to separate functions
|
|
131
|
+
- Don't mix "what to do" with "how to do it"
|
|
132
|
+
|
|
133
|
+
```typescript
|
|
134
|
+
// ❌ Mixed abstraction levels
|
|
135
|
+
function processOrder(order) {
|
|
136
|
+
validateOrder(order); // High level
|
|
137
|
+
const conn = pool.getConnection(); // Low level detail
|
|
138
|
+
conn.query('INSERT...'); // Low level detail
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// ✅ Aligned abstraction levels
|
|
142
|
+
function processOrder(order) {
|
|
143
|
+
validateOrder(order);
|
|
144
|
+
saveOrder(order); // Details hidden
|
|
145
|
+
}
|
|
146
|
+
```
|
|
109
147
|
|
|
110
148
|
**Follow language/framework conventions:**
|
|
111
149
|
- Be Pythonic in Python, Kotlin-like in Kotlin
|
|
@@ -134,6 +172,121 @@ Perform self-check after implementation.
|
|
|
134
172
|
- Children don't modify state directly (notify parent via events)
|
|
135
173
|
- State flows in one direction
|
|
136
174
|
|
|
175
|
+
## Error Handling
|
|
176
|
+
|
|
177
|
+
**Principle: Centralize error handling. Don't scatter try-catch everywhere.**
|
|
178
|
+
|
|
179
|
+
```typescript
|
|
180
|
+
// ❌ Try-catch everywhere
|
|
181
|
+
async function createUser(data) {
|
|
182
|
+
try {
|
|
183
|
+
const user = await userService.create(data)
|
|
184
|
+
return user
|
|
185
|
+
} catch (e) {
|
|
186
|
+
console.error(e)
|
|
187
|
+
throw new Error('Failed to create user')
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// ✅ Centralized handling at upper layer
|
|
192
|
+
// Catch at Controller/Handler layer
|
|
193
|
+
// Or use @ControllerAdvice / ErrorBoundary
|
|
194
|
+
async function createUser(data) {
|
|
195
|
+
return await userService.create(data) // Let exceptions propagate
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**Error handling placement:**
|
|
200
|
+
|
|
201
|
+
| Layer | Responsibility |
|
|
202
|
+
|-------|----------------|
|
|
203
|
+
| Domain/Service layer | Throw exceptions on business rule violations |
|
|
204
|
+
| Controller/Handler layer | Catch exceptions and convert to response |
|
|
205
|
+
| Global handler | Handle common exceptions (NotFound, auth errors, etc.) |
|
|
206
|
+
|
|
207
|
+
## Transformation Placement
|
|
208
|
+
|
|
209
|
+
**Principle: Put conversion methods on DTOs.**
|
|
210
|
+
|
|
211
|
+
```typescript
|
|
212
|
+
// ✅ Request/Response DTOs have conversion methods
|
|
213
|
+
interface CreateUserRequest {
|
|
214
|
+
name: string
|
|
215
|
+
email: string
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
function toUseCaseInput(req: CreateUserRequest): CreateUserInput {
|
|
219
|
+
return { name: req.name, email: req.email }
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
// Controller
|
|
223
|
+
const input = toUseCaseInput(request)
|
|
224
|
+
const output = await useCase.execute(input)
|
|
225
|
+
return UserResponse.from(output)
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
**Conversion direction:**
|
|
229
|
+
```
|
|
230
|
+
Request → toInput() → UseCase/Service → Output → Response.from()
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
## Extraction Decisions
|
|
234
|
+
|
|
235
|
+
**Rule of Three:**
|
|
236
|
+
- 1st time: Write it inline
|
|
237
|
+
- 2nd time: Don't extract yet (wait and see)
|
|
238
|
+
- 3rd time: Consider extraction
|
|
239
|
+
|
|
240
|
+
**Should extract:**
|
|
241
|
+
- Same logic in 3+ places
|
|
242
|
+
- Same style/UI pattern
|
|
243
|
+
- Same validation logic
|
|
244
|
+
- Same formatting logic
|
|
245
|
+
|
|
246
|
+
**Should NOT extract:**
|
|
247
|
+
- Similar but slightly different (forced generalization adds complexity)
|
|
248
|
+
- Used in only 1-2 places
|
|
249
|
+
- Based on "might use later" predictions
|
|
250
|
+
|
|
251
|
+
```typescript
|
|
252
|
+
// ❌ Over-generalization
|
|
253
|
+
function formatValue(value, type, options) {
|
|
254
|
+
if (type === 'currency') { ... }
|
|
255
|
+
else if (type === 'date') { ... }
|
|
256
|
+
else if (type === 'percentage') { ... }
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
// ✅ Separate functions by purpose
|
|
260
|
+
function formatCurrency(amount: number): string { ... }
|
|
261
|
+
function formatDate(date: Date): string { ... }
|
|
262
|
+
function formatPercentage(value: number): string { ... }
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
## Writing Tests
|
|
266
|
+
|
|
267
|
+
**Principle: Structure tests with "Given-When-Then".**
|
|
268
|
+
|
|
269
|
+
```typescript
|
|
270
|
+
test('returns NotFound error when user does not exist', async () => {
|
|
271
|
+
// Given: non-existent user ID
|
|
272
|
+
const nonExistentId = 'non-existent-id'
|
|
273
|
+
|
|
274
|
+
// When: attempt to get user
|
|
275
|
+
const result = await getUser(nonExistentId)
|
|
276
|
+
|
|
277
|
+
// Then: NotFound error is returned
|
|
278
|
+
expect(result.error).toBe('NOT_FOUND')
|
|
279
|
+
})
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
**Test priority:**
|
|
283
|
+
|
|
284
|
+
| Priority | Target |
|
|
285
|
+
|----------|--------|
|
|
286
|
+
| High | Business logic, state transitions |
|
|
287
|
+
| Medium | Edge cases, error handling |
|
|
288
|
+
| Low | Simple CRUD, UI appearance |
|
|
289
|
+
|
|
137
290
|
## Prohibited
|
|
138
291
|
|
|
139
292
|
- **Fallback value overuse** - Don't hide problems with `?? 'unknown'`, `|| 'default'`
|
|
@@ -143,4 +296,5 @@ Perform self-check after implementation.
|
|
|
143
296
|
- **Direct object/array mutation** - Create new with spread operator
|
|
144
297
|
- **console.log** - Don't leave in production code
|
|
145
298
|
- **Hardcoded secrets**
|
|
299
|
+
- **Scattered try-catch** - Centralize error handling at upper layer
|
|
146
300
|
|