bob-app-assistant 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +292 -0
  2. package/dist/cli.d.ts +3 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +296 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/database.d.ts +42 -0
  7. package/dist/database.d.ts.map +1 -0
  8. package/dist/database.js +199 -0
  9. package/dist/database.js.map +1 -0
  10. package/dist/postinstall.d.ts +3 -0
  11. package/dist/postinstall.d.ts.map +1 -0
  12. package/dist/postinstall.js +48 -0
  13. package/dist/postinstall.js.map +1 -0
  14. package/dist/routes/aiRoutes.d.ts +3 -0
  15. package/dist/routes/aiRoutes.d.ts.map +1 -0
  16. package/dist/routes/aiRoutes.js +1277 -0
  17. package/dist/routes/aiRoutes.js.map +1 -0
  18. package/dist/server.d.ts +3 -0
  19. package/dist/server.d.ts.map +1 -0
  20. package/dist/server.js +120 -0
  21. package/dist/server.js.map +1 -0
  22. package/dist/services/apiTestingService.d.ts +90 -0
  23. package/dist/services/apiTestingService.d.ts.map +1 -0
  24. package/dist/services/apiTestingService.js +351 -0
  25. package/dist/services/apiTestingService.js.map +1 -0
  26. package/dist/services/backupService.d.ts +63 -0
  27. package/dist/services/backupService.d.ts.map +1 -0
  28. package/dist/services/backupService.js +235 -0
  29. package/dist/services/backupService.js.map +1 -0
  30. package/dist/services/bobShellService.d.ts +91 -0
  31. package/dist/services/bobShellService.d.ts.map +1 -0
  32. package/dist/services/bobShellService.js +534 -0
  33. package/dist/services/bobShellService.js.map +1 -0
  34. package/dist/services/codeQualityService.d.ts +105 -0
  35. package/dist/services/codeQualityService.d.ts.map +1 -0
  36. package/dist/services/codeQualityService.js +432 -0
  37. package/dist/services/codeQualityService.js.map +1 -0
  38. package/dist/services/dependencyService.d.ts +127 -0
  39. package/dist/services/dependencyService.d.ts.map +1 -0
  40. package/dist/services/dependencyService.js +499 -0
  41. package/dist/services/dependencyService.js.map +1 -0
  42. package/dist/services/diffService.d.ts +48 -0
  43. package/dist/services/diffService.d.ts.map +1 -0
  44. package/dist/services/diffService.js +175 -0
  45. package/dist/services/diffService.js.map +1 -0
  46. package/dist/services/documentationService.d.ts +124 -0
  47. package/dist/services/documentationService.d.ts.map +1 -0
  48. package/dist/services/documentationService.js +628 -0
  49. package/dist/services/documentationService.js.map +1 -0
  50. package/dist/services/promptEnhancerService.d.ts +92 -0
  51. package/dist/services/promptEnhancerService.d.ts.map +1 -0
  52. package/dist/services/promptEnhancerService.js +459 -0
  53. package/dist/services/promptEnhancerService.js.map +1 -0
  54. package/dist/services/securityService.d.ts +99 -0
  55. package/dist/services/securityService.d.ts.map +1 -0
  56. package/dist/services/securityService.js +467 -0
  57. package/dist/services/securityService.js.map +1 -0
  58. package/dist/websocket.d.ts +17 -0
  59. package/dist/websocket.d.ts.map +1 -0
  60. package/dist/websocket.js +242 -0
  61. package/dist/websocket.js.map +1 -0
  62. package/package.json +74 -0
  63. package/public/assistant-ui.html +211 -0
  64. package/public/dist/assets/index-BdGvFYpE.css +1 -0
  65. package/public/dist/assets/index-Dfe7xGmm.js +55 -0
  66. package/public/dist/index.html +13 -0
  67. package/public/inject.js +241 -0
@@ -0,0 +1,175 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.diffService = exports.DiffService = void 0;
40
+ const Diff = __importStar(require("diff"));
41
+ const promises_1 = __importDefault(require("fs/promises"));
42
+ const path_1 = __importDefault(require("path"));
43
+ class DiffService {
44
+ /**
45
+ * Generate diff between old and new content
46
+ */
47
+ generateDiff(oldContent, newContent) {
48
+ const changes = Diff.diffLines(oldContent, newContent);
49
+ const diffChanges = [];
50
+ let lineNumber = 1;
51
+ for (const change of changes) {
52
+ const lines = change.value.split('\n');
53
+ // Remove last empty line if exists
54
+ if (lines[lines.length - 1] === '') {
55
+ lines.pop();
56
+ }
57
+ for (const line of lines) {
58
+ if (change.added) {
59
+ diffChanges.push({
60
+ type: 'add',
61
+ value: line,
62
+ lineNumber: lineNumber++,
63
+ });
64
+ }
65
+ else if (change.removed) {
66
+ diffChanges.push({
67
+ type: 'remove',
68
+ value: line,
69
+ lineNumber: lineNumber++,
70
+ });
71
+ }
72
+ else {
73
+ diffChanges.push({
74
+ type: 'unchanged',
75
+ value: line,
76
+ lineNumber: lineNumber++,
77
+ });
78
+ }
79
+ }
80
+ }
81
+ return diffChanges;
82
+ }
83
+ /**
84
+ * Calculate diff statistics
85
+ */
86
+ calculateStats(diffChanges) {
87
+ const stats = {
88
+ additions: 0,
89
+ deletions: 0,
90
+ changes: 0,
91
+ };
92
+ for (const change of diffChanges) {
93
+ if (change.type === 'add') {
94
+ stats.additions++;
95
+ }
96
+ else if (change.type === 'remove') {
97
+ stats.deletions++;
98
+ }
99
+ }
100
+ stats.changes = stats.additions + stats.deletions;
101
+ return stats;
102
+ }
103
+ /**
104
+ * Generate file diff
105
+ */
106
+ async generateFileDiff(filePath, newContent, projectRoot) {
107
+ const fullPath = path_1.default.resolve(projectRoot, filePath);
108
+ let oldContent = '';
109
+ try {
110
+ oldContent = await promises_1.default.readFile(fullPath, 'utf-8');
111
+ }
112
+ catch (error) {
113
+ // File doesn't exist, treat as new file
114
+ oldContent = '';
115
+ }
116
+ const diffChanges = this.generateDiff(oldContent, newContent);
117
+ const stats = this.calculateStats(diffChanges);
118
+ return {
119
+ path: filePath,
120
+ oldContent,
121
+ newContent,
122
+ diff: diffChanges,
123
+ stats,
124
+ };
125
+ }
126
+ /**
127
+ * Generate diffs for multiple files
128
+ */
129
+ async generateMultipleFileDiffs(files, projectRoot) {
130
+ const diffs = [];
131
+ for (const file of files) {
132
+ const diff = await this.generateFileDiff(file.path, file.content, projectRoot);
133
+ diffs.push(diff);
134
+ }
135
+ return diffs;
136
+ }
137
+ /**
138
+ * Format diff for display (unified diff format)
139
+ */
140
+ formatUnifiedDiff(fileDiff) {
141
+ const lines = [];
142
+ lines.push(`--- ${fileDiff.path} (old)`);
143
+ lines.push(`+++ ${fileDiff.path} (new)`);
144
+ lines.push(`@@ -1,${fileDiff.oldContent.split('\n').length} +1,${fileDiff.newContent.split('\n').length} @@`);
145
+ for (const change of fileDiff.diff) {
146
+ if (change.type === 'add') {
147
+ lines.push(`+ ${change.value}`);
148
+ }
149
+ else if (change.type === 'remove') {
150
+ lines.push(`- ${change.value}`);
151
+ }
152
+ else {
153
+ lines.push(` ${change.value}`);
154
+ }
155
+ }
156
+ return lines.join('\n');
157
+ }
158
+ /**
159
+ * Apply diff to file
160
+ */
161
+ async applyDiff(fileDiff, projectRoot) {
162
+ const fullPath = path_1.default.resolve(projectRoot, fileDiff.path);
163
+ const dir = path_1.default.dirname(fullPath);
164
+ // Ensure directory exists
165
+ await promises_1.default.mkdir(dir, { recursive: true });
166
+ // Write new content
167
+ await promises_1.default.writeFile(fullPath, fileDiff.newContent, 'utf-8');
168
+ console.log(`✅ Applied diff to: ${fileDiff.path}`);
169
+ }
170
+ }
171
+ exports.DiffService = DiffService;
172
+ // Singleton instance
173
+ exports.diffService = new DiffService();
174
+ // Made with Bob
175
+ //# sourceMappingURL=diffService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diffService.js","sourceRoot":"","sources":["../../src/services/diffService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ export interface APIEndpoint {
2
+ method: string;
3
+ path: string;
4
+ description: string;
5
+ parameters?: Array<{
6
+ name: string;
7
+ type: string;
8
+ required: boolean;
9
+ description: string;
10
+ }>;
11
+ responses?: Array<{
12
+ status: number;
13
+ description: string;
14
+ example?: any;
15
+ }>;
16
+ }
17
+ export interface Documentation {
18
+ content: string;
19
+ format: 'markdown' | 'html' | 'json';
20
+ metadata?: {
21
+ title?: string;
22
+ version?: string;
23
+ author?: string;
24
+ generated?: string;
25
+ };
26
+ }
27
+ export interface DocCoverage {
28
+ coverage: number;
29
+ total: number;
30
+ documented: number;
31
+ undocumented: string[];
32
+ }
33
+ declare class DocumentationService {
34
+ private static instance;
35
+ private projectRoot;
36
+ private constructor();
37
+ static getInstance(projectRoot: string): DocumentationService;
38
+ /**
39
+ * Generate documentation based on type
40
+ */
41
+ generateDocs(type: 'api' | 'readme' | 'code' | 'architecture', options?: any): Promise<Documentation>;
42
+ /**
43
+ * Generate API documentation
44
+ */
45
+ private generateAPIDocs;
46
+ /**
47
+ * Generate README.md
48
+ */
49
+ private generateREADME;
50
+ /**
51
+ * Generate code documentation
52
+ */
53
+ private generateCodeDocs;
54
+ /**
55
+ * Generate architecture documentation
56
+ */
57
+ private generateArchitectureDocs;
58
+ /**
59
+ * Check documentation coverage
60
+ */
61
+ checkCoverage(): Promise<DocCoverage>;
62
+ /**
63
+ * Extract API endpoints from route files
64
+ */
65
+ private extractAPIEndpoints;
66
+ /**
67
+ * Extract functions from code
68
+ */
69
+ private extractFunctions;
70
+ /**
71
+ * Extract classes from code
72
+ */
73
+ private extractClasses;
74
+ /**
75
+ * Helper: Get package.json
76
+ */
77
+ private getPackageJson;
78
+ /**
79
+ * Helper: Find route files
80
+ */
81
+ private findRouteFiles;
82
+ /**
83
+ * Helper: Find service files
84
+ */
85
+ private findServices;
86
+ /**
87
+ * Helper: Get source files
88
+ */
89
+ private getSourceFiles;
90
+ /**
91
+ * Helper: Check if project has tests
92
+ */
93
+ private hasTestFiles;
94
+ /**
95
+ * Helper: Get project structure
96
+ */
97
+ private getProjectStructure;
98
+ /**
99
+ * Helper: Detect framework
100
+ */
101
+ private detectFramework;
102
+ /**
103
+ * Helper: Detect database
104
+ */
105
+ private detectDatabase;
106
+ /**
107
+ * Helper: Format endpoints list
108
+ */
109
+ private formatEndpointsList;
110
+ /**
111
+ * Helper: Format dependencies
112
+ */
113
+ private formatDependencies;
114
+ /**
115
+ * Helper: Format scripts
116
+ */
117
+ private formatScripts;
118
+ /**
119
+ * Helper: Format API docs markdown
120
+ */
121
+ private formatAPIDocsMarkdown;
122
+ }
123
+ export default DocumentationService;
124
+ //# sourceMappingURL=documentationService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentationService.d.ts","sourceRoot":"","sources":["../../src/services/documentationService.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,GAAG,CAAC;KACf,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;IACrC,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,cAAM,oBAAoB;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAuB;IAC9C,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO;WAIO,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB;IAOpE;;OAEG;IACU,YAAY,CACvB,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,cAAc,EAChD,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,aAAa,CAAC;IAezB;;OAEG;YACW,eAAe;IAiB7B;;OAEG;YACW,cAAc;IAqF5B;;OAEG;YACW,gBAAgB;IA2D9B;;OAEG;YACW,wBAAwB;IAkFtC;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC;IA2BlD;;OAEG;YACW,mBAAmB;IAsCjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAmCtB;;OAEG;YACW,cAAc;IAM5B;;OAEG;YACW,cAAc;IAY5B;;OAEG;YACW,YAAY;IAgC1B;;OAEG;YACW,cAAc;IA2B5B;;OAEG;YACW,YAAY;IAW1B;;OAEG;YACW,mBAAmB;IAYjC;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAmC9B;AAED,eAAe,oBAAoB,CAAC"}