@auto-engineer/cli 0.8.4 → 0.8.5

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 (36) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/src/server/file-syncer/discovery/bareImports.d.ts +3 -0
  3. package/dist/src/server/file-syncer/discovery/bareImports.d.ts.map +1 -0
  4. package/dist/src/server/file-syncer/discovery/bareImports.js +36 -0
  5. package/dist/src/server/file-syncer/discovery/bareImports.js.map +1 -0
  6. package/dist/src/server/file-syncer/discovery/dts.d.ts +11 -0
  7. package/dist/src/server/file-syncer/discovery/dts.d.ts.map +1 -0
  8. package/dist/src/server/file-syncer/discovery/dts.js +108 -0
  9. package/dist/src/server/file-syncer/discovery/dts.js.map +1 -0
  10. package/dist/src/server/file-syncer/index.d.ts +17 -0
  11. package/dist/src/server/file-syncer/index.d.ts.map +1 -0
  12. package/dist/src/server/file-syncer/index.js +206 -0
  13. package/dist/src/server/file-syncer/index.js.map +1 -0
  14. package/dist/src/server/file-syncer/sync/computeDesiredSet.d.ts +7 -0
  15. package/dist/src/server/file-syncer/sync/computeDesiredSet.d.ts.map +1 -0
  16. package/dist/src/server/file-syncer/sync/computeDesiredSet.js +76 -0
  17. package/dist/src/server/file-syncer/sync/computeDesiredSet.js.map +1 -0
  18. package/dist/src/server/file-syncer/types/wire.d.ts +14 -0
  19. package/dist/src/server/file-syncer/types/wire.d.ts.map +1 -0
  20. package/dist/src/server/file-syncer/types/wire.js +2 -0
  21. package/dist/src/server/file-syncer/types/wire.js.map +1 -0
  22. package/dist/src/server/file-syncer/utils/hash.d.ts +5 -0
  23. package/dist/src/server/file-syncer/utils/hash.d.ts.map +1 -0
  24. package/dist/src/server/file-syncer/utils/hash.js +20 -0
  25. package/dist/src/server/file-syncer/utils/hash.js.map +1 -0
  26. package/dist/src/server/file-syncer/utils/path.d.ts +15 -0
  27. package/dist/src/server/file-syncer/utils/path.d.ts.map +1 -0
  28. package/dist/src/server/file-syncer/utils/path.js +100 -0
  29. package/dist/src/server/file-syncer/utils/path.js.map +1 -0
  30. package/dist/src/server/server.js +1 -1
  31. package/dist/tsconfig.tsbuildinfo +1 -1
  32. package/package.json +3 -3
  33. package/dist/src/server/file-syncer.d.ts +0 -21
  34. package/dist/src/server/file-syncer.d.ts.map +0 -1
  35. package/dist/src/server/file-syncer.js +0 -101
  36. package/dist/src/server/file-syncer.js.map +0 -1
package/package.json CHANGED
@@ -54,7 +54,8 @@
54
54
  "socket.io": "^4.7.5",
55
55
  "test": "^3.3.0",
56
56
  "yaml": "^2.6.1",
57
- "@auto-engineer/message-bus": "0.8.4"
57
+ "@auto-engineer/message-bus": "0.8.5",
58
+ "@auto-engineer/file-store": "0.8.5"
58
59
  },
59
60
  "devDependencies": {
60
61
  "@types/cors": "^2.8.0",
@@ -67,11 +68,10 @@
67
68
  "get-port": "^7.1.0",
68
69
  "tsx": "^4.20.3"
69
70
  },
70
- "version": "0.8.4",
71
+ "version": "0.8.5",
71
72
  "scripts": {
72
73
  "build": "tsc && tsx ../../scripts/fix-esm-imports.ts && chmod +x dist/bin/auto.js && cp -r src/server/*.html src/server/*.svg dist/src/server/ 2>/dev/null || true",
73
74
  "build:tsx": "echo 'Using tsx runtime, no build needed'",
74
- "dev": "node scripts/watch.js",
75
75
  "test": "vitest run --reporter=dot",
76
76
  "test:watch": "vitest",
77
77
  "lint": "eslint 'src/**/*.ts' --ignore-pattern '**/*.specs.ts' --max-warnings 0 --config ../../eslint.config.ts",
@@ -1,21 +0,0 @@
1
- import type { Server as SocketIOServer } from 'socket.io';
2
- export declare class FileSyncer {
3
- private watcher?;
4
- private io;
5
- private watchDir;
6
- private extensions;
7
- constructor(io: SocketIOServer, watchDir?: string, extensions?: string[]);
8
- /**
9
- * Start watching files for changes
10
- */
11
- start(): void;
12
- /**
13
- * Get all initial files for syncing
14
- */
15
- private getInitialFiles;
16
- /**
17
- * Stop watching files
18
- */
19
- stop(): void;
20
- }
21
- //# sourceMappingURL=file-syncer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-syncer.d.ts","sourceRoot":"","sources":["../../../src/server/file-syncer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,WAAW,CAAC;AAa1D,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAC,CAAqB;IACrC,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAW;gBAEjB,EAAE,EAAE,cAAc,EAAE,QAAQ,SAAM,EAAE,UAAU,WAA2B;IAMrF;;OAEG;IACH,KAAK,IAAI,IAAI;IA4Db;;OAEG;YACW,eAAe;IAuB7B;;OAEG;IACH,IAAI,IAAI,IAAI;CAMb"}
@@ -1,101 +0,0 @@
1
- import chokidar from 'chokidar';
2
- import fs from 'fs';
3
- import path from 'path';
4
- import createDebug from 'debug';
5
- const debug = createDebug('auto-engineer:server:file-syncer');
6
- export class FileSyncer {
7
- constructor(io, watchDir = '.', extensions = ['.js', '.html', '.css']) {
8
- this.io = io;
9
- this.watchDir = watchDir;
10
- this.extensions = extensions;
11
- }
12
- /**
13
- * Start watching files for changes
14
- */
15
- start() {
16
- debug('Starting file syncer for directory:', this.watchDir);
17
- debug('Watching extensions:', this.extensions);
18
- // Set up file watcher
19
- this.watcher = chokidar.watch(this.watchDir, {
20
- ignored: /(^|[\\/\\])\./, // ignore dotfiles
21
- persistent: true,
22
- });
23
- this.watcher.on('all', (event, filePath) => {
24
- if (!this.extensions.some((ext) => filePath.endsWith(ext)))
25
- return;
26
- const relativePath = path.relative(this.watchDir, filePath);
27
- debug('File event:', event, relativePath);
28
- if (event === 'add' || event === 'change') {
29
- const content = fs.readFileSync(filePath, 'base64');
30
- this.io.emit('file-change', { event, path: relativePath, content });
31
- }
32
- else if (event === 'unlink') {
33
- this.io.emit('file-change', { event: 'delete', path: relativePath });
34
- }
35
- });
36
- // Handle client connections
37
- this.io.on('connection', (socket) => {
38
- debug('File sync client connected');
39
- // Send initial file sync
40
- this.getInitialFiles()
41
- .then((files) => {
42
- socket.emit('initial-sync', { files, directory: path.resolve(this.watchDir) });
43
- debug('Sent initial sync with', files.length, 'files');
44
- })
45
- .catch((err) => {
46
- console.error('Initial sync failed:', err);
47
- });
48
- // Handle client file changes
49
- socket.on('client-file-change', (data) => {
50
- const fullPath = path.join(this.watchDir, data.path);
51
- const dir = path.dirname(fullPath);
52
- debug('Client file change:', data.event, data.path);
53
- try {
54
- if (data.event === 'delete') {
55
- fs.unlinkSync(fullPath);
56
- }
57
- else {
58
- fs.mkdirSync(dir, { recursive: true });
59
- const content = Buffer.from(data.content ?? '', 'base64');
60
- fs.writeFileSync(fullPath, content);
61
- }
62
- }
63
- catch (error) {
64
- console.error('Failed to handle client file change:', error);
65
- }
66
- });
67
- });
68
- }
69
- /**
70
- * Get all initial files for syncing
71
- */
72
- async getInitialFiles() {
73
- const files = [];
74
- const walk = async (dir) => {
75
- const entries = await fs.promises.readdir(dir, { withFileTypes: true });
76
- for (const entry of entries) {
77
- const fullPath = path.join(dir, entry.name);
78
- const relativePath = path.relative(this.watchDir, fullPath);
79
- if (entry.isDirectory() && !entry.name.startsWith('.')) {
80
- await walk(fullPath);
81
- }
82
- else if (entry.isFile() && this.extensions.some((ext) => relativePath.endsWith(ext))) {
83
- const content = fs.readFileSync(fullPath, 'base64');
84
- files.push({ path: relativePath, content });
85
- }
86
- }
87
- };
88
- await walk(this.watchDir);
89
- return files;
90
- }
91
- /**
92
- * Stop watching files
93
- */
94
- stop() {
95
- if (this.watcher) {
96
- debug('Stopping file syncer');
97
- void this.watcher.close();
98
- }
99
- }
100
- }
101
- //# sourceMappingURL=file-syncer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-syncer.js","sourceRoot":"","sources":["../../../src/server/file-syncer.ts"],"names":[],"mappings":"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"}