@nex-ai/nex 0.1.65 → 0.2.0
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 +236 -231
- package/bin/nex-mcp.js +50 -0
- package/bin/nex.js +53 -0
- package/package.json +9 -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/lib/client.js
DELETED
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HTTP client for the Nex Developer API.
|
|
3
|
-
* Hardcoded base URL with all HTTP methods.
|
|
4
|
-
*/
|
|
5
|
-
import { AuthError, RateLimitError, ServerError } from "./errors.js";
|
|
6
|
-
import { API_BASE, REGISTER_URL } from "./config.js";
|
|
7
|
-
// Pre-process JSON text: quote integer values for "id" fields that exceed
|
|
8
|
-
// Number.MAX_SAFE_INTEGER, preventing JS precision loss on snowflake IDs.
|
|
9
|
-
const UNSAFE_ID_RE = /("(?:[^"]*_)?id"\s*:\s*)(\d{16,})/g;
|
|
10
|
-
function safenIds(jsonText) {
|
|
11
|
-
return jsonText.replace(UNSAFE_ID_RE, (_match, prefix, digits) => {
|
|
12
|
-
if (Number.isSafeInteger(Number(digits)))
|
|
13
|
-
return `${prefix}${digits}`;
|
|
14
|
-
return `${prefix}"${digits}"`;
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
export class NexClient {
|
|
18
|
-
apiKey;
|
|
19
|
-
timeoutMs;
|
|
20
|
-
constructor(apiKey, timeoutMs = 120_000) {
|
|
21
|
-
this.apiKey = apiKey;
|
|
22
|
-
this.timeoutMs = timeoutMs;
|
|
23
|
-
}
|
|
24
|
-
get isAuthenticated() {
|
|
25
|
-
return this.apiKey !== undefined && this.apiKey.length > 0;
|
|
26
|
-
}
|
|
27
|
-
setApiKey(key) {
|
|
28
|
-
this.apiKey = key;
|
|
29
|
-
}
|
|
30
|
-
requireAuth() {
|
|
31
|
-
if (!this.isAuthenticated) {
|
|
32
|
-
throw new AuthError();
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
async request(method, path, body, timeoutMs) {
|
|
36
|
-
this.requireAuth();
|
|
37
|
-
const url = `${API_BASE}${path}`;
|
|
38
|
-
const controller = new AbortController();
|
|
39
|
-
const timer = setTimeout(() => controller.abort(), timeoutMs ?? this.timeoutMs);
|
|
40
|
-
try {
|
|
41
|
-
const headers = {
|
|
42
|
-
Authorization: `Bearer ${this.apiKey}`,
|
|
43
|
-
"X-Nex-Source": "skill-cli",
|
|
44
|
-
};
|
|
45
|
-
if (body !== undefined) {
|
|
46
|
-
headers["Content-Type"] = "application/json";
|
|
47
|
-
}
|
|
48
|
-
const res = await fetch(url, {
|
|
49
|
-
method,
|
|
50
|
-
headers,
|
|
51
|
-
body: body !== undefined ? JSON.stringify(body) : undefined,
|
|
52
|
-
signal: controller.signal,
|
|
53
|
-
});
|
|
54
|
-
if (res.status === 401 || res.status === 403) {
|
|
55
|
-
throw new AuthError("Invalid or expired API key. Run 'nex setup' to re-authenticate.");
|
|
56
|
-
}
|
|
57
|
-
if (res.status === 429) {
|
|
58
|
-
const retryAfter = res.headers.get("retry-after");
|
|
59
|
-
const ms = retryAfter ? parseInt(retryAfter, 10) * 1000 : 60_000;
|
|
60
|
-
throw new RateLimitError(ms);
|
|
61
|
-
}
|
|
62
|
-
if (!res.ok) {
|
|
63
|
-
let errorBody;
|
|
64
|
-
try {
|
|
65
|
-
errorBody = await res.text();
|
|
66
|
-
}
|
|
67
|
-
catch {
|
|
68
|
-
// ignore
|
|
69
|
-
}
|
|
70
|
-
throw new ServerError(res.status, errorBody);
|
|
71
|
-
}
|
|
72
|
-
const text = await res.text();
|
|
73
|
-
if (!text || !text.trim())
|
|
74
|
-
return {};
|
|
75
|
-
// Preserve large integer IDs as strings to avoid JS precision loss
|
|
76
|
-
return JSON.parse(safenIds(text));
|
|
77
|
-
}
|
|
78
|
-
finally {
|
|
79
|
-
clearTimeout(timer);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
async register(email, name, companyName) {
|
|
83
|
-
const body = { email, source: "cli" };
|
|
84
|
-
if (name !== undefined)
|
|
85
|
-
body.name = name;
|
|
86
|
-
if (companyName !== undefined)
|
|
87
|
-
body.company_name = companyName;
|
|
88
|
-
const res = await fetch(REGISTER_URL, {
|
|
89
|
-
method: "POST",
|
|
90
|
-
headers: { "Content-Type": "application/json" },
|
|
91
|
-
body: JSON.stringify(body),
|
|
92
|
-
signal: AbortSignal.timeout(this.timeoutMs),
|
|
93
|
-
});
|
|
94
|
-
if (!res.ok) {
|
|
95
|
-
let errorBody;
|
|
96
|
-
try {
|
|
97
|
-
errorBody = await res.text();
|
|
98
|
-
}
|
|
99
|
-
catch {
|
|
100
|
-
// ignore
|
|
101
|
-
}
|
|
102
|
-
throw new ServerError(res.status, errorBody);
|
|
103
|
-
}
|
|
104
|
-
const data = (await res.json());
|
|
105
|
-
const apiKey = data.api_key;
|
|
106
|
-
if (typeof apiKey === "string" && apiKey.length > 0) {
|
|
107
|
-
this.apiKey = apiKey;
|
|
108
|
-
}
|
|
109
|
-
return data;
|
|
110
|
-
}
|
|
111
|
-
async get(path, timeoutMs) {
|
|
112
|
-
return this.request("GET", path, undefined, timeoutMs);
|
|
113
|
-
}
|
|
114
|
-
async getRaw(path, timeoutMs) {
|
|
115
|
-
this.requireAuth();
|
|
116
|
-
const url = `${API_BASE}${path}`;
|
|
117
|
-
const controller = new AbortController();
|
|
118
|
-
const timer = setTimeout(() => controller.abort(), timeoutMs ?? this.timeoutMs);
|
|
119
|
-
try {
|
|
120
|
-
const res = await fetch(url, {
|
|
121
|
-
method: "GET",
|
|
122
|
-
headers: { Authorization: `Bearer ${this.apiKey}` },
|
|
123
|
-
signal: controller.signal,
|
|
124
|
-
});
|
|
125
|
-
if (res.status === 401 || res.status === 403) {
|
|
126
|
-
throw new AuthError("Invalid or expired API key. Run 'nex setup' to re-authenticate.");
|
|
127
|
-
}
|
|
128
|
-
if (res.status === 429) {
|
|
129
|
-
const retryAfter = res.headers.get("retry-after");
|
|
130
|
-
const ms = retryAfter ? parseInt(retryAfter, 10) * 1000 : 60_000;
|
|
131
|
-
throw new RateLimitError(ms);
|
|
132
|
-
}
|
|
133
|
-
if (!res.ok) {
|
|
134
|
-
let errorBody;
|
|
135
|
-
try {
|
|
136
|
-
errorBody = await res.text();
|
|
137
|
-
}
|
|
138
|
-
catch { /* ignore */ }
|
|
139
|
-
throw new ServerError(res.status, errorBody);
|
|
140
|
-
}
|
|
141
|
-
return await res.text();
|
|
142
|
-
}
|
|
143
|
-
finally {
|
|
144
|
-
clearTimeout(timer);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
async post(path, body, timeoutMs) {
|
|
148
|
-
return this.request("POST", path, body, timeoutMs);
|
|
149
|
-
}
|
|
150
|
-
async put(path, body, timeoutMs) {
|
|
151
|
-
return this.request("PUT", path, body, timeoutMs);
|
|
152
|
-
}
|
|
153
|
-
async patch(path, body, timeoutMs) {
|
|
154
|
-
return this.request("PATCH", path, body, timeoutMs);
|
|
155
|
-
}
|
|
156
|
-
async delete(path, timeoutMs) {
|
|
157
|
-
return this.request("DELETE", path, undefined, timeoutMs);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
//# sourceMappingURL=client.js.map
|
package/dist/lib/client.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { NexClient } from "./client.js";
|
|
3
|
-
import { triggerCompounding, COMPOUNDING_BACKGROUND_TIMEOUT_MS } from "./compounding.js";
|
|
4
|
-
/**
|
|
5
|
-
* Run compounding triggers in a detached process so the parent CLI command can
|
|
6
|
-
* exit immediately even when the backend keeps the HTTP response open.
|
|
7
|
-
*/
|
|
8
|
-
async function main() {
|
|
9
|
-
const apiKey = process.env.NEX_API_KEY;
|
|
10
|
-
if (!apiKey) {
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
const rawTimeout = Number.parseInt(process.env.NEX_COMPOUNDING_TIMEOUT_MS ?? "", 10);
|
|
14
|
-
const timeoutMs = Number.isFinite(rawTimeout) && rawTimeout > 0
|
|
15
|
-
? rawTimeout
|
|
16
|
-
: COMPOUNDING_BACKGROUND_TIMEOUT_MS;
|
|
17
|
-
const client = new NexClient(apiKey, timeoutMs);
|
|
18
|
-
await triggerCompounding(client);
|
|
19
|
-
}
|
|
20
|
-
main().then(() => process.exit(0)).catch(() => process.exit(0));
|
|
21
|
-
//# sourceMappingURL=compounding-worker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compounding-worker.js","sourceRoot":"","sources":["../../src/lib/compounding-worker.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,iCAAiC,EAAE,MAAM,kBAAkB,CAAC;AAEzF;;;GAGG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACrF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC;QAC7D,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,iCAAiC,CAAC;IAEtC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChD,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { NexClient } from "./client.js";
|
|
2
|
-
type CompoundingClient = Pick<NexClient, "post">;
|
|
3
|
-
export declare const COMPOUNDING_JOBS: readonly ["consolidation", "pattern_detection", "playbook_synthesis"];
|
|
4
|
-
export declare const COMPOUNDING_TRIGGER_TIMEOUT_MS = 10000;
|
|
5
|
-
export declare const COMPOUNDING_BACKGROUND_TIMEOUT_MS = 120000;
|
|
6
|
-
/**
|
|
7
|
-
* Returns whether a scan result should kick off compounding jobs.
|
|
8
|
-
*/
|
|
9
|
-
export declare function shouldTriggerCompounding(scanned: number, dryRun?: boolean): boolean;
|
|
10
|
-
/**
|
|
11
|
-
* Trigger compounding intelligence jobs after content ingestion.
|
|
12
|
-
* Runs in the background — errors are non-fatal to the scan flow.
|
|
13
|
-
*/
|
|
14
|
-
export declare function triggerCompounding(client: CompoundingClient): Promise<void>;
|
|
15
|
-
/**
|
|
16
|
-
* Launch compounding triggers in a detached worker so the caller does not wait
|
|
17
|
-
* on a backend response that may hang for valid job types.
|
|
18
|
-
*/
|
|
19
|
-
export declare function launchBackgroundCompounding(apiKey: string): void;
|
|
20
|
-
export {};
|
package/dist/lib/compounding.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { spawn } from "node:child_process";
|
|
2
|
-
import { dirname, join } from "node:path";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
4
|
-
import { BASE_URL } from "./config.js";
|
|
5
|
-
export const COMPOUNDING_JOBS = ["consolidation", "pattern_detection", "playbook_synthesis"];
|
|
6
|
-
export const COMPOUNDING_TRIGGER_TIMEOUT_MS = 10_000;
|
|
7
|
-
export const COMPOUNDING_BACKGROUND_TIMEOUT_MS = 120_000;
|
|
8
|
-
const WORKER_PATH = join(dirname(fileURLToPath(import.meta.url)), "compounding-worker.js");
|
|
9
|
-
/**
|
|
10
|
-
* Returns whether a scan result should kick off compounding jobs.
|
|
11
|
-
*/
|
|
12
|
-
export function shouldTriggerCompounding(scanned, dryRun = false) {
|
|
13
|
-
return !dryRun && scanned > 0;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Trigger compounding intelligence jobs after content ingestion.
|
|
17
|
-
* Runs in the background — errors are non-fatal to the scan flow.
|
|
18
|
-
*/
|
|
19
|
-
export async function triggerCompounding(client) {
|
|
20
|
-
await Promise.allSettled(COMPOUNDING_JOBS.map((job) => client.post("/v1/compounding/trigger", { job_type: job, dry_run: false }, COMPOUNDING_TRIGGER_TIMEOUT_MS)));
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Launch compounding triggers in a detached worker so the caller does not wait
|
|
24
|
-
* on a backend response that may hang for valid job types.
|
|
25
|
-
*/
|
|
26
|
-
export function launchBackgroundCompounding(apiKey) {
|
|
27
|
-
try {
|
|
28
|
-
const baseUrl = typeof BASE_URL === "string" ? BASE_URL : "https://app.nex.ai";
|
|
29
|
-
const child = spawn(process.execPath, [WORKER_PATH], {
|
|
30
|
-
detached: true,
|
|
31
|
-
env: {
|
|
32
|
-
...process.env,
|
|
33
|
-
NEX_API_KEY: apiKey,
|
|
34
|
-
NEX_DEV_URL: baseUrl,
|
|
35
|
-
NEX_COMPOUNDING_TIMEOUT_MS: String(COMPOUNDING_BACKGROUND_TIMEOUT_MS),
|
|
36
|
-
},
|
|
37
|
-
stdio: "ignore",
|
|
38
|
-
});
|
|
39
|
-
child.unref();
|
|
40
|
-
}
|
|
41
|
-
catch {
|
|
42
|
-
// Ignore background trigger failures so scans remain non-fatal.
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=compounding.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compounding.js","sourceRoot":"","sources":["../../src/lib/compounding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,eAAe,EAAE,mBAAmB,EAAE,oBAAoB,CAAU,CAAC;AACtG,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC;AACrD,MAAM,CAAC,MAAM,iCAAiC,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,GAAG,IAAI,CACtB,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACvC,uBAAuB,CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe,EAAE,MAAM,GAAG,KAAK;IACtE,OAAO,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAyB;IAChE,MAAM,OAAO,CAAC,UAAU,CACtB,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC3B,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,8BAA8B,CAAC,CAC1G,CACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAc;IACxD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAC/E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;YACnD,QAAQ,EAAE,IAAI;YACd,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,WAAW,EAAE,MAAM;gBACnB,WAAW,EAAE,OAAO;gBACpB,0BAA0B,EAAE,MAAM,CAAC,iCAAiC,CAAC;aACtE;YACD,KAAK,EAAE,QAAiB;SACzB,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;IAClE,CAAC;AACH,CAAC"}
|
package/dist/lib/config.d.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configuration resolution: CLI flags > env vars > config file.
|
|
3
|
-
* Base URL is hardcoded to production (NEX_DEV_URL escape hatch for local dev).
|
|
4
|
-
*/
|
|
5
|
-
export declare const CONFIG_PATH: string;
|
|
6
|
-
export declare const BASE_URL: {};
|
|
7
|
-
export declare const API_BASE: string;
|
|
8
|
-
export declare const REGISTER_URL: string;
|
|
9
|
-
export interface NexConfig {
|
|
10
|
-
api_key?: string;
|
|
11
|
-
email?: string;
|
|
12
|
-
workspace_id?: string;
|
|
13
|
-
workspace_slug?: string;
|
|
14
|
-
default_format?: string;
|
|
15
|
-
default_timeout?: number;
|
|
16
|
-
[key: string]: unknown;
|
|
17
|
-
}
|
|
18
|
-
export declare function loadConfig(): NexConfig;
|
|
19
|
-
export declare function saveConfig(config: NexConfig): void;
|
|
20
|
-
/**
|
|
21
|
-
* Resolve API key from: flag > env > active workspace > config file.
|
|
22
|
-
*/
|
|
23
|
-
export declare function resolveApiKey(flagValue?: string): string | undefined;
|
|
24
|
-
/**
|
|
25
|
-
* Resolve output format from: flag > config file > default.
|
|
26
|
-
*/
|
|
27
|
-
export declare function resolveFormat(flagValue?: string): string;
|
|
28
|
-
/**
|
|
29
|
-
* Resolve timeout from: flag > config file > default.
|
|
30
|
-
*/
|
|
31
|
-
export declare function resolveTimeout(flagValue?: string): number;
|
|
32
|
-
/**
|
|
33
|
-
* Persist registration data to config file and workspace registry.
|
|
34
|
-
*/
|
|
35
|
-
export declare function persistRegistration(data: Record<string, unknown>): void;
|
package/dist/lib/config.js
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configuration resolution: CLI flags > env vars > config file.
|
|
3
|
-
* Base URL is hardcoded to production (NEX_DEV_URL escape hatch for local dev).
|
|
4
|
-
*/
|
|
5
|
-
import { readFileSync, writeFileSync, mkdirSync } from "node:fs";
|
|
6
|
-
import { join, dirname } from "node:path";
|
|
7
|
-
import { homedir } from "node:os";
|
|
8
|
-
import { getActiveCredentials, addWorkspace } from "./workspace-registry.js";
|
|
9
|
-
export const CONFIG_PATH = join(homedir(), ".nex", "config.json");
|
|
10
|
-
export const BASE_URL = process.env.NEX_DEV_URL ?? loadConfig().dev_url ?? "https://app.nex.ai";
|
|
11
|
-
export const API_BASE = `${BASE_URL}/api/developers`;
|
|
12
|
-
export const REGISTER_URL = `${BASE_URL}/api/v1/agents/register`;
|
|
13
|
-
export function loadConfig() {
|
|
14
|
-
try {
|
|
15
|
-
const raw = readFileSync(CONFIG_PATH, "utf-8");
|
|
16
|
-
const data = JSON.parse(raw);
|
|
17
|
-
// If migrated format, merge active workspace credentials into return
|
|
18
|
-
if (data.active_workspace && !data.api_key) {
|
|
19
|
-
const wsCreds = getActiveCredentials();
|
|
20
|
-
if (wsCreds) {
|
|
21
|
-
return { ...data, ...wsCreds };
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return data;
|
|
25
|
-
}
|
|
26
|
-
catch {
|
|
27
|
-
return {};
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
export function saveConfig(config) {
|
|
31
|
-
mkdirSync(dirname(CONFIG_PATH), { recursive: true });
|
|
32
|
-
writeFileSync(CONFIG_PATH, JSON.stringify(config, null, 2) + "\n", "utf-8");
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Resolve API key from: flag > env > active workspace > config file.
|
|
36
|
-
*/
|
|
37
|
-
export function resolveApiKey(flagValue) {
|
|
38
|
-
if (flagValue)
|
|
39
|
-
return flagValue;
|
|
40
|
-
if (process.env.NEX_API_KEY)
|
|
41
|
-
return process.env.NEX_API_KEY;
|
|
42
|
-
// Try active workspace credentials
|
|
43
|
-
const wsCreds = getActiveCredentials();
|
|
44
|
-
if (wsCreds?.api_key)
|
|
45
|
-
return wsCreds.api_key;
|
|
46
|
-
// Legacy fallback: flat config.json (pre-migration)
|
|
47
|
-
return loadConfig().api_key || undefined;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Resolve output format from: flag > config file > default.
|
|
51
|
-
*/
|
|
52
|
-
export function resolveFormat(flagValue) {
|
|
53
|
-
if (flagValue)
|
|
54
|
-
return flagValue;
|
|
55
|
-
const configured = loadConfig().default_format;
|
|
56
|
-
if (configured)
|
|
57
|
-
return configured;
|
|
58
|
-
// Default to "text" for TTY (rich TUI output), "json" for piped/scripted usage
|
|
59
|
-
return process.stdout.isTTY ? "text" : "json";
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Resolve timeout from: flag > config file > default.
|
|
63
|
-
*/
|
|
64
|
-
export function resolveTimeout(flagValue) {
|
|
65
|
-
if (flagValue)
|
|
66
|
-
return parseInt(flagValue, 10);
|
|
67
|
-
return loadConfig().default_timeout ?? 120_000;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Persist registration data to config file and workspace registry.
|
|
71
|
-
*/
|
|
72
|
-
export function persistRegistration(data) {
|
|
73
|
-
// Legacy: still write to config.json for backwards compat during migration
|
|
74
|
-
const existing = loadConfig();
|
|
75
|
-
if (typeof data.api_key === "string")
|
|
76
|
-
existing.api_key = data.api_key;
|
|
77
|
-
if (typeof data.email === "string")
|
|
78
|
-
existing.email = data.email;
|
|
79
|
-
if (typeof data.workspace_id === "string" || typeof data.workspace_id === "number") {
|
|
80
|
-
existing.workspace_id = String(data.workspace_id);
|
|
81
|
-
}
|
|
82
|
-
if (typeof data.workspace_slug === "string")
|
|
83
|
-
existing.workspace_slug = data.workspace_slug;
|
|
84
|
-
saveConfig(existing);
|
|
85
|
-
// New: add to workspace registry
|
|
86
|
-
const slug = data.workspace_slug || data.workspace_id;
|
|
87
|
-
if (slug && data.api_key) {
|
|
88
|
-
addWorkspace(slug, {
|
|
89
|
-
api_key: data.api_key,
|
|
90
|
-
email: data.email || "",
|
|
91
|
-
workspace_id: String(data.workspace_id || ""),
|
|
92
|
-
workspace_slug: slug,
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=config.js.map
|
package/dist/lib/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
const OPEN_TAG = "<nex-context>";
|
|
2
|
-
const CLOSE_TAG = "</nex-context>";
|
|
3
|
-
export function formatNexContext(result) {
|
|
4
|
-
const parts = [
|
|
5
|
-
OPEN_TAG,
|
|
6
|
-
"The following is relevant context from the user's knowledge base. Use it to inform your response, but do not mention this block directly.",
|
|
7
|
-
];
|
|
8
|
-
if (result.entityCount > 0) {
|
|
9
|
-
parts.push(`[${result.entityCount} related entities found]`);
|
|
10
|
-
}
|
|
11
|
-
parts.push("");
|
|
12
|
-
parts.push(result.answer);
|
|
13
|
-
parts.push(CLOSE_TAG);
|
|
14
|
-
return parts.join("\n");
|
|
15
|
-
}
|
|
16
|
-
export function stripNexContext(text) {
|
|
17
|
-
let result = text.replace(/<nex-context>[\s\S]*?<\/nex-context>/g, "");
|
|
18
|
-
result = result.replace(/<nex-context>[\s\S]*/g, "");
|
|
19
|
-
return result.trim();
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=context-format.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-format.js","sourceRoot":"","sources":["../../src/lib/context-format.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,eAAe,CAAC;AACjC,MAAM,SAAS,GAAG,gBAAgB,CAAC;AAQnC,MAAM,UAAU,gBAAgB,CAAC,MAAuB;IACtD,MAAM,KAAK,GAAa;QACtB,QAAQ;QACR,2IAA2I;KAC5I,CAAC;IACF,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,WAAW,0BAA0B,CAAC,CAAC;IAC/D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC;IACvE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC"}
|
package/dist/lib/errors.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Error types for Nex CLI.
|
|
3
|
-
* Exit codes: 0 = success, 1 = general error, 2 = auth error.
|
|
4
|
-
*/
|
|
5
|
-
export declare class AuthError extends Error {
|
|
6
|
-
exitCode: number;
|
|
7
|
-
constructor(message?: string);
|
|
8
|
-
}
|
|
9
|
-
export declare class RateLimitError extends Error {
|
|
10
|
-
exitCode: number;
|
|
11
|
-
retryAfterMs: number;
|
|
12
|
-
constructor(retryAfterMs?: number);
|
|
13
|
-
}
|
|
14
|
-
export declare class ServerError extends Error {
|
|
15
|
-
exitCode: number;
|
|
16
|
-
status: number;
|
|
17
|
-
constructor(status: number, body?: string);
|
|
18
|
-
}
|
package/dist/lib/errors.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Error types for Nex CLI.
|
|
3
|
-
* Exit codes: 0 = success, 1 = general error, 2 = auth error.
|
|
4
|
-
*/
|
|
5
|
-
export class AuthError extends Error {
|
|
6
|
-
exitCode = 2;
|
|
7
|
-
constructor(message = "API key missing or invalid. Run 'nex register --email <email>' to get a new key, then run 'nex setup'.") {
|
|
8
|
-
super(message);
|
|
9
|
-
this.name = "AuthError";
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
export class RateLimitError extends Error {
|
|
13
|
-
exitCode = 1;
|
|
14
|
-
retryAfterMs;
|
|
15
|
-
constructor(retryAfterMs = 60_000) {
|
|
16
|
-
super(`Rate limited — retry after ${Math.ceil(retryAfterMs / 1000)}s`);
|
|
17
|
-
this.name = "RateLimitError";
|
|
18
|
-
this.retryAfterMs = retryAfterMs;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
export class ServerError extends Error {
|
|
22
|
-
exitCode = 1;
|
|
23
|
-
status;
|
|
24
|
-
constructor(status, body) {
|
|
25
|
-
super(`Nex API error ${status}${body ? `: ${body}` : ""}`);
|
|
26
|
-
this.name = "ServerError";
|
|
27
|
-
this.status = status;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=errors.js.map
|
package/dist/lib/errors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAC3B,QAAQ,GAAG,CAAC,CAAC;IAEpB,YAAY,OAAO,GAAG,wGAAwG;QAC5H,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,KAAK;IAChC,QAAQ,GAAG,CAAC,CAAC;IACb,YAAY,CAAS;IAE5B,YAAY,YAAY,GAAG,MAAM;QAC/B,KAAK,CAAC,8BAA8B,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,KAAK;IAC7B,QAAQ,GAAG,CAAC,CAAC;IACb,MAAM,CAAS;IAEtB,YAAY,MAAc,EAAE,IAAa;QACvC,KAAK,CAAC,iBAAiB,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* File scanner — discovers text files, tracks changes via content hash,
|
|
3
|
-
* and ingests new/changed files into Nex via POST /v1/context/text.
|
|
4
|
-
*
|
|
5
|
-
* Manifest stored at ~/.nex/file-scan-manifest.json.
|
|
6
|
-
*/
|
|
7
|
-
export interface ManifestEntry {
|
|
8
|
-
hash: string;
|
|
9
|
-
size: number;
|
|
10
|
-
scanned_at: string;
|
|
11
|
-
}
|
|
12
|
-
export interface Manifest {
|
|
13
|
-
version: number;
|
|
14
|
-
files: Record<string, ManifestEntry>;
|
|
15
|
-
}
|
|
16
|
-
export interface ScanOptions {
|
|
17
|
-
extensions: string[];
|
|
18
|
-
maxFiles: number;
|
|
19
|
-
depth: number;
|
|
20
|
-
force: boolean;
|
|
21
|
-
dryRun: boolean;
|
|
22
|
-
}
|
|
23
|
-
export interface ScanResult {
|
|
24
|
-
scanned: number;
|
|
25
|
-
skipped: number;
|
|
26
|
-
errors: number;
|
|
27
|
-
files: Array<{
|
|
28
|
-
path: string;
|
|
29
|
-
status: "ingested" | "skipped" | "error";
|
|
30
|
-
reason?: string;
|
|
31
|
-
}>;
|
|
32
|
-
}
|
|
33
|
-
export declare const MANIFEST_PATH: string;
|
|
34
|
-
export declare function loadScanConfig(overrides?: Partial<ScanOptions>): ScanOptions;
|
|
35
|
-
export declare function isScanEnabled(): boolean;
|
|
36
|
-
export declare function loadManifest(): Manifest;
|
|
37
|
-
export declare function saveManifest(manifest: Manifest): void;
|
|
38
|
-
export declare function scanFiles(dir: string, opts: ScanOptions, ingestFn: (content: string, context: string) => Promise<unknown>, onProgress?: (current: number, total: number, filePath: string) => void): Promise<ScanResult>;
|