@kimuson/claude-code-viewer 0.5.6 → 0.5.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/main.js +110 -58
- package/dist/main.js.map +3 -3
- package/dist/static/assets/ProtectedRoute-DcZogGcB.js +1 -0
- package/dist/static/assets/eye-B29o7q5D.js +1 -0
- package/dist/static/assets/index-BLyHo0QH.js +1 -0
- package/dist/static/assets/index-BjunoQqw.js +101 -0
- package/dist/static/assets/{index-MC7Mcsm_.js → index-D35NAeE6.js} +1 -1
- package/dist/static/assets/index-SnhT5nsw.css +1 -0
- package/dist/static/assets/{label-Dbrhlt6Q.js → label-Qp_e3OMm.js} +1 -1
- package/dist/static/assets/login-8XN7uuCa.js +1 -0
- package/dist/static/assets/{messages-D3U3CVR4.js → messages-B8Pmi05i.js} +1 -1
- package/dist/static/assets/{messages-Di1s38Te.js → messages-DGhO0Hga.js} +1 -1
- package/dist/static/assets/{messages-B5irpNQT.js → messages-kG1PDYhH.js} +1 -1
- package/dist/static/assets/{session-CmUhDy9N.js → session-CWyTWuSQ.js} +1 -1
- package/dist/static/assets/session-DbDRJ-Wx.js +40 -0
- package/dist/static/index.html +2 -2
- package/package.json +53 -53
- package/dist/static/assets/ProtectedRoute-BgPTqfAJ.js +0 -56
- package/dist/static/assets/eye-HGnuNHNq.js +0 -6
- package/dist/static/assets/index-BgCTiChu.js +0 -6
- package/dist/static/assets/index-U9oGzuMt.css +0 -1
- package/dist/static/assets/index-o-QkXv15.js +0 -199
- package/dist/static/assets/login-DLFikBnP.js +0 -11
- package/dist/static/assets/session-FUMUCSUK.js +0 -194
package/dist/main.js
CHANGED
|
@@ -7,7 +7,7 @@ import { Effect as Effect49 } from "effect";
|
|
|
7
7
|
// package.json
|
|
8
8
|
var package_default = {
|
|
9
9
|
name: "@kimuson/claude-code-viewer",
|
|
10
|
-
version: "0.5.
|
|
10
|
+
version: "0.5.7",
|
|
11
11
|
description: "A full-featured web-based Claude Code client that provides complete interactive functionality for managing Claude Code projects.",
|
|
12
12
|
type: "module",
|
|
13
13
|
license: "MIT",
|
|
@@ -51,89 +51,89 @@ var package_default = {
|
|
|
51
51
|
prepare: "lefthook install"
|
|
52
52
|
},
|
|
53
53
|
dependencies: {
|
|
54
|
-
"@anthropic-ai/claude-agent-sdk": "0.2.
|
|
54
|
+
"@anthropic-ai/claude-agent-sdk": "0.2.19",
|
|
55
55
|
"@anthropic-ai/claude-code": "2.0.24",
|
|
56
56
|
"@anthropic-ai/sdk": "0.71.2",
|
|
57
|
-
"@effect/cluster": "0.
|
|
58
|
-
"@effect/experimental": "0.
|
|
59
|
-
"@effect/platform": "0.
|
|
60
|
-
"@effect/platform-node": "0.
|
|
61
|
-
"@effect/rpc": "0.
|
|
62
|
-
"@effect/sql": "0.
|
|
63
|
-
"@effect/workflow": "0.
|
|
64
|
-
"@hono/node-server": "1.19.
|
|
57
|
+
"@effect/cluster": "0.56.1",
|
|
58
|
+
"@effect/experimental": "0.58.0",
|
|
59
|
+
"@effect/platform": "0.94.2",
|
|
60
|
+
"@effect/platform-node": "0.104.1",
|
|
61
|
+
"@effect/rpc": "0.73.0",
|
|
62
|
+
"@effect/sql": "0.49.0",
|
|
63
|
+
"@effect/workflow": "0.16.0",
|
|
64
|
+
"@hono/node-server": "1.19.9",
|
|
65
65
|
"@hono/zod-validator": "0.7.6",
|
|
66
|
-
"@lingui/core": "5.
|
|
67
|
-
"@lingui/react": "5.
|
|
68
|
-
"@radix-ui/react-avatar": "1.1.
|
|
66
|
+
"@lingui/core": "5.9.0",
|
|
67
|
+
"@lingui/react": "5.9.0",
|
|
68
|
+
"@radix-ui/react-avatar": "1.1.11",
|
|
69
69
|
"@radix-ui/react-checkbox": "1.3.3",
|
|
70
70
|
"@radix-ui/react-collapsible": "1.1.12",
|
|
71
71
|
"@radix-ui/react-dialog": "1.1.15",
|
|
72
72
|
"@radix-ui/react-hover-card": "1.1.15",
|
|
73
73
|
"@radix-ui/react-popover": "1.1.15",
|
|
74
74
|
"@radix-ui/react-select": "2.2.6",
|
|
75
|
-
"@radix-ui/react-slot": "1.2.
|
|
75
|
+
"@radix-ui/react-slot": "1.2.4",
|
|
76
76
|
"@radix-ui/react-tabs": "1.1.13",
|
|
77
77
|
"@radix-ui/react-tooltip": "1.2.8",
|
|
78
|
-
"@tailwindcss/vite": "4.1.
|
|
79
|
-
"@tanstack/react-devtools": "0.
|
|
80
|
-
"@tanstack/react-query": "5.90.
|
|
81
|
-
"@tanstack/react-router": "1.
|
|
82
|
-
"@tanstack/react-router-devtools": "1.
|
|
78
|
+
"@tailwindcss/vite": "4.1.18",
|
|
79
|
+
"@tanstack/react-devtools": "0.9.2",
|
|
80
|
+
"@tanstack/react-query": "5.90.20",
|
|
81
|
+
"@tanstack/react-router": "1.156.0",
|
|
82
|
+
"@tanstack/react-router-devtools": "1.156.0",
|
|
83
83
|
"class-variance-authority": "0.7.1",
|
|
84
84
|
clsx: "2.1.1",
|
|
85
85
|
commander: "^14.0.2",
|
|
86
86
|
"date-fns": "4.1.0",
|
|
87
|
-
effect: "3.19.
|
|
88
|
-
"es-toolkit": "1.
|
|
89
|
-
hono: "4.
|
|
90
|
-
jotai: "2.
|
|
91
|
-
"lucide-react": "0.
|
|
87
|
+
effect: "3.19.15",
|
|
88
|
+
"es-toolkit": "1.44.0",
|
|
89
|
+
hono: "4.11.5",
|
|
90
|
+
jotai: "2.16.2",
|
|
91
|
+
"lucide-react": "0.563.0",
|
|
92
92
|
minisearch: "7.2.0",
|
|
93
93
|
"parse-git-diff": "0.0.19",
|
|
94
94
|
prexit: "2.3.0",
|
|
95
|
-
react: "19.2.
|
|
96
|
-
"react-dom": "19.2.
|
|
97
|
-
"react-error-boundary": "6.
|
|
95
|
+
react: "19.2.3",
|
|
96
|
+
"react-dom": "19.2.3",
|
|
97
|
+
"react-error-boundary": "6.1.0",
|
|
98
98
|
"react-markdown": "10.1.0",
|
|
99
|
-
"react-syntax-highlighter": "
|
|
99
|
+
"react-syntax-highlighter": "16.1.0",
|
|
100
100
|
"remark-gfm": "4.0.1",
|
|
101
101
|
sonner: "2.0.7",
|
|
102
|
-
"tailwind-merge": "3.
|
|
103
|
-
ulid: "3.0.
|
|
104
|
-
zod: "4.
|
|
102
|
+
"tailwind-merge": "3.4.0",
|
|
103
|
+
ulid: "3.0.2",
|
|
104
|
+
zod: "4.3.6"
|
|
105
105
|
},
|
|
106
106
|
devDependencies: {
|
|
107
|
-
"@biomejs/biome": "2.3.
|
|
108
|
-
"@effect/language-service": "0.
|
|
109
|
-
"@lingui/cli": "5.
|
|
110
|
-
"@lingui/conf": "5.
|
|
111
|
-
"@lingui/format-json": "5.
|
|
112
|
-
"@lingui/loader": "5.
|
|
113
|
-
"@lingui/vite-plugin": "5.
|
|
114
|
-
"@tailwindcss/postcss": "4.1.
|
|
115
|
-
"@tanstack/router-plugin": "1.
|
|
116
|
-
"@tsconfig/strictest": "2.0.
|
|
117
|
-
"@types/node": "
|
|
118
|
-
"@types/react": "19.2.
|
|
119
|
-
"@types/react-dom": "19.2.
|
|
107
|
+
"@biomejs/biome": "2.3.12",
|
|
108
|
+
"@effect/language-service": "0.72.0",
|
|
109
|
+
"@lingui/cli": "5.9.0",
|
|
110
|
+
"@lingui/conf": "5.9.0",
|
|
111
|
+
"@lingui/format-json": "5.9.0",
|
|
112
|
+
"@lingui/loader": "5.9.0",
|
|
113
|
+
"@lingui/vite-plugin": "5.9.0",
|
|
114
|
+
"@tailwindcss/postcss": "4.1.18",
|
|
115
|
+
"@tanstack/router-plugin": "1.156.0",
|
|
116
|
+
"@tsconfig/strictest": "2.0.8",
|
|
117
|
+
"@types/node": "25.0.10",
|
|
118
|
+
"@types/react": "19.2.9",
|
|
119
|
+
"@types/react-dom": "19.2.3",
|
|
120
120
|
"@types/react-syntax-highlighter": "15.5.13",
|
|
121
|
-
"@vitejs/plugin-react-swc": "4.2.
|
|
121
|
+
"@vitejs/plugin-react-swc": "4.2.2",
|
|
122
122
|
dotenv: "17.2.3",
|
|
123
|
-
esbuild: "0.
|
|
124
|
-
lefthook: "2.0.
|
|
123
|
+
esbuild: "0.27.2",
|
|
124
|
+
lefthook: "2.0.15",
|
|
125
125
|
"npm-run-all2": "8.0.4",
|
|
126
|
-
playwright: "1.
|
|
127
|
-
"release-it": "19.
|
|
126
|
+
playwright: "1.58.0",
|
|
127
|
+
"release-it": "19.2.4",
|
|
128
128
|
"release-it-pnpm": "4.6.6",
|
|
129
|
-
tailwindcss: "4.1.
|
|
130
|
-
tsx: "4.
|
|
129
|
+
tailwindcss: "4.1.18",
|
|
130
|
+
tsx: "4.21.0",
|
|
131
131
|
"tw-animate-css": "1.4.0",
|
|
132
132
|
typescript: "5.9.3",
|
|
133
|
-
vite: "7.1
|
|
134
|
-
vitest: "4.0.
|
|
133
|
+
vite: "7.3.1",
|
|
134
|
+
vitest: "4.0.18"
|
|
135
135
|
},
|
|
136
|
-
packageManager: "pnpm@10.
|
|
136
|
+
packageManager: "pnpm@10.28.1+sha512.7d7dbbca9e99447b7c3bf7a73286afaaf6be99251eb9498baefa7d406892f67b879adb3a1d7e687fc4ccc1a388c7175fbaae567a26ab44d1067b54fcb0d6a316"
|
|
137
137
|
};
|
|
138
138
|
|
|
139
139
|
// src/server/core/platform/services/DeprecatedEnvDetector.ts
|
|
@@ -2649,17 +2649,28 @@ var fallbackSdkMessage = (message) => {
|
|
|
2649
2649
|
plugins: []
|
|
2650
2650
|
};
|
|
2651
2651
|
}
|
|
2652
|
+
if (message.subtype === "hook_response") {
|
|
2653
|
+
return {
|
|
2654
|
+
...message
|
|
2655
|
+
};
|
|
2656
|
+
}
|
|
2652
2657
|
return message;
|
|
2653
2658
|
}
|
|
2654
2659
|
if (message.type === "result") {
|
|
2655
2660
|
if (message.subtype === "success") {
|
|
2656
2661
|
return {
|
|
2657
|
-
...message
|
|
2662
|
+
...message,
|
|
2663
|
+
modelUsage: {
|
|
2664
|
+
...message.modelUsage
|
|
2665
|
+
}
|
|
2658
2666
|
};
|
|
2659
2667
|
}
|
|
2660
2668
|
return {
|
|
2661
2669
|
...message,
|
|
2662
|
-
errors: []
|
|
2670
|
+
errors: [],
|
|
2671
|
+
modelUsage: {
|
|
2672
|
+
...message.modelUsage
|
|
2673
|
+
}
|
|
2663
2674
|
};
|
|
2664
2675
|
}
|
|
2665
2676
|
return message;
|
|
@@ -5958,6 +5969,7 @@ var SearchController = class extends Context33.Tag("SearchController")() {
|
|
|
5958
5969
|
};
|
|
5959
5970
|
|
|
5960
5971
|
// src/server/core/session/presentation/SessionController.ts
|
|
5972
|
+
import { FileSystem as FileSystem14 } from "@effect/platform";
|
|
5961
5973
|
import { Context as Context34, Effect as Effect43, Layer as Layer36 } from "effect";
|
|
5962
5974
|
|
|
5963
5975
|
// src/server/core/session/services/ExportService.ts
|
|
@@ -6753,6 +6765,8 @@ var generateSessionHtml = (session, projectId) => Effect42.gen(function* () {
|
|
|
6753
6765
|
// src/server/core/session/presentation/SessionController.ts
|
|
6754
6766
|
var LayerImpl28 = Effect43.gen(function* () {
|
|
6755
6767
|
const sessionRepository = yield* SessionRepository;
|
|
6768
|
+
const fs = yield* FileSystem14.FileSystem;
|
|
6769
|
+
const eventBus = yield* EventBus;
|
|
6756
6770
|
const getSession = (options) => Effect43.gen(function* () {
|
|
6757
6771
|
const { projectId, sessionId } = options;
|
|
6758
6772
|
const { session } = yield* sessionRepository.getSession(
|
|
@@ -6782,9 +6796,41 @@ var LayerImpl28 = Effect43.gen(function* () {
|
|
|
6782
6796
|
response: { html }
|
|
6783
6797
|
};
|
|
6784
6798
|
});
|
|
6799
|
+
const deleteSession = (options) => Effect43.gen(function* () {
|
|
6800
|
+
const { projectId, sessionId } = options;
|
|
6801
|
+
const sessionPath = decodeSessionId(projectId, sessionId);
|
|
6802
|
+
const exists = yield* fs.exists(sessionPath);
|
|
6803
|
+
if (!exists) {
|
|
6804
|
+
return {
|
|
6805
|
+
status: 404,
|
|
6806
|
+
response: { error: "Session not found" }
|
|
6807
|
+
};
|
|
6808
|
+
}
|
|
6809
|
+
const deleteResult = yield* fs.remove(sessionPath).pipe(
|
|
6810
|
+
Effect43.map(() => ({ success: true, error: null })),
|
|
6811
|
+
Effect43.catchAll(
|
|
6812
|
+
(error) => Effect43.succeed({
|
|
6813
|
+
success: false,
|
|
6814
|
+
error: `Failed to delete session: ${error.message}`
|
|
6815
|
+
})
|
|
6816
|
+
)
|
|
6817
|
+
);
|
|
6818
|
+
if (!deleteResult.success) {
|
|
6819
|
+
return {
|
|
6820
|
+
status: 500,
|
|
6821
|
+
response: { error: deleteResult.error }
|
|
6822
|
+
};
|
|
6823
|
+
}
|
|
6824
|
+
yield* eventBus.emit("sessionListChanged", { projectId });
|
|
6825
|
+
return {
|
|
6826
|
+
status: 200,
|
|
6827
|
+
response: { success: true }
|
|
6828
|
+
};
|
|
6829
|
+
});
|
|
6785
6830
|
return {
|
|
6786
6831
|
getSession,
|
|
6787
|
-
exportSessionHtml
|
|
6832
|
+
exportSessionHtml,
|
|
6833
|
+
deleteSession
|
|
6788
6834
|
};
|
|
6789
6835
|
});
|
|
6790
6836
|
var SessionController = class extends Context34.Tag("SessionController")() {
|
|
@@ -7289,7 +7335,13 @@ var routes = (app, options) => Effect47.gen(function* () {
|
|
|
7289
7335
|
);
|
|
7290
7336
|
return response;
|
|
7291
7337
|
}
|
|
7292
|
-
).
|
|
7338
|
+
).delete("/api/projects/:projectId/sessions/:sessionId", async (c) => {
|
|
7339
|
+
const response = await effectToResponse(
|
|
7340
|
+
c,
|
|
7341
|
+
sessionController.deleteSession({ ...c.req.param() }).pipe(Effect47.provide(runtime))
|
|
7342
|
+
);
|
|
7343
|
+
return response;
|
|
7344
|
+
}).get(
|
|
7293
7345
|
"/api/projects/:projectId/agent-sessions/:agentId",
|
|
7294
7346
|
zValidator("query", z29.object({ sessionId: z29.string().optional() })),
|
|
7295
7347
|
async (c) => {
|