@thanhvn14/csvibe 0.1.1 → 0.1.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 (173) hide show
  1. package/.csvibe/state/approaches.json +1 -0
  2. package/README.md +142 -3
  3. package/dist/commands/brainstorm.d.ts +16 -0
  4. package/dist/commands/brainstorm.d.ts.map +1 -0
  5. package/dist/commands/brainstorm.js +186 -0
  6. package/dist/commands/brainstorm.js.map +1 -0
  7. package/dist/commands/doctor.d.ts +9 -0
  8. package/dist/commands/doctor.d.ts.map +1 -0
  9. package/dist/commands/doctor.js +72 -0
  10. package/dist/commands/doctor.js.map +1 -0
  11. package/dist/commands/help.d.ts.map +1 -1
  12. package/dist/commands/help.js +13 -7
  13. package/dist/commands/help.js.map +1 -1
  14. package/dist/commands/index.d.ts +3 -0
  15. package/dist/commands/index.d.ts.map +1 -1
  16. package/dist/commands/index.js +7 -1
  17. package/dist/commands/index.js.map +1 -1
  18. package/dist/commands/init/index.d.ts +7 -0
  19. package/dist/commands/init/index.d.ts.map +1 -0
  20. package/dist/commands/init/index.js +10 -0
  21. package/dist/commands/init/index.js.map +1 -0
  22. package/dist/commands/init/init-command.d.ts +10 -0
  23. package/dist/commands/init/init-command.d.ts.map +1 -0
  24. package/dist/commands/init/init-command.js +75 -0
  25. package/dist/commands/init/init-command.js.map +1 -0
  26. package/dist/commands/init/phases/config-handler.d.ts +10 -0
  27. package/dist/commands/init/phases/config-handler.d.ts.map +1 -0
  28. package/dist/commands/init/phases/config-handler.js +21 -0
  29. package/dist/commands/init/phases/config-handler.js.map +1 -0
  30. package/dist/commands/init/phases/detection-handler.d.ts +10 -0
  31. package/dist/commands/init/phases/detection-handler.d.ts.map +1 -0
  32. package/dist/commands/init/phases/detection-handler.js +80 -0
  33. package/dist/commands/init/phases/detection-handler.js.map +1 -0
  34. package/dist/commands/init/phases/download-handler.d.ts +9 -0
  35. package/dist/commands/init/phases/download-handler.d.ts.map +1 -0
  36. package/dist/commands/init/phases/download-handler.js +16 -0
  37. package/dist/commands/init/phases/download-handler.js.map +1 -0
  38. package/dist/commands/init/phases/prompt-handler.d.ts +10 -0
  39. package/dist/commands/init/phases/prompt-handler.d.ts.map +1 -0
  40. package/dist/commands/init/phases/prompt-handler.js +24 -0
  41. package/dist/commands/init/phases/prompt-handler.js.map +1 -0
  42. package/dist/commands/init/phases/scaffold-handler.d.ts +9 -0
  43. package/dist/commands/init/phases/scaffold-handler.d.ts.map +1 -0
  44. package/dist/commands/init/phases/scaffold-handler.js +18 -0
  45. package/dist/commands/init/phases/scaffold-handler.js.map +1 -0
  46. package/dist/commands/init/phases/validation-handler.d.ts +14 -0
  47. package/dist/commands/init/phases/validation-handler.d.ts.map +1 -0
  48. package/dist/commands/init/phases/validation-handler.js +50 -0
  49. package/dist/commands/init/phases/validation-handler.js.map +1 -0
  50. package/dist/commands/init/phases/vscode-handler.d.ts +9 -0
  51. package/dist/commands/init/phases/vscode-handler.d.ts.map +1 -0
  52. package/dist/commands/init/phases/vscode-handler.js +16 -0
  53. package/dist/commands/init/phases/vscode-handler.js.map +1 -0
  54. package/dist/commands/init/types.d.ts +28 -0
  55. package/dist/commands/init/types.d.ts.map +1 -0
  56. package/dist/commands/init/types.js +6 -0
  57. package/dist/commands/init/types.js.map +1 -0
  58. package/dist/commands/scout.d.ts +30 -0
  59. package/dist/commands/scout.d.ts.map +1 -0
  60. package/dist/commands/scout.js +116 -0
  61. package/dist/commands/scout.js.map +1 -0
  62. package/dist/domains/config/generator.d.ts +17 -0
  63. package/dist/domains/config/generator.d.ts.map +1 -0
  64. package/dist/domains/config/generator.js +67 -0
  65. package/dist/domains/config/generator.js.map +1 -0
  66. package/dist/domains/config/index.d.ts +8 -0
  67. package/dist/domains/config/index.d.ts.map +1 -0
  68. package/dist/domains/config/index.js +15 -0
  69. package/dist/domains/config/index.js.map +1 -0
  70. package/dist/domains/config/types.d.ts +39 -0
  71. package/dist/domains/config/types.d.ts.map +1 -0
  72. package/dist/domains/config/types.js +6 -0
  73. package/dist/domains/config/types.js.map +1 -0
  74. package/dist/domains/config/validator.d.ts +17 -0
  75. package/dist/domains/config/validator.d.ts.map +1 -0
  76. package/dist/domains/config/validator.js +54 -0
  77. package/dist/domains/config/validator.js.map +1 -0
  78. package/dist/domains/github/auth-api.d.ts +19 -0
  79. package/dist/domains/github/auth-api.d.ts.map +1 -0
  80. package/dist/domains/github/auth-api.js +196 -0
  81. package/dist/domains/github/auth-api.js.map +1 -0
  82. package/dist/domains/github/github-client.d.ts +323 -0
  83. package/dist/domains/github/github-client.d.ts.map +1 -0
  84. package/dist/domains/github/github-client.js +192 -0
  85. package/dist/domains/github/github-client.js.map +1 -0
  86. package/dist/domains/github/index.d.ts +9 -0
  87. package/dist/domains/github/index.d.ts.map +1 -0
  88. package/dist/domains/github/index.js +23 -0
  89. package/dist/domains/github/index.js.map +1 -0
  90. package/dist/domains/github/keychain.d.ts +19 -0
  91. package/dist/domains/github/keychain.d.ts.map +1 -0
  92. package/dist/domains/github/keychain.js +132 -0
  93. package/dist/domains/github/keychain.js.map +1 -0
  94. package/dist/domains/github/types.d.ts +40 -0
  95. package/dist/domains/github/types.d.ts.map +1 -0
  96. package/dist/domains/github/types.js +6 -0
  97. package/dist/domains/github/types.js.map +1 -0
  98. package/dist/domains/health-checks/auto-healer.d.ts +14 -0
  99. package/dist/domains/health-checks/auto-healer.d.ts.map +1 -0
  100. package/dist/domains/health-checks/auto-healer.js +160 -0
  101. package/dist/domains/health-checks/auto-healer.js.map +1 -0
  102. package/dist/domains/health-checks/check-runner.d.ts +10 -0
  103. package/dist/domains/health-checks/check-runner.d.ts.map +1 -0
  104. package/dist/domains/health-checks/check-runner.js +31 -0
  105. package/dist/domains/health-checks/check-runner.js.map +1 -0
  106. package/dist/domains/health-checks/checkers/auth-checker.d.ts +10 -0
  107. package/dist/domains/health-checks/checkers/auth-checker.d.ts.map +1 -0
  108. package/dist/domains/health-checks/checkers/auth-checker.js +90 -0
  109. package/dist/domains/health-checks/checkers/auth-checker.js.map +1 -0
  110. package/dist/domains/health-checks/checkers/deps-checker.d.ts +10 -0
  111. package/dist/domains/health-checks/checkers/deps-checker.d.ts.map +1 -0
  112. package/dist/domains/health-checks/checkers/deps-checker.js +150 -0
  113. package/dist/domains/health-checks/checkers/deps-checker.js.map +1 -0
  114. package/dist/domains/health-checks/checkers/project-checker.d.ts +10 -0
  115. package/dist/domains/health-checks/checkers/project-checker.d.ts.map +1 -0
  116. package/dist/domains/health-checks/checkers/project-checker.js +124 -0
  117. package/dist/domains/health-checks/checkers/project-checker.js.map +1 -0
  118. package/dist/domains/health-checks/checkers/system-checker.d.ts +10 -0
  119. package/dist/domains/health-checks/checkers/system-checker.d.ts.map +1 -0
  120. package/dist/domains/health-checks/checkers/system-checker.js +135 -0
  121. package/dist/domains/health-checks/checkers/system-checker.js.map +1 -0
  122. package/dist/domains/health-checks/index.d.ts +9 -0
  123. package/dist/domains/health-checks/index.d.ts.map +1 -0
  124. package/dist/domains/health-checks/index.js +21 -0
  125. package/dist/domains/health-checks/index.js.map +1 -0
  126. package/dist/domains/health-checks/report-generator.d.ts +18 -0
  127. package/dist/domains/health-checks/report-generator.d.ts.map +1 -0
  128. package/dist/domains/health-checks/report-generator.js +117 -0
  129. package/dist/domains/health-checks/report-generator.js.map +1 -0
  130. package/dist/domains/health-checks/types.d.ts +35 -0
  131. package/dist/domains/health-checks/types.d.ts.map +1 -0
  132. package/dist/domains/health-checks/types.js +6 -0
  133. package/dist/domains/health-checks/types.js.map +1 -0
  134. package/dist/index.js +33 -0
  135. package/dist/index.js.map +1 -1
  136. package/dist/utils/approaches-validator.d.ts +40 -0
  137. package/dist/utils/approaches-validator.d.ts.map +1 -0
  138. package/dist/utils/approaches-validator.js +101 -0
  139. package/dist/utils/approaches-validator.js.map +1 -0
  140. package/dist/utils/dependency-analyzer.d.ts +31 -0
  141. package/dist/utils/dependency-analyzer.d.ts.map +1 -0
  142. package/dist/utils/dependency-analyzer.js +294 -0
  143. package/dist/utils/dependency-analyzer.js.map +1 -0
  144. package/dist/utils/directory-analyzer.d.ts +23 -0
  145. package/dist/utils/directory-analyzer.d.ts.map +1 -0
  146. package/dist/utils/directory-analyzer.js +81 -0
  147. package/dist/utils/directory-analyzer.js.map +1 -0
  148. package/dist/utils/downloader.d.ts +3 -3
  149. package/dist/utils/downloader.d.ts.map +1 -1
  150. package/dist/utils/downloader.js +35 -65
  151. package/dist/utils/downloader.js.map +1 -1
  152. package/dist/utils/errors.d.ts +64 -10
  153. package/dist/utils/errors.d.ts.map +1 -1
  154. package/dist/utils/errors.js +136 -22
  155. package/dist/utils/errors.js.map +1 -1
  156. package/dist/utils/gh-cli.d.ts +4 -2
  157. package/dist/utils/gh-cli.d.ts.map +1 -1
  158. package/dist/utils/gh-cli.js +33 -38
  159. package/dist/utils/gh-cli.js.map +1 -1
  160. package/dist/utils/progress.d.ts +37 -0
  161. package/dist/utils/progress.d.ts.map +1 -0
  162. package/dist/utils/progress.js +121 -0
  163. package/dist/utils/progress.js.map +1 -0
  164. package/dist/utils/prompts.d.ts +5 -1
  165. package/dist/utils/prompts.d.ts.map +1 -1
  166. package/dist/utils/prompts.js +124 -64
  167. package/dist/utils/prompts.js.map +1 -1
  168. package/package.json +7 -3
  169. package/test-jira-prompt.js +32 -0
  170. package/dist/commands/init.d.ts +0 -6
  171. package/dist/commands/init.d.ts.map +0 -1
  172. package/dist/commands/init.js +0 -147
  173. package/dist/commands/init.js.map +0 -1
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ /**
3
+ * OS keychain integration for secure token storage
4
+ * Supports macOS Keychain, Windows Credential Manager, Linux Secret Service
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ var __importDefault = (this && this.__importDefault) || function (mod) {
40
+ return (mod && mod.__esModule) ? mod : { "default": mod };
41
+ };
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.saveTokenToKeychain = saveTokenToKeychain;
44
+ exports.readTokenFromKeychain = readTokenFromKeychain;
45
+ exports.deleteTokenFromKeychain = deleteTokenFromKeychain;
46
+ const keytar = __importStar(require("keytar"));
47
+ const fs_extra_1 = __importDefault(require("fs-extra"));
48
+ const path_1 = __importDefault(require("path"));
49
+ const os_1 = __importDefault(require("os"));
50
+ const SERVICE_NAME = 'csvibe-cli';
51
+ const ACCOUNT_NAME = 'github-token';
52
+ const CONFIG_DIR = path_1.default.join(os_1.default.homedir(), '.csvibe');
53
+ const TOKEN_FILE = path_1.default.join(CONFIG_DIR, '.github-token');
54
+ /**
55
+ * Save token to OS keychain
56
+ * Falls back to encrypted file if keychain unavailable
57
+ */
58
+ async function saveTokenToKeychain(token) {
59
+ try {
60
+ // Try OS keychain first
61
+ await keytar.setPassword(SERVICE_NAME, ACCOUNT_NAME, token);
62
+ }
63
+ catch (error) {
64
+ // Fallback: Save to config file with basic obfuscation
65
+ // Note: This is not secure, just better than plain text
66
+ await saveTokenToFile(token);
67
+ }
68
+ }
69
+ /**
70
+ * Read token from OS keychain
71
+ * Falls back to file if keychain unavailable
72
+ */
73
+ async function readTokenFromKeychain() {
74
+ try {
75
+ // Try OS keychain first
76
+ const token = await keytar.getPassword(SERVICE_NAME, ACCOUNT_NAME);
77
+ if (token)
78
+ return token;
79
+ }
80
+ catch (error) {
81
+ // Keychain not available, try file
82
+ }
83
+ // Fallback: Read from config file
84
+ return await readTokenFromFile();
85
+ }
86
+ /**
87
+ * Delete token from keychain
88
+ */
89
+ async function deleteTokenFromKeychain() {
90
+ try {
91
+ // Delete from OS keychain
92
+ await keytar.deletePassword(SERVICE_NAME, ACCOUNT_NAME);
93
+ }
94
+ catch (error) {
95
+ // Ignore keychain errors
96
+ }
97
+ // Also delete file if exists
98
+ try {
99
+ await fs_extra_1.default.remove(TOKEN_FILE);
100
+ }
101
+ catch (error) {
102
+ // Ignore file errors
103
+ }
104
+ return true;
105
+ }
106
+ /**
107
+ * Save token to file with basic obfuscation
108
+ * WARNING: This is not secure, just better than plain text
109
+ */
110
+ async function saveTokenToFile(token) {
111
+ await fs_extra_1.default.ensureDir(CONFIG_DIR);
112
+ // Simple base64 encoding (NOT encryption, just obfuscation)
113
+ const encoded = Buffer.from(token).toString('base64');
114
+ await fs_extra_1.default.writeFile(TOKEN_FILE, encoded, { mode: 0o600 });
115
+ }
116
+ /**
117
+ * Read token from file
118
+ */
119
+ async function readTokenFromFile() {
120
+ try {
121
+ if (!(await fs_extra_1.default.pathExists(TOKEN_FILE))) {
122
+ return null;
123
+ }
124
+ const encoded = await fs_extra_1.default.readFile(TOKEN_FILE, 'utf-8');
125
+ const token = Buffer.from(encoded.trim(), 'base64').toString('utf-8');
126
+ return token || null;
127
+ }
128
+ catch (error) {
129
+ return null;
130
+ }
131
+ }
132
+ //# sourceMappingURL=keychain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../../src/domains/github/keychain.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBH,kDASC;AAMD,sDAWC;AAKD,0DAgBC;AA7DD,+CAAiC;AACjC,wDAA0B;AAC1B,gDAAwB;AACxB,4CAAoB;AAEpB,MAAM,YAAY,GAAG,YAAY,CAAC;AAClC,MAAM,YAAY,GAAG,cAAc,CAAC;AACpC,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACtD,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAE1D;;;GAGG;AACI,KAAK,UAAU,mBAAmB,CAAC,KAAa;IACrD,IAAI,CAAC;QACH,wBAAwB;QACxB,MAAM,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,uDAAuD;QACvD,wDAAwD;QACxD,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,qBAAqB;IACzC,IAAI,CAAC;QACH,wBAAwB;QACxB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACnE,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,mCAAmC;IACrC,CAAC;IAED,kCAAkC;IAClC,OAAO,MAAM,iBAAiB,EAAE,CAAC;AACnC,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,uBAAuB;IAC3C,IAAI,CAAC;QACH,0BAA0B;QAC1B,MAAM,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yBAAyB;IAC3B,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC;QACH,MAAM,kBAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,qBAAqB;IACvB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,eAAe,CAAC,KAAa;IAC1C,MAAM,kBAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAE/B,4DAA4D;IAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,kBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB;IAC9B,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEtE,OAAO,KAAK,IAAI,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * GitHub domain types and interfaces
3
+ */
4
+ /**
5
+ * Authentication method used to obtain token
6
+ */
7
+ export type AuthMethod = 'gh-cli' | 'env-var' | 'config' | 'keychain' | 'prompt';
8
+ /**
9
+ * GitHub token with metadata
10
+ */
11
+ export interface GitHubTokenInfo {
12
+ token: string;
13
+ method: AuthMethod;
14
+ }
15
+ /**
16
+ * GitHub API rate limit information
17
+ */
18
+ export interface RateLimitInfo {
19
+ limit: number;
20
+ remaining: number;
21
+ reset: Date;
22
+ used: number;
23
+ }
24
+ /**
25
+ * Download progress callback
26
+ */
27
+ export interface DownloadProgress {
28
+ downloaded: number;
29
+ total: number;
30
+ percentage: number;
31
+ }
32
+ /**
33
+ * Download options
34
+ */
35
+ export interface DownloadOptions {
36
+ onProgress?: (progress: DownloadProgress) => void;
37
+ timeout?: number;
38
+ retries?: number;
39
+ }
40
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/domains/github/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * GitHub domain types and interfaces
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/domains/github/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Auto-fix logic for common issues
3
+ * Attempts to automatically repair fixable health check failures
4
+ */
5
+ import type { Check, FixResult } from './types';
6
+ /**
7
+ * Attempt to auto-fix a check
8
+ */
9
+ export declare function autoFix(check: Check): Promise<FixResult>;
10
+ /**
11
+ * Auto-fix multiple issues
12
+ */
13
+ export declare function autoFixIssues(checks: Check[]): Promise<FixResult[]>;
14
+ //# sourceMappingURL=auto-healer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-healer.d.ts","sourceRoot":"","sources":["../../../src/domains/health-checks/auto-healer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEhD;;GAEG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAiC9D;AAuHD;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAWzE"}
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ /**
3
+ * Auto-fix logic for common issues
4
+ * Attempts to automatically repair fixable health check failures
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.autoFix = autoFix;
8
+ exports.autoFixIssues = autoFixIssues;
9
+ const child_process_1 = require("child_process");
10
+ /**
11
+ * Attempt to auto-fix a check
12
+ */
13
+ async function autoFix(check) {
14
+ if (!check.fixable) {
15
+ return {
16
+ success: false,
17
+ message: 'No auto-fix available for this check',
18
+ };
19
+ }
20
+ switch (check.name) {
21
+ case 'GitHub CLI Authentication':
22
+ return await fixGitHubAuth();
23
+ case 'node_modules':
24
+ return await fixNodeModules();
25
+ case 'CSVibe Initialization':
26
+ return await fixCSVibeInit();
27
+ case 'Config File':
28
+ return await fixConfigFile();
29
+ case 'Workspace Structure':
30
+ return await fixWorkspaceStructure();
31
+ case 'Lockfile':
32
+ return await fixLockfile();
33
+ default:
34
+ return {
35
+ success: false,
36
+ message: `No auto-fix handler for: ${check.name}`,
37
+ };
38
+ }
39
+ }
40
+ /**
41
+ * Fix GitHub authentication
42
+ */
43
+ async function fixGitHubAuth() {
44
+ try {
45
+ console.log('\n🔧 Attempting to fix GitHub authentication...');
46
+ (0, child_process_1.execSync)('gh auth login', { stdio: 'inherit' });
47
+ return {
48
+ success: true,
49
+ message: 'GitHub authentication fixed',
50
+ };
51
+ }
52
+ catch (error) {
53
+ return {
54
+ success: false,
55
+ message: 'Failed to authenticate with GitHub',
56
+ error: error instanceof Error ? error.message : String(error),
57
+ };
58
+ }
59
+ }
60
+ /**
61
+ * Fix missing node_modules
62
+ */
63
+ async function fixNodeModules() {
64
+ try {
65
+ console.log('\n🔧 Installing dependencies...');
66
+ // Detect package manager
67
+ const fs = require('fs-extra');
68
+ const path = require('path');
69
+ let packageManager = 'npm';
70
+ if (await fs.pathExists(path.join(process.cwd(), 'yarn.lock'))) {
71
+ packageManager = 'yarn';
72
+ }
73
+ else if (await fs.pathExists(path.join(process.cwd(), 'pnpm-lock.yaml'))) {
74
+ packageManager = 'pnpm';
75
+ }
76
+ (0, child_process_1.execSync)(`${packageManager} install`, { stdio: 'inherit' });
77
+ return {
78
+ success: true,
79
+ message: `Dependencies installed using ${packageManager}`,
80
+ };
81
+ }
82
+ catch (error) {
83
+ return {
84
+ success: false,
85
+ message: 'Failed to install dependencies',
86
+ error: error instanceof Error ? error.message : String(error),
87
+ };
88
+ }
89
+ }
90
+ /**
91
+ * Fix CSVibe initialization
92
+ */
93
+ async function fixCSVibeInit() {
94
+ return {
95
+ success: false,
96
+ message: 'Please run "csvibe init" manually to initialize project',
97
+ };
98
+ }
99
+ /**
100
+ * Fix config file
101
+ */
102
+ async function fixConfigFile() {
103
+ return {
104
+ success: false,
105
+ message: 'Please run "csvibe init" manually to regenerate config',
106
+ };
107
+ }
108
+ /**
109
+ * Fix workspace structure
110
+ */
111
+ async function fixWorkspaceStructure() {
112
+ return {
113
+ success: false,
114
+ message: 'Please run "csvibe init" manually to setup workspace',
115
+ };
116
+ }
117
+ /**
118
+ * Fix lockfile
119
+ */
120
+ async function fixLockfile() {
121
+ try {
122
+ console.log('\n🔧 Syncing lockfile...');
123
+ const fs = require('fs-extra');
124
+ const path = require('path');
125
+ // Detect package manager
126
+ let packageManager = 'npm';
127
+ if (await fs.pathExists(path.join(process.cwd(), 'yarn.lock'))) {
128
+ packageManager = 'yarn';
129
+ }
130
+ else if (await fs.pathExists(path.join(process.cwd(), 'pnpm-lock.yaml'))) {
131
+ packageManager = 'pnpm';
132
+ }
133
+ (0, child_process_1.execSync)(`${packageManager} install`, { stdio: 'inherit' });
134
+ return {
135
+ success: true,
136
+ message: `Lockfile synced using ${packageManager}`,
137
+ };
138
+ }
139
+ catch (error) {
140
+ return {
141
+ success: false,
142
+ message: 'Failed to sync lockfile',
143
+ error: error instanceof Error ? error.message : String(error),
144
+ };
145
+ }
146
+ }
147
+ /**
148
+ * Auto-fix multiple issues
149
+ */
150
+ async function autoFixIssues(checks) {
151
+ const results = [];
152
+ for (const check of checks) {
153
+ if (check.fixable && check.status !== 'pass') {
154
+ const result = await autoFix(check);
155
+ results.push(result);
156
+ }
157
+ }
158
+ return results;
159
+ }
160
+ //# sourceMappingURL=auto-healer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-healer.js","sourceRoot":"","sources":["../../../src/domains/health-checks/auto-healer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Health check orchestrator
3
+ * Runs all health checks and aggregates results
4
+ */
5
+ import type { HealthCheckReport } from './types';
6
+ /**
7
+ * Run all health checks
8
+ */
9
+ export declare function runHealthChecks(): Promise<HealthCheckReport>;
10
+ //# sourceMappingURL=check-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-runner.d.ts","sourceRoot":"","sources":["../../../src/domains/health-checks/check-runner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAkBlE"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * Health check orchestrator
4
+ * Runs all health checks and aggregates results
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.runHealthChecks = runHealthChecks;
8
+ const system_checker_1 = require("./checkers/system-checker");
9
+ const auth_checker_1 = require("./checkers/auth-checker");
10
+ const project_checker_1 = require("./checkers/project-checker");
11
+ const deps_checker_1 = require("./checkers/deps-checker");
12
+ /**
13
+ * Run all health checks
14
+ */
15
+ async function runHealthChecks() {
16
+ const results = [];
17
+ // Run checks sequentially to avoid resource conflicts
18
+ results.push(await (0, system_checker_1.checkSystem)());
19
+ results.push(await (0, auth_checker_1.checkAuth)());
20
+ results.push(await (0, project_checker_1.checkProject)());
21
+ results.push(await (0, deps_checker_1.checkDependencies)());
22
+ const passed = results.every((r) => r.passed);
23
+ const fixableChecks = results.flatMap((r) => r.checks.filter((c) => c.fixable));
24
+ return {
25
+ results,
26
+ passed,
27
+ fixable: fixableChecks.length,
28
+ timestamp: new Date().toISOString(),
29
+ };
30
+ }
31
+ //# sourceMappingURL=check-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-runner.js","sourceRoot":"","sources":["../../../src/domains/health-checks/check-runner.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAWH,0CAkBC;AA3BD,8DAAwD;AACxD,0DAAoD;AACpD,gEAA0D;AAC1D,0DAA4D;AAG5D;;GAEG;AACI,KAAK,UAAU,eAAe;IACnC,MAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,sDAAsD;IACtD,OAAO,CAAC,IAAI,CAAC,MAAM,IAAA,4BAAW,GAAE,CAAC,CAAC;IAClC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAA,wBAAS,GAAE,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAA,8BAAY,GAAE,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAA,gCAAiB,GAAE,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAEhF,OAAO;QACL,OAAO;QACP,MAAM;QACN,OAAO,EAAE,aAAa,CAAC,MAAM;QAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Authentication health checks
3
+ * Checks: GitHub authentication, token validity, repo access
4
+ */
5
+ import type { CheckResult } from '../types';
6
+ /**
7
+ * Run all authentication checks
8
+ */
9
+ export declare function checkAuth(): Promise<CheckResult>;
10
+ //# sourceMappingURL=auth-checker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-checker.d.ts","sourceRoot":"","sources":["../../../../src/domains/health-checks/checkers/auth-checker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAS,WAAW,EAAE,MAAM,UAAU,CAAC;AAEnD;;GAEG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC,CAWtD"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ /**
3
+ * Authentication health checks
4
+ * Checks: GitHub authentication, token validity, repo access
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.checkAuth = checkAuth;
8
+ const github_1 = require("../../github");
9
+ const constants_1 = require("../../../config/constants");
10
+ /**
11
+ * Run all authentication checks
12
+ */
13
+ async function checkAuth() {
14
+ const checks = [];
15
+ checks.push(await checkGitHubAuth());
16
+ checks.push(await checkRepoAccess());
17
+ return {
18
+ category: 'Authentication',
19
+ checks,
20
+ passed: checks.every((c) => c.status === 'pass'),
21
+ };
22
+ }
23
+ /**
24
+ * Check GitHub authentication
25
+ */
26
+ async function checkGitHubAuth() {
27
+ try {
28
+ const { token, method } = await (0, github_1.getGitHubToken)();
29
+ if (!token || token.length === 0) {
30
+ return {
31
+ name: 'GitHub Authentication',
32
+ status: 'fail',
33
+ message: 'No GitHub token found',
34
+ fixable: true,
35
+ fix: 'Run "gh auth login" or set GITHUB_TOKEN environment variable',
36
+ };
37
+ }
38
+ return {
39
+ name: 'GitHub Authentication',
40
+ status: 'pass',
41
+ message: `Authenticated via ${method}`,
42
+ fixable: false,
43
+ };
44
+ }
45
+ catch (error) {
46
+ return {
47
+ name: 'GitHub Authentication',
48
+ status: 'fail',
49
+ message: 'GitHub authentication failed',
50
+ fixable: true,
51
+ fix: 'Run "gh auth login" or set GITHUB_TOKEN environment variable',
52
+ error: error instanceof Error ? error.message : String(error),
53
+ };
54
+ }
55
+ }
56
+ /**
57
+ * Check repository access
58
+ */
59
+ async function checkRepoAccess() {
60
+ try {
61
+ const client = await github_1.GitHubClient.create();
62
+ const [owner, repo] = constants_1.CONSTANTS.REPO_FULL.split('/');
63
+ const hasAccess = await client.hasRepoAccess(owner, repo);
64
+ if (!hasAccess) {
65
+ return {
66
+ name: 'Repository Access',
67
+ status: 'fail',
68
+ message: `Cannot access ${constants_1.CONSTANTS.REPO_FULL}`,
69
+ fixable: false,
70
+ fix: 'Contact repository administrator for access',
71
+ };
72
+ }
73
+ return {
74
+ name: 'Repository Access',
75
+ status: 'pass',
76
+ message: `Access to ${constants_1.CONSTANTS.REPO_FULL} verified`,
77
+ fixable: false,
78
+ };
79
+ }
80
+ catch (error) {
81
+ return {
82
+ name: 'Repository Access',
83
+ status: 'fail',
84
+ message: 'Failed to check repository access',
85
+ fixable: false,
86
+ error: error instanceof Error ? error.message : String(error),
87
+ };
88
+ }
89
+ }
90
+ //# sourceMappingURL=auth-checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-checker.js","sourceRoot":"","sources":["../../../../src/domains/health-checks/checkers/auth-checker.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AASH,8BAWC;AAlBD,yCAA4D;AAC5D,yDAAsD;AAGtD;;GAEG;AACI,KAAK,UAAU,SAAS;IAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,MAAM,CAAC,IAAI,CAAC,MAAM,eAAe,EAAE,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,CAAC,MAAM,eAAe,EAAE,CAAC,CAAC;IAErC,OAAO;QACL,QAAQ,EAAE,gBAAgB;QAC1B,MAAM;QACN,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;KACjD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe;IAC5B,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,uBAAc,GAAE,CAAC;QAEjD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO;gBACL,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,uBAAuB;gBAChC,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,8DAA8D;aACpE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,qBAAqB,MAAM,EAAE;YACtC,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,8BAA8B;YACvC,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,8DAA8D;YACnE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,qBAAY,CAAC,MAAM,EAAE,CAAC;QAC3C,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,qBAAS,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAErD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAE1D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,iBAAiB,qBAAS,CAAC,SAAS,EAAE;gBAC/C,OAAO,EAAE,KAAK;gBACd,GAAG,EAAE,6CAA6C;aACnD,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,aAAa,qBAAS,CAAC,SAAS,WAAW;YACpD,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,mCAAmC;YAC5C,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Dependencies health checks
3
+ * Checks: node_modules, package.json, lockfile consistency
4
+ */
5
+ import type { CheckResult } from '../types';
6
+ /**
7
+ * Run all dependency checks
8
+ */
9
+ export declare function checkDependencies(): Promise<CheckResult>;
10
+ //# sourceMappingURL=deps-checker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deps-checker.d.ts","sourceRoot":"","sources":["../../../../src/domains/health-checks/checkers/deps-checker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAS,WAAW,EAAE,MAAM,UAAU,CAAC;AAEnD;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC,CAY9D"}