code-gate 1.2.0 → 1.3.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.
Files changed (67) hide show
  1. package/README.md +105 -2
  2. package/README_ZH.md +103 -1
  3. package/dist/agent/index.d.ts +8 -0
  4. package/dist/agent/index.js +10 -0
  5. package/dist/agent/index.js.map +1 -0
  6. package/dist/agent/orchestrator.d.ts +13 -0
  7. package/dist/agent/orchestrator.js +109 -0
  8. package/dist/agent/orchestrator.js.map +1 -0
  9. package/dist/agent/prompts/system.d.ts +14 -0
  10. package/dist/agent/prompts/system.js +108 -0
  11. package/dist/agent/prompts/system.js.map +1 -0
  12. package/dist/agent/tools/index.d.ts +15 -0
  13. package/dist/agent/tools/index.js +57 -0
  14. package/dist/agent/tools/index.js.map +1 -0
  15. package/dist/agent/tools/list-directory.d.ts +13 -0
  16. package/dist/agent/tools/list-directory.js +162 -0
  17. package/dist/agent/tools/list-directory.js.map +1 -0
  18. package/dist/agent/tools/read-file.d.ts +13 -0
  19. package/dist/agent/tools/read-file.js +106 -0
  20. package/dist/agent/tools/read-file.js.map +1 -0
  21. package/dist/agent/tools/search-content.d.ts +13 -0
  22. package/dist/agent/tools/search-content.js +110 -0
  23. package/dist/agent/tools/search-content.js.map +1 -0
  24. package/dist/agent/tools/types.d.ts +71 -0
  25. package/dist/agent/tools/types.js +5 -0
  26. package/dist/agent/tools/types.js.map +1 -0
  27. package/dist/agent/types.d.ts +55 -0
  28. package/dist/agent/types.js +5 -0
  29. package/dist/agent/types.js.map +1 -0
  30. package/dist/cli/commands/hook.js +18 -3
  31. package/dist/cli/commands/hook.js.map +1 -1
  32. package/dist/cli/commands/review.js +18 -3
  33. package/dist/cli/commands/review.js.map +1 -1
  34. package/dist/config/defaults.js +5 -0
  35. package/dist/config/defaults.js.map +1 -1
  36. package/dist/config/types.d.ts +6 -0
  37. package/dist/core/review.d.ts +2 -1
  38. package/dist/core/review.js +128 -66
  39. package/dist/core/review.js.map +1 -1
  40. package/dist/llm/base.d.ts +20 -0
  41. package/dist/llm/base.js +15 -0
  42. package/dist/llm/base.js.map +1 -1
  43. package/dist/llm/index.d.ts +13 -1
  44. package/dist/llm/index.js +25 -0
  45. package/dist/llm/index.js.map +1 -1
  46. package/dist/llm/providers/deepseek.d.ts +20 -2
  47. package/dist/llm/providers/deepseek.js +89 -4
  48. package/dist/llm/providers/deepseek.js.map +1 -1
  49. package/dist/llm/providers/zhipu.d.ts +20 -2
  50. package/dist/llm/providers/zhipu.js +80 -4
  51. package/dist/llm/providers/zhipu.js.map +1 -1
  52. package/dist/locales/de.js +3 -0
  53. package/dist/locales/de.js.map +1 -1
  54. package/dist/locales/en.js +3 -0
  55. package/dist/locales/en.js.map +1 -1
  56. package/dist/locales/fr.js +3 -0
  57. package/dist/locales/fr.js.map +1 -1
  58. package/dist/locales/ja.js +3 -0
  59. package/dist/locales/ja.js.map +1 -1
  60. package/dist/locales/ko.js +3 -0
  61. package/dist/locales/ko.js.map +1 -1
  62. package/dist/locales/types.d.ts +3 -0
  63. package/dist/locales/zh-CN.js +3 -0
  64. package/dist/locales/zh-CN.js.map +1 -1
  65. package/dist/locales/zh-TW.js +3 -0
  66. package/dist/locales/zh-TW.js.map +1 -1
  67. package/package.json +1 -1
@@ -1,7 +1,17 @@
1
1
  import OpenAI from 'openai';
2
- import { BaseLLMProvider } from '../base.js';
3
- export class DeepSeekProvider extends BaseLLMProvider {
4
- async review(input) {
2
+ import { BaseAgentProvider } from '../base.js';
3
+ export class DeepSeekProvider extends BaseAgentProvider {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.client = null;
7
+ }
8
+ /**
9
+ * 获取或创建 OpenAI 客户端
10
+ */
11
+ getClient() {
12
+ if (this.client) {
13
+ return this.client;
14
+ }
5
15
  const opts = this.config.providerOptions?.deepseek;
6
16
  // Clean up baseURL to avoid issues with copy-pasted configs containing backticks
7
17
  const baseURL = (opts?.baseURL || 'https://api.deepseek.com').replace(/`/g, '').trim();
@@ -10,7 +20,15 @@ export class DeepSeekProvider extends BaseLLMProvider {
10
20
  if (!apiKey) {
11
21
  throw new Error(`Missing DeepSeek API key. Please set ${apiKeyEnv} in environment variables or configure 'apiKey' in .codegate.js`);
12
22
  }
13
- const client = new OpenAI({ baseURL, apiKey });
23
+ this.client = new OpenAI({ baseURL, apiKey });
24
+ return this.client;
25
+ }
26
+ /**
27
+ * 普通模式审查
28
+ */
29
+ async review(input) {
30
+ const client = this.getClient();
31
+ const opts = this.config.providerOptions?.deepseek;
14
32
  const model = opts?.model || 'deepseek-chat';
15
33
  const res = await client.chat.completions.create({
16
34
  model,
@@ -22,5 +40,72 @@ export class DeepSeekProvider extends BaseLLMProvider {
22
40
  });
23
41
  return res.choices?.[0]?.message?.content || '';
24
42
  }
43
+ /**
44
+ * 带工具的 LLM 调用(Agent 模式使用)
45
+ */
46
+ async callLLMWithTools(messages, tools) {
47
+ const client = this.getClient();
48
+ const opts = this.config.providerOptions?.deepseek;
49
+ const model = opts?.model || 'deepseek-chat';
50
+ // 检测是否使用 Reasoner 模型
51
+ const isReasonerModel = model.includes('reasoner');
52
+ // 转换消息格式
53
+ const openaiMessages = messages.map(m => {
54
+ if (m.role === 'tool') {
55
+ return {
56
+ role: 'tool',
57
+ content: m.content || '',
58
+ tool_call_id: m.tool_call_id
59
+ };
60
+ }
61
+ if (m.role === 'assistant' && m.tool_calls) {
62
+ const assistantMsg = {
63
+ role: 'assistant',
64
+ content: m.content,
65
+ tool_calls: m.tool_calls.map(tc => ({
66
+ id: tc.id,
67
+ type: 'function',
68
+ function: {
69
+ name: tc.name,
70
+ arguments: JSON.stringify(tc.arguments)
71
+ }
72
+ }))
73
+ };
74
+ // DeepSeek Reasoner 模型需要保留 reasoning_content
75
+ if (isReasonerModel && m.reasoning_content) {
76
+ assistantMsg.reasoning_content = m.reasoning_content;
77
+ }
78
+ return assistantMsg;
79
+ }
80
+ return {
81
+ role: m.role,
82
+ content: m.content || ''
83
+ };
84
+ });
85
+ // 调用 API
86
+ const response = await client.chat.completions.create({
87
+ model,
88
+ messages: openaiMessages,
89
+ tools: tools.length > 0 ? tools.map(t => ({
90
+ type: 'function',
91
+ function: t.function
92
+ })) : undefined,
93
+ tool_choice: tools.length > 0 ? 'auto' : undefined,
94
+ ...opts?.request
95
+ });
96
+ const message = response.choices?.[0]?.message;
97
+ // 解析工具调用
98
+ const toolCalls = (message?.tool_calls || []).map((tc) => ({
99
+ id: tc.id,
100
+ name: tc.function.name,
101
+ arguments: JSON.parse(tc.function.arguments || '{}')
102
+ }));
103
+ return {
104
+ content: message?.content || null,
105
+ toolCalls,
106
+ // DeepSeek Reasoner 模型会返回 reasoning_content
107
+ reasoning_content: message?.reasoning_content
108
+ };
109
+ }
25
110
  }
26
111
  //# sourceMappingURL=deepseek.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deepseek.js","sourceRoot":"","sources":["../../../src/llm/providers/deepseek.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,eAAe,EAAe,MAAM,YAAY,CAAA;AAEzD,MAAM,OAAO,gBAAiB,SAAQ,eAAe;IACnD,KAAK,CAAC,MAAM,CAAC,KAAkB;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAA;QAClD,iFAAiF;QACjF,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,0BAA0B,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACtF,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,kBAAkB,CAAA;QACvD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,MAAM,CAAA;QAErD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,wCAAwC,SAAS,iEAAiE,CAAC,CAAA;QACrI,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,eAAe,CAAA;QAE5C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC/C,KAAK;YACL,QAAQ,EAAE;gBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE;gBACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;aAC5D;YACD,GAAG,IAAI,EAAE,OAAO;SACjB,CAAC,CAAA;QAEF,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAA;IACjD,CAAC;CACF"}
1
+ {"version":3,"file":"deepseek.js","sourceRoot":"","sources":["../../../src/llm/providers/deepseek.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,22 @@
1
- import { BaseLLMProvider, ReviewInput } from '../base.js';
2
- export declare class ZhipuProvider extends BaseLLMProvider {
1
+ import { BaseAgentProvider, ReviewInput } from '../base.js';
2
+ import type { AgentMessage } from '../../agent/types.js';
3
+ import type { ToolDefinition, ToolCall } from '../../agent/tools/types.js';
4
+ export declare class ZhipuProvider extends BaseAgentProvider {
5
+ private client;
6
+ /**
7
+ * 获取或创建 OpenAI 客户端
8
+ */
9
+ private getClient;
10
+ /**
11
+ * 普通模式审查
12
+ */
3
13
  review(input: ReviewInput): Promise<string>;
14
+ /**
15
+ * 带工具的 LLM 调用(Agent 模式使用)
16
+ */
17
+ protected callLLMWithTools(messages: AgentMessage[], tools: ToolDefinition[]): Promise<{
18
+ content: string | null;
19
+ toolCalls: ToolCall[];
20
+ reasoning_content?: string;
21
+ }>;
4
22
  }
@@ -1,7 +1,17 @@
1
1
  import OpenAI from 'openai';
2
- import { BaseLLMProvider } from '../base.js';
3
- export class ZhipuProvider extends BaseLLMProvider {
4
- async review(input) {
2
+ import { BaseAgentProvider } from '../base.js';
3
+ export class ZhipuProvider extends BaseAgentProvider {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.client = null;
7
+ }
8
+ /**
9
+ * 获取或创建 OpenAI 客户端
10
+ */
11
+ getClient() {
12
+ if (this.client) {
13
+ return this.client;
14
+ }
5
15
  const opts = this.config.providerOptions?.zhipu;
6
16
  const baseURL = (opts?.baseURL || 'https://open.bigmodel.cn/api/paas/v4').replace(/`/g, '').trim();
7
17
  const apiKeyEnv = opts?.apiKeyEnv || 'ZHIPU_API_KEY';
@@ -9,7 +19,15 @@ export class ZhipuProvider extends BaseLLMProvider {
9
19
  if (!apiKey) {
10
20
  throw new Error(`Missing Zhipu AI API key. Please set ${apiKeyEnv} in environment variables or configure 'apiKey' in .codegate.js`);
11
21
  }
12
- const client = new OpenAI({ baseURL, apiKey });
22
+ this.client = new OpenAI({ baseURL, apiKey });
23
+ return this.client;
24
+ }
25
+ /**
26
+ * 普通模式审查
27
+ */
28
+ async review(input) {
29
+ const client = this.getClient();
30
+ const opts = this.config.providerOptions?.zhipu;
13
31
  const model = opts?.model || 'glm-4';
14
32
  const res = await client.chat.completions.create({
15
33
  model,
@@ -21,5 +39,63 @@ export class ZhipuProvider extends BaseLLMProvider {
21
39
  });
22
40
  return res.choices?.[0]?.message?.content || '';
23
41
  }
42
+ /**
43
+ * 带工具的 LLM 调用(Agent 模式使用)
44
+ */
45
+ async callLLMWithTools(messages, tools) {
46
+ const client = this.getClient();
47
+ const opts = this.config.providerOptions?.zhipu;
48
+ const model = opts?.model || 'glm-4';
49
+ // 转换消息格式
50
+ const openaiMessages = messages.map(m => {
51
+ if (m.role === 'tool') {
52
+ return {
53
+ role: 'tool',
54
+ content: m.content || '',
55
+ tool_call_id: m.tool_call_id
56
+ };
57
+ }
58
+ if (m.role === 'assistant' && m.tool_calls) {
59
+ return {
60
+ role: 'assistant',
61
+ content: m.content,
62
+ tool_calls: m.tool_calls.map(tc => ({
63
+ id: tc.id,
64
+ type: 'function',
65
+ function: {
66
+ name: tc.name,
67
+ arguments: JSON.stringify(tc.arguments)
68
+ }
69
+ }))
70
+ };
71
+ }
72
+ return {
73
+ role: m.role,
74
+ content: m.content || ''
75
+ };
76
+ });
77
+ // 调用 API
78
+ const response = await client.chat.completions.create({
79
+ model,
80
+ messages: openaiMessages,
81
+ tools: tools.length > 0 ? tools.map(t => ({
82
+ type: 'function',
83
+ function: t.function
84
+ })) : undefined,
85
+ tool_choice: tools.length > 0 ? 'auto' : undefined,
86
+ ...opts?.request
87
+ });
88
+ const message = response.choices?.[0]?.message;
89
+ // 解析工具调用
90
+ const toolCalls = (message?.tool_calls || []).map(tc => ({
91
+ id: tc.id,
92
+ name: tc.function.name,
93
+ arguments: JSON.parse(tc.function.arguments || '{}')
94
+ }));
95
+ return {
96
+ content: message?.content || null,
97
+ toolCalls
98
+ };
99
+ }
24
100
  }
25
101
  //# sourceMappingURL=zhipu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zhipu.js","sourceRoot":"","sources":["../../../src/llm/providers/zhipu.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,eAAe,EAAe,MAAM,YAAY,CAAA;AAEzD,MAAM,OAAO,aAAc,SAAQ,eAAe;IAChD,KAAK,CAAC,MAAM,CAAC,KAAkB;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAAA;QAC/C,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,sCAAsC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAClG,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,eAAe,CAAA;QACpD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,MAAM,CAAA;QAErD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,wCAAwC,SAAS,iEAAiE,CAAC,CAAA;QACrI,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,OAAO,CAAA;QAEpC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC/C,KAAK;YACL,QAAQ,EAAE;gBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE;gBACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;aAC5D;YACD,GAAG,IAAI,EAAE,OAAO;SACjB,CAAC,CAAA;QAEF,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAA;IACjD,CAAC;CACF"}
1
+ {"version":3,"file":"zhipu.js","sourceRoot":"","sources":["../../../src/llm/providers/zhipu.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,10 @@ export const de = {
7
7
  reviewSkipped: 'AI-Review übersprungen',
8
8
  initReview: 'AI-Review wird initialisiert...',
9
9
  preparingReview: 'Bereite Review für {total} Dateien vor...',
10
+ preparingReviewAgent: '[Agent-Modus] Bereite Review für {total} Dateien vor...',
10
11
  analyzing: 'Analysiere [{idx}/{total}] {file}',
12
+ analyzingAgent: '[Agent] Sammle Kontext...',
13
+ agentToolCall: '[Agent] Werkzeugaufruf: {tool}',
11
14
  taskSubmitted: 'AI-Review-Aufgabe gesendet',
12
15
  previewUrl: 'Vorschau-URL',
13
16
  confirmCommit: 'Review abgeschlossen. Mit Commit fortfahren?',
@@ -1 +1 @@
1
- {"version":3,"file":"de.js","sourceRoot":"","sources":["../../src/locales/de.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAgB;IAC7B,GAAG,EAAE;QACH,OAAO,EAAE,uBAAuB;QAChC,cAAc,EAAE,iEAAiE;QACjF,aAAa,EAAE,8CAA8C;QAC7D,WAAW,EAAE,qBAAqB;QAClC,aAAa,EAAE,wBAAwB;QACvC,UAAU,EAAE,iCAAiC;QAC7C,eAAe,EAAE,2CAA2C;QAC5D,SAAS,EAAE,mCAAmC;QAC9C,aAAa,EAAE,4BAA4B;QAC3C,UAAU,EAAE,cAAc;QAC1B,aAAa,EAAE,8CAA8C;QAC7D,eAAe,EAAE,oBAAoB;QACrC,eAAe,EAAE,iCAAiC;QAClD,aAAa,EAAE,+DAA+D;QAC9E,iBAAiB,EAAE,kGAAkG;QACrH,gBAAgB,EAAE,6CAA6C;QAC/D,cAAc,EAAE,gEAAgE;QAChF,OAAO,EAAE,+BAA+B;QACxC,kBAAkB,EAAE,0EAA0E;KAC/F;IACD,EAAE,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,gBAAgB;QAC/B,YAAY,EAAE,oBAAoB;QAClC,UAAU,EAAE,YAAY;QACxB,gBAAgB,EAAE,wCAAwC;QAC1D,WAAW,EAAE,8BAA8B;KAC5C;IACD,MAAM,EAAE;QACN,YAAY,EAAE,sJAAsJ;KACrK;CACF,CAAA"}
1
+ {"version":3,"file":"de.js","sourceRoot":"","sources":["../../src/locales/de.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAgB;IAC7B,GAAG,EAAE;QACH,OAAO,EAAE,uBAAuB;QAChC,cAAc,EAAE,iEAAiE;QACjF,aAAa,EAAE,8CAA8C;QAC7D,WAAW,EAAE,qBAAqB;QAClC,aAAa,EAAE,wBAAwB;QACvC,UAAU,EAAE,iCAAiC;QAC7C,eAAe,EAAE,2CAA2C;QAC5D,oBAAoB,EAAE,yDAAyD;QAC/E,SAAS,EAAE,mCAAmC;QAC9C,cAAc,EAAE,2BAA2B;QAC3C,aAAa,EAAE,gCAAgC;QAC/C,aAAa,EAAE,4BAA4B;QAC3C,UAAU,EAAE,cAAc;QAC1B,aAAa,EAAE,8CAA8C;QAC7D,eAAe,EAAE,oBAAoB;QACrC,eAAe,EAAE,iCAAiC;QAClD,aAAa,EAAE,+DAA+D;QAC9E,iBAAiB,EAAE,kGAAkG;QACrH,gBAAgB,EAAE,6CAA6C;QAC/D,cAAc,EAAE,gEAAgE;QAChF,OAAO,EAAE,+BAA+B;QACxC,kBAAkB,EAAE,0EAA0E;KAC/F;IACD,EAAE,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,gBAAgB;QAC/B,YAAY,EAAE,oBAAoB;QAClC,UAAU,EAAE,YAAY;QACxB,gBAAgB,EAAE,wCAAwC;QAC1D,WAAW,EAAE,8BAA8B;KAC5C;IACD,MAAM,EAAE;QACN,YAAY,EAAE,sJAAsJ;KACrK;CACF,CAAA"}
@@ -7,7 +7,10 @@ export const en = {
7
7
  reviewSkipped: 'AI Review skipped',
8
8
  initReview: 'Initializing AI Review...',
9
9
  preparingReview: 'Preparing to review {total} files...',
10
+ preparingReviewAgent: '[Agent Mode] Preparing to review {total} files...',
10
11
  analyzing: 'Analyzing [{idx}/{total}] {file}',
12
+ analyzingAgent: '[Agent] Gathering context...',
13
+ agentToolCall: '[Agent] Calling tool: {tool}',
11
14
  taskSubmitted: 'AI Review task submitted',
12
15
  previewUrl: 'Preview URL',
13
16
  confirmCommit: 'Review completed. Continue to commit?',
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAgB;IAC7B,GAAG,EAAE;QACH,OAAO,EAAE,uBAAuB;QAChC,cAAc,EAAE,yDAAyD;QACzE,aAAa,EAAE,oCAAoC;QACnD,WAAW,EAAE,qBAAqB;QAClC,aAAa,EAAE,mBAAmB;QAClC,UAAU,EAAE,2BAA2B;QACvC,eAAe,EAAE,sCAAsC;QACvD,SAAS,EAAE,kCAAkC;QAC7C,aAAa,EAAE,0BAA0B;QACzC,UAAU,EAAE,aAAa;QACzB,aAAa,EAAE,uCAAuC;QACtD,eAAe,EAAE,kBAAkB;QACnC,eAAe,EAAE,iCAAiC;QAClD,aAAa,EAAE,2DAA2D;QAC1E,iBAAiB,EAAE,8EAA8E;QACjG,gBAAgB,EAAE,wBAAwB;QAC1C,cAAc,EAAE,qDAAqD;QACrE,OAAO,EAAE,2BAA2B;QACpC,kBAAkB,EAAE,qDAAqD;KAC1E;IACD,EAAE,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,aAAa;QAC5B,YAAY,EAAE,YAAY;QAC1B,UAAU,EAAE,UAAU;QACtB,gBAAgB,EAAE,mCAAmC;QACrD,WAAW,EAAE,6BAA6B;KAC3C;IACD,MAAM,EAAE;QACN,YAAY,EAAE,iIAAiI;KAChJ;CACF,CAAA"}
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAgB;IAC7B,GAAG,EAAE;QACH,OAAO,EAAE,uBAAuB;QAChC,cAAc,EAAE,yDAAyD;QACzE,aAAa,EAAE,oCAAoC;QACnD,WAAW,EAAE,qBAAqB;QAClC,aAAa,EAAE,mBAAmB;QAClC,UAAU,EAAE,2BAA2B;QACvC,eAAe,EAAE,sCAAsC;QACvD,oBAAoB,EAAE,mDAAmD;QACzE,SAAS,EAAE,kCAAkC;QAC7C,cAAc,EAAE,8BAA8B;QAC9C,aAAa,EAAE,8BAA8B;QAC7C,aAAa,EAAE,0BAA0B;QACzC,UAAU,EAAE,aAAa;QACzB,aAAa,EAAE,uCAAuC;QACtD,eAAe,EAAE,kBAAkB;QACnC,eAAe,EAAE,iCAAiC;QAClD,aAAa,EAAE,2DAA2D;QAC1E,iBAAiB,EAAE,8EAA8E;QACjG,gBAAgB,EAAE,wBAAwB;QAC1C,cAAc,EAAE,qDAAqD;QACrE,OAAO,EAAE,2BAA2B;QACpC,kBAAkB,EAAE,qDAAqD;KAC1E;IACD,EAAE,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,aAAa;QAC5B,YAAY,EAAE,YAAY;QAC1B,UAAU,EAAE,UAAU;QACtB,gBAAgB,EAAE,mCAAmC;QACrD,WAAW,EAAE,6BAA6B;KAC3C;IACD,MAAM,EAAE;QACN,YAAY,EAAE,iIAAiI;KAChJ;CACF,CAAA"}
@@ -7,7 +7,10 @@ export const fr = {
7
7
  reviewSkipped: 'Révision AI ignorée',
8
8
  initReview: 'Initialisation de la révision AI...',
9
9
  preparingReview: 'Préparation de la révision pour {total} fichiers...',
10
+ preparingReviewAgent: '[Mode Agent] Préparation de la révision pour {total} fichiers...',
10
11
  analyzing: 'Analyse en cours [{idx}/{total}] {file}',
12
+ analyzingAgent: '[Agent] Collecte du contexte...',
13
+ agentToolCall: '[Agent] Appel d\'outil: {tool}',
11
14
  taskSubmitted: 'Tâche de révision AI soumise',
12
15
  previewUrl: 'URL de prévisualisation',
13
16
  confirmCommit: 'Révision terminée. Continuer le commit ?',
@@ -1 +1 @@
1
- {"version":3,"file":"fr.js","sourceRoot":"","sources":["../../src/locales/fr.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAgB;IAC7B,GAAG,EAAE;QACH,OAAO,EAAE,uBAAuB;QAChC,cAAc,EAAE,2DAA2D;QAC3E,aAAa,EAAE,6DAA6D;QAC5E,WAAW,EAAE,mBAAmB;QAChC,aAAa,EAAE,qBAAqB;QACpC,UAAU,EAAE,qCAAqC;QACjD,eAAe,EAAE,qDAAqD;QACtE,SAAS,EAAE,yCAAyC;QACpD,aAAa,EAAE,8BAA8B;QAC7C,UAAU,EAAE,yBAAyB;QACrC,aAAa,EAAE,0CAA0C;QACzD,eAAe,EAAE,eAAe;QAChC,eAAe,EAAE,+CAA+C;QAChE,aAAa,EAAE,gFAAgF;QAC/F,iBAAiB,EAAE,wHAAwH;QAC3I,gBAAgB,EAAE,oCAAoC;QACtD,cAAc,EAAE,oEAAoE;QACpF,OAAO,EAAE,mCAAmC;QAC5C,kBAAkB,EAAE,gEAAgE;KACrF;IACD,EAAE,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,gBAAgB;QAC/B,YAAY,EAAE,WAAW;QACzB,UAAU,EAAE,aAAa;QACzB,gBAAgB,EAAE,yCAAyC;QAC3D,WAAW,EAAE,sCAAsC;KACpD;IACD,MAAM,EAAE;QACN,YAAY,EAAE,2IAA2I;KAC1J;CACF,CAAA"}
1
+ {"version":3,"file":"fr.js","sourceRoot":"","sources":["../../src/locales/fr.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAgB;IAC7B,GAAG,EAAE;QACH,OAAO,EAAE,uBAAuB;QAChC,cAAc,EAAE,2DAA2D;QAC3E,aAAa,EAAE,6DAA6D;QAC5E,WAAW,EAAE,mBAAmB;QAChC,aAAa,EAAE,qBAAqB;QACpC,UAAU,EAAE,qCAAqC;QACjD,eAAe,EAAE,qDAAqD;QACtE,oBAAoB,EAAE,kEAAkE;QACxF,SAAS,EAAE,yCAAyC;QACpD,cAAc,EAAE,iCAAiC;QACjD,aAAa,EAAE,gCAAgC;QAC/C,aAAa,EAAE,8BAA8B;QAC7C,UAAU,EAAE,yBAAyB;QACrC,aAAa,EAAE,0CAA0C;QACzD,eAAe,EAAE,eAAe;QAChC,eAAe,EAAE,+CAA+C;QAChE,aAAa,EAAE,gFAAgF;QAC/F,iBAAiB,EAAE,wHAAwH;QAC3I,gBAAgB,EAAE,oCAAoC;QACtD,cAAc,EAAE,oEAAoE;QACpF,OAAO,EAAE,mCAAmC;QAC5C,kBAAkB,EAAE,gEAAgE;KACrF;IACD,EAAE,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,gBAAgB;QAC/B,YAAY,EAAE,WAAW;QACzB,UAAU,EAAE,aAAa;QACzB,gBAAgB,EAAE,yCAAyC;QAC3D,WAAW,EAAE,sCAAsC;KACpD;IACD,MAAM,EAAE;QACN,YAAY,EAAE,2IAA2I;KAC1J;CACF,CAAA"}
@@ -7,7 +7,10 @@ export const ja = {
7
7
  reviewSkipped: 'AIレビューをスキップしました',
8
8
  initReview: 'AIレビューを初期化中...',
9
9
  preparingReview: '{total} ファイルのレビューを準備中...',
10
+ preparingReviewAgent: '[Agent モード] {total} ファイルのレビューを準備中...',
10
11
  analyzing: '[{idx}/{total}] {file} を分析中',
12
+ analyzingAgent: '[Agent] コンテキストを取得中...',
13
+ agentToolCall: '[Agent] ツール呼び出し: {tool}',
11
14
  taskSubmitted: 'AIレビュータスクを送信しました',
12
15
  previewUrl: 'プレビュー URL',
13
16
  confirmCommit: 'レビューが完了しました。コミットを続行しますか?',
@@ -1 +1 @@
1
- {"version":3,"file":"ja.js","sourceRoot":"","sources":["../../src/locales/ja.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAgB;IAC7B,GAAG,EAAE;QACH,OAAO,EAAE,uBAAuB;QAChC,cAAc,EAAE,kCAAkC;QAClD,aAAa,EAAE,wBAAwB;QACvC,WAAW,EAAE,eAAe;QAC5B,aAAa,EAAE,iBAAiB;QAChC,UAAU,EAAE,gBAAgB;QAC5B,eAAe,EAAE,0BAA0B;QAC3C,SAAS,EAAE,6BAA6B;QACxC,aAAa,EAAE,kBAAkB;QACjC,UAAU,EAAE,WAAW;QACvB,aAAa,EAAE,0BAA0B;QACzC,eAAe,EAAE,gBAAgB;QACjC,eAAe,EAAE,sBAAsB;QACvC,aAAa,EAAE,2CAA2C;QAC1D,iBAAiB,EAAE,gEAAgE;QACnF,gBAAgB,EAAE,kBAAkB;QACpC,cAAc,EAAE,kCAAkC;QAClD,OAAO,EAAE,oBAAoB;QAC7B,kBAAkB,EAAE,0BAA0B;KAC/C;IACD,EAAE,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,SAAS;QACxB,YAAY,EAAE,QAAQ;QACtB,UAAU,EAAE,QAAQ;QACpB,gBAAgB,EAAE,oBAAoB;QACtC,WAAW,EAAE,cAAc;KAC5B;IACD,MAAM,EAAE;QACN,YAAY,EAAE,8DAA8D;KAC7E;CACF,CAAA"}
1
+ {"version":3,"file":"ja.js","sourceRoot":"","sources":["../../src/locales/ja.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAgB;IAC7B,GAAG,EAAE;QACH,OAAO,EAAE,uBAAuB;QAChC,cAAc,EAAE,kCAAkC;QAClD,aAAa,EAAE,wBAAwB;QACvC,WAAW,EAAE,eAAe;QAC5B,aAAa,EAAE,iBAAiB;QAChC,UAAU,EAAE,gBAAgB;QAC5B,eAAe,EAAE,0BAA0B;QAC3C,oBAAoB,EAAE,sCAAsC;QAC5D,SAAS,EAAE,6BAA6B;QACxC,cAAc,EAAE,uBAAuB;QACvC,aAAa,EAAE,yBAAyB;QACxC,aAAa,EAAE,kBAAkB;QACjC,UAAU,EAAE,WAAW;QACvB,aAAa,EAAE,0BAA0B;QACzC,eAAe,EAAE,gBAAgB;QACjC,eAAe,EAAE,sBAAsB;QACvC,aAAa,EAAE,2CAA2C;QAC1D,iBAAiB,EAAE,gEAAgE;QACnF,gBAAgB,EAAE,kBAAkB;QACpC,cAAc,EAAE,kCAAkC;QAClD,OAAO,EAAE,oBAAoB;QAC7B,kBAAkB,EAAE,0BAA0B;KAC/C;IACD,EAAE,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,SAAS;QACxB,YAAY,EAAE,QAAQ;QACtB,UAAU,EAAE,QAAQ;QACpB,gBAAgB,EAAE,oBAAoB;QACtC,WAAW,EAAE,cAAc;KAC5B;IACD,MAAM,EAAE;QACN,YAAY,EAAE,8DAA8D;KAC7E;CACF,CAAA"}
@@ -7,7 +7,10 @@ export const ko = {
7
7
  reviewSkipped: 'AI 리뷰 건너뜀',
8
8
  initReview: 'AI 리뷰 초기화 중...',
9
9
  preparingReview: '{total}개 파일 리뷰 준비 중...',
10
+ preparingReviewAgent: '[Agent 모드] {total}개 파일 리뷰 준비 중...',
10
11
  analyzing: '[{idx}/{total}] {file} 분석 중',
12
+ analyzingAgent: '[Agent] 컨텍스트 수집 중...',
13
+ agentToolCall: '[Agent] 도구 호출: {tool}',
11
14
  taskSubmitted: 'AI 리뷰 작업 제출됨',
12
15
  previewUrl: '미리보기 URL',
13
16
  confirmCommit: '리뷰가 완료되었습니다. 커밋을 계속하시겠습니까?',
@@ -1 +1 @@
1
- {"version":3,"file":"ko.js","sourceRoot":"","sources":["../../src/locales/ko.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAgB;IAC7B,GAAG,EAAE;QACH,OAAO,EAAE,uBAAuB;QAChC,cAAc,EAAE,4BAA4B;QAC5C,aAAa,EAAE,4BAA4B;QAC3C,WAAW,EAAE,aAAa;QAC1B,aAAa,EAAE,WAAW;QAC1B,UAAU,EAAE,gBAAgB;QAC5B,eAAe,EAAE,wBAAwB;QACzC,SAAS,EAAE,6BAA6B;QACxC,aAAa,EAAE,cAAc;QAC7B,UAAU,EAAE,UAAU;QACtB,aAAa,EAAE,4BAA4B;QAC3C,eAAe,EAAE,QAAQ;QACzB,eAAe,EAAE,kBAAkB;QACnC,aAAa,EAAE,gDAAgD;QAC/D,iBAAiB,EAAE,wDAAwD;QAC3E,gBAAgB,EAAE,wBAAwB;QAC1C,cAAc,EAAE,qCAAqC;QACrD,OAAO,EAAE,uBAAuB;QAChC,kBAAkB,EAAE,2BAA2B;KAChD;IACD,EAAE,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,UAAU;QACzB,YAAY,EAAE,QAAQ;QACtB,UAAU,EAAE,QAAQ;QACpB,gBAAgB,EAAE,mBAAmB;QACrC,WAAW,EAAE,UAAU;KACxB;IACD,MAAM,EAAE;QACN,YAAY,EAAE,+DAA+D;KAC9E;CACF,CAAA"}
1
+ {"version":3,"file":"ko.js","sourceRoot":"","sources":["../../src/locales/ko.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAgB;IAC7B,GAAG,EAAE;QACH,OAAO,EAAE,uBAAuB;QAChC,cAAc,EAAE,4BAA4B;QAC5C,aAAa,EAAE,4BAA4B;QAC3C,WAAW,EAAE,aAAa;QAC1B,aAAa,EAAE,WAAW;QAC1B,UAAU,EAAE,gBAAgB;QAC5B,eAAe,EAAE,wBAAwB;QACzC,oBAAoB,EAAE,mCAAmC;QACzD,SAAS,EAAE,6BAA6B;QACxC,cAAc,EAAE,sBAAsB;QACtC,aAAa,EAAE,uBAAuB;QACtC,aAAa,EAAE,cAAc;QAC7B,UAAU,EAAE,UAAU;QACtB,aAAa,EAAE,4BAA4B;QAC3C,eAAe,EAAE,QAAQ;QACzB,eAAe,EAAE,kBAAkB;QACnC,aAAa,EAAE,gDAAgD;QAC/D,iBAAiB,EAAE,wDAAwD;QAC3E,gBAAgB,EAAE,wBAAwB;QAC1C,cAAc,EAAE,qCAAqC;QACrD,OAAO,EAAE,uBAAuB;QAChC,kBAAkB,EAAE,2BAA2B;KAChD;IACD,EAAE,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,UAAU;QACzB,YAAY,EAAE,QAAQ;QACtB,UAAU,EAAE,QAAQ;QACpB,gBAAgB,EAAE,mBAAmB;QACrC,WAAW,EAAE,UAAU;KACxB;IACD,MAAM,EAAE;QACN,YAAY,EAAE,+DAA+D;KAC9E;CACF,CAAA"}
@@ -7,7 +7,10 @@ export interface Translation {
7
7
  reviewSkipped: string;
8
8
  initReview: string;
9
9
  preparingReview: string;
10
+ preparingReviewAgent: string;
10
11
  analyzing: string;
12
+ analyzingAgent: string;
13
+ agentToolCall: string;
11
14
  taskSubmitted: string;
12
15
  previewUrl: string;
13
16
  confirmCommit: string;
@@ -7,7 +7,10 @@ export const zhCN = {
7
7
  reviewSkipped: '已跳过 AI 审查',
8
8
  initReview: '正在初始化 AI 审查...',
9
9
  preparingReview: '准备审查 {total} 个文件...',
10
+ preparingReviewAgent: '[Agent 模式] 准备审查 {total} 个文件...',
10
11
  analyzing: '正在分析 [{idx}/{total}] {file}',
12
+ analyzingAgent: '[Agent] 正在获取上下文...',
13
+ agentToolCall: '[Agent] 调用工具: {tool}',
11
14
  taskSubmitted: 'AI 审查任务已提交',
12
15
  previewUrl: '预览地址',
13
16
  confirmCommit: 'Review 已完成,是否继续提交?',
@@ -1 +1 @@
1
- {"version":3,"file":"zh-CN.js","sourceRoot":"","sources":["../../src/locales/zh-CN.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAgB;IAC/B,GAAG,EAAE;QACH,OAAO,EAAE,uBAAuB;QAChC,cAAc,EAAE,wBAAwB;QACxC,aAAa,EAAE,uBAAuB;QACtC,WAAW,EAAE,OAAO;QACpB,aAAa,EAAE,WAAW;QAC1B,UAAU,EAAE,gBAAgB;QAC5B,eAAe,EAAE,qBAAqB;QACtC,SAAS,EAAE,6BAA6B;QACxC,aAAa,EAAE,YAAY;QAC3B,UAAU,EAAE,MAAM;QAClB,aAAa,EAAE,oBAAoB;QACnC,eAAe,EAAE,OAAO;QACxB,eAAe,EAAE,cAAc;QAC/B,aAAa,EAAE,gCAAgC;QAC/C,iBAAiB,EAAE,+CAA+C;QAClE,gBAAgB,EAAE,WAAW;QAC7B,cAAc,EAAE,sBAAsB;QACtC,OAAO,EAAE,UAAU;QACnB,kBAAkB,EAAE,iBAAiB;KACtC;IACD,EAAE,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,SAAS;QACxB,YAAY,EAAE,UAAU;QACxB,UAAU,EAAE,UAAU;QACtB,gBAAgB,EAAE,iBAAiB;QACnC,WAAW,EAAE,QAAQ;KACtB;IACD,MAAM,EAAE;QACN,YAAY,EAAE,8CAA8C;KAC7D;CACF,CAAA"}
1
+ {"version":3,"file":"zh-CN.js","sourceRoot":"","sources":["../../src/locales/zh-CN.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAgB;IAC/B,GAAG,EAAE;QACH,OAAO,EAAE,uBAAuB;QAChC,cAAc,EAAE,wBAAwB;QACxC,aAAa,EAAE,uBAAuB;QACtC,WAAW,EAAE,OAAO;QACpB,aAAa,EAAE,WAAW;QAC1B,UAAU,EAAE,gBAAgB;QAC5B,eAAe,EAAE,qBAAqB;QACtC,oBAAoB,EAAE,gCAAgC;QACtD,SAAS,EAAE,6BAA6B;QACxC,cAAc,EAAE,oBAAoB;QACpC,aAAa,EAAE,sBAAsB;QACrC,aAAa,EAAE,YAAY;QAC3B,UAAU,EAAE,MAAM;QAClB,aAAa,EAAE,oBAAoB;QACnC,eAAe,EAAE,OAAO;QACxB,eAAe,EAAE,cAAc;QAC/B,aAAa,EAAE,gCAAgC;QAC/C,iBAAiB,EAAE,+CAA+C;QAClE,gBAAgB,EAAE,WAAW;QAC7B,cAAc,EAAE,sBAAsB;QACtC,OAAO,EAAE,UAAU;QACnB,kBAAkB,EAAE,iBAAiB;KACtC;IACD,EAAE,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,SAAS;QACxB,YAAY,EAAE,UAAU;QACxB,UAAU,EAAE,UAAU;QACtB,gBAAgB,EAAE,iBAAiB;QACnC,WAAW,EAAE,QAAQ;KACtB;IACD,MAAM,EAAE;QACN,YAAY,EAAE,8CAA8C;KAC7D;CACF,CAAA"}
@@ -7,7 +7,10 @@ export const zhTW = {
7
7
  reviewSkipped: '已跳過 AI 審查',
8
8
  initReview: '正在初始化 AI 審查...',
9
9
  preparingReview: '準備審查 {total} 個文件...',
10
+ preparingReviewAgent: '[Agent 模式] 準備審查 {total} 個文件...',
10
11
  analyzing: '正在分析 [{idx}/{total}] {file}',
12
+ analyzingAgent: '[Agent] 正在獲取上下文...',
13
+ agentToolCall: '[Agent] 調用工具: {tool}',
11
14
  taskSubmitted: 'AI 審查任務已提交',
12
15
  previewUrl: '預覽地址',
13
16
  confirmCommit: 'Review 已完成,是否繼續提交?',
@@ -1 +1 @@
1
- {"version":3,"file":"zh-TW.js","sourceRoot":"","sources":["../../src/locales/zh-TW.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAgB;IAC/B,GAAG,EAAE;QACH,OAAO,EAAE,uBAAuB;QAChC,cAAc,EAAE,wBAAwB;QACxC,aAAa,EAAE,uBAAuB;QACtC,WAAW,EAAE,OAAO;QACpB,aAAa,EAAE,WAAW;QAC1B,UAAU,EAAE,gBAAgB;QAC5B,eAAe,EAAE,qBAAqB;QACtC,SAAS,EAAE,6BAA6B;QACxC,aAAa,EAAE,YAAY;QAC3B,UAAU,EAAE,MAAM;QAClB,aAAa,EAAE,oBAAoB;QACnC,eAAe,EAAE,OAAO;QACxB,eAAe,EAAE,cAAc;QAC/B,aAAa,EAAE,gCAAgC;QAC/C,iBAAiB,EAAE,+CAA+C;QAClE,gBAAgB,EAAE,gBAAgB;QAClC,cAAc,EAAE,qBAAqB;QACrC,OAAO,EAAE,WAAW;QACpB,kBAAkB,EAAE,iBAAiB;KACtC;IACD,EAAE,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,SAAS;QACxB,YAAY,EAAE,UAAU;QACxB,UAAU,EAAE,UAAU;QACtB,gBAAgB,EAAE,iBAAiB;QACnC,WAAW,EAAE,QAAQ;KACtB;IACD,MAAM,EAAE;QACN,YAAY,EAAE,8CAA8C;KAC7D;CACF,CAAA"}
1
+ {"version":3,"file":"zh-TW.js","sourceRoot":"","sources":["../../src/locales/zh-TW.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAgB;IAC/B,GAAG,EAAE;QACH,OAAO,EAAE,uBAAuB;QAChC,cAAc,EAAE,wBAAwB;QACxC,aAAa,EAAE,uBAAuB;QACtC,WAAW,EAAE,OAAO;QACpB,aAAa,EAAE,WAAW;QAC1B,UAAU,EAAE,gBAAgB;QAC5B,eAAe,EAAE,qBAAqB;QACtC,oBAAoB,EAAE,gCAAgC;QACtD,SAAS,EAAE,6BAA6B;QACxC,cAAc,EAAE,oBAAoB;QACpC,aAAa,EAAE,sBAAsB;QACrC,aAAa,EAAE,YAAY;QAC3B,UAAU,EAAE,MAAM;QAClB,aAAa,EAAE,oBAAoB;QACnC,eAAe,EAAE,OAAO;QACxB,eAAe,EAAE,cAAc;QAC/B,aAAa,EAAE,gCAAgC;QAC/C,iBAAiB,EAAE,+CAA+C;QAClE,gBAAgB,EAAE,gBAAgB;QAClC,cAAc,EAAE,qBAAqB;QACrC,OAAO,EAAE,WAAW;QACpB,kBAAkB,EAAE,iBAAiB;KACtC;IACD,EAAE,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,SAAS;QACxB,YAAY,EAAE,UAAU;QACxB,UAAU,EAAE,UAAU;QACtB,gBAAgB,EAAE,iBAAiB;QACnC,WAAW,EAAE,QAAQ;KACtB;IACD,MAAM,EAAE;QACN,YAAY,EAAE,8CAA8C;KAC7D;CACF,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "code-gate",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "Intelligent Git commit guard and code reviewer. Supports local (Ollama) and cloud models (DeepSeek, OpenAI, Anthropic, etc.) with a rich CLI UI.",
5
5
  "type": "module",
6
6
  "bin": {