@tom2012/cc-web 1.5.47 → 1.5.51

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 (71) hide show
  1. package/README.md +1 -1
  2. package/backend/dist/backup/engine.d.ts +1 -1
  3. package/backend/dist/backup/engine.d.ts.map +1 -1
  4. package/backend/dist/backup/engine.js +8 -4
  5. package/backend/dist/backup/engine.js.map +1 -1
  6. package/backend/dist/hooks-manager.d.ts.map +1 -1
  7. package/backend/dist/hooks-manager.js +8 -1
  8. package/backend/dist/hooks-manager.js.map +1 -1
  9. package/backend/dist/index.d.ts.map +1 -1
  10. package/backend/dist/index.js +17 -0
  11. package/backend/dist/index.js.map +1 -1
  12. package/backend/dist/notify-service.d.ts +13 -0
  13. package/backend/dist/notify-service.d.ts.map +1 -0
  14. package/backend/dist/notify-service.js +84 -0
  15. package/backend/dist/notify-service.js.map +1 -0
  16. package/backend/dist/routes/auth.d.ts.map +1 -1
  17. package/backend/dist/routes/auth.js +5 -2
  18. package/backend/dist/routes/auth.js.map +1 -1
  19. package/backend/dist/routes/filesystem.d.ts.map +1 -1
  20. package/backend/dist/routes/filesystem.js +27 -6
  21. package/backend/dist/routes/filesystem.js.map +1 -1
  22. package/backend/dist/routes/git.d.ts +3 -0
  23. package/backend/dist/routes/git.d.ts.map +1 -0
  24. package/backend/dist/routes/git.js +122 -0
  25. package/backend/dist/routes/git.js.map +1 -0
  26. package/backend/dist/routes/hooks.d.ts.map +1 -1
  27. package/backend/dist/routes/hooks.js +7 -0
  28. package/backend/dist/routes/hooks.js.map +1 -1
  29. package/backend/dist/routes/notify.d.ts +3 -0
  30. package/backend/dist/routes/notify.d.ts.map +1 -0
  31. package/backend/dist/routes/notify.js +27 -0
  32. package/backend/dist/routes/notify.js.map +1 -0
  33. package/backend/dist/routes/projects.d.ts.map +1 -1
  34. package/backend/dist/routes/projects.js +191 -2
  35. package/backend/dist/routes/projects.js.map +1 -1
  36. package/backend/dist/routes/share.d.ts +3 -0
  37. package/backend/dist/routes/share.d.ts.map +1 -0
  38. package/backend/dist/routes/share.js +152 -0
  39. package/backend/dist/routes/share.js.map +1 -0
  40. package/backend/dist/session-manager.d.ts.map +1 -1
  41. package/backend/dist/session-manager.js +14 -1
  42. package/backend/dist/session-manager.js.map +1 -1
  43. package/backend/dist/terminal-manager.d.ts.map +1 -1
  44. package/backend/dist/terminal-manager.js +2 -0
  45. package/backend/dist/terminal-manager.js.map +1 -1
  46. package/backend/dist/types.d.ts +1 -0
  47. package/backend/dist/types.d.ts.map +1 -1
  48. package/backend/package-lock.json +305 -228
  49. package/backend/package.json +1 -0
  50. package/frontend/dist/assets/{ChatView-D80LmqFy.js → ChatView-BGrHsMR9.js} +2 -2
  51. package/frontend/dist/assets/{GraphPreview-CjUPLOtN.js → GraphPreview-CB0_XO4r.js} +2 -2
  52. package/frontend/dist/assets/{OfficePreview-D2Gwj-Np.js → OfficePreview-1-i1sz5k.js} +3 -3
  53. package/frontend/dist/assets/{ProjectPage-DtMa7zK0.js → ProjectPage-Cur4elk1.js} +93 -60
  54. package/frontend/dist/assets/SettingsPage-DnAH9VWu.js +36 -0
  55. package/frontend/dist/assets/ShareViewPage-CcquAbhh.js +1 -0
  56. package/frontend/dist/assets/{SkillHubPage-BgWsoDTI.js → SkillHubPage-CoM63_GP.js} +2 -7
  57. package/frontend/dist/assets/bot-Bhot_xL1.js +6 -0
  58. package/frontend/dist/assets/{chevron-down-BhPFq7WP.js → chevron-down-BLLGZF4Q.js} +1 -1
  59. package/frontend/dist/assets/download-dn65Yic6.js +6 -0
  60. package/frontend/dist/assets/index-B13xy6Pb.css +1 -0
  61. package/frontend/dist/assets/index-Dc8u1vU0.js +275 -0
  62. package/frontend/dist/assets/{index-C6QFUMjX.js → index-DnsaxfE4.js} +1 -1
  63. package/frontend/dist/assets/{jszip.min-C6GvSTLx.js → jszip.min-CzfLNkw8.js} +1 -1
  64. package/frontend/dist/assets/{select-NwCEYkGO.js → select-Bvlmfn-y.js} +8 -3
  65. package/frontend/dist/assets/user-CljKCZZO.js +6 -0
  66. package/frontend/dist/index.html +2 -2
  67. package/package.json +1 -1
  68. package/frontend/dist/assets/SettingsPage-BStIrE1x.js +0 -36
  69. package/frontend/dist/assets/index-CePE4wZl.js +0 -270
  70. package/frontend/dist/assets/index-y_u3eOve.css +0 -1
  71. package/frontend/dist/assets/user-DVocDDux.js +0 -11
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // backend/src/routes/git.ts
4
+ const express_1 = require("express");
5
+ const simple_git_1 = require("simple-git");
6
+ const config_1 = require("../config");
7
+ const router = (0, express_1.Router)();
8
+ // Helper: validate caller has edit access to project
9
+ function canEdit(project, username) {
10
+ if ((0, config_1.isAdminUser)(username))
11
+ return true;
12
+ if ((0, config_1.isProjectOwner)(project, username))
13
+ return true;
14
+ return project.shares?.some((s) => s.username === username && s.permission === 'edit') ?? false;
15
+ }
16
+ // GET /api/projects/:id/git/status
17
+ router.get('/:id/git/status', async (req, res) => {
18
+ const project = (0, config_1.getProject)(req.params.id);
19
+ if (!project) {
20
+ res.status(404).json({ error: 'Project not found' });
21
+ return;
22
+ }
23
+ if (!canEdit(project, req.user?.username)) {
24
+ res.status(403).json({ error: 'Forbidden' });
25
+ return;
26
+ }
27
+ try {
28
+ const git = (0, simple_git_1.simpleGit)(project.folderPath);
29
+ const isRepo = await git.checkIsRepo();
30
+ if (!isRepo) {
31
+ res.json({ isRepo: false });
32
+ return;
33
+ }
34
+ const status = await git.status();
35
+ res.json({
36
+ isRepo: true,
37
+ branch: status.current,
38
+ staged: status.staged,
39
+ modified: status.modified,
40
+ untracked: status.not_added,
41
+ deleted: status.deleted,
42
+ ahead: status.ahead,
43
+ behind: status.behind,
44
+ });
45
+ }
46
+ catch (err) {
47
+ res.status(500).json({ error: err instanceof Error ? err.message : String(err) });
48
+ }
49
+ });
50
+ // GET /api/projects/:id/git/diff?file=<path>
51
+ router.get('/:id/git/diff', async (req, res) => {
52
+ const project = (0, config_1.getProject)(req.params.id);
53
+ if (!project) {
54
+ res.status(404).json({ error: 'Project not found' });
55
+ return;
56
+ }
57
+ if (!canEdit(project, req.user?.username)) {
58
+ res.status(403).json({ error: 'Forbidden' });
59
+ return;
60
+ }
61
+ const fileParam = typeof req.query.file === 'string' ? req.query.file : undefined;
62
+ try {
63
+ const git = (0, simple_git_1.simpleGit)(project.folderPath);
64
+ const diff = fileParam ? await git.diff([fileParam]) : await git.diff();
65
+ res.json({ diff });
66
+ }
67
+ catch (err) {
68
+ res.status(500).json({ error: err instanceof Error ? err.message : String(err) });
69
+ }
70
+ });
71
+ // POST /api/projects/:id/git/add body: { files: string[] }
72
+ router.post('/:id/git/add', async (req, res) => {
73
+ const project = (0, config_1.getProject)(req.params.id);
74
+ if (!project) {
75
+ res.status(404).json({ error: 'Project not found' });
76
+ return;
77
+ }
78
+ if (!canEdit(project, req.user?.username)) {
79
+ res.status(403).json({ error: 'Forbidden' });
80
+ return;
81
+ }
82
+ const { files } = req.body;
83
+ if (!Array.isArray(files) || files.length === 0 || !files.every((f) => typeof f === 'string')) {
84
+ res.status(400).json({ error: 'files must be a non-empty string array' });
85
+ return;
86
+ }
87
+ try {
88
+ const git = (0, simple_git_1.simpleGit)(project.folderPath);
89
+ await git.add(files);
90
+ res.json({ ok: true });
91
+ }
92
+ catch (err) {
93
+ res.status(500).json({ error: err instanceof Error ? err.message : String(err) });
94
+ }
95
+ });
96
+ // POST /api/projects/:id/git/commit body: { message: string }
97
+ router.post('/:id/git/commit', async (req, res) => {
98
+ const project = (0, config_1.getProject)(req.params.id);
99
+ if (!project) {
100
+ res.status(404).json({ error: 'Project not found' });
101
+ return;
102
+ }
103
+ if (!canEdit(project, req.user?.username)) {
104
+ res.status(403).json({ error: 'Forbidden' });
105
+ return;
106
+ }
107
+ const { message } = req.body;
108
+ if (typeof message !== 'string' || !message.trim()) {
109
+ res.status(400).json({ error: 'commit message required' });
110
+ return;
111
+ }
112
+ try {
113
+ const git = (0, simple_git_1.simpleGit)(project.folderPath);
114
+ const result = await git.commit(message.trim());
115
+ res.json({ ok: true, commit: result.commit });
116
+ }
117
+ catch (err) {
118
+ res.status(500).json({ error: err instanceof Error ? err.message : String(err) });
119
+ }
120
+ });
121
+ exports.default = router;
122
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/routes/git.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/routes/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,QAAA,MAAM,MAAM,4CAAW,CAAC;AA6DxB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/routes/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,QAAA,MAAM,MAAM,4CAAW,CAAC;AAkExB,eAAe,MAAM,CAAC"}
@@ -15,6 +15,7 @@ const express_1 = require("express");
15
15
  const auth_1 = require("../auth");
16
16
  const config_1 = require("../config");
17
17
  const session_manager_1 = require("../session-manager");
18
+ const notify_service_1 = require("../notify-service");
18
19
  const router = (0, express_1.Router)();
19
20
  function findProjectByDir(dir) {
20
21
  const projects = (0, config_1.getProjects)();
@@ -52,6 +53,12 @@ router.post('/', (req, res) => {
52
53
  // Then read the final text block from JSONL.
53
54
  session_manager_1.sessionManager.clearSemanticStatus(projectId);
54
55
  session_manager_1.sessionManager.triggerRead(projectId);
56
+ // Fire notification 300ms after Stop so JSONL has been read
57
+ setTimeout(() => {
58
+ const p = (0, config_1.getProject)(projectId);
59
+ if (p)
60
+ void notify_service_1.notifyService.onProjectStopped(projectId, p.name);
61
+ }, 300);
55
62
  break;
56
63
  default:
57
64
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/routes/hooks.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAEH,qCAAoD;AACpD,kCAAyC;AACzC,sCAAwC;AACxC,wDAAoD;AAEpD,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;AASxB,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,QAAQ,GAAG,IAAA,oBAAW,GAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC;IACzD,OAAO,KAAK,EAAE,EAAE,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAY,EAAE,GAAa,EAAQ,EAAE;IACrD,IAAI,CAAC,IAAA,qBAAc,EAAC,GAAG,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,IAAgB,CAAC;IAElD,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;QACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,0EAA0E;QAC1E,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IAED,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,YAAY;YACf,oEAAoE;YACpE,gEAAgE;YAChE,gCAAc,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM;QAER,KAAK,aAAa;YAChB,6DAA6D;YAC7D,gCAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM;QAER,KAAK,MAAM;YACT,0FAA0F;YAC1F,6CAA6C;YAC7C,gCAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC9C,gCAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM;QAER;YACE,MAAM;IACV,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,kBAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/routes/hooks.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAEH,qCAAoD;AACpD,kCAAyC;AACzC,sCAAoD;AACpD,wDAAoD;AACpD,sDAAkD;AAElD,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;AASxB,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,QAAQ,GAAG,IAAA,oBAAW,GAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC;IACzD,OAAO,KAAK,EAAE,EAAE,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAY,EAAE,GAAa,EAAQ,EAAE;IACrD,IAAI,CAAC,IAAA,qBAAc,EAAC,GAAG,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,IAAgB,CAAC;IAElD,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;QACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,0EAA0E;QAC1E,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IAED,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,YAAY;YACf,oEAAoE;YACpE,gEAAgE;YAChE,gCAAc,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM;QAER,KAAK,aAAa;YAChB,6DAA6D;YAC7D,gCAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM;QAER,KAAK,MAAM;YACT,0FAA0F;YAC1F,6CAA6C;YAC7C,gCAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC9C,gCAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACtC,4DAA4D;YAC5D,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,CAAC,GAAG,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC;gBAChC,IAAI,CAAC;oBAAE,KAAK,8BAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAChE,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,MAAM;QAER;YACE,MAAM;IACV,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,kBAAe,MAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const router: import("express-serve-static-core").Router;
2
+ export default router;
3
+ //# sourceMappingURL=notify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../src/routes/notify.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAuBxB,eAAe,MAAM,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const express_1 = require("express");
4
+ const notify_service_1 = require("../notify-service");
5
+ const config_1 = require("../config");
6
+ const router = (0, express_1.Router)();
7
+ router.get('/config', (req, res) => {
8
+ res.json((0, notify_service_1.getNotifyConfig)());
9
+ });
10
+ router.put('/config', (req, res) => {
11
+ if (!(0, config_1.isAdminUser)(req.user?.username)) {
12
+ res.status(403).json({ error: 'Admin only' });
13
+ return;
14
+ }
15
+ const body = req.body;
16
+ const webhookUrl = typeof body.webhookUrl === 'string' ? body.webhookUrl : undefined;
17
+ const webhookEnabled = typeof body.webhookEnabled === 'boolean' ? body.webhookEnabled : undefined;
18
+ const current = (0, notify_service_1.getNotifyConfig)();
19
+ const updated = {
20
+ webhookEnabled: webhookEnabled ?? current.webhookEnabled,
21
+ webhookUrl: webhookUrl !== undefined ? webhookUrl : current.webhookUrl,
22
+ };
23
+ (0, notify_service_1.saveNotifyConfig)(updated);
24
+ res.json(updated);
25
+ });
26
+ exports.default = router;
27
+ //# sourceMappingURL=notify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notify.js","sourceRoot":"","sources":["../../src/routes/notify.ts"],"names":[],"mappings":";;AAAA,qCAA2C;AAE3C,sDAAoF;AACpF,sCAAwC;AAExC,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;AAExB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAgB,EAAE,GAAa,EAAQ,EAAE;IAC9D,GAAG,CAAC,IAAI,CAAC,IAAA,gCAAe,GAAE,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAgB,EAAE,GAAa,EAAQ,EAAE;IAC9D,IAAI,CAAC,IAAA,oBAAW,EAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAA+B,CAAC;IACjD,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;IAClG,MAAM,OAAO,GAAG,IAAA,gCAAe,GAAE,CAAC;IAClC,MAAM,OAAO,GAAiB;QAC5B,cAAc,EAAE,cAAc,IAAI,OAAO,CAAC,cAAc;QACxD,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU;KACvE,CAAC;IACF,IAAA,iCAAgB,EAAC,OAAO,CAAC,CAAC;IAC1B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,kBAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/routes/projects.ts"],"names":[],"mappings":"AA0BA,QAAA,MAAM,MAAM,4CAAW,CAAC;AA+UxB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/routes/projects.ts"],"names":[],"mappings":"AA0BA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAqiBxB,eAAe,MAAM,CAAC"}
@@ -44,7 +44,7 @@ const session_manager_1 = require("../session-manager");
44
44
  const VALID_CLI_TOOLS = ['claude', 'opencode', 'codex', 'qwen'];
45
45
  /** Validate project ID is a UUID to prevent log injection. */
46
46
  function isValidProjectId(id) {
47
- return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(id);
47
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(id);
48
48
  }
49
49
  /** Check if a folder path is within the user's workspace. Admin has no restriction. */
50
50
  function isWithinUserWorkspace(folderPath, username) {
@@ -275,19 +275,44 @@ router.patch('/:id', (req, res) => {
275
275
  return;
276
276
  }
277
277
  const { sound } = req.body;
278
- if (sound !== undefined)
278
+ if (sound !== undefined) {
279
+ if (typeof sound !== 'object' || sound === null || typeof sound.enabled !== 'boolean') {
280
+ res.status(400).json({ error: 'Invalid sound configuration' });
281
+ return;
282
+ }
279
283
  project.sound = sound;
284
+ }
280
285
  (0, config_1.saveProject)(project);
281
286
  res.json(project);
282
287
  });
283
288
  // GET /api/projects/:id/sessions
284
289
  router.get('/:id/sessions', (req, res) => {
285
290
  const { id } = req.params;
291
+ const project = (0, config_1.getProject)(id);
292
+ if (!project) {
293
+ res.status(404).json({ error: 'Project not found' });
294
+ return;
295
+ }
296
+ const username = req.user?.username;
297
+ if (!(0, config_1.isProjectOwner)(project, username) && !project.shares?.some((s) => s.username === username)) {
298
+ res.status(403).json({ error: 'Access denied' });
299
+ return;
300
+ }
286
301
  res.json(session_manager_1.sessionManager.listSessions(id));
287
302
  });
288
303
  // GET /api/projects/:id/sessions/:sessionId
289
304
  router.get('/:id/sessions/:sessionId', (req, res) => {
290
305
  const { id, sessionId } = req.params;
306
+ const project = (0, config_1.getProject)(id);
307
+ if (!project) {
308
+ res.status(404).json({ error: 'Project not found' });
309
+ return;
310
+ }
311
+ const username = req.user?.username;
312
+ if (!(0, config_1.isProjectOwner)(project, username) && !project.shares?.some((s) => s.username === username)) {
313
+ res.status(403).json({ error: 'Access denied' });
314
+ return;
315
+ }
291
316
  const session = session_manager_1.sessionManager.getSession(id, sessionId);
292
317
  if (!session) {
293
318
  res.status(404).json({ error: 'Session not found' });
@@ -351,5 +376,169 @@ router.put('/:id/shares', (req, res) => {
351
376
  (0, config_1.saveProject)(project);
352
377
  res.json(project);
353
378
  });
379
+ // GET /api/projects/sessions/search?q=<keyword>
380
+ // Returns matching message snippets across all projects the caller can access
381
+ router.get('/sessions/search', async (req, res) => {
382
+ const rawQ = req.query.q;
383
+ const q = (typeof rawQ === 'string' ? rawQ : undefined)?.trim();
384
+ if (!q || q.length < 2) {
385
+ res.json([]);
386
+ return;
387
+ }
388
+ const projects = (0, config_1.getProjects)();
389
+ const lowerQ = q.toLowerCase();
390
+ const results = [];
391
+ for (const project of projects) {
392
+ // Permission check: owner or shares member
393
+ if (!(0, config_1.isProjectOwner)(project, req.user?.username) &&
394
+ !project.shares?.some((s) => s.username === req.user?.username)) {
395
+ // Admin can see all
396
+ if (!(0, config_1.isAdminUser)(req.user?.username))
397
+ continue;
398
+ }
399
+ const sessionDir = path.join(project.folderPath, '.ccweb', 'sessions');
400
+ if (!fs.existsSync(sessionDir))
401
+ continue;
402
+ let files;
403
+ try {
404
+ files = fs.readdirSync(sessionDir).filter((f) => f.endsWith('.json'));
405
+ }
406
+ catch {
407
+ continue;
408
+ }
409
+ for (const file of files) {
410
+ try {
411
+ if (fs.statSync(path.join(sessionDir, file)).size > 2 * 1024 * 1024)
412
+ continue;
413
+ const raw = fs.readFileSync(path.join(sessionDir, file), 'utf-8');
414
+ const session = JSON.parse(raw);
415
+ if (!session.id)
416
+ continue;
417
+ let sessionSnippets = 0;
418
+ for (const msg of session.messages ?? []) {
419
+ const contentStr = typeof msg.content === 'string'
420
+ ? msg.content
421
+ : Array.isArray(msg.content)
422
+ ? msg.content
423
+ .filter((b) => b.type === 'text' && b.text)
424
+ .map((b) => b.text)
425
+ .join(' ')
426
+ : '';
427
+ if (!contentStr.toLowerCase().includes(lowerQ))
428
+ continue;
429
+ // Extract snippet: up to 120 chars around the first match
430
+ const idx = contentStr.toLowerCase().indexOf(lowerQ);
431
+ const start = Math.max(0, idx - 40);
432
+ const end = Math.min(contentStr.length, idx + 80);
433
+ const snippet = (start > 0 ? '…' : '') + contentStr.slice(start, end) + (end < contentStr.length ? '…' : '');
434
+ results.push({
435
+ projectId: project.id,
436
+ projectName: project.name,
437
+ sessionId: session.id,
438
+ startedAt: session.startedAt,
439
+ snippet,
440
+ role: msg.role,
441
+ });
442
+ // At most 50 results total
443
+ if (results.length >= 50)
444
+ break;
445
+ // At most 3 snippets per session
446
+ sessionSnippets++;
447
+ if (sessionSnippets >= 3)
448
+ break;
449
+ }
450
+ // At most 50 results total
451
+ if (results.length >= 50)
452
+ break;
453
+ }
454
+ catch {
455
+ // skip corrupt session files
456
+ }
457
+ }
458
+ if (results.length >= 50)
459
+ break;
460
+ }
461
+ res.json(results);
462
+ });
463
+ // PATCH /api/projects/:id/tags body: { tags: string[] }
464
+ router.patch('/:id/tags', (req, res) => {
465
+ const projects = (0, config_1.getProjects)();
466
+ const project = projects.find((p) => p.id === req.params.id);
467
+ if (!project) {
468
+ res.status(404).json({ error: 'Not found' });
469
+ return;
470
+ }
471
+ if (!(0, config_1.isProjectOwner)(project, req.user?.username) && !(0, config_1.isAdminUser)(req.user?.username)) {
472
+ res.status(403).json({ error: 'Forbidden' });
473
+ return;
474
+ }
475
+ const { tags } = req.body;
476
+ if (!Array.isArray(tags) || !tags.every((t) => typeof t === 'string')) {
477
+ res.status(400).json({ error: 'tags must be string[]' });
478
+ return;
479
+ }
480
+ // Deduplicate and trim
481
+ project.tags = [...new Set(tags.map((t) => t.trim()).filter(Boolean))];
482
+ (0, config_1.saveProject)(project);
483
+ res.json(project);
484
+ });
485
+ // GET /api/projects/:id/todos
486
+ // Reads the most recent session JSON and returns the latest TodoWrite tool_use input.todos
487
+ router.get('/:id/todos', (req, res) => {
488
+ const project = (0, config_1.getProject)(req.params.id);
489
+ if (!project) {
490
+ res.status(404).json({ error: 'Not found' });
491
+ return;
492
+ }
493
+ if (!(0, config_1.isProjectOwner)(project, req.user?.username) &&
494
+ !project.shares?.some((s) => s.username === req.user?.username) &&
495
+ !(0, config_1.isAdminUser)(req.user?.username)) {
496
+ res.status(403).json({ error: 'Forbidden' });
497
+ return;
498
+ }
499
+ // Find session files, newest first (files are timestamp-prefixed)
500
+ const sessionDir = path.join(project.folderPath, '.ccweb', 'sessions');
501
+ if (!fs.existsSync(sessionDir)) {
502
+ res.json([]);
503
+ return;
504
+ }
505
+ let files;
506
+ try {
507
+ files = fs.readdirSync(sessionDir)
508
+ .filter((f) => f.endsWith('.json'))
509
+ .sort()
510
+ .reverse();
511
+ }
512
+ catch {
513
+ res.json([]);
514
+ return;
515
+ }
516
+ // Search last 5 sessions for most recent TodoWrite
517
+ for (const file of files.slice(0, 5)) {
518
+ try {
519
+ if (fs.statSync(path.join(sessionDir, file)).size > 2 * 1024 * 1024)
520
+ continue;
521
+ const raw = fs.readFileSync(path.join(sessionDir, file), 'utf-8');
522
+ const session = JSON.parse(raw);
523
+ const messages = session.messages ?? [];
524
+ // Walk messages in reverse to find latest TodoWrite
525
+ for (let i = messages.length - 1; i >= 0; i--) {
526
+ const msg = messages[i];
527
+ if (msg.role !== 'assistant' || !Array.isArray(msg.blocks))
528
+ continue;
529
+ for (const block of msg.blocks) {
530
+ if (block.type === 'tool_use' && block.name === 'TodoWrite' && Array.isArray(block.input?.todos)) {
531
+ res.json(block.input.todos);
532
+ return;
533
+ }
534
+ }
535
+ }
536
+ }
537
+ catch {
538
+ // skip corrupt session
539
+ }
540
+ }
541
+ res.json([]);
542
+ });
354
543
  exports.default = router;
355
544
  //# sourceMappingURL=projects.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/routes/projects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/routes/projects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const router: import("express-serve-static-core").Router;
2
+ export default router;
3
+ //# sourceMappingURL=share.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../src/routes/share.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,MAAM,4CAAW,CAAC;AA+GxB,eAAe,MAAM,CAAC"}