claudedesk 1.0.6 → 1.0.7

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 (34) hide show
  1. package/dist/api/terminal-routes.d.ts.map +1 -1
  2. package/dist/api/terminal-routes.js +17 -9
  3. package/dist/api/terminal-routes.js.map +1 -1
  4. package/dist/config/agent-usage.d.ts +2 -1
  5. package/dist/config/agent-usage.d.ts.map +1 -1
  6. package/dist/config/agent-usage.js +33 -7
  7. package/dist/config/agent-usage.js.map +1 -1
  8. package/dist/config/repos.d.ts +2 -0
  9. package/dist/config/repos.d.ts.map +1 -1
  10. package/dist/config/repos.js +39 -8
  11. package/dist/config/repos.js.map +1 -1
  12. package/dist/config/settings.d.ts.map +1 -1
  13. package/dist/config/settings.js +18 -2
  14. package/dist/config/settings.js.map +1 -1
  15. package/dist/config/skills.d.ts +2 -1
  16. package/dist/config/skills.d.ts.map +1 -1
  17. package/dist/config/skills.js +36 -9
  18. package/dist/config/skills.js.map +1 -1
  19. package/dist/config/workspaces.d.ts.map +1 -1
  20. package/dist/config/workspaces.js +33 -12
  21. package/dist/config/workspaces.js.map +1 -1
  22. package/dist/core/git-credential-helper.d.ts.map +1 -1
  23. package/dist/core/git-credential-helper.js +11 -5
  24. package/dist/core/git-credential-helper.js.map +1 -1
  25. package/dist/core/shared-docker-manager.d.ts.map +1 -1
  26. package/dist/core/shared-docker-manager.js +17 -1
  27. package/dist/core/shared-docker-manager.js.map +1 -1
  28. package/dist/core/terminal-session.d.ts.map +1 -1
  29. package/dist/core/terminal-session.js +39 -19
  30. package/dist/core/terminal-session.js.map +1 -1
  31. package/dist/core/usage-manager.d.ts.map +1 -1
  32. package/dist/core/usage-manager.js +45 -22
  33. package/dist/core/usage-manager.js.map +1 -1
  34. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-routes.d.ts","sourceRoot":"","sources":["../../src/api/terminal-routes.ts"],"names":[],"mappings":"AAmLA,eAAO,MAAM,cAAc,4CAAW,CAAC"}
1
+ {"version":3,"file":"terminal-routes.d.ts","sourceRoot":"","sources":["../../src/api/terminal-routes.ts"],"names":[],"mappings":"AA2LA,eAAO,MAAM,cAAc,4CAAW,CAAC"}
@@ -109,13 +109,21 @@ try {
109
109
  catch { }
110
110
  }
111
111
  }
112
- // Configure multer for terminal attachments
113
- const ATTACHMENTS_DIR = join(process.cwd(), 'temp', 'terminal-attachments');
114
- if (!existsSync(ATTACHMENTS_DIR)) {
115
- mkdirSync(ATTACHMENTS_DIR, { recursive: true });
112
+ // Lazy path resolution - evaluated when needed, not at module load time
113
+ function getAttachmentsDir() {
114
+ return join(process.cwd(), 'temp', 'terminal-attachments');
116
115
  }
116
+ // Configure multer for terminal attachments with lazy directory creation
117
117
  const attachmentUpload = multer({
118
- dest: ATTACHMENTS_DIR,
118
+ storage: multer.diskStorage({
119
+ destination: (_req, _file, cb) => {
120
+ const dir = getAttachmentsDir();
121
+ if (!existsSync(dir)) {
122
+ mkdirSync(dir, { recursive: true });
123
+ }
124
+ cb(null, dir);
125
+ },
126
+ }),
119
127
  limits: {
120
128
  fileSize: 20 * 1024 * 1024, // 20MB per file
121
129
  files: 10, // Max 10 files per request
@@ -589,7 +597,7 @@ terminalRouter.post('/sessions/:id/attachments', attachmentUpload.array('files',
589
597
  // Rename files with session prefix for easier cleanup
590
598
  const attachments = files.map((file) => {
591
599
  const newFilename = `${id}_${Date.now()}_${file.originalname.replace(/[^a-zA-Z0-9._-]/g, '_')}`;
592
- const newPath = join(ATTACHMENTS_DIR, newFilename);
600
+ const newPath = join(getAttachmentsDir(), newFilename);
593
601
  renameSync(file.path, newPath);
594
602
  return {
595
603
  id: randomUUID(),
@@ -622,10 +630,10 @@ terminalRouter.get('/sessions/:id/attachments', (req, res) => {
622
630
  return;
623
631
  }
624
632
  // Find all files prefixed with this session ID
625
- const files = readdirSync(ATTACHMENTS_DIR)
633
+ const files = readdirSync(getAttachmentsDir())
626
634
  .filter((f) => f.startsWith(`${id}_`))
627
635
  .map((filename) => {
628
- const filePath = join(ATTACHMENTS_DIR, filename);
636
+ const filePath = join(getAttachmentsDir(), filename);
629
637
  const stat = statSync(filePath);
630
638
  // Extract original name from filename (format: sessionId_timestamp_originalName)
631
639
  const parts = filename.split('_');
@@ -662,7 +670,7 @@ terminalRouter.delete('/sessions/:id/attachments/:attachmentId', (req, res) => {
662
670
  res.status(403).json({ success: false, error: 'Attachment does not belong to this session' });
663
671
  return;
664
672
  }
665
- const filePath = join(ATTACHMENTS_DIR, attachmentId);
673
+ const filePath = join(getAttachmentsDir(), attachmentId);
666
674
  if (existsSync(filePath)) {
667
675
  unlinkSync(filePath);
668
676
  res.json({ success: true, data: { deleted: attachmentId } });