@nex-ai/nex 0.1.65 → 0.2.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.
- package/README.md +190 -263
- package/bin/nex-mcp.js +50 -0
- package/bin/nex.js +53 -0
- package/package.json +15 -36
- package/dist/agent/adoption.d.ts +0 -23
- package/dist/agent/adoption.js +0 -87
- package/dist/agent/adoption.js.map +0 -1
- package/dist/agent/gossip.d.ts +0 -17
- package/dist/agent/gossip.js +0 -48
- package/dist/agent/gossip.js.map +0 -1
- package/dist/agent/loop.d.ts +0 -59
- package/dist/agent/loop.js +0 -389
- package/dist/agent/loop.js.map +0 -1
- package/dist/agent/queues.d.ts +0 -16
- package/dist/agent/queues.js +0 -44
- package/dist/agent/queues.js.map +0 -1
- package/dist/agent/session-store.d.ts +0 -21
- package/dist/agent/session-store.js +0 -96
- package/dist/agent/session-store.js.map +0 -1
- package/dist/agent/templates.d.ts +0 -5
- package/dist/agent/templates.js +0 -55
- package/dist/agent/templates.js.map +0 -1
- package/dist/agent/tools.d.ts +0 -25
- package/dist/agent/tools.js +0 -238
- package/dist/agent/tools.js.map +0 -1
- package/dist/agent/types.d.ts +0 -59
- package/dist/agent/types.js +0 -5
- package/dist/agent/types.js.map +0 -1
- package/dist/calendar/scheduler.d.ts +0 -32
- package/dist/calendar/scheduler.js +0 -178
- package/dist/calendar/scheduler.js.map +0 -1
- package/dist/calendar/store.d.ts +0 -15
- package/dist/calendar/store.js +0 -50
- package/dist/calendar/store.js.map +0 -1
- package/dist/calendar/types.d.ts +0 -17
- package/dist/calendar/types.js +0 -5
- package/dist/calendar/types.js.map +0 -1
- package/dist/chat/channel.d.ts +0 -20
- package/dist/chat/channel.js +0 -84
- package/dist/chat/channel.js.map +0 -1
- package/dist/chat/message-store.d.ts +0 -18
- package/dist/chat/message-store.js +0 -82
- package/dist/chat/message-store.js.map +0 -1
- package/dist/chat/router.d.ts +0 -17
- package/dist/chat/router.js +0 -65
- package/dist/chat/router.js.map +0 -1
- package/dist/chat/suggested-responses.d.ts +0 -6
- package/dist/chat/suggested-responses.js +0 -99
- package/dist/chat/suggested-responses.js.map +0 -1
- package/dist/chat/types.d.ts +0 -28
- package/dist/chat/types.js +0 -5
- package/dist/chat/types.js.map +0 -1
- package/dist/cli.d.ts +0 -5
- package/dist/cli.js +0 -20
- package/dist/cli.js.map +0 -1
- package/dist/commands/attribute.d.ts +0 -4
- package/dist/commands/attribute.js +0 -75
- package/dist/commands/attribute.js.map +0 -1
- package/dist/commands/config-cmd.d.ts +0 -4
- package/dist/commands/config-cmd.js +0 -53
- package/dist/commands/config-cmd.js.map +0 -1
- package/dist/commands/context.d.ts +0 -4
- package/dist/commands/context.js +0 -167
- package/dist/commands/context.js.map +0 -1
- package/dist/commands/dispatch.d.ts +0 -44
- package/dist/commands/dispatch.js +0 -1544
- package/dist/commands/dispatch.js.map +0 -1
- package/dist/commands/graph.d.ts +0 -5
- package/dist/commands/graph.js +0 -77
- package/dist/commands/graph.js.map +0 -1
- package/dist/commands/init.d.ts +0 -49
- package/dist/commands/init.js +0 -319
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/insight.d.ts +0 -4
- package/dist/commands/insight.js +0 -39
- package/dist/commands/insight.js.map +0 -1
- package/dist/commands/integrate.d.ts +0 -4
- package/dist/commands/integrate.js +0 -361
- package/dist/commands/integrate.js.map +0 -1
- package/dist/commands/list-job.d.ts +0 -4
- package/dist/commands/list-job.js +0 -41
- package/dist/commands/list-job.js.map +0 -1
- package/dist/commands/list.d.ts +0 -4
- package/dist/commands/list.js +0 -148
- package/dist/commands/list.js.map +0 -1
- package/dist/commands/note.d.ts +0 -4
- package/dist/commands/note.js +0 -77
- package/dist/commands/note.js.map +0 -1
- package/dist/commands/object.d.ts +0 -4
- package/dist/commands/object.js +0 -78
- package/dist/commands/object.js.map +0 -1
- package/dist/commands/parse-input.d.ts +0 -5
- package/dist/commands/parse-input.js +0 -37
- package/dist/commands/parse-input.js.map +0 -1
- package/dist/commands/record.d.ts +0 -4
- package/dist/commands/record.js +0 -126
- package/dist/commands/record.js.map +0 -1
- package/dist/commands/register.d.ts +0 -4
- package/dist/commands/register.js +0 -23
- package/dist/commands/register.js.map +0 -1
- package/dist/commands/relationship.d.ts +0 -4
- package/dist/commands/relationship.js +0 -80
- package/dist/commands/relationship.js.map +0 -1
- package/dist/commands/scan.d.ts +0 -4
- package/dist/commands/scan.js +0 -111
- package/dist/commands/scan.js.map +0 -1
- package/dist/commands/search.d.ts +0 -4
- package/dist/commands/search.js +0 -62
- package/dist/commands/search.js.map +0 -1
- package/dist/commands/session.d.ts +0 -4
- package/dist/commands/session.js +0 -31
- package/dist/commands/session.js.map +0 -1
- package/dist/commands/setup.d.ts +0 -25
- package/dist/commands/setup.js +0 -584
- package/dist/commands/setup.js.map +0 -1
- package/dist/commands/task.d.ts +0 -4
- package/dist/commands/task.js +0 -140
- package/dist/commands/task.js.map +0 -1
- package/dist/commands/workspace.d.ts +0 -8
- package/dist/commands/workspace.js +0 -251
- package/dist/commands/workspace.js.map +0 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.js +0 -142
- package/dist/index.js.map +0 -1
- package/dist/lib/capture-filter.d.ts +0 -9
- package/dist/lib/capture-filter.js +0 -14
- package/dist/lib/capture-filter.js.map +0 -1
- package/dist/lib/client.d.ts +0 -20
- package/dist/lib/client.js +0 -160
- package/dist/lib/client.js.map +0 -1
- package/dist/lib/compounding-worker.d.ts +0 -2
- package/dist/lib/compounding-worker.js +0 -21
- package/dist/lib/compounding-worker.js.map +0 -1
- package/dist/lib/compounding.d.ts +0 -20
- package/dist/lib/compounding.js +0 -45
- package/dist/lib/compounding.js.map +0 -1
- package/dist/lib/config.d.ts +0 -35
- package/dist/lib/config.js +0 -96
- package/dist/lib/config.js.map +0 -1
- package/dist/lib/context-format.d.ts +0 -7
- package/dist/lib/context-format.js +0 -21
- package/dist/lib/context-format.js.map +0 -1
- package/dist/lib/errors.d.ts +0 -18
- package/dist/lib/errors.js +0 -30
- package/dist/lib/errors.js.map +0 -1
- package/dist/lib/file-scanner.d.ts +0 -38
- package/dist/lib/file-scanner.js +0 -188
- package/dist/lib/file-scanner.js.map +0 -1
- package/dist/lib/graph-html.d.ts +0 -59
- package/dist/lib/graph-html.js +0 -859
- package/dist/lib/graph-html.js.map +0 -1
- package/dist/lib/installers.d.ts +0 -80
- package/dist/lib/installers.js +0 -602
- package/dist/lib/installers.js.map +0 -1
- package/dist/lib/integrations.d.ts +0 -23
- package/dist/lib/integrations.js +0 -25
- package/dist/lib/integrations.js.map +0 -1
- package/dist/lib/output.d.ts +0 -7
- package/dist/lib/output.js +0 -70
- package/dist/lib/output.js.map +0 -1
- package/dist/lib/platform-detect.d.ts +0 -23
- package/dist/lib/platform-detect.js +0 -359
- package/dist/lib/platform-detect.js.map +0 -1
- package/dist/lib/project-config.d.ts +0 -53
- package/dist/lib/project-config.js +0 -151
- package/dist/lib/project-config.js.map +0 -1
- package/dist/lib/prompt.d.ts +0 -15
- package/dist/lib/prompt.js +0 -213
- package/dist/lib/prompt.js.map +0 -1
- package/dist/lib/rate-limiter.d.ts +0 -13
- package/dist/lib/rate-limiter.js +0 -49
- package/dist/lib/rate-limiter.js.map +0 -1
- package/dist/lib/recall-filter.d.ts +0 -5
- package/dist/lib/recall-filter.js +0 -24
- package/dist/lib/recall-filter.js.map +0 -1
- package/dist/lib/session-store.d.ts +0 -15
- package/dist/lib/session-store.js +0 -62
- package/dist/lib/session-store.js.map +0 -1
- package/dist/lib/tui.d.ts +0 -57
- package/dist/lib/tui.js +0 -247
- package/dist/lib/tui.js.map +0 -1
- package/dist/lib/workspace-registry.d.ts +0 -47
- package/dist/lib/workspace-registry.js +0 -240
- package/dist/lib/workspace-registry.js.map +0 -1
- package/dist/mcp/channel.d.ts +0 -24
- package/dist/mcp/channel.js +0 -198
- package/dist/mcp/channel.js.map +0 -1
- package/dist/mcp/client.d.ts +0 -20
- package/dist/mcp/client.js +0 -131
- package/dist/mcp/client.js.map +0 -1
- package/dist/mcp/config.d.ts +0 -19
- package/dist/mcp/config.js +0 -48
- package/dist/mcp/config.js.map +0 -1
- package/dist/mcp/context-files.d.ts +0 -9
- package/dist/mcp/context-files.js +0 -90
- package/dist/mcp/context-files.js.map +0 -1
- package/dist/mcp/file-manifest.d.ts +0 -27
- package/dist/mcp/file-manifest.js +0 -68
- package/dist/mcp/file-manifest.js.map +0 -1
- package/dist/mcp/file-scanner.d.ts +0 -17
- package/dist/mcp/file-scanner.js +0 -77
- package/dist/mcp/file-scanner.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -2
- package/dist/mcp/index.js +0 -51
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/rate-limiter.d.ts +0 -14
- package/dist/mcp/rate-limiter.js +0 -60
- package/dist/mcp/rate-limiter.js.map +0 -1
- package/dist/mcp/server.d.ts +0 -6
- package/dist/mcp/server.js +0 -44
- package/dist/mcp/server.js.map +0 -1
- package/dist/mcp/session-store.d.ts +0 -16
- package/dist/mcp/session-store.js +0 -70
- package/dist/mcp/session-store.js.map +0 -1
- package/dist/mcp/tools/context.d.ts +0 -3
- package/dist/mcp/tools/context.js +0 -65
- package/dist/mcp/tools/context.js.map +0 -1
- package/dist/mcp/tools/insights.d.ts +0 -3
- package/dist/mcp/tools/insights.js +0 -24
- package/dist/mcp/tools/insights.js.map +0 -1
- package/dist/mcp/tools/integrations.d.ts +0 -3
- package/dist/mcp/tools/integrations.js +0 -27
- package/dist/mcp/tools/integrations.js.map +0 -1
- package/dist/mcp/tools/lists.d.ts +0 -3
- package/dist/mcp/tools/lists.js +0 -101
- package/dist/mcp/tools/lists.js.map +0 -1
- package/dist/mcp/tools/notes.d.ts +0 -3
- package/dist/mcp/tools/notes.js +0 -52
- package/dist/mcp/tools/notes.js.map +0 -1
- package/dist/mcp/tools/notifications.d.ts +0 -3
- package/dist/mcp/tools/notifications.js +0 -53
- package/dist/mcp/tools/notifications.js.map +0 -1
- package/dist/mcp/tools/records.d.ts +0 -3
- package/dist/mcp/tools/records.js +0 -74
- package/dist/mcp/tools/records.js.map +0 -1
- package/dist/mcp/tools/register.d.ts +0 -3
- package/dist/mcp/tools/register.js +0 -41
- package/dist/mcp/tools/register.js.map +0 -1
- package/dist/mcp/tools/relationships.d.ts +0 -3
- package/dist/mcp/tools/relationships.js +0 -47
- package/dist/mcp/tools/relationships.js.map +0 -1
- package/dist/mcp/tools/scan.d.ts +0 -3
- package/dist/mcp/tools/scan.js +0 -37
- package/dist/mcp/tools/scan.js.map +0 -1
- package/dist/mcp/tools/schema.d.ts +0 -3
- package/dist/mcp/tools/schema.js +0 -108
- package/dist/mcp/tools/schema.js.map +0 -1
- package/dist/mcp/tools/search.d.ts +0 -3
- package/dist/mcp/tools/search.js +0 -8
- package/dist/mcp/tools/search.js.map +0 -1
- package/dist/mcp/tools/tasks.d.ts +0 -3
- package/dist/mcp/tools/tasks.js +0 -88
- package/dist/mcp/tools/tasks.js.map +0 -1
- package/dist/mcp/workspace-data-dir.d.ts +0 -2
- package/dist/mcp/workspace-data-dir.js +0 -28
- package/dist/mcp/workspace-data-dir.js.map +0 -1
- package/dist/orchestration/budget.d.ts +0 -32
- package/dist/orchestration/budget.js +0 -72
- package/dist/orchestration/budget.js.map +0 -1
- package/dist/orchestration/executor.d.ts +0 -59
- package/dist/orchestration/executor.js +0 -197
- package/dist/orchestration/executor.js.map +0 -1
- package/dist/orchestration/router.d.ts +0 -30
- package/dist/orchestration/router.js +0 -98
- package/dist/orchestration/router.js.map +0 -1
- package/dist/orchestration/templates.d.ts +0 -11
- package/dist/orchestration/templates.js +0 -99
- package/dist/orchestration/templates.js.map +0 -1
- package/dist/orchestration/types.d.ts +0 -58
- package/dist/orchestration/types.js +0 -7
- package/dist/orchestration/types.js.map +0 -1
- package/dist/plugin/auto-capture.d.ts +0 -11
- package/dist/plugin/auto-capture.js +0 -135
- package/dist/plugin/auto-capture.js.map +0 -1
- package/dist/plugin/auto-recall-worker.d.ts +0 -2
- package/dist/plugin/auto-recall-worker.js +0 -74
- package/dist/plugin/auto-recall-worker.js.map +0 -1
- package/dist/plugin/auto-recall.d.ts +0 -11
- package/dist/plugin/auto-recall.js +0 -186
- package/dist/plugin/auto-recall.js.map +0 -1
- package/dist/plugin/auto-register.d.ts +0 -10
- package/dist/plugin/auto-register.js +0 -81
- package/dist/plugin/auto-register.js.map +0 -1
- package/dist/plugin/auto-scan.d.ts +0 -10
- package/dist/plugin/auto-scan.js +0 -54
- package/dist/plugin/auto-scan.js.map +0 -1
- package/dist/plugin/auto-session-start.d.ts +0 -14
- package/dist/plugin/auto-session-start.js +0 -156
- package/dist/plugin/auto-session-start.js.map +0 -1
- package/dist/plugin/capture-filter.d.ts +0 -21
- package/dist/plugin/capture-filter.js +0 -32
- package/dist/plugin/capture-filter.js.map +0 -1
- package/dist/plugin/config.d.ts +0 -61
- package/dist/plugin/config.js +0 -182
- package/dist/plugin/config.js.map +0 -1
- package/dist/plugin/context-files.d.ts +0 -23
- package/dist/plugin/context-files.js +0 -103
- package/dist/plugin/context-files.js.map +0 -1
- package/dist/plugin/context-format.d.ts +0 -18
- package/dist/plugin/context-format.js +0 -34
- package/dist/plugin/context-format.js.map +0 -1
- package/dist/plugin/file-manifest.d.ts +0 -27
- package/dist/plugin/file-manifest.js +0 -68
- package/dist/plugin/file-manifest.js.map +0 -1
- package/dist/plugin/file-scanner.d.ts +0 -19
- package/dist/plugin/file-scanner.js +0 -90
- package/dist/plugin/file-scanner.js.map +0 -1
- package/dist/plugin/nex-client.d.ts +0 -50
- package/dist/plugin/nex-client.js +0 -129
- package/dist/plugin/nex-client.js.map +0 -1
- package/dist/plugin/rate-limiter.d.ts +0 -26
- package/dist/plugin/rate-limiter.js +0 -65
- package/dist/plugin/rate-limiter.js.map +0 -1
- package/dist/plugin/recall-cache.d.ts +0 -41
- package/dist/plugin/recall-cache.js +0 -195
- package/dist/plugin/recall-cache.js.map +0 -1
- package/dist/plugin/recall-filter.d.ts +0 -13
- package/dist/plugin/recall-filter.js +0 -39
- package/dist/plugin/recall-filter.js.map +0 -1
- package/dist/plugin/session-store.d.ts +0 -23
- package/dist/plugin/session-store.js +0 -73
- package/dist/plugin/session-store.js.map +0 -1
- package/dist/plugin/workspace-data-dir.d.ts +0 -2
- package/dist/plugin/workspace-data-dir.js +0 -31
- package/dist/plugin/workspace-data-dir.js.map +0 -1
- package/dist/tui/agent-colors.d.ts +0 -19
- package/dist/tui/agent-colors.js +0 -34
- package/dist/tui/agent-colors.js.map +0 -1
- package/dist/tui/app.d.ts +0 -14
- package/dist/tui/app.js +0 -181
- package/dist/tui/app.js.map +0 -1
- package/dist/tui/channel-colors.d.ts +0 -16
- package/dist/tui/channel-colors.js +0 -43
- package/dist/tui/channel-colors.js.map +0 -1
- package/dist/tui/components/agent-card.d.ts +0 -11
- package/dist/tui/components/agent-card.js +0 -40
- package/dist/tui/components/agent-card.js.map +0 -1
- package/dist/tui/components/banner.d.ts +0 -44
- package/dist/tui/components/banner.js +0 -130
- package/dist/tui/components/banner.js.map +0 -1
- package/dist/tui/components/channel-colors.d.ts +0 -21
- package/dist/tui/components/channel-colors.js +0 -53
- package/dist/tui/components/channel-colors.js.map +0 -1
- package/dist/tui/components/channel-message.d.ts +0 -53
- package/dist/tui/components/channel-message.js +0 -66
- package/dist/tui/components/channel-message.js.map +0 -1
- package/dist/tui/components/chat-input.d.ts +0 -11
- package/dist/tui/components/chat-input.js +0 -19
- package/dist/tui/components/chat-input.js.map +0 -1
- package/dist/tui/components/data-table.d.ts +0 -11
- package/dist/tui/components/data-table.js +0 -47
- package/dist/tui/components/data-table.js.map +0 -1
- package/dist/tui/components/error-box.d.ts +0 -11
- package/dist/tui/components/error-box.js +0 -59
- package/dist/tui/components/error-box.js.map +0 -1
- package/dist/tui/components/help-screen.d.ts +0 -3
- package/dist/tui/components/help-screen.js +0 -63
- package/dist/tui/components/help-screen.js.map +0 -1
- package/dist/tui/components/index.d.ts +0 -17
- package/dist/tui/components/index.js +0 -10
- package/dist/tui/components/index.js.map +0 -1
- package/dist/tui/components/inline-confirm.d.ts +0 -14
- package/dist/tui/components/inline-confirm.js +0 -13
- package/dist/tui/components/inline-confirm.js.map +0 -1
- package/dist/tui/components/inline-select.d.ts +0 -21
- package/dist/tui/components/inline-select.js +0 -20
- package/dist/tui/components/inline-select.js.map +0 -1
- package/dist/tui/components/markdown.d.ts +0 -6
- package/dist/tui/components/markdown.js +0 -179
- package/dist/tui/components/markdown.js.map +0 -1
- package/dist/tui/components/mention-autocomplete.d.ts +0 -79
- package/dist/tui/components/mention-autocomplete.js +0 -250
- package/dist/tui/components/mention-autocomplete.js.map +0 -1
- package/dist/tui/components/message-list.d.ts +0 -18
- package/dist/tui/components/message-list.js +0 -29
- package/dist/tui/components/message-list.js.map +0 -1
- package/dist/tui/components/picker.d.ts +0 -16
- package/dist/tui/components/picker.js +0 -32
- package/dist/tui/components/picker.js.map +0 -1
- package/dist/tui/components/progress-steps.d.ts +0 -13
- package/dist/tui/components/progress-steps.js +0 -21
- package/dist/tui/components/progress-steps.js.map +0 -1
- package/dist/tui/components/slack/compose.d.ts +0 -27
- package/dist/tui/components/slack/compose.js +0 -147
- package/dist/tui/components/slack/compose.js.map +0 -1
- package/dist/tui/components/slack/layout.d.ts +0 -36
- package/dist/tui/components/slack/layout.js +0 -96
- package/dist/tui/components/slack/layout.js.map +0 -1
- package/dist/tui/components/slack/messages.d.ts +0 -72
- package/dist/tui/components/slack/messages.js +0 -177
- package/dist/tui/components/slack/messages.js.map +0 -1
- package/dist/tui/components/slack/quick-switcher.d.ts +0 -33
- package/dist/tui/components/slack/quick-switcher.js +0 -98
- package/dist/tui/components/slack/quick-switcher.js.map +0 -1
- package/dist/tui/components/slack/sidebar-types.d.ts +0 -65
- package/dist/tui/components/slack/sidebar-types.js +0 -7
- package/dist/tui/components/slack/sidebar-types.js.map +0 -1
- package/dist/tui/components/slack/sidebar.d.ts +0 -46
- package/dist/tui/components/slack/sidebar.js +0 -52
- package/dist/tui/components/slack/sidebar.js.map +0 -1
- package/dist/tui/components/slack/thread-panel.d.ts +0 -45
- package/dist/tui/components/slack/thread-panel.js +0 -47
- package/dist/tui/components/slack/thread-panel.js.map +0 -1
- package/dist/tui/components/slash-autocomplete.d.ts +0 -83
- package/dist/tui/components/slash-autocomplete.js +0 -233
- package/dist/tui/components/slash-autocomplete.js.map +0 -1
- package/dist/tui/components/spinner.d.ts +0 -17
- package/dist/tui/components/spinner.js +0 -30
- package/dist/tui/components/spinner.js.map +0 -1
- package/dist/tui/components/status-bar.d.ts +0 -23
- package/dist/tui/components/status-bar.js +0 -55
- package/dist/tui/components/status-bar.js.map +0 -1
- package/dist/tui/components/success-box.d.ts +0 -7
- package/dist/tui/components/success-box.js +0 -10
- package/dist/tui/components/success-box.js.map +0 -1
- package/dist/tui/components/tool-indicator.d.ts +0 -12
- package/dist/tui/components/tool-indicator.js +0 -18
- package/dist/tui/components/tool-indicator.js.map +0 -1
- package/dist/tui/components/viewport.d.ts +0 -9
- package/dist/tui/components/viewport.js +0 -24
- package/dist/tui/components/viewport.js.map +0 -1
- package/dist/tui/generative/bindings.d.ts +0 -27
- package/dist/tui/generative/bindings.js +0 -152
- package/dist/tui/generative/bindings.js.map +0 -1
- package/dist/tui/generative/registry.d.ts +0 -19
- package/dist/tui/generative/registry.js +0 -31
- package/dist/tui/generative/registry.js.map +0 -1
- package/dist/tui/generative/renderer.d.ts +0 -24
- package/dist/tui/generative/renderer.js +0 -160
- package/dist/tui/generative/renderer.js.map +0 -1
- package/dist/tui/generative/types.d.ts +0 -68
- package/dist/tui/generative/types.js +0 -7
- package/dist/tui/generative/types.js.map +0 -1
- package/dist/tui/hooks/use-cancellable.d.ts +0 -28
- package/dist/tui/hooks/use-cancellable.js +0 -51
- package/dist/tui/hooks/use-cancellable.js.map +0 -1
- package/dist/tui/hooks/use-streaming.d.ts +0 -44
- package/dist/tui/hooks/use-streaming.js +0 -105
- package/dist/tui/hooks/use-streaming.js.map +0 -1
- package/dist/tui/index.d.ts +0 -4
- package/dist/tui/index.js +0 -7
- package/dist/tui/index.js.map +0 -1
- package/dist/tui/keybindings.d.ts +0 -25
- package/dist/tui/keybindings.js +0 -277
- package/dist/tui/keybindings.js.map +0 -1
- package/dist/tui/register-views.d.ts +0 -8
- package/dist/tui/register-views.js +0 -122
- package/dist/tui/register-views.js.map +0 -1
- package/dist/tui/router.d.ts +0 -29
- package/dist/tui/router.js +0 -87
- package/dist/tui/router.js.map +0 -1
- package/dist/tui/services/agent-service.d.ts +0 -58
- package/dist/tui/services/agent-service.js +0 -197
- package/dist/tui/services/agent-service.js.map +0 -1
- package/dist/tui/services/calendar-service.d.ts +0 -31
- package/dist/tui/services/calendar-service.js +0 -133
- package/dist/tui/services/calendar-service.js.map +0 -1
- package/dist/tui/services/chat-service.d.ts +0 -28
- package/dist/tui/services/chat-service.js +0 -91
- package/dist/tui/services/chat-service.js.map +0 -1
- package/dist/tui/services/orchestration-service.d.ts +0 -42
- package/dist/tui/services/orchestration-service.js +0 -153
- package/dist/tui/services/orchestration-service.js.map +0 -1
- package/dist/tui/slash-commands.d.ts +0 -106
- package/dist/tui/slash-commands.js +0 -1421
- package/dist/tui/slash-commands.js.map +0 -1
- package/dist/tui/store.d.ts +0 -96
- package/dist/tui/store.js +0 -120
- package/dist/tui/store.js.map +0 -1
- package/dist/tui/theme.d.ts +0 -40
- package/dist/tui/theme.js +0 -39
- package/dist/tui/theme.js.map +0 -1
- package/dist/tui/tui-context.d.ts +0 -22
- package/dist/tui/tui-context.js +0 -17
- package/dist/tui/tui-context.js.map +0 -1
- package/dist/tui/views/agent-list.d.ts +0 -8
- package/dist/tui/views/agent-list.js +0 -11
- package/dist/tui/views/agent-list.js.map +0 -1
- package/dist/tui/views/ask-chat.d.ts +0 -9
- package/dist/tui/views/ask-chat.js +0 -40
- package/dist/tui/views/ask-chat.js.map +0 -1
- package/dist/tui/views/calendar.d.ts +0 -15
- package/dist/tui/views/calendar.js +0 -29
- package/dist/tui/views/calendar.js.map +0 -1
- package/dist/tui/views/chat.d.ts +0 -18
- package/dist/tui/views/chat.js +0 -28
- package/dist/tui/views/chat.js.map +0 -1
- package/dist/tui/views/generative.d.ts +0 -14
- package/dist/tui/views/generative.js +0 -37
- package/dist/tui/views/generative.js.map +0 -1
- package/dist/tui/views/help.d.ts +0 -6
- package/dist/tui/views/help.js +0 -9
- package/dist/tui/views/help.js.map +0 -1
- package/dist/tui/views/home-screen.d.ts +0 -67
- package/dist/tui/views/home-screen.js +0 -192
- package/dist/tui/views/home-screen.js.map +0 -1
- package/dist/tui/views/home.d.ts +0 -33
- package/dist/tui/views/home.js +0 -60
- package/dist/tui/views/home.js.map +0 -1
- package/dist/tui/views/index.d.ts +0 -20
- package/dist/tui/views/index.js +0 -11
- package/dist/tui/views/index.js.map +0 -1
- package/dist/tui/views/insights.d.ts +0 -19
- package/dist/tui/views/insights.js +0 -46
- package/dist/tui/views/insights.js.map +0 -1
- package/dist/tui/views/orchestration.d.ts +0 -18
- package/dist/tui/views/orchestration.js +0 -73
- package/dist/tui/views/orchestration.js.map +0 -1
- package/dist/tui/views/record-detail.d.ts +0 -10
- package/dist/tui/views/record-detail.js +0 -22
- package/dist/tui/views/record-detail.js.map +0 -1
- package/dist/tui/views/record-list.d.ts +0 -15
- package/dist/tui/views/record-list.js +0 -22
- package/dist/tui/views/record-list.js.map +0 -1
- package/dist/tui/views/slack-channel-header.d.ts +0 -15
- package/dist/tui/views/slack-channel-header.js +0 -16
- package/dist/tui/views/slack-channel-header.js.map +0 -1
- package/dist/tui/views/slack-home.d.ts +0 -21
- package/dist/tui/views/slack-home.js +0 -572
- package/dist/tui/views/slack-home.js.map +0 -1
- package/dist/tui/views/stream.d.ts +0 -16
- package/dist/tui/views/stream.js +0 -210
- package/dist/tui/views/stream.js.map +0 -1
- package/dist/tui/views/task-board.d.ts +0 -21
- package/dist/tui/views/task-board.js +0 -33
- package/dist/tui/views/task-board.js.map +0 -1
- package/dist/tui/views/timeline.d.ts +0 -17
- package/dist/tui/views/timeline.js +0 -24
- package/dist/tui/views/timeline.js.map +0 -1
package/dist/tui/app.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Persistent channel color assignment.
|
|
3
|
-
*
|
|
4
|
-
* Well-known channels get fixed colors matching the spec.
|
|
5
|
-
* Unknown channels cycle through the palette like agent-colors.ts.
|
|
6
|
-
*/
|
|
7
|
-
declare const CHANNEL_PALETTE: readonly ["cyan", "green", "yellow", "magenta", "blue", "red"];
|
|
8
|
-
export type ChannelColor = typeof CHANNEL_PALETTE[number];
|
|
9
|
-
/**
|
|
10
|
-
* Return the colour assigned to a channel name, assigning a new one on first
|
|
11
|
-
* encounter. Well-known names get fixed colors; others cycle the palette.
|
|
12
|
-
*/
|
|
13
|
-
export declare function getChannelColor(channelName: string): ChannelColor;
|
|
14
|
-
/** Reset all assignments (useful in tests). */
|
|
15
|
-
export declare function resetChannelColors(): void;
|
|
16
|
-
export {};
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Persistent channel color assignment.
|
|
3
|
-
*
|
|
4
|
-
* Well-known channels get fixed colors matching the spec.
|
|
5
|
-
* Unknown channels cycle through the palette like agent-colors.ts.
|
|
6
|
-
*/
|
|
7
|
-
const CHANNEL_PALETTE = ['cyan', 'green', 'yellow', 'magenta', 'blue', 'red'];
|
|
8
|
-
/** Well-known channel → color mapping. */
|
|
9
|
-
const WELL_KNOWN = {
|
|
10
|
-
general: 'cyan',
|
|
11
|
-
leads: 'green',
|
|
12
|
-
seo: 'yellow',
|
|
13
|
-
support: 'magenta',
|
|
14
|
-
marketing: 'blue',
|
|
15
|
-
alerts: 'red',
|
|
16
|
-
};
|
|
17
|
-
// Module-level state so colours persist across renders.
|
|
18
|
-
const colorMap = new Map();
|
|
19
|
-
let nextIdx = 0;
|
|
20
|
-
/**
|
|
21
|
-
* Return the colour assigned to a channel name, assigning a new one on first
|
|
22
|
-
* encounter. Well-known names get fixed colors; others cycle the palette.
|
|
23
|
-
*/
|
|
24
|
-
export function getChannelColor(channelName) {
|
|
25
|
-
const existing = colorMap.get(channelName);
|
|
26
|
-
if (existing !== undefined)
|
|
27
|
-
return existing;
|
|
28
|
-
const wellKnown = WELL_KNOWN[channelName.toLowerCase()];
|
|
29
|
-
if (wellKnown) {
|
|
30
|
-
colorMap.set(channelName, wellKnown);
|
|
31
|
-
return wellKnown;
|
|
32
|
-
}
|
|
33
|
-
const color = CHANNEL_PALETTE[nextIdx % CHANNEL_PALETTE.length];
|
|
34
|
-
colorMap.set(channelName, color);
|
|
35
|
-
nextIdx++;
|
|
36
|
-
return color;
|
|
37
|
-
}
|
|
38
|
-
/** Reset all assignments (useful in tests). */
|
|
39
|
-
export function resetChannelColors() {
|
|
40
|
-
colorMap.clear();
|
|
41
|
-
nextIdx = 0;
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=channel-colors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"channel-colors.js","sourceRoot":"","sources":["../../src/tui/channel-colors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAU,CAAC;AAGvF,0CAA0C;AAC1C,MAAM,UAAU,GAAiC;IAC/C,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,QAAQ;IACb,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE,KAAK;CACd,CAAC;AAEF,wDAAwD;AACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;AACjD,IAAI,OAAO,GAAG,CAAC,CAAC;AAEhB;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAE5C,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IACxD,IAAI,SAAS,EAAE,CAAC;QACd,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAChE,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC;IACV,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,kBAAkB;IAChC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,OAAO,GAAG,CAAC,CAAC;AACd,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export type AgentStatus = "idle" | "running" | "error" | "stopped";
|
|
3
|
-
export interface AgentCardProps {
|
|
4
|
-
name: string;
|
|
5
|
-
status: AgentStatus;
|
|
6
|
-
expertise?: string;
|
|
7
|
-
lastHeartbeat?: number;
|
|
8
|
-
nextHeartbeat?: number;
|
|
9
|
-
}
|
|
10
|
-
export declare function AgentCard({ name, status, expertise, lastHeartbeat, nextHeartbeat, }: AgentCardProps): React.JSX.Element;
|
|
11
|
-
export default AgentCard;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Box, Text } from "ink";
|
|
3
|
-
// --- Helpers ---
|
|
4
|
-
const STATUS_CONFIG = {
|
|
5
|
-
idle: { dot: "\u25CB", color: "gray" },
|
|
6
|
-
running: { dot: "\u25CF", color: "green" },
|
|
7
|
-
error: { dot: "\u25CF", color: "red" },
|
|
8
|
-
stopped: { dot: "\u25CF", color: "yellow" },
|
|
9
|
-
};
|
|
10
|
-
function timeAgo(ts) {
|
|
11
|
-
const diff = Date.now() - ts;
|
|
12
|
-
const secs = Math.floor(diff / 1000);
|
|
13
|
-
if (secs < 60)
|
|
14
|
-
return `${secs}s ago`;
|
|
15
|
-
const mins = Math.floor(secs / 60);
|
|
16
|
-
if (mins < 60)
|
|
17
|
-
return `${mins}m ago`;
|
|
18
|
-
const hrs = Math.floor(mins / 60);
|
|
19
|
-
return `${hrs}h ago`;
|
|
20
|
-
}
|
|
21
|
-
function timeUntil(ts) {
|
|
22
|
-
const diff = ts - Date.now();
|
|
23
|
-
if (diff <= 0)
|
|
24
|
-
return "now";
|
|
25
|
-
const secs = Math.floor(diff / 1000);
|
|
26
|
-
if (secs < 60)
|
|
27
|
-
return `in ${secs}s`;
|
|
28
|
-
const mins = Math.floor(secs / 60);
|
|
29
|
-
if (mins < 60)
|
|
30
|
-
return `in ${mins}m`;
|
|
31
|
-
const hrs = Math.floor(mins / 60);
|
|
32
|
-
return `in ${hrs}h`;
|
|
33
|
-
}
|
|
34
|
-
// --- Component ---
|
|
35
|
-
export function AgentCard({ name, status, expertise, lastHeartbeat, nextHeartbeat, }) {
|
|
36
|
-
const cfg = STATUS_CONFIG[status];
|
|
37
|
-
return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: cfg.color, paddingX: 1, minWidth: 28, children: [_jsxs(Box, { children: [_jsx(Text, { color: cfg.color, children: cfg.dot }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: name }), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: `(${status})` })] }), expertise && (_jsxs(Box, { marginTop: 0, children: [_jsx(Text, { dimColor: true, children: "skill: " }), _jsx(Text, { color: "cyan", children: expertise })] })), lastHeartbeat !== undefined && (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "last: " }), _jsx(Text, { children: timeAgo(lastHeartbeat) })] })), nextHeartbeat !== undefined && (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "next: " }), _jsx(Text, { children: timeUntil(nextHeartbeat) })] }))] }));
|
|
38
|
-
}
|
|
39
|
-
export default AgentCard;
|
|
40
|
-
//# sourceMappingURL=agent-card.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-card.js","sourceRoot":"","sources":["../../../src/tui/components/agent-card.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Animated ASCII banner — procedurally generated header matching the Go CLI.
|
|
3
|
-
*
|
|
4
|
-
* Features:
|
|
5
|
-
* - Flowing line patterns with dots/connectors (─●───○──)
|
|
6
|
-
* - "nex · powered by nex.ai" centered
|
|
7
|
-
* - Regenerates on interval (default: every 3 seconds)
|
|
8
|
-
* - Colors: cyan ("NexBlue") for "nex", muted for rest
|
|
9
|
-
* - ~6 lines tall, responsive to terminal width
|
|
10
|
-
*/
|
|
11
|
-
import React from "react";
|
|
12
|
-
/**
|
|
13
|
-
* Build one decorative line of exactly `width` characters.
|
|
14
|
-
* The line is a random mix of horizontal segments, dots, and connectors
|
|
15
|
-
* that gives the flowing "─●───○──" look.
|
|
16
|
-
*/
|
|
17
|
-
export declare function generateLine(width: number, seed?: number): string;
|
|
18
|
-
/**
|
|
19
|
-
* Build a centered brand line within `width` columns.
|
|
20
|
-
* Returns segments for colorized rendering.
|
|
21
|
-
*/
|
|
22
|
-
export interface BrandSegment {
|
|
23
|
-
text: string;
|
|
24
|
-
type: "brand" | "muted" | "line";
|
|
25
|
-
}
|
|
26
|
-
export declare function buildBrandLine(width: number, seed?: number): BrandSegment[];
|
|
27
|
-
/**
|
|
28
|
-
* Generate the full banner frame — an array of line data.
|
|
29
|
-
* Each entry is either "decorative" (a flowing line) or "brand" (the centered text line).
|
|
30
|
-
*/
|
|
31
|
-
export interface BannerFrame {
|
|
32
|
-
lines: Array<{
|
|
33
|
-
segments: BrandSegment[];
|
|
34
|
-
}>;
|
|
35
|
-
}
|
|
36
|
-
export declare function generateBannerFrame(width: number, seed?: number): BannerFrame;
|
|
37
|
-
export interface BannerProps {
|
|
38
|
-
/** Override terminal width (for testing or fixed layouts) */
|
|
39
|
-
width?: number;
|
|
40
|
-
/** Regeneration interval in ms. Default 3000. Set 0 to disable animation. */
|
|
41
|
-
interval?: number;
|
|
42
|
-
}
|
|
43
|
-
export declare function Banner({ width: widthProp, interval }: BannerProps): React.JSX.Element;
|
|
44
|
-
export default Banner;
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Animated ASCII banner — procedurally generated header matching the Go CLI.
|
|
4
|
-
*
|
|
5
|
-
* Features:
|
|
6
|
-
* - Flowing line patterns with dots/connectors (─●───○──)
|
|
7
|
-
* - "nex · powered by nex.ai" centered
|
|
8
|
-
* - Regenerates on interval (default: every 3 seconds)
|
|
9
|
-
* - Colors: cyan ("NexBlue") for "nex", muted for rest
|
|
10
|
-
* - ~6 lines tall, responsive to terminal width
|
|
11
|
-
*/
|
|
12
|
-
import { useState, useEffect, useMemo, useCallback } from "react";
|
|
13
|
-
import { Box, Text, useStdout } from "ink";
|
|
14
|
-
// ── Pattern atoms ────────────────────────────────────────────────────
|
|
15
|
-
const LINE_CHARS = ["─", "─", "─", "─", "─", "─", "●", "○", "◦", "·"];
|
|
16
|
-
const CONNECTOR_CHARS = ["┤", "├", "│", "╌"];
|
|
17
|
-
/**
|
|
18
|
-
* Build one decorative line of exactly `width` characters.
|
|
19
|
-
* The line is a random mix of horizontal segments, dots, and connectors
|
|
20
|
-
* that gives the flowing "─●───○──" look.
|
|
21
|
-
*/
|
|
22
|
-
export function generateLine(width, seed) {
|
|
23
|
-
let s = seed ?? Math.floor(Math.random() * 0xffff);
|
|
24
|
-
const next = () => {
|
|
25
|
-
s = (s * 1103515245 + 12345) & 0x7fffffff;
|
|
26
|
-
return s;
|
|
27
|
-
};
|
|
28
|
-
const buf = [];
|
|
29
|
-
let remaining = width;
|
|
30
|
-
while (remaining > 0) {
|
|
31
|
-
const r = next();
|
|
32
|
-
// Mostly horizontal dashes with occasional dots/connectors
|
|
33
|
-
if (remaining > 3 && r % 7 === 0) {
|
|
34
|
-
// Insert a connector surrounded by dashes
|
|
35
|
-
const connector = CONNECTOR_CHARS[r % CONNECTOR_CHARS.length];
|
|
36
|
-
buf.push("─", connector, "─");
|
|
37
|
-
remaining -= 3;
|
|
38
|
-
}
|
|
39
|
-
else if (r % 5 === 0) {
|
|
40
|
-
// Insert a dot character
|
|
41
|
-
const dot = LINE_CHARS[6 + (r % 4)]; // ●, ○, ◦, ·
|
|
42
|
-
buf.push(dot);
|
|
43
|
-
remaining -= 1;
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
buf.push("─");
|
|
47
|
-
remaining -= 1;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
return buf.join("").slice(0, width);
|
|
51
|
-
}
|
|
52
|
-
export function buildBrandLine(width, seed) {
|
|
53
|
-
const brandText = "nex";
|
|
54
|
-
const tagline = " · powered by nex.ai";
|
|
55
|
-
const inner = brandText + tagline;
|
|
56
|
-
const padding = 2; // space each side of inner text
|
|
57
|
-
const innerWidth = inner.length + padding * 2;
|
|
58
|
-
if (width < innerWidth + 4) {
|
|
59
|
-
// Too narrow — just show brand
|
|
60
|
-
const side = Math.max(0, Math.floor((width - brandText.length) / 2));
|
|
61
|
-
const leftLine = generateLine(side, seed);
|
|
62
|
-
const rightLine = generateLine(Math.max(0, width - side - brandText.length), seed ? seed + 1 : undefined);
|
|
63
|
-
return [
|
|
64
|
-
{ text: leftLine, type: "line" },
|
|
65
|
-
{ text: brandText, type: "brand" },
|
|
66
|
-
{ text: rightLine, type: "line" },
|
|
67
|
-
];
|
|
68
|
-
}
|
|
69
|
-
const sideWidth = Math.floor((width - innerWidth) / 2);
|
|
70
|
-
const rightWidth = width - sideWidth - innerWidth;
|
|
71
|
-
const leftLine = generateLine(sideWidth, seed);
|
|
72
|
-
const rightLine = generateLine(rightWidth, seed ? seed + 1 : undefined);
|
|
73
|
-
return [
|
|
74
|
-
{ text: leftLine, type: "line" },
|
|
75
|
-
{ text: " ".repeat(padding), type: "muted" },
|
|
76
|
-
{ text: brandText, type: "brand" },
|
|
77
|
-
{ text: tagline, type: "muted" },
|
|
78
|
-
{ text: " ".repeat(padding), type: "muted" },
|
|
79
|
-
{ text: rightLine, type: "line" },
|
|
80
|
-
];
|
|
81
|
-
}
|
|
82
|
-
export function generateBannerFrame(width, seed) {
|
|
83
|
-
let s = seed ?? Math.floor(Math.random() * 0xffff);
|
|
84
|
-
const lines = [];
|
|
85
|
-
// Line 1: top decorative
|
|
86
|
-
lines.push({ segments: [{ text: generateLine(width, s), type: "line" }] });
|
|
87
|
-
s += 7;
|
|
88
|
-
// Line 2: decorative with a gap
|
|
89
|
-
lines.push({ segments: [{ text: generateLine(width, s), type: "line" }] });
|
|
90
|
-
s += 13;
|
|
91
|
-
// Line 3: brand line
|
|
92
|
-
lines.push({ segments: buildBrandLine(width, s) });
|
|
93
|
-
s += 17;
|
|
94
|
-
// Line 4: decorative
|
|
95
|
-
lines.push({ segments: [{ text: generateLine(width, s), type: "line" }] });
|
|
96
|
-
s += 11;
|
|
97
|
-
// Line 5: decorative
|
|
98
|
-
lines.push({ segments: [{ text: generateLine(width, s), type: "line" }] });
|
|
99
|
-
s += 3;
|
|
100
|
-
// Line 6: bottom decorative (sparser)
|
|
101
|
-
lines.push({ segments: [{ text: generateLine(width, s + 999), type: "line" }] });
|
|
102
|
-
return { lines };
|
|
103
|
-
}
|
|
104
|
-
// ── Component ────────────────────────────────────────────────────────
|
|
105
|
-
export function Banner({ width: widthProp, interval = 3000 }) {
|
|
106
|
-
const { stdout } = useStdout();
|
|
107
|
-
const termWidth = widthProp ?? (stdout?.columns ?? 80);
|
|
108
|
-
const effectiveWidth = Math.min(termWidth, 120); // cap at 120 for readability
|
|
109
|
-
const [tick, setTick] = useState(0);
|
|
110
|
-
useEffect(() => {
|
|
111
|
-
if (interval <= 0)
|
|
112
|
-
return;
|
|
113
|
-
const id = setInterval(() => setTick((t) => t + 1), interval);
|
|
114
|
-
return () => clearInterval(id);
|
|
115
|
-
}, [interval]);
|
|
116
|
-
const frame = useMemo(() => generateBannerFrame(effectiveWidth, tick * 31337), [effectiveWidth, tick]);
|
|
117
|
-
const renderSegment = useCallback((seg, idx) => {
|
|
118
|
-
switch (seg.type) {
|
|
119
|
-
case "brand":
|
|
120
|
-
return (_jsx(Text, { color: "cyan", bold: true, children: seg.text }, idx));
|
|
121
|
-
case "muted":
|
|
122
|
-
return (_jsx(Text, { dimColor: true, children: seg.text }, idx));
|
|
123
|
-
case "line":
|
|
124
|
-
return (_jsx(Text, { dimColor: true, children: seg.text }, idx));
|
|
125
|
-
}
|
|
126
|
-
}, []);
|
|
127
|
-
return (_jsx(Box, { flexDirection: "column", children: frame.lines.map((line, i) => (_jsx(Box, { children: line.segments.map((seg, j) => renderSegment(seg, j)) }, i))) }));
|
|
128
|
-
}
|
|
129
|
-
export default Banner;
|
|
130
|
-
//# sourceMappingURL=banner.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../../src/tui/components/banner.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;AAEH,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAE3C,wEAAwE;AAExE,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACtE,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE7C;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,IAAa;IACvD,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,GAAW,EAAE;QACxB,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC;QAC1C,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,OAAO,SAAS,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;QACjB,2DAA2D;QAC3D,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,0CAA0C;YAC1C,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAC9D,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAC9B,SAAS,IAAI,CAAC,CAAC;QACjB,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,yBAAyB;YACzB,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa;YAClD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACd,SAAS,IAAI,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACd,SAAS,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAWD,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,IAAa;IACzD,MAAM,SAAS,GAAG,KAAK,CAAC;IACxB,MAAM,OAAO,GAAG,sBAAsB,CAAC;IACvC,MAAM,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;IAClC,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,gCAAgC;IACnD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC;IAE9C,IAAI,KAAK,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;QAC3B,+BAA+B;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1G,OAAO;YACL,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YAChC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;YAClC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;SAClC,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;IAClD,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAExE,OAAO;QACL,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;QAChC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;QAC5C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;QAClC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;QAChC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;QAC5C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;KAClC,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,IAAa;IAC9D,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;IACnD,MAAM,KAAK,GAAyB,EAAE,CAAC;IAEvC,yBAAyB;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC,IAAI,CAAC,CAAC;IAEP,gCAAgC;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC,IAAI,EAAE,CAAC;IAER,qBAAqB;IACrB,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC,IAAI,EAAE,CAAC;IAER,qBAAqB;IACrB,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC,IAAI,EAAE,CAAC;IAER,qBAAqB;IACrB,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC,IAAI,CAAC,CAAC;IAEP,sCAAsC;IACtC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAEjF,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAWD,wEAAwE;AAExE,MAAM,UAAU,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,GAAG,IAAI,EAAe;IACvE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,SAAS,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,6BAA6B;IAE9E,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ,IAAI,CAAC;YAAE,OAAO;QAC1B,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC9D,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,GAAG,KAAK,CAAC,EACvD,CAAC,cAAc,EAAE,IAAI,CAAC,CACvB,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,GAAiB,EAAE,GAAW,EAAE,EAAE;QACnE,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,OAAO;gBACV,OAAO,CACL,KAAC,IAAI,IAAW,KAAK,EAAC,MAAM,EAAC,IAAI,kBAC9B,GAAG,CAAC,IAAI,IADA,GAAG,CAEP,CACR,CAAC;YACJ,KAAK,OAAO;gBACV,OAAO,CACL,KAAC,IAAI,IAAW,QAAQ,kBACrB,GAAG,CAAC,IAAI,IADA,GAAG,CAEP,CACR,CAAC;YACJ,KAAK,MAAM;gBACT,OAAO,CACL,KAAC,IAAI,IAAW,QAAQ,kBACrB,GAAG,CAAC,IAAI,IADA,GAAG,CAEP,CACR,CAAC;QACN,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5B,KAAC,GAAG,cACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAD7C,CAAC,CAEL,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Persistent channel color assignment.
|
|
3
|
-
*
|
|
4
|
-
* Each channel name gets a stable color from a palette of terminal-safe
|
|
5
|
-
* colours. Well-known channels get fixed colors; others cycle through
|
|
6
|
-
* the palette.
|
|
7
|
-
*
|
|
8
|
-
* Pattern mirrors agent-colors.ts but for channels.
|
|
9
|
-
*/
|
|
10
|
-
declare const CHANNEL_PALETTE: readonly ["cyan", "green", "yellow", "magenta", "blue", "red"];
|
|
11
|
-
export type ChannelColor = (typeof CHANNEL_PALETTE)[number];
|
|
12
|
-
/**
|
|
13
|
-
* Return the colour assigned to `channelName`, assigning a new one on
|
|
14
|
-
* first encounter. The same name always returns the same colour.
|
|
15
|
-
*/
|
|
16
|
-
export declare function getChannelColor(channelName: string): ChannelColor;
|
|
17
|
-
/** Read-only snapshot of the current colour map. */
|
|
18
|
-
export declare function getAllChannelColors(): ReadonlyMap<string, ChannelColor>;
|
|
19
|
-
/** Reset all assignments (useful in tests). */
|
|
20
|
-
export declare function resetChannelColors(): void;
|
|
21
|
-
export {};
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Persistent channel color assignment.
|
|
3
|
-
*
|
|
4
|
-
* Each channel name gets a stable color from a palette of terminal-safe
|
|
5
|
-
* colours. Well-known channels get fixed colors; others cycle through
|
|
6
|
-
* the palette.
|
|
7
|
-
*
|
|
8
|
-
* Pattern mirrors agent-colors.ts but for channels.
|
|
9
|
-
*/
|
|
10
|
-
const CHANNEL_PALETTE = ["cyan", "green", "yellow", "magenta", "blue", "red"];
|
|
11
|
-
/** Well-known channel → color mapping matching the task spec. */
|
|
12
|
-
const WELL_KNOWN = {
|
|
13
|
-
general: "cyan",
|
|
14
|
-
leads: "green",
|
|
15
|
-
seo: "yellow",
|
|
16
|
-
support: "magenta",
|
|
17
|
-
research: "blue",
|
|
18
|
-
alerts: "red",
|
|
19
|
-
};
|
|
20
|
-
// Module-level state so colours persist across renders.
|
|
21
|
-
const colorMap = new Map();
|
|
22
|
-
let nextColorIdx = 0;
|
|
23
|
-
/**
|
|
24
|
-
* Return the colour assigned to `channelName`, assigning a new one on
|
|
25
|
-
* first encounter. The same name always returns the same colour.
|
|
26
|
-
*/
|
|
27
|
-
export function getChannelColor(channelName) {
|
|
28
|
-
const normalized = channelName.toLowerCase().replace(/^#/, "");
|
|
29
|
-
const existing = colorMap.get(normalized);
|
|
30
|
-
if (existing !== undefined)
|
|
31
|
-
return existing;
|
|
32
|
-
// Check well-known mapping first
|
|
33
|
-
const wellKnown = WELL_KNOWN[normalized];
|
|
34
|
-
if (wellKnown) {
|
|
35
|
-
colorMap.set(normalized, wellKnown);
|
|
36
|
-
return wellKnown;
|
|
37
|
-
}
|
|
38
|
-
// Cycle through palette
|
|
39
|
-
const color = CHANNEL_PALETTE[nextColorIdx % CHANNEL_PALETTE.length];
|
|
40
|
-
colorMap.set(normalized, color);
|
|
41
|
-
nextColorIdx++;
|
|
42
|
-
return color;
|
|
43
|
-
}
|
|
44
|
-
/** Read-only snapshot of the current colour map. */
|
|
45
|
-
export function getAllChannelColors() {
|
|
46
|
-
return new Map(colorMap);
|
|
47
|
-
}
|
|
48
|
-
/** Reset all assignments (useful in tests). */
|
|
49
|
-
export function resetChannelColors() {
|
|
50
|
-
colorMap.clear();
|
|
51
|
-
nextColorIdx = 0;
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=channel-colors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"channel-colors.js","sourceRoot":"","sources":["../../../src/tui/components/channel-colors.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAU,CAAC;AAGvF,iEAAiE;AACjE,MAAM,UAAU,GAAiC;IAC/C,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,QAAQ;IACb,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,KAAK;CACd,CAAC;AAEF,wDAAwD;AACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;AACjD,IAAI,YAAY,GAAG,CAAC,CAAC;AAErB;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAE/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAE5C,iCAAiC;IACjC,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,SAAS,EAAE,CAAC;QACd,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,wBAAwB;IACxB,MAAM,KAAK,GAAG,eAAe,CAAC,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACrE,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAChC,YAAY,EAAE,CAAC;IACf,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,kBAAkB;IAChC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,YAAY,GAAG,CAAC,CAAC;AACnB,CAAC"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Channel-colored message components.
|
|
3
|
-
*
|
|
4
|
-
* Renders chat messages in colored bordered boxes tagged with channel name,
|
|
5
|
-
* matching Claude Code's TeamCreate multi-agent UI style.
|
|
6
|
-
*
|
|
7
|
-
* Each channel gets a distinct color. Agent messages within a channel show
|
|
8
|
-
* the agent name in the agent's own color inside the channel's colored box.
|
|
9
|
-
*/
|
|
10
|
-
import React from "react";
|
|
11
|
-
export interface ChannelMessageData {
|
|
12
|
-
id: string;
|
|
13
|
-
channel: string;
|
|
14
|
-
sender: string;
|
|
15
|
-
senderType: "agent" | "human" | "system";
|
|
16
|
-
content: string;
|
|
17
|
-
timestamp: number;
|
|
18
|
-
/** Optional agent-specific color (overrides default for agent sender name) */
|
|
19
|
-
agentColor?: string;
|
|
20
|
-
}
|
|
21
|
-
export interface ChannelMessageProps {
|
|
22
|
-
message: ChannelMessageData;
|
|
23
|
-
}
|
|
24
|
-
export interface ChannelMessageListProps {
|
|
25
|
-
messages: ChannelMessageData[];
|
|
26
|
-
maxVisible?: number;
|
|
27
|
-
}
|
|
28
|
-
export interface ColoredChannelBarProps {
|
|
29
|
-
channels: Array<{
|
|
30
|
-
id: string;
|
|
31
|
-
name: string;
|
|
32
|
-
unread: number;
|
|
33
|
-
}>;
|
|
34
|
-
activeChannelId: string;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* A single message with colored left border and channel tag.
|
|
38
|
-
*
|
|
39
|
-
* Layout:
|
|
40
|
-
* ▌ [#channel] sender: content
|
|
41
|
-
* ^--- channel color border
|
|
42
|
-
*/
|
|
43
|
-
export declare function ChannelMessage({ message, }: ChannelMessageProps): React.JSX.Element;
|
|
44
|
-
/**
|
|
45
|
-
* List of channel-colored messages with auto-tail.
|
|
46
|
-
*/
|
|
47
|
-
export declare function ChannelMessageList({ messages, maxVisible, }: ChannelMessageListProps): React.JSX.Element;
|
|
48
|
-
/**
|
|
49
|
-
* Horizontal channel tab bar with per-channel colors.
|
|
50
|
-
* Active channel is bold + full color, others are dimmed.
|
|
51
|
-
*/
|
|
52
|
-
export declare function ColoredChannelBar({ channels, activeChannelId, }: ColoredChannelBarProps): React.JSX.Element;
|
|
53
|
-
export default ChannelMessage;
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Channel-colored message components.
|
|
4
|
-
*
|
|
5
|
-
* Renders chat messages in colored bordered boxes tagged with channel name,
|
|
6
|
-
* matching Claude Code's TeamCreate multi-agent UI style.
|
|
7
|
-
*
|
|
8
|
-
* Each channel gets a distinct color. Agent messages within a channel show
|
|
9
|
-
* the agent name in the agent's own color inside the channel's colored box.
|
|
10
|
-
*/
|
|
11
|
-
import React from "react";
|
|
12
|
-
import { Box, Text } from "ink";
|
|
13
|
-
import { getChannelColor } from "./channel-colors.js";
|
|
14
|
-
// ── Helpers ─────────────────────────────────────────────────────────
|
|
15
|
-
function formatTime(ts) {
|
|
16
|
-
const d = new Date(ts);
|
|
17
|
-
const h = String(d.getHours()).padStart(2, "0");
|
|
18
|
-
const m = String(d.getMinutes()).padStart(2, "0");
|
|
19
|
-
return `${h}:${m}`;
|
|
20
|
-
}
|
|
21
|
-
// ── Single message component ────────────────────────────────────────
|
|
22
|
-
/**
|
|
23
|
-
* A single message with colored left border and channel tag.
|
|
24
|
-
*
|
|
25
|
-
* Layout:
|
|
26
|
-
* ▌ [#channel] sender: content
|
|
27
|
-
* ^--- channel color border
|
|
28
|
-
*/
|
|
29
|
-
export function ChannelMessage({ message, }) {
|
|
30
|
-
const channelColor = getChannelColor(message.channel);
|
|
31
|
-
const time = formatTime(message.timestamp);
|
|
32
|
-
if (message.senderType === "system") {
|
|
33
|
-
return (_jsxs(Box, { children: [_jsx(Text, { color: channelColor, children: "▌ " }), _jsx(Text, { dimColor: true, children: time }), _jsx(Text, { children: " " }), _jsx(Text, { color: channelColor, dimColor: true, children: `[#${message.channel}]` }), _jsx(Text, { children: " " }), _jsx(Text, { color: "yellow", dimColor: true, children: message.content })] }));
|
|
34
|
-
}
|
|
35
|
-
if (message.senderType === "human") {
|
|
36
|
-
return (_jsxs(Box, { children: [_jsx(Text, { color: channelColor, children: "▌ " }), _jsx(Text, { dimColor: true, children: time }), _jsx(Text, { children: " " }), _jsx(Text, { color: channelColor, dimColor: true, children: `[#${message.channel}]` }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, color: "white", children: "> " }), _jsx(Text, { children: message.content })] }));
|
|
37
|
-
}
|
|
38
|
-
// Agent message — agent name in agent's own color
|
|
39
|
-
const senderColor = message.agentColor ?? channelColor;
|
|
40
|
-
return (_jsxs(Box, { children: [_jsx(Text, { color: channelColor, children: "▌ " }), _jsx(Text, { dimColor: true, children: time }), _jsx(Text, { children: " " }), _jsx(Text, { color: channelColor, dimColor: true, children: `[#${message.channel}]` }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, color: senderColor, children: `[${message.sender}]` }), _jsx(Text, { children: " " }), _jsx(Text, { children: message.content })] }));
|
|
41
|
-
}
|
|
42
|
-
// ── Message list ────────────────────────────────────────────────────
|
|
43
|
-
/**
|
|
44
|
-
* List of channel-colored messages with auto-tail.
|
|
45
|
-
*/
|
|
46
|
-
export function ChannelMessageList({ messages, maxVisible = 20, }) {
|
|
47
|
-
const displayMessages = messages.slice(-maxVisible);
|
|
48
|
-
if (displayMessages.length === 0) {
|
|
49
|
-
return (_jsx(Box, { paddingX: 2, children: _jsx(Text, { dimColor: true, children: "No messages yet." }) }));
|
|
50
|
-
}
|
|
51
|
-
return (_jsx(Box, { flexDirection: "column", children: displayMessages.map((msg) => (_jsx(ChannelMessage, { message: msg }, msg.id))) }));
|
|
52
|
-
}
|
|
53
|
-
// ── Colored channel bar ─────────────────────────────────────────────
|
|
54
|
-
/**
|
|
55
|
-
* Horizontal channel tab bar with per-channel colors.
|
|
56
|
-
* Active channel is bold + full color, others are dimmed.
|
|
57
|
-
*/
|
|
58
|
-
export function ColoredChannelBar({ channels, activeChannelId, }) {
|
|
59
|
-
return (_jsxs(Box, { paddingX: 1, children: [channels.map((ch, idx) => {
|
|
60
|
-
const isActive = ch.id === activeChannelId;
|
|
61
|
-
const color = getChannelColor(ch.name);
|
|
62
|
-
return (_jsxs(React.Fragment, { children: [idx > 0 && _jsx(Text, { dimColor: true, children: " " }), _jsxs(Text, { bold: isActive, color: color, dimColor: !isActive, children: ["#", ch.name] }), ch.unread > 0 && (_jsx(Text, { color: "red", bold: true, children: ` (${ch.unread})` }))] }, ch.id));
|
|
63
|
-
}), channels.length > 1 && (_jsx(Text, { dimColor: true, children: " [Tab=switch]" }))] }));
|
|
64
|
-
}
|
|
65
|
-
export default ChannelMessage;
|
|
66
|
-
//# sourceMappingURL=channel-message.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"channel-message.js","sourceRoot":"","sources":["../../../src/tui/components/channel-message.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export interface ChatInputProps {
|
|
3
|
-
value: string;
|
|
4
|
-
onChange: (value: string) => void;
|
|
5
|
-
onSubmit: (value: string) => void;
|
|
6
|
-
placeholder?: string;
|
|
7
|
-
prefix?: string;
|
|
8
|
-
isActive: boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare function ChatInput({ value, onChange, onSubmit, placeholder, prefix, isActive, }: ChatInputProps): React.JSX.Element;
|
|
11
|
-
export default ChatInput;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useCallback } from "react";
|
|
3
|
-
import { Box, Text } from "ink";
|
|
4
|
-
import { TextInput } from "@inkjs/ui";
|
|
5
|
-
// --- Component ---
|
|
6
|
-
export function ChatInput({ value, onChange, onSubmit, placeholder = "Type a command...", prefix = "nex> ", isActive, }) {
|
|
7
|
-
// Counter to force TextInput remount after submit.
|
|
8
|
-
// @inkjs/ui TextInput manages its own internal state via useReducer;
|
|
9
|
-
// defaultValue is only read on initial mount. Incrementing the key
|
|
10
|
-
// forces React to unmount + remount with a fresh empty state.
|
|
11
|
-
const [submitKey, setSubmitKey] = useState(0);
|
|
12
|
-
const handleSubmit = useCallback((val) => {
|
|
13
|
-
onSubmit(val);
|
|
14
|
-
setSubmitKey((k) => k + 1);
|
|
15
|
-
}, [onSubmit]);
|
|
16
|
-
return (_jsxs(Box, { children: [_jsx(Text, { bold: true, color: isActive ? "cyan" : undefined, dimColor: !isActive, children: prefix }), isActive ? (_jsx(TextInput, { placeholder: placeholder, onChange: onChange, onSubmit: handleSubmit }, submitKey)) : (_jsx(Text, { dimColor: true, children: value || placeholder }))] }));
|
|
17
|
-
}
|
|
18
|
-
export default ChatInput;
|
|
19
|
-
//# sourceMappingURL=chat-input.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat-input.js","sourceRoot":"","sources":["../../../src/tui/components/chat-input.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAatC,oBAAoB;AAEpB,MAAM,UAAU,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,GAAG,mBAAmB,EACjC,MAAM,GAAG,OAAO,EAChB,QAAQ,GACO;IACf,mDAAmD;IACnD,qEAAqE;IACrE,mEAAmE;IACnE,8DAA8D;IAC9D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE9C,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,GAAW,EAAE,EAAE;QACd,QAAQ,CAAC,GAAG,CAAC,CAAC;QACd,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,QAAQ,YACjE,MAAM,GACF,EACN,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,SAAS,IAER,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY,IAHjB,SAAS,CAId,CACH,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,QAAQ,kBAAE,KAAK,IAAI,WAAW,GAAQ,CAC7C,IACG,CACP,CAAC;AACJ,CAAC;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export interface DataTableProps {
|
|
3
|
-
headers: string[];
|
|
4
|
-
rows: string[][];
|
|
5
|
-
/** Column indices (0-based) to right-align */
|
|
6
|
-
alignRight?: number[];
|
|
7
|
-
/** Max width for any column before truncation with "…" (default: 40) */
|
|
8
|
-
maxColWidth?: number;
|
|
9
|
-
}
|
|
10
|
-
export declare function DataTable({ headers, rows, alignRight, maxColWidth, }: DataTableProps): React.JSX.Element;
|
|
11
|
-
export default DataTable;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import React from "react";
|
|
3
|
-
import { Box, Text } from "ink";
|
|
4
|
-
// --- Helpers ---
|
|
5
|
-
function truncate(value, max) {
|
|
6
|
-
if (value.length <= max)
|
|
7
|
-
return value;
|
|
8
|
-
return value.slice(0, max - 1) + "\u2026";
|
|
9
|
-
}
|
|
10
|
-
function padCell(value, width, right) {
|
|
11
|
-
if (right)
|
|
12
|
-
return value.padStart(width);
|
|
13
|
-
return value.padEnd(width);
|
|
14
|
-
}
|
|
15
|
-
function computeColumnWidths(headers, rows, maxColWidth) {
|
|
16
|
-
return headers.map((h, i) => {
|
|
17
|
-
let max = h.length;
|
|
18
|
-
for (const row of rows) {
|
|
19
|
-
const cell = row[i] ?? "";
|
|
20
|
-
if (cell.length > max)
|
|
21
|
-
max = cell.length;
|
|
22
|
-
}
|
|
23
|
-
return Math.min(max, maxColWidth);
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
// --- Component ---
|
|
27
|
-
export function DataTable({ headers, rows, alignRight = [], maxColWidth = 40, }) {
|
|
28
|
-
const rightSet = new Set(alignRight);
|
|
29
|
-
const widths = computeColumnWidths(headers, rows, maxColWidth);
|
|
30
|
-
const separator = widths.map((w) => "\u2500".repeat(w)).join("\u2500\u253C\u2500");
|
|
31
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: headers.map((h, i) => {
|
|
32
|
-
const truncated = truncate(h, widths[i]);
|
|
33
|
-
const padded = padCell(truncated, widths[i], rightSet.has(i));
|
|
34
|
-
const sep = i < headers.length - 1 ? " \u2502 " : "";
|
|
35
|
-
return (_jsxs(React.Fragment, { children: [_jsx(Text, { bold: true, color: "blue", underline: true, children: padded }), sep && _jsx(Text, { children: sep })] }, i));
|
|
36
|
-
}) }), _jsx(Text, { dimColor: true, children: separator }), rows.map((row, ri) => {
|
|
37
|
-
const dim = ri % 2 === 1;
|
|
38
|
-
return (_jsx(Text, { dimColor: dim, children: row.map((cell, ci) => {
|
|
39
|
-
const truncated = truncate(cell ?? "", widths[ci]);
|
|
40
|
-
const padded = padCell(truncated, widths[ci], rightSet.has(ci));
|
|
41
|
-
const sep = ci < headers.length - 1 ? " \u2502 " : "";
|
|
42
|
-
return padded + sep;
|
|
43
|
-
}).join("") }, ri));
|
|
44
|
-
}), _jsxs(Text, { dimColor: true, children: ["\n", rows.length, " row", rows.length !== 1 ? "s" : ""] })] }));
|
|
45
|
-
}
|
|
46
|
-
export default DataTable;
|
|
47
|
-
//# sourceMappingURL=data-table.js.map
|