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.
- package/dist/api/terminal-routes.d.ts.map +1 -1
- package/dist/api/terminal-routes.js +17 -9
- package/dist/api/terminal-routes.js.map +1 -1
- package/dist/config/agent-usage.d.ts +2 -1
- package/dist/config/agent-usage.d.ts.map +1 -1
- package/dist/config/agent-usage.js +33 -7
- package/dist/config/agent-usage.js.map +1 -1
- package/dist/config/repos.d.ts +2 -0
- package/dist/config/repos.d.ts.map +1 -1
- package/dist/config/repos.js +39 -8
- package/dist/config/repos.js.map +1 -1
- package/dist/config/settings.d.ts.map +1 -1
- package/dist/config/settings.js +18 -2
- package/dist/config/settings.js.map +1 -1
- package/dist/config/skills.d.ts +2 -1
- package/dist/config/skills.d.ts.map +1 -1
- package/dist/config/skills.js +36 -9
- package/dist/config/skills.js.map +1 -1
- package/dist/config/workspaces.d.ts.map +1 -1
- package/dist/config/workspaces.js +33 -12
- package/dist/config/workspaces.js.map +1 -1
- package/dist/core/git-credential-helper.d.ts.map +1 -1
- package/dist/core/git-credential-helper.js +11 -5
- package/dist/core/git-credential-helper.js.map +1 -1
- package/dist/core/shared-docker-manager.d.ts.map +1 -1
- package/dist/core/shared-docker-manager.js +17 -1
- package/dist/core/shared-docker-manager.js.map +1 -1
- package/dist/core/terminal-session.d.ts.map +1 -1
- package/dist/core/terminal-session.js +39 -19
- package/dist/core/terminal-session.js.map +1 -1
- package/dist/core/usage-manager.d.ts.map +1 -1
- package/dist/core/usage-manager.js +45 -22
- package/dist/core/usage-manager.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-routes.d.ts","sourceRoot":"","sources":["../../src/api/terminal-routes.ts"],"names":[],"mappings":"
|
|
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
|
-
//
|
|
113
|
-
|
|
114
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
633
|
+
const files = readdirSync(getAttachmentsDir())
|
|
626
634
|
.filter((f) => f.startsWith(`${id}_`))
|
|
627
635
|
.map((filename) => {
|
|
628
|
-
const filePath = join(
|
|
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(
|
|
673
|
+
const filePath = join(getAttachmentsDir(), attachmentId);
|
|
666
674
|
if (existsSync(filePath)) {
|
|
667
675
|
unlinkSync(filePath);
|
|
668
676
|
res.json({ success: true, data: { deleted: attachmentId } });
|