smart-commit-copilot-cli 0.1.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 (110) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/LICENSE +21 -0
  3. package/README.md +392 -0
  4. package/docs/configuration.md +262 -0
  5. package/docs/contracts.md +134 -0
  6. package/docs/getting-started.md +177 -0
  7. package/docs/integrations.md +85 -0
  8. package/docs/publish.md +135 -0
  9. package/docs/release-checklist.md +39 -0
  10. package/docs/releases/0.1.0-draft.md +52 -0
  11. package/docs/roadmap.md +94 -0
  12. package/examples/agent/bridge-agent.mjs +51 -0
  13. package/examples/agent/report-agent.mjs +48 -0
  14. package/examples/config/smart-commit.json +60 -0
  15. package/examples/hooks/cursor-bridge-wrapper.sh +12 -0
  16. package/examples/hooks/husky-pre-commit.sh +6 -0
  17. package/examples/hooks/smart-commit-bridge.sh +11 -0
  18. package/out/cli.js +19 -0
  19. package/out/cli.js.map +1 -0
  20. package/out/cliApp.js +239 -0
  21. package/out/cliApp.js.map +1 -0
  22. package/out/commands/bridge.js +607 -0
  23. package/out/commands/bridge.js.map +1 -0
  24. package/out/commands/report.js +266 -0
  25. package/out/commands/report.js.map +1 -0
  26. package/out/commands/types.js +3 -0
  27. package/out/commands/types.js.map +1 -0
  28. package/out/commitMessage/index.js +110 -0
  29. package/out/commitMessage/index.js.map +1 -0
  30. package/out/commitMessage/mockProvider.js +27 -0
  31. package/out/commitMessage/mockProvider.js.map +1 -0
  32. package/out/commitMessage/openaiProvider.js +44 -0
  33. package/out/commitMessage/openaiProvider.js.map +1 -0
  34. package/out/commitMessage/prompt.js +65 -0
  35. package/out/commitMessage/prompt.js.map +1 -0
  36. package/out/commitMessage/protocol.js +126 -0
  37. package/out/commitMessage/protocol.js.map +1 -0
  38. package/out/commitMessage/provider.js +3 -0
  39. package/out/commitMessage/provider.js.map +1 -0
  40. package/out/config/cliArgs.js +249 -0
  41. package/out/config/cliArgs.js.map +1 -0
  42. package/out/config/constants.js +47 -0
  43. package/out/config/constants.js.map +1 -0
  44. package/out/config/env.js +183 -0
  45. package/out/config/env.js.map +1 -0
  46. package/out/config/file.js +245 -0
  47. package/out/config/file.js.map +1 -0
  48. package/out/config/index.js +46 -0
  49. package/out/config/index.js.map +1 -0
  50. package/out/config/legacySmartCommit.js +200 -0
  51. package/out/config/legacySmartCommit.js.map +1 -0
  52. package/out/config/merge.js +70 -0
  53. package/out/config/merge.js.map +1 -0
  54. package/out/config/runtime.js +36 -0
  55. package/out/config/runtime.js.map +1 -0
  56. package/out/config/schema.js +204 -0
  57. package/out/config/schema.js.map +1 -0
  58. package/out/contracts.js +311 -0
  59. package/out/contracts.js.map +1 -0
  60. package/out/git.js +119 -0
  61. package/out/git.js.map +1 -0
  62. package/out/logger.js +17 -0
  63. package/out/logger.js.map +1 -0
  64. package/out/openaiCompatible.js +67 -0
  65. package/out/openaiCompatible.js.map +1 -0
  66. package/out/output.js +23 -0
  67. package/out/output.js.map +1 -0
  68. package/out/passHistory/index.js +119 -0
  69. package/out/passHistory/index.js.map +1 -0
  70. package/out/passHistory/store.js +252 -0
  71. package/out/passHistory/store.js.map +1 -0
  72. package/out/passHistory/types.js +6 -0
  73. package/out/passHistory/types.js.map +1 -0
  74. package/out/promptContext.js +72 -0
  75. package/out/promptContext.js.map +1 -0
  76. package/out/renderOutput.js +89 -0
  77. package/out/renderOutput.js.map +1 -0
  78. package/out/reporting/aggregate.js +113 -0
  79. package/out/reporting/aggregate.js.map +1 -0
  80. package/out/reporting/index.js +72 -0
  81. package/out/reporting/index.js.map +1 -0
  82. package/out/reporting/mockProvider.js +25 -0
  83. package/out/reporting/mockProvider.js.map +1 -0
  84. package/out/reporting/openaiProvider.js +19 -0
  85. package/out/reporting/openaiProvider.js.map +1 -0
  86. package/out/reporting/prompt.js +28 -0
  87. package/out/reporting/prompt.js.map +1 -0
  88. package/out/reporting/provider.js +3 -0
  89. package/out/reporting/provider.js.map +1 -0
  90. package/out/reporting/render.js +151 -0
  91. package/out/reporting/render.js.map +1 -0
  92. package/out/reporting/timeWindow.js +79 -0
  93. package/out/reporting/timeWindow.js.map +1 -0
  94. package/out/reporting/types.js +11 -0
  95. package/out/reporting/types.js.map +1 -0
  96. package/out/review/index.js +64 -0
  97. package/out/review/index.js.map +1 -0
  98. package/out/review/mockProvider.js +57 -0
  99. package/out/review/mockProvider.js.map +1 -0
  100. package/out/review/openaiProvider.js +40 -0
  101. package/out/review/openaiProvider.js.map +1 -0
  102. package/out/review/parser.js +92 -0
  103. package/out/review/parser.js.map +1 -0
  104. package/out/review/prompt.js +61 -0
  105. package/out/review/prompt.js.map +1 -0
  106. package/out/review/provider.js +3 -0
  107. package/out/review/provider.js.map +1 -0
  108. package/out/review/types.js +3 -0
  109. package/out/review/types.js.map +1 -0
  110. package/package.json +44 -0
@@ -0,0 +1,245 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.resolveCliConfigFilePath = resolveCliConfigFilePath;
37
+ exports.loadCliConfigFile = loadCliConfigFile;
38
+ exports.parseCanonicalCliConfig = parseCanonicalCliConfig;
39
+ const fs = __importStar(require("node:fs"));
40
+ const path = __importStar(require("node:path"));
41
+ const schema_1 = require("./schema");
42
+ const legacySmartCommit_1 = require("./legacySmartCommit");
43
+ const merge_1 = require("./merge");
44
+ function resolveCliConfigFilePath(configuredPath, cwd) {
45
+ const resolved = path.isAbsolute(configuredPath) ? path.normalize(configuredPath) : path.resolve(cwd, configuredPath);
46
+ if (!fs.existsSync(resolved)) {
47
+ throw new Error(`CLI config file not found: ${configuredPath} (resolved to ${resolved})`);
48
+ }
49
+ if (!fs.statSync(resolved).isFile()) {
50
+ throw new Error(`CLI config path must be a JSON file: ${configuredPath} (resolved to ${resolved})`);
51
+ }
52
+ return resolved;
53
+ }
54
+ function loadCliConfigFile(filePath) {
55
+ let content;
56
+ try {
57
+ content = fs.readFileSync(filePath, "utf8");
58
+ }
59
+ catch (error) {
60
+ const message = error instanceof Error ? error.message : String(error);
61
+ throw new Error(`Failed to read CLI config file: ${filePath}. ${message}`);
62
+ }
63
+ if (!content.trim()) {
64
+ throw new Error(`CLI config file must not be empty: ${filePath}`);
65
+ }
66
+ let parsed;
67
+ try {
68
+ parsed = JSON.parse(content);
69
+ }
70
+ catch (error) {
71
+ const message = error instanceof Error ? error.message : String(error);
72
+ throw new Error(`CLI config file is not valid JSON: ${filePath}. ${message}`);
73
+ }
74
+ const root = (0, schema_1.parseObject)(parsed, `CLI config file ${filePath}`);
75
+ const legacy = (0, legacySmartCommit_1.hasLegacySmartCommitKeys)(root) ? (0, legacySmartCommit_1.parseLegacySmartCommitConfig)(root, filePath) : undefined;
76
+ const canonical = Object.hasOwn(root, "smartCommitCli")
77
+ ? parseCanonicalCliConfig(root.smartCommitCli, `${filePath}:smartCommitCli`)
78
+ : undefined;
79
+ return (0, merge_1.mergeCliConfig)(legacy, canonical);
80
+ }
81
+ function parseCanonicalCliConfig(raw, sourceLabel) {
82
+ const root = (0, schema_1.parseObject)(raw, sourceLabel);
83
+ const config = {};
84
+ if (Object.hasOwn(root, "connection")) {
85
+ const connection = (0, schema_1.parseObject)(root.connection, `${sourceLabel}.connection`);
86
+ config.connection = {
87
+ ...(Object.hasOwn(connection, "baseUrl")
88
+ ? { baseUrl: (0, schema_1.parseString)(connection.baseUrl, `${sourceLabel}.connection.baseUrl`).trim() }
89
+ : {}),
90
+ ...(Object.hasOwn(connection, "apiKey")
91
+ ? { apiKey: (0, schema_1.parseString)(connection.apiKey, `${sourceLabel}.connection.apiKey`).trim() }
92
+ : {}),
93
+ ...(Object.hasOwn(connection, "model")
94
+ ? { model: (0, schema_1.parseString)(connection.model, `${sourceLabel}.connection.model`).trim() }
95
+ : {}),
96
+ ...(Object.hasOwn(connection, "extraHeaders")
97
+ ? { extraHeaders: (0, schema_1.parseStringMap)(connection.extraHeaders, `${sourceLabel}.connection.extraHeaders`) }
98
+ : {}),
99
+ ...(Object.hasOwn(connection, "requestTimeoutMs")
100
+ ? { requestTimeoutMs: (0, schema_1.parseFiniteNumber)(connection.requestTimeoutMs, `${sourceLabel}.connection.requestTimeoutMs`) }
101
+ : {})
102
+ };
103
+ }
104
+ if (Object.hasOwn(root, "review")) {
105
+ const review = (0, schema_1.parseObject)(root.review, `${sourceLabel}.review`);
106
+ config.review = {
107
+ ...(Object.hasOwn(review, "threshold")
108
+ ? { threshold: (0, schema_1.parseFiniteNumber)(review.threshold, `${sourceLabel}.review.threshold`) }
109
+ : {}),
110
+ ...(Object.hasOwn(review, "language")
111
+ ? { language: (0, schema_1.parseOutputLanguage)((0, schema_1.parseString)(review.language, `${sourceLabel}.review.language`), `${sourceLabel}.review.language`) }
112
+ : {}),
113
+ ...(Object.hasOwn(review, "maxDiffChars")
114
+ ? { maxDiffChars: (0, schema_1.parseFiniteNumber)(review.maxDiffChars, `${sourceLabel}.review.maxDiffChars`) }
115
+ : {}),
116
+ ...(Object.hasOwn(review, "skill") ? { skill: parseSkillConfig(review.skill, `${sourceLabel}.review.skill`) } : {})
117
+ };
118
+ }
119
+ if (Object.hasOwn(root, "commitMessage")) {
120
+ const commitMessage = (0, schema_1.parseObject)(root.commitMessage, `${sourceLabel}.commitMessage`);
121
+ config.commitMessage = {
122
+ ...(Object.hasOwn(commitMessage, "input")
123
+ ? { input: (0, schema_1.parseString)(commitMessage.input, `${sourceLabel}.commitMessage.input`) }
124
+ : {}),
125
+ ...(Object.hasOwn(commitMessage, "language")
126
+ ? {
127
+ language: (0, schema_1.parseOutputLanguage)((0, schema_1.parseString)(commitMessage.language, `${sourceLabel}.commitMessage.language`), `${sourceLabel}.commitMessage.language`)
128
+ }
129
+ : {}),
130
+ ...(Object.hasOwn(commitMessage, "autoGenerate")
131
+ ? { autoGenerate: (0, schema_1.parseBoolean)(commitMessage.autoGenerate, `${sourceLabel}.commitMessage.autoGenerate`) }
132
+ : {}),
133
+ ...(Object.hasOwn(commitMessage, "hybridGenerate")
134
+ ? { hybridGenerate: (0, schema_1.parseBoolean)(commitMessage.hybridGenerate, `${sourceLabel}.commitMessage.hybridGenerate`) }
135
+ : {}),
136
+ ...(Object.hasOwn(commitMessage, "skill")
137
+ ? { skill: parseSkillConfig(commitMessage.skill, `${sourceLabel}.commitMessage.skill`) }
138
+ : {}),
139
+ ...(Object.hasOwn(commitMessage, "validation")
140
+ ? { validation: parseValidationConfig(commitMessage.validation, `${sourceLabel}.commitMessage.validation`) }
141
+ : {})
142
+ };
143
+ }
144
+ if (Object.hasOwn(root, "git")) {
145
+ const git = (0, schema_1.parseObject)(root.git, `${sourceLabel}.git`);
146
+ config.git = {
147
+ ...(Object.hasOwn(git, "autoStageWhenNothingStaged")
148
+ ? { autoStageWhenNothingStaged: (0, schema_1.parseBoolean)(git.autoStageWhenNothingStaged, `${sourceLabel}.git.autoStageWhenNothingStaged`) }
149
+ : {}),
150
+ ...(Object.hasOwn(git, "autoCommit") ? { autoCommit: (0, schema_1.parseBoolean)(git.autoCommit, `${sourceLabel}.git.autoCommit`) } : {}),
151
+ ...(Object.hasOwn(git, "autoPush") ? { autoPush: (0, schema_1.parseBoolean)(git.autoPush, `${sourceLabel}.git.autoPush`) } : {}),
152
+ ...(Object.hasOwn(git, "pushTimeoutMs")
153
+ ? { pushTimeoutMs: (0, schema_1.parseFiniteNumber)(git.pushTimeoutMs, `${sourceLabel}.git.pushTimeoutMs`) }
154
+ : {})
155
+ };
156
+ }
157
+ if (Object.hasOwn(root, "passHistory")) {
158
+ const passHistory = (0, schema_1.parseObject)(root.passHistory, `${sourceLabel}.passHistory`);
159
+ config.passHistory = {
160
+ ...(Object.hasOwn(passHistory, "enabled")
161
+ ? { enabled: (0, schema_1.parseBoolean)(passHistory.enabled, `${sourceLabel}.passHistory.enabled`) }
162
+ : {}),
163
+ ...(Object.hasOwn(passHistory, "dirPath")
164
+ ? { dirPath: (0, schema_1.parseString)(passHistory.dirPath, `${sourceLabel}.passHistory.dirPath`).trim() }
165
+ : {}),
166
+ ...(Object.hasOwn(passHistory, "maxEntries")
167
+ ? { maxEntries: (0, schema_1.parseFiniteNumber)(passHistory.maxEntries, `${sourceLabel}.passHistory.maxEntries`) }
168
+ : {})
169
+ };
170
+ }
171
+ if (Object.hasOwn(root, "reporting")) {
172
+ const reporting = (0, schema_1.parseObject)(root.reporting, `${sourceLabel}.reporting`);
173
+ config.reporting = {
174
+ ...(Object.hasOwn(reporting, "language")
175
+ ? { language: (0, schema_1.parseOutputLanguage)((0, schema_1.parseString)(reporting.language, `${sourceLabel}.reporting.language`), `${sourceLabel}.reporting.language`) }
176
+ : {}),
177
+ ...(Object.hasOwn(reporting, "weekStartsOn")
178
+ ? {
179
+ weekStartsOn: (0, schema_1.parseReportWeekStartsOn)((0, schema_1.parseString)(reporting.weekStartsOn, `${sourceLabel}.reporting.weekStartsOn`), `${sourceLabel}.reporting.weekStartsOn`)
180
+ }
181
+ : {}),
182
+ ...(Object.hasOwn(reporting, "outputDirPath")
183
+ ? { outputDirPath: (0, schema_1.parseString)(reporting.outputDirPath, `${sourceLabel}.reporting.outputDirPath`).trim() }
184
+ : {}),
185
+ ...(Object.hasOwn(reporting, "prompt")
186
+ ? { prompt: (0, schema_1.parseString)(reporting.prompt, `${sourceLabel}.reporting.prompt`).trim() }
187
+ : {}),
188
+ ...(Object.hasOwn(reporting, "ai")
189
+ ? { ai: parseReportingAiConfig(reporting.ai, `${sourceLabel}.reporting.ai`) }
190
+ : {})
191
+ };
192
+ }
193
+ if (Object.hasOwn(root, "output")) {
194
+ const output = (0, schema_1.parseObject)(root.output, `${sourceLabel}.output`);
195
+ config.output = {
196
+ ...(Object.hasOwn(output, "format")
197
+ ? { format: (0, schema_1.parseOutputFormat)((0, schema_1.parseString)(output.format, `${sourceLabel}.output.format`), `${sourceLabel}.output.format`) }
198
+ : {}),
199
+ ...(Object.hasOwn(output, "logLevel")
200
+ ? { logLevel: (0, schema_1.parseLogLevel)((0, schema_1.parseString)(output.logLevel, `${sourceLabel}.output.logLevel`), `${sourceLabel}.output.logLevel`) }
201
+ : {})
202
+ };
203
+ }
204
+ return config;
205
+ }
206
+ function parseReportingAiConfig(raw, sourceLabel) {
207
+ const ai = (0, schema_1.parseObject)(raw, sourceLabel);
208
+ return {
209
+ ...(Object.hasOwn(ai, "enabled") ? { enabled: (0, schema_1.parseBoolean)(ai.enabled, `${sourceLabel}.enabled`) } : {})
210
+ };
211
+ }
212
+ function parseSkillConfig(raw, sourceLabel) {
213
+ const skill = (0, schema_1.parseObject)(raw, sourceLabel);
214
+ return {
215
+ ...(Object.hasOwn(skill, "id") ? { id: (0, schema_1.parseString)(skill.id, `${sourceLabel}.id`).trim() } : {}),
216
+ ...(Object.hasOwn(skill, "path") ? { path: (0, schema_1.parseString)(skill.path, `${sourceLabel}.path`).trim() } : {}),
217
+ ...(Object.hasOwn(skill, "promptTuning")
218
+ ? { promptTuning: (0, schema_1.parseString)(skill.promptTuning, `${sourceLabel}.promptTuning`).trim() }
219
+ : {})
220
+ };
221
+ }
222
+ function parseValidationConfig(raw, sourceLabel) {
223
+ const validation = (0, schema_1.parseObject)(raw, sourceLabel);
224
+ return {
225
+ ...(Object.hasOwn(validation, "protocol")
226
+ ? {
227
+ protocol: (0, schema_1.parseCommitMessageValidationProtocol)((0, schema_1.parseString)(validation.protocol, `${sourceLabel}.protocol`), `${sourceLabel}.protocol`)
228
+ }
229
+ : {}),
230
+ ...(Object.hasOwn(validation, "pattern")
231
+ ? { pattern: (0, schema_1.parseString)(validation.pattern, `${sourceLabel}.pattern`).trim() }
232
+ : {}),
233
+ ...(Object.hasOwn(validation, "extractTicketIdFromBranch")
234
+ ? {
235
+ extractTicketIdFromBranch: (0, schema_1.parseBoolean)(validation.extractTicketIdFromBranch, `${sourceLabel}.extractTicketIdFromBranch`)
236
+ }
237
+ : {}),
238
+ ...(Object.hasOwn(validation, "requireTicketIdInMessage")
239
+ ? {
240
+ requireTicketIdInMessage: (0, schema_1.parseBoolean)(validation.requireTicketIdInMessage, `${sourceLabel}.requireTicketIdInMessage`)
241
+ }
242
+ : {})
243
+ };
244
+ }
245
+ //# sourceMappingURL=file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/config/file.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.resolveCliConfig = resolveCliConfig;
18
+ const cliArgs_1 = require("./cliArgs");
19
+ const env_1 = require("./env");
20
+ const file_1 = require("./file");
21
+ const merge_1 = require("./merge");
22
+ const runtime_1 = require("./runtime");
23
+ const schema_1 = require("./schema");
24
+ __exportStar(require("./cliArgs"), exports);
25
+ __exportStar(require("./constants"), exports);
26
+ __exportStar(require("./env"), exports);
27
+ __exportStar(require("./file"), exports);
28
+ __exportStar(require("./legacySmartCommit"), exports);
29
+ __exportStar(require("./merge"), exports);
30
+ __exportStar(require("./runtime"), exports);
31
+ __exportStar(require("./schema"), exports);
32
+ function resolveCliConfig(input = {}) {
33
+ const parsedArgs = (0, cliArgs_1.parseCliArgs)(input.argv ?? []);
34
+ const envConfig = (0, env_1.parseCliEnvironment)(input.env ?? process.env);
35
+ const fileConfig = input.fileConfig ??
36
+ (parsedArgs.runtime.configPath ? (0, file_1.loadCliConfigFile)(parsedArgs.runtime.configPath) : undefined);
37
+ const config = (0, runtime_1.resolveRuntimeConfigReferences)((0, merge_1.mergeCliConfig)(fileConfig, envConfig, parsedArgs.config), input.env ?? process.env);
38
+ if (input.validate ?? true) {
39
+ (0, schema_1.validateCliConfig)(config, { requireConnection: input.requireConnection });
40
+ }
41
+ return {
42
+ config,
43
+ runtime: parsedArgs.runtime
44
+ };
45
+ }
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAwBA,4CAoBC;AA5CD,uCAAyC;AACzC,+BAA4C;AAC5C,iCAA2C;AAC3C,mCAAyC;AACzC,uCAA2D;AAC3D,qCAAwF;AAExF,4CAA0B;AAC1B,8CAA4B;AAC5B,wCAAsB;AACtB,yCAAuB;AACvB,sDAAoC;AACpC,0CAAwB;AACxB,4CAA0B;AAC1B,2CAAyB;AAUzB,SAAgB,gBAAgB,CAAC,QAA+B,EAAE;IAChE,MAAM,UAAU,GAAG,IAAA,sBAAY,EAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAA,yBAAmB,EAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,UAAU,GACd,KAAK,CAAC,UAAU;QAChB,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,wBAAiB,EAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEjG,MAAM,MAAM,GAAG,IAAA,wCAA8B,EAC3C,IAAA,sBAAc,EAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,EACxD,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CACzB,CAAC;IAEF,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAA,0BAAiB,EAAC,MAAM,EAAE,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO;QACL,MAAM;QACN,OAAO,EAAE,UAAU,CAAC,OAAO;KAC5B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasLegacySmartCommitKeys = hasLegacySmartCommitKeys;
4
+ exports.parseLegacySmartCommitConfig = parseLegacySmartCommitConfig;
5
+ const schema_1 = require("./schema");
6
+ const legacyKeys = [
7
+ "smartCommit.baseUrl",
8
+ "smartCommit.apiKey",
9
+ "smartCommit.model",
10
+ "smartCommit.extraHeaders",
11
+ "smartCommit.requestTimeoutMs",
12
+ "smartCommit.gitPushTimeoutMs",
13
+ "smartCommit.threshold",
14
+ "smartCommit.maxDiffChars",
15
+ "smartCommit.autoGenerateCommitMessage",
16
+ "smartCommit.hybridGenerateCommitMessage",
17
+ "smartCommit.commitMessageValidationProtocol",
18
+ "smartCommit.extractTicketIdFromBranch",
19
+ "smartCommit.requireTicketIdInCommitMessage",
20
+ "smartCommit.commitMessageValidationPattern",
21
+ "smartCommit.commitMessageLanguage",
22
+ "smartCommit.reviewLanguage",
23
+ "smartCommit.autoCommitAndPush",
24
+ "smartCommit.autoStageWhenNothingStaged",
25
+ "smartCommit.codeReviewSkillId",
26
+ "smartCommit.codeReviewSkillPath",
27
+ "smartCommit.gitCommitMessageSkillId",
28
+ "smartCommit.gitCommitMessageSkillPath",
29
+ "smartCommit.codeReviewSkillPromptTuning",
30
+ "smartCommit.gitCommitMessageSkillPromptTuning",
31
+ "smartCommit.enablePassHistory",
32
+ "smartCommit.passHistoryDirPath",
33
+ "smartCommit.passHistoryMaxEntries",
34
+ "smartCommit.reportLanguage",
35
+ "smartCommit.reportWeekStartsOn",
36
+ "smartCommit.reportOutputDirPath",
37
+ "smartCommit.reportPrompt"
38
+ ];
39
+ const legacyKeySet = new Set(legacyKeys);
40
+ function hasLegacySmartCommitKeys(raw) {
41
+ return Object.keys(raw).some((key) => legacyKeySet.has(key));
42
+ }
43
+ function parseLegacySmartCommitConfig(raw, sourceLabel) {
44
+ const overrides = {};
45
+ for (const [key, value] of Object.entries(raw)) {
46
+ if (!legacyKeySet.has(key)) {
47
+ continue;
48
+ }
49
+ applyLegacyKey(overrides, key, value, sourceLabel);
50
+ }
51
+ return overrides;
52
+ }
53
+ function applyLegacyKey(config, key, value, sourceLabel) {
54
+ const keyLabel = `${sourceLabel}:${key}`;
55
+ switch (key) {
56
+ case "smartCommit.baseUrl":
57
+ config.connection = { ...config.connection, baseUrl: (0, schema_1.parseString)(value, keyLabel).trim() };
58
+ return;
59
+ case "smartCommit.apiKey":
60
+ config.connection = { ...config.connection, apiKey: (0, schema_1.parseString)(value, keyLabel).trim() };
61
+ return;
62
+ case "smartCommit.model":
63
+ config.connection = { ...config.connection, model: (0, schema_1.parseString)(value, keyLabel).trim() };
64
+ return;
65
+ case "smartCommit.extraHeaders":
66
+ config.connection = { ...config.connection, extraHeaders: (0, schema_1.parseStringMap)(value, keyLabel) };
67
+ return;
68
+ case "smartCommit.requestTimeoutMs":
69
+ config.connection = { ...config.connection, requestTimeoutMs: (0, schema_1.parseFiniteNumber)(value, keyLabel) };
70
+ return;
71
+ case "smartCommit.gitPushTimeoutMs":
72
+ config.git = { ...config.git, pushTimeoutMs: (0, schema_1.parseFiniteNumber)(value, keyLabel) };
73
+ return;
74
+ case "smartCommit.threshold":
75
+ config.review = { ...config.review, threshold: (0, schema_1.parseFiniteNumber)(value, keyLabel) };
76
+ return;
77
+ case "smartCommit.maxDiffChars":
78
+ config.review = { ...config.review, maxDiffChars: (0, schema_1.parseFiniteNumber)(value, keyLabel) };
79
+ return;
80
+ case "smartCommit.autoGenerateCommitMessage":
81
+ config.commitMessage = { ...config.commitMessage, autoGenerate: (0, schema_1.parseBoolean)(value, keyLabel) };
82
+ return;
83
+ case "smartCommit.hybridGenerateCommitMessage":
84
+ config.commitMessage = { ...config.commitMessage, hybridGenerate: (0, schema_1.parseBoolean)(value, keyLabel) };
85
+ return;
86
+ case "smartCommit.commitMessageValidationProtocol":
87
+ config.commitMessage = {
88
+ ...config.commitMessage,
89
+ validation: {
90
+ ...config.commitMessage?.validation,
91
+ protocol: (0, schema_1.parseCommitMessageValidationProtocol)((0, schema_1.parseString)(value, keyLabel), keyLabel)
92
+ }
93
+ };
94
+ return;
95
+ case "smartCommit.extractTicketIdFromBranch":
96
+ config.commitMessage = {
97
+ ...config.commitMessage,
98
+ validation: {
99
+ ...config.commitMessage?.validation,
100
+ extractTicketIdFromBranch: (0, schema_1.parseBoolean)(value, keyLabel)
101
+ }
102
+ };
103
+ return;
104
+ case "smartCommit.requireTicketIdInCommitMessage":
105
+ config.commitMessage = {
106
+ ...config.commitMessage,
107
+ validation: {
108
+ ...config.commitMessage?.validation,
109
+ requireTicketIdInMessage: (0, schema_1.parseBoolean)(value, keyLabel)
110
+ }
111
+ };
112
+ return;
113
+ case "smartCommit.commitMessageValidationPattern":
114
+ config.commitMessage = {
115
+ ...config.commitMessage,
116
+ validation: {
117
+ ...config.commitMessage?.validation,
118
+ pattern: (0, schema_1.parseString)(value, keyLabel).trim()
119
+ }
120
+ };
121
+ return;
122
+ case "smartCommit.commitMessageLanguage":
123
+ config.commitMessage = {
124
+ ...config.commitMessage,
125
+ language: (0, schema_1.parseOutputLanguage)((0, schema_1.parseString)(value, keyLabel), keyLabel)
126
+ };
127
+ return;
128
+ case "smartCommit.reviewLanguage":
129
+ config.review = { ...config.review, language: (0, schema_1.parseOutputLanguage)((0, schema_1.parseString)(value, keyLabel), keyLabel) };
130
+ return;
131
+ case "smartCommit.autoCommitAndPush": {
132
+ const enabled = (0, schema_1.parseBoolean)(value, keyLabel);
133
+ config.git = { ...config.git, autoCommit: enabled, autoPush: enabled };
134
+ return;
135
+ }
136
+ case "smartCommit.autoStageWhenNothingStaged":
137
+ config.git = { ...config.git, autoStageWhenNothingStaged: (0, schema_1.parseBoolean)(value, keyLabel) };
138
+ return;
139
+ case "smartCommit.codeReviewSkillId":
140
+ config.review = { ...config.review, skill: { ...config.review?.skill, id: (0, schema_1.parseString)(value, keyLabel).trim() } };
141
+ return;
142
+ case "smartCommit.codeReviewSkillPath":
143
+ config.review = { ...config.review, skill: { ...config.review?.skill, path: (0, schema_1.parseString)(value, keyLabel).trim() } };
144
+ return;
145
+ case "smartCommit.gitCommitMessageSkillId":
146
+ config.commitMessage = {
147
+ ...config.commitMessage,
148
+ skill: { ...config.commitMessage?.skill, id: (0, schema_1.parseString)(value, keyLabel).trim() }
149
+ };
150
+ return;
151
+ case "smartCommit.gitCommitMessageSkillPath":
152
+ config.commitMessage = {
153
+ ...config.commitMessage,
154
+ skill: { ...config.commitMessage?.skill, path: (0, schema_1.parseString)(value, keyLabel).trim() }
155
+ };
156
+ return;
157
+ case "smartCommit.codeReviewSkillPromptTuning":
158
+ config.review = {
159
+ ...config.review,
160
+ skill: { ...config.review?.skill, promptTuning: (0, schema_1.parseString)(value, keyLabel).trim() }
161
+ };
162
+ return;
163
+ case "smartCommit.gitCommitMessageSkillPromptTuning":
164
+ config.commitMessage = {
165
+ ...config.commitMessage,
166
+ skill: { ...config.commitMessage?.skill, promptTuning: (0, schema_1.parseString)(value, keyLabel).trim() }
167
+ };
168
+ return;
169
+ case "smartCommit.enablePassHistory":
170
+ config.passHistory = { ...config.passHistory, enabled: (0, schema_1.parseBoolean)(value, keyLabel) };
171
+ return;
172
+ case "smartCommit.passHistoryDirPath":
173
+ config.passHistory = { ...config.passHistory, dirPath: (0, schema_1.parseString)(value, keyLabel).trim() };
174
+ return;
175
+ case "smartCommit.passHistoryMaxEntries":
176
+ config.passHistory = { ...config.passHistory, maxEntries: (0, schema_1.parseFiniteNumber)(value, keyLabel) };
177
+ return;
178
+ case "smartCommit.reportLanguage":
179
+ config.reporting = {
180
+ ...config.reporting,
181
+ language: (0, schema_1.parseOutputLanguage)((0, schema_1.parseString)(value, keyLabel), keyLabel)
182
+ };
183
+ return;
184
+ case "smartCommit.reportWeekStartsOn":
185
+ config.reporting = {
186
+ ...config.reporting,
187
+ weekStartsOn: (0, schema_1.parseReportWeekStartsOn)((0, schema_1.parseString)(value, keyLabel), keyLabel)
188
+ };
189
+ return;
190
+ case "smartCommit.reportOutputDirPath":
191
+ config.reporting = { ...config.reporting, outputDirPath: (0, schema_1.parseString)(value, keyLabel).trim() };
192
+ return;
193
+ case "smartCommit.reportPrompt":
194
+ config.reporting = { ...config.reporting, prompt: (0, schema_1.parseString)(value, keyLabel).trim() };
195
+ return;
196
+ default:
197
+ return;
198
+ }
199
+ }
200
+ //# sourceMappingURL=legacySmartCommit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacySmartCommit.js","sourceRoot":"","sources":["../../src/config/legacySmartCommit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mergeCliConfig = mergeCliConfig;
4
+ const schema_1 = require("./schema");
5
+ function mergeCliConfig(...configs) {
6
+ let result = structuredClone(schema_1.defaultCliConfig);
7
+ for (const config of configs) {
8
+ if (!config) {
9
+ continue;
10
+ }
11
+ result = mergeOne(result, config);
12
+ }
13
+ return result;
14
+ }
15
+ function mergeOne(base, override) {
16
+ return {
17
+ connection: {
18
+ ...base.connection,
19
+ ...override.connection,
20
+ extraHeaders: mergeStringMap(base.connection.extraHeaders, override.connection?.extraHeaders)
21
+ },
22
+ review: {
23
+ ...base.review,
24
+ ...override.review,
25
+ skill: {
26
+ ...base.review.skill,
27
+ ...override.review?.skill
28
+ }
29
+ },
30
+ commitMessage: {
31
+ ...base.commitMessage,
32
+ ...override.commitMessage,
33
+ skill: {
34
+ ...base.commitMessage.skill,
35
+ ...override.commitMessage?.skill
36
+ },
37
+ validation: {
38
+ ...base.commitMessage.validation,
39
+ ...override.commitMessage?.validation
40
+ }
41
+ },
42
+ git: {
43
+ ...base.git,
44
+ ...override.git
45
+ },
46
+ passHistory: {
47
+ ...base.passHistory,
48
+ ...override.passHistory
49
+ },
50
+ reporting: {
51
+ ...base.reporting,
52
+ ...override.reporting,
53
+ ai: {
54
+ ...base.reporting.ai,
55
+ ...override.reporting?.ai
56
+ }
57
+ },
58
+ output: {
59
+ ...base.output,
60
+ ...override.output
61
+ }
62
+ };
63
+ }
64
+ function mergeStringMap(base, override) {
65
+ if (!override) {
66
+ return { ...base };
67
+ }
68
+ return Object.fromEntries([...Object.entries(base), ...Object.entries(override)].filter((entry) => entry[1] !== undefined));
69
+ }
70
+ //# sourceMappingURL=merge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/config/merge.ts"],"names":[],"mappings":";;AAEA,wCAYC;AAdD,qCAAoE;AAEpE,SAAgB,cAAc,CAAC,GAAG,OAAkD;IAClF,IAAI,MAAM,GAAG,eAAe,CAAC,yBAAgB,CAAC,CAAC;IAE/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAS;QACX,CAAC;QAED,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAe,EAAE,QAAgC;IACjE,OAAO;QACL,UAAU,EAAE;YACV,GAAG,IAAI,CAAC,UAAU;YAClB,GAAG,QAAQ,CAAC,UAAU;YACtB,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;SAC9F;QACD,MAAM,EAAE;YACN,GAAG,IAAI,CAAC,MAAM;YACd,GAAG,QAAQ,CAAC,MAAM;YAClB,KAAK,EAAE;gBACL,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK;gBACpB,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK;aAC1B;SACF;QACD,aAAa,EAAE;YACb,GAAG,IAAI,CAAC,aAAa;YACrB,GAAG,QAAQ,CAAC,aAAa;YACzB,KAAK,EAAE;gBACL,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK;gBAC3B,GAAG,QAAQ,CAAC,aAAa,EAAE,KAAK;aACjC;YACD,UAAU,EAAE;gBACV,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU;gBAChC,GAAG,QAAQ,CAAC,aAAa,EAAE,UAAU;aACtC;SACF;QACD,GAAG,EAAE;YACH,GAAG,IAAI,CAAC,GAAG;YACX,GAAG,QAAQ,CAAC,GAAG;SAChB;QACD,WAAW,EAAE;YACX,GAAG,IAAI,CAAC,WAAW;YACnB,GAAG,QAAQ,CAAC,WAAW;SACxB;QACD,SAAS,EAAE;YACT,GAAG,IAAI,CAAC,SAAS;YACjB,GAAG,QAAQ,CAAC,SAAS;YACrB,EAAE,EAAE;gBACF,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE;gBACpB,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE;aAC1B;SACF;QACD,MAAM,EAAE;YACN,GAAG,IAAI,CAAC,MAAM;YACd,GAAG,QAAQ,CAAC,MAAM;SACnB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,IAA4B,EAC5B,QAAyD;IAEzD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC,WAAW,CACvB,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAA6B,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAC5H,CAAC;AACJ,CAAC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveRuntimeConfigReferences = resolveRuntimeConfigReferences;
4
+ function resolveRuntimeConfigReferences(config, env) {
5
+ return resolveValue(config, [], env);
6
+ }
7
+ function resolveValue(value, path, env) {
8
+ if (typeof value === "string") {
9
+ return resolveStringReference(value, path, env);
10
+ }
11
+ if (Array.isArray(value)) {
12
+ return value.map((item, index) => resolveValue(item, [...path, String(index)], env));
13
+ }
14
+ if (!value || typeof value !== "object") {
15
+ return value;
16
+ }
17
+ return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, resolveValue(item, [...path, key], env)]));
18
+ }
19
+ function resolveStringReference(value, path, env) {
20
+ const trimmed = value.trim();
21
+ if (!trimmed.startsWith("env:")) {
22
+ return value;
23
+ }
24
+ const envName = trimmed.slice("env:".length).trim();
25
+ if (!envName) {
26
+ throw new Error(`${formatPath(path)} must reference a non-empty environment variable name.`);
27
+ }
28
+ if (!(envName in env)) {
29
+ throw new Error(`${formatPath(path)} references missing environment variable ${envName}.`);
30
+ }
31
+ return env[envName] ?? "";
32
+ }
33
+ function formatPath(path) {
34
+ return path.join(".");
35
+ }
36
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/config/runtime.ts"],"names":[],"mappings":";;AAEA,wEAEC;AAFD,SAAgB,8BAA8B,CAAC,MAAiB,EAAE,GAAsB;IACtF,OAAO,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAc,CAAC;AACpD,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,IAAc,EAAE,GAAsB;IAC1E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAC3F,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa,EAAE,IAAc,EAAE,GAAsB;IACnF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,4CAA4C,OAAO,GAAG,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,UAAU,CAAC,IAAc;IAChC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC"}