agent-recorder 0.0.1 → 0.0.9
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/package.json +2 -2
- package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.test.js +1 -0
- package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.test.js.map +1 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/configure-wrap.d.ts +15 -0
- package/vendor/node_modules/@agent-recorder/cli/commands/configure-wrap.d.ts.map +1 -0
- package/vendor/node_modules/@agent-recorder/cli/commands/configure-wrap.js +233 -0
- package/vendor/node_modules/@agent-recorder/cli/commands/configure-wrap.js.map +1 -0
- package/vendor/node_modules/@agent-recorder/cli/commands/install.d.ts.map +1 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/install.js +9 -0
- package/vendor/node_modules/@agent-recorder/cli/commands/install.js.map +1 -1
- package/vendor/node_modules/@agent-recorder/cli/index.js +11 -0
- package/vendor/node_modules/@agent-recorder/cli/index.js.map +1 -1
- package/vendor/node_modules/@agent-recorder/core/config.d.ts +4 -0
- package/vendor/node_modules/@agent-recorder/core/config.d.ts.map +1 -1
- package/vendor/node_modules/@agent-recorder/core/config.js +6 -0
- package/vendor/node_modules/@agent-recorder/core/config.js.map +1 -1
- package/vendor/node_modules/@agent-recorder/core/db/events.d.ts +3 -0
- package/vendor/node_modules/@agent-recorder/core/db/events.d.ts.map +1 -1
- package/vendor/node_modules/@agent-recorder/core/db/events.js +8 -3
- package/vendor/node_modules/@agent-recorder/core/db/events.js.map +1 -1
- package/vendor/node_modules/@agent-recorder/core/db/events.test.js +34 -0
- package/vendor/node_modules/@agent-recorder/core/db/events.test.js.map +1 -1
- package/vendor/node_modules/@agent-recorder/core/db/migrations.d.ts +2 -2
- package/vendor/node_modules/@agent-recorder/core/db/migrations.d.ts.map +1 -1
- package/vendor/node_modules/@agent-recorder/core/db/migrations.js +14 -6
- package/vendor/node_modules/@agent-recorder/core/db/migrations.js.map +1 -1
- package/vendor/node_modules/@agent-recorder/core/index.d.ts +1 -1
- package/vendor/node_modules/@agent-recorder/core/index.d.ts.map +1 -1
- package/vendor/node_modules/@agent-recorder/core/index.js +1 -1
- package/vendor/node_modules/@agent-recorder/core/index.js.map +1 -1
- package/vendor/node_modules/@agent-recorder/core/migrations/006_add_upstream_key.sql +7 -0
- package/vendor/node_modules/@agent-recorder/core/types/events.d.ts +2 -0
- package/vendor/node_modules/@agent-recorder/core/types/events.d.ts.map +1 -1
- package/vendor/node_modules/@agent-recorder/service/mcp/proxy.d.ts.map +1 -1
- package/vendor/node_modules/@agent-recorder/service/mcp/proxy.js +49 -4
- package/vendor/node_modules/@agent-recorder/service/mcp/proxy.js.map +1 -1
- package/vendor/node_modules/@agent-recorder/service/mcp/proxy.test.js +165 -0
- package/vendor/node_modules/@agent-recorder/service/mcp/proxy.test.js.map +1 -1
- package/vendor/node_modules/@agent-recorder/service/mcp/recorder.d.ts +1 -0
- package/vendor/node_modules/@agent-recorder/service/mcp/recorder.d.ts.map +1 -1
- package/vendor/node_modules/@agent-recorder/service/mcp/recorder.js +5 -2
- package/vendor/node_modules/@agent-recorder/service/mcp/recorder.js.map +1 -1
- package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics 2.js +0 -205
- package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.d 2.ts +0 -50
- package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.test 2.js +0 -253
- package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.test.d 2.ts +0 -5
- package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.test.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.test.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/configure 2.js +0 -144
- package/vendor/node_modules/@agent-recorder/cli/commands/configure.d 2.ts +0 -17
- package/vendor/node_modules/@agent-recorder/cli/commands/configure.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/configure.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/diagnose 2.js +0 -141
- package/vendor/node_modules/@agent-recorder/cli/commands/diagnose.d 2.ts +0 -5
- package/vendor/node_modules/@agent-recorder/cli/commands/diagnose.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/diagnose.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/doctor 2.js +0 -253
- package/vendor/node_modules/@agent-recorder/cli/commands/doctor.d 2.ts +0 -5
- package/vendor/node_modules/@agent-recorder/cli/commands/doctor.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/doctor.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/export 2.js +0 -56
- package/vendor/node_modules/@agent-recorder/cli/commands/export.d 2.ts +0 -12
- package/vendor/node_modules/@agent-recorder/cli/commands/export.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/export.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/install 2.js +0 -77
- package/vendor/node_modules/@agent-recorder/cli/commands/install.d 2.ts +0 -13
- package/vendor/node_modules/@agent-recorder/cli/commands/install.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/install.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/logs 2.js +0 -40
- package/vendor/node_modules/@agent-recorder/cli/commands/logs.d 2.ts +0 -8
- package/vendor/node_modules/@agent-recorder/cli/commands/logs.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/logs.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/mock-mcp 2.js +0 -188
- package/vendor/node_modules/@agent-recorder/cli/commands/mock-mcp.d 2.ts +0 -10
- package/vendor/node_modules/@agent-recorder/cli/commands/mock-mcp.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/mock-mcp.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/restart 2.js +0 -67
- package/vendor/node_modules/@agent-recorder/cli/commands/restart.d 2.ts +0 -9
- package/vendor/node_modules/@agent-recorder/cli/commands/restart.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/restart.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/sessions 2.js +0 -333
- package/vendor/node_modules/@agent-recorder/cli/commands/sessions.d 2.ts +0 -52
- package/vendor/node_modules/@agent-recorder/cli/commands/sessions.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/sessions.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/start 2.js +0 -174
- package/vendor/node_modules/@agent-recorder/cli/commands/start.d 2.ts +0 -10
- package/vendor/node_modules/@agent-recorder/cli/commands/start.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/start.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/status 2.js +0 -104
- package/vendor/node_modules/@agent-recorder/cli/commands/status.d 2.ts +0 -5
- package/vendor/node_modules/@agent-recorder/cli/commands/status.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/status.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/stop 2.js +0 -89
- package/vendor/node_modules/@agent-recorder/cli/commands/stop.d 2.ts +0 -8
- package/vendor/node_modules/@agent-recorder/cli/commands/stop.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/stop.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/tui 2.js +0 -14
- package/vendor/node_modules/@agent-recorder/cli/commands/tui.d 2.ts +0 -5
- package/vendor/node_modules/@agent-recorder/cli/commands/tui.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/tui.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/config/claude-paths 2.js +0 -117
- package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.d 2.ts +0 -55
- package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.test 2.js +0 -152
- package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.test.d 2.ts +0 -5
- package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.test.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.test.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/index 2.js +0 -194
- package/vendor/node_modules/@agent-recorder/cli/index.d 2.ts +0 -10
- package/vendor/node_modules/@agent-recorder/cli/index.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/index.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/package 2.json +0 -17
- package/vendor/node_modules/@agent-recorder/cli/tui/App 2.js +0 -84
- package/vendor/node_modules/@agent-recorder/cli/tui/App.d 2.ts +0 -6
- package/vendor/node_modules/@agent-recorder/cli/tui/App.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/App.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/api 2.js +0 -105
- package/vendor/node_modules/@agent-recorder/cli/tui/api.d 2.ts +0 -31
- package/vendor/node_modules/@agent-recorder/cli/tui/api.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/api.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/components/EventInspectPanel 2.js +0 -45
- package/vendor/node_modules/@agent-recorder/cli/tui/components/EventInspectPanel.d 2.ts +0 -11
- package/vendor/node_modules/@agent-recorder/cli/tui/components/EventInspectPanel.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/components/EventInspectPanel.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/components/Header 2.js +0 -13
- package/vendor/node_modules/@agent-recorder/cli/tui/components/Header.d 2.ts +0 -17
- package/vendor/node_modules/@agent-recorder/cli/tui/components/Header.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/components/Header.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/components/Spinner 2.js +0 -21
- package/vendor/node_modules/@agent-recorder/cli/tui/components/Spinner.d 2.ts +0 -12
- package/vendor/node_modules/@agent-recorder/cli/tui/components/Spinner.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/components/Spinner.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/components/StatusBadge 2.js +0 -50
- package/vendor/node_modules/@agent-recorder/cli/tui/components/StatusBadge.d 2.ts +0 -16
- package/vendor/node_modules/@agent-recorder/cli/tui/components/StatusBadge.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/components/StatusBadge.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/components/Table 2.js +0 -20
- package/vendor/node_modules/@agent-recorder/cli/tui/components/Table.d 2.ts +0 -21
- package/vendor/node_modules/@agent-recorder/cli/tui/components/Table.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/components/Table.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/components/index 2.js +0 -8
- package/vendor/node_modules/@agent-recorder/cli/tui/components/index.d 2.ts +0 -8
- package/vendor/node_modules/@agent-recorder/cli/tui/components/index.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/components/index.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/hooks/useEventStream 2.js +0 -75
- package/vendor/node_modules/@agent-recorder/cli/tui/hooks/useEventStream.d 2.ts +0 -22
- package/vendor/node_modules/@agent-recorder/cli/tui/hooks/useEventStream.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/hooks/useEventStream.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionDetailScreen 2.js +0 -190
- package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionDetailScreen.d 2.ts +0 -13
- package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionDetailScreen.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionDetailScreen.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionsScreen 2.js +0 -166
- package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionsScreen.d 2.ts +0 -10
- package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionsScreen.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionsScreen.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/screens/index 2.js +0 -6
- package/vendor/node_modules/@agent-recorder/cli/tui/screens/index.d 2.ts +0 -6
- package/vendor/node_modules/@agent-recorder/cli/tui/screens/index.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/cli/tui/screens/index.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/core/config 2.js +0 -44
- package/vendor/node_modules/@agent-recorder/core/config.d 2.ts +0 -25
- package/vendor/node_modules/@agent-recorder/core/config.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/core/db/connection.d 2.ts +0 -15
- package/vendor/node_modules/@agent-recorder/core/migrations/001_initial 2.sql +0 -40
- package/vendor/node_modules/@agent-recorder/core/migrations/002_session_sequences 2.sql +0 -8
- package/vendor/node_modules/@agent-recorder/core/migrations/003_add_tool_columns 2.sql +0 -9
- package/vendor/node_modules/@agent-recorder/core/migrations/004_add_cancelled_status 2.sql +0 -23
- package/vendor/node_modules/@agent-recorder/core/migrations/005_add_error_category 2.sql +0 -6
- package/vendor/node_modules/@agent-recorder/core/package 2.json +0 -18
- package/vendor/node_modules/@agent-recorder/core/types/events.d 2.ts +0 -69
- package/vendor/node_modules/@agent-recorder/core/types/index 2.js +0 -2
- package/vendor/node_modules/@agent-recorder/core/types/index.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/core/types/session 2.js +0 -6
- package/vendor/node_modules/@agent-recorder/core/types/session.d 2.ts +0 -22
- package/vendor/node_modules/@agent-recorder/core/types/session.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/core/types/session.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/core/utils/error-category 2.js +0 -58
- package/vendor/node_modules/@agent-recorder/core/utils/error-category.d 2.ts +0 -22
- package/vendor/node_modules/@agent-recorder/core/utils/error-category.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/core/utils/error-category.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/core/utils/error-category.test.d 2.ts +0 -5
- package/vendor/node_modules/@agent-recorder/core/utils/error-category.test.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/core/utils/error-category.test.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/core/utils/index 2.js +0 -6
- package/vendor/node_modules/@agent-recorder/core/utils/index.d 2.ts +0 -6
- package/vendor/node_modules/@agent-recorder/core/utils/index.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/core/utils/index.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/core/utils/redact.d 2.ts +0 -19
- package/vendor/node_modules/@agent-recorder/core/utils/redact.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/core/utils/redact.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/index 2.js +0 -128
- package/vendor/node_modules/@agent-recorder/service/index.d 2.ts +0 -36
- package/vendor/node_modules/@agent-recorder/service/index.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/index.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/mcp/index 2.js +0 -7
- package/vendor/node_modules/@agent-recorder/service/mcp/index.d 2.ts +0 -7
- package/vendor/node_modules/@agent-recorder/service/mcp/index.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/mcp/index.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/mcp/proxy 2.js +0 -223
- package/vendor/node_modules/@agent-recorder/service/mcp/proxy.d 2.ts +0 -26
- package/vendor/node_modules/@agent-recorder/service/mcp/proxy.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/mcp/proxy.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/mcp/proxy.test.d 2.ts +0 -5
- package/vendor/node_modules/@agent-recorder/service/mcp/proxy.test.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/mcp/proxy.test.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/mcp/recorder 2.js +0 -62
- package/vendor/node_modules/@agent-recorder/service/mcp/recorder.d 2.ts +0 -31
- package/vendor/node_modules/@agent-recorder/service/mcp/recorder.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/mcp/recorder.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/mcp/types 2.js +0 -15
- package/vendor/node_modules/@agent-recorder/service/mcp/types.d 2.ts +0 -40
- package/vendor/node_modules/@agent-recorder/service/mcp/types.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/mcp/types.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/package 2.json +0 -15
- package/vendor/node_modules/@agent-recorder/service/routes/events 2.js +0 -71
- package/vendor/node_modules/@agent-recorder/service/routes/events.d 2.ts +0 -11
- package/vendor/node_modules/@agent-recorder/service/routes/events.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/routes/events.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/routes/health 2.js +0 -18
- package/vendor/node_modules/@agent-recorder/service/routes/health.d 2.ts +0 -6
- package/vendor/node_modules/@agent-recorder/service/routes/health.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/routes/health.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/routes/sessions 2.js +0 -80
- package/vendor/node_modules/@agent-recorder/service/routes/sessions.d 2.ts +0 -12
- package/vendor/node_modules/@agent-recorder/service/routes/sessions.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/routes/sessions.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/server 2.js +0 -36
- package/vendor/node_modules/@agent-recorder/service/server.d 2.ts +0 -19
- package/vendor/node_modules/@agent-recorder/service/server.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/server.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/server.test 2.js +0 -296
- package/vendor/node_modules/@agent-recorder/service/server.test.d 2.ts +0 -5
- package/vendor/node_modules/@agent-recorder/service/server.test.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/session-manager 2.js +0 -22
- package/vendor/node_modules/@agent-recorder/service/session-manager.d 2.ts +0 -16
- package/vendor/node_modules/@agent-recorder/service/session-manager.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/session-manager.js 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/session-manager.test 2.js +0 -61
- package/vendor/node_modules/@agent-recorder/service/session-manager.test.d 2.ts +0 -5
- package/vendor/node_modules/@agent-recorder/service/session-manager.test.d.ts 2.map +0 -1
- package/vendor/node_modules/@agent-recorder/service/session-manager.test.js 2.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.js","sourceRoot":"","sources":["../../../src/tui/components/Spinner.tsx"],"names":[],"mappings":";AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAMlE;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,EAAE,KAAK,EAAgB;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,MAAM,CAAC,KAAK,CAAC,GAAQ,EACxC,KAAK,IAAI,MAAC,IAAI,oBAAG,KAAK,IAAQ,IAC1B,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Status badge component for sessions and events.
|
|
4
|
-
*/
|
|
5
|
-
import React from "react";
|
|
6
|
-
import { Text } from "ink";
|
|
7
|
-
/**
|
|
8
|
-
* Display a colored status indicator.
|
|
9
|
-
*/
|
|
10
|
-
export function StatusBadge({ status }) {
|
|
11
|
-
switch (status) {
|
|
12
|
-
case "active":
|
|
13
|
-
case "running":
|
|
14
|
-
return _jsx(Text, { color: "green", children: "\u25CF" });
|
|
15
|
-
case "completed":
|
|
16
|
-
case "success":
|
|
17
|
-
return _jsx(Text, { color: "gray", children: "\u25CB" });
|
|
18
|
-
case "error":
|
|
19
|
-
return _jsx(Text, { color: "red", children: "\u25CF" });
|
|
20
|
-
case "timeout":
|
|
21
|
-
return _jsx(Text, { color: "yellow", children: "\u25CF" });
|
|
22
|
-
case "cancelled":
|
|
23
|
-
return _jsx(Text, { color: "gray", children: "\u25CC" });
|
|
24
|
-
default:
|
|
25
|
-
return _jsx(Text, { color: "gray", children: "?" });
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Display a status indicator with label.
|
|
30
|
-
*/
|
|
31
|
-
export function StatusWithLabel({ status, }) {
|
|
32
|
-
const label = status.charAt(0).toUpperCase() + status.slice(1);
|
|
33
|
-
switch (status) {
|
|
34
|
-
case "active":
|
|
35
|
-
case "running":
|
|
36
|
-
return (_jsxs(Text, { children: [_jsx(Text, { color: "green", children: "\u25CF" }), " ", _jsx(Text, { color: "green", children: label })] }));
|
|
37
|
-
case "completed":
|
|
38
|
-
case "success":
|
|
39
|
-
return (_jsxs(Text, { children: [_jsx(Text, { color: "gray", children: "\u25CB" }), " ", _jsx(Text, { color: "gray", children: label })] }));
|
|
40
|
-
case "error":
|
|
41
|
-
return (_jsxs(Text, { children: [_jsx(Text, { color: "red", children: "\u25CF" }), " ", _jsx(Text, { color: "red", children: label })] }));
|
|
42
|
-
case "timeout":
|
|
43
|
-
return (_jsxs(Text, { children: [_jsx(Text, { color: "yellow", children: "\u25CF" }), " ", _jsx(Text, { color: "yellow", children: label })] }));
|
|
44
|
-
case "cancelled":
|
|
45
|
-
return (_jsxs(Text, { children: [_jsx(Text, { color: "gray", children: "\u25CC" }), " ", _jsx(Text, { color: "gray", children: label })] }));
|
|
46
|
-
default:
|
|
47
|
-
return (_jsxs(Text, { children: [_jsx(Text, { color: "gray", children: "?" }), " ", _jsx(Text, { children: label })] }));
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=StatusBadge.js.map
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Status badge component for sessions and events.
|
|
3
|
-
*/
|
|
4
|
-
import React from "react";
|
|
5
|
-
export interface StatusBadgeProps {
|
|
6
|
-
status: string;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Display a colored status indicator.
|
|
10
|
-
*/
|
|
11
|
-
export declare function StatusBadge({ status }: StatusBadgeProps): React.ReactElement;
|
|
12
|
-
/**
|
|
13
|
-
* Display a status indicator with label.
|
|
14
|
-
*/
|
|
15
|
-
export declare function StatusWithLabel({ status, }: StatusBadgeProps): React.ReactElement;
|
|
16
|
-
//# sourceMappingURL=StatusBadge.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBadge.d.ts","sourceRoot":"","sources":["../../../src/tui/components/StatusBadge.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAiB5E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,GACP,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CA2CvC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBadge.js","sourceRoot":"","sources":["../../../src/tui/components/StatusBadge.tsx"],"names":[],"mappings":";AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAM3B;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAoB;IACtD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,uBAAS,CAAC;QACtC,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uBAAS,CAAC;QACrC,KAAK,OAAO;YACV,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,uBAAS,CAAC;QACpC,KAAK,SAAS;YACZ,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,uBAAS,CAAC;QACvC,KAAK,WAAW;YACd,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uBAAS,CAAC;QACrC;YACE,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,kBAAS,CAAC;IACvC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,MAAM,GACW;IACjB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE/D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,CACL,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,uBAAS,OAAC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,KAAK,GAAQ,IAC1D,CACR,CAAC;QACJ,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,CACL,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uBAAS,OAAC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,KAAK,GAAQ,IACxD,CACR,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,CACL,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,uBAAS,OAAC,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,YAAE,KAAK,GAAQ,IACtD,CACR,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO,CACL,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,uBAAS,OAAC,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,KAAK,GAAQ,IAC5D,CACR,CAAC;QACJ,KAAK,WAAW;YACd,OAAO,CACL,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uBAAS,OAAC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,KAAK,GAAQ,IACxD,CACR,CAAC;QACJ;YACE,OAAO,CACL,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,kBAAS,OAAC,KAAC,IAAI,cAAE,KAAK,GAAQ,IAC3C,CACR,CAAC;IACN,CAAC;AACH,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Scrollable table component with keyboard navigation.
|
|
4
|
-
*/
|
|
5
|
-
import React from "react";
|
|
6
|
-
import { Box, Text } from "ink";
|
|
7
|
-
/**
|
|
8
|
-
* Render a table with columns and data.
|
|
9
|
-
*/
|
|
10
|
-
export function Table({ columns, data, selectedIndex, maxRows = 15, }) {
|
|
11
|
-
// Calculate scroll offset to keep selected row visible
|
|
12
|
-
const scrollOffset = Math.max(0, Math.min(selectedIndex - Math.floor(maxRows / 2), data.length - maxRows));
|
|
13
|
-
const visibleData = data.slice(scrollOffset, scrollOffset + maxRows);
|
|
14
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: " " }), columns.map((col) => (_jsx(Box, { width: col.width, children: _jsx(Text, { bold: true, dimColor: true, children: col.header.padEnd(col.width) }) }, col.key)))] }), visibleData.map((row, i) => {
|
|
15
|
-
const actualIndex = scrollOffset + i;
|
|
16
|
-
const isSelected = actualIndex === selectedIndex;
|
|
17
|
-
return (_jsxs(Box, { children: [isSelected ? (_jsx(Text, { color: "cyan", children: "> " })) : (_jsx(Text, { children: " " })), columns.map((col) => (_jsx(Box, { width: col.width, children: isSelected ? (_jsx(Text, { color: "cyan", children: col.render(row, actualIndex) })) : (col.render(row, actualIndex)) }, col.key)))] }, actualIndex));
|
|
18
|
-
}), data.length > maxRows && (_jsxs(Text, { dimColor: true, children: [" ", "Showing ", scrollOffset + 1, "-", Math.min(scrollOffset + maxRows, data.length), " of ", data.length] }))] }));
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=Table.js.map
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Scrollable table component with keyboard navigation.
|
|
3
|
-
*/
|
|
4
|
-
import React from "react";
|
|
5
|
-
export interface Column<T> {
|
|
6
|
-
key: string;
|
|
7
|
-
header: string;
|
|
8
|
-
width: number;
|
|
9
|
-
render: (row: T, index: number) => React.ReactNode;
|
|
10
|
-
}
|
|
11
|
-
export interface TableProps<T> {
|
|
12
|
-
columns: Column<T>[];
|
|
13
|
-
data: T[];
|
|
14
|
-
selectedIndex: number;
|
|
15
|
-
maxRows?: number;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Render a table with columns and data.
|
|
19
|
-
*/
|
|
20
|
-
export declare function Table<T>({ columns, data, selectedIndex, maxRows, }: TableProps<T>): React.ReactElement;
|
|
21
|
-
//# sourceMappingURL=Table.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/tui/components/Table.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;CACpD;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,EACvB,OAAO,EACP,IAAI,EACJ,aAAa,EACb,OAAY,GACb,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAyDpC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/tui/components/Table.tsx"],"names":[],"mappings":";AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAgBhC;;GAEG;AACH,MAAM,UAAU,KAAK,CAAI,EACvB,OAAO,EACP,IAAI,EACJ,aAAa,EACb,OAAO,GAAG,EAAE,GACE;IACd,uDAAuD;IACvD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,CACzE,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC;IAErE,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aAEzB,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,QAAQ,kBAAE,IAAI,GAAQ,EAC3B,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACpB,KAAC,GAAG,IAAe,KAAK,EAAE,GAAG,CAAC,KAAK,YACjC,KAAC,IAAI,IAAC,IAAI,QAAC,QAAQ,kBAChB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GACxB,IAHC,GAAG,CAAC,GAAG,CAIX,CACP,CAAC,IACE,EAGL,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC1B,MAAM,WAAW,GAAG,YAAY,GAAG,CAAC,CAAC;gBACrC,MAAM,UAAU,GAAG,WAAW,KAAK,aAAa,CAAC;gBAEjD,OAAO,CACL,MAAC,GAAG,eACD,UAAU,CAAC,CAAC,CAAC,CACZ,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,IAAI,GAAQ,CACjC,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,cAAE,IAAI,GAAQ,CACpB,EACA,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACpB,KAAC,GAAG,IAAe,KAAK,EAAE,GAAG,CAAC,KAAK,YAChC,UAAU,CAAC,CAAC,CAAC,CACZ,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,GAAQ,CACzD,CAAC,CAAC,CAAC,CACF,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAC7B,IALO,GAAG,CAAC,GAAG,CAMX,CACP,CAAC,KAdM,WAAW,CAef,CACP,CAAC;YACJ,CAAC,CAAC,EAGD,IAAI,CAAC,MAAM,GAAG,OAAO,IAAI,CACxB,MAAC,IAAI,IAAC,QAAQ,mBACX,IAAI,cAAU,YAAY,GAAG,CAAC,OAC9B,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,UAAM,IAAI,CAAC,MAAM,IAC1D,CACR,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TUI components barrel export.
|
|
3
|
-
*/
|
|
4
|
-
export { Header } from "./Header.js";
|
|
5
|
-
export { Spinner } from "./Spinner.js";
|
|
6
|
-
export { StatusBadge, StatusWithLabel, } from "./StatusBadge.js";
|
|
7
|
-
export { Table } from "./Table.js";
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TUI components barrel export.
|
|
3
|
-
*/
|
|
4
|
-
export { Header, type HeaderProps, type KeyHint } from "./Header.js";
|
|
5
|
-
export { Spinner, type SpinnerProps } from "./Spinner.js";
|
|
6
|
-
export { StatusBadge, StatusWithLabel, type StatusBadgeProps, } from "./StatusBadge.js";
|
|
7
|
-
export { Table, type TableProps, type Column } from "./Table.js";
|
|
8
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/components/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EACL,WAAW,EACX,eAAe,EACf,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tui/components/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAkC,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,EAAqB,MAAM,cAAc,CAAC;AAC1D,OAAO,EACL,WAAW,EACX,eAAe,GAEhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAgC,MAAM,YAAY,CAAC"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Hook for polling events from the API.
|
|
3
|
-
*/
|
|
4
|
-
import { useState, useEffect, useRef, useCallback } from "react";
|
|
5
|
-
import { fetchEvents } from "../api.js";
|
|
6
|
-
/**
|
|
7
|
-
* Poll for events from a session.
|
|
8
|
-
* Tracks last sequence to fetch only new events.
|
|
9
|
-
*/
|
|
10
|
-
export function useEventStream(baseUrl, sessionId, options) {
|
|
11
|
-
const { enabled, interval = 1000 } = options;
|
|
12
|
-
const [events, setEvents] = useState([]);
|
|
13
|
-
const [loading, setLoading] = useState(true);
|
|
14
|
-
const [error, setError] = useState(null);
|
|
15
|
-
const lastSequenceRef = useRef(0);
|
|
16
|
-
const mountedRef = useRef(true);
|
|
17
|
-
const loadEvents = useCallback(async (incremental) => {
|
|
18
|
-
try {
|
|
19
|
-
const newEvents = await fetchEvents(baseUrl, sessionId, {
|
|
20
|
-
after: incremental ? lastSequenceRef.current : 0,
|
|
21
|
-
limit: 200,
|
|
22
|
-
});
|
|
23
|
-
if (!mountedRef.current)
|
|
24
|
-
return;
|
|
25
|
-
if (newEvents.length > 0) {
|
|
26
|
-
const maxSeq = Math.max(...newEvents.map((e) => e.sequence));
|
|
27
|
-
lastSequenceRef.current = maxSeq;
|
|
28
|
-
if (incremental) {
|
|
29
|
-
setEvents((prev) => [...prev, ...newEvents]);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
setEvents(newEvents);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
setError(null);
|
|
36
|
-
}
|
|
37
|
-
catch (err) {
|
|
38
|
-
if (mountedRef.current) {
|
|
39
|
-
setError(err instanceof Error ? err : new Error(String(err)));
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
finally {
|
|
43
|
-
if (mountedRef.current) {
|
|
44
|
-
setLoading(false);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}, [baseUrl, sessionId]);
|
|
48
|
-
// Initial load
|
|
49
|
-
useEffect(() => {
|
|
50
|
-
mountedRef.current = true;
|
|
51
|
-
lastSequenceRef.current = 0;
|
|
52
|
-
setEvents([]);
|
|
53
|
-
setLoading(true);
|
|
54
|
-
loadEvents(false);
|
|
55
|
-
return () => {
|
|
56
|
-
mountedRef.current = false;
|
|
57
|
-
};
|
|
58
|
-
}, [baseUrl, sessionId, loadEvents]);
|
|
59
|
-
// Polling
|
|
60
|
-
useEffect(() => {
|
|
61
|
-
if (!enabled)
|
|
62
|
-
return;
|
|
63
|
-
const timer = setInterval(() => {
|
|
64
|
-
loadEvents(true);
|
|
65
|
-
}, interval);
|
|
66
|
-
return () => clearInterval(timer);
|
|
67
|
-
}, [enabled, interval, loadEvents]);
|
|
68
|
-
const refresh = useCallback(async () => {
|
|
69
|
-
lastSequenceRef.current = 0;
|
|
70
|
-
setLoading(true);
|
|
71
|
-
await loadEvents(false);
|
|
72
|
-
}, [loadEvents]);
|
|
73
|
-
return { events, loading, error, refresh };
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=useEventStream.js.map
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Hook for polling events from the API.
|
|
3
|
-
*/
|
|
4
|
-
import type { BaseEvent } from "@agent-recorder/core";
|
|
5
|
-
export interface UseEventStreamOptions {
|
|
6
|
-
/** Whether to poll for new events */
|
|
7
|
-
enabled: boolean;
|
|
8
|
-
/** Polling interval in ms (default: 1000) */
|
|
9
|
-
interval?: number;
|
|
10
|
-
}
|
|
11
|
-
export interface UseEventStreamResult {
|
|
12
|
-
events: BaseEvent[];
|
|
13
|
-
loading: boolean;
|
|
14
|
-
error: Error | null;
|
|
15
|
-
refresh: () => Promise<void>;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Poll for events from a session.
|
|
19
|
-
* Tracks last sequence to fetch only new events.
|
|
20
|
-
*/
|
|
21
|
-
export declare function useEventStream(baseUrl: string, sessionId: string, options: UseEventStreamOptions): UseEventStreamResult;
|
|
22
|
-
//# sourceMappingURL=useEventStream.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useEventStream.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useEventStream.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,MAAM,WAAW,qBAAqB;IACpC,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,qBAAqB,GAC7B,oBAAoB,CA4EtB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useEventStream.js","sourceRoot":"","sources":["../../../src/tui/hooks/useEventStream.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Session detail screen with event list and live follow.
|
|
4
|
-
*/
|
|
5
|
-
import React, { useState, useEffect, useCallback } from "react";
|
|
6
|
-
import { Box, Text, useInput } from "ink";
|
|
7
|
-
import { Header, Table, StatusBadge, Spinner, } from "../components/index.js";
|
|
8
|
-
import { fetchSession, fetchEventCount } from "../api.js";
|
|
9
|
-
import { useEventStream } from "../hooks/useEventStream.js";
|
|
10
|
-
const FILTER_OPTIONS = [
|
|
11
|
-
"all",
|
|
12
|
-
"agent_call",
|
|
13
|
-
"subagent_call",
|
|
14
|
-
"skill_call",
|
|
15
|
-
"tool_call",
|
|
16
|
-
];
|
|
17
|
-
/**
|
|
18
|
-
* Format time from ISO string.
|
|
19
|
-
*/
|
|
20
|
-
function formatTime(isoDate) {
|
|
21
|
-
const date = new Date(isoDate);
|
|
22
|
-
return date.toLocaleTimeString("en-US", {
|
|
23
|
-
hour12: false,
|
|
24
|
-
hour: "2-digit",
|
|
25
|
-
minute: "2-digit",
|
|
26
|
-
second: "2-digit",
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Format duration in ms.
|
|
31
|
-
*/
|
|
32
|
-
function formatDurationMs(startedAt, endedAt) {
|
|
33
|
-
if (!endedAt)
|
|
34
|
-
return "--";
|
|
35
|
-
const start = new Date(startedAt).getTime();
|
|
36
|
-
const end = new Date(endedAt).getTime();
|
|
37
|
-
const ms = end - start;
|
|
38
|
-
if (ms < 1000)
|
|
39
|
-
return `${ms}ms`;
|
|
40
|
-
if (ms < 60000)
|
|
41
|
-
return `${(ms / 1000).toFixed(1)}s`;
|
|
42
|
-
return `${Math.floor(ms / 60000)}m`;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Get display name for an event.
|
|
46
|
-
*/
|
|
47
|
-
function getEventName(event) {
|
|
48
|
-
if (event.toolName)
|
|
49
|
-
return event.toolName;
|
|
50
|
-
if (event.skillName)
|
|
51
|
-
return event.skillName;
|
|
52
|
-
if (event.agentName)
|
|
53
|
-
return event.agentName;
|
|
54
|
-
return event.eventType;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Get status symbol.
|
|
58
|
-
*/
|
|
59
|
-
function getStatusSymbol(status) {
|
|
60
|
-
switch (status) {
|
|
61
|
-
case "success":
|
|
62
|
-
return "\u2713";
|
|
63
|
-
case "error":
|
|
64
|
-
return "\u2717";
|
|
65
|
-
case "running":
|
|
66
|
-
return "\u2192";
|
|
67
|
-
case "timeout":
|
|
68
|
-
return "\u23f1";
|
|
69
|
-
default:
|
|
70
|
-
return "?";
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
export function SessionDetailScreen({ baseUrl, sessionId, onBack, onInspectEvent, }) {
|
|
74
|
-
const [session, setSession] = useState(null);
|
|
75
|
-
const [eventCount, setEventCount] = useState(0);
|
|
76
|
-
const [selectedIndex, setSelectedIndex] = useState(0);
|
|
77
|
-
const [filter, setFilter] = useState("all");
|
|
78
|
-
const [followMode, setFollowMode] = useState(true);
|
|
79
|
-
const { events, loading, error, refresh } = useEventStream(baseUrl, sessionId, {
|
|
80
|
-
enabled: followMode,
|
|
81
|
-
interval: 1000,
|
|
82
|
-
});
|
|
83
|
-
// Load session info
|
|
84
|
-
const loadSessionInfo = useCallback(async () => {
|
|
85
|
-
const [sessionData, count] = await Promise.all([
|
|
86
|
-
fetchSession(baseUrl, sessionId),
|
|
87
|
-
fetchEventCount(baseUrl, sessionId),
|
|
88
|
-
]);
|
|
89
|
-
setSession(sessionData);
|
|
90
|
-
setEventCount(count);
|
|
91
|
-
}, [baseUrl, sessionId]);
|
|
92
|
-
useEffect(() => {
|
|
93
|
-
loadSessionInfo();
|
|
94
|
-
const timer = setInterval(loadSessionInfo, 2000);
|
|
95
|
-
return () => clearInterval(timer);
|
|
96
|
-
}, [loadSessionInfo]);
|
|
97
|
-
// Filter events
|
|
98
|
-
const filteredEvents = filter === "all" ? events : events.filter((e) => e.eventType === filter);
|
|
99
|
-
// Auto-scroll to bottom in follow mode
|
|
100
|
-
useEffect(() => {
|
|
101
|
-
if (followMode && filteredEvents.length > 0) {
|
|
102
|
-
setSelectedIndex(filteredEvents.length - 1);
|
|
103
|
-
}
|
|
104
|
-
}, [followMode, filteredEvents.length]);
|
|
105
|
-
// Handle keyboard input
|
|
106
|
-
useInput((input, key) => {
|
|
107
|
-
if (key.escape) {
|
|
108
|
-
onBack();
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
if (input === "f") {
|
|
112
|
-
setFollowMode((prev) => !prev);
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
if (key.tab) {
|
|
116
|
-
const currentIdx = FILTER_OPTIONS.indexOf(filter);
|
|
117
|
-
const nextIdx = (currentIdx + 1) % FILTER_OPTIONS.length;
|
|
118
|
-
const nextFilter = FILTER_OPTIONS[nextIdx];
|
|
119
|
-
if (nextFilter !== undefined) {
|
|
120
|
-
setFilter(nextFilter);
|
|
121
|
-
}
|
|
122
|
-
setSelectedIndex(0);
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
if (input === "r") {
|
|
126
|
-
refresh();
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
if (key.upArrow) {
|
|
130
|
-
setFollowMode(false);
|
|
131
|
-
setSelectedIndex((prev) => Math.max(0, prev - 1));
|
|
132
|
-
}
|
|
133
|
-
else if (key.downArrow) {
|
|
134
|
-
setFollowMode(false);
|
|
135
|
-
setSelectedIndex((prev) => Math.min(filteredEvents.length - 1, prev + 1));
|
|
136
|
-
}
|
|
137
|
-
else if (key.return) {
|
|
138
|
-
const selectedEvent = filteredEvents[selectedIndex];
|
|
139
|
-
if (filteredEvents.length > 0 && selectedEvent) {
|
|
140
|
-
onInspectEvent(selectedEvent);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
// Reset selection when filter changes
|
|
145
|
-
useEffect(() => {
|
|
146
|
-
if (selectedIndex >= filteredEvents.length) {
|
|
147
|
-
setSelectedIndex(Math.max(0, filteredEvents.length - 1));
|
|
148
|
-
}
|
|
149
|
-
}, [filteredEvents.length, selectedIndex]);
|
|
150
|
-
const columns = [
|
|
151
|
-
{
|
|
152
|
-
key: "time",
|
|
153
|
-
header: "Time",
|
|
154
|
-
width: 10,
|
|
155
|
-
render: (row) => _jsx(Text, { dimColor: true, children: formatTime(row.startedAt) }),
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
key: "type",
|
|
159
|
-
header: "Type",
|
|
160
|
-
width: 14,
|
|
161
|
-
render: (row) => _jsx(Text, { children: row.eventType }),
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
key: "name",
|
|
165
|
-
header: "Name",
|
|
166
|
-
width: 20,
|
|
167
|
-
render: (row) => _jsx(Text, { children: getEventName(row).slice(0, 18) }),
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
key: "duration",
|
|
171
|
-
header: "Duration",
|
|
172
|
-
width: 10,
|
|
173
|
-
render: (row) => (_jsx(Text, { dimColor: true, children: formatDurationMs(row.startedAt, row.endedAt) })),
|
|
174
|
-
},
|
|
175
|
-
{
|
|
176
|
-
key: "status",
|
|
177
|
-
header: "Status",
|
|
178
|
-
width: 8,
|
|
179
|
-
render: (row) => (_jsxs(Text, { children: [_jsx(StatusBadge, { status: row.status }), " ", getStatusSymbol(row.status)] })),
|
|
180
|
-
},
|
|
181
|
-
];
|
|
182
|
-
if (error) {
|
|
183
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Header, { title: `Session ${sessionId.slice(0, 12)}...`, hints: [
|
|
184
|
-
{ key: "Esc", label: "back" },
|
|
185
|
-
{ key: "r", label: "retry" },
|
|
186
|
-
] }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "red", children: ["Error: ", error.message] }) })] }));
|
|
187
|
-
}
|
|
188
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { justifyContent: "space-between", children: [_jsxs(Box, { children: [_jsxs(Text, { bold: true, children: ["Session ", sessionId.slice(0, 12), "..."] }), session && (_jsxs(Text, { children: [" ", _jsx(StatusBadge, { status: session.status }), " ", session.status] })), _jsxs(Text, { dimColor: true, children: [" ", "Events: ", eventCount] })] }), _jsxs(Box, { children: [_jsx(Text, { color: "cyan", children: "[Esc]" }), " ", _jsx(Text, { dimColor: true, children: "back" }), " ", _jsx(Text, { color: "cyan", children: "[f]" }), " ", _jsx(Text, { dimColor: true, children: "follow" })] })] }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { dimColor: true, children: "Filter: " }), FILTER_OPTIONS.map((opt) => (_jsxs(Text, { children: [opt === filter ? (_jsxs(Text, { color: "cyan", bold: true, children: ["[", opt, "]"] })) : (_jsx(Text, { dimColor: true, children: opt })), " "] }, opt)))] }), _jsx(Text, { dimColor: true, children: "─".repeat(66) }), _jsx(Box, { marginTop: 1, children: loading && events.length === 0 ? (_jsx(Spinner, { label: "Loading events..." })) : filteredEvents.length === 0 ? (_jsx(Text, { dimColor: true, children: filter === "all" ? "No events recorded" : `No ${filter} events` })) : (_jsx(Table, { columns: columns, data: filteredEvents, selectedIndex: selectedIndex, maxRows: 12 })) }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { dimColor: true, children: ["[\u2191/\u2193] navigate [Enter] inspect [Tab] filter [f] follow:", " ", followMode ? (_jsx(Text, { color: "green", children: "ON" })) : (_jsx(Text, { color: "gray", children: "OFF" }))] }) })] }));
|
|
189
|
-
}
|
|
190
|
-
//# sourceMappingURL=SessionDetailScreen.js.map
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session detail screen with event list and live follow.
|
|
3
|
-
*/
|
|
4
|
-
import React from "react";
|
|
5
|
-
import type { BaseEvent } from "@agent-recorder/core";
|
|
6
|
-
export interface SessionDetailScreenProps {
|
|
7
|
-
baseUrl: string;
|
|
8
|
-
sessionId: string;
|
|
9
|
-
onBack: () => void;
|
|
10
|
-
onInspectEvent: (event: BaseEvent) => void;
|
|
11
|
-
}
|
|
12
|
-
export declare function SessionDetailScreen({ baseUrl, sessionId, onBack, onInspectEvent, }: SessionDetailScreenProps): React.ReactElement;
|
|
13
|
-
//# sourceMappingURL=SessionDetailScreen.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SessionDetailScreen.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/SessionDetailScreen.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAA2C,MAAM,OAAO,CAAC;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,sBAAsB,CAAC;AAYjE,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,cAAc,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CAC5C;AAkED,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,SAAS,EACT,MAAM,EACN,cAAc,GACf,EAAE,wBAAwB,GAAG,KAAK,CAAC,YAAY,CA0N/C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SessionDetailScreen.js","sourceRoot":"","sources":["../../../src/tui/screens/SessionDetailScreen.tsx"],"names":[],"mappings":"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"}
|