agent-session-inspector 0.1.2 → 0.1.4

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 (182) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +144 -138
  3. package/VERSION +1 -1
  4. package/app/.next/BUILD_ID +1 -1
  5. package/app/.next/app-path-routes-manifest.json +3 -0
  6. package/app/.next/build-manifest.json +5 -5
  7. package/app/.next/prerender-manifest.json +38 -6
  8. package/app/.next/required-server-files.json +1 -1
  9. package/app/.next/routes-manifest.json +21 -0
  10. package/app/.next/server/app/_global-error/page/build-manifest.json +2 -2
  11. package/app/.next/server/app/_global-error/page.js.nft.json +1 -1
  12. package/app/.next/server/app/_global-error.html +1 -1
  13. package/app/.next/server/app/_global-error.rsc +2 -2
  14. package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  15. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  16. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/app/.next/server/app/_not-found/page/build-manifest.json +2 -2
  18. package/app/.next/server/app/_not-found/page.js +4 -4
  19. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  20. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/app/.next/server/app/_not-found.html +1 -1
  22. package/app/.next/server/app/_not-found.rsc +20 -19
  23. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +20 -19
  24. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +17 -15
  25. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  26. package/app/.next/server/app/api/analytics/route.js +2 -2
  27. package/app/.next/server/app/api/analytics/route.js.nft.json +1 -1
  28. package/app/.next/server/app/api/logs/route.js +2 -2
  29. package/app/.next/server/app/api/logs/route.js.nft.json +1 -1
  30. package/app/.next/server/app/api/pricing/route/app-paths-manifest.json +3 -0
  31. package/app/.next/server/app/api/pricing/route/build-manifest.json +12 -0
  32. package/app/.next/server/app/api/pricing/route/server-reference-manifest.json +4 -0
  33. package/app/.next/server/app/api/pricing/route.js +6 -0
  34. package/app/.next/server/app/api/pricing/route.js.map +5 -0
  35. package/app/.next/server/app/api/pricing/route.js.nft.json +1 -0
  36. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +3 -0
  37. package/app/.next/server/app/api/providers/route.js +2 -2
  38. package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
  39. package/app/.next/server/app/api/search/route.js +2 -2
  40. package/app/.next/server/app/api/search/route.js.nft.json +1 -1
  41. package/app/.next/server/app/api/sessions/[provider]/[id]/reveal/route/app-paths-manifest.json +3 -0
  42. package/app/.next/server/app/api/sessions/[provider]/[id]/reveal/route/build-manifest.json +12 -0
  43. package/app/.next/server/app/api/sessions/[provider]/[id]/reveal/route/server-reference-manifest.json +4 -0
  44. package/app/.next/server/app/api/sessions/[provider]/[id]/reveal/route.js +7 -0
  45. package/app/.next/server/app/api/sessions/[provider]/[id]/reveal/route.js.map +5 -0
  46. package/app/.next/server/app/api/sessions/[provider]/[id]/reveal/route.js.nft.json +1 -0
  47. package/app/.next/server/app/api/sessions/[provider]/[id]/reveal/route_client-reference-manifest.js +3 -0
  48. package/app/.next/server/app/api/sessions/[provider]/[id]/route.js +2 -2
  49. package/app/.next/server/app/api/sessions/[provider]/[id]/route.js.nft.json +1 -1
  50. package/app/.next/server/app/api/sessions/route.js +2 -2
  51. package/app/.next/server/app/api/sessions/route.js.nft.json +1 -1
  52. package/app/.next/server/app/favicon.ico/route.js +1 -2
  53. package/app/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  54. package/app/.next/server/app/favicon.ico.body +0 -0
  55. package/app/.next/server/app/icon.svg/route/app-paths-manifest.json +3 -0
  56. package/app/.next/server/app/icon.svg/route/build-manifest.json +12 -0
  57. package/app/.next/server/app/icon.svg/route.js +6 -0
  58. package/app/.next/server/app/icon.svg/route.js.map +5 -0
  59. package/app/.next/server/app/icon.svg/route.js.nft.json +1 -0
  60. package/app/.next/server/app/icon.svg.body +21 -0
  61. package/app/.next/server/app/icon.svg.meta +1 -0
  62. package/app/.next/server/app/index.html +1 -1
  63. package/app/.next/server/app/index.rsc +22 -21
  64. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +18 -17
  65. package/app/.next/server/app/index.segments/_full.segment.rsc +22 -21
  66. package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  67. package/app/.next/server/app/page/build-manifest.json +2 -2
  68. package/app/.next/server/app/page.js +4 -4
  69. package/app/.next/server/app/page.js.nft.json +1 -1
  70. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  71. package/app/.next/server/app/sessions/[provider]/[id]/page/build-manifest.json +2 -2
  72. package/app/.next/server/app/sessions/[provider]/[id]/page.js +4 -4
  73. package/app/.next/server/app/sessions/[provider]/[id]/page.js.nft.json +1 -1
  74. package/app/.next/server/app/sessions/[provider]/[id]/page_client-reference-manifest.js +1 -1
  75. package/app/.next/server/app-paths-manifest.json +3 -0
  76. package/app/.next/server/chunks/1oeh_server_app_api_sessions_[provider]_[id]_reveal_route_actions_1mqlatn.js +3 -0
  77. package/app/.next/server/chunks/[root-of-the-server]__0dyq0rc._.js +3 -0
  78. package/app/.next/server/chunks/[root-of-the-server]__0kgkqhn._.js +3 -0
  79. package/app/.next/server/chunks/[root-of-the-server]__0yxic1z._.js +6 -0
  80. package/app/.next/server/chunks/[root-of-the-server]__10p8y9z._.js +3 -0
  81. package/app/.next/server/chunks/[root-of-the-server]__11n7k65._.js +3 -0
  82. package/app/.next/server/chunks/[root-of-the-server]__1cceere._.js +3 -0
  83. package/app/.next/server/chunks/[root-of-the-server]__1eclfq8._.js +3 -0
  84. package/app/.next/server/chunks/[root-of-the-server]__1lz20wm._.js +3 -0
  85. package/app/.next/server/chunks/[root-of-the-server]__1w48qe_._.js +3 -0
  86. package/app/.next/server/chunks/[root-of-the-server]__1zdh1mi._.js +3 -0
  87. package/app/.next/server/chunks/[root-of-the-server]__20epvou._.js +3 -0
  88. package/app/.next/server/chunks/_next-internal_server_app_api_pricing_route_actions_06i5bdm.js +3 -0
  89. package/app/.next/server/chunks/_next-internal_server_app_icon_svg_route_actions_1r2h_ub.js +3 -0
  90. package/app/.next/server/chunks/ssr/{[root-of-the-server]__136432r._.js → [root-of-the-server]__09wcsz4._.js} +2 -2
  91. package/app/.next/server/chunks/ssr/[root-of-the-server]__0rwa1xd._.js +3 -0
  92. package/app/.next/server/chunks/ssr/[root-of-the-server]__0vog67g._.js +3 -0
  93. package/app/.next/server/chunks/ssr/[root-of-the-server]__0zh4z_k._.js +3 -0
  94. package/app/.next/server/chunks/ssr/[root-of-the-server]__14zv8r1._.js +1 -1
  95. package/app/.next/server/chunks/ssr/[root-of-the-server]__1ei65vj._.js +3 -0
  96. package/app/.next/server/chunks/ssr/_0136j91._.js +1 -1
  97. package/app/.next/server/chunks/ssr/_0o294sf._.js +3 -0
  98. package/app/.next/server/chunks/ssr/_1-5v1mi._.js +3 -0
  99. package/app/.next/server/chunks/ssr/_12__495._.js +1 -1
  100. package/app/.next/server/chunks/ssr/_1ck8cbf._.js +1 -1
  101. package/app/.next/server/chunks/ssr/src_app_page_tsx_1chiuah._.js +1 -1
  102. package/app/.next/server/chunks/ssr/src_app_sessions_[provider]_[id]_page_tsx_0uf635h._.js +3 -3
  103. package/app/.next/server/middleware-build-manifest.js +5 -5
  104. package/app/.next/server/pages/404.html +1 -1
  105. package/app/.next/server/pages/500.html +1 -1
  106. package/app/.next/server/server-reference-manifest.js +1 -1
  107. package/app/.next/server/server-reference-manifest.json +1 -1
  108. package/app/.next/static/chunks/{1golqn9hvdi85.js → 0pkcgt8dr0jkl.js} +1 -1
  109. package/app/.next/static/chunks/10x4j1wts3xx2.js +1 -0
  110. package/app/.next/static/chunks/1dz8a9ds45tdb.js +6 -0
  111. package/app/.next/static/chunks/1g3ep2o7fhgpe.css +1 -0
  112. package/app/.next/static/chunks/{1bvlgvy9l9_54.js → 244zytz360e56.js} +1 -1
  113. package/app/.next/static/chunks/2iedud09ou282.js +1 -0
  114. package/app/.next/static/chunks/2k65elb1vo-2z.js +1 -0
  115. package/app/.next/static/chunks/2t205sbe-_sk4.js +1 -0
  116. package/app/.next/static/chunks/{0u22wlboqnsjn.js → 3_e2d472hbms0.js} +1 -1
  117. package/app/.next/static/chunks/{turbopack-1whpqxvx8f759.js → turbopack-2r-q4_3piunr7.js} +1 -1
  118. package/app/.next/static/media/favicon.1xg7fnblxruif.ico +0 -0
  119. package/app/.next/static/media/icon.3q7e6rp5-d1lv.svg +21 -0
  120. package/app/AGENTS.md +9 -0
  121. package/app/CLAUDE.md +1 -0
  122. package/app/CONTRIBUTING.md +71 -0
  123. package/app/Dockerfile +34 -0
  124. package/app/LICENSE +21 -0
  125. package/app/README.md +277 -0
  126. package/app/bin/agent-session-inspector.mjs +159 -0
  127. package/app/components.json +25 -0
  128. package/app/docs/screenshots/analytics-dark.png +0 -0
  129. package/app/docs/screenshots/analytics.png +0 -0
  130. package/app/docs/screenshots/session-overview-dark.png +0 -0
  131. package/app/docs/screenshots/session-overview.png +0 -0
  132. package/app/docs/screenshots/sessions-dark.png +0 -0
  133. package/app/docs/screenshots/sessions.png +0 -0
  134. package/app/docs/screenshots/timeline-dark.png +0 -0
  135. package/app/docs/screenshots/timeline.png +0 -0
  136. package/app/docs/screenshots/token-optimizer-dark.png +0 -0
  137. package/app/docs/screenshots/token-optimizer.png +0 -0
  138. package/app/docs/social-preview.png +0 -0
  139. package/app/eslint.config.mjs +19 -0
  140. package/app/install.sh +85 -0
  141. package/app/next.config.ts +17 -0
  142. package/app/package.json +17 -3
  143. package/app/pnpm-lock.yaml +6760 -0
  144. package/app/pnpm-workspace.yaml +2 -0
  145. package/app/postcss.config.mjs +7 -0
  146. package/app/scripts/demo-data.mjs +288 -0
  147. package/app/scripts/deploy-docker.sh +67 -0
  148. package/app/scripts/package-release.sh +84 -0
  149. package/app/server.js +1 -1
  150. package/app/tsconfig.json +34 -0
  151. package/bin/agent-session-inspector.mjs +2 -1
  152. package/package.json +17 -3
  153. package/app/.next/server/chunks/[externals]__0l8ei7u._.js +0 -3
  154. package/app/.next/server/chunks/[externals]__0xll52b._.js +0 -3
  155. package/app/.next/server/chunks/[root-of-the-server]__093lyxv._.js +0 -3
  156. package/app/.next/server/chunks/[root-of-the-server]__0ne74op._.js +0 -3
  157. package/app/.next/server/chunks/[root-of-the-server]__0uqb915._.js +0 -6
  158. package/app/.next/server/chunks/[root-of-the-server]__0uv5tnc._.js +0 -3
  159. package/app/.next/server/chunks/[root-of-the-server]__1lfc-ga._.js +0 -3
  160. package/app/.next/server/chunks/[root-of-the-server]__1n_sepq._.js +0 -3
  161. package/app/.next/server/chunks/_1i74yrf._.js +0 -3
  162. package/app/.next/server/chunks/ssr/[root-of-the-server]__0o9lim0._.js +0 -3
  163. package/app/.next/server/chunks/ssr/[root-of-the-server]__0ovxc0l._.js +0 -3
  164. package/app/.next/server/chunks/ssr/[root-of-the-server]__0u75sqx._.js +0 -3
  165. package/app/.next/server/chunks/ssr/[root-of-the-server]__10av_pp._.js +0 -3
  166. package/app/.next/server/chunks/ssr/_02qe55s._.js +0 -3
  167. package/app/.next/server/chunks/ssr/_1f2ffz2._.js +0 -3
  168. package/app/.next/static/chunks/1a6ohz9e-zu6v.js +0 -6
  169. package/app/.next/static/chunks/1gjrekoh3wbwd.js +0 -1
  170. package/app/.next/static/chunks/2bron83qy3bb-.js +0 -1
  171. package/app/.next/static/chunks/2rm87uoxc3wi6.js +0 -1
  172. package/app/.next/static/chunks/2wkix9od_vgcp.css +0 -1
  173. package/app/.next/static/chunks/3fjiamhx4adq8.js +0 -1
  174. package/app/.next/static/media/favicon.2vob68tjqpejf.ico +0 -0
  175. package/app/public/file.svg +0 -1
  176. package/app/public/globe.svg +0 -1
  177. package/app/public/next.svg +0 -1
  178. package/app/public/vercel.svg +0 -1
  179. package/app/public/window.svg +0 -1
  180. /package/app/.next/static/{66JBn2mmg7nPYv4u88Jb6 → KFq9wlUt8U-Sma3McE5Jw}/_buildManifest.js +0 -0
  181. /package/app/.next/static/{66JBn2mmg7nPYv4u88Jb6 → KFq9wlUt8U-Sma3McE5Jw}/_clientMiddlewareManifest.js +0 -0
  182. /package/app/.next/static/{66JBn2mmg7nPYv4u88Jb6 → KFq9wlUt8U-Sma3McE5Jw}/_ssgManifest.js +0 -0
@@ -0,0 +1,25 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema.json",
3
+ "style": "base-nova",
4
+ "rsc": true,
5
+ "tsx": true,
6
+ "tailwind": {
7
+ "config": "",
8
+ "css": "src/app/globals.css",
9
+ "baseColor": "neutral",
10
+ "cssVariables": true,
11
+ "prefix": ""
12
+ },
13
+ "iconLibrary": "lucide",
14
+ "rtl": false,
15
+ "aliases": {
16
+ "components": "@/components",
17
+ "utils": "@/lib/utils",
18
+ "ui": "@/components/ui",
19
+ "lib": "@/lib",
20
+ "hooks": "@/hooks"
21
+ },
22
+ "menuColor": "default",
23
+ "menuAccent": "subtle",
24
+ "registries": {}
25
+ }
Binary file
@@ -0,0 +1,19 @@
1
+ import { defineConfig, globalIgnores } from "eslint/config";
2
+ import nextVitals from "eslint-config-next/core-web-vitals";
3
+ import nextTs from "eslint-config-next/typescript";
4
+
5
+ const eslintConfig = defineConfig([
6
+ ...nextVitals,
7
+ ...nextTs,
8
+ // Override default ignores of eslint-config-next.
9
+ globalIgnores([
10
+ // Default ignores of eslint-config-next:
11
+ ".next/**",
12
+ "out/**",
13
+ "build/**",
14
+ "dist/**",
15
+ "next-env.d.ts",
16
+ ]),
17
+ ]);
18
+
19
+ export default eslintConfig;
package/app/install.sh ADDED
@@ -0,0 +1,85 @@
1
+ #!/usr/bin/env bash
2
+ # Installer for Agent Session Inspector.
3
+ #
4
+ # curl -fsSL https://github.com/kishanmundha/agent-session-inspector/releases/latest/download/install.sh | bash
5
+ #
6
+ # Downloads the prebuilt app from GitHub Releases into ~/.agent-session-inspector
7
+ # and links an `agent-session-inspector` command into ~/.local/bin. Re-run to update.
8
+ #
9
+ # Environment overrides:
10
+ # ASI_VERSION release tag to install, e.g. v0.2.0 (default: latest)
11
+ # ASI_HOME install directory (default: ~/.agent-session-inspector)
12
+ # ASI_BIN_DIR where to link the command (default: ~/.local/bin)
13
+ # ASI_TARBALL_URL download this archive instead of a GitHub release
14
+ set -euo pipefail
15
+
16
+ NAME=agent-session-inspector
17
+ REPO=kishanmundha/agent-session-inspector
18
+ MIN_NODE=22.13.0
19
+
20
+ INSTALL_DIR="${ASI_HOME:-$HOME/.$NAME}"
21
+ BIN_DIR="${ASI_BIN_DIR:-$HOME/.local/bin}"
22
+ VERSION="${ASI_VERSION:-latest}"
23
+
24
+ info() { printf '\033[1;34m==>\033[0m %s\n' "$*"; }
25
+ die() {
26
+ printf '\033[1;31merror:\033[0m %s\n' "$*" >&2
27
+ exit 1
28
+ }
29
+
30
+ # Wrapped in a function so a truncated download can't run half a script.
31
+ main() {
32
+ command -v tar >/dev/null 2>&1 || die "tar is required."
33
+ command -v curl >/dev/null 2>&1 || die "curl is required."
34
+ command -v node >/dev/null 2>&1 ||
35
+ die "Node.js $MIN_NODE or newer is required. Install it from https://nodejs.org and re-run."
36
+
37
+ node -e '
38
+ const want = process.argv[1].split(".").map(Number);
39
+ const have = process.versions.node.split(".").map(Number);
40
+ for (let i = 0; i < 3; i++) {
41
+ if (have[i] !== want[i]) process.exit(have[i] > want[i] ? 0 : 1);
42
+ }
43
+ ' "$MIN_NODE" || die "Node.js $MIN_NODE or newer is required (found $(node -v))."
44
+
45
+ local url
46
+ if [ -n "${ASI_TARBALL_URL:-}" ]; then
47
+ url="$ASI_TARBALL_URL"
48
+ elif [ "$VERSION" = latest ]; then
49
+ url="https://github.com/$REPO/releases/latest/download/$NAME.tar.gz"
50
+ else
51
+ url="https://github.com/$REPO/releases/download/$VERSION/$NAME.tar.gz"
52
+ fi
53
+
54
+ tmp="$(mktemp -d)"
55
+ trap 'rm -rf "$tmp"' EXIT
56
+
57
+ info "Downloading $url"
58
+ curl -fsSL "$url" -o "$tmp/$NAME.tar.gz" || die "Download failed: $url"
59
+ tar -xzf "$tmp/$NAME.tar.gz" -C "$tmp"
60
+ [ -f "$tmp/$NAME/app/server.js" ] || die "Downloaded archive is not a $NAME build."
61
+
62
+ # Swap the new build in only once it is fully extracted.
63
+ info "Installing to $INSTALL_DIR"
64
+ mkdir -p "$INSTALL_DIR" "$BIN_DIR"
65
+ rm -rf "$INSTALL_DIR/app"
66
+ mv "$tmp/$NAME" "$INSTALL_DIR/app"
67
+ ln -sf "$INSTALL_DIR/app/bin/$NAME.mjs" "$BIN_DIR/$NAME"
68
+
69
+ info "Installed $NAME $(cat "$INSTALL_DIR/app/VERSION" 2>/dev/null || echo)"
70
+ echo
71
+ case ":$PATH:" in
72
+ *":$BIN_DIR:"*)
73
+ echo "Run it with: $NAME"
74
+ ;;
75
+ *)
76
+ echo "$BIN_DIR is not on your PATH. Add it:"
77
+ echo
78
+ echo " export PATH=\"$BIN_DIR:\$PATH\""
79
+ echo
80
+ echo "or run it directly: $BIN_DIR/$NAME"
81
+ ;;
82
+ esac
83
+ }
84
+
85
+ main "$@"
@@ -0,0 +1,17 @@
1
+ import type { NextConfig } from 'next';
2
+ import pkg from './package.json';
3
+
4
+ const nextConfig: NextConfig = {
5
+ output: 'standalone',
6
+ // No next/image usage; keeps the platform-specific sharp binary out of the release archive.
7
+ images: { unoptimized: true },
8
+ // The providers build paths at runtime (path.join(dir, ".git"), ...), which the
9
+ // tracer reads as "ship the repo's own .git, .claude and sources".
10
+ outputFileTracingExcludes: {
11
+ '/**': ['./.git/**', './.claude/**', './src/**'],
12
+ },
13
+ // Shown in the header and the About dialog (see src/lib/app-info.ts).
14
+ env: { APP_VERSION: pkg.version },
15
+ };
16
+
17
+ export default nextConfig;
package/app/package.json CHANGED
@@ -1,18 +1,32 @@
1
1
  {
2
2
  "name": "agent-session-inspector",
3
- "version": "0.1.2",
4
- "description": "Inspect Claude Code, Copilot CLI and Codex sessions in a local web UI: timeline, tokens, cost and analytics.",
3
+ "version": "0.1.4",
4
+ "description": "Inspect Claude Code, Codex, GitHub Copilot, OpenCode and Hermes agent sessions in a local web UI: timeline, tokens, cost and analytics.",
5
5
  "keywords": [
6
6
  "agent",
7
+ "ai-agent",
7
8
  "session",
8
9
  "claude-code",
10
+ "claude",
9
11
  "copilot",
12
+ "copilot-chat",
13
+ "vscode",
10
14
  "codex",
15
+ "opencode",
16
+ "hermes",
17
+ "llm",
11
18
  "transcript",
12
19
  "tokens",
13
- "cost"
20
+ "token-usage",
21
+ "cost",
22
+ "observability"
14
23
  ],
15
24
  "author": "Kishan Mundha (https://github.com/kishanmundha)",
25
+ "license": "MIT",
26
+ "homepage": "https://github.com/kishanmundha/agent-session-inspector#readme",
27
+ "bugs": {
28
+ "url": "https://github.com/kishanmundha/agent-session-inspector/issues"
29
+ },
16
30
  "repository": {
17
31
  "type": "git",
18
32
  "url": "git+https://github.com/kishanmundha/agent-session-inspector.git"