@lim324/my-claude-code-viewer 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.
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const express_1 = require("express");
4
+ const project_scanner_1 = require("../server/project-scanner");
5
+ const session_analyzer_1 = require("../server/session-analyzer");
6
+ const router = (0, express_1.Router)();
7
+ /**
8
+ * GET /api/stats
9
+ * Get global statistics
10
+ */
11
+ router.get("/stats", (req, res) => {
12
+ try {
13
+ const stats = (0, project_scanner_1.getGlobalStats)();
14
+ res.json({
15
+ success: true,
16
+ data: stats,
17
+ });
18
+ }
19
+ catch (error) {
20
+ res.status(500).json({
21
+ success: false,
22
+ error: error instanceof Error ? error.message : "Unknown error",
23
+ });
24
+ }
25
+ });
26
+ /**
27
+ * GET /api/projects
28
+ * Get all projects
29
+ */
30
+ router.get("/projects", (req, res) => {
31
+ try {
32
+ const projects = (0, project_scanner_1.scanProjects)();
33
+ res.json({
34
+ success: true,
35
+ data: projects,
36
+ });
37
+ }
38
+ catch (error) {
39
+ res.status(500).json({
40
+ success: false,
41
+ error: error instanceof Error ? error.message : "Unknown error",
42
+ });
43
+ }
44
+ });
45
+ /**
46
+ * GET /api/projects/:id
47
+ * Get project details with sessions
48
+ */
49
+ router.get("/projects/:id", (req, res) => {
50
+ try {
51
+ const project = (0, project_scanner_1.getProjectDetail)(req.params.id);
52
+ if (!project) {
53
+ return res.status(404).json({
54
+ success: false,
55
+ error: "Project not found",
56
+ });
57
+ }
58
+ res.json({
59
+ success: true,
60
+ data: project,
61
+ });
62
+ }
63
+ catch (error) {
64
+ res.status(500).json({
65
+ success: false,
66
+ error: error instanceof Error ? error.message : "Unknown error",
67
+ });
68
+ }
69
+ });
70
+ /**
71
+ * GET /api/projects/:projectId/sessions/:sessionId
72
+ * Get session details
73
+ */
74
+ router.get("/projects/:projectId/sessions/:sessionId", (req, res) => {
75
+ try {
76
+ const projectPath = (0, project_scanner_1.getSafeProjectPath)(req.params.projectId);
77
+ if (!projectPath) {
78
+ return res.status(404).json({
79
+ success: false,
80
+ error: "Invalid project",
81
+ });
82
+ }
83
+ const session = (0, session_analyzer_1.getSessionDetail)(req.params.projectId, req.params.sessionId, projectPath);
84
+ if (!session) {
85
+ return res.status(404).json({
86
+ success: false,
87
+ error: "Session not found",
88
+ });
89
+ }
90
+ res.json({
91
+ success: true,
92
+ data: session,
93
+ });
94
+ }
95
+ catch (error) {
96
+ res.status(500).json({
97
+ success: false,
98
+ error: error instanceof Error ? error.message : "Unknown error",
99
+ });
100
+ }
101
+ });
102
+ exports.default = router;
103
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/routes/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Router } from "express";
2
+ declare const router: Router;
3
+ export default router;
4
+ //# sourceMappingURL=views.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/routes/views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAWjC,QAAA,MAAM,MAAM,EAAE,MAAiB,CAAC;AAuwBhC,eAAe,MAAM,CAAC"}