cortex-tms 4.0.0 → 4.0.2

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 (180) hide show
  1. package/README.md +22 -12
  2. package/dist/cli.js +45 -37
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/archive.d.ts +1 -1
  5. package/dist/commands/archive.d.ts.map +1 -1
  6. package/dist/commands/archive.js +36 -34
  7. package/dist/commands/archive.js.map +1 -1
  8. package/dist/commands/auto-tier.d.ts +1 -1
  9. package/dist/commands/auto-tier.d.ts.map +1 -1
  10. package/dist/commands/auto-tier.js +77 -76
  11. package/dist/commands/auto-tier.js.map +1 -1
  12. package/dist/commands/dashboard.d.ts +1 -1
  13. package/dist/commands/dashboard.js +8 -8
  14. package/dist/commands/init.d.ts +1 -1
  15. package/dist/commands/init.d.ts.map +1 -1
  16. package/dist/commands/init.js +73 -73
  17. package/dist/commands/init.js.map +1 -1
  18. package/dist/commands/migrate.d.ts +2 -2
  19. package/dist/commands/migrate.d.ts.map +1 -1
  20. package/dist/commands/migrate.js +147 -136
  21. package/dist/commands/migrate.js.map +1 -1
  22. package/dist/commands/prompt.d.ts +1 -1
  23. package/dist/commands/prompt.d.ts.map +1 -1
  24. package/dist/commands/prompt.js +32 -31
  25. package/dist/commands/prompt.js.map +1 -1
  26. package/dist/commands/review.d.ts +1 -1
  27. package/dist/commands/review.d.ts.map +1 -1
  28. package/dist/commands/review.js +60 -60
  29. package/dist/commands/review.js.map +1 -1
  30. package/dist/commands/status.d.ts +1 -1
  31. package/dist/commands/status.d.ts.map +1 -1
  32. package/dist/commands/status.js +51 -45
  33. package/dist/commands/status.js.map +1 -1
  34. package/dist/commands/tutorial.d.ts +1 -1
  35. package/dist/commands/tutorial.js +168 -168
  36. package/dist/commands/tutorial.js.map +1 -1
  37. package/dist/commands/validate.d.ts +1 -1
  38. package/dist/commands/validate.d.ts.map +1 -1
  39. package/dist/commands/validate.js +60 -60
  40. package/dist/commands/validate.js.map +1 -1
  41. package/dist/types/cli.d.ts +15 -15
  42. package/dist/types/guardian.d.ts +2 -2
  43. package/dist/ui/components/Dashboard.d.ts +2 -2
  44. package/dist/ui/components/Dashboard.d.ts.map +1 -1
  45. package/dist/ui/components/Dashboard.js +24 -23
  46. package/dist/ui/components/Dashboard.js.map +1 -1
  47. package/dist/ui/components/dashboard/ContextReductionCard.d.ts +1 -1
  48. package/dist/ui/components/dashboard/ContextReductionCard.d.ts.map +1 -1
  49. package/dist/ui/components/dashboard/ContextReductionCard.js +5 -5
  50. package/dist/ui/components/dashboard/ContextReductionCard.js.map +1 -1
  51. package/dist/ui/components/dashboard/CostSavingsCard.d.ts +1 -1
  52. package/dist/ui/components/dashboard/CostSavingsCard.d.ts.map +1 -1
  53. package/dist/ui/components/dashboard/CostSavingsCard.js +7 -7
  54. package/dist/ui/components/dashboard/CostSavingsCard.js.map +1 -1
  55. package/dist/ui/components/dashboard/FileDistributionCard.d.ts +1 -1
  56. package/dist/ui/components/dashboard/FileDistributionCard.d.ts.map +1 -1
  57. package/dist/ui/components/dashboard/FileDistributionCard.js +10 -10
  58. package/dist/ui/components/dashboard/FileDistributionCard.js.map +1 -1
  59. package/dist/ui/components/dashboard/FileSizeHealthCard.d.ts +2 -2
  60. package/dist/ui/components/dashboard/FileSizeHealthCard.d.ts.map +1 -1
  61. package/dist/ui/components/dashboard/FileSizeHealthCard.js +12 -12
  62. package/dist/ui/components/dashboard/FileSizeHealthCard.js.map +1 -1
  63. package/dist/ui/components/dashboard/Footer.d.ts +1 -1
  64. package/dist/ui/components/dashboard/Footer.d.ts.map +1 -1
  65. package/dist/ui/components/dashboard/Footer.js +2 -2
  66. package/dist/ui/components/dashboard/Footer.js.map +1 -1
  67. package/dist/ui/components/dashboard/GovernanceHealthCard.d.ts +3 -3
  68. package/dist/ui/components/dashboard/GovernanceHealthCard.d.ts.map +1 -1
  69. package/dist/ui/components/dashboard/GovernanceHealthCard.js +17 -14
  70. package/dist/ui/components/dashboard/GovernanceHealthCard.js.map +1 -1
  71. package/dist/ui/components/dashboard/GuardianStatusCard.d.ts +2 -2
  72. package/dist/ui/components/dashboard/GuardianStatusCard.d.ts.map +1 -1
  73. package/dist/ui/components/dashboard/GuardianStatusCard.js +29 -16
  74. package/dist/ui/components/dashboard/GuardianStatusCard.js.map +1 -1
  75. package/dist/ui/components/dashboard/Header.d.ts +1 -1
  76. package/dist/ui/components/dashboard/Header.js +2 -2
  77. package/dist/ui/components/dashboard/HotFilesCard.d.ts +1 -1
  78. package/dist/ui/components/dashboard/HotFilesCard.d.ts.map +1 -1
  79. package/dist/ui/components/dashboard/HotFilesCard.js +6 -6
  80. package/dist/ui/components/dashboard/HotFilesCard.js.map +1 -1
  81. package/dist/ui/components/dashboard/NotConfiguredCard.d.ts +2 -2
  82. package/dist/ui/components/dashboard/NotConfiguredCard.d.ts.map +1 -1
  83. package/dist/ui/components/dashboard/NotConfiguredCard.js +3 -3
  84. package/dist/ui/components/dashboard/NotConfiguredCard.js.map +1 -1
  85. package/dist/ui/components/dashboard/SprintProgressCard.d.ts +1 -1
  86. package/dist/ui/components/dashboard/SprintProgressCard.d.ts.map +1 -1
  87. package/dist/ui/components/dashboard/SprintProgressCard.js +4 -4
  88. package/dist/ui/components/dashboard/SprintProgressCard.js.map +1 -1
  89. package/dist/ui/components/dashboard/StalenessCard.d.ts +1 -1
  90. package/dist/ui/components/dashboard/StalenessCard.d.ts.map +1 -1
  91. package/dist/ui/components/dashboard/StalenessCard.js +9 -9
  92. package/dist/ui/components/dashboard/StalenessCard.js.map +1 -1
  93. package/dist/ui/components/dashboard/TabBar.d.ts +2 -2
  94. package/dist/ui/components/dashboard/TabBar.js +7 -7
  95. package/dist/ui/components/dashboard/TabBar.js.map +1 -1
  96. package/dist/ui/components/dashboard/ValidationCard.d.ts +2 -2
  97. package/dist/ui/components/dashboard/ValidationCard.d.ts.map +1 -1
  98. package/dist/ui/components/dashboard/ValidationCard.js +22 -22
  99. package/dist/ui/components/dashboard/ValidationCard.js.map +1 -1
  100. package/dist/ui/components/dashboard/ViewContainer.d.ts +3 -3
  101. package/dist/ui/components/dashboard/ViewContainer.d.ts.map +1 -1
  102. package/dist/ui/components/dashboard/ViewContainer.js +20 -20
  103. package/dist/ui/components/dashboard/ViewContainer.js.map +1 -1
  104. package/dist/ui/components/dashboard/index.d.ts +13 -13
  105. package/dist/ui/components/dashboard/index.js +13 -13
  106. package/dist/ui/index.d.ts.map +1 -1
  107. package/dist/ui/index.js +10 -10
  108. package/dist/ui/index.js.map +1 -1
  109. package/dist/utils/backup.d.ts.map +1 -1
  110. package/dist/utils/backup.js +20 -20
  111. package/dist/utils/backup.js.map +1 -1
  112. package/dist/utils/config.d.ts +1 -1
  113. package/dist/utils/config.js +68 -68
  114. package/dist/utils/detection.d.ts +1 -1
  115. package/dist/utils/detection.js +25 -25
  116. package/dist/utils/errors.d.ts.map +1 -1
  117. package/dist/utils/errors.js +4 -4
  118. package/dist/utils/errors.js.map +1 -1
  119. package/dist/utils/git-history.d.ts.map +1 -1
  120. package/dist/utils/git-history.js +9 -5
  121. package/dist/utils/git-history.js.map +1 -1
  122. package/dist/utils/git-staleness.d.ts.map +1 -1
  123. package/dist/utils/git-staleness.js +21 -21
  124. package/dist/utils/git-staleness.js.map +1 -1
  125. package/dist/utils/guardian-prompt.d.ts.map +1 -1
  126. package/dist/utils/guardian-prompt.js +1 -1
  127. package/dist/utils/guardian-prompt.js.map +1 -1
  128. package/dist/utils/llm-client.d.ts +5 -5
  129. package/dist/utils/llm-client.d.ts.map +1 -1
  130. package/dist/utils/llm-client.js +56 -53
  131. package/dist/utils/llm-client.js.map +1 -1
  132. package/dist/utils/prompt-parser.d.ts.map +1 -1
  133. package/dist/utils/prompt-parser.js +13 -17
  134. package/dist/utils/prompt-parser.js.map +1 -1
  135. package/dist/utils/prompts.d.ts +1 -1
  136. package/dist/utils/prompts.d.ts.map +1 -1
  137. package/dist/utils/prompts.js +74 -49
  138. package/dist/utils/prompts.js.map +1 -1
  139. package/dist/utils/sanitize.js +6 -6
  140. package/dist/utils/sanitize.js.map +1 -1
  141. package/dist/utils/stats-collector.d.ts +3 -9
  142. package/dist/utils/stats-collector.d.ts.map +1 -1
  143. package/dist/utils/stats-collector.js +74 -83
  144. package/dist/utils/stats-collector.js.map +1 -1
  145. package/dist/utils/status.d.ts +1 -1
  146. package/dist/utils/status.d.ts.map +1 -1
  147. package/dist/utils/status.js +16 -16
  148. package/dist/utils/status.js.map +1 -1
  149. package/dist/utils/templates.d.ts +3 -3
  150. package/dist/utils/templates.d.ts.map +1 -1
  151. package/dist/utils/templates.js +59 -54
  152. package/dist/utils/templates.js.map +1 -1
  153. package/dist/utils/tier-tags.d.ts +1 -1
  154. package/dist/utils/tier-tags.js +2 -2
  155. package/dist/utils/token-counter.d.ts +1 -43
  156. package/dist/utils/token-counter.d.ts.map +1 -1
  157. package/dist/utils/token-counter.js +32 -80
  158. package/dist/utils/token-counter.js.map +1 -1
  159. package/dist/utils/validation.d.ts +1 -1
  160. package/dist/utils/validation.d.ts.map +1 -1
  161. package/dist/utils/validation.js +25 -24
  162. package/dist/utils/validation.js.map +1 -1
  163. package/dist/utils/validator.d.ts +1 -1
  164. package/dist/utils/validator.d.ts.map +1 -1
  165. package/dist/utils/validator.js +97 -90
  166. package/dist/utils/validator.js.map +1 -1
  167. package/package.json +7 -5
  168. package/templates/CLAUDE.md +1 -1
  169. package/templates/FUTURE-ENHANCEMENTS.md +1 -1
  170. package/templates/NEXT-TASKS.md +1 -1
  171. package/templates/PROMPTS.md +1 -1
  172. package/templates/README.md +1 -1
  173. package/templates/docs/archive/v1.0-CHANGELOG.md +1 -1
  174. package/templates/docs/core/ARCHITECTURE.md +1 -1
  175. package/templates/docs/core/DECISIONS.md +1 -1
  176. package/templates/docs/core/DOMAIN-LOGIC.md +1 -1
  177. package/templates/docs/core/GLOSSARY.md +1 -1
  178. package/templates/docs/core/PATTERNS.md +1 -1
  179. package/templates/docs/core/SCHEMA.md +1 -1
  180. package/templates/docs/core/TROUBLESHOOTING.md +1 -1
@@ -1,33 +1,33 @@
1
- import { sanitizeError } from './sanitize.js';
1
+ import { sanitizeError } from "./sanitize.js";
2
2
  const DEFAULT_API_TIMEOUT_MS = 30000;
3
3
  const DEFAULT_MAX_RETRIES = 3;
4
4
  const DEFAULT_INITIAL_DELAY_MS = 1000;
5
5
  const DEFAULT_MAX_DELAY_MS = 10000;
6
6
  const DEFAULT_BACKOFF_MULTIPLIER = 2;
7
7
  function sleep(ms) {
8
- return new Promise(resolve => setTimeout(resolve, ms));
8
+ return new Promise((resolve) => setTimeout(resolve, ms));
9
9
  }
10
10
  function isRetryableError(error) {
11
11
  const errorMessage = error.message.toLowerCase();
12
- if (errorMessage.includes('timeout') ||
13
- errorMessage.includes('network') ||
14
- errorMessage.includes('econnrefused') ||
15
- errorMessage.includes('enotfound')) {
12
+ if (errorMessage.includes("timeout") ||
13
+ errorMessage.includes("network") ||
14
+ errorMessage.includes("econnrefused") ||
15
+ errorMessage.includes("enotfound")) {
16
16
  return true;
17
17
  }
18
- if (errorMessage.includes('429') || errorMessage.includes('rate limit')) {
18
+ if (errorMessage.includes("429") || errorMessage.includes("rate limit")) {
19
19
  return true;
20
20
  }
21
- if (errorMessage.includes('500') ||
22
- errorMessage.includes('502') ||
23
- errorMessage.includes('503') ||
24
- errorMessage.includes('504')) {
21
+ if (errorMessage.includes("500") ||
22
+ errorMessage.includes("502") ||
23
+ errorMessage.includes("503") ||
24
+ errorMessage.includes("504")) {
25
25
  return true;
26
26
  }
27
- if (errorMessage.includes('401') ||
28
- errorMessage.includes('403') ||
29
- errorMessage.includes('400') ||
30
- errorMessage.includes('404')) {
27
+ if (errorMessage.includes("401") ||
28
+ errorMessage.includes("403") ||
29
+ errorMessage.includes("400") ||
30
+ errorMessage.includes("404")) {
31
31
  return false;
32
32
  }
33
33
  return false;
@@ -40,10 +40,10 @@ export async function callLLM(config, messages) {
40
40
  let lastError = null;
41
41
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
42
42
  try {
43
- if (config.provider === 'openai') {
43
+ if (config.provider === "openai") {
44
44
  return await callOpenAI(config, messages);
45
45
  }
46
- else if (config.provider === 'anthropic') {
46
+ else if (config.provider === "anthropic") {
47
47
  return await callAnthropic(config, messages);
48
48
  }
49
49
  throw new Error(`Unsupported provider: ${config.provider}`);
@@ -57,10 +57,10 @@ export async function callLLM(config, messages) {
57
57
  await sleep(delay);
58
58
  }
59
59
  }
60
- throw lastError || new Error('Unknown error in LLM API call');
60
+ throw lastError || new Error("Unknown error in LLM API call");
61
61
  }
62
62
  async function callOpenAI(config, messages) {
63
- const model = config.model || 'gpt-4-turbo-preview';
63
+ const model = config.model || "gpt-4-turbo-preview";
64
64
  const timeoutMs = config.timeoutMs || DEFAULT_API_TIMEOUT_MS;
65
65
  const controller = new AbortController();
66
66
  const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
@@ -70,14 +70,14 @@ async function callOpenAI(config, messages) {
70
70
  messages,
71
71
  temperature: 0.1,
72
72
  };
73
- if (config.responseFormat === 'json') {
74
- requestBody.response_format = { type: 'json_object' };
73
+ if (config.responseFormat === "json") {
74
+ requestBody.response_format = { type: "json_object" };
75
75
  }
76
- const response = await fetch('https://api.openai.com/v1/chat/completions', {
77
- method: 'POST',
76
+ const response = await fetch("https://api.openai.com/v1/chat/completions", {
77
+ method: "POST",
78
78
  headers: {
79
- 'Content-Type': 'application/json',
80
- 'Authorization': `Bearer ${config.apiKey}`,
79
+ "Content-Type": "application/json",
80
+ Authorization: `Bearer ${config.apiKey}`,
81
81
  },
82
82
  body: JSON.stringify(requestBody),
83
83
  signal: controller.signal,
@@ -88,9 +88,9 @@ async function callOpenAI(config, messages) {
88
88
  const sanitizedError = sanitizeError(error);
89
89
  throw new Error(`OpenAI API error: ${response.status} ${sanitizedError}`);
90
90
  }
91
- const data = await response.json();
91
+ const data = (await response.json());
92
92
  if (!data.choices?.[0]?.message?.content) {
93
- throw new Error('Invalid OpenAI response: missing content');
93
+ throw new Error("Invalid OpenAI response: missing content");
94
94
  }
95
95
  return {
96
96
  content: data.choices[0].message.content,
@@ -103,31 +103,32 @@ async function callOpenAI(config, messages) {
103
103
  }
104
104
  catch (error) {
105
105
  clearTimeout(timeoutId);
106
- if (error instanceof Error && error.name === 'AbortError') {
106
+ if (error instanceof Error && error.name === "AbortError") {
107
107
  throw new Error(`OpenAI API request timeout after ${timeoutMs}ms`);
108
108
  }
109
109
  throw error;
110
110
  }
111
111
  }
112
112
  async function callAnthropic(config, messages) {
113
- const model = config.model || 'claude-sonnet-4-5-20250929';
113
+ const model = config.model || "claude-sonnet-4-5-20250929";
114
114
  const timeoutMs = config.timeoutMs || DEFAULT_API_TIMEOUT_MS;
115
- let systemMessage = messages.find(m => m.role === 'system')?.content || '';
116
- if (config.responseFormat === 'json') {
117
- systemMessage += '\n\nIMPORTANT: You MUST respond with valid JSON only. Do not include any text before or after the JSON. The response must be parseable by JSON.parse().';
115
+ let systemMessage = messages.find((m) => m.role === "system")?.content || "";
116
+ if (config.responseFormat === "json") {
117
+ systemMessage +=
118
+ "\n\nIMPORTANT: You MUST respond with valid JSON only. Do not include any text before or after the JSON. The response must be parseable by JSON.parse().";
118
119
  }
119
120
  const conversationMessages = messages
120
- .filter(m => m.role !== 'system')
121
- .map(m => ({ role: m.role, content: m.content }));
121
+ .filter((m) => m.role !== "system")
122
+ .map((m) => ({ role: m.role, content: m.content }));
122
123
  const controller = new AbortController();
123
124
  const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
124
125
  try {
125
- const response = await fetch('https://api.anthropic.com/v1/messages', {
126
- method: 'POST',
126
+ const response = await fetch("https://api.anthropic.com/v1/messages", {
127
+ method: "POST",
127
128
  headers: {
128
- 'Content-Type': 'application/json',
129
- 'x-api-key': config.apiKey,
130
- 'anthropic-version': '2023-06-01',
129
+ "Content-Type": "application/json",
130
+ "x-api-key": config.apiKey,
131
+ "anthropic-version": "2023-06-01",
131
132
  },
132
133
  body: JSON.stringify({
133
134
  model,
@@ -144,9 +145,9 @@ async function callAnthropic(config, messages) {
144
145
  const sanitizedError = sanitizeError(error);
145
146
  throw new Error(`Anthropic API error: ${response.status} ${sanitizedError}`);
146
147
  }
147
- const data = await response.json();
148
+ const data = (await response.json());
148
149
  if (!data.content?.[0]?.text) {
149
- throw new Error('Invalid Anthropic response: missing content');
150
+ throw new Error("Invalid Anthropic response: missing content");
150
151
  }
151
152
  return {
152
153
  content: data.content[0].text,
@@ -159,7 +160,7 @@ async function callAnthropic(config, messages) {
159
160
  }
160
161
  catch (error) {
161
162
  clearTimeout(timeoutId);
162
- if (error instanceof Error && error.name === 'AbortError') {
163
+ if (error instanceof Error && error.name === "AbortError") {
163
164
  throw new Error(`Anthropic API request timeout after ${timeoutMs}ms`);
164
165
  }
165
166
  throw error;
@@ -168,18 +169,18 @@ async function callAnthropic(config, messages) {
168
169
  export function parseGuardianJSON(content) {
169
170
  try {
170
171
  let jsonStr = content.trim();
171
- if (jsonStr.startsWith('```json')) {
172
+ if (jsonStr.startsWith("```json")) {
172
173
  jsonStr = jsonStr.slice(7);
173
174
  }
174
- else if (jsonStr.startsWith('```')) {
175
+ else if (jsonStr.startsWith("```")) {
175
176
  jsonStr = jsonStr.slice(3);
176
177
  }
177
- if (jsonStr.endsWith('```')) {
178
+ if (jsonStr.endsWith("```")) {
178
179
  jsonStr = jsonStr.slice(0, -3);
179
180
  }
180
181
  jsonStr = jsonStr.trim();
181
182
  const parsed = JSON.parse(jsonStr);
182
- if (!parsed.summary?.status || typeof parsed.summary.message !== 'string') {
183
+ if (!parsed.summary?.status || typeof parsed.summary.message !== "string") {
183
184
  return null;
184
185
  }
185
186
  if (!Array.isArray(parsed.violations)) {
@@ -188,19 +189,21 @@ export function parseGuardianJSON(content) {
188
189
  if (!Array.isArray(parsed.positiveObservations)) {
189
190
  return null;
190
191
  }
191
- const validStatuses = ['compliant', 'minor_issues', 'major_violations'];
192
+ const validStatuses = ["compliant", "minor_issues", "major_violations"];
192
193
  if (!validStatuses.includes(parsed.summary.status)) {
193
194
  return null;
194
195
  }
195
196
  for (const v of parsed.violations) {
196
- if (typeof v.pattern !== 'string' ||
197
- typeof v.issue !== 'string' ||
198
- typeof v.recommendation !== 'string' ||
199
- (v.severity !== 'minor' && v.severity !== 'major')) {
197
+ if (typeof v.pattern !== "string" ||
198
+ typeof v.issue !== "string" ||
199
+ typeof v.recommendation !== "string" ||
200
+ (v.severity !== "minor" && v.severity !== "major")) {
200
201
  return null;
201
202
  }
202
203
  if (v.confidence !== undefined) {
203
- if (typeof v.confidence !== 'number' || v.confidence < 0 || v.confidence > 1) {
204
+ if (typeof v.confidence !== "number" ||
205
+ v.confidence < 0 ||
206
+ v.confidence > 1) {
204
207
  return null;
205
208
  }
206
209
  }
@@ -212,7 +215,7 @@ export function parseGuardianJSON(content) {
212
215
  }
213
216
  }
214
217
  export function getApiKey(provider) {
215
- const envVar = provider === 'openai' ? 'OPENAI_API_KEY' : 'ANTHROPIC_API_KEY';
218
+ const envVar = provider === "openai" ? "OPENAI_API_KEY" : "ANTHROPIC_API_KEY";
216
219
  return process.env[envVar] || null;
217
220
  }
218
221
  //# sourceMappingURL=llm-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-client.js","sourceRoot":"","sources":["../../src/utils/llm-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-client.js","sourceRoot":"","sources":["../../src/utils/llm-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-parser.d.ts","sourceRoot":"","sources":["../../src/utils/prompt-parser.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,MAAM;IAErB,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,EAAE,MAAM,CAAC;IAEhB,WAAW,EAAE,MAAM,CAAC;CACrB;AAaD,wBAAsB,gBAAgB,CACpC,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,EAAE,CAAC,CAoDnB;AAQD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAGtE;AASD,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIxB"}
1
+ {"version":3,"file":"prompt-parser.d.ts","sourceRoot":"","sources":["../../src/utils/prompt-parser.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,MAAM;IAErB,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,EAAE,MAAM,CAAC;IAEhB,WAAW,EAAE,MAAM,CAAC;CACrB;AAaD,wBAAsB,gBAAgB,CACpC,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,EAAE,CAAC,CAkDnB;AAQD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAGtE;AASD,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIxB"}
@@ -1,33 +1,29 @@
1
- import { readFile } from 'fs/promises';
2
- import { existsSync } from 'fs';
3
- import { join } from 'path';
1
+ import { readFile } from "fs/promises";
2
+ import { existsSync } from "fs";
3
+ import { join } from "path";
4
4
  export async function parsePromptsFile(promptsFilePath) {
5
5
  if (!existsSync(promptsFilePath)) {
6
6
  throw new Error(`PROMPTS.md not found at: ${promptsFilePath}`);
7
7
  }
8
- const content = await readFile(promptsFilePath, 'utf-8');
8
+ const content = await readFile(promptsFilePath, "utf-8");
9
9
  const prompts = [];
10
10
  const sections = content.split(/^## /gm).filter(Boolean);
11
11
  for (const section of sections) {
12
- if (section.includes('# Cortex TMS:')) {
12
+ if (section.includes("# Cortex TMS:")) {
13
13
  continue;
14
14
  }
15
- const lines = section.trim().split('\n');
15
+ const lines = section.trim().split("\n");
16
16
  const nameMatch = lines[0]?.trim();
17
- if (!nameMatch || nameMatch.toLowerCase().includes('usage') || nameMatch.toLowerCase().includes('tip')) {
17
+ if (!nameMatch ||
18
+ nameMatch.toLowerCase().includes("usage") ||
19
+ nameMatch.toLowerCase().includes("tip")) {
18
20
  continue;
19
21
  }
20
22
  const contentLines = lines.slice(1);
21
- const promptContent = (contentLines
22
- .join('\n')
23
- .split('---')[0] || '')
23
+ const promptContent = (contentLines.join("\n").split("---")[0] || "")
24
24
  .trim();
25
- const description = promptContent
26
- .split('.')
27
- .slice(0, 2)
28
- .join('.')
29
- .trim()
30
- .substring(0, 100) + (promptContent.length > 100 ? '...' : '');
25
+ const description = promptContent.split(".").slice(0, 2).join(".").trim().substring(0, 100) +
26
+ (promptContent.length > 100 ? "..." : "");
31
27
  if (promptContent) {
32
28
  prompts.push({
33
29
  name: nameMatch,
@@ -39,7 +35,7 @@ export async function parsePromptsFile(promptsFilePath) {
39
35
  return prompts;
40
36
  }
41
37
  export async function getProjectPrompts(cwd) {
42
- const promptsPath = join(cwd, 'PROMPTS.md');
38
+ const promptsPath = join(cwd, "PROMPTS.md");
43
39
  return await parsePromptsFile(promptsPath);
44
40
  }
45
41
  export async function getPrompt(cwd, promptName) {
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-parser.js","sourceRoot":"","sources":["../../src/utils/prompt-parser.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAyB5B,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,eAAuB;IAEvB,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,4BAA4B,eAAe,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,OAAO,GAAa,EAAE,CAAC;IAG7B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAE/B,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACtC,SAAS;QACX,CAAC;QAGD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAGnC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACvG,SAAS;QACX,CAAC;QAGD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,aAAa,GAAG,CAAC,YAAY;aAChC,IAAI,CAAC,IAAI,CAAC;aACV,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACtB,IAAI,EAAE,CAAC;QAGV,MAAM,WAAW,GACf,aAAa;aACV,KAAK,CAAC,GAAG,CAAC;aACV,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,IAAI,CAAC,GAAG,CAAC;aACT,IAAI,EAAE;aACN,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEnE,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,aAAa;gBACtB,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC5C,OAAO,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;AAC7C,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,GAAW,EACX,UAAkB;IAElB,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"prompt-parser.js","sourceRoot":"","sources":["../../src/utils/prompt-parser.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAyB5B,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,eAAuB;IAEvB,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,4BAA4B,eAAe,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,OAAO,GAAa,EAAE,CAAC;IAG7B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAE/B,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACtC,SAAS;QACX,CAAC;QAGD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAGnC,IACE,CAAC,SAAS;YACV,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YACzC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EACvC,CAAC;YACD,SAAS;QACX,CAAC;QAGD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,aAAa,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClE,IAAI,EAAE,CAAC;QAGV,MAAM,WAAW,GACf,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;YACvE,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE5C,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,aAAa;gBACtB,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC5C,OAAO,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;AAC7C,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,GAAW,EACX,UAAkB;IAElB,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { InitPromptAnswers, ProjectContext } from '../types/cli.js';
1
+ import type { InitPromptAnswers, ProjectContext } from "../types/cli.js";
2
2
  export declare function runInitPrompts(context: ProjectContext, cwd: string): Promise<InitPromptAnswers>;
3
3
  export declare function showInitSummary(answers: InitPromptAnswers, context: ProjectContext): void;
4
4
  export declare function confirmInit(): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AA4BzE,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,iBAAiB,CAAC,CA+F5B;AAQD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,cAAc,GACtB,IAAI,CAqCN;AAOD,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAWpD"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAiDzE,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,iBAAiB,CAAC,CAqG5B;AAQD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,cAAc,GACtB,IAAI,CAyCN;AAOD,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAWpD"}
@@ -1,81 +1,106 @@
1
- import inquirer from 'inquirer';
2
- import { getDefaultProjectName } from './detection.js';
3
- import { SCOPE_PRESETS } from './config.js';
1
+ import inquirer from "inquirer";
2
+ import { getDefaultProjectName } from "./detection.js";
3
+ import { SCOPE_PRESETS } from "./config.js";
4
4
  const AVAILABLE_TEMPLATES = [
5
- { value: 'NEXT-TASKS.md', name: 'NEXT-TASKS.md - Active sprint tasks (mandatory)' },
6
- { value: 'CLAUDE.md', name: 'CLAUDE.md - Agent workflow config (mandatory)' },
7
- { value: '.github/copilot-instructions.md', name: '.github/copilot-instructions.md - AI rules (recommended)' },
8
- { value: 'FUTURE-ENHANCEMENTS.md', name: 'FUTURE-ENHANCEMENTS.md - Backlog & ideas' },
9
- { value: 'docs/core/ARCHITECTURE.md', name: 'ARCHITECTURE.md - System design' },
10
- { value: 'docs/core/PATTERNS.md', name: 'PATTERNS.md - Code conventions' },
11
- { value: 'docs/core/DOMAIN-LOGIC.md', name: 'DOMAIN-LOGIC.md - Business rules' },
12
- { value: 'docs/core/DECISIONS.md', name: 'DECISIONS.md - Architecture decisions' },
13
- { value: 'docs/core/GLOSSARY.md', name: 'GLOSSARY.md - Project terminology' },
14
- { value: 'docs/core/SCHEMA.md', name: 'SCHEMA.md - Data models' },
15
- { value: 'docs/core/TROUBLESHOOTING.md', name: 'TROUBLESHOOTING.md - Common issues' },
5
+ {
6
+ value: "NEXT-TASKS.md",
7
+ name: "NEXT-TASKS.md - Active sprint tasks (mandatory)",
8
+ },
9
+ { value: "CLAUDE.md", name: "CLAUDE.md - Agent workflow config (mandatory)" },
10
+ {
11
+ value: ".github/copilot-instructions.md",
12
+ name: ".github/copilot-instructions.md - AI rules (recommended)",
13
+ },
14
+ {
15
+ value: "FUTURE-ENHANCEMENTS.md",
16
+ name: "FUTURE-ENHANCEMENTS.md - Backlog & ideas",
17
+ },
18
+ {
19
+ value: "docs/core/ARCHITECTURE.md",
20
+ name: "ARCHITECTURE.md - System design",
21
+ },
22
+ { value: "docs/core/PATTERNS.md", name: "PATTERNS.md - Code conventions" },
23
+ {
24
+ value: "docs/core/DOMAIN-LOGIC.md",
25
+ name: "DOMAIN-LOGIC.md - Business rules",
26
+ },
27
+ {
28
+ value: "docs/core/DECISIONS.md",
29
+ name: "DECISIONS.md - Architecture decisions",
30
+ },
31
+ { value: "docs/core/GLOSSARY.md", name: "GLOSSARY.md - Project terminology" },
32
+ { value: "docs/core/SCHEMA.md", name: "SCHEMA.md - Data models" },
33
+ {
34
+ value: "docs/core/TROUBLESHOOTING.md",
35
+ name: "TROUBLESHOOTING.md - Common issues",
36
+ },
16
37
  ];
17
38
  export async function runInitPrompts(context, cwd) {
18
39
  const defaultName = getDefaultProjectName(cwd);
19
40
  const answers = (await inquirer.prompt([
20
41
  {
21
- type: 'input',
22
- name: 'projectName',
23
- message: 'What is your project name?',
42
+ type: "input",
43
+ name: "projectName",
44
+ message: "What is your project name?",
24
45
  default: defaultName,
25
46
  validate: (input) => {
26
47
  if (!input || input.trim().length === 0) {
27
- return 'Project name is required';
48
+ return "Project name is required";
28
49
  }
29
50
  if (input.length > 100) {
30
- return 'Project name must be 100 characters or less';
51
+ return "Project name must be 100 characters or less";
31
52
  }
32
53
  return true;
33
54
  },
34
55
  },
35
56
  {
36
- type: 'input',
37
- name: 'description',
38
- message: 'Project description (optional):',
57
+ type: "input",
58
+ name: "description",
59
+ message: "Project description (optional):",
39
60
  default: undefined,
40
61
  },
41
62
  {
42
- type: 'list',
43
- name: 'scope',
44
- message: 'What project scope would you like?',
63
+ type: "list",
64
+ name: "scope",
65
+ message: "What project scope would you like?",
45
66
  choices: SCOPE_PRESETS.map((preset) => ({
46
67
  name: `${preset.displayName} - ${preset.description}`,
47
68
  value: preset.name,
48
69
  })),
49
- default: 'standard',
70
+ default: "standard",
50
71
  },
51
72
  ]));
52
- if (answers.scope === 'custom') {
73
+ if (answers.scope === "custom") {
53
74
  const { customFiles } = await inquirer.prompt({
54
- type: 'checkbox',
55
- name: 'customFiles',
56
- message: 'Select files to include (use space to select, enter to confirm):',
75
+ type: "checkbox",
76
+ name: "customFiles",
77
+ message: "Select files to include (use space to select, enter to confirm):",
57
78
  choices: AVAILABLE_TEMPLATES,
58
- default: ['NEXT-TASKS.md', 'CLAUDE.md', '.github/copilot-instructions.md'],
79
+ default: [
80
+ "NEXT-TASKS.md",
81
+ "CLAUDE.md",
82
+ ".github/copilot-instructions.md",
83
+ ],
59
84
  validate: (input) => {
60
- if (!input.includes('NEXT-TASKS.md')) {
61
- return 'You must include NEXT-TASKS.md (mandatory for TMS)';
85
+ if (!input.includes("NEXT-TASKS.md")) {
86
+ return "You must include NEXT-TASKS.md (mandatory for TMS)";
62
87
  }
63
88
  if (input.length === 0) {
64
- return 'You must select at least one file';
89
+ return "You must select at least one file";
65
90
  }
66
91
  return true;
67
92
  },
68
93
  });
69
94
  answers.customFiles = customFiles;
70
95
  }
71
- const shouldOfferSnippets = answers.scope === 'standard' ||
72
- answers.scope === 'enterprise' ||
73
- (answers.scope === 'custom' && (answers.customFiles?.length ?? 0) >= 3);
96
+ const shouldOfferSnippets = answers.scope === "standard" ||
97
+ answers.scope === "enterprise" ||
98
+ (answers.scope === "custom" && (answers.customFiles?.length ?? 0) >= 3);
74
99
  if (shouldOfferSnippets) {
75
100
  const { installSnippets } = await inquirer.prompt({
76
- type: 'confirm',
77
- name: 'installSnippets',
78
- message: 'Install VS Code snippet library for TMS documentation? (Recommended)',
101
+ type: "confirm",
102
+ name: "installSnippets",
103
+ message: "Install VS Code snippet library for TMS documentation? (Recommended)",
79
104
  default: true,
80
105
  });
81
106
  answers.installSnippets = installSnippets;
@@ -83,8 +108,8 @@ export async function runInitPrompts(context, cwd) {
83
108
  if (context.existingFiles.length > 0) {
84
109
  const { overwrite } = await inquirer.prompt([
85
110
  {
86
- type: 'confirm',
87
- name: 'overwrite',
111
+ type: "confirm",
112
+ name: "overwrite",
88
113
  message: `Warning: ${context.existingFiles.length} TMS file(s) already exist. Overwrite them?`,
89
114
  default: false,
90
115
  },
@@ -95,14 +120,14 @@ export async function runInitPrompts(context, cwd) {
95
120
  }
96
121
  export function showInitSummary(answers, context) {
97
122
  const preset = SCOPE_PRESETS.find((p) => p.name === answers.scope);
98
- console.log('\nšŸ“‹ Summary:');
123
+ console.log("\nšŸ“‹ Summary:");
99
124
  console.log(` Project: ${answers.projectName}`);
100
125
  if (answers.description) {
101
126
  console.log(` Description: ${answers.description}`);
102
127
  }
103
- if (answers.scope === 'custom' && answers.customFiles) {
128
+ if (answers.scope === "custom" && answers.customFiles) {
104
129
  console.log(` Scope: ${preset?.displayName || answers.scope} (${answers.customFiles.length} files selected)`);
105
- console.log(` Files: ${answers.customFiles.join(', ')}`);
130
+ console.log(` Files: ${answers.customFiles.join(", ")}`);
106
131
  }
107
132
  else {
108
133
  console.log(` Scope: ${preset?.displayName || answers.scope} (${(preset?.mandatoryFiles.length || 0) + (preset?.optionalFiles.length || 0)} files)`);
@@ -111,7 +136,7 @@ export function showInitSummary(answers, context) {
111
136
  console.log(` Git: Repository detected āœ“`);
112
137
  }
113
138
  if (context.hasPackageJson) {
114
- console.log(` Package Manager: ${context.packageManager !== 'unknown' ? context.packageManager : 'npm (default)'}`);
139
+ console.log(` Package Manager: ${context.packageManager !== "unknown" ? context.packageManager : "npm (default)"}`);
115
140
  }
116
141
  if (answers.installSnippets) {
117
142
  console.log(` VS Code Snippets: Will install to .vscode/`);
@@ -124,9 +149,9 @@ export function showInitSummary(answers, context) {
124
149
  export async function confirmInit() {
125
150
  const { confirmed } = await inquirer.prompt([
126
151
  {
127
- type: 'confirm',
128
- name: 'confirmed',
129
- message: 'Initialize Cortex TMS with these settings?',
152
+ type: "confirm",
153
+ name: "confirmed",
154
+ message: "Initialize Cortex TMS with these settings?",
130
155
  default: true,
131
156
  },
132
157
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ const API_KEY_PATTERNS = [
5
5
  /Authorization:\s*["']?[a-zA-Z0-9_-]{20,}["']?/gi,
6
6
  /x-api-key:\s*["']?[a-zA-Z0-9_-]{10,}["']?/gi,
7
7
  ];
8
- const REDACTED = '[REDACTED_API_KEY]';
8
+ const REDACTED = "[REDACTED_API_KEY]";
9
9
  export function sanitizeApiKey(text) {
10
10
  let sanitized = text;
11
11
  for (const pattern of API_KEY_PATTERNS) {
@@ -14,23 +14,23 @@ export function sanitizeApiKey(text) {
14
14
  return sanitized;
15
15
  }
16
16
  export function sanitizeError(error) {
17
- const message = typeof error === 'string' ? error : error.message;
17
+ const message = typeof error === "string" ? error : error.message;
18
18
  return sanitizeApiKey(message);
19
19
  }
20
20
  export function sanitizeObject(obj) {
21
21
  if (obj === null || obj === undefined) {
22
22
  return obj;
23
23
  }
24
- if (typeof obj === 'string') {
24
+ if (typeof obj === "string") {
25
25
  return sanitizeApiKey(obj);
26
26
  }
27
27
  if (Array.isArray(obj)) {
28
- return obj.map(item => sanitizeObject(item));
28
+ return obj.map((item) => sanitizeObject(item));
29
29
  }
30
- if (typeof obj === 'object' && obj.constructor === Object) {
30
+ if (typeof obj === "object" && obj.constructor === Object) {
31
31
  const sanitized = {};
32
32
  for (const [key, value] of Object.entries(obj)) {
33
- if (['apiKey', 'api_key', 'token', 'secret', 'password'].includes(key)) {
33
+ if (["apiKey", "api_key", "token", "secret", "password"].includes(key)) {
34
34
  sanitized[key] = REDACTED;
35
35
  }
36
36
  else {